docs/reference/gtk/0000775000175000017500000000000013710700533014360 5ustar mclasenmclasendocs/reference/gtk/version.xml0000644000175000017500000000000713710700300016552 0ustar mclasenmclasen3.99.0 docs/reference/gtk/gtk4.types0000664000175000017500000001526713710700300016322 0ustar mclasenmclasen#include #include gtk_about_dialog_get_type gtk_accel_label_get_type gtk_accessible_get_type gtk_actionable_get_type gtk_action_bar_get_type gtk_adjustment_get_type gtk_any_filter_get_type gtk_app_chooser_get_type gtk_app_chooser_button_get_type gtk_app_chooser_dialog_get_type gtk_app_chooser_widget_get_type gtk_application_get_type gtk_application_window_get_type gtk_aspect_frame_get_type gtk_assistant_get_type gtk_assistant_page_get_type gtk_at_context_get_type gtk_bin_layout_get_type gtk_bitset_get_type gtk_expression_get_type gtk_bookmark_list_get_type gtk_box_get_type gtk_box_layout_get_type gtk_buildable_get_type gtk_builder_cscope_get_type gtk_builder_get_type gtk_builder_list_item_factory_get_type gtk_builder_scope_get_type gtk_button_get_type gtk_calendar_get_type gtk_cclosure_expression_get_type gtk_cell_area_get_type gtk_cell_area_box_get_type gtk_cell_area_context_get_type gtk_cell_editable_get_type gtk_cell_layout_get_type gtk_cell_renderer_accel_get_type gtk_cell_renderer_combo_get_type gtk_cell_renderer_get_type gtk_cell_renderer_pixbuf_get_type gtk_cell_renderer_progress_get_type gtk_cell_renderer_spin_get_type gtk_cell_renderer_spinner_get_type gtk_cell_renderer_text_get_type gtk_cell_renderer_toggle_get_type gtk_cell_view_get_type gtk_center_layout_get_type gtk_check_button_get_type gtk_closure_expression_get_type gtk_color_button_get_type gtk_color_chooser_get_type gtk_color_chooser_dialog_get_type gtk_color_chooser_widget_get_type gtk_column_view_get_type gtk_column_view_column_get_type gtk_combo_box_get_type gtk_combo_box_text_get_type gtk_constant_expression_get_type gtk_constraint_get_type gtk_constraint_guide_get_type gtk_constraint_layout_get_type gtk_constraint_target_get_type gtk_css_provider_get_type gtk_custom_filter_get_type gtk_custom_sorter_get_type gtk_dialog_get_type gtk_directory_list_get_type gtk_drag_icon_get_type gtk_drag_source_get_type gtk_drawing_area_get_type gtk_drop_target_get_type gtk_drop_target_async_get_type gtk_drop_down_get_type gtk_editable_get_type gtk_editable_label_get_type gtk_emoji_chooser_get_type gtk_entry_buffer_get_type gtk_entry_completion_get_type gtk_entry_get_type gtk_event_controller_get_type gtk_event_controller_key_get_type gtk_event_controller_focus_get_type gtk_event_controller_legacy_get_type gtk_event_controller_motion_get_type gtk_event_controller_scroll_get_type gtk_every_filter_get_type gtk_expander_get_type gtk_file_chooser_button_get_type gtk_file_chooser_dialog_get_type gtk_file_chooser_get_type gtk_file_chooser_widget_get_type gtk_file_filter_get_type gtk_filter_get_type gtk_filter_list_model_get_type gtk_fixed_get_type gtk_fixed_layout_get_type gtk_flatten_list_model_get_type gtk_flow_box_get_type gtk_flow_box_child_get_type gtk_font_button_get_type gtk_font_chooser_get_type gtk_font_chooser_dialog_get_type gtk_font_chooser_widget_get_type gtk_frame_get_type gtk_gesture_get_type gtk_gesture_click_get_type gtk_gesture_drag_get_type gtk_gesture_long_press_get_type gtk_gesture_pan_get_type gtk_gesture_rotate_get_type gtk_gesture_single_get_type gtk_gesture_stylus_get_type gtk_gesture_swipe_get_type gtk_gesture_zoom_get_type gtk_gl_area_get_type gtk_grid_get_type gtk_grid_layout_child_get_type gtk_grid_layout_get_type gtk_grid_view_get_type gtk_header_bar_get_type gtk_icon_theme_get_type gtk_icon_view_get_type gtk_image_get_type gtk_im_context_get_type gtk_im_context_simple_get_type gtk_im_multicontext_get_type gtk_info_bar_get_type gtk_label_get_type gtk_layout_child_get_type gtk_layout_manager_get_type gtk_link_button_get_type gtk_list_item_get_type gtk_list_item_factory_get_type gtk_list_store_get_type gtk_list_box_get_type gtk_list_box_row_get_type gtk_list_view_get_type gtk_lock_button_get_type gtk_map_list_model_get_type gtk_media_controls_get_type gtk_media_file_get_type gtk_media_stream_get_type gtk_menu_button_get_type gtk_message_dialog_get_type gtk_mount_operation_get_type gtk_multi_filter_get_type gtk_multi_selection_get_type gtk_multi_sorter_get_type gtk_native_get_type gtk_native_dialog_get_type gtk_no_selection_get_type gtk_notebook_get_type gtk_notebook_page_get_type gtk_numeric_sorter_get_type gtk_object_expression_get_type gtk_orientable_get_type gtk_overlay_get_type gtk_overlay_layout_get_type gtk_overlay_layout_child_get_type gtk_pad_controller_get_type gtk_page_setup_get_type gtk_page_setup_unix_dialog_get_type gtk_paned_get_type gtk_paper_size_get_type gtk_password_entry_get_type gtk_picture_get_type gtk_popover_get_type gtk_popover_menu_get_type gtk_popover_menu_bar_get_type gtk_printer_get_type gtk_print_context_get_type gtk_print_job_get_type gtk_print_operation_get_type gtk_print_operation_preview_get_type gtk_print_settings_get_type gtk_print_unix_dialog_get_type gtk_progress_bar_get_type gtk_property_expression_get_type gtk_radio_button_get_type gtk_range_get_type gtk_recent_manager_get_type gtk_revealer_get_type gtk_root_get_type gtk_scale_button_get_type gtk_scale_get_type gtk_scrollable_get_type gtk_scrollbar_get_type gtk_scrolled_window_get_type gtk_search_bar_get_type gtk_search_entry_get_type gtk_selection_filter_model_get_type gtk_selection_model_get_type gtk_separator_get_type gtk_settings_get_type gtk_shortcut_get_type gtk_shortcut_controller_get_type gtk_shortcut_label_get_type gtk_shortcut_manager_get_type gtk_shortcuts_window_get_type gtk_shortcuts_section_get_type gtk_shortcuts_group_get_type gtk_shortcuts_shortcut_get_type gtk_signal_list_item_factory_get_type gtk_single_selection_get_type gtk_size_group_get_type gtk_slice_list_model_get_type gtk_snapshot_get_type gtk_sort_list_model_get_type gtk_sorter_get_type gtk_spin_button_get_type gtk_spinner_get_type gtk_stack_get_type gtk_stack_page_get_type gtk_stack_sidebar_get_type gtk_stack_switcher_get_type gtk_statusbar_get_type gtk_string_filter_get_type gtk_string_list_get_type gtk_string_object_get_type gtk_string_sorter_get_type gtk_switch_get_type gtk_level_bar_get_type gtk_style_context_get_type gtk_style_provider_get_type gtk_text_buffer_get_type gtk_text_child_anchor_get_type gtk_text_get_type gtk_text_iter_get_type gtk_text_mark_get_type gtk_text_tag_get_type gtk_text_tag_table_get_type gtk_text_view_get_type gtk_toggle_button_get_type gtk_tree_drag_dest_get_type gtk_tree_drag_source_get_type gtk_tree_expander_get_type gtk_tree_list_model_get_type gtk_tree_list_row_get_type gtk_tree_list_row_sorter_get_type gtk_tree_model_filter_get_type gtk_tree_model_get_type gtk_tree_model_sort_get_type gtk_tree_selection_get_type gtk_tree_sortable_get_type gtk_tree_store_get_type gtk_tree_view_column_get_type gtk_tree_view_get_type gtk_video_get_type gtk_viewport_get_type gtk_volume_button_get_type gtk_widget_get_type gtk_window_get_type gtk_window_controls_get_type gtk_window_group_get_type gtk_window_handle_get_type docs/reference/gtk/osx.xml0000664000175000017500000000113013710700303015701 0ustar mclasenmclasen Using GTK on Apple macOS The Apple macOS port of GTK is an implementation of GDK (and therefore GTK) on top of the Quartz API. Currently, the macOS port does not use any additional commandline options or environment variables. For up-to-date information about the current status of this port, see the project page. docs/reference/gtk/wayland.xml0000664000175000017500000000202713710700303016535 0ustar mclasenmclasen Using GTK with Wayland The GDK Wayland backend provides support for running GTK applications under a Wayland compositor. To run your application in this way, select the Wayland backend by setting GDK_BACKEND=wayland. On UNIX, the Wayland backend is enabled by default, so you don’t need to do anything special when compiling it, and everything should just work.
Wayland-specific environment variables
WAYLAND_DISPLAY Specifies the name of the Wayland display to use. Typically, wayland-0 or wayland-1.
XDG_RUNTIME_DIR Used to locate the Wayland socket to use.
docs/reference/gtk/windows.xml0000664000175000017500000000464713710700303016602 0ustar mclasenmclasen Using GTK on Windows The Windows port of GTK is an implementation of GDK (and therefore GTK) on top of the Win32 API. When compiling GTK on Windows, this backend is the default. More information about GTK on Windows, including detailed build instructions, binary downloads, etc, can be found online.
Windows-specific environment variables The Win32 GDK backend can be influenced with some additional environment variables.
GDK_IGNORE_WINTAB If this variable is set, GTK doesn’t use the Wintab API for tablet support.
GDK_USE_WINTAB If this variable is set, GTK uses the Wintab API for tablet support. This is the default.
Windows-specific handling of cursors By default the system cursor theme is used. This makes GTK prefer cursors that Windows currently uses, falling back to Adwaita cursors and (as the last resort) built-in X cursors. When any other cursor theme is used, GTK will prefer cursors from that theme, falling back to Windows cursors and built-in X cursors. Theme can be changed by setting gtk-cursor-theme-name GTK setting. Users can override GTK settings in the settings.ini file or at runtime in the GTK Inspector. Themes are loaded from normal Windows variants of the XDG locations: HOME%/icons/THEME/cursors, APPDATA%/icons/THEME/cursors, RUNTIME_PREFIX/share/icons/THEME/cursors The gtk-cursor-theme-size setting is ignored, GTK will use the cursor size that Windows tells it to use.
docs/reference/gtk/x11.xml0000664000175000017500000001033113710700303015504 0ustar mclasenmclasen GTK for the X Window System On UNIX, the X backend is enabled by default, so you don’t need to do anything special when compiling it, and everything should just work. To mix low-level Xlib routines into a GTK program, see GDK X Window System interaction in the GDK manual.
X11-specific environment variables : The X11 GDK backend can be influenced with some additional environment variables.
GDK_SYNCHRONIZE If set, GDK makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably.
GDK_SCALE Must be set to an integer, typically 2. If set, GDK will scale all windows by the specified factor. Scaled output is meant to be used on high-dpi displays. Normally, GDK will pick up a suitable scale factor for each monitor from the display system. This environment variable allows to override that.
Understanding the X11 architecture People coming from a Windows or MacOS background often find certain aspects of the X Window System surprising. This section introduces some basic X concepts at a high level. For more details, the book most people use is called the Xlib Programming Manual by Adrian Nye; this book is volume one in the O’Reilly X Window System series. Standards are another important resource if you’re poking in low-level X11 details, in particular the ICCCM and the Extended Window Manager Hints specifications. freedesktop.org has links to many relevant specifications. The GDK manual covers using Xlib in a GTK program.
Server, client, window manager Other window systems typically put all their functionality in the application itself. With X, each application involves three different programs: the X server, the application (called a client because it’s a client of the X server), and a special client called the window manager. The X server is in charge of managing resources, processing drawing requests, and dispatching events such as keyboard and mouse events to interested applications. So client applications can ask the X server to create a window, draw a circle, or move windows around. The window manager is in charge of rendering the frame or borders around windows; it also has final say on the size of each window, and window states such as minimized, maximized, and so forth. On Windows and MacOS the application handles most of this. On X11, if you wish to modify the window’s state, or change its frame, you must ask the window manager to do so on your behalf, using an established convention. GTK has functions for asking the window manager to do various things; see for example gtk_window_minimize() or gtk_window_maximize(). Keep in mind that most window managers will ignore certain requests from time to time, in the interests of good user interface.
docs/reference/gtk/drawing-model.xml0000664000175000017500000002351313710700303017632 0ustar mclasenmclasen Overview of the drawing model This chapter describes the GTK drawing model in detail. If you are interested in the procedure which GTK follows to draw its widgets and windows, you should read this chapter; this will be useful to know if you decide to implement your own widgets. This chapter will also clarify the reasons behind the ways certain things are done in GTK.
Windows and events Applications that use a windowing system generally create rectangular regions in the screen called surfaces (GTK is following the Wayland terminology, other windowing systems such as X11 may call these windows). Traditional windowing systems do not automatically save the graphical content of surfaces, and instead ask applications to provide new content whenever it is needed. For example, if a window that is stacked below other windows gets raised to the top, then the application has to repaint it, so the previously obscured area can be shown. When the windowing system asks an application to redraw a window, it sends a frame event (expose event in X11 terminology) for that window. Each GTK toplevel window or dialog is associated with a windowing system surface. Child widgets such as buttons or entries don’t have their own surface; they use the surface of their toplevel. Generally, the drawing cycle begins when GTK receives a frame event from the underlying windowing system: if the user drags a window over another one, the windowing system will tell the underlying surface that it needs to repaint itself. The drawing cycle can also be initiated when a widget itself decides that it needs to update its display. For example, when the user types a character in an entry widget, the entry asks GTK to queue a redraw operation for itself. The windowing system generates frame events for surfaces. The GDK interface to the windowing system translates such events into emissions of the ::render signal on the affected surfaces. The GTK toplevel window connects to that signal, and reacts appropriately. The following sections describe how GTK decides which widgets need to be repainted in response to such events, and how widgets work internally in terms of the resources they use from the windowing system.
The frame clock All GTK applications are mainloop-driven, which means that most of the time the app is idle inside a loop that just waits for something to happen and then calls out to the right place when it does. On top of this GTK has a frame clock that gives a pulse to the application. This clock beats at a steady rate, which is tied to the framerate of the output (this is synced to the monitor via the window manager/compositor). A typical refresh rate is 60 frames per second, so a new pulse happens roughly every 16 milliseconds. The clock has several phases: Events Update Layout Paint The phases happens in this order and we will always run each phase through before going back to the start. The Events phase is a stretch of time between each redraw where GTK processes input events from the user and other events (like e.g. network I/O). Some events, like mouse motion are compressed so that only a single mouse motion event per clock cycle needs to be handled. Once the Events phase is over, external events are paused and the redraw loop is run. First is the Update phase, where all animations are run to calculate the new state based on the estimated time the next frame will be visible (available via the frame clock). This often involves geometry changes which drive the next phase, Layout. If there are any changes in widget size requirements the new layout is calculated for the widget hierarchy (i.e. sizes and positions for all widgets are determined). Then comes the Paint phase, where we redraw the regions of the window that need redrawing. If nothing requires the Update/Layout/Paint phases we will stay in the Events phase forever, as we don’t want to redraw if nothing changes. Each phase can request further processing in the following phases (e.g. the Update phase will cause there to be layout work, and layout changes cause repaints). There are multiple ways to drive the clock, at the lowest level you can request a particular phase with gdk_frame_clock_request_phase() which will schedule a clock beat as needed so that it eventually reaches the requested phase. However, in practice most things happen at higher levels: If you are doing an animation, you can use gtk_widget_add_tick_callback() which will cause a regular beating of the clock with a callback in the Update phase until you stop the tick. If some state changes that causes the size of your widget to change you call gtk_widget_queue_resize() which will request a Layout phase and mark your widget as needing relayout. If some state changes so you need to redraw some area of your widget you use the normal gtk_widget_queue_draw() set of functions. These will request a Paint phase and mark the region as needing redraw. There are also a lot of implicit triggers of these from the CSS layer (which does animations, resizes and repaints as needed).
The scene graph The first step in drawing a window is that GTK creates render nodes for all the widgets in the window. The render nodes are combined into a tree that you can think of as a scene graph describing your window contents. Render nodes belong to the GSK layer, and there are various kinds of them, for the various kinds of drawing primitives you are likely to need when translating widget content and CSS styling. Typical examples are text nodes, gradient nodes, texture nodes or clip nodes. In the past, all drawing in GTK happened via cairo. It is still possible to use cairo for drawing your custom widget contents, by using a cairo render node. A GSK renderer takes these render nodes, transforms them into rendering commands for the drawing API it targets, and arranges for the resulting drawing to be associated with the right surface. GSK has renderers for OpenGL, Vulkan and cairo.
Hierarchical drawing During the Paint phase GTK receives a single “render” signal on the toplevel surface. The signal handler will create a snapshot object (which is a helper for creating a scene graph) and call the GtkWidget::snapshot() vfunc, which will propagate down the widget hierarchy. This lets each widget snapshot its content at the right place and time, correctly handling things like partial transparencies and overlapping widgets. During the snapshotting of each widget, GTK automatically handles the CSS rendering according to the CSS box model. It snapshots first the background, then the border, then the widget content itself, and finally the outline. To avoid excessive work when generating scene graphs, GTK caches render nodes. Each widget keeps a reference to its render node (which in turn, will refer to the render nodes of children, and grandchildren, and so on), and will reuse that node during the Paint phase. Invalidating a widget (by calling gtk_widget_queue_draw()) discards the cached render node, forcing the widget to regenerate it the next time it needs to produce a snapshot.
docs/reference/gtk/input-handling.xml0000664000175000017500000003403413710700303020022 0ustar mclasenmclasen Overview of GTK input and event handling This chapter describes in detail how GTK handles input. If you are interested in what happens to translate a key press or mouse motion of the users into a change of a GTK widget, you should read this chapter. This knowledge will also be useful if you decide to implement your own widgets.
Devices and events The most basic input devices that every computer user has interacted with are keyboards and mice; beyond these, GTK supports touchpads, touchscreens and more exotic input devices such as graphics tablets. Inside GTK, every such input device is represented by a GdkDevice object. To simplify dealing with the variability between these input devices, GTK has a concept of logical and physical devices. The concrete physical devices that have many different characteristics (mice may have 2 or 3 or 8 buttons, keyboards have different layouts and may or may not have a separate number block, etc) are represented as physical devices. Each physical device is associated with a virtual logical device. Logical devices always come in pointer/keyboard pairs - you can think of such a pair as a seat. GTK widgets generally deal with the logical devices, and thus can be used with any pointing device or keyboard. When a user interacts with an input device (e.g. moves a mouse or presses a key on the keyboard), GTK receives events from the windowing system. These are typically directed at a specific surface - for pointer events, the surface under the pointer (grabs complicate this), for keyboard events, the surface with the keyboard focus. GDK translates these raw windowing system events into GdkEvents. Typical input events are button clicks, pointer motion, key presses or touch events. These are all represented as GdkEvents, but you can differentiate between different events by looking at their type, using gdk_event_get_event_type(). Some events, such as touch events or button press-release pairs, are connected in to each other in an event sequence that univocally identifies events that are related to the same interaction. When GTK creates a GdkSurface, it connects to the “event” signal on it, which receives all of these input events. Surfaces have have signals and properties, e.g. to deal with window management related events.
Event propagation The function which initially receives input events on the GTK side is responsible for a number of tasks. Find the widget which got the event. Generate crossing (i.e. enter and leave) events when the focus or hover location change from one widget to another. Send the event to widgets. An event is propagated down and up the widget hierarchy in three phases (see GtkPropagationPhase) towards a target widget.
Event propagation phases Event propagation phases
For key events, the top-level window gets a first shot at activating mnemonics and accelerators. If that does not consume the events, the target widget for event propagation is window’s current focus widget (see gtk_window_get_focus()). For pointer events, the target widget is determined by picking the widget at the events coordinates (see gtk_window_pick()). In the first phase (the capture phase) the event is delivered to each widget from the top-most (the top-level GtkWindow or grab widget) down to the target GtkWidget. Event controllers that are attached with GTK_PHASE_CAPTURE get a chance to react to the event. After the capture phase, the widget that was intended to be the destination of the event will run event controllers attached to it with GTK_PHASE_TARGET. This is known as the target phase, and only happens on that widget. In the last phase (the bubble phase), the event is delivered to each widget from the target to the top-most, and event controllers attached with GTK_PHASE_BUBBLE are run. Events are not delivered to a widget which is insensitive or unmapped. Any time during the propagation phase, a controller may indicate that a received event was consumed and propagation should therefore be stopped. If gestures are used, this may happen when the gesture claims the event touch sequence (or the pointer events) for its own. See the gesture states section below to learn more about gestures and sequences.
Keyboard input Every GtkWindow maintains a single focus location (in the “focus-widget” property). The focus widget is the target widget for key events sent to the window. Only widgets which have “can-focus” set to TRUE can become the focus. Typically these are input controls such as entries or text fields, but e.g. buttons can take the focus too. Input widgets can be given the focus by clicking on them, but focus can also be moved around with certain key events (this is known as keyboard navigation). GTK reserves the Tab key to move the focus to the next location, and Shift-Tab to move it back to the previous one. In addition many containers allow directional navigation with the arrow keys. Many widgets can be activated to trigger and action. E.g., you can activate a button or switch by clicking on them, but you can also activate them with the keyboard, by using the Enter or Space keys. Apart from keyboard navigation, activation and directly typing into entries or text views, GTK widgets can use key events for activating shortcuts. Shortcuts generally act as a quick way to move the focus around or to activate a widget that does not currently have the focus. GTK has traditionally supported different kinds of shortcuts: Accelerators Accelerators are any other shortcuts that can be activated regardless of where the focus is, and typically trigger global actions, such as Ctrl-Q to quit an application. Mnmemonics : Mnemonics are usually triggered using Alt as a modifier for a letter. They are used in places where a label is associated with a control, and are indicated by underlining the letter in the label. As a special case, inside menus (i.e. inside GtkPopoverMenu), mnemonics can be trigered without the modifier. Key bindings : Key bindings are specific to individual widgets, such as Ctrl-C or Ctrl-V in an entry copy to or paste from the clipboard. They are only triggered when the widget has focus. GTK handles accelerators and mnemonics in a global scope, during the capture phase, and key bindings locally, during the target phase. Under the hood, all shortcuts are represented as instances of GtkShortcut, and they are managed by GtkShortcutController.
Event controllers and gestures Event controllers are standalone objects that can perform specific actions upon received GdkEvents. These are tied to a GtkWidget, and can be told of the event propagation phase at which they will manage the events. Gestures are a set of specific controllers that are prepared to handle pointer and/or touch events, each gesture implementation attempts to recognize specific actions out the received events, notifying of the state/progress accordingly to let the widget react to those. On multi-touch gestures, every interacting touch sequence will be tracked independently. Since gestures are simple units, it is not uncommon to tie several together to perform higher level actions, grouped gestures handle the same event sequences simultaneously, and those sequences share a same state across all grouped gestures. Some examples of grouping may be: A drag and a swipe gestures may want grouping. The former will report events as the dragging happens, the latter will tell the swipe X/Y velocities only after recognition has finished. Grouping a drag gesture with a pan gesture will only effectively allow dragging in the panning orientation, as both gestures share state. If press and long press are wanted simultaneously, those would need grouping. Shortcuts are handled by GtkShortcutController, which is a complex event handler that can either activate shortcuts itself, or propagate them to another controller, depending on its “scope”.
Gesture states Gestures have a notion of state for each individual touch sequence. When events from a touch sequence are first received, the touch sequence will have none state, this means the touch sequence is being handled by the gesture to possibly trigger actions, but the event propagation will not be stopped. When the gesture enters recognition, or at a later point in time, the widget may choose to claim the touch sequences (individually or as a group), hence stopping event propagation after the event is run through every gesture in that widget and propagation phase. Anytime this happens, the touch sequences are cancelled downwards the propagation chain, to let these know that no further events will be sent. Alternatively, or at a later point in time, the widget may choose to deny the touch sequences, thus letting those go through again in event propagation. When this happens in the capture phase, and if there are no other claiming gestures in the widget, a GDK_TOUCH_BEGIN/GDK_BUTTON_PRESS event will be emulated and propagated downwards, in order to preserve consistency. Grouped gestures always share the same state for a given touch sequence, so setting the state on one does transfer the state to the others. They also are mutually exclusive, within a widget where may be only one gesture group claiming a given sequence. If another gesture group claims later that same sequence, the first group will deny the sequence:
docs/reference/gtk/actions.xml0000664000175000017500000003633313710700303016545 0ustar mclasenmclasen Overview of actions in GTK This chapter describes in detail how GTK uses actions to connect activatable UI elements to callbacks. GTK inherits the underlying architecture of GAction and GMe:u for describing abstract actions and menus from the GIO library.
Basics about actions A GAction is essentially a way to tell the toolkit about a piece of functionality in your program, and to give it a name. Actions are purely functional. They do not contain any presentational information. An action has four pieces of information associated with it: a name as an identifier (usually all-lowercase, untranslated English string) an enabled flag indicating if the action can be activated or not (like the sensitive property on widgets) an optional state value, for stateful actions (like a boolean for toggles) an optional parameter type, used when activating the action An action supports two operations. You can activate it, which requires passing a parameter of the correct type And you can request to change the actions state (for stateful actions) to a new state value of the correct type. Here are some rules about an action: the name is immutable (in the sense that it will never change) and it is never NULL the enabled flag can change the parameter type is immutable the parameter type is optional: it can be NULL if the parameter type is NULL then action activation must be done without a parameter (ie: a NULL GVariant pointer) if the parameter type is non-NULL then the parameter must have this type the state can change, but it cannot change type if the action was stateful when it was created, it will always have a state and it will always have exactly the same type (such as boolean or string) if the action was stateless when it was created, it can never have a state you can only request state changes on stateful actions and it is only possible to request that the state change to a value of the same type as the existing state An action does not have any sort of presentational information such as a label, an icon or a way of creating a widget from it.
Action state and parameters Most actions in your application will be stateless actions with no parameters. These typically appear as menu items with no special decoration. An example is quit. Stateful actions are used to represent an action which has a closely-associated state of some kind. A good example is a fullscreen action. For this case, you would expect to see a checkmark next to the menu item when the fullscreen option is active. This is usually called a toggle action, and it has a boolean state. By convention, toggle actions have no parameter type for activation: activating the action always toggles the state. Another common case is to have an action representing a enumeration of possible values of a given type (typically string). This is often called a radio action and is usually represented in the user interface with radio buttons or radio menu items, or sometimes a combobox. A good example is text-justify with possible values left, center, and right. By convention, these types of actions have a parameter type equal to their state type, and activating them with a particular parameter value is equivalent to changing their state to that value. This approach to handling radio buttons is different than many other action systems such as GtkAction. With GAction, there is only one action for text-justify and left, center and right are possible states on that action. There are not three separate justify-left, justify-center and justify-right actions. The final common type of action is a stateless action with a parameter. This is typically used for actions like open-bookmark where the parameter to the action would be the identifier of the bookmark to open. Because some types of actions cannot be invoked without a parameter, it is often important to specify a parameter when referring to the action from a place where it will be invoked (such as from a radio button that sets the state to a particular value or from a menu item that opens a specific bookmark). In these contexts, the value used for the action parameter is typically called the target of the action. Even though toggle actions have a state, they do not have a parameter. Therefore, a target value is not needed when referring to them — they will always be toggled on activation. Most APIs that allow using a GAction (such as GMenuModel and GtkActionable) allow use of detailed action names. This is a convenient way of specifying an action name and an action target with a single string. In the case that the action target is a string with no unusual characters (ie: only alpha-numeric, plus - and .) then you can use a detailed action name of the form justify::left to specify the justify action with a target of left. In the case that the action target is not a string, or contains unusual characters, you can use the more general format action-name(5), where the 5 here is any valid text-format GVariant (ie: a string that can be parsed by g_variant_parse()). Another example is open-bookmark(http://gnome.org/). You can convert between detailed action names and split-out action names and target values using g_action_parse_detailed_name() and g_action_print_detailed_name() but usually you will not need to. Most APIs will provide both ways of specifying actions with targets.
Action scopes Actions are always scoped to a particular object on which they operate. In GTK, actions are typically scoped to either an application or a window, but any widget can have actions associated with it. Actions scoped to windows should be the actions that specifically impact that window. These are actions like fullscreen and close, or in the case that a window contains a document, save and print. Actions that impact the application as a whole rather than one specific window are scoped to the application. These are actions like about and preferences. If a particular action is scoped to a window then it is scoped to a specific window. Another way of saying this: if your application has a fullscreen action that applies to windows and it has three windows, then it will have three fullscreen actions: one for each window. Having a separate action per-window allows for each window to have a separate state for each instance of the action as well as being able to control the enabled state of the action on a per-window basis. Actions are added to their relevant scope (application, window or widget) either using the GActionMap interface, or by using gtk_widget_insert_action_group(). Actions that will be the same for all instances of a widget class can be added globally using gtk_widget_class_install_action().
Action groups and action maps Actions rarely occurs in isolation. It is common to have groups of related actions, which are represented by instances of the GActionGroup interface. Action maps are a variant of action groups that allow to change the name of the action as it is looked up. In GTK, the convention is to add a prefix to the action name to indicate the scope of the actions, such as app. for the actions with application scope or win. for those with window scope. When referring to actions on a GActionMap only the name of the action itself is used (ie: quit, not app.quit). The app.quit form is only used when referring to actions from places like a GMenu or GtkActionable widget where the scope of the action is not already known. GtkApplication and GtkApplicationWindow implement the GActionMap interface, so you can just add actions directly to them. For other widgets, use gtk_widget_insert_action_group() to add actions to it. If you want to insert several actions at the same time, it is typically faster and easier to use GActionEntry.
Connecting actions to widgets Any widget that implements the GtkActionable interface can be connected to an action just by setting the ::action-name property. If the action has a parameter, you will also need to set the ::action-target property. Widgets that implement GtkActionable include GtkSwitch, GtkButton, and their respective subclasses. Another way of obtaining widgets that are connected to actions is to create a menu using a GMenu menu model. GMenu provides an abstract way to describe typical menus: nested groups of items where each item can have a label, and icon, and an action. Typical uses of GMenu inside GTK are to set up an application menu or menubar with gtk_application_set_app_menu() or gtk_application_set_menubar(). Another, maybe more common use is to create a popover for a menubutton, using gtk_menu_button_set_menu_model(). Unlike traditional menus, those created from menu models don’t have keyboard accelerators associated with menu items. Instead, GtkApplication offers the gtk_application_set_accels_for_action() API to associate keyboard shortcuts with actions.
Activation When a widget with a connected action is activated, GTK finds the action to activate by walking up the widget hierarchy, looking for a matching action, ending up at the GtkApplication.
Built-in Actions GTK uses actions for its own purposes in a number places. These built-in actions can sometimes be activated by applications, and you should avoid naming conflicts with them when creating your own actions. default.activate Activates the default widget in a context (typically a GtkWindow, GtkDialog or GtkPopover) clipboard.cut, clipboard.copy, clipboard.paste Clipboard operations on entries, text view and labels, typically used in the context menu selection.delete, selection.select-all Selection operations on entries, text view and labels color.select, color.customize: Operate on colors in a GtkColorChooserWidget. These actions are unusual in that they have the non-trivial parameter type (dddd):
docs/reference/gtk/broadway.xml0000664000175000017500000000340113710700303016703 0ustar mclasenmclasen Using GTK with Broadway The GDK Broadway backend provides support for displaying GTK applications in a web browser, using HTML5 and web sockets. To run your application in this way, select the Broadway backend by setting GDK_BACKEND=broadway. Then you can make your application appear in a web browser by pointing it at http://127.0.0.1:8080. Note that you need to enable web sockets in your web browser. You can choose a different port from the default 8080 by setting the BROADWAY_DISPLAY environment variable to the port that you want to use. It is also possible to use multiple GTK applications in the same web browser window, by using the Broadway server, broadwayd, that ships with GTK. To use broadwayd, start it like this: broadwayd :5 Then point your web browser at http://127.0.0.1:8085. Start your applications like this: GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo
Broadway-specific environment variables
BROADWAY_DISPLAY Specifies the Broadway display number. The default display is 0. The display number determines the port to use when connecting to a Broadway application via the following formula: port = 8080 + display
docs/reference/gtk/compiling.xml0000664000175000017500000000702213710700303017057 0ustar mclasenmclasen Compiling GTK Applications on UNIX To compile a GTK application, you need to tell the compiler where to find the GTK header files and libraries. This is done with the pkg-config utility. The following interactive shell session demonstrates how pkg-config is used (the actual output on your system may be different): $ pkg-config --cflags gtk4 -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 $ pkg-config --libs gtk4 -pthread -lgtk-4 -lgdk-4 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 The simplest way to compile a program is to use the backticks feature of the shell. If you enclose a command in backticks (not single quotes), then its output will be substituted into the command line before execution. So to compile a GTK Hello, World, you would type the following: $ cc `pkg-config --cflags gtk4` hello.c -o hello `pkg-config --libs gtk4` Deprecated GTK functions are annotated to make the compiler emit warnings when they are used (e.g. with gcc, you need to use the -Wdeprecated-declarations option). If these warnings are problematic, they can be turned off by defining the preprocessor symbol GDK_DISABLE_DEPRECATION_WARNINGS by using the commandline option -DGDK_DISABLE_DEPRECATION_WARNINGS. GTK deprecation annotations are versioned; by defining the macros GDK_VERSION_MIN_REQUIRED and GDK_VERSION_MAX_ALLOWED, you can specify the range of GTK versions whose API you want to use. APIs that were deprecated before or introduced after this range will trigger compiler warnings. Here is how you would compile hello.c if you want to allow it to use symbols that were not deprecated in 4.2: $ cc `pkg-config --cflags gtk4` -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_2 hello.c -o hello `pkg-config --libs gtk4` And here is how you would compile hello.c if you don’t want it to use any symbols that were introduced after 4.2: $ cc `pkg-config --cflags gtk4` -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_2 hello.c -o hello `pkg-config --libs gtk4` The older deprecation mechanism of hiding deprecated interfaces entirely from the compiler by using the preprocessor symbol GTK_DISABLE_DEPRECATED is still used for deprecated macros, enumeration values, etc. To detect uses of these in your code, use the commandline option -DGTK_DISABLE_DEPRECATED. There are similar symbols GDK_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED and G_DISABLE_DEPRECATED for GDK, GdkPixbuf and GLib. docs/reference/gtk/resources.xml0000664000175000017500000000503513710700303017112 0ustar mclasenmclasen Contact information and bug reports
Opening a bug or feature request If you encounter a bug, misfeature, or missing feature in GTK, please file a bug report on our GitLab project. You should also file issues if the documentation is out of date with the existing API, or unclear. Don’t hesitate to file a bug report, even if you think we may know about it already, or aren’t sure of the details. Just give us as much information as you have, and if it’s already fixed or has already been discussed, we’ll add a note to that effect in the report. The issue tracker should definitely be used for feature requests, it’s not only for bugs. We track all GTK development in GitLab, to ensure that nothing gets lost.
Working on GTK If you develop a bugfix or enhancement for GTK, please open a merge request in GitLab as well. You should not attach patches to an issue, or describe the fix as a comment. Merge requests allow us to build GTK with your code applied, and run the test suite, on multiple platforms and architectures, and verify that nothing breaks. They also allow us to do proper code reviews, so we can iterate over the changes. You should follow the contribution guide for GTK, available on GitLab. If you want to discuss your approach before or after working on it, good ways to contact the GTK developers, apart from GitLab issues, are the gtk IRC channel on irc.gnome.org the gtk tag on the <GNOME Discourse instance You should not send patches by email, as they will inevitably get lost, or forgotten. Always open a merge request.
docs/reference/gtk/migrating-2to4.xml0000664000175000017500000000101713710700303017643 0ustar mclasenmclasen Migrating from GTK 2.x to GTK 4 If your application is still using GTK 2, you should first convert it to GTK 3, by following the migration guide in the GTK 3 documentation, and then follow these instructions. docs/reference/gtk/building.xml0000664000175000017500000004157213710700303016703 0ustar mclasenmclasen Compiling the GTK Libraries
Building GTK Before we get into the details of how to compile GTK, we should mention that in many cases, binary packages of GTK prebuilt for your operating system will be available, either from your operating system vendor or from independent sources. If such a set of packages is available, installing it will get you programming with GTK much faster than building it yourself. In fact, you may well already have GTK installed on your system already. In order to build GTK, you will need meson installed on your system. On Linux, and other UNIX-like operating systems, you will also need ninja. This guide does not cover how to install these two requirements, but you can refer to the Meson website for more information. The Ninja build tool is also usable on various operating systems, so we will refer to it in the examples. If you are building GTK from a source distribution or from a Git clone, you will need to use meson to configure the project. The most commonly useful argument is the --prefix one, which determines where the files will go once installed. To install GTK under a prefix like /opt/gtk you would run Meson as: meson setup --prefix /opt/gtk builddir Meson will create the builddir directory and place all the build artefacts there. You can get a list of all available options for the build by running meson configure. After Meson successfully configured the build directory, you then can run the build, using Ninja: cd builddir ninja ninja install If you don’t have permission to write to the directory you are installing in, you may have to change to root temporarily before running ninja install. Several environment variables are useful to pass to set before running meson. CPPFLAGS contains options to pass to the C compiler, and is used to tell the compiler where to look for include files. The LDFLAGS variable is used in a similar fashion for the linker. Finally the PKG_CONFIG_PATH environment variable contains a search path that pkg-config (see below) uses when looking for files describing how to compile programs using different libraries. If you were installing GTK and it’s dependencies into /opt/gtk, you might want to set these variables as: CPPFLAGS="-I/opt/gtk/include" LDFLAGS="-L/opt/gtk/lib" PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig" export CPPFLAGS LDFLAGS PKG_CONFIG_PATH You may also need to set the LD_LIBRARY_PATH environment variable so the systems dynamic linker can find the newly installed libraries, and the PATH environment program so that utility binaries installed by the various libraries will be found. LD_LIBRARY_PATH="/opt/gtk/lib" PATH="/opt/gtk/bin:$PATH" export LD_LIBRARY_PATH PATH
Build types Meson has different build types, exposed by the buildtype configuration option. GTK enables and disables functionality depending on the build type used when calling meson to configure the build.
Debug builds GTK will enable debugging code paths in both the debug and debugoptimized build types. Builds with buildtype set to debug will additionally enable consistency checks on the internal state of the toolkit. It is recommended to use the debug or debugoptimized build types when developing GTK itself. Additionally, debug builds of GTK are recommended for profiling and debugging GTK applications, as they include additional validation of the internal state. The debugoptimized build type is the default for GTK if no build type is specified when calling meson.
Release builds The release build type will disable debugging code paths and additional run time safeties, like checked casts for object instances. The plain build type provided by Meson should only be used when packaging GTK, and it’s expected that packagers will provide their own compiler flags when building GTK. See the previous section for the list of environment variables to be used to define compiler and linker flags.
Dependencies Before you can compile the GTK widget toolkit, you need to have various other tools and libraries installed on your system. Dependencies of GTK have their own build systems, so you will need to refer to their own installation instructions. A particular important tool used by GTK to find its dependencies is pkg-config. pkg-config is a tool for tracking the compilation flags needed for libraries that are used by the GTK libraries. (For each library, a small .pc text file is installed in a standard location that contains the compilation flags needed for that library along with version number information.) Some of the libraries that GTK depends on are maintained by the GTK team: GLib, GdkPixbuf, Pango, and GObject Introspection. Other libraries are maintained separately. The GLib library provides core non-graphical functionality such as high level data types, Unicode manipulation, and an object and type system to C programs. It is available from here. The GdkPixbuf library provides facilities for loading images in a variety of file formats. It is available here. Pango is a library for internationalized text handling. It is available here. GObject Introspection is a framework for making introspection data available to language bindings. It is available here. The GNU libiconv library is needed to build GLib if your system doesn’t have the iconv() function for doing conversion between character encodings. Most modern systems should have iconv(). The libintl library from the GNU gettext package is needed if your system doesn’t have the gettext() functionality for handling message translation databases. The libraries from the X window system are needed to build Pango and GTK. You should already have these installed on your system, but it’s possible that you’ll need to install the development environment for these libraries that your operating system vendor provides. The fontconfig library provides Pango with a standard way of locating fonts and matching them against font names. Cairo is a graphics library that supports vector graphics and image compositing. Both Pango and GTK use Cairo for drawing. libepoxy is a library that abstracts the differences between different OpenGL libraries. GTK uses it for cross-platform GL support and for its own drawing. Graphene is a library that provides vector and matrix types for 2D and 3D transformations. GTK uses it internally for drawing. The Wayland libraries are needed to build GTK with the Wayland backend. The shared-mime-info package is not a hard dependency of GTK, but it contains definitions for mime types that are used by GIO and, indirectly, by GTK. gdk-pixbuf will use GIO for mime type detection if possible. For this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS set accordingly at configure time. Otherwise, gdk-pixbuf falls back to its built-in mime type detection.
Building and testing GTK First make sure that you have the necessary external dependencies installed: pkg-config, Meson, Ninja, the JPEG, PNG, and TIFF libraries, FreeType, and, if necessary, libiconv and libintl. To get detailed information about building these packages, see the documentation provided with the individual packages. On any average Linux system, it’s quite likely you’ll have all of these installed already, or they will be easily accessible through your operating system package repositories. Then build and install the GTK libraries in the order: GLib, Cairo, Pango, then GTK. For each library, follow the instructions they provide, and make sure to share common settings between them and the GTK build; if you are using a separate prefix for GTK, for instance, you will need to use the same prefix for all its dependencies you build. If you’re lucky, this will all go smoothly, and you’ll be ready to start compiling your own GTK applications. You can test your GTK installation by running the gtk4-demo program that GTK installs. If one of the projects you’re configuring or building fails, look closely at the error messages printed; these will often provide useful information as to what went wrong. Every build system has its own log that can help you understand the issue you’re encountering. If all else fails, you can ask for help on the GTK forums.
Extra Configuration Options In addition to the normal options provided by Meson, GTK defines various arguments that modify what should be built. All of these options are passed to meson as -Doption=value. Most of the time, the value can be true or false. To see a summary of all supported options and their allowed values, run meson configure builddir
<literal>xinerama</literal> By default GTK will try to link against the Xinerama libraries if they are found. This option can be used to explicitly control whether Xinerama should be used.
<literal>gtk_doc</literal> and <literal>man-pages</literal> The gtk-doc package is used to generate the reference documentation included with GTK. By default support for gtk-doc is disabled because it requires various extra dependencies to be installed. If you have gtk-doc and pandoc installed and are modifying GTK, you may want to enable gtk-doc support by passing in -Dgtk_doc=true. Additionally, some tools provided by GTK have their own manual pages generated using a similar set of dependencies; if you have xsltproc then you can generate manual pages by passing -Dman-pages=true when configuring the build.
<literal>print-backends</literal> By default, GTK will try to build various print backends if their dependencies are found. This option can be used to explicitly control which print backends should be built.
<literal>x11-backend</literal>, <literal>win32-backend</literal>, <literal>broadway-backend</literal>, <literal>wayland-backend</literal> and <literal>quartz-backend</literal> Enable specific backends for GDK. If none of these options are given, the Wayland backend will be enabled by default, if the platform is Linux; the X11 backend will also be enabled by default, unless the platform is Windows, in which case the default is win32, or the platform is macOS, in which case the default is quartz. If any backend is explicitly enabled or disabled, no other platform will be enabled automatically.
<literal>introspection</literal> Allows to disable building introspection support. This is option is mainly useful for shortening turnaround times on developer systems. Installed builds of GTK should always have introspection support.
<literal>build-tests</literal>, <literal>install-tests</literal>, <literal>demos</literal> By default, GTK will build quite a few tests and demos. While these are useful on a developer system, they are not needed when GTK is built e.g. for a flatpak runtime. These options allow to disable building tests and demos.
docs/reference/gtk/running.xml0000664000175000017500000006651613710700303016573 0ustar mclasenmclasen Running and debugging GTK Applications
Environment variables GTK inspects a number of environment variables in addition to standard variables like LANG, PATH, HOME or DISPLAY; mostly to determine paths to look for certain files. The X11, Wayland, Windows and Broadway GDK backends use some additional environment variables.
GTK_DEBUG Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GTK to print out different types of debugging information. actions Actions and menu models builder GtkBuilder support geometry Size allocation icontheme Icon themes keybindings Keybindings modules Loading of modules printing Printing support size-request Size requests text Text widget internals tree Tree widget internals A number of keys are influencing behavior instead of just logging: interactive Open the interactive debugger no-css-cache Bypass caching for CSS style properties touchscreen Pretend the pointer is a touchscreen device updates Visual feedback about window updates resize Highlight resizing widgets layout Show layout borders snapshot Include debug render nodes in the generated snapshots The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.
GTK_PATH Specifies a list of directories to search when GTK is looking for dynamically loaded objects such as input method modules and print backends. If the path to the dynamically loaded object is given as an absolute path name, then GTK loads it directly. Otherwise, GTK goes in turn through the directories in GTK_PATH, followed by the directory .gtk-4.0 in the user’s home directory, followed by the system default directory, which is libdir/gtk-4.0/modules. (If GTK_EXE_PREFIX is defined, libdir is $GTK_EXE_PREFIX/lib. Otherwise it is the libdir specified when GTK was configured, usually /usr/lib, or /usr/local/lib.) For each directory in this list, GTK actually looks in a subdirectory directory/version/host/type. Where version is derived from the version of GTK (use pkg-config --variable=gtk_binary_version gtk4 to determine this from a script), host is the architecture on which GTK was built. (use pkg-config --variable=gtk_host gtk4 to determine this from a script), and type is a directory specific to the type of modules; currently it can be modules, immodules or printbackends, corresponding to the types of modules mentioned above. Either version, host, or both may be omitted. GTK looks first in the most specific directory, then in directories with fewer components. The components of GTK_PATH are separated by the : character on Linux and Unix, and the ; character on Windows. Note that this environment variable is read by GTK 2.x and GTK 3.x too, which makes it unsuitable for setting it system-wide (or session-wide), since doing so will cause applications using different GTK versions to see incompatible modules.
GTK_IM_MODULE Specifies an IM module to use in preference to the one determined from the locale. If this isn’t set and you are running on the system that enables XSETTINGS and has a value in Gtk/IMModule, that will be used for the default IM module. This also can be a colon-separated list of input-methods, which GTK will try in turn until it finds one available on the system.
GTK_EXE_PREFIX If set, GTK uses $GTK_EXE_PREFIX/lib instead of the libdir configured when GTK was compiled.
GTK_DATA_PREFIX If set, GTK uses $GTK_DATA_PREFIX instead of the prefix configured when GTK was compiled.
GTK_THEME If set, makes GTK use the named theme instead of the theme that is specified by the gtk-theme-name setting. This is intended mainly for easy debugging of theme issues. It is also possible to specify a theme variant to load, by appending the variant name with a colon, like this: GTK_THEME=Adwaita:dark. The following environment variables are used by GdkPixbuf, GDK or Pango, not by GTK itself, but we list them here for completeness nevertheless.
GDK_PIXBUF_MODULE_FILE Specifies the file listing the GdkPixbuf loader modules to load. This environment variable overrides the default value libdir/gtk-4.0/4.0.0/loaders.cache (libdir is the sysconfdir specified when GTK was configured, usually /usr/lib.) The loaders.cache file is generated by the gdk-pixbuf-query-loaders utility.
GDK_DEBUG Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GDK to print out different types of debugging information. cursor Information about cursor objects (only win32) eventloop Information about event loop operation (mostly Quartz) misc Miscellaneous information frames Information about the frame clock settings Information about xsettings selection Information about selections clipboard Information about clipboards dnd Information about drag-and-drop opengl Information about OpenGL vulkan Information about Vulkan A number of options affect behavior instead of logging: nograbs Turn off all pointer and keyboard grabs gl-disable Disable OpenGL support gl-software Force OpenGL software rendering gl-texture-rect Use the OpenGL texture rectangle extension, if available gl-legacy Use a legacy OpenGL context gl-gles Use a GLES OpenGL context vulkan-disable Disable Vulkan support vulkan-validate Load the Vulkan validation layer, if available The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.
GSK_DEBUG Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GSK to print out different types of debugging information. renderer General renderer information cairo cairo renderer information opengl OpenGL renderer information shaders Shaders surface Surfaces vulkan Vulkan renderer information fallback Information about fallbacks glyphcache Information about glyph caching A number of options affect behavior instead of logging: diff Show differences geometry Show borders full-redraw Force full redraws for every frame sync Sync after each frame vulkan-staging-image Use a staging image for Vulkan texture upload vulkan-staging-buffer Use a staging buffer for Vulkan texture upload The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.
GDK_BACKEND If set, selects the GDK backend to use. Selecting a backend requires that GTK is compiled with support for that backend. The following backends can be selected, provided they are included in the GDK libraries you are using: quartz Selects the native Quartz backend win32 Selects the native backend for Microsoft Windows x11 Selects the native backend for connecting to X11 servers broadway Selects the Broadway backend for display in web browsers wayland Selects the Wayland backend for connecting to Wayland compositors This environment variable can contain a comma-separated list of backend names, which are tried in order. The list may also contain a *, which means: try all remaining backends. The special value help can be used to make GDK print out a list of all available backends. For more information about selecting backends, see the gdk_display_manager_get() function.
GDK_VULKAN_DEVICE This variable can be set to the index of a Vulkan device to override the default selection of the device that is used for Vulkan rendering. The special value list can be used to obtain a list of all Vulkan devices.
GSK_RENDERER If set, selects the GSK renderer to use. The following renderers can be selected, provided they are included in the GTK library you are using and the GDK backend supports them: help Prints information about available options broadway Selects the Broadway-backend specific renderer cairo Selects the fallback Cairo renderer gl Selects the default OpenGL renderer vulkan Selects the Vulkan renderer
GTK_CSD The default value of this environment variable is 1. If changed to 0, this disables the default use of client-side decorations on GTK windows, thus making the window manager responsible for drawing the decorations of windows that do not have a custom titlebar widget. CSD is always used for windows with a custom titlebar widget set, as the WM should not draw another titlebar or other decorations around the custom one.
XDG_DTA_HOME, XDG_DATA_DIRS GTK uses these environment variables to locate icon themes and MIME information. For more information, see the Icon Theme Specification the Shared MIME-Info Database and the Base Directory Specification.
DESKTOP_STARTUP_ID GTK uses this environment variable to provide startup notification according to the Startup Notification Spec. Following the specification, GTK unsets this variable after reading it (to keep it from leaking to child processes). So, if you need its value for your own purposes, you have to read it before calling gtk_init().
Interactive debugging
The inspector The inspector
GTK includes an interactive debugger, called the GTK Inspector, which lets you explore the widget tree of any GTK application at runtime, as well as tweak the theme and trigger visual debugging aids. You can easily try out changes at runtime before putting them into the code. Note that the GTK inspector can only show GTK internals. It can not understand the application-specific logic of a GTK application. Also, the fact that the GTK inspector is running in the application process limits what it can do. It is meant as a complement to full-blown debuggers and system tracing facilities such as DTrace, not as a replacement. To enable the GTK inspector, you can use the Control-Shift-I or Control-Shift-D keyboard shortcuts, or set the GTK_DEBUG=interactive environment variable. There are a few more environment variables that can be set to influence how the inspector renders its UI. GTK_INSPECTOR_DISPLAY and GTK_INSPECTOR_RENDERER determine the GDK display and the GSK renderer that the inspector is using. In some situations, it may be inappropriate to give users access to the GTK inspector. The keyboard shortcuts can be disabled with the enable-inspector-keybinding key in the org.gtk.Settings.Debug GSettings schema.
Profiling GTK supports profiling with sysprof. It exports timing information about frameclock phases and various characteristics of GskRenders in a format that can be displayed by sysprof or GNOME Builder. A simple way to capture data is to set the GTK_TRACE environment variable. When it is set, GTK will write profiling data to a file called gtk.PID.syscap. When launching the application from sysprof, it will set the SYSPROF_TRACE_FD environment variable to point GTK at a file descriptor to write profiling data to. When GtkApplication registers with D-Bus, it exports the org.gnome.Sysprof2.Profiler D-Bus interface that lets sysprof request profiling data at runtime.
docs/reference/gtk/css-overview.xml0000664000175000017500000002556613710700303017547 0ustar mclasenmclasen CSS in GTK This chapter describes how GTK uses CSS for styling and layout. It is not meant to be an explanation of CSS from first principles, but focuses on listing supported CSS features and differences between Web CSS and GTK. There is plenty of introductory documentation available that can be used to learn about CSS in general. In the tables below we include links to the official specs that can be used to look up the definition of individual selectors and properties.
CSS nodes GTK applies the style information found in style sheets by matching the selectors against a tree of nodes. Each node in the tree has a name, a state and possibly style classes. The children of each node are linearly ordered. Every widget has one or more of these CSS nodes, and determines their name, state, style classes and how they are layed out as children and siblings in the overall node tree. The documentation for each widget explains what CSS nodes it has.
The CSS nodes of a GtkScale scale[.fine-tune] ├── marks.top │ ├── mark ┊ ┊ │ ╰── mark ├── trough │ ├── slider │ ├── [highlight] │ ╰── [fill] ╰── marks.bottom ├── mark ┊ ╰── mark
Selectors Selectors work very similar to the way they do on the web. All widgets have one or more CSS nodes with element names and style classes. When style classes are used in selectors, they have to be prefixed with a period. Widget names can be used in selectors like IDs. When used in a selector, widget names must be prefixed with a # character.
GTK CSS Selectors Pattern Reference Notes * CSS Selector Level 3 E CSS Selector Level 3 E.class CSS Selector Level 3 E#id CSS Selector Level 3 E:nth-child(n) CSS Selector Level 3 E:nth-last-child(n) CSS Selector Level 3 E:first-child CSS Selector Level 3 E:last-child CSS Selector Level 3 E:only-child CSS Selector Level 3 E:link, E:visited CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_LINK and GTK_STATE_FLAGS_VISITED E:active, E:hover, E:focus CSS Selector Level 3 Correspond to GTK_STATE_FLAG_ACTIVE, GTK_STATE_FLAG_PRELIGHT, GTK_STATE_FLAGS_FOCUSED E:focus-within CSS Selector Level 4 Set on all ancestors of the focus widget, unlike CSS E:focus-visible CSS Selector Level 4 Set on focus widget and all ancestors, unlike CSS E:disabled CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_INSENSITIVE E:disabled CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_CHECKED E:indeterminate CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_INCONSISTENT E:backdrop, E:selected Corresponds to GTK_STATE_FLAG_BACKDROP, GTK_STATE_FLAG_SELECTED E:not(selector) CSS Selector Level 3 E:dir(ltr), E:dir(rtl) CSS Selector Level 4 E:drop(active) CSS Selector Level 4 E F CSS Selector Level 3 E > F CSS Selector Level 3 E ~ F CSS Selector Level 3 E + F CSS Selector Level 3
docs/reference/gtk/section-accessibility.xml0000664000175000017500000011774613710700303021406 0ustar mclasenmclasen
GTK Accessibility
The standard accessibility interface The GtkAccessible interface provides the accessibility information about an application’s user interface elements. Assistive technology (AT) applications, like Orca, convey this information to users with disabilities, or reduced abilities, to help them use the application. Standard GTK controls implement the GtkAccessible interface and are thus accessible to ATs by default. This means that if you use GTK controls such as GtkButton, GtkEntry, or GtkListView, you only need to supply application-specific details when the defaults values are incomplete. You can do this by setting the appropriate properties in your GtkBuilder template and UI definition files, or by setting the properties defined by the GtkAccessible interface. If you are implementing your own GtkWidget derived type, you will need to set the GtkAccessible properties yourself, and provide an implementation of the GtkAccessible virtual functions.
Accessible roles and attributes The fundamental concepts of an accessible widget are roles and attributes; each GTK control has a role, while its functionality is described by a set of attributes.
Roles Roles define the taxonomy and semantics of a UI control to any assistive technology application; for instance, a button will have a role of GTK_ACCESSIBLE_ROLE_BUTTON; an entry will have a role of GTK_ACCESSIBLE_ROLE_TEXTBOX; a toggle button will have a role of GTK_ACCESSIBLE_ROLE_CHECKBOX; etc. Each role is part of the widget’s instance, and cannot be changed over time or as the result of a user action. Roles allows assistive technology applications to identify a UI control and decide how to present it to a user; if a part of the application’s UI changes role, the control needs to be removed and replaced with another one with the appropriate role.
List of accessible roles Each role name is part of the GtkAccessibleRole enumeration. Role name Description Related GTK widget BUTTON A control that performs an action when pressed GtkButton, GtkLinkButton, GtkExpander CHECKBOX A control that has three possible value: true, false, or undefined GtkCheckButton COMBOBOX A control that can be expanded to show a list of possible values to select GtkComboBox DIALOG A dialog that prompts the user to enter information or require a response GtkDialog and subclasses IMG An image GtkImage, GtkPicture LABEL A visible name or caption for a user interface component GtkLabel METER Represents a value within a known range GtkLevelBar PROGRESS_BAR An element that display progress GtkProgressBar RADIO A checkable input in a group of radio roles GtkRadioButton SCROLLBAR A graphical object controlling the scolling of content GtkScrollbar SEARCH_BOX A text box for entering search criteria GtkSearchEntry SEPARATOR A divider that separates sections of content or groups of items GtkSeparator SPIN_BUTTON A range control that allows seelcting among discrete choices GtkSpinButton SWITCH A control that represents on/off values GtkSwitch TEXT_BOX A type of input that allows free-form text as its value. GtkEntry, GtkPasswordEntry, GtkTextView WINDOW An application window GtkWindow ... See the WAI-ARIA list of roles for additional information.
Attributes Attributes provide specific information about an accessible UI control, and describe it for the assistive technology applications. GTK divides the accessible attributes into three categories: properties, described by the values of the GtkAccessibleProperty enumeration relations, described by the values of the GtkAccessibleRelation enumeration states, described by the values of the GtkAccessibleState enumeration Each attribute accepts a value of a specific type. Unlike roles, attributes may change over time, or in response to user action; for instance: a toggle button will change its GTK_ACCESSIBLE_STATE_CHECKED state every time it is toggled, either by the user or programmatically setting the mnemonic widget on a GtkLabel will update the GTK_ACCESSIBLE_RELATION_LABELLED_BY relation on the widget with a reference to the label changing the GtkAdjustment instance on a GtkScrollbar will change the GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, GTK_ACCESSIBLE_PROPERTY_VALUE_MIN, and GTK_ACCESSIBLE_PROPERTY_VALUE_NOW properties with the upper, lower, and value properties of the GtkAdjustment See the WAI-ARIA list of attributes for additional information.
List of accessible properties Each state name is part of the GtkAccessibleProperty enumeration. State name ARIA attribute Value type Notes GTK_ACCESSIBLE_STATE_BUSY aria-busy boolean GTK_ACCESSIBLE_STATE_CHECKED aria-checked GtkAccessibleTristate Indicates the current state of a GtkCheckButton GTK_ACCESSIBLE_STATE_DISABLED aria-disabled boolean Corresponds to the “sensitive” property on GtkWidget GTK_ACCESSIBLE_STATE_EXPANDED aria-expanded boolean or undefined Corresponds to the “expanded” property on GtkExpander GTK_ACCESSIBLE_STATE_HIDDEN aria-hidden boolean Corresponds to the “visible” property on GtkWidget GTK_ACCESSIBLE_STATE_INVALID aria-invalid GtkAccessibleInvalidState Set when a widget is showing an error GTK_ACCESSIBLE_STATE_PRESSED aria-pressed GtkAccessibleTristate Indicates the current state of a GtkToggleButton GTK_ACCESSIBLE_STATE_SELECTED aria-selected boolean or undefined Set when a widget is selected
List of accessible relations Each state name is part of the GtkAccessibleRelation enumeration. State name ARIA attribute Value type GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE aria-autocomplete GtkAccessibleAutocomplete GTK_ACCESSIBLE_PROPERTY_DESCRIPTION aria-description translatable string GTK_ACCESSIBLE_PROPERTY_HAS_POPUP aria-haspopup boolean GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS aria-keyshortcuts string GTK_ACCESSIBLE_PROPERTY_LABEL aria-label translatable string GTK_ACCESSIBLE_PROPERTY_LEVEL aria-level integer GTK_ACCESSIBLE_PROPERTY_MODAL aria-modal boolean GTK_ACCESSIBLE_PROPERTY_MULTI_LINE aria-multiline boolean GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE aria-multiselectable boolean GTK_ACCESSIBLE_PROPERTY_ORIENTATION aria-orientation GtkOrientation GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER aria-placeholder translatable string GTK_ACCESSIBLE_PROPERTY_READ_ONLY aria-readonly boolean GTK_ACCESSIBLE_PROPERTY_REQUIRED aria-required boolean GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION aria-roledescription translatable string GTK_ACCESSIBLE_PROPERTY_SORT aria-sort GtkAccessibleSort GTK_ACCESSIBLE_PROPERTY_VALUE_MAX aria-valuemax double GTK_ACCESSIBLE_PROPERTY_VALUE_MIN aria-valuemin double GTK_ACCESSIBLE_PROPERTY_VALUE_NOW aria-valuenow double GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT aria-valuetext translatable string
List of accessible states Each state name is part of the GtkAccessibleState enumeration. State name ARIA attribute Value type GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT aria-activedescendant GtkAccessible GTK_ACCESSIBLE_RELATION_COL_COUNT aria-colcount integer GTK_ACCESSIBLE_RELATION_COL_INDEX aria-colindex integer GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT aria-colindextext translatable string GTK_ACCESSIBLE_RELATION_COL_SPAN aria-colspan integer GTK_ACCESSIBLE_RELATION_CONTROLS aria-controls a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_DESCRIBED_BY aria-describedby a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_DETAILS aria-details a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE aria-errormessage GtkAccessible GTK_ACCESSIBLE_RELATION_FLOW_TO aria-flowto a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_LABELLED_BY aria-labelledby a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_OWNS aria-owns a GList of GtkAccessible GTK_ACCESSIBLE_RELATION_POS_IN_SET aria-posinset integer GTK_ACCESSIBLE_RELATION_ROW_COUNT aria-rowcount integer GTK_ACCESSIBLE_RELATION_ROW_INDEX aria-rowindex integer GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT aria-rowindextext translatable string GTK_ACCESSIBLE_RELATION_ROW_SPAN aria-rowspan integer GTK_ACCESSIBLE_RELATION_SET_SIZE aria-setsize integer
Application development rules Even if standard UI controls provided by GTK have accessibility information out of the box, there are some additional properties and considerations for application developers. For instance, if your application presents the user with a form to fill out, you should ensure that: the container of the form has a GTK_ACCESSIBLE_ROLE_FORM role each text entry widget in the form has the GTK_ACCESSIBLE_RELATION_LABELLED_BY relation pointing to the label widget that describes it Another example: if you create a tool bar containing buttons with only icons, you should ensure that: the container has a GTK_ACCESSIBLE_ROLE_TOOLBAR role each button has a GTK_ACCESSIBLE_PROPERTY_LABEL property set with the user readable and localised action performed when pressed; for instance Copy, Paste, Add layer, or Remove GTK will try to fill in some information by using ancillary UI control property, for instance the accessible label will be taken from the label or placeholder text used by the UI control, or from its tooltip, if the GTK_ACCESSIBLE_PROPERTY_LABEL property or the GTK_ACCESSIBLE_RELATION_LABELLED_BY relation are unset. Nevertheless, it is good practice and project hygiene to explicitly specify the accessible properties, just like it’s good practice to specify tooltips and style classes. Application developers using GTK should ensure that their UI controls are accessible as part of the development process. When using GtkBuilder templates and UI definition files, GTK provides a validation tool that verifies that each UI element has a valid role and properties; this tool can be used as part of the application’s test suite to avoid regressions.
Implementations Each UI control implements the GtkAccessible interface to allow widget and application developers to specify the roles, state, and relations between UI controls. This API is purely descriptive. Each GtkAccessible implementation must provide a GtkATContext instance, which acts as a proxy to the specific platform’s accessibility API: AT-SPI on Linux/BSD NSAccessibility on macOS Active Accessibility on Windows Additionally, an ad hoc accessibility backend is available for the GTK testsuite, to ensure reproducibility of issues in the CI pipeline.
docs/reference/gtk/section-text-widget.xml0000664000175000017500000002341113710700303021005 0ustar mclasenmclasen
Text Widget Overview GTK has an extremely powerful framework for multiline text editing. The primary objects involved in the process are GtkTextBuffer, which represents the text being edited, and GtkTextView, a widget which can display a GtkTextBuffer. Each buffer can be displayed by any number of views. One of the important things to remember about text in GTK is that it’s in the UTF-8 encoding. This means that one character can be encoded as multiple bytes. Character counts are usually referred to as offsets, while byte counts are called indexes. If you confuse these two, things will work fine with ASCII, but as soon as your buffer contains multibyte characters, bad things will happen. Text in a buffer can be marked with tags. A tag is an attribute that can be applied to some range of text. For example, a tag might be called bold and make the text inside the tag bold. However, the tag concept is more general than that; tags don’t have to affect appearance. They can instead affect the behavior of mouse and key presses, lock a range of text so the user can’t edit it, or countless other things. A tag is represented by a GtkTextTag object. One GtkTextTag can be applied to any number of text ranges in any number of buffers. Each tag is stored in a GtkTextTagTable. A tag table defines a set of tags that can be used together. Each buffer has one tag table associated with it; only tags from that tag table can be used with the buffer. A single tag table can be shared between multiple buffers, however. Tags can have names, which is convenient sometimes (for example, you can name your tag that makes things bold bold), but they can also be anonymous (which is convenient if you’re creating tags on-the-fly). Most text manipulation is accomplished with iterators, represented by a GtkTextIter. An iterator represents a position between two characters in the text buffer. GtkTextIter is a struct designed to be allocated on the stack; it’s guaranteed to be copiable by value and never contain any heap-allocated data. Iterators are not valid indefinitely; whenever the buffer is modified in a way that affects the number of characters in the buffer, all outstanding iterators become invalid. (Note that deleting 5 characters and then reinserting 5 still invalidates iterators, though you end up with the same number of characters you pass through a state with a different number). Because of this, iterators can’t be used to preserve positions across buffer modifications. To preserve a position, the GtkTextMark object is ideal. You can think of a mark as an invisible cursor or insertion point; it floats in the buffer, saving a position. If the text surrounding the mark is deleted, the mark remains in the position the text once occupied; if text is inserted at the mark, the mark ends up either to the left or to the right of the new text, depending on its gravity. The standard text cursor in left-to-right languages is a mark with right gravity, because it stays to the right of inserted text. Like tags, marks can be either named or anonymous. There are two marks built-in to GtkTextBuffer; these are named insert and selection_bound and refer to the insertion point and the boundary of the selection which is not the insertion point, respectively. If no text is selected, these two marks will be in the same position. You can manipulate what is selected and where the cursor appears by moving these marks around. If you want to place the cursor in response to a user action, be sure to use gtk_text_buffer_place_cursor(), which moves both at once without causing a temporary selection (moving one then the other temporarily selects the range in between the old and new positions). Text buffers always contain at least one line, but may be empty (that is, buffers can contain zero characters). The last line in the text buffer never ends in a line separator (such as newline); the other lines in the buffer always end in a line separator. Line separators count as characters when computing character counts and character offsets. Note that some Unicode line separators are represented with multiple bytes in UTF-8, and the two-character sequence is also considered a line separator. Text buffers support undo and redo if gtk_text_buffer_set_enable_undo() has been set to TRUE. Use gtk_text_buffer_undo() or gtk_text_buffer_redo() to perform the necessary action. Note that these operations are ignored if the buffer is not editable. Developers may want some operations to not be undoable. To do this, wrap your changes in gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action().
Simple Example The simplest usage of GtkTextView might look like this: GtkWidget *view; GtkTextBuffer *buffer; view = gtk_text_view_new(); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gtk_text_buffer_set_text (buffer, "Hello, this is some text", -1); /* Now you might put the view in a container and display it on the * screen; when the user edits the text, signals on the buffer * will be emitted, such as "changed", "insert_text", and so on. */ In many cases it’s also convenient to first create the buffer with gtk_text_buffer_new(), then create a widget for that buffer with gtk_text_view_new_with_buffer(). Or you can change the buffer the widget displays after the widget is created with gtk_text_view_set_buffer().
Example of Changing Text Attributes The way to affect text attributes in GtkTextView is to apply tags that change the attributes for a region of text. For text features that come from the theme — such as font and foreground color – use CSS to override their default values. GtkWidget *view; GtkTextBuffer *buffer; GtkTextIter start, end; PangoFontDescription *font_desc; GdkRGBA rgba; GtkTextTag *tag; GtkCssProvider *provider; GtkStyleContext *context; view = gtk_text_view_new(); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gtk_text_buffer_set_text (buffer, "Hello, this is some text", -1); /* Change default font and color throughout the widget */ provider = gtk_css_provider_new(); gtk_css_provider_load_from_data (provider, "textview {" " font: 15 serif;" " color: green;" "}", -1); context = gtk_widget_get_style_context (view); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); /* Change left margin throughout the widget */ gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 30); /* Use a tag to change the color for just one part of the widget */ tag = gtk_text_buffer_create_tag (buffer, "blue_foreground", "foreground", "blue", NULL); gtk_text_buffer_get_iter_at_offset (buffer, &amp;start, 7); gtk_text_buffer_get_iter_at_offset (buffer, &amp;end, 12); gtk_text_buffer_apply_tag (buffer, tag, &amp;start, &amp;end); The gtk4-demo application that comes with GTK contains more example code for GtkTextView.
docs/reference/gtk/section-list-widget.xml0000664000175000017500000005046413710700303021004 0ustar mclasenmclasen
List Widget Overview GTK provides powerful widgets to display and edit lists of data. This document gives an overview over the concepts and how they work together to allow developers to implement lists. Lists are intended to be used whenever developers want to display many objects in roughly the same way. Lists are perfectly fine to be used for very short list of only 2 or 3 elements, but generally scale fine to millions of items. Of course, the larger the list grows, the more care needs to be taken to choose the right data structures to keep things running well. Lists are meant to be used with changing data, both with the items itself changing as well as the list adding and removing items. Of course, they work just as well with static data.
Terminology These terms are used throughout the documentation when talking about lists and you should be aware of what they refer to. These are often generic terms that have a specific meaning in this context. Views or list widgets are the widgets that hold and manage the lists. Examples of these widgets would be GtkListView or GtkGridView. Views display data from a model. A model is a GListModel and models can be provided in 3 ways or combinations thereof: Many list models implementations already exist. There are models that provide specific data, like GtkDirectoryList. And there are models like GListStore that allow building lists manually. Wrapping list models like GtkFilterListModel or GtkSortListModel modify, adapt or combine other models. Last but not least, developers are encouraged to create their own GListModel implementations. The interface is kept deliberately small to make this easy. The same model can be used in multiple different views and wrapped with multiple different models at once. The elements in a model are called items. All items are GObjects. Every item in a model has a position which is the unsigned integer that describes where in the model the item is located. The first item in a model is at position 0. The position of an item can of course change as other items are added or removed from the model. It is important to be aware of the difference between items and positions because the mapping from position to item is not permanent, so developers should think about whether they want to track items or positions when working with models. Oftentimes some things are really hard to do one way but very easy the other way. The other important part of a view is a factory. Each factory is a GtkListItemFactory implementation that takes care of mapping the items of the model to widgets that can be shown in the view. The way factories do this is by creating a listitem for each item that is currently in use. Listitems are always GtkListItem objects. They are only ever created by GTK and provide information about what item they are meant to display. Different factory implementations use various different methods to allow developers to add the right widgets to listitems and to link those widgets with the item managed by the listitem. Finding a suitable factory implementation for the data displayed, the programming language and development environment is an important task that can simplify setting up the view tremendously. Views support selections via a selection model. A selection model is an implementation of the GtkSelectionModel interface on top of the GListModel interface that allows marking each item in a model as either selected or not selected. Just like regular models, this can be implemented either by implementing GtkSelectionModel directly or by wrapping a model with one of the GTK models provided for this purposes, such as GtkNoSelection or GtkSingleSelection. The behavior of selection models - ie which items they allow selecting and what effect this has on other items - is completely up to the selection model. As such, single-selections, multi-selections or sharing selection state between different selection models and/or views is possible. The selection state of an item is exposed in the listitem via the “selected” property. Views and listitems also support activation. Activation means that double clicking or pressing enter while inside a focused row will cause the view to emit and activation signal such as “activate”. This provides an easy way to set up lists, but can also be turned off on listitems if undesired. Both selections and activation are supported among other things via widget actions. This allows developers to add widgets to their lists that cause selections to change or to trigger activation via the GtkActionable interface. For a list of all supported actions see the relevant documentation.
Behind the scenes While for short lists it is not a problem to instantiate widgets for every item in the model, once lists grow to thousands or millions of elements, this gets less feasible. Because of this, the views only create a limited amount of listitems and recycle them by binding them to new items. In general, views try to keep listitems available only for the items that can actually be seen on screen. While this behavior allows views to scale effortlessly to huge lists, it has a few implication on what can be done with views. For example, it is not possible to query a view for a listitem used for a certain position - there might not be one and even if there is, that listitem might soon be recycled for a new position. It is also important that developers save state they care about in the item and do not rely on the widgets they created as those widgets can be recycled for a new position at any time causing any state to be lost. Another important requirement for views is that they need to know which items are not visible so they can be recycled. Views achieve that by implementing the GtkScrollable interface and expecting to be placed directly into a GtkScrolledWindow. Of course, if you are only using models with few items, this is not important and you can treat views like any other widget. But if you use large lists and your performance suffers, you should be aware of this. Views also allow tuning the number of listitems they create such as with gtk_grid_view_set_max_columns(), and developers running into performance problems should definitely study the tradeoffs of those and experiment with them.
Choosing the right model GTK offers a wide variety of wrapping models which change or supplement an existing model (or models) in some way. But when it comes to storing your actual data, there are only a few ready-made choices available: GListStore and GtkStringList. GListStore is backed by a balanced tree and has performance characteristics that are expected for that data structure. It works reasonably well for dataset sizes in the 1,000,000 range, and can handle insertions and deletions. It uses a cached iter to make linear access to the items fast. GtkStringList is not a general store - it can only handle strings. It is backed by an dynamically allocated array and has performance characteristics that are expected for that data structure. GtkStringList is a good fit for any place where you would otherwise use char*[] and works best if the dataset is not very dynamic. If these models don’t fit your use case or scalability requirements, you should make a custom GListModel. It is a small interface and not very hard to implement. For asymptotic performance comparisons between tree- and array-based implementations, see this article.
Displaying trees While GtkTreeView provided built-in support for trees, the list widgets, and in particular GListModel do not. This was a design choice because the common use case is displaying lists and not trees and it greatly simplifies the API interface provided. However, GTK provides functionality to make trees look and behave like lists for the people who still want to display lists. This is achieved by using the GtkTreeListModel model to flatten a tree into a list. The GtkTreeExpander widget can then be used inside a listitem to allow users to expand and collapse rows and provide a similar experience to GtkTreeView. Developers should refer to those objects’ API reference for more discussion on the topic.
Comparison to GtkTreeView Developers familiar with GtkTreeView may wonder how this way of doing lists compares to the way they know. This section will try to outline the similarities and differences between the two. This new approach tries to provide roughly the same functionality as the old approach but often uses a very different approach to achieve these goals. The main difference and one of the primary reasons for this new development is that items can be displayed using regular widgets and GtkCellRenderer is no longer necessary. This allows all benefits that widgets provide, such as complex layout and animating widgets and not only makes cell renderers obsolete, but also GtkCellArea. The other big difference is the massive change to the data model. GtkTreeModel was a rather complex interface for a tree data structure and GListModel was deliberately designed to be a simple data structure for lists only. (See above) for how to still do trees with this new model.) Another big change is that the new model allows for bulk changes via the “items-changed” signal while GtkTreeModel only allows a single item to change at once. The goal here is of course to encourage implementation of custom list models. Another consequence of the new model is that it is now easily possible to refer to the contents of a row in the model directly by keeping the item, while GtkTreeRowReference was a very slow mechanism to achieve the same. And because the items are real objects, developers can make them emit change signals causing listitems and their children to update, which wasn’t possible with GtkTreeModel. The selection handling is also different. While selections used to be managed via custom code in each widget, selection state is now meant to be managed by the selection models. In particular this allows for complex use cases with specialized requirements. Finally here’s a quick list of equivalent functionality to look for when transitioning code for easy lookup: Old New GtkTreeModel GListModel GtkTreePath guint position, GtkTreeListRow GtkTreeIter guint position GtkTreeRowReference GObject item GtkListStore GListStore GtkTreeStore GtkTreeListModel, GtkTreeExpander GtkTreeSelection GtkSelectionModel GtkTreeViewColumn GtkColumnView GtkTreeView GtkListView, GtkColumnView GtkCellView GtkListItemWidget GtkComboBox GtkDropDown GtkIconView GtkGridView GtkTreeSortable GtkColumnView GtkTreeModelSort GtkSortListModel GtkTreeModelFilter GtkFilterListModel GtkCellLayout GtkListItemFactory GtkCellArea GtkWidget GtkCellRenderer GtkWidget
docs/reference/gtk/css-properties.xml0000664000175000017500000012760213710700303020067 0ustar mclasenmclasen GTK CSS Properties GTK supports CSS properties and shorthands as far as they can be applied in the context of widgets, and adds its own properties only when needed. All GTK-specific properties have a -gtk prefix.
Basic types All properties support the following keywords: inherit, initial, unset, with the same meaning as defined in the CSS Cascading and Inheritance spec. The following units are supported for basic datatypes: Length px, pt, em, ex, rem, pc, in, cm, mm, calc() Percentage %, calc() Angle deg | grad | turn, calc() Time s | ms, calc() Length values with the em or ex units are resolved using the font size value, unless they occur in setting the font-size itself, in which case they are resolved using the inherited font size value. The rem unit is resolved using the initial font size value, which is not quite the same as the CSS definition of rem. The calc() notation adds considerable expressive power. There are limits on what types can be combined in such an expression (e.g. it does not make sense to add a number and a time). For the full details, see the CSS3 VAlues and Units spec. A common pattern among shorthand properties (called four sides) is one where one to four values can be specified, to determine a value for each side of an area. In this case, the specified values are interpreted as follows: 4 values: top right bottom left 3 values: top horizontal bottom 2 values: vertical horizontal 1 value: all
Colors GTK extends the CSS syntax with several additional ways to specify colors. The first is a reference to a color defined via a define-color rule in CSS. The syntax for define-color rules is as follows: define-color Name Color To refer to the color defined by a define-color rule, prefix the name with @. GTK also supports color expressions, which allow colors to be transformed to new ones. Color expressions can be nested, providing a rich language to define colors. Color expressions resemble functions, taking 1 or more colors and in some cases a number as arguments. lighter(Color) produces a brigher variant of Color darker(Color) produces a darker variant of Color shade(Color, Number) changes the lightness of Color. The number ranges from 0 for black to 2 for white. alpha(Color, Number) replaces the alpha value of color with number (between 0 and 1) mix(Color1, Color2, Number) interpolates between the two colors
Images GTK extends the CSS syntax for images and also uses it for specifying icons. To load a themed icon, use -gtk-icontheme(Name) The specified icon name is used to look up a themed icon, while taking into account the values of the -gtk-icon-palette property. This kind of image is mainly used as value of the -gtk-icon-source property. Symbolic icons from the icon theme are recolored according to the -gtk-icon-palette property, which defines a list of named colors. The recognized names for colors in symbolic icons are error, warning and success. The default palette maps these three names to symbolic colors with the names error_color, warning_color and success_color respectively. The syntax for defining a custom palette is a comma-separated list of name-color pairs, e.g. success blue, warning fc3, error magenta Recoloring is sometimes needed for images that are not part of an icon theme, and the -gtk-recolor(uri, palette) syntax makes this available. -gtk-recolor requires a url as first argument. The remaining arguments specify the color palette to use. If the palette is not explicitly specified, the current value of the -gtk-icon-palette property is used. GTK supports scaled rendering on hi-resolution displays. This works best if images can specify normal and hi-resolution variants. From CSS, this can be done with -gtk-scaled(Image1, Image2)
GTK CSS Properties Property Reference Notes color CSS Color Level 3 opacity CSS Color Level 3 filter CSS Filter Effect Level 1 font-family CSS Fonts Level 3 defaults to gtk-font-name setting font-size CSS Fonts Level 3 defaults to gtk-font-name setting font-style CSS Fonts Level 3 font-variant CSS Fonts Level 3 only CSS2 values supported font-weight CSS Fonts Level 3 font-stretch CSS Fonts Level 3 font-kerning CSS Fonts Level 3 font-variant-ligatures CSS Fonts Level 3 font-variant-position CSS Fonts Level 3 font-variant-caps CSS Fonts Level 3 font-variant-numeric CSS Fonts Level 3 font-variant-alternates CSS Fonts Level 3 font-variant-east-asian CSS Fonts Level 3 font-feature-settings CSS Fonts Level 3 font-variation-settings CSS Fonts Level 4 -gtk-dpi Number defaults to screen resolution font CSS Fonts Level 3 CSS allows line-height, etc font-variant CSS Fonts Level 3 caret-color CSS Basic User Interface Level 3 CSS allows an auto value -gtk-secondary-caret-color Color used for the secondary caret in bidirectional text letter-spacing CSS Text Level 3 text-decoration-line CSS Text Decoration Level 3 CSS allows overline text-decoration-color CSS Text Decoration Level 3 text-decoration-style CSS Text Decoration Level 3 CSS allows dashed and dotted text-shadow CSS Text Decoration Level 3 text-decoration CSS Text Decoration Level 3 -gtk-icon-source Image, builtin or none used for builtin icons in buttons and expanders -gtk-icon-size Length size used for builtin icons in buttons and expanders -gtk-icon-style requested, regular or symbolic preferred style for application-loaded icons -gtk-icon-transform Transform list or none applied to builtin and application-loaded icons -gtk-icon-palette Color palette, as explained above used to recolor symbolic icons -gtk-icon-shadow Shadow or none applied to builtin and application-loaded icons -gtk-icon-filter Filter value list or none applied to builtin and application-loaded icons transform CSS Transforms Level 2 min-width CSS Box Model Level 3 CSS allows percentages min-height CSS Box Model Level 3 CSS allows percentages margin-top CSS Box Model Level 3 CSS allows percentages or auto margin-right CSS Box Model Level 3 CSS allows percentages or auto margin-bottom CSS Box Model Level 3 CSS allows percentages or auto margin-left CSS Box Model Level 3 CSS allows percentages or auto padding-top CSS Box Model Level 3 CSS allows percentages padding-right CSS Box Model Level 3 CSS allows percentages padding-bottom CSS Box Model Level 3 CSS allows percentages padding-left CSS Box Model Level 3 CSS allows percentages margin CSS Box Model Level 3 a four sides property padding CSS Box Model Level 3 a four sides property border-top-width CSS Backgrounds and Borders Level 3 CSS allows other values border-right-width CSS Backgrounds and Borders Level 3 CSS allows other values border-bottom-width CSS Backgrounds and Borders Level 3 CSS allows other values border-left-width CSS Backgrounds and Borders Level 3 CSS allows other values border-top-style CSS Backgrounds and Borders Level 3 border-right-style CSS Backgrounds and Borders Level 3 border-bottom-style CSS Backgrounds and Borders Level 3 border-left-style CSS Backgrounds and Borders Level 3 border-top-right-radius CSS Backgrounds and Borders Level 3 border-bottom-right-radius CSS Backgrounds and Borders Level 3 border-bottom-left-radius CSS Backgrounds and Borders Level 3 border-top-left-radius CSS Backgrounds and Borders Level 3 border-top-color CSS Backgrounds and Borders Level 3 border-right-color CSS Backgrounds and Borders Level 3 border-bottom-color CSS Backgrounds and Borders Level 3 border-left-color CSS Backgrounds and Borders Level 3 border-image-source CSS Backgrounds and Borders Level 3 border-image-repeat CSS Backgrounds and Borders Level 3 border-image-slice CSS Backgrounds and Borders Level 3 a four sides property border-image-width CSS Backgrounds and Borders Level 3 a four sides property border-width CSS Backgrounds and Borders Level 3 a four sides property border-style CSS Backgrounds and Borders Level 3 a four sides property border-color CSS Backgrounds and Borders Level 3 a four sides property border-top CSS Backgrounds and Borders Level 3 border-right CSS Backgrounds and Borders Level 3 border-bottom CSS Backgrounds and Borders Level 3 border-left CSS Backgrounds and Borders Level 3 border CSS Backgrounds and Borders Level 3 border-radius CSS Backgrounds and Borders Level 3 border-image CSS Backgrounds and Borders Level 3 outline-style CSS Basic User Interface Level 3 initial value is none, auto is not supported outline-width CSS Basic User Interface Level 3 outline-color CSS Basic User Interface Level 3 initial value is currentColor, invert is not supported outline-offset CSS Basic User Interface Level 3 outline CSS Basic User Interface Level 3 background-color CSS Backgrounds and Borders Level 3 background-clip CSS Backgrounds and Borders Level 3 background-origin CSS Backgrounds and Borders Level 3 background-size CSS Backgrounds and Borders Level 3 background-position CSS Backgrounds and Borders Level 3 background-repeat CSS Backgrounds and Borders Level 3 background-image CSS Backgrounds and Borders Level 3 not supported: urls without quotes, colors in crossfades box-shadow CSS Backgrounds and Borders Level 3 background-blend-mode CSS Compositing and Blending Level 1 only affects multiple backgrounds background CSS Backgrounds and Borders Level 3 transition-property CSS Transitions transition-duration CSS Transitions transition-timing-function CSS Transitions transition-delay CSS Transitions transition CSS Transitions animation-name CSS Animations Level 1 animation-duration CSS Animations Level 1 animation-timing-function CSS Animations Level 1 animation-iteration-count CSS Animations Level 1 animation-direction CSS Animations Level 1 animation-play-state CSS Animations Level 1 animation-delay CSS Animations Level 1 animation-fill-mode CSS Animations Level 1 animation CSS Animations Level 1 border-spacing CSS Table Level 3 respected by GtkBox and GtkGrid
docs/reference/gtk/section-tree-widget.xml0000664000175000017500000003211013710700303020754 0ustar mclasenmclasen
Tree and List Widget Overview To create a tree or list in GTK, use the GtkTreeModel interface in conjunction with the GtkTreeView widget. This widget is designed around a Model/View/Controller design and consists of four major parts: The tree view widget (GtkTreeView) The view column (GtkTreeViewColumn) The cell renderers (GtkCellRenderer etc.) The model interface (GtkTreeModel) The View is composed of the first three objects, while the last is the Model. One of the prime benefits of the MVC design is that multiple views can be created of a single model. For example, a model mapping the file system could be created for a file manager. Many views could be created to display various parts of the file system, but only one copy need be kept in memory. The purpose of the cell renderers is to provide extensibility to the widget and to allow multiple ways of rendering the same type of data. For example, consider how to render a boolean variable. Should it render it as a string of True or False, On or Off, or should it be rendered as a checkbox?
Creating a model GTK provides two simple models that can be used: the GtkListStore and the GtkTreeStore. GtkListStore is used to model list widgets, while the GtkTreeStore models trees. It is possible to develop a new type of model, but the existing models should be satisfactory for all but the most specialized of situations. Creating the model is quite GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); This creates a list store with two columns: a string column and a boolean column. Typically the 2 is never passed directly like that; usually an enum is created wherein the different columns are enumerated, followed by a token that represents the total number of columns. The next example will illustrate this, only using a tree store instead of a list store. Creating a tree store operates almost exactly the same. enum { TITLE_COLUMN, AUTHOR_COLUMN, CHECKED_COLUMN, N_COLUMNS }; GtkTreeStore *store = gtk_tree_store_new (N_COLUMNS, /* Total number of columns */ G_TYPE_STRING, /* Book title */ G_TYPE_STRING, /* Author */ G_TYPE_BOOLEAN); /* Is checked out? */ Adding data to the model is done using gtk_tree_store_set() or gtk_list_store_set(), depending upon which sort of model was created. To do this, a GtkTreeIter must be acquired. The iterator points to the location where data will be added. Once an iterator has been acquired, gtk_tree_store_set() is used to apply data to the part of the model that the iterator points to. Consider the following example: GtkTreeIter iter; gtk_tree_store_append (store, &iter, NULL); /* Acquire an iterator */ gtk_tree_store_set (store, &iter, TITLE_COLUMN, "The Principle of Reason", AUTHOR_COLUMN, "Martin Heidegger", CHECKED_COLUMN, FALSE, -1); Notice that the last argument is -1. This is always done because this is a variable-argument function and it needs to know when to stop processing arguments. It can be used to set the data in any or all columns in a given row. The third argument to gtk_tree_store_append() is the parent iterator. It is used to add a row to a GtkTreeStore as a child of an existing row. This means that the new row will only be visible when its parent is visible and in its expanded state. Consider the following example: GtkTreeIter iter1; /* Parent iter */ GtkTreeIter iter2; /* Child iter */ gtk_tree_store_append (store, &iter1, NULL); /* Acquire a top-level iterator */ gtk_tree_store_set (store, &iter1, TITLE_COLUMN, "The Art of Computer Programming", AUTHOR_COLUMN, "Donald E. Knuth", CHECKED_COLUMN, FALSE, -1); gtk_tree_store_append (store, &iter2, &iter1); /* Acquire a child iterator */ gtk_tree_store_set (store, &iter2, TITLE_COLUMN, "Volume 1: Fundamental Algorithms", -1); gtk_tree_store_append (store, &iter2, &iter1); gtk_tree_store_set (store, &iter2, TITLE_COLUMN, "Volume 2: Seminumerical Algorithms", -1); gtk_tree_store_append (store, &iter2, &iter1); gtk_tree_store_set (store, &iter2, TITLE_COLUMN, "Volume 3: Sorting and Searching", -1);
Creating the view component While there are several different models to choose from, there is only one view widget to deal with. It works with either the list or the tree store. Setting up a GtkTreeView is not a difficult matter. It needs a GtkTreeModel to know where to retrieve its data from. GtkWidget *tree; tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
Colums and cell renderers Once the GtkTreeView widget has a model, it will need to know how to display the model. It does this with columns and cell renderers. Cell renderers are used to draw the data in the tree model in a way. There are a number of cell renderers that come with GTK, including the GtkCellRendererText, GtkCellRendererPixbuf and the GtkCellRendererToggle. It is relatively easy to write a custom renderer. A GtkTreeViewColumn is the object that GtkTreeView uses to organize the vertical columns in the tree view. It needs to know the name of the column to label for the user, what type of cell renderer to use, and which piece of data to retrieve from the model for a given row. GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (<!-- -->); column = gtk_tree_view_column_new_with_attributes ("Author", renderer, "text", AUTHOR_COLUMN, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); At this point, all the steps in creating a displayable tree have been covered. The model is created, data is stored in it, a tree view is created and columns are added to it.
Selection handling Most applications will need to not only deal with displaying data, but also receiving input events from users. To do this, simply get a reference to a selection object and connect to the “changed” signal. /* Prototype for selection handler callback */ static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data); /* Setup the selection handler */ GtkTreeSelection *select; select = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (select), "changed", G_CALLBACK (tree_selection_changed_cb), NULL); Then to retrieve data for the row selected: static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data) { GtkTreeIter iter; GtkTreeModel *model; char *author; if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (model, &iter, AUTHOR_COLUMN, &author, -1); g_print ("You selected a book by s\n", author); g_free (author); } }
Simple Example Here is a simple example of using a GtkTreeView widget in context of the other widgets. It simply creates a simple model and view, and puts them together. Note that the model is never populated with data — that is left as an exercise for the reader. More information can be found on this in the GtkTreeModel section. enum { TITLE_COLUMN, AUTHOR_COLUMN, CHECKED_COLUMN, N_COLUMNS }; void setup_tree (void) { GtkTreeStore *store; GtkWidget *tree; GtkTreeViewColumn *column; GtkCellRenderer *renderer; /* Create a model. We are using the store model for now, though we * could use any other GtkTreeModel */ store = gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); /* custom function to fill the model with data */ populate_tree_model (store); /* Create a view */ tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); /* The view now holds a reference. We can get rid of our own * reference */ g_object_unref (G_OBJECT (store)); /* Create a cell render and arbitrarily make it red for demonstration * purposes */ renderer = gtk_cell_renderer_text_new (<!-- -->); g_object_set (G_OBJECT (renderer), "foreground", "red", NULL); /* Create a column, associating the "text" attribute of the * cell_renderer to the first column of the model */ column = gtk_tree_view_column_new_with_attributes ("Author", renderer, "text", AUTHOR_COLUMN, NULL); /* Add the column to the view. */ gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); /* Second column.. title of the book. */ renderer = gtk_cell_renderer_text_new (<!-- -->); column = gtk_tree_view_column_new_with_attributes ("Title", renderer, "text", TITLE_COLUMN, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); /* Last column.. whether a book is checked out. */ renderer = gtk_cell_renderer_toggle_new (<!-- -->); column = gtk_tree_view_column_new_with_attributes ("Checked out", renderer, "active", CHECKED_COLUMN, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); /* Now we can manipulate the view just like any other GTK widget */ ... }
docs/reference/gtk/migrating-3to4.xml0000664000175000017500000025644613710700303017666 0ustar mclasenmclasen Migrating from GTK 3.x to GTK 4 GTK 4 is a major new version of GTK that breaks both API and ABI compared to GTK 3.x. Thankfully, most of the changes are not hard to adapt to and there are a number of steps that you can take to prepare your GTK 3.x application for the switch to GTK 4. After that, there’s a number of adjustments that you may have to do when you actually switch your application to build against GTK 4.
Preparation in GTK 3.x The steps outlined in the following sections assume that your application is working with GTK 3.24, which is the final stable release of GTK 3.x. It includes all the necessary APIs and tools to help you port your application to GTK 4. If you are using an older version of GTK 3.x, you should first get your application to build and work with the latest minor release in the 3.24 series.
Do not use deprecated symbols Over the years, a number of functions, and in some cases, entire widgets have been deprecated. These deprecations are clearly spelled out in the API reference, with hints about the recommended replacements. The API reference for GTK 3 also includes an index of all deprecated symbols. To verify that your program does not use any deprecated symbols, you can use defines to remove deprecated symbols from the header files, as follows: make CFLAGS+="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" Note that some parts of our API, such as enumeration values, are not well covered by the deprecation warnings. In most cases, using them will require you to also use deprecated functions, which will trigger warnings.
Enable diagnostic warnings Deprecations of properties and signals cannot be caught at compile time, as both properties and signals are installed and used after types have been instantiated. In order to catch deprecations and changes in the run time components, you should use the G_ENABLE_DIAGNOSTIC environment variable when running your application, e.g.: G_ENABLE_DIAGNOSTIC=1 ./your-app
Do not use widget style properties Style properties do not exist in GTK 4. You should stop using them in your custom CSS and in your code.
Review your window creation flags GTK 4 removes the GDK_WA_CURSOR flag. Instead, just use gdk_window_set_cursor() to set a cursor on the window after creating it. GTK 4 also removes the GDK_WA_VISUAL flag, and always uses an RGBA visual for windows. To prepare your code for this, use gdk_window_set_visual (gdk_screen_get_rgba_visual()) after creating your window. GTK 4 also removes the GDK_WA_WMCLASS flag. If you need this X11-specific functionality, use XSetClassHint() directly.
Stop using direct access to GdkEvent structs In GTK 4, event structs are opaque and immutable. Many fields already have accessors in GTK 3, and you should use those to reduce the amount of porting work you have to do at the time of the switch.
Stop using <link linkend="gdk-pointer-warp"><function>gdk_pointer_warp()</function></link> Warping the pointer is disorienting and unfriendly to users. GTK 4 does not support it. In special circumstances (such as when implementing remote connection UIs) it can be necessary to warp the pointer; in this case, use platform APIs such as XWarpPointer() directly.
Stop using non-RGBA visuals GTK 4 always uses RGBA visuals for its windows; you should make sure that your code works with such visuals. At the same time, you should stop using GdkVisual APIs, since this object not longer exists in GTK 4. Most of its APIs are deprecated already and not useful when dealing with RGBA visuals.
Stop using GtkBox padding, fill and expand child properties GTK 4 removes these GtkBox child properties, so you should stop using them. You can replace GtkBox:padding using the “margin” properties on your GtkBox child widgets. The fill child property can be replaced by setting appropriate values for the “halign” and “valign” properties of the child widgets. If you previously set the fill child property to TRUE, you can achieve the same effect by setting the halign or valign properties to GTK_ALIGN_FILL, depending on the parent box – halign for a horizontal box, valign for a vertical one. GtkBox also uses the expand child property. It can be replaced by setting “hexpand” or “vexpand” on the child widgets. To match the old behavior of the GtkBox’s expand child property, you need to set “hexpand” on the child widgets of a horizontal GtkBox and “vexpand” on the child widgets of a vertical GtkBox. Note that there’s a subtle but important difference between GtkBox’s expand and fill child properties and the ones in GtkWidget: setting “hexpand” or “vexpand” to TRUE will propagate up the widget hierarchy, so a pixel-perfect port might require you to reset the expansion flags to FALSE in a parent widget higher up the hierarchy.
Stop using the state argument of GtkStyleContext getters The getters in the GtkStyleContext API, such as gtk_style_context_get_property(), gtk_style_context_get(), or gtk_style_context_get_color() only accept the context’s current state for their state argument. You should update all callers to pass the current state.
Stop using <link linkend="gdk-pixbuf-get-from-window"><function>gdk_pixbuf_get_from_window()</function></link> and <link linkend="gdk-cairo-set-source-surface"><function>gdk_cairo_set_source_surface()</function></link> These functions are not supported in GTK 4. Instead, either use backend-specific APIs, or render your widgets using GtkWidgetClass.snapshot() (once you are using GTK 4). Stop using GtkButton’s image-related API The functions and properties related to automatically add a GtkImage to a GtkButton, and using a GtkSetting to control its visibility, are not supported in GTK 4. Instead, you can just pack a GtkImage inside a GtkButton, and control its visibility like you would for any other widget. If you only want to add a named icon to a GtkButton, you can use gtk_button_new_from_icon_name().
Stop using GtkWidget event signals Event controllers and gestures replace event signals in GTK 4. Most of them have been backported to GTK 3.x so you can prepare for this change. Signal Event controller ::event GtkEventControllerLegacy ::event-after GtkEventControllerLegacy ::button-press-event GtkGestureClick ::button-release-event GtkGestureClick ::touch-event various touch gestures ::scroll-event GtkEventControllerScroll ::motion-notify-event GtkEventControllerMotion ::delete-event - ::key-press-event GtkEventControllerKey ::key-release-event GtkEventControllerKey ::enter-notify-event GtkEventControllerMotion ::leave-notify-event GtkEventControllerMotion ::configure-event replaced by “size-changed” ::focus-in-event GtkEventControllerFocus ::focus-out-event GtkEventControllerFocus ::map-event replaced by “mapped” ::unmap-event replaced by “mapped” ::property-notify-event replaced by GdkClipboard ::selection-clear-event replaced by GdkClipboard ::selection-request-event replaced by GdkClipboard ::selection-notify-event replaced by GdkClipboard Drag-and-Drop signals GtkDragSource, GtkDropTarget ::proximity-in-event GtkGestureStylus ::proximity-out-event GtkGestureStylus ::visibility-notify-event - ::window-state-event replaced by “state” ::damage-event - ::grab-broken-event -
Set a proper application ID In GTK 4 we want the application’s GApplication application-id (and therefore the D-Bus name), the desktop file basename and Wayland’s xdg-shell app_id to match. In order to achieve this with GTK 3.x call g_set_prgname() with the same application ID you passed to GtkApplication. Rename your desktop files to match the application ID if needed. The call to g_set_prgname() can be removed once you fully migrated to GTK 4. You should be aware that changing the application ID makes your application appear as a new, different app to application installers. You should consult the appstream documentation for best practices around renaming applications.
Stop using <link linkend="gtk-main"><function>gtk_main()</function></link> and related APIs GTK 4 removes the gtk_main_ family of APIs. The recommended replacement is GtkApplication, but you can also iterate the GLib mainloop directly, using GMainContext APIs. The replacement for gtk_events_pending() is g_main_context_pending(), the replacement for gtk_main_iteration() is g_main_context_iteration().
Reduce the use of <link linkend="gtk-widget-destroy"><function>gtk_widget_destroy()</function></link> GTK 4 introduces a gtk_window_destroy() api. While that is not available in GTK 3, you can prepare for the switch by using gtk_widget_destroy() only on toplevel windows, and replace all other uses with gtk_container_remove() or g_object_unref().
Reduce the use of generic container APIs GTK 4 removes gtk_container_add() and gtk_container_remove(). While there is not always a replacement for gtk_container_remove() in GTK 3, you can replace many uses of gtk_container_add() with equivalent container-specific APIs such as gtk_box_pack_start() or gtk_grid_attach(), and thereby reduce the amount of work you have to do at the time of the switch.
Changes that need to be done at the time of the switch This section outlines porting tasks that you need to tackle when you get to the point that you actually build your application against GTK 4. Making it possible to prepare for these in GTK 3 would have been either impossible or impractical.
Stop using GdkScreen The GdkScreen object has been removed in GTK 4. Most of its APIs already had replacements in GTK 3 and were deprecated, a few remaining replacements have been added to GdkDisplay.
Stop using the root window The root window is an X11-centric concept that is no longer exposed in the backend-neutral GDK API. If you need to interact with the X11 root window, you can use gdk_x11_display_get_xrootwindow() to get its XID.
Stop using GdkVisual This object is not useful with current GTK drawing APIs and has been removed without replacement.
Stop using GdkDeviceManager The GdkDeviceManager object has been removed in GTK 4. Most of its APIs already had replacements in GTK 3 and were deprecated in favor of GdkSeat.
Adapt to GdkWindow API changes GdkWindow has been renamed to GdkSurface. In GTK 4, the two roles of a standalone toplevel window and of a popup that is placed relative to a parent window have been separated out into two interfaces, GdkToplevel and GdkPopup. Surfaces implementing these interfaces are created with gdk_surface_new_toplevel() and gdk_surface_new_popup(), respectively, and they are presented on screen using gdk_toplevel_present() and gdk_popup_present(). The present() functions take parameters in the form of an auxiliary layout struct, GdkPopupLayout or GdkToplevelLayout. If your code is dealing directly with surfaces, you may have to change it to call the API in these interfaces, depending on whether the surface you are dealing with is a toplevel or a popup. As part of this reorganization, X11-only concepts such as sticky or keep-below have been removed. If you need to use them on your X11 windows, you will have to set the corresponding X11 properties (as specified in the EWMH) yourself. Subsurfaces are only supported with the Wayland backend, using gdk_wayland_surface_new_subsurface(). Native and foreign subwindows are no longer supported. These concepts were complicating the code and could not be supported across backends. gdk_window_reparent() is no longer available. A number of minor API cleanups have happened in GdkSurface as well. For example, gdk_surface_input_shape_combine_region() has been renamed to gdk_surface_set_input_region(), and gdk_surface_begin_resize_drag() has been renamed to gdk_toplevel_begin_resize().
The <quote>iconified</quote> window state has been renamed to <quote>minimized</quote> The GDK_SURFACE_STATE_ICONIFIED value of the GdkSurfaceState enumeration is now GDK_SURFACE_STATE_MINIMIZED. The GdkWindow functions <function>gdk_window_iconify()</function> and <function>gdk_window_deiconify()</function> have been renamed to gdk_toplevel_minimize() and gdk_toplevel_present(), respectively. The behavior of the minimization and unminimization operations have not been changed, and they still require support from the underlying windowing system.
Adapt to GdkEvent API changes Direct access to GdkEvent structs is no longer possible in GTK 4. GdkEvent is now a strictly read-only type, and you can no longer change any of its fields, or construct new events. All event fields have accessors that you will have to use. Event compression is always enabled in GTK 4. If you need to see the uncoalesced motion history, use gdk_motion_event_get_history() on the latest motion event.
Stop using grabs GTK 4 no longer provides the gdk_device_grab() or gdk_seat_grab() apis. If you need to dismiss a popup when the user clicks outside (the most common use for grabs), you can use the GdkPopup “autohide” property instead. GtkPopover also has a “autohide” property for this. If you need to prevent the user from interacting with a window while a dialog is open, use the “modal” property of the dialog.
Adapt to coordinate API changes A number of coordinate APIs in GTK 3 had _double variants: gdk_device_get_surface_at_position(), gdk_surface_get_device_position(). These have been changed to use doubles, and the _double variants have been removed. Update your code accordingly. Any APIs that deal with global (or root) coordinates have been removed in GTK 4, since not all backends support them. You should replace your use of such APIs with surface-relative equivalents. Examples of this are gdk_surface_get_origin(), gdk_surface_move() or gdk_event_get_root_coords().
Adapt to GdkKeymap API changes GdkKeymap no longer exists as an independent object. If you need access to keymap state, it is now exposed as properties on the GdkDevice representing the keyboard: “direction”, “has-bidi-layouts”, “caps-lock-state”, “num-lock-state”, “scroll-lock-state” and “modifier-state”. To obtain the keyboard device, you can use gdk_seat_get_keyboard (gdk_display_get_default_seat (display). If you need access to translated keys for event handling, GdkEvent now includes all of the translated key state, including consumed modifiers, group and shift level, so there should be no need to manually call gdk_keymap_translate_keyboard_state() (which has been removed). If you need to do forward or backward mapping between key codes and key values, use gdk_display_map_keycode() and gdk_display_map_keyval(), which are the replacements for gdk_keymap_get_entries_for_keycode() and gdk_keymap_get_entries_for_keyval().
Adapt to changes in keyboard modifier handling GTK 3 has the idea that use of modifiers may differ between different platforms, and has a GdkModifierIntent api to let platforms provide hint about how modifiers are expected to be used. It also promoted the use of <Primary> instead of <Control> to specify accelerators that adapt to platform conventions. In GTK 4, the meaning of modifiers has been fixed, and backends are expected to map the platform conventions to the existing modifiers. The expected use of modifiers in GTK 4 is: GDK_CONTROL_MASK Primary accelerators GDK_ALT_MASK Mnemonics GDK_SHIFT_MASK Extending selections GDK_CONTROL_MASK Modifying selections GDK_CONTROL_MASK|GDK_ALT_MASK Prevent text input Consequently, GdkModifierIntent and related APIs have been removed, and <Control> is preferred over <Primary> in accelerators. A related change is that GTK 4 no longer supports the use of archaic X11 real modifiers with the names Mod1,…, Mod5, and GDK_MOD1_MASK has been renamed to GDK_ALT_MASK.
Stop using gtk_get_current_… APIs The function gtk_get_current_event() and its variants have been replaced by equivalent event controller APIs: gtk_event_controller_get_current_event(), etc.
Convert your ui files A number of the changes outlined below affect .ui files. The gtk4-builder-tool simplify command can perform many of the necessary changes automatically, when called with the –3to4 option. You should always review the resulting changes.
Adapt to event controller API changes A few changes to the event controller and GtkGesture APIs did not make it back to GTK 3, and have to be taken into account when moving to GTK 4. One is that the “enter” and “leave” signals have gained new arguments. Another is that GtkGestureMultiPress has been renamed to GtkGestureClick, and has lost its area property. A GtkEventControllerFocus has been split off from GtkEventcontrollerKey.
Focus handling changes The semantics of the “can-focus” property have changed. In GTK 3, this property only meant that the widget itself would not accept keyboard input, but its children still might (in the case of containers). In GTK 4, if :can-focus is FALSE, the focus cannot enter the widget or any of its descendents, and the default value has changed from FALSE to TRUE. In addition, there is a “focusable” property, which controls whether an individual widget can receive the input focus. The feature to automatically keep the focus widget scrolled into view with gtk_container_set_focus_vadjustment() has been removed together with GtkContainer, and is provided by scrollable widgets instead. In the common case that the scrollable is a GtkViewport, use “scroll-to-focus”.
Use the new apis for keyboard shortcuts The APIs for keyboard shortcuts and accelerators have changed in GTK 4. Instead of GtkAccelGroup, you now use a GtkShortcutController with global scope, and instead of GtkBindingSet, you now use gtk_widget_class_add_shortcut(), gtk_widget_class_add_binding() and its variants. In both cases, you probably want to add actions that can be triggered by your shortcuts. There is no direct replacement for loading and saving accelerators with GtkAccelMap. But since GtkShortcutController implements GListModel and both GtkShortcutTrigger and GtkShortcutAction can be serialized to strings, it is relatively easy to implement saving and loading yourself.
Stop using GtkEventBox GtkEventBox is no longer needed and has been removed. All widgets receive all events.
Stop using GtkButtonBox GtkButtonBox has been removed. Use a GtkBox instead.
Adapt to GtkBox API changes The GtkBox pack-start and -end methods have been replaced by gtk_box_prepend() and gtk_box_append(). You can also reorder box children as necessary.
Adapt to GtkHeaderBar and GtkActionBar API changes The gtk_header_bar_set_show_close_button() function has been renamed to the more accurate name gtk_header_bar_set_show_title_buttons(). The corresponding getter and the property itself have also been renamed. The default value of the property is now TRUE instead of FALSE. The gtk_header_bar_set_custom_title() function has been renamed to the more accurate name gtk_header_bar_set_title_widget(). The corresponding getter and the property itself have also been renamed. The gtk_header_bar_set_title() function has been removed along with its corresponding getter and the property. By default GtkHeaderBar shows the title of the window, so if you were setting the title of the header bar, consider setting the window title instead. If you need to show a title that’s different from the window title, use the “title-widget” property to add a GtkLabel as shown in the example in GtkHeaderBar documentation. The gtk_header_bar_set_subtitle() function has been removed along with its corresponding getter and the property. The old subtitle behavior can be replicated by setting the “title-widget” property to a GtkBox with two labels inside, with the title label matching the example in GtkHeaderBar documentation, and the subtitle label being similar, but with subtitle style class instead of title. The gtk_header_bar_set_has_subtitle() function has been removed along with its corresponding getter and the property. Its behavior can be replicated by setting the “title-widget” property to a GtkStack with “vhomogeneous” property set to TRUE and two pages, each with a GtkBox with title and subtitle as described above. The ::pack-type child properties of GtkHeaderBar and GtkActionBar have been removed. If you need to programmatically place children, use the pack_start() and pack_end() APIs. In ui files, use the type attribute on the child element. gtk4-builder-tool can help with this conversion, with the –3to4 option of the simplify command.
Adapt to GtkStack, GtkAssistant and GtkNotebook API changes The child properties of GtkStack, GtkAssistant and GtkNotebook have been converted into child meta objects. Instead of gtk_container_child_set (stack, child, …), you can now use g_object_set (gtk_stack_get_page (stack, child), …). In .ui files, the GtkStackPage objects must be created explicitly, and take the child widget as property. GtkNotebook and GtkAssistant are similar. gtk4-builder-tool can help with this conversion, with the –3to4 option of the simplify command.
Adapt to GtkScrolledWindow API changes The constructor for GtkScrolledWindow no longer takes the adjustments as arguments - these were almost always NULL.
Adapt to GtkBin removal The abstract base class GtkBin for single-child containers has been removed. The former subclasses are now derived directly from GtkWidget, and have a child property for their child widget. To add a child, use the setter for the child property (e.g. gtk_frame_set_child()) instead of gtk_container_add(). Adding a child in a ui file with <child> still works. The affected classes are: GtkAspectFrame GtkButton (and subclasses) GtkComboBox GtkFlowBoxChild GtkFrame GtkListBoxRow GtkOverlay GtkPopover GtkRevealer GtkScrolledWindow GtkSearchBar GtkViewport GtkWindow (and subclasses) If you have custom widgets that were derived from GtkBin, you should port them to derive from GtkWidget. Notable vfuncs that you will have to implement include dispose() (to unparent your child), compute_expand() (if you want your container to propagate expand flags) and get_request_mode() (if you want your container to support height-for-width. You may also want to implement the GtkBuildable interface, to support adding children with <child> in ui files.
Adapt to GtkContainer removal The abstract base class GtkContainer for general containers has been removed. The former subclasses are now derived directly from GtkWidget, and have class-specific add() and remove() functions. The most noticable change is the use of gtk_box_append() or gtk_box_prepend() instead of gtk_container_add() for adding children to GtkBox, and the change to use container-specific remove functions, such as gtk_stack_remove() instead of gtk_container_remove(). Adding a child in a ui file with <child> still works. The affected classes are: GtkActionBar GtkBox (and subclasses) GtkExpander GtkFixed GtkFlowBox GtkGrid GtkHeaderBar GtkIconView GtkInfoBar GtkListBox GtkNotebook GtkPaned GtkStack GtkTextView GtkTreeView Without GtkContainer, there are no longer facilities for defining and using child properties. If you have custom widgets using child properties, they will have to be converted either to layout properties provided by a layout manager (if they are layout-related), or handled in some other way. One possibility is to use child meta objects, as seen with GtkAssistantPage, GtkStackPage and the like. The replacements for gtk_container_add() are: Widget Replacement GtkActionBar gtk_action_bar_pack_start(), gtk_action_bar_pack_end() GtkBox gtk_box_append() GtkExpander gtk_expander_set_child() GtkFixed gtk_fixed_put() GtkFlowBox gtk_flow_box_insert() GtkGrid gtk_grid_attach() GtkHeaderBar gtk_header_bar_pack_start(), gtk_header_bar_pack_end() GtkIconView - GtkInfoBar gtk_info_bar_add_child() GtkListBox gtk_list_box_insert() GtkNotebook gtk_notebook_append_page() GtkPaned gtk_paned_set_start_child(), gtk_paned_set_end_child() GtkStack gtk_stack_add_named() GtkTextView gtk_text_view_add_child_at_anchor(), gtk_text_view_add_overlay() GtkTreeView -
Stop using GtkContainer::border-width GTK 4 has removed the “border-width” property (together with the rest of GtkContainer). Use other means to influence the spacing of your containers, such as the CSS margin and padding properties on child widgets.
Adapt to <link linkend="gtk-widget-destroy"><function>gtk_widget_destroy()</function></link> removal The function gtk_widget_destroy() has been removed. To explicitly destroy a toplevel window, use gtk_window_destroy(). To destroy a widget that is part of a hierarchy, remove it from its parent using a container-specific remove api, such as gtk_box_remove() or gtk_stack_remove(). To destroy a freestanding non-toplevel widget, use g_object_unref() to drop your reference.
Adapt to coordinate API changes A number of APIs that are accepting or returning coordinates have been changed from ints to doubles: gtk_widget_translate_coordinates(), gtk_fixed_put(), gtk_fixed_move(). This change is mostly transparent, except for cases where out parameters are involved: you need to pass double* now, instead of int*.
Adapt to GtkStyleContext API changes The getters in the GtkStyleContext API, such as gtk_style_context_get_property(), gtk_style_context_get(), or gtk_style_context_get_color() have lost their state argument, and always use the context’s current state. Update all callers to omit the state argument. The most commonly used GtkStyleContext API, gtk_style_context_add_class(), has been moved to GtkWidget as gtk_widget_add_css_class(), as have the corresponding gtk_style_context_remove_class() and gtk_style_context_has_class() APIs.
Adapt to GtkCssProvider API changes In GTK 4, the various GtkCssProvider load functions have lost their GError argument. If you want to handle CSS loading errors, use the “parsing-error” signal instead. gtk_css_provider_get_named() has been replaced by gtk_css_provider_load_named().
Stop using GtkShadowType and GtkRelief properties The shadow-type properties in GtkScrolledWindow, GtkViewport, and GtkFrame, as well as the relief properties in GtkButton and its subclasses have been removed. GtkScrolledWindow, GtkButton and GtkMenuButton have instead gained a boolean has-frame property.
Adapt to GtkWidget’s size request changes GTK 3 used five different virtual functions in GtkWidget to implement size requisition, namely the gtk_widget_get_preferred_width() family of functions. To simplify widget implementations, GTK 4 uses only one virtual function, GtkWidgetClass::measure() that widgets have to implement. gtk_widget_measure() replaces the various gtk_widget_get_preferred_ functions for querying sizes.
Adapt to GtkWidget’s size allocation changes The GtkWidget.size_allocate() vfunc takes the baseline as an argument now, so you no longer need to call gtk_widget_get_allocated_baseline() to get it. The ::size-allocate signal has been removed, since it is easy to misuse. If you need to learn about sizing changes of custom drawing widgets, use the “resize” or “resize” signals.
Switch to GtkWidget’s children APIs In GTK 4, any widget can have children (and GtkContainer is gone). There is new API to navigate the widget tree, for use in widget implementations: gtk_widget_get_first_child(), gtk_widget_get_last_child(), gtk_widget_get_next_sibling(), gtk_widget_get_prev_sibling().
Don’t use -gtk-gradient in your CSS GTK now supports standard CSS syntax for both linear and radial gradients, just use those.
Don’t use -gtk-icon-effect in your CSS GTK now supports a more versatile -gtk-icon-filter instead. Replace -gtk-icon-effect: dim; with -gtk-icon-filter: opacity(0.5); and -gtk-icon-effect: hilight; with -gtk-icon-filter: brightness(1.2);.
Don’t use -gtk-icon-theme in your CSS GTK now uses the current icon theme, without a way to change this.
Don’t use -gtk-outline-…-radius in your CSS These non-standard properties have been removed from GTK CSS. Just use regular border radius.
Adapt to drawing model changes This area has seen the most radical changes in the transition from GTK 3 to GTK 4. Widgets no longer use a draw() function to render their contents to a cairo surface. Instead, they have a snapshot() function that creates one or more GskRenderNodes to represent their content. Third-party widgets that use a draw() function or a “draw” signal handler for custom drawing will need to be converted to use gtk_snapshot_append_cairo(). The auxiliary GtkSnapshot object has APIs to help with creating render nodes. If you are using a GtkDrawingArea for custom drawing, you need to switch to using gtk_drawing_area_set_draw_func() to set a draw function instead of connecting a handler to the “draw” signal.
Stop using APIs to query GdkSurfaces A number of APIs for querying special-purpose windows have been removed, since these windows are no longer publically available: gtk_tree_view_get_bin_window(), gtk_viewport_get_bin_window(), gtk_viewport_get_view_window().
Widgets are now visible by default The default value of “visible” in GTK 4 is TRUE, so you no longer need to explicitly show all your widgets. On the flip side, you need to hide widgets that are not meant to be visible from the start. The only widgets that still need to be explicitly shown are toplevel windows, dialogs and popovers. A convenient way to remove unnecessary property assignments like this from ui files it run the command gtk4-builder-tool simplify --replace on them. The function gtk_widget_show_all(), the “no-show-all” property and its getter and setter have been removed in GTK 4, so you should stop using them.
Adapt to changes in animated hiding and showing of widgets Widgets that appear and disappear with an animation, such as GtkPopover, GtkInfoBar, GtkRevealer no longer use gtk_widget_show() and gtk_widget_hide() for this, but have gained dedicated APIs for this purpose that you should use.
Stop passing commandline arguments to gtk_init The gtk_init() and gtk_init_check() functions no longer accept commandline arguments. Just call them without arguments. Other initialization functions that were purely related to commandline argument handling, such as gtk_parse_args() and gtk_get_option_group(), are gone. The APIs to initialize GDK separately are also gone, but it is very unlikely that you are affected by that.
GdkPixbuf is deemphasized A number of GdkPixbuf-based APIs have been removed. The available replacements are either using GIcon, or the newly introduced GdkTexture or GdkPaintable classes instead. If you are dealing with pixbufs, you can use gdk_texture_new_for_pixbuf() to convert them to texture objects where needed.
GtkWidget event signals are removed Event controllers and GtkGestures have already been introduced in GTK 3 to handle input for many cases. In GTK 4, the traditional widget signals for handling input, such as “motion-event” or “event” have been removed.
Invalidation handling has changed Only gtk_widget_queue_draw() is left to mark a widget as needing redraw. Variations like gtk_widget_queue_draw_rectangle() or gtk_widget_queue_draw_region() are no longer available.
Stop using GtkWidget::draw The “draw” signal has been removed. Widgets need to implement the GtkWidgetClass.snapshot() function now. Connecting draw signal handlers is no longer possible. If you want to keep using cairo for drawing, use gtk_snaphot_append_cairo().
Window content observation has changed Observing widget contents and widget size is now done by using the GtkWidgetPaintable object instead of connecting to widget signals.
Monitor handling has changed Instead of a monitor number, GdkMonitor is now used throughout. gdk_display_get_monitors() returns the list of monitors that can be queried or observed for monitors to pass to APIs like gtk_window_fullscreen_on_monitor().
Adapt to monitor API changes The gdk_monitor_get_workarea() API is gone. Individual backends can still provide this information, for example with gdk_x11_monitor_get_workarea(). If you use this information, your code should check which backend is in use and then call the appropriate backend API.
Adapt to cursor API changes Use the new gtk_widget_set_cursor() function to set cursors, instead of setting the cursor on the underlying window directly. This is necessary because most widgets don’t have their own window anymore, turning any such calls into global cursor changes. For creating standard cursors, gdk_cursor_new_for_display() has been removed, you have to use cursor names instead of GdkCursorType. For creating custom cursors, use gdk_cursor_new_from_texture(). The ability to get cursor images has been removed.
Adapt to icon size API changes Instead of the existing extensible set of symbolic icon sizes, GTK now only supports normal and large icons with the GtkIconSize enumeration. The actual sizes can be defined by themes via the CSS property -gtk-icon-size. GtkImage setters like gtk_image_set_from_icon_name() no longer take a GtkIconSize argument. You can use the separate gtk_image_set_icon_size() setter if you need to override the icon size. The :stock-size property of GtkCellRendererPixbuf has been renamed to “icon-size”.
Adapt to changes in the GtkAssistant API The :has-padding property is gone, and GtkAssistant no longer adds padding to pages. You can easily do that yourself.
Adapt to changes in the API of GtkEntry, GtkSearchEntry and GtkSpinButton The GtkEditable interface has been made more useful, and the core functionality of GtkEntry has been broken out as a GtkText widget. GtkEntry, GtkSearchEntry, GtkSpinButton and the new GtkPasswordEntry now use a GtkText widget internally and implement GtkEditable. In particular, this means that it is no longer possible to use GtkEntry API such as gtk_entry_grab_focus_without_selecting() on a search entry. Use GtkEditable API for editable functionality, and widget-specific APIs for things that go beyond the common interface. For password entries, use GtkPasswordEntry. As an example, gtk_spin_button_set_max_width_chars() has been removed in favor of gtk_editable_set_max_width_chars().
Adapt to changes in GtkOverlay API The GtkOverlay :pass-through child property has been replaced by the “can-target” property. Note that they have the opposite sense: pass-through == !can-target.
Use GtkFixed instead of GtkLayout Since GtkScrolledWindow can deal with widgets that do not implement the GtkScrollable interface by automatically wrapping them into a GtkViewport, GtkLayout is redundant, and has been removed in favor of the existing GtkFixed container widget.
Adapt to search entry changes The way search entries are connected to global events has changed; gtk_search_entry_handle_event() has been dropped and replaced by gtk_search_entry_set_key_capture_widget() and gtk_event_controller_key_forward().
Stop using <link linkend="gtk-window-activate-default"><function>gtk_window_activate_default()</function></link> The handling of default widgets has been changed, and activating the default now works by calling gtk_widget_activate_default() on the widget that caused the activation. If you have a custom widget that wants to override the default handling, you can provide an implementation of the default.activate action in your widgets’ action groups.
Stop setting ::has-default and ::has-focus in .ui files The special handling for the ::has-default and ::has-focus properties has been removed. If you want to define the initial focus or the the default widget in a .ui file, set the ::default-widget or ::focus-widget properties of the toplevel window.
Stop using the GtkWidget::display-changed signal To track the current display, use the “root” property instead.
GtkPopover::modal has been renamed to autohide The modal property has been renamed to autohide. gtk-builder-tool can assist with the rename in ui files.
gtk_widget_get_surface has been removed gtk_widget_get_surface() has been removed. Use gtk_native_get_surface() in combination with gtk_widget_get_native() instead.
gtk_widget_is_toplevel has been removed gtk_widget_is_toplevel() has been removed. Use GTK_IS_ROOT, GTK_IS_NATIVE or GTK_IS_WINDOW instead, as appropriate.
gtk_widget_get_toplevel has been removed gtk_widget_get_toplevel() has been removed. Use gtk_widget_get_root() or gtk_widget_get_native() instead, as appropriate.
GtkEntryBuffer ::deleted-text has changed To allow signal handlers to access the deleted text before it has been deleted “deleted-text” has changed from G_SIGNAL_RUN_FIRST to G_SIGNAL_RUN_LAST. The default handler removes the text from the GtkEntryBuffer. To adapt existing code, use g_signal_connect_after() or G_CONNECT_AFTER when using g_signal_connect_data() or g_signal_connect_object().
GtkMenu, GtkMenuBar and GtkMenuItem are gone These widgets were heavily relying on X11-centric concepts such as override-redirect windows and grabs, and were hard to adjust to other windowing systems. Menus can already be replaced using GtkPopoverMenu in GTK 3. Additionally, GTK 4 introduces GtkPopoverMenuBar to replace menubars. These new widgets can only be constructed from menu models, so the porting effort involves switching to menu models and actions. Tabular menus were rarely used and complicated the menu code, so they have not been brought over to GtkPopoverMenu. If you need complex layout in menu-like popups, consider directly using a GtkPopover instead. Since menus are gone, GtkMenuButton also lost its ability to show menus, and needs to be used with popovers in GTK 4.
GtkToolbar has been removed Toolbars were using outdated concepts such as requiring special toolitem widgets. Toolbars should be replaced by using a GtkBox with regular widgets instead and the toolbar style class.
GtkAspectFrame is no longer a frame GtkAspectFrame is no longer derived from GtkFrame and does not place a label and frame around its child anymore. It still lets you control the aspect ratio of its child.
Stop using custom tooltip windows Tooltips no longer use GtkWindows in GTK 4, and it is no longer possible to provide a custom window for tooltips. Replacing the content of the tooltip with a custom widget is still possible, with gtk_tooltip_set_custom().
Switch to the new Drag-and-Drop api The source-side Drag-and-Drop apis in GTK 4 have been changed to use an event controller, GtkDragSource. Instead of calling gtk_drag_source_set() and connecting to GtkWidget signals, you create a GtkDragSource object, attach it to the widget with gtk_widget_add_controller(), and connect to GtkDragSource signals. Instead of calling gtk_drag_begin() on a widget to start a drag manually, call gdk_drag_begin(). The ::drag-data-get signal has been replaced by the “prepare” signal, which returns a GdkContentProvider for the drag operation. The destination-side Drag-and-Drop apis in GTK 4 have also been changed to use an event controller, GtkDropTarget. Instead of calling gtk_drag_dest_set() and connecting to GtkWidget signals, you create a GtkDropTarget object, attach it to the widget with gtk_widget_add_controller(), and connect to GtkDropTarget signals. The ::drag-motion signal has been renamed to “accept”, and instead of ::drag-data-received, you need to use async read methods on the GdkDrop object, such as gdk_drop_read_async() or gdk_drop_read_value_async().
Adapt to GtkIconTheme API changes gtk_icon_theme_lookup_icon() returns a GtkIconPaintable object now, instead of a GtkIconInfo. It always returns a paintable in the requested size, and never fails. A number of no-longer-relevant lookup flags and API variants have been removed.
Update to GtkFileChooser API changes GtkFileChooser moved to a GFile-based API. If you need to convert a path or a URI, use g_file_new_for_path(), g_file_new_for_commandline_arg(), or g_file_new_for_uri(); similarly, if you need to get a path or a URI from a GFile, use g_file_get_path(), or g_file_get_uri(). With the removal or path and URI-based functions, the local-only property has been removed; GFile can be used to access non-local as well as local resources. The GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER action has been removed. Use GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, instead. If a new folder is needed, the user can create one. The confirm-overwrite signal, and the do-overwrite-confirmation property have been removed from GtkFileChooser. The file chooser widgets will automatically handle the confirmation of overwriting a file when using GTK_FILE_CHOOSER_ACTION_SAVE. GtkFileChooser does not support a custom extra widget any more. If you need to add extra widgets, use gtk_file_chooser_add_choice() instead. GtkFileChooser does not support a custom preview widget any more. If you need to show a custom preview, you can create your own GtkDialog with a GtkFileChooserWidget and your own preview widget that you update whenever the “selection-changed” signal is emitted.
Stop using blocking dialog functions GtkDialog, GtkNativeDialog, and GtkPrintOperation removed their blocking API using nested main loops. Nested main loops present re-entrancy issues and other hard to debug issues when coupled with other event sources (IPC, accessibility, network operations) that are not under the toolkit or the application developer’s control. Additionally, stop-the-world functions do not fit the event-driven programming model of GTK. You can replace calls to <function>gtk_dialog_run()</function> by specifying that the GtkDialog must be modal using gtk_window_set_modal() or the GTK_DIALOG_MODAL flag, and connecting to the “response” signal.
Changes to consider after the switch GTK 4 has a number of new features that you may want to take advantage of once the dust has settled over the initial migration.
Consider porting to the new list widgets In GTK 2 and 3, GtkTreeModel and GtkCellRenderer and widgets using these were the primary way of displaying data and lists. GTK 4 brings a new family of widgets for this purpose that uses list models instead of tree models, and widgets instead of cell renderers. To learn more about the new list widgets, you can read the List Widget Overview.
docs/reference/gtk/getting_started.xml0000664000175000017500000022634113710700303020274 0ustar mclasenmclasen Getting Started with GTK GTK is a widget toolkit. Each user interface created by GTK consists of widgets. This is implemented in C using GObject, an object-oriented framework for C. Widgets are organized in a hierarchy. The window widget is the main container. The user interface is then built by adding buttons, drop-down menus, input fields, and other widgets to the window. If you are creating complex user interfaces it is recommended to use GtkBuilder and its GTK-specific markup description language, instead of assembling the interface manually. You can also use a visual user interface editor, like glade. GTK is event-driven. The toolkit listens for events such as a click on a button, and passes the event to your application. This chapter contains some tutorial information to get you started with GTK programming. It assumes that you have GTK, its dependencies and a C compiler installed and ready to use. If you need to build GTK itself first, refer to the Compiling the GTK libraries section in this reference.
Basics To begin our introduction to GTK, we’ll start with a very simple application. This program will create an empty 200 × 200 pixel window.
A window A window
Create a new file with the following content named example-0.c. #include <gtk/gtk.h> static void activate (GtkApplication* app, gpointer user_data) { GtkWidget *window; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); gtk_widget_show (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; } You can compile the program above with GCC using: gcc `pkg-config --cflags gtk4` -o example-0 example-0.c `pkg-config --libs gtk4` For more information on how to compile a GTK application, please refer to the Compiling GTK Applications section in this reference. All GTK applications will, of course, include gtk/gtk.h, which declares functions, types and macros required by GTK applications. Even if GTK installs multiple header files, only the top-level gtk/gtk.h header can be directly included by third-party code. The compiler will abort with an error if any othe header is directly included. In a GTK application, the purpose of the main() function is to create a GtkApplication object and run it. In this example a GtkApplication pointer named app is declared and then initialized using gtk_application_new(). When creating a GtkApplication, you need to pick an application identifier (a name) and pass it to gtk_application_new() as parameter. For this example org.gtk.example is used. For choosing an identifier for your application, see this guide. Lastly, gtk_application_new() takes GApplicationFlags as input for your application, if your application would have special needs. Next the activate signal is connected to the activate() function above the main() function. The activate signal will be emitted when your application is launched with g_application_run() on the line below. The g_application_run() call also takes as arguments the command line arguments (the argc count and the argv string array). Your application can override the command line handling, e.g. to open files passed on the commandline. Within g_application_run() the activate signal is sent and we then proceed into the activate() function of the application. This is where we construct our GTK window, so that a window is shown when the application is launched. The call to gtk_application_window_new() will create a new GtkWindow and store it inside the window pointer. The window will have a frame, a title bar, and window controls depending on the platform. A window title is set using gtk_window_set_title(). This function takes a GtkWindow* pointer and a string as input. As our window pointer is a GtkWidget pointer, we need to cast it to GtkWindow*. But instead of casting window via (GtkWindow*), window can be cast using the macro GTK_WINDOW(). GTK_WINDOW() will check if the pointer is an instance of the GtkWindow class, before casting, and emit a warning if the check fails. More information about this convention can be found here. Finally the window size is set using gtk_window_set_default_size() and the window is then shown by GTK via gtk_widget_show(). When you close the window, by for example pressing the X, the g_application_run() call returns with a number which is saved inside an integer variable named status. Afterwards, the GtkApplication object is freed from memory with g_object_unref(). Finally the status integer is returned and the application exits. While the program is running, GTK is receiving events. These are typically input events caused by the user interacting with your program, but also things like messages from the window manager or other applications. GTK processes these and as a result, signals may be emitted on your widgets. Connecting handlers for these signals is how you normally make your program do something in response to user input. The following example is slightly more complex, and tries to showcase some of the capabilities of GTK.
Hello, World In the long tradition of programming languages and libraries, this example is called Hello, World.
Hello, world Hello, world
Hello World in C Create a new file with the following content named example-1.c. #include <gtk/gtk.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *button; GtkWidget *box; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_window_set_child (GTK_WINDOW (window), box); button = gtk_button_new_with_label ("Hello World"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window); gtk_box_append (GTK_BOX (box), button); gtk_widget_show (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; } You can compile the program above with GCC using: gcc `pkg-config --cflags gtk4` -o example-1 example-1.c `pkg-config --libs gtk4` As seen above, example-1.c builds further upon example-0.c by adding a button to our window, with the label Hello World. Two new GtkWidget pointers are declared to accomplish this, button and box. The box variable is created to store a GtkBox, which is GTK’s way of controlling the size and layout of buttons. The GtkBox is created with gtk_box_new() which takes a GtkOrientation enum as parameter. The buttons which this box will contain can either be layed out horizontally or vertically. This does not matter in this particular case, as we are dealing with only one button. After initializing box with the newly created GtkBox, the code adds the box widget to the window widget using gtk_window_set_child(). Next the button variable is initialized in similar manner. gtk_button_new_with_label() is called which returns a GtkButton to be stored in button. Afterwards button is added to our box. Using g_signal_connect(), the button is connected to a function in our app called print_hello(), so that when the button is clicked, GTK will call this function. As the print_hello() function does not use any data as input, NULL is passed to it. print_hello() calls g_print() with the string Hello World which will print Hello World in a terminal if the GTK application was started from one. After connecting print_hello(), another signal is connected to the clicked state of the button using g_signal_connect_swapped(). This functions is similar to a g_signal_connect() with the difference lying in how the callback function is treated. g_signal_connect_swapped() allows you to specify what the callback function should take as parameter by letting you pass it as data. In this case the function being called back is gtk_window_destroy() and the window pointer is passed to it. This has the effect that when the button is clicked, the whole GTK window is destroyed. In contrast if a normal g_signal_connect() were used to connect the clicked signal with gtk_window_destroy(), then the function would be called on button (which would not go well, since the function expects a GtkWindow as argument). More information about creating buttons can be found here. The rest of the code in example-1.c is identical to example-0.c. The next section will elaborate further on how to add several GtkWidgets to your GTK application.
Packing When creating an application, you’ll want to put more than one widget inside a window. When you do so, it becomes important to control how each widget is positioned and sized. This is where packing comes in. GTK comes with a large variety of layout containers whose purpose it is to control the layout of the child widgets that are added to them. See Layout containers for an overview. The following example shows how the GtkGrid container lets you arrange several buttons:
Grid packing Grid packing
Packing buttons Create a new file with the following content named example-2.c. #include <gtk/gtk.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *grid; GtkWidget *button; /* create a new window, and set its title */ window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); /* Here we construct the container that is going pack our buttons */ grid = gtk_grid_new(); /* Pack the container in the window */ gtk_window_set_child (GTK_WINDOW (window), grid); button = gtk_button_new_with_label ("Button 1"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); /* Place the first button in the grid cell (0, 0), and make it fill * just 1 cell horizontally and vertically (ie no spanning) */ gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); button = gtk_button_new_with_label ("Button 2"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); /* Place the second button in the grid cell (1, 0), and make it fill * just 1 cell horizontally and vertically (ie no spanning) */ gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1); button = gtk_button_new_with_label ("Quit"); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window); /* Place the Quit button in the grid cell (0, 1), and make it * span 2 columns. */ gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 2, 1); gtk_widget_show (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; } You can compile the program above with GCC using: gcc `pkg-config --cflags gtk4` -o example-2 example-2.c `pkg-config --libs gtk4`
Custom Drawing Many widgets, like buttons, do all their drawing themselves. You just tell them the label you want to see, and they figure out what font to use, draw the button outline and focus rectangle, etc. Sometimes, it is necessary to do some custom drawing. In that case, a GtkDrawingArea might be the right widget to use. It offers a canvas on which you can draw by connecting to the ::draw signal. The contents of a widget often need to be partially or fully redrawn, e.g. when another window is moved and uncovers part of the widget, or when the window containing it is resized. It is also possible to explicitly cause part or all of the widget to be redrawn, by calling gtk_widget_queue_draw() or its variants. GTK takes care of most of the details by providing a ready-to-use cairo context to the ::draw signal handler. The following example shows a ::draw signal handler. It is a bit more complicated than the previous examples, since it also demonstrates input event handling by means of event controllers.
Drawing Drawing
Drawing in response to input Create a new file with the following content named example-4.c. #include <gtk/gtk.h> /* Surface to store current scribbles */ static cairo_surface_t *surface = NULL; static void clear_surface (void) { cairo_t *cr; cr = cairo_create (surface); cairo_set_source_rgb (cr, 1, 1, 1); cairo_paint (cr); cairo_destroy (cr); } /* Create a new surface of the appropriate size to store our scribbles */ static void resize_cb (GtkWidget *widget, int width, int height, gpointer data) { if (surface) { cairo_surface_destroy (surface); surface = NULL; } if (gtk_native_get_surface (gtk_widget_get_native (widget))) { surface = gdk_surface_create_similar_surface (gtk_native_get_surface (gtk_widget_get_native (widget)), CAIRO_CONTENT_COLOR, gtk_widget_get_width (widget), gtk_widget_get_height (widget)); /* Initialize the surface to white */ clear_surface(); } } /* Redraw the screen from the surface. Note that the draw * callback receives a ready-to-be-used cairo_t that is already * clipped to only draw the exposed areas of the widget */ static void draw_cb (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer data) { cairo_set_source_surface (cr, surface, 0, 0); cairo_paint (cr); } /* Draw a rectangle on the surface at the given position */ static void draw_brush (GtkWidget *widget, double x, double y) { cairo_t *cr; /* Paint to the surface, where we store our state */ cr = cairo_create (surface); cairo_rectangle (cr, x - 3, y - 3, 6, 6); cairo_fill (cr); cairo_destroy (cr); /* Now invalidate the drawing area. */ gtk_widget_queue_draw (widget); } static double start_x; static double start_y; static void drag_begin (GtkGestureDrag *gesture, double x, double y, GtkWidget *area) { start_x = x; start_y = y; draw_brush (area, x, y); } static void drag_update (GtkGestureDrag *gesture, double x, double y, GtkWidget *area) { draw_brush (area, start_x + x, start_y + y); } static void drag_end (GtkGestureDrag *gesture, double x, double y, GtkWidget *area) { draw_brush (area, start_x + x, start_y + y); } static void pressed (GtkGestureClick *gesture, int n_press, double x, double y, GtkWidget *area) { clear_surface(); gtk_widget_queue_draw (area); } static void close_window (void) { if (surface) cairo_surface_destroy (surface); } static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *frame; GtkWidget *drawing_area; GtkGesture *drag; GtkGesture *press; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Drawing Area"); g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL); frame = gtk_frame_new (NULL); gtk_window_set_child (GTK_WINDOW (window), frame); drawing_area = gtk_drawing_area_new(); /* set a minimum size */ gtk_widget_set_size_request (drawing_area, 100, 100); gtk_frame_set_child (GTK_FRAME (frame), drawing_area); gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (drawing_area), draw_cb, NULL, NULL); g_signal_connect_after (drawing_area, "resize", G_CALLBACK (resize_cb), NULL); drag = gtk_gesture_drag_new(); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (drag), GDK_BUTTON_PRIMARY); gtk_widget_add_controller (drawing_area, GTK_EVENT_CONTROLLER (drag)); g_signal_connect (drag, "drag-begin", G_CALLBACK (drag_begin), drawing_area); g_signal_connect (drag, "drag-update", G_CALLBACK (drag_update), drawing_area); g_signal_connect (drag, "drag-end", G_CALLBACK (drag_end), drawing_area); press = gtk_gesture_click_new(); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (press), GDK_BUTTON_SECONDARY); gtk_widget_add_controller (drawing_area, GTK_EVENT_CONTROLLER (press)); g_signal_connect (press, "pressed", G_CALLBACK (pressed), drawing_area); gtk_widget_show (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; } You can compile the program above with GCC using: gcc `pkg-config --cflags gtk4` -o example-4 example-4.c `pkg-config --libs gtk4`
Building user interfaces When constructing a more complicated user interface, with dozens or hundreds of widgets, doing all the setup work in C code is cumbersome, and making changes becomes next to impossible. Thankfully, GTK supports the separation of user interface layout from your business logic, by using UI descriptions in an XML format that can be parsed by the GtkBuilder class.</para>
Packing buttons with GtkBuilder Create a new file with the following content named example-3.c. #include <gtk/gtk.h> #include <glib/gstdio.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } static void quit_cb (GtkWidget *widget, gpointer data) { gboolean *done = data; *done = TRUE; g_main_context_wakeup (NULL); } int main (int argc, char *argv[]) { GtkBuilder *builder; GObject *window; GObject *button; gboolean done = FALSE; #ifdef GTK_SRCDIR g_chdir (GTK_SRCDIR); #endif gtk_init(); /* Construct a GtkBuilder instance and load our UI description */ builder = gtk_builder_new(); gtk_builder_add_from_file (builder, "builder.ui", NULL); /* Connect signal handlers to the constructed widgets. */ window = gtk_builder_get_object (builder, "window"); g_signal_connect (window, "destroy", G_CALLBACK (quit_cb), &done); button = gtk_builder_get_object (builder, "button1"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); button = gtk_builder_get_object (builder, "button2"); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); button = gtk_builder_get_object (builder, "quit"); g_signal_connect (button, "clicked", G_CALLBACK (quit_cb), &done); gtk_widget_show (GTK_WIDGET (window)); while (!done) g_main_context_iteration (NULL, TRUE); return 0; } Create a new file with the following content named builder.ui. <?xml version="1.0" encoding="UTF-8"?> <interface> <object id="window" class="GtkWindow"> <property name="title">Grid</property> <child> <object id="grid" class="GtkGrid"> <child> <object id="button1" class="GtkButton"> <property name="label">Button 1</property> <layout> <property name="left-attach">0</property> <property name="top-attach">0</property> </layout> </object> </child> <child> <object id="button2" class="GtkButton"> <property name="label">Button 2</property> <layout> <property name="left-attach">1</property> <property name="top-attach">0</property> </layout> </object> </child> <child> <object id="quit" class="GtkButton"> <property name="label">Quit</property> <layout> <property name="left-attach">0</property> <property name="top-attach">1</property> <property name="column-span">2</property> </layout> </object> </child> </object> </child> </object> </interface> You can compile the program above with GCC using: gcc `pkg-config --cflags gtk4` -o example-3 example-3.c `pkg-config --libs gtk4` Note that GtkBuilder can also be used to construct objects that are not widgets, such as tree models, adjustments, etc. That is the reason the method we use here is called gtk_builder_get_object() and returns a GObject* instead of a GtkWidget*. Normally, you would pass a full path to gtk_builder_add_from_file() to make the execution of your program independent of the current directory. A common location to install UI descriptions and similar data is /usr/share/appname. It is also possible to embed the UI description in the source code as a string and use gtk_builder_add_from_string() to load it. But keeping the UI description in a separate file has several advantages: It is then possible to make minor adjustments to the UI without recompiling your program, and, more importantly, graphical UI editors such as glade can load the file and allow you to create and modify your UI by point-and-click.
Building applications An application consists of a number of files: The binary This gets installed in /usr/bin. A desktop file The desktop file provides important information about the application to the desktop shell, such as its name, icon, D-Bus name, commandline to launch it, etc. It is installed in /usr/share/applications. An icon : The icon gets installed in /usr/share/icons/hicolor/48x48/apps, where it will be found regardless of the current theme. A settings schema : If the application uses GSettings, it will install its schema in /usr/share/glib-2.0/schemas, so that tools like dconf-editor can find it. Other resources : Other files, such as GtkBuilder ui files, are best loaded from resources stored in the application binary itself. This eliminates the need for most of the files that would traditionally be installed in an application-specific location in /usr/share. GTK includes application support that is built on top of GApplication. In this tutorial we’ll build a simple application by starting from scratch, adding more and more pieces over time. Along the way, we’ll learn about GtkApplication, templates, resources, application menus, settings, GtkHeaderBar, GtkStack, GtkSearchBar, GtkListBox, and more. The full, buildable sources for these examples can be found in the examples/ directory of the GTK source distribution, or [online](https://gitlab.gnome.org/GNOME/gtk/blob/master/examples in the GTK git repository. You can build each example separately by using make with the Makefile.example file. For more information, see the README included in the examples directory.
A trivial application When using GtkApplication, the main() function can be very simple. We just call g_application_run() and give it an instance of our application class. #include <gtk/gtk.h> #include "exampleapp.h" int main (int argc, char *argv[]) { return g_application_run (G_APPLICATION (example_app_new()), argc, argv); } All the application logic is in the application class, which is a subclass of GtkApplication. Our example does not yet have any interesting functionality. All it does is open a window when it is activated without arguments, and open the files it is given, if it is started with arguments. To handle these two cases, we override the activate() vfunc, which gets called when the application is launched without commandline arguments, and the open() vfunc, which gets called when the application is launched with commandline arguments. To learn more about GApplication entry points, consult the GIO documentation. #include <gtk/gtk.h> #include "exampleapp.h" #include "exampleappwin.h" struct _ExampleApp { GtkApplication parent; }; G_DEFINE_TYPE(ExampleApp, example_app, GTK_TYPE_APPLICATION); static void example_app_init (ExampleApp *app) { } static void example_app_activate (GApplication *app) { ExampleAppWindow *win; win = example_app_window_new (EXAMPLE_APP (app)); gtk_window_present (GTK_WINDOW (win)); } static void example_app_open (GApplication *app, GFile **files, int n_files, const char *hint) { GList *windows; ExampleAppWindow *win; int i; windows = gtk_application_get_windows (GTK_APPLICATION (app)); if (windows) win = EXAMPLE_APP_WINDOW (windows->data); else win = example_app_window_new (EXAMPLE_APP (app)); for (i = 0; i < n_files; i++) example_app_window_open (win, files[i]); gtk_window_present (GTK_WINDOW (win)); } static void example_app_class_init (ExampleAppClass *class) { G_APPLICATION_CLASS (class)->activate = example_app_activate; G_APPLICATION_CLASS (class)->open = example_app_open; } ExampleApp * example_app_new (void) { return g_object_new (EXAMPLE_APP_TYPE, "application-id", "org.gtk.exampleapp", "flags", G_APPLICATION_HANDLES_OPEN, NULL); } Another important class that is part of the application support in GTK is GtkApplicationWindow. It is typically subclassed as well. Our subclass does not do anything yet, so we will just get an empty window. #include <gtk/gtk.h> #include "exampleapp.h" #include "exampleappwin.h" struct _ExampleAppWindow { GtkApplicationWindow parent; }; G_DEFINE_TYPE(ExampleAppWindow, example_app_window, GTK_TYPE_APPLICATION_WINDOW); static void example_app_window_init (ExampleAppWindow *app) { } static void example_app_window_class_init (ExampleAppWindowClass *class) { } ExampleAppWindow * example_app_window_new (ExampleApp *app) { return g_object_new (EXAMPLE_APP_WINDOW_TYPE, "application", app, NULL); } void example_app_window_open (ExampleAppWindow *win, GFile *file) { } As part of the initial setup of our application, we also create an icon and a desktop file.
An icon An icon
[Desktop Entry] Type=Application Name=Example Icon=exampleapp StartupNotify=true Exec=bindir@/exampleapp Note that bindir@ needs to be replaced with the actual path to the binary before this desktop file can be used. Here is what we’ve achieved so far:
An application An application
This does not look very impressive yet, but our application is already presenting itself on the session bus, it has single-instance semantics, and it accepts files as commandline arguments.
Populating the window In this step, we use a GtkBuilder template to associate a GtkBuilder ui file with our application window class. Our simple ui file gives the window a title, and puts a GtkStack widget as the main content. <?xml version="1.0" encoding="UTF-8"?> <interface> <template class="ExampleAppWindow" parent="GtkApplicationWindow"> <property name="title" translatable="yes">Example Application</property> <property name="default-width">600</property> <property name="default-height">400</property> <child> <object class="GtkBox" id="content_box"> <property name="orientation">vertical</property> <child> <object class="GtkStack" id="stack"/> </child> </object> </child> </template> </interface> To make use of this file in our application, we revisit our GtkApplicationWindow subclass, and call gtk_widget_class_set_template_from_resource() from the class init function to set the ui file as template for this class. We also add a call to gtk_widget_init_template() in the instance init function to instantiate the template for each instance of our class. ... static void example_app_window_init (ExampleAppWindow *win) { gtk_widget_init_template (GTK_WIDGET (win)); } static void example_app_window_class_init (ExampleAppWindowClass *class) { gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class), "/org/gtk/exampleapp/window.ui"); } ... (full source) You may have noticed that we used the _from_resource() variant of the function that sets a template. Now we need to use GLib’s resource functionality to include the ui file in the binary. This is commonly done by listing all resources in a .gresource.xml file, such as this: <?xml version="1.0" encoding="UTF-8"?> <gresources> <gresource prefix="/org/gtk/exampleapp"> <file preprocess="xml-stripblanks">window.ui</file> </gresource> </gresources> This file has to be converted into a C source file that will be compiled and linked into the application together with the other source files. To do so, we use the glib-compile-resources utility: glib-compile-resources exampleapp.gresource.xml --target=resources.c --generate-source Our application now looks like this:
The application The application
Opening files In this step, we make our application show the content of all the files that it is given on the commandline. To this end, we add a member to the struct of our application window subclass and keep a reference to the GtkStack there. The first member of the struct should be the parent type from which the class is derived. Here, ExampleAppWindow is derived from GtkApplicationWindow. The gtk_widget_class_bind_template_child() function arranges things so that after instantiating the template, the stack member of the struct will point to the widget of the same name from the template. ... struct _ExampleAppWindow { GtkApplicationWindow parent; GtkWidget *stack; }; G_DEFINE_TYPE (ExampleAppWindow, example_app_window, GTK_TYPE_APPLICATION_WINDOW) ... static void example_app_window_class_init (ExampleAppWindowClass *class) { gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class), "/org/gtk/exampleapp/window.ui"); gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack); } ... (full source) Now we revisit the example_app_window_open() function that is called for each commandline argument, and construct a GtkTextView that we then add as a page to the stack: ... void example_app_window_open (ExampleAppWindow *win, GFile *file) { char *basename; GtkWidget *scrolled, *view; char *contents; gsize length; basename = g_file_get_basename (file); scrolled = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_hexpand (scrolled, TRUE); gtk_widget_set_vexpand (scrolled, TRUE); view = gtk_text_view_new(); gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled), view); gtk_stack_add_titled (GTK_STACK (win->stack), scrolled, basename, basename); if (g_file_load_contents (file, NULL, &contents, &length, NULL, NULL)) { GtkTextBuffer *buffer; buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gtk_text_buffer_set_text (buffer, contents, length); g_free (contents); } g_free (basename); } ... (full source) Lastly, we add a GtkStackSwitcher to the titlebar area in the ui file, and we tell it to display information about our stack. The stack switcher gets all its information it needs to display tabs from the stack that it belongs to. Here, we are passing the label to show for each file as the last argument to the gtk_stack_add_titled() function. Our application is beginning to take shape:
Application window Application window
A menu The menu is shown at the right side of the headerbar. It is meant to collect infrequently used actions that affect the whole application. Just like the window template, we specify our menu in a ui file, and add it as a resource to our binary. <?xml version="1.0" encoding="UTF-8"?> <interface> <menu id="menu"> <section> <item> <attribute name="label" translatable="yes">_Preferences</attribute> <attribute name="action">app.preferences</attribute> </item> </section> <section> <item> <attribute name="label" translatable="yes">_Quit</attribute> <attribute name="action">app.quit</attribute> </item> </section> </menu> </interface> To make the menu appear, we have to load the ui file and associate the resulting menu model with the menu button that we’ve added to the headerbar. Since menus work by activating GActions, we also have to add a suitable set of actions to our application. Adding the actions is best done in the startup() vfunc, which is guaranteed to be called once for each primary application instance: ... static void preferences_activated (GSimpleAction *action, GVariant *parameter, gpointer app) { } static void quit_activated (GSimpleAction *action, GVariant *parameter, gpointer app) { g_application_quit (G_APPLICATION (app)); } static GActionEntry app_entries[] = { { "preferences", preferences_activated, NULL, NULL, NULL }, { "quit", quit_activated, NULL, NULL, NULL } }; static void example_app_startup (GApplication *app) { GtkBuilder *builder; GMenuModel *app_menu; const char *quit_accels[2] = { "&lt;Ctrl&gt;Q", NULL }; G_APPLICATION_CLASS (example_app_parent_class)->startup (app); g_action_map_add_action_entries (G_ACTION_MAP (app), app_entries, G_N_ELEMENTS (app_entries), app); gtk_application_set_accels_for_action (GTK_APPLICATION (app), "app.quit", quit_accels); } static void example_app_class_init (ExampleAppClass *class) { G_APPLICATION_CLASS (class)->startup = example_app_startup; ... } ... (full source) Our preferences menu item does not do anything yet, but the Quit menu item is fully functional. Note that it can also be activated by the usual Ctrl-Q shortcut. The shortcut was added with gtk_application_set_accels_for_action(). The application menu looks like this:
Application window Application window
A preference dialog A typical application will have a some preferences that should be remembered from one run to the next. Even for our simple example application, we may want to change the font that is used for the content. We are going to use GSettings to store our preferences. GSettings requires a schema that describes our settings: <?xml version="1.0" encoding="UTF-8"?> <schemalist> <schema path="/org/gtk/exampleapp/" id="org.gtk.exampleapp"> <key name="font" type="s"> <default>'Monospace 12'</default> <summary>Font</summary> <description>The font to be used for content.</description> </key> <key name="transition" type="s"> <choices> <choice value='none'/> <choice value='crossfade'/> <choice value='slide-left-right'/> </choices> <default>'none'</default> <summary>Transition</summary> <description>The transition to use when switching tabs.</description> </key> </schema> </schemalist> Before we can make use of this schema in our application, we need to compile it into the binary form that GSettings expects. GIO provides macros to do this in autotools-based projects. Next, we need to connect our settings to the widgets that they are supposed to control. One convenient way to do this is to use GSettings bind functionality to bind settings keys to object properties, as we do here for the transition setting. ... static void example_app_window_init (ExampleAppWindow *win) { gtk_widget_init_template (GTK_WIDGET (win)); win->settings = g_settings_new ("org.gtk.exampleapp"); g_settings_bind (win->settings, "transition", win->stack, "transition-type", G_SETTINGS_BIND_DEFAULT); } ... (full source) The code to connect the font setting is a little more involved, since there is no simple object property that it corresponds to, so we are not going to go into that here. At this point, the application will already react if you change one of the settings, e.g. using the gsettings commandline tool. Of course, we expect the application to provide a preference dialog for these. So lets do that now. Our preference dialog will be a subclass of GtkDialog, and we’ll use the same techniques that we’ve already seen: templates, private structs, settings bindings. Lets start with the template. <?xml version="1.0" encoding="UTF-8"?> <interface> <template class="ExampleAppPrefs" parent="GtkDialog"> <property name="title" translatable="yes">Preferences</property> <property name="resizable">0</property> <property name="modal">1</property> <child internal-child="content_area"> <object class="GtkBox" id="content_area"> <child> <object class="GtkGrid" id="grid"> <property name="margin-start">12</property> <property name="margin-end">12</property> <property name="margin-top">12</property> <property name="margin-bottom">12</property> <property name="row-spacing">12</property> <property name="column-spacing">12</property> <child> <object class="GtkLabel" id="fontlabel"> <property name="label">_Font:</property> <property name="use-underline">1</property> <property name="mnemonic-widget">font</property> <property name="xalign">1</property> <layout> <property name="left-attach">0</property> <property name="top-attach">0</property> </layout> </object> </child> <child> <object class="GtkFontButton" id="font"> <layout> <property name="left-attach">1</property> <property name="top-attach">0</property> </layout> </object> </child> <child> <object class="GtkLabel" id="transitionlabel"> <property name="label">_Transition:</property> <property name="use-underline">1</property> <property name="mnemonic-widget">transition</property> <property name="xalign">1</property> <layout> <property name="left-attach">0</property> <property name="top-attach">1</property> </layout> </object> </child> <child> <object class="GtkComboBoxText" id="transition"> <items> <item translatable="yes" id="none">None</item> <item translatable="yes" id="crossfade">Fade</item> <item translatable="yes" id="slide-left-right">Slide</item> </items> <layout> <property name="left-attach">1</property> <property name="top-attach">1</property> </layout> </object> </child> </object> </child> </object> </child> </template> </interface> Next comes the dialog subclass. #include <gtk/gtk.h> #include "exampleapp.h" #include "exampleappwin.h" #include "exampleappprefs.h" struct _ExampleAppPrefs { GtkDialog parent; GSettings *settings; GtkWidget *font; GtkWidget *transition; }; G_DEFINE_TYPE (ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG) static void example_app_prefs_init (ExampleAppPrefs *prefs) { gtk_widget_init_template (GTK_WIDGET (prefs)); prefs->settings = g_settings_new ("org.gtk.exampleapp"); g_settings_bind (prefs->settings, "font", prefs->font, "font", G_SETTINGS_BIND_DEFAULT); g_settings_bind (prefs->settings, "transition", prefs->transition, "active-id", G_SETTINGS_BIND_DEFAULT); } static void example_app_prefs_dispose (GObject *object) { ExampleAppPrefs *prefs; prefs = EXAMPLE_APP_PREFS (object); g_clear_object (&prefs->settings); G_OBJECT_CLASS (example_app_prefs_parent_class)->dispose (object); } static void example_app_prefs_class_init (ExampleAppPrefsClass *class) { G_OBJECT_CLASS (class)->dispose = example_app_prefs_dispose; gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class), "/org/gtk/exampleapp/prefs.ui"); gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font); gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition); } ExampleAppPrefs * example_app_prefs_new (ExampleAppWindow *win) { return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL); } Now we revisit the preferences_activated() function in our application class, and make it open a new preference dialog. ... static void preferences_activated (GSimpleAction *action, GVariant *parameter, gpointer app) { ExampleAppPrefs *prefs; GtkWindow *win; win = gtk_application_get_active_window (GTK_APPLICATION (app)); prefs = example_app_prefs_new (EXAMPLE_APP_WINDOW (win)); gtk_window_present (GTK_WINDOW (prefs)); } ... (full source) After all this work, our application can now show a preference dialog like this:
Preference dialog Preference dialog
Adding a search bar We continue to flesh out the functionality of our application. For now, we add search. GTK supports this with GtkSearchEntry and GtkSearchBar. The search bar is a widget that can slide in from the top to present a search entry. We add a toggle button to the header bar, which can be used to slide out the search bar below the header bar. <?xml version="1.0" encoding="UTF-8"?> <interface> <template class="ExampleAppWindow" parent="GtkApplicationWindow"> <property name="title" translatable="yes">Example Application</property> <property name="default-width">600</property> <property name="default-height">400</property> <child type="titlebar"> <object class="GtkHeaderBar" id="header"> <child type="title"> <object class="GtkStackSwitcher" id="tabs"> <property name="stack">stack</property> </object> </child> <child type="end"> <object class="GtkMenuButton" id="gears"> <property name="direction">none</property> </object> </child> <child type="end"> <object class="GtkToggleButton" id="search"> <property name="sensitive">0</property> <property name="icon-name">edit-find-symbolic</property> </object> </child> </object> </child> <child> <object class="GtkBox" id="content_box"> <property name="orientation">vertical</property> <child> <object class="GtkSearchBar" id="searchbar"> <child> <object class="GtkSearchEntry" id="searchentry"> <signal name="search-changed" handler="search_text_changed"/> </object> </child> </object> </child> <child> <object class="GtkStack" id="stack"> <signal name="notify::visible-child" handler="visible_child_changed"/> </object> </child> </object> </child> </template> </interface> Implementing the search needs quite a few code changes that we are not going to completely go over here. The central piece of the search implementation is a signal handler that listens for text changes in the search entry. ... static void search_text_changed (GtkEntry *entry, ExampleAppWindow *win) { const char *text; GtkWidget *tab; GtkWidget *view; GtkTextBuffer *buffer; GtkTextIter start, match_start, match_end; text = gtk_editable_get_text (GTK_EDITABLE (entry)); if (text[0] == '\0') return; tab = gtk_stack_get_visible_child (GTK_STACK (win->stack)); view = gtk_scrolled_window_get_child (GTK_SCROLLED_WINDOW (tab)); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); /* Very simple-minded search implementation */ gtk_text_buffer_get_start_iter (buffer, &start); if (gtk_text_iter_forward_search (&start, text, GTK_TEXT_SEARCH_CASE_INSENSITIVE, &match_start, &match_end, NULL)) { gtk_text_buffer_select_range (buffer, &match_start, &match_end); gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (view), &match_start, 0.0, FALSE, 0.0, 0.0); } } static void example_app_window_init (ExampleAppWindow *win) { ... gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), search_text_changed); ... } ... (full source) With the search bar, our application now looks like this:
A search bar A search bar
Adding a side bar As another piece of functionality, we are adding a sidebar, which demonstrates GtkMenuButton, GtkRevealer and GtkListBox. <?xml version="1.0" encoding="UTF-8"?> <interface> <template class="ExampleAppWindow" parent="GtkApplicationWindow"> <property name="title" translatable="yes">Example Application</property> <property name="default-width">600</property> <property name="default-height">400</property> <child type="titlebar"> <object class="GtkHeaderBar" id="header"> <child type="title"> <object class="GtkStackSwitcher" id="tabs"> <property name="stack">stack</property> </object> </child> <child type="end"> <object class="GtkToggleButton" id="search"> <property name="sensitive">0</property> <property name="icon-name">edit-find-symbolic</property> </object> </child> <child type="end"> <object class="GtkMenuButton" id="gears"> <property name="direction">none</property> </object> </child> </object> </child> <child> <object class="GtkBox" id="content_box"> <property name="orientation">vertical</property> <child> <object class="GtkSearchBar" id="searchbar"> <child> <object class="GtkSearchEntry" id="searchentry"> <signal name="search-changed" handler="search_text_changed"/> </object> </child> </object> </child> <child> <object class="GtkBox" id="hbox"> <child> <object class="GtkRevealer" id="sidebar"> <property name="transition-type">slide-right</property> <child> <object class="GtkScrolledWindow" id="sidebar-sw"> <property name="hscrollbar-policy">never</property> <child> <object class="GtkListBox" id="words"> <property name="selection-mode">none</property> </object> </child> </object> </child> </object> </child> <child> <object class="GtkStack" id="stack"> <signal name="notify::visible-child" handler="visible_child_changed"/> </object> </child> </object> </child> </object> </child> </template> </interface> The code to populate the sidebar with buttons for the words found in each file is a little too involved to go into here. But we’ll look at the code to add a checkbutton for the new feature to the menu. <?xml version="1.0" encoding="UTF-8"?> <interface> <menu id="menu"> <section> <item> <attribute name="label" translatable="yes">_Words</attribute> <attribute name="action">win.show-words</attribute> </item> <item> <attribute name="label" translatable="yes">_Preferences</attribute> <attribute name="action">app.preferences</attribute> </item> </section> <section> <item> <attribute name="label" translatable="yes">_Quit</attribute> <attribute name="action">app.quit</attribute> </item> </section> </menu> </interface> To connect the menuitem to the show-words setting, we use a GAction corresponding to the given GSettings key. ... static void example_app_window_init (ExampleAppWindow *win) { ... builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/gears-menu.ui"); menu = G_MENU_MODEL (gtk_builder_get_object (builder, "menu")); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (priv->gears), menu); g_object_unref (builder); action = g_settings_create_action (priv->settings, "show-words"); g_action_map_add_action (G_ACTION_MAP (win), action); g_object_unref (action); } ... (full source) What our application looks like now:
A sidebar A sidebar
Properties Widgets and other objects have many useful properties. Here we show some ways to use them in new and flexible ways, by wrapping them in actions with GPropertyAction or by binding them with GBinding. To set this up, we add two labels to the header bar in our window template, named lines_label and lines, and bind them to struct members in the private struct, as we’ve seen a couple of times by now. We add a new Lines menu item to the gears menu, which triggers the show-lines action: <?xml version="1.0" encoding="UTF-8"?> <interface> <menu id="menu"> <section> <item> <attribute name="label" translatable="yes">_Words</attribute> <attribute name="action">win.show-words</attribute> </item> <item> <attribute name="label" translatable="yes">_Lines</attribute> <attribute name="action">win.show-lines</attribute> </item> <item> <attribute name="label" translatable="yes">_Preferences</attribute> <attribute name="action">app.preferences</attribute> </item> </section> <section> <item> <attribute name="label" translatable="yes">_Quit</attribute> <attribute name="action">app.quit</attribute> </item> </section> </menu> </interface> To make this menu item do something, we create a property action for the visible property of the lines label, and add it to the actions of the window. The effect of this is that the visibility of the label gets toggled every time the action is activated. Since we want both labels to appear and disappear together, we bind the visible property of the lines_label widget to the same property of the lines widget. ... static void example_app_window_init (ExampleAppWindow *win) { ... action = (GAction*) g_property_action_new ("show-lines", win->lines, "visible"); g_action_map_add_action (G_ACTION_MAP (win), action); g_object_unref (action); g_object_bind_property (win->lines, "visible", win->lines_label, "visible", G_BINDING_DEFAULT); } ... (full source) We also need a function that counts the lines of the currently active tab, and updates the lines label. See the full source if you are interested in the details. This brings our example application to this appearance:
Full application Full application
docs/reference/gtk/question_index.xml0000664000175000017500000011326113710700303020137 0ustar mclasenmclasen Common Questions This is an index of the reference manual organized by common How do I… questions. If you aren’t sure which documentation to read for the question you have, this list is a good place to start.
General Questions How do I get started with GTK? The GTK website offers some tutorials and other documentation (most of it about GTK 2.x and 3.x, but still somewhat applicable). This reference manual also contains a introductory Getting Started part. More documentation ranging from whitepapers to online books can be found at the GNOME developer’s site. After studying these materials you should be well prepared to come back to this reference manual for details. Where can I get help with GTK, submit a bug report, or make a feature request? See the documentation on this topic. How do I port from one GTK version to another? See the migration guide. You may also find useful information in the documentation for specific widgets and functions. If you have a question not covered in the manual, feel free to ask, and please file a bug report against the documentation. How does memory management work in GTK? Should I free data returned from functions? See the documentation for GObject and GInitiallyUnowned. For GObject note specifically g_object_ref() and g_object_unref(). GInitiallyUnowned is a subclass of GObject so the same points apply, except that it has a floating state (explained in its documentation). For strings returned from functions, they will be declared const if they should not be freed. Non-const strings should be freed with g_free(). Arrays follow the same rule. If you find an undocumented exception to the rules, please file a bug report.. The transfer annotations for gobject-introspection that are part of the documentation can provide useful hints for memory handling semantics as well. Why does my program leak memory, if I destroy a widget immediately after creating it ? If GtkFooi isn’t a toplevel window, then foo = gtk_foo_new(); g_object_unref (foo); is a memory leak, because no one assumed the initial floating reference (you will get a warning about this too). If you are using a widget and you aren’t immediately packing it into a container, then you probably want standard reference counting, not floating reference counting. To get this, you must acquire a reference to the widget and drop the floating reference (ref and sink in GObject parlance) after creating it: foo = gtk_foo_new(); g_object_ref_sink (foo); When you immediately add a widget to a container, it takes care of assuming the initial floating reference and you don’t have to worry about reference counting at all … just remove the widget from the container to get rid of it. How do I use GTK with threads? GTK requires that all GTK API calls are made from the same thread in which gtk_init() was called (the main thread). If you want to take advantage of multi-threading in a GTK application, it is usually best to send long-running tasks to worker threads, and feed the results back to the main thread using g_idle_add() or GAsyncQueue. GIO offers useful tools for such an approach such as GTask. How do I internationalize a GTK program? Most people use <GNU gettext, already required in order to install GLib. On a UNIX or Linux system with gettext installed, type info gettext to read the documentation. The short checklist on how to use gettext is: call bindtextdomain() so gettext can find the files containing your translations, call textdomain() to set the default translation domain, call bind_textdomain_codeset() to request that all translated strings are returned in UTF-8, then call gettext() to look up each string to be translated in the default domain. gi18n.h provides the following shorthand macros for convenience. Conventionally, people define macros as follows for convenience: #define _(x) gettext (x) #define N_(x) x #define C_(ctx,x) pgettext (ctx, x) You use N_() (N stands for no-op) to mark a string for translation in a location where a function call to gettext() is not allowed, such as in an array initializer. You eventually have to call gettext() on the string to actually fetch the translation. () both marks the string for translation and actually translates it. The C() macro (C stands for context) adds an additional context to the string that is marked for translation, which can help to disambiguate short strings that might need different translations in different parts of your program. Code using these macros ends up looking like this: #include &lt;gi18n.h&gt; static const char *global_variable = N_("Translate this string"); static void make_widgets (void) { GtkWidget *label1; GtkWidget *label2; label1 = gtk_label_new (_("Another string to translate")); label2 = gtk_label_new (_(global_variable)); ... Libraries using gettext should use dgettext() instead of gettext(), which allows them to specify the translation domain each time they ask for a translation. Libraries should also avoid calling textdomain(), since they will be specifying the domain instead of using the default. With the convention that the macro GETTEXT_PACKAGE is defined to hold your libraries translation domain, gi18n-lib.h can be included to provide the following convenience: #define _(x) dgettext (GETTEXT_PACKAGE, x) How do I use non-ASCII characters in GTK programs ? GTK uses Unicode (more exactly UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a sequence of one to six bytes and has a number of nice properties which make it a good choice for working with Unicode text in C programs: ASCII characters are encoded by their familiar ASCII codepoints. ASCII characters never appear as part of any other character. The zero byte doesn’t occur as part of a character, so that UTF-8 string can be manipulated with the usual C library functions for handling zero-terminated strings. More information about Unicode and UTF-8 can be found in the UTF-8 and Unicode FAQ. GLib provides functions for converting strings between UTF-8 and other encodings, see g_locale_to_utf8() and g_convert(). Text coming from external sources (e.g. files or user input), has to be converted to UTF-8 before being handed over to GTK. The following example writes the content of a IS0-8859-1 encoded text file to stdout: char *text, *utf8_text; gsize length; GError *error = NULL; if (g_file_get_contents (filename, &amp;text, &amp;length, NULL)) { utf8_text = g_convert (text, length, "UTF-8", "ISO-8859-1", NULL, NULL, &amp;error); if (error != NULL) { fprintf ("Couldn't convert file s to UTF-8\n", filename); g_error_free (error); } else g_print (utf8_text); } else fprintf (stderr, "Unable to read file s\n", filename); For string literals in the source code, there are several alternatives for handling non-ASCII content: Direct UTF-8 If your editor and compiler are capable of handling UTF-8 encoded sources, it is very convenient to simply use UTF-8 for string literals, since it allows you to edit the strings in wysiwyg. Note that choosing this option may reduce the portability of your code. Escaped UTF-8 Even if your toolchain can’t handle UTF-8 directly, you can still encode string literals in UTF-8 by using octal or hexadecimal escapes like \\212 or \\xa8 to encode each byte. This is portable, but modifying the escaped strings is not very convenient. Be careful when mixing hexadecimal escapes with ordinary text; `\xa8abcd is a string of length 1 ! Runtime conversion If the string literals can be represented in an encoding which your toolchain can handle (e.g. IS0-8859-1), you can write your source files in that encoding and use g_convert() to convert the strings to UTF-8 at runtime. Note that this has some runtime overhead, so you may want to move the conversion out of inner loops. Here is an example showing the three approaches using the copyright sign © which has Unicode and ISO-8859-1 codepoint 169 and is represented in UTF-8 by the two bytes 194, 169, or "\\302\\251" as a string literal: g_print ("direct UTF-8: ©"); g_print ("escaped UTF-8: \302\251"); text = g_convert ("runtime conversion: ©", -1, "ISO-8859-1", "UTF-8", NULL, NULL, NULL); g_print (text); g_free (text); If you are using gettext() to localize your application, you need to call bind_textdomain_codeset() to ensure that translated strings are returned in UTF-8 encoding. How do I use GTK with C++? There are two ways to approach this. The GTK header files use the subset of C that’s also valid C++, so you can simply use the normal GTK API in a C++ program. Alternatively, you can use a C++ binding such as gtkmm which provides a native C++ API. When using GTK directly, keep in mind that only functions can be connected to signals, not methods. So you will need to use global functions or static class functions for signal connections. Another common issue when using GTK directly is that C++ will not implicitly convert an integer to an enumeration. This comes up when using bitfields; in C you can write the following code: gdk_surface_set_events (gdk_surface, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); while in C++ you must write: gdk_surface_set_events (gdk_surface, (GdkEventMask) GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); There are very few functions that require this cast, however. How do I use GTK with other non-C languages? See the list of language bindings on the GTK website. How do I load an image or animation from a file? To load an image file straight into a display widget, use gtk_image_new_from_file(). To load an image for another purpose, use gdk_texture_new_from_file(). To load a video from a file, use gtk_media_file_new_for_file(). How do I draw text? To draw a piece of text onto a cairo surface, use a Pango layout and pango_cairo_show_layout(). layout = gtk_widget_create_pango_layout (widget, text); fontdesc = pango_font_description_from_string ("Luxi Mono 12"); pango_layout_set_font_description (layout, fontdesc); pango_cairo_show_layout (cr, layout); pango_font_description_free (fontdesc); g_object_unref (layout); See also the Cairo Rendering section of the Pango documentation. To draw a piece of text in a widget snapshot() implementation, use gtk_snapshot_append_layout(). How do I measure the size of a piece of text? To obtain the size of a piece of text, use a Pango layout and pango_layout_get_pixel_size(), using code like the following: layout = gtk_widget_create_pango_layout (widget, text); fontdesc = pango_font_description_from_string ("Luxi Mono 12"); pango_layout_set_font_description (layout, fontdesc); pango_layout_get_pixel_size (layout, &amp;width, &amp;height); pango_font_description_free (fontdesc); g_object_unref (layout); See also the Layout Objects section of the Pango documentation. Why are types not registered if I use their GTK_TYPE_BLAH macro? The GTK_TYPE_BLAH macros are defined as calls to gtk_blah_get_type(), and the _get_type() functions are declared as G_GNUC_CONST which allows the compiler to optimize the call away if it appears that the value is not being used. GLib provides the g_type_ensure() function to work around this problem. g_type_ensure (GTK_TYPE_BLAH); How do I create a transparent toplevel window? Any toplevel window can be transparent. It is just a matter of setting a transparent background in the CSS style for it.
Which widget should I use… …for lists and trees? This question has different answers, depending on the size of the dataset and the required formatting flexibility. If you want to display a large amount of data in a uniform way, your best option is a GtkTreeView widget. See the tree widget overview. A list is just a tree with no branches, so the treeview widget is used for lists as well. If you want to display a small amount of items, but need flexible formatting and widgetry inside the list, then you probably want to use a GtkListBox, which uses regular widgets for display. …for multi-line text display or editing? See the text widget overview – you should use the GtkTextView widget. If you only have a small amount of text, GtkLabel may also be appropriate of course. It can be made selectable with gtk_label_set_selectable(). For a single-line text entry, see GtkEntry. …to display an image or animation? GTK has two widgets that are dedicated to displaying images. GtkImage, for small, fixed-size icons and GtkPicture for content images. Both can display images in just about any format GTK understands. You can also use GtkDrawingArea if you need to do something more complex, such as draw text or graphics over the top of the image. Both GtkImage and GtkPicture can display animations and videos as well. To show an webm file, load it with the GtkMediaFile API and then use it as a paintable: mediafile = gtk_media_file_new_for_filename ("example.webm"); picture = gtk_picture_new_for_paintable (GDK_PAINTABLE (mediafile)); …for presenting a set of mutually-exclusive choices, where Windows would use a combo box? With GTK, a GtkComboBox is the recommended widget to use for this use case. If you need an editable text entry, use the “has-entry” property.
Questions about GtkWidget How do I change the color of a widget? The background color of a widget is determined by the CSS style that applies to it. To change that, you can set style classes on the widget, and provide custom CSS to change the appearance. Such CSS can be loaded with gtk_css_provider_load_from_file() and its variants. See gtk_style_context_add_provider(). How do I change the font of a widget? If you want to make the text of a label larger, you can use gtk_label_set_markup(): gtk_label_set_markup (label, "<big>big tex</big>"); This is preferred for many apps because it’s a relative size to the user’s chosen font size. See g_markup_escape_text() if you are constructing such strings on the fly. You can also change the font of a widget by putting .my-widget-class { font: Sans 30; } in a CSS file, loading it with gtk_css_provider_load_from_file(), and adding the provider with gtk_style_context_add_provider_for_display(). To associate this style information with your widget, set a style class on its GtkStyleContext using gtk_style_context_add_class(). The advantage of this approach is that users can then override the font you have chosen. See the GtkStyleContext documentation for more discussion. How do I disable/ghost/desensitize a widget? In GTK a disabled widget is termed insensitive. See gtk_widget_set_sensitive().
GtkTextView questions How do I get the contents of the entire text widget as a string? See gtk_text_buffer_get_bounds() and gtk_text_buffer_get_text() or gtk_text_iter_get_text(). GtkTextIter start, end; GtkTextBuffer *buffer; char *text; buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); gtk_text_buffer_get_bounds (buffer, &start, &end); text = gtk_text_iter_get_text (&start, &end); /* use text */ g_free (text); How do I make a text widget display its complete contents in a specific font? If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select the font, the inserted text will have the desired appearance, but text typed in by the user before or after the tagged block will appear in the default style. To ensure that all text has the desired appearance, use gtk_widget_override_font() to change the default font for the widget. How do I make a text view scroll to the end of the buffer automatically ? A good way to keep a text buffer scrolled to the end is to place a mark at the end of the buffer, and give it right gravity. The gravity has the effect that text inserted at the mark gets inserted before, keeping the mark at the end. To ensure that the end of the buffer remains visible, use gtk_text_view_scroll_to_mark() to scroll to the mark after inserting new text. The gtk-demo application contains an example of this technique.
GtkTreeView questions How do I associate some data with a row in the tree? Remember that the GtkTreeModel columns don’t necessarily have to be displayed. So you can put non-user-visible data in your model just like any other data, and retrieve it with gtk_tree_model_get(). See the tree widget overview. How do I put an image and some text in the same column? You can pack more than one GtkCellRenderer into a single GtkTreeViewColumn using gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). So pack both a GtkCellRendererPixbuf and a GtkCellRendererText into the column. I can set data easily on my GtkTreeStore/#GtkListStore models using gtk_list_store_set() and gtk_tree_store_set(), but can’t read it back? Both the GtkTreeStore and the GtkListStore implement the GtkTreeModel interface. Consequentially, you can use any function this interface implements. The easiest way to read a set of data back is to use gtk_tree_model_get(). How do I change the way that numbers are formatted by GtkTreeView? Use gtk_tree_view_insert_column_with_data_func() or gtk_tree_view_column_set_cell_data_func() and do the conversion from number to string yourself (with, say, g_strdup_printf()). The following example demonstrates this: enum { DOUBLE_COLUMN, N_COLUMNS }; GtkListStore *mycolumns; GtkTreeView *treeview; void my_cell_double_to_text (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { GtkCellRendererText *cell_text = (GtkCellRendererText *)cell; double d; char *text; /* Get the double value from the model. */ gtk_tree_model_get (tree_model, iter, (int)data, &d, -1); /* Now we can format the value ourselves. */ text = g_strdup_printf ("%.2f", d); g_object_set (cell, "text", text, NULL); g_free (text); } void set_up_new_columns (GtkTreeView *myview) { GtkCellRendererText *renderer; GtkTreeViewColumn *column; GtkListStore *mycolumns; /* Create the data model and associate it with the given TreeView */ mycolumns = gtk_list_store_new (N_COLUMNS, G_TYPE_DOUBLE); gtk_tree_view_set_model (myview, GTK_TREE_MODEL (mycolumns)); /* Create a GtkCellRendererText */ renderer = gtk_cell_renderer_text_new(); /* Create a new column that has a title ("Example column"), * uses the above created renderer that will render the double * value into text from the associated model's rows. */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title (column, "Example column"); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start (column, renderer, TRUE); /* Append the new column after the GtkTreeView's previous columns. */ gtk_tree_view_append_column (GTK_TREE_VIEW (myview), column); /* Since we created the column by hand, we can set it up for our * needs, e.g. set its minimum and maximum width, etc. */ /* Set up a custom function that will be called when the column content * is rendered. We use the func_data pointer as an index into our * model. This is convenient when using multi column lists. */ gtk_tree_view_column_set_cell_data_func (column, renderer, my_cell_double_to_text, (gpointer)DOUBLE_COLUMN, NULL); } How do I hide the expander arrows in my tree view? Set the expander-column property of the tree view to a hidden column. See gtk_tree_view_set_expander_column() and gtk_tree_view_column_set_visible().
Using cairo with GTK How do I use cairo to draw in GTK applications? Use gtk_snapshot_append_cairo() in your GtkWidgetClass.snapshot() vfunc to obtain a cairo context and draw with that. Can I improve the performance of my application by using another backend of cairo (such as GL)? No. Most drawing in GTK is not done via cairo anymore (but instead by the GL or Vulkan renderers of GSK). If you use cairo for drawing your own widgets, gtk_snapshot_append_cairo() will choose the most appropriate surface type for you. If you are interested in using GL for your own drawing, see GtkGLArea. Can I use cairo to draw on a GdkPixbuf? No. The cairo image surface does not support the pixel format used by GdkPixbuf. If you need to get cairo drawing into a format that can be displayed efficiently by GTK, you may want to use an image surface and gdk_memory_texture_new().
docs/reference/gtk/gtk4-broadwayd.xml0000664000175000017500000000515013710700303017721 0ustar mclasenmclasen gtk4-broadwayd GTK Developer Alexander Larsson gtk4-broadwayd 1 User Commands gtk4-broadwayd Broadway display server gtk4-broadwayd --port PORT --address ADDRESS --unixsocket ADDRESS :DISPLAY Description gtk4-broadwayd is a display server for the Broadway GDK backend. It allows multiple GTK applications to display their windows in the same web browser, by connecting to gtk4-broadwayd. When using gtk4-broadwayd, specify the display number to use, prefixed with a colon, similar to X. The default display number is 0. gtk4-broadwayd :5 Then point your web browser at http://127.0.0.1:8085. Start your applications like this: GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo Options --port Use PORT as the HTTP port, instead of the default 8080 + (DISPLAY - 1). --address Use ADDRESS as the HTTP address, instead of the default http://127.0.0.1:PORT. --unixsocket Use ADDRESS as the unix domain socket address. This option overrides --address and --port. It is available only on Unix-like systems. docs/reference/gtk/gtk4-builder-tool.xml0000664000175000017500000000666313710700303020360 0ustar mclasenmclasen gtk4-builder-tool GTK Developer Matthias Clasen gtk4-builder-tool 1 User Commands gtk4-builder-tool GtkBuilder file utility gtk4-builder-tool COMMAND OPTION FILE Description gtk4-builder-tool can perform various operations on GtkBuilder .ui files. You should always test the modified .ui files produced by gtk4-builder-tool before using them in production. Commands The following commands are understood: Validates the .ui file and report errors to stderr. Simplifies the .ui file by removing properties that are set to their default values and write the resulting XML to stdout, or back to the input file. Lists all the named objects that are created in the .ui file. Preview the .ui file. This command accepts options to specify the ID of an object and a .css file to use. Simplify Options The command accepts the following options: Write the content back to the .ui file instead of stdout. Transform a GTK 3 ui file to GTK 4 Preview Options The command accepts the following options: The ID of the object to preview. If not specified, gtk4-builder-tool will choose a suitable object on its own. Load style information from the given .css file. docs/reference/gtk/gtk4-demo-application.xml0000664000175000017500000000207313710700303021173 0ustar mclasenmclasen gtk4-demo-application GTK Developer Matthias Clasen gtk4-demo-application 1 User Commands gtk4-demo-application Demonstrate GtkApplication gtk4-demo-application Description gtk4-demo-application is an example application used by gtk4-demo. There is no need to call it manually. docs/reference/gtk/gtk4-demo.xml0000664000175000017500000000430413710700303016671 0ustar mclasenmclasen gtk4-demo GTK Developer Matthias Clasen gtk4-demo 1 User Commands gtk4-demo Demonstrate GTK widgets gtk4-demo --help --list --run EXAMPLE --autoquit Description gtk4-demo is a collection of examples. Its purpose is to demonstrate many GTK widgets in a form that is useful to application developers. The application shows the source code for each example, as well as other used resources, such as ui files and icons. Options The following options are understood: , Show help options List available examples. Run the named example. Use to see the available examples. Quit after a short timeout. This is intended for use with , e.g. when profiling. docs/reference/gtk/gtk4-encode-symbolic-svg.xml0000664000175000017500000000403613710700303021620 0ustar mclasenmclasen gtk4-encode-symbolic-svg GTK Developer Alexander Larsson gtk4-encode-symbolic-svg 1 User Commands gtk4-encode-symbolic-svg Symbolic icon conversion utility gtk4-encode-symbolic-svg OPTION... PATH WIDTHxHEIGHT Description gtk4-encode-symbolic-svg converts symbolic svg icons into specially prepared png files. GTK can load and recolor these pngs, just like original svgs, but loading them is much faster. PATH is the name of a symbolic svg file, WIDTHxHEIGHT are the desired dimensions for the generated png file. To distinguish them from ordinary pngs, the generated files have the extension .symbolic.png. Options -o DIRECTORY --output DIRECTORY Write png files to DIRECTORY instead of the current working directory. docs/reference/gtk/gtk4-icon-browser.xml0000664000175000017500000000266513710700303020366 0ustar mclasenmclasen gtk4-icon-browser GTK Developer Matthias Clasen gtk4-icon-browser 1 User Commands gtk4-icon-browser List themed icons gtk4-icon-browser --help Description gtk4-icon-browser is a utility to explore the icons in the current icon theme. It shows icons in various sizes, their symbolic variants where available, as well as a description of the icon and its context. Options The following options are understood: , Show help options docs/reference/gtk/gtk4-launch.xml0000664000175000017500000000417513710700303017225 0ustar mclasenmclasen gtk4-launch GTK Developer Tomáš Bžatek tbzatek@redhat.com gtk4-launch 1 User Commands gtk4-launch Launch an application gtk4-launch OPTION APPLICATION URI Description gtk4-launch launches an application using the given name. The application is started with proper startup notification on a default display, unless specified otherwise. gtk4-launch takes at least one argument, the name of the application to launch. The name should match application desktop file name, as residing in /usr/share/application, with or without the '.desktop' suffix. If called with more than one argument, the rest of them besides the application name are considered URI locations and are passed as arguments to the launched application. Options The following options are understood: , Prints a short help text and exits. Prints the program version and exits. docs/reference/gtk/gtk4-query-settings.xml0000664000175000017500000000230713710700303020751 0ustar mclasenmclasen gtk4-query-settings GTK Developer Timm Bäder gtk4-query-settings 1 User Commands gtk4-query-settings Utility to print name and value of all GtkSettings properties gtk4-query-settings PATTERN Description gtk4-query-settings prints both name and value of all properties available in the GtkSettings class. Optionally, you can filter which properties to list by specifying a PATTERN. docs/reference/gtk/gtk4-update-icon-cache.xml0000664000175000017500000000716113710700303021222 0ustar mclasenmclasen gtk4-update-icon-cache GTK Developer Matthias Clasen gtk4-update-icon-cache 1 User Commands gtk4-update-icon-cache Icon theme caching utility gtk4-update-icon-cache --force --ignore-theme-index --index-only --include-image-data --source NAME --quiet --validate PATH Description gtk4-update-icon-cache creates mmapable cache files for icon themes. It expects to be given the PATH to an icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.cache containing cached information about the icons in the directory tree below the given directory. GTK can use the cache files created by gtk4-update-icon-cache to avoid a lot of system call and disk seek overhead when the application starts. Since the format of the cache files allows them to be mmaped shared between multiple applications, the overall memory consumption is reduced as well. Options --force -f Overwrite an existing cache file even if it appears to be uptodate. --ignore-theme-index -t Don't check for the existence of index.theme in the icon theme directory. Without this option, gtk4-update-icon-cache refuses to create an icon cache in a directory which does not appear to be the toplevel directory of an icon theme. --index-only -i Don't include image data in the cache. --include-image-data Include image data in the cache. --source -c Output a C header file declaring a constant NAME with the contents of the icon cache. --quiet -q Turn off verbose output. --validate -v Validate existing icon cache. docs/reference/gtk/gtk4-widget-factory.xml0000664000175000017500000000274413710700303020703 0ustar mclasenmclasen gtk4-widget-factory GTK Developer Matthias Clasen gtk4-widget-factory 1 User Commands gtk4-widget-factory Demonstrate GTK widgets gtk4-widget-factory --help Description gtk4-widget-factory is a collection of examples. Its purpose is to demonstrate many GTK widgets in a form that is useful to GTK theme developers. The application shows widgets in different, typical combinations and states. Options The following options are understood: , Show help options docs/reference/gtk/overview.xml0000664000175000017500000000611513710700303016746 0ustar mclasenmclasen GTK is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and OS X. GTK is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. GTK has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for many other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel. The GTK library itself contains widgets, that is, GUI components such as GtkButton or GtkTextView. GTK depends on the following libraries: GLib A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. GObject A library that provides a type system, a collection of fundamental types including an object type, a signal system. GIO A modern, easy-to-use VFS API including abstractions for files, drives, volumes, stream IO, as well as network programming and DBus communication. cairo Cairo is a 2D graphics library with support for multiple output devices. Pango Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text. GdkPixbuf This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images. graphene This is a small library which provides vector and matrix datatypes and operations. graphene provides optimized implementations using various SIMD instruction sets such as SSE. GDK GDK is the abstraction layer that allows GTK to support multiple windowing systems. GDK provides window system facilities on Wayland, X11, Windows, and OS X. GSK GSK is a library for creating a scene graph from render nodes, and rendering it using different rendering APIs. GSK provides renderers for OpenGL, Vulkan and cairo. docs/reference/gtk/visual_index.xml0000664000175000017500000001661513710700303017600 0ustar mclasenmclasen
Display
Buttons
Entries
Containers
Windows
docs/reference/gtk/gtk4-docs.xml0000664000175000017500000004640013710700303016700 0ustar mclasenmclasen ]> GTK 4 Reference Manual This document is for the GTK 4 library, version &version;. The latest versions can be found online at https://developer.gnome.org/gtk4/. If you are looking for the older GTK 3 series of libraries, see https://developer.gnome.org/gtk3/. Introduction GTK Concepts GTK Widgets and Objects Object Hierarchy Widget Gallery GListModel support
List-based Widgets
Tree support
Application support Interface builder Windows Layout Containers Layout Managers Display Widgets Media Support Buttons and Toggles Numeric and Text Data Entry Multiline Text Editor Tree, List and Icon Grid Widgets Menus, Combo Box Selector Widgets and Dialogs Widgets for custom drawing Ornaments Scrolling Printing Shortcuts Overview Accessibility Miscellaneous Abstract Base Classes Recently Used Documents Choosing from installed applications Gestures and event handling Keyboard shortcuts Data exchange, clipboards and Drag-and-Drop
GTK Core Reference Theming in GTK Migrating from Previous Versions of GTK This part describes what you need to change in programs use older versions of GTK so that they can use the new features. It also mentions how to convert applications using widgets found in the libgnomeui library to use their counterparts in GTK. GTK Tools GTK Platform Support Index of all symbols Index of deprecated symbols
docs/reference/gtk/gtk4-sections.txt0000664000175000017500000054217113710700303017624 0ustar mclasenmclasen
gtkaboutdialog GtkAboutDialog GtkAboutDialog GtkLicense gtk_about_dialog_new gtk_about_dialog_get_program_name gtk_about_dialog_set_program_name gtk_about_dialog_get_version gtk_about_dialog_set_version gtk_about_dialog_get_copyright gtk_about_dialog_set_copyright gtk_about_dialog_get_comments gtk_about_dialog_set_comments gtk_about_dialog_get_license gtk_about_dialog_set_license gtk_about_dialog_get_wrap_license gtk_about_dialog_set_wrap_license gtk_about_dialog_get_license_type gtk_about_dialog_set_license_type gtk_about_dialog_get_website gtk_about_dialog_set_website gtk_about_dialog_get_website_label gtk_about_dialog_set_website_label gtk_about_dialog_get_authors gtk_about_dialog_set_authors gtk_about_dialog_get_artists gtk_about_dialog_set_artists gtk_about_dialog_get_documenters gtk_about_dialog_set_documenters gtk_about_dialog_get_translator_credits gtk_about_dialog_set_translator_credits gtk_about_dialog_get_logo gtk_about_dialog_set_logo gtk_about_dialog_get_logo_icon_name gtk_about_dialog_set_logo_icon_name gtk_about_dialog_get_system_information gtk_about_dialog_set_system_information gtk_about_dialog_add_credit_section gtk_show_about_dialog GTK_ABOUT_DIALOG GTK_IS_ABOUT_DIALOG GTK_TYPE_ABOUT_DIALOG GTK_ABOUT_DIALOG_CLASS GTK_IS_ABOUT_DIALOG_CLASS GTK_ABOUT_DIALOG_GET_CLASS GtkAboutDialogPrivate gtk_about_dialog_get_type
gtkaccelgroup Keyboard Accelerators gtk_accelerator_valid gtk_accelerator_parse gtk_accelerator_name gtk_accelerator_get_label gtk_accelerator_parse_with_keycode gtk_accelerator_name_with_keycode gtk_accelerator_get_label_with_keycode gtk_accelerator_get_default_mod_mask
gtkaccellabel GtkAccelLabel GtkAccelLabel gtk_accel_label_new gtk_accel_label_get_accel_width gtk_accel_label_set_accel gtk_accel_label_get_accel gtk_accel_label_refetch gtk_accel_label_set_label gtk_accel_label_get_label gtk_accel_label_get_use_underline gtk_accel_label_set_use_underline GTK_ACCEL_LABEL GTK_IS_ACCEL_LABEL GTK_TYPE_ACCEL_LABEL GTK_ACCEL_LABEL_CLASS GTK_IS_ACCEL_LABEL_CLASS GTK_ACCEL_LABEL_GET_CLASS GtkAccelLabelPrivate gtk_accel_label_get_type
gtkadjustment GtkAdjustment GtkAdjustment gtk_adjustment_new gtk_adjustment_get_value gtk_adjustment_set_value gtk_adjustment_clamp_page gtk_adjustment_configure gtk_adjustment_get_lower gtk_adjustment_get_page_increment gtk_adjustment_get_page_size gtk_adjustment_get_step_increment gtk_adjustment_get_minimum_increment gtk_adjustment_get_upper gtk_adjustment_set_lower gtk_adjustment_set_page_increment gtk_adjustment_set_page_size gtk_adjustment_set_step_increment gtk_adjustment_set_upper GTK_ADJUSTMENT GTK_IS_ADJUSTMENT GTK_TYPE_ADJUSTMENT GTK_ADJUSTMENT_CLASS GTK_IS_ADJUSTMENT_CLASS GTK_ADJUSTMENT_GET_CLASS GtkAdjustmentPrivate gtk_adjustment_get_type
gtkassistant GtkAssistant GtkAssistant GtkAssistantPage gtk_assistant_new gtk_assistant_get_page gtk_assistant_get_pages gtk_assistant_page_get_child gtk_assistant_get_current_page gtk_assistant_set_current_page gtk_assistant_get_n_pages gtk_assistant_get_nth_page gtk_assistant_prepend_page gtk_assistant_append_page gtk_assistant_insert_page gtk_assistant_remove_page GtkAssistantPageFunc gtk_assistant_set_forward_page_func GtkAssistantPageType gtk_assistant_set_page_type gtk_assistant_get_page_type gtk_assistant_set_page_title gtk_assistant_get_page_title gtk_assistant_set_page_complete gtk_assistant_get_page_complete gtk_assistant_add_action_widget gtk_assistant_remove_action_widget gtk_assistant_update_buttons_state gtk_assistant_commit gtk_assistant_next_page gtk_assistant_previous_page GTK_TYPE_ASSISTANT GTK_ASSISTANT GTK_ASSISTANT_CLASS GTK_IS_ASSISTANT GTK_IS_ASSISTANT_CLASS GTK_ASSISTANT_GET_CLASS GtkAssistantPrivate gtk_assistant_get_type gtk_assistant_page_get_type
gtkaspectframe GtkAspectFrame GtkAspectFrame gtk_aspect_frame_new gtk_aspect_frame_set_xalign gtk_aspect_frame_get_xalign gtk_aspect_frame_set_yalign gtk_aspect_frame_get_yalign gtk_aspect_frame_set_ratio gtk_aspect_frame_get_ratio gtk_aspect_frame_set_obey_child gtk_aspect_frame_get_obey_child gtk_aspect_frame_set_child gtk_aspect_frame_get_child GTK_ASPECT_FRAME GTK_IS_ASPECT_FRAME GTK_TYPE_ASPECT_FRAME GTK_ASPECT_FRAME_CLASS GTK_IS_ASPECT_FRAME_CLASS GTK_ASPECT_FRAME_GET_CLASS gtk_aspect_frame_get_type
gtkbox GtkBox GtkBox GtkBoxClass gtk_box_new gtk_box_get_homogeneous gtk_box_set_homogeneous gtk_box_get_spacing gtk_box_set_spacing gtk_box_get_baseline_position gtk_box_set_baseline_position gtk_box_append gtk_box_prepend gtk_box_remove gtk_box_insert_child_after gtk_box_reorder_child_after GTK_BOX GTK_IS_BOX GTK_TYPE_BOX GTK_BOX_CLASS GTK_IS_BOX_CLASS GTK_BOX_GET_CLASS GtkBoxPrivate gtk_box_get_type
gtkcenterbox GtkCenterBox GtkCenterBox gtk_center_box_new gtk_center_box_set_start_widget gtk_center_box_set_center_widget gtk_center_box_set_end_widget gtk_center_box_get_start_widget gtk_center_box_get_center_widget gtk_center_box_get_end_widget gtk_center_box_set_baseline_position gtk_center_box_get_baseline_position GTK_TYPE_CENTER_BOX GTK_CENTER_BOX GTK_CENTER_BOX_CLASS GTK_IS_CENTER_BOX GTK_IS_CENTER_BOX_CLASS GTK_CENTER_BOX_GET_CLASS gtk_center_box_get_type
gtklistbox GtkListBox GtkListBox GtkListBoxRow GtkListBoxRowClass GtkListBoxFilterFunc GtkListBoxSortFunc GtkListBoxUpdateHeaderFunc gtk_list_box_new gtk_list_box_prepend gtk_list_box_insert gtk_list_box_remove gtk_list_box_select_row gtk_list_box_unselect_row gtk_list_box_select_all gtk_list_box_unselect_all gtk_list_box_get_selected_row GtkListBoxForeachFunc gtk_list_box_selected_foreach gtk_list_box_get_selected_rows gtk_list_box_set_show_separators gtk_list_box_get_show_separators gtk_list_box_set_selection_mode gtk_list_box_get_selection_mode gtk_list_box_set_activate_on_single_click gtk_list_box_get_activate_on_single_click gtk_list_box_get_adjustment gtk_list_box_set_adjustment gtk_list_box_set_placeholder gtk_list_box_get_row_at_index gtk_list_box_get_row_at_y gtk_list_box_invalidate_filter gtk_list_box_invalidate_headers gtk_list_box_invalidate_sort gtk_list_box_set_filter_func gtk_list_box_set_header_func gtk_list_box_set_sort_func gtk_list_box_drag_highlight_row gtk_list_box_drag_unhighlight_row GtkListBoxCreateWidgetFunc gtk_list_box_bind_model gtk_list_box_row_new gtk_list_box_row_changed gtk_list_box_row_is_selected gtk_list_box_row_get_child gtk_list_box_row_set_child gtk_list_box_row_get_header gtk_list_box_row_set_header gtk_list_box_row_get_index gtk_list_box_row_set_activatable gtk_list_box_row_get_activatable gtk_list_box_row_set_selectable gtk_list_box_row_get_selectable GTK_LIST_BOX GTK_LIST_BOX_CLASS GTK_LIST_BOX_GET_CLASS GTK_LIST_BOX_ROW GTK_LIST_BOX_ROW_CLASS GTK_LIST_BOX_ROW_GET_CLASS GTK_IS_LIST_BOX GTK_IS_LIST_BOX_CLASS GTK_IS_LIST_BOX_ROW GTK_IS_LIST_BOX_ROW_CLASS GTK_TYPE_LIST_BOX GTK_TYPE_LIST_BOX_ROW gtk_list_box_get_type gtk_list_box_row_get_type
gtkbitset GtkBitset GtkBitset gtk_bitset_ref gtk_bitset_unref gtk_bitset_new_empty gtk_bitset_new_range gtk_bitset_copy gtk_bitset_contains gtk_bitset_is_empty gtk_bitset_equals gtk_bitset_get_minimum gtk_bitset_get_maximum gtk_bitset_get_size gtk_bitset_get_size_in_range gtk_bitset_get_nth gtk_bitset_remove_all gtk_bitset_add gtk_bitset_remove gtk_bitset_add_range gtk_bitset_remove_range gtk_bitset_add_range_closed gtk_bitset_remove_range_closed gtk_bitset_add_rectangle gtk_bitset_remove_rectangle gtk_bitset_union gtk_bitset_intersect gtk_bitset_subtract gtk_bitset_difference gtk_bitset_shift_left gtk_bitset_shift_right gtk_bitset_splice GtkBitsetIter gtk_bitset_iter_init_first gtk_bitset_iter_init_last gtk_bitset_iter_init_at gtk_bitset_iter_next gtk_bitset_iter_previous gtk_bitset_iter_get_value gtk_bitset_iter_is_valid GTK_TYPE_BITSET gtk_bitset_get_type
gtkselectionmodel GtkSelectionModel GtkSelectionModel gtk_selection_model_is_selected gtk_selection_model_get_selection gtk_selection_model_get_selection_in_range gtk_selection_model_select_item gtk_selection_model_unselect_item gtk_selection_model_select_range gtk_selection_model_unselect_range gtk_selection_model_select_all gtk_selection_model_unselect_all gtk_selection_model_set_selection gtk_selection_model_selection_changed GTK_SELECTION_MODEL GTK_SELECTION_MODEL_CLASS GTK_SELECTION_MODEL_GET_CLASS GTK_IS_SELECTION_MODEL GTK_IS_SELECTION_MODEL_CLASS GTK_TYPE_SELECTION_MODEL gtk_selection_model_get_type
gtknoselection GtkNoSelection GtkNoSelection gtk_no_selection_new gtk_no_selection_get_model gtk_no_selection_set_model gtk_no_selection_get_type
gtksingleselection GtkSingleSelection GtkSingleSelection GTK_INVALID_LIST_POSITION gtk_single_selection_new gtk_single_selection_get_model gtk_single_selection_set_model gtk_single_selection_get_selected gtk_single_selection_set_selected gtk_single_selection_get_selected_item gtk_single_selection_get_autoselect gtk_single_selection_set_autoselect gtk_single_selection_get_can_unselect gtk_single_selection_set_can_unselect gtk_single_selection_get_type
gtkmultiselection GtkMultiSeledction GtkMultiSelection gtk_multi_selection_new gtk_multi_selection_get_model gtk_multi_selection_set_model gtk_multi_selection_get_type
gtklistitem GtkListItem GtkListItem gtk_list_item_get_item gtk_list_item_get_position gtk_list_item_get_child gtk_list_item_set_child gtk_list_item_get_selected gtk_list_item_get_selectable gtk_list_item_set_selectable gtk_list_item_get_activatable gtk_list_item_set_activatable GTK_LIST_ITEM GTK_LIST_ITEM_CLASS GTK_LIST_ITEM_GET_CLASS GTK_IS_LIST_ITEM GTK_IS_LIST_ITEM_CLASS GTK_TYPE_LIST_ITEM gtk_list_item_get_type
gtklistitemfactory GtkListItemFactory GtkListItemFactory GTK_LIST_ITEM_FACTORY GTK_LIST_ITEM_FACTORY_CLASS GTK_LIST_ITEM_FACTORY_GET_CLASS GTK_IS_LIST_ITEM_FACTORY GTK_IS_LIST_ITEM_FACTORY_CLASS GTK_TYPE_LIST_ITEM_FACTORY gtk_list_item_factory_get_type
gtkbuilderlistitemfactory GtkBuilderListItemFactory GtkBuilderListItemFactory gtk_builder_list_item_factory_new_from_bytes gtk_builder_list_item_factory_new_from_resource gtk_builder_list_item_factory_get_bytes gtk_builder_list_item_factory_get_resource gtk_builder_list_item_factory_get_scope GTK_BUILDER_LIST_ITEM_FACTORY GTK_BUILDER_LIST_ITEM_FACTORY_CLASS GTK_BUILDER_LIST_ITEM_FACTORY_GET_CLASS GTK_IS_BUILDER_LIST_ITEM_FACTORY GTK_IS_BUILDER_LIST_ITEM_FACTORY_CLASS GTK_TYPE_BUILDER_LIST_ITEM_FACTORY gtk_builder_list_item_factory_get_type
gtksignallistitemfactory GtkSignalListItemFactory GtkSignalListItemFactory gtk_signal_list_item_factory_new GTK_SIGNAL_LIST_ITEM_FACTORY GTK_SIGNAL_LIST_ITEM_FACTORY_CLASS GTK_SIGNAL_LIST_ITEM_FACTORY_GET_CLASS GTK_IS_SIGNAL_LIST_ITEM_FACTORY GTK_IS_SIGNAL_LIST_ITEM_FACTORY_CLASS GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY gtk_signal_list_item_factory_get_type
gtklistview GtkListView GtkListView gtk_list_view_new gtk_list_view_new_with_factory gtk_list_view_set_factory gtk_list_view_get_factory gtk_list_view_set_model gtk_list_view_get_model gtk_list_view_set_show_separators gtk_list_view_get_show_separators gtk_list_view_set_single_click_activate gtk_list_view_get_single_click_activate gtk_list_view_set_enable_rubberband gtk_list_view_get_enable_rubberband GTK_LIST_VIEW GTK_LIST_VIEW_CLASS GTK_LIST_VIEW_GET_CLASS GTK_IS_LIST_VIEW GTK_IS_LIST_VIEW_CLASS GTK_TYPE_LIST_VIEW gtk_list_view_get_type
gtkcolumnview GtkColumnView GtkColumnView gtk_column_view_new gtk_column_view_append_column gtk_column_view_insert_column gtk_column_view_remove_column gtk_column_view_get_columns gtk_column_view_get_model gtk_column_view_set_model gtk_column_view_get_sorter gtk_column_view_get_show_row_separators gtk_column_view_set_show_row_separators gtk_column_view_get_show_column_separators gtk_column_view_set_show_column_separators gtk_column_view_sort_by_column gtk_column_view_set_single_click_activate gtk_column_view_get_single_click_activate gtk_column_view_set_reorderable gtk_column_view_get_reorderable gtk_column_view_set_enable_rubberband gtk_column_view_get_enable_rubberband GTK_COLUMN_VIEW GTK_COLUMN_VIEW_CLASS GTK_COLUMN_VIEW_GET_CLASS GTK_IS_COLUMN_VIEW GTK_IS_COLUMN_VIEW_CLASS GTK_TYPE_COLUMN_VIEW gtk_column_view_get_type
gtkcolumnviewcolumn GtkColumnViewColumn GtkColumnViewColumn gtk_column_view_column_new gtk_column_view_column_new_with_factory gtk_column_view_column_get_column_view gtk_column_view_column_set_factory gtk_column_view_column_get_factory gtk_column_view_column_set_title gtk_column_view_column_get_title gtk_column_view_column_set_sorter gtk_column_view_column_get_sorter gtk_column_view_column_set_visible gtk_column_view_column_get_visible gtk_column_view_column_set_resizable gtk_column_view_column_get_resizable gtk_column_view_column_set_header_menu gtk_column_view_column_get_header_menu gtk_column_view_column_set_fixed_width gtk_column_view_column_get_fixed_width gtk_column_view_column_set_expand gtk_column_view_column_get_expand GTK_COLUMN_VIEW_COLUMN GTK_COLUMN_VIEW_COLUMN_CLASS GTK_COLUMN_VIEW_COLUMN_GET_CLASS GTK_IS_COLUMN_VIEW_COLUMN GTK_IS_COLUMN_VIEW_COLUMN_CLASS GTK_TYPE_COLUMN_VIEW_COLUMN gtk_column_view_column_get_type
gtkgridview GtkGridView GtkGridView gtk_grid_view_new gtk_grid_view_new_with_factory gtk_grid_view_set_model gtk_grid_view_get_model gtk_grid_view_set_max_columns gtk_grid_view_get_max_columns gtk_grid_view_set_min_columns gtk_grid_view_get_min_columns gtk_grid_view_set_single_click_activate gtk_grid_view_get_single_click_activate gtk_grid_view_set_enable_rubberband gtk_grid_view_get_enable_rubberband gtk_grid_view_set_factory gtk_grid_view_get_factory GTK_GRID_VIEW GTK_GRID_VIEW_CLASS GTK_GRID_VIEW_GET_CLASS GTK_IS_GRID_VIEW GTK_IS_GRID_VIEW_CLASS GTK_TYPE_GRID_VIEW gtk_grid_view_get_type
gtkbuildable GtkBuildable GtkBuildableIface gtk_buildable_set_name gtk_buildable_get_name gtk_buildable_add_child gtk_buildable_set_buildable_property gtk_buildable_construct_child gtk_buildable_custom_tag_start gtk_buildable_custom_tag_end gtk_buildable_custom_finished gtk_buildable_parser_finished gtk_buildable_get_internal_child GTK_BUILDABLE GTK_IS_BUILDABLE GTK_TYPE_BUILDABLE gtk_buildable_get_type GTK_BUILDABLE_CLASS GTK_BUILDABLE_GET_IFACE
gtkbuilderscope GtkBuilderScope gtk_builder_cscope_new gtk_builder_cscope_add_callback_symbol gtk_builder_cscope_add_callback_symbols gtk_builder_cscope_lookup_callback_symbol GTK_BUILDER_SCOPE GTK_IS_BUILDER_SCOPE GTK_TYPE_BUILDER_SCOPE GTK_BUILDER_SCOPE_INTERFACE GTK_IS_BUILDER_SCOPE_INTERFACE GTK_BUILDER_SCOPE_GET_INTERFACE GTK_BUILDER_CSCOPE GTK_IS_BUILDER_CSCOPE GTK_TYPE_BUILDER_CSCOPE GTK_BUILDER_CSCOPE_CLASS GTK_IS_BUILDER_CSCOPE_CLASS GTK_BUILDER_CSCOPE_GET_CLASS gtk_builder_scope_get_type gtk_builder_cscope_get_type
gtkbuilder GtkBuilder GtkBuilder GtkBuilderClosureFlags GtkBuilderError gtk_builder_new gtk_builder_new_from_file gtk_builder_new_from_resource gtk_builder_new_from_string gtk_builder_create_closure gtk_builder_add_from_file gtk_builder_add_from_resource gtk_builder_add_from_string gtk_builder_add_objects_from_file gtk_builder_add_objects_from_string gtk_builder_add_objects_from_resource gtk_builder_extend_with_template gtk_builder_get_object gtk_builder_get_objects gtk_builder_expose_object gtk_builder_set_current_object gtk_builder_get_current_object gtk_builder_set_scope gtk_builder_get_scope gtk_builder_set_translation_domain gtk_builder_get_translation_domain gtk_builder_get_type_from_name gtk_builder_value_from_string gtk_builder_value_from_string_type GTK_BUILDER_WARN_INVALID_CHILD_TYPE GTK_BUILDER_ERROR GTK_BUILDER GTK_IS_BUILDER GTK_TYPE_BUILDER GTK_BUILDER_CLASS GTK_IS_BUILDER_CLASS GTK_BUILDER_GET_CLASS gtk_builder_get_type gtk_builder_error_quark
gtkbutton GtkButton GtkButton GtkButtonClass gtk_button_new gtk_button_new_with_label gtk_button_new_with_mnemonic gtk_button_new_from_icon_name gtk_button_set_has_frame gtk_button_get_has_frame gtk_button_get_label gtk_button_set_label gtk_button_get_use_underline gtk_button_set_use_underline gtk_button_set_icon_name gtk_button_get_icon_name gtk_button_set_child gtk_button_get_child GTK_BUTTON GTK_IS_BUTTON GTK_TYPE_BUTTON GTK_BUTTON_CLASS GTK_IS_BUTTON_CLASS GTK_BUTTON_GET_CLASS GtkButtonPrivate gtk_button_get_type
gtkcalendar GtkCalendar GtkCalendar gtk_calendar_new gtk_calendar_select_day gtk_calendar_mark_day gtk_calendar_unmark_day gtk_calendar_get_day_is_marked gtk_calendar_clear_marks gtk_calendar_get_show_day_names gtk_calendar_set_show_day_names gtk_calendar_get_show_heading gtk_calendar_set_show_heading gtk_calendar_get_show_week_numbers gtk_calendar_set_show_week_numbers gtk_calendar_get_date GTK_CALENDAR GTK_IS_CALENDAR GTK_TYPE_CALENDAR GTK_CALENDAR_CLASS GTK_IS_CALENDAR_CLASS GTK_CALENDAR_GET_CLASS GtkCalendarPrivate gtk_calendar_get_type
gtkcheckbutton GtkCheckButton GtkCheckButton gtk_check_button_new gtk_check_button_new_with_label gtk_check_button_new_with_mnemonic gtk_check_button_get_draw_indicator gtk_check_button_set_draw_indicator gtk_check_button_get_inconsistent gtk_check_button_set_inconsistent GTK_CHECK_BUTTON GTK_IS_CHECK_BUTTON GTK_TYPE_CHECK_BUTTON GTK_CHECK_BUTTON_CLASS GTK_IS_CHECK_BUTTON_CLASS GTK_CHECK_BUTTON_GET_CLASS gtk_check_button_get_type
gtkcolorbutton GtkColorButton GtkColorButton gtk_color_button_new gtk_color_button_new_with_rgba gtk_color_button_set_title gtk_color_button_get_title gtk_color_button_set_modal gtk_color_button_get_modal GTK_COLOR_BUTTON GTK_IS_COLOR_BUTTON GTK_TYPE_COLOR_BUTTON GTK_COLOR_BUTTON_CLASS GTK_IS_COLOR_BUTTON_CLASS GTK_COLOR_BUTTON_GET_CLASS gtk_color_button_get_type GtkColorButtonPrivate
gtkcombobox GtkComboBox GtkComboBox GtkComboBoxClass gtk_combo_box_new gtk_combo_box_new_with_entry gtk_combo_box_new_with_model gtk_combo_box_new_with_model_and_entry gtk_combo_box_get_active gtk_combo_box_set_active gtk_combo_box_get_active_iter gtk_combo_box_set_active_iter gtk_combo_box_get_id_column gtk_combo_box_set_id_column gtk_combo_box_get_active_id gtk_combo_box_set_active_id gtk_combo_box_get_model gtk_combo_box_set_model gtk_combo_box_popdown gtk_combo_box_get_row_separator_func gtk_combo_box_set_row_separator_func GtkSensitivityType gtk_combo_box_set_button_sensitivity gtk_combo_box_get_button_sensitivity gtk_combo_box_get_has_entry gtk_combo_box_set_entry_text_column gtk_combo_box_get_entry_text_column gtk_combo_box_set_popup_fixed_width gtk_combo_box_get_popup_fixed_width gtk_combo_box_set_child gtk_combo_box_get_child GTK_TYPE_COMBO_BOX GTK_COMBO_BOX GTK_COMBO_BOX_CLASS GTK_IS_COMBO_BOX GTK_IS_COMBO_BOX_CLASS GTK_COMBO_BOX_GET_CLASS GtkComboBoxPrivate gtk_combo_box_get_type
gtkcomboboxtext GtkComboBoxText GtkComboBoxText gtk_combo_box_text_new gtk_combo_box_text_new_with_entry gtk_combo_box_text_append gtk_combo_box_text_prepend gtk_combo_box_text_insert gtk_combo_box_text_append_text gtk_combo_box_text_prepend_text gtk_combo_box_text_insert_text gtk_combo_box_text_remove gtk_combo_box_text_remove_all gtk_combo_box_text_get_active_text GTK_TYPE_COMBO_BOX_TEXT GTK_COMBO_BOX_TEXT GTK_IS_COMBO_BOX_TEXT GTK_COMBO_BOX_TEXT_CLASS GTK_IS_COMBO_BOX_TEXT_CLASS GTK_COMBO_BOX_TEXT_GET_CLASS GtkComboBoxTextPrivate gtk_combo_box_text_get_type
gtkdialog GtkDialog GtkDialog GtkDialogClass GtkDialogFlags GtkResponseType gtk_dialog_new gtk_dialog_new_with_buttons gtk_dialog_response gtk_dialog_add_button gtk_dialog_add_buttons gtk_dialog_add_action_widget gtk_dialog_set_default_response gtk_dialog_set_response_sensitive gtk_dialog_get_response_for_widget gtk_dialog_get_widget_for_response gtk_dialog_get_content_area gtk_dialog_get_header_bar GTK_DIALOG GTK_IS_DIALOG GTK_TYPE_DIALOG GTK_DIALOG_CLASS GTK_IS_DIALOG_CLASS GTK_DIALOG_GET_CLASS GtkDialogPrivate gtk_dialog_get_type
gtkdrawingarea GtkDrawingArea GtkDrawingArea gtk_drawing_area_new gtk_drawing_area_get_content_width gtk_drawing_area_set_content_width gtk_drawing_area_get_content_height gtk_drawing_area_set_content_height GtkDrawingAreaDrawFunc gtk_drawing_area_set_draw_func GTK_DRAWING_AREA GTK_IS_DRAWING_AREA GTK_TYPE_DRAWING_AREA GTK_DRAWING_AREA_CLASS GTK_IS_DRAWING_AREA_CLASS GTK_DRAWING_AREA_GET_CLASS gtk_drawing_area_get_type
gtkeditable GtkEditable GtkEditable GtkEditableInterface GtkEditableProperties gtk_editable_get_text gtk_editable_set_text gtk_editable_get_chars gtk_editable_insert_text gtk_editable_delete_text gtk_editable_get_selection_bounds gtk_editable_select_region gtk_editable_delete_selection gtk_editable_set_position gtk_editable_get_position gtk_editable_set_editable gtk_editable_get_editable gtk_editable_set_alignment gtk_editable_get_alignment gtk_editable_get_width_chars gtk_editable_set_width_chars gtk_editable_get_max_width_chars gtk_editable_set_max_width_chars gtk_editable_get_enable_undo gtk_editable_set_enable_undo gtk_editable_install_properties gtk_editable_init_delegate gtk_editable_finish_delegate gtk_editable_delegate_set_property gtk_editable_delegate_get_property GTK_EDITABLE GTK_IS_EDITABLE GTK_TYPE_EDITABLE GTK_EDITABLE_GET_IFACE gtk_editable_get_type
gtkeditablelabel GtkEditableLabel GtkEditableLabel gtk_editable_label_new gtk_editable_label_get_editing gtk_editable_label_start_editing gtk_editable_label_stop_editing gtk_editable_label_get_type
gtktext GtkText GtkText GtkTextClass gtk_text_new gtk_text_new_with_buffer gtk_text_set_buffer gtk_text_get_buffer gtk_text_set_visibility gtk_text_get_visibility gtk_text_set_invisible_char gtk_text_get_invisible_char gtk_text_unset_invisible_char gtk_text_set_overwrite_mode gtk_text_get_overwrite_mode gtk_text_set_max_length gtk_text_get_max_length gtk_text_get_text_length gtk_text_set_activates_default gtk_text_get_activates_default gtk_text_set_placeholder_text gtk_text_get_placeholder_text gtk_text_set_input_purpose gtk_text_get_input_purpose gtk_text_set_input_hints gtk_text_get_input_hints gtk_text_set_attributes gtk_text_get_attributes gtk_text_set_tabs gtk_text_get_tabs gtk_text_grab_focus_without_selecting gtk_text_set_extra_menu gtk_text_get_extra_menu gtk_text_get_type
gtkentry GtkEntry GtkEntry GtkEntryClass gtk_entry_new gtk_entry_new_with_buffer gtk_entry_get_buffer gtk_entry_set_buffer gtk_entry_get_text_length gtk_entry_set_visibility gtk_entry_get_visibility gtk_entry_set_invisible_char gtk_entry_get_invisible_char gtk_entry_unset_invisible_char gtk_entry_set_max_length gtk_entry_get_max_length gtk_entry_set_activates_default gtk_entry_get_activates_default gtk_entry_set_has_frame gtk_entry_get_has_frame gtk_entry_set_alignment gtk_entry_get_alignment gtk_entry_set_placeholder_text gtk_entry_get_placeholder_text gtk_entry_set_overwrite_mode gtk_entry_get_overwrite_mode gtk_entry_set_attributes gtk_entry_get_attributes gtk_entry_set_completion gtk_entry_get_completion gtk_entry_set_progress_fraction gtk_entry_get_progress_fraction gtk_entry_set_progress_pulse_step gtk_entry_get_progress_pulse_step gtk_entry_progress_pulse gtk_entry_reset_im_context gtk_entry_set_tabs gtk_entry_get_tabs GtkEntryIconPosition gtk_entry_set_icon_from_paintable gtk_entry_set_icon_from_icon_name gtk_entry_set_icon_from_gicon gtk_entry_get_icon_storage_type gtk_entry_get_icon_paintable gtk_entry_get_icon_name gtk_entry_get_icon_gicon gtk_entry_set_icon_activatable gtk_entry_get_icon_activatable gtk_entry_set_icon_sensitive gtk_entry_get_icon_sensitive gtk_entry_get_icon_at_pos gtk_entry_set_icon_tooltip_text gtk_entry_get_icon_tooltip_text gtk_entry_set_icon_tooltip_markup gtk_entry_get_icon_tooltip_markup gtk_entry_set_icon_drag_source gtk_entry_get_current_icon_drag_source gtk_entry_get_icon_area GtkInputPurpose gtk_entry_set_input_purpose gtk_entry_get_input_purpose GtkInputHints gtk_entry_set_input_hints gtk_entry_get_input_hints gtk_entry_grab_focus_without_selecting gtk_entry_set_extra_menu gtk_entry_get_extra_menu GTK_ENTRY GTK_IS_ENTRY GTK_TYPE_ENTRY GTK_ENTRY_CLASS GTK_IS_ENTRY_CLASS GTK_ENTRY_GET_CLASS GTK_TYPE_TEXT_HANDLE_POSITION GTK_TYPE_TEXT_HANDLE_MODE GtkEntryPrivate gtk_entry_get_type
gtkpasswordentry GtkPasswordEntry GtkPasswordEntry gtk_password_entry_new gtk_password_entry_set_show_peek_icon gtk_password_entry_get_show_peek_icon gtk_password_entry_set_extra_menu gtk_password_entry_get_extra_menu gtk_password_entry_get_type
gtkentrybuffer GtkEntryBuffer GtkEntryBuffer gtk_entry_buffer_new gtk_entry_buffer_get_text gtk_entry_buffer_set_text gtk_entry_buffer_get_bytes gtk_entry_buffer_get_length gtk_entry_buffer_get_max_length gtk_entry_buffer_set_max_length gtk_entry_buffer_insert_text gtk_entry_buffer_delete_text gtk_entry_buffer_emit_deleted_text gtk_entry_buffer_emit_inserted_text GTK_ENTRY_BUFFER GTK_IS_ENTRY_BUFFER GTK_TYPE_ENTRY_BUFFER GTK_ENTRY_BUFFER_CLASS GTK_IS_ENTRY_BUFFER_CLASS GTK_ENTRY_BUFFER_GET_CLASS GTK_ENTRY_BUFFER_MAX_SIZE GtkEntryBufferPrivate gtk_entry_buffer_get_type
gtkentrycompletion GtkEntryCompletion GtkEntryCompletion GtkEntryCompletionMatchFunc gtk_entry_completion_new gtk_entry_completion_new_with_area gtk_entry_completion_get_entry gtk_entry_completion_set_model gtk_entry_completion_get_model gtk_entry_completion_set_match_func gtk_entry_completion_set_minimum_key_length gtk_entry_completion_get_minimum_key_length gtk_entry_completion_compute_prefix gtk_entry_completion_complete gtk_entry_completion_get_completion_prefix gtk_entry_completion_insert_prefix gtk_entry_completion_set_text_column gtk_entry_completion_get_text_column gtk_entry_completion_set_inline_completion gtk_entry_completion_get_inline_completion gtk_entry_completion_set_inline_selection gtk_entry_completion_get_inline_selection gtk_entry_completion_set_popup_completion gtk_entry_completion_get_popup_completion gtk_entry_completion_set_popup_set_width gtk_entry_completion_get_popup_set_width gtk_entry_completion_set_popup_single_match gtk_entry_completion_get_popup_single_match GTK_TYPE_ENTRY_COMPLETION GTK_ENTRY_COMPLETION GTK_ENTRY_COMPLETION_CLASS GTK_IS_ENTRY_COMPLETION GTK_IS_ENTRY_COMPLETION_CLASS GTK_ENTRY_COMPLETION_GET_CLASS GtkEntryCompletionPrivate gtk_entry_completion_get_type
gtkexpander GtkExpander GtkExpander gtk_expander_new gtk_expander_new_with_mnemonic gtk_expander_set_expanded gtk_expander_get_expanded gtk_expander_set_label gtk_expander_get_label gtk_expander_set_use_underline gtk_expander_get_use_underline gtk_expander_set_use_markup gtk_expander_get_use_markup gtk_expander_set_label_widget gtk_expander_get_label_widget gtk_expander_set_resize_toplevel gtk_expander_get_resize_toplevel gtk_expander_set_child gtk_expander_get_child GTK_TYPE_EXPANDER GTK_EXPANDER_CLASS GTK_EXPANDER GTK_IS_EXPANDER GTK_IS_EXPANDER_CLASS GTK_EXPANDER_GET_CLASS gtk_expander_get_type GtkExpanderPrivate
gtkfilechooser GtkFileChooser GtkFileChooser GtkFileChooserAction GTK_FILE_CHOOSER_ERROR GtkFileChooserError gtk_file_chooser_set_action gtk_file_chooser_get_action gtk_file_chooser_set_select_multiple gtk_file_chooser_get_select_multiple gtk_file_chooser_set_create_folders gtk_file_chooser_get_create_folders gtk_file_chooser_set_current_name gtk_file_chooser_get_current_name gtk_file_chooser_get_file gtk_file_chooser_set_file gtk_file_chooser_get_files gtk_file_chooser_set_current_folder gtk_file_chooser_get_current_folder gtk_file_chooser_add_filter gtk_file_chooser_remove_filter gtk_file_chooser_get_filters gtk_file_chooser_set_filter gtk_file_chooser_get_filter gtk_file_chooser_add_shortcut_folder gtk_file_chooser_remove_shortcut_folder gtk_file_chooser_get_shortcut_folders gtk_file_chooser_add_choice gtk_file_chooser_remove_choice gtk_file_chooser_set_choice gtk_file_chooser_get_choice GTK_FILE_CHOOSER GTK_IS_FILE_CHOOSER GTK_TYPE_FILE_CHOOSER gtk_file_chooser_error_quark gtk_file_chooser_get_type
gtkfilechoosernative GtkFileChooserNative GtkFileChooserNative gtk_file_chooser_native_new gtk_file_chooser_native_get_accept_label gtk_file_chooser_native_set_accept_label gtk_file_chooser_native_get_cancel_label gtk_file_chooser_native_set_cancel_label GTK_FILE_CHOOSER_NATIVE GTK_IS_FILE_CHOOSER_NATIVE GTK_TYPE_FILE_CHOOSER_NATIVE GTK_FILE_CHOOSER_NATIVE_CLASS GTK_IS_FILE_CHOOSER_NATIVE_CLASS GTK_FILE_CHOOSER_NATIVE_GET_CLASS gtk_file_chooser_native_get_type
gtkfilechooserdialog GtkFileChooserDialog GtkFileChooserDialog gtk_file_chooser_dialog_new GTK_FILE_CHOOSER_DIALOG GTK_IS_FILE_CHOOSER_DIALOG GTK_TYPE_FILE_CHOOSER_DIALOG GTK_FILE_CHOOSER_DIALOG_CLASS GTK_IS_FILE_CHOOSER_DIALOG_CLASS GTK_FILE_CHOOSER_DIALOG_GET_CLASS gtk_file_chooser_dialog_get_type GtkFileChooserDialogPrivate
gtkfilechooserwidget GtkFileChooserWidget GtkFileChooserWidget gtk_file_chooser_widget_new GTK_FILE_CHOOSER_WIDGET GTK_IS_FILE_CHOOSER_WIDGET GTK_TYPE_FILE_CHOOSER_WIDGET GTK_FILE_CHOOSER_WIDGET_CLASS GTK_IS_FILE_CHOOSER_WIDGET_CLASS GTK_FILE_CHOOSER_WIDGET_GET_CLASS gtk_file_chooser_widget_get_type GtkFileChooserWidgetPrivate
gtkfilechooserbutton GtkFileChooserButton GtkFileChooserButton gtk_file_chooser_button_new gtk_file_chooser_button_new_with_dialog gtk_file_chooser_button_get_title gtk_file_chooser_button_set_title gtk_file_chooser_button_get_width_chars gtk_file_chooser_button_set_width_chars gtk_file_chooser_button_get_modal gtk_file_chooser_button_set_modal GTK_FILE_CHOOSER_BUTTON GTK_IS_FILE_CHOOSER_BUTTON GTK_TYPE_FILE_CHOOSER_BUTTON GTK_FILE_CHOOSER_BUTTON_CLASS GTK_IS_FILE_CHOOSER_BUTTON_CLASS GTK_FILE_CHOOSER_BUTTON_GET_CLASS gtk_file_chooser_button_get_type GtkFileChooserButtonPrivate
gtkfilefilter GtkFileFilter gtk_file_filter_new gtk_file_filter_set_name gtk_file_filter_get_name gtk_file_filter_add_mime_type gtk_file_filter_add_pattern gtk_file_filter_add_pixbuf_formats gtk_file_filter_get_attributes gtk_file_filter_new_from_gvariant gtk_file_filter_to_gvariant GTK_FILE_FILTER GTK_IS_FILE_FILTER GTK_TYPE_FILE_FILTER gtk_file_filter_get_type
gtkdirectorylist GtkDirectoryList GtkDirectoryList gtk_directory_list_new gtk_directory_list_get_attributes gtk_directory_list_set_attributes gtk_directory_list_get_file gtk_directory_list_set_file gtk_directory_list_get_io_priority gtk_directory_list_set_io_priority gtk_directory_list_get_monitored gtk_directory_list_set_monitored gtk_directory_list_is_loading gtk_directory_list_get_error GTK_DIRECTORY_LIST GTK_IS_DIRECTORY_LIST GTK_TYPE_DIRECTORY_LIST GTK_DIRECTORY_LIST_CLASS GTK_IS_DIRECTORY_LIST_CLASS GTK_DIRECTORY_LIST_GET_CLASS gtk_directory_list_get_type
gtkbookmarklist GtkBookmarkList GtkBookmarkList gtk_bookmark_list_new gtk_bookmark_list_get_filename gtk_bookmark_list_set_attributes gtk_bookmark_list_get_attributes gtk_bookmark_list_set_io_priority gtk_bookmark_list_get_io_priority gtk_bookmark_list_is_loading GTK_TYPE_BOOKMARK_LIST
gtkfilter GtkFilter GtkFilter gtk_filter_match gtk_filter_get_strictness GtkFilterChange gtk_filter_changed GTK_FILTER GTK_IS_FILTER GTK_TYPE_FILTER GTK_FILTER_CLASS GTK_IS_FILTER_CLASS GTK_FILTER_GET_CLASS gtk_filter_get_type
gtkcustomfilter GtkCustomFilter GtkCustomFilter GtkCustomFilterFunc gtk_custom_filter_new gtk_custom_filter_set_filter_func GTK_CUSTOM_FILTER GTK_IS_CUSTOM_FILTER GTK_TYPE_CUSTOM_FILTER GTK_CUSTOM_FILTER_CLASS GTK_IS_CUSTOM_FILTER_CLASS GTK_CUSTOM_FILTER_GET_CLASS gtk_custom_filter_get_type
gtkmultifilter GtkMultiFilter GtkMultiFilter gtk_multi_filter_append gtk_multi_filter_remove GtkAnyFilter gtk_any_filter_new GtkEveryFilter gtk_every_filter_new GTK_CUSTOM_FILTER GTK_IS_CUSTOM_FILTER GTK_TYPE_CUSTOM_FILTER GTK_CUSTOM_FILTER_CLASS GTK_IS_CUSTOM_FILTER_CLASS GTK_CUSTOM_FILTER_GET_CLASS gtk_custom_filter_get_type
gtkfilterlistmodel GtkFilterListModel GtkFilterListModel gtk_filter_list_model_new gtk_filter_list_model_set_model gtk_filter_list_model_get_model gtk_filter_list_model_set_filter gtk_filter_list_model_get_filter gtk_filter_list_model_set_incremental gtk_filter_list_model_get_incremental gtk_filter_list_model_get_pending GTK_FILTER_LIST_MODEL GTK_IS_FILTER_LIST_MODEL GTK_TYPE_FILTER_LIST_MODEL GTK_FILTER_LIST_MODEL_CLASS GTK_IS_FILTER_LIST_MODEL_CLASS GTK_FILTER_LIST_MODEL_GET_CLASS gtk_filter_list_model_get_type
gtkfixed GtkFixed GtkFixed gtk_fixed_new gtk_fixed_put gtk_fixed_remove gtk_fixed_move gtk_fixed_get_child_position gtk_fixed_get_child_transform gtk_fixed_set_child_transform GTK_FIXED GTK_IS_FIXED GTK_TYPE_FIXED GTK_FIXED_CLASS GTK_IS_FIXED_CLASS GTK_FIXED_GET_CLASS GtkFixedPrivate GtkFixedChild gtk_fixed_get_type
gtkflattenlistmodel GtkFlattenListModel GtkFlattenListModel gtk_flatten_list_model_new gtk_flatten_list_model_set_model gtk_flatten_list_model_get_model gtk_flatten_list_model_get_model_for_item GTK_FLATTEN_LIST_MODEL GTK_IS_FLATTEN_LIST_MODEL GTK_TYPE_FLATTEN_LIST_MODEL GTK_FLATTEN_LIST_MODEL_CLASS GTK_IS_FLATTEN_LIST_MODEL_CLASS GTK_FLATTEN_LIST_MODEL_GET_CLASS gtk_flatten_list_model_get_type
gtkfontbutton GtkFontButton GtkFontButton gtk_font_button_new gtk_font_button_new_with_font gtk_font_button_set_use_font gtk_font_button_get_use_font gtk_font_button_set_use_size gtk_font_button_get_use_size gtk_font_button_set_title gtk_font_button_get_title gtk_font_button_set_modal gtk_font_button_get_modal GTK_FONT_BUTTON GTK_IS_FONT_BUTTON GTK_TYPE_FONT_BUTTON GTK_FONT_BUTTON_CLASS GTK_IS_FONT_BUTTON_CLASS GTK_FONT_BUTTON_GET_CLASS GtkFontButtonPrivate gtk_font_button_get_type
gtkfontchooser GtkFontChooser GtkFontChooser gtk_font_chooser_get_font_family gtk_font_chooser_get_font_face gtk_font_chooser_get_font_size gtk_font_chooser_get_font gtk_font_chooser_set_font gtk_font_chooser_get_font_desc gtk_font_chooser_set_font_desc gtk_font_chooser_get_font_features gtk_font_chooser_get_language gtk_font_chooser_set_language gtk_font_chooser_get_preview_text gtk_font_chooser_set_preview_text gtk_font_chooser_get_show_preview_entry gtk_font_chooser_set_show_preview_entry GtkFontChooserLevel gtk_font_chooser_get_level gtk_font_chooser_set_level GtkFontFilterFunc gtk_font_chooser_set_filter_func gtk_font_chooser_set_font_map gtk_font_chooser_get_font_map GtkFontChooserIface GTK_TYPE_FONT_CHOOSER GTK_FONT_CHOOSER GTK_FONT_CHOOSER_IFACE GTK_IS_FONT_CHOOSER GTK_IS_FONT_CHOOSER_IFACE GTK_FONT_CHOOSER_GET_IFACE GTK_FONT_CHOOSER_DELEGATE_QUARK gtk_font_chooser_get_type
gtkfontchooserwidget GtkFontChooserWidget GtkFontChooserWidget gtk_font_chooser_widget_new GTK_TYPE_FONT_CHOOSER_WIDGET GTK_FONT_CHOOSER_WIDGET GTK_FONT_CHOOSER_WIDGET_CLASS GTK_IS_FONT_CHOOSER_WIDGET GTK_IS_FONT_CHOOSER_WIDGET_CLASS GTK_FONT_CHOOSER_WIDGET_GET_CLASS GtkFontChooserWidgetPrivate gtk_font_chooser_widget_get_type
gtkfontchooserdialog GtkFontChooserDialog GtkFontChooserDialog gtk_font_chooser_dialog_new GTK_TYPE_FONT_CHOOSER_DIALOG GTK_FONT_CHOOSER_DIALOG GTK_FONT_CHOOSER_DIALOG_CLASS GTK_IS_FONT_CHOOSER_DIALOG GTK_IS_FONT_CHOOSER_DIALOG_CLASS GTK_FONT_CHOOSER_DIALOG_GET_CLASS GtkFontChooserDialogPrivate gtk_font_chooser_dialog_get_type
gtkframe GtkFrame GtkFrame GtkFrameClass gtk_frame_new gtk_frame_set_child gtk_frame_get_child gtk_frame_set_label gtk_frame_get_label gtk_frame_set_label_widget gtk_frame_get_label_widget gtk_frame_set_label_align gtk_frame_get_label_align GTK_FRAME GTK_IS_FRAME GTK_TYPE_FRAME GTK_FRAME_CLASS GTK_IS_FRAME_CLASS GTK_FRAME_GET_CLASS GtkFramePrivate gtk_frame_get_type
gtkiconview GtkIconView GtkIconView GtkIconViewForeachFunc gtk_icon_view_new gtk_icon_view_new_with_area gtk_icon_view_new_with_model gtk_icon_view_set_model gtk_icon_view_get_model gtk_icon_view_set_text_column gtk_icon_view_get_text_column gtk_icon_view_set_markup_column gtk_icon_view_get_markup_column gtk_icon_view_set_pixbuf_column gtk_icon_view_get_pixbuf_column gtk_icon_view_get_path_at_pos gtk_icon_view_get_item_at_pos gtk_icon_view_set_cursor gtk_icon_view_get_cursor gtk_icon_view_selected_foreach gtk_icon_view_set_selection_mode gtk_icon_view_get_selection_mode gtk_icon_view_set_item_orientation gtk_icon_view_get_item_orientation gtk_icon_view_set_columns gtk_icon_view_get_columns gtk_icon_view_set_item_width gtk_icon_view_get_item_width gtk_icon_view_set_spacing gtk_icon_view_get_spacing gtk_icon_view_set_row_spacing gtk_icon_view_get_row_spacing gtk_icon_view_set_column_spacing gtk_icon_view_get_column_spacing gtk_icon_view_set_margin gtk_icon_view_get_margin gtk_icon_view_set_item_padding gtk_icon_view_get_item_padding gtk_icon_view_set_activate_on_single_click gtk_icon_view_get_activate_on_single_click gtk_icon_view_get_cell_rect gtk_icon_view_select_path gtk_icon_view_unselect_path gtk_icon_view_path_is_selected gtk_icon_view_get_selected_items gtk_icon_view_select_all gtk_icon_view_unselect_all gtk_icon_view_item_activated gtk_icon_view_scroll_to_path gtk_icon_view_get_visible_range gtk_icon_view_set_tooltip_item gtk_icon_view_set_tooltip_cell gtk_icon_view_get_tooltip_context gtk_icon_view_set_tooltip_column gtk_icon_view_get_tooltip_column gtk_icon_view_get_item_row gtk_icon_view_get_item_column GtkIconViewDropPosition gtk_icon_view_enable_model_drag_source gtk_icon_view_enable_model_drag_dest gtk_icon_view_unset_model_drag_source gtk_icon_view_unset_model_drag_dest gtk_icon_view_set_reorderable gtk_icon_view_get_reorderable gtk_icon_view_set_drag_dest_item gtk_icon_view_get_drag_dest_item gtk_icon_view_get_dest_item_at_pos gtk_icon_view_create_drag_icon GTK_ICON_VIEW_CLASS GTK_IS_ICON_VIEW GTK_IS_ICON_VIEW_CLASS GTK_ICON_VIEW_GET_CLASS GTK_TYPE_ICON_VIEW GTK_ICON_VIEW gtk_icon_view_get_type GtkIconViewPrivate
gtkimage GtkImage GtkImage GtkImageType gtk_image_new gtk_image_new_from_file gtk_image_new_from_resource gtk_image_new_from_pixbuf gtk_image_new_from_paintable gtk_image_new_from_icon_name gtk_image_new_from_gicon gtk_image_clear gtk_image_set_from_file gtk_image_set_from_resource gtk_image_set_from_pixbuf gtk_image_set_from_paintable gtk_image_set_from_icon_name gtk_image_set_from_gicon gtk_image_get_storage_type gtk_image_get_paintable gtk_image_get_icon_name gtk_image_get_gicon gtk_image_set_pixel_size gtk_image_get_pixel_size gtk_image_set_icon_size gtk_image_get_icon_size GTK_IMAGE GTK_IS_IMAGE GTK_TYPE_IMAGE GTK_IMAGE_CLASS GTK_IS_IMAGE_CLASS GTK_IMAGE_GET_CLASS GtkImagePrivate gtk_image_get_type GtkImagePixbufData GtkImageAnimationData GtkImageIconNameData GtkImageGIconData
gtkimcontext GtkIMContext GtkIMContext GtkIMContextClass gtk_im_context_get_preedit_string gtk_im_context_filter_keypress gtk_im_context_filter_key gtk_im_context_focus_in gtk_im_context_focus_out gtk_im_context_reset gtk_im_context_set_client_widget gtk_im_context_set_cursor_location gtk_im_context_set_use_preedit gtk_im_context_set_surrounding gtk_im_context_get_surrounding gtk_im_context_delete_surrounding GTK_IM_CONTEXT GTK_IS_IM_CONTEXT GTK_TYPE_IM_CONTEXT GTK_IM_CONTEXT_CLASS GTK_IS_IM_CONTEXT_CLASS GTK_IM_CONTEXT_GET_CLASS gtk_im_context_get_type
gtkimcontextsimple GtkIMContextSimple GtkIMContextSimple gtk_im_context_simple_new gtk_im_context_simple_add_table gtk_im_context_simple_add_compose_file GTK_MAX_COMPOSE_LEN GTK_IM_CONTEXT_SIMPLE GTK_IS_IM_CONTEXT_SIMPLE GTK_TYPE_IM_CONTEXT_SIMPLE GTK_IM_CONTEXT_SIMPLE_CLASS GTK_IS_IM_CONTEXT_SIMPLE_CLASS GTK_IM_CONTEXT_SIMPLE_GET_CLASS GtkIMContextSimplePrivate gtk_im_context_simple_get_type
gtkimmulticontext GtkIMMulticontext GtkIMMulticontext gtk_im_multicontext_new gtk_im_multicontext_get_context_id gtk_im_multicontext_set_context_id GTK_IM_MULTICONTEXT GTK_IS_IM_MULTICONTEXT GTK_TYPE_IM_MULTICONTEXT GTK_IM_MULTICONTEXT_CLASS GTK_IS_IM_MULTICONTEXT_CLASS GTK_IM_MULTICONTEXT_GET_CLASS gtk_im_multicontext_get_type GtkIMMulticontextPrivate
gtklabel GtkLabel GtkLabel gtk_label_new gtk_label_set_text gtk_label_set_attributes gtk_label_set_markup gtk_label_set_markup_with_mnemonic gtk_label_set_justify gtk_label_set_xalign gtk_label_set_yalign gtk_label_set_ellipsize gtk_label_set_width_chars gtk_label_set_max_width_chars gtk_label_set_wrap gtk_label_set_wrap_mode gtk_label_set_lines gtk_label_get_layout_offsets gtk_label_get_mnemonic_keyval gtk_label_get_selectable gtk_label_get_text gtk_label_new_with_mnemonic gtk_label_select_region gtk_label_set_mnemonic_widget gtk_label_set_selectable gtk_label_set_text_with_mnemonic gtk_label_get_attributes gtk_label_get_justify gtk_label_get_xalign gtk_label_get_yalign gtk_label_get_ellipsize gtk_label_get_width_chars gtk_label_get_max_width_chars gtk_label_get_label gtk_label_get_layout gtk_label_get_wrap gtk_label_get_wrap_mode gtk_label_get_lines gtk_label_get_mnemonic_widget gtk_label_get_selection_bounds gtk_label_get_use_markup gtk_label_get_use_underline gtk_label_get_single_line_mode gtk_label_set_label gtk_label_set_use_markup gtk_label_set_use_underline gtk_label_set_single_line_mode gtk_label_get_current_uri gtk_label_set_extra_menu gtk_label_get_extra_menu GTK_LABEL GTK_IS_LABEL GTK_TYPE_LABEL GTK_LABEL_CLASS GTK_IS_LABEL_CLASS GTK_LABEL_GET_CLASS gtk_label_get_type GtkLabelPrivate GtkLabelSelectionInfo
gtklinkbutton GtkLinkButton GtkLinkButton gtk_link_button_new gtk_link_button_new_with_label gtk_link_button_get_uri gtk_link_button_set_uri gtk_link_button_get_visited gtk_link_button_set_visited GTK_TYPE_LINK_BUTTON GTK_LINK_BUTTON GTK_IS_LINK_BUTTON GTK_LINK_BUTTON_CLASS GTK_IS_LINK_BUTTON_CLASS GTK_LINK_BUTTON_GET_CLASS GtkLinkButtonPrivate gtk_link_button_get_type
gtkmaplistmodel GtkMapListModel GtkMapListModel GtkMapListModelMapFunc gtk_map_list_model_new gtk_map_list_model_set_map_func gtk_map_list_model_set_model gtk_map_list_model_get_model gtk_map_list_model_has_map GTK_MAP_LIST_MODEL GTK_IS_MAP_LIST_MODEL GTK_TYPE_MAP_LIST_MODEL GTK_MAP_LIST_MODEL_CLASS GTK_IS_MAP_LIST_MODEL_CLASS GTK_MAP_LIST_MODEL_GET_CLASS gtk_map_list_model_get_type
gtkmenubutton GtkMenuButton GtkMenuButton gtk_menu_button_new gtk_menu_button_set_popover gtk_menu_button_get_popover gtk_menu_button_set_menu_model gtk_menu_button_get_menu_model GtkArrowType gtk_menu_button_set_direction gtk_menu_button_get_direction gtk_menu_button_set_icon_name gtk_menu_button_get_icon_name gtk_menu_button_set_label gtk_menu_button_get_label gtk_menu_button_set_has_frame gtk_menu_button_get_has_frame gtk_menu_button_get_use_underline gtk_menu_button_set_use_underline gtk_menu_button_popup gtk_menu_button_popdown GtkMenuButtonCreatePopupFunc gtk_menu_button_set_create_popup_func GTK_TYPE_MENU_BUTTON GTK_MENU_BUTTON GTK_MENU_BUTTON_CLASS GTK_IS_MENU_BUTTON GTK_IS_MENU_BUTTON_CLASS GTK_MENU_BUTTON_GET_CLASS GtkMenuButtonPrivate gtk_menu_button_get_type
gtkmessagedialog GtkMessageDialog GtkMessageDialog GtkMessageType GtkButtonsType gtk_message_dialog_new gtk_message_dialog_new_with_markup gtk_message_dialog_set_markup gtk_message_dialog_format_secondary_text gtk_message_dialog_format_secondary_markup gtk_message_dialog_get_message_area GTK_MESSAGE_DIALOG GTK_IS_MESSAGE_DIALOG GTK_TYPE_MESSAGE_DIALOG GTK_MESSAGE_DIALOG_CLASS GTK_IS_MESSAGE_DIALOG_CLASS GTK_MESSAGE_DIALOG_GET_CLASS GtkMessageDialogPrivate gtk_message_dialog_get_type
gtkinfobar GtkInfoBar GtkInfoBar gtk_info_bar_new gtk_info_bar_new_with_buttons gtk_info_bar_add_action_widget gtk_info_bar_remove_action_widget gtk_info_bar_add_button gtk_info_bar_add_buttons gtk_info_bar_set_response_sensitive gtk_info_bar_set_default_response gtk_info_bar_response gtk_info_bar_set_message_type gtk_info_bar_get_message_type gtk_info_bar_get_show_close_button gtk_info_bar_set_show_close_button gtk_info_bar_get_revealed gtk_info_bar_set_revealed gtk_info_bar_add_child gtk_info_bar_remove_child GTK_TYPE_INFO_BAR GTK_INFO_BAR GTK_INFO_BAR_CLASS GTK_IS_INFO_BAR GTK_IS_INFO_BAR_CLASS GTK_INFO_BAR_GET_CLASS GtkInfoBarPrivate gtk_info_bar_get_type
gtknativedialog GtkNativeDialog GtkNativeDialog GtkNativeDialogClass gtk_native_dialog_show gtk_native_dialog_hide gtk_native_dialog_destroy gtk_native_dialog_get_visible gtk_native_dialog_set_modal gtk_native_dialog_get_modal gtk_native_dialog_set_title gtk_native_dialog_get_title gtk_native_dialog_set_transient_for gtk_native_dialog_get_transient_for GTK_TYPE_NATIVE_DIALOG gtk_native_dialog_get_type
gtknotebook GtkNotebook GtkNotebook GtkNotebookPage gtk_notebook_new gtk_notebook_get_page gtk_notebook_get_pages gtk_notebook_page_get_child gtk_notebook_append_page gtk_notebook_append_page_menu gtk_notebook_prepend_page gtk_notebook_prepend_page_menu gtk_notebook_insert_page gtk_notebook_insert_page_menu gtk_notebook_remove_page gtk_notebook_detach_tab gtk_notebook_page_num gtk_notebook_next_page gtk_notebook_prev_page gtk_notebook_reorder_child gtk_notebook_set_tab_pos gtk_notebook_set_show_tabs gtk_notebook_set_show_border gtk_notebook_set_scrollable gtk_notebook_popup_enable gtk_notebook_popup_disable gtk_notebook_get_current_page gtk_notebook_get_menu_label gtk_notebook_get_nth_page gtk_notebook_get_n_pages gtk_notebook_get_tab_label gtk_notebook_set_menu_label gtk_notebook_set_menu_label_text gtk_notebook_set_tab_label gtk_notebook_set_tab_label_text gtk_notebook_set_tab_reorderable gtk_notebook_set_tab_detachable gtk_notebook_get_menu_label_text gtk_notebook_get_scrollable gtk_notebook_get_show_border gtk_notebook_get_show_tabs gtk_notebook_get_tab_label_text gtk_notebook_get_tab_pos gtk_notebook_get_tab_reorderable gtk_notebook_get_tab_detachable gtk_notebook_set_current_page gtk_notebook_set_group_name gtk_notebook_get_group_name gtk_notebook_set_action_widget gtk_notebook_get_action_widget GTK_NOTEBOOK GTK_IS_NOTEBOOK GTK_TYPE_NOTEBOOK GTK_NOTEBOOK_CLASS GTK_IS_NOTEBOOK_CLASS GTK_NOTEBOOK_GET_CLASS gtk_notebook_get_type gtk_notebook_page_get_type GtkNotebookTab GtkNotebookPrivate
gtkpaned GtkPaned GtkPaned gtk_paned_new gtk_paned_set_start_child gtk_paned_get_start_child gtk_paned_set_end_child gtk_paned_get_end_child gtk_paned_set_resize_start_child gtk_paned_get_resize_start_child gtk_paned_set_resize_end_child gtk_paned_get_resize_end_child gtk_paned_set_shrink_start_child gtk_paned_get_shrink_start_child gtk_paned_set_shrink_end_child gtk_paned_get_shrink_end_child gtk_paned_set_position gtk_paned_get_position gtk_paned_set_wide_handle gtk_paned_get_wide_handle GTK_PANED GTK_IS_PANED GTK_TYPE_PANED GTK_PANED_CLASS GTK_IS_PANED_CLASS GTK_PANED_GET_CLASS GtkPanedPrivate gtk_paned_get_type
gtkpicture GtkPicture GtkPicture gtk_picture_new gtk_picture_new_for_paintable gtk_picture_new_for_pixbuf gtk_picture_new_for_file gtk_picture_new_for_filename gtk_picture_new_for_resource gtk_picture_set_paintable gtk_picture_get_paintable gtk_picture_set_pixbuf gtk_picture_set_file gtk_picture_get_file gtk_picture_set_filename gtk_picture_set_resource gtk_picture_set_keep_aspect_ratio gtk_picture_get_keep_aspect_ratio gtk_picture_set_can_shrink gtk_picture_get_can_shrink gtk_picture_set_alternative_text gtk_picture_get_alternative_text GTK_PICTURE GTK_IS_PICTURE GTK_TYPE_PICTURE GTK_PICTURE_CLASS GTK_IS_PICTURE_CLASS GTK_PICTURE_GET_CLASS gtk_picture_get_type
gtkprogressbar GtkProgressBar GtkProgressBar gtk_progress_bar_new gtk_progress_bar_pulse gtk_progress_bar_set_fraction gtk_progress_bar_get_fraction gtk_progress_bar_set_inverted gtk_progress_bar_get_inverted gtk_progress_bar_set_show_text gtk_progress_bar_get_show_text gtk_progress_bar_set_text gtk_progress_bar_get_text gtk_progress_bar_set_ellipsize gtk_progress_bar_get_ellipsize gtk_progress_bar_set_pulse_step gtk_progress_bar_get_pulse_step GTK_PROGRESS_BAR GTK_IS_PROGRESS_BAR GTK_TYPE_PROGRESS_BAR GTK_PROGRESS_BAR_CLASS GTK_IS_PROGRESS_BAR_CLASS GTK_PROGRESS_BAR_GET_CLASS GtkProgressBarPrivate gtk_progress_bar_get_type
gtkradiobutton GtkRadioButton GtkRadioButton gtk_radio_button_new gtk_radio_button_new_from_widget gtk_radio_button_new_with_label gtk_radio_button_new_with_label_from_widget gtk_radio_button_new_with_mnemonic gtk_radio_button_new_with_mnemonic_from_widget gtk_radio_button_set_group gtk_radio_button_get_group gtk_radio_button_join_group GTK_RADIO_BUTTON GTK_IS_RADIO_BUTTON GTK_TYPE_RADIO_BUTTON GTK_RADIO_BUTTON_CLASS GTK_IS_RADIO_BUTTON_CLASS GTK_RADIO_BUTTON_GET_CLASS GtkRadioButtonPrivate gtk_radio_button_get_type
gtkrange GtkRange GtkRange gtk_range_get_fill_level gtk_range_get_restrict_to_fill_level gtk_range_get_show_fill_level gtk_range_set_fill_level gtk_range_set_restrict_to_fill_level gtk_range_set_show_fill_level gtk_range_get_adjustment gtk_range_set_adjustment gtk_range_get_inverted gtk_range_set_inverted gtk_range_get_value gtk_range_set_value gtk_range_set_increments gtk_range_set_range gtk_range_get_round_digits gtk_range_set_round_digits gtk_range_get_flippable gtk_range_set_flippable gtk_range_get_range_rect gtk_range_get_slider_range gtk_range_get_slider_size_fixed gtk_range_set_slider_size_fixed GTK_RANGE GTK_IS_RANGE GTK_TYPE_RANGE GTK_RANGE_CLASS GTK_IS_RANGE_CLASS GTK_RANGE_GET_CLASS gtk_range_get_type GtkRangePrivate
gtkrecentmanager GtkRecentManager GtkRecentManager GtkRecentInfo GtkRecentData GTK_RECENT_MANAGER_ERROR GtkRecentManagerError gtk_recent_manager_new gtk_recent_manager_get_default gtk_recent_manager_add_item gtk_recent_manager_add_full gtk_recent_manager_remove_item gtk_recent_manager_lookup_item gtk_recent_manager_has_item gtk_recent_manager_move_item gtk_recent_manager_get_items gtk_recent_manager_purge_items gtk_recent_info_ref gtk_recent_info_unref gtk_recent_info_get_uri gtk_recent_info_get_display_name gtk_recent_info_get_description gtk_recent_info_get_mime_type gtk_recent_info_get_added gtk_recent_info_get_modified gtk_recent_info_get_visited gtk_recent_info_get_private_hint gtk_recent_info_get_application_info gtk_recent_info_get_applications gtk_recent_info_last_application gtk_recent_info_has_application gtk_recent_info_create_app_info gtk_recent_info_get_groups gtk_recent_info_has_group gtk_recent_info_get_gicon gtk_recent_info_get_short_name gtk_recent_info_get_uri_display gtk_recent_info_get_age gtk_recent_info_is_local gtk_recent_info_exists gtk_recent_info_match GTK_RECENT_MANAGER GTK_IS_RECENT_MANAGER GTK_TYPE_RECENT_MANAGER GTK_RECENT_MANAGER_CLASS GTK_IS_RECENT_MANAGER_CLASS GTK_RECENT_MANAGER_GET_CLASS GTK_TYPE_RECENT_INFO gtk_recent_manager_get_type gtk_recent_info_get_type GtkRecentManagerPrivate gtk_recent_manager_error_quark
gtkscale GtkScale GtkScale GtkScaleFormatValueFunc gtk_scale_new gtk_scale_new_with_range gtk_scale_set_format_value_func gtk_scale_set_digits gtk_scale_set_draw_value gtk_scale_set_has_origin gtk_scale_set_value_pos gtk_scale_get_digits gtk_scale_get_draw_value gtk_scale_get_has_origin gtk_scale_get_value_pos gtk_scale_get_layout gtk_scale_get_layout_offsets gtk_scale_add_mark gtk_scale_clear_marks GTK_SCALE GTK_IS_SCALE GTK_TYPE_SCALE GTK_SCALE_CLASS GTK_IS_SCALE_CLASS GTK_SCALE_GET_CLASS GtkScalePrivate gtk_scale_get_type
gtkscalebutton GtkScaleButton GtkScaleButton gtk_scale_button_new gtk_scale_button_set_adjustment gtk_scale_button_set_icons gtk_scale_button_set_value gtk_scale_button_get_adjustment gtk_scale_button_get_value gtk_scale_button_get_popup gtk_scale_button_get_plus_button gtk_scale_button_get_minus_button GTK_SCALE_BUTTON GTK_IS_SCALE_BUTTON GTK_TYPE_SCALE_BUTTON GTK_SCALE_BUTTON_CLASS GTK_IS_SCALE_BUTTON_CLASS GTK_SCALE_BUTTON_GET_CLASS GtkScaleButtonPrivate gtk_scale_button_get_type
gtkscrollable GtkScrollable GtkScrollable gtk_scrollable_get_hadjustment gtk_scrollable_set_hadjustment gtk_scrollable_get_vadjustment gtk_scrollable_set_vadjustment GtkScrollablePolicy gtk_scrollable_get_hscroll_policy gtk_scrollable_set_hscroll_policy gtk_scrollable_get_vscroll_policy gtk_scrollable_set_vscroll_policy gtk_scrollable_get_border GtkScrollableInterface GTK_TYPE_SCROLLABLE GTK_SCROLLABLE GTK_IS_SCROLLABLE GTK_SCROLLABLE_GET_IFACE gtk_scrollable_get_type
gtkscrollbar GtkScrollbar GtkScrollbar gtk_scrollbar_new gtk_scrollbar_get_adjustment gtk_scrollbar_set_adjustment GTK_SCROLLBAR GTK_IS_SCROLLBAR GTK_TYPE_SCROLLBAR GTK_SCROLLBAR_CLASS GTK_IS_SCROLLBAR_CLASS GTK_SCROLLBAR_GET_CLASS gtk_scrollbar_get_type
gtkscrolledwindow GtkScrolledWindow GtkScrolledWindow gtk_scrolled_window_new gtk_scrolled_window_get_child gtk_scrolled_window_set_child gtk_scrolled_window_get_hadjustment gtk_scrolled_window_set_hadjustment gtk_scrolled_window_get_vadjustment gtk_scrolled_window_set_vadjustment gtk_scrolled_window_get_hscrollbar gtk_scrolled_window_get_vscrollbar GtkPolicyType gtk_scrolled_window_get_policy gtk_scrolled_window_set_policy GtkCornerType gtk_scrolled_window_get_placement gtk_scrolled_window_set_placement gtk_scrolled_window_unset_placement gtk_scrolled_window_get_has_frame gtk_scrolled_window_set_has_frame gtk_scrolled_window_get_kinetic_scrolling gtk_scrolled_window_set_kinetic_scrolling gtk_scrolled_window_get_capture_button_press gtk_scrolled_window_set_capture_button_press gtk_scrolled_window_get_overlay_scrolling gtk_scrolled_window_set_overlay_scrolling gtk_scrolled_window_get_min_content_width gtk_scrolled_window_set_min_content_width gtk_scrolled_window_get_min_content_height gtk_scrolled_window_set_min_content_height gtk_scrolled_window_get_max_content_width gtk_scrolled_window_set_max_content_width gtk_scrolled_window_get_max_content_height gtk_scrolled_window_set_max_content_height gtk_scrolled_window_get_propagate_natural_width gtk_scrolled_window_set_propagate_natural_width gtk_scrolled_window_get_propagate_natural_height gtk_scrolled_window_set_propagate_natural_height GTK_SCROLLED_WINDOW GTK_IS_SCROLLED_WINDOW GTK_TYPE_SCROLLED_WINDOW GTK_SCROLLED_WINDOW_CLASS GTK_IS_SCROLLED_WINDOW_CLASS GTK_SCROLLED_WINDOW_GET_CLASS gtk_scrolled_window_get_type GtkScrolledWindowPrivate
gtksearchbar GtkSearchBar GtkSearchBar gtk_search_bar_new gtk_search_bar_set_child gtk_search_bar_get_child gtk_search_bar_connect_entry gtk_search_bar_get_search_mode gtk_search_bar_set_search_mode gtk_search_bar_get_show_close_button gtk_search_bar_set_show_close_button gtk_search_bar_set_key_capture_widget gtk_search_bar_get_key_capture_widget GTK_TYPE_SEARCH_BAR GTK_SEARCH_BAR GTK_SEARCH_BAR_CLASS GTK_IS_SEARCH_BAR GTK_IS_SEARCH_BAR_CLASS GTK_SEARCH_BAR_GET_CLASS gtk_search_bar_get_type
gtksearchentry GtkSearchEntry GtkSearchEntry gtk_search_entry_new gtk_search_entry_set_key_capture_widget gtk_search_entry_get_key_capture_widget GTK_TYPE_SEARCH_ENTRY GTK_SEARCH_ENTRY GTK_SEARCH_ENTRY_CLASS GTK_IS_SEARCH_ENTRY GTK_IS_SEARCH_ENTRY_CLASS GTK_SEARCH_ENTRY_GET_CLASS gtk_search_entry_get_type
gtkseparator GtkSeparator GtkSeparator gtk_separator_new GTK_SEPARATOR GTK_IS_SEPARATOR GTK_TYPE_SEPARATOR GTK_SEPARATOR_CLASS GTK_IS_SEPARATOR_CLASS GTK_SEPARATOR_GET_CLASS gtk_separator_get_type GtkSeparatorPrivate
gtksettings GtkSettings GtkSettings GtkSettingsValue gtk_settings_get_default gtk_settings_get_for_display gtk_settings_reset_property GtkSystemSetting GtkSettingsClass GTK_IS_SETTINGS GTK_IS_SETTINGS_CLASS GTK_SETTINGS GTK_SETTINGS_CLASS GTK_SETTINGS_GET_CLASS GTK_TYPE_SETTINGS GtkSettingsPrivate gtk_settings_get_type GtkSettingsPropertyValue
gtksizegroup GtkSizeGroup GtkSizeGroup GtkSizeGroupMode gtk_size_group_new gtk_size_group_set_mode gtk_size_group_get_mode gtk_size_group_add_widget gtk_size_group_remove_widget gtk_size_group_get_widgets GTK_SIZE_GROUP GTK_IS_SIZE_GROUP GTK_TYPE_SIZE_GROUP GTK_SIZE_GROUP_CLASS GTK_IS_SIZE_GROUP_CLASS GTK_SIZE_GROUP_GET_CLASS GtkSizeGroupPrivate gtk_size_group_get_type
gtkslicelistmodel GtkSliceListModel GtkSliceListModel gtk_slice_list_model_new gtk_slice_list_model_set_model gtk_slice_list_model_get_model gtk_slice_list_model_set_offset gtk_slice_list_model_get_offset gtk_slice_list_model_set_size gtk_slice_list_model_get_size GTK_SLICE_LIST_MODEL GTK_IS_SLICE_LIST_MODEL GTK_TYPE_SLICE_LIST_MODEL GTK_SLICE_LIST_MODEL_CLASS GTK_IS_SLICE_LIST_MODEL_CLASS GTK_SLICE_LIST_MODEL_GET_CLASS gtk_slice_list_model_get_type
gtksorter GtkSorter GtkSorter GtkSorterOrder GtkSorterChange gtk_sorter_compare gtk_sorter_get_order gtk_sorter_changed GTK_SORTER GTK_IS_SORTER GTK_TYPE_SORTER GTK_SORTER_CLASS GTK_IS_SORTER_CLASS GTK_SORTER_GET_CLASS gtk_sorter_get_type
gtkstringsorter GtkStringSorter GtkStringSorter gtk_string_sorter_new gtk_string_sorter_get_expression gtk_string_sorter_set_expression gtk_string_sorter_get_ignore_case gtk_string_sorter_set_ignore_case GTK_STRING_SORTER GTK_IS_STRING_SORTER GTK_TYPE_STRING_SORTER GTK_IS_STRING_SORTER_CLASS GTK_STRING_SORTER_GET_CLASS gtk_string_sorter_get_type
gtknumericsorter GtkNumericSorter GtkNumericSorter gtk_numeric_sorter_new gtk_numeric_sorter_get_expression gtk_numeric_sorter_set_expression gtk_numeric_sorter_get_sort_order gtk_numeric_sorter_set_sort_order GTK_NUMERIC_SORTER GTK_IS_NUMERIC_SORTER GTK_TYPE_NUMERIC_SORTER GTK_IS_NUMERIC_SORTER_CLASS GTK_NUMERIC_SORTER_GET_CLASS gtk_numeric_sorter_get_type
gtkcustomsorter GtkCustomSorter GtkCustomSorter gtk_custom_sorter_new gtk_custom_sorter_set_sort_func GTK_CUSTOM_SORTER GTK_IS_CUSTOM_SORTER GTK_TYPE_CUSTOM_SORTER GTK_IS_CUSTOM_SORTER_CLASS GTK_CUSTOM_SORTER_GET_CLASS gtk_custom_sorter_get_type
gtkmultisorter GtkMultiSorter GtkMultiSorter gtk_multi_sorter_new gtk_multi_sorter_append gtk_multi_sorter_remove GTK_MULTI_SORTER GTK_IS_MULTI_SORTER GTK_TYPE_MULTI_SORTER GTK_IS_MULTI_SORTER_CLASS GTK_MULTI_SORTER_GET_CLASS gtk_multi_sorter_get_type
gtktreelistrowsorter GtkTreeListRowSorter GtkTreeListRowSorter gtk_tree_list_row_sorter_new gtk_tree_list_row_sorter_get_sorter gtk_tree_list_row_sorter_set_sorter GTK_TREE_LIST_ROW_SORTER GTK_IS_TREE_LIST_ROW_SORTER GTK_TYPE_TREE_LIST_ROW_SORTER GTK_IS_TREE_LIST_ROW_SORTER_CLASS GTK_TREE_LIST_ROW_SORTER_GET_CLASS gtk_tree_list_row_sorter_get_type
gtksortlistmodel GtkSortListModel GtkSortListModel gtk_sort_list_model_new gtk_sort_list_model_set_sorter gtk_sort_list_model_get_sorter gtk_sort_list_model_set_model gtk_sort_list_model_get_model gtk_sort_list_model_set_incremental gtk_sort_list_model_get_incremental gtk_sort_list_model_get_pending GTK_SORT_LIST_MODEL GTK_IS_SORT_LIST_MODEL GTK_TYPE_SORT_LIST_MODEL GTK_SORT_LIST_MODEL_CLASS GTK_IS_SORT_LIST_MODEL_CLASS GTK_SORT_LIST_MODEL_GET_CLASS gtk_sort_list_model_get_type
gtkspinbutton GtkSpinButton GtkSpinButton GtkSpinButtonUpdatePolicy GtkSpinType gtk_spin_button_configure gtk_spin_button_new gtk_spin_button_new_with_range gtk_spin_button_set_adjustment gtk_spin_button_get_adjustment gtk_spin_button_set_digits gtk_spin_button_set_increments gtk_spin_button_set_range gtk_spin_button_get_value_as_int gtk_spin_button_set_value gtk_spin_button_set_update_policy gtk_spin_button_set_numeric gtk_spin_button_spin gtk_spin_button_set_wrap gtk_spin_button_set_snap_to_ticks gtk_spin_button_update gtk_spin_button_get_digits gtk_spin_button_get_increments gtk_spin_button_get_numeric gtk_spin_button_get_range gtk_spin_button_get_snap_to_ticks gtk_spin_button_get_update_policy gtk_spin_button_get_value gtk_spin_button_get_wrap GTK_INPUT_ERROR GTK_SPIN_BUTTON GTK_IS_SPIN_BUTTON GTK_TYPE_SPIN_BUTTON GTK_SPIN_BUTTON_CLASS GTK_IS_SPIN_BUTTON_CLASS GTK_SPIN_BUTTON_GET_CLASS GtkSpinButtonPrivate gtk_spin_button_get_type
gtkspinner GtkSpinner GtkSpinner gtk_spinner_new gtk_spinner_start gtk_spinner_stop gtk_spinner_set_spinning gtk_spinner_get_spinning GTK_SPINNER GTK_IS_SPINNER GTK_TYPE_SPINNER GTK_SPINNER_CLASS GTK_IS_SPINNER_CLASS GTK_SPINNER_GET_CLASS GtkSpinnerPrivate gtk_spinner_get_type
gtkstatusbar GtkStatusbar GtkStatusbar gtk_statusbar_new gtk_statusbar_get_context_id gtk_statusbar_push gtk_statusbar_pop gtk_statusbar_remove gtk_statusbar_remove_all GTK_STATUSBAR GTK_IS_STATUSBAR GTK_TYPE_STATUSBAR GTK_STATUSBAR_CLASS GTK_IS_STATUSBAR_CLASS GTK_STATUSBAR_GET_CLASS GtkStatusbarPrivate gtk_statusbar_get_type
gtklevelbar GtkLevelBar GTK_LEVEL_BAR_OFFSET_LOW GTK_LEVEL_BAR_OFFSET_HIGH GTK_LEVEL_BAR_OFFSET_FULL GtkLevelBarMode GtkLevelBar gtk_level_bar_new gtk_level_bar_new_for_interval gtk_level_bar_set_mode gtk_level_bar_get_mode gtk_level_bar_set_value gtk_level_bar_get_value gtk_level_bar_set_min_value gtk_level_bar_get_min_value gtk_level_bar_set_max_value gtk_level_bar_get_max_value gtk_level_bar_set_inverted gtk_level_bar_get_inverted gtk_level_bar_add_offset_value gtk_level_bar_remove_offset_value gtk_level_bar_get_offset_value GTK_LEVEL_BAR GTK_IS_LEVEL_BAR GTK_TYPE_LEVEL_BAR GTK_LEVEL_BAR_CLASS GTK_IS_LEVEL_BAR_CLASS GTK_LEVEL_BAR_GET_CLASS GtkLevelBarPrivate gtk_level_bar_get_type
gtktextbuffer GtkTextBuffer GtkTextBuffer GtkTextBufferClass gtk_text_buffer_new gtk_text_buffer_get_line_count gtk_text_buffer_get_char_count gtk_text_buffer_get_tag_table gtk_text_buffer_insert gtk_text_buffer_insert_at_cursor gtk_text_buffer_insert_interactive gtk_text_buffer_insert_interactive_at_cursor gtk_text_buffer_insert_range gtk_text_buffer_insert_range_interactive gtk_text_buffer_insert_with_tags gtk_text_buffer_insert_with_tags_by_name gtk_text_buffer_insert_markup gtk_text_buffer_insert_paintable gtk_text_buffer_delete gtk_text_buffer_delete_interactive gtk_text_buffer_backspace gtk_text_buffer_set_text gtk_text_buffer_get_text gtk_text_buffer_get_slice gtk_text_buffer_insert_child_anchor gtk_text_buffer_create_child_anchor gtk_text_buffer_create_mark gtk_text_buffer_move_mark gtk_text_buffer_move_mark_by_name gtk_text_buffer_add_mark gtk_text_buffer_delete_mark gtk_text_buffer_delete_mark_by_name gtk_text_buffer_get_mark gtk_text_buffer_get_insert gtk_text_buffer_get_selection_bound gtk_text_buffer_get_has_selection gtk_text_buffer_place_cursor gtk_text_buffer_select_range gtk_text_buffer_apply_tag gtk_text_buffer_remove_tag gtk_text_buffer_apply_tag_by_name gtk_text_buffer_remove_tag_by_name gtk_text_buffer_remove_all_tags gtk_text_buffer_create_tag gtk_text_buffer_get_iter_at_line_offset gtk_text_buffer_get_iter_at_offset gtk_text_buffer_get_iter_at_line gtk_text_buffer_get_iter_at_line_index gtk_text_buffer_get_iter_at_mark gtk_text_buffer_get_iter_at_child_anchor gtk_text_buffer_get_start_iter gtk_text_buffer_get_end_iter gtk_text_buffer_get_bounds gtk_text_buffer_get_modified gtk_text_buffer_set_modified gtk_text_buffer_delete_selection gtk_text_buffer_paste_clipboard gtk_text_buffer_copy_clipboard gtk_text_buffer_cut_clipboard gtk_text_buffer_get_selection_bounds gtk_text_buffer_get_selection_content gtk_text_buffer_begin_user_action gtk_text_buffer_end_user_action gtk_text_buffer_add_selection_clipboard gtk_text_buffer_remove_selection_clipboard gtk_text_buffer_get_can_undo gtk_text_buffer_get_can_redo gtk_text_buffer_get_enable_undo gtk_text_buffer_set_enable_undo gtk_text_buffer_get_max_undo_levels gtk_text_buffer_set_max_undo_levels gtk_text_buffer_undo gtk_text_buffer_redo gtk_text_buffer_begin_irreversible_action gtk_text_buffer_end_irreversible_action GTK_TEXT_BUFFER GTK_IS_TEXT_BUFFER GTK_TYPE_TEXT_BUFFER GTK_TEXT_BUFFER_CLASS GTK_IS_TEXT_BUFFER_CLASS GTK_TEXT_BUFFER_GET_CLASS gtk_text_buffer_get_type GtkTextBufferPrivate
gtktextiter GtkTextIter GtkTextIter gtk_text_iter_get_buffer gtk_text_iter_copy gtk_text_iter_assign gtk_text_iter_free gtk_text_iter_get_offset gtk_text_iter_get_line gtk_text_iter_get_line_offset gtk_text_iter_get_line_index gtk_text_iter_get_visible_line_index gtk_text_iter_get_visible_line_offset gtk_text_iter_get_char gtk_text_iter_get_slice gtk_text_iter_get_text gtk_text_iter_get_visible_slice gtk_text_iter_get_visible_text gtk_text_iter_get_marks gtk_text_iter_get_toggled_tags gtk_text_iter_get_child_anchor gtk_text_iter_starts_tag gtk_text_iter_ends_tag gtk_text_iter_toggles_tag gtk_text_iter_has_tag gtk_text_iter_get_tags gtk_text_iter_editable gtk_text_iter_can_insert gtk_text_iter_starts_word gtk_text_iter_ends_word gtk_text_iter_inside_word gtk_text_iter_starts_line gtk_text_iter_ends_line gtk_text_iter_starts_sentence gtk_text_iter_ends_sentence gtk_text_iter_inside_sentence gtk_text_iter_is_cursor_position gtk_text_iter_get_chars_in_line gtk_text_iter_get_bytes_in_line gtk_text_iter_get_language gtk_text_iter_is_end gtk_text_iter_is_start gtk_text_iter_forward_char gtk_text_iter_backward_char gtk_text_iter_forward_chars gtk_text_iter_backward_chars gtk_text_iter_forward_line gtk_text_iter_backward_line gtk_text_iter_forward_lines gtk_text_iter_backward_lines gtk_text_iter_forward_word_ends gtk_text_iter_backward_word_starts gtk_text_iter_forward_word_end gtk_text_iter_backward_word_start gtk_text_iter_forward_cursor_position gtk_text_iter_backward_cursor_position gtk_text_iter_forward_cursor_positions gtk_text_iter_backward_cursor_positions gtk_text_iter_backward_sentence_start gtk_text_iter_backward_sentence_starts gtk_text_iter_forward_sentence_end gtk_text_iter_forward_sentence_ends gtk_text_iter_forward_visible_word_ends gtk_text_iter_backward_visible_word_starts gtk_text_iter_forward_visible_word_end gtk_text_iter_backward_visible_word_start gtk_text_iter_forward_visible_cursor_position gtk_text_iter_backward_visible_cursor_position gtk_text_iter_forward_visible_cursor_positions gtk_text_iter_backward_visible_cursor_positions gtk_text_iter_forward_visible_line gtk_text_iter_backward_visible_line gtk_text_iter_forward_visible_lines gtk_text_iter_backward_visible_lines gtk_text_iter_set_offset gtk_text_iter_set_line gtk_text_iter_set_line_offset gtk_text_iter_set_line_index gtk_text_iter_set_visible_line_index gtk_text_iter_set_visible_line_offset gtk_text_iter_forward_to_end gtk_text_iter_forward_to_line_end gtk_text_iter_forward_to_tag_toggle gtk_text_iter_backward_to_tag_toggle GtkTextCharPredicate gtk_text_iter_forward_find_char gtk_text_iter_backward_find_char GtkTextSearchFlags gtk_text_iter_forward_search gtk_text_iter_backward_search gtk_text_iter_equal gtk_text_iter_compare gtk_text_iter_in_range gtk_text_iter_order GTK_TYPE_TEXT_ITER gtk_text_iter_get_type
gtktextmark GtkTextMark GtkTextMark gtk_text_mark_new gtk_text_mark_set_visible gtk_text_mark_get_visible gtk_text_mark_get_deleted gtk_text_mark_get_name gtk_text_mark_get_buffer gtk_text_mark_get_left_gravity GTK_TEXT_MARK GTK_IS_TEXT_MARK GTK_TYPE_TEXT_MARK GTK_TEXT_MARK_CLASS GTK_IS_TEXT_MARK_CLASS GTK_TEXT_MARK_GET_CLASS gtk_text_mark_get_type
gtktexttag GtkTextTag GtkTextTag gtk_text_tag_new gtk_text_tag_get_priority gtk_text_tag_set_priority gtk_text_tag_changed GTK_TEXT_TAG GTK_IS_TEXT_TAG GTK_TYPE_TEXT_TAG GTK_TEXT_TAG_CLASS GTK_IS_TEXT_TAG_CLASS GTK_TEXT_TAG_GET_CLASS GtkTextTagPrivate gtk_text_tag_get_type
gtktexttagtable GtkTextTagTable GtkTextTagTable GtkTextTagTableForeach gtk_text_tag_table_new gtk_text_tag_table_add gtk_text_tag_table_remove gtk_text_tag_table_lookup gtk_text_tag_table_foreach gtk_text_tag_table_get_size GTK_TEXT_TAG_TABLE GTK_IS_TEXT_TAG_TABLE GTK_TYPE_TEXT_TAG_TABLE GTK_TEXT_TAG_TABLE_CLASS GTK_IS_TEXT_TAG_TABLE_CLASS GTK_TEXT_TAG_TABLE_GET_CLASS GtkTextTagTablePrivate gtk_text_tag_table_get_type
gtktextview GtkTextView GtkTextView GtkTextViewClass GtkTextViewLayer GtkTextWindowType GtkTextExtendSelection GtkWrapMode gtk_text_view_new gtk_text_view_new_with_buffer gtk_text_view_set_buffer gtk_text_view_get_buffer gtk_text_view_scroll_to_mark gtk_text_view_scroll_to_iter gtk_text_view_scroll_mark_onscreen gtk_text_view_move_mark_onscreen gtk_text_view_place_cursor_onscreen gtk_text_view_get_visible_rect gtk_text_view_get_iter_location gtk_text_view_get_cursor_locations gtk_text_view_get_line_at_y gtk_text_view_get_line_yrange gtk_text_view_get_iter_at_location gtk_text_view_get_iter_at_position gtk_text_view_buffer_to_window_coords gtk_text_view_window_to_buffer_coords gtk_text_view_forward_display_line gtk_text_view_backward_display_line gtk_text_view_forward_display_line_end gtk_text_view_backward_display_line_start gtk_text_view_starts_display_line gtk_text_view_move_visually gtk_text_view_add_child_at_anchor gtk_text_view_remove GtkTextChildAnchor gtk_text_child_anchor_new gtk_text_child_anchor_get_widgets gtk_text_child_anchor_get_deleted gtk_text_view_get_gutter gtk_text_view_set_gutter gtk_text_view_add_overlay gtk_text_view_move_overlay gtk_text_view_set_wrap_mode gtk_text_view_get_wrap_mode gtk_text_view_set_editable gtk_text_view_get_editable gtk_text_view_set_cursor_visible gtk_text_view_get_cursor_visible gtk_text_view_reset_cursor_blink gtk_text_view_set_overwrite gtk_text_view_get_overwrite gtk_text_view_set_pixels_above_lines gtk_text_view_get_pixels_above_lines gtk_text_view_set_pixels_below_lines gtk_text_view_get_pixels_below_lines gtk_text_view_set_pixels_inside_wrap gtk_text_view_get_pixels_inside_wrap gtk_text_view_set_justification gtk_text_view_get_justification gtk_text_view_set_left_margin gtk_text_view_get_left_margin gtk_text_view_set_right_margin gtk_text_view_get_right_margin gtk_text_view_set_top_margin gtk_text_view_get_top_margin gtk_text_view_set_bottom_margin gtk_text_view_get_bottom_margin gtk_text_view_set_indent gtk_text_view_get_indent gtk_text_view_set_tabs gtk_text_view_get_tabs gtk_text_view_set_accepts_tab gtk_text_view_get_accepts_tab gtk_text_view_im_context_filter_keypress gtk_text_view_reset_im_context gtk_text_view_set_input_purpose gtk_text_view_get_input_purpose gtk_text_view_set_input_hints gtk_text_view_get_input_hints gtk_text_view_set_monospace gtk_text_view_get_monospace gtk_text_view_set_extra_menu gtk_text_view_get_extra_menu GTK_TEXT_VIEW_PRIORITY_VALIDATE GTK_TEXT_VIEW GTK_IS_TEXT_VIEW GTK_TYPE_TEXT_VIEW GTK_TEXT_VIEW_CLASS GTK_IS_TEXT_VIEW_CLASS GTK_TEXT_VIEW_GET_CLASS GtkTextChildAnchorClass GTK_TEXT_CHILD_ANCHOR GTK_IS_TEXT_CHILD_ANCHOR GTK_TYPE_TEXT_CHILD_ANCHOR GTK_TEXT_CHILD_ANCHOR_CLASS GTK_IS_TEXT_CHILD_ANCHOR_CLASS GTK_TEXT_CHILD_ANCHOR_GET_CLASS GtkTextViewPrivate gtk_text_view_get_type gtk_text_child_anchor_get_type GtkTextBTree
gtktogglebutton GtkToggleButton GtkToggleButton gtk_toggle_button_new gtk_toggle_button_new_with_label gtk_toggle_button_new_with_mnemonic gtk_toggle_button_toggled gtk_toggle_button_get_active gtk_toggle_button_set_active GTK_TOGGLE_BUTTON GTK_IS_TOGGLE_BUTTON GTK_TYPE_TOGGLE_BUTTON GTK_TOGGLE_BUTTON_CLASS GTK_IS_TOGGLE_BUTTON_CLASS GTK_TOGGLE_BUTTON_GET_CLASS gtk_toggle_button_get_type GtkToggleButtonPrivate
gtktooltip GtkTooltip GtkTooltip gtk_tooltip_set_markup gtk_tooltip_set_text gtk_tooltip_set_icon gtk_tooltip_set_icon_from_icon_name gtk_tooltip_set_icon_from_gicon gtk_tooltip_set_custom gtk_tooltip_set_tip_area GTK_TYPE_TOOLTIP GTK_IS_TOOLTIP GTK_TOOLTIP gtk_tooltip_get_type
gtktreelistrow GtkTreeListRow gtk_tree_list_row_get_item gtk_tree_list_row_set_expanded gtk_tree_list_row_get_expanded gtk_tree_list_row_is_expandable gtk_tree_list_row_get_position gtk_tree_list_row_get_depth gtk_tree_list_row_get_children gtk_tree_list_row_get_parent gtk_tree_list_row_get_child_row GTK_TREE_LIST_ROW GTK_IS_TREE_LIST_ROW GTK_TYPE_TREE_LIST_ROW GTK_TREE_LIST_ROW_CLASS GTK_IS_TREE_LIST_ROW_CLASS GTK_TREE_LIST_ROW_GET_CLASS gtk_tree_list_row_get_type
gtktreelistmodel GtkTreeListModel GtkTreeListModel GtkTreeListRow GtkTreeListModelCreateModelFunc gtk_tree_list_model_new gtk_tree_list_model_get_model gtk_tree_list_model_get_passthrough gtk_tree_list_model_set_autoexpand gtk_tree_list_model_get_autoexpand gtk_tree_list_model_get_child_row gtk_tree_list_model_get_row GTK_TREE_LIST_MODEL GTK_IS_TREE_LIST_MODEL GTK_TYPE_TREE_LIST_MODEL GTK_TREE_LIST_MODEL_CLASS GTK_IS_TREE_LIST_MODEL_CLASS GTK_TREE_LIST_MODEL_GET_CLASS gtk_tree_list_row_get_type
gtktreeexpander GtkTreeExpander GtkTreeExpander gtk_tree_expander_new gtk_tree_expander_get_child gtk_tree_expander_set_child gtk_tree_expander_get_item gtk_tree_expander_get_list_row gtk_tree_expander_set_list_row GTK_TREE_EXPANDER GTK_IS_TREE_EXPANDER GTK_TYPE_TREE_EXPANDER GTK_TREE_EXPANDER_CLASS GTK_IS_TREE_EXPANDER_CLASS GTK_TREE_EXPANDER_GET_CLASS gtk_tree_expander_get_type
gtktreemodel GtkTreeModel GtkTreeModel GtkTreeIter GtkTreePath GtkTreeRowReference GtkTreeModelIface GtkTreeModelForeachFunc GtkTreeModelFlags gtk_tree_path_new gtk_tree_path_new_from_string gtk_tree_path_new_from_indices gtk_tree_path_new_from_indicesv gtk_tree_path_to_string gtk_tree_path_new_first gtk_tree_path_append_index gtk_tree_path_prepend_index gtk_tree_path_get_depth gtk_tree_path_get_indices gtk_tree_path_get_indices_with_depth gtk_tree_path_free gtk_tree_path_copy gtk_tree_path_compare gtk_tree_path_next gtk_tree_path_prev gtk_tree_path_up gtk_tree_path_down gtk_tree_path_is_ancestor gtk_tree_path_is_descendant gtk_tree_row_reference_new gtk_tree_row_reference_new_proxy gtk_tree_row_reference_get_model gtk_tree_row_reference_get_path gtk_tree_row_reference_valid gtk_tree_row_reference_free gtk_tree_row_reference_copy gtk_tree_row_reference_inserted gtk_tree_row_reference_deleted gtk_tree_row_reference_reordered gtk_tree_iter_copy gtk_tree_iter_free gtk_tree_model_get_flags gtk_tree_model_get_n_columns gtk_tree_model_get_column_type gtk_tree_model_get_iter gtk_tree_model_get_iter_from_string gtk_tree_model_get_iter_first gtk_tree_model_get_path gtk_tree_model_get_value gtk_tree_model_iter_next gtk_tree_model_iter_previous gtk_tree_model_iter_children gtk_tree_model_iter_has_child gtk_tree_model_iter_n_children gtk_tree_model_iter_nth_child gtk_tree_model_iter_parent gtk_tree_model_get_string_from_iter gtk_tree_model_ref_node gtk_tree_model_unref_node gtk_tree_model_get gtk_tree_model_get_valist gtk_tree_model_foreach gtk_tree_model_row_changed gtk_tree_model_row_inserted gtk_tree_model_row_has_child_toggled gtk_tree_model_row_deleted gtk_tree_model_rows_reordered gtk_tree_model_rows_reordered_with_length GTK_TREE_MODEL GTK_IS_TREE_MODEL GTK_TYPE_TREE_MODEL GTK_TREE_MODEL_GET_IFACE GTK_TYPE_TREE_ITER GTK_TYPE_TREE_PATH GTK_TYPE_TREE_ROW_REFERENCE gtk_tree_row_reference_get_type gtk_tree_model_get_type gtk_tree_iter_get_type gtk_tree_path_get_type
gtktreemodelsort GtkTreeModelSort GtkTreeModelSort gtk_tree_model_sort_new_with_model gtk_tree_model_sort_get_model gtk_tree_model_sort_convert_child_path_to_path gtk_tree_model_sort_convert_child_iter_to_iter gtk_tree_model_sort_convert_path_to_child_path gtk_tree_model_sort_convert_iter_to_child_iter gtk_tree_model_sort_reset_default_sort_func gtk_tree_model_sort_clear_cache gtk_tree_model_sort_iter_is_valid GTK_TREE_MODEL_SORT GTK_IS_TREE_MODEL_SORT GTK_TYPE_TREE_MODEL_SORT GTK_TREE_MODEL_SORT_CLASS GTK_IS_TREE_MODEL_SORT_CLASS GTK_TREE_MODEL_SORT_GET_CLASS GtkTreeModelSortPrivate gtk_tree_model_sort_get_type
gtktreemodelfilter GtkTreeModelFilter GtkTreeModelFilter GtkTreeModelFilterVisibleFunc GtkTreeModelFilterModifyFunc gtk_tree_model_filter_new gtk_tree_model_filter_set_visible_func gtk_tree_model_filter_set_modify_func gtk_tree_model_filter_set_visible_column gtk_tree_model_filter_get_model gtk_tree_model_filter_convert_child_iter_to_iter gtk_tree_model_filter_convert_iter_to_child_iter gtk_tree_model_filter_convert_child_path_to_path gtk_tree_model_filter_convert_path_to_child_path gtk_tree_model_filter_refilter gtk_tree_model_filter_clear_cache GTK_TYPE_TREE_MODEL_FILTER GTK_TREE_MODEL_FILTER GTK_TREE_MODEL_FILTER_CLASS GTK_IS_TREE_MODEL_FILTER GTK_IS_TREE_MODEL_FILTER_CLASS GTK_TREE_MODEL_FILTER_GET_CLASS GtkTreeModelFilterPrivate gtk_tree_model_filter_get_type
gtktreeselection GtkTreeSelection GtkTreeSelection GtkTreeSelectionFunc GtkTreeSelectionForeachFunc gtk_tree_selection_set_mode gtk_tree_selection_get_mode gtk_tree_selection_set_select_function gtk_tree_selection_get_select_function gtk_tree_selection_get_user_data gtk_tree_selection_get_tree_view gtk_tree_selection_get_selected gtk_tree_selection_selected_foreach gtk_tree_selection_get_selected_rows gtk_tree_selection_count_selected_rows gtk_tree_selection_select_path gtk_tree_selection_unselect_path gtk_tree_selection_path_is_selected gtk_tree_selection_select_iter gtk_tree_selection_unselect_iter gtk_tree_selection_iter_is_selected gtk_tree_selection_select_all gtk_tree_selection_unselect_all gtk_tree_selection_select_range gtk_tree_selection_unselect_range GTK_TREE_SELECTION GTK_IS_TREE_SELECTION GTK_TYPE_TREE_SELECTION GTK_TREE_SELECTION_CLASS GTK_TREE_SELECTION_GET_CLASS GTK_IS_TREE_SELECTION_CLASS GtkTreeSelectionPrivate gtk_tree_selection_get_type
gtktreesortable GtkTreeSortable GtkTreeSortable GtkTreeSortableIface GtkTreeIterCompareFunc GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID gtk_tree_sortable_sort_column_changed gtk_tree_sortable_get_sort_column_id gtk_tree_sortable_set_sort_column_id gtk_tree_sortable_set_sort_func gtk_tree_sortable_set_default_sort_func gtk_tree_sortable_has_default_sort_func GTK_TREE_SORTABLE GTK_IS_TREE_SORTABLE GTK_TYPE_TREE_SORTABLE GTK_TREE_SORTABLE_CLASS GTK_TREE_SORTABLE_GET_IFACE gtk_tree_sortable_get_type
gtktreednd GtkTreeView drag-and-drop GtkTreeDragSource GtkTreeDragSourceIface gtk_tree_drag_source_drag_data_delete gtk_tree_drag_source_drag_data_get gtk_tree_drag_source_row_draggable GtkTreeDragDest GtkTreeDragDestIface gtk_tree_drag_dest_drag_data_received gtk_tree_drag_dest_row_drop_possible GTK_TYPE_TREE_ROW_DATA gtk_tree_create_row_drag_content gtk_tree_get_row_drag_data GTK_TYPE_TREE_DRAG_DEST GTK_TREE_DRAG_DEST GTK_IS_TREE_DRAG_DEST GTK_TREE_DRAG_DEST_GET_IFACE GTK_TREE_DRAG_SOURCE GTK_IS_TREE_DRAG_SOURCE GTK_TYPE_TREE_DRAG_SOURCE GTK_TREE_DRAG_SOURCE_GET_IFACE gtk_tree_row_data_get_type gtk_tree_drag_source_get_type gtk_tree_drag_dest_get_type
gtktreestore GtkTreeStore GtkTreeStore gtk_tree_store_new gtk_tree_store_newv gtk_tree_store_set_column_types gtk_tree_store_set_value gtk_tree_store_set gtk_tree_store_set_valist gtk_tree_store_set_valuesv gtk_tree_store_remove gtk_tree_store_insert gtk_tree_store_insert_before gtk_tree_store_insert_after gtk_tree_store_insert_with_values gtk_tree_store_insert_with_valuesv gtk_tree_store_prepend gtk_tree_store_append gtk_tree_store_is_ancestor gtk_tree_store_iter_depth gtk_tree_store_clear gtk_tree_store_iter_is_valid gtk_tree_store_reorder gtk_tree_store_swap gtk_tree_store_move_before gtk_tree_store_move_after GTK_TREE_STORE GTK_IS_TREE_STORE GTK_TYPE_TREE_STORE GTK_TREE_STORE_CLASS GTK_IS_TREE_STORE_CLASS GTK_TREE_STORE_GET_CLASS GtkTreeStorePrivate gtk_tree_store_get_type
gtktreeviewcolumn GtkTreeViewColumn GtkTreeViewColumnSizing GtkTreeCellDataFunc GtkTreeViewColumn gtk_tree_view_column_new gtk_tree_view_column_new_with_area gtk_tree_view_column_new_with_attributes gtk_tree_view_column_pack_start gtk_tree_view_column_pack_end gtk_tree_view_column_clear gtk_tree_view_column_add_attribute gtk_tree_view_column_set_attributes gtk_tree_view_column_set_cell_data_func gtk_tree_view_column_clear_attributes gtk_tree_view_column_set_spacing gtk_tree_view_column_get_spacing gtk_tree_view_column_set_visible gtk_tree_view_column_get_visible gtk_tree_view_column_set_resizable gtk_tree_view_column_get_resizable gtk_tree_view_column_set_sizing gtk_tree_view_column_get_sizing gtk_tree_view_column_get_width gtk_tree_view_column_get_fixed_width gtk_tree_view_column_set_fixed_width gtk_tree_view_column_set_min_width gtk_tree_view_column_get_min_width gtk_tree_view_column_set_max_width gtk_tree_view_column_get_max_width gtk_tree_view_column_clicked gtk_tree_view_column_set_title gtk_tree_view_column_get_title gtk_tree_view_column_set_expand gtk_tree_view_column_get_expand gtk_tree_view_column_set_clickable gtk_tree_view_column_get_clickable gtk_tree_view_column_set_widget gtk_tree_view_column_get_widget gtk_tree_view_column_get_button gtk_tree_view_column_set_alignment gtk_tree_view_column_get_alignment gtk_tree_view_column_set_reorderable gtk_tree_view_column_get_reorderable gtk_tree_view_column_set_sort_column_id gtk_tree_view_column_get_sort_column_id gtk_tree_view_column_set_sort_indicator gtk_tree_view_column_get_sort_indicator gtk_tree_view_column_set_sort_order gtk_tree_view_column_get_sort_order gtk_tree_view_column_cell_set_cell_data gtk_tree_view_column_cell_get_size gtk_tree_view_column_cell_get_position gtk_tree_view_column_cell_is_visible gtk_tree_view_column_focus_cell gtk_tree_view_column_queue_resize gtk_tree_view_column_get_tree_view gtk_tree_view_column_get_x_offset GTK_TREE_VIEW_COLUMN GTK_IS_TREE_VIEW_COLUMN GTK_TYPE_TREE_VIEW_COLUMN GTK_TREE_VIEW_COLUMN_CLASS GTK_IS_TREE_VIEW_COLUMN_CLASS GTK_TREE_VIEW_COLUMN_GET_CLASS GtkTreeViewColumnPrivate gtk_tree_view_column_get_type
gtktreeview GtkTreeView GtkTreeView GtkTreeViewDropPosition GtkTreeViewColumnDropFunc GtkTreeViewMappingFunc GtkTreeViewSearchEqualFunc gtk_tree_view_new gtk_tree_view_get_level_indentation gtk_tree_view_get_show_expanders gtk_tree_view_set_level_indentation gtk_tree_view_set_show_expanders gtk_tree_view_new_with_model gtk_tree_view_get_model gtk_tree_view_set_model gtk_tree_view_get_selection gtk_tree_view_get_headers_visible gtk_tree_view_set_headers_visible gtk_tree_view_columns_autosize gtk_tree_view_get_headers_clickable gtk_tree_view_set_headers_clickable gtk_tree_view_set_activate_on_single_click gtk_tree_view_get_activate_on_single_click gtk_tree_view_append_column gtk_tree_view_remove_column gtk_tree_view_insert_column gtk_tree_view_insert_column_with_attributes gtk_tree_view_insert_column_with_data_func gtk_tree_view_get_n_columns gtk_tree_view_get_column gtk_tree_view_get_columns gtk_tree_view_move_column_after gtk_tree_view_set_expander_column gtk_tree_view_get_expander_column gtk_tree_view_set_column_drag_function gtk_tree_view_scroll_to_point gtk_tree_view_scroll_to_cell gtk_tree_view_set_cursor gtk_tree_view_set_cursor_on_cell gtk_tree_view_get_cursor gtk_tree_view_row_activated gtk_tree_view_expand_all gtk_tree_view_collapse_all gtk_tree_view_expand_to_path gtk_tree_view_expand_row gtk_tree_view_collapse_row gtk_tree_view_map_expanded_rows gtk_tree_view_row_expanded gtk_tree_view_set_reorderable gtk_tree_view_get_reorderable gtk_tree_view_get_path_at_pos gtk_tree_view_is_blank_at_pos gtk_tree_view_get_cell_area gtk_tree_view_get_background_area gtk_tree_view_get_visible_rect gtk_tree_view_get_visible_range gtk_tree_view_convert_bin_window_to_tree_coords gtk_tree_view_convert_bin_window_to_widget_coords gtk_tree_view_convert_tree_to_bin_window_coords gtk_tree_view_convert_tree_to_widget_coords gtk_tree_view_convert_widget_to_bin_window_coords gtk_tree_view_convert_widget_to_tree_coords gtk_tree_view_enable_model_drag_dest gtk_tree_view_enable_model_drag_source gtk_tree_view_unset_rows_drag_source gtk_tree_view_unset_rows_drag_dest gtk_tree_view_set_drag_dest_row gtk_tree_view_get_drag_dest_row gtk_tree_view_get_dest_row_at_pos gtk_tree_view_create_row_drag_icon gtk_tree_view_set_enable_search gtk_tree_view_get_enable_search gtk_tree_view_get_search_column gtk_tree_view_set_search_column gtk_tree_view_get_search_equal_func gtk_tree_view_set_search_equal_func gtk_tree_view_get_search_entry gtk_tree_view_set_search_entry gtk_tree_view_get_fixed_height_mode gtk_tree_view_set_fixed_height_mode gtk_tree_view_get_hover_selection gtk_tree_view_set_hover_selection gtk_tree_view_get_hover_expand gtk_tree_view_set_hover_expand GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func gtk_tree_view_set_row_separator_func gtk_tree_view_get_rubber_banding gtk_tree_view_set_rubber_banding gtk_tree_view_is_rubber_banding_active gtk_tree_view_get_enable_tree_lines gtk_tree_view_set_enable_tree_lines GtkTreeViewGridLines gtk_tree_view_get_grid_lines gtk_tree_view_set_grid_lines gtk_tree_view_set_tooltip_row gtk_tree_view_set_tooltip_cell gtk_tree_view_get_tooltip_context gtk_tree_view_get_tooltip_column gtk_tree_view_set_tooltip_column GTK_TREE_VIEW GTK_IS_TREE_VIEW GTK_TYPE_TREE_VIEW GTK_TREE_VIEW_CLASS GTK_IS_TREE_VIEW_CLASS GTK_TREE_VIEW_GET_CLASS gtk_tree_view_get_type
gtkcellview GtkCellView GtkCellView gtk_cell_view_new gtk_cell_view_new_with_context gtk_cell_view_new_with_text gtk_cell_view_new_with_markup gtk_cell_view_new_with_texture gtk_cell_view_set_model gtk_cell_view_get_model gtk_cell_view_set_displayed_row gtk_cell_view_get_displayed_row gtk_cell_view_set_draw_sensitive gtk_cell_view_get_draw_sensitive gtk_cell_view_set_fit_model gtk_cell_view_get_fit_model GTK_TYPE_CELL_VIEW GTK_CELL_VIEW GTK_CELL_VIEW_CLASS GTK_IS_CELL_VIEW GTK_IS_CELL_VIEW_CLASS GTK_CELL_VIEW_GET_CLASS GtkCellViewPrivate gtk_cell_view_get_type
gtkcelllayout GtkCellLayout GtkCellLayout GtkCellLayoutIface GtkCellLayoutDataFunc gtk_cell_layout_pack_start gtk_cell_layout_pack_end gtk_cell_layout_get_area gtk_cell_layout_get_cells gtk_cell_layout_reorder gtk_cell_layout_clear gtk_cell_layout_set_attributes gtk_cell_layout_add_attribute gtk_cell_layout_set_cell_data_func gtk_cell_layout_clear_attributes GTK_TYPE_CELL_LAYOUT GTK_CELL_LAYOUT GTK_IS_CELL_LAYOUT GTK_CELL_LAYOUT_GET_IFACE gtk_cell_layout_get_type
gtkcellarea GtkCellArea GtkCellArea GtkCellAreaClass GtkCellCallback GtkCellAllocCallback GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID gtk_cell_area_add gtk_cell_area_remove gtk_cell_area_has_renderer gtk_cell_area_foreach gtk_cell_area_foreach_alloc gtk_cell_area_event gtk_cell_area_snapshot gtk_cell_area_get_cell_allocation gtk_cell_area_get_cell_at_position gtk_cell_area_create_context gtk_cell_area_copy_context gtk_cell_area_get_request_mode gtk_cell_area_get_preferred_width gtk_cell_area_get_preferred_height_for_width gtk_cell_area_get_preferred_height gtk_cell_area_get_preferred_width_for_height gtk_cell_area_get_current_path_string gtk_cell_area_apply_attributes gtk_cell_area_attribute_connect gtk_cell_area_attribute_disconnect gtk_cell_area_attribute_get_column gtk_cell_area_class_install_cell_property gtk_cell_area_class_find_cell_property gtk_cell_area_class_list_cell_properties gtk_cell_area_add_with_properties gtk_cell_area_cell_set gtk_cell_area_cell_get gtk_cell_area_cell_set_valist gtk_cell_area_cell_get_valist gtk_cell_area_cell_set_property gtk_cell_area_cell_get_property gtk_cell_area_is_activatable gtk_cell_area_activate gtk_cell_area_focus gtk_cell_area_set_focus_cell gtk_cell_area_get_focus_cell gtk_cell_area_add_focus_sibling gtk_cell_area_remove_focus_sibling gtk_cell_area_is_focus_sibling gtk_cell_area_get_focus_siblings gtk_cell_area_get_focus_from_sibling gtk_cell_area_get_edited_cell gtk_cell_area_get_edit_widget gtk_cell_area_activate_cell gtk_cell_area_stop_editing gtk_cell_area_inner_cell_area gtk_cell_area_request_renderer GTK_CELL_AREA GTK_IS_CELL_AREA GTK_TYPE_CELL_AREA gtk_cell_area_get_type GTK_CELL_AREA_CLASS GTK_IS_CELL_AREA_CLASS GTK_CELL_AREA_GET_CLASS GtkCellAreaPrivate
gtkcellareacontext GtkCellAreaContext GtkCellAreaContextClass GtkCellAreaContext gtk_cell_area_context_get_area gtk_cell_area_context_allocate gtk_cell_area_context_reset gtk_cell_area_context_get_preferred_width gtk_cell_area_context_get_preferred_height gtk_cell_area_context_get_preferred_height_for_width gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_allocation gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height GTK_CELL_AREA_CONTEXT GTK_IS_CELL_AREA_CONTEXT GTK_TYPE_CELL_AREA_CONTEXT gtk_cell_area_context_get_type GTK_CELL_AREA_CONTEXT_CLASS GTK_IS_CELL_AREA_CONTEXT_CLASS GTK_CELL_AREA_CONTEXT_GET_CLASS GtkCellAreaContextPrivate
gtkcellareabox GtkCellAreaBox GtkCellAreaBox gtk_cell_area_box_new gtk_cell_area_box_pack_start gtk_cell_area_box_pack_end gtk_cell_area_box_get_spacing gtk_cell_area_box_set_spacing GTK_CELL_AREA_BOX GTK_IS_CELL_AREA_BOX GTK_TYPE_CELL_AREA_BOX GTK_CELL_AREA_BOX_CLASS GTK_IS_CELL_AREA_BOX_CLASS GTK_CELL_AREA_BOX_GET_CLASS GTK_CELL_AREA_BOX_CONTEXT GTK_CELL_AREA_BOX_CONTEXT_CLASS GTK_CELL_AREA_BOX_CONTEXT_GET_CLASS GTK_IS_CELL_AREA_BOX_CONTEXT GTK_IS_CELL_AREA_BOX_CONTEXT_CLASS gtk_cell_area_box_get_type GtkCellAreaBoxPrivate
gtkcellrenderer GtkCellRenderer GtkCellRendererState GtkCellRendererMode GtkCellRenderer GtkCellRendererClass gtk_cell_renderer_get_aligned_area gtk_cell_renderer_snapshot gtk_cell_renderer_activate gtk_cell_renderer_start_editing gtk_cell_renderer_stop_editing gtk_cell_renderer_get_fixed_size gtk_cell_renderer_set_fixed_size gtk_cell_renderer_get_visible gtk_cell_renderer_set_visible gtk_cell_renderer_get_sensitive gtk_cell_renderer_set_sensitive gtk_cell_renderer_get_alignment gtk_cell_renderer_set_alignment gtk_cell_renderer_get_padding gtk_cell_renderer_set_padding gtk_cell_renderer_get_state gtk_cell_renderer_is_activatable gtk_cell_renderer_get_preferred_height gtk_cell_renderer_get_preferred_height_for_width gtk_cell_renderer_get_preferred_size gtk_cell_renderer_get_preferred_width gtk_cell_renderer_get_preferred_width_for_height gtk_cell_renderer_get_request_mode GTK_CELL_RENDERER GTK_IS_CELL_RENDERER GTK_TYPE_CELL_RENDERER GTK_CELL_RENDERER_CLASS GTK_IS_CELL_RENDERER_CLASS GTK_CELL_RENDERER_GET_CLASS GtkCellRendererPrivate GtkCellRendererClassPrivate gtk_cell_renderer_get_type gtk_cell_renderer_mode_get_type gtk_cell_renderer_state_get_type
gtkcelleditable GtkCellEditable GtkCellEditable GtkCellEditableIface gtk_cell_editable_start_editing gtk_cell_editable_editing_done gtk_cell_editable_remove_widget GTK_CELL_EDITABLE GTK_IS_CELL_EDITABLE GTK_TYPE_CELL_EDITABLE GTK_CELL_EDITABLE_CLASS GTK_CELL_EDITABLE_GET_IFACE gtk_cell_editable_get_type
gtkcellrenderercombo GtkCellRendererCombo GtkCellRendererCombo gtk_cell_renderer_combo_new GTK_TYPE_CELL_RENDERER_COMBO GTK_CELL_RENDERER_COMBO GTK_CELL_RENDERER_COMBO_CLASS GTK_IS_CELL_RENDERER_COMBO GTK_IS_CELL_RENDERER_COMBO_CLASS GTK_CELL_RENDERER_COMBO_GET_CLASS gtk_cell_renderer_combo_get_type GtkCellRendererComboPrivate
gtkcellrendererspin GtkCellRendererSpin GtkCellRendererSpin gtk_cell_renderer_spin_new GTK_TYPE_CELL_RENDERER_SPIN GTK_CELL_RENDERER_SPIN GTK_CELL_RENDERER_SPIN_CLASS GTK_IS_CELL_RENDERER_SPIN GTK_IS_CELL_RENDERER_SPIN_CLASS GTK_CELL_RENDERER_SPIN_GET_CLASS GtkCellRendererSpinPrivate gtk_cell_renderer_spin_get_type
gtkcellrendererspinner GtkCellRendererSpinner GtkCellRendererSpinner gtk_cell_renderer_spinner_new GTK_TYPE_CELL_RENDERER_SPINNER GTK_CELL_RENDERER_SPINNER GTK_CELL_RENDERER_SPINNER_CLASS GTK_IS_CELL_RENDERER_SPINNER GTK_IS_CELL_RENDERER_SPINNER_CLASS GTK_CELL_RENDERER_SPINNER_GET_CLASS GtkCellRendererSpinnerPrivate gtk_cell_renderer_spinner_get_type
gtkcellrendererpixbuf GtkCellRendererPixbuf GtkCellRendererPixbuf gtk_cell_renderer_pixbuf_new GTK_CELL_RENDERER_PIXBUF GTK_IS_CELL_RENDERER_PIXBUF GTK_TYPE_CELL_RENDERER_PIXBUF GTK_CELL_RENDERER_PIXBUF_CLASS GTK_IS_CELL_RENDERER_PIXBUF_CLASS GTK_CELL_RENDERER_PIXBUF_GET_CLASS gtk_cell_renderer_pixbuf_get_type GtkCellRendererPixbufPrivate
gtkcellrenderertext GtkCellRendererText GtkCellRendererText gtk_cell_renderer_text_new gtk_cell_renderer_text_set_fixed_height_from_font GTK_CELL_RENDERER_TEXT GTK_IS_CELL_RENDERER_TEXT GTK_TYPE_CELL_RENDERER_TEXT GTK_CELL_RENDERER_TEXT_CLASS GTK_IS_CELL_RENDERER_TEXT_CLASS GTK_CELL_RENDERER_TEXT_GET_CLASS gtk_cell_renderer_text_get_type GtkCellRendererTextPrivate
gtkcellrenderertoggle GtkCellRendererToggle GtkCellRendererToggle gtk_cell_renderer_toggle_new gtk_cell_renderer_toggle_get_radio gtk_cell_renderer_toggle_set_radio gtk_cell_renderer_toggle_get_active gtk_cell_renderer_toggle_set_active gtk_cell_renderer_toggle_get_activatable gtk_cell_renderer_toggle_set_activatable GTK_CELL_RENDERER_TOGGLE GTK_IS_CELL_RENDERER_TOGGLE GTK_TYPE_CELL_RENDERER_TOGGLE GTK_CELL_RENDERER_TOGGLE_CLASS GTK_IS_CELL_RENDERER_TOGGLE_CLASS GTK_CELL_RENDERER_TOGGLE_GET_CLASS gtk_cell_renderer_toggle_get_type GtkCellRendererTogglePrivate
gtkcellrendererprogress GtkCellRendererProgress GtkCellRendererProgress gtk_cell_renderer_progress_new GTK_CELL_RENDERER_PROGRESS GTK_IS_CELL_RENDERER_PROGRESS GTK_TYPE_CELL_RENDERER_PROGRESS GTK_CELL_RENDERER_PROGRESS_CLASS GTK_IS_CELL_RENDERER_PROGRESS_CLASS GTK_CELL_RENDERER_PROGRESS_GET_CLASS gtk_cell_renderer_progress_get_type GtkCellRendererProgressPrivate
gtkcellrendereraccel GtkCellRendererAccel GtkCellRendererAccel GtkCellRendererAccelMode gtk_cell_renderer_accel_new GTK_TYPE_CELL_RENDERER_ACCEL GTK_CELL_RENDERER_ACCEL GTK_CELL_RENDERER_ACCEL_CLASS GTK_IS_CELL_RENDERER_ACCEL GTK_IS_CELL_RENDERER_ACCEL_CLASS GTK_CELL_RENDERER_ACCEL_GET_CLASS gtk_cell_renderer_accel_get_type gtk_cell_renderer_accel_mode_get_type GtkCellRendererAccelPrivate
gtkliststore GtkListStore GtkListStore gtk_list_store_new gtk_list_store_newv gtk_list_store_set_column_types gtk_list_store_set gtk_list_store_set_valist gtk_list_store_set_value gtk_list_store_set_valuesv gtk_list_store_remove gtk_list_store_insert gtk_list_store_insert_before gtk_list_store_insert_after gtk_list_store_insert_with_values gtk_list_store_insert_with_valuesv gtk_list_store_prepend gtk_list_store_append gtk_list_store_clear gtk_list_store_iter_is_valid gtk_list_store_reorder gtk_list_store_swap gtk_list_store_move_before gtk_list_store_move_after GTK_LIST_STORE GTK_IS_LIST_STORE GTK_TYPE_LIST_STORE GTK_LIST_STORE_CLASS GTK_IS_LIST_STORE_CLASS GTK_LIST_STORE_GET_CLASS GtkListStorePrivate gtk_list_store_get_type
gtkviewport GtkViewport GtkViewport gtk_viewport_new gtk_viewport_set_scroll_to_focus gtk_viewport_get_scroll_to_focus gtk_viewport_set_child gtk_viewport_get_child GTK_VIEWPORT GTK_IS_VIEWPORT GTK_TYPE_VIEWPORT GTK_VIEWPORT_CLASS GTK_IS_VIEWPORT_CLASS GTK_VIEWPORT_GET_CLASS GtkViewportPrivate gtk_viewport_get_type
gtkvolumebutton GtkVolumeButton GtkVolumeButton gtk_volume_button_new GTK_VOLUME_BUTTON GTK_IS_VOLUME_BUTTON GTK_TYPE_VOLUME_BUTTON GTK_VOLUME_BUTTON_CLASS GTK_IS_VOLUME_BUTTON_CLASS GTK_VOLUME_BUTTON_GET_CLASS gtk_volume_button_get_type
gtksnapshot GtkSnapshot GtkSnapshot gtk_snapshot_new gtk_snapshot_to_node gtk_snapshot_to_paintable gtk_snapshot_free_to_node gtk_snapshot_free_to_paintable gtk_snapshot_push_opacity gtk_snapshot_push_color_matrix gtk_snapshot_push_repeat gtk_snapshot_push_clip gtk_snapshot_push_rounded_clip gtk_snapshot_push_cross_fade gtk_snapshot_push_blend gtk_snapshot_push_blur gtk_snapshot_push_shadow gtk_snapshot_push_debug gtk_snapshot_pop gtk_snapshot_save gtk_snapshot_restore gtk_snapshot_transform gtk_snapshot_transform_matrix gtk_snapshot_translate gtk_snapshot_translate_3d gtk_snapshot_rotate gtk_snapshot_rotate_3d gtk_snapshot_scale gtk_snapshot_scale_3d gtk_snapshot_perspective gtk_snapshot_append_node gtk_snapshot_append_cairo gtk_snapshot_append_texture gtk_snapshot_append_color gtk_snapshot_append_layout gtk_snapshot_append_linear_gradient gtk_snapshot_append_repeating_linear_gradient gtk_snapshot_append_border gtk_snapshot_append_inset_shadow gtk_snapshot_append_outset_shadow gtk_snapshot_render_background gtk_snapshot_render_frame gtk_snapshot_render_focus gtk_snapshot_render_layout gtk_snapshot_render_insertion_cursor gtk_snapshot_get_type
gtkwidgetpaintable GtkWidgetPaintable GtkWidgetPaintable gtk_widget_paintable_new gtk_widget_paintable_get_widget gtk_widget_paintable_set_widget GTK_WIDGET_PAINTABLE GTK_IS_WIDGET_PAINTABLE GTK_TYPE_WIDGET_PAINTABLE GTK_WIDGET_PAINTABLE_CLASS GTK_IS_WIDGET_PAINTABLE_CLASS GTK_WIDGET_PAINTABLE_GET_CLASS gtk_widget_paintable_get_type
gtkwidget GtkWidget GtkWidget GtkWidgetClass GtkCallback GtkRequisition GtkAllocation gtk_widget_new gtk_widget_in_destruction gtk_widget_unparent gtk_widget_show gtk_widget_hide gtk_widget_map gtk_widget_unmap gtk_widget_realize gtk_widget_unrealize gtk_widget_queue_draw gtk_widget_queue_resize gtk_widget_queue_allocate gtk_widget_get_frame_clock gtk_widget_get_scale_factor GtkTickCallback gtk_widget_add_tick_callback gtk_widget_remove_tick_callback gtk_widget_size_allocate gtk_widget_allocate gtk_widget_class_add_shortcut gtk_widget_class_add_binding gtk_widget_class_add_binding_signal gtk_widget_class_add_binding_action gtk_widget_class_set_layout_manager_type gtk_widget_class_get_layout_manager_type gtk_widget_activate gtk_widget_is_focus gtk_widget_grab_focus gtk_widget_set_name gtk_widget_get_name gtk_widget_set_sensitive gtk_widget_set_parent gtk_widget_get_root gtk_widget_get_native gtk_widget_get_ancestor gtk_widget_is_ancestor gtk_widget_translate_coordinates gtk_widget_add_controller gtk_widget_remove_controller gtk_widget_set_direction GtkTextDirection gtk_widget_get_direction gtk_widget_set_default_direction gtk_widget_get_default_direction gtk_widget_create_pango_context gtk_widget_get_pango_context gtk_widget_set_font_options gtk_widget_get_font_options gtk_widget_set_font_map gtk_widget_get_font_map gtk_widget_create_pango_layout gtk_widget_get_cursor gtk_widget_set_cursor gtk_widget_set_cursor_from_name gtk_widget_mnemonic_activate gtk_widget_class_set_accessible_role gtk_widget_child_focus gtk_widget_get_child_visible gtk_widget_get_parent gtk_widget_get_settings gtk_widget_get_clipboard gtk_widget_get_primary_clipboard gtk_widget_get_display gtk_widget_get_size_request gtk_widget_set_child_visible gtk_widget_set_size_request gtk_widget_list_mnemonic_labels gtk_widget_add_mnemonic_label gtk_widget_remove_mnemonic_label gtk_widget_error_bell gtk_widget_keynav_failed gtk_widget_get_tooltip_markup gtk_widget_set_tooltip_markup gtk_widget_get_tooltip_text gtk_widget_set_tooltip_text gtk_widget_get_has_tooltip gtk_widget_set_has_tooltip gtk_widget_trigger_tooltip_query gtk_widget_get_allocated_width gtk_widget_get_allocated_height gtk_widget_get_allocation gtk_widget_get_allocated_baseline gtk_widget_get_width gtk_widget_get_height gtk_widget_get_size gtk_widget_compute_bounds gtk_widget_compute_transform gtk_widget_compute_point gtk_widget_contains GtkPickFlags gtk_widget_pick gtk_widget_get_can_focus gtk_widget_set_can_focus gtk_widget_get_focusable gtk_widget_set_focusable gtk_widget_get_focus_on_click gtk_widget_set_focus_on_click gtk_widget_set_focus_child gtk_widget_get_can_target gtk_widget_set_can_target gtk_widget_get_sensitive gtk_widget_is_sensitive gtk_widget_get_visible gtk_widget_is_visible gtk_widget_set_visible gtk_widget_set_state_flags gtk_widget_unset_state_flags gtk_widget_get_state_flags gtk_widget_has_default gtk_widget_has_focus gtk_widget_has_visible_focus gtk_widget_is_drawable gtk_widget_set_receives_default gtk_widget_get_receives_default gtk_widget_get_realized gtk_widget_get_mapped gtk_widget_get_opacity gtk_widget_set_opacity gtk_widget_get_overflow GtkOverflow gtk_widget_set_overflow gtk_widget_measure gtk_widget_snapshot_child gtk_widget_get_next_sibling gtk_widget_get_prev_sibling gtk_widget_get_first_child gtk_widget_get_last_child gtk_widget_insert_before gtk_widget_insert_after gtk_widget_set_layout_manager gtk_widget_get_layout_manager gtk_widget_should_layout gtk_widget_get_css_name gtk_widget_add_css_class gtk_widget_remove_css_class gtk_widget_has_css_class gtk_widget_get_css_classes gtk_widget_set_css_classes gtk_widget_get_style_context gtk_widget_class_get_css_name gtk_widget_class_set_css_name gtk_requisition_new gtk_requisition_copy gtk_requisition_free GtkSizeRequestMode GtkRequestedSize gtk_widget_get_request_mode gtk_widget_get_preferred_size gtk_distribute_natural_allocation GtkAlign gtk_widget_get_halign gtk_widget_set_halign gtk_widget_get_valign gtk_widget_set_valign gtk_widget_get_margin_start gtk_widget_set_margin_start gtk_widget_get_margin_end gtk_widget_set_margin_end gtk_widget_get_margin_top gtk_widget_set_margin_top gtk_widget_get_margin_bottom gtk_widget_set_margin_bottom gtk_widget_get_hexpand gtk_widget_set_hexpand gtk_widget_get_hexpand_set gtk_widget_set_hexpand_set gtk_widget_get_vexpand gtk_widget_set_vexpand gtk_widget_get_vexpand_set gtk_widget_set_vexpand_set gtk_widget_compute_expand gtk_widget_init_template gtk_widget_class_set_template gtk_widget_class_set_template_from_resource gtk_widget_get_template_child gtk_widget_class_bind_template_child gtk_widget_class_bind_template_child_internal gtk_widget_class_bind_template_child_private gtk_widget_class_bind_template_child_internal_private gtk_widget_class_bind_template_child_full gtk_widget_class_bind_template_callback gtk_widget_class_bind_template_callback_full gtk_widget_class_set_template_scope gtk_widget_observe_children gtk_widget_observe_controllers gtk_widget_insert_action_group gtk_widget_activate_action gtk_widget_activate_action_variant gtk_widget_activate_default GtkWidgetActionActivateFunc gtk_widget_class_install_action gtk_widget_class_install_property_action gtk_widget_class_query_action gtk_widget_action_set_enabled GTK_WIDGET GTK_IS_WIDGET GTK_TYPE_WIDGET GTK_WIDGET_CLASS GTK_IS_WIDGET_CLASS GTK_WIDGET_GET_CLASS GTK_TYPE_REQUISITION GtkWidgetClassPrivate GtkWidgetPrivate gtk_widget_get_type gtk_requisition_get_type
gtkwindow GtkWindow GtkWindow GtkWindowClass gtk_window_new gtk_window_destroy gtk_window_get_child gtk_window_set_child gtk_window_set_title gtk_window_set_resizable gtk_window_get_resizable gtk_window_set_modal gtk_window_set_default_size gtk_window_set_hide_on_close gtk_window_get_hide_on_close gtk_window_set_transient_for gtk_window_set_destroy_with_parent gtk_window_set_display gtk_window_is_active gtk_window_is_maximized gtk_window_get_toplevels gtk_window_list_toplevels gtk_window_get_focus gtk_window_set_focus gtk_window_get_default_widget gtk_window_set_default_widget gtk_window_present gtk_window_present_with_time gtk_window_close gtk_window_minimize gtk_window_unminimize gtk_window_maximize gtk_window_unmaximize gtk_window_fullscreen gtk_window_fullscreen_on_monitor gtk_window_unfullscreen gtk_window_set_decorated gtk_window_set_deletable gtk_window_set_startup_id gtk_window_get_decorated gtk_window_get_deletable gtk_window_get_default_icon_name gtk_window_get_default_size gtk_window_get_destroy_with_parent gtk_window_get_icon_name gtk_window_get_modal gtk_window_get_size gtk_window_get_title gtk_window_get_transient_for gtk_window_get_group gtk_window_has_group gtk_window_resize gtk_window_set_default_icon_name gtk_window_set_icon_name gtk_window_set_auto_startup_notification gtk_window_get_mnemonics_visible gtk_window_set_mnemonics_visible gtk_window_get_focus_visible gtk_window_set_focus_visible gtk_window_get_application gtk_window_set_application gtk_window_set_titlebar gtk_window_get_titlebar gtk_window_set_interactive_debugging GTK_WINDOW GTK_IS_WINDOW GTK_TYPE_WINDOW GTK_WINDOW_CLASS GTK_IS_WINDOW_CLASS GTK_WINDOW_GET_CLASS GtkWindowPrivate gtk_window_get_type GtkWindowGeometryInfo gtk_window_remove_embedded_xid gtk_window_add_embedded_xid GtkWindowKeysForeachFunc
gtkwindowgroup GtkWindowGroup GtkWindowGroup gtk_window_group_new gtk_window_group_add_window gtk_window_group_remove_window gtk_window_group_list_windows GTK_IS_WINDOW_GROUP GTK_IS_WINDOW_GROUP_CLASS GTK_TYPE_WINDOW_GROUP GTK_WINDOW_GROUP GTK_WINDOW_GROUP_CLASS GTK_WINDOW_GROUP_GET_CLASS GtkWindowGroupPrivate gtk_window_group_get_type
gtkwindowcontrols GtkWindowControls GtkWindowControls gtk_window_controls_new gtk_window_controls_get_side gtk_window_controls_set_side gtk_window_controls_get_decoration_layout gtk_window_controls_set_decoration_layout gtk_window_controls_get_empty GTK_WINDOW_CONTROLS GTK_IS_WINDOW_CONTROLS GTK_TYPE_WINDOW_CONTROLS GTK_WINDOW_CONTROLS_CLASS GTK_IS_WINDOW_CONTROLS_CLASS GTK_WINDOW_CONTROLS_GET_CLASS gtk_window_controls_get_type
gtkwindowhandle GtkWindowHandle GtkWindowHandle gtk_window_handle_new gtk_window_handle_get_child gtk_window_handle_set_child GTK_WINDOW_HANDLE GTK_IS_WINDOW_HANDLE GTK_TYPE_WINDOW_HANDLE GTK_WINDOW_HANDLE_CLASS GTK_IS_WINDOW_HANDLE_CLASS GTK_WINDOW_HANDLE_GET_CLASS gtk_window_handle_get_type
gtkmain General gtk_disable_setlocale gtk_get_default_language gtk_get_locale_direction gtk_init gtk_init_check GTK_PRIORITY_RESIZE gtk_init_abi_check gtk_init_check_abi_check GTKMAIN_C_VAR
gtkfeatures Feature Test Macros gtk_get_major_version gtk_get_minor_version gtk_get_micro_version gtk_get_binary_age gtk_get_interface_age gtk_check_version GTK_MAJOR_VERSION GTK_MINOR_VERSION GTK_MICRO_VERSION GTK_BINARY_AGE GTK_INTERFACE_AGE GTK_CHECK_VERSION
gtkstyleprovider GtkStyleProvider GtkStyleProvider GTK_STYLE_PROVIDER_PRIORITY_FALLBACK GTK_STYLE_PROVIDER_PRIORITY_THEME GTK_STYLE_PROVIDER_PRIORITY_SETTINGS GTK_STYLE_PROVIDER_PRIORITY_APPLICATION GTK_STYLE_PROVIDER_PRIORITY_USER GTK_TYPE_STYLE_PROVIDER GTK_STYLE_PROVIDER GTK_IS_STYLE_PROVIDER GTK_STYLE_PROVIDER_GET_IFACE gtk_style_provider_get_type
gtkstylecontext GtkStyleContext GtkBorderStyle GTK_STYLE_CLASS_ACCELERATOR GTK_STYLE_CLASS_ARROW GTK_STYLE_CLASS_BACKGROUND GTK_STYLE_CLASS_BOTTOM GTK_STYLE_CLASS_BUTTON GTK_STYLE_CLASS_CALENDAR GTK_STYLE_CLASS_CELL GTK_STYLE_CLASS_COMBOBOX_ENTRY GTK_STYLE_CLASS_CONTEXT_MENU GTK_STYLE_CLASS_CHECK GTK_STYLE_CLASS_CSD GTK_STYLE_CLASS_CURSOR_HANDLE GTK_STYLE_CLASS_DEFAULT GTK_STYLE_CLASS_DESTRUCTIVE_ACTION GTK_STYLE_CLASS_DIM_LABEL GTK_STYLE_CLASS_DND GTK_STYLE_CLASS_DOCK GTK_STYLE_CLASS_ENTRY GTK_STYLE_CLASS_ERROR GTK_STYLE_CLASS_EXPANDER GTK_STYLE_CLASS_FRAME GTK_STYLE_CLASS_FLAT GTK_STYLE_CLASS_HEADER GTK_STYLE_CLASS_HIGHLIGHT GTK_STYLE_CLASS_HORIZONTAL GTK_STYLE_CLASS_IMAGE GTK_STYLE_CLASS_INFO GTK_STYLE_CLASS_INSERTION_CURSOR GTK_STYLE_CLASS_LABEL GTK_STYLE_CLASS_LEFT GTK_STYLE_CLASS_LEVEL_BAR GTK_STYLE_CLASS_LINKED GTK_STYLE_CLASS_LIST GTK_STYLE_CLASS_LIST_ROW GTK_STYLE_CLASS_MARK GTK_STYLE_CLASS_MENU GTK_STYLE_CLASS_MENUBAR GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_MESSAGE_DIALOG GTK_STYLE_CLASS_MONOSPACE GTK_STYLE_CLASS_NEEDS_ATTENTION GTK_STYLE_CLASS_NOTEBOOK GTK_STYLE_CLASS_OSD GTK_STYLE_CLASS_OVERSHOOT GTK_STYLE_CLASS_PANE_SEPARATOR GTK_STYLE_CLASS_PAPER GTK_STYLE_CLASS_POPUP GTK_STYLE_CLASS_POPOVER GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_PULSE GTK_STYLE_CLASS_QUESTION GTK_STYLE_CLASS_RADIO GTK_STYLE_CLASS_RAISED GTK_STYLE_CLASS_READ_ONLY GTK_STYLE_CLASS_RIGHT GTK_STYLE_CLASS_RUBBERBAND GTK_STYLE_CLASS_SCALE GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW GTK_STYLE_CLASS_SCROLLBAR GTK_STYLE_CLASS_SCROLLBARS_JUNCTION GTK_STYLE_CLASS_SEPARATOR GTK_STYLE_CLASS_SIDEBAR GTK_STYLE_CLASS_SLIDER GTK_STYLE_CLASS_SPINBUTTON GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_STATUSBAR GTK_STYLE_CLASS_SUBTITLE GTK_STYLE_CLASS_SUGGESTED_ACTION GTK_STYLE_CLASS_TITLE GTK_STYLE_CLASS_TITLEBAR GTK_STYLE_CLASS_TOOLBAR GTK_STYLE_CLASS_TOOLTIP GTK_STYLE_CLASS_TOUCH_SELECTION GTK_STYLE_CLASS_TOP GTK_STYLE_CLASS_TROUGH GTK_STYLE_CLASS_UNDERSHOOT GTK_STYLE_CLASS_VERTICAL GTK_STYLE_CLASS_VIEW GTK_STYLE_CLASS_WARNING GTK_STYLE_CLASS_WIDE GtkStyleContext gtk_style_context_add_provider gtk_style_context_add_provider_for_display gtk_style_context_get_display gtk_style_context_get_state gtk_style_context_get_color gtk_style_context_get_border gtk_style_context_get_padding gtk_style_context_get_margin gtk_style_context_lookup_color gtk_style_context_remove_provider gtk_style_context_remove_provider_for_display gtk_style_context_restore gtk_style_context_save gtk_style_context_add_class gtk_style_context_remove_class gtk_style_context_has_class gtk_style_context_set_display gtk_style_context_set_state gtk_style_context_set_scale gtk_style_context_get_scale GtkStyleContextPrintFlags gtk_style_context_to_string GtkBorder gtk_border_new gtk_border_copy gtk_border_free gtk_render_arrow gtk_render_background gtk_render_check gtk_render_expander gtk_render_focus gtk_render_frame gtk_render_handle gtk_render_layout gtk_render_line gtk_render_option gtk_render_activity gtk_render_icon gtk_render_insertion_cursor GTK_TYPE_STYLE_CONTEXT GTK_STYLE_CONTEXT GTK_STYLE_CONTEXT_CLASS GTK_STYLE_CONTEXT_GET_CLASS GTK_IS_STYLE_CONTEXT GTK_IS_STYLE_CONTEXT_CLASS GTK_TYPE_BORDER GtkStyleContextPrivate gtk_style_context_get_type gtk_border_get_type
gtkcssprovider GtkCssProvider GtkCssProvider gtk_css_provider_load_named gtk_css_provider_load_from_data gtk_css_provider_load_from_file gtk_css_provider_load_from_path gtk_css_provider_load_from_resource gtk_css_provider_new gtk_css_provider_to_string GTK_CSS_PARSER_ERROR GtkCssParserError GtkCssParserWarning GtkCssLocation GtkCssSection gtk_css_section_new gtk_css_section_ref gtk_css_section_unref gtk_css_section_print gtk_css_section_to_string gtk_css_section_get_file gtk_css_section_get_parent gtk_css_section_get_start_location gtk_css_section_get_end_location GTK_TYPE_CSS_PROVIDER GTK_CSS_PROVIDER GTK_CSS_PROVIDER_CLASS GTK_CSS_PROVIDER_GET_CLASS GTK_IS_CSS_PROVIDER GTK_IS_CSS_PROVIDER_CLASS GTK_TYPE_CSS_SECTION GtkCssProviderPrivate gtk_css_provider_get_type gtk_css_provider_error_quark gtk_css_section_get_type
gtkenums Standard Enumerations GtkBaselinePosition GtkDeleteType GtkDirectionType GtkJustification GtkMovementStep GtkOrdering gtk_ordering_from_cmpfunc GtkOrientation GtkPackType GtkPositionType GtkScrollStep GtkScrollType GtkSelectionMode GtkStateFlags GtkSortType GtkIconSize
gtkicontheme GtkIconTheme GtkIconPaintable GtkIconTheme GtkIconLookupFlags GTK_ICON_THEME_ERROR GTK_TYPE_ICON_THEME_ERROR GTK_TYPE_ICON_LOOKUP_FLAGS GtkIconThemeError gtk_icon_theme_new gtk_icon_theme_get_for_display gtk_icon_theme_set_search_path gtk_icon_theme_get_search_path gtk_icon_theme_add_search_path gtk_icon_theme_set_resource_path gtk_icon_theme_get_resource_path gtk_icon_theme_add_resource_path gtk_icon_theme_set_theme_name gtk_icon_theme_get_theme_name gtk_icon_theme_has_icon gtk_icon_theme_lookup_icon gtk_icon_theme_lookup_by_gicon gtk_icon_theme_get_icon_names gtk_icon_theme_get_icon_sizes gtk_icon_paintable_new_for_file gtk_icon_paintable_get_file gtk_icon_paintable_get_icon_name gtk_icon_paintable_is_symbolic GtkIconClass GTK_ICON_THEME GTK_IS_ICON_THEME GTK_TYPE_ICON_THEME gtk_icon_theme_get_type GTK_ICON_THEME_CLASS GTK_IS_ICON_THEME_CLASS GTK_ICON_THEME_GET_CLASS gtk_icon_paintable_get_type GTK_ICON_PAINTABLE GTK_IS_ICON GTK_TYPE_ICON GTK_ICON_PAINTABLE_CLASS GTK_ICON_PAINTABLE_GET_CLASS GTK_IS_ICON_CLASS GtkIconThemePrivate gtk_icon_theme_error_quark
gtkprintoperation High-level Printing API GtkPrintOperation GtkPrintOperationClass GtkPrintStatus GtkPrintOperationAction GtkPrintOperationResult GtkPrintError GTK_PRINT_ERROR gtk_print_operation_new gtk_print_operation_set_allow_async gtk_print_operation_get_error gtk_print_operation_set_default_page_setup gtk_print_operation_get_default_page_setup gtk_print_operation_set_print_settings gtk_print_operation_get_print_settings gtk_print_operation_set_job_name gtk_print_operation_set_n_pages gtk_print_operation_get_n_pages_to_print gtk_print_operation_set_current_page gtk_print_operation_set_use_full_page gtk_print_operation_set_unit gtk_print_operation_set_export_filename gtk_print_operation_set_show_progress gtk_print_operation_set_track_print_status gtk_print_operation_set_custom_tab_label gtk_print_operation_run gtk_print_operation_cancel gtk_print_operation_draw_page_finish gtk_print_operation_set_defer_drawing gtk_print_operation_get_status gtk_print_operation_get_status_string gtk_print_operation_is_finished gtk_print_operation_set_support_selection gtk_print_operation_get_support_selection gtk_print_operation_set_has_selection gtk_print_operation_get_has_selection gtk_print_operation_set_embed_page_setup gtk_print_operation_get_embed_page_setup gtk_print_run_page_setup_dialog GtkPageSetupDoneFunc gtk_print_run_page_setup_dialog_async GtkPrintOperationPreview gtk_print_operation_preview_end_preview gtk_print_operation_preview_is_selected gtk_print_operation_preview_render_page GTK_TYPE_PRINT_OPERATION GTK_PRINT_OPERATION GTK_IS_PRINT_OPERATION GTK_IS_PRINT_OPERATION_CLASS GTK_PRINT_OPERATION_CLASS GTK_PRINT_OPERATION_GET_CLASS GTK_IS_PRINT_OPERATION_PREVIEW GTK_PRINT_OPERATION_PREVIEW GTK_PRINT_OPERATION_PREVIEW_GET_IFACE GTK_TYPE_PRINT_OPERATION_PREVIEW GtkPrintOperationPreviewIface gtk_print_error_quark gtk_print_operation_get_type gtk_print_operation_preview_get_type GtkPrintOperationPrivate
gtkprintunixdialog GtkPrintUnixDialog GtkPrintUnixDialog gtk_print_unix_dialog_new gtk_print_unix_dialog_set_page_setup gtk_print_unix_dialog_get_page_setup gtk_print_unix_dialog_set_current_page gtk_print_unix_dialog_get_current_page gtk_print_unix_dialog_set_settings gtk_print_unix_dialog_get_settings gtk_print_unix_dialog_get_selected_printer gtk_print_unix_dialog_add_custom_tab gtk_print_unix_dialog_set_support_selection gtk_print_unix_dialog_get_support_selection gtk_print_unix_dialog_set_has_selection gtk_print_unix_dialog_get_has_selection gtk_print_unix_dialog_set_embed_page_setup gtk_print_unix_dialog_get_embed_page_setup gtk_print_unix_dialog_get_page_setup_set GtkPrintCapabilities gtk_print_unix_dialog_set_manual_capabilities gtk_print_unix_dialog_get_manual_capabilities GTK_TYPE_PRINT_UNIX_DIALOG GTK_PRINT_UNIX_DIALOG GTK_PRINT_UNIX_DIALOG_CLASS GTK_IS_PRINT_UNIX_DIALOG GTK_IS_PRINT_UNIX_DIALOG_CLASS GTK_PRINT_UNIX_DIALOG_GET_CLASS GTK_TYPE_PRINT_CAPABILITIES GtkPrintUnixDialogPrivate gtk_print_unix_dialog_get_type gtk_print_capabilities_get_type
gtkprinter GtkPrinter GtkPrinter GtkPrintBackend gtk_printer_new gtk_printer_get_backend gtk_printer_get_name gtk_printer_get_state_message gtk_printer_get_description gtk_printer_get_location gtk_printer_get_icon_name gtk_printer_get_job_count gtk_printer_is_active gtk_printer_is_paused gtk_printer_is_accepting_jobs gtk_printer_is_virtual gtk_printer_is_default gtk_printer_accepts_ps gtk_printer_accepts_pdf gtk_printer_list_papers gtk_printer_compare gtk_printer_has_details gtk_printer_request_details gtk_printer_get_capabilities gtk_printer_get_default_page_size gtk_printer_get_hard_margins gtk_printer_get_hard_margins_for_paper_size GtkPrinterFunc gtk_enumerate_printers GTK_TYPE_PRINTER GTK_PRINTER GTK_PRINTER_CLASS GTK_IS_PRINTER GTK_IS_PRINTER_CLASS GTK_PRINTER_GET_CLASS GtkPrinterPrivate gtk_printer_get_type
gtkprintsettings GtkPrintSettings GtkPrintSettings GtkPrintSettingsFunc gtk_print_settings_new gtk_print_settings_copy gtk_print_settings_has_key gtk_print_settings_get gtk_print_settings_set gtk_print_settings_unset gtk_print_settings_foreach gtk_print_settings_get_bool gtk_print_settings_set_bool gtk_print_settings_get_double gtk_print_settings_get_double_with_default gtk_print_settings_set_double gtk_print_settings_get_length gtk_print_settings_set_length gtk_print_settings_get_int gtk_print_settings_get_int_with_default gtk_print_settings_set_int GTK_PRINT_SETTINGS_PRINTER gtk_print_settings_get_printer gtk_print_settings_set_printer GtkPageOrientation GTK_PRINT_SETTINGS_ORIENTATION gtk_print_settings_get_orientation gtk_print_settings_set_orientation GTK_PRINT_SETTINGS_PAPER_FORMAT gtk_print_settings_get_paper_size gtk_print_settings_set_paper_size GTK_PRINT_SETTINGS_PAPER_WIDTH gtk_print_settings_get_paper_width gtk_print_settings_set_paper_width GTK_PRINT_SETTINGS_PAPER_HEIGHT gtk_print_settings_get_paper_height gtk_print_settings_set_paper_height GTK_PRINT_SETTINGS_USE_COLOR gtk_print_settings_get_use_color gtk_print_settings_set_use_color GTK_PRINT_SETTINGS_COLLATE gtk_print_settings_get_collate gtk_print_settings_set_collate GTK_PRINT_SETTINGS_REVERSE gtk_print_settings_get_reverse gtk_print_settings_set_reverse GtkPrintDuplex GTK_PRINT_SETTINGS_DUPLEX gtk_print_settings_get_duplex gtk_print_settings_set_duplex GtkPrintQuality GTK_PRINT_SETTINGS_QUALITY gtk_print_settings_get_quality gtk_print_settings_set_quality GTK_PRINT_SETTINGS_N_COPIES gtk_print_settings_get_n_copies gtk_print_settings_set_n_copies GTK_PRINT_SETTINGS_NUMBER_UP gtk_print_settings_get_number_up gtk_print_settings_set_number_up GtkNumberUpLayout GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT gtk_print_settings_get_number_up_layout gtk_print_settings_set_number_up_layout GTK_PRINT_SETTINGS_RESOLUTION gtk_print_settings_get_resolution gtk_print_settings_set_resolution gtk_print_settings_set_resolution_xy GTK_PRINT_SETTINGS_RESOLUTION_X gtk_print_settings_get_resolution_x GTK_PRINT_SETTINGS_RESOLUTION_Y gtk_print_settings_get_resolution_y GTK_PRINT_SETTINGS_PRINTER_LPI gtk_print_settings_get_printer_lpi gtk_print_settings_set_printer_lpi GTK_PRINT_SETTINGS_SCALE gtk_print_settings_get_scale gtk_print_settings_set_scale GtkPrintPages GTK_PRINT_SETTINGS_PRINT_PAGES gtk_print_settings_get_print_pages gtk_print_settings_set_print_pages GtkPageRange GTK_PRINT_SETTINGS_PAGE_RANGES gtk_print_settings_get_page_ranges gtk_print_settings_set_page_ranges GtkPageSet GTK_PRINT_SETTINGS_PAGE_SET gtk_print_settings_get_page_set gtk_print_settings_set_page_set GTK_PRINT_SETTINGS_DEFAULT_SOURCE gtk_print_settings_get_default_source gtk_print_settings_set_default_source GTK_PRINT_SETTINGS_MEDIA_TYPE gtk_print_settings_get_media_type gtk_print_settings_set_media_type GTK_PRINT_SETTINGS_DITHER gtk_print_settings_get_dither gtk_print_settings_set_dither GTK_PRINT_SETTINGS_FINISHINGS gtk_print_settings_get_finishings gtk_print_settings_set_finishings GTK_PRINT_SETTINGS_OUTPUT_BIN gtk_print_settings_get_output_bin gtk_print_settings_set_output_bin GTK_PRINT_SETTINGS_OUTPUT_DIR GTK_PRINT_SETTINGS_OUTPUT_BASENAME GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT GTK_PRINT_SETTINGS_OUTPUT_URI GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION gtk_print_settings_new_from_file gtk_print_settings_new_from_key_file gtk_print_settings_new_from_gvariant gtk_print_settings_load_file gtk_print_settings_load_key_file gtk_print_settings_to_file gtk_print_settings_to_key_file gtk_print_settings_to_gvariant GTK_TYPE_PRINT_SETTINGS GTK_PRINT_SETTINGS GTK_IS_PRINT_SETTINGS gtk_print_settings_get_type
gtkpapersize GtkPaperSize GtkPaperSize GtkUnit GTK_UNIT_PIXEL GTK_PAPER_NAME_A3 GTK_PAPER_NAME_A4 GTK_PAPER_NAME_A5 GTK_PAPER_NAME_B5 GTK_PAPER_NAME_LETTER GTK_PAPER_NAME_EXECUTIVE GTK_PAPER_NAME_LEGAL gtk_paper_size_new gtk_paper_size_new_from_ppd gtk_paper_size_new_from_ipp gtk_paper_size_new_custom gtk_paper_size_copy gtk_paper_size_free gtk_paper_size_is_equal gtk_paper_size_get_paper_sizes gtk_paper_size_get_name gtk_paper_size_get_display_name gtk_paper_size_get_ppd_name gtk_paper_size_get_width gtk_paper_size_get_height gtk_paper_size_is_ipp gtk_paper_size_is_custom gtk_paper_size_set_size gtk_paper_size_get_default_top_margin gtk_paper_size_get_default_bottom_margin gtk_paper_size_get_default_left_margin gtk_paper_size_get_default_right_margin gtk_paper_size_get_default gtk_paper_size_new_from_key_file gtk_paper_size_new_from_gvariant gtk_paper_size_to_key_file gtk_paper_size_to_gvariant GTK_TYPE_PAPER_SIZE GTK_CUSTOM_PAPER_UNIX_DIALOG GTK_CUSTOM_PAPER_UNIX_DIALOG_CLASS GTK_CUSTOM_PAPER_UNIX_DIALOG_GET_CLASS GTK_IS_CUSTOM_PAPER_UNIX_DIALOG GTK_IS_CUSTOM_PAPER_UNIX_DIALOG_CLASS GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG GtkCustomPaperUnixDialog GtkCustomPaperUnixDialogClass gtk_paper_size_get_type gtk_custom_paper_unix_dialog_get_type GtkCustomPaperUnixDialogPrivate
gtkpagesetup GtkPageSetup GtkPageSetup gtk_page_setup_new gtk_page_setup_copy gtk_page_setup_get_orientation gtk_page_setup_set_orientation gtk_page_setup_get_paper_size gtk_page_setup_set_paper_size gtk_page_setup_get_top_margin gtk_page_setup_set_top_margin gtk_page_setup_get_bottom_margin gtk_page_setup_set_bottom_margin gtk_page_setup_get_left_margin gtk_page_setup_set_left_margin gtk_page_setup_get_right_margin gtk_page_setup_set_right_margin gtk_page_setup_set_paper_size_and_default_margins gtk_page_setup_get_paper_width gtk_page_setup_get_paper_height gtk_page_setup_get_page_width gtk_page_setup_get_page_height gtk_page_setup_new_from_file gtk_page_setup_new_from_key_file gtk_page_setup_new_from_gvariant gtk_page_setup_load_file gtk_page_setup_load_key_file gtk_page_setup_to_file gtk_page_setup_to_key_file gtk_page_setup_to_gvariant GTK_TYPE_PAGE_SETUP GTK_PAGE_SETUP GTK_IS_PAGE_SETUP gtk_page_setup_get_type
gtkprintcontext GtkPrintContext GtkPrintContext gtk_print_context_get_cairo_context gtk_print_context_set_cairo_context gtk_print_context_get_page_setup gtk_print_context_get_width gtk_print_context_get_height gtk_print_context_get_dpi_x gtk_print_context_get_dpi_y gtk_print_context_get_pango_fontmap gtk_print_context_create_pango_context gtk_print_context_create_pango_layout gtk_print_context_get_hard_margins GTK_TYPE_PRINT_CONTEXT GTK_PRINT_CONTEXT GTK_IS_PRINT_CONTEXT gtk_print_context_get_type
gtkprintjob GtkPrintJob GtkPrintJob GtkPrintJobCompleteFunc gtk_print_job_new gtk_print_job_get_settings gtk_print_job_get_printer gtk_print_job_get_title gtk_print_job_get_status gtk_print_job_set_source_file gtk_print_job_set_source_fd gtk_print_job_get_surface gtk_print_job_send gtk_print_job_set_track_print_status gtk_print_job_get_track_print_status gtk_print_job_get_pages gtk_print_job_set_pages gtk_print_job_get_page_ranges gtk_print_job_set_page_ranges gtk_print_job_get_page_set gtk_print_job_set_page_set gtk_print_job_get_num_copies gtk_print_job_set_num_copies gtk_print_job_get_scale gtk_print_job_set_scale gtk_print_job_get_n_up gtk_print_job_set_n_up gtk_print_job_get_n_up_layout gtk_print_job_set_n_up_layout gtk_print_job_get_rotate gtk_print_job_set_rotate gtk_print_job_get_collate gtk_print_job_set_collate gtk_print_job_get_reverse gtk_print_job_set_reverse GTK_TYPE_PRINT_JOB GTK_PRINT_JOB GTK_PRINT_JOB_CLASS GTK_IS_PRINT_JOB GTK_IS_PRINT_JOB_CLASS GTK_PRINT_JOB_GET_CLASS GtkPrintJobPrivate gtk_print_job_get_type
gtkpagesetupunixdialog GtkPageSetupUnixDialog GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_new gtk_page_setup_unix_dialog_set_page_setup gtk_page_setup_unix_dialog_get_page_setup gtk_page_setup_unix_dialog_set_print_settings gtk_page_setup_unix_dialog_get_print_settings GTK_TYPE_PAGE_SETUP_UNIX_DIALOG GTK_PAGE_SETUP_UNIX_DIALOG GTK_PAGE_SETUP_UNIX_DIALOG_CLASS GTK_IS_PAGE_SETUP_UNIX_DIALOG GTK_IS_PAGE_SETUP_UNIX_DIALOG_CLASS GTK_PAGE_SETUP_UNIX_DIALOG_GET_CLASS GtkPageSetupUnixDialogPrivate gtk_page_setup_unix_dialog_get_type
gtktesting Testing gtk_test_init gtk_test_list_all_types gtk_test_register_all_types gtk_test_widget_wait_for_draw
filesystem Filesystem utilities GtkMountOperation GtkMountOperationClass gtk_mount_operation_new gtk_mount_operation_is_showing gtk_mount_operation_set_parent gtk_mount_operation_get_parent gtk_mount_operation_set_display gtk_mount_operation_get_display gtk_show_uri_full gtk_show_uri_full_finish gtk_show_uri GTK_IS_MOUNT_OPERATION GTK_IS_MOUNT_OPERATION_CLASS GTK_MOUNT_OPERATION GTK_MOUNT_OPERATION_CLASS GTK_MOUNT_OPERATION_GET_CLASS GTK_TYPE_MOUNT_OPERATION GtkMountOperationLookupContext gtk_mount_operation_get_type GtkMountOperationPrivate
gtkorientable Orientable GtkOrientable gtk_orientable_get_orientation gtk_orientable_set_orientation GtkOrientableIface GTK_IS_ORIENTABLE GTK_IS_ORIENTABLE_CLASS GTK_ORIENTABLE GTK_ORIENTABLE_CLASS GTK_ORIENTABLE_GET_IFACE GTK_TYPE_ORIENTABLE gtk_orientable_get_type
gtkapplication GtkApplication GtkApplication GtkApplicationClass gtk_application_new gtk_application_add_window gtk_application_remove_window gtk_application_get_windows gtk_application_get_window_by_id gtk_application_get_active_window GtkApplicationInhibitFlags gtk_application_inhibit gtk_application_uninhibit gtk_application_get_menubar gtk_application_set_menubar gtk_application_get_menu_by_id gtk_application_list_action_descriptions gtk_application_get_accels_for_action gtk_application_set_accels_for_action gtk_application_get_actions_for_accel GTK_TYPE_APPLICATION GTK_APPLICATION GTK_APPLICATION_CLASS GTK_IS_APPLICATION GTK_IS_APPLICATION_CLASS GTK_APPLICATION_GET_CLASS gtk_application_get_type GtkApplicationPrivate
gtkapplicationwindow GtkApplicationWindow GtkApplicationWindow GtkApplicationWindowClass gtk_application_window_new gtk_application_window_set_show_menubar gtk_application_window_get_show_menubar gtk_application_window_get_id gtk_application_window_set_help_overlay gtk_application_window_get_help_overlay GTK_TYPE_APPLICATION_WINDOW GTK_APPLICATION_WINDOW GTK_APPLICATION_WINDOW_CLASS GTK_IS_APPLICATION_WINDOW GTK_IS_APPLICATION_WINDOW_CLASS GTK_APPLICATION_WINDOW_GET_CLASS gtk_application_window_get_type GtkApplicationWindowPrivate
gtkactionable GtkActionable GtkActionable GtkActionableInterface gtk_actionable_get_action_name gtk_actionable_set_action_name gtk_actionable_get_action_target_value gtk_actionable_set_action_target_value gtk_actionable_set_action_target gtk_actionable_set_detailed_action_name gtk_actionable_get_type GTK_ACTIONABLE GTK_ACTIONABLE_GET_IFACE GTK_IS_ACTIONABLE GTK_TYPE_ACTIONABLE
gtkgrid GtkGrid GtkGrid GtkGridClass gtk_grid_new gtk_grid_attach gtk_grid_attach_next_to gtk_grid_remove gtk_grid_get_child_at gtk_grid_insert_row gtk_grid_insert_column gtk_grid_remove_row gtk_grid_remove_column gtk_grid_insert_next_to gtk_grid_set_row_homogeneous gtk_grid_get_row_homogeneous gtk_grid_set_row_spacing gtk_grid_get_row_spacing gtk_grid_set_column_homogeneous gtk_grid_get_column_homogeneous gtk_grid_set_column_spacing gtk_grid_get_column_spacing gtk_grid_get_baseline_row gtk_grid_set_baseline_row gtk_grid_get_row_baseline_position gtk_grid_set_row_baseline_position GTK_TYPE_GRID GTK_GRID GTK_GRID_CLASS GTK_IS_GRID GTK_IS_GRID_CLASS GTK_GRID_GET_CLASS GtkGridPrivate gtk_grid_get_type
gtkswitch GtkSwitch gtk_switch_new gtk_switch_set_active gtk_switch_get_active gtk_switch_set_state gtk_switch_get_state GTK_TYPE_SWITCH GTK_SWITCH GTK_SWITCH_CLASS GTK_IS_SWITCH GTK_IS_SWITCH_CLASS GTK_SWITCH_GET_CLASS GtkSwitchPrivate gtk_switch_get_type
gtkappchooser GtkAppChooser GtkAppChooser gtk_app_chooser_get_app_info gtk_app_chooser_get_content_type gtk_app_chooser_refresh GTK_TYPE_APP_CHOOSER GTK_APP_CHOOSER GTK_IS_APP_CHOOSER GTK_APP_CHOOSER_GET_IFACE gtk_app_chooser_get_type GTK_APP_CHOOSER_ONLINE GTK_APP_CHOOSER_ONLINE_GET_IFACE GTK_APP_CHOOSER_ONLINE_PK GTK_APP_CHOOSER_ONLINE_PK_CLASS GTK_APP_CHOOSER_ONLINE_PK_GET_CLASS GTK_IS_APP_CHOOSER_ONLINE GTK_IS_APP_CHOOSER_ONLINE_PK GTK_IS_APP_CHOOSER_ONLINE_PK_CLASS
gtkappchooserbutton GtkAppChooserButton GtkAppChooserButton gtk_app_chooser_button_new gtk_app_chooser_button_append_custom_item gtk_app_chooser_button_append_separator gtk_app_chooser_button_set_active_custom_item gtk_app_chooser_button_get_show_default_item gtk_app_chooser_button_set_show_default_item gtk_app_chooser_button_get_show_dialog_item gtk_app_chooser_button_set_show_dialog_item gtk_app_chooser_button_get_heading gtk_app_chooser_button_set_heading gtk_app_chooser_button_get_modal gtk_app_chooser_button_set_modal GTK_TYPE_APP_CHOOSER_BUTTON GTK_APP_CHOOSER_BUTTON GTK_APP_CHOOSER_BUTTON_CLASS GTK_IS_APP_CHOOSER_BUTTON GTK_IS_APP_CHOOSER_BUTTON_CLASS GTK_APP_CHOOSER_BUTTON_GET_CLASS GtkAppChooserButtonPrivate gtk_app_chooser_button_get_type
gtkappchooserdialog GtkAppChooserDialog GtkAppChooserDialog gtk_app_chooser_dialog_new gtk_app_chooser_dialog_new_for_content_type gtk_app_chooser_dialog_get_widget gtk_app_chooser_dialog_set_heading gtk_app_chooser_dialog_get_heading GTK_TYPE_APP_CHOOSER_DIALOG GTK_APP_CHOOSER_DIALOG GTK_APP_CHOOSER_DIALOG_CLASS GTK_IS_APP_CHOOSER_DIALOG GTK_IS_APP_CHOOSER_DIALOG_CLASS GTK_APP_CHOOSER_DIALOG_GET_CLASS GtkAppChooserDialogPrivate gtk_app_chooser_dialog_get_type
gtkappchooserwidget GtkAppChooserWidget GtkAppChooserWidget gtk_app_chooser_widget_new gtk_app_chooser_widget_set_show_default gtk_app_chooser_widget_get_show_default gtk_app_chooser_widget_set_show_recommended gtk_app_chooser_widget_get_show_recommended gtk_app_chooser_widget_set_show_fallback gtk_app_chooser_widget_get_show_fallback gtk_app_chooser_widget_set_show_other gtk_app_chooser_widget_get_show_other gtk_app_chooser_widget_set_show_all gtk_app_chooser_widget_get_show_all gtk_app_chooser_widget_set_default_text gtk_app_chooser_widget_get_default_text GTK_TYPE_APP_CHOOSER_WIDGET GTK_APP_CHOOSER_WIDGET GTK_APP_CHOOSER_WIDGET_CLASS GTK_IS_APP_CHOOSER_WIDGET GTK_IS_APP_CHOOSER_WIDGET_CLASS GTK_APP_CHOOSER_WIDGET_GET_CLASS GtkAppChooserWidgetPrivate gtk_app_chooser_widget_get_type
gtklockbutton GtkLockButton GtkLockButton gtk_lock_button_new gtk_lock_button_get_permission gtk_lock_button_set_permission GTK_TYPE_LOCK_BUTTON GTK_LOCK_BUTTON GTK_IS_LOCK_BUTTON GTK_LOCK_BUTTON_CLASS GTK_IS_LOCK_BUTTON_CLASS GTK_LOCK_BUTTON_GET_CLASS gtk_lock_button_get_type GtkLockButtonPrivate
gtkoverlay GtkOverlay GtkOverlay gtk_overlay_new gtk_overlay_set_child gtk_overlay_get_child gtk_overlay_add_overlay gtk_overlay_remove_overlay gtk_overlay_get_measure_overlay gtk_overlay_set_measure_overlay gtk_overlay_get_clip_overlay gtk_overlay_set_clip_overlay GTK_TYPE_OVERLAY GTK_OVERLAY GTK_OVERLAY_CLASS GTK_IS_OVERLAY GTK_IS_OVERLAY_CLASS GTK_OVERLAY_GET_CLASS gtk_overlay_get_type GtkOverlayPrivate
gtkcolorchooser GtkColorChooser GtkColorChooser gtk_color_chooser_get_rgba gtk_color_chooser_set_rgba gtk_color_chooser_get_use_alpha gtk_color_chooser_set_use_alpha gtk_color_chooser_add_palette gtk_hsv_to_rgb gtk_rgb_to_hsv GTK_TYPE_COLOR_CHOOSER GTK_COLOR_CHOOSER GTK_IS_COLOR_CHOOSER GTK_COLOR_CHOOSER_GET_IFACE gtk_color_chooser_get_type
gtkcolorchooserwidget GtkColorChooserWidget GtkColorChooserWidget gtk_color_chooser_widget_new GTK_TYPE_COLOR_CHOOSER_WIDGET GTK_COLOR_CHOOSER_WIDGET GTK_COLOR_CHOOSER_WIDGET_CLASS GTK_IS_COLOR_CHOOSER_WIDGET GTK_IS_COLOR_CHOOSER_WIDGET_CLASS GTK_COLOR_CHOOSER_WIDGET_GET_CLASS gtk_color_chooser_widget_get_type GtkColorChooserWidgetPrivate
gtkcolorchooserdialog GtkColorChooserDialog GtkColorChooserDialog gtk_color_chooser_dialog_new GTK_TYPE_COLOR_CHOOSER_DIALOG GTK_COLOR_CHOOSER_DIALOG GTK_COLOR_CHOOSER_DIALOG_CLASS GTK_IS_COLOR_CHOOSER_DIALOG GTK_IS_COLOR_CHOOSER_DIALOG_CLASS GTK_COLOR_CHOOSER_DIALOG_GET_CLASS GtkColorChooserDialogPrivate gtk_color_chooser_dialog_get_type
gtkactionbar GtkActionBar GtkActionBar gtk_action_bar_new gtk_action_bar_pack_start gtk_action_bar_pack_end gtk_action_bar_remove gtk_action_bar_get_center_widget gtk_action_bar_set_center_widget gtk_action_bar_get_revealed gtk_action_bar_set_revealed GTK_TYPE_ACTION_BAR GTK_ACTION_BAR GTK_ACTION_BAR_CLASS GTK_IS_ACTION_BAR GTK_IS_ACTION_BAR_CLASS GTK_ACTION_BAR_GET_CLASS GtkActionBarPrivate gtk_action_bar_get_type
gtkheaderbar GtkHeaderBar GtkHeaderBar gtk_header_bar_new gtk_header_bar_set_title_widget gtk_header_bar_get_title_widget gtk_header_bar_pack_start gtk_header_bar_pack_end gtk_header_bar_remove gtk_header_bar_set_show_title_buttons gtk_header_bar_get_show_title_buttons gtk_header_bar_set_decoration_layout gtk_header_bar_get_decoration_layout GTK_TYPE_HEADER_BAR GTK_HEADER_BAR GTK_HEADER_BAR_CLASS GTK_IS_HEADER_BAR GTK_IS_HEADER_BAR_CLASS GTK_HEADER_BAR_GET_CLASS GtkHeaderBarPrivate gtk_header_bar_get_type
gtkstack GtkStack GtkStackPage gtk_stack_page_get_visible gtk_stack_page_set_visible gtk_stack_page_get_title gtk_stack_page_set_title gtk_stack_page_get_name gtk_stack_page_set_name gtk_stack_page_get_needs_attention gtk_stack_page_set_needs_attention gtk_stack_page_get_use_underline gtk_stack_page_set_use_underline gtk_stack_page_get_icon_name gtk_stack_page_set_icon_name gtk_stack_page_get_child GtkStack gtk_stack_new gtk_stack_add_named gtk_stack_add_titled gtk_stack_remove gtk_stack_get_child_by_name gtk_stack_get_page gtk_stack_get_pages gtk_stack_set_visible_child gtk_stack_get_visible_child gtk_stack_set_visible_child_name gtk_stack_get_visible_child_name gtk_stack_set_visible_child_full gtk_stack_set_hhomogeneous gtk_stack_get_hhomogeneous gtk_stack_set_vhomogeneous gtk_stack_get_vhomogeneous gtk_stack_set_transition_duration gtk_stack_get_transition_duration GtkStackTransitionType gtk_stack_set_transition_type gtk_stack_get_transition_type gtk_stack_get_transition_running gtk_stack_get_interpolate_size gtk_stack_set_interpolate_size GTK_TYPE_STACK GTK_IS_STACK GTK_IS_STACK_CLASS GTK_STACK GTK_STACK_CLASS GTK_STACK_GET_CLASS gtk_stack_get_type gtk_stack_page_get_type
gtkstackswitcher GtkStackSwitcher GtkStackSwitcher gtk_stack_switcher_new gtk_stack_switcher_set_stack gtk_stack_switcher_get_stack GTK_TYPE_STACK_SWITCHER GTK_IS_STACK_SWITCHER GTK_IS_STACK_SWITCHER_CLASS GTK_STACK_SWITCHER GTK_STACK_SWITCHER_CLASS GTK_STACK_SWITCHER_GET_CLASS gtk_stack_switcher_get_type
gtkrevealer GtkRevealer GtkRevealer gtk_revealer_new gtk_revealer_get_child gtk_revealer_set_child gtk_revealer_get_reveal_child gtk_revealer_set_reveal_child gtk_revealer_get_child_revealed gtk_revealer_get_transition_duration gtk_revealer_set_transition_duration GtkRevealerTransitionType gtk_revealer_get_transition_type gtk_revealer_set_transition_type GTK_TYPE_REVEALER GTK_IS_REVEALER GTK_IS_REVEALER_CLASS GTK_REVEALER GTK_REVEALER_CLASS GTK_REVEALER_GET_CLASS gtk_revealer_get_type
gtkflowbox GtkFlowBox GtkFlowBox gtk_flow_box_new gtk_flow_box_insert gtk_flow_box_remove gtk_flow_box_get_child_at_index gtk_flow_box_get_child_at_pos gtk_flow_box_set_hadjustment gtk_flow_box_set_vadjustment gtk_flow_box_set_homogeneous gtk_flow_box_get_homogeneous gtk_flow_box_set_row_spacing gtk_flow_box_get_row_spacing gtk_flow_box_set_column_spacing gtk_flow_box_get_column_spacing gtk_flow_box_set_min_children_per_line gtk_flow_box_get_min_children_per_line gtk_flow_box_set_max_children_per_line gtk_flow_box_get_max_children_per_line gtk_flow_box_set_activate_on_single_click gtk_flow_box_get_activate_on_single_click GtkFlowBoxForeachFunc gtk_flow_box_selected_foreach gtk_flow_box_get_selected_children gtk_flow_box_select_child gtk_flow_box_unselect_child gtk_flow_box_select_all gtk_flow_box_unselect_all gtk_flow_box_set_selection_mode gtk_flow_box_get_selection_mode GtkFlowBoxFilterFunc gtk_flow_box_set_filter_func gtk_flow_box_invalidate_filter GtkFlowBoxSortFunc gtk_flow_box_set_sort_func gtk_flow_box_invalidate_sort GtkFlowBoxCreateWidgetFunc gtk_flow_box_bind_model GtkFlowBoxChild gtk_flow_box_child_new gtk_flow_box_child_set_child gtk_flow_box_child_get_child gtk_flow_box_child_get_index gtk_flow_box_child_is_selected gtk_flow_box_child_changed GtkFlowBoxChildClass GTK_TYPE_FLOW_BOX GTK_TYPE_FLOW_BOX_CHILD GTK_FLOW_BOX GTK_FLOW_BOX_CLASS GTK_FLOW_BOX_GET_CLASS GTK_IS_FLOW_BOX GTK_IS_FLOW_BOX_CLASS GTK_FLOW_BOX_CHILD GTK_FLOW_BOX_CHILD_CLASS GTK_FLOW_BOX_CHILD_GET_CLASS GTK_IS_FLOW_BOX_CHILD GTK_IS_FLOW_BOX_CHILD_CLASS gtk_flow_box_get_type gtk_flow_box_child_get_type
gtkpopover GtkPopover GtkPopover gtk_popover_new gtk_popover_popup gtk_popover_popdown gtk_popover_set_child gtk_popover_get_child gtk_popover_set_pointing_to gtk_popover_get_pointing_to gtk_popover_set_position gtk_popover_get_position gtk_popover_set_autohide gtk_popover_get_autohide gtk_popover_set_has_arrow gtk_popover_get_has_arrow gtk_popover_set_default_widget GTK_TYPE_POPOVER GTK_IS_POPOVER GTK_IS_POPOVER_CLASS GTK_IS_POPOVER_MENU GTK_IS_POPOVER_MENU_CLASS GTK_POPOVER GTK_POPOVER_CLASS GTK_POPOVER_GET_CLASS GtkPopoverPrivate gtk_popover_get_type
gtkpopovermenu GtkPopoverMenu GtkPopoverMenu GtkPopoverMenuFlags gtk_popover_menu_new_from_model gtk_popover_menu_new_from_model_full gtk_popover_menu_set_menu_model gtk_popover_menu_get_menu_model GTK_TYPE_POPOVER_MENU GTK_IS_POPOVER_MENU GTK_POPOVER_MENU GTK_TYPE_POPOVER_MENU_FLAGS gtk_popover_menu_get_type
gtkpopovermenubar GtkPopoverMenuBar GtkPopoverMenuBar gtk_popover_menu_bar_new_from_model gtk_popover_menu_bar_set_menu_model gtk_popover_menu_bar_get_menu_model GTK_TYPE_POPOVER_MENU_BAR GTK_IS_POPOVER_MENU_BAR GTK_POPOVER_MENU_BAR gtk_popover_menu_bar_get_type
gtkeventcontroller GtkEventController GtkEventController GtkPropagationPhase gtk_event_controller_get_propagation_phase gtk_event_controller_set_propagation_phase GtkPropagationLimit gtk_event_controller_get_propagation_limit gtk_event_controller_set_propagation_limit gtk_event_controller_get_widget gtk_event_controller_reset gtk_event_controller_get_name gtk_event_controller_set_name gtk_event_controller_get_current_event gtk_event_controller_get_current_event_device gtk_event_controller_get_current_event_state gtk_event_controller_get_current_event_time GTK_TYPE_EVENT_CONTROLLER GTK_EVENT_CONTROLLER GTK_EVENT_CONTROLLER_CLASS GTK_IS_EVENT_CONTROLLER GTK_EVENT_CONTROLLER_GET_CLASS GTK_IS_EVENT_CONTROLLER_CLASS GtkEventControllerPriv gtk_event_controller_get_type
gtkgesture GtkGesture GtkGesture gtk_gesture_get_device gtk_gesture_is_active gtk_gesture_is_recognized GtkEventSequenceState gtk_gesture_get_sequence_state gtk_gesture_set_sequence_state gtk_gesture_set_state gtk_gesture_get_sequences gtk_gesture_handles_sequence gtk_gesture_get_last_updated_sequence gtk_gesture_get_last_event gtk_gesture_get_point gtk_gesture_get_bounding_box gtk_gesture_get_bounding_box_center gtk_gesture_group gtk_gesture_ungroup gtk_gesture_get_group gtk_gesture_is_grouped_with GTK_TYPE_GESTURE GTK_GESTURE GTK_GESTURE_CLASS GTK_IS_GESTURE GTK_IS_GESTURE_CLASS GTK_GESTURE_GET_CLASS gtk_gesture_get_type
gtkgesturesingle GtkGestureSingle GtkGestureSingle gtk_gesture_single_get_exclusive gtk_gesture_single_set_exclusive gtk_gesture_single_get_touch_only gtk_gesture_single_set_touch_only gtk_gesture_single_get_button gtk_gesture_single_set_button gtk_gesture_single_get_current_button gtk_gesture_single_get_current_sequence GTK_TYPE_GESTURE_SINGLE GTK_GESTURE_SINGLE GTK_GESTURE_SINGLE_CLASS GTK_IS_GESTURE_SINGLE GTK_IS_GESTURE_SINGLE_CLASS GTK_GESTURE_SINGLE_GET_CLASS gtk_gesture_single_get_type
gtkeventcontrollerlegacy GtkEventControllerLegacy GtkEventControllerLegacy gtk_event_controller_legacy_new GTK_TYPE_EVENT_CONTROLLER_LEGACY GTK_EVENT_CONTROLLER_LEGACY GTK_EVENT_CONTROLLER_LEGACY_CLASS GTK_IS_EVENT_CONTROLLER_LEGACY GTK_IS_EVENT_CONTROLLER_LEGACY_CLASS GTK_EVENT_CONTROLLER_LEGACY_GET_CLASS gtk_event_controller_legacy_get_type
gtkeventcontrollerscroll GtkEventControllerScroll GtkEventControllerScroll GtkEventControllerScrollFlags gtk_event_controller_scroll_new gtk_event_controller_scroll_set_flags gtk_event_controller_scroll_get_flags GTK_TYPE_EVENT_CONTROLLER_SCROLL GTK_EVENT_CONTROLLER_SCROLL GTK_EVENT_CONTROLLER_SCROLL_CLASS GTK_IS_EVENT_CONTROLLER_SCROLL GTK_IS_EVENT_CONTROLLER_SCROLL_CLASS GTK_EVENT_CONTROLLER_SCROLL_GET_CLASS gtk_event_controller_scroll_get_type
gtkeventcontrollermotion GtkEventControllerMotion GtkEventControllerMotion gtk_event_controller_motion_new gtk_event_controller_motion_contains_pointer gtk_event_controller_motion_is_pointer GTK_TYPE_EVENT_CONTROLLER_MOTION GTK_EVENT_CONTROLLER_MOTION GTK_EVENT_CONTROLLER_MOTION_CLASS GTK_IS_EVENT_CONTROLLER_MOTION GTK_IS_EVENT_CONTROLLER_MOTION_CLASS GTK_EVENT_CONTROLLER_MOTION_GET_CLASS gtk_event_controller_motion_get_type
gtkshortcuttrigger GtkShortcutTrigger GtkShortcutTrigger gtk_shortcut_trigger_trigger gtk_shortcut_trigger_hash gtk_shortcut_trigger_equal gtk_shortcut_trigger_compare gtk_shortcut_trigger_to_string gtk_shortcut_trigger_print gtk_shortcut_trigger_to_label gtk_shortcut_trigger_print_label gtk_shortcut_trigger_parse_string GtkKeyvalTrigger gtk_keyval_trigger_new gtk_keyval_trigger_get_modifiers gtk_keyval_trigger_get_keyval GtkMnemonicTrigger gtk_mnemonic_trigger_new gtk_mnemonic_trigger_get_keyval GtkAlternativeTrigger gtk_alternative_trigger_new gtk_alternative_trigger_get_first gtk_alternative_trigger_get_second GtkNeverTrigger gtk_never_trigger_get gtk_shortcut_trigger_get_type
gtkshortcutaction GtkShortcutAction GtkShortcutAction GtkShortcutActionFlags GtkShortcutFunc gtk_shortcut_action_to_string gtk_shortcut_action_print gtk_shortcut_action_parse_string gtk_shortcut_action_activate GtkNothingAction gtk_nothing_action_get GtkCallbackAction gtk_callback_action_new GtkMnemonicAction gtk_mnemonic_action_get GtkActivateAction gtk_activate_action_get GtkSignalAction gtk_signal_action_new gtk_signal_action_get_signal_name GtkNamedAction gtk_named_action_new gtk_named_action_get_action_name gtk_shortcut_action_get_type
gtkshortcut GtkShortcut GtkShortcut gtk_shortcut_new gtk_shortcut_new_with_arguments gtk_shortcut_get_trigger gtk_shortcut_set_trigger gtk_shortcut_get_action gtk_shortcut_set_action gtk_shortcut_get_arguments gtk_shortcut_set_arguments GTK_TYPE_SHORTCUT GTK_SHORTCUT GTK_SHORTCUT_CLASS GTK_IS_SHORTCUT GTK_IS_SHORTCUT_CLASS GTK_SHORTCUT_GET_CLASS gtk_shortcut_get_type
gtkshortcutmanager GtkShortcutManager GtkShortcutManager GtkShortcutManagerInterface
gtkshortcutcontroller GtkShortcutController GtkShortcutController gtk_shortcut_controller_new gtk_shortcut_controller_new_for_model GtkShortcutScope GtkShortcutManager GtkShortcutManagerInterface gtk_shortcut_controller_set_mnemonics_modifiers gtk_shortcut_controller_get_mnemonics_modifiers gtk_shortcut_controller_set_scope gtk_shortcut_controller_get_scope gtk_shortcut_controller_add_shortcut gtk_shortcut_controller_remove_shortcut GTK_TYPE_SHORTCUT_CONTROLLER GTK_SHORTCUT_CONTROLLER GTK_SHORTCUT_CONTROLLER_CLASS GTK_IS_SHORTCUT_CONTROLLER GTK_IS_SHORTCUT_CONTROLLER_CLASS GTK_SHORTCUT_CONTROLLER_GET_CLASS GTK_TYPE_SHORTCUT_MANAGER GTK_SHORTCUT_MANAGER GTK_SHORTCUT_MANAGER_CLASS GTK_IS_SHORTCUT_MANAGER GTK_IS_SHORTCUT_MANAGER_CLASS GTK_SHORTCUT_MANAGER_GET_CLASS gtk_shortcut_controller_get_type gtk_shortcut_manager_get_type
gtkeventcontrollerkey GtkEventControllerKey GtkEventControllerKey gtk_event_controller_key_new gtk_event_controller_key_set_im_context gtk_event_controller_key_get_im_context gtk_event_controller_key_forward gtk_event_controller_key_get_group GTK_TYPE_EVENT_CONTROLLER_KEY GTK_EVENT_CONTROLLER_KEY GTK_EVENT_CONTROLLER_KEY_CLASS GTK_IS_EVENT_CONTROLLER_KEY GTK_IS_EVENT_CONTROLLER_KEY_CLASS GTK_EVENT_CONTROLLER_KEY_GET_CLASS gtk_event_controller_key_get_type
gtkeventcontrollerfocus GtkEventControllerFocus GtkEventControllerFocus gtk_event_controller_focus_new gtk_event_controller_focus_contains_focus gtk_event_controller_focus_is_focus GTK_TYPE_EVENT_CONTROLLER_FOCUS GTK_EVENT_CONTROLLER_FOCUS GTK_EVENT_CONTROLLER_FOCUS_CLASS GTK_IS_EVENT_CONTROLL_FOCUS GTK_IS_EVENT_CONTROLLER_FOCUS_CLASS GTK_EVENT_CONTROLLER_FOCUS_GET_CLASS gtk_event_controller_focus_get_type
gtkgesturedrag GtkGestureDrag GtkGestureDrag gtk_gesture_drag_new gtk_gesture_drag_get_start_point gtk_gesture_drag_get_offset GTK_TYPE_GESTURE_DRAG GTK_GESTURE_DRAG GTK_GESTURE_DRAG_CLASS GTK_IS_GESTURE_DRAG GTK_IS_GESTURE_DRAG_CLASS GTK_GESTURE_DRAG_GET_CLASS gtk_gesture_drag_get_type
gtkgesturelongpress GtkGestureLongPress GtkGestureLongPress gtk_gesture_long_press_new gtk_gesture_long_press_set_delay_factor gtk_gesture_long_press_get_delay_factor GTK_TYPE_GESTURE_LONG_PRESS GTK_GESTURE_LONG_PRESS GTK_GESTURE_LONG_PRESS_CLASS GTK_IS_GESTURE_LONG_PRESS GTK_IS_GESTURE_LONG_PRESS_CLASS GTK_GESTURE_LONG_PRESS_GET_CLASS gtk_gesture_long_press_get_type
gtkgestureclick GtkGestureClick GtkGestureClick gtk_gesture_click_new GTK_TYPE_GESTURE_CLICK GTK_GESTURE_CLICK GTK_GESTURE_CLICK_CLASS GTK_IS_GESTURE_CLICK GTK_IS_GESTURE_CLICK_CLASS GTK_GESTURE_CLICK_GET_CLASS gtk_gesture_click_get_type
gtkgesturepan GtkGesturePan GtkGesturePan GtkPanDirection gtk_gesture_pan_new gtk_gesture_pan_get_orientation gtk_gesture_pan_set_orientation GTK_TYPE_GESTURE_PAN GTK_GESTURE_PAN GTK_GESTURE_PAN_CLASS GTK_IS_GESTURE_PAN GTK_IS_GESTURE_PAN_CLASS GTK_GESTURE_PAN_GET_CLASS gtk_gesture_pan_get_type
gtkgestureswipe GtkGestureSwipe GtkGestureSwipe gtk_gesture_swipe_new gtk_gesture_swipe_get_velocity GTK_TYPE_GESTURE_SWIPE GTK_GESTURE_SWIPE GTK_GESTURE_SWIPE_CLASS GTK_IS_GESTURE_SWIPE GTK_IS_GESTURE_SWIPE_CLASS GTK_GESTURE_SWIPE_GET_CLASS gtk_gesture_swipe_get_type
gtkgesturerotate GtkGestureRotate GtkGestureRotate gtk_gesture_rotate_new gtk_gesture_rotate_get_angle_delta GTK_TYPE_GESTURE_ROTATE GTK_GESTURE_ROTATE GTK_GESTURE_ROTATE_CLASS GTK_IS_GESTURE_ROTATE GTK_IS_GESTURE_ROTATE_CLASS GTK_GESTURE_ROTATE_GET_CLASS gtk_gesture_rotate_get_type
gtkgesturezoom GtkGestureZoom GtkGestureZoom gtk_gesture_zoom_new gtk_gesture_zoom_get_scale_delta GTK_TYPE_GESTURE_ZOOM GTK_GESTURE_ZOOM GTK_GESTURE_ZOOM_CLASS GTK_IS_GESTURE_ZOOM GTK_IS_GESTURE_ZOOM_CLASS GTK_GESTURE_ZOOM_GET_CLASS gtk_gesture_zoom_get_type
gtkpadcontroller GtkPadController GtkPadController gtk_pad_controller_new gtk_pad_controller_set_action_entries gtk_pad_controller_set_action GtkPadActionType GtkPadActionEntry GTK_TYPE_PAD_CONTROLLER GTK_PAD_CONTROLLER GTK_PAD_CONTROLLER_CLASS GTK_IS_PAD_CONTROLLER GTK_IS_PAD_CONTROLLER_CLASS GTK_PAD_CONTROLLER_GET_CLASS gtk_pad_controller_get_type
gtkgesturestylus GtkGestureStylus GtkGestureStylus gtk_gesture_stylus_new gtk_gesture_stylus_get_axis gtk_gesture_stylus_get_axes gtk_gesture_stylus_get_backlog gtk_gesture_stylus_get_device_tool GTK_TYPE_GESTURE_STYLUS GTK_GESTURE_STYLUS GTK_GESTURE_STYLUS_CLASS GTK_IS_GESTURE_STYLUS GTK_IS_GESTURE_STYLUS_CLASS GTK_GESTURE_STYLUS_GET_CLASS GtkGestureStylusClass gtk_gesture_stylus_get_type
gtkstacksidebar GtkStackSidebar gtk_stack_sidebar_new gtk_stack_sidebar_set_stack gtk_stack_sidebar_get_stack GtkStackSidebarClass GTK_TYPE_STACK_SIDEBAR GTK_STACK_SIDEBAR GTK_STACK_SIDEBAR_CLASS GTK_IS_STACK_SIDEBAR GTK_IS_STACK_SIDEBAR_CLASS GTK_STACK_SIDEBAR_GET_CLASS GtkStackSidebarPrivate gtk_stack_sidebar_get_type
gtkglarea GtkGLArea GtkGLAreaClass gtk_gl_area_new gtk_gl_area_get_context gtk_gl_area_make_current gtk_gl_area_queue_render gtk_gl_area_attach_buffers gtk_gl_area_set_error gtk_gl_area_get_error gtk_gl_area_set_has_depth_buffer gtk_gl_area_get_has_depth_buffer gtk_gl_area_set_has_stencil_buffer gtk_gl_area_get_has_stencil_buffer gtk_gl_area_set_auto_render gtk_gl_area_get_auto_render gtk_gl_area_get_required_version gtk_gl_area_set_required_version gtk_gl_area_set_use_es gtk_gl_area_get_use_es GTK_TYPE_GL_AREA GTK_GL_AREA GTK_GL_AREA_CLASS GTK_GL_AREA_GET_CLASS GTK_IS_GL_AREA GTK_IS_GL_AREA_CLASS gtk_gl_area_get_type
gtkshortcutswindow GtkShortcutsWindow GTK_TYPE_SHORTCUTS_WINDOW GTK_SHORTCUTS_WINDOW GTK_IS_SHORTCUTS_WINDOW GTK_SHORTCUTS_WINDOW_CLASS GTK_IS_SHORTCUTS_WINDOW_CLASS GTK_GET_SHORTCUTS_WINDOW_CLASS GtkShortcutsWindowClass gtk_shortcuts_window_get_type GTK_SHORTCUTS_WINDOW_GET_CLASS
gtkshortcutssection GtkShortcutsSection GTK_TYPE_SHORTCUTS_SECTION GTK_SHORTCUTS_SECTION GTK_IS_SHORTCUTS_SECTION GTK_SHORTCUTS_SECTION_CLASS GTK_IS_SHORTCUTS_SECTION_CLASS GTK_GET_SHORTCUTS_SECTION_CLASS GtkShortcutsSectionClass gtk_shortcuts_section_get_type GTK_SHORTCUTS_SECTION_GET_CLASS
gtkshortcutsgroup GtkShortcutsGroup GTK_TYPE_SHORTCUTS_GROUP GTK_SHORTCUTS_GROUP GTK_IS_SHORTCUTS_GROUP GTK_SHORTCUTS_GROUP_CLASS GTK_IS_SHORTCUTS_GROUP_CLASS GTK_GET_SHORTCUTS_GROUP_CLASS GtkShortcutsGroupClass gtk_shortcuts_group_get_type GTK_SHORTCUTS_GROUP_GET_CLASS
gtkshortcutsshortcut GtkShortcutsShortcut GtkShortcutType GTK_TYPE_SHORTCUTS_SHORTCUT GTK_SHORTCUTS_SHORTCUT GTK_IS_SHORTCUTS_SHORTCUT GTK_SHORTCUTS_SHORTCUT_CLASS GTK_IS_SHORTCUTS_SHORTCUT_CLASS GTK_GET_SHORTCUTS_SHORTCUT_CLASS GtkShortcutsShortcutClass gtk_shortcuts_shortcut_get_type gtk_shortcuts_shortcut_update_accel GTK_SHORTCUTS_SHORTCUT_GET_CLASS
gtkshortcutlabel GtkShortcutLabel gtk_shortcut_label_new gtk_shortcut_label_get_accelerator gtk_shortcut_label_set_accelerator gtk_shortcut_label_get_disabled_text gtk_shortcut_label_set_disabled_text GtkShortcutLabelClass gtk_shortcut_label_get_type GTK_TYPE_SHORTCUT_LABEL GTK_SHORTCUT_LABEL GTK_SHORTCUT_LABEL_CLASS GTK_SHORTCUT_LABEL_GET_CLASS GTK_IS_SHORTCUT_LABEL GTK_IS_SHORTCUT_LABEL_CLASS
gtkvideo GtkVideo gtk_video_new gtk_video_new_for_media_stream gtk_video_new_for_file gtk_video_new_for_filename gtk_video_new_for_resource gtk_video_get_media_stream gtk_video_set_media_stream gtk_video_get_file gtk_video_set_file gtk_video_set_filename gtk_video_set_resource gtk_video_get_autoplay gtk_video_set_autoplay gtk_video_get_loop gtk_video_set_loop gtk_video_get_type
gtkmediacontrols GtkMediaControls gtk_media_controls_new gtk_media_controls_get_media_stream gtk_media_controls_set_media_stream gtk_media_controls_get_type
gtkmediafile GtkMediaFile gtk_media_file_new gtk_media_file_new_for_filename gtk_media_file_new_for_resource gtk_media_file_new_for_file gtk_media_file_new_for_input_stream gtk_media_file_clear gtk_media_file_set_filename gtk_media_file_set_resource gtk_media_file_set_file gtk_media_file_get_file gtk_media_file_set_input_stream gtk_media_file_get_input_stream GTK_TYPE_MEDIA_FILE gtk_media_file_get_type
gtkmediastream GtkMediaStream GtkMediaStreamClass gtk_media_stream_is_prepared gtk_media_stream_get_error gtk_media_stream_has_audio gtk_media_stream_has_video gtk_media_stream_play gtk_media_stream_pause gtk_media_stream_get_playing gtk_media_stream_set_playing gtk_media_stream_get_ended gtk_media_stream_get_timestamp gtk_media_stream_get_duration gtk_media_stream_is_seekable gtk_media_stream_is_seeking gtk_media_stream_seek gtk_media_stream_get_loop gtk_media_stream_set_loop gtk_media_stream_get_muted gtk_media_stream_set_muted gtk_media_stream_get_volume gtk_media_stream_set_volume gtk_media_stream_realize gtk_media_stream_unrealize gtk_media_stream_prepared gtk_media_stream_unprepared gtk_media_stream_update gtk_media_stream_ended gtk_media_stream_seek_success gtk_media_stream_seek_failed gtk_media_stream_gerror gtk_media_stream_error gtk_media_stream_error_valist GTK_TYPE_MEDIA_STREAM gtk_media_stream_get_type
gtkroot GtkRoot GtkRoot gtk_root_get_display gtk_root_get_focus gtk_root_set_focus gtk_root_get_type
gtknative GtkNative GtkNativeInterface gtk_native_get_for_surface gtk_native_get_surface gtk_native_get_renderer gtk_native_check_resize gtk_native_get_surface_transform gtk_native_get_type
gtklayoutmanager GtkLayoutManager GtkLayoutManagerClass gtk_layout_manager_measure gtk_layout_manager_allocate gtk_layout_manager_get_request_mode gtk_layout_manager_get_widget gtk_layout_manager_get_layout_child gtk_layout_manager_layout_changed GTK_TYPE_LAYOUT_MANAGER gtk_layout_manager_get_type
gtklayoutchild GtkLayoutChild GtkLayoutChildClass gtk_layout_child_get_layout_manager gtk_layout_child_get_child_widget GTK_TYPE_LAYOUT_CHILD gtk_layout_child_get_type
gtkboxlayout GtkBoxLayout gtk_box_layout_new gtk_box_layout_set_homogeneous gtk_box_layout_get_homogeneous gtk_box_layout_set_spacing gtk_box_layout_get_spacing gtk_box_layout_set_baseline_position gtk_box_layout_get_baseline_position GTK_TYPE_BOX_LAYOUT gtk_box_layout_get_type
gtkcenterlayout GtkCenterLayout gtk_center_layout_new gtk_center_layout_set_orientation gtk_center_layout_get_orientation gtk_center_layout_set_baseline_position gtk_center_layout_get_baseline_position gtk_center_layout_set_start_widget gtk_center_layout_get_start_widget gtk_center_layout_set_center_widget gtk_center_layout_get_center_widget gtk_center_layout_set_end_widget gtk_center_layout_get_end_widget GTK_TYPE_CENTER_LAYOUT gtk_center_layout_get_type
gtkcustomlayout GtkCustomLayout GtkCustomRequestModeFunc GtkCustomMeasureFunc GtkCustomAllocateFunc gtk_custom_layout_new GTK_TYPE_CUSTOM_LAYOUT gtk_custom_layout_get_type
gtkbinlayout GtkBinLayout gtk_bin_layout_new GTK_TYPE_BIN_LAYOUT gtk_bin_layout_get_type
gtkfixedlayout GtkFixedLayout gtk_fixed_layout_new GtkFixedLayoutChild gtk_fixed_layout_child_set_transform gtk_fixed_layout_child_get_transform GTK_TYPE_FIXED_LAYOUT gtk_fixed_layout_get_type GTK_TYPE_FIXED_LAYOUT_CHILD gtk_fixed_layout_child_get_type
gtkgridlayout GtkGridLayout gtk_grid_layout_new gtk_grid_layout_set_row_homogeneous gtk_grid_layout_get_row_homogeneous gtk_grid_layout_set_row_spacing gtk_grid_layout_get_row_spacing gtk_grid_layout_set_column_homogeneous gtk_grid_layout_get_column_homogeneous gtk_grid_layout_set_column_spacing gtk_grid_layout_get_column_spacing gtk_grid_layout_set_row_baseline_position gtk_grid_layout_get_row_baseline_position gtk_grid_layout_set_baseline_row gtk_grid_layout_get_baseline_row GtkGridLayoutChild gtk_grid_layout_child_set_top_attach gtk_grid_layout_child_get_top_attach gtk_grid_layout_child_set_left_attach gtk_grid_layout_child_get_left_attach gtk_grid_layout_child_set_column_span gtk_grid_layout_child_get_column_span gtk_grid_layout_child_set_row_span gtk_grid_layout_child_get_row_span GTK_TYPE_GRID_LAYOUT gtk_grid_layout_get_type GTK_TYPE_GRID_LAYOUT_CHILD gtk_grid_layout_child_get_type
gtkconstraint GtkConstraint GtkConstraintTarget gtk_constraint_new gtk_constraint_new_constant gtk_constraint_get_target GtkConstraintAttribute gtk_constraint_get_target_attribute GtkConstraintRelation gtk_constraint_get_relation gtk_constraint_get_source gtk_constraint_get_source_attribute gtk_constraint_get_multiplier gtk_constraint_get_constant GtkConstraintStrength gtk_constraint_get_strength gtk_constraint_is_required gtk_constraint_is_attached gtk_constraint_is_constant GTK_TYPE_CONSTRAINT gtk_constraint_get_type GTK_TYPE_CONSTRAINT_TARGET gtk_constraint_target_get_type
gtkconstraintlayout GtkConstraintLayout GtkConstraintLayoutChild GtkConstraintVflParserError gtk_constraint_layout_new gtk_constraint_layout_add_constraint gtk_constraint_layout_remove_constraint gtk_constraint_layout_remove_all_constraints gtk_constraint_layout_add_guide gtk_constraint_layout_remove_guide gtk_constraint_layout_add_constraints_from_description gtk_constraint_layout_add_constraints_from_descriptionv gtk_constraint_layout_observe_constraints gtk_constraint_layout_observe_guides GTK_TYPE_CONSTRAINT_LAYOUT gtk_constraint_layout_get_type GTK_TYPE_CONSTRAINT_LAYOUT_CHILD gtk_constraint_layout_child_get_type GTK_CONSTRAINT_VFL_PARSER_ERROR gtk_constraint_vfl_parser_error_quark
gtkconstraintguide GtkConstraintGuide gtk_constraint_guide_new gtk_constraint_guide_set_name gtk_constraint_guide_get_name gtk_constraint_guide_set_strength gtk_constraint_guide_get_strength gtk_constraint_guide_set_min_size gtk_constraint_guide_get_min_size gtk_constraint_guide_set_nat_size gtk_constraint_guide_get_nat_size gtk_constraint_guide_set_max_size gtk_constraint_guide_get_max_size GTK_TYPE_CONSTRAINT_GUIDE gtk_constraint_guide_get_tyoe
gtkdragsource GtkDragSource gtk_drag_source_new gtk_drag_source_set_content gtk_drag_source_get_content gtk_drag_source_set_actions gtk_drag_source_get_actions gtk_drag_source_set_icon gtk_drag_source_drag_cancel gtk_drag_source_get_drag gtk_drag_check_threshold GTK_TYPE_DRAG_SOURCE GTK_DRAG_SOURCE GTK_DRAG_SOURCE_CLASS GTK_IS_DRAG_SOURCE GTK_IS_DRAG_SOURCE_CLASS GTK_DRAG_SOURCE_GET_CLASS gtk_drag_source_get_type
gtkdroptarget GtkDropTarget gtk_drop_target_new gtk_drop_target_set_gtypes gtk_drop_target_get_gtypes gtk_drop_target_get_formats gtk_drop_target_set_actions gtk_drop_target_get_actions gtk_drop_target_set_preload gtk_drop_target_get_preload gtk_drop_target_get_drop gtk_drop_target_get_value gtk_drop_target_reject GTK_TYPE_DROP_TARGET GTK_DROP_TARGET GTK_DROP_TARGET_CLASS GTK_IS_DROP_TARGET GTK_IS_DROP_TARGET_CLASS GTK_DROP_TARGET_GET_CLASS gtk_drop_target_get_type
gtkdroptargetasync GtkDropTargetAsync gtk_drop_target_async_new gtk_drop_target_async_set_formats gtk_drop_target_async_get_formats gtk_drop_target_async_set_actions gtk_drop_target_async_get_actions gtk_drop_target_async_reject_drop GTK_TYPE_DROP_TARGET_ASYNC GTK_DROP_TARGET_ASYNC GTK_DROP_TARGET_ASYNC_CLASS GTK_IS_DROP_TARGET_ASYNC GTK_IS_DROP_TARGET_ASYNC_CLASS GTK_DROP_TARGET_ASYNC_GET_CLASS gtk_drop_target_async_get_type
gtkdropcontrollermotion GtkDropControllerMotion GtkDropControllerMotion gtk_drop_controller_motion_new gtk_drop_controller_motion_contains_pointer gtk_drop_controller_motion_is_pointer gtk_drop_controller_motion_get_drop GTK_TYPE_DROP_CONTROLLER_MOTION GTK_DROP_CONTROLLER_MOTION GTK_DROP_CONTROLLER_MOTION_CLASS GTK_IS_DROP_CONTROLLER_MOTION GTK_IS_DROP_CONTROLLER_MOTION_CLASS GTK_DROP_CONTROLLER_MOTION_GET_CLASS gtk_drop_controller_motion_get_type
gtkdragicon GtkDragIcon gtk_drag_icon_get_for_drag gtk_drag_icon_set_child gtk_drag_icon_get_child gtk_drag_icon_set_from_paintable gtk_drag_icon_create_widget_for_value GTK_TYPE_DRAG_ICON GTK_DRAG_ICON GTK_DRAG_ICON_CLASS GTK_IS_DRAG_ICON GTK_IS_DRAG_ICON_CLASS GTK_DRAG_ICON_GET_CLASS gtk_drag_icon_get_type
gtkemojichooser GtkEmojiChooser gtk_emoji_chooser_new GTK_TYPE_EMOJI_CHOOSER GTK_EMOJI_CHOOSER GTK_EMOJI_CHOOSER_CLASS GTK_IS_EMOJI_CHOOSER GTK_IS_EMOJI_CHOOSER_CLASS GTK_EMOJI_CHOOSER_GET_CLASS gtk_emoji_chooser_get_type
gtkoverlaylayout GtkOverlayLayout gtk_overlay_layout_new GtkOverlayLayoutChild gtk_overlay_layout_child_set_measure gtk_overlay_layout_child_get_measure gtk_overlay_layout_child_set_clip_overlay gtk_overlay_layout_child_get_clip_overlay GTK_TYPE_OVERLAY_LAYOUT gtk_overlay_layout_get_type GTK_TYPE_OVERLAY_LAYOUT_CHLD gtk_overlay_layout_child_get_type
gtkexpression GtkExpression GtkExpressionWatch GtkExpressionNotify gtk_expression_ref gtk_expression_unref gtk_expression_get_value_type gtk_expression_is_static gtk_expression_evaluate gtk_expression_watch gtk_expression_bind gtk_expression_watch_ref gtk_expression_watch_unref gtk_expression_watch_evaluate gtk_expression_watch_unwatch gtk_property_expression_new gtk_property_expression_new_for_pspec gtk_property_expression_get_expression gtk_property_expression_get_pspec gtk_constant_expression_new gtk_constant_expression_new_for_value gtk_constant_expression_get_value gtk_object_expression_new gtk_object_expression_get_object gtk_closure_expression_new gtk_cclosure_expression_new GTK_VALUE_HOLDS_EXPRESSION gtk_value_set_expression gtk_value_take_expression gtk_value_get_expression gtk_value_dup_expression GtkParamSpecExpression gtk_param_spec_expression GTK_IS_EXPRESSION GTK_TYPE_EXPRESSION gtk_expression_get_type
gtkboolfilter GtkBoolFilter gtk_bool_filter_new gtk_bool_filter_get_expression gtk_bool_filter_set_expression gtk_bool_filter_get_invert gtk_bool_filter_set_invert gtk_bool_filter_get_type
gtkstringfilter GtkStringFilter GtkStringFilterMatchMode gtk_string_filter_new gtk_string_filter_get_search gtk_string_filter_set_search gtk_string_filter_get_expression gtk_string_filter_set_expression gtk_string_filter_get_ignore_case gtk_string_filter_set_ignore_case gtk_string_filter_get_match_mode gtk_string_filter_set_match_mode gtk_string_filter_get_type
gtkdropdown GtkDropDown GtkDropDown gtk_drop_down_new gtk_drop_down_new_from_strings gtk_drop_down_set_model gtk_drop_down_get_model gtk_drop_down_set_selected gtk_drop_down_get_selected gtk_drop_down_get_selected_item gtk_drop_down_set_factory gtk_drop_down_get_factory gtk_drop_down_set_list_factory gtk_drop_down_get_list_factory gtk_drop_down_set_expression gtk_drop_down_get_expression gtk_drop_down_set_enable_search gtk_drop_down_get_enable_search GTK_TYPE_DROP_DOWN gtk_drop_down_get_type
gtkstringlist GtkStringList GtkStringList gtk_string_list_new gtk_string_list_append gtk_string_list_take gtk_string_list_remove gtk_string_list_splice gtk_string_list_get_string GtkStringObject gtk_string_object_new gtk_string_object_get_string
gtkselectionfiltermodel GtkSelectionFilterModel GtkSelectionFilterModel gtk_selection_filter_model_new gtk_selection_filter_model_new_for_type gtk_selection_filter_model_set_model gtk_selection_filter_model_get_model
gtkaccessible GtkAccessible GtkAccessibleRole GtkAccessibleState GtkAccessibleProperty GtkAccessibleRelation GtkAccessibleTristate GtkAccessibleInvalidState GtkAccessibleAutocomplete GtkAccessibleSort gtk_accessible_get_accessible_role gtk_accessible_update_state gtk_accessible_update_state_value gtk_accessible_reset_state gtk_accessible_update_property gtk_accessible_update_property_value gtk_accessible_reset_property gtk_accessible_update_relation gtk_accessible_update_relation_value gtk_accessible_reset_relation GTK_TYPE_ACCESSIBLE GTK_TYPE_ACCESSIBLE_PROPERTY GTK_TYPE_ACCESSIBLE_ROLE GTK_TYPE_ACCESSIBLE_STATE GTK_ACCESSIBLE GTK_ACCESSIBLE_GET_IFACE GTK_IS_ACCESSIBLE gtk_accessible_get_type
gtkatcontext GtkATContext gtk_at_context_get_accessible gtk_at_context_get_accessible_role gtk_at_context_create GTK_TYPE_AT_CONTEXT GTK_AT_CONTEXT GTK_AT_CONTEXT_CLASS GTK_AT_CONTEXT_GET_CLASS GTK_IS_AT_CONTEXT GTK_IS_AT_CONTEXT_CLASS GtkATContextClass gtk_at_context_get_type
docs/reference/gtk/gtk4-overrides.txt0000664000175000017500000000000013710700303017753 0ustar mclasenmclasendocs/reference/gtk/html/0000775000175000017500000000000013710700534015325 5ustar mclasenmclasendocs/reference/gtk/html/aboutdialog.png0000664000175000017500000005064013710700303020324 0ustar mclasenmclasenPNG  IHDROgsBIT|d IDATxw|e̶$EE,Գg~gEQ+{ogw RDNMef$lBIv7y-;;33 """""""""""""""""""""""""""""""""""""""""""""maĺ͈zȎŎu&1"""; xxHX\v,Cu+ED35qر ŦUhHgjm8_Z4v՞i)XpKC(Ӏ3g4~ Ā%zȡlܸBk/v #-lp8tP`W06mM7mI;tTg٧ǷS=DDD?UmB!]Y[Eal2hKj7vǏ7nqP6rȴ^o@w иMuHpG&MQg?#'mwEDDp9]?~0ЃP˹[ulds+CGWP7"Z:iYYYCi""""+3dlsnhF玲K YE|VYMeUe#s)ۏ>`qd 8qdi}ձIeNς_A(݅}9K,pIuuvZmc6thӫej*Ĕt?`$OljOTKk|tO`GPG Z -]\JR NWּm˲XWg0 4YsfAHLLu5PP:K)|zqb\ѲCQ7'/fuoZeYx<زm`0Yvɖd{|]y?O'NdsK:|ºCtQYjQLTPX;DWp@tǨozZ80q ($$^A%g sKz4FчJצ/jQ۶1 c-|>_Wfۦ%VQ@3'Ԣ.(;E 3l,}ǖw8F~L0Il_M^5_ [50;ϫ'0p>E{g*TNAyL&"*ZS[֝yz҇Jק`c-̝5p?ĬPZiF]1^~ :>Fk}u /c^Nꎜ^/=}G{Ͽ._?Q進X\9_o/gx p{]G># +++&3#]iS17E멳/x'[NN$H $z\.\_˩Ce6t' Rv-׬ivpݝ]ۥ=C\~Y͓.aͺBz<k ea6{G~̬Y#AW_g^s&BAeE2pN>zIIi)W^O9/|5x7xd}:e*7p_SoG[uee%Ϛ_ m**3䘣ᄃGz$^~Y+irskqT↍9̳zƛpG3OѫgO5Ͻops8\q 7n{v\qIkqbzCw}L3GmW'PNt ',uuu<<8Q}2ÔWp_ 99>nOa8Ν\N'ea&^|!6n䒿_@NVvu`+V0hHK%k93ILL +++^={ҳOS]o^眳$p)n|a233F-k}Idge|J^| }ҥyuHG쇴djn!֬]@^nLvII;>`2>185oj0all&'%%,FV{t#11t.yTTT0yR.[΅?{ca\{$lfKFF: :!Crvd:orv~}Yz krSQQA 2t`f0۶YϬ\K.; #=e،6Luv;ۍ7PQY#8:u0t ۶e8`p.?0͟5k6#ܷ- HۍdSQ1-':_:MqQVmٮY!ѿ? `;q`1uq=Ķm֭ =N۲n>vNß׷/u'O>,^z93„=o醴ʎVQYm=ʚu @L~nBSSc\ÎoipsgwVVU1B}fNiTJt!/<-F[CQq19WDB>$w\{E+E-ۧip'a\ '9?xm/XѣXbkQ[[[oGRR{MORRC ^?Gbb_|9ɡDBD8#iS hs{tgp8:v:wg{zֹge˸λ8v;ɪkX~Sn) ˨Q'sYgۣ7l`ve]#?CVV&,/-}7`ݺuZ4p,tv#XS I˘c,[:Ƶ8jQvEz>l(}ǎMrR]FBf]dlۦg^O,o^zuu>F wIr]p>=(W^O\.':6q!W^xzt#b: :o4M>3;ѽ[7&߃Fu r2۸i0Vl&-5c>qaL6{/xGČ`msQ`E<c]zy穬 ))+/N #=eYF&{㵘Iuuu+lJ,f)#n HRQUUUsC~qZjAFzj232 A|~ITWWGARR.+r9vq:\ӽ[7ll.7eضi$p:Ul;tv`TUUu꺝N'N4%|>))FU5"1MCMM 8sFe4Mlۦ4q\W!wڏD$$$8C;yvLII (J"`#P lW TAG@o>1ؼllJK#KJB((o<jo}~d*+XƲuiN`wg-! FBrzxF^ nȲB<7&w%-O]߲]ďrԿTO;4j9޷1?V-w{%VB]!G-ji3uQZ@[[ɥ "bzGdYV\\]EL?Ju}v];#Ro{[L]qD]q##Qg3PZZA-+\.,C{ЏrHs\;bHǤUoiĄD|~'Uu}0z$&$ƺ*1vu[,+3 nwjx-$Z+?~Ԣ6ݫ7 n($ź ;Dz䑝ӷ&A-O-ji`0HNNk=—/3өu;QZ>D$pPS3HDDڝΣn?cjQ1Hiwb}Q,W/""bӟcz.v ;UOźz"N"]TY+31U~OAtSXXWQDځZ+-JO#oEkcnLG28)dMeựHTsRGJ؄at$PW5PXWSDځZ *]}v@]>0=f߻}U.uUEd;)E@|KI܋4< Vk_)]|+"IA-ŔJ1e tp$a:0 j~#T}Ŷ"]"]MuVp&ӅHt$0pcw*JvPPt!Nwv tuB&[MP۝;D.HWa[lZ2^. (07 Ía&`LGAjR0,8ֵ6RPth}d"!u8Vp&\`10``[*6._XoZ$o|ƮJ?g)X`1 N Ӂa8[ӉfÍa,"%{_z8UHOzDd8c]ْϻ5/QIϝ$g, Vb.0ͭjÃa$ôlfZ3{,=h[f<cw)=01 *'lOźw)]8ut8zw@l 0]0'ut`*ꪾpdxrDqCοާɃb"<H(]4e&)/yC%ǁfVb  hIK#m"v6'P6<)=5k6PRk?wp]Ir;ncEd)Ebb1[ Y1d?q%0 uڡ1l;ԀƎL6`nUvbmAx,:kJfd>M(YvU92{p(E:mղ[ߨ1ؖo=Åm6 X@24갭6C`o_HHKהS+W ۍÕtpa:1f2H0ZDmۏ `YUX `@Yhx+P K1NL+i:p'&0k"1dyc`Im<2|`KIN\{y҉Y6\$fe'Rmlۇmb~ֵU[[myŶX6.`<#q8ش g9'z"̝<b${IYYEm`eUl ƁeQڰ+XIЪ#/0v`sP>l: ۏaJ'yvGi/OXLѱ]";=H xcAfeU`-_}@XXv(G0Pe 2laXLJ8;5ذ?TO0="ҀZ$ MzH}ޒxM$Rs'V;P i> Á('4CXN `ۇa1L'.UTmZHb!v:WzlwlAA-'")k/2*+f;p$eՄ@#4 ,ԡӰBX0p' Υlk?l-iG-:J$)EÕAf)vgDVdyXH7X`HH[şPWSGasɘoZ$D. xkԖgâky?)oA_B0Hm`X`YO?DcF6SDZI?s)lێLu*VS[ [*+XM0PJ0PmWcS8\lZ?\A怿nzE$~(EbiH6 N˲po" T V  b[^@5ʦjI{nr[D⋂Z$Z ajY`0rjˋUH:+ b,/UHp9/#1RNV`/H'k)!0γ$s[ZmV+Pm׀]i&SnZ7=H'Miw0l4%Juܽp8p8S0L'++wbe$d @`0"GE:Is ޏMmxc:ՔNCп L&'Mߑ2a`iFF{Y_azGktHlE-ɚvÐnmz|~qzp8Sp:<\<>/Z [v8 1jxwQbծƑ4%Aϼ<0c=8㨭mq}SO|4edddش#<ǻ|HNv6k6})_Θ+zdddnqѻwmo6?4g~gq6??aJ~88Cp:!Y&;jDn7P[[ˤK/&99@]]@ۍ !!!jK~;(|>??4GlUPq?o`Edefң{wo ohI@yy,d|9kc n;uY(eO% :/aC`UU|ݷˑ|\z7[͓|9bvfE :\}B]k׭###cضamZ߶>'==8>Ƃ ;rnz>xFqI ~IIILrRR9C\[&SZZ9o[QQ~֛n{nǜNg$xg=Gj^ =ÆmnL#3VRZG9sIKM쿜.D~DVnſ,'q!zM>׬!/7x4sϋc6Gz=/ڶ[G|Jaa! 67^/HRP㷥K1lX$|~SdD>m˾Ω\;8F=q:>t2>2u&NܻI}0tȐF!T]]^y51tf͞œ3+׬~t֍e˗7x˯k2vJJJy7z⋶i?e4r+HHHhUo8?yXfX_{#3n][֢"}IRSS5r$e/۴ "]Zvc^od^QQ1m*{,WVZMulTĪի-_Wk4j2-jպ5}b|1L{^}{M`5nL È &#}ޛ9@ ȥW^Ň;ǚ m tke9މmۜ|ƙlܴ|\|m{i,\DIIiۺ`@e(<O/)e1h `^O}rM@h4aGO;dj2vN5mܰ۵tGdXAXl9%defF]nM~ƨ#"dG@~A+V2jTc+W0||+\_H~Ze1h@<Vn0 222ظiSd}fFhޭn7lwo !!#= ;GdFFFGy~ 7Nk"!R\=r o`y<#\y٥5)33:lpǵk#ڶrs'| }) @@LA-;s:%e˹+ '; 7=n7Sn_z9z䔓Nܮ^ m2~<|wFJJ k <>}xoذq#iii̞3Bn|5ko@^Xjs/Y?q{-r ySg|~uu/r1Ѓڶ~ox'薓CNNv@ ȎHW&JZZ<'x))ɔl jjj0~*?##;nD|Y=t:8<̩>\6nĊ+1M{M  x~߽~!l**ŋۮ<Ѓ 0$?pwߑi3ӹ3O_y>MEE[_eUN޽z{s]SDzhÇe1ceٓqզtmi_Mp2L $@*Q;V\dk eXV.q5j55defF.Ҟ))-!+3рx/[eggJ"`#P lW TA(m\"mp8Ɏu5IrrrGFJJrhG-3S׷HSP1HSP1HSP1HSP1HSP1HSP1HSP1HSP1HSP1HSP1H ٶMEEmǺ*ضMYy9@ Uhe<̞#~>v98 |w,X#?']D /R^^i}j$%&H)Eb !!&]FzjwNQQU]}Mcqe`!L{O9}'Nd]a!>O=]taPDڇZ$ č.r{ѧlŊf;/h2M| $''3l>c6lظ [$"EǨEb( ~y6nnVl2 xxm̛?7~#ۦrDcE-CO'};=wOgeO3ztL""[RZ$9\ue~|5k~N×/駜̿^ykĚᦸ.SZ$!CoN9F[۶cO=9g JRbLE?/fѣ:."Z"qg^mma6(HNJ4NDH |FAzZ: .G wQU]n`ƍ,7)\|?Lwek&t/ .ÆQZVƛo10rĈ5"҄Z$ΛǗ_1Q#G6:e뷥(_pw}O"4}e{駑g_|ɇ|JvVwv_1 Eb-F7~r @" dߎ*..***X& r{`1F۶c^x(@1~^1P~'ܶZ"1w"GDDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)EDD☂ZDD$)E]UUUc] 39)**pн[7?\<Okf<'Ac].^}ϾR G>N8X9->od Km{>[nO筩dܹ$'%s)'sԑG6ͷa߉m+Gv~+VgSUU ]몵^|5|?ڵ\۶,],Oګ%W\Iu1;o˖18O\YÏ?aU\zᅑyn\/:\1)jHO{1 .xu|W߷1K G6nmD۷^// =z(e(^={rGgdd/p嗑]e{kj0V-"%%s˷륦l,bSQrr0j6mC4e`z\.\.We;cYEdefFouuun È}kr/{) =w3r{Yg?w< ׯo4>g_x ;#;42ee| FlY-k&#==2/ھ햓ןz07qigp}GII)O#KIvLqכl5*..ia\z֛n)7|ƙuv{Dv< .`-_XVv!$&&RU] |:tozɼ\|?wy;)\y?x[ؾ&]3Ͽ q,,jq;4*'pӭSp\<6A2333x\{Í'?o_{s>+RNkck |?ѽ;=8Og^Xr%w}'xplIeU66͕}bJ~?#o5l**OKMeͼ}뫪rO D 8ԔFϻ+zϽ-+/$,nеb^#۶[ 1rrY&>{ّ(, HOO[N'wl1C`x1w>{.FSN>fq_ylC  ]FͷnL3N=jL䅗_aʕs=:d Ï|_mS~1nMg$nu šhD+g[E^n.ދ>0r{ۇʺBe2>]m 4𪶶MV?`mAu{Dv, 10|06f0ɷ߉dǸqr1{\ y,)-B#+*x[lm<֯__~W3zncw%G=?k0e]у9s)(X9s36y[Ԓ~/`8N m8fI4[{m6k&Mw\~5q=|g|ŗL1ΛfdL~^)SnS鲲2IJLۙ3YWXyO~1tӘ=g.;o^$u{dԻƛaHn뼵UUU999uu>jjt;,ˢOnݶ.m}me_tZѣ{TW.εkY{GdK_kU@'~"mE-Q,] ӹfY- 'tqwRmgfӶ/#%$$лw 7gk祈Ҟo jidTTVЧwo~m)>Ñ8XWMDdF.__~Ś|ӱNuDDvZ ji?ĩ>@ ""ҹtzD j8c j8c j8c j8c j8c j8c j8 6p;%7bOyZ8" ʂ-]9">Y\ۼ36?WD:ZS#}A6-5zΏ>:jEۼ˚PP3l[a""h~nA6υ~M 'slo0} ʨSٶkQh.}YI&/%PXuKuDvds\d&g?s}u1V$ V(ؽA=YR87ULwpT]Ql v8$Hk1;y)uRITG/"O-jd |Pw>GA+Ԋ\mgFI.; g0z wl&wAN&4VG_7w1+H#3i{朽SEvqAid$^t<Hύod6MvnNcqݘ,g}ExlrDB=,7AT}2w s0 ( ،uq-6Dntq^t"`Avrhy.Fe_y?WYuF( _`&?O~WI`~nVZ֔p}3`3_|T|V٭^tH}L&>]1-]ƺ!<<O9O>͔iDDD<6L&S@}ZvW|' ߝw0A>?y=-Z={ԡsO?C04m҄ڥ/3{<ٳhѼ%%%$23ӹYoLKLRÆUח"F#j*ӧ`b)w$RST6/|WSY=bccj*V+ukvvgb?&S?M7l6V\E֭i}Jכ%++%=ΐ檫3oGQrr@۵X q>up]Na#Fpj1駸GV]˂EipU۶09bc}; -_;v`qώI+ۜ׶|_ǿDzL&cFdǿih4r23Fɤh_mjؐG]r"q.lU8̩S%9)n]qVE͛5Jo7!!))[{mw\9_ǎ믹; n9/)..f\qy+:ok:ݏ3>gܷ1r6o[DDDgFOtT$'5tV>Zӵsg;n#={twl٘1{.dd0o bbb8v[~Ig[ZL5س&MJTdweh֜0Z_ފk؁jeԳn%֫RHVV .MVv6OM73ads'vaŇ+1Lzj{%#·_WY?*KzFt|̙*ݯHuSE-AWn]͝â%KyeTsrh҂GFmw б"E ̘3S΃иQ#r quY=ƌ+a0^ن3g8Wϛa^N›Ӧ2%vstҥJҳGw6nD;"""ȅNFT:up +&++ky_ĩ̬,'&H{ul6G 8I\\jUl7bcbT5o})))!3+JߧπC@6 3()\UـiUr0LnBU:Z{c`0nɺyh$^:"k"""!LA-"""""!LA-""j"P u!S鸈ȅ&O}+EDDVP{PW5]joTXȅFúVPH̪ j! gX_AҮEDDBgvk{uz7"o!su۵RZ0PTN.Uk.it&!!aD`gd^~Y0v QTy{pfXN}WEPph,~~) k+\Q!-""窢Aήf-ҩt*,]/V]o~ڠC-ua^H3+ nŭyWVRy@~TDY9j*Y%7]g%mV tثis` VP\5g Yg~(a*vۀSF!l#-@mBD2UGzvT؃9{X-\f=CԷk( gOE. su e{BT""r $+e@2G6Y(JWOUo+jo\vLA\#%K(˦|1̂mZ`2oakd:긢 [A."rql8z.Ic%eS1e#Uc Y0Hf +yy+IjWMp*=-*{~TW/0}(,* 3+cb07z[TT̩e`9tpټ͛s63EQibcbH?{V:޻L?tGnٻCl,G?|ٻ^EGp1}wRu&h֬Դt֭Z^Cl,۷~]|װ̛=c .p 'yo ?]uwZ +W HMKwtҥl>$_@لX>!"#$ON < s/RjҠ~x `Ƞ|ŗtҙnv.䉉hԈh4wP& ؘ8Ν˩ponw\M JA{?I?s*H`0ܒqtOxSә`!O\zΜ 'd2ѻWO:Ƈod=v./hs8|6؟1,cSYl7ٻU q&N3ţ7ٸi3 hӖm n]V-[t̙QQ*6ӛ0223ٙߥQ\\DL6ĴE-ddfP6e MVD^=)..f[vnƙ ڶnųSvN{o]d .ʿnK}JKK >*!!!E!7/z_K/턅yo6)))!885.U(B4-AAwUV ( +ΖP@Zz@ P !$P5 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@B$P1 !TL@KVh4VЄ Xg+u6+`i]u5&m)8߄#\`<\Թ~8 Ny !:(Yi36g\@;S 0W)בu=͹a=>Xq{)8l 8 ,\*dמU:*GB6l**vW+n,x^Yו<\): ~$:vjwmD\U*~HB9\u kP|b֔kq !~;ԽݟKsIENDB`docs/reference/gtk/html/action-bar.png0000664000175000017500000000356113710700303020051 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d(IDATxog׉)6Hq%"P*ZV;?JHmT+iTj m($8 *"C[Ɂ&RƳy8z];3Kz;ݯ,}?Ww۩j[k~?bY|t6R^xq:zv[yb="Kc 7U"rd N1}.cG8N?x緿cqqK_ͷdm3c\8ݝy{{kϜ~ZKBK!ӟسwƘnY^83a W=|z+ǎ~o?u*qr!0퉿}TgyG/=[iXK9y;׮1'g?yRIM"IrWx2Pcx,-[oV_L߽KO>}zzzv 4xЪrόB(Fr4f˷kg1~/ P("G$ b qvy\\72sss:t(5E[0<<4Cihh'N4l8iE[.Ü_Xtx:PDbgX_ [ 2AWO/=߽vYWZ4=P=*,k׮>}8- \_6%'7ǿ#17DE bc[e{6u*Px[:hkQUO2sOG駟RRRի=s6mƺw[,'Xn [VV ~ v`!@Ϥg[330:4Lu Ɵ x fCA?81GjZGV;k&S-s#V }}_O?fGQ#G-.UU"`G 3z=3/*'?Jru.Ə8b!Rc| p MaPUa%5%cyzqa<sc{r]DkwsqX*n FZo }gݡz 44sɄNCyL>uzTtT?ȯΪhٛ3rդn~P>[oak[>hAQ'ZSeFc()'L!3y ](B4 XB.2o=FqT\\|?AA[EDEwk{d:s9ǎ%ILHx_p HvFT -+Par6t|H`QFKjU/CP5ICE5B.d6w<9{6`\az>_jYOǛb2xgY?o=XVzyu:^͜Odd6lw#6`(+/瑇WZgQcٜͦJZj/9ѣ 3v (Z-C ħ".c8PS2w+1SMMm6w޼<=ϫ󹢷"#= w_Njc67hIKMaۗ;_?9wk$I b;EHMIrd9C0걤yi\vl6(hZvIr^"NBg#G8ug0C:y옽J6_9|Ii)sgX.2"UU).LؘUy6>RRRQQٜMII1`OII=kPt wݞi4Jp{d>@cM% /+m8 ,6wrwU 1l:QK^_DĖ%ΞZQq/(_M%\Z)ɩW{v1xR._A'](Z^~Y˧O^MLLQQQhX,ndfʌiaeo16_}S~EHYy9  ccY0"ٛ5jæ?[ٯl޺/֮C2lUogvLRR2@DŽӹ+|.(⸗@¬2,%^~&YNZ-/=7dPCd#U%KfϚɫ`PUn]24p:ٳf2,xiү~62z?qqAXX_lr Б<hqz׽o~u::ü_V]t у9/j;EO`מ絮sݑ_Ç j2XVu9?8̟)ʏ?:mG~gOגB\?qTq~Kb(<|9^\Ldd$?~~ۭR? .[o[ooB':RZτ$uKpOǞ}DPP_EPxF3qt &:bdIqjHPZ^73 B1CDtt4qqqh4>W>faZ]: `o_vI~B```````` /h=o/}/.nˠӸv8VZ\~{w[瓏ݹTWWs?qRSRb[Vj޽Z[PY\}66ʪ* ^Tw#뮽>8su>9gO'f Pu$#;1 П?DTTYTQY/~yx*濒Ŏ]Z$&$SHINbbo^6 n<~7{~3ճ%Xwmmz;wRo2qe>DEe%KƏö/w`6 c=?]566r m~>=2?+Z:+>ZӦ{8=1!]!Ip@Ζ~-1tU۰j$?էpG<'Y`Y=qo*O>,&+/~(gD M'aa}ƒwRV^Σ `tmk6?z*;^ǟ3xͿ3_BfVV/k\HINjmN*==o6!Ipevf3ǎ`1lݶyy 5ߨ#}rٷsJ6?EYO@so{'% .{GpweaC?][z7/0:*edpwbjnt#Wa9b8z䵇#nDUIVxx:o.ZHpppu}=ܽ{e7koSj{p+^ XϖTt^ZYa#oJWG#Vq).dtk^'&&˄~27~Lg|f-ovkSjرk]{`Ud0=.W~ Bt"P!ϿQbmŠJƏu:8ܶZmoO/6 srhjjWwIDtF^d^5/-+tm-mk2|PWҝ} %>g42o+?$%]cؿ?'N԰u-~ټ׬Eն`u 濒oLAƿV~1s_RRJvfTUTM }Nu?!PlΰC(-+cW{Z,)zku6~e`Yn+,,}RSRxلtkƍeUY>'$$L$`5l^5 ?O$&$妟//̬WILgЀ+9?Kb4HOgL **+w;7ݹhHWc/ kʽt:׹{[{1l 1U_jcv{}Zj?(^ϖ(^q!23IУGgB"I"5!й^LLLLLLLLLLLK0H xl^S@`q 4F0@WǸp@ti !~8{L4`"1C#a~-r.`*ki TJ^4&D f߽`<@ iQXL6ZtgA?жcyBs p^ 5& ¯ BtvV.@Y| ]{@hlUnؽkHBtNlnCUo(nC[g> z?l4aIENDB`docs/reference/gtk/html/appchooserdialog.png0000664000175000017500000010017113710700303021350 0ustar mclasenmclasenPNG  IHDR]sBIT|d IDATxwxGʒ{/0COBM!RH!\].Kr{R/w)C0㮶Cpl<ٙUy53#B!B!B!B!B!B!B!B!B!B!B!B4K!ğh'DO*BGmOP!G [BT_`VAq%h !hM m"*>B!Ds Z#nufWZB嬹xյf kƶF!٭*@kloU\igA߮B!\ic,HۺB!Uԓ- ]n஽<B8  ڮiq- Һze-%4խb5jѪ/@׾9k]WBѐUՃ5x@n@]_7vUvnɖ{!h ]=@WlVV -ڭh=ؖBjktpZ:[߭RgA@PLx!hk؃TW?p[]j}]ڋو=@we:g[ή7P@)m̕:'e~ݺ[ E׾&]Ղ6bF{[׆UB!Zifs^^^_|8a{<3|iQg;a}SZ؃sխˆ NJJL, X,ߗ5qėao]aomc&Uͪ [ӵ[^؃tU گ͛2dn*Blwl/}n+oFN~v6nEz[jzMj_wMkB!0 $%%uO2qztӭ @]7 g-`MB!",4Nqzx{3Tg gߵ[>:YkZUU3IKO xv ctN+B1[_edfjYGs}HWw{&3q[]EgktuW " DLSS).)gxaN >H`@ :tjnOc޷/~C NѷUgQQ^Ɔ[#fvF \sOan)l52W{;ΰ!ya2Pij΋zi& B4A[~4}p"Jd)oY4l0 Vo>{kڇӋrZ7}>N1Ad%%%x{{c6Tx{{SZZJ{gZQ//.8`4fa4]o ˱ \&_rL>z}hoN/y]_n-y:ݵ%^ F4]ci>J^^^ڽ!Gr<ٌ:0dHӨ6EU_>㼝ӝ 7ϖ~G/Nf5D׎_-+l`]uR[?}< =(zNfgiܿjq;M'ycg՚5J`Ꮐe_R* 9;o<}(TP5ͦBٌ%}#Q jy}b(:x M粽v} &^' 2225RUjoS;>f?^j`̼u؇7iVzY={֟? olڎמȦiQWv#Ղ4ܯg֬lOF}#G)QQDEF:^yyk߸ &mނ`pgC xٰiHgq,]p߃9|N|*NqW{w0x@vͳoc:|'ٽ;o nm<6 ʻo.70zݻpX.4Y7 nuZ^{lظҲ2{o#OG^|iNI!&:믽K.籟?UmLϭpEUhV J i@eb0 -j7:<<ȣ|ȑޭ+={`]< ׏:4uںE]EAS5 繾fw#VJ*]Ok29)_-pbV^k4pK-'5-ǎow܁f9]w%K]%qycyjPU։kgpޘ1hfsL6oJDD%::z˗s='(0Б_߾wBxY{ny}U]V+K~^LNn.RS>gӖ-Nc.Ow/> _Ͽ>cu0_?>x-~ym۷@֟? oZ>όZHΦbͳn`2qvQU^ccـyU5<~N~)GL^^.W.Z @nn.FqK֮@zFF zvNn.W]{=O<cG׻JN\{iTUˋhN@UU  7'_r:wcHӇG?:W_y?,d68ko 77~}k 4+))ai:|}8߽g/=: Qohַn}z8@zF6lp|⬞i&Og_|Œe8qA߸ Y7QZV'߃4ɓ')++#9) >.|lܼG?xؘFjӳ)& #cЩ|]'O5KweYl9V`fk`2ڿP㬸G9986~w&MK=+/<=+}{s1{~zZ"ﶪWSofiSf#q<vA$$$pb> _@vN.5ӯKš#p^3xdrrYr6h4M+.ɓtKK#,4E̞u3&q3\7c:`hV|x{s,5-_߾}zu3On.3ؽg/o:6e 99ܽaI|tԩk뻭__~|A$OBBIӇ~s%QV^Η[ˀrzznqTf= .WVYHVNI򨨰ƥovɠ0n;?ƭ~izbW (sǏrԷw˰r˟p+3r [Ǟ`="#"EAQV+%%%tPUܼNUUt:]UZ.{~̘y#99k>Wp>~C~3?犫'p u]yK5MYi9' 8og3| :,v:5޹~wZ)uW/qð:GcO!&-yi.28c@SXPw~CnȮop5boȬo 4$}xv*zK\sfnj7rޘ1lش xwq絷f֭XVxGҹ3dzxٷ:qw݁Oz> V=7Fh$tts*}:j[js44?j{E]fc2;ۯZ'}{ 5'_P q d]PεzP:|~>DD8d/-UXOלdUO5*=@FG?/"3o~l`ޭ=xG9Y/'OOivtg>bۭKl:x0W\z)Qlظ~F}9bYy_͋oùÆi> ѽt8q= oUpS[xECUOw}{::kNU&͘ErP;x2Gesͣ{rA ߏXF;v"#3qGQQ6Fٰis5Z L0Q m1I|7N7$' urz;oF1Q]T)31UC\7ldОtف)vƤCh_< c_`ΟR e6r'lZgڤymhQw EQؼe+F w%KyWMheQmzicyxxx1N_xXhhzL׷lsO=N.ZGcG}_3*Zɪ5kyŗntbc9W+WASx&5iCK0(9C9:Fx0cX8-$̓jWd *PP'PB }et@hqg5վxL{|km4r%Sa 2Q#:s/̝Ka0waN%GDvHOϨ3$""> 5)//wmronOӳ4k l1?Qxŗ.S^zu^|iBB.خاg GBqQ)GOmУjyEkGR9v1 կFmLN1ֽ)-TE5xd/xrM7raz f zqI~_HV 6lތj,Kr9FDbby3f:uHzful{'ɓ( 4ce|ΝF&) {oηgʹIIL77ycs֨cjm]xN:6]d!*ȀR*,NA}-82R2K8ܐCFP#{3˰9\0 1Gj 6uhȜ]`/_Xv-{L&Q$' !1ixzA|\\j^O= #g?Ix)^}MēhFP` ӦNa3X'~_Yhiq};n^gsO>Czc<# ⮺m֖Q?5s{G1G'K׈ח[_Yӷ ᡩQr+?l:4µ\26n(rW$8fߐIA +rkmntuIIyk7e!uzCռ@m6cYFoooQ5А\Qm6(`S66Ʉ/f7^]صgEEsN KG???ٓ&S\Rg_|Ij)~H V`-ڽ?oNGdd$K1~it.ZUW\7}τqճG4f |.&-O=Ï=бץ}<=uC4+ z*>ޜ3;bt1kҫfxrq/}=6 U0Tۮ79g@ioZ9껭?㬹Fcmww}=f:vѣUk֒υ&X'N~q^iSx>c/xL?Xrt`9\7o͛=r$ݻwbVcOsKM%$8SNsPuޭ#DFDr(˖Y7vݢ]ߍ{o4lpqEMsZߕUZtKsFo4؛Z(^^x5tL7iQG=?]RR;;z4}z@"2"^!ĉF.O8[l6;.etiPzc= (ӫgO ֵ+>>@Dpp0a>r,Gء+VW)oYY9ląQxH~N>տLuf3 6 NWwU繸^={_p8RZVF`{/ I<@lQ+n hFUmu324ݺ(Cc6ٸy3z|3z~~l߱M7cSU:uqIHg՚h 'c2%e=4M\l,b5X*X,naf_|W_ViQQ's4`c[$3la5KMKCUUzѨc5r2(L?n]RTTOF^^ݺqޘt:/q IDATvv/<9/B4~W]ioVX|GE4aQ 5lJ#V&=V{{mgDydg篬o|jE!$8r6+9L:___֭Ͽʕ_Fl޺kfLh0Ïرk'aqѤdrn>kY>,[iSŶٽ{Ovc@~Hi}ΨQ#mRzֺ[^^/F} Ċؽw/^^^>gv\;}:Fo#}%11L5u6iu튏CHp0%|o٣;~~~ֻ i\}~<˦]BhHs?N  ##g^N#7/)OAjhӳFYՓS mFh_?_**LTTT֚Qx]tw4aIC߷QQQAFF&V*[l&9( QQQDEErII9JTd˽jtTBCCsz~wƾXrU.@***0fs4 WQǢb0HJ `=P\\̆(..v,sz]yn˻KΨ_~_b"={p[i@횮<9&m=*>r>}KMbOyeM"0 )]xh4ud}\il6cwGZ'w2M@?~]kƘQe;$$ذqcGriRuAj>ǚq,5W0qxB9WsG'WYԗ/_3=v8%S.nhUm۪j:*?!п__֬[HQXAΝ4M ml'.6(ϕ%8NMU1LDGE;;7/bO$223 lڲwL>Ơ5n`粌]?ڤ -7^ov<(7|[ÑÇ֭(*.Ϗ޽2d\b%!>.@4"#"=r$Kl6è#0 5hZ߀ތUibcb~n2˖ߗ[|z;6>x.F]׻ qI;l2f:b@ÒEYY6oח5[[lL,'OOZf3E%EŠ!ͣ(.bLsݤ wv‚6{YX,J"4$SGmgL&nXViXVϞfn˻JYYNgγiXm6 զcfQQaǣgt::UgѣKlt,^tGY֞{CuR4!!!KL|e?ph7ʟ VӸvg%00"8HB7j{nLuE兿.޶*ƶ`̪/RU,sag4Mcϡ6GYi#}ag4}KlDDDQߴUU|{ݶr;7,gz=VM3oח7ֻ5Ϳ15%hkQ @?yy+] &Osfc0/f݆**CB&g-/fƍ؇#ܵn)r)GSHgUWqfv܉i\:u w6vӤ􊢸,{M±T9Btt47μKN=7}נ`48_ wf**+`=ݷpCM?_ddfF>Mx ! ԕ^q%Vr0Lr3t`rs;SJKJy9q,5ݻѿ__%33ƶšycd)=w#!>ԳM9tľpH''%,{_,{nуvSO3h@"""}]=J]:7ee.?ػ'MO\l,{?8u+Vs`{x7kzN5Mc=K싏l???FAqI dz2h1ǹ뢾%--_{ GAA!;vn !' ԕލzc?v wu'Vf羿~c\pX^}G7ia!RS0^zYE_Ïr0_?>|m4Mci8y8>K^yMnqߤ.^*?}o/`˶mRGQ>K^}M~w/]Τgdi"""

`U,_>MM`5*6_?Ƕp,5NE!,,'OR^noهPRZ ݙ%փpzUnogwJxl6_ꫜ7x@ym\=ee<#^> [;ƾ.r%pqҩSm46BAu5={t/~Njk/@\L 'N`҄ 5GGEѹSGl^SヽKNܽ1gWek-^ʞr;ofl6~X ǹX,̸JVKNnXucu\8i"7\wy=Ξ}|.Rna&_?=zp_ѾH󯿱l ֭&Gfx{M~A:EɓXͤsΤM_߾.<\._j#*2}!ӦLlE$czu uY1y223Yr%tFU͝[jbntqoo;ʦ-[闘ާ_wHHWC5zN~5Ó{^m32u;+h$tcR q P.!)(:vHgf +h3SwM_y3>/T'=ޔ7f\9Evbr'00vM4@Ԗ*_TM=(QB_3M'<<| @6T>6@i77t}7A`` (.>P==RsB<'BiQv'$$I&н[fmBDhw:v>BўH׷B$P !LB$P !LB$P !LB<8EBю̌oiQ !LB$P !LB$P !ݍn 78( hcRyot- J(l! 0lX2F}e4P5Ūy-B?= NNp0hcԣ)-3%>m]T!r0(w@0ކ`tSx()@EQ0M[G+ B!\@DU Sq6/3QT(@U54Ml:y&k\4}Ѐe<3z/K`BV(n6IDOos?ePqSoyG]o.Xyba& eRrLY!x0UT:؅ee1}y(Y,M:StF#N~ Ȕ8:xLNYI52GeV~]O/돔4ןNBjvqMr8ݢ|8]=ڇ`lϨpNY$P !D-!k$;73g^ϕ{hh(7Z\wToj_aF>\ƔR@t)Pjj|x|aͪ3~FŦ5sMr8czczbi9TLIu;ߒ !Dk@bR(4?:7;7¬󣼬.ljʮJ~IL/hnƋp^ VƛKOt{[M##I쏯Q >^KjnLBw`G1,in vj+|9?n/uR,b}PUywyv/4?1=dM(0G SJ(5DdVW^K<cZE; -P=:#ҲBx NL&@ckK^od2[ZJTTU[?gE}]'/gB)lݥy}I uA4Ŋh 3omfiCyc$7 :[KO_jc"w/{;:I7%_e)<1-E~F]0>]۬t_w^EXgUpN/z[QH_=h-U0#_ṇ¢WRWD!ڊLD`u떳eZv¾};II9єC>Nlp֮YCfN9mQ,禹Gy,T (oB]ջ2ؕQFn )%t{7ޏޱ,|~:NpQd_j̬5TXTv_jeL@|deVFu? %>xt48c"CXmc{0W E6+T}/ݧXy2[*&-j'Lk=@^42-]©|2338Na{7t^=9#t_#0}X~z+r1!Dk@ZK+V7;FGqh}-9 6-祫:/Q5Kh( ORnV:0McBGt `\ T 6J6Q`fH+Ja+&5ܝQ" ]5,dMc[Z? Jje =;t% &Q`Ɋ:is|BO' ɥ{łxcnI򌫰lX-f 6͊oH@EF3M3.>Í7j25*[GGmPw{F~e *4#R|ÈGKS`b.Zu[nQyL '/GuBQ\acb.qG_2fm=u@Q>B锆GuU+oFļǛrߖ癃Q3יq5}?daN)9%&f5:N*܆զ) !ڇۘx&\ r*JV޴NMZԍdQu|h(Ūjtmzҫo{`ڗDMurg=%?!h )SיLjw*#LxBFVB&Z!`B&Z!`B&Z!`nzVo- !ںgDZB!@-Bx0 B!@-Bx0 B!kw[ûMqqQ k ⎿%Bq@Dqqtw8K<߂Bq6@]NY>YX>z* mTR!frڅ ٓQJ) ;MtB!ZjLVMT`ێSjzڵ Ma@R2WMUU_Y~}V߀d;]Ƴ/DEEEއqFK!DۑoL # LĄxc{a짭v7xcی9@˗e.l1s!")G&..^=^>T^z&Q!ę@UU 5gK-IhVwlL RS~\};&סCN?,,}y___{V t|9buSU"k|8Ƒ&M!{H׷ z///LXmIl]CתGycFGQZVϿ~#zMAUUc׬e@R2io2PMw4r4OL豼ʫhl%gŜf@R2?qLr cOdLj~w83z*B4j|^K.r1~~Cygr"D IDAT\n&,_54G^}]s/#3d bcbxy׉oB,A*6UCS><Ն\ݐAXJi jT |L} 2"g^#Gi D|\?.Zab*}5ڲu#44(1vls,JJJxsaSƎanjwޥAS>P!ę@^lkqxL92IS@Su ,\k/m4خt=S){__L?F+.GGxͷ8`fʴջޅB v!:ě 8?1o~=X5r4~nڷC|}||O3j4S\lqOX]>`լ[c/(`ٚB3#-zʌ]nBvCO(-9Edh_^mx~rllLupn0y}srx7Tܼ<>V7zzx._E{1fHe%6!h  jԺݚ_^JWA?m|%<#DFFrn&;szE<$CfW?xϰ!C%P !D+iJtnʛ|@ >1//e1(r˩ ^^[ y{>7^k~+7/MՈo42!3ۯxĆV\ r*JV޴NMZg޼urɔGDLBLAKi@b>tZB?? *7/W3mj[B!?P~~|WŵuQB! ϗ.;u1B1B!<j!ƒIBwxnM@H)t{/ҫ]A,(**`QDz#U("EBK/6p.Jv3gfv#&11)EDDLLA-""bb jSP[J)CEx=o~}9tEFDD.7 "le oOV|Fdfe^DDr?QӧOq}n,UH\1RSp'N --Adgdl|qQڡd rAFzύW'sۈ[h޸WCN鴴tx^ҵWwΠYs)BؾcY4V})v;-u`ނg7yhס: 7$4:zڳ9z;-u`ߟzRSSyov}^E,_xܮ-uu Z&N~KG=j/rrr4S1HMGvZs4mWTF}daoۖlvɺy^ϒ7oOA.]|].H)̚3ԯA,f1KZOvb?ti^{勲>97Q{~zOM"6*j[oJ*8q?J@@驩[X,^ۜ;?pчsލGNjꚷY&?pwߛuISjj* Gp8g͛'VZii酮+++XuDGo~sKOOw#6&ĵ9U [7CsQP]={<Ɲk=ޞ[AWzz1l9*jWTcSQڋ_y xfS;z4? 3`JJ :O?NNN|àiެioP>ݻveGZlqAc<ݺn-[mV|gQref3zW_p83yǰX,$?΋/ X,4jؐ?v`'qEݺCʑ^5d0K>_7v2ϡqp]? 0汎d;6J&Myn]>,Wff&8s\ V}Ĥ$>^jUc (tzmsʴi"eڋO֭dddcO>׭I<@Sŋs 2(_YdeeѬ限޻o]+VH \c$߭Y ^ⳏRp]AAA|`>'N`Ï{3!|y ̜оm[p1Q۰YsҶMkzvÏ?a,;׿?r?cTZ~ ))<̙7Sh}O=4>c;ښ4n @vvoL|h^zuL 3ÁC\Qύ}'N2o"{a>ǼNaڻ+ѣ\ʑNNvp࣏!|y>ZG͗ZGa͛8qՐ }=Qh## NmVR}VcS,RP{qW#Q,<ۓg!9Nxh wVҠ~}OyV{iiW s[,|qv=s뱟Lϰ[o3xnSCiܨ!4lЀ͚ЦU+~߾5FgV?f͙?Bh~߾wȶjтE?-[ hԠ>k֭/2UʝƂc.*GF2[=+6g=={t[.wƴwguWA+rrz(~9]3.HN:EN\NNv_u6{g;uU8ϖ~M7\_s+Wך~y ?JˆR[x3x?\h:t(t{kml$ǦHYbILL>\rTBJZvÇ??U*ZNӻWdzګSnF=xx}ɧ^ϫS7ߞF+{xLZ%dRSS=yTHHa=a-eL}g:)^ctC7~b5j|Y~ ͛ŹٰAn89uIԭ[5|DUڦ]53N/i1хdulE3Ojl R)2*PFu*WbXEV+ADDw,O0vسڪKXR~uknՒ_zxB횵-/?oNZ s.<7cծςGhcNFU W_|?UX bx|wZѸcTVu`zwJQuY,o Rj5ʱxj֨~N\UGQߛD 1qjي$99@*+Op̲si;N{ۚ8FyQiۺ~~عM?nkj#n%==빦={j,>8=wkױ?>\KLJ <<'Of:ء=UccD^ ưu6ײmZ&6&'yzUc9|N ܷ賮KsqNN&9%IoALt4ݺt&88r!!|v-]:u#㏮傂S!!%UjUV5~~tţmZӴI^rɧ~|.+L,RPp0x`jծź8r{_8y$QQQDEEQA5L^ l+,,%ˊ+ AL|i딸7իUG&{ճ'&_ȌfaBZ1-׵ sǎ <_@ƍ^-Y3yȣX,*] iSyykyQ bEtc\k;sgܛԫo>ӌe"CFg+V~}tR7|u_xuTVmzaZywTޞ>)oO##3͛ἹDFFzܔx1UPB3牊%`u@X&IIIKe1P\hIIONNϟusjlkzff&iTVg/VmEq~4i hӺDUrV['$}Z0OH R%.H]m[t z+2+q qI@ `y79S 33???V+~~~]R(tfvp@KX-Ye-5 ]/(jw9mRPbq]m~'OV͚c-}CsrAܵ-7޼J٧/r)uHF1l׵Y_m)EFB/җ7 GA-""bb jSPZDD"""&11)EDDLLA-""bb Q/~+W-#''Dm GDD|(Xvy 0rĨw0HMKe9 j^dddeOX-VV+ՂjuZdffv""RuBˇԩ Sh߮#p(~G.QDD.Q|h('NfUTںKW<DLŰ)艱p!>x%kj.bxLz T\S裏ճ /ŊED> Z>Gn$5]FC9³/LpvbaȠo݉A8pNт|m~ݺ6ތw%8 wft۾m[^*-wGK>e58~I?YGivyO?a٬۰9X8Ƕ`w옫 m`8϶~ΜB߳w{`݆3dРb׻w~}_@*i~~~Nػeܽ)OR9K4nԐ.:N hѬujצMV׼E޽U&=u`_}v-7n:jµO[GzF~~4jP5XW}rOorҩY~mhIDFDbʼqhܨ!uj*v kf`~D ۋ>/n` a7SJ]*Adۡzl~9}?uzqgSeL}g:)^޷?QQQ^=x0O_XUP]lJxaX?p)}eqۭ?xVqˈY~?9+"R)hӺ7<4Yin#9y< k!GiO iܵgƽ<̰n$f]^uT*رn]lT_}95k(:ի3o>II u;]}̼OHo:tO>E?";'W""eN})hѬ"{k!Z4^^<Əp/ɓ| ء=UccD6~}u6ײmZ&6&'yobl~ouv܉5g.j֤qF^+N ԧvZ;}:kKdD͛5#Jf͙K\=sWDRl{?2j,ZMjZHYշX V?oA@0 l4$+^jo~%_\gAe4oXkя/|r{ֆ 22kp&''Ϻ yq|_R565=334*U +0xDžnb+"%KЯW-8 x Hv7y^~3/>?i7bW4xE[OdDDC|@/Z}]/PP_CֿM IDAT.TPGFDҽK.CDDS""")EDDLLA-""bb j󩻾 .>cqv9""bb!!DGE]%R3 8sڹ+.GDDL,3+wGLTLis|*slQ刈l4א 6(/t""R,6 6K j'/_v]"""&S=j;#ED|WSA !( yS""RYPX,QHoZDD.>u۽G8 p5aùHIIaصKZߛSߦ},XcڝW{}|.mJkh_̧Zb0x>®ݻ=ܵC0hRҘ;%nbj| P_HʭBm{+!|ԷȀ~}3o>WAW=S\9~ڸqܤbu'8[oa󯿩wE]X..󕿆ʑ^YNN)))y,Crr2yI9p {hp8HHL$"W^k׀A=XB˗gɇ 3souw`'$1 vq}=Í'==Ay)==5kѧוѱC{X:z㸨㺨6v;d~q~` {'"--jpn3?O|BY:k̈́W'ҳGw>[!S&FTʥ~\j0|2Ez_ٓVZի Xڞ5/[r!MjZX,4_ uDFDXƍ5k]6h@5ֳ~32ճg^}W[s,n=w{.\3tLx={_=ݛ~;wOӮmjլA]6zvFUҩCM $$mҾm[=4[y'ۻ;g/p8r׽[:vhO5֥ b!..Դ4Zhay;KT2çQ+D%rѵs'V}U_XV0 >W'z^5o>! Ey-g!jԨn (0*+s+8((M;k䝷sԩ].:zیr}*A75kY#g@cʕ#Ԩ^ݣlǟ~OH8r(}O>srrrJSÏ ׏.τ/Ū5kx=r? :KԦ iGPjO_7?pfMxԶϿʫ<nZl6zqeݞsV;ۮ }r OH=mp8hݲf={<-Nj,#W{"e!/|2Euh׎+0o"j֨AzתE byv?Dsh o{uUsͧ}T #,,*+3o":u@XŊ^_f-v;GFU]-+Ͽ8V-[_ N[4kFpppl԰!G%99T3(:u@JjJs95ĸӲe6{}T>jתɁiղ'N bE&sr\ueѹcղEs4joMe](W._jrfǮ]ٻa٨wlcp'> QjЯwo> tMR#ȿkL~-|Y àb \5kƵ̀~5g.}{r-ߧW/>Sz~WiĸNt؁t҅{[O/xÅ-n 4`⏘C]Q)'HrJr!УSfLNcjl,_}2h@^8 F L ]˯۶1iTK-<_cټ;}223i޴ sgͤRX y,w»W\<zܳ;}\} y P ,g%YOD]|-???fXp]7X,EZZaaa8em9)h\~d;Ol8rrr#q*}jzԠH~aqEʲp׷}ħzBʑBppz""R(BJJ !!]yutT4G⎐Zڥɥr$Qѥ]yuxp0БC&"" "&*J>}#On'22hV: ""}p|*!ۇ|}"""&11)EDDLLA-""bb>u׷aw,.GDDL,$8hD}TPǑE玝 *rDD223.㈉)rΙOctj ?]ՏW4WP_*l6J19ݎfv_˅a j)>λ†K× jPZDD,䅂ZDD,0%S""RbӾԠ_Y o j p#ѷYO?o!%5>Ͽ:WX<+d]gMuCqmoB^(TKn<9vwn{LKLJ"R%>O:Ezz: s7iԈwEw] ^.--J<Ӗ_8q${\saP92!%5=!%%{lC j(ELl6PP1 '$&2b<أjق᷍glG222 ṧS>|ק۷xt]Q.;udt؁MUGƛع J=y11y[V>Yu9ߟg!sͷpUC뎑^kYz55k`İXuj q}iZ4k7Ay/r->!mMRqN&''Lxyjת<˶~pUC3f=9>:@gD}0vJj*s/͛IOKa{]ԮU"U#00!0хTRfPP?_v=Usߛ Y;9)owؾ=999+l6fϜAxJ,[+30~ ۰SF?n /R56%55Op#з/VdФqcv'G`Ԩ^M?n&==}x%33u62С];VŒ{ѣԩ]'}'O%7wL)rsgpK/ۙ+TdTZ0hۺ5_s QQUÏ[M2Ǚ;oGx'9%նnHRqnʗ/_|Ï?_Ǥ7d؍70t z͸}Ӷu+ :s:$$08{ΝhۺaХsGޟ;Tv{goQvm àVg-pاu̙7al[FpiXlq3FNMgu4nԈkѨA%$vn>֮ATZˆMȠGAXq#[͚ڥ3:bpEݺCmWԭS78`~wT{v 0 :k˼ػoݺt&<Ne@n軷6V-[дq#v3T~bX;4i܈͚z=#>w}+66n]:{s8׋t-0wapHn6"W^ɲ=jk֮cM7r֮W eӏ}ר8ʻy_Mz}5kT`}ԭSXӝo>ܷuDDkVd$&& ݞ0ؘbOw8g{Nj3YKHp0ya=ݷ- cdddm4 kmQ<Ñ{Y`@i/ry( yq.A]س6J8N}˅v8^좦{$Khi_=t@d)5u(giML}/tio OJn[ L 3!=EDD}%hSu:LnXs\f3M}=p- ~w^pUAn0 7WP({_޷cav#329ӫN2grvo؅ۂ7A͙vA \+ڎ|;8M lMex~L˧n&ֳ=ZOy{9X9sqa=lHVp?osp&r8s}bYΞ3xm?ym>sA?ݿٻv@<#b}IDAThAn0EлTtц#U$r6&əl"UU^.PD )Ҽ5Ǐ JB _7/kb A!5 XCkb a:k1d˅b{Yۘl)~:kquFJ{v'"ʲR*t6ʲG"u8:His*}uJ5$Ibʈ9?; eÉkF[$CDC'Yk|Pe M∈Ve_xuTfR*Hݽ6Re{Ds.uڙvl7k ]32Oq0qieX76欌ۛNfXCkb A!5 XCk_AIENDB`docs/reference/gtk/html/assistant.png0000664000175000017500000002602013710700303020036 0ustar mclasenmclasenPNG  IHDRSsBIT|d IDATxy|SU_tVhK.kMEQq}eGEG}EWuFqFePQdAvYZB4G6 IZM64so@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSmW HH$pvI y$EDDȰ z$ADDQ{VZ@AsUZuCEhM9cDDDN5?]n"XP侰 g$|Fu{3Nd`,Xp5…sDDD̷ 2,ax"P8 .X0 u.3+SDD  e*\ܪ'CDDBUC"Nmwe#\C$7gށ;d@P@a"7h'C!EDDBɨF<"³8nMeޏP ‚;X[ۓw7`x b"T൝ގ /\x/8ɨiP0P2ksa*@i٭w 'FիZB9D;"P;XD{Hز H3rwq%10P;XX[٭OeȀs.<=1CD 4wM{3pnV'Ig@Q ooEpH(mz;ɠzr֮[{O>EA1 ˋl@.#H4iR>}\d@DDDNYgqF??@|eK 'SуPZs0RfϞ=0\"""uZ%wqTxjl!=Ĩ( _DD䔖89HPqVkbAb%5 0o/Fl{t:"3+c5)a"[UVF<ɪy0Kj:uRz8g$3Cc,QM@IV*H,{7S'ڞǐN)ǭ/[P0b˖*_[*_nD*bx_Y{wQ(VU_& jH": ~NI p@$OSaav6H q84ls=!$8Wu Ijwe? kbccЯPC99\zL6̰r5D""$+<^}y2*捷Mitx!R@98ʥ.SFG(:D#kg)<ɕ^GTTcRk\_7rmӿo_fxKKKq\X,þ/eJa„g3Xg2a69s#3k?p!U kugm ]y#,V+o*\u%o^{XlrmKKK+?h.\_ZZJ^~ul~Kd8|!e̦JUyg6z K-3CU?Fvžlzwq\~\ղ';ݙaٯ8GLuDIVkqFp:X,.pSo\.r-#gŪU_3 70/Μ5khޜ=@6mػoO=<6ol63zTPYl6 \bnsro޵+Vt=1ܟ+f{@*DLxV>thߞ!w:h ݺv=@>cgCrvv?yG/1;ˇGܷޠE!ݷt\Հ2ێot~}pĉb*~w.=us'Xaѿ>Dt ̘5Arxp:<4IMeݴl=Ly7),,~ȍ][]ƾy*ʭ;olɷqQ&_r1~6up>|:3GrƜѥ3O=hu~YMO>|NFm ?)_;x 7rQ5mʸcnl޲ny#33v$=-. X;o^i7nʘѣض78@4?N3`, {`UұcV믙BüˬXDƌ7\ k .\\~%,]g"͚I||rrD;.Ox!g_xmlݾg$>>i7~}s]wK,5;sV /cA4MKc`~ܵ9t`M:d99׍lٺ{ztEf9d0QQQe={=rGtѡ+Vu4 Q#3z4-2Xb%/͚M~~>={taÆlucC$*6t(͛5oޜ7nÆrq&zt٣Faxs;|_\ؑݙ<̳dfe,ӗo~i%ѱ6n{5APPPE_MJJ m۴a-vf3VKgt!>>f ˅ir('7~⪎v{ﺓӒ/>?V-[rҩɍIHHWكcpJ`is:&?!npbޘ999$rO]'vؘX}.WyWYJJ Rgtr>!􆬯eHMM{׮4MKYz7?Hqq1޽~zI\\V5:? [oaݷfh|:Įݙ4o֔9sckգ=w^O>;gnxUwϘē|';`NKJ"{^FO? {'/<;3g Sopp-o#666U9Qp?WtnfC2@tt4t#?8;2fԨ(0qPKai11L|;3͙Cn<[4B}y^u\.RSSCΝ* ?ޝC-+S\\\^i|XtdlaY#﷕\rD5C?I|\??~[us8s6}|JeU{r/EEE哝} Ļc3a Pis.%~ǒoh׶M:Ix.0/o/D9t12ޜsIIIfm,\g xSگ""Fkٶ};= WϞDG[ص;#%?/Dϊիeu9^.Sit^9[n[&+{=u+_ӹkido^Ĕbbb juX9/ӒC_ii)EEs.x!99\09g<ѱ|Fw]<[,~QۋH-xxᥗyp{^Rb"?>zҰaF㫯kg@n]Jϖ\wܷ,`"۶Ʀ[Xa3f&I4IeLڶm%K}oVm6mxl ?=g"3k/_^{=WR_ϞY ndfUL&f +VXqc{…ݻ&[1gaXHOK#/?Ġo By3[xᥗ EGG[n)_,'?BRb"wGny3ref͛5g4HHաzD`L ZVƍÄrg8NNn&.'5d2/Zcp?K/DQQQx/PRRӒZ8N1gsZRv{{7iN\NSC$GnW•M捷0o|?~}u6vE[sݔ)p Vzn]ppEٱs'X,vgurnH ⫽,..&6.6ݙYˣ{nؑ[k!66w|3gO?gO6Y/3' ^6D"C(>핇\.Ɯͅn;.9ΡÁbwC.Ć yg1͸\P_UgBF>&Xʖ Fe] +t٧o8y}TxS+d/?3x@ZqqqX,JJJéGLL 111bۉ~m6vq8X׬p8XV(((o*]oJiii2ϛ6oۧ2>J;L&S:/~9i2~9f(,,$'7Ԕk8"=v2bFC%..ggOLL\9A 8Tv_.p pβŅרQu /ũV@ߺTj*}ݸ[wرjm U\\\~JwQQQuw2>?W =-͚cN/Xl.館LzZ I#Oz+ S" p^㺇o&Z4o^~;"65W^ &Oz Bct:J$HJJ1ch߮ '$$㚟=K֭<`z(OȧzUw"tO"I-xGp8U^+WLL ÆaYexO֓AK_DPErY$I<5On?n-:\]:䔹Ʃ./-"5Weg"""bZʎ (**bԉL&BG z E֥Kv& &"dboԤ:FdF; \5`;Gj*"" ؘ;m;oo8YƠk*4l15,.|)۷oOLcQfLrE{e|oSÆcN+/t:iצ Y{Ydg Xf Wamӆ[УuAp1|{5jD-ٺ};vp~r2:t 66>7[HVo>zۿBrt= M;trr3 66O粋/]Wmj\t 4p9cOv6ii߿k.t܉{g\/6,3Ny'w1k6>zXD?xiL&>Sޜ|= 8i/'&&n""R?՛EcIry1lP8ȧ}L'..Gs]+ضڒ|yV~퓓(,*:ã[3ؓ33ww~Ů?\+WVZo~NoݺF^ Wn_~ǓϹIcN^{ϧ]676Wn<3nj|>\ÈøxDV{Y@-֡Yfw[Nz&6ά.55$""_׬p^32xgc\sܵm۷ͼ[B=jْ_pm};Yp!6[)*rnvB}ooÖx'0OL&&_r1kG†׏>??HLl MRS?rT名zELɕ܆ pGǂ_qލ;w+3-Zp餉t= nʓ=3:v\pڝɚ~&kO63Ѭ+?]˖h߮qqGeܶ1df!:gdpW9#[!!!}/6go6qevZONΌYXhq >ȩd.f`{1{-%DQm׽{>r= &I{:mM0g{|wS9+,$//ƍӰA{62v3LSEJJ" 8 \P}18WقۓV/z0꒤ڮB:q M4iz23Y7L&zt7l`!""?qurӢEZU Hbb"g ;6'qhn֭@~~>-7w#5NiѼ9kX IDATzlLL ÆeСJDDNER"""0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1[3_y~dHyEEElm!g "R/9;}U2 xoUn;g{L?g  3\1Rv͎;ngZuMRSYƍSeY{knv~;N:t`eDKmW@D$}֭Zq'%o׮|Wfط??\~wۭA)r]wrΘnw͍7g#9E͹X~=N…OwBNn.ȳUeȠAD "RXV.['@~}YnL&;vgҋ'q޸q}{#:p.\;x띹?p)Փ ϟ@zZVZͻ@)R~~یyqL LH!"βVPRRȳ0rpuӫGf3&bлWOt`֍=zUzܔ+̻;4`C⍷PTTLH9"R,z r#9'ymN?g|rȍM凕+\筺Z&_5 .{Y "ᦀ!"ʑ#GY㏌=|ѭ.]Jii)ՙ/_AV[L&۶O?%&ge!::LH!WY5W]I-7LIVZM&ܵ}vlڼ%[\g+l;f͚e|"4`hԨGe{/WfÆ zD!"%K8KJ`Ƞ4hЀoRPP@BBwvZ~pݡ;p;I^/Yhތ={пoƞ=}'t20$RjbZ,eK @ۮ{}d+.hۭ!I#KKiҤ &Z[F0p9$''W1"Ց9A 8Tv_.p pβUCDNIfƍOxld#RhNCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDp """b8 1NCDDD !"""S)`0DDDpxu'N-n kՃ!"""S)`0DDDp """b8 1NCDDD !"""SFeEDDB#bpq "Q0|MBDD$4|Zis0BHhju.0DDDZe*\(`oȨ7\x/N0DDDBnwׇ\(Ft-"""b{ChXĻQ(`-vAa8Ax*i7E9c͛7+H| &DDDN !PC (e?[q7lC$F w`Y<;X dGD*BwЈ)[p!""`'MxO=EeKIRJEF`x 4ā.)Cc=!=#XPHt@mQ-T^ û~g:q @a.{~<%{/ ""N!{w(=BPHEo'd: {0 pwx0,@,='ҋ!""Rw(2LtP9dDwP0Q*|zv-(b  HoHTQv<=m^²~+~T>'ȳHL;`R0R%"" "&HH?FYaE"IENDB`docs/reference/gtk/html/background.png0000664000175000017500000000257013710700303020150 0ustar mclasenmclasenPNG  IHDRpqްsBITOtEXtSoftwaregnome-screenshot> IDATxnU۱q$RT#t`{!5}Y}i]Ub^p=WN^KOgi:kk{ု^hڊWڕfaت@r/ (4zWj05qY×=^%㕕e /:CG0/ߺeӗUd`v|0̿xT,kὓ6`q:wpҌ^?{ij {e3ִe=CN=i6j{_Itx:^ lЬ.pq IO3*ٳ\0غ^ڝn0@e45cTf0$5IPi3N4)PiiKs ͦJtrK$4֌AIj7%iS&l&OyiRlBijv$4e4IMT&[C憄J$4IˇLBIh4 MzTB^^^mma//MFO%d &ߔi &jv$4*MVKBh{yiRa)MFS f&&ɮCi:;Ijd5لJ츗f&;i+wlפ*MNd5;Pi2$hm$pGזf(!h !͍Ӧ*P&tPin^HE35T6 D&&&T&;i m)4 M*&[Ci{z٦M!vMjhxSM쨹!l%TqҤ5u4IMg*MR˔f&Pi)Ҥ4JԌ@&MBC &>/hKMJigӐ9%by^i6kal4Jt&VM14Q)͚&㠈O񳯞#IQOz| ݙgw_^ih1]ÿC7T{5;΃ @B {1uI>SFP|x[Ӭ۰J3e{6KMYX7iPȦl:o6t8k8޲7Z|+_ߘ gֱ tM;nqIENDB`docs/reference/gtk/html/bloatpad-gnome.png0000664000175000017500000012367013710700303020727 0ustar mclasenmclasenPNG  IHDR;ʝsRGBbKGD pHYs  tIME  }dG~ IDATxy|T9ޙ$daI "Ȣ"U~՟RjbݿZBqAP*"AvYdKH,3s9q&c,J=5s37'w|"8~OAZu߿iٴeE;0 BBD(++/ۻlOYYyyYYEežݻmӶKm up8 GA[:U+oYN&-74AH@|羲}*+C @ݼDW:,-p8N dP֝~y/rg5:1wۆ,!& UUeuʊ 69^BĜى0[՞Re[Xp8~p[\i=6 5ݺaAB!0*UUA`20 Uǔh! T\:`6nyaq6I] Az[mgf! @NX"3oش*CD$31[U,ΪLThv0i88tFG9s|g;wj׮]aa#Q?h9?]tϟo1fg۞zI/MfeE#Q#OS}M-ZTXXQB{NOO';{O*,,̴O0,)))// 8ݏ QiݠQ͈I lŃݻA?ʕ+/훵щD$Nvh+RԖD:t=sd:aO=/);!Cر>7nanݺ /|rWzENyYEkc!$FJ0 0fUYUQ<2$֮]s' Oݻ/` BĪ*ff"}_,3 ݥp8&M4i$ٳgnf̘1fQޯ>#Awy7xcj9s o߾ f„  xk{meee=[N^~{K/5tY)uWTTTє)Sڷod:Ak}UW=мy .*##_G9 Pzw^PPPPPЦMO>9RVV-2eʔsC y f*,, ovk S'|r'tRjwuu]ӦM9s_UV=شiϟ[o}tJQ nn5ۍ1B! ! DšwY3]s/N8aƌ;Jv /1 ~ʕ;v1cFϞ=9cwƌ%%%EEEǏ?1ƍ |7hт+WVVVΜ9s{ݻwΝ&MjٲeO /lݺuw9ǏDNzy;[nVtMv_^XXةSvܲe % 33Se߿aa<Dzvɓ'a˖-1cFfZj .R^͛7>|x^^ܹsW'1fرÇ͵J`۶m~|C wyDTPP0k,+S=×_~͛LRQQH$Oj*xW}e˖՞jʔ)ܷo_HOOڵ맟~ZUUp݉G:tEϟ߯_|<{tpq+3@vgf4ڼfLIDB ᡔBIB !Mh;OeeŖ-ǍgMH Z>LH{}o~W_?SN0aBΝmt^^^YYرcW\9dȐg}~B=zwܱ`!޽E&Mt9|G7f ٳg̘1+V _z%&LfϞOnڴ]GI&siժ?yu>tW_}u˖-$~RuNYv-4n^X,ve~R^;,bرUUUFjٲA{95b;v痕XcN>.]3橧=W^ڵ7n\EEԎھ}%Kv횑ѭ[7LR{ٳgd֭[~'O=z4ڵkԨQM4ٻwoVVVEEҥK̙cwzi'|Bzf4^=ƀBڜy!@6w† (qCKO?ƍ? 7\ ~-QmNiӧOz=">S7hRk֬ԩ1fC 93|#bfּͬk*饗>OO?O>>5ȍ5gϞjp8?ӦM[n/oѢEm3a=zܹ_|qȑ{9DP]]kwkժի  lٲm۶lLxnng 't=;SVVfcO<.Bro6mZ]]}M7{wq „g:s)c^\3^#D;RI$p-޽kw֯_ic'3>6tX"٫g"C* A+ղI`:Drʭ[6o\)뮻V\YUUa~~ C#` UYd˖-==zիcR*5C֭`ɒ% p8 FG/zÇ7o2A_\\|gmoی3ԩS|ɼ޽{Nĉwݹs租~8)r6!k+++N:{\gٿV.]5, ff͚UQQ1`.]L2Ek}n,[vRm`ŋ-j֬G]Am/?fWC6"A@H!$! 5n\5oQ?C2]J) I'D"eee !Z2dȤI͛7oҤIAAֺk׮wy nƪzM63`W2###Q`֯_߻w?O 7PUUOwǏw&8t#3ꪫ7cƌ'x "XaAA%L08~[nӦMq'Xc7 D'5*--8YCRBD4x͛7yvm۶}MOOꫯ6mte5klݺu&LXlٮ]ࡇZtW_}re],}ɒ%۶mԩ7߼vڌ'x^zcƌ/N9k;C4<)2x,GҒK7BsNH5'/߰Q.]~8=Ub'O^`ŋ_hbݺuC5<IСC~o> C{o߾~y-_ܞzz333ꪭ[N8J;?5,]/N8.pJKK~zzz*n|{ڰa7xꫯƅvG}G?<ݻwxybݻѣy[l9۷ovFoަN8໸ZCu9//o„ )9^ZZZ>} ~Gmv7{e _p6lކ ֭[W{\sG}Դi#Ft=--*+Vtiȑ'xycV M}ʔw:iiu"ۋv-ҹ_"ᾲD M]RʋxiuҲs<_!\~_rqÆ LҥKVD/]z饄y%\o1bժU}ݰaC$?o["[u떊}_>}zǎGyꩧYYYW_}O>_~fͺ9C"2d{׻w뮻nΝp317mtg7h~u~?ذa"b6m 6`vڥ;D_yӦMk޼ix+rPYYy5׼;DԫWu~ᇿկR^C ;~@A/0p@a}dlٳ{{Dd<ÂHMhB#2pďԭ[?';{߾wlPW u==V BJI:ᔐ߿nvY {! CEDOь4^bѴ,tZPm뷵l"#+]JiJ~z={6mڴ{n!DÆ <;`8fΜNpܱ-6iao+:X9A5Sc 33}`%?m|./߻nڍ6E4o,MK $ݡsKp8"d"!NhѺɉry~ďDզNVαy#oyypiI jD&J@K)DFH)}0@cE3 c 6<$*bfcL6%lR柔P}O=㗗]x~sžp83=J-ZhԨIWxI FY5FkB#F`'=Ȁ0ȩ6dCƘ0 =Y+}}yTJDOyJ`I`¶bfDB!QJ)=Bd S:]aNUUUg޽{gddq8ǡ+%vrssw4J>N) IR0!@BX3 ƠJ$lTkYj՗_~ f͚6mZeywSXXH$ڶmp8X $0&@@bߓ*Df Ȉ:Lf=0H$bbfD2F1{R "͌J0DZ1 ڇ#2J(a`Ro!﨔"6?)f^|yڴi0y䪪?ʕXcǎdp8M }ɾRBxBRF+e&fĘuDz:i+"1dڇ_[cQGBf&BcJȝ!Ƙ-[Xϒ%KkdAAAEEe]~ ޽g~ݫ9p%]_DԡC"Zn +++??|!c8ODZx"G= $423 @Vo a[ggL2^dW*GYT+RJf S[VZkjUID: `%%%xW^^d/^~D"QRR2o޼0 JgrEFrd^abժZW:L]W_}f{hpV0E333333y*[f3GJiDmaT !YaBCdfR cT *>Ȉ,%S0dC)uh30C6}m RJZ)Xlﯬ|嗋} 6<\s |=z )0 4m҄S}zj#ypLȩCrd1A*N:tP"jӦ`cN'w媡 i״iIXvmjӦyiz]dff>֭Ko߾}{IQZaلY˳wM_R$`_ͱkj{3#=}̂ISV*`mewԱ}zN˖zo1 }g- C{3uT;fҤIC 1Ƅa5{16(Gah% @XCDZ(8H؆(Bid'f},ٰꊈ.(-҈d;k׮wy-az;҃_=߻w[/64/7N6< Om׽k;u|oM~_m޲媑WJ)x{ϗ)-X9Axuyޠ`-/*̞;OkÍ1['9y /Z緲)q,we+|MfnذaÆ 믿m۶=x:@VF%DO$5 ZB"թh &/VqV!$kX&UiZ/XJlY{6 03F,.VZ,u۷`ݺun5GR<שXpᖭ[lVTYkݢ~y/RJJj%m:?K3`㦢UWgeeyK.ðnݺ5ܸhI?v}F6nп_^nn&wUTyZgDTs_jܸ-7g&}$6ҹs<r/WFR={q:8I$H )e 򲳳L}n߿} @O`<`[ Y-á@Zd1?Bc4h6^ذk 1BRȌR hkz}7sύD"9sfUU?~XoYf7tS:uH]YvJdzbnݾY;2os7v[#٦?H޳gWye 2Jgc!x}ߗz/D1# YNzڗ8-(цHi 6ݚp't `QAeXgIMe/;RcK!5 bZZ}QHHKKs'p8aجYkqob 30 jDB0DV1(IJɆb?lj"Y$DdVH)A%B"1Zkf`lZ귎D"ZZkDҏϖF::?MpX,--;>o"B2+SctHTJI$p%F[!a F CfI; ~-)mhO5i6vB$ۭLJ:/E,9p8as*! )IJbV&+^1'3m d?p҃DDctwfu mR*`ֈhe!BaJI) dN "r6!':`ARJl "&Sⓝ_54d!iIQ'a~Y٪)EB 3@قCvNgr8q0!'٢6t2CB dB/4&>B0[Qeqz[CSDvG`fD1ɭG ц+ˢw8qRHv4Y! 1CRJHbfBBDdK#(c#Rn/f&cMON%fUFH!afBlBp8DD6c2Q|*>ffck[fР=`!l?lkO$b[1 C5 uc2E}[1@D"B"4 lSBp8 j1`62@kFR &,RŒl5!cM`;xPDQc 8ks8qd* h"jF YԄ4ۄ/8BlƞYRl " ? YH)YZA6B`R>2gm'ۓ!mOf'Z}4 hΝ} ޷o/봏<䀩zwW]?D!ǘyݺu̴Ozjժ 'ӯ_3flݺuРAp8Jm&T*0"h E"[0U5at@2F*4J)aÄOaJB)=dua"P LM{8$ЈK.ԿΧ]#ԯթM~hނ7Κ=>X3y饗zqy3\rݽ{O;wq8niѢE&M.\H$ w p8p 1Ze#A:4c8 IH5 )eJ=HYwj*S''!h4D$$"Yz٬$>M(7Rwlur˃ 8t2ޭs禶X~~~7RZZz>)M|ʕ+V[뭷쫞YnO{lٲ+ӧO߿}ڿYfM>sMΝSޱVZ͟?G),,ܼyiZn;ff>C+VXbԻ4i+>zN:pXp8(L $I CMfx<hń84:4 DR')֡Q(`G"Dl-倳J(JPJiFPF֞E""#J$Wx#z1z_x+8^0b@K?_ܹN>yoa>+]1r؈{UUU0IpcjOkoq⇓~'oy9`<ШQ 8+͞;_{g.뮻>ݵk :tƍM<;СCQQQEEG}4t &O~W~ᇩ-oVee7]cŖ-[y6mqhԊN:) #8Np1_ !h D=c~A DMHD  +D4LR(@$Nqk2D ¸0\}D< h"PGZO(AmZ2Gѩc99,.XNN6{]7q Z8guZdm֯.;z-[Kv޵˿z뭷ZhuuG}cj͛}/^|}M:̙sYg 2i?N;gϞ~_ApϘ1hذv7o|wG"u7n5xq:_OM5 50<\`SRB:@~S#`GhP>30#+0֘ 1/YblP%AhHoqHJH)Ͻm۴6n^۸h]ձXBDy6:oRj͚0 ˷8nz'rfg!D$ޱO=ݿOk/] [n)**zV^/in8qg@,[b֤(///,,ꫯjs>}ֺ_H$-ZTXXh5rȦM.]t̙W{Rq:_"! ր̠YHa D40h]=mlԳU0\uYo"!V""H ,fN8UR`1H6!X~7g+qΝ73v{7jܯO[v{3NΙsӭkǀ>ȪIq <cr8#` AY阕i>gK/9y wfsj y< 3+3231XUE)0LdFDڄ58=K$h"V?}r8%pJp8 ʈrfG G2dėF@B(@i~Z&m>ՋöPM"HH)=O b"c|_1RJϋ$Tr!ߗ[O\xiш@Dwp8QPcBB !!l/$ UK:UIVAb֚#ښCh C0>ĜDB 3#%ۇRZ9%p8 Z D)EM` dAdD #cu( LP)ŌFJm4X1n6Q 2fm"Z ߳8 SBp8 d{XiϪֺgfmK,*x?ɉ}"NE1]EQ!YDH۴J]3̍CEr̀&]a@v1vh[̰9Se q6֤l1Db6Tl]"=K EQEqQTiVwR Y($CE(iGQP@Bf5ٙ.]:pHO%}Q9==$x벎vny @eCcEQEQ\h̚fcΩ]"BwsBEie2ﷺ`"\Mis=4˲.Tfb]UMIp݀vg,FjߜFeN%3yi^*{܇A ۽߯6EQJz'P/$< ˲1<3'B"!³`zUx '?t!"c 2LlA9+wx}pK}fO^?}NQEz"L#fL3ahcMUqwα h5AkQ1j-wNurTlE=Zf\@K.ƘmV[߲} l%Nvv[w%B{1E sN14Jkݡ͛)B:BZX@XsBEQEQ|4CfD,)"& "Dՠc%,$q7pCELE$Hw?==mM f1IJ٘`|/:J EQEq1$nˆN H"Q u1ڱ+ ME8"t2D,K$I62mn6[)%TEQŅ MmrUִli{v1 y w s*1vcIFCDbν #uH R!;VEQ P(B!IQ~[ b/"fCʮ{@ n1椴xk # RDZkMNOO "npwm-Ӧ#2TPQEQbD6EnN8,`"LnL5%cڙi$ H8#Dz8Vk"-i.JvnB;#NNN\D*6K֜PQEQ"GPh)f>$sx U@\ޅ d]җO=;;69k'nsp]DUNQ!)"TZ>ˢ(( cP' mLD޻YlM\{veYZi? \DeYV[-\:DU[ߴ%mszZhMwܱ((.0!væiCUup;,szӖns: Ц B̀t6@E1LE$8N]83,D܂ B`CQsBEQEQ\ 2[[T" *o$chP똻ᬆRdctA0"s8t{J}(r *q!pe|Q`ai(!dSk*h 4B{WY =sx\c>3t8"u+(( awzxEU*!*AEZk IFAPfhu]I _pfo8$!4ѱ,˺w߽[FHkMEh朥(5wi"SC7@ #O$sΠb3܃Ѩ}!@i>[* WA.Pt!6"tΙU.eyLEQEq1a09}ь]FU\RDH9é}N]u]w7`fS$dL4۶&*"c${ߐHunv4]*(( BN2+"ة(R@e: ́9,3Ӈ1lM۾ϵcV 2T{WDE lhCD0O驈r-"fnffsٴ*(bB$[32D@FFa " )RHn7AjkښMU$ͺcp˦b;#[StEng0֖U}QEQ%sK 3"+u {K?FlNjcƘm]Yh_"LacC!dC vgwn[1z _T+107BIfn]K EQEq!H<" GU%eݸCD֝T~,Yڗv;0ζN\IUU6D\6}l4'U!Fk I͹Fv=n1vfQ~Bb򔧼=گG>y{}_x;w//{_>ozӛQE1&!MDI$DEe.Vɘ(EzAe "~vv6*J Zk Va6um]t/-*,˲,$C 2Zk}vӚ4kzg<㦛nz3Q ^z5\ii]җS?S摒EQ!=ƈ9b=lw6O^k5tioM)c;QNA6zܧַ֖en˲ރf~Ts1w/c"JML?h999/ҧ=ioxX񖷼[o}#w+RE0swED6BҴ1=l'p*\њغTaՂ@S vIR?T4p0Sríx0<妛no++/__-oy}<>W~Wn喷m??zxp뭷yk^g=nxu_u~z.]o>eo|o׿Y??yM7+^=at_W\q_-r-QESldY*]l/-7e%MA#R 0@6cYfl6zOオ&!Q#l]oi/{__?%/y]ۿկ~UW]uuEW/}Koև뮻O|n_U{_?#? _e_'>|e1(>h/ "0 `Knj%𒗼|fj^^{W_'?x//R9u{__z뭯x+?C?ǯ+g~}???S7(> =""E8NdEI":i豟[;79|͓s{0vf}ڲlr9Yc9h9{TsBJԧ^~O~^zW]u<1wqxkEC=yo}[5z;s?s<я~b|>{~(o$4@ٻT<E@8zp4*hpw78f!"˲HSn؝؞4I2`Цn3ZW39{gy+2gfˮɟWggg_s5|#ᮺ[o5Z >?~>??z{s;ԣ,˧|ʧۣ(C5Py>΅tO2*RB--NaC 4l-˶/ɥ2N;=}M.GZ NNaC|voy[nƣ,(>DD tC(ȭ]ZooKuZ9A! 0;f!tcuOOHٞ\f8!^Ty*(BF 6eڗPBTBh'CfFA4U@͇ ǜ6³ "E1zH"]ݚGnh޺6o`0"VJǽC(T TiE^@bd Еh0\3d{n hlDJJf!c' c ,ۚ*(B#O=.Jm $ U.K\a9s*Y7if3`6ɲ]1Fk{wfLh#4"Tf֛Lcm'sNc"H^=)%TEQ0=ll˦d.B "OG* _3<hJXaZww3ƀ*#\0Hֱ0a#dZx8)ݮPQEQB8Dq\6%Y6t4n[9TnwDѵ2pCNʹ!"Ƨc؋31vfpu T@PQEQ!nSf]p)pf9IG斆-dCUU$i{KF,Kk̄l18:.j# $lN\`\G֢((.()Eֻ1 IDAT/MBBU[k3%Um,3z&GDc9cʾYH2у"v` E0֚4tQEQD&>+BPDf"<A&̲] BR2g,˲,MbΉ@n0"bٴu]I9MNRۥ;>K EQEq!H+nw>b,BlNÐD[^^BʖY!cTB<J]-stmNTX5((."AdA5@T8BT]D$tgJ IakA W>%#>Y6*XלVZEQEq…ԖHFrk00؏3 "#$ >Sv"#"tw; e:S0Sd;SUIRBEQEQ\T Ӎi"'>@rM.vPgʆ$GH*Ӯ$gط Nˌ3H΀03cEQEQ\ @@@BAafd,K~fdcOBU u]S?3Ky>"9aM^D[>JE>q«&TEQFiPU n}wgj=IFN 2PU yĴ@KPTf$(At0DDDRD$Ŭ苢(*a#ŐUU.aAd!B83=Z H"rD(Oݏ8TO@J EQEqQ#adp3P*Ms"!@v{R;$\Sa>d?OBA VUUPcLDȻ*(bxD(yAT{puDdOpq^GMf{!s^; pXϊQ~cjN((*rn/f\"9H"'."v BHU{E EvܧsleP &w"((.^O{kM%R r:jQdu';VjұF(~ۏ9z|y͜Hu)J oFfxqߏy#X=޾Gއ|\ L!5/qx6"5'TEQŅ**ƕDU`LA=1PRX1g Ax έmIG =?EQsBEQEQ\öW "@ bmx؊g<#̈́arl(s6X"eysSy3,/~,EQEqڇŴCt-MB]7ϔ ±_ÊrhFqXC:ac fAĬ-˒٬cD^8UM(()PH"T#50;YRH tQu!y4azyto[?7Vw((¦"0ѻ"*"_I%!Уwb_U=&[s^ʁ9UJ(()*m1l:BNDD"H#>;qng>}06?1pw{jss5Z~BEQEQ\9VZ Zoᡪn@DknA&m(fcM'hwjnz[v,h /UЀ3j8Xo_QEQaΙEUO@G8[kKЇ@bB9guR!lq'%}̀{4+{sU*(BxD Ps]7 sC q^0 @T%眤Mݓ2v:r1U5yXO**(B:N=sAEl]W4{OţIsXX֔8G9F"\193k7BwwXUJ(()!HSUUswPww7s5U%%Ѻz[٨zgc@LFzFLg#Jk]WU&{ESG96.%TEQšPM}_,O!{?ʴu]nʜhϢ?ihÎc>$""5YJ(( { ƒ"T֛B{sl%sШʘ4?̱}ltc-r +@1#~R(fCI"맼KljN(( !tIeC`9 9'.˂q2[`%?9]YɋZN -˒gFId"BJH{W!*(b(ѻ 2Ǡm!#"jk%@pHjݪṁȋ38q1"(!"-a$$%2ck}mEQEq1}nagdGfjC2"݃d56qYtMSPDE1ŬPQEQ$pILE2n͈0. (A!Oυ:B{)B 1FXں 7[zr6BE9ĈT\ fVJ(( a"ҚY8XiKқ CH 2"8B.]r1FDcPCr̰BUU%w5익!"$51]EQc2&6]D̋~Hc=%bod^JwT:UA쭃BBiT!{,lf$,C6<ܱ((.H6rVmM[k˲1u=&f{1=lm6ݥ57gk[l 6C$L4w F:Nxމ1,oރ//~_oOO'? OE+(>{8bp4B̄ȳ2]Or9`~lY֔FZDyJs>x0>w~竾꫾۾;?뮻ο۟ԧ?S?UaQEQPޗz8uuc97]uJ hf9-uA}Pɱv6{v2 ܙ03?|y~_Gvmyc;^ɢ(,ɐ j13Chc.22,V92|.{:1zњ܊?d|#Exӈȍ i=36UzPE_??;oJEQ[Os aJ?uMÈ13Ϟ1s0Z)l f3e֚*hS,I" pLiѨ8k)%z׻ڼ,)Oy+_}C7|s|+T(hA#Q((f:nC@%yc9[bG,rO "֖ޖ1gL9-NE6Bl#CTRn_<9W]uou]w-93{ӟ~ҥ'=I}cu+!yHEQ9SU=l]WNM:J'9͓vÚ3,΋U͓|(U꡽GQ}e/o//^׿ kQz7~7u]/| {o~}m뾿ۿ}o,(.#*9Lrf< q0Jg8I)qrT(J9ݻ5H[ ͂3|;!N‚v:&l"y׿#Mߔezի^W*oۿW|W XEQ|T fu]P}|[eY CGeY^(BǾqt!v2OǪұ3*)ܝD)_qzzZ/BQE1FDȴ/!B_[k$̝?rR'OPDͣià^D ԧ&{5^AqgJii'"JD0ǭ>KDnf;EJg9ժ箵jS^\kYYZ(yTlDD\iiof&C3.!HA>$FZ7erz89C5Ik)ArfUmF^GLii'lƶ_g "7[kUOj2tF̵nbU Ƭ,Rk:AT6:mf{׬<ڝ1%AD2=Ӂ= pτiy*IkM` 6 *TBny\>QUw^V!jwEf2Sγ]cP DAu\FD=~ro4 GG[<K4MB>193=v%DX11'06L yO:̬c13q/Z˚;"L?`"!)Fy׻ _i"Z\3#D`۸0=ݏ~6xrQ-Ց|m m}߶ jz89,G1Z }}o۟?++5!lo"_gϞx;ߐi~%,۶eqU.VMf,D\d1ݏ5o.cjww\dQūH όotkjl-?u^02wmn%{m~~:|<<|3y{3̗~շ47o{wW}>ꫯwi(j̓,5a"2LQ\6jdJ@UuD0'-<8W""UǕ,Xk#9"͑d 3 d͖'VBKG>~G?я~=i }y+SB̜*LADzuu6}Td"=}߶9g2VwOPKKhnuV[ _fVB{+ЇW{xضr|׻bM|ǒu^믺]%#\L8D!"$"+" Ӊ(=2PC;?LRlI]qgYA/4HZ Ff$ewM4o( 3تt5"afCg1~^+3l"|7/Gf>GGcLU\k̞~yP#RVۉ8VBM4M-yfR σIgn{1DF+iiDw۳JfBUXI]z&䕎zA 󰋇ҡ"r$2Y1U)AUIFDLnAu•gJii'CB`xD義d7f>#VffFs8].u^'Drs"@Dr). v孄iy yVNۃ3uTpk*eFU=>8$RҊ 7Tcm̈́YDp 1 Č~M4M<\LL l2UF]BrmӊVU&)3T1R<5FR"r"O˶##ATZKB dŦi IDATiF#`pgLfpj#Dk.w0@3Ġ@2"sNGUPU0V#,$5QwF4M4O R-浑"F [F5Yp%}gz mgLyy}DAնIJ$ z#U"b%d@4M4M|hm"NV˩}+6RQWZ+"hL[qgQ뉙֊}7匮ڦՃUx2:+Yk!cM4M< wG.CE(@&%ʈ[52M"'K*x%`EZִm)ZA/OD(,СiUAof(8iina[J *sdaCUH">k:p:7^MUuuw!&apoxնʬc1̬b#RfLݶ4M4͓DTydx&2 tg:KO/^xk@d:{u"40"UHD2 J "D Qo7jXI1 M4M@ )Ys18 sk&:Xuq3 NUTd2cii*!!V$AwUxD f0yF-N~(c0s3^:"KBfnwUJ8ܪ,#3')chDRU%YfJii' :(":6ٔ0KFchE#蘸Gcʘ[3fP̬$e6Ez0UڐyxH U#dP4M4OSBIpsM.RbaD@p@APb69 Z1@>眓EL!~&8FY0PSET)M[,m  vL7M4M$+0 $Ifֵ!JqGGvf?c @PR3CZlضZ1-۶jiJ|_}Q'i6K!hNXuˤ-3H4@H BrdhnJ*EN}CD¥JU/MniiHU48>03Rxs_̆J:1R[լHU53*1ƈF}PcqDD+iiD"#,"Q GFcfyHXUkYFL(3 µc{ɣYnlq1X%<#:Oiips4 7ڔu 3󦃀$=cq;K& `e΄Wt=^CVf2SkLsMps`QݶMD܊Akiid]*$dС fIaIk-yՑ|L?YDșDT'fpq"k-ن̮+<@НE23- 5M4M4I"mCX$3cιL!۶)( WPDOD* ZR6}XdS͓g| y_4M4O`2 źN;<@& Lel R!n#Y#G,CdzYuL ՟9xZˑLD dߎ5M4MD"")3z+DDLc &:ֺ^:eb%3/nEJ8.Vf``UÞ ("b`f_^tI82)S'NZ 5M4M$n,dK>#6Hrc]": `L&L,L逯i N>,dJ\L&`&"UN&Bߎ5M4M4Lo>8Fkis90Ϥ:ET$s9W4̔Msy}gHgfd6"1רňHDe1ô9g+ii"an΀۱ ɡz\DxUc]ÖP:6ưceD` Z7 pc*^,Eg]+]-B~zfgfFOiyѦ_fik-y1=fVaT^sY%0ED1fBDdfq2{紈 "Af`fji橈0.J,4t0IN\nӌTcedtm%dmۅ̜+T(J, 1c7I:?Oi0 "ܗn5mcLd0qkNsgL1>??Gic@Tgᷮ}˰LDϞ=+Oʆ 4lFD#,mwsO Ywߴ3TF9qGPݶF˿}{?~k_k14M4wJ@ f׿CM4MS܏-Z<_*;u+܈=bz 8fv bUHcy:fzBO}^k14MӼIbb9x2RX/ۮęH! eۅn L(H/K-Z4ƈ0 :XXk^W}kuz *=GKKԧ^CM4͛."L|TQԷ RES."q+w_kձ}|D5(*Ap*ˑȸ#VB J՟g&C/^h14MӼiqwd"Ls.a-Iq-Nf" ʪXG57Ri{⽻.wj"uc EK2 m K9?O_.'?}nzoi7Bto1FdxpxFdqQA5똱o }.O!"9uXDǽ߾*t\ ~6p^JAl~W~nji7n;͹?쪜y"b]6epu\Z8"BEWO%L.:& )4cfNj/1q?';;ꫯV&Y+iMHy*:ZPt+7er=--NEk-&"^3#gtGDDBlf 7:7 3XJ^^'(wwo}[/>W_}ߥi͈p =S"Uc&13/.JY$"ޙ"DzzlL%l1XD2  1`bO[k:gQ1UsNcg?Wۿ_?}z[7M4oN+3l e&#q43Q)AϞ=\xh2M|," z)fZ^.Dߖe"2.2Dk2}PW=>ŋ_??w]ߟi͌NaѡgC*23|ٟ er B`hD(D*0lVb(3χ5 `beVJ R.y6ݕ{&|?o[[_W/'M4͛] Zv-C @"2FyQݶ-3_y!:2}cTmjZ՘gUAfCDqs@Ve"r\{+o3Sz[S?So{۞?/~׾5M4 dQL@8V2FegEƦqmJO~sO|?3?+tP4M&~ :˪DurupqLG)yľLtUs><>FD0G*D>ƨ>xٚlU%?^!"JxM̌NV|#"F>Dt\j4M4-Y.XkmCs΃HR-,9t(Kt@VF"Dϟ?gtAUGHU,,}+Giy D$qӾ h""!Dlrww $23 趍ii2[>:<I۾_& CEȊ`>Q16Tq6u[lFsNG9 s@Zk۶:+SՐ眙h%4M4͓9 p^D:V7:j$:,ji%2Aw]bfC$o9L"Vk2#bf컻#ŵ\DUqVG:hQV'A76M4M4 Zje¢JTfo۶m69O^&_Joժ۽k|#gOjߧJ8Ȑ!"D`JKU%/}||ޱiiD{"2"=}샅3L2eZJ$faky)zcr!8{-f8FJնQAٳWT52Y$)Dֈd%h%4M4Ӕ7Z53yHTW1J,D̼^U:ns4# >DLJPRZ4tiӾcii̔ yK2Yff~^kU|&C}GrAD&03v/0mr*LqW 5M4M4Xݏl0HPyЄr1*h+39`RH僮mZՙD̝(˯]zKTͮ Nڶ-g,nЎiiD錳p^pe&"_)JdP8GM*?ZDDuWANDIvEeg3:DCD V5c gX)ii]j Y82<gz|j;V5D$Ddm[mMO 􇇇kvV#DsJ\[Zk;Oiir{4xf(zuwF @%ܬ=1fGɚzrQUw7:ؑAyb3ȸw@}\^zMwoP4M4Ö6[@EȾ ֭׹D#s$gtf "r7ϔ""as4cmq>\c 2[:(VBM4M< 7T1da'_ O4Zk!W۶:/ms֞ dF۶-O9 81 63!=dVQB14M4afa!X}Ȉ e L$a045@g~,*:P_REUOVBfVbת#:=-C$fU${IENDB`docs/reference/gtk/html/bloatpad-osx.png0000664000175000017500000006071413710700303020432 0ustar mclasenmclasenPNG  IHDRziCCPICC ProfilexڭYgPa9 9I9g0E DE#P1DDQ1 ( ۭU{?>uvuUWb %]L^>TS` D=m 4Z ߊ-$41qX"L'`1 DK';ppwbMȁpPSÓ8*08"0/6ƇLпg_.@2Lw$ dZ  I6n (G$[n@@6;;hIs) 5V&1>aOTP@:Y$'ߞq10/B-\e@n.zQŰHK_PSZo =$А8?!v ւ=9P !]!CB"P)#s0XB !BA7c @PH8XY\o=A;,!ϵr5O.`M$M{ :B"A B2!VsW8^"zUV`R*b!TLL0#Lt>S#A !B!5! )4- ,N Hh16q**ChqUt>tFIu N0<0 p8Ȁ&1X-8xCR! rJ`ZF8 g_Ɵoo M"X QLB)OG!,D><рH $& }Y $BR%Y|Hq\R5t4GZe`edepdaHg(g8paaQрэ11, g_Ęt"jژn1M1}'f-drO~B,lÜ\| HPvP(, ,,&,~,,,X,2Jngcf}ĺVvm ;]݂== CÌ#c'1NiN(3#\\\\i\u\W&qR61ǹϳ+kWwO?AS@O XX *('")(xGpIHXJ&t@Ђ0p^^yCH"}"o\Tj z(*(j-,zTtDtULZ],WU8x^E  , IIm7%T]V%WG峪jjC5f5Kj]jC?pإ1I<9%uP6v-:u5ut~SЋ;F_Z?TAQICaI#Q@icqs&&Q&M>*MMtͶ̭̋G,--j-^XY[X.ZiXeZ[+4,jnnGs8U6Kn6Uϝ.9_dtpw=ԭ{feOsJI/%m^ޑ]>D>K|ghl)2Uzk!?~+,l-~b7d> 2t. 2MAxU|QDuBYdm(hϘXRl@lw{\tx{4yZm2A7a_"ݎ~"IܚؕęDK,ragK<юFBcJcn>|Dɉɓ.'7k57/..}ovJ++ߟ_mX[i!cHbA^jhܱxB$I ÙLnl#lW9̹yZy?+ / 3xPOnHHIhFYKIMZW5\-A=]cfV!{)1f,,k Sm"l7s9b_v/HV%~2_q@|[z09x:;<,,\?-u䥨XؙBw|}$H=,+e.;4/C9|պd{l\y^qv/VbSɋ-:Bɹo\ķ[uv&X\ʽ|>~׫]>vc~p6q[tX?#>w#FSaGg|}{\KWҳ> N9?ve^GO_ԾV-}YvYw5mg`r!"H҉z]ncX^?@p"3I Ӕavl5e\%T9ϳ^z>ϐo׭[o  xx(hk`DHMGGH'(9ptA1 'O)~zVy %_vuz֣vt~_Mk7R16=:9TjzU0W˧%ޕ5ύ _gDM3G}$(Nn: Vg?A,! vIwQAܑ ryBлWۃMcLb]+<;?#0Li 1D')I} L > F/L8dmf3Ŗ"R̚ú=%Gg,7n !%kK|*RGv UjKQRҒ2d%i7(\PlSjU>ҥگ6Bͥ#l gH5b7F?<53k0/2Ve٭/:<84uO/io-[xk 1#+@Ms'2$HOOuHKejlK; lv*-=[f\>YQQ`́ԺP?7}h^hY8uER@Re׳Js'`d1G[?}Be2gzlV~p~néO_2ޯ[ml (3$C-+ QE|<F>.m^b̘>a`?*A`O(""2 $N`fadgeee!˓뙹K)J. X (l[998c\ &< |9UBЀNK*:. (n)!,"9.)}Dfl\|٦JZJʷT^.sijki_'oPgX$Ĵl²joed_pbU E̕M3ѫψ吝~aABC#֣ԣ#cދGi KIoRXRK22lٱ-|۝y[k y.y[,|2>ʁ:}ol$;$쵶J޴7uFv+|ӛo?smFͬ!a;#wge<~82^uB|TL,}u^ms G>̲rj: A=܅ D C 7/桝Nۃp!ubKx | Op${oHc $3F{~&-)7[v.6VGOl8]nsN r>&R@u3W旡m TRUJN8Q[C'GAkc{N3ycV6id67_+)[VvhßDFǥǯ%$g/ffδ#-{.k|ӂBҡ2w۫6T+>`XwPPG=} /O=q$WsةӔ3!g/q(^˹+<_w}c0!-wI=*p/o=>>ӵ/D^OjLN25|;Fe^;ʻ4>,|kl 9IldDI`d$r9³ O#ܹ53=0##c"'3GDcϭ??h&2lOm(*xJuRd;ϒGEɊЦoCyPtl߿IS7Q||d[yRC@@@@,A>@o 6d1Xr[gھ”M <˳֋ٝ,xXu޵\͡7OiBj }0}'O,KRW..` msq)eTvS7c?;QX <p3ZoQ_`TkY~.Uں*%QIAW8xG^^c(U9VVTjj45"Q J++HeN+_F?+cySB-!#^r]zN%xXռNO6 u,NC ;j?q{-QG[:#IWcUGМdiIя^rzl*qo-^>ݲ~,2^SVymӫl~?LP!~$o{}ϬGrdQq<;&;}[u?Wt ~A*??;'Zwɇ)n ^>)u)nS-PTٶeԝnqnO{QM}eB8G!vom2z^#R\yxxÓ(dX;I~c/~w m9Dz=(օ)~ʊ]y.NvYw5V)Rƞq#9r}rs_JÁ0``qQ֩[im Gmv) HEEM~{I>2 KÎPbM\8Y^|,V,I.rf>:Z^i:eeeG)=Ʌge7!0gr /%([ZP0 R^nc?$o?}_'+eN>2\8ƽR /i3t1G{)e( k/oJ|@p[9$&ᶰ|3١,I^.pW}urpؘX {PiWf>'K?{<-!pK5H+!H#3(ǔ|Q< :ZA;}ۄܼhy^>=qb$ZR?),¯4H99L"pH1z L{={{ŚCݝy,Ov1kJmb|t-wm7鼡"nԷgޕykN;]d8>MҵZ.!,#oFN7á҇nIٜ,KݡDx-[{)%ǯw/O>.^|, \tAǏ&7z4DZbs~ߎ;~ϒRixߜ쁗 `ccoL0$I3fΘi5ӊ,YgͦǻjBMa 땘t-ǜ%|` mo$^%9|դLTtڭ>Mμp_5)&.yuymOe2bnC|6M9߬{T)`B23|ߎ<=eL^:nM6Z9>Q=2LVN2I W3Uͨh-ȑt(ɲ7};;io)X )uYo1m4kks͛7޼PX`!E-^dȑQQQFzcAM_-NK[suˑjit65o~P:DFװ5tm_?W淉B+>\PẒt&壚71(*1^_n7{Ri[mξg(n۝S8~sX\l/q]yh1vu9D?aqwoؤ&d隐.oFgm<~ΝR&nx*եۙ7.?m `"%۶m,'d,Yd钥˖./)rŪ֬YCRsNY [Wx}.CMEghyx%u&ј}kַݬoi,mk4Xk;Y!igBu#w4xb ּ:Lv*Z]n*Yܸ4MJRRl$.%[{bؓK>|i1c"ȝ1gY&HM0xF``Dٳfgjk׮ݰa͛nݺqŋ'%%5 4 XUm<٤+/hQ3c/*tmnFrSߧ|יLVn̮1Z%I9Od%ӆؘ̜̤XJMr&fj:vOKJOKJ()r3 Gѭ&gȥR+'K5ڔKk1ҝ˖.[j fYͲ^dwرrJcbUp<]揸LwzkDq$$%%988̛7_^|d֯[i&rg $3hcָ}JzAC$G >սU/p} piz0p9TzypQ=}uJy7ǿeQo|ڿÈ 3^{nYFØkxW VU1%k^F(.#~Vx'ӌlzAX9 (+ +ÍQ ot o̍7FM+s'_T2T˜cF xw}ჱ0LE0F;3 ҙ3g\\\\\]]]UUůbR1 bAϙDΜ,33!4Ps[1Hnkg*#)iՕ#VBZCQϠʲrJ=XP[[[P__Шݻ477蹯B V~mǴ*~"_!//ι\/Ц )***%xəlP`T PCSs!y{A_=J{`Ѝ+TQ_`u.HN)EyD9QBeP-ml!I,IEtO)//OxWx''E *x c hwz-((`@MO݀"xgSxDYGDx_Aeqtq485 UUuu%QgVt C9fAs!=EWa*b1 љ+ 3B  OpnIBBnn.-kLLԩ!`~_}CtyD#w Dw˼Ȋlh*D}6_TBvWAċXE5Uקx3Ge0WA\O'BBhD|R@J]qG{ӨF%q*qiޝ>_-Zpس"sWgݾ}릭k?rzpl,(hh7 jt蕗sD?N%S[2|Qx]\u"}A$N#ʐLT[\E&T!X]{/6ɻd']"8x_藩>>|  "WQߎBDZ ey4+ 2i$n O ..{}O?NbiweM pv4"q%/6}/ EM to!KOO nmmmj3ѥD>BCCѹp.$s?WE W 9U$VN_?;N.s͘7o>lE4%gfÇ8zOJJJMMnCg+IT!V ^NV&iz /E2>yK7n\Sķ,$!J%Ħ8)TQ0.} Md+/|[|/nw.Q]x?EֿبV<B~E<*>tT3]gAvLWQϑLBV~w b/Λ7D@&{zfEPebRΝ[E QI~rƉv?iB>@ o96];b/H}psNOj:;w?ˮ%ܳM'3OZ㥓%)$(<;hՙ%Uq~rct fOJ>r~\F{*k-DsOUa$ɄǑxͣ5׉NEfer\vIb:cբiܖ'Rp&'SI#,$!#B R}!HW7RݷEa__,W_>/ OPQ7##I*Q1i}KNPÙp>*9!(#&~ɠ۩Knpe|3VT Z<կ\? |W%u㔼;wGZ> oT0cnwu=?s{bccUHǃ6|Z.\iT3I%pm'uN=jx=j0;"hʯ"ElBnD>ݵΜxND\z+q'Cޚ4]iчb?<LJ1Q  vxp1~ܻlOu1,ƤɂGW_b_?.Ն3QS9Պ#^A=cĘI =SeqP.u1x By&] ' 9ו ,@C<" F 3bDU$:=wީLj z1'qH>JM`pczm躶-[Z^E¾K榓6NY> |t*?EIZۦS>&4]ԅdv5V\±ovi& $ij9[ӍʱI1lNʍV)ӅGGb}׿˝“n;}9n_Qv}svjj/)r{\0ɴ߫363GcQ.7hxjD̑O#5!α>S(Hf4 ͵dP|* EZu')Nf\;'Ǽǣͷ~|ɣ/>Z0O'f}1cxBx#{rEIM~oՙ3eڨ > SNO<9i@dB>څ|<>@'*Px| !^;-'(iH>.q ɶ }+-9嶈s*r;!!^ LO;>f̘Cy%yY8a-%y-<.>1=wߵILlک8';0j̘ɻͣ5ڬgN fuhbgk2xxuVE8r߲k:KGƸeHk[cjCaECmee8!NFd{ybueС槨 e&BttbbkGI9W;iي)^H@dhM6˧.~2|ܸq?44Z^#""Bz#IK!yO_,wNѧh':v%]%G:>`>;Qc/\xqĔ'?g".?g"΅wJMpRQh(@ \b)zSAw^ ;?j:"^տC1};t (ˍ=?3W.>nj%iVlc˅ 4/s/mKr/>h..aa>]ؿz /,sǣȝ{z{_Pzƈ_,87#.ZAMp|)"|f>'y51ss󩗂)!{:GpViuKoh.4<"steb"#Qݹ.Q!׳v.C:E:q9o|KhuտiT`XVTa[ r<')EB?| d fA--PzD|X|WQߑx}؞Z =pwNEUUT 0]=V69VUxퟻɭS'K\t 8"˖5>x>x wꗪL3x5<ֵKCZ5fl->Qu“\ÑE~>nAAA4yyyeC.壓壽8iCi.hjYv-F4l%C,56HA =ކgv̐,)s; U{φD%Cȇ2#b C o#oZ9CuIs{b~s! V@a b:w3oJ]WLV) o>/242'2-BA2^)^4N^w~vT k9PpDDL\J_ו-3ieeP_MdsbyiaڍrU#e~|E`oۯ(7ݽmK)9xxΗO͖q 9rmp%Kd[O,40p81EQE=zhZ-UeI_CBB՟(iFkN&y~iW!..\;<9оA~N|.H X]$yO*ӯUʟ77 .`0 }Y꘮ 0 rn{%#'Sh>ni 1qRl;h .B>{d%%/*,i^=gpǖ&Y%2^h);~OCKJMOOJJ !z;$(7x/L=xN#^9%wi gWW'Šx;oW,$$ƍP%;=b3bBݏ-7&0,,0$&3}:,78fGm.E~c y!Q}#Ǎwl-#65&<$"eRw֦;ț6^A-6ǍgWCDlbbXl|,qDF}W9%ErIDQ讨B \Vvvvtg o&XS gAԿ#DD~<*~JFD玹gͲ5{!ZYX*.RLȔ$ΙMefoa,@$$ A')*v yocXNia,KZz3[IsQ'2Z}e>f;9>f}Gz|Ps|8;;!u&*}(:qSNjp&F}!F8ϑ 7E (TVanB&68#s/()ʖ?UR+_7Bnedfggg -.~ '-:,3lKJUX\(Ó r(9ɢMqyŅY9tqʊW|Qu/VoJ%f*NMXʅJ(3 S4Os\Lo5 jucs Lù &Ňy D-nHbhʓB8F< v"ܠ!ekQKw\ϵ3JA|o'M HZx_ߠ D1J(6qJڑ^i/sV"ޅ^,#>+ ?t)V1 *߲l:تeQO2˗WKZXK,l2H/^Li.\(Qڼys̙5k֔)Sϑo<:zOg ,?B1pwGIݻ2CI!i0w3u2u]^E=GE2)/248wN'+2W * @@"GQϦ8⢞ ꟏? BU|MEXDyU6wJxA$Pox8ᣧCﶴiږ{ˏ5TVFEE8b"?ENMOu1{'<i僇#ABGiA545q΀ x*ov,,wޥQF 6?ѩP7@]:|@> Iɇ4~/a_*{. (= @>@>|@> ||@>@>x"h+R%;PAy̵W@>ɇ&LZlPK8)I&MϢ3%_ukj>S'}Sl | R."KY;JZkٻ|O%jqY\15-#>!ُbz!@>^0t Cj;,ifmr1!M9HTNѡQ#ȉ3B>x6ђg"C-Ӄ(֤L{8u˧w݌OvhnZj\D(X ǿxݚCOA>([ӈ1*qwutÒF+f-8t|P##乇GlB{{k]-w:*|@ 0/"XW:p#6g-h5J9Kf6W=-44Ӵ]G|j_p>הc {и+b<2lKJ>)? yBpD~_#p]#KlM,vMɦM붋z7Gy]>T}:&|vDl\N}^dnʏLPq1B)`c ?`b"?DC/-e5B&(D& 2-DQo3f~YΫ&mcN&Y" e;'>+8t݉P,ɏA}bTV>ۛ|td gU#mJTJ1oL vS>.1rVCW9_b3÷xS)@> Joe2#A#P%;6Ŝ=NHstGhҐmF.\],yinAB(H֝|ereC0tԑB_\V/ @> llFx?1t_Z~I0Nie% xSQ A7ɇn,UܠU>LNxuIy'9Գ/}U&r-+n+9+)ܚxUlx ʧi)@> l* =kd%kfOZ<)KF6ϬsNA ,usWuF^U&KwR;%Gd~tb<ݏabi4|&e}⪃Yת9K岛|TnLC/im"zlzZ2eKӀRMCjrD嶋|KHkh28&UrKw@>𫶿FQ?5+ǯmu_a!|@> |@> ||@> |@>~i(+++--e }- (= @>@>|@> ||@>@>x 4 MOǫg@>^(Zh:DPMr4!qлJq̵VVKh9Cvl͒IVE!x)gB"VeĿ򡭌ڲX|![ 9b$ 1zm`=C>G9ˡT.rSk;K,"Ʉo@+Zj$.$_#Gmg@>^h/2YhOO7앦]m/8ijg8YS.fj15_5?Y|R[`ϳ&!' p3vm:TO3 D>%sYko?]򵏴fz"Ib!)קemk&SY[;h_6n֋~3 D>tK u#Y,uy(r2p>M;x-mGb3 J>/1]] $M^>G` P`tcd3 .3B4]QӑGqS8AUsSV/Ax^IIZ ?T*[nAyVw$ O3 {>c)'49&KH :|tDd,C- d>%slݲ:߀"f~5)WZ&;G5~f]S Ǡ n}~6lݮg>pQq5G:'owݶ_ӽ~3 ]ʒʬk3t_nd́Jy654HT/TuYQ\\3AڬUC-W?E~F=C>bx|{ (--| 6FA|<-jB>4Mee%Cq0@ MMNMO@u xbA(ڄ86.gPW GCCZ>h 515Z>h|@>|455|TUUEGG677cy̓:|7EEEAAA48jVj\jbjhjnjtjz 3P@> OX>v|ğ vsssrr~?x% .;w̙3vvvO>9Qiɨ)AYqsA݃ | OwCǽ{?nj&j,vlZa@> OW>?!gA J 4LXdv|0b'?/<V0TuP3QcQq - =dz?YAx-VAӃҳE9l5+5| gV5PCEs 5Z;7\w[`YG_V0%D Pk| g "D]i%Dq rkgCFD-"Eh2u;C(DS @> ϝt+g;B;GOQ[?=Ѡq@> <Ua)qȇ|6CK @>~@> |@>| @> |@>|@>| @> |@>| |@>| @> |@>| @> |@>|@>|  @> |@>|| @> |@>| @>| @> |@>|  @> |@>|| @> @> |@>| @> |@>| @> |@>|@>|  @> |@>|| @> |@>| @>| O6ueO1IENDB`docs/reference/gtk/html/bloatpad-xfce.png0000664000175000017500000015101713710700303020543 0ustar mclasenmclasenPNG  IHDR 8yisRGB pHYs  tIME #l IDATx]wֽzf6l^`iQ$P3猢" (IPD%#9%]43]gQEõCu؞{.; ^^ Kq`yް094MnD/ycǣ/ƹB4YY۰~Q͹5.!'Ԫ]'zun߷a'NqULLL5ʖ+z$Io?/o߾}+W,]V:u1}M4Γm\Xreeggطo-[PBE08=w-7*To$ M4gƍkծx&I>o .Y\r~ԆZb*h7^oitRR#5Ѹh$rM _~&Q^1"y[V]E@Do A$~DtNXn`^}ƽpΏ;Vvax 7 xcG2ƈ(r*kq(W?ORh\4Dٜe"23.Z2:벍9P5'=-xdd= {xhU$'rܑܳFdȘi\о}eָ:s%F8A]%{ö:t$Droz oEn|#uR"""5`k# cGojZ~+5|8كlˮq?M,2bޓ~<Ĥ?xIξ<dV"I5¼F+p)No;b|3aQFFFCrhCm544.i%)#ŊzYfr '~d_u#3&&&=lr8 <r!N~_Iҿ$m;t۹{WJJJS32Nf<o濚$-\ҥ\R{.]ѣGϞ=0s6m<_֩SK,y,Yg +>/ZnjBӷ{v5ܵmkɱXxVv?7m[[|>S݇ 1kc}s樊˰6Jմ^n(&`ޫ[~5 .f\\j cǎMr۷ZժӷzǏoּE2e۶k}v1ѢEwiM5a„/3=z :T~p}54~*W3EQjϤ$1/yXE;79[lƖa5 O27-dȑk׎i޼-[cǎs=oj׮v/]t̘1ƍ 9"?3xl<?аNqڴ̟u!C>< Yf`sl"fU+W̛77<,쭷;vhzנ7n4g9gmXaEcƎ8p֭'?dV-W,_7_uFֱc˗ŋ?~C>|̙|Ɍ_9~x+zd0S;WzX:M*tzkF. gn!m*yz>z#_KF\_ջ Ǿr>zQZO76lذUVq7oܨQu /|g˗/߰aC{~衇nݺr}7޸y~ajGxcǎr#G~Ǜ7onР3߾;nk֩S'55uС^7))iРAC ,t9"0vÇ枕SZ0~-[nݺ=SK,Wܯ_/]tҥk׮}Oy^CI=u:7tvҏCD2226mxWy}{c͚5z rK5kǟrO?Udɒ%K>Tǟq~F Zl2`@1sڴ[nUxʽꫳg)~TRJTA.o4kڴD/z^>333O:UJ/O?%Ĥ!~أjoGkM4TR߾}qZ{ <G ߑFG&G?9ҡ>u MtקUM۸ySj)%SzaQQg$I hٲeRz}ĉ~]wu%Kݻ)S:|M߾}۴iSdɏ>(dsm666B o֟I)))iii#GLwmѢE*UzI&q{kTR}:uTo&xtjժGZ:u6oޜ6ٜix7n,?Qɓ6l|-|^v ,]Zj;ԩSGUV}32?Fϗ.]t={=z߃3%uƌkcRK;sFx7U FW]uANaCp:do'OX!5RwWNI;&?!m+͚6-p;O8qMN]wN:=^\w4Ob&2'he3"6_p"`\<Yᶐ ;h@KmD8dj_ؑoHN'''\YLLy >|O[xxғ?C6;]w>hiz^=Xjuq $I'33{W N<nNߟǁP$?j׮%@Z5t1F?zW_}mڵ"XrzEnZak֬!䮷m&iܹ裏ϛ?^2ebL8!W]հk8raþJLL1cĉeG믿lR| >}^!-[sτ ?4/Vꪆ8C'$0x3sl҆ 0cǮYZĹM_j՘1c{}*+vUJ: 55u!3y6mnXbÇ-MY!%KXj^bEZ'm떧wJV|=hO=c>K]+]OӦk~ W8!!ȑ#/8s C<^4<غdfrĚ̃PI*LRV (#d fIJҲ-m% njٴIw$U];;dӦݟ~uvW7i޹kGErZgtuwZI{$qGI޽XbRbrJR)SE'$&'&H%l dom{}m{22NYZjժ_|y/Yt3g>}J(z*Tرc]s5_~Ç?3?oٳs!!:$WZ%/opQիWOJJǍ~[ҡCœ9[jUV-sJ,l21oKK,yއs41-Wja>o 'N԰aòe9ʕW bŊ+V |_3e-_⥗{;T#>~U[>8p?[d{ߺO>ng=|蠚-Ѓs=uԚ5kؾ}A?8|~{o u|!; d4φ:7$fE n#Wu(ce *T(\:dQRb u듒thִɄ.Y4Qa! 6Z6<6q$4Im&n-S.jZjAD.,q,=ݿg9xs YZxLll,".]{~~ԩӧd6#<ҧOYfgff\S5j4id" &4jtuqqqoN߾}ΐu7|s^}1c޽˖-{~͚5u۷o߾}C. $I/ eVLdʔ9禉4gdQu~0rͦǨ|5l+{8;nݺ=vRZcb={ǝwfddnЫo٪ ХK^?_%{&MT4}+}۷/--^gSݻxنW5*SL]h 1:aw!BBDfeo[߶) ?p`IOK5ә9vʖuV&6mn5jL劕`Ԙ7i-GGGFu\x7l]𯿉_6Eo_^"!DI <8?O?\htƏ>LJnOk׍ 7%''{]oO?f_sii^s豧nhgzx"6|s; ,k\t̟?K92~Ǟxw{;㶟}&0_z3gz{{k.UTٿԩ?^zԨ.iiU|K>cNcWLゔ$N;`z _s@ڭbF#*4Y Xfv V޶.g1Yy%߱Uaaa^24^d۔r da* JtX>mUFɷ3,M Z.me*NP^,WK^=z>#dujoDʣ٘m"0#iϚ"T1Aa15k›j۵>10X}C,Qq lMζ=?Фr5_b޸$O P=ݚߧr _jx5t@ߐco?fa6"KFиIVI(Y8bDxxxaF1VKZdzw_vv{ bddYlNѸ@0`i;;}ꔡ- 4$0QQgXDllh׾OH 2 sDI?|8L&gDz8q0^~%}4.Dv횄׫#02 iÆ\w}b`ZxlGC\PZlY5bξHC 38gؿǎ-AKHHlҼy {ז-[333}qUlllմ%DC$aaa^OG5./`iy`@+Cy#""8Wxf  S̵}oK1q(%w)1@`#X=1IPAlI҅m kT##|v$GG 2%v IDATyq`0zD)2=aiXs(ى 'R CD єX = AC>_LLLd}E444444.2LNCv?333Ok@1 mЦ%dI&kųD#Ndl;;nd!Drkh0 )f 2ĀI6E6sR "`6AT<BduDΠ(GwV~s\@@:%mo_GB<]D[IACbcizׂ8;u:k_ EbDb PɈ2"qKbL76Aj VosW[BDz2}b!Pt 91"'DsDt?"$9r' LNMRB- ԩ9bnBo1)[ȱ_$ݒ+5ƃ$Ehfh  !(8ZQ.ZQ*HI@r4}ʈcx fPn ÷:%5@EȺDQ,n\%8fyLLLdN}*3s_;u+d#"{CɖPYIdPPu,>&`P!"NHc`NJ`s & BVQacQ5BKֲC{(m2'&E -%?0q9DImL8n^ɝ {U%O.UAGCBBse?<ɦ2pmQHDtkqLdZRj7!'o{`+^'3pYiV[%KakR"!39]n"%#~hgul&S ݩKH )51lJ3Lir"S$?].ddn}t U*w;<}˫Dps^  //Gȫ!^y/\?=/IhGC!REj3" 9IR4,2jNˮ$.aƩk.p$ŢI7'vwJ 1 (@; H"\3˘Œ .j MfBd:<`xS*tԭF]Oj*afHg>fJb<)ݾZ5R7l #"a{jh\6(QQs /'G<ް_dE+\ױ~8S9}kB\@jJ+Ot}ISlRS%{2M7 #m$}DrH4B-a)Mn}%{Lc"341NM,HC5FB297ܰT%rz u 6R EB7`% 4`,HWukלz#맕M8u:K]yfdJ,Tp1~2+ۺcG=oLF{Gj2)s5ьl[8>xFNhuZIҸQ,Ra/Rs9Ѩτ̼Eo"~]sEnh'Dĸdx.)/lLdӦXo% HP*_iI!p.*yh]oIPRNc!#NĀ9V`V"RokJb ;)p>Morrb<Ź/J?zϽQFXֻyo f& HqȘa0Ã44CҸPP!bj P,::Jo br++_|PXDYeOAФsGL9T,xD|aaa\]7%Q0+`Č Qx[$NB$98s+GrVռDU6'0cLUmF! 9' `=)=$ 7k;?ll)VI%p, !O 222::^ Is^7:::""BK54444I-ɪr^aWt!^s$7 AP Ch%כiQ&a"a>v_]8UDBABv%CD Q,l-J3LR+PIJ!RxxyoFDDx^n;=VMvD7g+Ha7!;n4I!c(;IGn ´ f0<*K"ʭ$; VlQbRa.q` &trurT/- +_n~e("9/la~Mv;zU#:K a4| A;vw6tz" م\-d:@밭:N! QN=UerݹqWD.!ZPHZR;rb#x0 ʧ]tTq5~OƘw~h?Q@ڤ @RNdݤҌ@E*vV2RJH9 ` @14%SE%d"e!ZEYʗu*fDV9]j=~]g & An;rR'$UwQ$%MmuQ 92H;ǿ 7ڤ ϒTF$UJG07Uj:XPu "dH#us&"4`bpuk/^(? Av2iS <;1ȯ?Nm;t*x3a߾/a_|Og{{..VTTL( + ձ3EI$r_(Ȳ c-@aȈ8h2$Er6=!c9sUĉ<'8t]f1'2d"J=[Q2ϗ-Wu˝{e)ԏ'L٣ǘq[7yS yE{Ε$/S'qw\Tɚ52sV?NVjTd?ΐ L@mIS% +")/n""b)a<9}\r4p^R,[ò쯥b`:n5 2d@ lG!O.",hgVŚ;6vN8.x{^?%86;8N:`&|oKkbK.Ml&t7ܡEJXALOӭԩ ̵ֿ67uhٶ=~Vn+'rrr };v4ÜO?r=]{Í=Įݻ<Oo}|Oj:v?][N49 qOt$waf05f}?λ e>>3gݻw?Ezȏ|q_IMʝF 05444Jx[gl$+iϠ;Rlha+BʣVX#pkC[AˏOqlI)gdơQ$(@(-rHz"c0!~z 1WRp&L|nM|4>ji~cbMMq@D59 A(Y 1s7#RŻO={yqӦ 6lܔ` 2~MӯM_;**j>jG2m\aƍ6]L 0>6vm [?;@ڱSkT6;uYEB|“>RZz">/9)i^ݺctd{qI,gȿyaXa_sDDN$C]6c}׶xokZ4ֵ*|~DNt3}ŗ ݺv]bm]eeeM4A[oͷO?Zh|/F"ޯn0xM'Of?ppddo߾#dojA9bC>'}siӺcRSKuA̯Y7ntU0loGYzQx1HR "ɓ9Wyh +!7A6 qڊ9iVھ F]oE;CF*Qه"xP%$n vC A|cyEoMTj`(e$hI!T&~1.$C*H;$WILt)?.l 5=?ڈWB$9S/ $[:khh\1cϿ~ f0 7y1hXt++ȱ riv*R̫ fx}^d=יxl f&j B&&e,*VcH6 <~$/ĉ[ 3,Rdj&Ͷt4&O1h86RTTX(iFpl]@`6)+Ⱥ}ezи83y+[{T`2u|$y'﹈(O'V7YCCgIǬftENA""Y16"vH #tt$8Ic `2H$LJȢ@(ٙK倓m^j6tulNd;:E'OJF< $Lf ` Ieɐ$QkB=\G0 pwkaIέrڒƕ0sW2ڽ4F͉c D>7֦(V庤t;#"!Pq +&*6CN_Bd !3@>~d!#pl(QiLHFVDP@6r%QYm!vj[atkpH pD T0544pArnZozYv3V&+ec\&u\ I$FQIC̢0c$GdLXU&hB%p;d=-R8p8ٙ'Y`J i_ KI** \ t~$I H!!1&ޜ*D7͓444@r2fpl$Ex N%HIE3D&Aţq̠]pVHIgʜm5#?Ww d@@X N(:Y2*vsVN$v4S(-XM5jڵK4S ҅릡qYc'8D08@.GF"EYf22BD JVSNCb %(H%ƌv.'"tY}Udݜd8'?BhW6%t%T6RZ/ dB<{) "T2㦡q(Iz #6m("h@0rUl٩hE ;9I]nl#$aDn+ 8TW<ΟB!p/-)n9U|Fx~+s2-S"xHo#INfR#nZ=и򈒭r"7M;- x;^u#^RwHRpBH[-蘒CLR K *ꏢqNAƘsV9ؙS}1**+w]|̮#RR&J߂sq$TXH8c1!}hFC%s0ĥ$$$$yP@*abd1'c|2K(,{S$ dё cH^@;WIJWjg<C=0ӤGo#IVjĥQKTiR?ʄ>MV:5*n}w vB$8 Ƚ8YܮCd3IUH))5dS":ިPm@ञA:'HmJ죕fJGaT쳸JRF|ِ7܅s'Nl9=_|INĉkW,_+V˯S8wCVT&?LpP4+иrAT$lF]S$#GhYc[OR RcUKHZKђOlF1Z(DlCID!پ.'g>GpVGGL"Y$CȔ.˩xLcխ]{ނcFf O<)>Ι;^qqq;{]{M׮Yc]}/>wǹ[X@M444h! m-dMa }n7!)Ϡk!dq'F0 t\&Ycs4Mx25e+eK62]&pKR IS@Ĭ`L{)K ܼd0'v}޳Æ7o@eqNILܵC[m;ubzu׭L֩CUۨ?wއ}u7ء  nն},$39G5qoۑ8xۂ+ҍPTڑk0#Νv$OXaJTNN \u'`=TX^75fŋߍ~dǟ͚4Yz >r`͛6QEM?~֬]״I׮#۷︶E}Mӫ:ri{̣w?^q/>.b%8ﱏˊW~:/y绞gqw=x绞gx׻)ٳgӦMO;m֭ 764_;nmJ~2!)HB2"H`G_שwq0sGDy{p!4 RApf-l=>bafa$DɰYR.E\NoՈq =3>nFR sNQKs|.|Q4~?/Mv O? 8{߻q㦇~C=ycS_7lh?+?u#@~;v}7/)3 ѹseulCJ$dg/XukHw6PTB2mذq T09Øpo-X̵}K]x59Nj< 43_6irfHK9$JӊA-|&-.|aٮjw\}N:g߳[3O?O'o]uկڋ{C^']~k'aZUtUMfT=YgeK)hM#QDD0}Z+s#%3֣KIeZ+/+3u^Y&w>k?Z{ۉ؇GySE`]E8, "u^dEwoO}J\<ߗ "?]wt}v#IKK<_xN9__K O۟s? rs/zmC7mz#>|;}k:G?񃞬}}wVpk2R"H,IƇMHM>XN}J4MHU !ll#pмFT'`kQw|iY *=|ε &q,L|Is,Џ2 _?;GifEC)h E%;1^Wode6g喇X=*|+DZi6[SBSZ:nj84ZXz7dٳ1 mZЭlN?&QC GK1<1|ҔO|t2RL$0 3Zj2BD"Ylݪ`$$im"aAn4#yP[DZ+[M[Q\fIk.ўv<`!%IzӭfY@z퉯$9& O4H$u%J% FD@ԴstRH80ϫ{7d 'V B`Q@\H@MKsE0۱'r{ P}&JQɊP2# n/Fk~-EZS3e"ID"X746L0 KL ݸQCi4y ^ "jHqm ~etCԯQ-=Xj[1 DJRHf' ,B}b&G 0JhKKB`}wqgN$IR"H$H|4TJ/ tzo FH"Fym1RE$ޣ%xXܩhmo[ D'z}4Hb"JifTH/CF -u-+CͽJ*dX]Y1WVD"H$ X+V̰P.]s"$((@n3wAMa TGP!B$ s<+iWZsN!a 5-}=1,\D]Qܱԅ7(BoJ$%D"J4mɋP NNH;auR@@A"n `_C5`DtDf6'6J.y]ܺ;Z|6ܔT3a!LV$IJ$DbP˄Fg|ΌgX3T+ZG\f|#`k9AyM(y/DE4,Wq](a0~Nΐ,9E+XӋ}pID"XO%ލQ  7YmBfc"]o0c. qVgpN8oG* F/]LjII`+q RBܒD(ضTPK_Xi$D"H$ ð!B$e >^=SGg6v4Bmy ocBܶF,Ҫ0l߾=߄D"8 % !nQfm/ިhr 8d/R) RcD|4"*Sp,jȎicP*}q)IuCg?.#H$ GR;iPÝ~l @B"Rffӆ HHDX(AʄD"B} z\"ͫ?ӆ0*ChoХDBfК յ!:U+Z*ID"HDtDA>vKJH ɈJۣGD)Sei"4hD}~YU3 sIku+kr]ZfNu0nCHO}vk>v_;BY+t-u7ovM;tD"H|>?`?RԘP@knȃe[}h:"HTk׆# a[G972+5; z 4),}d'!q! -k-Z AW'sr:]En 3>IB Sgˮ_MԺDx~c_r^o_D"H:zG[=$3=,*%\y u8 )KDTPڂ=!Zszk\O(Q* DvXBNa)Em!KJ"P.4{As#ts͑7忻?괣Ϲ~fg0gly=r#} 7^kU`V?  *+%˦#Ysa]x:O䳷qͅqԕE;WUSq?z]novH$[L8Rim؇S#VںOBQH[@[oJ[taf#Ov C|. !1WպJ-e*H(´E[Pz7[ݳbѓ*aoܾ-wpɎ}[]?rQ/y7^mSn|ꃷ}k/˯MO=w EM'mڶ㛷,ܵ.<5_7|my.zNXskk[SD"4MJ2a!$"3 OHcގ@6g.r;|XǛuX u2t$IjF[׵NQ$=kҟV -~- zM/x]7\oGvt;~M]7vu?v E^S˧{^N|3_},wo\N D"vd 4L!R)DԞ$"#E2w_l{OeF]jt?^Yf絒tZEBp&`(ߪۑ/qgl9fsy OGm_ӷ/wQ[o/ߏm^6__yGo(;aS'lڭKg4~cp 2[cKo3y᮵N_?JV}k=}Ms{iwt$NϞD"qגmw@j.N|=Np:#eD}tG*hmO밑0P-c&L%CdW~XP'!4#Φ~O}."knX?. o}c>|_ٵmT7=[tuw2{ocް֞͟S{nSgZt1vO{NX 3P+m8XlI$;$H;nnRm$0R`=~TtX2LiBd2p0%i`Qp9BknjjiF3 ZM }kIxƖqHƗO$ ",λJؤQ˨cH@HYQE Ʌ$f6 B9MSA" rOeAkS2$-;:3vwA+CW_}v{oLR"H U$$. kH& >"@2t/UzSm-@نzKBb&fZ##ъn9yS7:EY<`H4  D`  2rHcA±ZED$X^^>wg= Wޔ<)H$d(e-k&4 u4>䢓UAHJ n@[s 6RI:Pʮyu0hJv%~rU}ׅY.el cJXDXD';[kNtq[^^^^^ޱcE]ۿS{H$;TIBu^~qAD},䉉>w#b{[=R>AvZh<|﶑mZGxPHf eb iǯy]^udGk?2&&l6ݒ$KKK]v ^SwGD"3/߲&6OQ wIGH|-Ř#hc>kfxY\-!o-FZ9D+sh0[ZRbg3xfIi,--5=SK^=m ID"qQ&tu<@,xġPӱd fF6VAz4%3ϗ#RڕCd,*NB6.>WJ[SXEBKFoB.cn]j'MtH1F>/}o>.K$OJ$;MRMJaT&lB J8RdJ!%RDtuy>a2)\Pt5<$aRsqޜyqdOkjuf[}C/p$l!oqALj?~#y^w>=#6?ol"HΔ*3Դ=vXI`I^K3P5;RiEKHD|yyYƅ%Qc&3Cmu 0:#,\ t8V K] M[I8m;HL2IM^=yyLJ$c!!fA7 Tj@ 0 !y ➂-Lj:P):b)R@0cgђ֔<"$mIZQ<;Ep @ 'nz9y%%I:KKKַlv|#1]J$kD>׭gU|\ }-}ɐNd1z8v-TU(׉LQ/[ndbͮPZ)w/vXzCJ&-]Ul{`2SS!vHtN8o7w]iڰaI'4ϓ$%3; 1MF#-/A4P҆8EoL(YjNnfƍBKa_lFrv$5> #ŀmT&8Howۮ]Ozᦛn]=>Olٲ]zk_7nO\uU'tW_|\iӦ{^D"q sA  B.jS%)™F4 Yo ֲf׮ĝ"\+ !C=93MpղŐi.>Oر[n>x/Og>gϞ|DNj>6*҅( kl+@dd?j>&gY Uk+R+W2ʚQ= TFKvlir8: FCEX,MI]|ӟw׮]W^y}ٓ9ID"qgPS>X,y g3(mZ΅y(\:Z\¬ !H@%Ұ^H+1['@rci٬$$4NR `L$Pݲe˹瞻}#<ꫯ7x[H$wZ|FWlk!Ą(tY 6oE&cZrV H큤f[tu%%Q-QR &8 a㖱bD؈K0m̵+1|;Mnhi8=zgii鵯}Cf7*H$9R;}p6vm8!N ˟"M[Ơ8JJDJ"⋒-Dx]t, %%UhyR4 XW%f wMoYC>:Foڴq{M7݄GuԆ ]J$;KU^V7fgf o!j[D_F6U'!f$b[,B)H8Nn +9l"‚\Q"x$I_7mڴiӦ|sDNctkHWGV,Sϑ7t7e#5zوپ80-ja@mL(a!lÆZveB[BXZAoۤfBu sܖH$zxE ^a-2٧f&*j3!$ 6U7:h5rRM-@z'4&pfY!0 "`BHzi{i*"%PzO-[|Db$n>T}ɬDd%faD8;H @rF&b*e2a B} "V9B ,@4b!jT "Bi6k(pCn,£C& ԻC$yߓD"H, cfڥZА6r;`D` 1.֣ҭP22245ЂfE"DD*T2M5 ZXdy^zk$J 1)I})f:y8\cx\1oq۷^cy_~wrť4d_'nsg?{9z '4g*/[nW:ٺm<#w>H$nGY=Juq]3 ʕ ZE+4q>֧M]UHMFXJ;` >BLdǐLи4l'H-ɉETFy M.kF%tR ~ #6)WN$t{;AVvӟ<㍯u3}kͿ#w>-[yď> ~mG>я:nYH$ߍd14l9cFA`:gn s^ڛ@lnhܰĖ@ T %DA2$dfa- dn$12//*S=;YCmeo1PR,) ]ͲS"L?yի~sOm۶osOg?^eBQ|}a?v㪫}s)qٴ}?졠m=z[~y_on)sN=Ip'>'}?o:5ǀUD01fYgqv" s$B=~jNeiRh4#"l\Y/s0QMгFNԙFӘ!24Dj5t@V>^Â,dH]۴FBPBpP?>sO| ]6hOv]&o IDATO=Wަf?'7s>S'o9w}$i(X-*H$>n i%6!S e\5gjBe"$DRJ; ETn4%vZZM ټGM{'i2-!+K{@ݯz$a *#P+r=Iy[?kwʿٳ'O?[.ܸ֞={6ؼi޽4n;p1)H$9uiMJي6W7@Uj`HXlA!TH4 6K6b.TO%(t_P)e^j9uycNzZ .IeN7Q7<0jmu w=;w.fSO>9|oy{ym۶9CZi޼yӞ{ سw1Gs ?1)H$;m-ؾ1{q,@sm%HH&mE$^i!p Hyk%nAh-jM!R@jW Mm D^"|ޗD\v`n<46g7'Agxg.yǙgѾ޲eˮ}.9n}7/k+ ;~_-_׷mv2ŤdKDⰣIWPo#"D[[o-$HHӆ0Ld"+ W-'t6HC ڊrH¶On*3F;ʘV*!P0o"QB4v{ŚD.F A5%׾/w޽k׾/?Oi>?g]v}xӷlٲ㳟Ϳ1~嫿={,/wя}ݵq뮻?N;{ݻ/}/'>m`'Jɖmq>J;ږԹbV5n" 4mu+J+[NT=HKm j˕Psp ,MBJ Hۉ?\Ji]))JcvTGjMyppk^{׼uv:ꨣMo<ޟ_ۿ}~w;9z֥ӟ̟ڍ7ޘۇ͛6=?㳟K_^ZZr1];ԏ~˷5-i7??cǕ_{f{c6n |nD"qxѤрвCjodn0|.&ZdkI֗2 |-+6k?7ѬZE{Zb+CirEJ)SKQMVE5ϼ#~ӗs/:ﱏͿwJ0{B[ ^zl6+LvK->'%;7^W~#oq "X FBSZ\= `)D-mro$YXYĖuwY!MRVff,m- Tֺw^nnWT"9\+xd|j^+~\ ;d6oʔ'q=AWr߾}$;R".sZXPPl<@Db]80|^b34" 0Tp*o3ץ%q@dQs oW {P쵲FίF;@KlN$n$5J 0H$K$MV!]_.# -)/\Y:MVSĄXR4X{rJ)"<@=m᡾Flm"۷w'/)ڝe׺;N@ːE߷m8#V;Rc9NŰȚ{JCY&"ꪫjVf?pwK>cᐴI3-)HFN!H5#sZ[Weִ{!hu H"N% << MA6jۘEiw &Zgp- ۳^"QlBtu=}xnSX[LMFq108\6|c~"R'_~$"cH%IJDd_Y`HFVҾH$Z b(HiNJ݂8x, K CyglDEZ"ق05 QA{|tzZעlR~h  0[n "Ij?6ԸQ\ (IR"ҚTƿ#I) <)9eD"q8}?%%c}<ɗ%LU?IZ~GJ7SkصM@ J9 "۷oZ!$@}"xRw1!{T̙dQPt Ԗս(c>1FZ$AH?Y+n+V%ĝMU1bDJ3PD3݋ج6 u F2lt)qX. VϦ;qfrZpaJK^޷[lڬZmg٢LLn@-uJRXd0)Ŧ 0QPV*Ɛd$IIVIJJ T)LJJH$o| ]q$ƅQǨEѴGװs%.Wٟ kGڕbgrۈO 溼h#:B"Ҍ䂄p }]! bN?;j/$~qSdAIZiBbvK)%IRb-c\0[+z;R"8L*&m‡xPDCH؛NYGJeXd8r3n(2l_U+DaU`kSezmr=YJ)y! Ipҳh,#B7!ZI?d]Z"FV!%VI+%$iȴV @D"q|/s\}_FQ#m'ihVjD2p u{OB׀"BDTD%#zu_Pt/V#a0ncWĦږ".9ٌeRiTC=?|Jt"WңIf?Ti/n5O2yR"8L ⊉xEY0!7IZGGd?}x$ROǽâB1&# ,-DH?ALeT^ڷwa06ΦH7ބ{+wuioT] #lkGI$*t)MH$v1-h'mjLZRp5(#κ@kRb6Rq3` r A{Ag3H4fu-W !'!lѦb])X 4Q翲;P aV =r㖉O6Y[K@ZGI$-P`U´VvD"qQk-i ?E9 Yt _&\-ȅNFLqATc2&ٷgpc|m\Cz"ʙQ臗} X}ނF{-=%g!{Pd Ԑ$%I:=idhUOR"HvQUPm鈾+P5*'9fAewOdo6̄eiiy3 s0Ǣ6q\i580- !4lH^Bs]o*CJzUt Z4$%Î&yGP_ DHbE ӰחD>pbnNI%b[W;@0 p&Y^^Z9|K_p]ao6&T6s;miJ3cdd5+3 Q"{|TX(QH-&=Y_|c]P[dݑõEP(v :DϢRL = f\Ɯڬ|Ufajg@\z^h _x?0kcK!@)MSŻ>}m1 4ۻ-H &XZ(RbʬJqÙ%~}bՃ-;B΢&kֺKc=`Q)"2_ 3܁/C]T4YIb !q9 V"$hG@gWDkג$%VrvT)HPm)"ѹ U!-,2JKҒɗi9 #120! D56|7ZyF:A^c#U$l\`B$3װ}ga \CvѦ{kңF*ʇ!%YKP~bb0( #schY_T0G3(H$4JO"׍",,-SBߓ+*5E"ؼY&I4!Jx!Ҽ>CX U*ڬcB&z)mn%=J$)E {T$:5ci<-6zj07vD 'ᢷ&C,,"=ZQ!ǀ{*r4^J5Fǐ_T3B,ň u-~P%+JAiw%aIDB쳘4A`ҙK#O2Xp# ag^Gqf6~Ilc&pJs醾*W{@v ~EDؐ,OX7VIm٘2ٚQdB+?$%nI]ID"PVF5!opo 37׼Z-U0~ D|"剎J K)r/;A l@m*6כϗK08҇6ZW.0k8%Ce>[ UVrTK|l)H$[^N˼u AP<$$N{ G6h7jc*Iѧ`; Ƕuԭ5Nz<85!pP[#z!2<^>!X pK Q I|ϼD"H$SL0F: W3NSvD2Y,*E6Y8`p#gCp(a fR0z~]{;/B_d?D"H# Ӎ+C!Uڄ]/d0kC,&(P'w`\yyɍ6BlY״E5U; :7ኈ\ 7r{r@+^$m }G%IJ$Dbd̽}~p vF~ֳax$Ǵǐ$b!:%¬hޠЪb !ڸM X* ԖIѣv*5t@If(@A,*KH$ĺS¶&GOLD?߹ݬ%Ja7w[Z z~>L]C!RWÔ1AsP-Uv paoϝ09,݁hD"H$֑-k@`A5WQCP}FÐQ)3562?A @|Ӹ5J G q|1!YT.NF6DJ. pHD7SB\ףRIJ$Db]iP*+%"@"XG"gkwte 3 4:iX-OBLԖ!%iKZր.$68ki/T*!l=-ZEz-D-s.ڳ$%D"~ٍ@Ѐ="j-> ,\cko8Wg+ Л,ղd5niD#~h%",?fmC"G U$pK`H؂doi< :=RݖH$ĺ I=Ȣ|La["LNOP H`:GGGqƝv 3vVa&u xDm`%Q9;#ft, , OJ Bʃ+Gn$ID"HE!lEӆNH@1HRК|0HBe."y$F 6骝q'XbFAl (-6( mDRQw`Ln)KQ`Q$M@D"H$_MR"Q_NkoYL3:W|a0[ۭU"w , }:jEɠu,06Cuy?;,TjWяL.[?hLL1IR"H$͏tٟ!~OSWlqEDaZgP|i_7&5LҳQ']6[`6V\k{C,ƈuK6.zv u op(i" RzD"XW TD]CF@֝q5riBσFt{/ZHp."cBkE h—߼^ȓ8ҮZΔ0N O9dAcoZ`AK@4%z3quwxD"H$QI2$A*X&AAfnh"[ f%/`VH{hP:]Z "* NOVWmA>%YX>Z/lfrq; z2B0!xVyh:@ c["H$ﭐ6iD6Uwhӈ۲Mk)-QWֱVh@tb)J 5}MPIe|%tgAe6G Bw(+bిcmoGoh:4LH$zHvZ k>j7Y A`ЕFH -?R* !J/KP`@IhDgbBmDES{G-wd u^OGM e:G ~VD"H$QI>)k;̵ 3!]ِRd$gfI +V4Ǧic\d`+.>R|.gQՉmN,Q=YAHxox`)ZlIOR"H$.&yI,oT@xD^+~VJ|zE `O "6y  AС Rק4c6S-=^C<9IVdgv"H$%uA%1t-SAĵ IDATus{E+ 0MgVpCbBݘY) zu "T$ =J3F܁ؾBd:_')H$u 4` b R#JBD̢m#+bl85ׇ?[izv#mN\@@tRe>Ͱ¯A{ rFW.a =-$%D"J"^* C7R* ƌT 2Mz')]C9ڞfdEZ849lE#6oP)q^H>.mA߾D"H$$$^IdE _l H,U(( -mʥ8A8\+uŵ9YD+x HMWY" ؉۫Ui `Z"H$u{1ŞFQF8gK7SՖ ӈR-%"eyK`F!E.fqCQ6f\I2E~1@_0bpU&s$%D"}w#QC` m9blQ$i$U[$|-눏:lM7e"EȦ"Q;2:.4U8 Ơa- #tˍs@zD"XWԧA :A)l DWXXȂH¬J,4 NBoȱFXLF_`4Ezp,Y!^/#p#$H9s}/ݖH$z$^`!Q^T*h*$fʉ̗<6MJ2a$oh! ΪGF't ,~z $,x%jIғ.6Rm|&gHᥡ-I%)H$ufI&`[DӉ ƪ ,Ȗ\I,ui)8PjAQ J!LOkopJ'L F'us]JZ%P'!(x,%IJ$Db0`W@f 8֑hE uD.W624>!= DR;A1iF=`dENN(MxCdŐMG[܏e&VKH$zHq-{pe:M \4 7fBl䑒VF`dc4?ܒ*dYiIԒ"&6+ 5 ȌtXh(Bp(/Z(u19nK$Db=aAڒ-щ%M}cM3$Hk;Y4=mPwqȑT$+#aj(oVzf,#R#S9MJ;Iv]j AebD"H$SGATL`a64덈wtg7 ԒHyWg.Zx$EXt ,2)-jiD0361@|M^ [y5ID"XGdͰ [%bBc9-//v 3eGb YԸ`ĪCDEXU!`K$ %(<vւhJ⥉ )IJ$DbݵXjC,,!ut1RjX+'qLzaY\g7 FDYMޤp r4[!`fv"H$'#с/Gd#)`K[YlJQwFTqK1,,fVh0Դ5 iT l1hõ:^B=W[$S$%D"~1Eb5YHd0BZ!ZS h1z5 Ј`xI6+TkOZ {eKJX¬׽m׊ceNH$ĺb` s=q22?g`ZA̱Q}*80zni=O\bcXعȢ GAJ9"Gsbx#Nq;H$u$Hh2yXb+/o}mΞ75F@o5qxHLYrY<!  yJV-L!|*[wT_O6RIJ$Db|Xeat8#׎dAZh4zD$%BIE' NЅ̜٘ԫX:~'w)^k~idDt|'$mo$ `T)WOeMwh>sPg&!iJ۠MF>Y1<7CF2}Iv۪"Q'%5 $G?9"%i0 8ҥ) dr%E6ҝwT5P!9Sǿ$ږK4FmMroڦ_LUqi]2mb#"󓢩>B]1k [Ո!e$އ|glYse3fif6;'x7aG ߛzcw{lS06d.7ί#z4 '׸9BYpO'4dbűEoXe!=N$Q2~c0(s64U/ i9->sd"tܮ.H v>dC#ue_Mw`0 M.f8J1HMek1j@Ub:e2l3Yɼp*ݑK93tamyu\bcM=3;qyB(uQ`0 T(:dҙ&FKi5vYgbwE0 ؘUԦd /Z $h!J 9&Pk]m҇RC~J> I 95V'K i>c\ c\j+III؎/5}{9 gs-JeWymS1K'Wf91`0<ĒJBi4ɜ-U#}CMkdyq7awޢL^Q芁jͺM,u,"zE(NneuZL%4 \AgGQuXLdӬZ,O[Gt-M2q+=]"| F\נ->+f[o J 禮BɽGI Q|$EVz{tB ՞}}/ PXN >e]=l IkxybfxT4<95'!{Eu!! q{0 GYRAm.\'$B3* 9=yj"{Iyr#[|xL0m͓NPT- a!dO<|&'i0 'NDxճȆ!nJܤB[-|U6ee-:c0$p)E̊tÿzІiX꽆#Ɨan$T|i(I`0<ȑM*t_++"SKcnj SSIJQ'7ۑ;x&z="R]Rf h^RH}lzI'@*B3%i0 " BP}JqS[ Ɯd{sB"2ۢפie1;5H<>{_Uv^WvZs{c!"Hro(I`0< Ȧ{Z$W zcjJ-kV/ZuI=bTE O'[Kij6a(W B1RC`0x'A]CW7Y]랚i ?khhR $Xﱹ}[xCi/sF`}M+%E--ZƦZ[^<w&Wym`0<ǏX,!'e`N;ox:iPuZ`-o zJ3oaf3)/=j e[*xv{oUy{[ 6 9`0 DɤSnw{epm&2S?d9Cp3~`"ePV.Iľ]Ik6#oV4ںhA`0xl|wu7 HYaA5'YMчAzyl$C*+#:#`N6wQ333ᚕd㑘 F2B$ `8КJAi{dd8T ttVYŸ4{vy]g-$k\r~CuL¤t[fs!)YSa6ZX$ `t1MЎiVRJOYb$$y.osZ×FL8ۤ+"oo̎H5K{G2K<-D`0xRB-:[ɑ;ŝ0+2k Y\8Rf0o\QF~xY†D㐤`0 npou„sPU `d'nCZ+g#$E/DGb\=jg>|C 8ʭ~j5wr4{^kfr:mZk03J4ro`m`0<$}st#!cV}5Ȭbf䎟6j(zלY蔅g>%Ξ#YdѭIִ#J ;GezLMKVҼ~72Oaӈpks BJrҧMYLfa=x;8%*$V2 4a#%=>ޱ6fQ]]\òY|$ `(Gu[}Oӌv$,ۭ BиNYGf 9K=.m>m׾(˵( o a- n 6Tu>q EW+0`0 H Om1 aD6ň^6NاLRj"Y+] F:Nc=ZKXVN(-f6 < l%C!,0++- $kmMeY$5̰TIMV&8۽s"jÿr ~Ӳ)D/$g4[ؐ`0 dH9NJ3$T A N0َ1TȩM"eF3K7WtEDit}_Fmb;*f,r!I`0<)t,˪YVsqZ"\Id~Y"m? 7|lճk[Jy^ZQm㟟OM? ȿÿdX23oUgu7'sr0 թFA lG.6%fjLJVBXS:䥜A|K:-{縣$ `(t~s#]Ɓ0$5l+kyxrx]%u ~]ev؛Io[ o)+n8ћS;ւ։:=蕺XlFIbP, `:dSd k</9FI Qg}qGUX2v,C{V9WfGET!(ggyY@E,;eqr%6#d %Iadm]YLz-)sI6獒4 Z!˩m\#ͮ=w5cژg4Ņ[%aV٠nTݡe&SIiIYs!VlBdI %MᖖD@7ԓ<>0YKO\ y*+kpSƂ]^+igAM&ϥS0r9uAMcǰ`0x#BRf/aKgfu3~\v4 ;I#+[QN@ qDifdh_"bG3 1e:A 6 Ȋ%< =([4\y}EW0F|7sT]##Z33g}֝*R[U&^tP뉴GasA7ه]'8(h7B X`gA hAݢBU|Rym3n 16Uݳ!"K|wMǜ*$CUVm1d}@hs'? Xq?yiG4ʆ-Aس*[OoFnVFnH4 ,\L*"FkhlJ׬xI% SDtx i󃦡jAzTZBa450RdN +^uH*4"#9J`0 ϡbQVdUK| ҏ슔mhQv7ŕ/Uz!S~HPqMáU7JQrH܎j|(Zә"KGj'L%ԐIcQKuҊLtZvx/!"E`AeuޤsÏr4s`0xVK"3Z~FhNΤX LzhO~S\dØnQzIAD"&;+՘jW4mVœ/ڻQ`0xVFm2>ӊ.dP" BB'IQD\pQ͔hUٳ#q%+]yBgI)~$,\%f%&X/`aޯɃ4 p!e6$B<75 kDg26E3- 4~jBDW#3~j7/רضRίRy“z=$i0 cbpƔ>MӠIn& T?'8NmŜd[َ+N$ uN>$PTLI-'Nj/UmYJڊbC`0xLB)^~^:µdOwRkI'a8?߆7XBu6oZwY'f,*Mz|Ipwl`0xVJ"e}_ L"Eus s -V%(IWa7sG:iS*>mgVWF yɄ[gE =w ;arTIDATxN0 P%79-i2n6%9fv!xfcǜ= ?g%&v5&r5"fDȭin'ͅ$_!8f΂5;U7iT@4 2n`?4n 9aWF .z%U۳,x [kсaΡ`uh PWCC2t Cg CDϲ]$:l{ mGDU= ޽ gQr=d6Z%)+gri۳:$=me@ܹ `˝NX2tAS!9t,-C :Æ%Fa9KֳjzVC֨io--wb=k2L'YãC:))b[DI-w" b b b b:HdP 2tA C I%z{Caoa@5;`^|k24m@R76ZxIò,T*6Z )νOe;(M)RmU@\[$:@:d @4*}{`v?.N:#.rUi9x䓏.9%F~`@1ڃW`!I1uhk?Xbv? 9?IENDB`docs/reference/gtk/html/border2.png0000664000175000017500000000322413710700303017365 0ustar mclasenmclasenPNG  IHDR2sBITOtEXtSoftwaregnome-screenshot>'IDATxOn7ar{^=@/eQt,ݻԹBV .F#%C"=p';fCXvmK ,Wd Gs̷|OOrr.8gfs9n[;|s<֟wK>ԛͶyo̷|!a/kѕw29[t)e8T`wGO~g}8$Hؘovq,3LuD_lW<>zV[|O'&{Y[VAW^׍{p1[uK]xQ}}3uke,\Ez*{Ns`}'~ydsvS3=zYoǎ[1fN )jBn%E0C2^;Gz=x̮1 L# tD0&:"@G_/)`^|N3 yf&q1Bc(,\BX7Z{1ϑYky+4Mu&8FF a99rqWH` 5A.`lq.LP^ڂ VGH(L\>9L:D  &"WLh0BwLDz9zT0Ak8{B>BժT]I!ӶRDm1;N |08)Z`B^{!+LpR- @!@G)0b{Hm`L`BVe0A5 &PNދY8)V# ڊ^('jUJԖqRDm'HZ"@+Q[h%j`&Г&>ͥ[fޙ>fwV+sШ 9c!,llw~lu>;:u~EVkv?̷|gDSa飧y:\.amqT(h{l{ T`O8Ձ`uO: &#R@8&FMuv?7 l+'QlIENDB`docs/reference/gtk/html/border3.png0000664000175000017500000000523113710700303017366 0ustar mclasenmclasenPNG  IHDRAPdsBITOtEXtSoftwaregnome-screenshot> ,IDATx͎i]os6y/Iy j!3Qs"B".5Dׯ7N0Il/3 ƜYzz$eҗEݚpYc-s#NPnxRZF IewPi$?"Hus "d;6j,̰j=gՊte}Ga2tE0RcBMzaOy8Vٺx@s뮟~}wauGYBY`34/I.CSqcBtܾ;OܾBפ__u_quW*i`P51e{I}F܎?z'^%_8TOw<"MYu?n{MDz!˞ZC^;$_.Mܺ+zq÷r>L/o_6~K$\`MD S0|Q~ֲW|z|,\"'[-XcCHע&2b?9?]JLqU| t +MN0Ȝ+,$%/bqH;^q8*0**%b"mB.cz԰2:ԟ[Q`B\ _5-ƲDzq!],1BKqzR-RzAqMedK\2q_-Xb uu8(/\b|1hIV{.9LrBô 'HwD_ g9ts㲍 ޅ'Hk*aJ,Pآ%e+-41ƦVb+8o[k^,f˂!,鍨{k4lh?x YC204s#n=]?/Qb`@ӘJPl{Ʀ%hx],Öؒl}>+: B cYb"kfr=0x%/Os ΏkI/~Ԏ:1:W҉ SMJ,D/g)2* [bmtWҋSAr*9P}%slec z!,Ʋd96ub zƄ-Ɛ'lZt7+slTg*fd@:PX;{*c@d*ANKe%21Imtb9^V+%KzhrȤtgN\ ],1F5 ~)|Dbt;ŭbM/Kat }ccRH/K,0O%p–|=Sf}^Xe.%](ޘO_"Vj¤>5ѤO%|9JKH;?z@>l-;Sbd#f-1b(YbJ.F\s|67?D&P8Xˢ;Jt!8eECB.F_ e+pY Xp–|8` bq&{_t|=]Y,FѹFMzt#[D&/zY҉V, c@,|ĀbA (.\C /b]~j 1GN՛;^cRb_8|-1GͿG 96Ų%f_939ZbmcлIS0|q#{>O00 vл_Ӳ4wfr1Brs4R9'q.J:R76^50g 0%֠%iyYXb ł^1.Kk1* Fh [b W:~BbPzYbF+]eJ,s[4bYQ{g@_q\9b0e ݒ^pY XMb(Yb ec>%/1>5ÏqA .^'8^ћ`݃hzu`ۛlww8vCs뮟~PsG5 JT#{\F5^ԺפO(6e <mLuvߏqR>QsG뮾KainIENDB`docs/reference/gtk/html/box-expand.png0000664000175000017500000000450413710700303020075 0ustar mclasenmclasenPNG  IHDRPsBITOtEXtSoftwaregnome-screenshot>IDATx}Pg}66ǻ@ eo"J) ׎׳Z *՞( -; b}Je<=^*^ϻ"*J NJ@ys; %e5ٷ,!Dd#g3X,(jwN>L,EQf,v bYR#4 tuux<{$HFQ7)Gg34 &,F86j&娎SC p Dp Dp Dp DL~ zoVdyȚ/ (/>'{/ťڬ$ro"͏JO_J8'mGG-qK @eotɮ]?57rT=!>`Бܼ۷˦8'ƮZT.$<7tu%._!_YsJ%Z-Ox)xQ*"[^Yu8@ҢDbIzx}ڱ9#fYgj 7OUVU(㚓$B.^ܹgٚj_eosbEBYbC99 ם҂mmnܬWE~׬AB'֐Zˏl___eu EQ%O8a8Ò9Y$>VbݑÇ|OG죟cI7nfepvr-);ۑ$i]Í>ޡ!H Kd2t+BhUTTaIigz|y_L <joo玲1%Lh1>{.=mD2g$}I$3A(U*ՁY|  Ej-3yV\$IףvgΝ{"1.B;AQ[xKF\7|U_ߎ]**)qg<Y D#22%qÞH 3G73Wy:w͛ {<2YE2$l>ɄF{۶/H300PVTjY FBÊgsѴ\_|.EQ/^ߺ|jk/<;ӣxٯZ`8" 8" 8" 8u3:2bPjLLSrX'4OӔ05F1>}Z󇏶Dhcm]ܐPBr iMWQU1tں>) mmlf999(ZFFҳ/Nq{yfB3|>ƄeHYUN&klyeU~qc\hKS}ks^ XmVS\Z[jc`BNg~n=Toj̗R//ݜSv(UJ>?ug Inz)1,=BN=Y w*=]V^xSx t걮ȚPӐ.t($! 6&0;2:XWd D rfEO t2Y]dNN'ZY465It"pDkH$...!xÊ.(:tWHIIn䢌 (yէ |IDATxw\SWϹ 3AZq:g?Z*ZmEQ".(֪RqbԶjeI{?$V|9y{VWWCad&4 $5M !hI AHj@RC&4 qcW" 7hI'8P(ZJNRS"J)BPa4@ѯL&e`0_вAHj@RC-@T_߷ E'5 nܺuܫ|}|DckG}wy<#G7733޻_[W&̚?l:@RtÖsztƦK.$IR{94b)ATJgw{9O+c|Z׬[F?566mJ~}}5nue҄ \wMP[[$t1eaX7_~\]b=I?W5BdTl\Ht@k_jߟ`0)Q55lKU:,--31 ۵'䩺g/>+*?ZN;vAiS>-,+CR36~ʵ'iC 8TIؼeP++B}\MÞ=T^tQǽ Yёu[0٣Τ=޹cff6Ͷ$R71 j׮[׮cwH:t؀kP(6lÇsW:~]QwI kmm-m;)Gjmm |RZ*{ÂO>cw̌b9w:rDrھsM%֬O n66 T",Y"j޾ՁS7v1s.ƮY O4Ic>?jR]5 I]]g~c;`x YpULgݻ$ϟ/[*ʗҠuU->?4@=rް[/@+ !hI Az,,,<`T/Cjo̔%fRet٢魆,@&4 $5M !hI AHj@RC&ڨϾxRPw?ènJO^J3ȉy=Bo|0m@ 4L. KJ (K/N>SYUeRBtd#rU~qUU7ӧn۹+OKKmgL:b/P&edf^RSW}iXUqIՋ.Rm]]>|$J۷ IJNƍdp4":ĄY\RR^Q8(ν{?6˿M/'NFfVWW{.Wm4].ϸ$#x|SQY(4|nWTV̜6B$<|ŜƦ&GϳR#$m7@pnULέ^^}}l77lÃdzߝtHƆii蘠y=_o0 95EMMDb s2Ip@pڵ8*ܗ IuF&A!nqIM~GE.K3229m㿞4fܽ:ځNjY6)5mq$ܕ|SgnLI~?x..Ɓ+*.3?H!#b0 8a+Wnvz@²2kk?ss{aAX,-}ys={ԟiE"LboWHd0ԁ0N攙 5!I$#N/l3`!gP7,eNNߟ!.j#)@0̹S$ɂ#OTVU8+pE8;8+q+/O*vt`̞}0lܤ(,**kcT*pسfϜ>֯5LDmMcdc yB\ӊ 4B6a#}{njaز^==Dm'Ivv&&&BasMUxv_x!r'ZYYI@@/466l}7oQ\$Z6`20l:WT\В%;[¢JTJDyEziv. :et8pM꾞Qd2 ٕc 럕P&٧wRjR y E"{NbWsl?9bQh]a{R.6J\Q+]+#f9:eDU_~ VV#|z{yB>{<.G%Fkk76k.T!lqjjk|~u-Z/}YTH$ӞյDX}@%t !TNApy|t!4H\ٍ"4]TV88c $ !$IʿexA1FLV=]^Ǭ4alk˭ٌM' xARCЄs5 ]}rsc>i -I AHj@RC&4 $5M !hI AHj?=@d&F IENDB`docs/reference/gtk/html/builder-shortcuts.png0000664000175000017500000022143613710700303021517 0ustar mclasenmclasenPNG  IHDRGcsBIT|dtEXtSoftwaregnome-screenshot> IDATxwtTLz-"E,tQ,E"k Ezov* TAQ%6IDH Y+ rΙ3ɞ}11 Po_tӁ͍F'"""""""(;;ȑ#WL6m#p@>{j5l6l6s#˂`jۿVZ~57ׯlvv""""""rsuue޽[jKn /PTTDDDDDDf 򌋋 6lko۝\!>dTDDDDDDjmdݻILL$??F&66Mh""""""Rs yyy޽,n&k4"֮]KhhR'sIt²TV %&&rw`),,ɘh߾=|:3'ڽ{7III`0\"v;GP?.""*3!=u%Yzxxj%&&RN|}}Jv  JHED\>ři%Oɨ.,H\K.bADJdT·hԏH.R8(!ꢄTDDDDDDB K#"""R],!=ʊUeV22 #,4K$;wfа:qߟo0jڴn}aShTDDD›CGv=ŋi s?5mXDDҥ~\DDs#+VO^^۶e;c1l65d; k}^EDfTftȈQݷIڞx8/=[Ӭi*,99,o;w&;'7'{gz뮹Zc*HH7o S?drllX,~16?m٪"")777~q۳X,gPʅsf{̢SUs#QC%$}d^V9Ug;ȕÍ]iqUsƌN`` Y :v窱rVFZz:Q8nHJbEDm6%w6X,v;Ρtƒ?#{7Ҧu+f3\}5۶%++BuSUevϚ>M7p׳p2^z9ED.==rי:a<WR/6J_i``i9zF ?a*]\ϊgXmVBJq5?lݾyBn^KW])**"aC{!b_q?u)09m >>: ѿMLZb6K9ױt{$^_NK81(K͜ɓ,7/>g|׻3n({aڷmˆְ5`ۙ4m:ii,=q9eҸLzg^g17 LWQ#puV̙Qǹ1nR `y$>#xg_^ƿGmjO<ןʊŋhJڷYsX~=P2}o{}KW?gLN:x?:HTd$gLs 4V !}ذqFvL4lJ~q#FqLKԩ髧>nu=^u6䔓l۱.줥_o ##"l6+III])) +,h$??'{~[xCg1 u̟.'?q\}L@jݲ%>ޤЩ}{+ I'q qlڼn@P`C s:~32Ǎ|{GHfsv)m_ \]N"  QCG[:2Om+((cvF=}|8ж-\v;6Ě nnnmU?pXie3fpذq~u7Oۑl6~g|興ŭ䨴mVZZFooVkq'gZ~Ygd`4jb%nZEEffs(zICCy﫼b'SSYjUX,f3Vkq7#qlq", fT'N$鉫Y|ɗm3 x{y1oֻOJ_IR?sTR HF;kd*#""t^|5 bcˑGy%ݪpSvV+Z`E٭CA,=qP1슈\^N l6aaal6NtYVl66jj9rl&33M/X;.$3)$$RRNz`(ʴ0z0>Y>yg9'd4?6KH8|z̚>YӧR/6G7rW٭lVTTD1l6SXX̩Sx+_{?Uvυj%ΪՅS&˯p0CFdIUUTN\b%KW,m˜iؠ> aw;`  z7n܉u6׈g;l n*h4bXx FfLXkw^q""R=>:uTq!!!%>8%55ٌh$ qLaa!`و"--"F#AAAaZ9yxJhx3;;@TT%Fh4:f䔸w3"",h;!!!E'GX,ݝ\\\ZÉ>V AAA:)Mۆ ԏHdneXV\]\XxJNWtED.~iiildddum6[lr(+,\;8:'Zf9Srrr-jZflΠ~\DDSeSv+N\DDDDDDR"""R]SRRc!9?ED<+""""""N)""""""ez{{c6׮ix{{;n)]i'rR?.""Qill,+& ^_&!""ge޽8;→ yɻy C~~~MƄ7գYf$"D ҥ~\DD*ː^E^^^c4쭦6"L&S+""RYDGG;9KW7L&%"""gHLLdR!""rٳg]t`ݺuRgTNNN# K.[???ȥE!mV" K.l۶'F(""r1")GQQ{UVe>$!!]vqUW^\\7oDDD.Znnn&c߮]0%O OOOMFO9u̩xϐ)"""gZlݺpZjuNݵk)))\wuTS""">-j$""R[t(O b֭C#""``߾}p^P9۶mjҤI*f00 CDD."JHEDݎf+u&.]TIy֭ÃWIy"h,TDD@ ncZX,dddHjjrP, ]tq{f3֭mW(n:u+...JJEDD ȕT2ZTTġCHOOe˖DGG;;4$&&oFTTJJEDD}RkX$==[nFENMxx8k֬חT^%""W.+"rlqqZldT-[ѣaٜ8R+ԩRLjjJ&55|E/%""Ŕ\NMiE#""TDJvjTitTDD@ OI8w""JHEDDDDDIS(!PB*""""""NTDDDDDDB 8Rq %""""""JHEDDDDD)S(!PB*""""""NTDDDDDDB 8R1Ͽ܇ovBNn.;wU{YY=n,1 9iPOff&9z :k~>+%d2BΝx_`0DD.Oӓ{zյ+J:q7nV @tZTvlٶ+;=uY{zOnF6hPf9X8w6ǟ|s/EAAAiӆ:k.|/4T[CG7;v9fŅ_~͛@_P"""FVݷw_J%ޝ=^gMŎwl6qGcԮC||cKd섉sY!"# t\}N8|#,$LMV ;;hV.;D2Fqh4.i|<K9vg>Wʆ72vDOBVv)'SKDT2yz|.eSr@@#q,QPXp ""EEEL_6:ksU?, W儆Cs6nG*UQ9խSM01KLn~Zb\;:JbqQalڼ'y斘5$""Rjdq\...a=Nz=j:֭;kbSӦ+ٳw/JBED.EhqmΡI|cƎyɧ`se>"斮]DGElF#G cY獁x'θuǻ]I'N0b[\5]Ud6`6AdDf)gwL""WYӦ?$8Çf~on}Ł5yK+4rylaQ92b[ӺeK_Ķz2khDDD.>ԓ$8ۘ8e*SgKpp9Qǎw_b 6:c$=#`F rNu_HY..Qˑ0;LDDDDDD*RF55kͷq(!t~͚6u7c4˯8ȉɄٴZJw!eF1y mv0h8ԈHBDDjfL~z zjZhA`` ZWD @DDDDDDB 8Rq %""""""JHEDDDDD)S(!PB*""""""NTDDDDDDB 8Rq %""""""JHEDDDDD)\k"JNNyyy5UfrvBnny~~~Tqd""""""գF\L&111D,++$ֺ}j2^P jd2hnWwU___ߏGZ,*iuwwH\l6C@G!&&ƦV%HLL VGnnnϩxsrr 2ꓛDD"PYb^^]M^};^DD"p [eA 8Rq %""""""5aZfرbX }\zFҠ~jVT6/5]#GEt#[`1 IDATt#tރ)!QJyCth㩨l,Z&8(7Prr$&/s˗RNjS[:auV<鯾y x8aa |uZh@NNg-[(,,Y&u-7-[tZ{Baa!-fHfM9l(~gMc޼e+ ۯCAٰqSeqs,djnnS֮[όɓ FǎqC?3OގBCBxGd32]̞yN*#F˗/!2"(s25 cd2ll63LAW_!*2gzĒ+3͜LK7 Vǽäiә7s͚6:~d䘱4aGY ùt A&M:.,4}Z7qcOdղ̓b0LYtϽԇ+wV{7n̂%K9pǍ-QƓΘÉ 1x7z/8L!C3b8;';;G*,OˣA[Z_5| Ģ!F R3-%"#0u3eʄw*,sǎ̞""IOO`BdK;nθ(*,ݩ 睻4lcE_&MVn_łlfw0 xޤ +3jڲ8EʮPjr]ߎu8qidU-/?E˖;v_Vb[vNN/N}tރn{δzYR vW^MXX(>>4ܪ<~ێXV^w'|Ǟ{Siy'9 R`2F#یF#ukDrruyyyF҉{Dz+Xb95q\yȂ%KeNcfsRcpLcQ$?`8̎驕___ݻ+-bPPPHvv>5x|Q3cP7J=O:h$&:ڱh4ѣxzz:-WzswhzzJiAAg^5:VuW2+}ߋ˻sg;q7~==s|q1Rg}J )sa$UoD";oƪիܱa|c;;~ ټu+wv@Lt4bΤ$'wN'O\{SQgM|\'OάKOڵiX>#C҉l6N$';v״Wyݜ<;wqJ̀CX*-۶1},6lDwUhڴn̈́SʢKCכ^74$?rh5EEEкUkv;:qF^ye#xg2w|jvo دmӦZ]7dжmWͥ渺2||[f͛+bcy^GXr%[mc1 ؟ lX,4l؀ƔXdj*> y4iǸ#pw'&:yÆN-_ugu|oX|ԫqc F Ey~P'&ww'""d4 _+0֭SC#dRF#Fb9<|oLԭSU4Tvm}ImnMs^_?ĬiSK6//@>?[6hSK]ب4#1},~I,f39}*e]DGElF#ɴxԫ˄o믽IN0dieM[GbZ[ Ɋ+www&3/ 6l{ʵ״q|~<Ӆ}]nygdΌiy*[ލ7tf)<:u x',`00d@fΙ[|[@w//ϠNm{EUmi? ^.!99Z/ $&&ҪUꬢڵJ>\>l6dff/Ы!5cՄ\S(!.f5{Uq)\Yj$!̼$WlW{=U>5HU/ѻ|?fǧꩪxEDDC@OFF^^^3@ ߪGfffϩxCBB(:DD"P#Fooorss/eݍF#Uk...U>rڳDDD.Fg>5tk///<<<&//&`>>>H养;999>>>>(KF$P|%400+ˈS(!PB*""""""NTDDDDDDB 8Rq %""""""JHEDp!H;%""W4h$44Dg#WDBCC1JJEDךbK^^^MUyA|||ťFxE`4quu%<<~pܜ\f3wnݺb4꺸ȕF\L&111D,++$ֺ}j2^<ussh4̚5khٲ%O.3޽ (`HNNWg /+6\m#U>5\>v;6 L^^XVHKKsvxr #&&OOOSIL"""jMvv6VKU>\^v;V"L&&Bf3VZCHH>>>呖__s*tqq ///cCBB\}n^^%sjK};^ \\\pwwwL5X,l6eQn]gqBCC%88Zʯ955wwwqss#))IɨܢF""rq:v$0.]p95-Ѩi""⠄TDDJ$ ["zT9Tg٧ODTDDJPB*""s`4/N.VWٗzȥZVDDDDDD.jeͷ߰m6:b!00vmsyAF I !Z0_ ,rm6<ԓxxxw999~g<{Gpp/<4_{mU-"HOټ'eV'O`yy|GGNL%(0k\CGxX;/Gg]%\<eBj26b(vwAJ^~_Jff&;ttb%ع u\PywwlV+~Ys3{|pQΞEhhV #sl 6?DLt i|'9hC'Vt)R999ү?F'}uꐚʪ?+2iXj8;L9ͮݿM]npv(DeB03z\3Wܻw xT\6m0=R^PBr-ZVv~a=zr=N8;ӟ,Z <w;߯[dbwk$v͆J︻'~|e a09g[o͍[oʿzȌsXn?څ7 f$//לO=ws//߯DkEѷO5e+V㦟̤i|<Ol޲E˖=NwOB©?:lf{=={1~8({{9S<]t \}sڶNUR࣏[-c[w7,Y}nӓki <]:utt8)lݾe 營;gm?gkΧѨa.:1ݙvzV-[ z긊ʶmw>4'ߟfM\hS8Gg;ڲ dxYr-W{ͧ?fQC^ѣxyz]PZ6Wv]Xd) &yV̟"N,7qkS?7 k{}we]{M(s\4QEخ:T~9KHa4hpn@<~ێXV^wҫgUjI҉@ f4gacxxx8:s)ۛƳtJ~I < uYHBBBдiq8E7۷1tPF~~qTr IDATa?>4{Dz+XF;q"HTdd)'FZQQmFks"9|x8/ǭIYC䔋.!5 zm|'kێ38Z Uˋ37)Oppnnn,=ҏל.(0BNv#*Svz &YYY̘=!#Fd2\\͍;sJGZTTćٻ󸨪@aUTr)'3334SV,-sMM3wy~=f -̀,?I̠%3w9p{7nhR!PF ѝァuETnYDR  ST^fVޘ\KfTnx? 6f$!1Ȏmo(r*&X*yP;%yw4yEBB|||9L:JJJ= DBCBhؠ>s."99(餦\^V"4aޢ$&&aX*׾38|$Դ45E4`0HՒ=ZgC$$$pc̙;4F=?UCɤ?&s/7ƸW^.}VV6|0W:^OSXX]bIKK/qАZ4kƢIMMh4rYuiӪ]EEޭ}?`2HLJ"7զul8s,i j{NTӝ!#ӦNg>|?AAA~~~młJs.9˯% + LχO>">>S)V)O>///E/CVd֮ʕ+ {x$ԞoMfu#g(G!Ҭ,oiG1ddd(^NU^BJm* 硫ogdVh$11Z%11ٌVU+Օ#UB!]vM&YYYh4jl!J^EʨأBQ]I>^\%Z!uqq^_Hjz=:NфYUW}|d=#J!?Czd"''`*M5aV6>BTWlS2>B\nR!B!Zg͒B!B[LHB!B8LHB!B8LHB!B8LHB!B8LHB!B8LHB!B8LHB!B8LHB!B8 2z VN.#>nB8#G)?B!Jc ^'//PQdeggFA(Zc6 !3|dR#4OHF#yyyDDDVX,JY%ɓԨQC$HmJGB(~ ^'44]V %''G2{I!#۔!%Q<+ .F1^^^^g(&!pFlG|$!^;L,B! R!B!!R!B!!R!B!a Ğ9{3gNc4STg׿0?ӣgШQuӧO?k3bsmd2_su ш/ݻueA^ώxj7Ig_ѝ wAР~}.&^SWi9BTԼIKOg!4jؐ h4^Jbzr ;SXXYsYub۝8 gϞull6;>ظBV,^Xl Z9;;ڶ6mj qS$gX8 ^";FP^}:Eur(cǘt\}l԰ݻ9o29uLtRǠ%_0ظ#@' 7ؿ{ͷcْv=L&;GWfX>1̳z5Hl4kڄß^ݺ<֧/{=ƞ}0rGwڴjG~ʹsiΤwSo޶ñ>s?__~/=pu_~ EBK/ѤqxQ oȁb2P]rcOs oLg}V}y zv!7/Mӳe Q$HRѰa#My]%!fpj/]rgO>euT*svK1 \bcˠgVx;虳9xz'Y/]ٳol!%j╱/вE e lڲ1?E&OVK^=c[H\;6[cb*7fffb5РA۽8>ܱg2abY,2220n"W\F ~  ͧh gd7kvsb2X`> [ȫ&UxzzRh4RXXys˻ˆcHIIѣ qؾc<_7kڔn]Pߏh1M7QgK/%KYz b0gB Xd^^lyMlؼ@h-ә1u yWlNP䣒.bDEv"<,wo`ڕ^~Xs=j:ur70{k~ꄉԮMuC=ߜ8u 3~-LpPKVd[唕3Yd)LycIJJB[k+:)m$eTToN7!zTd2Uj?:Q^M\v|g߃~+H]y]twMRR*ACXߓ%WiR%~VSv-?Hχоh8f4+Id>s~+};Z=xFΞ;G ҹË=ucɊCٰvfppP:h d"9%O?ɘ_eŒExh4e֧{ HJ3gs_޻iShڤ)cǾw-De|B~O>K^0"<~<>>EM[9sT$-Zp!"NaVTS8˦uktt:vGJ(mքнkWvPreA:EEؾiWUHyVژDڜnBV巓' G\ H\& EGtb|}'hڤq%Vl}MVSn].%'Z-k~'~M[b4'''z}i=t)ZMpPٓВP'81#cg B‘$Ψp~iӧmV9JMӴK |i^8u6Kc9e΂Ey~$Ȏc@ѝ*,,.{ nҥK*<]BB5kִNF+xm+G[MHU*/v/:QҘL?;Xlϴ̝^^ތ5mJ@T=JţÏ?{׮# l&9%@{HBkefe1Ů1NI0ͤXkGKlT}7GSvmɾQL``M4!++ (;'N\]9}0fdRS??_Xje.%ꊊSV.k K~~>iiԮu8FRW6fcxʮX)g0OC`P&O`WHHH 55ظX޷׺//###\ ^q_IIIGѨa#ޞ͛5A7Wx[)B0W/8w)x_ :iՊe"墛l݆>Go;z ѸkX,r8iilhH-5c夦a49}l3OҥKZz=Q;V>B8 Yh>;?_ɱc?y&by]=q+,,dڬSN;q?ųf<|G{=v}6p% Æ 3w"S&$'7ǙgIKO`0 TE)+O5BD&[$, Oޯ~L&II6TUJr31Ճӝ!)ӦNg>|?AAA~~~młJs.9˯% ̳^s=ǟ|D||Sؾ)KethN}1xESF }/?İi6SV-:og9ikֽ1/b4 cx{y)^А ӨQmZQJbI\Qc_Αh4*a6lނJvZhތ㍷MGG|T\^^^:/}>z=uH8Tnn.>^lܼ///6l976*ONOq\]j7'v}}W\^h(O<ޫD=žcȈzR*ZNYy!jFՑ\1hZʱg|&!pFlS2>BFL&h4yA* ^?...aأMB$٦t|$!(gH]\\@AVt&N{^mBg$6%#G!Di?Czd"''`*M5q#>nB8#G)?B!Jc B!BqfI!B!-E&B!B!B&B!B!B&B!B!B&B!B!B&B!B!B&B!B!B&B!B!B&B!B!^Fz=^EVVEb$>Uu|]!6{Ga!` ^'//PQdeggFA(Z6%c !3> !P%''[,h4IDDjuZ!l69y$~~~ئd|Q!6GGa!g^OhhhKjPrrr+CcGC[釅B(u ^^^J///Eئt|yHk#Bުab!B! !B!p !B!p !B!p<s8}߯/| /R'^zɺ$iS}y!7t4o֜ظX46wmG۶wrr?;ZMvv6Ob\kq;X,zϏ^uz5Hl4kڄß^ݺ7;qY&lc!@ lnkJmb!## &rٻ̞w_.y:a"k`XHKOg)]ɣf͚x\0bRRRxq(xy1?wCyF#ҋ1RV^shִ)ݺt11ob6nL !oKֱc${SOKh޼B"FaqS֕` Q }b0s\LFKGayu$>X W=oL"*#999`|YZoNfM:}Snx?Ç &8(%+Vx ֭ZYr, s, KOG=\mdᒥddf2I&)) t)KE2ei&=s6N6M2vx{y[㎖]3)|QUˎO>l2?=1tLJST'ի_Uq)eӺt:t:]t#ŒGn]ovhߎZ/5o8f4+Id>srtD9=ucɊ2{6r9 Q oK֡}G_ѽ IDATdj 1"͚5ՕvwȑCD4 .>v:T,!f^.S<ڵk0|?po{zt/h,o//Z4/ZW\_^m[&4&ݻve=7UNrJ f5ֳAnsH}7m~آ;)oloD4ҫNO2mTm#GFXQ 88L&QKpejIJ8lgtMlIaau)Lyi=žZs9ZGϞ76m݊h"??X7d~~~4n܄8jp-wɦT'Ҳ(/rM4.SRP jur)9̟ƭ[0Y:oiP^xx+ZΥKɨjJ|6_HHf͚heL ߈&Wծ]p/gW~M&eo84J;KN֛6"?狛VtKffe1Ů1zLm/DqߖcHFT?hݪ5˳j.t:uC+?0ܓ?]Z`@@mf3))ZKHL$96 zdgg|jLkn:W,nEl6J`` f__IMKvRͫPJSUʮdUvVXXȂENO[6?Per9222ͭ'z!0(I']$$$Jl\,_kݮ"tWRRRф[^hH gE$'%T_^Oaa!U?NZZ}o//~.x#oKֱCG~;'Nm]fMڴnˎ>}eBÀ~O\1/gHNNCrWyuiӪ]EE7ٺ }ݺ#,)tSϏ3gϒ`(X儆ТY3-_NjjFgZ/uCCh҄yb!3+d2Dџ۩fb*S!KžoQ^}N/F7s.9˯% ̫d١]*_Iܘ6u:{C| mU=z?8NXgV~s2kqꅆJkբCvֿsޛ&f"F0̙IIlزL&u2yx3+{t}}ǐ#  beE+:PTL<0jKR926D5k򸢻dׯWSBqgYl9#(0QQ,U1^ JNNV0ŋiӦE(ѣ}yUf(Y!6GGa!}9Œ]!B! !B!pLHsssQ"QwʨαBT\u3)yeB\b6PmJ^B8omw|BTb4ILLVGAsssILLl6j+GcRWC[釅Bk2BTT*z=(R6%c !9"> !P ~F#jz=:N$)MثB!mB!gH2L`0Q\iZ&ImU{_<^~X!qB*B!B\YB!BqK B!B B!B B!B B!B B!B B!B B!B B!BpWAF^`Wjtإ¹HkǶBr/UrrEF#DDDVWf'O;mJuB8omVS]Hnx Z&44ʐئT|Qw!s6m9>Յf!nO///Q׉H|lS2>J]\Mc[uOu!YۏB!B2!B!B2!B!B2!B!BvyiyufƓ"3lxxx19:X> 'Ӽy z=K-OAClL&{HΜ9hLJNQy_ oLAFa VY,_RXXH xghhMDvdk6o˯vt<*]Fg c)6rٱO/_f %e|}iy8j$ڿwt,o+f;ٲuFGw`ۯ@]ciӺ- f͚Na<ȿiժ룤䤊٫7gLu˖7ygˁV5~i&+]NFF@xӧO^}̚6A|{/&h0L?q,vT3?dcGX,z?aaa!7׺=[QJۛG}zu둒̏䝹Y{vM_sީhu0ob>t6BB5?1223Gwާ1@&sdܔϓ}pG0ןl7m`窼瑇bȄxgl }:)A|䉪*ViJ;ҭZ,NzFHǎԫWNQ+X-Z+'NٳgM|f ٬>ܱfϚSlSl;{ZM6ѤIS~K}'t}o-Ҩ}t4cǘt\ڨawSϜ:}J;c%)?o+&11 3~Dޙ6x{{#d|\]ݬ6po?֮] F}Yӝ6Ol rR G2nv*݊1q JaFٻf͛ԕǎv?ύi]yu`??FNpqGlX [W, yoywgx߽}l ^8J߿]?y{<ƿ ZQ=q(6nn~͚PT_;6o (Zt廘FڶisÆQvQz=k_ϑ8 hִ #?Kuؼm;cc9},~#\\\/(`Ӗ̬,GD0yx<]c֜ywvg"yaoLzF5x^>՛{(:+uf~9 5kz 7W7w}VW w}76oc߷߱|BkJb;xf06wu|7;qY&lc!@ lnkJmb!## &rjԨ`_p| %iݺxFdw  ]{p5`](@n]y/(`=9s1M,]0? `*<==iִ)ݺt11ob6nL 0[,3cQF f3V,Y?erR?W ]]ߏѤ gdJ/[U+X,ez6 g:}SpR223$jkm~s27nayyWl1ȎpBBo+b7*NQ9 JSDEv81#6+W <,z|2t^,~WO~v%Ԭ΢K^R>Zjq=[zʥKX,,^oq?SXp)QظiԮ]̬LΟ?G~~>9t:N>^ݝ0dff2r(Yz%7gƴUڕU#992228},\K?$'GO+)-O@ٹx(O,o]˪qKI F3x  b\疹 8w-`e|Ν?ϪeKPTeYKyw㇫1(,,d]a1Q l1c\1Ƥq i@@oϜͩS{nMi2^,%㎖Չo*`e'Z6מͳGqLd~:Eu^UQ% 3w=w[AGz=H()eӺt:t:]t#|_ұC{|F0{fLyX j} c!x>xoClkϽw 9{uYqn]Cٰv(^pp|B~O>K^0"<~<>>ݶmݚА2ve=$%]* ׳4;o`jUb.Zo4k-+{,fv33z c_ 2iuEҥK@x*,,,c6؟jhzƫ4wj&R2.j}_.8olںTt$;'߃]Z&8$$M4iӼ6q6lൗƖ69%6ׅj֬iM&UÃ%qV }1ԯWee%mُhdK/`X/{ߏ>Cӳĥt~?DA~>zHJr25k,u@R/Ni l6s1":u!--ZMP?Z&$$:w·}#?CEKn9x C+k~Iwu_>ӻI9x﹇`#]VEsġ*sgRbSTYFZl6BP` P;LHL$cG2b==}a6IIIдIʵ}YmV>瓚FZ7^?Rͫ>ѓ ;;V3e 6]c$n ߖb@ Nv_lBz}۫{^.egg3ctc^*~瓒B}|}|quueE?Gdd$W\l6J@@QoXt)ɺ7c?xgNs9ZlEvl۾?t))'uҙV_qڵmKYa#v@kV]f\_ʊ(ϸgXذy #"~~NՎ/eů*UU1gS+RXXȂENO[6?Per9222ͭ'z!0(I']$$$Jl\,_kݮ"tW(#3VN0宯 a]䔢25b}w~Çp ɾ|Frg۶ MV,{wٗ/]u=ݻuESXXƽh%/Ǐ^jBCBhѬ/'55 3gKݾifO9Ϛusaٳ|q+ ٳc0X, !I-ZLbbku!&DbRG.sYY>KjZ "b0nD J'm\|n]o׽ݜ?ko+Bo(ݱX,ۯdddBfY*222(((ٳS^}VTf3iii,d*ƭԴT/Xv5 Ǘ Zׯ#''># z^^^Ѣ%Zɝw?׫!*oNm_quuvZ4jЀe⮮]Jm䞊*ɕ%,TDyk^OfMcf֜y]P;ʎ:&e߭s3yyyx^>Ct:իO%fu܅1xձ2yU~5Gƴٳw7OvPPPm۴bR*ޞ=ǟ|D||yJP2> oZlX4mҘ&M zԮUn]:d֮ʕ+ {;1/Һe쥦1xsrsiִ sf͠7Fys֬{c^h4Ƃ9Kc=5kЦU+5jxRTL<0jKR92g[a,3KnT*6Gw 1 V/_Z&ɬ^Ǎ~zL;cG?ϢeշAt*vdž-[IHHd2Qn('wKؗs6Ǻu <շ mG^.=s:uxo?ޙ;5jТԯ_tJb¸}ޘ<w;uUռ8l[S&s% !uBxGm^ч@ +sg;ҫl޲q^h4Ұa#NFw5;wU+x_kشy8UTErbޢ Jֽ"g_:(Hk6GLzc7n-v[f!}8Œ]!nggϝr#v9nɨ#΄p]wӥs'<+!ԴAk3C~J!c innnlڥ 2=^B|I_wtU-H[ve(~HMMˋIχVLg Ya_vfee~;lNI۔^777>پ!m]RlYr¾\ƍdfZ^յ\KJJSZyH|lS">¹HkǶBr/k2BTT*z=(R6c !I|l.$7 q{R|M jQPNh(MثB"m۪k| Bܾ?Czd"''`*MڵSVw݅E[$>UT}mB*B!B\K֜!B!p !B!p !B!p !B!p !B!p !B!p !B!p !B!p !B!pWGW@!'ш^`08*jtإJw܅. !mz )lh4h4E˒V{]qk Bۂh$//j5U*///<==9y$5jP쌔Ƕ+B[\C*ⶠ E~OVJNNbeH|lQ=.I*`0rt5n-J|lQqBdB*B!!dB*B!!dB*B!!dB*B!!dB*B`21k:ÆaА}mzS0?OZ:䩧o[ӦO婧䩧gⅱY=R^MĹ^9 /v@}2 ,<<3d_X.՛?M9[}*r!!~ЫJsHBR=}*ޏ?AXXnna͵nwqڥk[\\QL&#۷kbρgÛ3MW:iKe,{PY.Pd"KAx( 2eQIMgJM[$-ܟȳ}NsJ۶OX֑fѽ'u|_bլ]*?1ě7߯/ժVZt4|f'IJNɶm*|ʪ {w6qR!_nٌ^ä iڤ)Pz$շlw)H3L&y ][SZޑfQqwwGVӰACz|+Ul6sIzO?ժVM x_[jU8v~]FʰGp!l\!B! `6ٳg7k͘9#GCR֬ZFN]]dff2o(Jz hPv7?۾md2a2nǎ+xХKW|I M9unh4<˖͍ VYűrM޳TI}{ԓOہdeeQz |<==Ku\{Q(Ԍf7̟߰eЏGP* ~ooжu+:vʔI7; ;lm[qrr";'u6HNIڵ=cRl&M&KfV&LlJe<Ѷ ٳ$3y23)dM4&--ע l63ud`,qFPX:G zfOFffD||<|0||Š*{7y3aC'$8spRfϘVc+ !h,q5mFeUlٶh0p?-˺u\pJ <4k֜~CBB6)$>[nv`2psuaFye} ,oٲkpusȑìXrE/ ;~ys鉧'o-uB Pj5jj}gzף \cCpPg}ŷF:xRݷ]_ТiSbbc9pzy&VGEfR~uk,WjDF٦QЦeKagߏz߯/{={ycx9tV,GѠhh٢9.4!Q#OOC?+q5D~iՒjU /M_W.עse>?.OmلJ̹sԩSo//>Tm9pk/!!ŎY&E#EyGjY#:kSzu<._.V֢y3K m[b΂?ؓ$B!D|||P՜;KѣF6nleo y3濗K.v{O:ӡ}G<== jV F#9t: qq{ܙ|o􄆆z>7+h<5xpڵ Vf jBW^aQXaCDǟE]p#&̓O} z{`˺%(fDGTR)|J%ŕX≉`F,KחWX;vO?ԙ@v M?w㔶M<<<3c:k7nW7iأ~UD?ccP*pc)9R:9V1=TK~N>!]j _~S?# ::!B3ϲc4k ߿Nh,9˚lf}ѯ?>e'!%i=RSSD>9M||wfTf3٬X*URZuCYLl [mpc,]BǎiԠ3fϡiƨT*V -uT_q9*ě7IOOl6J5>k67n`6I#.ʨBh1nNq4mZȤSPV`MYy3ob"Wf!CRSO?+׬!+;}$q&BBػ?F11;~²rJ !!17wwԮEzzzXXh(ua$$$b0t9رuX=ӽ;e+ r[ד/]3BQ8;;3aDvm[ϏF a6Q(4oނ}1~ecjV;ʸlw\ѰA|{  'R(K=_W[YgܩRH%^2O u>LC #d|2z$nnTT*hp6lZϧcGEhP{BmР!;fu{ mWlܴ^uf㌌ |~` xyyQjfNgb#'ڴfټu˲V-[d femӚ]ww@BY2.Jf|0c"*WfO$1fXAc0̩S*qR*3V3deeQ9,n/v)m7mbz6hc M[Ƴ<͖mP(lͬyei޴eLlHtt4F0FвƎ%KygP(hޤ-N,kqԽwsqqqv9W7IJN?_31|YbYcmI !ă4Ǐ'HʚujK/1_gggW #. [(~d¡VBddu>Bvvw/_m˒4kDVΙsHIM%8(>^uyʈr6piz=u潷Zf+l߲sƒEpP O]!B+4BGr؃223ٽW8e+W8},ZUȦ/˳<|0Ԫŵh>1rK2#ۏ7nNT$ 6¥ˈn:4_L||mB!@Bb f.]Ė駞qtXBa3vBy-?-\~Xxgnq{~ISr):|͝CJS,/\gYXLƏMfM1;cOp9*ժLiѬiT^!eddQ̇7v)Czns xyyѡ}G:vxΦe=]qFsNʴ{I=e;IFFgee;ޝ7W}WgΝCRw>NPhB8s,'F*Uh޴ =cY!DŔ=O(&) [ӺUkZj]elڍ%^.ʯ;^5!UT,[66q̙"=5hjϿ`(:mZ$z5OU{WRJ3Y:W]#3+ /^}'gf T'8(d~Z&[~9ׯYnnn\CչXB8hNnW(JK̶|&u}l^.TTXr:jAwkS( ~ظ8<\N7m¾~?d6=ӧkBHOOwt8ŢVjv/c]El[g !o8B!BX !B!oHB*B!!$!B!B !B!pIHB!B8$B!B!BR!B!! B!BT!B!CHB*B!!$!B!B !B!pIHB!B8^ t:*ZFne !B!($:LG;v+W!B!Dl 233]6Jl"-󸸸ȕR!B!(Gl~N#,, 1*JHKKsHB!B! f,1==///[c]]B!BQ4eW!B!CHB*B!!$!B!B !B!p<8&Lsg-?w!<ѲQ7W]cEk1?qdl !B \ urR;Aiٲԩ z~zG.4θJBTX^ܗWhT( T*N`/B!Rktix{YQ^Ol\,aLt:\#GɡN &sՌLZͱ'pssKřgٺqnE[zz: ,#8;xWQ*/^®_~ <,bݶ''|~[:{IF 6}4 7mБ#\/ԓsrO~޽ °!C,CpK[o!l|:a"ԓ~~`cm5|WLl4lXB8^JHmw_@ a4j؈ nݺŞ{0 ݺ娐(lfi FΜ;7Xt1L1ooo/ZNfQcnS͕UK# cg{{ 99 eUkqe&kFe3~"OETRV-Zh֏2}ljըAU ܼİ!̌9sYd)gL+zO~o_ຑ '!ׅ ̚6>dBGJH;vHv-]],ֵ|P0LԨQ3n@#P11-! g>~ٳGiپy1V-..CGnr4 -sb%fݿ8jԈSSfk\v*14עk ZjC? UnSԩSHXheQW?0ԪQ>^+rsqplܲsΓE^BE)|P~3nX =ttXBS)$3obRo";'u7KѦUK*Qᇙ5w>7oÅ,ˋNGXh(UD0Yc2OH .bHyt_JJ*fl-ZLdԌDӡqwsl6sio6ÏGXZu>LxxujZt4ϘIRReG2rXN9CUSEu ϞERJv|v u.^DHp0>>Q/]bȰػo?޸sc|:a&ɲLl,U*Wۇ'O2ќ=? 1RQ9̜:o//&2胡xZ)tҙu7raf~>cF|j4,*.<䰴mӚ]ww@BY2n7mbz6hcPTҷw/ƌ קZjgRYdwSۮE_ZK/rEsPRKovp9570eDm;n2_eҔ?y/ov7/vDΝ^Qҳ6Yh4Ξ;guJ3Y:W]#3+ /5ROϚNpP IhL?6϶&FDx8)pw =vqrLbS` k^g.qB!$)))YE'ɔgA!ʋ||W$w*6qrRy6~;xJEՈ\ W*k\#GANV'+P(|}:qqky888}J8JE>}>r'quuaۿ(n&%Z*?_eJBAgRϮWJ322HJJd2O1&B7i2d92yBbRFCJJ [-( t:Ze !B!(:99N]RNC&_!B!Rwww\\\HKK#=ZVdT!B!!C*B!B !B!HB*B!A$!B!B !B!pIHB!B8$B!B!BR!B!! B!BT!B!CU`@ӑn"KEVhprrKyh{Q!鏬+F!5vIHu:m"K-55qwwiYj{Q!鏬EH_#'Lj׮Rl6ۺ2內'ϟf:}UG!(?V#}Bkl~N#,, ݮT* #--fe8}QG!(y[?F!Dal+ebl˦u<(Q#kBL,B! B!BT!B!CHB*B!!HKKc;~4|||S!&vk\1z*CE1glFLLW.YDxXMcإ+Of2=IhP^|7CDfMˬ|{Ehd?pa._`LJfM˯x^'QZuDk{鏄pa#Gq|ׯ\APP`]捁-T"\!MBp|x^T\t77bI"((=ׯG3k0>sZhijpqF{̏ݳKtzse*U[x)=o n݇aޭ{[h}[mc|DzgggGV*g$$8LuIym290t}իWY͛gdXGRRꏄp>^gy˲Br{fΜ={OM\9fM8U,OLLj@nGy)ld2b2lrl''UΎowС}GZl/ zIMs6A*lOJBŁjUٱ8K%!ڗ[60峩ZKI9?‘T*UqYqBS.RBAժy!4Bݳg7[n!>> v:?Cv:~铸S)$#G[XjNNN6})" zظXكKӱt*9JvNujd`7^ddf|j?+^/Μ=֍pww+rYdٙvO?믽ZC/?$#3u+ѳL)]ݰX|8=խɟA wX,۶Btl,%33F2lh47mБ#\/ԓsrO~޽ °!C,CpK&Bl6gn^'O2z3ڿ;u_vɼ9 ";Yf-~;d$0 q* )wcY@6iF.???^},_˗ŌyMrrr;_nDTT#>eȶ[7`Chؠ?F ĭ[سw[l63y4#sgÝdQ^OOOΘ7-ɉSO3t?fQ6eL\Yd 1:Mf37o2iX22}.NZ-!$89 2{V,^1Yv/]fVh4ղ|BRSSYl9cOd(JԪE-AϚM5V z76}B1g. ,ei&B)99tTbu /1$%%1bH`?‘om-}|<>\v$222/999dz0BA=RH gޢŤ޺EvN6nBMT3k|o$;' /Y/j='N"6.PV`HS~Q~~\"Mӭb6fޢDVNHt:zwN&1f/NنB[3jDGGGi׏Jҿh4Μ=K|} !l+,4u0k|1 \谄o+xilK4*W`Nlt7o``2zJ-9t th߁֭QQ(5+V2p "#3s!(]RNGff&aaax{{ۣRKMM%&&wwwmZǞuB@#l>!(R@ff&kFTb6m]dӓb_t>BYg>G!DAl~N#,, ݮT* #--fe8}QG!(y[K$}BټWNOO،M3*c: !DyP>oK~鏤Bq3B!B$B!B!BR!B!! B!BsHhd?pa._`LJfM˯x^'QZuDk{&칳ϟNFLLW.YDxXMcإ+Of{ڿk Z4kZƑ=xJ^ML&?ףqssRPZlMVQ q6r'Oη|ұKWL@zJ|kѼ1e3ju6]/dqf؍իrD32,۝>sZhh:z8FƏ=V%:9ϲ۝ӧbL1u&66+{e˃ngmٶߏ-띝?qdlۦX˅?h42mT]J=S! .]Ӵi-qzݺYvO?k&!!6)~QĽ+ [60峩Z̙SDEE/&dc;9 Mtv|;Ҳe+|}}yoLl";u~ ${=U* FdN:– QI߿իW_, Me^%R 폫Ujr_Nܻrf6ct= XjNNN;u_vɼ9 #)" zظXكKӱt*9JvNujd`7^ddf|j?+^/Μ=֍pww+rYdٙvO?믽j!ko`E 5l[oA@r|m+|^r''"ۣstҙvmа~}nΕ+Wɨ?BW`]^փedffҨQC ~FM9t.G+/Cg,erO~޽ °!C,CpmE'Q~&_<ɨCvץjZvH`@`-Otrr`]ݰX|8=խ )Mׅ |0|8a6t$\]]3c&|/;م.;'u6HNIڵ=cːik**r&''N*UnѰ|eQQQxTuf$F IVV}sj|0!4lЀv~O ֭[ٻ@ڭ[ e6mZCga5?@RYѬZ.3yX [^ zfOFffD||<|0||Š*.Fe3~"OETRV-Zh֏2}ljըAU ܼİ!̌9sYd)gLG%''F5Zq[m~F||Y7L99,3 o//~?v'Xfa}mZ-!$89 2{V,^)MU#2{,Y0v̕WY~ٳGiپyGHLlwБ#[FFe8tjT%"6d={ɓT;i{>=V @ԩ]s'~ic\|j95jDVV3|t5^F}eh5krjUТy3jDܶU+,mE'Q#Q↓߰ȽԓO !JΝs~*s?>fR{QЦeKagn9ؿb;&MKLgK0IӝJgfR~uk,:VX%>>>jΝ?OJz>|(FyYj~שT*}} #3wΜ=ß"GTR)J%+_oF`@1qTV/ڣ je(ZEh+Ts۸Hvv6iiižlh[Q1IO Ο6GuגUf QRj{s~llJ{OB QKI+B0A<ԮY6KCƮަs;UT<.!U({YvfMf4†DU(=dggq?AL&  rϿ7hҸ1Z?-In+jmi??_Yx{ݬ!11mVؕxe)==INIa'L?A:NqA|yHBg7_ӴiB$"j0L'TQf%MQ}wIg6Y~ծ͞_[N8;df3^Q  v͚L57b0$:Q>+H &8t _mBNN~~~4jٌByۿ&00iO/j`ն;vqc ),<6;vQܲCHhݪ\uBQ#Xb%` 2:3N >e `(Vʳ]tfƍ<|Oa,_ '++aat{_w-32S&S?6ٵ{7} $$8%P( \T*<^YXiWFӰA&J",4{1f\\]hX>ժoRYd^GT*>3_~g֬]Jrt~fM٤\!EP0v(.Y;BA&M DkӿDQǻ~.cx݋ǎ1b=ף(E}oh,_? re& *&E\\M ]~ ?{Tpt7ݻ@)%,C)28AX6((G{ @[htQ$-yhrs{ޛ=\CvapǏߋK[Yɏ!(|<a('݃ y(sBW& $ 5bB!(o]!^?+W]_z !BQ MIIٖ')))FÔ1EnNa H^s׊Ly(sB<(ibb"(kpVVǔ1EnmZ=OVϗy_3uQ 9!x*Ln޼YMII͛deeR ֏)c1 !DY ǣ:?rBjILLƦ\PVquu }:?B}H9B!f3fffڢV)RZޠMSXcB@G3t~#"/?CzV%))dctT*Qȏ(e f1G!D^V !B!*?sB!B5kV=g.ٙ31 Jղy&>DDD8899ѸQztYzٓ!jh#++۶}vn܈ښ |hܜ͚cn.~#8ytǗOOw̤qc[N۾5SnhڸQ, %gYyo|" !ӳGo*W_ںmL7OO/ٴ79}6...hZN9Mbb"M 5 ;VI ևF!dht:;ujժX[pmSRcehZ6׮ѵԨQLïpiZ4oQ݋n]:x3m~8I|BZ>^א93uڴ^=Q*^.عk7zfzSx+7m&EaP(?Xv/BPٸi3~#gj?.#Sz }J+/#G0e*Ya,^;XZXХSGt8;tFؼm)jقz׭kT `;|H\F7^j׶}+سo? b)7Q B!0L`6_"j@\\\٣7,\ gƴY9}׬$22aCGv0@rJ2~~~n!;^NG||<>NjjjgʋhPXV??L=y223s'!fw0kt:LAzZ:ΞGgdȘ< r$,JxCFzՕwYseѼ4u:V,=))>6wwڿB}iZ]]Y8;޽˼eXfNR$K;= M+++LoϷl8}ں};/m_N)_iڰbj>6ήѤ2f$F1F ĵQnIFF~F{ "..>x/>| Q:͚6Յ}2u,WVྙ1<<܉F:7Q B!r2l"d(VgOptWuξql߱T!šffpEc]:v>qlV}v7jLJK#%?)qf@֭ZQN^W^\ЗM4Z@M-5cFl\p WcW.>>fv0K-{{{6@ء| RjSSOڣ׮_ǯrQfW+R4iԐmwPV-GJxBF3::#Gqww~}ٵw/;v/.+rsQ#GjլQk,n^X-AATYgȫWyx؝xɪ}|p_~M>)HBڵi͔34pvarM9CTRJ%+V$&68mmm=m*KVwwhPY_JEV3VRgΞcdfjIKK#))t(hQ7g/Hg̞ߛ61ol,ajXzэ~o1YB!rrwwj@w-vZ.8dh vm_`Æhܨ~Ѧg?BA۶X75jK9e YYY3kGV..XXXhw^]d;΢Qg07'lΠsmNVVqqxyzٿQ7o/u MW#dܽ{3j8B.϶(D>bdW`Pm7NΤq}!JWWLM[W wQvGDd Ν`P(222>s~˗8y˖/ȑôkۮqrrǓRn .ňFuf-3^{{{Μ=K\\1Pt_m[u ;~SOlE!|}|U3֭ٷ퉈,5..DDFr;C|=c&qE[OLN#--9#jUP>hy~ %5-Oroo~)|?e/b%$5-ٽoZ;~BDXP#:ɏ<@VuLSOsy훊>2u,nތFӑȱ1Rʖ>Q''䷚0XAMBFށm۷/RʄF%դIS' Ó'O}{gKXXX0fX6oDXA~Yt\\\t=t: Xmg;Qy/"S sssr4;'ͩT2;tqWB#n1(4iEܲEsI;T* r$ }Njj*|}ҩcgf\?u2nԗ'}Qxm֬]GΝlKPa,X#}Dff&U>e ` 3̥cxyzФQ#+BR/#7o|2K+K~)]M^FTH/\'rJUY"66֨_Ξ-i'OLۙ8@ZN yvcbHMMӓ{gt/X z\FϵQqu4o>-8B!W*H?ΈF /1~j^ybwQ3L\\\Tї[n9G|=HtLLX,:&MJ}Og>e5zgRbE< `5:;WFΞTzu,,zZ9v#CƐ*Xsqrlw%<φ'ERŊ9r_ǢyߡT*Yj5˖g/]ZH]mT"q%TBj%G\ԍXXXZ҈S!BQ~te7 E`L>%˖/e+Vjb<ߢ9}-###׶dž'B#ǎZz{"nO}AW֥~={7i O˖0iX=ł, %##F ypS?@ 9i ) !_iFhZFͱ'?GѴq\}5kڄ4&O m[?s/}ҊS!#%%n|^O}:?B%e ŋT }s~.K1V }1 euv=]'99څe+Wt/) 1NKRE_Eff&/]K_̹s{^v ݻٷ+utxeΜ=K TIخ~)fi__^B<.w eeeo~$?3t~5Q~:S D+3NC͠ E:KEzzl\q?Z333s,Y},_ɩ3gNufŎ̬hZ}nߑX[4 &?l0ZͪaвyBy BܧR͛3)))ǓJ2X?:?B5e 533ïre"^eß&O:E?Dݸ_P)J|*T "*vU/C6nLjj*AHOOgȯfeѭKg<`֜osUחW¹t2oÔJ%*V$<"0333|*T :&qw[oo7pqk~Y/fEsBBkn Rq !DQۓMǥB@Vj>$?3F~1!(kLA V09}Ϛk({~g~[1fD]]w34u˖JLL,o m۔('PbEKF.@,,,HUv:T._^gSa4n{{{Ξ;Whoɘ ;o>ggnϟ`g$?3d~5!(R!OZ/Je;)J|}}IJJ2X:?BE#B@rr2 z]`ȏ eB!B!LB R!B!&!ݼy׳j*=JVV?~B!B*&ٰaC"jժ|<9sp=&O\.B!BoRZCo0b&NȫJdd$ݻwg˖-F%44?L8{3fϡ{xC'z}f<҂;vĩS%~}^}ػ@__Z#;j1Ve?3nX~/oO>d%j= RQϘmo9[jߟ[n('Vg/F^:o۟Ci߱3/]6ZL s/J[4P dddFxx86m… ̚5Ç̙3ի}O>T*ǶvZ4x3fq*UKsgN'N@-J+\Jcj 8Jӓ゚K||<={ƯrenܼAxƄqMq#gV$&&pa;VI ևF!dht:;ujժX[pm(12F~nb豸']FÐaѫTn._>x/m?aRu=z4qqq,--6m!!!i&~mϟO-pvv6J7n_~,ZXt=t:Od>#IѢ٣_NJxA?Kcj 8JӓNǙghР!*Uq&jre?o߾EZupuuܜ3gNi-+Kku VYEFF:&LJS12F~;J蒟> *Ulоd)|;kFe\TI=x/m?ia|8VVVٓurj׮Zf…mXlڵc\~ׯ--[п,YRO8BA`@7Oթ}m֭_϶;;sφGT0}$ ^ަoӲy3w̤qcu8dO}Ϙ+سo? b{6}m,Y\tԩU+W|!'ۇZf9tiԨȀwߡRŊjxn<|K ڵi͛z{Msٽw& |*x3 Ph{._χ1qluA՘qXYY𡌙0q#] )'O{hL^!(0P|`8<=='<24%%`oυKHJRӸam|9Kr%t:|6S7ӧackÊUl~Z0/ׁX gX[[xhlpNjjcs۷d:wBLN|SO}[c"^ſ-cbw VПyX!QIAj@'O e˖Q ЦM\y&vݝ>9Eɚ5k 2x_ը1}z`, eǃxysٲ;{^vBVصg/(r_ף2u0qq(J*xRrŊ≎`sZp~TⵧP({ Z?|3ER+ _qaaTXR9~0OUxj];ΘYr666&ϛ֖~}z>tZF srrBRqyq1f~6t_oO ;;;N9CjE~]Q>'Ϝ=+ԒFRR#ݝ cstL VVVyN-n[l[G%DEEYXm۶ann7|cbbŊ/Nz` ǚ5myt2<[U1t gϝGLy}:;9ƭ۷qws+Ý,b߯Q7oҰ?܊3,]=(J{:e˩Į={\g'  YYY#寰}P(Фh:V XyNՀ޻[j]P ھ ѸQcM)x?1l$_ef?SXS(r{V -3Ts=VdBb"12ǵ}0FtLL/5+ߟjI?Ð ο\>,!!!cYƠSuV6lb2223ak֮ 9z~@Xoёzu2ml5h9nn1y4ny ;wHNNFQׇ@Μ͛t:(+>*x{SO1yܽw/{+Q']E8v C|=c&qEޭ[([xƆйkL2&XV̜;[nIxDW>}j܌%GQsR,##3 \|'OlR9L ov*񤤤ۼvO//F6ŭ[8|0[w?ޞ3gmy#غm+y>ɧ^Nll䯍stpĩS9V:{ĩӧ}ATї:k3ܾst._ /V~Ҏx 5ݻceeɓ,>CCCs=ꫯҤIvEHHk׮5/PA~ܥlÿ`oz:ӧLs9i|GDҼYSc͂r%<[4Ϸ-It(JB#|>7zćȫB#ȀA~=S&Pv T* r$ tz&N܅ %Kaݸyy ~`>NoX3w޼bCP0jT*1ˑ+ry:vq㱰(TqImyhpw`-¼E{RIxxxgAܳl}=.rABƎb矲lUe֮v]c~g,[a ߓҒ_Owٿ!Æ`b"]ӿ:w+:sV>>ӛ/CwgV sB_ΠO>cٹ{wxplv<ƣwO 6 33"Msӧ͛7_?/С !cƍ<Ӧ?~)m+?(.]ʟ-U ٶ!gH o߾,X _X"ǷN˖-3X|B!l !8 5:йs\wۗ?߹ckB!DGl\:K/|9/bo[G!Ii,rJL#x7M!x`kkk0J$%%(}H~ Ð1Dv֭@ll,tz5:wx̷-ģtC _gP&eEbb"YYYf`̏ ʶ6M]Bf333#)!c1!DY$ԨQ#v+V؁\U_~) ecc%III$'':"QTPP1222r|\ݻ7c.]ʳg\VeffNNNLL#K R# /6/^XmYg&%]:4lALL `mmEMm Pڿ\KYp*W6BdB!)Hg3t]:)n1np9xs'HMMrx8:*岿7hRZTB!x\HA*D x7nk++bbcyW/,,IOOg߁\RI`` B`O<]).\Hzf=^UγW]$`TRNm]Dyp 폡KQ:W"ħBZ4 X\ﯰ\\tGr/) ;[͂dӖD^:  7!B'FhL02* #IΎ'IjZVVݺEZZ+U`deeW_ѵkBidfjh,DV]FE&͂qw`;[.( cb_oݱ ssڅ ~OTԨ^ ڒy3l޺[QR%HHL,q~ӡRҭK4?x7m+/P( a\T4|>޻{ЭKڵi͡#G}'ڵͳ!B'/t ӓ"^JJxzs5#"\ sss޻Gԍ4nJ% {sss<‚X~pwsʒUH]KJ"5>L=4lVVVQϏk׮h߿ ..xyz1eYR$&.T,Q~接%lޜ[HHL,ro,> pttDP_ WB!9R! ?.]:unܻwȫV6n ZFP": g''[ty{IPjr^}#Gb*Rz8;;Oa!!!kkGA*/JԛB!ēE R! Ŀ{ŅG%-#__t$%%aooNTTcSڒɽ{"=3n]{(\]\hצ5ٷE,z~ &U}媨t:\!a2e+a|T`TTRJŅ=WE{G*x{g~RSSj9vtVR9;9={INIArN8;;}.jt:j$}h4]"99 <=>KB!HΐcZ ώ]iP1??ѤQ۶m<˯pss՗cmmm^jז XZNPB6 ;o 33'''] {;"G{.YYSf[z>GYzAA&l\ !B! é3gHJRccmMZxv-SU&IB! C!B!Ba2eW!B!IHA*B!$ B!BaR !B!0 )HB!BB!B!LB R!B!&!B!BT!B!IHA*B!$ B!BaR !B!0 )HB!BB!B!LB ^ IDATnjFa4oݻ7{1uhB!BX^x&NիW Ņ͛7ӵkW&Ol+wc9t/uDo3y Kf9qT_߭W?PחOq=(-ףh%BQIAj$ǎ3x… у'OuV?e̙I1u,.^̻m\])qsgN'0OdێnJcj a{G!E#۷_ݽ{7o~~~xzzo>իә4i~~~ԯ_VX9ӧO/8D:'Oһi֯gێ̝9#kJ'O ^ަoӲy3w̤qcu89333Y|{'!1AA>;nPf ՍOHZr2~B}jCN x*UXv '99Ç]ּ٫gE]^/sn4 =͐ao_ԅ7^MIhX E}֬]DzŋP(w6nG:u Ƀ:r SۚU8˸]:uKyS%mw.^įkVaRKAе;v`m$'Ъe ~)~^WQ- CKaٽw& |*x3 P{G!OsS8_裏(v7nԩSaԯ_t,-->|xr ܻwO R0tȧ<}ޢyp0_{@̓"bc >>HҸ=.]")IM rH/YʕƇ܌/FNtt4*[[n-w̚-}+t5L-L +Va#i<kaL:kk+ ;_|!ϜkZ]]Y8;޽˼eXfNR$K;= M+++LoϷl8}H޺};/maM*c&Nb#h԰III\:)gηgc2ȱ)HFf&̚5M*}08>}<Νx|^^L _i_B!O R edee5kVf ˗ fdffzMFF'ODT[*q<<=;s.^bȰԬȡCqrrՕ:k{^vĞhڨ11 ]޳&beeU>dzmNV- ՟czu@`6n\qEGp1~a>nۯ/eǮݼb_E ޞM8v(߂ZT*T*>Sŵ\9fW+R4iԐmwPV-GJxBFjNt,9s5j@566.]@KF } @`jQjU>W"Mch٬B!LR9s0a:]Г&M*>ׯO:ux饗t}MԩSmJUjqXӧG P|=egVv={ڹ#7cw m[bמ 8}]J_h60qq(J*ڵi͔34pvapttΣ֖Ӧd z{OϞUkۘXJ%^^yTx,}FeRTd=>TB!K r'OxzٳgcggGHH1{"yzzP=0Dc͚6a\|W*ΣNN3mSə4nݾ[pdee׿Ӽu:Q7oҰAȳ¸8caay ÒILLã}, ;|-۶3h@\%' M&X2 ޽y5v ]Յ,n{\R{84!#BLJGk# xUdee1sLN9-ZT##JL%NĎW"P$w|25:1rrr+S(ҺͳITz}6]nz/k[jڵڷo~}-bI9z/G?[ƌ$ʍo;}NK#[Sq^宨{fG%IRmMWL$+iNJbZ|oHӅ ٬z䇏LPH5rf~z䇏*׿SdǸv&=/O[o9i_&?wuw|6\|N`P۫x<%Ktʱ&Lڰ~7Z>wLU?>>xKe/ڴiFFFf݋{]}_|E z衇$I+Vs='g3k>,l8yf=Iۭ~Z ͐9?}>oOA= RE 6lSO=>+?ЌY%;5@*s Njrrrf;}zB<?;C_2Z# k_$W_I7K_=% !=׿ /`P%6d뮻t]w5#}~x.Kv.;599)Iz뭷o\e:Jf2[ZZf744={:K/:g ePH3 ĉa-<̬c;wLq)>'&N[nj pX/rlgdݮ|t%ngul#-Iͫ)??O߶E&Iz_MW_SŢ;nۢH4_> tNc$)!)ԵlV42s86_}jkj5:69T"n߲EPH-۷_M^&鴵G?ٵw>u}n\n֨|"H::FE>zt@VU/PE;:ҮciR-*+fղ: uhN]-I=r_tl6 Utzz迾N%%(/?ɒf dTQ^9EZ*v8tkhxXccI~*gcȒe]F]:oj|>uua uvvO|Be2TM{L&\N&7VUı}X,3B| d/~X<>OkGNϞԒjk@.KRjtl6kttTyygT{&>;C nliѣzRDРǣp4*IRaa&&&TTT$IJ$&)7E:ݞYordMW+ m-ח^֝M&)s:HDPPZAZ?ϞHLt>َ% \3J몭Y"٬m-_Z7xbCnhiQ(R<׎*hY]]ks9rWT7T`rRx\###;rk _DB~_~cAU Pnn/V$Q9P((Ibzc[JK,l6 jbb"nϷ*09H$u81C@Ԝdcl`Ybf-׫.ZnXҥjimՆ8wUWַ_BxBee딗>ufҢyV\L&]yg}NXTNS^¤FzM㚚:ꫮ2S>mT\J}rS}ڱM=GK/[VCS?Hr3$.zGaÆiQ={ qw6 |y*}g)/E=wڴp6a8K j޽+?/OWҹW]"C 0Kv  A @ 0`)R!CH  A @ 0`)R!CH  A @ 0`)R!CH  A @ 0`)R!CH  A @ 0ȔX,&#׫`0(;竤DXǟh4^xrss 2ywҥZx!u[GUuu***TPP =㼁 WeeeUqq!u)R{)vnjbd2͚bJ$bD"j*IpX{֮]Y,% % MMM8l6d2d2)G;vPiidn2@ Xu-ZHCA4ǃi V\=88{I+WlV<OMMM]矯,U @H ΡC٩Zj&D?,H(hbbBݪ3\1:p6m$9=c3ccczР W @vH Çקj9dx<.ϧ^UUUiٲe^+j,7]fYHD Ǿnutthɒ%*..X--..֒%Kѡ=88kƍX,+bhƍڿFFF2V7F ,@@T}}t=O^Ci}}θP({jT艛 jzw 2p>)`Aصkt:e6gϗlTYYϸݻwQ=Li~~o߾ \ @ UQQ1n6_ENQ|>-_f'@vH^WW7gcl6UTT+>,IY_PHk֬Qwwwc9)'i||\I/՝R;W~;tM7]34r}oMW4vyyFR[0y<9NlۘL&x٥lD6MEEExB[np b.՟~/Р? 5fHZiiU\\tD"X,&@XLhTR~.JKKSj#{ddD%%%IzT[[˚%I&^Mn0y6ҟo{kOTZR_pX) SZӿБ^՟n+uJ`.<ϙ@y<!6VXL)ޮh͚5I˛u<4Ν;UUUr%fHݻŒ6h``ǎbNy[ۭ={(&]w P HbFGGnݺ`.`^K$r\GFFr-x猞E]7s@ VX鍊JOOVXv ]b80u>|8KRWVV&˥~L9yHeeei]ZZ*˥9=|;)`ދD"jnnV__< %~|F=^wOO|>_èSOO \!ŢfڵKP(kB!ڵKIoFQrrrn:) f“ jkkӺu딓q$)`ArjhhP{{{VBi(R{{vϸx6L&l6Vrrr;h4x d* $IrЛ2l&LR,BƘ?$2 3D"E 3Q)]@4 )tQ(jQ,J# @,˚1vEkd2|sr嗑L&?<"1 !@f 'bP*ٵk7K.gvќy;jx7x;.=Ǯݻ}Ua,gp`X'P.ƛoksu00:6ƅ~\{ _< '|o5xw<\tO/]l}! & ,_+.O|XF%riS,Ixu?)X'Sy ,c-8Nm]^<\7] @fpemx-y7}voUnd;{XvmQ8u.ضM@ǞƕW_Ö_w"P_}e CZyFwW`|o8t~J(U'-~:Wپcs!Pd1ض{Zݛ`%TU .do.WuN99n_}Up-@nڶmTUC*UHXr&K]Ç3::KBCyEE#9S;_o`xOc :td8NcǿFF&{q6?~A<gIkmڿbx/{ҋ/"cOl'`P.W2fC}i@ɺ/K#/cYCanz:j>*n.sŕ$ >fwW|,rgVN[[rl}!+g,VH8NBPMޒ#őYru;IW*Qǻ$';X,F<gbbvJb8S;]hןL&[rVtR4i L~^3T#YH62 ma6 E)$|M211Q׭,ˢP({*pCY< ˄ ; zSd 4806+Jxh1x$Sȶm,X@6%T*AoLXRQaH`#"3RD@$"0H)D"L a SD@$"0H)D"L a SD@$"^I~L&3&"*^6m`y ^ dYk",[ J=V>P, 8n;-"aHWYerĽmdZ Ne(ԃ t%&mo 칈| nQ@ /dӋ|@  C^K^k h;_H5|5SU~: Pq$O}[_JbB~[L%"Eïc?60Y17kf2"؜g}\ߨIENDB`docs/reference/gtk/html/capture-bubble.png0000664000175000017500000007063313710700303020732 0ustar mclasenmclasenPNG  IHDRr!қiCCPICC profile(}=H@_?*;tPĂVBЪɥB$Qp-8XupqU?@]%1ݽ;_/3 fdBV+ϊb >y?G7gnXSy8JB|N_'zVX/@*IҺMY@^J.yZ+@*IҺ$t+">_&CZIRI#N~//Cfu $WOCh C!=z=} 8$ID7p p^E$IAG~a k"I|^N* 0M$I*D5{ZI$"#s1C7&$I*DI $I DB.9~$IDA YC9I$I {Ax $IB!ɉJ a=$IT0z .zH$PAtx2$[[I$2x$IT Z n?vC$I C!<YI$2n ]BXI$2E$IRIZH$at$j-$IT0aT$IFLZH$ath2B$I=!< \k!IA:H$#i^ZH$at$B$I Lp$IRG_Cu$IRG $IR@CZH$#!:H$#^ZH$at0$I@z [I$uDZ I$:@x1B$IHφu$IRG>$IRGsT$IF0B$IRGAu$IRG}!LgK$IB8:H$#$I0 {[ I$uD =A$IF{&oc-$IKn$I0 »$I@z$I:"@x ®B$IHOu$IRGWT$IR!K$I*X =#6T<FG/ZI2JR!TB%}"pO'-$I$ xSx2]FCY'I@X l lLe$IRS AVBX[#i}g $_ P7S_n7,'5IRai02-$$)ߪo!3HT:"{"$H%#i%O8($I %aErrì$ճTA"Od$IR} B qH/X}atfe`ydk.@*uXˠULج;+ޒ R!eP(^7N6&YkI:y[ u2cIIt\/I$$I $IT$IRI$@*I$$Id $IT$I2J$@*s8dtPzgJT$I2JEԷ`t+ֽ;kGZ@&})$IRiD 9Ϻogy~—BYtRrXo{`X}݁gsXB Z_&ITfj"((ˁ~m+׳>+HTt!1JX{BӛX.Clլ[n kbֵ-IlgаPZ}bjSkgK-;ŧIJ''5[v5u#2f}E# 0mcsJd m`DVCˍk&<ۄ&u~k@;bZb?ڦEa5RvcW^&Ƨ-( d @X#Oe%bF-m^GrXE0n9p++c!tG#l߂zHTʓ@"~V%/>VY7p'IZI/2 ![TX{׵!c=$I*030ZHw:y1 A0zH*OYe&/j1vē^^/I:JqY.K| Ňx8>$$>0=@mr2ӊz,(3@j+i|vB$28 \`e}+ JynH{ZD M E 9{kBl2,y欅7a@^,TYo-Zoe Xw)D C]/d ֢^1z8\^Rbpp%1aZ[bJঞpI0d)_UArʷT*ǩX}׳ pPQ%8{ܛ7B8;x=_v_ k)QZx?cMe g>0@Z0v=ӇxhX0\4>rp5\LhИ!.'¤=񍭩 R~M/Zp`g??Ŧbxd %ixj9?2O~o&@>8jv#c Z KamPA !'֝@f98:y2[8bm5a$}֙'ra04urȼIJ#w@j/Xs:m APQkݯkd[݀/@sxZv1Ծ;^i~NbjGd% ;]/OѓEzŠe0:99{i |fy6o9ћd c-\_'Q]`V5t`ɣZj|j*b8*Mҹy|9_;4~] f5=@qt˒ʆ[]{ =+Yg鿧VQ& h835!wc-CxȾk9x25X,<ܜj-run d/PG.K`PO(5B9l4 /m/hy^=}m 2dcvLdn,J#}5;u,~?.WZXX+IP{B508o)6JfQh%\n*%зHپO ʿo&/]tCѼ`jHV%Cs~2P]/UK% lad2ԼN῭s 3l3𘵰joB!\?~ 8m5~NL% #ZH1EUPj B8]Pqs\wdGVePKA\;'9吊# +Q_Opm):'gsb@P&;Efb ΅_cb ҁҳ rq n{{(_[$l`ʆ ,W#4;"^N'5N8ײ2oCض}~_V;X<c as?AR avpXM&@fKY ^fOm~/~A&=^}o<N/埀AfE%\3NJw,d6.x7ݡR@>iz$zkQTgkPq~vivU;^EÚ_g$lz: V|' bpM"|48VG-\7o e :KN!W~%| EC Ce(!TV+r36C?AA̿{]߱ C Tdn7七`_o`\G>ch?eE Hm!B)p {5?5A{P@N IDAT>  `~0(`u#bzrg '\1~v;%з٨:a+-,+LJp1I~䠴Wlf}Fh R+Ei9}w.3%02էszD~vF`NpY?4_ft%07 ΅M+SϻIvI K[XhMZ^w KA Rpu'[H;0(JKaDhӨ8az~!\+8FwtbPTB+JWY-B'3 S>eT2P&pDY]ϐG[qz K@per{pat{Lظ,+P-(r=ɦN}_^U_{W%m惠gNpa ] L?DCVLfZ`0 I2vz GÏ_eͬw,.}? {PG݈U۳T|ÆwM1x@*W9 [H;g|2˭G1!2LRĮ@x~1T+ϯG7F{r͔^-(QRzJ-e mj@^9 ۥ :;V kCRoBAKQ_UC] @b+ilhT@fa ar+2$&ii+;ӛ.*U=rj+-h}5N9W:|w:aL[֢S|̀>Oa֣ze`P sPՊna8X5HnWAwϢ`hC t{n1BZCɛpHrӛjTR/M+J~@Tۖz!lY?o 0[JCocX`v2+W8 A۹l +&vV?8=Go&]FvX6=6ibja>3sE*Cd|z3% `sn\e9Nwԯ3/8G2pJEH`+ѮO8p_XNڝ͇A>|%=l'^(L6cJ:eӗ|WV+a5pvjsw<_gck03 n_UR=6L1_ a븏%pt%ONX8.Yyەf/kzx ̼͆U0q?3RSb/yC/-Eɦ[ ^EM}UJX ,%P^ /Vwl wmjO)3~fy0c63 ,IqVgH_/-. }| +;P,c-/7[iLk50{mB? Ad~_Ka{ ^CZUY@FB\8zEx W0e*?pT0JJ ph7%_7[~a& E-?ԇoMB2}e_BNv =l(LWA{5 c`''@W[b1 >|ӗ% )@oṱk@rKa}x)ԾU@ CϬǷ[P 0.w=Hri8؞݄KhC֢˼@MrC8pJN?,B69p;0*/`2>p88K G@=8z tǖ~VϏ'zl 5Yp%p\E|lu՟ T‘ 6|Qw]k<99WfUCV([?Cp׸Ox;Vςَ~fJ-!1E. vO[{O^+!㑁.L9j}\ϚE)(+Pu2TGB?B-t }rېQ@:5(~|L4dCNU ~j }R(m㆝}@?)R>FBP'U@U- %Pz pCDzWem|_# 5Z*{ -`վ AE?R c pX'$d)].k=du/'0$zZHmd6kVy߆)-yXlGΐCfh5l?;,EQ3n{kzHU9𷔣 +&T.6l)$HonqLMN=&8rd 1 \lQj-[H+~/Ȭ:Km xFdV@wCؒql!JsתCF/N$*`e f_piBiY#K|&X&BڱA4Cҗ|G;+!A$Ij*n=!I }wB~aeF0H |3>%u.: BY*]V&%sևX$I 'c>`.t'M_u~2}Y ;¶L$5JK`FEj$N+ J2 $Ijm0S<`B{I }Wѩ%A.'Y$sX(i p,pч偰z&T[]I l1<|IR<^ZTL.-y$aw#Jb\g$\ y L-p-<='"@IQ~i8T_Ӊ'I ڠx9 8'Oy70%4m&qeߎ$׳[O X4j U}+ITҺ[C} Tt;RO0 p;^Olzd >"AN_~JN@ֺ͙>']Zms%aT@F $n |&=;7X'#\ܗ&u9zL$NO;xDWIXҰȽ&ݲ8x=d"_:&A5fk i_|NmY-a`HRfRk q98Wy/NR_ -J'^":oTZ>IŪ{3! 3n[:iii8@vz/T8xv r8`ҕpп8vc1H%e1K8]~-b8ͼj$u@Za\A@B0?rh?D<-`Xt\$_ >.%s9TVRgaZ$).m%@/Ww=#d4L4?ݠ$)t1x Ÿk!3I*@_hzW'J v: 0&p*?IRDžW!pd5TtfX3i 8*· V6+H'.o(ݐF*,c<͍ lp02o/>öH7VzY~wYc$M m+-i  -A!qÙYv"q:dіD`pꮗ3zkk*Ø08kJ`|gK=XǗWz&}a`%p3@~BAc:NM{*ٱp] 2o\2&)i^σạ(:P23k/<N~t-lST1rl<FJ[_Nf#̂}mc10n 85Ӿ3ä4t-trt' P a/oÔ!pgppI S l|*z̗TPq Lϱ2W<qnl0 8`jaFɶfBei0u.bjgġŏ%'] ¤9vz72gD]K>ʠnCylU~ 0ww7_0ּ/J2 %pG Y$v~-B2sQ~1<͏RX`LX Av0z)t|97+t=ӁܕPW7a)ɂO@f_  gZ6`ӵ0b8}PVUX\ \ qZEIJM̩ē^mTN[ ݗt8X3j5l8p3 0Ɲ>}knQ<Z;g8*rTg)*[B;L{5}n1ls/ Ч: fJ#~,$5L߄k au7هC_ʾK͒uFA`&SAas34pCW\CPB,p`S#x훩}L9i&t>/*_{!ĉ [$m$?a?ECA, $N< w |> Bx(& Hp"L ls$댁e0uҁWW65} u>eu U+C ӿWsF w <7T\xS _"ImY3Q jpk1=ƮW57&jg LA?-xU-yo`mpH Զf ) _`u </bTe{!eB 6됙%]H&8` `s~8SC8i38X "ֿgݘ K'Đl 3aK;ҵP6:{5OogQP3~O&yG=2q6X˓Xkd^IO߃̭ER1`@Cj`r5(7> GG4@Y&C'ۋ߬LaqP^l׃B+F MZGKa1c7W60XG(zv]kxĠsp:lDi(%)9X:RE0oP G&}J6Umಎ|ņܜr N[ZgT G1DuxCV4zWC7\WNf)ddžqiq" $~3Ýmw$#|[0 bI{z"iiN_Az~ oAytl%#]k_j$baērꕩ>)wUפJ(t қtD \@^D܋ޫbC@EbEz.C'$BBz!1ÖGv7{f={L=3|o{dz/7Q`^jS0( 1;' 1C_w.Lמ{SH@֤%pǾpu09 : -'7!n?jLW;{)0dFI@S\JVu0ݓ;֜V+;+ǁ{k#e.ل}O"Ğ7!KJR|Om&_}MG4e+ rt:7_zWguF{Y(fT*̕(ush^l 16g|y!6 \>3`7zb?q<|8?U+.΂x kPKbp IDAT̺H@ ,W0gCa^^NĂ70Ik0r9, TbO`yп^wN=4]. [ ;Tx&.O N_vxz6~ Mq jm*Z.0 ppp&8Nӿ@<>̺Hw~d<ڰtL.lΨ '#*h~*ѓw7N tjoi֚Ǹ?A Vw%ߘNGJ7{NW/h8vev |U' #Ҁ5H9 ROhy/ @:1aϥي:Jz ?eO6=fN?~I]ha9+9?66=?oD9 '4Ǥ~_dz/U6 Z??/Z6Ewϱ5Ԯ_H=]Cg;bZ;l? /nd;oשKn1 bFZ .d)_FK .<,7nN'{X7i؊Bi0:YUMe'V > JnKzVfl~ԏˎh-$uH߀Wgos̩L3q,a[j&ċ(O28M-,d-=`e[05(0.xXV `2`EaJJO7x',9,KJaK00tsp{!4Yp\= h)ikT~1^o7iۇۤ07g QU>@f-$uH7vC|b NKu>!~g0u6̜s.Yk@ߠzH)h0y.zyOEX+o? ODJBX)Nia$xrL M@=:\1oӬ n%sR]/L7`0|5MKH:st=iuI`9.̽6%O/Sxtu<_$=v6hWatet23r'%CjөWzH] /?[-)x*%$,{\e%ӰpQ;@l 1wMNXt'^/4wa| ĦʎߤW@S:G+m  o, :y#Hcn4lbJ+>?ZHW =፹0w+nMhRx0XT G@&2<rxw_]A i' 4sXka߷Q -H۞\ 83s3`η୭Jh~ SaGWR90wouHs]G/=B7C_!sfIpsg_Ր痄`>ɽ pI6r=#JSUTmidOJ 9C+̽.Rjwߌ>_ 4yzi[ 鴝VBR1. $I _ E‏6Cq껛6ɕn _OD?k!IR}L۹2/VmV;8L8Tqk3W$IkkJjN 8AP>{V$NJ jJH3R4y xM-b|dIT'Ag icC]MTFmVq6ĕA?+z&7e􀑑zőV+e`SvJ[ IROhKÚ:~՚5SZ0A?NWVbL>u?ZHT[AfpLKDHq2xO=n߇8:HT;sYЦ-;઀m <RUYX%_u$wFʼ¥:݀S)Ouk@i$I=/bZ2r)m+\>SidkB8:HT] bB[6n~i;4%rZ䢵*} Q$U91簕L`"/N[_!\U*8x3UץhGa)iAv[n Y Izf8p1mW1x lmh 1:H};/ sQ U@+̳1pgn' IWضqu$r42iY: g|6ifn6ui);/$I+9d@˭b.'_RNu$s01x%(nJab(k$IoW_¥[tj*VY1y AK?$IeE -~Kң@zG.VmgiX[Gl$%kYzHpС빭­1ǒ$X1Mi9 Dв ~`s$9<W+nqg~mbeW\IԊ.VZexN5i]B6fb-6~ܓ$ul <.a;CFvm-ZNM@*bі>o%]L-Z6xC/Ijvk7Ťֻ?XBiYnhzIR:؟v$5 kL+e`|niyq;KMqb/e0RPb8,beFKLA\$5-Y1cOX7ܦdeTjIR38߸aI,puX18~ bo$~_f}߲i ]'%+ѫhs6WociPzCAV&^ͯ )p ׁC+I/7W},IOJ̈nWVr¦J~&<ԏt{5Mwҵ^t,U;GI`:n%'B,xB,SW66jPzOT[bv~XbB%@< b>jJIR_0#>DLݲ ߵ}@zk+V0 )=s qBIR %]Tv>0Ȳ4| 8EOn~[9oK Ij=s s p%iP׀D*N_}^!f7!Ij@Z̺1uaz^'drY ZX11.)VtH07w0[Ʌy i1a$C)jPzagD]9x-'ޒ YCkgA&Vv]W} bN3ӸRIoR )]%iPD]:ӭ4IT]Ź7ۀі%#]ݭp+uIM#r C!IQu]-([7j4ȿQ u$j&7gUPzLDx8~gS޴|$I+g 't+Yղ(uo@~-/ͯ嫀zc%I+k+5%Q;+D x+$zu0/il`IA x鼗Uxd,Z\ƻ _MCΰUI_}~;ff4;Vcj3#7e Ic?{H,7&=W!{HD>Yi{H/5w9T+H33jHTiNQ%I=RIMo|'`F*d Z7"M~[\cU$@*I#] rSURI-JI+8$H%Bn$$A(]XDZd _'U$$:N$u׀ X#ltq2h` Ԍ4U&-3t7"3Xp9´#-d UkGCLg[ vVnj)${4 )LauzŧF%}`[K'HJ٣FgP44#"}Ru[~~\QӖN2٣V 3 MU?&^S̯eg%?۫|o6IKHc=W~cH`S]Ђ5??l~#`3[$~2W>zɒ&UM9v4`NcU}W7{Dns@5#{HU=jn`r x*mRo}]l{0306󁏑   ػJRm{H{ڣQ^z{H[--+ODsiHK3ґ90Zwa6'ur+{lg߯X {H%HW"+o|۟A]d%l,* z4^vgW |*)|=`n=)wT?GXl㸶dH॒fTRIhFF_hHU vNx#Uph 6Ρ}!=x<ǔUl&LOq):e>TH%H{G7{5G@SzzEg 1o@ڝ<9g:/n Si]?ڞŹ$^TH%H{G7{5G@M>𣀻<pigԾ /= w8lJǀ^ߧe۟A>gOC {= V&68*yzK7N xo9=ok=W,K4Cv~Bi{֦.H%H{GV}ѣa Uop^ fwOq26oΪdEh^].G~.TR[TײWo,mgy%_fFg=zFmJǾ>_7}=_J8C%HU?=E[&Q[hrG3R}[7GPd݁sJ4ݏHS}Sd U u֣հGCj|G.H,*z^ 3%_/- 3Ob'koC$PW=ѫa+Y m/|,O9ieK[{.&Rt"m/ҜCi1aBj}e>6ӳnDwУ1d鴝pmҐOr󐪙<9,^?Ȗo<߁4L:Ȳ]@ǝX/9~lVC[C YJ2vݣFپ_`[i}%{e]^alsHY TY m*i QrRsj~MIߖ/+]mp IÑH1:! i{4zW{4 2V?4W ͍\}.$mQb_)@ x q2HfѣQ^z0@'ˁ9-nA竱uAf.1\z[L:#u'ò}>ݍBپ?~ mNA 3CD$HѣQ^z0@Z'*:k!nx؄%B FF5z5G@*( B||J#-F jH%i6t/?Bq(Kzճ7IsJp_'A >+N/IR P84O LWKRIT` 8 |ALe $I5 /iKIIRITp> 8`*$Iu0H  <quT$: Γok]d $Iwbm"$Ie(]ߒc~ x3/T$:.Ɨf]d $Ip_o .n]d $I7sG!&2JZ҅y9c EOì*1 P1VSx&wضk,=7I==On>y# _}y;L1K_B=e>02􉅖@0P@#,m?/A:H>_C| S}5I 81 ODNk*zr/=$Ii 7GO a`wr!&q$I @:?`p<P p9mM! q+bkjĝ$IF S~yN΀ hp6nim9UkB!-;*IZ5p^?2IM:iw&P:{jʷy$IHG"O/e[|B$G[[sZ ֲ$o%4CRw&č'$IOiV"CI;ttYviVyćl$N }oVڞoc;<$F 3F+0`:t@z%Ij@FV c^M:jIZ#Nl ܚCiMҫC,IRkҫ m,;y9o @J+_ oD`,ppοA衕$m[74F :υ8C*IR5&Z3x) :C)IRkַMgڞ8Z!IR_k%f =I=$5 =&+h{HȁyvT -ah s0}@!FA|5X 1)IRsg6-㝤SQG-|Xߕ|mz%Ij@D9x&ix2O b9):I/phIӀ9 -r(<9q| !IRҁPum\Ɗ[a|"r[ /z$IjPZ?Ta}"(m y$Ij@+sr0}Ə!, 3!vHԼt)VF45jY҂EP}q=?-/er$IHw xJs0D:ߋ=q\L 0H{X u`=i9ָnI 1KY uaJN´a1),y}sp$tim 0يT(6ƗNVWl%.4^dy AȡkzT}uozvR_ے*;x&xrwS9 CQ \t+M"c$IM!Ԁ+D{H]ָ5~^ ~ lpP*i ꟁTTKO? aE$H%I}J$MuՐd $sN:U^SG\$$֡tF {"@*Iu(}9րتH*r $VtpBNIRIR)~=1d $taI'Ժ<]"I`ۀVuD9+S3GWV`0 xXXa`k$Ij6L 8`+ҡjeD&GA=YpfZUH+:m [I˲:7׀{HIꭞ < <$I=09Ek͋ƾOuUlPw%W#1Hmsgg$IP_+o pr!6ݓԳi|Ԁ 82V]/ |4wi+ m/i]T:>_ti94OlRI/N.8.>Y4D)L7<ua-^I/sߵ٤@+q3m ݵmgVpSnlz$I).!th[rcH¿+Ҷ3Z7h N~#HsiF p+_Z.0ʇ+,cvn<%_j $9Cb|HQ[怱%i*-#]RmbB㍹\FZy|4z9G؆4{[iwjI ]3kmRIZ)o ax۝4&X:WlJ\O485tsᾊ $fX}#k&O_Xt:|R]4Of{<(?E<`*ܷ\_)RI2N'ݞjৱԣQ~ڜBЄz9tQDw]v?*U$ٺMR z4׭|c|^@*IVΰ𸀷_3JWڳcqk%_pCh{VAT$#X|&lS:>, v(§+3%_/%A $Iؖlhٮp- Bn|,J^\}_2G| m'T$eIo#H. -V~/v]9%_v/_XG彝=LƐ 8mb $IR#-p_GZTҤJKI= xO+<YB|*{F~I=_N N:m1|d &$I@g>=;yҍHwv¾gV-"| $IL&r 84臁׺wi\:^Y#|bWSI F(̾# A%,!-r R @qp g.Yt;IN&-&8.kVZ4u*p0':@R$IMX%Id $IT$I2J$@*I$H%Id $I $I2J$IRI$H%I$$I $IT$IRI$*XIp`eP 1JJ=c L $5aAl%$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IT?QIENDB`docs/reference/gtk/html/check-button.png0000664000175000017500000000643313710700303020421 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d IDATxyt3IHfH $ADB)TQDVQ^cJRj%)eQ 2EBY1K&L&Pɵys~gY癇|?{~y€B!B!@a<ҴK ݦXKlBK,4_QHp8}tBoZJJ @ hݞG !ĿD knj\ |+~@Ww)0_30I%/?8&<B__^C0#Bkcx(~@]LWLBwB& Ia`B& Ia`B& Ia`B& Ia`B&  ASs#ǿ/zfā\AzZz< MMTtbb"&ǫMHl҇G+œK?rqEd2jʇ_q_>|!zMz:N}TUqw>UrB&AUhooGUUl6El/Œvz ]OJYH.*@cMkJ z_'{+ ..BVX摥MOs_{mw0\~xQٴ8B)))LD3oDߒz4'Nkqy|7c ßk!L*7Tȴmu--,([䶙3Lf[ZhmmEQTUPe'L$QUU4{7߄Tu o@9{W~ͩV.[ګoH|7?'#+q#3A\/~xzm.=45+p߫o,._>[NFz8NHOKfłbΠ ٬|Ȑlno#GrT]SÉ'{=TU yk>9c:^/xni'Aly˜Z;|zr&y7Ϟ=}(3WſcNm׋%&Gr OaL&ӦN 0-^/YY~|̌nQS[ˢ%K첡#Fp0,'~8kS'Ob8NXd1ƏzNE 䡬8)&̦Lfr-./N޿5Q[SϽ7 er^=}%WWǒs,~,6l.gӳυ,_AVz[W_]i,j>/?_3RSS8yCzS<\}UZ, vݡ 4#eWhhldCqt8[jͷv`üBxXl)(Olxzu,y\׍b~5u2;q:]f~%Vcݥ#<_W_ 8v8:yGcK{BOnM#&L}M#wMbJ~6 MP'`$Æ CQS&M㊋@4xb󿷜CV+iinQ z4-ؑWpD& >3nٓ2qlV5TSo\Oyw{/.bĉu E >oyZyMm IIt1dMM'NdDWU4urlK|}{QTTܫdz"#=B.kWas9K@4[K([xb*ڰ˖eĚUOU1E,YܼIׅ FG~&fb݃ny+ 6?Kv1ylֈ\_n{ntqͨQ@؃'Q xkk68ozu #/]oHFVO! ?{{s} X __% 86"(bkz/O { ojXyi-ؙIENDB`docs/reference/gtk/html/checks.png0000664000175000017500000000102113710700303017257 0ustar mclasenmclasenPNG  IHDRl%(S>sBITOtEXtSoftwaregnome-screenshot>IDATh햿jPM WȐt(t'8d)$SeT;d*Z"z%MsO9w|SP5{ $I@D$I@D$I/s 6|~ct5'D"$AXF%k]EEx6Ly߻8\t$H3Ʀn[VѨvD_0XáaRI :Pcj[N:M9/`49%"՜4&D$I@D$I@D$ʡ:mIENDB`docs/reference/gtk/html/clocks-shortcuts.png0000664000175000017500000006264113710700303021350 0ustar mclasenmclasenPNG  IHDRhjRsBIT|dtEXtSoftwaregnome-screenshot> IDATxwtTEn6$!=t*X("󵡂H)*@Q K:%ͦlY9wg;7wٙ*֭[׏twwLT: B!ܹs7-Z @XDDwtJ^^/߈B!CKP`ccN_tbƍ@+W 햛[q !BGJ7aӵk^srrTB!xz<<<jժHHH8`0w\B!}\/B!(onnn Fc(ӧOsu233-ԫWϢ !BP>}4:uꄝEa߾}T\YT!BGHA]~ݻc0ζdLiӆ={Hr*B)49;_^Q-@!B"oUJEZB!UQI5$B! 9B!INB!ՐT!BX %IIlHIMý-[`P~T\́ !BIӓN3qT222j ?ˌ)xIE*B!zeZ?>!&OAVӪe FN@?qZ#G1qT֮\wR(K bÏb5k(pBPGN7m ZMV7SrssԪYg1f9-[(.xtƲevN>CBB666ҺUK,_Z4jgz<)z`00^2V^Gբh9e +QyB;rC X66deg׵k\~\bv-/׭܅E=Bomk&55Zڝ;h>٤u9_.j  TK*Wo _ƢϗݎmxzzpEo̹ h4UO^<߭}F|}|8|(OÆ2bPmTd=_7haѺe2Ѷd<[\ƢP(Z|}Y43Ui[q˖߸+ڴj)B2|2{G#W-t}Gݝ7oɬDE?'Ƽlj'pwJ\|IӦʊ_Q/HڵQ:hO'cggλ:rʆ@n'R.u7܊Az4mF BE%77/YL`?""Z>>,_8i*e9M=z:-r_4zJ%L)]}{ u:|OuO/0~hڷk[8NoA `kkAo"GNKӓӦȁC7^doS^'琖f6[x\vo'Gl Iz3rxӦ{2z.]D:u)Oun:$?iggko.jԨnLL!o½)J &3앑|n޼e:ɼhAHp0!2j{L:ƍizt튧gЮݻ> !"2wo0JeU͍g%˩g bw2y1 23m <(^ONN: KyhA:uk:h `M:_e ! &$8elBB2߄ ''Jn;[[[ q*;;  ɌO$UqkEM&;'Ct6Jx>w5`R$4$([^{=?Oriqqqn\oc&'{OPGDd${~.=%NNwN{_7#G g?qg֯]%իԪYE>e2j{\zrW뗆NC@aɂy>4m:K3UBGZfӖ^5x@@Mi^>2ƍeZT=NFl\5k+WA}Y>ӡ:oǧ3S^]Su6`YiժDeԭ]ÆɓHO0k}.LիGrJ .]?c]Lȟ'OJgo]jQkj~\|'OyMj5&_~f0h4&MLf~-]t)T*qssݻ^x1!Bei%JJB!ģ9B!T$9B!V7B!TLrSsB!eȴB!2/B!F#NNNRYnSFYYY8H?!Bh(t488s`K.lB!a{ Bٳg̴dL899BʲhB!( ;;;J.Mh,ZB!(_E.(h4 !BB!(&B!BX !BJJJ*B!@uA!B@B!QQB!*ȩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩ^.zSBr6obtE Ge ;? ""ʦjT {hҨ%BQ qq9ۛ͛1bP""8x0ujsa!*"%:8::8Gb[*$!%v<3>FHvv6d-8Wa!*"%׮TZ1mۢT*OH 2*JS!R_YVWد/0 ]My'xX$9sWW~6^^ZU\tL 6nshss[oU~O>ظT KͰy]R31qhZ:oeG"h4T>t L&#3SO 6m6l*\Wذe \AKzѡ};c9 2*.^VK횵6xկ{2o"ϰkűyT @tL,:M7b3 Ȩ(2`(Kټm/^BE5__^|]}&_mٶ(dtDE.x2999<թ11={<W?s-"QøWrё䣩b;N@?u&6:~6Rw:""ggc8"U &1)-۶tBawϜ ;n+0 ڵjBmh߶ vvvyc?ȩgpNe//._ʌOgǟu-\Jp` 9u c?ȅKhߦ5*cÍpqq? *:s.E>m|w^~'Ǎ0lT*III!%5v YYYW[31n!%9{ p'=.枩kד0Ém NDŽ&si"jv颅U+w8wq4e-_cڳGwtϜg&k'!V!(0_c/BeP~888оmrry<ӥ3^x!_ko`00c$Z6oάXqݞ}&lԧӧ绣zuBhXxzzgﯨT*vKnn._Zhߧq gԙУ{qVt:?';<]𛛛{_}2m _b7r)~IN=2ֶu+~ &3/^DRq!<@ڝ4%*?I>33ʲ75*U2v'=%YY%o!ZhN͹α|{nKl'E.s\rڵjSOv]t2)iק7l%*:ړȱc ?AڵiMhp0[oGr3?c|ӫ,+d}zDT$CC)-q;z{IF[juQevZbON3&}{* de]|6sw^BrsuKNt~#/|3gKpP`1  |w99:`gk[mllPTt:kmZcaa١Vܳ 9w~GGs._f-ԧzrrr- +Y!%IN+ѣ[WnOS'2jոy&}D˸ۻ>j,XcBfMxyzҤq#V%''#ǎq;9Rߣʿg_iccCpPQ|<-o S9},ZO{EڵӺe _j4nUw9},=ukrrr7torssY|JjՈfԱ=  a_7oXq.X%;_ڴ6n?K|6!NJ`?>>$ɌɓJUwYRؠ%+#84YYuZ@!*(Z; iRj>y?:S;oAhHd3Ytvޞؼ F~_g|LP@iwr*N;6:tp|elќ]BgU*>=>Rfϛ9n&*W֭x3 !ŒS}!{-d*3nSOT(Ï]έ[TR_zERT*dr AnZJ!F*[[y 8tȨ(RRRqsuϏHkd蠁|O:s_o22Xkӆ>bm\DP ߟ&BR3تThތ f]o YYY}}t}zQѥs'ovr2~ժRYB<B!k>z`Uh}NB!( INB!ՐT!BX Ys*B! !B!ɩB! !B!ɩB! !B!ɩB! !B!ɩB! !BTE:tj,gggP*-kZ222*LTθbccSޡQY2j,fddhRJҸy&8::>%+KQ:_1BٓSNFN:(J 4 777\\\tfAj}*{nQJq;~c0=YoqSR*sՑQaۧ{;!*KQ>_-1B{Z1777SQ8 *>ʔ童>Fӑ:!Ba5$9B!VCS!Ba5$9B!Vb7/-NǞ?sD8hZ=hӺ (uydTnho\xȻ2ˋƍ0dP5WWWBCy6ldxMO?޽H?;=INORYߩw~ ڶnUޡTh]{b4jРC""`WϴeGFqQB0i;wXfaݹ {^{ggr폃X 6[s1Ƹ]?Ǹ5Z-thߎÆ5oT@0ud^E5UrvɆ8veaf>BJj*alBwcS\= t:o{)&6GV5{]BVG6h}՗lܲp""`@!]Uj֨5/]I/DdbZsg~7999.^])~~}_rvrߟ[na0Xh> ̘ .!?)&Vi IDAT5HLL %5h._LzFޓVE\###Ǜ>Mꫯx{fݚnܾLڝ;ԫ[ 3f[,WAP` M ##|8}_Efؘ*{yф﫭9fEDpc%Ca|<.]΁k3j: E@o0t6'ObƔILA~?p)]UQˋU˗ttZ-NVgQNN&Czhh%%/;”.9{:]iݲ5AAԮU[[[DV0uf&k6l4;},_=n2r#^yS'°/oذ899Ѯ]{<<<%>! 8b\bb"'OdPJZ4oɟx8]]0siFxyyCxzzRN]07kA͚u;v͚EoѼ!8;;Ӻu[_{8KGG7}k]{k^<|O-]͛8Iy T3 {~@3U9w5i??lllЮqym@Xx8#o華kۆaNj,mԬQ:oOtllbO<}k6l`K}AGRqEՕ(}?ChH0.ԬQkKzl kݭ[Ν?Ǖ+`㿅\bMDoo̟ٳPl3nc?HjjZ}ipvv$*:~ ~ݺh;N'0y%=_k֬3~ժ1v\|Bۗ_,ٗ>J%~~$$$ЦM[~;ݻ豣tփ[8z(Ç(>''' C,^^ryTH=٣+VIFC|BJj,DW*p+>V7o` sss \:PgҕP(ȑ| :?d~f-=ΐ  ,6ظ8,u`6z]۷l#U*W6k=ڵjR 01'z:Ƽ=Ϝp 7&==V[X='5k,q?ꊇ:^O\\\8{RRS|kG~Ku Z&555{;ЮUJ&SS{(-ݫ>>>L8~8?q_Ÿ;111$''Y/WWW_8o{d3ŋHNNϏu$''CdT񳾾t$%%ׂFӒKNNI~7+W`ax{CդÎQgi*K777߀e˗ҴT*< 5iղuCt;᧟O 99yTqÆ,^;w.ټ,ӓȨ(nFVc0LVNq b'IHL$>Ώ_r*OBYshJ)'1) GG֩ZFCujbܸq%Aͣ&4$Of|J _`@I!6.&2yeDEE/Vqd\~;GQ7?S/uc<'?j؛?.J5j۟OgΎ#i BYK>8G|}?T*yoX6mG&_5?uA*U sض+ aѴISc=3vZ-!!L4%Րmڴe-[a:fvz*9|7v_X*T*! qqƱr[hZjԨY3V`;9RI$4OSx%V9r*/&:OOG&1B<< XET,-ފNGDbR^dێxsrJ!ǼshwB"iff&NNN233-Rŋ$&&svsZ5qae>kI{h 9^I#X$9MMM"2%^oݜ,>O'~㇙+K8_Kc0TL?|uy aVˍ7*/Lnܸ^/SlJOEa(ʒ}9Ws/}gz=)))8::V'( 222\F t:}*˫g< !g>%>F2ȩRɉ 5T*լqT(=!DY2j>rz^Ν;jKTWfθY,atW(KCDe\K#Y,9B!82,B!$B!jHr*B!$B!jHr*B!$B!jHr*B!$B!jHr*B!RiZ222*9-H>":\Q$h4T%,4n޼#f"X݅%c>Js!DQ̞jZ4 uATb0]I¥K3/>bvB9(9υE1ӌ Q*+VR?f"X݅%c>Js!Da̞j]ٸuhEos1w !JƜ}BpB! !B!ɩB! !BaɩN㧟d }y0y-[7?Py$"⚉&oKQjdggK}|/s8r0YYY4xk\K|k7_/1-HFF+\dPv-^}?ܷs1 oZ`ؘ~&n޺Eeʼ;Mԯݿr/8-O?ՙz{~>?hhҤ1cF+_MӞdj4lX :ݵm;f( .~ڳKѵg/fNJ m{8~Ϛ7۶pXk6lvr2v~'{P~mqmÆM9x)ԫS =Ne`qׯW͗1oM5 !Jb㖭幧şB%)))3{cն-DEE1 3 $''3nx3c#>!]Uj֨I$<8KN bŸ1w|lllxSM6~v;0¿ULrtTxyy1ܹs1kLN^!uv2iwPn"3 ̘5VǢ_1z֮\~_2>ÉYk̘2UˋW^ ?_ʂşzRfΙ=kV,#3SqZ ]}}tTb򥤥U|8eBT7H}'`ooԏgZǓ;|j]`L7omoMS?&Ъe Ӊ{mky ¤&Pjn޼Sǩrv2c~ _>[+VEE[6۶'cԮYАb{!t2ӺUkU6@LlhwYΝ;&z<߶[yeF2SN&$8aC_6߰a#qrr]xxxK|B<4pqD/DN:ɠqqqJ*hޒ?{{{ ,7>!Ȼ\m.~~@6srsqpt,y\]\qNll,ng-*{yS={gX%Y (JsaR$( [%T [+x-p@a\] 2:ࠠ/IO?ՙYs_eӲEs*U ?͛Jbg\{U_*233IF*UJTOyS(֕۷DT\V^'>!`0w-SSOOlmmY|ijRSSZhִ)*a'eoM LM3ed &MκU+ ,l݃l ;)8=,RRS|kGFw a V7лW}|0q?qqq$&&~"_b݃h,2tuu $$$Xb,.CAnn. .^@rr2~~~ԭ[_,'99"%00˖^'))B{g+))_bڝ4 ٬^V7K; wFO?@rr2a)<==K Yl9iw]y th_$<="mj5dϏ fϛO||zD>?RS9-FԪQ GI갱NOudegS6ˁÇtܸyN?JppptnڨŢ-nSs/ƍ RRSew[NKnnn}Paj/==\1 =w>W^SS[[[N_v;'M7`0P(hӦ-ѣZ՛ٟ)t}W纱cvN"qVYKnn.5bQ FJZ3]bί*Iێz_}]6Z/h4۴8t:L~umQT*DVZ;c (0i>ѡ Cfض|m\٬Eɭ۸u7{m;xy`>2;{;7lHhhۛfY{u7nl*ԩSj&|0_̷Ԡ4}&h0w%u^h!ªȸ#"1)oheDFEmW<չK9G%BEL,QeffZsŋILL͍J纙βD !J\}BXdiժUpOܸq$9c.hw!Dɘ\QgChZnܸQ~%gffr z}77>bvB9(9υE1ȩN#55GG w;BAFF^^^fQEnsD !J\}B˜}'''222*ԴR$##WWWv}R.(sQr !bӻt:jKTWf8+Z]Q2<BbɩB!őyd!Ba5$9B!VCS!Ba5$9B!VCS!Ba5$9B!VCS!Ba5$9B!VCS!Ba5THՒQai뙳}QBh}xiI?)HrFߟJ*Y2KKKxw IDAT͛8::hֺ>!ç"%ɩVEPNJ%U...\t ;;;DXj_ڇBX9-oU*n:,>!ç"%콍Z՘YXY}̽/BOEKKI!SX!BT !B!ɩB! !Bawc tdȴ) ^NYFff≫ 7775lDPJVjq IITF&MԿUK\Nמ9}*40cBXip]]] GiذQyTsK3~gΞJPJeZ4kƫ}9G'D~&9=t ^^^:|Ν?Gjj*ڶPt8q:͚\Zͤ)b0o$$ݮo8&OB@@Iy222xg 0bH}m;v0wLJT֒s3$Щcs/żԧ/ݻ`0#tLF :?e:˳hH{{EMvf)T)AB !4PE@?=TD@X6,^9)R@ [RvgGd@i3 ُ_SV@ʩSXb|;^7; 8K.cǏڵk?9*ԺDQ(5^U+`n¤ ѥKW]v?]4 ėǮm.׮_GhҸ":c jٟ,7o ѣعkM'Rnnn0  !0Q>nt: @<3zWnwTNrvmۣ}п_2;o%Prz.wolO؋Rt:<>q̜1.]ƍ+Gcٰsn6Lcȑ4m:Χ^@fMo9m0) Κ[&$ձ 6oXԿDeq~V-#ACϞx|ro7W(_~-~=tz}{bS#cX|AaA:hRTN%IB 8]tCBb|aHMMw&(Zy塨Z*-Z._f8a9(,,D2? k ͚ViMeqy|0mJ HF"33 Q[L{ ۫v}eddfb#ʱ9VK^o ǀPPP}'˃a2pRZ|GpzB*rrrбc'@׮ݰi󿐓,V+mx/S8 4^U)cFSj3Ѫe+ܡhsYO9u `F+Wa$#/t ~-X{\]b%oA0xa3l8t˿[ OOOxzz{d7?p$puuErJ ڴ M%,էxvϴAfFww=`RA@Νk???t:>s_r8##g#$!$88y:qv9GB$IhZ-%R'Qq92vDVv;om )_LJGߏ/C(YIJfqFwww,;V¨ϡs9M4Dp*Iؾe˿_*|C MIEףkضg o/ocxpZjnjSOGؼ'<ԯ||(4fĩSMnMG8h4(T|Aj:*EAA|AX-Vb}|эǷBjb̏p1\z6 -[)spuuĩpQ\˃V6[RZ||}npP&&BgdȽrNMl(..FNn_c㋠ 4n_.999Eq"5W主/\] 4$͚6O#++(";'YY%_!'7nڄb w<|G2nܸirV`2аa*i탞=J? %BD$ 6ٳg38z(֬]O>̄W FhHOWt|깡{T\͛7apa忽}d2!,m˩L_b{ '76l5kqPBCC0cx\~m͚4-[$n9%%i&8},F  Xf-zA@`R-G¾xdC=%CEݻwa]ύؽg ^rӍFA|"k׮@rqџ:DeZN]'޾!{s s7wS_JpwJg+$:ȾrwwwfhsVlT_q98O+7ŢDuf4BDuyH= DDDDDwRwa8%""""`8%""""`8%""""`8%""""`8%""""`8%""""`8%""""`8%""""pU"4_}W)1>z>"""R;E©lFAABCCDv5ddd`0`0ZRdBpjQPP0hZH$w5 8y$zlJR}""""*ٯ95 V|jZd2VDJDdX%w5:DDDDTUηIDDDDu)))ӄM7aēc׮_nlԘ8wl-o;}~WVVvm7.ÏለHJH?s}'G~~>GvWut;*^7QOa!tZj Q+t"^|o8v]v!!aB+M([+WS'e+ ^_hjYDDDuS&$ƣ]h߮=o>׿}ΛCIķ!-;޳#*&f,YPT\6[CF ֟ZPC a>|>Go.4Z  I,^|YDŠkp!; ?__<9b8ۧ-`i2$AР~ TN%IB 8]tCBb|aHMMw&(Z,;lV 8T~:m۶SuuߊU~F:`; I>5]n5k Q{ fLaF``\j*pd'N> ɌviQC_1gn͛5|^3g_,o//v&M^KGDDTq."'';vt 6 999_~-XX"S8 4^U; iuKxӅW.*GvL$v5%'R|*`2`effA"!)9USIg>-[RTR |7%Նvm9?[M" ԇ(F@%ix6DEv_}g͛cI2H9 ł^Ǹh߶-{ܲ "skMȹnS= ~WϞ1xH>q%ϝKzKpuVڶIS=2B  BxvlWv:|jMf*Qfо=.X.;мiS|+ Wגf3l6 nHcǏ#7Je6m0ϑ ݎsSkDDDPu8MLL@x0 7 m$$<06l\E_}- 7_Ôi ""jZj}xPh4xoxx{W'Obެuccz=gϝCLm!!xf(7m:F?<}7ov6M4F#^~u<1$v[;LDD$3MVV 9r!!!][#gJ+DDDDtwa8%""""P$ZV%mWz|ADDDu"4??_(˓%G>Uh4n#==ݩVV+!"Fl(9>Jd[_`08F5 f3"KJ}""""*WN]\\ yj05)9>Jd_9AL&X,%6ѨhSb|Qe)NyγQpJDDDDpJDDDDpJDDDDpJDDDDpJDDDDpJDDDDpJDDDDpJDDDDTEvf__Z%Ƈ__JDDDjH85(((@hh(ڮ]   YRj|QUNv; V I䮲Fxyy'O^mQQODDDDU%5fjVVPL&Pz|QUɞ, F6^^^^Z#w3b8%""""`8%""""`8%""""P!%m`ヮ]'FVQcFi3м=2겷ޝߏwALtOj?kS k6NPe8-((B$ <st:\ xq{dZlmiI@ܱcm7jИFb(..™s1PM#""STN׮[8 sl)_r1*QsoOハ{7t0`0!C8nQp*Iٍ1.Lo6wJ:=-]~) |l~ٵlH%K$}0ʩOF8~ckp!; ?__<9b8PT\+W!>qް0Lzx&_>1l"""R ՅӫWbiӦaHMMw&L$awQXX^/c'=Rֵ,] UK-G܊Ν:"U+mZFTd$W̙[DfMOw*L ###FwR}zb0%"©FPȪkhܸIM4,V+mx/^RN6t@xyzVk >$IO[p*cFLJAdegc67 `@DcI2^oo/ܵkвEReHmTN}||`4r$ŝeFww=`RA@ΝkOO,~E .?NީzV... +/QcC|B"E,_ v"L&v\JKCz,/!3+:Bu9h4ۧ6m'\r7ITqKqꏓ2yBCj9w NQq5?&N“#c̏y jEQQrrs-'};XLrrߏnp C C`Æ0i>x`Zo>===|肢}1SvXbftf6 7$I±Ǒ[Uj9 ==$j~-zty3̘BGDD;HM>m6Cqq1!$IFAnHHLo 1{57az>SN] (^&nJĭX F6X0w6||gF{ӦC_Ovмy3VŴɓƸK.4nL(_{Lٟ LDDTid=}eY9yV%kk|QU>ݝNH5 VUjdDەgyQݦH8Wk(˓%G>Uh4n#==ݩVV+!"7}zMRr|QU~ χ`pk4fE:%DDDDTUfZja6)kSr|QUɾrz 0LX,JTWmFQ('"""R,݉g'""":ᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTᔈTõ@DDDT])))Baaam7NrssChh(Zh!{],IZdB@vsb/=>9,@A$dxt:DFF"--M'OS+,,+$'e\9%"""")9= DDDN'"""")9=\9%"""")9=\9%"""Wnjg⡁-2 πdr=Pe+WSd6g-E"9%y)+DDDD}rrrƫep'cF~޾ mv<:[>h4}f DDD'I~;MAϨ(H͚Wt4A(Uep"Ξ;sg7ƕ<6v+?Q5{ۄaȻz(B[O[3cӯ?FG:>~݄g#πGTH^*UK/u{QDZmǎrҹ:EDa` SWi}S""""'قG ô>‰2 lPs>{oC5oH@wbxa2ѷw,N223W\v: I\7У{2$ vDXHc}NF0ӫUoIDATXd1|z+^x /jÎj6 Hp$Rez {w<|};w]!Iv݋=ЮOH$Iعk7{DAӕ?NFFf&"A$cǐS"""D$e2i"6] ,[ ߳jؠc(hִ)223+;vܵш޿Ӿqێ< t ^}PVOyC9\ {/Rg@ PN/^n] IzFuǬy )={#@ƱaѩcDEvD_f-܉Q#_DMՌ+DDDt+..ƄSrZ$Hٗgo< \2B1|S\v EEEXl9L&3zйSG|4{6GB-s|1}T>cx=ܿ?N9 >H:|eW;S"""rzսbM|4{.\_}.;:_u7}=Aß'/oX9{юm18} -wDd.CEǫIFhִ) I0Xg.گ9dee9/Qn݊!CT FNV Fc6 (:sssf VzꡠrDQ z;quuNCQQQ}JAѠ l6,QQTTtظq#_2לӫ$I n7B jV^jffqeҲusY)[MxZT+DDDNt3S"""rz uOjp唈WNjp唈WNS3 NOgeZa0d+DDDԚ4i}pwwIVGE&Md__JDDDNh4"%%ϟf 4k mڴb.S"""rzFnnnpqqI P` >ED QDDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDDc[ IENDB`docs/reference/gtk/html/color-button.png0000664000175000017500000000511013710700303020451 0ustar mclasenmclasenPNG  IHDR`sBIT|d IDATxpmJMnxAZPι;C7NơcNyzPn6WLncܼ)hI-|#I$ISl7y=o?ޯ&߀#CtEľ|ǩ2/B7?EVY'~?G}z2Xi@Do$mak<@D >H*~@p@$n(D 8b_`'"@D Rql+2ҌD0O)HA&9 H V!El_`:HS1!˲gPؐa-: RH.(lJ ) YM9=6e&i-6diHij  @rA`C(Π)M$6 aPA`SF[a{Z|C`SN~# Uz* 9 àۓH6P@ݎZ0p8L47+l,8ḯتh#CPP4JJ5H3M~"H"YPT$QɨsEDF@)D@)D@)D 9Boo/Oo%}}}csګS^^>b#Π]>׭P(sS())磧'?sl."0{6VUѲliVįٻo?kVʪ]K0 ֮{P(#R_Wc ,`wwfg}ў=Yg4M|~?5Քf.oyWiYt?|7ld0ηfI?1eʢٲu+_r)H$Btuuwy 6zj7ƕ\B̳>0mOݰb`Jsŗ𛍏5)'tRV>kA<x ={r3Mc~?^Bee%|V߻o-KRQQAכ7mngǵ^NNSQpyXs]}V? \.~Nf:ӦNu\Bßڞ*c L%x-n73O˸p@y eIO6rXxTqyevjz766Wx%JKKLUUeRͺ{ٿ[" Q_7&)<֯' 1ct-ޚ7g2eݿ;wcNJ zOƪonxV\%-q\s+/]XNjٳL>R)@O#%˲TxbϋA|>?uqo ρ@I|8~F6fkkL9z"HS1HS1HS1HS1HS1HS1HS1HK{=oKJHHqؤ۪!v SɛNa ff;ǟ$ ۊ'_9ӅN88: `" @i"@Oɝ0}81a8GF)O $ p_ _bE( y:1(Ĉ 1HU 'v&m! ~6qO2`裿N7^”B|j @&vO$dZT^b?uF`@~Iq>U@E@-{?TjE?թ}@#Drd ?@ly$#IENDB`docs/reference/gtk/html/colorchooser.png0000664000175000017500000004443713710700303020542 0ustar mclasenmclasenPNG  IHDR*fCB9sBIT|d IDATxw|[8dB 7.@[BץR6Z.(t@ٴR  I(PY$vx$ޖ-smlK_R#XWy`l.`VKDDd,1]PTȾƒ 5HK"""22svL + ("""7ȉ9H^7@@? wteOٗ 0 (,D -=㉈38LXq) VF:""""3X@f`n`!b'<E  gԍfP*ȊH u 5z?cQug4EDDdpCMLz@X2aޡ`͑I ;t/^){%FP.8 HpGV"_DDD4PN;_zmgїVbT"H!"< 5m@QDiHJP8 ]aX5,y_7d H<]E ,:#""XvZ?ukPCy+>ˠ(t 7 >w߹YYYfS-iQWWWVBڟwSL}8{$C(t/W\y… fS::;;lgs;wJ+і6BOPdg (X)GRBJJR:!"""#fοF(4u63pX1`*n 3Θ9ŠҬY BF7_iӓ#]ܭxlfqhrXp~8B#'O]AAE3bTJVFTJZVVִ|, 4Y@o;*@40*^4bl+FSsS%RSR8a"&`HuTlw9 (/S2k0itLC?NB-dk|+ijnxc\⾡),g҄I.GD$&r6Ufɒp}.'!r,ra].kI拠Z{֏XHdQQyE9ZǠ}`ڔi`/s{"lw9 vpkJF,ˋt_5ҾTK $7&4CGGG㡥MVb6v;R-~ݗHJW VFh]B"OOoIiFI?п?_}ON9*Y^""҇FC b@$^_OoO/vafӈJ lMCkQ & ?>FOoʐ>lv c8G.d0 z |t9*߻}ɴ9*QD C#*Q3L 0/[#*݆AC?""cPP!:Fסat*^7@YdZ36;Ad(_3H#+{sJXy觥a}:Џ=;sI90FgXNzifo:o{ <7,o[`?=[n>Uiىw)Y>=aӓ\xXC7խ< C_|43]L7WislMQٛ#*5|g|Ӧb;awCCD]ǥW^aʯ~^_cc^y :Ur'v`iiLq'z}Hl?=\q -w_Q_k!7joݻcR)pQ?V$A3tgNLjʰbT~~?> 99FhHfa=IIIy0 ǰ>BFzzغV\.W>}hvfdgSOEe%oO!f 7[>u$OIInh5kp^}p=NGX4Y^~4HIYK?z|-3|.;I Eھ7FNS{-$kӰ F-`C?۠{VqEAgg~a8NN=$˩cqėիioo'))]=`yr 3j~v]|~v8kM^o~6)~ k~3\\ jyEa== ],8h>eIKMeڴ.>*SP~OI_K/Akk+Ww֮O.8gf0 #;Ģ}ndﲍˆݭƹL坝IJ3.g她a&}o݁?`|192\|8Oa{^ŷ. =t˦_OoeGc.tq *{[0e䞑,?3O?qXj5 ΙÌK0o 8~_qpȢE ކ rOn'7'Ҳ2(*,Gk1S\zEьΈK446 /x뎟I{{{‚خ]7ʬ33k^x}Uu5w!iS}ddṷ\|7(-- ?>zXo&O=,/gd[WeIKM嘣Kv_{kikkf/-^̭7%qŷz ?ˮ& }w 07ɺu466R @Uu5~Xz5S}_/`9 0c:tXzJP~rf1OvAis1Q[Ė7HKvyY1[ri o`ki)ӧMŇ`aG-[Kٰq#?pSJJ_TH05kΥl6+W%]'PhD6l3`B_ʶmc9ddf\o=PwOOK#srOVSS`ԩO2g,g񃮯eƼkn>t~o.,8h>u]'x6m;/]< KNGRݯVRZ~b%-F0-_Ÿ/FQLB!`2ٷّLJaյ̮NڃԒ @: {t'FT'ax_Ňk<8$B`O-Fy=69(;;`01o৿O{d(Ď[&Smu$wv%n<ēKxL3O^s߰ì%h~~L'?g_x>4E ]W`)Spz~^{ ʶm_2W* |J^xeʞچkw ;kj(-FaA>=$;϶C=7zUUyC6(\B?-=ͦ\| Jr<#Y(RI#tsFy)jWF&}=vAfVZ}cg])?-s6j_QI?Ka.M7s`A9`<\.'eؾ}|#w 55|}@W-u&ϞM~8~qי4q"̝3g7e_Dql߱l6:]#3k?͜ٳ88\MFF:'<*Fk4q"l:LX.86s=/0u B;=9ϏdTwoj~~]k䪷g+WqqryQo]>9 _T6nS6gD#;ŭgLb66lo ),bnI7>V*v+kI^ ӄ[h yp:Yqۯlbg W|߯L7*[ &5m9//OO'hGeʹCdBST>qB.N^뫼|9zy~?yp4@;h~~/>m*Ea_;N~~ۭ˻[(, me[n4MRS9픓 ^'>O왦uO?e1./J˶x9x7AuvX}\.^|.ghԇk_N9I'}ssKoSMs ]?=?@^n.9m`Pywt:ǮݻlhNsϧgD?99ϡ;wW]!ä}nǍ'ǫFUUyy 2βQ`44mA֗s<OM0lG3WM =8|>.~A\wDl@c[V`6qa8#UnJJ_/_ȏN }TPWV28KOU};kJcaO4l6a9c8zިL$ ىa\reaaƮ=sTN;d3hmm4MǍ{~E{{;1 qys/F 4~U_NzF:hC?'Goʪ*v܉0BчýVb[E9/Zw bzPpg]{{;a  {DSxnۍ麟s[p8p}>ttt|ݎ륥ں:r|Q_a=Aiz455FZjj=zn~c}x-'ܰ/W.`w.4 tp8eY߉!q i~4d$9Y)קT@-jf ]IYՒ#*!hPh}Czl6)a;U4}Gi@ACuo?[?T0 Vv;0Mɞe"͎i m`s8p 3c,hI *wXujw]kag\ye a"c_G#^{}M~"'9);~r;C8q".Z8#Qɴa0+oGj뿾(K@?i>-_r<@ 2Zl?=y_:=YQ:g_~D@ GhGo]BuTE96ܫOǢPDDdtlF%GTimmt8B66|IȘD[{n<0J%3i հKѢ]Ļ9u-MmFtKhlG }< &TU8/Gu3qB1i{Uj 2-.1 O䡟`0HNN^X}D1 SJktV]s#*DD$΄J,9""""L+""" *"""baq=_[/"""xxs<'?^DDD"7zhXXXXXXXXXXXV\g GeNsExԇ&e>\t{#@͆м #`؝nR2ȝ~:=mRSA&%/1nY'`t'X[͕tZ?."/9D:A^]ו@`/U:<.qi,ULt }3oφֳN$3/gpБ q5l[W6yνT8.R2Q8u着t@ ?z5kP[[Cgre޼GtTWWL0K %%BƏݞ(c{-ή x dtήyO [e%YiǴ _?>U|p 3Չm6ew7&3kwN+m;.vc[?Iߠ~ Zx+nO~mwWkh2Itt[? iB.?2Emh߿ɮ ޤt.F N?- d&;GqƺF{O5ޘM@&>٤eET Lqٱ۬`WCxXxDܶ~W=?INJtZ?@VWq[χ~f#++ǃb1MO}}= gˑdggT@-jf ]ٵv*~?<;ȴplm66CL4XPg Y1~>y1Ԓqq8,ڟIvg] IDATMRprcfWvQߔżt~~svt۰;lܹA[/rGs79 ÉeARlFVcnKpt8qdW.L\pa#+FO${3^N;nngAu-4Y|ma#+_o'9) Î'|0hhh.+lULFF. ۍdX l߾F>=[)$ԡG^UEIAn7Mƻ\lǙp}qw&-Azݢ;uä`B֊,v;=2|8IOsY:L(Jus ;=KA}'if;n)vK@Ify{8jʥ}6{uvd`wX4 ?iY^Vmf7'+=$$oCJgjXt}ٶйRܤ%q1 ARټm>~O[MMdzz)@ voGg l6;f?MZ`ĉ.mĬ_' i}Fݎn¶YNҒdpZp`a#Sf[aTKVT'YnN i#%ىg`wö[[I)v2؝ )6;m츼6]|#l+śۗ7%ÁU;dw8pyp=$gea[mp=)I)$&Z68n/n̴L.lML&+͋av}.|nr޸:lkא!))ɲ!nvq\f횰m$55,NB ft%??۫]VTʉ䮑DȰi [׼Td$;hon"5Izqᦥ:l]mS%$TszҜ6v5&ġqJ5a뚛INN!--"+zdddR8{| сpX0glok7x=9d`?v:p8?>`x:DO :ܓ8\n/ v,=妳#?@'^G}y];τrYz$%MG3I ^#^o>@Zg&z% e`Y` VV2% a`e "vV2Uq-yg0"IWQbDB9^5'`wC#^iMG2A?j%`W3D )5pAEDDD *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bY *"""bYx'2Mcƍ.cD2M kKߏ7ǡޖ9j9%(k*jW55mbA6C5ћX֖?!6ġOk̛šeM kP4τamZ:D/33#%D}l{ٵ/Ruuu7pٯ@=P ꀚ:Fbv-D1JC?wԮ[2F$g,N|>m~8 ٟ }Kdfb1}sNn}*΄t+}λQ>/ߤ~i?|ky*i{QS3uvwRZ5NEg{Y^8U=x1b Tj׭$EЖb'u]SW)[O~8T͟}^_fD"|k99iq&z"LuġmX[IKOC5ۺuKX[]}-M ˖6oJ̹*tKw1w>ƞ OHrYÝb[@)ޱzs3$5u% *@bfҽ1gS!c =AT޴ppx]Fx\^c(xmrp.#fRSSIKCop BiEDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJ.`OΞO?w#;{vX[ƄټWɘޟ٬(1ޟ93gq&zsfM-.`S8TamK&m˶8T%&z˛z<[ġM\֖GC5Ήw QEy[kqv-n T vv]]#-\DDDFGvv@%P;:hѵ] nGL~DDDIJϣu]ƈ̚yO_8ueٟYpWV'fr fqe}/)Wէ+Ɇ)(JKlsb):ie;z+m<455;TQtr8s]ƈ%TPپn]UDXue(IC114?\bb`kexVFjab:n mZ;e\ކ-ameˌC5+TV3Gr4>*l|3^/DoUSI&š蕕IBnI. R Rc.!܎ĻJIIw *IXz!m 1$Az\Ic+]^Ļ!i 8 (%%ԔxIqm'(e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e)e%TPqz<.b ;\P;?D?nӈCAQ2 q;Iy=fDži]noB&^oix=vӉ?`3'$TP..=E@+5iRX{z~1$[mSGOv1ןVH OAv1 Rg+dgBa.F#ElgBANX{~8:8T`Es ơ(u@NEEP0d|QQX{fz&m ZZZHȈwQI2 $K+>tjH^  Oɬө F=AU;aʬ>LOkɗ?%/@߄` ;[9+;:[SnÎ>$}aКxu0wiaG}4 c9ڧ7ں:{3ux * .]\x^}uغ.bʛ~]#ޟ/)"퀧YC&;yma)CsAQN2ֺ8T62-LKҳO"+?fc*2 9}鴫IʞDm4/{2zϧß8v ͝;IUeU*ʊJ6;s̋w)QIzYsJJ4a5|tN9< rԍєR§ua5A3T'uА:#ox+B^N89Z> ͡V4 >)pr",fwIG5xt4î&dn;ic^G~vE Pr2TGˊ--^kq^]nIсv_u/L}Ymm#yQ*.fi#ނlxqL2#=NcکWG )|j[ֽLC5ULɬӘuCJo?ϬXO_ q()9's!WG );r򋙻T?!IxM**+i[ka|x>H.:!`0ڏװM4MgZ?. 7s8dggT@-j }>7MQNoG,!+:#""",,,,,,,,,ˢYl/"eee-%W̚5wyOے.`TQtO>m|g)[TQt&O.ុiwQYY3h<=SE3RW_ñGߧmU޽;NE'##E}'466Ʃs8$%%Gnn.v{G$\P)--嬳b![.m|q&z6ҭšmݺ%qPM*"L4)D,NC5ۼݻw3c8T75440s8T>,ٳgǡ=c&ֲcf̘17B[]Bv wYQIcm4EDD=MMM,_{ ˄ 8CҗDJJt^s$IBD8GDD$s=ǟ'ZZZ֗S^^Ί+o~gYgd`4e]BDTSSM7ĦM())OgڴiL~}饗زe =˗/[n!''gD?w,"""2jjjk!%%[nsmWRRBII 'x"}~;7ndҥ,[=6-]L+""H~?7t555L0'|2bH䷿-Ǐ[ou"""2Jy6mDJJ wMOrr2ׯ^JKAEDDd455SOp-[LIIo੧)%&Q|rZ[[)))];Gi;(..{oʵ,QrJN?amo&wuO?4=iy /Ӝ>}/4M{w^{/x/|ӓEDDFA}}=ayv~nK,K/ct?DAEDDd/zxz:;|\r%q͊TDDDFAVVTWW3e tg/}s'tҰ UWWm6W]uՠ!n ^"""2J8 ONKK K.V㦦̘138col9 *"""pM7Cyy9^x!}ѐ[v->r7ʼQ}M7ƍk)..Ogb)//gƍ\j~iffVC5k`ʕq&zIOOgqf8ͥ$C @ >~Z܀@F캺GZׁJvu@MW[ k1"܎XG-TDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJTDDDIJ>Ԅi.EDDDbF'~ <7,~fs""" Tjjkw`;1&!'d[y7]] *Jr1.//>Ҳ?fkk+mmmdgg`5`'6&JSSZ?hHeqq / /='RRoOR};SNm̜1+/ryYj5i2g,͝ /Dk[99qL._ȘPAe-7dm 30 lOq'qtձy?;5Wa 7RWW7.d{%#Ã-cwC?:::~BJr2u<֛c+*].:;;zݎfcΝx<xs!;+F-Xs֮uOngႃlx/p'hM @ff&S3CoU"""01ydl6ATSw~>6 5IxՅo l_TP@ٶm=m2h}%ԡ+.͟o~ 0p\l--z;w62IXr%.zv>pMc߸Lo?\.SJJlСyw98YysgINJ^rr)'kDDDd$\P|;wWO?Cϸ\-X@Ow6w}]| .g^ @ss3>MMM$%%W7ww?E8o.))q<v?g{&;+ڸ>DDDƲ\߽{ٵ/Ruuu7hooqpuMftvيt~Z`'PȆIDATt@0k!%܈ʞzyn'+3s/W$"""{"&ӊȾEAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,KAEDDD,F4Mjj]O{{;aĻ!%''3mʴ>m'x"7nSEљ>}:J; 6ĩ̘1W_}O'Ecc}*NZZsѧ=¦m)(J&\֧?aݺ8U4|$N;-kC=pAϷ~n4x3l---am7nL b ٰa#Doam̞=5DO7mV/(DocYeX[(!dÆv~Z}v<3bwI 4MϷ~ᠹ9Čfw 15bNw 1rٲZϻȊ0%TPnb7,6JFF.#f$xC@f v`"[r5\{8%jk. QDD`#0RM|KI T.CDd@eesD$:g .`I 5""8xQP٫dsAAEDDD,KAEDDD,KAQGQG2DDD,,[, 4o74""""ώ)IuhDEDDD,KAEDDD,KAEDDD,kҟ榈XFTDDDIJF2bnO=ݧ޷l, *v=J'w" #>2DDI.ۻܶ8 /e+NdURH$0E|=OЭ7 l$hEk5E.G!EY$R0L1pyT<~(Bw޾}بTw;<:O::)A(jJE:XTt:Yp.%?}O{{q;Ӷm.ϗ)WzЛzc~_z~p𰫳z±W/ӯf}^<_8vrrf5Ύ^|7ohZVMI{:8y= ?dn'IK[qIOII%JJ% %DPa|1tA1/+ l)4;^*$J^H!LX,TT 熕*nH) hwoUTCE]@B}%*Y=vet]<IZmRJh:9iljnId]ImO}>7LpLQa,J(y?R\12ʝ( HMҿPhŠX$#!ɻ^1ta&J|eUTlY pFVWLXɺJߴOZCHs (#I]-VTVoK|wTTnY\;|Xiԏ8"5ޛYUSA9ƐںڒK$?ri&iն'<#=I>s4 B!B5Ĺ^v{i!DZъXx~݄]̈н'pK2QٌF#@Z 9"B/w&Zj<@;d/`sVWFB^hI}GIB^}~ -<'B^}i[?#!DЇ<ѫşFW:wɴ@RRy*& IbB*& IbB*& Ib~Qc\ v]U:,Y,-h4];EZFF L\2&S&떾_83g5[(EL3F$bFяafVpC#ѻ54\222p:gG(/t: Q|-/rh4 ZW| P1P EGRBM#F/x1 $%%FR$`,}98@eg\r%;]Ap8^4{^ĭ^,;soV[6L:{^DZZZ^AV>´vIJfc{q:2wW NrRV $'wF\P(,(xfMMM|zvo߾9#Jc wf͊:w=lӳZY?CZ[Ng7cd}]xÁjѿG}>6[->|M 4otch8yk-=99xôzjk1ff28[g>=ӥSXqrG䒓j>cS%( w;] 3`% ߴE#\1r6s1y|KިQ;&*}+ džue7y<d7qW2zT.ycHc&2 =.^IJ?)YA4vmIJJxf6v;o'h>-(X?:z`t.~M}M3w쮨w=rO+φXm6 y$>nojvdP[`i4td.(Φ /m/_WQ .YSO3ax\[HZZ*yYD)q זdBz{y;))̛3?l\^gӯ_RU]͛o ޳T-&S,{)jkky٭!>!XCx|?k)[ +p (Y0nLzzz>íYo=ʚ'B"6_ųXa&ǎU-M5Ju]CLxnj&JJs:LFn%JN;nA} N@#P\a7(>HDZm:Zm۽hÿ2"(~ QC@t+0K׺}ߥxLWE|E$b* 8@JCsZ.,ۑ"R"EP^JݢVje :ߓYu5_oWyi&$& 5K3x `D@Ѓ?Ez  2|ԫ+=,`®sy>@@&" !@i)$Z>C0@_儏䃇/= X$f "#Xhݼ/VF+hjK!r|a>ܙ`ξIENDB`docs/reference/gtk/html/combo-box.png0000664000175000017500000000560513710700303017720 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d K%Q7{p!EN#ǙxD232x<IEy;vH.l^o"v+YPJu'!z RiJI:,/%$G@'/y^'@RJaMr H'E@4GSɓd2 źW;9t099\6~#\.Fٳ)-)[fd ܵ ͘1hwl,[%%Zǚ/pv\FUTtx>/OHm]=_r}sK7}%2eD:::I[$VL|>5[P@sDx^:l /c+< @8J5MchniY3ɳ ;o>/y6|lV?SNࢇz,[(yyVXUXbBWqoX#Ty+csظf8|ȑh?Zg>ELRIͶjlA)EsV )9J0 x^_>c.aر\8z7ϘɆ7'?wǍc @A8eأB[۩? F9gQ g ō7|[lX*N45vs7 o% gY9(^MͶjqQNYVwy IݻŘL&>29z jRhs1Gk4mD]_l#hJKxOAA>82nV6nB{Z̞5˖StrU?UeeNm=zʜ w'_ Sb4uӦ{پ=B{okkkaCCzEr"E9#"?HGGvuct[蝆,]tݼ)(ȧ~>RneNN$//+)+uZN$GF:iiqj ϣ-g\2f YYY8x}h1Mň<fM՚ˆ7l6sׯ4ٖ Bx^;gomv*Vɓ&2p]ۋغmJAkk+6OVVW~[AA|f4{{L&Cfd̛s/[[yg&?{ v}̝?^NNN7}:4MQ3i3nKSݕobawɸTw%m?? hNɨeޏRNN699isňsOЩC:r< }`d$O@='EȻɓIFK>< $җ %T#EFBPBE OYUB#, !P-~@H_E/BşCB _l@]+_.LB藅P3a6J\!Ia`B& Ia`B& Ia`B*.\\=twGd kggXN:3ӰY>/G:<ݹtΟcdge];H!77ߟ  +W@j a0UU%DRF>tY]b  @F"5nBFL{9f\t0d x\hDFA>L&Ӏ܋32+W zx<n;xu;>瓛;(mĺ[Lz{9*'*UwtpR|>/!++11{UUQeO\{5~N>C aޜ{ ͊e?\+?h}U_zSϰe_j9@R٦mS}vxy2eO:}o1өj--xݷyT|| K/^{{)-)I!%v4Ø1y`|*+h9s:e +#GKs)K}"kncC -;[zrfLJOOKe]mO=jMZׯ|Q 7аp%e{ Gne6? #~NN6@M{PښQy-Ǜ״'x% 'I1\UWͥZo^ɢ%Kyvr&.\[+?zx9;c+њ'>{>F$mvk߈vTVTD9-os+6nwXK 7m$??@E`0Ȳ(w:ٱu n>Ƌϛ%p;E Gs8͘Ikڃ֌x3Mp݌;K0|^?t#8|c_[w5w͙W^ٳIx0jjzLh>~X>9zW1r% ͣw(/w&m͉ϩS;n'W /aOq=26eeΝÄNHٞ7$;;(((HWVVQYYyScH`2"{D,yylZv:=o8OK~~>W.xOݘl\a }^@ *Ç6t(@⯏ʡÇ9t0&Rƌ*K-wrُ)q8hX/'7֓YuGؼu;+VAUU \;45lٳ9b;|mؤF)bCxklrP@d R/HŨۇZ&''ǰoHd2x 2Y.Y0.etwVlεeDX,ʱ8NgKQzzz|sHEvB& Ia`B& Ia`B& Ia`B& Ia`B& Ia`Bg5?_Vvr>$l0|Ys(r<*~ h(~@ ? ~od*ph !2Elh#'A=`x9|[@'M4G=0`3Bw]qe 5 HZkϡH*zsIhŮs$ωBs;)rkϖEIENDB`docs/reference/gtk/html/down-center.png0000664000175000017500000000422213710700303020252 0ustar mclasenmclasenPNG  IHDR~ٞ pHYs+tIMEזiTXtCommentCreated with GIMPd.eIDATxkPSg2P]uˊ:8nݵx[;^PKku[eR+v;ulvvW鮥mKLBB.쇴Iμs9 cXH C=zP@=zP`a%7LZ,a iJVKsb#P?YqI) 6+5ܜ\N'Bj t/rl6CJqft,1zB7q!$qC#u}dQPPnV:Gb>B}⼋~~; áRUeUA2 c:19 ?|gB=07*%-HylGMJJbYEN/=O%V IeYJ(bzNgNN0 "KT,Upn)MczA\2p,'FdT[ y'nPLw?h[m\S^k \ ї=wCMG ї]Xsӽ+*%rk{HAC/~Qy=rsy<}Lk4n^\Tc\+N_.C͛~T˖v$t: !/55^ʱ30`㯽ꁖ6ܸzs2;9yo?;gj c_&gܵ!׮..,Zjb:a2\.WÏ9FT=NKK |`?/ʴ4B;Oege/jrNKWzN`Oo?/\aYqqv;qHQJ|dC{XWׄg_UUk[oǰ>X^YᗿX^yf,GFF ŋSRRAPC=zP@=I7G~t{o>#Pqw}s-'.RWWT]ju;22ڽk <4DWקy7q׎?7쩃p>Ǐ4q]^}3̞Y㮟ֶS'';Q㮄C͕,Sp߁qWeg+)k:rgVkfffnNN…. d8pY:uw C=zzPC=zP2㮗?ڲ%+*oܼ>82Yp]mj?'4gи뼒y%%7OwXVV qW߽P $T;kkU3n=|%F㉝-TƋ֯y!,b vWFKQD<)6SN]].q6'YdB@q=1z'~]R-[dˣ{10K.eeea=P&Fac{\~YG!0hX//P)Z-!JG@9)@ΜSgM* A sܒobg$R)UVΪIL },U'ٱ0SaUӁ$sA8awB0PV)U9z+bGׅ <>hAlw\@$yG]vMܹkWWB֯]]\XXjը384cL{@C&#aQ)cR鼨Hʴ4B{Nfgej5!8N%˗.3õϟBXqqv;qqӋJ|d{\W7lݵwT,X^IG+W;~"^kwgydd pBvvvJJ *8C 8 8 8x|G[WW?Th=dnj!UP~tnߺįJ;Tյjoxfvk RWy9c{zaOO"ɝoֶؑWrsQU&N϶8uG4gqQ?_<~,I8= !+YHIrF8=i~w^II}]]6aZuZmv_mKtUevHLOW.ط~Cf (& ?=-!D֯*Qrz\=˖,Q(oh8=O~x׮UeKlylc(_ZZx]x1++ NOU q@ġ(gR&@ϜR\~<6J _"5JLhz}(8˲z^VGiaI;Ԍ0Z SSSYV+)<(#iA1aY6Z90L& R!* 88 8C  8C(WIIENDB`docs/reference/gtk/html/down-start.png0000664000175000017500000000420113710700303020124 0ustar mclasenmclasenPNG  IHDR{lzP pHYs+tIME 6YoiTXtCommentCreated with GIMPd.eIDATxkpZ5$#Aˇ0<˜ɴ%4t q%ڤ%`S q&ʹeHi2mGi45ccƒ% xdIhdFZ]twbG8q0`a8qN~~4>>.Nhjsse0L~~s$3x~?!d~|f4v=ncţs#)#*!GdyScYÅ8("dw͹랒{c3uEŁW͛A@VTcۯ^ZXPX\T6 봺‚BBkWv{:G ahX(tV%\fX" x cӮfeFA3Ym3UA$O:f6Rxl&'#۝` 0q(Dĸw8Lh4*Ol"J;:: AZgfbtBqN3'@⩁(j2nx0aAƿpQӏ0;YwXިɇ=o]C-`\~nX[}UU30z?3/zIEysq/]2=hR}r|wW?/[|oCA#ϴ_͔_byg)BHеRsǟ|rW_9j2s_ .Zk~4mx/].׬:sj8Svfj5ϋn\.wk !ׯ-)*^fAN &yۨʉii3tBgNdg jr˗Vy.Po_?.^ưny !7GGyOlAUJ?'4ח~g{hMuݞov5a/^ʪʕUM?Qʪ'O%0E\Y///L}2.]IMMź 8qq0`8q0`a<1ġѣ˗/ggg*a8qJ)csvqsNƘ\.?wlz%(+|QZ^-e2FQqzZ;ҮFME(G `ZZqqB2%vIZZAN8USJe2Y`)Vq0a8qXa"QIENDB`docs/reference/gtk/html/drawing.png0000664000175000017500000000722613710700303017467 0ustar mclasenmclasenPNG  IHDR~5.sBIT|dtEXtSoftwaregnome-screenshot>(IDATx{tof$D,P y$"A+zH >Z㳵@ GiI@F^ĈD M1?Ȯِlޝ~9;o;Zݻ׼;N "S2/] @IIIǏcFgddjD!VSS[bڴi!+8zVuVNN1ȑ#۶m3f!VǤIB^Ν;?k׮6a#I<O1HIIuرQNsСC(J &Iv ZBN%"âTI8"*6 F) /p EH(HyYy;HDn[im-+?..m6̼v:geVhW^5ͼ\!>wXg/B 7IeYƈ# 2ŽmXaY/111ٳ+,$I8s *lŔC8YaPUUl9 8$h> PXh1 o5YY;Fx}l,(p:!/རќl؂u0yĐn$եt(((ٳ!2 l#( Kݥr\뇥^{p 7f¹G7r<gl2aЀ»1|0<‹XO=(&<_v<~瑛xbcpqZX1W^ۃGѣFe"1!W˰*7tdɓ>g6kS/tkWj/c iiPU찅HZ,~֗/ 'п__5eobqi̚9eݒ?~Kp;\׾EQP__`O|ϯyc-L&rW@RR$If\FUlA=p- 2 bƯ}ػoNwWb\0ʷlEMrRRp"DR@BBm?Fľ}W_]npgW06s*ZZZ|)W_աm@EQ3:<#Jl(-Ű㝂P{7ٌ뮝~NYm$ hiiS}0zFBBB_vCI)\.\.kCը:x[O tG?ٖx<׍`q(7۱cG"Wiɿ $au3=x4p}غ7^?o'j1ctDqI)J6mŒkbtZV랚Q}H:}a@%ܱx5¢ zW؎vkP&]@ n vc0fh8( -]遻=OThC1l,+l6iYxwYS&CQL|5^Z Emp ǂE`L>p#5bgwoMۧc}q1~y݈ۥÆaСTV%[1W\Gs3K,Z un$u9tXjUA&)))z\$!##&)2#KyVqF"11YS֛a`Kiȑx<<̳蕘۠hhhͫ*fͼo*3/N0/x#/ \aow3 2rPi3u늊'N{ {T< lݶ ;sرk* >.iPU5uNL& >NI`?)//OF=Qm}Z#7>l+&&oztt4}gEdBSS/D& 7e!zuVVGew4m]g8gf3f_=? K;u]~n¥{All2kjj"kەʙ3g:t:vz{|Ms:hii녗C3tm[ZZNzzGćL1A޳ Y7->.8L5Ҷ`ߵnጤWDv|T~1dل6v|$LJUޮe8߯-\{<j:aZW.A(pxtHع8f3&]ȺH8s ӈm4}b C ~ #" 1K&<i[6ca4A3&v)b4q1p*iCgL 1ti$I 0par'F:c`bHUjؽ?Nӽdӈ|ԐУyŊ0p5jAuç q삆n #mw|g'S"g0l Tv$303Me"V0r7pzؙ2p;ZFo<EO;0p"b758ҌZ(_@%M;ߟ:t(cH7:HW:pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD1pD}5kׄD!eOu="D1pD1pD1pD1pD1pD1pDE@QQQAIENDB`docs/reference/gtk/html/ease-in-out.png0000664000175000017500000002137313710700303020161 0ustar mclasenmclasenPNG  IHDRX 3bKGD IDATx{|u6%kSJIV#dZ9JD ArN7n9ŐC3s%4"-v}z><^W{>rS$h !B1Gc!8Cp4h !B1Gc!8Cp4h !B1Gc!8Cp4h !B1Gc!8Cp4h !B1Gcf!8p`&M*VӳgO9=ĉ-Z0nԩS|}}%M8t z,"< +p4_CUXg &m>|8++Ɂ۷o76Ç,Xg efY+#C)=¯?k!o |}u6`A\/~.ןWOJ=3VTI~<\.=Cue_YnI*WN˫\9+%TJT*^\ŋT)*bTSk֬?#l>`-ڿ_wk^}޽JM- ꡇԲn|\LJIQ|mӞ=[ۧtI*_^ݧu颊@U`:׎,?tVZ+kW_)>^ڲEIIT_u{wse\܋R!!!=;yRk(.NڱCiiӽV-ժU*<)ڢ7?^{=VW_i*\͛)ժR V͢7B*iJ-]u딚M0A req!͝c\.U_VhSѢpM !ݱc?_s(.N qcP]zVv !ZJfڼY gxBCU2C dΜQHFR6!;{Vgk}K}{q,CײkƍӜ9JKSvMe5eƌ+8XӦ];cg !\3;:rDmj ժe !5rRRԭ^]) !G;?չ|SAAY !:wN&i(9.]ԿntL`8ʕG{iS-\3"OjZ_6i2V8p4,Qx x#|^yEGEDX1A !GeԨVT*em;u=ڹSK2NivVݺwT x+N&;[￯GQbںU'Nle>uD^OGǿ5uԻ7+?Vԭ^|Qz!A.+…jt ! KOWjD5jhnVyU=-uot!`I۷_8m=!\`=SNučbXIFuS׮G+WlYA>._UVڶM|L.B֐͕5k#k`#\` ~}UYACۍ6m5kTC{\TD RtJ0;>B^*#C:i<FgϪukY n:'O駕+TC7O?iZլi"II SF֯Wժk \ӦY3)_ +6V{_?ud:@>ڽ[-[iS n: @~IIQxnM3gʗx+7sԲӵ|J0]\/wWB֯-N!~#Fh ͟5MåQng_eK)@0i6=}VNr!6mucr!jJib+f1,="#Da= !7XH~#b:%.Qsg5o}M!jVejT K(;t ' ![@ch8NKh~{N={NnC /ΝS6fMd:1\im[,B6{Ə׿jL7Krԭ^xA]N܁! zyrƍ3 FСJLԖ-*Yt & !Z^ァaS(9}Z:NEFN܊!_))/??^B׷r&NѪ\t nh:~]/0e: !G2wY=qi,X34uL!7WΦS|nݔ LwKll-^sU ?q"p?=Զڶ53rԥ(Kל9ZZ \9)@D2'OԺZ0xC2:wpi6mҔ)7NSOD uﮇVSDcgx%8 $[Co:,$ʔQT4 @KjB͛%MljpT쩦Mպpat8bG۹S#GN arԣTQD,8ڸQ_|BLp"1:tУNbz-efjpi\hnM#U4NꥻRϞ;/p?׺uZL~~S/p P5mj:g>SDСz!5kfN}|bct)A 81pjSO,!`k(.N+W!`Gըj8vr6o֚5; DX˥jt `A[L 3X'Bڲ5`T8ֶhvҿm,N\6L 6X'B–-Sb6l0X'B¢c[t`eZN۶irq"jp=76X'Bjf6X'BFwMq"g>EGk8N!`=FBBb5mzT"S[`;VEgO]08խJ2CXɤIJOW߾;a8{VGcGNl!,?ѱc4 CXCf>@-Zre)z,ЁZt`; p{jP<`:Nk#N Z;;Dx[sMw6ʼnv#GԪB8էj&dIq G !NE%JN!׌:sFzl!TvƎUf 2OԲeMn;N=Z!!St`wou4k8hzZ68CxG5g^~Y N!ΤI*P@ݻ!KZ&NϫL)30w=[ǏOc0qjHwi:p "kj.IBWXIxB=-MwÉǫ\9u`p iԭ58 CxS=Lwee飏Ԣ*V48̛?_(:tH\.4уN!`o4~8 :u裦;D8-^lp0NIÇnp0N1v5}||LƉ0MwfQ>*Xt l !`ƨQ*SF]! HIԩCŊN! 7Nt?Ue˚N7yRSշB5j}VSHb9SɊ4BsziUj:k|NDx~}=DxȆ ڶMKp9NDEF 5mj8nVu80pSƦ;'B h&^mp"˥T64J8krm߮ Lw N@>r[jPuNp|xvЦM;\'B dgk 5nڵM:N@~ݚ>tkD䋬, pլi:5q"ܹڻWsp=Ԑ!j\ժNp=9SIIZtDYzV6^)r!l 9CMwps4lڷW*S CԩJNoc !6z]oo7 BmFPJ 2 7B=WuSC*UJK<p5sƍSɒS'B ={wr!p/֗_jRN{ꩧLN 4III7tDo ^t b{=efwMw !G?cկM !G;,E\*Zt É5K)8X?o: DZt'I{ ιs3LpN@|~I˖&\gsnгJ>\rjR-ZyxAV89=մZ6B G 0twckd:1u\SU("t |e>]7/T!p-))zuuG5 0||4jKU}o}ʗ7 p",#C={V-uj:@~D\ه{-6_q А!KժNB ""TztǥQ-Xh͞ҥM>^R6jt `?\EEhD) !l.+K='__͜)_梢~bck2l*EEi կo:ba[?ΝU 013g*\X*=[PVZM7BPD֬ժ\t n&MҨQ:U>j:p!leQΦSXC{iƍ5r&SƺV͚+#eKjZ(a0ݵ}RAASX C5JӧOl:q_ Hnm:51UԶ~Zc:e1+ ܹ\2D>]:pw  y4Ы'YAmr*!AMG+4L7 cq}[*4T:zTKhn=&pגPq-YB C+KLTxzH))L ;Q_[hx͛J4y:vT 0 -Msh%$;5z^zI |BwkX͙4k?58C\ZHchFhntxCD?9s4kN>Sվ5&0y4{nUbzMuMgQ '(!AŋE 0.l Ch[ɊZ\[W'M+g Ch+gj(&F|#__լCծMWb-/#C_~X*1QYY 3h(ծMwc-imۦ-[-[/*P@?1I*THwީV VHnt.؋UpڴiW]6o<66QFî(+KǎqA ,{ҥKz{ƪCXRcO_))).;mݺգYxo}Ν~&11 ,ɪCةS^ԩS6lh `9>.tC^deeիWo޽QQQ?Yf \UPRZZZcbb~5jkO=(Xx+'/F pر㫯:zh=Əo(Gzu1ӧ˳f h̙֬3Mwm=ĉ-Z0;=FGGn⋑Jjڴ]o#K>BN]H:tMnt-Ē9aHVa!j\Q H|||I_;!e h !B1Gc!8Cp4h !B1Gc!8Cp4h !B1Gc!8Cp4h ԐUvhIENDB`docs/reference/gtk/html/ease-in.png0000664000175000017500000002123613710700303017352 0ustar mclasenmclasenPNG  IHDRX 3bKGD IDATx{|6C!GDo*ZKsL~!d!-!B2s Cї9ÜO[7bfh:׵|u9zz?Nm:&QGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4aXXXÆ yqc"5jTRRRMXR>rٳޒƍg: z,?^iAr8FozGO2e FۈKKKe˖ݼyH9`"KNN<`'WO+!!;ly.]Z{ѣZҦsd?=Α#! ^T)9rKW?߿-Z0g(E9r+##t\W)Iy dFk,}%_r-?޾KYtP /W_|! 4kuuϦQ0Asg9r"PrƏWǎV=8qEȡ3w5#w(B@NddhhMGOڳGs! 'FR*[t\c"d޽G}DȶH*_7(B@:(uMGq=&)=]om:PltIct}EȆh?^Lp #GV-= @Vj͝k:K1jPUfLp)&B@ݫפI2ťYWsEmrz!Ǝ]w魷LppqԹt7w0y{sETEDuk)c:{Pۙ3GGO9܆"RF S_ppK˗ki:;1n:uLp'&BmۦKs!FCE 9܌"đ#5K={t771zUNsE$}BBT(Gj{w9E 5JAA*^t("2rvV(B+3EvJHP`[)):Tm2Eu Q`OW6mT("{2E'N_?9<E6O>QVTtG EFI}V@ݜ>C4 (B]fѬVNPDBBg:EP`+Ç[o:uP`qq;VzxqQ"2Dw߭P9,"ؿ_'o_.l:P`b:3;wj LG&BU:u2Âbc5oM(DᇪREmۚaML`mVi͟/oF -,L>MM,&Bŋ~2ʘ22:uT(VDVwںUWaqL`I/*4TMG8&Bu-2zΜQx:v?i:Q`=Ç+%E}d:-P`1G*"Bzt[b RѢt` Xɶm:U0 GU׮s!XƲeZXNj05woլW_5^OX7hN_o:0\05k&Ql,`k9숉<ݩS2D;GLG#<СJKӠAsEEF*4T%KbS!xp{{tb x[ T(D*#C!!VM!xoQlbbN'JNU+bw!x#>3(B8Gh0xt {U~s8eh M{&B [5jCQ<̙G&LGq &B0"O1bNֈs8 Eʑ^T(CG8P%J92`ڵG& 4y ﯪUվ(D͚ZŻL:=ձ^|tAt钆5Xcoט15Jg:1zUnLGq6&B0c4_ c:1IIWAAQtǣ?Tj>t4 yovѣU(`"P> 0D@n]`= 2(ڵK11ʟtd!#%Q#!A+*Pᆱg5@@N)8XeMGA4 9Mv 4Dٶg;ʢOMG+4 XXM0@6۪UtEY]U>tKUÇk^6DYi/飚5MGKQpg)) Rժ#Qj,Ce >oC!Ŋȑz1Q,$&sgz0At}LG{4 4sܹ*]t !zmmMG;Qpj^Ej8Qf,MZEMG1_ܩԳ^xtE7|Y:|y<( ,Lwk:n)(Bg;VO?m: KaZVn Q I%Ə7yQa֮=E~I|p=(s,pW[W(B+#4 FO?i"w(0pu4pzVC%&T 1FQsgVFlpɓ5oMSٲ4&BcwWNjtx$$I=&L0" iijF))N5BZRKLGǠ8#NQIX];5mMGŋjZŊidyyN({=6lq!:Uk =(H,mԭuS۶SQljj4z(`, uD-]yE֜9Z@˛F35x>X5Bvqն 0V@x5mʕ9;ŋjR;(`: ,kKm߮(M(EEZ5Q`),EԻzVj(BojNaLGQ5n͜)o^Ґ}\#`aiijZNiF)b: "`a}e˸r"`UQQ WD64VƂ:KZP:Oa: ,"`=۷k:tXEbU`*WW_q7QEJΜ+pa}=wkYeukEDh ed7ս;,"mZ Etuꤒ%MgS!U.iW_OjU=$[]x9};xPT*U䓪\Y%K f"pB.]SOիqǏf:tHA:t#1Q|}UyDM3?xthX%תEVN{/_omڴ_ݮ],==TB IN֑#:~\ױc:zT:tH'Of~MPA*ձ*VZelׯ_dK/$)00011qmڴ.7JKӉ:qBǎI׉w?8={틋Q2*]Z*)00*ToɪE8eʔe^i+:wܬYe˖5h`gu>NȸkKT*YR%KR%ti)#??= 6] V-TRgV*iΟf<^/f֘g t9]$]d;uΟ|x挒u_ oo+vG^+%UTf(b&/?SdIIqWnO_qqq V^^> kSSotߟ oo7|W2?ɗOr 9yb$...W~h"̢ryy)SZK*e0؇ՇE}"GIDATZKNHH'OJ*Sioƍy `5wCܹgo~yCd"رÇ-[vɓ'+W^zS,+#9}\`[FJJJj޼ cۉ0::e˖WoF*)00pfWzyy1wӛ9rpX2tVXfSl[%Jތp-B¶EśζEHYa"f0QfZjuf-9Dn}_yآE sĶH oyyyIo;!wdkdEp4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Epy yDIENDB`docs/reference/gtk/html/ease-out.png0000664000175000017500000002116313710700303017552 0ustar mclasenmclasenPNG  IHDRX 3bKGD IDATxycid)WW"ɔo""}';髈d=K%KEBdl 0,Yfƽqt=9/p_^{?듚**D"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!l_!!!j*TO=L،044ܹs 64`KYM[ϟϒ%Ǜ/+-@"GGGG*TG|}})b0x俾-V؎; F//˜x??5c%&*1QIIJJ/RRo"C||O<]$__6RS,?%KLFZa…%'")IO):~өS:{Vgo{!ɣܹ{Qʞ]+eϮy#rT<ʒE9s*G*wnIʝ[ʞ]#I~~ʕӿ+WpL"c?XkZ:ӧ }}G~{_ʝ;`!HRl~?_UL.\3sH*bT R P Pt-پ#G|۸qcsXZR~E駟k~ @*\XժT hQIMM5~S˗m6f`ǎa>CҾ~Yt}  vgӧ\/y=q'Oj^ݫ}gW|$eͪ (z*QB>M:6}ʵ}pDݫ]o_Z<)I~~zQ* TJC)[6qaU!HJҏ?jǎץKTJR۶zq*%=dEҎiͷ{SF'T޼S(B֒;y6n͊"E`"!.\ЦMi}5ʔQ&zU0ދ"`FbmSd"#mtェPAbE/oapGCZ_8ʥJ4jTQ2ܙP+XeϮ 4pVU}$y.kr\M'P֪ZU< P\yEDh2ZS/^zIݻjU  Z\ኈP|մ^zI=9Ln"ye/!A Q:*Yt2 (Bv,kVfMMZ5l"^ZZSjr%&|y5R⦓w"pgwk,͛'S=ZhQӱWO?iT͛h=zV*Rt,(B7עE3Gk_U+U,YL'܀"pվ}8Qs(>^իklկ9M܉"KqU~jߞ|SP}ƏxQk=||L<"(9YKj$YuNd:`E8K\MGU>L *[6ӱs(B)ԇϔkzaә iFʕ?v`:`!RSjƌڵ Ԙ1j^k:`1\ x-\2eT.\Ђ'M 7A^%9Y}ҥ?~mSӦ5 *F/I:~\ULP]ɓ5fbcծCEXb>TF)&F͚i`=L!`K))7O==:p@gӂ@fPͤU^}U?(MY(y!`'_RӦ*]Z{j$>&[!`;wTrԖ-ZP5(Bbbԡ~ZGjQUx(`] ܹ5nڵLס+JMz ?7TϞʙt&Kq4 X֭*_^mzuZp#~SVz]u4k1 vpƎըQjRYg*!`ޖ-U{MMs&;nT6sϩD A މ"nEj>}ԻVRpFg5jCgjtD7ڶM+G}|tn(psza}--8EIIQ^j\k:^Q@Z+ǡEGN=U4<"}SڸQJNx6o*UJ{k -8EJM[oE 5n5kxk \!(9Yݺ5pfT08/WrQ0"<^ZZ+N(B8O?F ]U4;wgo\E""TyM`%!߼y[W>5kt}^.\DlP Ν5ke3%QN[ÇkpM __ӁXO %%uk-\9s+6&1Q-[jb͝MM`y!JB7ڵZXkN(Bx8խoʕRt6AK\ڵ{VԳϚN>(BxgU*8tBNV:vL*[tvCNV͚VD- 3(BٳVMZNKN(Bՙ3REOo#-te :iAw"USL֮գN(B̕vtGN:xPkתLixqON[Pի'4ya.AmݪUT4 V6m~,ѿm: CwWx-RF!,gOM?W:R!'0A {fXԩ4Ho.]LG(BXQxtQ^:tގ"Y-Բ>t@ZvTzyM"i8E 9xP5ktit@* /( @K{L!,yկX7p!KLTÆֺu 4P0,5U-[j6}J2P0,$D/U("I&hHM_4Sf=5`:t0Q0դ^~YG(BpjkTn0UKriRa: 2$5k'e եZMGI!<)4T~3Ӧ!!\ժ6>j"kǫn]i NxѱbbG Pp0͟Kæ@q4qSt8w%6VM4b()!2/)I-ZWspvkȼmڤ T(Y!2/{3F(p8EfڶU&t;!2,>^MhQMf: 5Fa#Ger2E=[ӧk4)c: GȀ={ԩڴQvPH?+((Haap4OQQھ]PHy4qƏWRKq4;guյ(j! 1Q͚)_>o: GC{6nT޼P5k4zFSO(n)6V-[vmo: EKIQ6ʚUӦtpFqs￯kvLGwb&NCUl: EZT>tp?Fq޽uv(~!嗚2E'MGhW8T:v4<"DTm+__Mf: xGH3uVҥ\/YXCԧ:tPݺgQPbZP 5Q9:kWU]MG(BSqq=[Y#8u%K4kL1խjTPӿ4i||LG hYJ~ T(` ,B9wN;zuul: XE yE::EDN'(0t#\ΝUX0pΜѺu\>7՚4Ic*(tr(z5QX^n`:CQ9Лmެ5r$pKu:uR2t09Rp,B}W}tiQ(B/.]T5,S3/4m6nڵʙt<Wﯖ-U(`OٲiX9&8*˗k|͘7lE=ԣ^xA["ÆIEF";wjXMG[Ar:wVR8tFqڵK7s750;u6l"_W\>t'o4U޼=m,1Q;fM5on: BCKM;c6L}t3ЮS 1lQ[ZJ u=ͱ%_TƦ磏+M"GۗkkP63p =22ɪUZPG\EhW#S526BCy հa׏Q0`h6lPxSΜaZ]rzVŊjtF,B,"G _?9|vмy2E9s"Uڴ1?,BٰA6hbn"T ʕU(k=d2}tX!CT*V4p='̟~ЌsEv:T\9Q"t%KL н.^oWT(kD>MEF.hHm@Q@Qh%4]Μј1E<`: (Bwy}h`9EcMGEᆱ9տ;]/*J'kc: N(B6L߯^3bל9;VҁEbÆP!uh: }Xs)GQ"tCU:t0n,B{-Zg: X.; T۶s2E{/`?,B`M]`3X.0bsExUx&L`-ȑ*^9v"+iBbޕ+s];9"̼}`sEycfҁZ@1X;*V9"̌4>s03F``fؑ#?_A, =Zjt+P/1C*GQ@f(_>ud:E( մiKc: E(  UtPuƍSʝtP5n||ԧ}:tp)0]&MR|7j]>PV*\tQw6}ΜѠAs܀"˗5z^~Y>h: (;7O112t{PwUݺz1Q0΢E:xPgp-w z)Qn"kz9"U*W6N,›۰A[j 9n"?TzE9n"~вe3G>>܌Exc((H/l:(;9sԳ|}MGEx0έLxEx?ĉY<"JLT^s<"e}ZT<"MxE&%EGN=(4_}4uby}z9"[a/6q,BI3F=zLxPk"M-X;V uk9&8O]ٳ0E8afUs qt),L)_>Q8Ot9-¤$}7V`(s{ҥ-X`:(.>PJzi9F9tnݪ[hCCCS "_Geqp'VqWs,qEɓնt8g҅ t58SRuYO|ԩs,Y04TO=JLX=ԬYsAU53`%N)~Ӝ9E~~)E8ydQ.s,E0hMGX0!!O>%K̛7o*U-[]PNwogk:EٵV:cƌ]Ν;H"ן3g ?jTWrM0^>x-[DDDT^]RڵϞ=;dȐ͛^qq:tH+V 6.ӧ+VJ ^ѱc~I=^|ѳ6a"*S̵<9rOulĮGǏPµH¤IeLI{׷H" ,&&&99o>| ?ήENŋΞU74??,Y,ɓhѢd]p§OSNIam߾ݣvcz}=*IDAT={\ݻ,!;vlfffxx!K*hz:w\${G?U"GGVZ_uR~~߿L2'mǏ/[ N0==?op8Ky]Kt/OW +P (nn{>|O۶m[sW\z,_@U6mڵrwS~.M=䓒lM`ԥKJNZJOxq=󌂂Ԥʕkѷ\dɒ^[fegkj͞ u*WϫY3ժ%\/oѷ\ˇ%'+)IYլպgUۧ?TRVe(.NQQzqӳdgkBMU^BqM'3JLTV*T,#\.Yq|SY=dz]B]ٚ9Sᆱ;TFR.*^,{!\zu=͵b8 |˅ ?^ciEGk=MFW=wĉT.8P*ر0AYYC/01!riL '8 ||R;^=8ө ػWM~}yoל9zAӛW}zP:~\Vi:ըazq%ѣչLo!XLAue'g?vҥk BQTҴxVV*7whݳG~oznGp rs5jW׏?jv H-@^96m4h:vTj} @l߮vtWX5p&rs5l}i^*h7jZz%_2eL(PZ"#ZP-[^o8=JҮ]T!VfշzІ *[ x+4Tԥ5\ӧAUmۨsBNxurJ0=(ǹpA;j"gz" l{5oZ2>p]"X]\9BNb4PɒTB8¤IjROu}B6ri0*R T>]Cxk!T6ڴIg];k!{:sFAAK͟M#loմNІ ^6.`7{V-][ nM԰Jƍ*WX!` RZN%K^ lbj rX!`￯ŋuR!4H={4e r-Mu֬QZv!vBCu/Bw7_h*=5)BG9ƍWZ^ժ^"|?($DGj*"|?Y3}VT!ߒ`ݫdծmz !/*,Lv)9Yu^g |ťKjJ7k =5p B'\֭q/VIxB=._z7EԤ5prjfRP5pBiԶ)p$>`+hMST07?^8"`z >}LOBL5`5=GxSݻkHSB˖.Ulڵ{uԮ6մi*|xg)4T h<^! _}mÚ3G ^\'մK+VX1k_ <5j˗?w!pA:qB}ҥMlEEi>]k xCoHS2c<^xAB}bbԾF6=mٿ_Z驧c`-8yR-[D ͞BL܁eŋjR)-Mkz &@dgm[ۧO?UCIJIŪ^!3F&id5onz n\,&S_]x!G6mRL5j)gB7tZR͚C2"I5oŵh 6.p.)<\?͛_ez IoS'ܩuT5B5f4mx8GW,ѠA:T;x!4EFkW fz -Uǎ),LujxS/"$)3S*VL 0".lEE)xqk"Գ֯<_ ND7N 5KꙞ9B-ҋ/oSd)!p]=&Op4B8ŋP;'KXpKqqڷO*U4B8ΐ!JJҲez1S@gcƍSP)o! 6kW7=pÇն4иqpZTJLTAN?rr'eB Қ5ZJ*B LO|;[N=xubz !`[ǎ):Z 護LO|!)+K-[X1%%) qmǹL9BZNW|ySG'1QChPX!,fũ]; jz ` 'Բ~XS!`/+,L.i<^ѣvڵ*[F!` Ci4u5=>,`R맾}թ)B:N԰|!ΝS˖n%&* 8GliǕ{5)B^}ԭ<>m:u4q)Bde)<\wep!QT53B E4wU3=p >|1BC(<I!mS.ᦧCNRdʗ[U5B І ZJ˛^6yyG&ASH!M6wo޽MOoUzIkz kB.^TX Լy*T!qA6o֟lz _# ŋl~CϚ5K#F7մ)smݪ8ũ_?S!<%#C['{1Bxą jJ3G1rguRSU5!o(͛sU)nF7[Hk0 !N{(&F2yC9}Zm5iL7#ED9^"ELgp]e6nTٲpQ'JJRꦧE#nעEz pS:Bܖݻ5x)`=&O2Q!O?M`A-X…M_\,Ow=xP7s7Q!dyl,9R͛q5w{wEES!njB>>2Q&!WgϪIjR.s@dg+:Z'N(-Mŋ^}!'iZZ LOV 4nNUp77d@?{:tPdF0=gB22*U%"?VT/q pڴIkz O"u Ep*U2=B෦O׈zM8Gʒ%Ez_?Sx!~k:tPHƍ3=BoQH*VԌ7B@ΞU*XP˖HkxVd22RL]_ury^Gto%$MO`h|5xt1=!εnÓ%G#p#G5U5|!\YJNV* 2tf֌|e/!bxFTT)| W /(>^B_jbb1cLO{!ljZ*wҥd 6Obօ jZ.hj+fz _EaOW("BkZU`z FaC99jN6hjլiz FaC}hR-XڵMO!fp}OWh)VƍӰa9R11>HLԋ/_?nBʕQ:7MO`)vc""Ԥ>@~~BK5kUkX !8-TW`5,FaajL)-M%J^!*3SFL`YtBBWZNU^!einZ5kX!dg}{}.Uݺ>B+qԵ/VR76-BXI|>XӦukS!e  P;BX[oip.]LO`/Y'4H+>C뒒ԹvըQ#B6cվ+#!|׬YI#*>juHM*k!/ZX;*"BӧSAEs.UD o -˖M5mD7!|ڵP&;W ^!|źujBu*) BuT,P`5¼Mʕb5B&MZJwez !0iBh -Y;0#B3oڵSJLB1}"#9s ! 2E](6V}ĽcFm&(.N={*! 0«Ǝ+>^B?^/>}4f +!ۗcA\ȑ85BϺrEJL{gOkw!<(+K[+5Us*,BOl52n#22Դ^kM#pCl}*U2_٣U6n,vT&*QBkת\9k !f 5lraB5J!! ƍk !nWN5h̙ӟL[U-.C-]Iԭ5p!ղܹjB|:p@pAy9Bdž [W kf*!n٢E Ci/oz B[ri(ys]%L9BٳA3FBɑ#jZ|eԴ5>|4[Z?mF !MfTT5n7tbb2D hQӃ8G;~\mhn͚Hkc!cnEZuMOQGNum S\uӖ-*S <>Uw+"B'Nh|^!$i8ծ@mJ8 !t}-[kzx:ھ}7h4ƚ^&pD\ ^=] "NFsj2=QYV;++K0LA.\PjXUϩ H:ΝQ_}Wn3=|Gaî~MpvuNܡCQ۶i  _}Ѷ\.}U"JIQFOQ{:xPg={ !GٳڱC~6 |Jrzջ7g8" hUQ|<Diiz)ӛ^ڶM-ZR%mެ=y|!9[I=/M/Pl 2= luTjVzbc`z!4/7W 3q}QDo{&ߚ2E￯ÇUMSt47MKkh$-ZũgO=YHЫΜѤI2E_~J4~t]gBoUjf:}ZO?^SV| NY۶il%&*=]K+6VqqR,Bs$͛ /8EDreC&'G۷+9YIIs+֭ƍ|ߡ/]/dddT^_lѢo~==1h*YӧUj\q!^x0''QF1bDgϞݺuiӦ\rss=geiz(%E_~UUPjՒ'~Muzf>IDAT4p7o^rePPӧO<8::!:yR;w^cQ*pʔ)e˖?֭[XXի6mzledh߾۹S|#IZU͛fM=*T_`UCxȑU^Jj$>|8u옎__Wk}%HU0լ5\vc:u\J%$_bzzS?-Z5'G.rsrKersO+P@*\X TJ ԝw;秣Guo #===7Ӄ-Zj\r~~_)ˣK4# 5)VopOX5K>uԵܳgϵڵ -XUC;vl?P\ƍ\?ezC~ԯ_#Fx̙3cƌ?fJtҠARRRիKG,!܌.C ٹs?w&L0(Oz~ԩS{9cƌ2eʴnO>1 lkرᦇΝ;7""监J ٷoߑ#Gm4D2'>|m۶Eyb/ԋwE߯CM!yAFFFFFFFFFFFFFFFFFFFFFFFF64ΐIENDB`docs/reference/gtk/html/entry.png0000664000175000017500000000370313710700303017171 0ustar mclasenmclasenPNG  IHDR[L[sBIT|dzIDATx[lW7w7ŻؽPBq(8v+MA j!)PT4%mA M!1BiڤU_*ZR"|E|3Y{:}ٙ?{. E[Ke;`X[@6H =;e.0::L}q:vZ "oOy,/:갞\mOYDzrE?&72)D:r&_@ H)D:\)1Pwj%HU9Ko)~RTZr?"7!P}E)D 1@` )D 1@` )D 1@`l6C 095aEDI6&I~"eso0040ؘ֓"JS  9| Atf6  H$pE$mfov_,E|bYVi_,,R Ⱥl|@6P#@`NsWzY#{_C# Z~:; 6o|ǒF 'sHEKRZ[{E&2<2Bp8߭sAwQH3`nhxCܽ.ibG{ݻ׿A_c;_`tЗ9"▛ofbb/nS\{?K/>M--~"UaYF^9ͩWNϭ8{fn}v6űǏlL'O{W?x!N| COo0yf{6n٢)aF۶rg >9靻iok`O{;??4|#>m玹''8p=tvrx$eV'&p~;zwB{ڿD"?? u_LNNseq׾DV:+^9 ۼn,L&S:;g7s{vSW֏M|.?nolKڷy&^??=K]ΥB1Fvg[nT7ߺʛo]-~؏ B`UWλr?m[=s! ;_*^|XGϞ\r`n[O$<{kO.B_t[XUw3е!QxUw3ЩW_eS}]dFGGp]+", ϳiSS"R mD[ _U"r6p"D;o#dcΆ :xolLv~c=_czzگÊ&7֓d9odH$$I8,tT*9|LRvVDj)D 1@` )D 1@` )D 1@` )D 1@` )D 1@` eiV` 5 40:-4aurqVrMi-YRΎ~C\g-"+7ܑ@ )dq8ϭr"+,&;XRPʟq|{ (,nfa(D&_3N,:[g  ǭYwwt =P|e_|#yr~2S*ܢwrvr bᇈ/ruREZ5{>ޥYz[ֻHdIENDB`docs/reference/gtk/html/exampleapp.png0000664000175000017500000001002513710700303020157 0ustar mclasenmclasenPNG  IHDR00WbKGD pHYs  tIME- ]9xIDAThkmWucεgs=irsohrc &V4-m"i PDPJE RD[SS,VjcZx}{=5>H.3Z{1?̗?x{zOuc'(GM\)K qEMimjbjP:TJG5duH86Ns}}bU!o=p}>{֯z3C#!EV"1i&e<ʹ{}YunV*BfXb2*%BhkGWy&'tDW{onn>Op?C+nmnSbU%bPR91Sb]m4UFhfqޱƷ(=p{7r!Ir8-IeV&Bhg%)FJH&0@=,C1)Ynj'~ ~ś>{6&u5jmDBB0¹3™S{1`>jB@B@ }N pP\lKxX_zpu{P'4] u-t:'[9))a0 ˞8`)D,AŠBޕ&;=f>pկZ3O 62\&2̪>xH}-Ap NraHcmej_|O9|hWpc#F9 +{VXٻpqhi3ef\ObKb8 92* $H FlbҰpFWM'i6_1t{cV 1tb|4ࡃZ]wѮPq~clvbI<Α9G.@BPPPD(d-֠6FLiGOG^v> qZ0xC9Mwmo?ʠ(h9qY{Vϟa:B(8Xacф #0LBMx)m42&lHu^^2otǚZze@~I>:n9vƠ5`̉)# KX²9MXR(  dD.)M0\2`fHm@[΋u@9ԸTpʀ]w}V0)un s)u #S[_9bH̥{){I iN5O AёTK2QژӜ;օ1IMS48FaD mQ")b$Q ͅ.]oٷtًm4/#i4Ugggۜ:{SOs~}iYC82'"T""L&&@P1h `*$ۋ_oo^('wT\3#mͩ''H.LgSַY^g<SLΑ9;I@~D함Pa`,C L@Zw#w^AƣzKu%N@՘͠iݸe[2ra&FԔUIY4%a Sā_DBf/5 ?Du+ sy! -WhKOݝ~@9矃/DN[bY :. 1R$#fKKnn6v|^&xlU  #/ kY@]wy/-f0(@8 ' '- )*1&RT41e/KmAmn茗x#tN}h7BQX\1zّ*>`~ceJ;QgFJFh[('.xvZ< Eޛn4hѬ%Ҩ!v iuEWUkiHM5kmE5fYw\IbxodRh6PHX,Ye 6h{-U$*"!4mMSi-j&LZBu$ցPGRW+!I~E+1SwWw1N{t~ߏ/n!r0a£y 9 MC FI[GHnF43G}kɾmzno\=c[`&K4вBk+t&DHk3% (hE9#DFB' ss1 $ T/i_}i-Z<"̤`&J-وhC V,'##$J$hDC+6("nQd%ٔx/OگbSrjwM*10t)Éq`fC.`: RAԌnDh-yxNϵi;S`N"D1@@h1dGckc|y>$O/c71 K#F ZϜ_}#{ښ>+p sTTg7W3?(Cy=w.e̸'Y<2SrOj}̙<og WIENDB`docs/reference/gtk/html/expanders.png0000664000175000017500000000127113710700303020017 0ustar mclasenmclasenPNG  IHDRh!)yRsBITOtEXtSoftwaregnome-screenshot>LIDAThOn@gFBp."1|F Rص.!UP Sādz,!n#c{SMHVK F-oȖ q@8 B!D"Ds%cMl ޾;٨o$gKyQoLCuXOݳ!J=޸ؚ1jfMH)i.G=.I0nm4ǔ><ΑeyxuijsXRRr^v8N:fm'I N}Ϻ8cY_/5wka!%ۮVL9\.D9qUqtR&]>Y sVLNn !#o_|TTcR( 9sf%~k!Y{3~k!q.ƙ}!%n{BT-!Zc翩n5$nGq@8 B!D"q@~D*;l.IENDB`docs/reference/gtk/html/extensions.png0000664000175000017500000000073313710700303020227 0ustar mclasenmclasenPNG  IHDRJKXsBITOtEXtSoftwaregnome-screenshot>nIDATxj0EGe}@BÍC&ldWyZ$➭h-ٚA \1#=fnj\k: waB]wJt=9,oH"'*_{cFzH鹉FL)vd6 t3ϖzw\Om1Ww-|n<1#=fnj3cFzH1Splۮ| ۟4M۴&\:Ry:q3(rMg 67! RuS辜Wg#"=fnj\yS[ ϵ@onT[d|I1#=fLz?pl-IENDB`docs/reference/gtk/html/figure-hierarchical-drawing.png0000664000175000017500000003621613710700303023363 0ustar mclasenmclasenPNG  IHDRcp pHYs~"<@IDATxy| g"EU*"jT*Rջբ*UnKkRV(rRQ[ Ay-'gOG9sf\9sIF(\Phߞķ @xp|xڽ{;rH;fcoih0M8/;OIIٻw2oQFHN3edLt;7 O(Xxn'vDrnsb&0oN>J;E?Kr' ?^O&RǓۉbH'cۧiPÓ>PO}SA%'VN~nO2tԜ+|/O“4pcǎ*>s&M#?O$''7o<888555::_~1cg}O[. @Ȉ;s :<]&O?h_cZ[ʇ|(ʇ7fbx׃Lr:uDWP8.ot,dܹs#F8/({'j"+ ꫕+Wn߾NXnܹs~X O6 "qOR8b1bė_~ib8w}bxbJl>soRSSe8ə$8+?Yu@x"2m޼|}}}ٛ <vU#77bŊVEL_%ߴiS{\E!<"cƌѾvSLyǜL'ӧO0 ''GcbboqFPD“AP¥Klْ8wӧ:Kf;vm'O|yd*U$߿?::ZʘRJU^M6Æ Qy;wNwuE__߶mN4)((HrӦM߲k֬9|pYfݺu2}||ԩӳgϷzKVbVk;qt /_.[lG- NX>{?_{2ܟ~SNʵBqOCvK/iO)Xxݺu36τ _Rk׮ %˪[믿tRuǏ5_~=Irݻw`qAE=6/ k~ڵ;w%I۶mی3yu|`qqqwt^Z7|Lv-Jذa|PfM3޽{w^^^ZlsȑGyD)|M6uԑ]g… 2õj28=zIlڴ7o'$9?**jժ)))~lF[nmɓ%J!3͛;w0a™3gd>*jCod&YS{+?3&11w߭W^Չu$I*r*МUYE֭{yQg /H3bŊ :#3(͚5;{:q $OtEr̙3ϟtg@@SgKCvvɓ%$8p@$vs-['ITJҤIeСCCCC7n|ٳg7ζ[}mYxAʘݻ7o޼aÆϟes}[ĝɕo*.Tcƌo]|ccce=^*U[Rq˒,arrHu:| vw+W􁁁C 8qbLL2edrʲD$Jj7oU]x 6L'|2**/mjVŲ&&&ݻUV:֦=BX!yɹsNٲe0((Hj?@_m֬e /VdI#޿?33SJU)%M޽{/aaa:#kժCo^WLʕ+2LmӫW/"ɓVeʔU6V2rРA2})[1Iqe,~!Cd`֭O>}%JTZث/_Z|r *茔^f%eeeURE>$.]Z|OI_l|m,jS;$^pAtrmֿ ǧqREI)((HZfҨQ#Ǵ /_ eX25i۵b쥄;޸qCIիW\(===))I1|WMS*Μ9cz{l⭖4 R޼yS׉[pB$ٳ iYOH>j^yBCCvڵ.+99yHl۷pr笭laN cOfΝ+W?1%%ŮKWXzB999IIIW233;kBG WKMMUիw}gץz{{KYt/rl2zhG֢E nTHK{,,l={6g:rN裏c]6aTjĭ#NINe7o^\Κ5CJJLL\h… TrSNEDDܹSFppCFFƉ'䥍7.Yy˗7R x kZ|ѣG+fϞ};=@x$xhdN pp\|K.-W^IKK{W_jٲeddv]___ w^?Mv 4Ϯ]{gϞ6mfK,jժ=zSԱcG{odI0qjqG ݻFRK5/aTR`B8pڵ_|)dakk֬YJJȢA^BCBB8NAx*I;BO4|}}sرc%9L8񩧞R:vO.`~*[={t֭ twyJ*̶VZ8Qon('''++˫p-) xsNM;ñN&/^UV:#Ҕ@WQKeb9p>W wUN/kצ4“_rV#ҥKL; Oɡ v;7ܹsc,YҠA)?]tiʔ)۶m;ϳ>[oCgӧ=։z7o޾}RSSeUV {WY͹@sz9sN:%WXqƃ ܹǏ?yd???i'ûvx񢯯o۶m'MLiӦo2Ϛ5kFFF>uYfݺu2emԩӳgO8J* v)O+[7 UVEDDĉ?CF20cƌw}h.g3wT?wc G޽[G6mڌ;^z&6a_[ۊ+;PC^|kI%''O6-&&FɓUT富IOOEW^]vذa5jpC <]GÖwAr򯜣wkL0?K.jԨ_~EN:j{rNWgqPcѢE;vxMoo%̼yTڵ 0`? '6o\;[9Rdە_\vT7?''Gݲe[YpZnKV-+WN=Y˞ߩS'{2 z饗ij,^XJXYӕ1dOé߹C=$g(=䘅Jsŋ3gNVJ,)'_y~ vL*-6{99k7lGuӧ⤲xŬs搔ԥK9KM ]9Ju%un%TIU*^ /6mz͛7KԐVo!U֥ZjJJʇ~(gWƴ4ǥ,"VT;w?sJK,`jjԝeʔ1u.hR$&&J8tPe۷#^r+W*ǎ9Kwj#﫯*ɩRJӦMk׮]b$=Z AʑM֭D 9ߙ3g*MMce˖r*;r2s9J"ׯ_6mԩ#/I[eϞ=2 dÇoAsC <9[ŗ-[ QiNlmeeeIu(Ԃʘ5k>ח˿KoΖEm*TP[͚57n+f 4#GJrR&32RN#-c9;K}_2ßY}Nzd'O3{L]vK.ǭ}f3rZI&jСC%L7nXٳg[S-Hj8i jdO8!Y믿.콣Z{2yf+_zg$8Z_|xllm۔۫ev<טZ ҤUje䰏ςp c7k,Q>&PLJJw^]SRۇ@yr9¯_OȰO___,x+W(I ڻw7ӨSN[lٮ]J*Yb9$''uYկ__ToDK,eꝶRs(Y5++_RjL-p,hO? "Yv#hjsYe@9$lڕ۟mR. ǯ[%Vj˗/KFپ}N1*222ԋ.r)*YUTK'9 80((G=sTN,ͤQF6,w9 UV?vIKJkOZ3f̰/997o*UHn4hfB[|,|kVO"=CSQs~jѯbVςpбcGe$V^]r TzzzRR#Uu!FyrErҥ~9׫Wo߾r),// Vعsn/ej9953I2xTҕlM櫕fASNUu۶mk֬ׯ_'̔ ~w>>W޵%(<<\B4͛}4]֚ǚصƎۿ`*f\4?裢hxhk͞=lzj'}QWv*:ى[5 :pr[H|&M.7'՝ĉ7yU&}|kKrJ)RRR\jP+T 0`̙8js֟Cf͔O7lЮ];匯|}Ix6$pooKVMedd /^|ƍ x{M,PRM*ÓD9se UҮ<~\“% Tx%''?I':kϡRJ;w޺u###[<:t۩eM^{5%ׯ j^YgϚӣo%)G-H6\ SBڵk[,Yҳg_~eر:8&^(:ܹsܹ ~fTӦMs]5Qt3`|ro[nM N6p5kքk',Wݻw:4yd` 4ӧ޺uK* &C"2ATT?oT(:uTDDrVM>qℼqFi=+X2M]Ǐ3F*cO 嶏.H6l Rꜥ| "%>Z(]$IiiiK-[4{/.x''{ƨʱI;5kܷoT)))7o,YdժU[ho4lЉs.dgϞ}ӧO߹sG/ Ag111WNHHtD% v?$3g=mڴ[9s&++Kg1sAwޕ(AA믕U%)s=we)N`zb [g}&mzz |SO=Ϲ5z]FSJUT~ <}DEEIjݺ;w9¾%'U8.8."._|=WULJU8.8.Po-߶4hg}vcǎɘ5k6hЀV wxRd?{QXիWGGGtqĈ2L5jN 9~$o@Γ)))YYY''j@m봴(<$VƑ#G>TeN:;ۛd&'<<\7>>^AAAƺ-wp#FdffvرI&_}˔)R8@ OƮ`ȑ[e "";;t9:ʖ-1cƌ-[ 6ˋ _xNn˜aÆʕ+w\jBr劄˗/ݻwϟ?_F  P':HN0!;;{ݺu2пt~YΉKoРAjRRRx P¬&pЇ'5?yNly0i֭ׯ_kŋ-Ztȑ=zl޼CP= (I CvA|=x`2^DA"7˗7n2.BxRW?6q<111wRzMiBSVVߙ3g?=j(("I;i'S2CNJyiժUG)SLń5jo8Pt-ZO<\sګP{`*@5Xr~xɹ('ǫ65;9ɹ)jЮ]PI4*S4.x*0(w'POP= j n]OWñ="rؠijy\3L}KMM]j$'N+V/88UV{G؇(/ٶF6m?sŊ{9}[J*ѰaCc1bė_~)/^T~_Zp 7mtǎe˖eo$<0p67q95YNN{#eƮ]Ǝ9uTӿ p[VV×-[=#s۷fT֭K.gGx{B7+Nʔcu9wwi߾}2,`9}V^xW\7nxԩ%Kt^fѶm_~EܢE ??7n$$$,^ٳ֭;zh\\\ \4r^yM6ɰ2PD >;“#Z\F'gvc%9IuՕ+W~K.~L1hzbŊGyD})$$wy7/_~ر޽{޽[*޽۫W^eo6 U|mѐ ر @D9]Ȕ?8, ͏m۶@ƍ׭[q[tlٲA۷m|abŊ>' )))7o^C=df?Wki cgɓJEifذa5jy'O痖vҥ)SH]ryYg}ޒ>x`ڵׯ߮^UJ{k׮={ԩd5kH$_~]f^NL/~ ܿ?))I 7h@-\RbE1xM:UXp!yׂ j׮-iL̎;!CϟoNOOĉ][|qƅ䛟-Zxꩧ &;vйIG5/^, [nwA7n֘0a3?C&;R~}%bݻwؤXh?.h|ܹssrr#HgV%K A@MycӦM /:O:u᧟~d0h߾2ϑ#GN>`>SIN5m۶O>DHoTOmڴ)Bb ׯN:>>>{4i҅ dkժwvYZsiժUɒ%%Ν]⋒dXf8p'xK&޻w"խ[ڶm{%J;RժUyΝ;%L:u$MF _;}9W.{i3Kee@|(r`xrJ }|L'v}۱cvJxz'| m֬ٳg1*TեKgyF3gΜ?λ]~A5k>׿w˕'(>%9-^_W_l8|pʕ>C?XJFw(];ڷom۶w,&'|f<PTVB iii~&MGHUÄM*w裏_p,AAA ~Fڵk_y+Ky~S^d???S'_ʿ#G!/h>}V^gڵK OݻwX-66Vy:^jKΝ;۵kw-[o '(_ӹUھϟ;wC6m$g͛[ƞx٨Q#QF o{߹&sd`ʕ8WSRRX-uҩfĉիWgW4ٙP_R; &;paE~A@6rO?tTJRK~",7&&_ܰa_m bŊ۷jJ ˱O?3F!ui)ڵkQ[~}iJBR}QԩS%H*UTppp~l{~m~wY+oo@ٜݻ?K eҥe֪U k۶-xICE#G\|޽{O>Udɠ iuDDD'pSߕ.z C <Z'#<O:x^ <>'@x < o-t/a3V>| O';8ZmBFʇtXS>o$<O'gU d9{ߕ.zOJ H'~Q|x#fR>M6] r/ Q>o|LʇfKxpA' @x <@x <O'O' K“'O <OE"))iŊX'@D'\puƉ':j_yyu9.s$.ӧ;O:ei\u\N}|=ˈ#nfj۷7;v쨫SNC2뮛2eJ\\j˖-{CCܳgԬɓ'_tEh?x`cct;|'^qճ~z=wGuA]}7pCn":îy .,//[[nym_Y}}ڣGۇ;A{뭷JKK rVzR8Z~ίm6عs5k~IHRxAAl1nܸ~IǏ6op{i2ήq.S٫W/)úR\x窫r-oԖ+inܸQ~g3<1_XÆ ޽aO#?s2d ڑ&ѣDE2- OqrKƎ%K7(Ouѯ]zz*賦HE65j,i^F?J^z%mSζ0rYf)7 %P H߯GV4;zѲ2J:T\$e˖}wv<Ў(J9sfvvv拊V^- ;EWn-W$Jԫۯom|SqygXVXQRR"K?<ՙ;wnR]wݥpݺu)LJJZ`ABB}|7V=iҤ .ZV2}5$,RDy.o6i~{$F1cƘQ_me&Lk^{ۺuSe\x@Q]) {j㴼u?^iFTj"777NKKKXKӸ[נg;c YұryI)x6y^4/>lմidGz[:$Q oMcAV-Zd*] D$,r^4I442+8ex3%٫K%AE򟁡5IN]\>Fתk[i׼ J={H%%%ʠn)V紴@=r䈔K^ACimy}Q|aRfjYi^vbbb;4ܬFBBofb]˖-sR=AW^.L`Kmwڋm۶%yZǒeK.Wt:6͎cN랑 \z;w_VV'j[wXL pu!HMU@9xKÁ/ UWW[f}_رcǟ~h^Ĵo&?Kr̊ =/oF^^^ҼǍ73fȑ$읍=zl '2_ 3q>@~A5jT޽573e6lpUrrSUU/K]Y6opΞ=ۼ{ѥKj?~*(8qÇfJGh:/>r")So,,,TD*2h'L`&r"%%E]*++_xy܀BAff9{oAAAMMb|Gi4g4GBvgl͹u[nEه:믗[63gWnke:Rmüy֬Y^GY||4:߫;X*vZ'M$ouNm&*DPV{4OZjӦM:zw::C) Y;kzt5 *7n\jjMrT^^^e˖zR;pe(>dƌIWyBiNgÇw֍yL}pR@S㽢11QK:7Q\\C=TZZyf"S_׫e=k,%+5kaBBBRR ^Iϼcm#*/rm8_my a:NȴN>my :NȴN>my :NȴN>my :NȴN>my :NȴN>my ::?#DhΝqɽPrIENDB`docs/reference/gtk/html/file-button.png0000664000175000017500000002354613710700303020267 0ustar mclasenmclasenPNG  IHDR!sBIT|d IDATxw|[لd7 AT;PkDFA} *TQD@BH%wf7m7$b^d̜3s>sΙ@ @ @@QNv_"..+mL4.Zj/)rsshDQw.%)ۋ-6@ qUxbX$p\R( e\- UU~ 0V~ʯG @ ([*D@ kB /^V~@!@ _t*j( 0BƯȲL,da2AFh0b3Pﰘ_ @,lvCks ‘cG:E!ͩ5JΜ=C^}Q)UXֺ6GЀQ)Unњ{w h(fZ-6M4pN'ZRצ*~%ndYx'@ ˲A_ {6.oD @Ps}$@wlڼ2JѪUJ#2 ?i_ tΜ!4$К6HDɓ4kڴMiPxY+-~^K-+VbZy}Zz|KZz}p]v%|{%,ö$֭۔{| $ #UY;wѣe[Grȑ2N~ZTuyݵi|i)_7oYa^>We/ze|ǀ~}]$1װZene5ZfQ|gl:Xu:Z)oUJv¼vоm[Ofr5q:9{o|Ƞs:hu1%{ai\_tҼYǵhޜ~}&eCe/(`M:~g&3mڴfڔ)4MnBvNwLȐAسw/^s&$$[og~>s爉g]t)* -!;ԓDFDPPP@vv6C l1en J[|`+''C\ eU:&DӯoI$kG/˅]w<8SBfM$ѶMkXw/Qk45ʯX^V$ѡ};3faʤ{0 d9ݺvjr"5aCTI*lUUX~ Bz_cbBqn8NL&v Fd|}oq"$nRT%""栢օcչpw~j ߟ={t:Ȫ7Zc˻ށ;r_?r ^M(ڱC{uSWD Q|ԧpxW@s+1#e!PCȯ DdBV ٌ>X_צ*~h0w>O\66y ƺ6V@TdȐy&S . NG!(~Wt:h4TUFp$/8v{]RvhAM!A#@ `  0BF8s,uV$I?Zg7Dj7VbKM[SOa*6|CֻǓSvNΧm|g ׏0n{/̜ Uh)j>+_g=+Pn]0zĈiM)0x1 tֵFڹ3#_fTZ:޸FL0RǧtfϘ^`Ǡ=iW҇~Ԉ|g<4MAbBWu_o ;'& FS0))k]Y?zҶzd+$IZV1LܽI{fGjEՖcGܽEP.b d0lh<\8FV/v;9~[G2l/6r43^~#'O2tH ,~c9O ʳ3fq"5S#;o[ogמ|ڿ+rͯ~=wM#ncob7=ۮj䊦ہJ%_lҳܤ )o|ڟ ǕX><~_y[o#F_NjZKjx#SO!>( ~ wމbERѲy v\׷wSr-_#fՊ ;u@tT$/^W?pW^G۷;f͌~4O^~'Ʉ^_vweP"6|T*Q(={B.=a$%$^EFf& ^}DzdddEGEѱC{~}s˭|[ƌU%*t&bcc("&89GO掰\^>Ln҄WcmʻL{&'sI]: ) *F@ х7]S9\d Ea Yk'ƻ"Z8{Ыg2o%g|[T*}z"44kzNiӺ5XIlh4jƎZs[/TՇDj*Z@мY3<|MC|ˠQF\=d0oup\-]Ƴ3g!2aaatØr`ۿB`]۶LIS챇K{d47p!/[NbB<];w"44gwXX-VڷkNJ%*/jܘDv+>2|Ϫp%z=O<0al۾Iݫg#u,Q]jl6^#%, 99 qM[bɲ|nJU$IpNllg,L}Au,_fNсBAlLLeDDDXdNGRRb 0>*[U*J"#+}rD*z'.FjumpBVF dD@ CD@ T  0BF@!A#@ `  0BF@!AScϫA)"j%2P  0BF@!A#@ `  0BF@Ut`Y:E֙,LfS]#h Fq ^+:n_~tumcZ8rYg7׵9_ g۫/* Z0*-Z{n! ٌVfյ)DbXڔZů,um@ ;eYFȯ=ZNpe7g 9> [nCh[>&=KC,(-.0$I$%>KY@! cua߿v ,qOVaKfj |ZWP]B*JSEϺJa'JMˁS7~ۭ&~3zDD8Z`7ѣ[8A]#˲lhx0 v>Bi<0'O? EtzCDd4WpJN:w!2.\`Ǯ{vݻС};"xbANBBlv6Ν:ҥszSy7k2l߹;``4ow CmW-!aqڋZڳ>gPV/i{̦r@Mǹi ׍֤qc~zؘ2229w !l^*${+gdfʢ%NSiuP,;xIn҄)w^}V4k;qp=5k^a뮾g~% `Z p*–;qrK; OK%2 <.p2-3@g2aЀDGOֶQɬ 7[,>ZJ D *Tt+zիHJLⳲ3ڥ3]tDj*Vf_Sf}Y ïB.=hִ qcwHXLe׋<$IeW;ex?cqciݲ%KWd|i3j#Gǒ+w$\uitЁpOtڅ3g\eK,-'*{ٳk}v☷eL@֙3(PЭkIn(``Ǯ|wT*zLROEh46MѣJ~KR7kBQb̍%Q^{ErC% fwpn.DI 8@P7kݳ8SRZmkӚE//$2"f`|a.D|a '%cL]J.-(a_{]ĜY3XMfyY kԈ1GѵKgj5C$hcu\\]FFT$x;;`ͽҶ\6nqXM$Ikձ/mP6+Gjm0saL2X,Vrr޾l6Lf3aa5rKąqDMt?]׵)U˹. w-oc[>muWI2eiIwIWSvh4 Ť&T(%?y_ e`Kg B@L")>+5(T"ZB| )>+ч`2PqBl6׵)_E6af#|FMU2dNEo'*2 Y~%NFיp"I{_#~%v/@PSǤ@!A#@ ` ড়9{6ï$'RڌBUydTもW5Ħ-[x0umJp:|deL&mx>NvNCd5VָƳljl6[#8vaԈ+cO?7)2ƛy~RՄoCy׾"*c{6r4}Z]7lZ/6Y Kn]0zĈiM)0x1 tֵFڹ3#_fTZ:޸FL0R{%#nC4?,3k΋8N^FSiil۾ȈZUk_Ȳ|Y~t:F'~coI[$ Bz`~z R|_T 8II\;jc8ߕAWҘL&vͤ QT;Sק7͚&3d@WW[k_]_l/ƫ⃡އs>4;3O9vG㏕)oϿ`٪lc|1OݡG^ZϚ5=1!~'=?dm6&'mwO`A(bgT?pY"^`tT|E.iִ꫊eKQy/EU)wH?}W-\QK iy70vw˖49J-e~Vr&> 0~Y$Iyk5&=>䳬WlDӬigty#<]3gxч.I<7y!!!|<[ 17XlOH+'%%-193`\IDAT=x#ERUW/23_`zy{L&z}jΝCTb4JgǮ]M0%7{-[*GYl)mZ| _CCΉTx5ڴvEOn֬5TY\{Ռy'%$QFpZrc2[z뷌=J6T MJ3 eAYU_}A@Up11Ȼ֮4,բ(V{tBuo鉅N:ElL P=8;U޸XΝ?ɳ4m۴&)1ϯoc #!N'<]|T*6˹_rr<~oh U˖ f{N!h$3+ BA|擑ɶ;e /7[h4\{0"szAfV~l߱~JO^xMܩ#mZf˘:i!z=mF1Wrbcb8OŶ;$޽zVZ*:,Qjl6^#, 99 qM[bɲ|nG$Iܹs6"(`/_U׷W#_6~#k0,L}Au,_fL* \ 11ei(/:zYv5aa|g4RIttt| m )MRe_6..V]߆MLZ5jڔjW]@" j!A#@ `  0BF@!A#@ `  /vo=@ hX+`+\셋pRD@Ê s"t 0qUDה`Rv\a5}vkmY..W53Er@U1 W/ QR kHJt'8xZ4^ \>A?EB tPpw)9&B@Pq[(WwʯUoR\-.Wv_+Km?RYj]HQl)o] OWK@NIENDB`docs/reference/gtk/html/filechooser.png0000664000175000017500000017515213710700303020342 0ustar mclasenmclasenPNG  IHDR5'zsBIT|d IDATxwxw6Z( .Tqlj Tā[ATPSf2h{IiCGgu]^6w>99 !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!5jTK!B4< PVSYB!D,us͡ B!ykVa)lEǖP-B!* "L7U`-{\ B!ɃtSTU5~l!Bqi,+5v8+ B!ZzJktRˆ!5YG!B4?U³RFXAm+P !BSes p [ ]^i!Ba* TW!]|.} !Bd+ `|l? !CtUZ]H !BU 0cɁGF7psٛ^eB!KAAn]ЌYSlni B!W_A7J⛩ĽQtCh[llVi[ !Bl/t]28\ ΔXO^F m\[͑򡺪麆g B!WVsh#l KfC8ԣU- 98h Kxv,+li!BѴs8Gٛ (r4 Kx{2'm\v tqϳKPN@̙3;{th4*\!BFQ !555qժU=裿 @pcɚlU}&Պ+Qo;wٿTB!DB?8~גaK%T (@aBk^=,٥>tϞ=7wz=C!B\b<էw'X,:>tٯ WzGE_]Yo>}z>}\UeB!N r kMI*l]C #j;[_RvL%Kf*EiokB!vw8NYΎi\(hإ@/'wa@o4峋 2ÀB=s8`.f7SAlE8V4Gܹ8s N:z.bP/䩓ĝMh.BqI}*5ΎM]_oγT:C:[\tsb ("e^G+.{4.>}QkPĖGЩ}'v-!Z!h`;NqpRKNj EtXBt>ފO.>[At}Hh5œt:ft:ȅB!DúQd:0͸;kIW]Kvb#s _lX.DW(HO!h<]bhve].x1ҕD!B. ֬o%~/9ѐD콊JVTn(bmK!B4,.uW~}ٲA5pl*?B!dF)/Γkʯ0cLtK>^ᅅ C5 !Hvjd:f.V pQ}Y7= i1э½ fUtZCrr2WIOWc&N&'7mxǹ߷/~#G:x0oZl6/kYq#N!77ooo!++qUɶUTxzx.< 2e$,/ Z@{!:9%>D^^W^1֭INIaͺue+"]:wn7f&)z^o^ϲ>l)JJh4Z5f}A)l6F\<=-GGGc%!ZS *'\]]Q-ޫU^fQa</AAğ;ǦSxvD*(ddf8j˵oo.i|t λyaѫd)MgyKJ*Էj_9 7Pص[o o// +\wcsf3\1r1T}3#g<HMMg>F#BBx' oۖD:ǎ@V3fHwNNN%YO> xyyY7Fمl`0T}u48xȮ]yg o!ۛs5*{UǮlyM?ЯobbpwS8;9Uxg]{ _gH ۹Cdhh)2D'k^>vᥲsoWx޶-<=wgמ=гGw/>䔔*3OCҤ!s>sӇvͲ+ѭ]:wd23Ox/aЀ(Ͽd՗^ϏZjh񧟥UH/<y)V}5͹G mOBTד_#GyۇzJ MMKwe=x3nhz̬͞,'t:oo C-獢}f;!$$n c?bמѥ KD׮U.WBBb">Dt¢N F!:v`姟Tٶ*\6d?W|M7CKl'HTYYY1q8̾ߠHHL>ft::vmr5h2Dٵ+&q##,ϭXڄH,|~222X>uң[7غm;sgK?",u˓SRxg<=<٣;9U:7cFBXjZUL&""h4gd:Cmmc-''g=pO>[3{(J} r.!m'02$DصƸl6<5X.^_u! 8JE8p:Z`"z۶mJb}\6dpnO>l9)))8;ⲘMf닓N<(>|}}˽CL<ZNj_z8=C QRvvvM&S~~2jpw7F[︋^}w߅N+OJ?*>΀Xd1+ݏ?o(BLl,ƌ՗^~W^峕3h@J5s'''z}u*.[ΝyGelKslߝʵJHJN&:& >[9{W?*8#y˯x5dn c;zToۄ,m,۟:Ty9jO٥YDw:+k~_\6dN9â^;`pttd̤- m\Wxv)}e_֭K'??ߺoCC+5&ZsJ`J-;`x-C>UxOѺн[$zn*$cG"99U_'qwUYb J+mf3;v9_~~>=8w*xɡ/Ŋ;*kt-zn]^P;!ACh61y:} "ZEPP z 55Tb^HH0NNªrIS!<k!t)^X*WϞ8::x!#=wwwϳsFcޮ+ ## sǭ&,sͺg97 @o^hL̒Hvv69,#ߧ*\RUm"sew^u7϶m|zؿӛ oйSGZ+r<OsO=EhV λ<(;ӦNO2fH֬7mfGT#ڰDysx*O0a8<=9;Ͽ?6m&1<ڽGGGns3!.sf^\Dn K?]V:U~7b0=͚ɄqcK a+gXظxnαEX`ԩ A,|6n$!!S*DCi_OOO.Y̗WHNIˋ~}0)5f߰ꫯh߮^xN(撪2 h=*u8~S&O (d#.oǬBRYoziSpCQY`(,^l&(0_F|<=<0( ?wϝ'Ƣl6pqk*f_~ԙ3_f vY+gggZ>㷍s.! IIZ\eK?c.b8?{m0͕.ɥ_><gFӶMsfϦgש*ٸ@v\?kzp Y3رk7Gܩ.. \]+(,d)oߠ* X"( Z#soގZ.c*ЫG`0XNUK|}}< Şv5a%nE7-8W}dvvsv}vcs]c('j{7Vxm999<)hn\]]QT{Nh41Lֱ:%(닳sVyyy닢(`YZV^JeX^ H.h4hRo LVWX'[mRUCQfs`[Rprr\Rn/70UN^(ΒlJ|&OPihOid٥Դ4nm. Q=QNNN^rww?x HT T 0梛B)Uf M^][-6'5k+L&r=^/5,,¥V @Qj  * 7Wrq/(ͲTgyUl6WX'[mRڶlyJxtyeƪ۪Wem}N ٳ[ZM^=U>!2 V@s*KUe9Z*Ct=4sOSik s(%ag{`OMVַ/DҎBŅW_zJXX W\ aKvaӆ_CI5KLi뱲˪YDCy7gϤ͑Ve!1:h4JvdEQ}YhW]2D7-!hFc\{ ٥i8W'%B{'٥)B!BA|,{]]\.މ4G*|\] B\3粽QT$dE6˞`3":0 gEB!.y:zĬe6A(,/,/$V[6gggAB!=抢(l/,Cr= M0WPvi9L&~~~YWLQrB[K-[vi=  !¾HviYeOB!͙| B!D IB!t8GNNNS^!BZivڦ<B!Ҥ!zճB!Ž̻c^SJD !BQCB!! B!BԐh!B!jHBB!5$!Z!B-B!D IB!$D !BQCB!! B!BԐh!B!jHBB!5$!Z!B-B!D IB!$D !BQCB!! B!BԐh!B!jȡ PWi)dffFZZZG-.n֦'B!.Av r/o>hTLK'IJ8vu8&L񧟭>5a]Un٧W0j$>Z"Q&Uo!Bd!Ծhs 8 ңןk׮ۺ:֑ l=;6uo2a4EB!h1.DF)܍_ʑivV%44޽pzIzZQQGt/W,gÚٰgy f7ZGQ*S:ٶ9^7!BjL}GtP9֨8{_:{5\\\ ĉtѝ'Y2* uuZz:ݝ#GpMqp4oFFK?=MHpF gUmԱ&G\\.&| gUff3& ĩӧ"\<[ۅ3vK>yF#JGhfJƪLjPܲ0ct֮F]2y}:88Jl\_W\>cbزm;ۅΔI>s?׬}* SB!Dscw!}x|_&j[Oq(EQ0+ ftbbܹ#k֬)t[mg}5嫾`:DVqِ=~;;^B[K.]9n[aa}C'yCGUӮ_> 0wGzQ~y &|O>[Fd2?̒???_k %4u׫cf_@V.B!hnny/Jz= QǢTp)vN0lي{{zzp fƍK֬[GrJ :wxGʖm1MYqS3j*ظ8<=M)esSѵ:77Ǔ3a[ŪW8HJJBЮ];\\\PոЮ];4 IIIM]D!hvsܜu8999L&rrr:~.Z-FZZAAA6%B%ʶ:7'q6q{%!Z؍Bm.svv`04rk-Inn^6rIha7*HRBaCKmunN*z=^%D !ʚff-!DozvfƵ}GrmwD%BnCػw7ii(BZ3vx233iӖkg^%Թ\Qjv IXSȨcjU{vM 2vllfmi8pww'$5ݻ 0 NǽlZ]TMzg8x@SC!:;w`oF!;;h&=i=zcW=bĶ[HNNۿVQG:Rh!*imOKknK!DQ^`WйsW4 ddh iţ?E75m"""h4qz/SEmxQns;DD6^[=_vP 2[۞I]#:vurݬ]Ԩ( ? IDn <t֝TRSSODs.!EQޭ'Ç,W-FΞ=]Dph4QZGGRRSh6hs"^VDD7^~д級nގ3gpAz[}>S:Lߛ9}@pP#$88NBV\Ye033.._reWٖ*Ga_PTiӖh֭ ]'LVT*^ލkg^Cn8ǐAxmKM\ZF Ibٷ//\Q ё8m߂VHV8q?<=HNNⷍqpp ?dvFViӖ/^Ezzama ƏB\"3#Qcرs{"m;G6mmRM&.бCGFcj2 eC͎puq%>>:кuh]XX_"--V8;;siV}g߂7WIJj ~~x[&=#|4 5:nIISf}LtZhZ-e+ܿ۷7uD3SͤZVwL?^={[O4ǰbsux{pw09\6t8q;EZZ*wdܸ \1Jt:h46Fuʆc]2jhIKj9}f8VZ0 t 級D{yyѳgoseπcGIKKs.̾ffLɸ.^x))tؙn53e@Ս7SڦUՖ5=n=,ISXbbՎ-Q.ݗD|j֬]7P6W\n'N֡ ?{v_J k~}6BVv宮zSI;uv[-Ku{eZ-b@A^粢})MX_|oԴ48a=pY3.u |]ѣ3jT}S.kgӼ|OtlߞOn*:rvvtN(_5mOS'9ׇEBt,Pway)GY%w;~ܺqcrjnΜw&,"vocl߹ NG?Uj_6u7 Ϗڄ5~B\rj3>޵:牮HfL FéSk߯/QǏGK9`Ic;o3~RRS{VF~~xyyUHoೕӚ_HJ ڥ3{$gҺU+{)zt+bBݥ+[XgZlOokT΂e}Z:d0RQz_} EA%ttԉDNNiiXT/~BQFKmuņڲubI*«5ܬY!h 53R, B!.a5KAKh|BKXKmuOs1FH!D{-MIe%D'kdSA!mB!$D !BQCB!! B!BԐh!B!jHBB!5dwS4 BlzZ]{L !Z]]lB!h.D QIIٹԲ,ãhL&#ϫ֛IB0dJ6 \#3+ g l6ãm)!Z4Z-f^d2( Z-N:&لV爛91!7^ʐK?ɓb[n8yǸDMZ!D鯿 +ݻy 6c1l8-_(`? '"7/yy8|)?z;y &z,,,;gߋ/U~Eb[0u Бyͷ0('C 6c3x(^mL&S!Do o//j5777lng6IKK2ǟLN\r6:U~WPCPjz !D˒ǢfsYW.?__{w'36{W^e0jyEx ?mf3rS w̭Q]srrxW>[YǦ,|1&M{q >] IIeT**8;;Oɱ`0kT$D/|2>~lFVc}~==n6IJNOXN9S/KdFl<rݻѥsg^}Ev ?̉q=Dӓk ...T*&++̬,rrr!#RRRr<‹8!#F1HNN.X7y {`֬]g]O1dh&Lc-L1~gX?֌ 6.9s`Lv>\y:Q&2pƛ~4͋ĩ6f,?ӧSҸw 9FsͷkRԴ}*M'ZԱ|ͷsUl / י0v,:<ʞX {ӦULqqLJy`Th($++_r4&L^%iUSUL1c[ӧ]Qڙ3ز}{mM& $?τckUѴ' *nwY"ߠp:׉,&9988^6$2ӡ};xa3Xb%w7ϗ}j]lt w1ggg>ƼTXhൗ_"88_Zċ^eİa<,Cy KH󥰰?V˗˺ xJc֌ev>CdDDz$%'3y_sӭ㷫c( ?Y[ы[TڧOQ9 ѱ}{nZV|mV~%̼ ⮹%޳>{1l*Y}]vW_ҟ׮{ء}K >ZM???.P?" ѕwwCXz\΍)=X.cRUE.ی91FйS'nVg|L25rpǧ#%K޽##3[߳wNfK @*, X>Nw\޷_:Ðݫ'c&]7}9r(_̺m=+8SQ?Q !lo8v>:l2[̭snWnz|so3f]x1ܿ{)EO8ɲ+ӫ{RFƜٳ1L$O?qÜ[Uy+Qv)y]Jm YYYQBGm3ݺkm@`P 3^  ;P|O7tv%-׈]Ǜ.AN1+%9[=B b4Q9K OV9Xѫ,\}m#op-|%[۾};cnnnu\[jXޝtٺ3јL&ٺo/ow}NxYƍ}wU~E፷ʩSh+NŅ{ӻWO{ 1u)~~~5b8ƌu;Դ]B-=gcb3"$9k"vacϹ92& ;Np1l8IZ%dp${a,=2գQը5$ i|ֻ IDAT/c2Rbx맧DtH'x쩧kٽm ތ1,e>s6ں,77 II %0 cǎ׺>5i8bs![,ub2oB_Ժ?[2C П{ҎEQE]kkˬkfp53xEݿ+(tTj.۶!,4Y.x[l6| W]|͉-=6 Ny &GB'F`g oXrc::1;[˶ϕ&BJѹ|%QU7%3zC ppp@RqР' ߺ]e's dee͢^#8(aC[nՊ?7Ś8h>t(#$8E# }_RRS!##Baa!uJL=ɋ^ywWёY3ӓV!!K/3OCJﱧ&''oU4p@BTɓ8~|V>c_P6=8..L8lI*}ѭ[eRTkn~eJF=ߏ2˰ Gŝ+뛜E{nTr`E_`f.\ۻt9m;<уTqt47jBz =ҒNBr2$IPez133؉L2R /$IILJ2,Tnߎ 9%w7jxz+OhhFE%˗W.Y]''@4$q@"/.7 Yj'eROmj@dY;˒-m.[ ݨVNtg֕ƕ0ˈIQ3w_  E1tUBNVrV&ߩLy}v 61)R]?A?Y.TNNd%`Jk;,OI7%UJe }A {KsCO4_D<>xN+gQeVA.ᠠwc\I%[L.KS3rfMd2L掹\Ƨ{cHPQItr^>01,qiF2<ӷn}iN#̢")TTlv;}{2iBy PDF\N664b+ŦoZp^Q*XU!. =3IAIX(h%OUk8@7Kjawv__Ν\+Xynepv|UX)\&)Sm3cvpT*z?Co(OA "OU5uصtՅkӯἢ;UGӖg\^?t\E nq/!ŝ[CDwٞ+W.=B .Z.v >%)OADt4vSܙ/'ik 9SjN(:~t~ fX+WbOא?/#N{=*I6>V̹2 OE"A^&6@`N~qÊVtg;9۳xW"!Cü}1H%xsݯuP .Ges?M]hT%*YӨ~#]iT90ˊ=j)mG@-;-į  BaDOt!ՌqS\Fhl6%!d+ ejYv{gCvKfhFueVdpb fhF+>'"5ŏRaĦq12‡  oK6eKrX*edIhXgne4;?9Yt]~nRDi.J)'5Kk-cFB,} V9|;_c洩7v-]H,JQijт,EEE' ++5k>=Ng <5VV;_`5ӧg""x")i|yܾso֖ .AkLyi 'G"Ӗ&ӹcF FXx8oqq, L&{-zD-e呇qO2ܽ{DAtff& #Q%9W$$ g'z74 iibn|t:q񨜜 ,#3+ 2,K Ư/~| 8},-6[vi݋=?\N$IPbEvl8~54i*؏RI(2mj,]ϞL&}`[,JVߗР~«GrrdFVL2nri>QQ3p4oϴ h۱3yyy׭ǿC'rrr<0+V} :tF+c>FS_?:vǯ /A$ԇh%>- 3KHH gof̞C`.lqO01i4Zcknׁߎ=Ĉoo@[|=5͛&]KA/NGJjeLw54ov|^\ʸIz0|XÝ@ut]Cr5;1eHqmާmumW׌:.' ,-D-ؚӸhe$Inj =vm7pI6n@]HLJ'C GPynaztF;V΍QǓ@&MX8o.۶nf{v~7ù#̛)..m鈌"55)MdQܸy#G0WX4o.;իVeNCF@RR2[7moѸQC` B?׷wit:V_oݾ{?ӳ:f8؎oŌYzj05<=]QQxx?eggJa^]"ܺ}а0nܼIdTT9ܽK܌5k۱4WjU7d8z^칅T"ʗdzz5fNJRR2G>-+U׮0۵K'zN +߆ɂsq&pܿMkZRZ5[Off&_+Lh" PjUzy l<|e+W1px7hPhov 4,O~lak7d( gFغq[9T"o ҿ> Sڸ(x.V@&Hx@$yy('7z .1&ZOOWk4e2$-54;1mF2=x BMOOԪ{<* ?p+Vr?.k++@?Fjլ@ԬQet:"յ |S>A@F~8tXv^듔Ǐs+"VǏPցxIII qPRhKu@}>gHnw~s 99Դ4܌қzW4OOO<==y(:D*V,0mP.,[v/2n(d2I>ZVAݿZՕp&Oѣx__,JߢP|i]]\ 3zF7i2͛5eΧ3|ԙ3dees%Fotllќ+x}ˬxӤQBy0lΔΊg4mR+T#xaʁÇhʐ$[x 9u|[bgg#ʔ)ʒڵkƄ3vH<<܉A&ѢvvkP*I0MFx AJQһu&?EbbʕsgTPz}͙8n<:vfAfU]poooBHsA)%`fGqdffP+SvnaeeggGY'$$&"$T* NFF Q(jt9v8L=?.V#!1) eSC5BCCK|+ .a H8 ߗdZ@I,5]lBȅ sz^,֯It^=20Q)ʲҲLTNNL̤1Ey~ ss$pK߄%==ش$q Fz_@ 26EVsqv.ofVJ≧E9)RRS\WCCvUiAU ԯW3kLrrrL:g,8`Mq4Yԭ]C?j*ӳ_|[S$ԫWa7YYY8T,^0jUìy\\.C` Ǝ6<&/JXx8{T*oџ% %&h=zk<''T1?Nc)$$&2t lٱsŶ XXiSRdrXp66֌?6p\Z-?w79L2_ocKŅgO?UVAM&6TΚAnnnhEi4,^bx}%r% Ӵ) ק{g/=@f [8:8Pó:A}OgvE"x̌9qD /A:D@*TK' ://(֯pWre>kk)0_KKKqKKK$s/0: AAA+C?ם;wq_.3+xK߃yxꋧQAAAA+ujbᒥ|0}~+Z+Ǵ2l܈E&ѬI AA7Dbr9-f Z\׭ˆ+qrr".>DYZZy,\}$IѻgD  ɧ%kw ܯT*9}vv|sss2cqKjF,2dZrP*K -!+Jkova!«M&K2̘:{{{BXa#..֛ys/`oCTT fŪ|2Dm>|4;0j0|܏cQCo< IDAT>-HOO~\^M}5nڶ];h+׬U@ ^NǠ׸~aYQQ3p4oϴ `oҔioKǠhݮ;@>8p7o2bUٷ?]ǯ -hRñA;׆ Is/mFZW[NنV^q|TBBA={3c;ueF@||I 1)c߀{x7kn;!ϛV%&6k{۵3خg/ƹսS[t~nj5]Ԥs v•tرDITt4fro~8vmާmu0ߢ/Os-W|:IG ]W4ܫs{}Ж}Xg8jNRqrtb?rZ}:#ƌ#.>QÇakcöo坁8T0F%qqq*U@rJJ·=ےP2eʰmS6j yy][5kXd1ZRÃ]ۿ!##ƳqF HX4o.nn579 hnjSXv1Lr"99nթNDEG3哙֛ޝxo֤ [9W8ɺhҸݺvờ ڵ @ӱQ(EXYYZ^yEQZȨ(Wʔ&/dQ|bNcԸ HM{&g/];uoK17r \O&OFCѠ0WszrsrHLJc [FWVհW"ݽKhL%:Is#3mF@ @Jlų @Vϴ͏y+<'ZcnnNNNIF!77IssrYy4kw77}ƤcqVM7^ݺ abmm7wP(xOoqwsc`&MjUAƍQ99ameůoDp̙RqF1anj9wcdh^{xp_3s3Zbkk[`+Wr-jתR'_BaNBb"nj䶷]֬߀RIN EWT=&ONFF=|0*:t3 ^rmIFffׯO3<ݙ9w?/]* 3o~-^P,._fM4MT(W.II|64jDz'.Lɷ 2I؉jTT Џg>t($ž}( t.4?f4O`Ҕit܉а06nB Ҵ96g :&CG" @.!"l9o<zaF/VsHCJ|:eaaQ,,,,X|)fb0tx^^qnr˗l*/[NNn^ MT?V-[Œsph@ߣrbTɓ9gA={T*iib[++KV/_ =I(koO~}Mx? PރfDgdrR"Z[[3ɔ-[͛ӭkΘ @:uݳ?| e EWT=ADJJQ~6oa&5==Yt  M0ytL&YU 0:s nhzb8T `.Lɷ0fff, ˀA>z,_o_"h]&oDO ͝ľ)S'#I;w}4?Bۻ5[aCR2wF 'GG8~$͛5%&g:W6­\9aCFLl,2fM Qnnv̌}ԬBzj\ Ea.~AA ts֖,;ߖ-b-f Z\׭ˆ+q][oP( KҒcᒥc$IΎ={DՓ .exxӨ7Zt4n,  J3A?7%Pl?&&&,I$SP)\:SN.Q^223Q8<6OtNN su}fSf撕MY{gLN#9%FD_poooBHsA_ Ps?t H%oRF?KMDRܹaRʕK6KӲ.p2eJ=0XXX2eWAxS173¢ 2-$hnwndga&ˮ  /!߭[d( ,䒅F%++ ZK\Fwh* K&WEjj*U*Wz5Ore888耓{j L:LrsPsj4z;v }Z~ڳ S gԸ MhgK=1oǎրgݰ] k|s:ߡZfҔidfe6++>-mo%>] ,^Bn^^۱ctՇցoˢ%K{,@Vs!^M}9gnJ9!Bf9\CJz"9yY"7HȹBY? 57p; &efL=aaݰW~M>̤)ۻMĝ;lKѤ9_߆(>̊UxtENдIcz֍-||i^]"|4~_IxJIJD_IQѪ%'']۟h4q(bdffmXRq~.OހDPT* O GƉsn~999('hHKK֨S׆*͆򲲐!'/C5Y0wu-ص{ׯݰN+Vdy 8>W0Ɔkc.b3n:I033RŊtpjh(a7j,]ϞL&}`[,JVߗР~RcT7 L,9!۔:C8^Jy*ZerC:ɀCЉ.{y ==9Щ[w1lnܼi8`ߡz܏O 3iӂtԇQ&Ъm;uʻrZZt z7;HL)&MFKt z:۱ctӏq--ֻQE^}ӥ{O|ТM,50б>~mXx $1gvltuwDNNNmx\BBA={3c;ueF@||ImHLJbq7-o͚ ?V%&6k{۵3ׯ=V-j +0aaaIqϿm;^ݻTt~nj5tDԤs v•tرDITt4fA~8vާmqlQ̗.«ED B>333<2IP:AzZ [}- mYbh4V.Y3nGPbSRow>ٖ')Sm[̰Qce0xVY%j = 70jGڔǢysqs+Ǭ ^@??fLª눉egܼuۨNuj&*:)ޤW'px&MxOʹrImDƍֵ OЮm:=?B0 hu:"^*S>Hrr #GϋmNcԸ HM0Zܯ f={ک|[5k҄"KgUJjj*@jjZcA,_3gQCoɷ0nfé]7{BBbHgj%jgTT4FlQTxܔ$=#D?u^="|8x$ץi qDRHq=Wy\x7ouխ @ ;υKXb9-[4jْ+W/PNW+هoԩ] 'GGjլW4nؐWywe܌5k۱FW!33F QTۢ!0aFuڱ+͑dܻw5ib4qr6n|Ц ժVeo>ڵ ?GMn@5繿YFm +F? }J)Mz8},~r:y#ǎw7t:P  ;o~V[ѯOoN:U>z,kW./pX@x56%Y8oʻhZع{7o Ȏm_Sz| jujFœSʐGbR"WH <~7JZ}666ͭ}{痔јl++Kt:2GfO)j5IK#>-Ϟ.ڕ+Xf-o.իUcan tJa_FA&ѻgw/[ARR2{CBIZع{OZ5s 6Gܹc៮NZԩ]^=R˯P99m.7ѱ:p'.SR'$VУ[#>/Z֣[VVL1/MC;$_HJJ mhJet^@}>oqG:ESHMK_畯h닭mi\]&J}2 9 8::o3ΎvmX~J%];u4 M'##U>CZZ:/Z[r$#36i;3c'qwwK&]+AxۿFWz8-˥˗Yi 3%%5/_aӖ-'$dGr9}>GPPn]m4iԈZLƤ㈊aI|sCowTT4E$RRRBAP΅WPnjf L2;[d>gJo#222Б2&D jI 'YRh=r222ILID$Zm~keK$I2zQ^i3g1d r9/eU,^4͛PDZрtT\'1suxGlt7jsjj*;qISgl. <;$%'SřڵjL\zCCC*W\ѵ  <8 ?ȁ<@Ro`OQFoeGЃ [k2333z-nj12RuR >i+T{]i;Ϻ⛙QrJY&&&%WXZR]t)I$R^s) qCC «º|y6TrGQ_T_"GtKɓdgg?i׮oCell\f#䟧H~Up-<[~G]A7D@FI GDkn߹L&ϻƵ С#mڴ-he^~ocmMZսM<e1O=k&~>-sNj +{{7lHNpttSYqnn4jOgbddĚذ!VT wthߞnފ,5AAxZTZ8֮[CjjtZZ7%&& oYC@KU&C7kY3Q񿝿Ҹ;vvv<;N:֮M*L nт͚QZ5iޜӋCW?x?TTw;QQnf̈ԫS'GGjTN@*E"(.L7lȻ={H $%%nZbbbXn J_TwкU* {tջl$q ˭(~39oܼŬsٽˁ] e2bcOƬ ]uk`3IHL,QYKJϧgAAJẺԔ}fj]R- (αGQ*py4?@jP(ԫS3dGXXahdDN]&U*Wf 4h-6668۳~&5mu%xZ/lcmM'8'4ng''-]Ðq%u^#}ڵ022f\ 9W F! ›Gt`eU>faccAC(_|9{g_kbR)_a7Y̬,ޮ_+aggn:o֮#_5,Hǭ?Ӧu5(geE+?ouwZ󷱱]|znW*^弹̞7'୷JUr"%5 ss&( *(Bg~~%}e2L3 ~bb⬒d~eC.mtkkVT*OHFQǏQ*"Ѱֳ<- Pͧ~B )9\KNŋqww+|oiߺ9wB3oRB@PP*P(,kz%  KKVkcggw @K@)_hHt XZZүo"|I$KVkRTgܲkoyZ*oqe@BGE'ZAP-["o^t'H026mvdegk=W.f TrVVZd=IIn Ex>Jd,--_mJ?$D'Zx/g] HOO' HRR$)  ;Ks'ݻ|1w.K$x4f/tk!33!#FѻGwڵ)-JKOs9y CwBԙ3-/MVv6VVV [DZc|x 116G1\|NNaϿpᯋtԑYӧ#0v$9{^eU}ɋ*>:s!GoW˫omgoHNNV-GS07+EkDZc^nQŅ֭2bw-0==~9)L\|=9z6߬XFMOKKcv"ǎ` lnp%:k 8 t0ɓ8F%r136&7/#iTEGJ%c'N&77مwp}*KYP(\t _Rܾs!sjZ9)Źy>,?v42;;.u%+VR|yu?y ڴfa\`ݷyH$r9ϝgStB,,Q9)>u)΋*I=|...ff_܅ ̞7A>ׇ>+dhd֕^ݻq]6l$MTtP(NRmј.;w񧭔bA+ &MڹSc5kx<-Uk⬱Ďhፖ?%#;+ KHcC)-Kȹ:T{+l }ZDݾqcVn1\RSSsY´4#% W(#PÃk] &>NXYYU^PmI7nm:wwڤjCBGq8::;zN i~g9x0ݻt&//KK#H ؘ߬+Wi[px^L]e]rMn]ٹkκ[]uE$hދ޺\z PjiiIuٺm;>+mmt}fӑ i֡жu`sʕ|\4]] JTLvùQ+UH[=WrtpE'%%kiRߛzoy٘(0dbn!9>Q&otڍ"y[OB,$0(^_ :&/f-}>3222i /Hs4MpGZjw/A탗 -.Tޭl; ヌ_v ۣKMMe V 5[5;uɾ­'nM<SzN9ùEܸZh˯MV jOY2wh۱mY\ ')Z܋&&6:ѻgO<>mkq 2''T2h./~?w܅ EAԽ'> O1*jJWW6ZabbI9{<̅.ҵS"$$$ܥ3M@ 1j>3b8Zϟ}{fBIiq 89ލfqjs/:v;3|Xu'5';TnܼŎ]z-vm蝦>4GSnKP.4PI oڴۇ_-BT2Y .4j}v1L!;#8)xlm9 /M0 X]Q4twOGS 'L$77ewRIܾsaff-?F ӏi7570j0>zlrrY8wN|>'![Lty:ODDիWөT"_cmD"aĘq3j0,-ټe } ?iSY0c̮uO>3fc]XuK]gR\j*Z?_ʗ+gϧ%k"U{yʒtǃd Μ=@xhy 11ԬQ'x([N}^qYBqTޮ]e~ZӴ]vAQ:O<x$'m Nݺuj<ŝws?wUS ]~?~?իnw(ao,[Ã^ݻȱ'Yf-ѥcsxy^ \R!\-Zf&gggcnKש]<9,/0a9@];?mL NN,^u\to^7PjgjK`՚Ϟ{ !P׵6;Ψ8w>-շ}[zdJ00"Hx!4IBhƍ˗ ]^hF@le# E& -=TVK _.zZ=w^k~=:-7^:jI:6]իŖieп  @(%pAT2u+#~:|Rߕ R\~Ur{m٭ZMD*%6>KW`i'*c_>>qeŪo4CzvSY|9G%tْbkڼ]8}fïGpBmHC776}Dk=m$FG!JQ(:UTjq7ݝsgZķ7?<ضc}`\L9hKK>E/]Vd$߮Y[PVBq4PӗJ Xf-7nbG®axy6%55#G2e]xuNZae1 6qWWϑ.g HIaT22MȈ֭ZѺU+rG˯fݪPF#Q>+t)]ᚘP(Q:˖le(G5=b-yGs\SHR^dᖖ8:8UJy9f(:)~:FX}Y{}.nnIIqު_^Jȿ;can΄)p4twTB긪:7njgݻ8>3Ţ42;;6M8;p7 j*NW.]"99_"dBϧ% cCJT̉~i|޻o?.Q\zu\R);ۍLK̾$7NF{z4gh 9a3o>W  GOuSR%RSTUJܻ;_:o붟5.+\^Mlʍ3c'N_wbQ9*UPDݾ^iii' ..x4jTJR%L_6::F{xLѣճ&4iܞpavG=uMhV0Ҋz}H"`g'Cf';{,zMڮE IDAToЭWs}=5ٙ0ahjԨ;whҸ26ngg&L#GR H$x5k׸E:Z_q#ު_!9l(V?b Ѐ-ZhuWLQ&Lss3ڵmc051H$Ə4u:۵%u֬@`Ԝr%\.'}:T*!ϏAAm]c 8ru-hʯ+]P}={<իUĄ۷ M<ӴS@.eZާ'T*e@|vFFU>x4jDX^*O%dBnyZM3ϦTpqa֜| \\t8Zdee _ OH`тgoϒH$L?8֯Svra6;waldDpPb+kMxL/4~,2_P'$&`kkKrr2=FNN:ɉfMYxBM':-+;RE7x_}4vZ2~} JZ2_͟G+Ǔ_/b:j4}Z+5l`nnƊ%"dFATb]<{p]RR,z OZXX0)X[[^PNX-端[|~-2jͻzr3*VicRwuڶczy3f;s`&ߖ,;e+WA,--ygF>ſ,Gqq9{NQT*-!DU&)>u)΋*tAu[8t\\:x=vU/~=q˲Oo ^Ư;cg vVU=HZ/Bg'ȈV2e D"^V5mOgjɼ_lMW̡A =7ѩ3g8u Rg''YY9E211aŒL9M{nެ1m,׫WBN4iYtsΰ4{wJa0+:J n\" /Wvڿ{wvBPIZ nW::˪P(HL|LrVZo5rsoɱ,ұָ㜮pm}DNNQ K|kz^26l(.;ٌ4n###JUT 9v8NgųW144r%Z;ԗ\ڠKtD %2]gffG0fǹtƿb@$9(_-51-:׼JZ7 (Pҹp&&&Z;‹#J]zNU؉U(Ë_xD9չqCCR*wJe[[{z ۿb "щA"Vµp6oݺR‹}N׫Gj^vQ$:т s="_pd2}͐WWBb"; ^vQ2 :z:ms e^п999ES^]fl..zD'ZAD܌jUbeDtKf]#՝{">!y?ǻEYJ% 7oy4kڤTtKKOg֟iN jլ;  PbzH+YCnnncۯy~&nފ,AAD'_hvQdu8r+̬,Oi`oωԶMrss,/  Dtv킘1}&(\{9ycF ظDUy G8"ݹ{ͷAA4h l 333<=``h=@ijbʥ_6t%ͽ H$ddfFƬ ]uk`3IHL,t {11zKAAЏDk3i(pgw rrtnWuivsIb =A~=q+2#CCj֨RȰ윆nn8;91E>{xΞ@^^^  ,1'Z@6n޽{ػZR)ƌ&dFFFx6g\U`anΤqc)_VfM.^O[':/-=ccc07@EN#w#2*JbSRR)WJB .>$32 oEiʘQK9 /)]uNKOGsswM"9ݺsbceH$116f7U 6+hoTLvù{F>A}u9cFG _Z^qoڌ[7ŵg}EGKN 8c'O^t4:vfcNv))ܸyvsZ8ڴyZ=l; ヌ_v S-"l_hEjjjaqm?nk~:VAF?6G+$p8ۓT*T1ܸy>ѵS'≈iSY0cّDdT,խM=<ս;N;qUkѸidp|NCMNNc'N؈߮֎~cPb,ܾsaff-?F ӏi7570j0>zlS(fL?m Nݺuj f5Axu+#~:$RU7%%qRINv6Fůq7ݝsgZ÷7?<ضc}`\I/GFx4n_;~x04y=*x(*kw^MIMMѣL8LD o4KKK9/Z ]e+Cyo?j֨h; 8`,^GqqXys+ sqq.q>B V:sč|wQu(.填p{m'%qq!//Ǐccmo/%Sw>̓\5+]Drr2>Eēd4t'=?x+,)ꖚ ώ qq@/#Ղ;u \|c ^;^]jUPR%:D1<wzt|>' ..x4jTJRIiB7##DkuǺYz fW|}| %!:тPLMM8wfTpgk׸E:Z_cXB~_wa`h@-}"ϜG[ۯ=;;9̳)+BWO%E^щhO*m ~|ʗ+Gց/޳u߬RY%`'SE^=9_̙J+дG͚ѡ}f~zzbbF\?Me܌KE<Rĺ|yzW3O#HNN.XV kZ,[ h###֮Zɔi36z {Lg}u&JlfbhhD")tϢoKo̝Ͳ ۳G י B TSgpR)NN5xٳ>%J6ef%K7iL.~m>m}N4ic[q$ϼO _ƀ)`XOLLUOpRYx\xwwwwEwx?~aemȸxlmlS(;D.O -YJ$MbgȈ H@Off:}> "]{XY ) #zUܡuuN&֡fZzs/&C!OGtt ?6m133#U.GPT*Q(L><̝LƝ\"S&gfff|9o. -fOP*/Wn]:\UL7FGqqn߁/OZZ6kkA ?ƎA_i #l.u.:2k4~޶嫾!99TJ`@3Oܼȹک` g?_SkشGzN64o};~Q'廍:n/Dc4?5uUʚˑSDtI4prt,泥uV%_EzF˫4hL؎$%'kNtLLLMJ ==WWWXf-..z5 4qܾs!s:.C.yxy6V8.\` !~>ٜ._'&jjј.;w񧭔y IDATb`ͻ9?};"dZ5kr%}}4ߒPRte-$:ѯ8K ojjZfmLLL011)r\*ݰWYqNΞ.r\PC-c -400КOZJ{s="nq_q}[DzJ/-= 4Aۋ1]{W+W~ݺlݶm[ʕi߮:Zx8#"JPmԙ3޿_Xzz猌 bb耕U䟙ڸLZt6mRRvrssIII\92iO!D 32sˣ<8-ҍ>Q\nM<4u:}iܑZDZcދ] 3Vh+ ut՛\--?BCO/RSSԽ' 2* &5^tLRSS=o>m;t;FV%cBB]1 M >>A?fq?eANhӪ&&&4γ\"];u+-';TnܼŎ]z-vmڔ.ee/צԂ6+dBi|^:u/?.Z/:ۺ-Aq8tMZxצ->,jJ΢UPpQcO/ F<# R )$x{u6n:|5DF.tNu?wЁ}@ff.cyOm3sT̘jevW(3xF %l)K O :&53uDYqwLOP0jJ%߮]ek%% 7gg'>4%WpAF n\gg۶f;wfUƋWg3SRE {,hkS ܾsaffF'Lty:ODjyܜN]aƲ괚zxЫ{w9v$֬ţq#t@޽>{/Ϧ \ҋD-EXK(gY i;-T?fɊ!n ED`M4rwgqq&LP:[7GJi-B"C233i~܊5y~}jתY( TץRVYˍ*kw^MIMMѣL8LD ot"##KpaYK3]P``jtd|}d5έ~z^{ ###EG蒺EXFu1KKK:꣎qƇ1N`c"GGG=k P*|R:wfP;can΄)p4twWSV@&@v1!/Bz03U=/TڇkTN貥,[ʻ}QF FFwn bݷK(.NInn.RYFOf߁HPM-j׮MPi[^=ۻ&5㿤MwYM{J.[)PAe PA@E%K/P( mBi3IWJK|;>=y97yg~}}=۷III+cIx rLcm}Ы@r;2N}mAT j!c0jQflPZԜ`0`0,vx/NyS-i"V-x2-f.4n3g] aʌL;dՓU|/ء=nnnp"?$999pS8S7P(L0MQjUǜ=wKM5Δ/WW~?p6Zdz[bE;ރڴf4jؐyA =b8|7T*ߏ<6O18k##.>ۛmZ\ 0yg/T*)V?J!kRѨaCe h֌ƍY-,,_`0î{pPգGujvΟҕP׫JEڵٳT6LJg҄qhjNf(Nt4*T &&?27-[r"X=4 ZBTLu۶XΎA_|~-jۑ[bbv>YkHXvmV,]kAJbUL>cBPB鿙6kH8'G}sP45}mDVӹSG=*לaKu;z8Joo?9~RJeujvq,pcc㰪3N\+-eƜwx}(c-ݳga9i&NFezCQ4 2s"̋2b8N3Katt\x֫EӧOӤI>b:Ɲh zjG睘HyA5zT3X]mǯ@8pD@Th H!}¿&-B2Ba1asvvD#TRKw @ef BE,!G1שJ}l2:_<ݫg# BȟGjUr>8[f@(;wѰAjT^E)u$BhBBn\v Z͠FB82]RIh!D8u~ *CJJJJ !Dqsqva/Bh!cAh!DiLjՊV%Oi ݺtaæϹxu1o x^~Z-7nۛڵj8`6T!B? m0Źjh?DY}Jcvq}9AK4FhpP Xif}˗=sƼ>̘=o7oP(  c񒥼15\]]ض[U*y !^J:QTԪYs,?jt:...8PN.9s} ܿ '''Uj²Oz:qz)h_Q|ƎS[}gRrYY\;2={T.8tN+AΥ}۶1zU:|m'6bԪY>@׎NʕYsYJ%==ɓpv0\+Q̚zݼl76|$իWceYߝ;w< 5#t:9u :O(]f;CP(_烃fB̝9{`m,z={3p@wrg^ eOɉ>λ}s yuoz=<߿Ǐc?y3fԸ|cU*W.'V:Im}Я] Zy޷j.D9;GGG}^RG -V}9aے{ ;mۢx"3rnnl޲W ۭ_3{4>Z79͆FAZZ#ǎRŊ+㵌?Oo`>ӻ7}eX|c&L`opwsy]Zms[F+Lի >9M^ύ0jլw/71|~]јoc0l'ݜ; ?>!D,`u2e;k&۷+cvf<5j*?kԨܙ3\-d`JMh-6r_\vٙ6k/z}u'0ndTll=šOߌg͞؉jw{~I@ -۷? u_Q2 Ge"5-Ҏժڷ_k˲jaeN i?:w7۶3zpj51ӦU+8eؐKLގuCYU;Ι9.=zooTTu[\dM4k҄ ٜ)ctup_= !=w/7naƲ)}t!D{ ~a7eQ(G|J&Mέ_]thז/LZZQw}N 7Jfo^vzp%4B[HLL$0 2x?\r>F ֩]+˹^m`DMcͧkx26|{Z0eBy"w2N8;9QfMVB5@8_zGH^Ͽa7Y3# /OOn[=iی9sy`ȑ?~ҩw$''˾|:vh[N䗤sR/11|N7QÆ Zquu嫯AR|~TX}w`goG6mo _ޞ2qGS/( Z\|mVՕOv|r6[B\_ &',YkHXvmV,]kAJbUL>cBP'BT.^/_ƀ}ͣDd|k,`n(J|kKR*L29~888к \bY2wwuue)+W0ֽ3#FϜ{ݺeKzshؠAoyShhPk:̴ا/ m='?޻/*@ӹӤIvr6w^Xe+JIIIh /_!:dӸߦ!ΜT*<= 4fu\\vv<|IfîovZB)7?ӂtDFE흧^{)v;(XLǸAo@iվ#4F*=|smwH J_ i>}1/X%Z&a ]\JErm1Mpp!"\¥1x6qvvj*y_T𰹏\f[ǞzFGD΂ ΝFTҵsg7'''~W>ݰ7oH޽3rD>3!BF"1 N]{10y I,]77WLkײx|6o>xyyc߸&~~O&OW,Օ=?DҘ0y*}}b:Z-/6׸; 8?{N.]R,ϧܼy^_cݻGF DB!( $.&-[ʗNZ4j& }Z-vJ%7nJh(e9kW~4~ f+9Í0^}yQv-7RBvd$II7mJ@fE^78t;;; 0 xxxp':B'jrѣG%NwaLx-oRŊl%:7vd$]{AtܩK+0idWb[h^!o F9l(mZ,+AuBBY X%E?^eͧk_BN#ߟSѨ?tCt:\]] zw.۶xl z=_y~f >իz2RSۜpsmݛ=?ȱ'i"@ƍ%."D <lj>f7?>s~Rd c r>| 㱳cz]-ժVeղIJJ"A\ٲgĐF)D[,3Ba~fkҦuKԯG ԫ['MS\_ /D_<Ę#3n"11Z4o`s Jk>]K)^ @؜2>\O?QÆԩm}!kDuoN/uz^~&~tޓomU6mM_Y׭S;2kwhߎڵeUhZ/zBT_|d^C9HEoD&MX`^y :k_&--;wؾs'_Ptć)Y3sNxv8x0QQ0,٣}zJhպ:/:׆PחwU@LP(@Nh \\\ ܑg8$nnn\t {{ qttqRsǐǑ^'5-xc>-%K`^sqWl득Z+gCmsLVicv܅ao<䕳wg^QUW>V*J݋mdzd~WSO>Yr ڂgw؉܏j\doy¶4RS,iq{A+̼4?v۾UXܧU@Z_q'whVEߍfʌL;|M|2߸f٘\ Zs\zZۑ<\˝7o6^JG zB[n#>>CsMޙDE__C,5'ӷ:]bVWVVՓU|/ءQM<|Dp/]ǟr~}s"2s%ۣ~mOf=} @PЪe Ν?ϥ+ԯWkgQmn_BbbbARRRh"̙wgׇ326LJg҄qhjNu*i̓ř&ӨaC-dḺߠRx?ʖ-kSf4Լ.,<8z=|iۦ5Z͟MnIDžN/Cn޼GD˾(}dP(4a{ 40T*֮YŔ31- y8ļё˖2c;>bM, *G2eֵ _o~`;Xl)>\FbR"~?Xl B111Y֭]O;֭]Kksqc.bbb6r+tթ3mۑ?qN>hZvvv,9v_l0~6?Q*x{ ͙#NT*>es-׳pppuKت:Ԥo8u: E(H/2Eיe>}qg(o9{խW,Ou&Mts2B/[aHJJBM|rY:z޻GJJ ^Yǘ "qqqs!&M22r "P|I[r+7d 78w 5ERV{=!D鈌8VWV]HyA5zT3X]mǯ@8pD@Th H!}¿&MB<"lu6遭m@&r{{>d;k0M_;5<@?gggX,ɭcOu ^oZ (yV*烃ټkwH-r$(=vE Qzqԑ ZRBH׮V@HQV.IQ:܉揃.J$AА2d)mKӓ3'8}˗Jb!AXI %9 !o..TVQjmJ!B!YAZm b"B!D~7޴4hQb6oAB!( E[^j^B!( DB 6/_J"BNhQbxzzjq+N! d;Qb(Jj֬Idd$#99ʗ/'JM(B!A(QJ%x{{wQBQIӝ(UB!J]Q5׀$1)"BZNNN4װ@JTݵS.(jڵiWB!D 'B!BSq2B!(G&, q!B! 89$B!%RQљS8$C!BTXXʢ-ݤB!Ak h[B!"?ǑH? :Zh!BQP"@g^H-B!/{\9̼{Af7O_B!+Ktm^?D[KH-B!#HN_R3-i }!THERH˴{xx)b,QB!xdt-ec-: cP9,t d M3Ϧt) p'#L;/(B!`S%1}I!#Μ.;VKtf06qÉet)N&gKt VP-B!Do=ZLFtK 15 3:g_Oߖ1ڔ1hV_ߔy{"VhUb B!EY  Z2ZMQ E[-r(0ޔc)xNh!Bh4wtSKc1NH_ghF@N +K,oa1hvL_2w*t>kiB!#/!-u*4ōIdFkӗIlky0GP`%ڒAt AiDa%Yb B!J>K>k=q`0CݕZXMQdNPa̕6-J2򦭵*j [!7p;dčdaj6u*,qF=Ԃl Let>gB!(B!#, !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!V =|1EIENDB`docs/reference/gtk/html/flow-box.png0000664000175000017500000001562413710700303017572 0ustar mclasenmclasenPNG  IHDRxsBIT|dKIDATxyxE?s'7h9$D@cwuWDXp*x'≠x *"ʍr)rg dL9Lf2l}zVUwW@ @ (|+ҽ E = QHo@ h8*5_Ya'@yyylNPo٫AZ݂:zC`M$<@ж!ܚڠqxh@жiCjl#[@жiGcpXO,Q4}BT6]Zj (M *:+@ !NN/_% *mGLe@괦i "BƖ#,S\ZLqI1F1 $BW.).-b0p@ta6'd1).-&595 y  ~eI>\==@ȈkJyI|-k֭g-+s'⺲0o eQVFӎvvxj>e h'w-[ <]ڐN3xṩ|6#fg37fS0-̚1O>˘[Gzȑ\zБ#8ʤg3gn~ z=sfŌ_bӖ-|<&ߖ)bOCttKqN4t>r2Y.5;jeҔ)Xf:ϟѷͽ\22{ 2{ǎqQdYf-L&rvGĖ?qģ,s}SZV֤AHX[[voH^=W/L&.ܽC3;閕ErR;gaݹKЯ:1 F'(GMJy]M-Su:fIݫ'/F(pܭ]s?GY.DG)cX,ӳDžDZj:dYfu\E\\ko@eV]K瓞;ٽW8݇xIXdِB`֟N@sO( %%Iر{1}=tczx,I2EEڿ2ڧOR[wT_Cvh4:|bM}Y пAxx8ݲHINfםDZ}NǸ޻yǸ~pRS)?yKd21٩zѻgOR4e*w>ԔQ(nj $Ihmط?<7\ԫ#GR\\3ޭ;VXe TfFehu>)ɼl7XWYH~Pءs?GNl"#:+ |<_CdIѽ;t7d#KQk4 j593Y?]@Lr#֘z-**\.Z̊g ϯwyɼ;jfztΛJTT%I huSNa_PC\N˲ؘz0vm5f &蠼NuV{g7i FJBTo]X,׺ZFa4]f͆VibbbZ,( t:& pJ%&ɧtT*W j<Z-^8nfZU$ 3ﰰ0FߋFU@%p6T- 9O( k_CNt:-:6h7K>UUU֭Vk' fpn7躑y'||,K#fDZdYnP;M,h3 x3v-N  smtl <#zmώ@!D,!ӂ6>BhDV !7Bd""<"`ykɊb fbX8Yq"<#qq CQIQ@$ uHMN%.6kk#D,n'!!JQak*$aٚlK D,J7mqB!b i)h|4G A#D,8BA#D,8BA#D,8BA#^ 1:_l1aQ>]V(!ͧ9V@ F8;E^q.ߏ$5v>^~CPo]V:%Qa*09Av1 OJ" ‚5Cx5J?ull=RͳK ѪL=wT3*!;TQi3w\g[Z}8Sϓӹw}ɽuBnՖ`&..@l_o8;Kv3NVY0} -mZU j^#:WpIvGeP*tO UUrKxJ*r @Oȵ|Mh2uZ]7;aŧ-fs|Kn>[wr(0bJӮ}@)0*OFVp]jFIJ3V͎ Peck{"LYU_λAr^\uDhX2V1f!vv>Ŵ0[qmw X ^.F CESZXB^vi9 4i5G藩g& xXFL@R`$!R͜{-$saZ86˖:x{t$Vf'G0%20$IfgxsU)5VS5>ӛs׾NrZ/Haaڈ W҂2,*ĺEpΔ.m9K831ehv70*,O柃X].U*a*_.3ӣTT-O|>N˼MX%*v=ŕVa"J&HRץ{Mo611C5Fƌ۰XmMJ(j$Y)vL-6;s?iĭ0oz%`YsV*Ђc\3]"sN:36~:RN9M35v=ð^1wksLD *Of(j\7JOIiTZ:tM@e"##tmo()+ƪD ݿ ]<ݞSyyy|r>:"FBG0ٱ=o}tM}h "JNMSsȻ| JU]$I S//~&~0r2㋁Z+34hx*ӵmL}!o0bؼwXKGEXg68"~W)dMMȉTuE)[Qh7Ȁ0A"Q$F<2bd "B!b "B!b "B!b in @p6^@ hDuZ qGX qGX qħ/#o`hV|=ݷ"ǔG#c6nނdbHAW{]op'$9Sl~p~پi/B.Yd){g֌DDvoqh&=Ŵ}Nv SpqN_z^x!H.^FkqawV^Cϧ5q[Xz w;xg%]S^~%|?ޠ̧ CM7EE1:u-`0w r!> lV+:/&`6<ط?߯Zu^ sˎӣt3}|k45 ]бCޟ!9CbBs?Gbcc}[XXĚueӕ||!W׆ޢwg38kW:v^(rYh1>jeڔݛYi/T*ycP(Z[]Xz4O۶Ԕm~j|-?pIII<8q1<5Y?>?y\LGe ĠVʑ9;ӹB 1ALf&8;DuZ qGX qGX qGX qGX qGX qGX qGX q~O\A@ hx @; ]vGx!~--8GTq8E `,Ḧ8sɛڍ;k n%7J ۚL7Uv0ՀvXVv^N7T{`_l E =[t 6&Ztze;><vm_lDm  LycSf{g.ކGܶ 6P D,pٜu3 NZ1\pXC N9bomb-hFVD^n(`!bA쉶z=վ ׭8*SynˏF.\%?)9l %O{;S=oh"`;_ =ry\izrcIENDB`docs/reference/gtk/html/focus.png0000664000175000017500000000056313710700303017150 0ustar mclasenmclasenPNG  IHDRJHz-sBITOtEXtSoftwaregnome-screenshot>IDATh1 @wM x\+EBς `^ ~b!i,~l~9~ <<03 UL[.%Qr\ zuuu]h#jW͐𨭭l6S__ѥ@Qf3K9I4iZ$$h&Љ2< bt.ry~й2< ?i俶4KCv:)i͒Ӗ@MM evO!&cHt>SU0OCӵ*aA|g+\ڮͷ?6`eÓٻoqqVn̜>ER7?N̘~e O>Ȭ,&Oqh&Ðihkp) }i6;'wح]@窖^z5l6Kg_|K؍-`_v2|//?73gfS(*.⯟}NeU%sfώv''(c,s>٣Fi}zf¥q:r\TWWtJiYIA_WWlEݎdd25Op:(~"3s(ӦN񭯖3}K_|n ̜ٳPUA^hOwSx={hY-i$vFrr2Cп_?T]Ֆ޿FqoҲ2&^v{p`Zݲ{3>mJqq W^;nou-'X~G3yD5NrM0k ++*XV=0.^;L: :]tiI#p}WPq WNUWGfeazh%“Ӛck|w9t̚ŸܜQ#F0gllT|/°LEql<ēl|Yr9֭ӧSVVFC!k W(,_=yuY^{7| O0o-Ɛ=hWܿG}EUYd1qVkH+Μ !>!`h$!>ʪwD ~-_x!oyp%F5kqӭ|pCZj*cF#G|qcs5"=762jjj0t:Kd萋iu-8HL4JUٳ:rMeӵkWA#fjb_F_eE׷jiAֹ^޽ƫKQ0 /G4Oz= ( ( rspx Xr<֯}?^kluebi}–_}w͌ݪZX%%&wz|]v(PwϮDYyy@WnS[[K.]#YIiVrr/TWנi?>̺۹f,L&ʻe7( 23yMtOl|kʖ$'%E\KJJ 6zڠ4k$%&D^~Cp pIQU5聳PNrcA h0y,]UU >!EE|\.kؽmU;Xߏ0 MlI-Cfbjͽ4tuIz*Kܽ:GgΜ!/?N*S.xǐ)9u={aat5嶦h#PU5FUU5}z={矣ݫk\INh\.#6u mxA\;4j5ei db6x5hChi-zł^kk.(B}}=:I=yZܚ+F,KL]Vժ+5İ~F^22%''< TϞ*x (}g 6&p`|{UWW<}U}0b1c5֢( vf[4׸H8NNgt)9Hw{][>ӟ .@x~q"$qB 9rhѫW:S'_{^p~5ZV$5ܒ5ށkؼu{ZnG N7Ĥ w^q2yqIӮm[B>tRU]ӧ?t]wWeK3mλlzl0ᢠZrUD8>xzonRzh:WqOb6!+!ZVg㽉!=2| 4'o%j`25sFiߣG> >lN{dhϕp&S&56/!{(kѲ?M y5pPZZ͖drD݁EbbbKѣ"I$bBD1 !QL@(& D"I$bBD1 !QL@(z !:`@<Hq7g7?!ڏ'Ϡj<{w>(h_* .Nzf#Ni=P[~9 DSi؈Ӏ1zXGIENDB`docs/reference/gtk/html/fontchooser.png0000664000175000017500000015307513710700303020371 0ustar mclasenmclasenPNG  IHDRD'yFsBIT|d IDATxwxlժn.ܰئ0k | $!K( `lwYm3]}}ViwfggΜ{ !B!B!B!B!B!B!B!B!B!B!B!B!B!# ЌZ.!BhMO "EmG!@@Hkfxꪠ`Wp'BO{AP ] _PsAQ{EB!YZ 5.uUYsP㗯lQ !ght~P= (꬀{33ET !*hY@r{WO $(ꌀW8+dz)B!^P〨~y8Qo<dzI]:  꿌4 Zu4@J!8.P̐wup:-PKgV5n7xdDan<_T !*/P T%w du:e߮ӳD |Wq!OFȄ;1A@^8瞻8::z^(,B!Doiv^\\owwrj܁7H_T {f_`hzX, ̎QUf#^106׫,+'ʪJNvAղ>r8``wG!zY2.h!z+Tnfyw &ÍF#\?# Z~OYYL2Nf @Nψ#ذyDBF%I^5]^)Ȥgt}g@Tnj; s{͙} Qs|>ᾹUUUfv{lj"օm jpT墼6X ECX8<ҫSt֣;s?վYɉd !DyZ~z@Fvj'6D?oܦE# !KUNCRz׏z(5cs(! MӼR!D[(4 U4h<8i8~TYeVUr"B-Oh?T_QW};GW!ϛmT ҆(fK/a\}ÍLsO=}ܽ 9c|zǏUmܼ<^|Uo؀lfalܴ__ywuU91:$ aR6ܱ 9\ׄ罳Y<17дWdW>yՌ1;_8­&5>߽52UwR6Uu~!TOVyEK4*N6&f̜qS'i3g˯jݷW^xCbk6srEaİa۰A"_^Ҡ!_}Çq-qQ&GdT$?Y57oc!>;vaq2s&Vk5yyL<Ą,{}=訨&J >vC0nb[,oڀ/ )--cl6n7deg3uJ:EEżοVWN3"Hg\BAt"Uڒܥ>Dݪ_d (lܴg⸫W'EEE[ܽ\.,Kt&3MZr5gޱc<6s"*3 z\.V~Geh[3qur,?ܼ<.E:do435Z̚zvӦ ϣiwylEӴ{i-7g6ÆW]I f9r(sf-7ހk磏?mȑw]27j> c5x|>rDx-6n̤ w7e<#wy=u£;#B|Xqkkr]C{|WLW\aknwkGOS#4 xˢ@pﴁ\gMu7=2CnfsZǟ|)9y 8xG7]w-s6Fy h\=66lF`_o0 5|jjjvgIk+!l'ƏfY,+::p70wns*ySYje~9{sonĢ3r s]=߮AYrrmZ ZfO}n;wk׭oyEEQsz{[L8;*|}; GIeC*1 FN7[?`nw7V?1b`b(N44 :Q h GW_yGgڔt&Mh;Ceewu7t:Ҵ\޼1~Xx_10-l&v+ 1!c(L< S]iL&ƍbP?T]A}N?\EaFRz5;jdd8_|=.n&niyᅅExW\v)}CINrg,7Xtbb7`j+υO7OpI]歱k׭g K()-no/pg[[Ԕvۮr1F|@awWr nEӂؓSMv^WHAp#۳:Aā,+hq9V \7'w]b'9j\Fva s'&r\*l=RjeMnB;.EOGnk-4Vv3;vˮ !>P9_jjyZ/G\\,``w0?^`0H pi]_nfh~BNZq<=Ѭl~\=?3jl,a`ZZ뚘?z/V"778LHQpj@3'&GJ8qt<3jp$K4-ۏ<)ܳ$ q|2jTU>Ysf4+Z5OcL%Z_Mna p:5ܒZ2Wt]*Uf( |l6X0g.4Mrp8PU믾UStM놯r%6ۆ%Q]]i$&$OR[[ "<͆$&tR]SCDx8N[q \CDdzT2_;>"?_,N>|Ҽ [rp!#YY=gXxor՗_Pdb)՘*+So~:̠i\yeL?UUygyGXeZ.=*++ %!>CsҥL8[q,=lص{7#G 8"%%_.?j?_{{M[;=}`T7؋JL*;Hʠ$b"q.Eqkpj1R^$>)AI z]<J쌞2P"QvF=v>,+ke5A3#& d \/3W/uJP2A"VVV>kkׯ%}bz "{mm罴*((۷r(Xf駪ZcXp\6=& Ʉfp( f}"˅fkv,ku511 bL(v{ѡ jRT\LlL ZۢmYih <E!((^Q ^`6U[[n3/z38u]ku3cTʪ/Mp: {˥b46]m&Cޖp9]l`[X¾(ºϊ*u/zVU!M!wtM@ooHQGVO4l6[jEUU5MkńgzEQ i\̨Juu5:k[4m^z8h[[f4w/ޠGDpFzɿ>b%u,IINg=C4ݯvhCx~!Yu"+¾@=d┙33To;$)PO}v/!jeH/3!z٦Nj3#?u}#BT.m9B!D&-)!  ;c;)%XBQld05N4NEa))1RilvR(B5czk%&EXw~0=#@Uf11A^~^wY,!D]pOV~hYugpAhjL#\.$&&x[sQk@!!BZ)"Bs !BZA"КBʬWDf㖍8N1l!!!XVGAa6o`)snsl6V0Fc{VC!=H > Nvs̉Nd?s?O{%%%Z,giii,X(W$|'Of~McYr%l6s'2q/BU* FsQ#G_O~a~R|˖-CUU;<"""())a޽tK0''Çkײ~,X@pp0.?HII guV#w*fssxZ3w\ @\\#G9nGףd4 IDAT SUZg_U|21ΣƏ24*BBBZ.vNhhw^!!ȟd2Q[[KuM5&ëkwmHHl߾As2/_NNN:1cư`o[w},4MCӑμy󨬬_$==SUUW\AHH+WJTT{.ddd?x{ѝq7Iz-rss_ފNcdffbINNfy4zh8l6xb ƫJIIIy^{M[?eذadffi 0͛7c .~'}B!Dc. Gb|"f߁}L2KH{pgl2^uRSS:u*Çf3TU> 22_v>C֮]ˬY8p 鄇ɚ5k0`II3sLF#!!!rqJqq1Ѹ\.bbbXp!QQQ\/1c4ɰy晬XUU930{TUU1k,f36mꫯNt:9 gʕZaÆpB{9_?h4rS]]| /l6zj?|!^9|$ٹyfFe^rܙAsx߿-[l29HLL$++f̘$$$ٳ9s&மtYB7nJ+;;< o`/p78p Ç'33Jxxxb6QU;#GҥKf2doCBBHHH 55[漼<E;B!UKpp0SӧqFrj0\AACcKNq2fSn5QF7|_LYY˗/o0MHHݻwRYYd7yDF6S%i_㗖`l6].9ӖҸd2yw "Qu7(JNLfyOޱ| seʔ) oۛۓ)))fCn=3Sbl6=g/WQ4MkyͧMۥ{}B!:Iz_@!L0&7vSahMAQEEo)))8z(yyy,\pW_EDDG1g"##)++CQLUUV԰~o[ _<ϙ7oqqq-s|| zEFFw^v؁NcСm.ۺ]Z[!—^iA Nq ׬2ofǷlİw^ك(py1j(]ݴtR>s}, SNeȐ! :駟Dtttd /dŊEEEqz3!g;oҥ|7|78RSS+ y>6mYYY\( j.lV[K@!D!jOF u/X0 }lqqڲM[71wvy555|{ts:>:xtb|]B4oP͆maڳ]Zw "[LҦibbbr(ºϊ*u/vu@X,>6`h6`jkzsfs7] ڳ]Zw B=%'BEs#B!^! dj!B !z{¢Weop!B<*C#%B=ww1:We<ɰ!~B!:OYY 1!!*  v.BDtTtrKbb":]B!$UUq:8.Jp.BE,B!$ B!D'B!= BI@$B~W2[ͪ.B!`.Bଡ଼.Bѧ=7Xܶk['HB!= BI@$B~O"!B{ !ߓH!DB!\@zB!D/n؜#ל :N~_ɫvwфBH禒aZk 5ds 0!Bt>%I0; pWD qޞʷN'BޣODUNʪ]Jpx]NfZ @j&1 D]e]f/.`~ur[Xb֡ކbYNX[%0i@0laVwB!:ISr4(VL_sSk جc_~-ݹ5>.E"0zvR5n@EϹ9,5*Yjڝ(BN'"pgp_MaR& sS1k(tUb`Dbw/wW"[N&2 k4lxEg !}V2S%V'l}!i1fӂ7nEIX:l.].wK!^a*!gp.=fGvuWB!@$[.X-Q!&sA~KOb2/y^yr,#-.Sf'9HE٫"Bn'"NagN c-Fp[Xyyu!NU-Mp˼*k]Xm:\dgPF'FPZ Ŭ9Pk#B'lN!\p{zc38c| 5DAg۔!, B:l*{IF)[LB9¡"'3156 83]< WqI=M/wz<7#(t4x_d/H\w7m*c%c '*@N~*bAk}%;~_e8~_}*,P=y| ?~ ҟ~ji#x|V*o2"u^{rG;."$ sͩq39' ӂ2;ŝ'c#inAH bP_X93z?K0rIUtң8z>8CZz sF%QcWy<6 Q"\zR 'Elki;J.DuΜɛkno%NŚenC\4-We^5v+dA+V'f1A\urS9J4n(ne0kd' x"ajfl7 m-%ԁNc-5)ƘY)$)ts9R)xeuw:"_ˉCB52{$ u|c<StZ42>VFAp#gOqvx_ud +3[c)l9ZMzZ0SY 851wj\T5,/ ώoaNgv1%;rjbGrk(t 7sXF$tZ4~_`}1,{%iy_է1$ rj& f`*'kTuhD6Du^7_w $[㝗Nq?(sҨu{9{T_˝?}>(Iie[K`SIҷsңP;cdبqXm*Yf20'.L#!cvCt|Q`Wm(-kx@Vl+o *csj-|}WUF{}t KM狿TGg=˪]<<Sc$3E`wi<&lw4>ᾐ:8.Sb{Y@D Q|Oq)N8^Ť4x#1rƻh2=MRat{>h{*OgS}<}m~cɟiF&|6Lo-qL ~VY`qf V:2(#62 l){Audښ;w'@f< 8a$WmSWh\ShuXLh4/wWp^z_An[Y}=ͪ]:"c"xC c'@ZxULGEv-cɑMflP k~=/I&Ȩwsg;ʹ`Z4' f#L}iU9$CTUZ !KA9!fJ=M? fnpʘMyP0-o`]5wC֩<la@0PF(1&ZTGw=TxʘW`ݩqYa۠4ƏM{բiQ&f nמ&#JFUNn_`[Ǣ~;] _`l)Q&et DB%vw5MpgΚMDד QYm*=׾yR{",HOtI@ףiA4%n#)n:-V≑ܽ0 ^۟64dnLk&T-zÍd4]*[f)QM &2ؽlOXjΞzp<ڻO"\93Pd>_(e Q&F&qF$q8_h|OapgW3.; ot@Ssɱ VRrUTy5;혪*-ϥ_|Y#8c\grq+dhGxWbȦsF7 _&N}{m=ְhgn  jvo58U)Cbؙ[d]yHNF]UpGqR[}4ڳ9\l|?~F&͗܁aać9, M/w7n _60fl_}~"Io}4ݿ(&E2(֌٠`+$En\{w,tW ,JdPȪa_E*ܹ}V;UWGI{]vR aF s|N3'&6=<_Q>eV6{!whTB 9aHAj{[ɩ#8aH(ώ~n Y63}pC\SY<1㧾7H*LH ƨWڨYj&~u=:~wf&;˽]Зm-elBoq2wwm ph  ObxBPɽ_ώ+w3)-uu_@`K&Fr˼nw6DF_xOλ.n2Z3;n'e睋^._}-s&$$oڲ?< oo&LMw`˨΁&ذqw{pEK6tH7B!'2DÇ gaL} ~?\{Mƍˀؚٹk7'pYK?o.:W^dȑt:fl㴹sۛ]SOWW\NNn.+W}Žc00-&pí򫯉j0WB4 4}6wB!D=}" 4bb>l(wd:O֓w99{!<< d>F{s8N͙'}g_|z^zSқLŤ 4aQ~fPP!اSV[7R5INNI5JqwRx_X wОiS&Jn}rJߴ}>4ҥ6dNNxr\s/V{@&+zNsa}} ܜŊQFuZhC25S:ӗG^/#SRx㖭,ZL W(W[6KL}\ڤEFyACD:vv/_1yXӢY3ٹN?g%;艓,N5]8}Z[/SYsϟeǃ9u ΜkD=FϧOȕ3'͞I:uR,{^)KGi-Xȶ=p͓ /_Ggt^S.{LLL ޡas1F &;eYˋ3~nycF?F c&N)դ8}*U$G}usKQ= Rt~bx2aT255e/8s(^f4_?|Ξ$c@lٰ.U]77˱)U2a{i]d3ɜ?u7}9gQ<fΙ+#R7xBiϗ7ڵ)oL U;KMMLLX@DDϚ (g|(^2Ϟsq0sP(~~BeR8=21IH=/ȜHCޞ:ȎxR޴eR|yg?tX1tE HB:$EH/hͲ怟~w͓333jTƒcמԪ{ iH}S߼6)i%-hצ5k6l t@e:K8IEBg A 3`9QQQܹ{;wGztW%KZ*sST7n95WDb~ RKɌ!,\4&c7oLHN[}=%e} =/Ȝ( T\Y>oC>}/_NCӵPWqqqcooE'R8vr2=ڦ|)ίJeG(?|r( 'tBk1k++ʕM_ŋlwF500`!g]:ӛOsssZ4kʄcXd1{vn?zؼi[v4iHGyS OJg##,G yA%eL>DFEsٺc'=;mV+_bUɦ/Z,|ad|cVWn; "2* 3aRyڰv |i5XKWzZm:O|Z;1Sv=А>?544ĹfM)Res͚mѩKWLn߶ tkF٧_8ȳω"22RZRec:m####ڵISw"IFO!|@*L0COOz/Myh֔3J[}|кr[>I2}=T)<b/ZLn]e>.)L()ߔ`ogU+7hp\vCH\ժTMG)͚ҬIWQ~=}ioddĤqcFukٳc*gj100):7IM###7q0zF˗ yOxx8&NbY֯}ǃ8hbhhȐ.7slںMO vcz0%l\<|;=fl2~an;SJUvp;X[YQX1UJsybPѵsg~]7]lќv&-G.MҴqc*U}o'<<_[ (>D@ = @@ l0@ d{A$ # "@ a @ H AGD@ = @@ l0@ d{A$ # "@ ٞ,gb@ e "W5v6Fz ,e>əLQ.{ptrKs翆@ 8H CF++U'~DD|W2}L76E OڵJ @ H,a~Wukٗ/r(..Wk#ԧQ)N' }Kf֖0gx=9rsMz hԢ%͜ŗ/_ =~ ev=p;q6^f4pP24;B?|Siުujdv:vS|߾#6nJ@ #KD&&&^Z5ٹۅ0h|N3j$U+!v/_s1s\BCCٶc'g_iFtlߎ\r%)aC177ΎI1l$Mw2v$LMM1tuk:}J NĒ@R%Yd1O8x0;v0p0N9L (\0n/V CGTZmмi Xn=O>{ЬIc&d۶aᒥXYYѣkxRȱ-V@Y #(('Plml04+ އbcm5IK _U //E)Jcggwx A; ? |bE'T%fTa=@ô+!@ W AGD@ = @@ l0@ d{A$ # " (8G'g5iѢ+8:9䜦<ҳͲ[p.YJN]p[G'g66ҧ? ^ 2d 6n(MuXh!>>8.5D˒gOB#xSvd$@p/gMA7i)w T&{@o9l)ԙr/^;wnYe>ܻGXXɉRpaY5'2*[׮`fj gTڷmoӦJoߵ^HGG6[<Ŏݻy+KK7m!177O]Fp6߿N@ΝR\!#Gz{`_v8}KW؛(U$:]ֲkׯ'ZVAPPDq-]ƶvv!N`yG_v֮@tt4\͛l\ -릭Xt,ތ7?BrR5WWj9;k jZ>JQMg*U[Xb% B:ŕkxzyɖ$Ą8n+|̝ׅ*%K2?8qϏq&~JjTUBACp_6M`l!kӐ8u+\ٲ~̠$2(>']6m?~(e[KҥJJ1lݱX&l}h\ѢERUq[ڳ]P`A{{3bX"##ܡ^u IDATXl6}SWmش8.:o` r1mdأ.]#pKf95/bаd{  7mЫmRz]z} "<|&#OхM .)t>111`! x`W{eeի[n\9w9r0i8 8Y>y ˗K<7opqKz<\vQBΩA93rZ-?~ܾvC{]DFEdJe=t( ,̌Cpn_}{hڸk7l|RȥnZZIFwe122b8ׅׯqIf6& l32e yϰQ{bccݳ[֯Rx=~qt}vH zͮ[7{ݻtM䔪:,Qey%CFӧOh֌_'MK6zHK~COOV-[ ٿUKe_iX>GyڷQ/]&cMbT8V{e2SRI70q2b8.۷r%n]]=/S'(V(ժV5˕_??å̚2pӻ!BA ]<ټn-(^1xH>~ & VP֮-}+Zi'qi<vԀ,X###.[4fccCVi-{cX{$8$1zuUoͼYj%VV2b)tx5akkMȗ7V7mJ9ظf|>}*=7Y:++A4|oߵȱ8aS޲le̩\(U^v`ؠA8ugq!!S~5I ͼyir@95b}thF6ճGw96}nEaʙSХg/>{SzQbE/V?W8$b;ywg :(&9"##y1:<Keеi+Q8NG M4P/p(] )˕S[W[7o(S?wG54 "V (U޳H}|ݰt\5ݫ%<<~}Ȍ!ƘʗUDw eJ^+jF?:W!Bdd${CIjWPfMf?׏}zKƐ%>QQ:1|`Je> }zԹFcՖAmG=psҒ~}rqBk<#_޼j)9JAKƐ ])9$HZ| / 8$*+ZK IP(Y37 C*⍴\9s2x@YܧO(7*ن,=T_nQ׮_Ν2KQٙmJKɑ2D,ZI5|rRoで'HĹ?u  s{{Bddu1hHQ`AV,],W岙nԩ]Ϟyv :yNtA# D*I) |Шax=N5KǮ\s&EB{񱱱DDD`oo/=`TKutJ/&tl}Po3\3UƐz^-[4׊'O@ z4oTgnNк PDHң[Wi;,~hÖ-S> u׫U^>R: ~Ϙ^N<pˇt<}S}Q=7w5he܉Ro 033@ޯϙͦ[9~^q͝{n۰?Af:.Eܜ|6n]` *VsSo]9\"UɒѺT]Ȱ0F+ɟNLLxUG[05,~FΤYl9vmۨK./CGPGmJPoTD3\Iv" s.W^#G֕9s`bbBdT7o枛;tj^^]6h^]))޾%44T뚥/^"sxݾk7SS;eHZfEu@tU9ٰtw~݄ZCue1q8t!g 4{صg/Yd^Qj}o ϖ;000`qe }4LuA`aP A*ػ7eJckk 8/PFDD0thzz;wnV,]LBt]Qj=wƆ_F OsYҩחϟ#(R06B*BB333j$8Sfo={.*x,9;T\;VZ GwCR9͙0v qqqs&W4[ӧODDD^bҥSd롎xеKgYCCC:w4c';:k+)wxxrw.SRHe:Km-]Ɩm144d022bC<"1Mݻ{`ddDr&44G^RSMUeZ-O=gnұ#aogǷ͛3l)/}Hu>>_(ڵ^IIU#3dP9r/{>ԧ@JWɈ1cqԔ N@(V(_|a52Ƨ cȒ>A[JkׯSK0e*^%bcc yw$GxGDFE#G'Aظy o'NO|p|7Wop=É஛Ϝ-ۚztIO U^FFFs&AAA|s?xQQг+IC3gۛȨ(صg/} <<\ R(^ qמ^^ѳ[WHgb)){'_jx 6nي!+CƲHcSr^WI JKe]uNll,ժV۸v: իfT޽c~@xx8'OaaDGGS)?}b^|Itt4?PAmߩ{ ߳o?.]&W\ } n3.MLx߸{G|gYvG!&&\rQ:DEE ܾs###͙EU-_Ed˜򏛛j 'K.PԎĖ7FFy%#F~?aF1=$700`!lܲHɡy&mHK=}=7wpݻ{F L!AC>d,͆ Dppd1lZFP5t@Xgd BbДxO044|9+-7uDUe:|T>(5v6f2 ϒ+ذy,Ef Ր'e5YP(~Cu5mrصu3moE|066̌Ŋѩ}{6Y%sMkt*W)Ԯ̪eKh޴)aaa2j_w˛sss*U_d꤉j[y*lݰfMcgk!4n؀˗j-9&fS'OIF|#|f^-6ﹳ)Rf8) Y<͝X=)U$7mEX[[cllLw`%l޶] 7jP͚eD" LJ\\C" y9FFF͓1dٻ2 "1|mThҸF Jh@z|F!Р^=ph1܉c- pxߞOȒ@ R0@ d{A$ # "@ a @ H AGD@ = @@ l0@ d{A$ # "@ a @ H A'Dqqqf@ Cd+FG톍Q-oü jOptr>-oÌ?gcXiwə/߶sN\zUg3"Y5SϜ;|@ ȊgB`ȈQzcJXď/JE b =DEF1LƍMQSv-lmd@ w7o*l^P.}"7000HQqqqI^3B^f<|Hg>)-[bgg5OSN HX2˟/v97ȑgϟӵWojk@-m,|N=8ohج-۴c~؉ߴ94㧁-eS۹wy:vAz ޻oJ4gѡkwj5hĺwo#>əZ'ZWM4Ξ@n=p[wԫ|@  Y 211aer.t݇AFp*/ϘQ#X{>|BTT4;vȈsʶ;9{M7cvʕ+ܻ`T\ w2ndOo>1<;L+ލR%K$[ÆbnnƏcؐI51n߹؉055a!ԭ]kkd %J*%}ÇٱۅÆqa*V@…qsxb%z>Z*oۆM`hdĚuy)e044݃fM3aDnԠ>?7o8u,Sŋsq͙E"EZ2CFs8q4qqq=w6ŋc]ܾs7:oۆKbeeE]IU*9ŊML@ "Y #((U!_ڳ/oڷmܙs/Z̹ yW@ dR@Pc1́`]!88xFJ >}4;wO4>66`h( CC֊j "˷@ +i<<=hѤEٝ^!@X@#C;d%3FFFx'ay aZ*!@ dGO AGD@ = @@ l0@ d{A$ ۓݧ`l%LM~"FFF(U, {ܾ|4‚gOi[f\tA* DFF?7~@9vpKMzIA&y2Y s?|J,-GQjotwNֹ0y^P(pbE111?2XkSVӧO䱷y& 0@A4k,˖l*<ؘ <ǏaǕk<񂰰0áLij;;ӢYSm;Hul֪5ٱ2KcccCo/7n؀EI)Ճ)/um.-Xu؉;涶6?x Sy]LRIdiMcces||ȦZMMLѻ/( y"SnafHDETx>zG9wUK`nn7mfU2޾e:rTvnr;weʕ+ajj*UA%d ŋJ;4T\vO"մ9zM]kibbB SgpՕQD u366s|Po7`5۰QV|':skh)L+++|Q2\&=@>}$ #Rx`~Zb`@^Opp Md0ՕFkj_X1:w{Xd uАc'NpR͚2ad~) +  &::Z _q<=& ۶.09!XFF :L722ܾsQϞ1`pdcccy ߼K~#GhA\NJqᒲ{>zemݱS9rу)/KIԨV'~Jk… #@Ke]?Ib444ıR%4-#ؾNf}hgm`Q`-eK7mJTRJU 4@R8O{Yڀoy]?$:&E|+yN SQ!JRPh8ڲ}_|8@:ḿC/c_ #<:u Vfꩥp-S[%XhtQi߼P>@TxH]˕u|n4eUj)|ogpR QZЫ{7 ~hoaŒEqqqZ.vzvm~?5*OJeժ^S֎vj[YAulmm߃GiV =u7[HuPt_>p2/_ɓ)iуܗGTkif3D,Cì!B!dӧ/|5Yܩ3g8u&с>ʮ7K 5W%]P:T'ܐʗT,m= A111DbDGGإT*Klզ*ʗ+Kj)<՘-y WD t׭ei2jJ58$Dggk^s艟WЯo_nT^O>Gv+?~ʪ3&19x QZ`jjJʕe100`٢Z#xZ2ҳ;/C޹{OvAݺC; Rn);I|yѤ?0g|)̕׸rKW\Y5" kU'-҂… ߟ}|)Us-ө};Aj>hDe4 ̦uɓ;J BCy'5CK쇵.}Qn+]}PoTT8}FMjejKð)^#@yQ'Qf/\Z|}BKݽ'խ] Ю[u.if?,5?5}@>C!6m!..B mf%;w34J7lSIȒḰHIk,_'e}BX>ceiB-!QV-wtt4n3mP]֡ly.zt’[·coMu\^G\V6>\v~j>iN{{{itPjlgO)Tȝ[6vN`jj*N&)o#U?t].ZD9d㖭8uWH͡:g2}|T٦NիSd 6o(&^Bj4l-2*J=uV:ֲQ~X'iȱЫG7j7?鍡dw~?%,Shʪvɡ?TB.tJo{EpIHA@ *KGzobEE"HT4*"]!H|$Nf[)a,S3sN)\p2~Ox5C'jGs={<0/P N:mqݫ/Į( K0ŅNڣnԭ]$\]>saxQ˛9ݎ/ 6n&5hTzun/?e㼥xouMl!R?nu ,O݄6ޠ~=f"W]#>>X]aǟvt>tMqWV]N2}w%m>6dDž #ݻ 6.?b|P?QhX-/ǎ3z6K`˶mOҸYprKJJb#u˶kZe޻/ ::W0p`0+lѠ^]/\ǏYz{[z%"11ZLG;1.{MγhzO@Y?6ynڬY+AZܽ{o,=az?8pФʕMeQp׽'Oryݻ1Iztث_f3?n!p@jƚc'N6L\+l,i=ں_B*nxq^)Bd ;Ũzw9yf6\[o#)6m6|[+R8}7TC=5ω'v=98"z5%ul22aңaܻA eOslzH]3f}oh=$wKf耷#w s/`Q a;okNoؽ^n] ˗ORc}LNC5oOϜ=9?5NZ|80,u:'8.K9ZO9 w4!Rbmݫ[ (@=S-WV-KNΟɓ?yYS@^eϕ-!χ~9~Z(&w?$_r޼nm;ΧzL޸mЄ"3?Evn (y?lݱ /\]])T O/N/ [G)U$c9x0QQQazԭ]>yS}C5Q#,oܽ/5Wwtd\bAϯeܵ+W//X5yZINe2q{8},c'Ld#u3Lf˶mlܼH|}|Z2=u\YYZ6c b,X;w"Z ]:v4YNO m2hp;L,jK}Fru埕ڵj2_kҘ%˖q):c&~m5.NMopDa@$/NIf9('RWNs$JLLY߮t,22/p^9 r9ɖm2,7gF_>'ȡ޽ǵb퇆$DN )))գpfGS~ŅB BtjQrϙSu]7GEEqy\IB\\\8gwV!D:xC0}z# _kbZHHJr{B=6Q&G$!B!Y/H!$DB!$!B!D' B!r=IBIB$B\O"!Bz !"דH!$DB!$!B!D' B!r)BbbbV!B'c!! 4uSZ4iъWPJ5n@Xx8~8W֧Ulٶݑ !"euĻ zH*Tǧ.^"::&Mj0 ݷZ7o^B!XHnܼ^T?/ĤNEA89*^Dʕ}zujSNm8'N"8(1Ff!"KfEˉ'?[{Nam;vҢm;j5h1_c>ˆ/Fӳy-ZhrɬAfD޹[TT#6..U! Gɓ3c,]˖SjUeJs2l8_xkdrz{3t`Cm[zjܹ{ǤǸȗ7/5SO!+G)]Oc%څր$%%ѪEsԫGT7FתYfMнKm[à ҵSGvꈫ$DB!D#ZE!""ʔ.ŐO>[ո&gEB!frDBy-yi*Vx8HE)Lڅ+GtL,y#_!#2^y%?ΕWqssFj|6xukn EݝMЦeˬ]!ـ(ѩ:-s</ ?P(oxˎ-tD޻..oJLL$<"H!0ٳov5>?}& 5??m @xJH HR:%Co"=WWW,,R$#B!31O !B$DB!$!B!D' B!2O[;+IBaV޼y$!B!YO+ݿvgOJUYsqz6K`%SD MF:,!Ld;;|| |r\ !::///*V B:4 "eV^o~&OD8=._a#$!NvؿC ǧ>>9+R hgoiXnͷ,Dսk|YRDŽ$$D>JRr.؅  o_ϗ/_ u,wTg#쀹}]YHG'O,D1!3̄B"Gz1~͖m۹>AAAlތzfXz5]ǥ˗t,Q^mVv*::c-GDP@jTƇޣq&?tiw~ZS{|ȌY?s.޻G?͚67ivySMgmܹs72޳+Wq>|HPy:uhOZ̖;Ѵh H 5\ٲ|?}\m&hmv\Q޽U̅sbhӡW^5Y.{sDTs&NȞ{qNzĸ^ԯ[A?K1},?)YϒXz cb(LҪEsʖ)cqiϝi3gZg݇G۴f#RMUYKskpQ#"tɒnق\\\8v`xC ks0,_pF:p%9x^@^ %j@SEddbOtR+WU*Vj׸ VءDEE)!7n(~0PXy&'&&* T\U~Ώʽ*.U^Z]z76RZ5k(%2joJ,.}3[Rjʗc)/]Rbbb7o*QyjThO^+ᶬT{+H%**JYzJJo*fr8e?(e9&0QT2uwʍ7x͛ʔ3*&L4)s/*ɤ{*/Uܹsdؒ_)G}a6>u=$Dy4=J˪({J*ՔVW:li^ʥ.;,H(#Gi7p`C_V*VLr:t\Fc}9vp%66V9J7޴g7qRrUe5˛8y2ytzleĖmVgYrUWǽX JwӬCZӟ>sVj-b?xPXǮڙ3gXj9=22Rp?:P+%o(Sx)kJb\2S]& 'o޼ 擁 &XUf (@|ޥ wcU޳Ǧy.Z+OGoۖyCmhӪ×ќu6enтÆRdI<<< 7ӧge\zO??MԨV:K޼yz[w̱ef+34Wyҭ˓?o`iق 8(777iբ9K0_k-[Laf<<c#嚚 IDAT(YŘ^6l2(7 $o-[F?na[Ѿm[|}},ֳ7z6NehN˶٭+...ɭ&EEEvzwbc}ȑ8k#G$yLi+׬8Ç ɣG(lel4jP,3=,_ڵjR8 /&s#eq֚PgL)\ب/͛;+Hře^dӧm"E T#pŊjxqǙˢİy6Ӈ9TϢf|b0v%²^?+M6dʕߴre˲믿x|yڷmÌY޾M`"lش& j6>[WzeY\\\WtыNzժa9JB o)6>>l91z6|Ν?MXiZ:uj6ŝmӻGwlΊkx_?HHH`̜6dCYKXb%mܻ͛w$ebv OOO&O|Y&L1ssT~EK~eCp IT\\k4;`z%&&i:[wf-Gn*>SN:_}Ŕ25xrt͚lJ6mφMi޴)^^^ԭ][q[KreB \r S\i`m֣7))ɦi-Sryvp)7{OЩC{mʗ^Xww†M)Uϖ)9MZMއduh߶-" g'Onj5beJݝ.;0s.YJʯo#9*UwMwYϤ4Ҹlb  ;ҥw曷Bvάg?~v˖]TnL^?fm[TBB4_~ҥJbE ݻ9t( YӔ{6o܅ PBcs.pm֯ϣǏl,izBSuKV7vl@P9s4l=[WebC?c<6eZm;3pܻ!C@hkѩC{<ٽg׮_gᒥt&e'Q6m8rXaGC*6բY>^"c[mOϘTo}6Xظ1հ'ORJ5zKsZ$8(1#<}{sW~6$pu5'{7-IϘ>jxjTJ^oojZsyf00^VKϲٻ˖3ۉ|9s8s_LYocU*UuUSP!=i~6uk♧[|9v:S^8doWĦ\~SI5, oUOR])q0| bG&õZ *DQ&ry51m,jԭg$!JIFL2wp}=~={tϟ!lSY:w+hRV;=Ν\},Ш?hO7oѣGl߹=m2mՒvm۰pR~Yp?f|6sz{3ViX>];u$..!Æިlr]=zĪ~cɲb4=Һe :oǺ :;n %11[B:;mHhݲEiOݹs$ɓ' SZŧ2SZի|>K&KDŽ͍ſ.c_9,FG{+Vl8|(QQQqU&MIs6/=Pѳ{7 yս<ylG[GILL ]FjUff- 'sMbqo?͛äl~G.t:?@tyr<~ͯS'i&}D-s'^@~P򑑑[zkȫK(YZΟ@BBTR=SOYU/&&9?e-Cuwՠ㙷mDhh( I xjԭg2l۱WsYc/ӯw/JHn~uni\Z;o֪ާŊnM꧚qmY3f}}4kڔQky/VZͩӧy!ӱ};׭c6ݺsV(;7o49?x|eJbbeR1{ո||;m:,JL>ud鷭YoYo۞ۘ>{vݻwֳgΰn&9ʵLҴiՒ&ڴNZcxUk\ظ7/ؔzvzc'L3tPreF|>8ki>GlݾPxxOyTṰ>CGoMgŪt܉)OwgiV/??m @xJH HR:%CoȄ(M&))ݝC;eQdYe9ݾ͘Q#:rcB$̄QJ5ݿ<9!ot5C$!B8_c-n]:eqDBdJUq1e*W%%!h4h_ye!Ŋ3! ٧DV;xyyQJl,7(p&͚660G)٤9d&B\O"!Bz !"דH!$DB!$!B!D' B!r=IBIB$B\O"!Bz !"דH!$DB!$!B!D"EQHLL0BDrLBt=$Sn}*Z&-Z1q4t *U; jjמ-۶ƽxT3tMZb6gǟ4/Z+Tc=iZ!B-p$` CBT>>p1i*/(0WkTL`mՒyjt?8~5&]%B̑#7or=$+UbOsKg11"EQt_?{'11re^ԫS0Ή b̨fcxՠΜ:o!Bd9"! ,R?__N5U\-۶֑B!ɓ3z,].={p;ǐaM~3f2)m+a鉿C fѣ /b :|CJ^=y0?.*|:|:]:STI!BX#"2Ki\]pa08~_$ZhNz(lrc4@5iִ ݻt1߶u+<=<(X ];ukj$Df?21ԭ]#sc&ˀbgf6nق(|8>x]թ5$Bsr%3EQ$ 2K1䓏t2Vh(|5ntLJ+VŊ)X]e!{psE!p9y-yi*Vx8HE)Lɏڅ+GtL,y948zFqt կ:tn?Fڵشe+yY\6l">>ך4a݆ 9 ri'BrDB+/ıǹr*nnnԨ^}nͭ[h1qqӼiڴl^ƵOnݣ;ժT`⸱g.YJRbpJ(A?dgxwQf//Ba^Zש>w.F[Jx^@~P򑑑[ҡ቉ܽw_\\RHxD !Ξ=k4OI&vM "0 O D@RJ$4-DzYXH&F$Bgc2B!H+IBIB$B\O"!Bz !"דH!^z>=doYIΓQVcpcܹ{$0Y"nǍOn#" epЁtSo;5|(ujJWyneg-bS~Gs|8]~; eqtvWcpyF,H8vnf9"!Z]lG lݰ.#es @.ȗ/{v їceY"'1 ~9qAdfDzB%XsrMy;KͩF J5|hV#2PTT=<<(^ !2Rh!z~Y2mNUV-L&B#rQ~7SgKpPmZwɓ,_'NB@@U*B(Y]󏍍eElܲ7nsqtRՓAoԂ'l}ӬXcOp;, (@PiԠeJϞ[>ݿWs[uKDiִ w0rn۰)3cܻwEQLXz5O$""*U@yJ׻@>8u4e˔a';N{Z\Οޮf.>i][& ѦC'\ {⵵ަeڹs~y 8qQNmΝp)bc(D֭ѵɺ*wq6OEQm۰.C(YVL&)[v|7e2 :0LN=e_T>e^dtNSu.F[Jx^@~P򑑑[B!2CMopDa@$/N-iT-Dh!B[䈛B!C"!Bz !"דH!$DB!)3EQ %v(gu8B!DM`@ ӥm>كS%DaGS0A}:!"׋Ovmeq4iT +..rO!jےehrf9!"P \Pũ"oooIBlB别6N唕.B4X㳋fuibOβNK^Nonm]qvC9] QZ2씵Z{aӸĝќYoSv-mz]K.q!7J Ffݷk4YI-rZBtKԬQ=Cbgv5\_ !5JV܁^d=&OYDEECmGTTmOШyKLbRw:w?ȶ;MʽFvxMq~S /Zf]N:w,W$Dٲ^^ &/[aYĄD~yy,Xׯd<#0>/\N`洩Y+a{>>)~1]:v4܇f?d<]/ ?qD1"._̂~dO?rK_NGU t:|;u:t:?NjlZ݁v%.j 7}grvdæ hmo6{~fL hڸ1ӾȖPfM1Zkx_lߴԙ3f됹.X ?֙hڸ Z_>j4۵cꕬ]ILnاCt:(aܹ ~sϗ}R}te!ot<z̑N:tl'I.yð!|DpPc.emڲO~H@?4p`Zq#?bEɟ??0~L ujYYS@?7o6>h?M[)`X[PjUa<wwHa?PjUC9֭5bȓ'cf3kf͞/昫?Bxyzҥc?~̰!)gM]]] ݻ)ˆ>MrwЁUk~#11D:W#c啗_Ã|y Ɋzo|H z{{u{rݻԾ|훖;jBlNuXiKk᳗)MBoө{O]\\',0u|iZS~7:g% ^^^6-uԜ+Lv2ML޼y w@F yͰԬ[xDE_hQJ8UBdK_`"̘-AA6P8 nQgqIy @dT1?)R7(Uw> г[Wqt- SBiBn0LM`܉jO{+Zo[k.\8L2kQX1e۳ m:~lY&(o?_ϦkimvȜѤQCXgU_~x_>|W˗(6ka~]>9_Np խ]?fs)|emߴu<4ͭ!DjξKftx-_ \%>>cfIc&OAxx8|;mʕe_[0lY7gܸy2y 0{ ~c.1M6ך48~ƍ4uaaᄅi4m0FjL͚6MY&L<իY,baԗ__Pn İZ=/FspљߵU#Ze-cfo}R`A._j4otL4yˋ[ &6>zPbTt:%KyKIDATOoO)Z71ewGDPfmY|r} Qpqq#y&O=|ͷSѥgoѭ+6?!|=?__z={4['zuFLL o hj$WʯУ$$$Фq#mE>L9oqa4ͫիiڸ:1uwԨ^bi 7sҋԩULv F X=Z,zuj3dnRgj(ںֹc'LdI&m>={0*{ش'ӎ>f0l(٭+;e~iN>͘5ՕUgmߴä)SңnnntОCG "8uƝQҹ(|ddh{f|am3+5jrdYFD:8gwCqxȧ4mҘ[nt /2賡]2S+ڹ{']mnw SEQ@"))̩.9{)2ƿS8 ~P4̜$vt"##i3WNWNu Ϯqox m 8sUY &2 zO||$ EQtMnsv"#/UB|\<+,%:1*>zkKduBnܼ@pϟ??nˊD.#-DFt:̱㇘h/X"A/ @XmBCoqCTy/UL‘l=&oze_Qqwϓc֖eN6Cpt:^~*%Kٓ:P $p0;dB֤%80ekTP޽{5>ik-⤦?ii}dmD}Rei%[Fu|Z4Y_O}BtSǑV3֟Hu˜ uRg~ZmlC+s'rkuθ/1r׫p}QmSIL z>.;&h%bW ָۧz.F1sV͍cZ˓qe-2lmWӊgl.Ģٸ_zZ˞Z,2GexN[uki%>uE5}kki%:3`W-%$cT1^vs07/KW=T !̳ࣕ<{On07ܖ-_ge`lHk:5ܺ5)-Zp{Ƶ KYFr2[k:IަdkZgKeevzF1'TmY[ꧽl˴6ܞqm-~QǁnFB$K˷*Ec\s2X@YXi˲Vk7b|ͭR3o/0鳒YϞef鋀:NKˉ|Kn,o7鵒(kɗXam%{}qb6:vc1V==l|СprMHB$6[.%i:8Oƌq[:j}tfgLO eԂur2@icnz>ZV aU=Y: VGd\ҭ8\07osehŮ5r z2Ѱ$1柖rllkgk¯_[QO$0eAOC=?sFui)Q׽zWThhf3{Lǵոa"L{Pɯ,]IENDB`docs/reference/gtk/html/frame-gap.png0000664000175000017500000000050213710700303017661 0ustar mclasenmclasenPNG  IHDRBG< sBITOtEXtSoftwaregnome-screenshot>IDAThK 0$xRu2nij/D:i!4_Ї$fAb$hqZ'Z%̨TJvhH) zŒR)eǵ5NΆ$fAb$fAb$fAb$fAb$fAb$f$c"M 菁w6ݿ w0 3H> )h@IENDB`docs/reference/gtk/html/frame.png0000664000175000017500000000376613710700303017133 0ustar mclasenmclasenPNG  IHDR!sBIT|dIDATx[l['qH4qFt:-z"^*tIԉjC*^ JթLt!TiTB:eRf-s}x8v|8aMcGbKܿ:JCA[r QA1IER$Pi೅pT8eF1t)2Kʳ4.C?UX{q4NPif%qujgBh +pK.ߢKq%fM* _XMJ~ЋGi˦M> ymeݳvm-XקGtCf~:::H,L&)r:;z{L&f577/v:tZOڣ'v ʕq8~L/W"Co=ؘܵG_u[z3ڸa^oTooJG{Jա//.)/?|{J&׏ ԕ7o9u䉹ޭd2TJިLJk'Wμ%Iz1}xfffޮN=Sr9Vߩ'Ohb"<3=?6p[ZFΎ JZx ж|c$ibbBx\yUz睹|nV_Nݭuݫx@!]$Io{?ڳsԤuާs/hS{l/PϊTmU7z w~~e]N6I1JڒIAPZokS>OGG%I_x1݋n+Pj˪>wާ'Ң;\_|Jwݵ 4 qIʕ+u5;a~^Jӷ}Sw^>P,-m-5Gup뵦oY֦#gǎk3:;;C(II7GΎTuqzzzGNOhr2<p+-g 9"麤k#[W{E=uڢ֖>'80Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fc0Fcj>ّj>ZTn^`````+_\@RTm7 @MI4SXf KVRNKGRIZk/P82* bg _0S GՖi(J{K P8Y :YI5x7) `Z FU0U4*eR)XHjyŃ~3*x00% _P@Dz,ѿ,Kzq ?.CԻܼ%|ƒb xԧ%7o=):}wέ{Ҕʪ<IENDB`docs/reference/gtk/html/frames.png0000664000175000017500000000650113710700303017304 0ustar mclasenmclasenPNG  IHDR/-O}sBITOtEXtSoftwaregnome-screenshot> IDATx{pEǻg&awk;O+OWVy ZxeݩhurZ!&GHJ̕ ] ٍ$;GO-Tgv=c{1c'3H!%D'@1J!Q ɎRHvB(dG)$;?qcLc 3) 0tBt@ 1)`PI 53v@'Č K`?&u#]ƩS<<ΦEdكK" 32]wlS@!!Jf˲1B1F)#:cP"J"SJ@ !SQ/8FkzkJc1BɘC!aSƩӮ#G;|/YؤIl (dUz柣_0o3s6ۋ(ufSi@!_!e3!{y8qOp\ 7ig!rop?7JRJij I򩂝0!9I$wJslr[~R*p*Ggʾl?wosđH^-U¼L;D{+RS V.Fkl2z7FÑ)Mk;UFucB46eǤ//!l~&<>B:BHCHQPvґ|d#8w<\G;ZTZ]3\ZBA  Ntn|rȦuu|HH!=n4al ez2x,1|kfXVX8TuЭ _yտٔZρ[S!:c@'$vvgM Wr3Cdx!g݇[$׉.A&2d0Ƭ $hI+dl#TW2ybz}*^fXBZq5(VOݶ.sKlvN u1_,\rYiS(X{^n[XK mǷ B BM4P!=GhICW4BЈKr|L&Jrleɐ((XX+COUK"?ꓱODJ 3Yܜ嬟YiHx0NZˀd@'"DzP`P'#I#V6ceUB P%~F?D)|0O$8r}! 8g9/Ft%-@fOF\̱Jb=V$ Yx_V^8rh/$eRegp[-ԥw=OVrܺT#>`26X^o'ufYz9P̑'GќJ;q'˂fH~Of,6“ !J53I;qzpǫ\WX+y'F7?Q P=4*r!c<xn<7{`pRWw^}CRPt|Vo[ #+FNTbG]ۈD6ĖbX[>ͦR\%^:QlģY<ϗq9;_js<+`]-&r"XW{iyLqXmr&3( Vv~cHp&')<2E2)+wuww8'$f/AFYY\׻m 3 URXX?i]Ϋj޷?PQ^paTW]xy~B->buskP0wcr0 |7o)B c/LB}~rqBL#P8Fx$K#77E3Y3Pu(dG)$;J!Q ɎRHvB(dG)$;J!Q ɎRHvB(dG)$;J!Q ɎRHvB(dG@!ۅL[b .]rݜ (B~6?B>_1 |,cǜKcLZV{}@*C{cK.IB˫L֦3Z[['O]v+c&e``go#^SW;wN_uH"⫯SZvjm1\.m[O~߮Y7.YRU춂|g;`B2aQ]~Ճ8`8)o Z-Fń>ȎRHvB(dG)$;PWnWbgIENDB`docs/reference/gtk/html/gedit-shortcuts.png0000664000175000017500000017276213710700303021174 0ustar mclasenmclasenPNG  IHDRiL5sBIT|dtEXtSoftwaregnome-screenshot> IDATxwxUn:)$HBWxTzD#(]D"R)H >"HM$-R6eXB*>ו9 ;s9sv@mV[`A_OOFIIIɱGxԩS@ }9((Tbbn""""""w1#G]@/رcCBBڦv""""""{{{ڵkkӦȽbPT)ʕ+{.\ݽj-DDDDDDiNitss T&"""""RL&5IB ̙3$$$h`%J 88%"""""r/1g߿WҢE  4d֭[w_-"""""R2,̙38۲x"5e>3iXRRRX,T\>ټu+.~oY""RxNGDt;p /b4 ~P6lHužZiZٶ}/<& ٌbl6c2ynߑng˶z/?3#"0 $%%qIΜ=W(1 =7סCwE=""R4z%ݏ+Wؖ]v7}FӺp}YvV򕬉-_̚MJJ ݺts=(Y$V] .DD-!8oS&`0N?qࠠ<=.pGOϒ\tTTNUT+!!G[dɒ */ ,dh(QQQx{{ӧw/Umϼ8t0T O^݋y eYj`ͯr97^Aw""Rئ>W|a?'C)I;بA-]EKа~= w t7y1gd1Lxzzr9ƌOӶ;wٽg/0/YJvMPjeOhP;ƌeμmsgϴY,F#I3'oM.?wB, ?£-ҎoY$i޴IڳGƍrU}VKZ)˞ӑ#pqqa-ƛ<ѡ}_ÖY,ƌիW"f)d gڤ;>4@-YJCn9P|uմX,9zժ4ZzDјaDI*UhK mxMټйc{F#Fy:DD\wP tDomrSSS]ϛK6mJ;{y6O0g旄λ&pG⯤?֊YӧRߟEΈ.s;jbXl̵+LY,SXR.ZeE,?^=`00o"qeH?xNėӦ)qi>auHNN;JJJ III|1s^aao2ͷԗY=/]ח}^oع{ eM"""ӱǩR2S'M5BӦ{p17RSSϸ{;>~S:r'OʫEDdzxL' LwJU/>ߋ!F0i4,[3N`0Z߾9*#l^'NCzt'cO3o>eJsлmo \Z NZHHHCsUGGIJpqvԼ\M{mbhK\]Y2.F1\vpǜt狩SbVkޞGzu)S4x{yQ2pblڸ1cGù(j?ƍa9*Zժ݋R<ٻo?qc9cjw1:rw77N٪e ~+%\Jg>bbЦcܷU=M5"lGe޽(QtW_uHdetd pʕ իWӪUV6ш@'ugfڵt!Oc)lcNX,%g"""""";~N%i""""""E?ZDDDDDDN<'-?DDDDDD ;!("""""RdړBJJ :KMbb"...RHaɴ'-88ڞ]?&Ç\m!"""""R2&Q`2 2&\\\ '11@)LLgqqq`o]X,$''xr("""""Rزd2)Q)@QDDDDDa""""""Rԓ&"""""R_tcmV1u("""""RΟ?CDDDDDD!JDDDDDD%i""""""E4"DIH$MDDDDDQ&"""""R(I)B!JDDDDDD%i""""""E4"DIH$MDDDDDQ&"""""R(I)B!JDDDDDD%i""""""E4"DIH$MDDDDDQ&"""""R(I)B!JDDDDDD{>I8e*ڶdhhƱ}NZm 5B Yz|ZmǞ} ;)d]/ƄSVH.i~AWZለHz9B}-y'<3j_GXx2jgggSo*KRd"r$Օr1WGimˍC~"%KqssS&"r*p2Ib0  11sQQlٶMX]/ߓF ШAϧa@]dh4ͬ6d0ɔ)S*5}z;Ftt4^^^=I˭h2;F9 uD&Ml 5-۶h|8G#FgY۶e:rDeҩC;ڴnޥ+#,<(3j"]a(_.C`N5SretC@6lO?Oa2y&Ы'z 9z8<=s>ǎ`%o|+WKzдqtݳo.X.s6n?Iq m֔z>g;w )_8z8Iօ:͂ŋ9p/R288(W.Gb6Prz?#a9i~bHY:oG9.N):Tg>< łcǏ3z8i*o=|nYɒ%̯fٽgO$ `쨑T 6϶/؎힤[.oa&Fڒy cZtHS*+_ϝOJJ dZy6$vs- dbGChԠ> x{',|{{{6nMz*.^bHl_1|'Ua6=]\8ʱ'RR2T(WaamC'Ύe9ȡg:KO^݋{1裏YJ[cgqrd%/#8ȉ?qʕrvKNNf9fX cPy~ߚ_hP.յq,5cbB5MwIN,w$N)E&IܳS}1߭ɉH /c?ku3j$!!GR^bܤ|:~-碢Yom8l'T(_WrqJt.a@b\#"1%&r[x[7ƌϻР~}8tpu,#>Ì?UaSL<|@|ۋÆ0ŗ9{!!8;9⼿zu[9ev*N6SՌxz C|n9C|rI;yy3zt  ʕk9DFr&ݟ|Ǜ,&N)|E*Ikܰ!}̒+8y21mMbb"jּeJ`)#NNԬY'N7M>yxxgAg8:t?@J=F ci^K}h֤ m:vf쨑Zw`ZOo#99iVb\2?nnntѓW\9EEQڧ45kK|Giq|5w.;w&))ժK/R\`.xwmIfzfxns#gP֟Mʕ-5`[dIzB[nπeԧѽgo6nLORJ19p2e&4,$αlj~ݺ.Xɰ0Fn)Sa臃)Sڇpuu/K/Ϗ)3ә3[Ϭ'a6:i.,Yb8tD;{& 7`eʔMyLtL ~~L2/g}e[^ʕxWO>?Y39u43M`0d7g'̌ɓ)Y҃{9n>ì͘SR|8L&}_ xx㕗sYiNn~e箝b6A<\\g9|!!!7b0>tSt҅׼9M|:jjuy5_ ~_%iw˗ȑ#)S ͛7̙3+ 4-Z[|=w/_N5>{~|ǎ租 3d<=KMgt܉M[ҨA}EEm{%nLprrQ/Gn-o)RRmjתE+7fͯks_gE{^}5>>i36n6O䪼9;vb7_憻6`&i4#͚0e9.K޳aFs24c>qrt ضcm |mkefCm{}ժQR &4,,mU L&js.TX{._D|Bm+WиQS#5L݇=4uHFo[9880}D #,7]@Z2h"[0{l}[sYOJ.ͫzG@䔯/+VZj^*+;xgxo ̟y&ot܉?7mN8{[mUi3oJcWW\ɿܦW,#%%O?,ŔO# /RIŒoKboocBnYRvLjHuaooԩS $A+W}AAA^?2e^*1Wؖ5iԐ3gq y?u7 ray?u2-3555R>1Y4i(!B^^^seZPJO3gaZ%Qe@M9k׮̢ˈy&WfTNvĸI9-9IycǏɈatО1c2%j?rL6.a6 Ϯ ˖-˦i=wV{Ms;"&&l?x?:vN:,ZE &WZDGG3  iGqrշԷg)\hRt3f K1|9ŲYN"YfL#_wδi;v,:d,k׮ 6?dݺuԬYΝ;c0<իW})~(Y҃+-!AL7!t͛6a)˶iFz}):i֔?6}_ϏYӧb4f͙ûP|9F KߐYCb[\"?Ȉ7x$&&R.0:w̰*;ٕwY͍{>1s/a0:d0_W`A7 ٶ_V[fб[w|˔Qo;(/v>ۻōӞP|)K X:lce]:vp6jD{qkG#tОO@ ll$=۶_k0o<]={iӦ˶?PED$vyʋ}_s<,]b) 08z=YtnwvLasnRSSo=639m#QV:v蘣ro)ygzq`Gl+4 w<̞=;ëH i\dI<-ʷDD2 <֪5?/_vԜOq/ +mx􅋅܃#:t@ΝoY^,""w.!Y"##x"vuٶ,SDGGe߇e8HQv\vmhXxa%%i?KRvmj׮ *)1l$]:we 9ˢ %c 6L_ym8$mY[3=>9(r޺yv{[>I|,\0ݲ3fo[ֳgO8gS۴i͚5fooφ T)w“{Ҋ GHvԓ&9gϞtfv]}ݥN:ET/2qqqw\frrrsR.۶mҞEXHQ@% ;ےP uWD"R'.cǎtoߞvK,eٶmۈew}7Hr KΧ/*,-j_D?%iw[^_z6o|˲Ǐgx3w;RDD +fg^Ξ=b5"_SPA!y^cL)>Kg<==5$~c=QQQ(QhڨQΕͧM֔+r-\&TBD&ݝ+WRQf0;)E$^y^Ou$>mY^ͮ{OHhf>899R1$iIҵXOztnBAPʈ}'''  ?_ 2Y1D]@bb"NNNVdǧ4yӦ\x+Wre/ٵ eRdI !\r묲"""5HyfMB©U׮]#iTLXX4 ..@I&0 $6.Y$s5kgl\ ?mYj%WßIv˒+(CCRܵOvpqv!&&gg;fٵUFVm"""6%i"Bؼu+/]"::L^^صIJI&00777Vm4kW)_\Zfk׮&Y.t%ӞG[Ȧ-[Y7?zoS';ɘM'ߐ][ժ{cEDDrGrsU]MeƍT(_ш+^^^lڲ`T%=<(Ϧ[ILL$55{L<'~~lشRSS|mgɒ*U?6Il\V8br\dtD$888[ Xw}2vlfӖx{S'ObM[D DGG@rrm!""r/POܑg*ύ}!۲ Am۪#l۱T+>>޴kgg|ZyVV#,i[g0hQ?9OOOq?nn9*?%%]{pU,-[<.M={پc'TVʾ-ʉC8ʲoݝ:jvG Ο?[B'&/vvvtޝI&k="KZ#/=߻? Cqj+D=iwv"Rtt %J(H=i"rO#}Z/]bמ=WZ!GU4DDD zDv.*Mll.Ը~qaU$.f8 ;quuݽzn} z?Dx=i"""8L&, ` իW9w...k]>"R|'MDDb61LTV h{DQၛGI{`>Dw~H{DDD!qqqfh4HlllQS!"[Gaq<<<>j)ޔ!JDDDDDD%i""""""E4"DSHRSSYۯܵPf34ߐg?,#"$b>D[0, ?38;;SlM7i40?h0uE׷ m:vQ#Ufˎ+e}zߛoШA\)U"""%ðZtԅ+`˗OHmq7j\Ѧ{>RS}<-755q>#iv}l6zfMi};A.-spp`K :&͋_q]^Q&"""YZb))|g899ٖ{zz^4%Œ~*N>1(Ymyr4k<ܱ1u!V9V؏4ɔj?7Ыgt ڿM8]wiC]={C~&iSfHbdv4)nءk7ލ?6l$~~T\ x_HRtL>ln৕bgguXx1碢ݷߤibWlߵ G{%zx?W,%<<[gZf`A$&&fQ\KU ;Ģ%Kv*Se˗y[1aT5'jI$'%3cdJzxg> a? 9CoYKϏ)3i33 >?gg' Dҥix *ʫ\|'2k4~_Nf) lqqL} .\[_2 V| @UiҨ>^lٶ?jY9iTcb`ʔ)͹sp-Q"GZ)IL  ;Ѡ~ʗ!e)>!7>z̶Kx~%iMmњ_Ǣ -Zb_ܑNɶY]h԰+@5o҄)3N_;l[OmTV-hָ1k~]V صswww7jȶ;3MҲ;uԑ{0lhN2n'b"=Ѓx{Pr%WFi{!Bl>:[>Ҝo/ )B2,rt4o`>ߐYwJDDD$Sr*V k9띻wJuR^sa씏~[?E HLL̳$\]])s+j *tK`6Dll,R2-AZ)I0.M?x߭GO6ovkE-ܺ#DDFҪm;oKnO]c𐁬e \x]wlyzt)IHH2 swwCpBABҹ+|8d/s%p𯃔*UC;ի3yt.^,EXx8._&>>>G"I9BZbx"fo;~OFs|xLzog?GJJ ..XV.]βrTR?sXVb\XCK:u=zgy#Ffڹs''Ojժt)_㐂3~\|^x`""#9v8...]ϰ)Uw3^B8880bH+;vl绕+HNNˋ:`Z1 4l؈[6{oS/Ǝomhw+e D y̗ra_ޞ+бC'o/J1 2/f海@zpqq=͛5e݆ <5}jn0 h_ϝ'11t1W=x9-ٳ̜Օ{>{>s&}#;<9>>G'Gj?!!<!:F#?¬NT(_C?sΟ?_<Hlٲ^zqĉ<-wƍL>۷c2S?3C aٲe0qDyGfӦMyJ.O1胰۟p IDAThܰaԑn֭GOϷ:rSNn㑌EDF~2w̉3gPv|'?۷䵂l)ԓvXv-/R53kI>lNf1IoGff&׮yni%>#%)?]Ò4*ϞDB!Y'b4ւ *-[P(Xf DDD+\N5//ӧOT* 8DcOe~GMDƍ;E ߏSx8 Gn~:/V7%>>cO_QcOU*{RR13!\~:Puaw:\j:g=4kڔq\iS+OL&#pƍJ&"ڴf .tniKy?#)i\;4 8::;2ZK!$Iӧ ?y$Mxg…0m4k'/ 4 %r;we˹DEGӺU+B嚵pMVm,~Qkrw>F=Md2{K*"==?ߢW+Km|;[["c݌rs' VWluC6]222Xl9SfdV +mb)3RZQY{UDQTznܸgQjb4-zcv!j6Iƌk鎓&M*]ec4?>O`0h0 %nԭ^zr$<>d.5Mr EF2ݿ?knnnjт ޮx{¢ [ۢݹo#MyshIݽB(ZlޜEK[ё~&SCEo^T9-Y|~6/>>ޤܼh*q L&,Zzaa4({,u#5ddӦ)K hۦ5II8yt._uCpuuq?qP߹?Ѹcp/?Qi]\JgyUީ"RդT(S(h4R7ԾkCQI6b\]] ,oVJlٲ?kzBWZE֭x"IIIo_gDjqws_v\]][7ygX<]3/n>9W║/[5M)&M`Ū/5z zz˜7{ne.Rߴ"//-Z0s{&egG6WdY >+_ϗ)c:56`v &O|غJڟ,))=,'Qqlllpvv&33Z]F^uT*1[rKK!dK'4G͛+r5۷O?1|ׯ_+8!ㅨ@ff&YYYUJT*&6kCQ3H}{lڴÇ~rm6FɥK i֬gΜ)p֭[,\˗YncƌB r?BTuֱcGnZe6lؐݻwye˖'%%6rJI!BNHVůWQEM(9▛6 ,_~3g֘7B!BXLwU/`MsCBBB !ݶA!$#i/駟(!B!$i\>>BǿBN8Q9 !B!I6oJFff?=7aUAqrrс.:lѺʯлgOj[>OgCQ׮qqZlJ5{tȿCP(pB;W,{{{s+3[[ٝn?1X;vvvy ?ƯP;(6(_'G'ptt+B!I҄Z7Bjj*A<=www?Kddd`4Oݎ?#j.oxc'su|wʟQQl j5BrR$&&֌eE[noEpss㫯cǎG$FT;hٲeeffqzNɪH(aÆ1lذCJMMC\4!,mŤ2١ԩC܍8kTÙ?y `0pYӉQJIwI }ʦ6c*&7o՚ϳF{Rc0dl_OѸqz=QQW8{,]t6b _#?"i䵃jӵC^lmm/P <Nq%*$ee>vm$IB8syiS?дJ) e4ns˖[HJJӋGQGpicGYƍbL&a#`9Ŷw؈!W_vمNcϭF~'x ZuqԽ>1Aqq `oР~=4YY^a0-i|ȁCuVgzǮ]ݰi4MVVKGǣ>dp G=9)z?֓~CѪUKƍc^~x}Zu@P[_|W#?,_Y>h4r5G#'7 0 ]P9vg-8t8s35{;;ˀ}lg߷;v"+K#uelݶWQ^=&6^ߴȣGÃgDK69۰$-=&1y;%]7K$Mq__ի0*FTul(wzQ/'/+W}t<܋>G[6Äw&Y1F6{{bk2HMMedgg;TSI ,7m[?؊w_<7S3,_`2=Srsr||\]9~$M/iMfu\iS Kύ ߟ/aYl с˗xkD|}|X"2 xyr222XJޛ6sfT*1Lܼ̩Seppp`ᇺl*Ξ?oN@~ݽǺ?Z^?7ټ89;q׼5a_XK)jtLhSߝDxvdffrzl`'tٌ|m4IIIyU}}ys6oѯ @ ܩ^8t9а~ͧ ?#5-)NׇxT-Y$iB!(ח>ŕ+}vMB ;M\yf?!쪪jr 0зGQpOt@ppDV Ͽ ntFVR/KJ|;u`YP,<Ĥ$d摚{XU^kD?oߑ_ObGnJj5jN9y$ ~zTT |v׮_'NkB놔Wٵ{͚6zlWpu'p b9>>sۿ=~޽Jɘ?7n+M4.=m۴4ѸQ#/Ӿm~~/׬%Us?fj*e5k|⮛I&Bbհz gLeӦ2"urr2XUTx3R$Wuv Uʿ噧ZW;vc~e}&&%T*""J:kXj,;72iצ5&NٶyR9 QT ۸@NNo߈(X ZY8I҄BQ*#VFk0XvQKS(ޓ <ꄷ ݻ;;YrTW^^F+YwT;;;V-[Rs%"==?ߢ,Km|;[["c݌rs|}}0$&%NcoܠD_Pꊍ5n&KFF-gʌYLKOg <7ιx{CrJJzK*iD!Bܷ7.=yӧO~:;J=*ww]Jjj*Z&%ߟI'/?Krr2G];畧jsϓd&TȻ'뮝$''Ɖ9s Ubiڸ1/&99% ItL )7oUtP` uCɧILLO IL,ڧg`2ae A1X}a\lڴ.aZ6o΢ȸu+эdj9|o`0ωOKO'QSRptrqdeeta_9//'3gϒrzQצvP 4`ܸd"-=c 2&Bt:jWvoF&8Ӧ(rرͷ'ϹwkۺuW;;;Oۉ<7n!77OOOZldBP{=7nĉcLRBRckkM_~bϞݬYסo~t`z+B`I,YWǾ ۷ɩڅ]{Q|g~J%ޛ_1dggĀ~}K[i+WE^^-[` u([,KPޤ X%FAS^fE;|n^RӱfFbcc1 ԮyYܰ7m:lޜп((J?+Ww̌)xAX3o[ !hٲeUqON` IDAT>''',ZǚmBL !^NQF(JL&SUT&pE-6 eV[5ՒQ%*:J˓-Zd mP~?p[ӸQêG!?F!((=T* "11wwwaF[5BR;( ׮?Wƌe_JͺpbU"&++ WWת\]]-5mB\V|g 34nDP`CB!BjJISՌ~e:-wOlg ϛ_?},6m`0Rk\x[pEt ߿c=::/W #?}?!]Az;MVҩO":*999ԯWBH:∹z6pYhܸ2ʜxNccƹ HϏC%6WtJX d`Ǯ'$|vmT%B!BXYX8޽ؾW'TF#( .q>MF?}&zOOOkBZzzbILJ"-5l͛y%?DDΜ=ˬ9X3DE;t׮&+cOZ)=w>b;~;N+F!B!DT-vJNNȥ?a ѰA#eQ1ф5'h ;9@Rrr\j78(,LyqJ%>GuIHLH3B23 Op/ß7_g*oDE](g|ګGq!+G$2n$?dI۟SgT뱱tI4VX𥴺lg'0lRrrr*-}&Zl 3LhH\oohogh$77Xb ރck`{ U7ҵsBedټ&=t.SB!Dyt:͘dagk͛)n2=wt":EPu;qAO6d! п1;;;ϟG@UÙ~}1 \t+Vl*ZU&Q&i[;GGB!Uߏ8ySg\6...֪EtUv#u5m2ɔ3qqC 2$NedccC`Z'$0sH[ZZSRxa08g7J&"޲\f}8:w 111*I3 <Ϊ [Xymep璤X=IX #)9ɄC3Y,Z-~׮Xɧ5g.koۋDL`˖u?4CrҥJm1g&ONpLRjݾuJY,|}4u2㣏^X(gT&MWj{Bȿo^Q Ays8z?`u0l/BӱhV]۟Y3ӢY3 g{oX+qoAdezZ>m >^^\ }`E&P%ӅƔw'C||<۳JCf$*};۷+.t(~jB`K/2 s_OBB&=o+t{Gb('z޽ 6Y ~g=ų*!2>&!uJ?eils^K bF ʣwXޝpe{ӯϿ.@_/4ΝY [C#Yryqo~~/׬%UBTz]ko` zz?_fbGnJj5jN9y@rT~=\T*\T*ƿo>;kׯk^6[cv5QPX8D!Փ;* /V)ٙ 5}1 J[^NN*< sgQ5T*>xyaDJ%um܈^o ''LoTv]O O'3|ϼ@J|B _+UÃWLҊkX ڝ*$M!%P(ޓ*`("2l,DUh4l^x$iwy7.]/NNxzxp.?ycGT*ΎU˖<靲HOO/_ߧ%݃SR %CT}҄BQ} ??&MϿLll,=v_w4WIMMEՖjΝ?ORR5 DҴqc/^Lrr zbh4dٳܴH]Ey$'oe ''11)? LN6 L&999,Zzaa4=UՕSgΐXbjҨA_L&eC$#iB!(ӧ`DFo'Z2o{ӱc'ϛo׏O>S^{=7nĉcLRʫm+[) LĒ+xuPб})(0 iӱwe愆mUg''&'MU4jЀiMfx  b@Fo_G-9=|aƍ>r>*}JiOfU93c899)Q"11Q!8ZlYaܓ'Oh?ls;QtG!B!F$IB!BjD4!>j: FꟚ|% !tQ*kֽZHjjFX-Bﶕ~5맳B!JBsƍ5jqFJez?jB` ==''B@免EVX-BKF҄B h45QThPMj?j撑4!>d0$++C)Jeդƒc!j%izF# ! B!`5 : ܬQ= >>''',ZǚmB!B'izNGFP*5!eWWW\\\x"}@c!B!şh4ըT* "33budffZ!B!Ľx攕WWW>Ggt[B! o !B!?$iB!BQH&B!Ո$iB!BQXe0 ع#G^ݝy.o̘60 DkygN̙=Z^t<|}|:dXE'w#Ϩ+k^1ëQ]΋ބKU#B*P-4NǴS1L70ly3,|sgIOO'SDF[б'1kӦV*,]iS- ?Vc܄IF?44Ζ25[MӤC]-V\rͪ^F1T*j)%m:I[6ˬg`>^sS4рhHٽ;?x',Rպ8::{zxXNq%:ZAUNGPPnnnUNdddNNNKdkA%i&}2|؈ ΛcGkVƆa#_}ٽg:E ?J#_ay~ UϙL&vQ/X A+Syt:|J%+n 2HL&obccCVVVeޭA< ظ8kciX>@mu>_𩹼&LDP2}4 tܹPk׳A ~>^9z7jĨ^$vݰ$-=&1񸸸лo>9ȱc|8{mln{}.:-tJٺmW^^0?//R, t:5jRd2UuHeꊋ /^b韒Y!jj"$$7l"&& L*d"55 '#V-[ށe+2i(InhZsM&))79u lLh^ V[Lׇ={ШaC:Gtӓ3gԯϴ&z:DG)5w^e-O'5-Ǝ!ߟy ?c/X0Rщ+W/DEǐíL\j|Lv擛ʱ'yot~ z>#[&z2j-Դ4; _on'Rtzyy, :NBRc^}?|{<ѣ^.Sߖԗ%]3a]9m^TDbbb5EdkA+0 TNסAUFhEjYnߩg8{|c23+Þ#!>_\ Q^ _:ŷkBдqcR҈ӽ#}?2ȺQ*3u9)9 RI1RI`<^TST*UnwB!ʮ%i {!^^^%o0}2,ZnCXb*Mm) Ջ|Cx{岥E23 ObR9YI=I^^L&N=T===!M0LY^e)͍V-[0oB۷ooBCBXt9;vֶahڸ1-&9%^OtLZhތKq-rssYi3ܙ@6hOw#DZzU/Hr#>'OU) !j7`gg3رs;-I0L( :vys}wۭ8qS[,[[컩j^|q$Οk:~1?8ۛ4MT2ɬ+ƎOvv6x_|}sÆӪEs@]{>9/2˫=ԥ3s/o%VՑ/[B`I,YyBAprrIYj5/><=1o,3!ߛUw)Sprrdk` ~t UFud#!0EbbEoeѲeKKVaq'O$00"e[,!_YdffqzNe+3g|O6 ~G:?k^Cw, [g AC!{ϬiѬYug*lar$M!UkŤ2١ԩC܍8'>~~ gb?o! Ξ;Kzz:", 8]6C1mTL& ,, ;[;nL!KshoyY~ݵ~Sg+NǸ 1M yi6)h񪑋#?쓧N#uD$IB!D&skch׮=uޱ\ԩbJJ24mf^֖scѤh4yzfr ܽϗ5[^'fWL.u,ZWkב >-pSuߋк9Z>qW%I0$iZ<5j+geFX-B!j>BAݺعMvQ{}{ٲu IIxyzQ4j{CwΜ=9z<$ IDAT5acccU.ľ}{>lD+Ν71>=t,ZUb+WE 4iL&vWFTQ_n/8|(vvxÇ 6oܽ~f"%*:O}zzt~x}ZuťP;vb '$ͿǾNMS:+WʼnpttUʹٺqʺ[e=9p谹LZok$i8::ZlwzK1ޱX! _}F޾=֋zE_gU_br>9?"zUl"&& Llc,(--,m!!!%Ŷd2ʄނ[OJJ2?оuo&+rw֜y8::zRZoM @ ܩ^8t9а~}B`4HyS{{ys#gKXsV-[RsʥcccÙgyk¤ UeO{o2׮JT4LRƞa$MRq5fDMՒhD>dkE!?/}0+WdL> 2v웸{fpCxvUU!ղm z=.a>6o\ŏ_+;Xe*5GVCHzxR,MEGbbGnJj5jN9yĜݹe5kzк!taqZhAQFDΉOHlۼp4Ma@A"{]7^nE D / K ?W(*"QJKKGJ3:2~TsJGs&y{{Zd2ӱHLL`ת@_8GNN>>>TZy|"S&~x{{s9nbh4$8F%7wWL03 :a㧟1r̫ m͙/k=v -H7j܅xg KVv6vP Ũ|Jf''Yt_F3jc  ֶ8BVv6*|}}k߭s\(!B.f3Z_ŎРAC(sڵgQ1ycCv^Y<==>m{Çsv ml[v; Bܵ#G6ubwE~12\ g`ӖR.ڷs{חM[p(>o&)YQ:GXX(H>7El4i% 9f,*zjcζ{{GΪeKHsEFFFKB!D\xؚJ}Q&>WǙc~;uGkW̶Eծ5B!Ŝ9B`Ql[TNwB!BX+~pi6l̃m#EBq1L澥e2\҇}83?;v<>MFF<۷-iB!-F{VU7FNN\31{ݽumS>}BQ%jBZZZ0LaPNGs}̏ Dm ; !Պ^GRպ%+ S)>gc64!ၯ/VΧT*1 h4x\31QLBq Zc4k:rQ..>gcHvZeG, )=!B!jh00t:]e呞JBR9/gǕcB!BTӋ4Պl&&&RYk.jqI6fX?KfԄB!pcN?/??NW.RDqa0\?ƒ~B!Uh4jݍhZ^G8{,B!B}[B!Bq"M!B!܈iB!BFHB!B7Uj=!113g`Xk ~ 7!LIT('DFݻ?ߟ6c֭[[hd]{._"0 ` *Bj*όxm߆Z]!Elfiv?ҟhR__8xTF 6'C}fטfY%;Kqq1|#; ?xyy1p̛?/)iuz߷ @Ç>8 wfڶeܨWh4@}WzC xyzrw!8!Hxz=fMˌ8)cx{`4nFpJhHh_G|B"EEhތ=K(,*b-|rzZ0ejiӪ񉉼5goW~}ٳw/F޽zۺ5;>s4:^#)n[8x>rbX0ĠT*5RhZ8y$^^^N{VW~\vEZnn.FF]wƎHIIaIvrL?PXXH޴iS.^L"M, h"->ެ[.&'Bb!;;q_!"3QQSԾ<=|q|b"V;V[x{{oҲmWm,"\nݒ扟O:N'O\sFC`` gϝ#п̸IۋEH'~fӖ-X,V ?t)RIDxxqJzJ% RFRSvhUUZK͓B!܋i {﹏ݻ?K._iy3nG'ݺv_|z,u]ZQQ;wif]GE^=xsWRץ\1i԰A7zBCSd׽rzƿ>Ե`Ͽ<}ldf^&,,!l6223  JfSԱ#r9+2nP(0U@PP`ZųBޘšux h1~en݈.2㍸xy{ۺ5M4.s_B)Yj5/ ];uBqlcDV}#_bł9ڕ7jZƌ@ 1MT*F"YFA  kΕ^@TV9Oz#gղB!)222zŋ: KJJrڪΏ3"ču)z!U{j/O3X,ҹ+R=1q3i$¯u-[7s1"Mz6Ͽ_XN]w:ք>x\cQ-g҄B>f3q3aIvvFɱzw^іx$ Bk:"i3gq6Çݵ S?w #E"E0nhǩFPB^{]<1tH9>izZl8WUcz>$p+MF5jt^7o%%%&faIĈŭ,;;+Wh"vf͙be|Ul!c'Nf?)۸g2+nj۹bƍ~p/YʊUY<.-Ǜud23v$BCBs}G?ijBZZAAAfFd2fCV;WUcBqcϪ[K.4hа:B.]; d?h/TQ9OYvPrк1_?KΟuڅ%3gz`dddr8!Mkנhh4t֕H 9HjRj= k4zXta!FP|$QQ5 }}yz0DV+;v Fp,9q`CjddfT*;J% RFFvEu2%MLuqqqOӋ4R/h4ZsRt=<cr#uQ =؇m;vƁl6%Դ4:]re۩{?((OOO֮\qC%פT*r F]VZnݺ.NRE~~SV M!D ?L2 nۛsϑw Juk4O@Z q-̱d1f,OJmégHݻv^D[λ+0U|||pN z({u Φ__Jr1®S+}o uԡqF<>QzBY}F|Btt _-^=}xDjRJe߯/lP|< ޞ]q)Jޘšux h1~R݄rBqx"5F$%%锶g+9ծ5B!&'EB!B)҄B[d*Wg9B#EBq8fqz?ՕW+H&BBj5Z5c2HKKfVOuU !nNBq ZzT*UB`08ޟՙW+9LBq RY{~(J ƩOuU !nN2&B܂V+ƚ\jK !n..+, A /!B!j:`0`6t*#==JJrj_ʏ+ B!N/, fJeHYɓ'rl31!B!ӯ6 tZuqJ%:|b B!Bh4jݍhZ^G8{ B!BSB!&&EB!B)҄B!H&B!n%I ʞ$>!g`XK<>xHfͤI('D|lGO@@-bZ[[Xޕ+] ]BP` nW^Z4t81n]:; <3%}~n2f!B^nYffLnDEEYǓ,&ctֽ--HVWk+]FNNCF v3gNSQQ.&+;~&s!5_Fnt'rrsݫYINBs"(..b[sv<PjcUfYlڦn'D2x:v@ ҹk#DEv~I{גcƍ٣f&=3gFS!ܮH|>d/GBbEElڼ@o> IDAT^O˘LZM~=s:mZ >1;pe޽&zIl#Ν;Oh&OxࠠrA <}GŋD֋`4k}Ü !9ܮHh2ҨQڸ|}+)))L06NNNO///'F#_.⥗GйSk:,!0Uf=ßoݻӬY}Z4oNnݨāh1͛6^=Yf-OpLknf[7VdfI#)۸g2+nUSOΒ+Xr֮\Q~v;s,K$Mwl5g.V Ueۇ8W%Ke !==u9--X(..f񼹘yZ0SZt)EEERT4?غu /x)} Q͛5y qM 7z'~fӖ-X,V {ヒ9 1:u쀿?gS~`ܤ͔;N ___v;.UK2P*D=#3RIsJs)# x{{; RcP*9jO!vEB{cҹ -tL?>}E4Q;~lGN߰ڷ]d$5dEdddF/q Φh,ׁ-Xl/gaX8s6ű^D[λ+ɻrd-[1٣;u4kƼEIKKn{A;pJZz:Gp 5T&B!IdK>])**"((m( v3va}{㚶ܵ#G6ubЮ]i6j+v 7m,"jd"_˿%?،VqF,3۱x.2㍸xy{ۺ5M4.}]1#ԩST*{c k֭gk)((NǀG9ЫػoO=?pV-[zτ?TB)Yj5/ ];uBqlcDV}#_bł9j{s ֬e 4lЀSDa/e4Pv|U&o29T!Upaы/..))nʏ3 B!>nyB!BܪHB!B7"d2pE6_!B[K4^V݅f#''83?B!z8HSX,jՌd"-- ͆ZvZ?̏ B!>N_jQT: @pp0NqB!3ib0*}T*1 h47̏ Bǚu1)CB撛YT*h4*S.}rV~\9!×_yp.\BrI%3FZE#j_"ssFBBx6"7iB!yݺt[.K-qciӪU F&R !~:vM[˯bhܨ!O+_v>){~MKK?G94!p[R !L?&%1il6"Q(oz{ W>djE V+gSR t0H&B2vYqSԡ,X6P(ʽ_Y~L: ^[ήB9*X!Wl4oQxug/7kF^O^_DT7-^ 7} M!ܝiB!nnc2RYg]l EO=?oF"iB!6 I:chP>~~~Z.ge3O gղwx{LV+wr5iB!(ӓÆ0ټ]څ7/3OWxۤ^HtT|||8u4-[pҨI&B2uڕSd>sBAocmSҵs'6u@6BȰ#ł`h4*Sh4<<<\ҟq !B!*%3iٌN]VY^^T*T_,̏+%B!8iLLL J%wUjɓxyy9mqոB! :-$T*t;ȏ+%B!WFVnF::ʏ%B!7%B!71)҄B!H&B!nD4!B!p#n[YVϿ y)xj۶TaO ̙k̙6V 3OP\\\g0!*DqZ|L<8 x'{7ltӧ_~T FyACNkBj*<YG!YWl&n4v;@TTu}\HB{?\HH"wZcZoDQQ1/|P`` FUڑG9}Hr*B8ivoßLHHJNeذn r(}l6Β.Y4 -[$!1Q%$sGvm{+V,gGTǙ3ڄZ v;{TV#>!¢"Z4oƈ瞥A ;'/OO<ҏ%\=%$ɽwCySYoq!KOw={qf/]np]^Zv[0۰?jZ1i?z=-cb2i~j5}gi Dޚ3oAח={b4ݫ'[㣏8wdɬ_:Ll>Ν: Ϟo֭z؉ ]WSXqϜeVԫ 湧$"<%W]v,XHQa˗,_#IL^1pRrrsdBCCHOOG[[,x\y$K2fDm_(؊-s7"Ùd)+Vf7̩B!튴?ZUjK.4hа:B.]9[-~WsET;ddfEZEZhI:uhwG{<#kסJ} Q^{MODGX*BBO|wՓ:uϴhVm-[6]FAн[W/xmڠg|JCٰfc*""cҹ{ǶMo]thߎ4kMFEЩC{Μ=[uC=X|Eb`00ɵ7Vh4.zBvEZ@@jO$*b?Pjחs3i{yooob۴ei߮4!\aLj1ɧq222!>?Z;ƥ EDۺ5[+WJزC=s8>YYTihjq]̒e22ٔ1U~t֢-,, gΦ8hu4kƼEIKKnחzw`ZIKOHrTR `0t\ǝ)Jt:N룦1 !ܟͤxzz2} |%bDضuڍ3f(BCØk(}xvpH"ӦNwZڵsZDFv;vჴoW}g|wluоlڲC,x{6oL3b+X,X0g6Z-ilؼTV+2iu|dŽ153@c#ʜoݷADx8- RY~ SLfŪռ4j4(t DZzc{s ֬eY6hoR0Y2 LxX(];wȊ,ɩpFHr̙;cB?EFFS^xXgvtIIID@u8s\B!ܓ|/_GվsB!&&EB!Bi&8+b!B!nf.Y8DSVl8WUBQ{eI:B~~>i3O?//?ڗ}oaO ISh6 KY/$00'x;Qj3qW=l BBB:[4ioiVO?۩X,٣;<g?FҭKVql"ysi4gϜNVj2LQijBZZAAAvwg2fV֏q !V<>F r1"gΜǧm5󟄅?_~ŋ,Z V+ǓޭA$V Wǃ}[9*e$uLQ̸ ͛5ӓ˗05[Yh5(Ӌ4F^GRպ{)  o]5WK!DeI>?^~;РACtZv6l~[+wO:uHN>FJJS4͊fsJu,s_7L D;YqEE,_A=5i, ܕӋ4|}}G8탲)JGNqոB^ ƍ/iѲ%?5}l߱ yĴw~;*z$$;ذnMMϿPnjv=ˋ?WY={qf/]np]^ZvPrϼPB^{]<1t.,*b-|rzZ0erRNNM~*ndɀG1_ C0ʹm˸QhtǾ1d /Y/qG;N4ͬY#IGFђ|;lvTT\R"??c-fV•q帄B^#_.⥗GйS/((!#445kcU,>O?,EEEx%nJJJ 'Lv`dG;ݎǭ[a+گ??<5gD`4դIsO=IDx8K`;Yr-Ǜud23v$BCBs},\\>Q岕? {z.@3 L{}2;u$??RۭV+!Yŗ_}I4o֜Qww(K.|ޚ ]9[-~WsE`yy{㱗W}wpVOq} ()nʣm6~ix=dddr8!Mkנhh4t֕s}d}l۴ F>GֻW/lPS-bjeR4mZZ2񡜿p1VF]գK.q!>ڶq_S C\V !楨h3u^RT*v#,MÇ9'&bZܱ(BRtv;~ }oY<6 Ϗc4oִBu/]`ܤӠ~}.(rB*22i׶u\2laұ};B _snUV·7~~~Ҷ1)҄BqC!!!DEGw%Z۵ZkǵꕕOff&}YYTih,u^nw]ItT͢o#VcǸQjP_GogedegSXTĩg*ԆIB!D)fFޯbihР!qfxHeuڍ3f(BCØ2gCv^EIN_Yc1܊X8m>|wl@d IDATuоv3RISXn=^OAA t:<ҏВoNa՚? 0cꛥV:T(z%&Ly I6lؼTV+2i~{lʚu)..&MfN}NeӖ-g۳z\^ YdՌ3_ ]dr^T"##:l%Bkx"5F$%%b]1K仛NѯڅWًʓB!rl u@s9Q!Bq]%׺pi6l̃Wʒ"M!ŘLZdrI5WQ:v<>MFFv3q d 2|x{{h<ƍ?Dm\3]r֭'>1+yk~y{ ZR4t81n]:Wq./W![ifӰdQQQx$;; xqz=ݻuhKK9yy@Lza=SPXXАP<3`K]E"b;uķ}ݻCSk]_}_~݋wZiyoYX-Ф!y`去 A=!HP]]oǾ(-+C.q3c2ك¢"CՊoR 7tztSQ"mjx4 ־+n> ?`ר@^~>"0)ܩS97^>/_N*^[:<1g ,XJjnCʁ0L 5t Pz:-Y/w|jѣ=괸99={v!'';v+ӧC.* 崱cKDDҜn$111 3z zm[cLAR0s,̚1nnnu)4"I۵DQ~${;vO>ukǸq 둓xw;0Xl%\ƌCuuewּjZ /oů9.TH(E^"o,\Zvp4 sP*eAff&*++ΝZ]>.5(--SO<]Plٲyƌ/RW"̙ˇ ϝ~T*ƉSPqy?Μ=Jvsp=ѿ__|.|.b<{s_7o£'ָ.(Pf>ݺv[k}}EKo\6 :ΜJX+Wcj`4BUZS&-",4 `U{:bxrTTVoENN.^l;.\ȅ>M6[x]9RY#G357'"H ns ozry #nA.]puHKKC~QP ##Cq0_cԹ_IIIظiCqАJ9{w:cv93fr9w?`1ط?&% HLz nb)Ա:zDdD y SEO] qnXKG'})?pmjxH;t}>ƠI8p0 #o%%YXZ7z3207py,"'yQ@Zl|r BC,_RBBǰ1E\nٶk\:u4jЯgeYrJDDhNWA* £'X>TkD^RRh4b OQCCo>uʝy_&j=j5F# %UQ,X8h@DDKc6P^TB,#4$Բ\,#2"ʋJāλq0N( N?!Cq~Lzz 6:aڋ/`ƒ`Yشe 00t`{7Ə1cPPX1b}_ )χ}cbe1b1,bDGEH),,H$ԙ,ˍ#qIeCַ'̓OgðnBXHX:7?[acRic,Jmծ)9]&pˈ[_")1 ˿d~ G}YuA}[Q]䭭_=kutӧQ\@HH/~pqq嫚=NCBB"`6T*|^APXT޽/τDlΟ?8s& FΝQZ(uqF|޸=>N:V>mu?z(/^4}l6CQ\АK#DfH_줶^{EaM{ Ï>F׸8oƎ(Vcٌb!7ƎV~ST{47vqȑ|}}ѻWOX ₠@w[ֻŒh4ȈtŲo! ( mUWaa٣;ּƶO>EeCDF#&&KWR(5n9{QwKAi?EF[.X(/^hDVveyckc_ʥ I qMʇ9iLS-QS9eb8t /i_¶"/qS`yعsξ3=wإ)ճwQl"W-ykiϕq=a71{}EHg!00̙mb1^:.xmxIXz}>w|&< &>fΚ#G`Kpۭ[}酩b̗O̙L{m>|Go@ 1!'ODvv6& l4LW fƊo#\&m:d0gecc2h Ν?೧nJАPLz)8}&AX,ƂW/M&Occ7 {[:'hʱ%""j*B'M~~>ze.ѣ|Kc~Z9lD+GEDDDD#iZ^^^i-3Xc}0? a:uJ%d>2~yvә88uRbqۺl6CRٽaϐ2+e:DDDDdWRFmzVzr:DDDDd=h2PVVOO67eH$Z\.D"KOr~ GG""""G$ V|bj>>>v4槭pq$""""}$& h4٤RC2? kki+}q+҈q~ȉH#"""""r",҈4""""""'"ȉH#"""""r",҈4""""""'"ȉ8#ɄJh4Gu,R2 bcXZݦDZ~y'""""sHV ___Gtl(,,'<==Ӱ{qdމuؽH3LtX, Ed2x{{pwwۈhlqssN[͏8*DDDDz~-_ee%"##v`KňDEEPm>?v-^w""""j=vh ݍd24^w""""j= """""r",҈4""""""'"ȉ8mf2E d|'Mjos-q`_k-8 ;,X8=p{<}x~ʳظiz}gRsFA{-_ pr>ز#H$L|!}(Wt:]ZRRG٣'~vmu|2N;o oAs8rrssѣnpiv'ppw23OcMVŇ[6 "9y(o vp?*t;zx{{7]GD~=ztOuv} kV7u,"xs1Kz1"0۩c]H+--FALLL)1sƬA@iY)fL*1%R`̨DHJ}i/Ov|r9o(ۯdySNH蟈>|k׽: **k־ +D"S'1<˶Y wwZ:E`` =U`4Di/LFXh(~k׿/m!"iądjV;I Injc.&p*qG9rrT*ѷo?@R|WP* Kpd~v|)k3<=ЫWo<$=TvРȽp8|6ml/JG;߅7ѿ_22қ] oK >x?CvQnBCBfJd9ofF.q3c|(GJ Ə}``b" p - ?`@bBW*Qgo-N;XwϞ$~٦*,,Bz|a=?: `Α^}(H;|m`8v" :uoR)O} x. &{Ƀ1V!u/w y8w> ϫgss"fĩS%2uR纊b8-߷㰰PcIJLhiLP)I0IDAT:K\:uH糲?H0t`~DDDi~~J8u:t5H d2!j9)`41`!ww ef;?dB^Z шb^LjbK3H`4 ""X<<<`0j_m0 5|} ."c;s 6k66mقi/L4d~ Ə?`((,Bꁃq}_ {)www˗xyyAGQ\ X'ňnE Mm5OaQ`ڬG CTGdX+Y-ÇaɊUx駰g^$__47'^^^X|nߎ c"&^TX,FXhh-5Hc^T*P*$"i"_ 6lÈ5(RRSأ#>>w}}5 L<<jQ^Q@'m`tEYY`ͺ88޽qC2|e+N: F}zۦ骑u?z(/^DP`GX>`6(.Fc& WӘbӺV_Wh4(++CHpp˭o>puqAt+{D$A c0+(//ǚu1wز}˽p`6Q\DHHj,ΑEKCs]Ny˸sfG^^bN?_~mYPTj *'Og2QQQC oBnn.qiOZr۵BQ`0 ԩPTt7JBuu5-ۆ!**k[R ٌ/BT߭܊w=ҲRbϯ?5/a+( شy#bbڣ 쒇f0`bع 33qopȑ|}}ѻgO,k5 qCL yo 3 +;KJh EF .6Vչ5#<, z;CyEťI(uɃ~|E]4&2"ct*(ŗ  EW{޼:t\gMo lق*}Վ59  0L((,đZ/-+CڡP^OOt FSgqn]`՚5P*/h4|Vձ4v4z Ԕs]N7?o!~Q]]9z A 0 i RRS)75#o_Gf`k {+F-55zo-͑RxX8~t1Эۍ|YH$鳰ʜY@XXe[XNǟlksJ_q]׳g/Ly|ض#@hX&??ƽqs0 [w̘>j+?>L&C1XdqC!X-<Ö7'SoC`oaO!,4׼ X(,ZWg>SMhDǎbbdVؿ-XbQUUH3ll! zZokm;wa1u%ɔgƪw`#4$-t:lx;`2Ю]$̚Qo_s)/"$$X54t4z Ԕs]"BaןѫW/{vawGE[ӰLlۺvgָ;9'""kS^Hrsr`.Ny#)/^,P,3 6""""C4V /+ lZC`~9uT*!pm#1;gs8"DDDD:Rã7elО9"?CC_mۺmwr^}񕈈Ͳ{U Ja4QPPЦ~j(((l!-iX[͏8*DDDDz>lFii)<==s_D"j56c2PVV֦#6e|[Ώ8"DDDDz>&Zݦ.PkǞB[͏8*DDDDz>ٌ h4GtlR2adBeeeʏ# {qtމVQxaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEqic0P\\ JNJUcy@@<==`R5ո"R(BkADDR,TTT@& 5֫dV۾}{JŋPHRXEEEC`` *qѵE5F VPxyy...ŐH$57L00j(**L&Cn J^_r#** ... l6X_,C$A$h4"77刋C&"k4""j={rJpqqH$j{A`4hP^^tv'N@\\v X dSf'OӧѫW/r;ELDD iDDdΝCVV www ^Zo:th/Ù3g0|ph4Bq(₲2޽lሉz"ܹsCdd$|}}k]T& 営[PC^^ 77Z46X,Fuu5݋HjDDdlkA\/#::YYY(((hdd2Y?kd2DIIIMDDiDDdF3g &&2 bqbd2ɓh4n 'N# bڕbĈ8z(Z DDtaFDD69vDb#hW$ 'O6;ǏslF<==ѹsg>}2NDDiDDd5R F!Rlr;@ǎZ]Yu (--mEY-;;NmO CvvvA>}?*t999- ""^vDD6 #&&f3~ĉS00f6| wII oLɎq_P#4$| fS!!!hRDDtbFDDV)..l~Gpww{vssaӶŖc[,4 ??6{pa,zs ѷOoD lRDDtDDdJ___b&Xd1Fu'<Ib@R5)@fs³O=αƭÇWؗjlM_I#""t:ڼ]K=/ݽIpt:Gf3z}ܠlގ_I#""T*dV_&5y$-88Yd9?bI#""p$ H𾫫텼<,X_<|٤&"4""Y;aT*f674FbEDDR0m+S&@#""HYE.ܦCf3&d6d2`a6m\VoR9kBZ M[R5)n""~H#""xzz֘g>Y͵A|c+Ԗ^Mt6]B^.am#-wiS:IqKP(v>]W  k6nnnu"F(J?y$bv  ݻwz///xxxzh4¦9&"G҈*aaa8~8F3-VWW}F#,,_`0XFFiJ5Fo߾6MDD/NBDDV~~~-pj[ϯI4 (f=+)/B&.IDD'iDDdAЩS'?Fѡ}SNM.:u3g8>> jrrq(ڹs 8#ٌEYχFH$K ??zNYuu5\TTTؽ@@nn.XM\\\cǎnTUUرczH$t-at:222зo_H$CDD.iDDdɄPĉv)Ԫp "44nɄtǎ<;%_:ǎCΝ"qEL#..ȀZnj52228^Ν;#** iii-zcEEΝ;hDDt}ìɼtDDD ::YXAVmHk2v!&&Yegg… v,҈Ya2pATTT}VGf4QRR,d2$$$@"}$mŋ},҈$ QPPӧO ;j_VV^Rr#..PMDD6iDDb BQQ4 JJJj'!J4+bkMWV&"k4""jq"pssD"k& (jqѵEDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEaFDDDDDDX9iDDDDDDNEU2?IENDB`docs/reference/gtk/html/getting-started-app10.png0000664000175000017500000050757513710700303022074 0ustar mclasenmclasenPNG  IHDRfVObKGD pHYs  tIMEE! IDATxLYn}yXuLݧͦ(D1b؀ 8A *@ D@[~p\V"ɉHDJMOj|=5>JuS7[?_䲂vG?Te,}ϞyYaxCv GZ)> D,_>pwe͛CtM ubY2lx'gjƑ-ܵ{Լr rO/f<<e}w&@cn^m1a`XrlZuGOHǡ巶OiG>Q;(m[ʲ$L3;~dqz7SKi{{"8Q 3%Y#O}8Bs:5lʜh$Hy[>ֆzͯ\0'r8MӈKx wqZ6ynϋ't~B;$DQBX;V+1<YV+w;^^\ęQ>F)E/4Qڌ$n_<FX Q\:1cٌo9bQSsՖy0J\nȜ"DƉx?3LW>~BD]:ENet]KYc`U87-ņin9Y->0O˺`=RJ8HR#Hh)!GJ1 yg$exEU0G(9PU 7AEuۋ ھf8hcHBjJ"D */'d9@ !1F1PD*yю(;rɢ*՗_`Rų眦a(e-i8X0ж-Ɯ]$`g(%=e^`DD׽:c5Z b!8"Dk4MYF?  %r'w,2ϑ Rnh#2#0Lr`")%<'`e98g9D@t}OYVL@exSHE5E8M()-Cmq,[A C,H q_9^<#WDӵu.st]k-'1xg5SH"FЊOT0 #ZgRk 0Zh mRL~:?wRĘBqj:sD. }Oe㈵i0UI HSi@f4a3GB$,H)?3y0P/߳X,H)Rbz<#Y(?IKM$ ?z Zk,#̞aBg98`)C$RHT_Oq-Y !Pta,YT2n%}sGk rz"dArëzu"'g~w]'7_9\?xhBB(1OŕWSfG$/6c϶^ec-rh)z.4!#q76z84$}Dn:>[ռZ^UsCV8/>b# G4_ejNQ ,K~sC{"y||zHwOiH{y8Y~gŲ|Yq9"?1^\DjvS v~k~\?ࠋ3u'5io'l<.p%]31N-?x9Y?]=RKl}bԴl;铧Ym.EF+4M)bJq3K;՗?w暻0P<}oޡ2n Hove672KrUt- ~dYla q<4,k2qY@< @>`k-RP%83D〟9+c,mӡ"!H6Te8t61F8CłPJR}SV91EbJe8"d?mρ9(`'stpw(q<00v7f?|:E&o eаB9*!)%4ME4MXk1BJLH7u#0dEN{j h?O $b,F8Efx7<)7*= 's5_>܀{'/c S؊O5oSmwd,EnXKG>5q`xKyZ֜bOÎSBNW=/%JD/ x`677X0//s~v|@kˮȖ,\˼f:ƙ+W"[pY0xAq0cI,lIU*Vްjh %{ej=>vi/,y3=W)bZ)fIgYw:P/LfoorG*_|Lo1m)rQmys|]a$yRa]x8ږBgE3 4v);V1K' ]'n×[%B喋"#< +]߫xםPr?p\`#\K>657sK:_QdEY0W8OLN"v@`[Y,7l0O,Ȕȴ9 D30,n!AzrYlDg1DW#ŚmKcr1FA65r"cqhͳ (Hu۟XkHq퇖0puuE?ĐInnYTcS2軎Zu=F+PGeTڱ9\]lc8^!bd0+ʲ:%ĈԖns:DEM]< c憛ӞME#>$)=$s9@jooϞ?xMVmKsj|r5u7)6sv{ol=鼰HV !%ceߑ93!B{bJdy1{#UYa$SC8ȌX?\+nȮ=d1LsffbL#>g8)3vƢ9aY,jH)qю$6J?$ugB=}s s;5db̭gQj4 CrJQ$,B!1sP&LYck,4#dμ(+&?rejN,~bN=1 :YHy;4l].lj<,X喋^< 1E>iw](ɥ\'>eihXɶ\oy;O38ʠC3j6O 釁"/X霦o8 ǞC`[V44yӉ\jnIQ+3v}?[[Hhf2ՖIFj[֎{.wm'@ r~V̑gQ:mw\JF!Rb F?#$D:J1Oj0B'2#HM"X]wQ_ =1`4k@r .g?ss)A mCU1F*:c@H!@`FH Ìq81(rX@#${3RuO{D?9{d'ypm91F!hbJOG,C۳6-)9D23JAfnv O~ 41"BkT9[V3 y^O]UBI6@$BaPyZyT)%YF7cBk_g1 D'':+ņ>0s, wSOo~gn/\KTTnmC]F&U S }ɴe5Im`#o'Ob0+хf:r5\wrhƆ(iʶݑpeƆz4^ƜVвv5_MGY%~`cId&1Y3-8Ƅ%o?ڿg1 &woO|ؐBdc5wa,oKU 3i#Uኂ,r r\Ke|˫zF6ϟWW/gW2)XT qR%Q-5 Y4_GnRX*īStgЂVs? |\'^ߟXW9sz&ɵ8H^e=y]w-_w~~O^}EȌz^ ,trlE18e]*j^1 cdSRta<" d(.%˘_'fZ\m8ɳl8,WdJ#cۡFJE9aHkܴG^-ڐLs3e‹ja&Ru߼yZ98rw,\gbdҜ闱DfLUXk1uI$Tn-Ei P/] Sd"!0%߼?ҵ-u]cA)"sduqR4d#Թ1֐eEY5w(! Wf?l}p]CQxEUbBZN,X8!LzrHတOHc"c$izd RH,>yѴCZE*Asjٙj1ԝun-{x2@wU0H!黎Py$6^. !b!M<1!.h黎z s1]@)ˉRЅ*/(G5 ľ=Թ#Vk3#\@'S75bw<]o"ӄR %%0G0}KhVdVX=쭅{[:(0xޤftgeӌguÀ9k*?k^}iB.jvEVc~)~("=SH!%8(}>gӑ(hۖĔRR}^ Z|<'؀$" T"8-#p&#2&V5}%짖0Z݉b$[yO=FJ61'.GԆӡ%S[3bB!x.K 9zz1ȭ_MPXBTfŒ 3CJN *gcuNVhy4dFt7łݽڂZ$TPZ6ySْ&L5r4cS⩪8 5%hڡcUVLx\Cay4GۧN,9ύ#DU|S%c9<=ۓHeDnxɎ u<<۔4$hM7 dhv'S'5R]C#9F?P+G?N#QBG yYpgsrQ7E&[5yB O[B(BSv I󴨉BҌ#4q9ȏ\`EUc~ _Lm-G?3Z[q`T0DŽbb{0udjV8Mx#VTfS;MƲ,]qDzR*&rެpʐM-x9pHۇk///q( Efhf-cvG IDATFbM'6YmKK?{D 5|l>Hբf NzصGeE O8q: kye^b[ʼ@#2+dKS隻É{>zNGgWHs10qQRξHYEL Im32iWܲ)*SjwW ~QI{?8;eU1tY6 #fFȢĢQCDFkrH)Z# D)߽+\ijǺ(J )EEU'/K$ѩ9 pY\eY~?;1JOA"79Dd,4f3w9G6Xc怱iqyHU>`㎮kx/+U=<*t}55ZqdgݒHiHC\9a(?cc޷=JJ8c9Z*YHD*Jd-yOl|Nh| "1ijㅁqtNsgҐ6jPsyo+o"Jg5 s<m eU" PLUT ,ۦB}15j))G*˳ RX;OÀ" >y[rmUE3#0z8WBj{>6|y}k1W %Z"Xc!aha8%=1Fd%8Hu&>$\skcFX8|s]ЎFH)K\kjSe_zycZnz:l}g wC ŢԒ#ϲ_1&2 ].Qp3XxA]0y8],˚_L;hn1Ral󌦹A,*Cria-ZiOh*:l-7`ฟ.mNUV,Ǯa*9Y ^^,̗qfW|qڱCXgbDuefބϩbvdg@HeV.~o1YN#^*vǪȡ k7;*sa {?3.nN ʔ˧`h'hO^lk~zق..?nm{-ۥU,?{e+<W;.%M[rkAn.xw$j nfȲ ; ~zO[mC {*iYEKg/: Bkcҷ R'yȍ+XL} R #Ľt\iNdž~}ײǎ2Y(rs* %UuM#;֋1冪,(20N8g)\Ni3rK2Ŗ!"hfmw@?gD袧rno ew D,%Twwq~zYZS-ft$8]jя,u-2y4kaj4:}#Ն1 cO H,qPJV|u5٢$JO3]J&>WR,?L&;h:N:6sm= gBص-8bɶ",V+cz)3{t<'>R#1%6-<$X4 Y!H?L-^^\SM(2ъCI]=eF4J(y|@ӶdΝa)sOoYKM'@QÄٟo{~Ͳ ic 8AeQ]ϲ(Pښ3M>2F\?ßHpIᛑS42[? ~f5Cv9Pی1Fu9Z :')]3^KEFY믉JגݽY&'eFz.]S[%'I)$릡R<XXE?˥XY3 37奫pFA/Br AQ4.3:LqZ ~uqU\mt] A)d+TɌ`yL+~}/:5B[s9zO'>zÞh!ƞ챙FY&!QξcJny \V2{>qndL~sOBH< Rώ˂súș+rĔ<g<{V6'+r73r_~s~e\V5Þy~wGc;>_ը|MbY B$`$CHZqhY0ȳ%=oTO)s>-jA;ͼ'Aߵڌ92?׮,>yb]Ճ$[XVX0`( v A^ %BObAذ,۲-u]]UbL<"NDTݻȋ%ϊZr=dQD<4yQ6%Ś7nn8?eFwweJdbn]W/g^5!C|eВz艴>Z8>0̆$oPw6xe\9d!8("t Ҥab|u46mSsZHICl;HqZyf"nYTqE ՚$:IR7QU9cPn!a3efadX0%F3(t,hLٲZo1cǔ;G*"(b6 R ?830XUk"8HO3 8{5Z+v͖mגփ:4`Y`Cxُ3o뜱()=N#0cM4h☇ÞT% ilN6ޣ <-SkU{dP)<u*dP1!'Epl>=Y:plurC](♇FVZ<65 N;(-4I1\DZ30AE ČHeXg|H!Hkk!;M< |.9LpK8gryuRrD*wl^X$1а7aDKϲѹg>XpFl*-ٚov7'ӓKf?mΗ`%N.pse7l9/X8ÇL7taYFˢXkNOcdο?pha`o-KeMTr*bl$dJVw|W|9(yp$YRKN:Vcg7ġXx_MˌBUq O2RqKCh1V'7$TK~; dˊt6fCY*o<^bͻR0#"Vx$fCVSKR<{$2b%(#)YVд=3)J__"ˈ9Xe6ޱ"S(^ T" T4NtJo'" )4Ϥ:&O3siJJo&:7{ŨK%jks_ҔnPTD$Lh2͖T qB9'њ~02t=EcLbD@z14P/C[QJI֚'֚A$:f I$1v&U$Bj v DmU.Z'RI\Vg:bQijE񄥈"b q]lf4a$!V'A~PB2=@i?q)~weChnK5hfsD$G$4(mY$qJ$DmxCipZXiL0` sI'~_~%/X9}7C7͖\hG8=.Io%e K`adV2d)gWՆɒ?~U!he)3WkÎeR,~N3yb \M_G͂Wjh<:k~>',ujph?pYTaFyO.yo[qDd ipg$ Lk ?}cgP_|]omOLFp^y2FOkNG;9m e.8ńx͈]Ƭ#ͣ1d y⺛~Ώ>o^-uz[Iܢ!*S^+ޏ NHb~8f`'a/V|~z[~py7#K~a|u ]Nnj <5KZC'%O-<՞˗4]ö3a{"y<jލ펿K ^rR<5wuI^W4vDJǮf{ءrsJSS;E?ٲD:% YFIٳsC>էHŶƎ"cv\ n(=NΘCQ @=`67h)5LEBRvb$"!nX-7w[,@Za 8(dDgf "LoI`Z-Y'9xc"-K޿eeh?Y3Kp̦(癦mSl(ʒkɫ]z<%N͞n,d(|sa''syAQdA2EdI8OeEۆ'~g ՚m"BjHb} XC #J _us(?hR8 Jk=U=o_z q YeҼ@鐉QYcBC' ؑ,lpzV^ \$0Sy:R8>BҚi>`:K见@۶8[o@ y"YMㄔ⯚Rp tENpu 4tro↿yE`1{KL Z41 c? *O#cBZE'qPr* Gh?#'&ZG`pt.,CϢ\2;'( %j@P ;,% utkђ^, ÀeY@h}l'!MXzZB1sA3?N9!v8q#"tJ$u]h.<3O z@DoxRAC]"R$}z{ʲ$~h8D3|3ΒG4{ND&c%?oe'GyF ʄE~'%ms:㢪r!a֞,p/ڎNIL̳89#eu8P)cJ^%J"j3Q.2;^?g[g҄I?\l75\`LޠN<_.RbPԌ e[I*ϯX7soVb>RtmCUeG$`F.`~nI]D(Ɩ擤l+n*N/)O*t %|@ [q6X2RD §fcs@$ M$qƻ[Ɋbd1L@<ϗLNf4q%EMѱ7z3Y*9#m`(2Qi9P>wނDht|zYQ<+8[d:ל3 gX/\T3ٲ\.i/sj&3,q;48E2:'m9RaFV!]4e{7lNcuqgN7Klya)}Ǿ1Ll2P`gRn:+6URV< cھCl@Prb0NNok UY=Y^0AJ(ZK'ω v6e(u䬍#A$if3й'' JA۶EɲC]f;.J=_ڰY4?!iOz'8눵EO<*zi[*D)2$ew#%?b~S}')xS$Kμق/lYu~^5=fv8"v;IƂtHHK>R3L||q3!Œt>bjnj8-r;/~$|节n(ؘjb&g^r»7.<<>Z[NSmyv *I}R0dI4vdip$i8kD' RhX<:,pG{r>bϦus{XDe;=U>{Β;PLT$R2L }& Ω{h{ݞDGXsR>lyjd6M9f6DJSt1=04Mz4z yX!1>TR#ecqĚB;8cɳikI jO$ ߻q<ٱ3iaI#"f;{5383/ *@&FO{R ӈ?NV}tE,*RApDq;TC!w}?~.2ldi<2*Zivu=#s1jɛv27֧2qYzW9YT`< ?> 9pvܲZx.D*q0DPLlo=Ĕ#(l9߶:\3 4gQu1 lDĹ"y<%%X9D|Dc "2[s3L*HSm;1=K٤)_̶g7dE.O ={鉕:d0Yٲd`%ݖONYE8˸3H"n}x&A&bG1IJ@)jۡN֤":~pvEI-_tDGMUNN)Rr70gMD9iG?E\dd}ѵ3K?&Ii# V+C9qgߴ(Ji\,yNKift .'2x %odמٵmh04ްP)˲BG~RPjvLSǢ(kVe I۷,Rj|,y_?I抄er, VI&Ph..7|S dˊG`-ȹ(WLp$.ٷ-JFkBkm2+HuC"cͺZe9i VOq#8 0嚱oQ;Cϼ=rVt$r#,ۇ9MSFkqGt[.OOI$4dIҏOZp89ۜ0M~Q"pfk0R mGi2/RH^EIyt0"8":<"ų+Ʈc:a"/ҌfI,Ǒi"ɹ[eb IcŒc0+s掿O0uxcYS?E #7DaAFHBev6XaXҵ-%߾S XA*tdZy(Ci~ Hb`Q(%q GJ13Yb + IL4$Gjz")Z-%f2عI8]iO J7\w5ieS$4`&i,"KpBl %2E>Ta'g{pr'` )B-8Q}B>(""I2f3p.(?B ʉ"֡N41k{\'{V 3 ?oNs(c4~79URҸ/)fcɒXC;[FiP1Epۏ s˧5vIv\fr3< ;YbkzJ3JT%_544ys,f~hȓ89∋EJ#d?9wUDɌK9_O17CeΛdžO54ql,MƁL C۱^R2NIYޱ,`9-YQ1::ϟs`g˒Y"7op~qzS102씘4>Vmȳ٢dv%$҃# F;c!i $3 fk@_ng'lyakBmA'EP$ wPyfZ"_YTIJC“vwr=VBucI}8:n;ǬXsnEʧy !_MH=gg)$.q6ggGtػZt ,%s`ۖ"qg\XPEU1ႪG]XG8 g8A$iF?L iiNA!+%v1ǜ0Bzψ P"1C:P4>1p KhzZ B,LtӈT{0=Qc14nwY-+0Og<`֡Ft9Dڗv9u$*F5Zit#6f1ax!<: 3ff{XYܓ$Aq5TEf ELA`TÝ_yT;Tc}LHi8)*OgvXUk&3a]`ل< ?ObG8AȐ݌V1}a -r*)$!@$ V9ooxd3VEqFsoy3T_=gLg3 aɄ$$v&r|*<_S^mΩ;6Uox,},s ,7{8L0\kTJTַsS~)8coLjgnFƆfGeWuzm{`ݖԜƴ~Ȥ_oL|rz?S^klW/?>b#bI@69,rdɒ\5s$(Ә.׼ͯ~'˄U߼xI=t D$~#'"ah{^vKǼȗ|rz'Yje:Xso% 7bY}8$ bo,6-'˒Ҕ#' :O8 :>얋QNkCXrZv[ BXZz;EE߶YlfTyx| Rux8?rrzi"/ :3+c4'ӈ 'g'@]7 l2q삶n07 E}|dZ-q JjB+of{_@RzH00=i{OwʺqBZCǟ< fa2Hy Gh.uYA6DQD$GdNP 䑩%<v{fȬd8{v*-Ja MgۑSh65X|RK$$iC(Q:dmTlHՄ< Dt ?AI6"G43w!%81efʲ q 0,E$1v4C} c$d\"6<e4MMǁX!_*HS"/ѧqAŚ7q'&P7#ūs"g{.%ߌ E[]sUq ̘eqƒD=H-7w߲J|1;1 Jg|[vso]R#y@E&,AaaQPk؉D{4UԐ z]Eaڎi0R*&˸k{4eZqxg(dvt HfgYɷ#EU]l[8͖zK9Rxr8#su#"3"3+kH5-$!@-!gІK 7ڰR]]UY1L>ۤ@˸{&7}n .PJTd41s\?>n\ǤhtN%vP,"R5RU-ɏxX[YRhɳ b43U 'f@\bG'eU2%1,.f8;?C I,-jxH3s}vAӔ2%sV;7<ǥa{`Q4fIjzTLÈz#jl'*E,jc>L"MYaf5YHd:+fkY-1;0-P:2q$~tOH<h4MA2C'f&@.PA˚o!gKU7}p}gY*~Hə !x! dۢFimCH$)!l u3QBQ7 Z*4mLgZ#s ~9c!3fBۀUَ#:D>{b:˔?2v*+!DJct*e~D1Xw!D/yjƹLT̓5BQ%n&5 ҇:e,̜tEiY- o">ڶL! WUUUb{2yzj1Q+vbWo]ǟ~C9yQ: !~|Ri>TRs6=x(tzӴp<|S(T(c Ol=*:C+_‘?a<jC+ov+ǻ;ԗ\ˁ%Yit;_N#PvǗND*[g8D?D3✙2!Fϟ?[<ĉh'  ]3njs^7\.Z<"&˓eů|sJ%Kg7LisF *=RWt V$%ZihAJ>+n\ϗunŭŴV/ڒEUر\f<ΑtM.d{ P>AؙE6̜> "˖Bn8ŋhEƅn{C]dZ7#?[>Ak!9}yM7yru1 Bf|{h0ұ*Yˋ+Tw>w{o̓pZt(3X,˗\6+2dM7[,sʪ=~8Jj)ei)* IDAT4q~z`Tha7weCoFyi"GKLzawd)daU72]ć@,;x {?XZLRl[Ȳm"xfk\__c\1SB@.)UoI7ter eQ"Ovu,t6a& #v8kp?ku@v"ےe]u=֚њ&VkuuEU׸hĵ'ys4 zʚeEN0k}B'mOv<)tـOz3dpH4M)"e<КLeG=yrXE3mۆiL76UU(9bEƿxrT.DF<Ղ7ÖbAQ} Oy6ȴef@58R&o2٤1 ^ 1TU`6I&/iҘ#Pyq`LjrBCǮmj`4uu mrAaL?p'lzfZg( t !8]Q=m9q>5*Dr.j-/s?v,=ib74`PRՖ;i!ݥ3e~h]I+0yrz9ha?H٦2B@*Ru/j]_u,Wm77/^uGj/;VٲK1q^7|4M2Z EP͚n|??J t<28 nÖPH!yoi <++qY/'fiz^xuYɜy5&8~ܔlFT+`Ȑ̹xj%UTe E0NT+ljUrތ cTAg ޣ gvFvZws f,zt4:RWk&sϞ <;VmF 6UM|?1rC̱-'>[Rg_]ʀ1ϸ$[>) s415:ME=WsݔloQj2K$,kG5( ˪э1ɐǼ"3N8#hD "r'dyΓa裧,+vSOoFTUɑyI.6+v v3GTz U4a *Ze)S)$j8LnFU%n˘'fTcǦn=V VX},Lqr<3;PTqh}X75K),~!H!:E *Eo y~q)1 R+V'm8򢤩S%˟7Hq "OJyւTA mǑ'mxqԸS;1Y 7[2A4M9բ≀VUULH/aHÔx4ʤb)f]ï_|plte< {>)9!!>8TYNUcii9ΔU Z3@[UtsX٤O6H}O' o RψcYKiJ9̔eE<"! PZmSnŕuU3cJIsN"3ۓ3M~LSWUtN8`Zʪ`L/KGw_429:r!PeIiTZB2C J 鐘!ybsX9,Ծ,i*HZ8q|yòhM#eɃqikM%o{FYHͫi0e 3n05 { o)ap`i$58t&~%gn0T"m`24ZZ,SUPuB`gw0}MeۮSHa)U myqwKTM 3I8PU" O5mU'xpx60w٬ GM&?YFo-˺f ^且Q>tiS -g6'xG$%U9I91S@OZq@)V;ޓ +"̖Q*N7hۖH|xRP`T71&Wb*L{83T 2# * fcp2@DDΆ2 !O%q !$hrqլ3> 8vɤ`&EA)Қ{B '9㑦p10bHE#n M7L~-Bs{ʲzSo6)#嚮? ĩX`,ZHd$[bOz0Q$U%J $Qr֑*7rwDZΑ~)tIXVMٲj($˲d o߾ǟ}NQJiF_gbU9^y⒗k8?~x S9/st\/[Dd%3oذF,Eέ;͚r'°X.OV|MzKn-,/(,4\c4\)t{ dc~zz|e)X- {QV #.7#/ȚV缝|;. v(צ_voo93Tt-/2y@-bT# f- S s&kP2% D8g[+EBh%DZhg ̧K͉2^-!2'jKnPVƲ&{K͒IXJc CnDq|0 i0qK^ ~xhFv"wsGGT)VguIlŁ_nX˂(Nǩ'4/s|WO⻮ct3r2$ubbdĄݑ%1Ea0f7x )ϖ0Z\fCԢO+CǏɚvJ ֍<9a˭0?X_ore4%oupޮG2O1%HcY9mR/^޲[eG޾|ŧ<#Tܼw5N tCdh{6u&Lӄs%%yzv;tYz.5x{d!r._+JU,/vGUӌw.Ǒ'#O9nh:low\RAT{|@ϲSD1B| rtnntph]. g x83ec iHk:TjDncHֆ;2Gu?r];8ibQH!'ԄFd&|py8&Z$T[7Yf:/Q)֢nnooR4q!M(28uC5EVcQAif94O#E}y%Eb0Nc:f6ZcQR~䤅hc x'+;r!sdޱ?ʊqh#VE^\kMˡ; NL'>XL-_<0MXָS&D~̆EGpiiyF+$5o* ʢd2@Fe+UQc;M. J7!&g-M]3L*!0UaӒY2G3Á"Ѕa?atw~^_kuFUquQ2!$ZBG ?,d:'˒}B(Z P*+'ân1͒~Ǫ]2S0JhFǁo?HhuϏvGw໇G/.HyΫ?R ()P gY< ,'2g >?{s2I[)=L)s^;*?l[l.!F^=n)_u$OKƩc&6Œ0-,fQ.ǑIGFcL(ɕDjly;Oevx93 :Ka`R0SUt?z)gY:D^mbY}Y]$=e;Ops%*/ԮLb H+1dI%%}ϋw#g5wᇛ휚bGل 3:,˲EA%S]f =5_ɺ]0UȺD-p]F4MI3 #>z޺? MFͨ>9b}?cݮ#/KK:D=咻Y1dOcų'ܹ<[\~HGơ)J꣡TuQ"ӄ bS?#Sj{Έaf-4I&K?|L:HhD&3 %ڊw77t 8Mƞ4Bh4n,t'6LݑEQuG ތ;ِ YܽGU8P)M\pv)Dgi٦/KwD2=6W9@ݞ̇! *]~q6mj|m{] ,CRژ*6HcUՒ8i$+xCGgzC[DS9z7H :궡3GDad2v`z{A%eY%fFaQݻw =?KƾDž#26q( I̢]c`#D$SNF#>b3E]R(JcE@5 qiz ,&@suɟ]~<q"ʹF d&QB&iԎʢd ʒӦBgyN$L"UjvNR0Hq*iv+wDI\ZfkQ2C -EV$GH&tJ1*'yn)H%VVuE|j@ZL+Nb*+Ȕ#td8uSӓ4M2*lp:f?~zM)I RvPD!M\mpf`NmiD‰ 8kLj'SE0 )0:G(9b> ł~Sa»pL~_ySz0~W|}wê*O8<#GevkWUs/lsݾ#؞ <~8r'hȗ)ܹT7U7fn˺jr}b⫛7(("|]zb>ٜ-GǍ%sy;`#W"gKg#_}VqJbsD6 V*E2g/oxJݑ:/0$ ,߼\,/8\jnv\rX[;g 3UՇy6OŒceݢbRo߽%hJ|0f=ӦQ}awlkɳ|vɻlxS5E/%vyRێb <*?2ΎK9%ٞa? hv&`ǁ]@N%V+$[3r^ug o,2i'NݖنŢe8v,61tac\rz.%!S@7?%sn*^-ay$9S[ODgjrw{r`KqβZ0Sw;YJ&\<,PԨ ѣ O'\z-iB+!ɳc߁seuY34Q:<2BcRNm٣3u C?1trmAev&"|L8kɤ: t.S7%4L)Uc"eYᢧ;Y6-IQ A ͞O(<IG2)qU"v>> }3q8Ȳ4=G։!)r?VzO71 7}wH%,k1F$'/LH^,myg\ /^f/H>}OV,}ږ( {gJ[z4' >sD2f#+UmEɢyVU3ߏKx`B V)΅g3~5P9<Ӻ&>g5k^?s( 0qJw 6nLX;\14lXᘁ IDAToQSJAygYFCׇ{hq+בG"˲pyÖ6i낪< =ytU>tEX茒&)(MA< Tq7CǺPFځKU1B:ʺFDr9a'T -5$Z8 J VU]Z%3YֻxT8Kھg%WׯvS~^Iתjxxزn[ȋbĚ%x;X/SL3 cv3锠&/5Z@&SH@0ZþatB*kȲ0c҅.$N,yxx.+C0v$~8)$ROL bJ8 2]*gj͜=ƴRZ wKBw6_fJ(LxJ*OϨ˂٤xd \zh }BY " xIlQ\َpL vnB-2ؘnLt̘̘tQhH>!U*4U'(UEHYBԺOl !jZdTy?*cSM2e^w߱h.V9Yt֢ ByH+~xUg{5?<㗏Ʌk5E{u%x˹P<:qd䊛pDjEaV!۾@7mZϗ;:J"MD枺^ᦞxzk~@O5^>͞}anUQXl,36f(y$x*^M=WpHZ n1)0 YF)hJ WގM˛8U:/ĻCϪ.َ#Aznv~P"qPi,p|=xr*JkcHӃJr( yPH-"vl@ w;"jps2H+5r!߿js5aC$yN$ (afB:T!dč3\2/!n(LÁWTαFp2F7G*9yfQPf=YJx$]bYdfTym]Yk=o{Q]R-~]Q!RE;mmtf20ꣅw4kA[n mY!VZ!j,ɤR4uK`;lApzwg%1jich?wFpx[ t+vΑE'@:yiZUSuIktYMլ|[R4)yNA GyZ%a j)T4_u 4*f9/]Ikb_^ջu'MYvoAYM`vN;C8֖q:DkMRYpiC猟aj8hb%XlJ :l [;%aH"tUs6$YӖC)6qB5w}7 :E"Znl7!rM1J28s>I PuAE\-s\9Ů,Ќ˾pN ,N#9Q1u`Yfuͭ[yEn|a\ol6cUrI/LCºq ɒݲZxH'8,xFm>v!XF9z BQJQ.f3)xdsc6DF9/m%ҕ^#j9g7 (['{)[AIJ1] Q xpLDBb%N8ٜAa^pc܍Ss0E˒hJH^6<0pnI.f,+Nꚅ+$tTLleCb Ӽc:ؖ pXs*&kHaXJ b5>uRzCu⤚ڎ80!*2?ާhon?]%=]ޕT( چXܿx QBp0=6UQJP%D bzټd(:걜3h([N'68 EeéaBQUӌ\lHW-Ƨxxq0WS (dϏE7-RJpkVTT hHYuG`$ !UK ' RlSw1UeWӶ䆨Om[v#8N9x0IaHH&Aꆭtȴ9!QҴtP5 m4a4-a1[,b3 pIQ2N挆C$ 9P0tTparRK2eWQI듗 Q I$8?%g)Coe," $1%]PADX4thr1c؋DlKɴhMg̛^z=)h*ј匱J'ټ4#]$~+pg,Jr N`7 !uΙla>xLW5tΑzvL(D@6.QAൊf K CmRhdᰝaє%% boE SHEFf 6G\2ac! 0JMm-RY"/ʳѬs0;NF¬fMӒq}sT/n1 hdIRPaئ"$똝P46)B^ڦ#TEY1yķ[រRFAz3@oD-h @7iQ Q{-e,#\z>{dgsi0$t:e<R <)!$ EMG$IBY$qBY^KZ@`E˒hޠ\J #Ð%^BEz+&5ZUK. w@:&vA&+ϸՍ7 i2*hF`Д Uz҆&*S.8JWz[^“\݊iO@*2f,C;T\Uϲ̷ou݊-~U2 !n`%uS{uخ#KR~M[{ЫvXxD1sג Y"#8 2fIٖBRU&iHNk D;O6x0;HV8ـȲ>H EBOf ]G eE'X(ABAj>sANo+uG`'qۖ`o\MjD/T9rsrZ3glI]Hc>TpeSq&LG ꍙiΏz,T@ ԲX,v%!r:9\'" +BO挳>'ŜDlAl`lGW! + PFI-p"@՚y2@0_Ny.-cqҖ!.*04yʹ(ٕ14뒭0ft<|y뒌iA+ H8ɰ]r yylZ2EM[6;XJPKP%5{)eK*j>z uq:) (b9o c] O,j0̛l@j~t0Lm@./9C,9m0 |pAzedeqPrCpJ qyuMVi˥MhzOX4}U/\AYG,0mK\bU F*iB'52l;y͢X^!%е34X\,lÜ,qK:SwsfQgfsN&' ҌjjR4eM/]:SeloP+eaggSLQOYW4e >yIU_9$ag+)fX vFe›pZS`iOw iC$QDW9ednl=m;[̚z?Gue|:$uCSgꪢB89اL88m=]ڷڪ! CV{Ircp4MM]|Ŭ˂sJDBP,~nZ,s8&_,XQ0yUWnF/Tm0h UY|AtRMYJv|ŷ21[qW~vr0`[eƃMYS,Up,pƠvE TA~)tB,MQRg}ƗR5]rtxr27`-e3qB5 ;hzag1Rh|>*Lt݀覥k"ꆮi]4%y5lеj jo[JC`, ڢ_"ڪ, 6ڦA˨ғ8" 3*mje~T'8瘗)K3!Yr<91 l"C]=,z=$?{߼ay}v@Qw eͩfs .sRw^V '%5p/#,Q&ՎtXx KaY9USlI1ᴌ)tbrBBA* ${ŔM9 zJѴga# % ӓ%7Gq|̹^"Bat]D/h):,IJg'EfO Vfe8,Rڎ 4bN6!-g cotLڜqcӐ΄C_O:AL&e$`高jR0Hbj!9OҖ@8ieQucg)m nbEHH+JL %n1(aX^n,i A`;j-ÀPXF3dHt̪Q6JlHUl& EgF 6eA&Yd1` h4KKNƜTb]YmG$eQҶIP >R; uJB9M TAnj$9ϣ\tV1%Di>!68II 6aRk}Ko2•ࢱ&a"i,Y!5>SחWOBiQQ2_OY?Mm,vA@ dD[Sޫ.iC$A ߈$2)SCtaZC*Z5H^PXK8!Rqxx `X]Ta_qc,~}kRoiY~/O y_ju½&oDͣEд*,t+mppyI?_5"aRB!gW IDATGЫ+眗:JʭBRʕ(~6JMDX!d@j,^ sK@ЕcSon %`@^2H/|zVk05-,֠j%pR8Op~*x' (DQ ώf{H )zl#R5/W(J[P ժE]deY6Hdk[cWu-"2iR7-R8U{"~1}4H1"f/p3hѭC8K(|rU uKoW:uϫb' a$ 1ICd"94'}W`-Aݴ8 ARvU csokY%[jl9GQ-c>2qocI5EGe#Mu Q(ӀE2N-Ijb)JI-$]UqYW<'yT9gIӐhٻxly7}/9s kkƵs؟{殣CvsAR[Mf$iJtGo8(k4-Q8"i ^|쾻x O"$McpB`v- 3B$I/c21zJEÛ)ؔ i?F_aI!-'h)#{P(aA5SIY'cΌG z=Kː)z@#} oV,A bޅx#[c5Xc5ָPAF^{h +`U菙L' 8H TTM Y"cd(OI9^›PjGFW6뺦Ӯl0$M3ƬFߩt T 95sWxʉȨ&yx! #pkØ H95Au#UrzVr;.sn]rՐ:so}98` )"j ^{鸫\rf*q:IQ 9Yqf܊A' 4d$DD/f>VajKfyC^hV:_ /%aŀ׸fc'5ָdϻ}C\/q'=] 8~}߳}_$FKhlol1ػr@/ͨ˖^6bQ1Z뫭Lc ;HjˆJQwi[uN9EI^6آpFdh6{9[r9_g{ {%#=!p=Jm>- !%W(뎞eS9<{>3 EQ0WlkscVXZ&QQk=}&lф2@ Z8Vg7L)i6DuAtuT ky;3iQh! $1~K0P7%loo 56c S 9 ILRt,ل\pP/y8K6#m&bӳ =bwcNLt͛gt|87cW.>*Oǁ/5ָ7uB3a>mU'p/}lT|\i[,#z3;'T)B^V:V u9 =SjK6d*+B2L8s 2KWh#w-O췎LXI(9sX-ER[^q4X\#& Ocx'9(#@^a` />1{*f2d_bqom'k}=־LH=[{р:4%cʼsG21K\EdsD*8֚+DEXgT4PؚB`m666( J?-S-u*Gw €4w;8Z(B.5Cn>yhqD\u Ayk].FS<%=՛֭'}5ָ& &Գ9g"{d> )lMnܠ8k*B9AKjݱeEAI<%iۖ(0ڠEiy<{ǜ7 v4 h'3;HIDfdwG91ԣ[#-S:Ւ냘Vآ稍&3@شGfOG+Ӊ~2n]1Xubӕ<+RbD,Q]u(ŵ('1Yt6dXk  eP[OHTb6CRLӠ[pRT/y)X!tCˏ2Ę[ܵ1{bz,*waʖˍ.)'!a??mE$U;f'KvAR[;)O_+kzM=k<;Ǻ?Z{I(m\w0B8C G^Ya;4F CݶDa A"Ś5YZMj#\.d\PuS6gw)+=;˙Kwۘ]$a$dscocfZNuHvFM6c>v8GMrt-[;1Oӝ8OFfxR+>uX lllu4ZЖz)2h B E @8kq@U((qi}%1MSη/˲$2 x5+s'aM+fkxuw׼UOy|.~=%[On{Z3 Ag QȀ@J03lFvq`IyN$U'2 mI0 vDJI4y`0@ |N 7v#&˜2g4ְ(K. FI Ic8\xh:%J3nt)Oj2cYt ߺrk1Մ-+yBHR؀A(h]E?|([?A}>οnjr+Q=ΏWxL|[~c?g|u+__}#?{GkOzO~}泟wSyw~;S?q{_j~_˿~5EQwkz |_a(^ dӘ&Id^#ilfo8я$FX爣dFB m(p;mll# #"6IK)>0Fۖ۶aa[%T@HreɀKllP(xlYG%aa&y(r!I+[ne0P75{/73=oy9[o)V} ˨ZMξB*B>뎽N=#c_el;,xnz5O||_{z׺Un㺳g}\w,/{?7ߣ,Kn??S|;y~䚞k/;s?9=>gO^ 4 10D@q #a>)ap R>YHBhmP/CQS5W9dC%icDAuuQʆ~1gIJL1Ny.R7ʵhCo e$'FJ)7}_|}~WeUq_7)C}a>x_ut<,'~OpiݭMx_"!$B (f\QD łjkȲB`!L"8A&Tes#u!P kׅKFau]s,HS-N*?rJZ=ۖnyx UNpǴ鸾?rғ+*-S ul-4c/5M󗒲Gy/G}|=ʕ#_/\mu(~x~:^u_cE?ywq!M[_q=loޏc vwΝng~S {o$I;kO_֚w3+dY;ǹ㟸:M~ONxÛW~M/~12Ϳ}ʪb{k}{x΍7r2we|k^~-/8c|&cO~{[WQJ׮sooo[xÛ̻vnMou_5|;,.ۿ?oF);#|_]t]}}yw~՟;[+G'\iύo2ps_ן?u'>~>?…^bѷ3Ȳk^Mb%|Q:BJ!պz U_{Nx- GޠF+ѝ! CPQ65Z󎷫vۻB$2:񇣎83:ػ ذ]ADI(@z^{ٿ?%!/!s?{={}={^+ON,ge'Ur(t gѩgixHIHg~ c= "M`:6ɘhXKDӍټ.PY̦ 'Kcf4SD+>G.^% ?MHHz1/}kO͛wǶXl)s5翊y ޻ej9}<<|]4Bbtt -oo3 Pɾ/~sYLJ<$$6oCC #!|s:=|۹3o\nxp管\?{9ox5k֌΅)wd3Y/qWp]wo߈Wyi\Ο{}Xχ^^~cp1zekӟ<w}S|/#|_CA$  Qxǿ^-lڼw4N Ӓ}_ѹ26>΃=??(CClٺ[ `w.{|87|K,?+>^SyO|Wg(ZΊϾ^oy|3n}nm=s4o~M|0lݶ}Ƿl6,LVxp*TU!Gdt-8iǨGqTU)!"$I" C\ϝgwhZdS^o<$A6lfP X>>4#LbT|9u5DzVc?˖r+Q rhX C{x;YI3YQ,zMw>EW3|=ȟSOb|rwYp֯ zlO]z9?M\Oo.<ׯx)KC6eq}h[|)=]dBE00\>_ IDATG.UVt1q)mv~O/)td__{;~ؒE;:Aj[rb:: uϽŋӹ'#8|!lj+O`Tݮѣ?Άx[a-"_ȱ(âE 9U>߮|R k#>1qcbD6V^ODŽA+JookNm>ȂyvNGȶv|8Sל+_2G{8u}-Id{J%.n=Y0jCgbɧa>~ɥ_ t;o7|%ƹ/x.yo-|2>>=s,U'q~@bIi+S.ŕ9٧#۾U+WpYgq-\}l>Ț?_쥬N H6J ط\bv7Mڿ 3U$\GO\_ל7[1v~o55cn\5 384ķ]~? /yыV\?q28Ĝ~>΋ٕlW]se&!$5 EUPi(((4ML}0D7tTY!#"HHHy\!碫F+~MD[$H*hc5?Na/pԑG#i˦M09ȣuṛ=$KL=3غ]9f c/[1~Co֬խ͛p_7=/}_i*} ;˼B=i)%}~FڿOU=㧜7119'06>O IE^rmZtu۷x7fv=sfڸ y\ tvrn3N ĥ񶷼Wh/~ m)5ciw(_ɔ2?ٟl{koDž3|s)'344G|?$ C<ݾI=.;?3o8S8ӰL|B^x.7Knַ$\\Ūx?|߭%^z\R(glf [xf 044G\\L.}4}}2<2 ˗u_dbb/u\XpsfϦ\*CCìΝ"NV#viZzU~ޞV<rΒSȶ> !?osk&+O8\6K.o|FV\I6X^k>M#>wy"ә{/zṼ"384Wn:_뻴_.|~7=ueU+Wrg?!k3bWܳʫfK?1:Cb%I8,S׹}BeƌCARn԰u\O($jYmb磨 !Y+G#pv8A"0T F!ڨ.fI+;0ќ4eo7> 4jQd;Ԛ5L#$~J1 knXWvPe3Rdn3XS*$`ƍ,^uu`ƍ دsgWfcvp]W].̕!f2s8c;~. CzoUeKsWv-^]l*Ts { MT3N;y \~')td[_;#3N6rrSO? gvjm1[lZMsS{͕W]%V}ǿ^Բ͐+s&oɏ|\Y# _߮=7K>fy}RSpr;>y٧8|amn[.,ZO|a}֙ _w>el{k¿;}9gYg^_pF˒v jױxBKe߰Ti3o1߃S:q=084DWg';{v.bǿ\V"x?͛y%~g#lOD)kXNi~qpIe3TbUCRd$UƭȚJQ'c;tuux>l8IZw#$ Ia?}LMGko7PT|PdUbCT"pᴁyUDc|l-sDoKKTPM41JC })nˆz`Ь&~jt[)(1$>em^N=֟KܺVg)c;$IBue[vn8:A I\!Z8͆K"rS90} F?( QHٺiJr?_q1G24 4v c;juFI*{ZgنtdL ˲vec&F`'r{,(m\LĶmJRkW.,mwkad5jL{ -ܥL(tt]\+P*ay^Iک(v àZB( έI۟eu#zYvqJgHmAV>Bhձ7%>,-VC]h{$"iGێ;l6B`Y$l6۟ о.;ir}w~[9a x7}|tws^$I|70::G>y 9~2{%B-䳟\_ҏѻpv.S,PAV*DIvWJ N x]E%"4U^[xѲEQDh_qȒ~&mL7dUeKBC%lnXu 'dY7u bf cF#Z^M1)ʜYԕLfOZֶU*v?aR JOXU;k6-8n {T"SVvlf= P]s{MSXUv`87ﻮV.ږDbO~[V=i5wik 8k !v9cl'??yOoDqD㓿ضE0u vɲK5YoRN8cqyyvO잮ˡ˖q'E ׫>˞\>E֟LGGO~>vj̃%EYQHhy\C \? 05n1R! =4MCE`j&AH*"QDOg7aNL$CÍBN@0 Fz/s B#:r`cnp9L#L6K>` LxPU8!}JWl0xʾ+sFԕ9]W恴Z ޏQ=ؾdߟl,?k4sw=CO 鼿+~ć?S)^1- W]d 4M'e @4FX05E,(Qij z EQ(5*XȲ&+Zy FUU8FuT!klMDF6q˦ɄFҟ)RQʕ#}4X5M4EÊ$:`Բe% NU'ҫ;D#aSLF:Qnc"φ+3 ꟶy〔d:$)!4ྂv_SCqSu$Ip&f.ײ.ibjj+K8EEQ :EQtia?@Qv(duu3<2BOG8((X6'F$B.ÓC#4|@)K4H*aɭ3 lCa@15-,gDADdPT,j+3R@YCQ->ue>?wO~H͍s:*s,Mw=վ,l&]Jq|\_Gd0m44CqPQYA166F!'I2L(V8\Kth%5, CضMmv96_fu_7U F.rr '̦y>1ʫ"dN4~?1 sM!Q XlFPE;c~UUM9D$*]-VR_SC !v_SPP|+s&{J:*ey.e$Q*B!+*leӌB$Yh`&|zah: aq©bBS0,lb8ʮKQ?lm;''i%GXQaR?sBb;$*l5 ^i0щPHpdI2]ߙW4Y5)"T-f[*s}]YȚ"Yi@p]!4Ln45XPNhj$FƲ ˲.C.+2 %xlr='(Ƀ!DA 151l1cQdX;tH*C~{qFeȭ0"|:F!k4JsW4-]8RRQJ_{.X뢢($ aydYc6 + j6:Y$YB4rZi^LDqH $?"!QzLhx.J9a,UG5@Л`r#klĒ"r"3JL_6C$bPTYS8,'w(rlV<ƒ!ÂL'c^߷bv!Rfqʳ8r9*fH1I"eYBS02zq(JHe6h$Su_Hu0V^5 *j`k>0/G3T:2#LuPﹿ.JxQزihxG(5LC4$y>C5UvuI$qB!C$:Z˲(MM'!!I A!K2R#6<ǽ2RU#Ǔ eeragrr%vÓ`5c f7Rc&>f H7cpaʸs2'5rBgHEZ18N6Un 'iHJ$TD"1,kCdu!lfllc9ĨyRRRR҇TϺ$ AGh4uL"J$FStdUA!BI(SJ]׉}8i4dYj*\L!u1KLDujDW@'$BA Ct$QmTe605ևuVJbUEդF1Zn)C>I!簥QAQ,W`*"q̟'(h|OIIIIIIy( t(ȒDQC5 $]1^UWelƭǡT.!9'؝6^bP,(UK(L 0Dgds桠94F:[ez\  1+߁YLhpH6b{P'kàށzf,Zqa '9ah< c=FXϦX,rmQVYG)7DIB Gm@C`8 Ĕ79p=V %>Te(<8fx|YQ5(IP_h!2Kq5&Q6%.Z-vquAegq,x]\ض}G\ffJJJJJJ!K+_' U4-q(,&iZ 1E IDAT16 L)I"j(Ē-@J#"2,x^F1`[jـH% 6LgqX74Ċ"1mJ)B "7TMz&JHT]I>((V@0>IDHQnٌ @1{ݎeYV^}326BLLIIIIIIAAE al6MlAH(* ,' :B@HH(hYdiYx?U 6cdY&"σ(F=8N$IeY HMdU& thYT!n(PUfID RQ)&* FXL4)L.z,;Bp(șd ʓԢ`̢|?cc[NƐА^H<30,^xڟ5k˗/fLIIIII &#DG!A1q`V+"!>HHn"]r!E eFaA,˨BB-vRR`ZȡJWlcf yeg  ,Ie0$]M#MQ`gX05L,ě('d5p zL51-] !qs]wqGS:GP`ժUl۶5kִ kUf^O`lsݞO,]iMIIIy.Q*YwNRyw$D!i{>Q+*ڨ(Kr%IO}F"cZhL$1#T'0E,HD$xmȲcUA,ORI_$bz@(5C@,3\)cFHtf&j9 8Ib)r0„ MJQx!8OSHbL8THTA^R/y)7~|S֋.ޭ͎U>a>e&'x"Bnfjnz?߳uy.(W~FMe=X6mį~+VZWEOq@k?ߡ$I'"i'[m[m M%eZ$**|f(dVb8e6J&ay zL hq:Fƹڃo|eͼo^͏̟^\_ױbrzꢧ ` R:ǨJGG~8,kkohr[9i.3o><ϣ=7v+Wq/ 6:/_oŋ5veU|[Ľh4?7VlU\g]}I8y{~t[Sȡgl]E$U!Y$c$i (tTYw=LF$$},BD"a*rZ`BB?Bz+%J ʵU%AT"Bdfg240ԔPeř< =Fl HJD'kTu}fY:# Be0}֭ìSs;ݱuֱyf>h6oeKٗIJm y^J6;\UW^p}ZB(\ETU}O[qlwŜyȒ~ |ګ7wSjTn 8S)lܴO^i_vazSRR[vN9 {-:G,vGIU1m IUMDUC$ t  0VJ GZ20Bt8AQU8AqAy'ͯ~tuu*_]ڽoUx"e/ z◞Vo `G~8⦛^𔔔}%1BaȊLE1hUMVܑU=?fY4MCVdUFD0 [$ 2Psz\O(>0IlB Al-M0+ɑZIBb蓋XB#QmԱF]dSxzꌖKtJ&?П?^vL#͠AȱKSYܝ#8d!&܅ľIk2^tH&@Whd ufYGSR5Fc]}bWֱ`|r,6oRrܔ$ ,[,9)IoƲWds_ŭ#]x!GuBeN<]ٹ[nr'Xe/bGJJJ3t\ϥ84 MmY☌eRDZM4`8C"b8ƶm(9x^*HTU%-뜡4e>NE;q\_?gc@>O#H 'YYWOȄr Y-hc } aScŹnԚ>^{~+__v]eKmG?_ s͛Aћ`jr`M׉@Qel"M MIB^G4l۞E֊/h0EFDID<4 U%rlj4e2xR@QLÐA f`H!Y!ѡ* B*5AB(lW5ZÒdADst᠎E !6*Mfݝso\wYwZ׾wZ8Θ%,IZ$Y\7-nwkXyŠ.%%%%/(Ae4EP$0FU("Gt"*EB aF1 BQ b$8"#4E؉ / B0QC3rub.#Uc,2G99\(ᗕ] [ s2F"nmԘ]c[S14:LcН2Čxjk]8~2\u8[S7Lbhx >8^^t9|g-A?of\s~drO~sӛi*)))))3N ]H0 dY1t$I "A&At$ ʔE$ۊ+ F+٭e(먛E>-xknM"#"f6P't:Awl,H<֘Hwv N&9ϵ5]y?jJ4MkoGVtNʡ˛/g&&'fb.7GFp/k_"/Wr\K/C4_ ?v)))))X$2$nA6G3V3]'I2 US~:Qbv+F#\C$@z.2L68s,&*>^!i#͘!:Dds<}, (,fc}.KέX'eR M4 z./ްŵEaӟ;/9)e/{( ,?]M֚&uMIII90<2YW'L<ĵ*: O-f)tD*I(Hm4 ,[a1A h?̇AvYY u4($ ]hLݜ,P5 EQ> &Ps4Tq)H9XNC!I.azzٗ<4JN5L։IfSpf$ d#1v3bvuj5))))))):Ol"(&S$՚K#YȚF$aٻKl2@a ]ʒE((D '*/rl 1dLfߞlwU?d8ISUlZZs.WQCْ/t:QByNELShYR1 ꪠZ,C!C`>UB?Ih6/sh0`'Lm8 ].ųBX1N5;98N$3G^eUÝ%'ZV:TcٽNu{; :)u݀uUx Geku(#$Zㄇ0 f <eIՔԦa5I]j&"ou3ÄMt k } s( 4,0t%ʲdeБAZVjtx¦t AW,2DUWDQ<08 D>Rf֦iJ8HVf)d̯c3Y?Xsu</=, El#eR礶l{BjZc-mJa<1)$UUg)EYPZUp8*|_#YH )DXP~ਚ!$yMDQt4l27|}; GnǤy%ܑ9wUT 6wThƥa.֬Nr Nt96Oo+8fK;AhY j(z_itДN+$Fi(aH(B)F(iD ؃^8Z Zvszk8s~=9J;zͮ& Z-Ij J{:qY5$|Z3}nHYt\{پm6n䮝;ٻoQmoi0Oֳyċ~⧸nt \yͫIȋ.>hs/O}3Ћ~G=qs/~;W<Ყqc}{ZVD!<5YiJ(aIf+ic>Z<UQЋ;)[$C<<[~ǔ{ \O|ˏ'<ŕܵ>{yrWo:Z( -ƹ}Lw2[+G_ȟG-\/}~]=vfj=PTM 0,JyTED I+ F:)MPK+9LSf꺦k< Y@XǴNukג$ O|%\}|ÿw3tQJiF^s?G%?癛9Ϻ؋g?<-S?R~e/8y{.֮%< }kZN֌! 4-4N%am0 YY G g=/)ӦAkߓh_#K`4VS))6.lo4~#bGsL: i~IGyVC^Gt$D2x9/ĻG[ni8qqM_j}{y_ hPa#ڣ,R(B*.Q"PI?KV[U<걏;^XX`u8ON{Щ8x,g>eh IDATOy2ɔ9;!gq^{rnjZ'ie%) C+`qntL^VxR`8Hs4LS},}<_fn¤%;qxS9}v#NGZ&58䴁&r^ÞEa(uƐx CL85%}X:s-R=uB|᳟}P<)%Wغe1uvu\;lܰcwN !xC-g?y_e:rի_ó/&o@k޸V/OE^f Bbզ!Jbʺ$"޴ֲ>8Ƹ8|_*0(IQA"ꪂ#Īt́-%EjCHgԥ)REgJ *M}86J9"  F#3WS!+NSnKi%^..^җSOW^I4'mg ~GYZZ0c5g>9.x#s;Z }>BHsiZwe`&$jП4 T#PeH1nuXcQ5(SdV[7t]+F:*-:@kE  b`@T`!JhE<8AFHr[)sJO:NJˮ Ь#h=;<ʍ7rc} ZsyiFK|1?9~ÿ˫^y%a7G7_gZ5ݹcguO)ǥ:[֜x߻ũlЇ"Ox=fO}9cOq0u6,Ej}{Q"lRǑR*zp f1c-ycEkAXk<1őIaEt:%se9&dbr%a4eί9`ЉvESЪj,J _KZYa}Gapߧp0u(IG9td0_z s.KιaƘ/@KKG^su9XZZw:osm!O|WaK|%ze՟iksu_>y\}ǔy꥗O{*O|%ڽ{r铞t:9>49شqIG1r r _o[n".x#ؼi_tKKKdYWo۾u^{5yl޴K.~,J)nmޑ},h_XWA8l)< !ޑǤ,ՓȲ 5MsД搔#FejaD\œ2[$&M88\6 I+]etȩQrTq8zL ˊ"5JB7ٗ?\}l[yd M1e掖7wdw{ss:wOGvZؽgqӟgm|üe|qp#Vj}wlݼ[n[6u)|!P2@O4P=B8HxXk#Y}_*|1,ZkVVVv;8爓/רuQR K$),; z&A+(bN:A:|þAqR2Bt]eqlμbp4 u񀿡κYК5}-[;'1gwzOm;x;;.+oo0jZennC<]{9QufcAH]t.AbZvU]VV$^tLd80 IyS%A`l !A4Q gr){Ma)Xj,(accQ z,GKl-')B|Z4}wmO#td&)԰krX8}d]8ٰ~={ٟ)6_BGRSY|׻oƮݻ9sӶoq]~iiz7z+ZVz@߶1 Ț/cL%Aq'aϡOc Y)EeIXf(DHp4:2jzEA  WUU>YiX {ϭ0q !ec].-ِ 0~A1b 4qBi)sJbEԬ/<}Lw4 xo;y^>Y:`:Qu}_-^K` W-[mi~d@Ǽ{rejZtM`j4XhuD6JeM40LBtuMGmApt`vw^o q`:DQGuŠHˊ ɗ6W1t8fdjb哕QhMI@(#Ҫߖws`gw:1xQYɄν[<\UUO~>'&-הMئi !@)E]dY`?cuչ?Vu<ϛ8S֚4˨`ܑ֩-Н !!8fd];C<pu}?NTwόVj}? <&3$fh(pߟe}RJ|Oh&N()fB0OH)APl'Kiu:f9=t0pfau#۔]`c+_N9ݤi"x-xhWRYty:15T4iwjSc^{پm6n䮝;ٻoQmoiP_~oW'\4.xA:Z''ZVurDAOJ0"/ `-UYcG5jls\]xR҉|1XKY8gH) tg-3"s]) ÓeR詀-0rN[FFM2Q:d2']z9QL`Qsҫi{M{wk_z|xS/ʫxO$k.ߤi7lě~-]~/xsٸaC{ZV$OyH!k uM(OY>ͺiqBRU5V)!4^F!6wvuCS@It tnwqp>7Uj`694YV%s>-k,Vi1]Iɀ;H\(+aݵx`r _k5};=?>.O`rp͕Wԧ\_j+^ \֭]Kyuo_{37O|g<\qu_lZ &XPNui! C ( GiM:>I:21AiES.8u8@jEUHOR%J{*[Wj3,reeMb_c84`4e rV2ߏqx5=,,#)d` :%4K/y^p/yyЩp+<`:n›y/lݲ{vWg?G೟vj$uӠ8N踃`~,st9Z8粪k< Qֆױ֊zGS@ Z~w,˘'M(g^ѰFD,FN$K\`{!am7fSpgmgj>7>a4gSKSlz>_/sN`0QX8[iÝGQ܊_z|_sy9_F^#%+_r^ʫ~=_w~_䩗=oZ$4blV( t0Ρf<'c4 "+*HYb< YMGd47DA"'z|v|a G1:QH']MZ rҰ\LEMNMz3AYj=hAP48!CkAc Yʪq ^Ai)Ea58gb\E!Ȋ/!tJ,3LՙJBɹni:a:SNQu?`i4!hm@X#bYPUnPd];OCEMaNȎCw!t ٕR^w\?w4Wfuď2L}jZ'Oc|OQ%IO]VQS[ '#N 8$(2xR)~ /Β0DV,~hG zg5[a jG,| {1[,G$MLm+IpZLa8U ' ӸTT7 a2^aK@RVj& CiA44uOR:1Gi2UfmDAHNֱp$+@MgNnN%=,N/b.qRylD峭l8 ;%.$ ɖ@U\aٷօ.6W5 ]VG#Rgt9)P7g>]h/Bj'1EA`!s|M,9Kچ@RX Ck0k08uUQ7 E*^0!cl t@"4 9+aC%L:/Y'L\Mn=aY{{ kn}miV`쐚[<"j[VjhGV Ay40J}@8cY^Y&ڗMOi&Ei|稪~ePg-QєR d*+ABfrKY䬍;mRjh: sE)L=uUN(MƩ<AUUٝai]CjZVZChZg1L4M)ˊM& VeA֖P*Ig )*ېfy!}0NȄ琋~65{!* (낳6ԆöA˶Ux~&fNK~̼ME`of TFj-K͙똔)mOhZVu !ɳ 4 fetC"'+ 4b( 6_BИi$wq dK8tǎ0#S7QdIW |LOx(,edȡ 5t3awzLm+ 3fi:bm`VjZ'yBy^P55Mc稪,GQfTz)Kꦡ1f;-5fOzG~k8"lJTD%(m IDATfz0(2Ւ9?fT’jNpN8`UC=-)o4l)6pkzcuYkVjZ'_i,#3V0+tY~-A̰fhN5 268IȋcZuq–"iD(V mŨi)sR/=a M[\=JYrNeίcT& $SmOhZVu U]Ic#/ "jkwp?+!0ktnPR m Yj&!%V14MC^dU)&/'̅9:)|kL 68<>vPɆ'عÓyrr kFIƫt"0 TW "ڞjZV뤫XXq u]TҊXYb!"26O'ȼ2)7ﺓ' C^idz+uBo!f.3/)f{gUO`BK]lȾ&ʶ'ZV:霵L IPcALNxM`q `1┤2 FX:iUYU CjN{TP52ȉD@:8l3},E$!UWR,W-s~ $ä'o%LsDO)YBK 47Oxpg(5xsQVjZ'>aс,KQ5iJTL1EU00 H eS$4I:QO F2#+ ي4:JQVQ/#8L 뾻8uRԮ"7OWI!ְ<1!9+ȘۗqJ0HV%4K .r2[Vj= Xg1R" i2aReYʸ p(qYjңNhtBY QB@cj %f#;MFnsD5 sk@Gx݈u`S GSN ;.*320uc5^!VkaWI$ڞjZVFk9w:|?F*Ԋn6B"PJ B/18ϣsGd(O ```l!|E>]&A#zcuº Th JQbȶp ԕ.9%`Vܜ" p6ޙ㫓1z X[IѥbQƳVjZ'Yc-*PTE|!< *j,RCk5XfYUb8YTl*2EA`I /qG9}CmF}IrևbIYe$d`P@l 8Erls1cl"c_ɘh!IBH+mܡ=;h$x'u$R:ˈB󂛪V^0$v5vԿQш_SS=~/2۶mKX\Z7Oo>a.|/0e,.-s^>IK[o?5Fh4CEӎS.4AJI,8R2I1*&buM$APNqSJc*@cik %%U5(57'wXrKtk܎$YIȢf!5+!R6Л1vN͢glV k+tEDטx(sm{Nù{C`nٽ!$waC} _R8alٲWjfgODh4!)\ ޑY]ъb EQ&)H!pP 5zG^@cqTƚ~6!HZ)OCL( ![Ô|ȎG!! <Ƕ;5Rˀ<1%sqd,1bwKS~lgaJ!Df GjwoG+?{OGIN{xg5FѸw !T9{GH`m!* 1R9{ܠFIPf׃;I|P5v(8I"seU"q #|i8Gԁ ê5c:.YN5J|^E}83KkMٻir5[(g ܱnqcM6o/^w]v[ǽckFh4{:AD^MJ,Y_#`l,5[hR %HTHML:@Zk1eEFtmxL$8c-o$߯"U$9lBR]ҍ,Zǜ,v)Q-b0LS5h[(#$D11^REG͛6sӟ}sx_W5ןcoOG0=+.Gwe@h4{Lu;(DBu$Q$|AHAEH)q!1>)P|#Dks>8)r2?M s7jJe87njN-"bo]XWcvgDvRyK G! YPDgqMQBWhvgXFxPÖmvGoI&=/{vy+W~n^1)%KL)_g\}5|鱷oħ>ͧ Q|"'}E,++<汏;b{=}FZSQ ƣԓ v}1`]#GxO^8bRC3gQjfeYN2Wxhڔ$(3P%ҍ+]؍rc3U* LE]f6#(ciq[BJIYt:mtՕ)7z6C9Pl:; w9/[_JsF>DyAD*  (%%UUG1Q336 uEEx Ҍ1QQ;6 xȩd[҄4YUY2J$KE[]n,<$ 'M$JVG.BAq' '}|쓟{ z=7h/%, )%QQɼ2R9B8f[PJ<˷B?*,& 9KNLM#zqʾj pٚtine*k /C󞽣l 'YO= Mh{կ}m^pGocٷ?9q<쳹`8ػ}.z#ضk~'x<.Þ_{u?r ?ocgqFO߁iZLMMMRtMfF~65V@jDA@h%:(!M9f{BJ"=Sc T Zs;_ꊲ,BF)Qo:5ǁjƒ KTְ+NM 8r90fiqN7eN,6Wtx p _i e`$ #:lV!J;W2^W+¶[پm?L~ zҶF4;;~~a2;3id|CͦMvWu#I)9bÞ;o0p sAʲ3W}]t!g87sNiIѸz 8xR*GbTZ# (!Zc4ۨAl#XaT("/KВ9Ә*Kn#iδűX [y,lo :'V17\=4,9ZlƬkDŽ)~2~M+W~c|sW׼]t!W}sԴ}byy^{Ķd8s77x#g~:g~:pO=yWMMX^>2A^su:Pi~07m>/p ʫblߺhܯ^AD2(*oqF%,Sy]1F-:q55 ) =4l*sA\Ty 8NGְ{TicW{y3ܸ4uܚ2xdYs5kv:dZÄ,ckk -arąI ~iOM&N7~oW~o~~'غu QE[6o_.uw{9|泟=bÞ?ߕɳ8ATDZO|AVVVY[[C(zK{|cg0X;яM.Kۿkkkg2J(b0CP89Uʠ?d!q)  Վ:x /faqv͎c{Oy%Mƽ)+Wvr;ɟ/<7_߮ya#>˯xw?>i7ox/8y`c38٫?->Ak^}Xuڃ { x[48J#%% k a#$ LreIi d' $CҪzjhnKYz=S5HuH%;c|5к =JCz6O-EYa2S:f8: Vy䶝ܸˆlBp+7_#.Ρ~VUG?Q.41'Kpr!Fdo4M7t̞r"Q,gl݆pRR;R !)rAfkhD!VZ8. IDATc'1RHzM=*+pX0JHBaBRQ0p@ j\Y,-XJ11n1v5BE4z>-Ih4FqRյlaяq"q]wDZCX[RC52%H{t[H84(@N`+jH;id>-#avZrRg 򌕲曣5M bEBi{CF9Gi*;]ʢ B5ORx:6DQDk53I"7lZԑ`,_XCdp>d-܈9¨G-<$; {#Ik aBV}$C*4cFh4{J6,J V1 i% Q)$Iqn hDAB bE)%ZkseAYUIp[6f!BxmMx̬Д2N|nF;^Lq+djϖLUScɤc<)ueFUtr6ui Fh4 B ^yFcWCHZcJJ}RZ#`!hZ=m:jc& ͤkʪDΖٱi C8mJ+- ҝ!YFjr J@JC2Pꚓ3$ESUtK`{l4FqA@&ے(S98:@k J2gXcZIDuZQ1Z,Z":Zo3q>f&W9r@f4#Fb\6VMɞ|UCsfum~VG1{Û//=̣xPForFxZceFn:TdvGYDqZ6yQN[ Qa(=Y(jϲ$LcJF#%Us]? GZ20 */9kyFQW|>\d9QjJطHc' {0:EY[v-`vb4o01?(DR((i9{DdFcL4;f-Y>FI<H@p8`#/%ဪ,n$Ix<65* @I( (jLj5'sBC7ٺm;XuHU@OP +8kf3]Gԃ8aF?3lk8PW0d:o (Iw}{d\sntsIz=ӸG !ox_gvb˖-EA]Xk'+vP[:D)EDQD$DQ5eFT2JZkZQJ^U8qD S^cZ8™aȸq9A0s&(4n4ۣv?ʞO%3M:\ѯK%fT _}x;ɣQ?68REя ʚC֚ h4H%A*ʢdbn%a;V,Tc2j<#EE!c`h@JIhcOJ18KjN+xFdFX靖%!A)Kvu6}ڞS3Ŭzb_2jale^Ӛ#]hiJ>-6^CzXC x/oxTgz=dM ָAӰ(6&0k4P)+NY@3DiLX-UU e^ 8G'h`͉h#T c^(!Ecqc8bRe 6eLX!%N̲:sV< hIY''PZ0W)nYljaňYFM2w2^C7P)e3tC_5AYhcj4WQWci 8c1$I夽.Kـn ReNL $73Ǹ!;hɐpZ ˜VE]EAۡ,J2%q,5rLGy4fS-&SrcQXlW!գN@6{83K.HSӋcZRA_0 :—e=Y]0rG߶u+_җ8яӴw 6jFxs]:vْOXkRFH+*tQ: \UAJ d<**t,FJ I(taiETeM7iQ Q aZSY(ĭ8X.+n quHZ㐩8B O/Jٚ PG\zyk_Y?Ȼ|m>FѸP(tɂ(P8$ahV_̸ cj Hb#E80(MZ_H` "ZUcfhZk QY$Z00'BҍZ;VĜJ:~i*TdUE;N>Y^hQ#./<ߴFh4,BN"VUME80[ԚHi30CzSSXk@UVA3J@uU2@@Bga6xf36me@QKbI]u2v*'!A4B `,k"!ٝWlqɚY3EFhwXk L2JK0NRwIIgha\R%RiLdnY,K$I"/] WG \M%-+Ktlt&J XeSǬ 9=u˷ hkM7m c:QLj=aE1cok1:5$bRf~h4V%|5w%(˜8X]YZ &T#;LRbI0k-IU)ԤiXiG tXcٲ*SQ̖v+q`hKbp|gNʔn-c'v5jB!D NLGUFjJ[˂MaԴFh49Y5P:(ˊV=5EY' BEhR(B_OvhsUࡪk("טł XZU ì&X,Y[,X;DRNVŲeb#du`W!i3e CO]kR]hX3ħ>3/}<G罀>}9no]#ϻc=ޘN?to^ʝc{h4o,)UaZ ' eSH#YK*QqEIVPf9hxB)y9) hKYUUʪ6@܌)~SIU,JSTu`!ףA,rERV72>/{)W}='ȋK]Ϯyvup7o}+&غ{vϳ{;}ݻ5?u?F* gcgF㝧,+f0R%a"ؘ+VU(8@KEE}LJAe}*chn94RHƘKR Zu@kRj2~-R+r=xJجjB(h[=rm淸𮷽u#1۷رoq#Wʙg~Ե=o<3ϸl~tׯh4wm)UJJbNQmRaTb90,K4%sX<9sssIJYUDqr@xPʲƎbs90(ã$ , ͳU"qQkC*p0{_+?2AȿO?pyk<剗5^K󖷽>#rk_x'7| Ar֙gz'p5q+җB]xγ]tDO\}7)m[rEyyFs}WsWpMSOE/xguazo\oe[l _sL0d~~'%/{9 xk_{5n]w/8xsuߋ/yo2v8G}x֥j+wݕvp~5{_/g?z/qs ';/z!?3~4j#v <k"zKץk$Tr4& b:f 0$QJ%18GQO C ytcD!Jkuԓį;b=Kdr#h3ƀPC)w=ywVkz= dFcGt:jڤ;}A&%5$<ĀFM⬨8( Aj3NkRE@:gګ5~RH%rYCfv-Rfk_ㄇ?fep>op#}g~]eUUs 7p 'p 'o@]{g?|ǟv/xK Dmuyw챼oO}Wg>_ۿxχn.żm۷?}=^}5/{+yS/0<-%/} y?|7 \~啼傷Ϙkk4cv+sA]߁.M7iַ}/}xɡB?O~j=0;o1M7öp7fwywu;Nsx CDPU9OնD%hEL9uRe(0@a^_O!@ޙ; !@:>H"OQq))DV uLƚ%l0 }Vl<Ƹ>SW?ǝvmw֝r\v{c=+Q{t)O>~~SO'0Nkxܩ{i|N 9(nG[BW]ţN~$z#W{϶m8#u>t3}۶og42777o믿A`v '= 5/~?Gq7?~f$E_/3П!r6}YmIBX? YW5@5X^]Ee;VZ΀~}e9锪mU{}@ٱ ) ?BHdҖT~[FyA-#ȍO:wqa{CA7@Gʥ3ys<_+W}f^޸5..cKݽiiyC9n_ _җxЇ̌h=3)ŅnƗUc(:l޼y=R^:>~xql۾mŗ'> @n&~?=-'6jӞq׿~Ͼ$IB_!Nq=J9֚s3(%RL` )FQskˣTD>3ga}roFIm$bf$PWg=#cc,cqM;LC{ڵx|߯_μ_w߇7=^~kc6uxf!(1ư p<b$zc˗=Ӷe<;&8O׶X!07L)Z!g"}0~Ko/4MC";픑ƠsM7 fԧ9sڮ;?U|ٲ+y쩧kW\/\_9NGޣv{ wc} z'p'wy~\r~ߣ庣>/eˡ{=K9yo;]:}ĉ'1rO|<l?wcşܽKǓP} )% JbeA8>\uCQE. Z1bD!\133 B>}tHc_I`.gg6'烑п`\ 0, Ta%if]^kJ}ڑT̑GoKگvɄ\|]0u$ӎw'^b~%/eNK:˾ǣN>.70; /dϞ%;yYgޣv{=!?>Rι?!dL_wzkiO|7p˭v7|3+ .(KKK,-- ?߾8ރG=`G,rEiru&x绸ccyy={x>߾~q {{Ǿ'<:v{9\}۶oZ[ ?o<{3ҩ$ H.x<0{n;($64 >kcDFHR2"IR5aPY m2e4 6n>H.D(q>ɬOnzQZRaN.7_9.8o_~39ciw慿Rm|??7cxI's}^@ٿp?[7DqA4{~;oҥʱ͙iԮx^ mp8䑏8_uy |wsooys>GȻ}߾ˮ}!d_ꫜ~9攓O>;[/ڎ8Y[[c8n, = 2 P@Ľ w:-XiN"æI&ٳ ]7W~́|0L$?鏛~k<̳99oi $OH`3G6R!rŝg&M'Dd$&/Dcjbα:s9f!6]In14Ϭ2LG]AאGFO$?R>{8l9I9m# 1d`~1ƈ}yi D\4 > R 8g !#sFXk!F HS{Ss'0%1`b\X)S@GYZA|' ε50}$IU/ʲL$?a"c eQv-Ȳ(땏?>L6V1dZ'njڦz9s/44M?99Gd}%a}A#QӖj~; [woc(]d,ł#gfa$CkŦq Uǭ'30;塴G?n>7?I~ MעԶe4q â@A98"Q T)MNɤZ2g˂U4c96w֬%B} JPZ#e1O3[}`4HIWHo £bOWҬrlɲEIFB$I$;@+JGJCu2+PEAiUa=Qu}6hu2ӊٙ;+~;3SbXy M)j( Vm͠u8< YCGїpB0 ԖLjUtD:r %I$I# DBqh8$@[:sM&:bhYV 333('W0i5s>M'>MkwUiodX/SBZ#`\xn,Ʌ"*tiJZH;0 Ʉ`SVޣR7I$I$6$BJlm y,ZKUMq6MFuvUUR]wi[֊ 82$q` wƯoK r/%="Wv5]0FS;K-"ۻo$J+Z103;d;CJ)IPO:1SETI$IP 1bۖ8hmt?AҦH%iض]b`0stEN:LWטauTOx":3;%%xA BV.(Թ-iDdn՚x=+S̀,{˒ ,u#]ƕ_0KT'3zO&@>_!`s4 ;,cmu],FHe]W\quok;YZg(ʌW"`;0=L/u۶4:$I$@A:!޸9קsL?4 $Sm1yδ t]G`".vE* Ѹ!Bd 85 @#63NW`ȴXs#E)z#8q(Ys9S6E<3Pjì,d%FA,wQL$I$9XJJ]u]4y^#yQж-uU؏4 ȱޡuMFP&"Qt?cgɔzO\XJU MqZLxGTAY g,O' P\696w`*2$I$ɽ:R@k*!]ФR Z#HP55RHF)%ιאRb2ڮ#QrV~@ A=E`q8Ci2V+Ap\+ ɆzU&c)N -k bThݯc,c:$I$MRf9Fj#Yk-m༧( \ (!`_//{v]G۶xi!Α:\FߡGE##Ys%RD06SgQB1ށTh=[#ʰ֑)MTx Q?׮,eO$I#OTUu (!cL%I$IPD""Ek-i%M0 &˘TS,#Ƞ,9VL&@Mozֲy>(j$bNHU3&1Ypt,8QBt ZL;k̘f‘yn,:Pf Q Z1d::)I`bYueyNe&I$IroQDџ̊ip@خCkMWմUs(#8Oe3{3kkkuMe}Y2D"k#؎D045:>iŦl6۠a*Ǎ69^Y@V06k޵U 31;WV;O~Z`-'I$I[ĀTSX4U͸, DiEY R"YNе<#(Ie[fJf2eZ5,\( a 1̊~fͶ!m `SVm1i#dfJَ)PYjX*nԒCfp0`FX%Zi a6+3f<ۧS2wl]}5<zII$I)!}`B|kuuuyK]3h0Ƭ'U9{u]ca8Heesg-{8J!DG)Ì(x# k*癝^YSPyRRK6JqyI,YJ< H-ɥܤaKvbK9bNAX?9۲n;ﳗ94$I$wۛſO] AӶ@g >FQ麎)%]RLSCι\`d2,K|thcp3H)bdleM86zOmaK8V V$92(f޲^#/KJ.z1Jux9ȐaFc3s(0{%I$ImCJEuJeڶscvn(PF3NJ6Yc<SUJJWDH Zm \b6.Zɼ!-[r(ZLTLdQix@>f":%m`Tɴm1iUi8Þevރn=aӈ!W]|}i%I$Irߠd?c1Yfփ疖MF16J0mfmml&`vv=u!GQs5NG&uË2hLV:8tX0KjLt@Yr5sfHTY];oi1Y I$I%Si]ak]C,vLpȴ^D?˶~2 BPu5ùQhƴֳV7*d !3`lY,GlCn wpX6bXfؚMـع4Lf,Ux B 6F2a|el VJ 3i$$I$IrfJcD Qg3@HUU D_2qM8/?<`Ekk-Ym~LJ9$Y\Ko"ɔ"hr{VWUO&RXnjkjg9b0Q }>ji[amG6, JPo-HH$I~O۵,Y]]a4 "dYZO+%ULjع~@ H׶u1uS} s}'黀peF=(-TU-3V5Q`.R4km͂*JQiuծg;&]+ 4+M 7"dy I$I()ɲH UYlH=eˠJHB+ A #a=x1߬gEyjF8V\IA!a6eO$IG iL BAm[ld$6U5F(,7!ڮAH"{ʠC#҅@#AJ2c(M\j,7lGnqk,DzdZva1bP^3jޮ[Y2VkfdE @3V)˶!0kdV4c$I$O)Ea BDeZC@Hx8¨>E1ཧnPa0(CUS꺦m[֌F>_3^2稽%o#*33%;0[Tg)9tfwh:GlG)e@u43mi$$I$Ir!":.%$!(>"ښ,;`40w4MML?4ᜣjѐUSY9Ve9U.rH^`|@Zdx,e IDATBMY5C #ak@Bm-ηtmC.Ԯa>3i$$I$Ir/H9Ck#uێ\iPp$L(G1Bdiu oD'%VMi}w#yx鑇g0Bsui #+2 'iĮH9n+FP02]a(96X,:'8Ƿז)ۨ0E76X\g*mR$I$IFiքiO/X/uFxF}r-@ tdR3?;zG>(1Yư(o,ov]GeTUAw+eXj,dd<`nڵ/8b<|n c ΰeɤfIC #G ̴!%S",Y]^EyFB$I$;,!d!Fwؗ^(ʢD `;yl9`2BZK۶̍ƌC|}jӚRJBiڈPZf!JUl[Y ӶPM*&E%V _N. ƁPqVR+C8G-#B"h?I$IES9{<0Jcƈt]gg;ryiK5Q5Ck-MU3NL&eٶ-08 ƒr[-&3Ub663F䑩YYF(ɒcYsj:\)˂cƋlc-(4( 1&I$Iߺk[$!$1yy2L1tmCW7MdeI, >`/'Zk ֓>Ht_`\'b/,uy7E3(ZK:69F29|MGm[֬ZGt+b3'aK$I$I!ɲ GѺ>4]BEAut-qMhL,"FdyyN[7ƐC44 < # `D+ÞvjW3wkM&tU y {&kl/2O";]eVLll1$:GYGPh44$I$6Gkg7F|b":XX\@T $@xm)%ϲ~ s:E`1%8en)O[,LDB+Jd ;|9aieEV&kdl@5GTY g.;I *t$ӽᄓOCǽu9~ OsdZ> "z{X\Xw3qɧ?߽ߗ}>s7t]O?s~ǝv}&I"`N3Й@HBY.$Fl6ft0e2(t΍{0g ,ضB1$7JVWdi'"@F@ O/׸kׯ˟O8mM7݌2q҉o|_2Aϋ}y31^~s1Fr[yg^H>[nuk^W?ӟp-rG8~?VטNl9~OsoWo>/_u]qܱr=˼oПi}<O.8u߷O?>/}#(I0}w@nh$I~Y F()>00A@k;q6)*-d %$ɐ^"c(Kڮ%@a2hΡǀ2YێX\I`M#DAEAkɳIbWy&cPꎑLVjʁD4/Ljn#K> >due;yի_)'>~>[so֭ͳc]o|w_ŧ?f=~~-ʅc[nU/}ߜǓx>ws.-l۾7i˿d ʳ ^t^o7ܰO۪887o{|}w;f1FZ;͘1}cyK^=4oz+yohs/~1;T>sG/|7W=)| ?S~x_5~NO!aR 5fʕhT*u捣utgBm$Iʰd?sΛˡ:YGZ{!ͽm;HЈ<|wlҸ)'di=hOñhbr˗|%?|o| _>>?;;.s29C}CVOZvſ4CZrE?v:G<qlz3cj̩PbCnlKNNΛ4ҁsV 8B(0"&5)GJ0 j~pzBtvtTu65iIIoo/b |`T'wHI |"+k-%m3_kJ*`YhyxpLօ]1)8g,Qr7OwM__F==`WwЏ#t/~ѣ9ۧSN6Ω=z\>ϱ^{<}o꠱RBC= پge{Ѓ?=gc/r$7oMb [k-Οӧi<|1X[l1}~;ޱβ)'|Ŋy>Ⱦ{θwGYq7/x1ڊXJLgg'O>4 .dc )/999o8B0XK=Ⱥ4"IP3ؠP |l!DH=8t1AJR(2jhV.bDIhbXIBu1Zk6/`E=0@SK-$^׉0&MCt`mpԥŠTXgA8:1;9s9Ʊ LmW')|m٫{z;vR)9ws͎͞;@ggGּ5^7V!քhfԨQ]ӳA>tI9} t{q3jHXz09Zv>1c *m׵uoo/FzfXr%Qqmz+o}6I"c<+Y)_#"#pphwi3z zKrW1o3^Ł~iͪۋ_|W=~"oD~weL<GG?2+__|!&N|g73W^̈́Y>u1k.\SO?'?3sG#F {2.\{Ӿ-p}<9T:;;X ZjժN^[Kkkkkw؁>w;?|0n|k{N;Ȃ1 )/999osX NJB38 Ҕ6R%I-B1scʕ J4M1@+3_)xJ Ui>u:V:GBņR 1:[Q.(ӚeF(&0!tHIEì˒C '4Ƽbo?9<`:c W%l&y݃ tÍC^ھMO>/_9|/_N¼rQ\r_^T(pw0}i_.}]{mwy߼g֙gpl eɓ]w3nfOl6v,w}̍͌ӹY~_nog-6(ԩ<Ύ|sxi5>oHo/ \73.''! P@jQQ hGٴeHVKZP$c4)k/1a'%_Zi |TډÈg=tNI@55< c$Aˬx5 CN5(%FVEC+$8ZΚk\|qم>_7<u8f%Z'?`0{ߏ<Dq /⊫q~+V\IV=N>eX۷S8'Q*)JoK,ZN>~9srUWMOO\G.8#;~+\cfK/cʕ$Is˗sc6oP~YݧOؠʸ)'gikv7ܰIe9H.կ顫?\yqG|3;w.W]s-twwsprϬ.YWp/~9ȁm]wljWpƙ~aC^7{}u͈$G,a JhVIzF{4E |o{}}l9e2GΜɁ=`u6CmSMgG'pO{>89 7bJ2v݅/>?>/~ps.Ky2fof3[ZsϿ;ﺛSpwۍ--|(gOj)޻hWk:y5 \6LT ,A{PVeD"J#hIՖ ZI`Mf:Rb(/x)^)oɿ}}4fNNNΛ4MJzG)E&8A$z]JFqcLjN("(RhY4Ei{zZW ()=\OtL c6k )ٕ){>9Jr*Jĥ`Ģ/4Y5b/@H׈)!H%r' ''''' A(cPΡ9|1j(N0RP^&>[(Icx@=rΚ*vSՂIsۇ,Z%Z+^X*(xHkD#N#$ IlDɲ 20m,SHZe}C(l B b0r%ߧR PkBLX,Ha%Fym(幾*;(FG][JXO jM*%2IQ*Kl98chXTwf2K&.+8[ANNNNNN뎒 %ʢ_$"őH%Kߊ҄1D[|G+H-A֚0dâ1Pa]1@[b>Scb|bdu(F"yO%TF(l5W,F@b Y,h(F¿5Yًᦛy?.3̭$''''''5! !H4siGj坅!JE͛*+}L?(Omm2]=8)ÐJZXR" 驡MݥaqȆM~!n-,2tIޝ]sd[36Ijz2rrrrrrr^StҤ): Zi͜4Okq_(&( $Qh㑥KXz%GV[3vj ZH`q&͢bbt\k fY"#kț]!'הf4ZI$I %/&+)Ji$QL*mgZ^B+#X<"t@bL>:`Pd KnscL+zthL3 @4! ɦDQrwrW.03E$MJI3)N@XJfZsEJi!ɧl1a ~Dڃ == sqʁ "V $F4k 9$YR%k"k4{d69ph uX;<9<ӹu伦0""5BI)I)(! FEp,_^Hzk!]Oϊ.JRو .1DRO-%/ل0i/E1 琍!ʖs-g,MAΙhaG.(=ͼmHjMXl~Vdݚ OLVfI |1RRߌxJ$8FI M +F8p`ד/lU[6lciUi]#[&Uc]6IVrrrrrrr^wMf2!PUZbVCJ2eA'B(#=b4mC 8&I 0Ӛ0.6NZ)$ƇkEVj5#e̵Sf-RVDgX\icz8s y<$M|/)X(!b j!ZS*(Jj1Kݘl:cMk&ͩJx-%JJ҆Fڒh8tR"DZu-gPQ'R pibiMM6Lq[KL2UA(ZS͈["7Zl+"SCQ*_~&_tzJ L $Vd%3 W)UlY.VS()VsՌ5Z"ddiOC(q6-ۘT 'OJꭙXЊM]wy7٣few:׳){_ޱTn v>ccSkk}Vwu뫻kZ-;ُ|7HnWeW9o>r;qZI EcHɜNi-[AolR)n5 `Q8+201 tɊ qh8KuX Jb$2veuMn4f!$f!Л&Y1nZN|3%8r~_ᶛnK/oن/W6# eL4}k=rgkxLaa_;+L8q͛njݧs{2u7/M<>ˮL}IlIr#p綺yl>a<לs<iE? )(_[vR4DYZZJH^>C>qgN)0}0VD;5D\#lmL iLu_p\#qn)lTkı4@)q ootr\z|}|P\O}\W]b_<䐃>?GssϱZ'g9\ȢE|]wʗ>?mz6ns=gw{l5e G ;u^{70dqu=Xs}x᱅3YLuA93ᇩVl,8rg}ɓ'5,b$ə?`g2yҰo(䩧ggÃ1[m%9}?sf-ֻM˞{GMK/O y%;H.o.[F__?:u*aL۰ z e?^7~#^Rgg=G^-[og˞{leeC< vJÐ(ӀlI3O/F l3nB*(zz)+АuWw!"t1]y$ez{9jLeJي5#giD7$*-2'"fRӝG,H!4=XhI6MfvRTyQjɧf欣9r:eZz;.;̓O>SG?|_{5]{o9 7H+:W٣fՖ[.o?r:csxqեpqY?eʕ378e#pIrWqWO:S_c׿[̙?xs߈q̜s`%{q^\wګar3e,xtA=a-|wzΏ0;Ʒ?-{>{n30h(6_;fLuW/->A7pq[M+nLNwy⩧m/rXyp9"),{BQ)#t1Xc*2kL\"Jc8%ku:e(&dK?|GJI-MH9J 1c$4[JO0dw.sԲvDkaMIp+RXR'PX4]9rwr7ɷu{yp|޶w܁ϻ9Çz~ȇZqisp!3OqO_go.p'L'>oM}\ 9(Aer0j/E>pZϷv[o/q͔ɓY1{f"60cl/9J3g.3?|~|CVO6uTY(p1+.gg٪ի71;?]GG{{kܤ4q 0h9쐃8'rb֑G^ays/?{G-{;m5e$X-˱>}OƃÊ+W\y>8`}LڊXJLgg'O>4 .dc)ηnI7>|8k}4ƌNnPx}nVX(y?_ne^۶a?gYg˩=]]7'L`nr>I!8qú& <{~c>t8u(zo&;y9 `e_5" Ȋ+Ԣ:3z(0ĚjBHk8K3RDtSƢHl6/J48D"XaIR\1\K( Vieu ˵F˄2Wu`cw 6wN9G̚F߶ ]w7O= m!݌1lL?~иիWѾβۘHW]ͯ/I/t}9A{[Ww1~AWZE[[۰חMg.=i8 */_!;-|33wW92ax<`N;mcv0v{)u/Yʂ?W\=ָ̜0hCYLӈ#(Joo&;y9^x~%cEƍیr{+j&A_h`^V3fhIҔ67n:;;EiM!A@-j5 %~%SoXj6$IfJcTa) @k"l  \kZS$*5kq-*rC:_wC (#~NN?_-{}kPb˦L<$vLmkR. tÍ8NH޻\rɫ>/6nurm4]7y$z݌A#)sc{UdnlfLέُrS׻<:;:bBrf֌{㷗~v5\;(v|#ᜳ~ qPΣ ُ]{mwܱfcGC=LvrhЁ,ĸc+m$豸(D16)˄a~I$s|/I V %BIjU(Mp*tJ |M*C  C(2k:.b cm8^i&,8cB"xh`2L)M!(5h]dg'cYk*_"v>옝3g.W\u5]]pu_c:r5a+_g+_+WRcO4;;>K,ZN>~F9/ ΝU\Kww7\y5w131ݧ>m7x T\_ÕWqo:ug~wϚ|݇~An´]w>N,_3~ۮj׿'^1,v֠C9kϯxs4s/]z+V$I[+O u Qֆh1g2dI=:2HI-)4B| e Ƚ%5 UZjO{){ 'M(M Z´ZMAKQ"""cVB1,3~og0Cg\NNN~3Gb_B~@rl//s);Q"^DP./I4+ ft)I0X,\'I.e e~@+ⲒN\ր\<3 tjI,/-m45w uJbZ/"QP dsu_ IDATyz7<"?9$SL_ q% iR,IM֊޾lykv<ϣ=(KkQ(QJU$,_+t!Zm RJ'.t4Y6{lʬb9QTJ\9 2BNkW$6]oK q̾vW( bgHAH4Q#D|_($eCu#}J@oRaHDŽaʴ_zRDgvIaY̦ C+ElReJJ:g>sg߽k lo[BgD~uP$m%5M$D"D,'zQ` X#!vRQ -<OQmJa+z>ajz eI]((Е j;:fwo?N>b[{矛D"H Z)l%UUR $EWCDwQN^:Q`cS Rd&giH 0 Q3wejLѮT(H4]RꊺPsT]{PL]%[TibΒ]c ESUS#z61_n#5,ȶ=2053tuTi=M27Zb:ht HE4Mlr^/[ٺ0s(?j┅_s=n}vܳ4D"HD 2F19mrE DAO]ׄhj\t(4FCykZ!uUvQZo Q#(m`}\5d4Zb݆umY@(ÆNE,̏ʒnE 4wMkLg`P ˸#<ϩ[ۆ snMK_5բ%D"HeYB%)\ш@$Rt;#s;(Sd PRĺaI^44hpֱ6hi(qq05XېIR"1\tk>yi%D"et=h ${ҟnAO'I{R 꺦BIjk刬SP:.rH)>LJDB``,uĠ00t!4ϬGޣc$#h QJuMI|4!H H$!$vҊ4]e(*g14+˨nWRfJ㭥*ec0YA5^⸦_t10j*09$O/na= 218F=qԺ({qZaij  p )Zi0o%S"H$oJJ2mBn݊Vz._jFIҚd#l-z4MÖ-[ZЈ#C@YA1Bagݍnd] 4YPu+;s((˒` [!_2I,l0}<~OLXk&yD"H$)%y MUE^CaA3uદP ˒2A-~ c{`GJ2MD"H$?>'%VuU"Ҭ2T0 hFksm\N[euPt;">jiD#ۖrZc6n`q4bn~>|5b4(o-@蠥OYZ RI*ۤH$D'FƢhsn EAIEeRHEGg|@4su1! svo>xJg-1 %R,6#lScbG ,kRLچ޹v% d0r5HXc":xjW1l*i"H$;dѵK4Ӊ y)2)]mȄ si6wJ"{֌G#,*Fg%[cDYVCWLkAA MR5fX4MCQTUEQ(iT$XYd0M]DFODgmq]!0&̈́D"H$;!bRX.Q LNVt p#fXEF@;. :BuV2r8Dy[F xn"S.Sӄ{ C:ES; m^! 4DX: 0(M`\F"H$;c=!AĶ[QS}jbEE(@! dPV.ӡK#D#2x)қf)XDdZJ-:UtsxHT MC3kxĒ-bjш g$D"HH^Ȉ*"dmmMo4HTng%ynN$FUdغ0"K"f&znFTfh|d.tP12詌q􌚊,3Vv<SHc-S07\thWL3#e&g1DH$D"q3+j_LNQWt{}Fyltח (iC3 s)!h^N@ŖѾ4Fj44*0?O>ޣb$r)ퟙu e<ָەD!ښٚy!` ghe1K$D"q#kZQs!cc+ "ӸCu D J 9GP\Ƣ 5"Ѷ-PM@OG"SŚTp?s""2F6tTyR膭 A"Z1FD`hH.%˂P\8k֦H$Dvg=X~#S`.{Q݂2;;z1Hsi>}`Z)2\$2Dhx8fYFK#v/2\ Dk6R%B8g'c H-1BQ@7/>Є.rIۂ()@ԑQ> %1??bo󦷾_]s 1h_)Ǯ:nC\i{[?S>q֯[oٺ#ɜ3wv&{;O~8Cǝ7]+dc^kEu\y3~=,+xylYdZT1J}@(o[-BU5t  H!D@k1X۬8d!=V !@ %ZQ2k&rcp Rl ߹yΫ^2t R |o0n7ڗՎ/aߍ!F. Gt1a/̓MRflkڒLS%YABY׬L1=c˖-N$U=FfBC It-$zHP !J*h%A ֭zV(zd#$-i%3T%R"cDHΠ_6֜DbG99M|&9ݸ+ŕWq}W~1/Gvm?^>wX~[՘;evYƢ-D!ɻ] 6 ^xtƣ!F69㦡 NOCOA%!DR:H"Ķ-D-1G%"m@ " :U IDATZ)(!uM0QBc J&7{:_|Sy1^4qw?-|w-1Ypp[ޫ+u{9s%o?{srE4 w]9Gnsa׺hZkO g/%fffx?M>hM|g𖷿o}J)z|>w\s-<>\۾#*Uu&W׾c4zV c‹KUUv#8O_顶9寞$%?/}6eyus󬣈1N9G͵^eƍ?E/x[ʫw>;\{ZOK^ros?}~̿d~w~O<;|^3gX t(gNF,m M]@9p!^VPy$ͳUnQCJ)΃홉DE|`>mqPJ!lоWJT rR 5RwhC:f;ܕz{GO=ugy&:U^yky 9Ϟ)'s&5^Sqww_>H^tee_s<''3>sO{5\ӎ:|'q֗+_Rfe/~!W^y}+>/pŕWpws'>9_{;x[߶jܣ?7uyox='}C|Z?)?~RN߭&7#߿%7y⾊}ݸ9>G>7e7rNa; ^GN ʣHs%?ŗ\򞪪5׬]߭ӝv.r^?q时{?=Cvx>~wd%M3t OdK=BP(%u5B@*EyNUUdYrgfb$2-.ZC8%:rLQ $qQ! NjBhc6(JrA IMrRiQGv(غuufW_I>xccǼy_{|ʸC?$onG>)汼敯X~M+t0B/zcX|^+;2O/"~%<\?ܩ㻵qnW7_vwk/". 5[^'~x>cvOxQGwch4|{?_Ÿ><ǰgNt]z)߶Y-[s_UhWʑG= VJ)B|鿿OJ"w1e::DiB,4Fc!ƈ`vYƲ$& T %JnJ,]Z67}"r .Gؼs;t:Nx6p]s=V}?i[g͇6xqݘB^n3?l {%x%'`CgO<]܆ xke:oxlذa/׏|s/c<.W̪'n}pr;kkeGmZEtosc_ڸr~u58hӁ;q}k.wnmߍJοyu?}x1;SN?:R ~ӟ{;?я8Yڮcv=?>ӛev]lذ .m:pnR;2wK7!(#iІE3 0BPmdLJ6 @D"J)syJam3CEK!1 D Emkt&q,֡*P}ǪJ*BlSbc 6m.LRB ^g~y7ows<1۾|b֯_]#)k߮mo~#>}׳eVc^+zNR);<;[8_ۉzۻ÷>s }FJI4Gw87}\yGZ矿*B6zN߭˲q͵rwbzg8hӁnjJV-vnq"wn\{uuWvpW˸ÎŮK=3Ҋcvƙ_C~#Dusfg@ևUh,:pSIͽ!~,zxe()vbMhuBl iJ#3F2M̤C mMk -,8$Y^oKDhJc'e}Xn 9ی۲e {6ۦoLr?b4[le=WG6o޼oWnc_@Y\~ŕ\Kɧrw;Q̯Ӽ7'\ŵpԓ~q#>)'ɧG>~{Uۯ̵絲y:77OsGnE477ZƵ+_j7-;Y+k st܇R7y^p8/z1G{n>Uv#v#˧'5h7%sYSSN{UU vo ׿~wM|pw[tϽœw/fZZڷWo{u3-O~?)^>OlSp+n??ܵvW`vf{\><66_l;:o~od=([(%qL:dƠ*G#E^jɵ]_]s v: +}3|>YٺuOr*~n/;Mgqv趝vt>ߚ^d[3vEa )$yĺAMAOJʦt6S=r*Gc4 :ȳU#K#qRD:VBJVԮU1"D+*4*刚wV8-Zh!R1mU uMKK,\u+'soy+jB|:T/8YfMOz?_qx1{6xַa'>~Eg?9|{;ߡi8O/zɪ\nz$/SN?s=o~>{߅G~8O);t|kws1O8~E;}#~n޴VZZǟȏ.mus{qGj-gra|38/ O};M.wpkz^'#mSS#d~w~Oz{vܹ;$6w7:w)"En;n3!LBh˽Tu+a},iBtZQJQU i8؊ʢUZםqPUшfq;2\ީ/C9/MDZ.~я~yIdz=EkۋMO3֊^PAiC u+_RYGeUݦ %d+-=t %flCHB |U56&| NDdl,Ds!%1 hX A+0ED[QЮ;d_G>1xD"Huv' YFQ]#reɢ!.9 ,E a\5{4]ީF@+#Ba#MiF X77DՈ+44(%a"$$O.%JJЮR~0pӏ>WID"H$~cldYF;\㜣6+qY"bP:C |W-R2,mI,Gt]0u#ЊJeaEXViӪH])%m&'+h2RV?BmVeRS$qku'z|.$^s tRQYb!3qYMZ/)N0+15!ݶg ][y~#u)V@"͔^:ֶ9jd協r8ITFh M´>lwI"p3L$ eFjkRMa:`0`qihDeXFĠ:YNQMe69G4lX%eZ9*K~Q=_)B{!@KCl5ce:RmMčzB D"H$ "y#Nk18PULZ0eYz8 TwH26:J msNYؠ$e[,&AɉcQbP:HdxDh-@49L48Jg7; wfD"H$Įl(FCgEE㬣J֭_pq Ph)ȊKun@! D2Xƫ,[Q_.| NҖ6E'J)#r9j+zgvr'fB"H$۝"R+t3j*Rm&P5BGÖ[:Z,#"vz!-W,ihEVuwB+5^ιhB@ ŀ)-e ZUbEc8e(\let D"H$nw(*CWhƉt]5Z:[ ^-c4 n5KKKt:F؊Rk؅h%D(ۈu\IGDxvI(!8F6Js1qФvU,Ő Mib@k2)dn!.+ɴyh4"H]5 gzz`@]mS9MTrײٲ-Vj*V9s˩ BgWy!z7a?Rarp8䇗^|:!D6A T-KE7ڇż`HUk!{ S@"szzKKKј^j_qcVPBΌ:^;~g{xf9HІoGx!a^@X@i0MˆU>X  ]Ъ_oVN"1٬nQ?o NZ49K( ;Yç N3ׇ1?58WMtfhE7o'R]^x/~ת:^?ҵ"JT$??aJr#²,I9㲰 i=PSfWy7:2qZS1+{D K{:=CMl2ZC.ʻ6c%cFrm40޼y|-u:^A$Z pL, TQ]a|>|;OUa92KI?o#{8RL ˬs^Q9,1n{Z佣gZP76ᢋR[ۧ:^xu;JNyZhHw#Jks;YޟjF<\LƲR內ghC ^ ZuZZkZ5&m [K#ƴw 1k|u:^W(Jeؼ 1WsXKVxn QZ0PkG+PZQs#V*GjVc ԀVNSJBk+4 Noyy}S丬u͏r븦xJOkv*gp+YwTkrmZ㬣ʇw Ew4}kЛ*HWZ2g-'JP+JiJ8+v)PV¯Q^UkM)c}O҇IT2\G0ѝVYPj2ڌ|Dw\+.V}U u1/Y aXOʭ ޗ{&R)t ˁBpNt} V0c}to BkRPr7^[q^YO- k,(96|S9E[)F|9cۮZ-%P8g ;Jc1Z˙+:vBA!y1e,%߼B;;r(%^j< =EmU,HRX4h 1%z̓TD.w JNJJIi5TZ#*s[jM m Ty#bКx8r^6ԘqHImk+(M!۶C1쿮9}ż<׆u;5uY߬l3U+`e#w//z!ԘRRAu11\ {띮w[ԥJZ yn?_kE+jV蝒3-') eߩK^ .q'(=Q"`nȝklZej9czO.j4:6&kVu9E/n(5\)1@k ֠^l\Nkro5" [I?ZkQSs\CʅZ+Z؟s\.ٶMXg2`<\PRB#I1a035v?+nQ+5cE =N2/l{Čg&zgPk.4%EAՂJ{ j*ɳhZn JuZs}@K:v-˙q6 6uc!c=$z|HmGPmI:U=2>WZֺ䜘 ] 5tJL,4ZSjjn%Ȟ2 8x91IP3(5Ϯ$#!qH?c3jdQu0ʎŚ\ 8R(kpSK⌠L7z-2\㬠aA[K.#i䖴۞N31Ez,u&ĢQwz8ch0~N@id饒PJE#AӒ*/B#y[mMz>C܂T. urk$Sfk %VwHBZ `Z e<޲vP? z$ZjgJ=NCYZ(3M@y pQKbL.`UuXk`طk QoF@ I`Y9!$*%2FV޿ݷ|Su֠I:Zmv{)s9`kQs` ZAЕbYWPOǕ~#าi91otBwN3>|`>,t[y;_}/K|ܯ[./4ZHO~$S-EOfjln QypCҺ4-@k1 jԸbAy{1Ę4mVʱղYޘ\j! m8 WiGiBhVq/8c(Uދ)W )F(zt8RJJ%L4`߯{.4\.g؀e]eBw0Jcjcf1sL)Z \. ;u({NRtR-9 ua \ ۄ:G֤&s z²lN6hBYXkjL JcxJX{tDYrŅVwnogfW 5h2p B#LO?0~e=v "m)wb:Lq0cLut}7aryt+u!3&A4s_o&+.ȼ-)s:yy~ffYr̟_#?~xf˅e^12-3n4e㰬^2h7wiwHIk`aR#A iח߄ 9l< yf}z๾IPGkO9+/~cLyEfХu]9{Ҡtl7vk*s<^Xg,XAPizbZbF9$Şؿ m--JRLQ&:B9sxD/N(ZuA A 晴G5,2$k}'}u EΡee Ji4FseT~˾Kx>$,<'m,o~ nY{4SFPb{kδQN+r9 z{J2 < $ V}@kJޓK&Ԇ3:MSV@jJ\XCkԒ9RF2.F'{02usB;r8P+Ni뾣tŴ…}GnuȈPIy7 s֘B FvGn6JE;/p=1N Y sGQv \DК>^JSjI7=VM;~t0twcmǝцmYk  硱QsdxMSؽ['7>{ewuh/[o9_ !QCV`5Rh)_9G a7T$YukMhGfc`d~ZDd-[ʼ}xz3I 4V}BA&AIZ ""D̙?}x࿶$J%"ȎިE(qGrLxkhhtp(R7T+ɸzˑ)Y֕v%OsNP,M_`YCRb֫{xѹ><}$t zM5Hiy'J`Qw8KJ gf27l {a:TqΒrAF`½]䱓Ke'b.B=S)'$0׌@M$kw+${ک+U܊ JDW#*$j4M(F4ɵ2MA4YzX=ބn7ƑSa%aYIN76Re´F&zha;v[hԒ%ufA~͇y|~'qgg$Z\2!Lq>;d/8L܉ IЕ Qm )O dDdISy.ؒMт"#$>ʌYΟV$‡ <ћH~RNLL^n4@s)#Swf8cbD^ a"; Py^oItVIKoiº.(C#LefqgHZ%YO)pz|9cІ+M^r9bv{BpТ|wT`N!3JjuV+.P8 O/hewnjg4xrJ6fuu.+zr&&>s o5aao34q>tNOx8q;G5RwO:˛aPUZ]HR7{%n,r8{#+"C|_Pn9h6a@gBF}JԔ)%&(rT$߽{wo d-)F> :p,ږxw_<>}\(+rخVH5TGwMy9 ZE挻&.xYЈVIB v0_ww^i1kK6d)^t"F}-q[Tea18-ԙcp~y!L%v3B/u]yy9c|DĞPi)MAZ+R̢D c,ieR3 g=NIr-&T!BΉu^H#yu`x0V6,ΑzA7%4}t: Uڪo߅ ٣h!e53Ƌ=)I5v>N\[;PBWק7&L\e:GE\yٮOi9|pzXzŏM(a?^Kޕ73ѓ toen*03kI4 T*(C3O&´,Ns%rͲf@9f#v*F;KpS@"73$04#bR5:9Mމ.kTͳd{KQfhV)E)6@|p(>xs8KN ?QC_Zaim5,|Z jUq p8]7RBhZ(1 Z˨"(cQ 敦".7vdZ{Xm E|*>io1;fb#*hܮ;Uewpb%3CLT&J)h E o:oi֖j]@?:uLReߧ+rx保<c[Ӳx8D-JIˇ't7=.RѐuZ'Ov <].oė X/JQ8.RG@hr\?/+"VkL[%avr(Y5!A+ڠ/f'n)U<Xexfb+֘RA)[{)T }߰(%/T#p05yq:- kYjםi]x9j3]RLV N*4BM-muyX|8&>шMi Se3i!,c]vrІQ RZJ!XsPw`J ekFLq f|%M}3W91[V>Lu9͋AEMT9MPZʎGyF+B'y|(MSU,{vR;mcgщ Dv"SįR|ǢX#N[/ϮFE[() ‡6$\褕&YR.m"%˾a&d0A7.bE4A㬦=׍efOϼ{f@7ފBXc s9_x%ƈ&A;e߄ʿn* v>vMLM:=> P::"OyWH.V] IDATAhN0)A$EUoO{?fFJ;/HU<ϩ޺XޠE5(^z(m:j̕Z)nȍ&ƌB6Ô5ƝJ˵@F o|&jɉ8ЈHy}._yw7'jJ&DWV)K1V;ӉC+8|xy (Jp4qۘGz14*Z*,V30 뼒bCP0lEV =J6#Ί.$Z\YgLc<҅IXF Ow]lU0SJu kwR DOWt@J>mX :^)+Ӻ`ZgqUV؁ہ17U:ߡ`䔥{\_ktJZ3fQ oĶh+Ftx;O#_غŴ `ʻ A3gzwZy> dȉ&yV l+ջh\nYL>^Y1ZKm ˡf>_ OWJwkkA4S4y|&iE5]+k1ޓ`Zkg]WKX1e1V,Lύu=z<`ez:0ef6U淏Rj n9`-`8N#[*tDlEGQ[z"{Мfj8qp:y֕F|a=(HW:iFiK;}!^{X/Umn#f{N>nPѤs/FYRH6(#V֢PP_8*C0HrfLiK{"GpNĺ^Jsa{bǵ);HJ[ G1gT9pKMÑ_~;[ H$|^s_|cS*mN=U"4N36Ӊ>~`}|ZI 6a= M5RpBWq)eOta/QF0MZUP{άB׌G^ F[*1l%i]R3M)m3YWӱn=&y@FEe,U+ l MuRm<<<,~#Tmxf5"JLm,ZOE|`^y֙񈶎Aa^p8sp<$=(ʹt)^㉮4QχGicž$/$9yƆ ;1 XK)gm V30!~Si*nXzWN iZv~OBl3V>b9К'}x8{wi;C߬ˌf\钀.[FziwMi'1RY*N+^b9%}D{>ܰJFkJw^3j6Lխ2S6Zv<6-cB*gTev̳|}L|0Ѻ}J+nT* mPv_ouPV cLSR#>ʻ/a%wMP|5oqab0+OCCZͥVeT#4%PF N*z`̛s^G2qJ%K#|9 B73}6bЎT7N ~S j> nj2ro nZ^rGJ*v8ׄ5|6V?ݭL2 2BF,p LMx0B*f]Oz+|fw&Il"_c4 mZO~ ?O~aF(+,BLyQjcF)LyG*Ei}1ֲ@72A=}}?(颇ͧH]Pq.ro~ɏZ< }c^XZڲV|Gܝ{.*rodUդ%N9jO+o/%[(u!P7i4K9YYu*Ik !23FIWҀ?PC4@BȌ۩nefD9vd\ ,-k|_KPLk}nȕ\da]u6D#װQO?czxZڌφ= @1R1 Zح4OA4]jZ+{,q{KθiۆvFF3v. xvH?dJi" ^vqbz|#5.ȚAK &Vyfq⍥Ntp0#yn5^ޝlUlVj%֒~9Q4V)G=!tt`i|j7lgU$-9ѣd-ǁ8\0ۊ۩\~ыjL+v!/ߣ@5r j#Z@`}:'^mHp!1(E moq'ՖtYQڣ@ʖJۄ2-~l#Ttv*T}oh=k:Π5%Xl*\pՆuyy~9ҩ@bD_KUM?OWb;ny5gm'yIRZ\,utQ6= 3Ɓ48XaH%40'*8P;H Ί~3g3,0อH x7qM[ }/ (zUN#Eiln~d/;^oOg֒esw8=q[ˏ60 zE"s [p3Zf[lbL}϶p 4L4cFv ǫ3؏a2ʟIIhuFw,Ql@G`d] w-7֏ 3g@Sg 0k34[y^ewuĖBC +E*'(P#ɉrqGN* ? uOb1^/$`lj|׼O -_ma~nbo]6nX{?ߢ+0$܅v )F%k}ǻ N$;e˲RF1Nd,oEVH%9ոp-֬.Z=Hk2 ~9:Q$R]JAWՆ;Rm$wq]jG-EJL( Oc-˲2=4ݸQȪa79ŝX gߣ0ծw{h@N`Țge0VVϵ Nڦ ݯҚ e)spn}8+5ΘFPwjgBʘ1ۉoӊ0CX'6mp2ZQ+y :Z$hw qm寔(Ei_keD8RҼPÄ7a37u\yiB-W?'Ws?KbqX5(?CJQ)Gy>K͍$}i15ZE;Jk.i'SeX66x sױ&8Npd/|$B;(T*k d5&2<c!HTUԜlsJ^5qLV$pfQFyGpލGRҁs] -sb 1 *Eib42N|r6VX),2dXMRImLޘ|F0-5kŅT+O ΰ5/NJ*ɵS O;M9Ft!<މ C}tR i[:89tXafS>Uk*6ee)Zy6iY!t 6Ń284(eI꿦V㪡nF? n7٠XI kiMB9tmycHXkK^/Q:T,|*1Q9k=b$Ƞ2wC05ww+Ԥ5*Zy֘.CL5 .%`;.7>Yé黑5RB;GvFc#JLJT(^ 殴eyu[J@ %cHû h~$:#yFWCV=Ei7}{ctw[e;epExi{ۛ ?o]L1gOn,*$ N&PAYV'#nyڦޗLoW)&%V2ށ*c`t0 = Y)jD_HUd1xM#eG 5٦5PwE(++%!a zJJL 5DGt`G&)SFr[ew8A 2cJ3cXʭw7tAyb0pEh8d)2@o<]n ۾aF!ۡi-Wө ĒF}Vث@[U pj1XfW;}(am )>-7O\KcкadRY<%Xȕ[MxtYp_y <߻^/B&!jzR8qL#{R I`$|F#ĒE7Kh9ҠAwuX/9J҄#+PEi.ͷ~tgb|4N7tx y(M|KiG֒HuH;x>0fk*ZodyI;-h2hO_W'~54g>$]  z.靘3az 1DM(z,,@FSc;E Ho/Gbs~#Izegh޴1V նdQw [kCck u/'B`%.ח+w%f^{gCQHgYay2#/l ]?Pל;?cMtg_$cÈ3S7ȏxnx'^dP:s,q 3,Gә5=rteӤXKg /\zn73F_Jb>( pQ aV{Ǒ~I :"Su]0 \+j~s{%tAD!9cWVR%:ڎ+9 i IDAT|Lt&;qazaQq$E 2l`f@ڴǃao'\R=Vv:Gwldidv^LdꝜ߂ `4X;~W)4;dD5Jq,)]GL+m0=J&phwYIXjpR^1Fen10=vM|/( 'y ,i)Hٶ[.$7GA4X=u!wNjДbɽetS? m{\Vl/5kM+[Bطob~l(9L%[xt|q`mmeA[+lQ/&I`Lm3wb4^;]re ҖQ"V#&8ۊ=*B>~~o;C8RI`=a(bl5㧑=&l'[S-OkkƹCa?}1L};ޓFqʣ(jk[JXUb`%E]jjNL$FB3-clu (#)0Wk<:Z0|G_ [L|ُ_ca`c}w Vjp7u<- |L Fv ,eCJ;|l A.JssnkVTG>~/nýSNQrk)XBlV;^Y Jp2{xb(dwfq+?|zl<GbN[:4J #5Z͖sbGXs9;JfωNř@,Obn%d:m1=>xdy8 ߾oa{L5L]0q~I؂MPIB׷*+G=2&F9+x]5s{2'j3=r<ud뛰XmZ r+E0y5Ez$EAl6wI*#&eF[BIRd3tU*/iҩ)?*oRΤm;I8i`&W)l7ZfM;certֱ=2s* ciBN{TŀAQI6nW-)U 'IXCQ ^[N}0۾q67 贠K~m0^;{2}J+Y\kAB-r#Z=KP "-= c"qd[ U=y>?fəp=(1mS֊l;SG(תma>Q4ԑ3_ǟYߟg./~ɏLƌ:%)XQyT{-3Fkzœ9&~<ɃϚ[ܠw x h&Ŝ!&?q:>~zz}c8qB%U)‘X{D-Lg f)t^.P\.|;JS<:j*촘xf>-ƮrHo`΢2:O;__VAh%) \oWiW8< +ԘO9t JPyxkYM҅M {<`}g&58cXn7޳.+ Q+9JamUry KB7"i6(B `}x[6u#A"]/[m吕lBlX V PYxBZL γl;}/A`~T:+}u4n=KwR=#eǾ3tHRA(Ҕ*Epr6-*" nZ)ڥfFk1?gƩ"摚mk4mj:s~X K)(E k [GwI$C]21 daL,/u1ɟA,ݱޟo˯>_'TIý.W //Rԏ1UV3uO8/×WF2h*]pUIή [<赣s Be]]x.)Egb _ߝl {r=eBPjjv`>~s?Z `o^_b3rd.8O_?c+"'߃D%8 ر74}vՌ6ꇑm۰3/|8n UD;ۆxGS|Y4z*m"7$Q Ti~a2u;9=:qHT*zUwٷc=EVb_@ J/䕯ȢJ䪈1aM=[7NAҎ~][tEShƼ[ݞ{*-I'ՆYz]Ǒ[靨HRv[n(s䮞C\P?tcq(HH]sܛ0͔ M7MJf>DSC[ʋR1Nr*ޅ{]ԑ" "]_b`zǷ+8d{l qؤj2Z~е5۲0u<쇔^[w;1)Qdpr=S?r%pBx菱q̮*%YWn7Ad䁷 1x?vJqܣô rH_E~FB9 8Bg=GFۊY2*zi p"wJ?=:0Um(k"ɀSb:n{I6CBQZk ǺɀJ+ېt(Gpg|4ew :xq<ʊVanmYi_߼}Zѝ'5%FP[ˡ3> V /Ύ/߽RcS'}e*.Lcjƒ%ԪI~rY0[bWz\D#sVԍ=G "퇜Ai6Z"ty?R4#1u;(dmpXPMú1AhT$^ZAF{ .Ds,U`Gbn` _+E 38'R+l _Ϸ_oSpם3swŰ,OoKW2Z8rbRۓGNH7J,{J(guaW+N1&SE˅n1GfI:g^|a`ϭf ۺbZtf(n}`KPYC:eDhJA qUVFK`OEa]`) btn?&^7䉪mpxtz*OQ -DkIm28sxm^@}χ6uD_E,U6CJW|~# y?11u^5܎J.|SxrĒa="!tke]6~ۧ}VK a ߖ0cB@EfU l%=%e9q价ioD<mЊi`S=gYLd>{r `|&j_n5]-Ҿ6AsxcS2(VL|nT%?Zg2c@K M.W2iCqR-UE$%dܞFQEmdD{[yg:CW~t>a3S(e(Uvor(y2N Wm{[/\ҁ?lN^mqy[3tWHͶ:$cضk)?7?X1_[Ak*KSO8w&,B_CU(R,5s&>~t+p.$"!Q }'$H ULd9Uo.O܉ov Z4ʫJx4'?Vb4txřחWu,]('^>})<ͼm7Г۲p>ERj u_k9p>Z >|if%lK ̲RB;5!eW֬0YS(_-]y/~tmNٶifQʴke l`Ii0TQOtl^=cZ RCmXQs'^}a&J-.^IjH?=rܮ7ǏLO'idj շY1˻j 3)eXW VhĚ{Ix:mXui-R-(%0UK(˶-Lo ֺ^/rpoj֒\1|d!-#3vC%-mByLl.R臁JОI۾ U {IlS$PmV,J%S*pV#'۲2xVou]ZaJ-XxW\'~ϼ+zT*~8JeY sCh_[V=s֠>p}{cG{t:AEHj SM-J4q]c  F|A2re w՞b5HXk\/R혶Kg]T 3xO< >@ [~BRHF'ܮ$x0u x9dMߊl-"ղ$fXRB2ŝz7*݀{ xmJ\G<{=V9C"4Z[yEX7tvŀvc͑bIj@F)ˈcMV+nd>h>>i-ܙ{zTr}(T1ܕϭFl{QK8k5N/@<$g>_󯩖g?-j2xnMol I"Qݱ\;Ż$pk y[nt}/,90̲-MU9;luU;sv(E;=a :}eT;#s|{gϞ'NkWv ڑ2jL-,( ߽|ŧOZ)"=EĮ^dT,?9|}f^JB׋xrXe5 X>PSa ׷ K. Z)4}rSC+5녙V&QYS^3}nͅl%o;A8Z9NOԗ+W2GC Z:M%89gو9On#K DUEΕ~A2NeMKQ+apZҷʀ$]Q|Q:9?=Qj7S7 d^_D^u:%Sw,5n*[NR 5h6̯ TdJe&Ts!mXR|7Vzij|_}2t[P %Mc Me6se]qC xGNm[;ׅ\0Z3F~z#4֨"BCd |\3˶)X"=ua^ +y6T2o J)׋P!jDJ='kZ\VQz1R!9SlueV0R9#ZZkoL$O$G~^*TuPƒ(h%p5Qrjh)Ӹm`uՆ UW>|$ d]~]žmX&ʾ.Jv V)\FBp oǤe[)1 ;HW岯|O6%Iinvc?v8#RpC'@>z2U7'J Sh1Xk^n|2O6h߼ IDATޓqO'֦߷Os X}żl<[!`Џan>ND GyzlxyORq5r]psOhyOVΣ@"ǾSeҎpZǝC @*(kd63e 7 !pn&aj$s׷y/+2x~LNUR=8&gъk YaWO|/E9 f&肣VW\ef $.e+ G tRCd,RR%/_jeO2f}T[֠-s24$sn]? #qэ/ sբ 3'u(0TMãy]ndk㕿;?&^)pFxwVFTFcIN,0sK;6V:k%4|$Q"TG>N*Rpּq3߾|3Q|z{xՒ )rxjo=w3|ɥUYyiMrvQm;ZU_BaQ+L #I)a` P7W2~DznF) Fɢseבe2#˱Kd~:b[W~W"|U*S%z[YEEVp~X9hqL򂵚 Cqu-vRg?:ɲ,+g 5@SЍ$@H7x !QSUٝ>fYTLnnw}^[O_Q{/.!]SbSF]8TaW7LyǺޱZW] K%"ÁZ+6H K)$Xê+1\PЂ'`8I(wdUqu8c!&{F?H&^tl9񮟈+Bf0=۾2]+]Cb47GqcVrthTjV x`7+ӲmL]O)Yn)  q05B,S0 sdE=jŲ({N ]h=ex0p8 S&v-D:Ѝ@ ,u;j[)*:X$U5Y7WmTk= 29aVU1Mr'Eԛ[6ik+t2њ,g,1D\eMpdJzXm / Cݙd7Fi.N*6jH; Хc";:S)[BaȡǁfV8`r!/An a&r=)9P n\jҚn8i~lmv1EJ9dbzO~θl?ȧpUty|>S<unkz#@G%ewN7 ^fVVe]Dw2`c_O'Iƨ ۺcΪVjHzW~̟xߝ&~7Ã\(RgyH]3H_ HjauW*`FucFpc/4bcXkfekbgl6P\ m||`,\"qp={zY(A|yayM{p]z;vVbFX﹩,1:$Ud>g\0ȅXי;.a2IT9<_jM:Yy+ #;&U^cf͙͊sh 5¥Dd7l% "}J 9D"PS!%1YB2vd$1D,LUl-ZmxT<)ZyFVX 0HjBkE0¤AWRx?Xӆk|5P =Ce8ˮ 9{9R6/Pv~{55Q沯Fe_R`1+򆯚@%ҊN[1TơoX зIhJ3иsY!*ͲcNՆIi8Axh庒!+?k^>?I{""U1FMUF^8Y-E/8M&VKHy8؎%fK~YRn;Q+R,8eQRhx\4RS _9r<4[͠,;~[yf{2G|v,51o䖺T!^%$r /Z _*D!#|ob젓MScc%e^PNL#{(XyOX銄ކZF)]/V3"NmK!6(cbЎQK؏,:ʹ: TvK]mp$' a=N"7F# #is*K6e)M"GH-h.U8k9\ׅ0DKβ{NIC)8-n(f E|1 m $NkC-!(o~k8tCݦYw UW[\F5=M7v&o˴%UN6E2o`Z@obBV1Y>--oo,R|Bk*I4simvw~vbNѯg-;cYWzI![U+x69zex/C/"t]@q:ye/_1D\f~\(Ȕd{YLMWxMcJ,föJjM2.Fx\!]~}<[Nxs"Z.{vc-˺0Sk3c W2;ۺԤ]xk:DKӏuֳ\B2I $ \6$ }*g᚞Rt{ rv6Jp0h1~uȵςԾ[`AԪpWUqZ܆leB86n: d*OaaW @)쟯XQQZۀslac [j_f/X~ Syf6]R3^9aQr4S5=Vz&JYe-{?cpry%ҫd^Yhm7 =u;P%i<2A9s||`N>Y% x(BgWu okaÙa„BL ]7b)wZ*U+`8&ۖVK/8a1J;/,C\@s3#זGZvSja: 6 #y=YΜ:WA'ng-[y|CrSNl)8g?Tulj&WwwcH$¢eJ+v-ۊT28JzqdvvA$$N* =TYúmMgsdɑP2W˾M<IZL֊LJk>_gieAI$׺<"*\PLТ%J䟖}GĤugq&!,9[#Hww,ӆε)xwh<ק ;'ȃv~w^t.LMu澲ϟ:O;R`_R(;Ue:|'% 5ENV- vmVΣm)VW s6EP91C2=ELJ3*AY=uo:;xc"|AxE1HZn-Re5}^86Yah4D֠c%ZdefXpѬVlAxquZiSn+؊j˖b(VGNsuI.M]0NvAna. |OF5V*HnFݵ]z("smUN7Gdn_{MrSkzBMfj&JYmT1wnM6ݑHWJ!4`cx?mJ<DžsyߘI KNm) 9D#9'qq:Wy;/1FD5MŧKAl)$u<8غN,!rwz׿5l|s(﷾"_G-#JvaIt++i򮟘kQ3LfjMC.h`۾LiZW %Q&V\n1Z5Zn ˺I_&$΅80D|F/oU<"al/+=HXw 2t]t\kBId-Jw\) Dvgyrž@QkD\7iĬ'e|}:q̻<{r]fNzeltڲ@JxmagRbiM<Ɖueu^f=)bVDERH(Rt1tJ;}|ޛwBW7{A&M1Dβ;Ly,Ro#)IV"J @Ȓ D+ANFKM3 "5DZxmjqbeMR(F zomqÄ;+SN3w^tMVIDAT>*yt~ʩxJ+e]I$,:Sb[Ҍ Ҫ ][n&(yufLۖ OuOwÿu-;0&7 F񞼊8"XJ%7E*ZCAc:Uȅ`wP&.P!I-Aۦ0JPG4: Q|#r4?q_ iP8ְn8ắ!J1 (rkt֢*?ۚ2H4N1Hį5h}oȂEzϗzhb!i5{kQִS\EC!xsļeUVY7CumyFV7@Aמ׃%'$Z(kܜ;ND)MZC9ᜈW(34jŀC)9֬z":3oD40u5YE鉏]oZ!-\I@,=o#s@pYW m]g@k. `xΜljʽHGBSh'sʢɣb!%lhe8{}֒3gDɅnSgѝvstN?NXiZbc bU%x-9 ւhoe(7}oQ}C?i[)2u=JUBI c-|,glVR3}\'*DHͅ4ffHIm [)&WZKf:FcxgZčrՅ'YmY>.{xuYwO8*5ez `/ B9!kcl`j |ՏlI%dڷҚiXiankyɀm8PRĀpʊA[غuҤ֤'r{=bLU&oj^ˡ|K~$tE$UYJ%kTˏ !|Y NeO,˕a"l;iPETr)xlӆC70dy\ʯ>2fg8$C/,v\1k-Or֊VY-]W.!ȥF.iko.OZ"~as鴡x7}z,IY.v|ff%yǤBYE余Gq$.mۤB_M1FsgR~ayY{i"4\N y]y'x`y-FHBMj vȅsE{1.Fƻ:Yc޳L1 dJNҊ+}=^1K0 Xmx,e-5%/ky;/.8 ˲hx',JJ!p: t^Th1qFNA >O| l9ixm6$ϗBN膁Z uK =䖍PY5 5VRc^fI{i2}SgqDT{}Bv^m%ڻaeW22#7:dF߱^ĵR%Zk }"uj\fg$eۺܞ\4Y-=p:r!P_tB8a)Y< |_oE?H^&W\,ƨY#04J<wV kTQQiJ#yYZClW_ uNz4!{Y(01P(Hm-jKQ `]+c;u[8N u WD ^%佣(z}01=0I\ɾ]f9pyЊ;)'2th,2*R3r7i?`JLZЍv[۵ޮa%[yh-d*cqd^qԅ@Zě3l5cH[ZԒ)7"Rx],UBoܮ4\Foo^û뱭뭙%I"9ء3k_R>w,2r73<0B\p0%)*$ Csc6Qe[W4O6pƎ1 83!EuqhRNAbO̚:jik";\kpmӒl[R ;qU(QTYEj@6_I; 1rya຋oԻ(XU${.//F9wqݷV 0xi.;Qr$RfsP޶/rP0DW&64'XϿ嗧β$JΛuYz {{N#,^4*8M :|iM#ň񧌦0v,-#-m8m|~ n8\%oe@R{'vN1V1,KPzBKCOLB^V&ӑHzDC8uum&Guܔ46֒+hY1oP]ln۲&_QJgz].<)#dmycO$L8\Js*b pr>*Xk\ VN=!@c-)>FϼQǭ"dEHD;?W*yIENDB`docs/reference/gtk/html/getting-started-app1.png0000664000175000017500000001123413710700303021772 0ustar mclasenmclasenPNG  IHDR0Uh³sBIT|dtEXtSoftwaregnome-screenshot>-tEXtCreation TimeSun 10 May 2020 06:47:45 PM EDTj IDATxyOw s2 Q\Ydw}xvyG6QQ"!DYG͓`1d}6{ht5JY$r pMMWuWuwz~jj`=_]llׄKVzѽJ)\%AF#u{]CX -^L&^ss^ǙIX$o:}u~}_9Y#PpVGe%!2`^>Dz%86;nb(IR!lKRS -1+*#$/iu;>vԽ3~{θ⊯ֵTUU{qg;oMKڟcԉ{"/5rFy_SN=}:|zzKTUUհ5j߶uӤ̔c^׭qߧȐ3`_mӣO}G)rªa:4i9ձXz'%ۋU-|Cs.&^tA57?WϵG?텬^YF`M;ڷgl; DUqOC@G`:>jT>Gc[~^"pMjʱrlHO7msrl\cw~9ǸBr5 WFy(sooһA'P*΁Ѥg[ZIR׾}Z퇴O ane pa=SziͫڿD02Rr/iάZnviтViM`^钩TWK;O_4ECO߿Fx\4Mr~?[C&͛M419ӧ].vjk\.-k.=y36ٯ(8y[ZжDJ1˴}ƞ4һW΁ɭ۽.ת&1AM9_ko==>٪'Y{??=o7ޠ:fF%]^\Z?Yi|7zuFsݫGxJߺ@G5Qw}Y#Gӟrjm޲UN>KG֋8}W} C BwlMGRZжD ۖjkvloV˄aڷkͺtWo$>rD}eu[cO/]7Ky[Ծc>=/ugI~ܽ[_Znf]LJ-Q"ЏzFOXi)}~vա]:uɒƆz}[H$߽VyMrAQ_C!Y6WT4hw$lnҢ;Z2{_O1Cʫ5c֜׵oJ?Si݆M}(;om֪?7oG]]J&KI$'J*3'&IceΜpv]]UWW? /P,ӮA,k(d? f!DQ*!CVUuF`ϗry{ݵOϦI)ᅡRGZxNlƍvKǟqHsO8t$Wy|,t(ÏpRա1GyK6U x!acǜx<7ެt Ғҫ7_չ{镺nz睫s&MR2T2y9>я8xP԰a^S2q|N/)% g!,dYth$_D::u=wWxscfXScOT{^w/>y{xW)5a׃q DK깟z}WݸTnvmZMlꧦkS"C;f0f0f0f0f0f0f0f0f0fyJp~gn}0s?5;wI Y Y Y Y Y Y Y Y Y Y Y Y}% )WHDJ4{j(i#````````````5gἐ?H%L&,"`"`"`"`"`"`"`"`"`"`"`*5`ޝ9@t/]ygnDEEEEEEEEEEUlܓ0;sB7H=3M.ys#````````````_| Z5 0`````````````_v HDq000000000000+ezKq&sѕ_0000000000000000000000000+%^? EEEEEEEEEEEED\DC[}F`"`"`"`"`"`"`"`"`"`"`"`;`IdN&sѓjsbb%a,,,,,,,,,,,,~'nDNёm%Mf,,,,,,,,,,,,?nORNvOv*jB7#0f0f0f0f0f0f0f0f0f0f0f0fLݓS:D]~Wn|XJq ;z :Wp_ye0````````````V)sNtON;'rs99َ1````````````V̝T;n;'rމLW's']7 ݌EEEEEEEEEEEUdL^r*AWRNN!ӄ0``V6 NxXzY>u{]c)j0zeyת r0i"*WdyY^u_?uG%`^^|A L|uCHf0fr.ұÔx940aס^B/,睼.lr+%?sF22>˶2H^ ^yskB3TA)J~l9`A-,2,R8fybVKm(cxUx22 2H^tLò G`AF#YʹL|ʏCHcgR;Is`a }!`;ѝl\vv h~w9%cxyxrX R22o_x!{p#`AL #0/l%d|r2id} ˺XgR~XRJv+8[VPGa8^+bUK)K~=!0KPV On8_Aƥu[}Zo_i}=VuW`/`#wIENDB`docs/reference/gtk/html/getting-started-app2.png0000664000175000017500000001611613710700303021777 0ustar mclasenmclasenPNG  IHDRmsBIT|dtEXtSoftwaregnome-screenshot>-tEXtCreation TimeSun 10 May 2020 06:47:59 PM EDTkIDATxy\u񷺺Clla !`D ;*2^patdQCAQ1qEG7\YBH®HDT !IW?ttUNy~ϩTSI7NUG;DC`x n=ɽ~E`G{AU㶥}}* q=1`?31EN~i?VUXJDcN'@qQtS|ekVh`qU|=u<ўu\E.sU1rm#+# ![ R\ck4CkK06-chZCF'o[D\Ql|(q+gV3(bsvThtj0}S*sB~:Q'ciD.?+uˮh㨴%bq(ѹ/ FƒNƢuj0%v\4ꗦ[pGPK;%_"#'N޶N8XcU|ca'#b}DG~qs#ϽO'M)@[ټySeݺ?kgxr]퐏Ɏ&Gb{ڌu_On7ojf:^wwO4~|䰓#Ѻ6Jݲ} "q_{U{=vSGk0ܶ>{7ӎ(FoÆ'bݧN~Y>{fEamŲ׻y]QR^9}'DKcQo8ٵ{ςxmkssfM{:bBs6onhVo>˺ Fڔ UFSqR+qAsN,Yl?.;r>6;w3_ţn\oDD83>V *7/vi\+b`̨VĖO^y G1;zzH(uuͬMĸqbƍqm 5ՈӸ1}(J3{ş_u~a0^߿1qP5n~KƉzy_Ă훣\ޞ/T{kF7|N|ĤI#"bq\Wka`?=/n N;xͫ_0&O3'⎻>'M{tɯq==qgqwo[]]]9>=rv|_n59xmN8%nݺm1qq߾"N8%î'|훱`=wf=1o ""#GtK{1 \g$1u=3b\OO\qg#"Rķ.~v-LJӧ);)F|[W/GDߩr9eq5cmLwđ?z7ߺ0*Je/75n 02;-~u㜹ygω(E{bɲ>{۪>Vgk03ͻ䲸3ET#o vo|x˿6ow1eXhq9ux1GE\w}|kO~~S~1}>G+_fw9qӦu]b̋7 뮏\y^Rܺp]㟚}G1#g;ħ[ro֘8aB3}(v|kzQOw}rXzM<<]LyQ.[nO\7ıGź/]<qg5w3""ܸ1nX5%˖Nj_G<VRi#YmYF]?OcO_pfco-X/?%06k7$wZ\tG\.weqw=w ;}3}Dn]w̉ϻ X{[w֜;x76nqcK_o%{=-aqyxlݺVnArtx΁DDD4px@\:nzzznsQGDTUk j:X:""~gtiq]""nkDD,Y,>O̷G8pݑǶk]|ET*=)oqߧCF5Xj5uzcbޥŊUx}1gGDcg8@ |=mF`Dve վ7UD^S9biOWy3a]M6tbǪkC_sϞSLksa6J5}+1i„^{\Ve+VGW_qg.[,4Hc[ֵq^bS1u֯q$;X|]QVcya+0F5'bqYsbYsb>{Ǫk.h]GܥGws9cӦM1?/I&;7>뮏wl5ujDD?.Y7on_xs9>;.#JR'CC\ͫⵯ~UpKs><7^p<Ćx߻9~kGg:lm^jb}!5ͺ;`qsgƽ?#qCcيqk_3"n9xŕq㍯9q wߘ=밸̳΍ .xI{dД.|́sϚbɲ;x#;: fpQx˭Foes\+k㭧1ver-Fooo̻yг ':ow5=F|-3 v= .{gA~vcʔ~K-xɯrWW|7}0Ə)ʠZ0ź>Јem#^Ѭk~x?MO3}^?7r!8dž bw̃|g=Gc=5W_yy\tcʔIߛ2eR|?W_yy]֯2k;"}{jzmSO1i§>>c+tC^ #7"6/kR]UexvT95:X1+ ]6V~n(F魸s9-ts- 9@jc)FZ[պehlQM/ |ӋdhGa UU˗5-TX0㋚ 4)@J0#)@J0#)@J0#)@ۖ.w-"\7)@Z?h %H FR` %H FR` %H FR` %H FR` %H FRxUrSZՈ]llQO#)@J0#)@J0#)@J0#)@J0#f4@kz~O5Y}55 K0#)@J0#)@J0#)@J0#)@J0ZU7 _ZQ]um&H FR` %H FR` %H FR` %H FR` %H FRTXftrW]Q[֏Qr#)@J0#)@J0#)@J0#)@J0#)@jX_~UkoL#)@J0#)@J0#)@J0#)@J0#f?/5hkˣ#)@J0#)@J0#)@J0#)@J0#)@J0jU0H@[+;\}ĹS*z"?e~LQh+2;ubCǶF-OWt iZԈ\\K#f^FX%⩗J\zN/RjVz|YKlM'r]ktt3sUMjh4sE)rc~s7ʶ\colKM|m0V,GԈ.iS>Ftvta<{:ҸX4jNN~ѶF'\'o[a`m![Ǭ1:89Zthhh;EԨ(v:uu O0\ٮ㨵M/_T74E>_mT:۪c(ciةsEtv w֩:y?vrSc:ukŖc3?Kɲ4QN~[ö1trڶh[FT86$X&Zö:0.hV<6bvymN޶"ُPNu~mwG״ piu-tEXtCreation TimeSun 10 May 2020 06:47:24 PM EDTe IDATxy\SW?OXDT֝qgZ֯hUt2踌ZXUiŪ֎n (jU CIB~޾+<=^jA7Q tdtv̫{2PQ7?L&7MA%U#k?9~{όɀas?cVP6C%"UIkScǍ؉N]J>jRWY xJ0@]I"ƚmuS}nUY_}Օ2 VXu0.& I1#Psۨ0XaT5aAz0-QJh>'la0956cbW|ј{܌UڋXz;5:^ER?WF}M W_*>BSS{sX_Sm+*&(R yJZ[h &ژ.GngHI}N3V_FcǺT]*R}iC.DhK.6,tlXs}n[}M0RmRF0ֽ]_m@Up{Fa,kb$U5aڰaCNi`ffn)""":E./*Jsݷo]Hȴu,^rj^VGWojZzjN/P%ODDDT qvUOc,(UU^*aT1F)T7J5ƃzzu?z5aضn]Vi~ ~U˗2;8zr .n]aaܻ[T6P""c|C,׆QbjfkK@:5]=Ny9*r#UGDTq%bE 2!*VsQ}&T]4XjaZ^07R]'&} 9ϲ!{1"A hTӡPffn K1-,a"A&T-^VƨX c^ Mw 6j:cJŒ^$߀5Uϲ{Pff011aHunUֽ X #cO!и}MBu\ T$,?C:ޝv2 9Xi$ˌ02_j'Y5q _(WU\!\&SsܿsLL 2aHuF~Ru*,x UMADdmc yQ}M"#&"Cx%3Uc1D¨=j<"x U\ мY xtx Q ix 6<%M|a$"҂ɐx::^%MDDTx4&5UG+>ɳj:JY{2Ӧk<ʔޟ84 Q=^Fvk5=wG۶5VP \JT8jȠA5NŸ_]3僉ǍjaCѨ @k7gǶx4 \ PXX7:{#xPXZX`H051˂DF9K)xM!h`G+>o'o\r>Bsf<i8/~FZN.~8|~{f?f8ZprBuէk- ױx3c 1mB_wx{W|:!r 7fڵi]~'b"܂PPPzti!32n=LMM!1y6m?ɆCӦؿrۓ?=Ͽν{hЙt%£Ǐϙ;[[:"IʂkV5s<=RNEr^1O- haXױ0#d ˗xg| ,2>wТ3fϜNeڍ}gY3gc?+Z4t,Z1 #Ⱥs-gcTGh,sl GO?-[8g?L`АEг[|}'HmixXM%h'~ >?DG﻽9y#+>݀2Y7+k_:yzMri73!Wq?˸4h? LU1@.Xi+rEl3Bmpޯ⳵rgC|i3`B!W={_l m0(pТ3_|A߫pޯjOpۯ |8?z/o-j N?|E //cy5perSB._]NNpvrd=g<=.A\uٯ/EöM0o4պ,Qy";~Ţ˱x dݹ X,^`ƴ)ő'm//~}c,wR)܁KLĻ$)$]n]4b/m۶-;O>ý_8Vr_}ah UПI,YLo߽,CSRx[Pk7n^/MP2n|S& vyy_Egf!//y(,,Y͛5e;9eaD"I>W4F]/[}6NzaS?ru phTf}%M`Ѡ^p%/WłDB!GmwF޽(,?M$y9ϟh "y.>yu,UR9հjx)+sݡze^'ƨZSG\tZ\bE\"F9/\Œu[9:2L>x/оmj9U +afnVg?赆 `z6M% "xYPk/1lH7ƪuW{A _uէm_:yzMv ph*q\pwӷqm1q]&\s'' >d^o G/]abbK _uէmpe-;;gn8|>9&4/P,UENs,^ίL/]%]SD7i KK \JI-sO ;<_}K9{AsfR/_MgݹΚˋ_˫OtFZ-\IN=t۸ /v05z*ѡ)6eܻ/LCyn.N~ nh?=UFV}"_mtfycy߽[.]_'S 5/x/>053պ??łii׊?+%D\[UFbp>nAHGqq1>A֝{blھ~ ;w6L B_/ qJ*yys0^| ?k++CF6ܿZďN}0np,Y_th}վ== Wvv~<υ+"gM٫^w|"4dQW}K'/;ym\v|N^KAl4nl8U&< `gqc4ilܱW=cF  lƇSѿO/t˯cӖ |BuZ(W|}i3>WO|jL=|VYwE:oբ^1O={~xwTVt*Ӷ?MzX(ƃ`o?N>lf G\mЦ+bKGH_oxFP*{LRLJR @[i-Q~Wj: h'j*1 b(035E殫;֊OMv m`jj Z5Ζ6^$P~-)*%?Wa$"Ң>>X3vGmc HTp #vMP A&ˇ˚ATn#ǕtHTG5!LMM`"v:T1azB,OKS%&  -_T0)hgR_w"LG`bbW՟ TeЌm‰YE >dI#uLTDIc ՝1Yx$&uUeQ}F"RH'0޿eȀ0 2VUDDDDd@<%MDDDD:1a$""""0Μ9k֬QNw/_V[˗/WN+ ۷Gjjj-((H$­[Zujjݻ7ᅦ%n޼ƍϟQD";Vk]:u*/^H$ɓ'נAxyya͚5P(j̚5RHġkaÆ!(Hs(Ĝ9sЬY3HR322`jjOj188xuhkWYN$ܹszmȘjeСC뫜/qqɓh׮]PuN6 999j#Go߾9sr'O 22k׮ڶv؁x)))8x8-[3۷ocܹXhZ_U$v}еL`` N>bv޽999駟?~8ФI={ ҥK1`tzz:GGGW{ YlmmՊrq)ٳ0o<#FPNaa!~,_8|F]ZÌ :u vvve쌉'"::W6X]8t-\rE|ZZ1~x$6!!ekԩHHH#GDDDAUFQMT^Mhb!<<bbҥ b1ؼy3 $$ضm\fٲeڵ+3g(X`\]]!H0yd 1w\SLA^^:QQQ Ñ#Gk._^cxǮ]4?~|qqqD@@FB@dd$w^$''kp"-- p2331r4B\ٳѨQ# 2K,A˖-5cAa߾}BXXZ/{nL>]x߯L\;vLcӧٳʋbcc1i$4nXgr/^Ă nU$v}(k@:u @&ƀ`ii(OK'$$O>03+֤}>dddOJ_z蛌Մ:0ruu򐙙 Bvj(..ƈ#кuknFBnnnGXXAP+cƌQ[֭[Xnqƾ} o ??666رSvvv|rdggc۶m:/Xz#G"$$aaakGyR׮]ɓ'9tPexqUkfһVS֕DDDў+W*oo UoS.]`jj۷ok=-  &&9qIp98::V4uTL4 111h߾=;w"//OcÆ =eaaahӦ 0|p8;;YiӰl2XZZ° @Q2VVVx7qIaРAy|۷oĉXjm@NsN!""øh"HR?T*T*!J,rwwH$ҸУ lll~gh۷oGJJ bbb`kkիW#22 >>GQDvvژx7`ܹ:/:ŊĮO,S21>>Vooonݺaɒ%H$pssӻٳ5IDDTT &LSxbbb1oeҥ5>U>hcpp0lmmEGG#88X֮H$¹sQu=_~%?|X.GGGaFFN:;;2svvĉիW}ƮO DNN\\>-- ?~F/SNEBB9 ""0FGGC,#..HMME.]  U͂ Dɓ'ms΅ 0eBBBm۶>>>l۶M ,[ ]v5|||p0&WWWDEE!,, G]~zakk ____3Ǐt>}Z+V`ƌ,7={ɓ'^8TqssC۶mNc6lW&%?# >}ŋ8< 552 :cxЪU /MϯCEFJ)=]%lD#AP~%֭[7spuuU;M6!** hѢbbbl+bܸq"""Cddd|gV+{0x`j`$??W&]Dnn.;qYF4i7n3N\/b7X*qL`` N:A ?cĀЧO > | 222'/MƉGUobs*UbtL( j]>==1bZn֭[cԨQͭRLB^^^աMXXAP+cƌQ[֭[Xnqƾ} o ??666رSvvv|rdggc۶m:/Xz#G"$$aaakGyR׮]ɓ'9tPexqUkfһV QmcgI`ʕ[DFFxԥK(((BBf>[ܹsptt4h%iuQSNŤI#..N-Aٹs'4>6lؠS6m ÇsuO6 ˖-%,,, ۰ ĮO-cee7|'ODZZ 7x`|}6N8UV݆t ;w{""h=-T*EHH>cHRHRxxx 11RDfpqq _m}m߾)))-V^Hܻwx9rD*33jcJ8887|S%WWGXCeJ1cѭ[7,Ynnnzqqq={ƽ1Zw[L0SN#(盛c޼yѣGP(p=cuvC}1gZJy1cƠG6m`׮]H$c 28^x1Ю]*A&!;;[6վ^8td2a˖-:.K>}Я_?lܸP.akעw2dr,r… PڢW^HNN6h ƨ~{ァNBBv؁;w"883f vޭ1$ ~m?Z)վ^;wAAA(..{biKDDT*zL髣UV-f* "`""""zE$@BUTHa+Ҵ>+YtҚQy ""Kvt}[VlQ}F""""҉ #ĄtbHDDDD:1a$""""0NLH'&DDDDF""""҉ #ĄtbHDDDD:U%aQLTJ!""""*ɷT_MGNU""""21a$""""0NLH'&DDDDF""""҉ #ĄtbHDDDD:=a9s&֬Yر#._7/_nyJ_PPH[n$CЧMʕ+,KDDDuOa:t(|}}k:ZaѢE: ?3zUmuџGL.]tHJJz.]AjM=k,?~ ""J2Z X8C,C,#55]tX,Fvv6SXlv kkk̙3j_z5:tD!CZprr±cǔi\ 'OV[s΅ 0el زe <<FK 0m4B&A&dH$ea!335j +W֭[}v\r.6mZ8###{"99VVVjCCCD\p?~KNNFݱj*ر~-#""pa۷III011AFF`޼yXp!ƌ"_^mrGFΝxbNR;]uk=>SLQTT#..enj9%-? 6]qÇ\_ذax 4o>^|uaƍܹ3\]]zj\lڴ QQQppp@-={h^LL QFӧ|LחY. 44/?}2a:q|Jh;wݻ6f5QieFUB^^ JW233P(Ɩb1B~QQrssnO*7ie˖-HJJBVV,--罹@ꨣ<ǧΝ;[n믑GGGKDDD5h=1119s666HKKC.]`ccè'''*tS@P@Ph_r*ܹsBVV~WHR˯\۷oҥKѽ{w$''/**Y.}􁍍 >SK_:Q:)7orrrp xxxTxDDDd|FK-ZT|ǐJJ@bb"R1eqssCqqW[YYZ繻C$Z绸;@\z @Ϟ=1uTe٦M(**x_5VZvJꨣѭ[7|عs'[hѢ#"""㪕թD1c J~P{{{dee){{͛7Ν;{.6nܨܖ &LSxbbb1ohٲ%N:;w ??_m^`` >#L87o0VG#FMW\ѣGkIDDD!FJ1Q)͛퍞={e˖Uޞ5k >yB~кukXXX(vZC QS … PڢW^Ҷm[9rDm>>x%.7nwooo;Vc .[oÇ#%%yyy_4d%F߿W`={49JQͻD T^++V3b/¶gC8;;ŋx8ڵ :D\PR_V\ @:SŋѦMJ%r3gά:χk؍7^zÇܹs+aÆU{DDDKAAA8q"LR ""c(a$"""Z #dq̙Xfrcǎ|2X|A͛+~AAD"nݺUui&\t "2qԤV^|8ՔZ8tPOEb 6X,Ʀ8UMҥKk:PMT6l7X*q ""0FGGC,#..HMME.] +}˖-C׮]amm 9sFmWF H0dܾ}[kNNN8vr:99Yr ,+$ &O~aa!Ν 888`ʔ)V֡kܹ3r9 //-[֭[QXXٳgm۶hذ!<<<}v:dpV^ ///4jÆ ǏOѣG4j]vEbb61ꪯ|uH?FK 0m4B&A&dH$ea!335j z>֭[}v\r.6mZ8###{"99VVVjCCCD\p?mwށ=3x%'^3Rjd 2A*<VVVCVVR)Wff& 7#FP_TT\g={رcm۶Y9رc~gu lll Ymܸq+VU0c eRlX^^^1XbT411^^^_˫Ox0VD"_W̘1iiiJؿt==z͛qܽ{7nTn&LԩSqy|8WWT7o^^^ׯZn ֮]޽{cȐ!ʱ .DDDBCCakk^z!99BFll,0{lu"!!Xb={`q*y N8 ܇7F]_\\,ܿ &""U|Hu1U)f*\_m SN|P+3v7Ń4`1m۶1b\BeЭ[74j;wwei۶[R=zhwXXXƍmYڹs',XP7o0˗/)|2F|4QzyJ/Ǒ'O]vTmuN6 999j#Go߾9sr'O 22k׮ڶv؁xF])))8x8-[3۷ocܹXhQuO_K+ێ@>}j޽999駟?~8ФIۓ={vClٲM6?vܩ\{Ʈ]h"\t 1118}4|||pji*+9QQQx7ՎupeڵKm}mYR(XhtcSm2tPtFh",zyCRj߾=~;v 4J˄1==~~~prr#q5̝;괰ZR_~=N:={͛=z`Ĉj),,?˗֨QkbSNή1qDDGGck_yi>1VQKKKC~~>Ə$$$ 00M: 8rHuܴiSذau>} pY4nQSX 333ܲeK̟?(**;v V}>ÇC.cСg.]t>C[4J-aX,F\\!!.]@,#;;ޛ 'OVVaa!Ν 888`ʔ) 66۶m9|||:5m66l2t3g2\]]09rv5-|}}ѿ^?~}: mKigφ طo 66 ,X,V[J҈ IDAT111gϞ Gaa!6lAEA"\GHjhtr-[b֭(,,ٳѶm[4lؾ}Z]Xd acc\pW5jaÆj|ѣ5j]"11T{EuRXKj=appp@xx|4h-˖-7n!CەM\HSLAv픧u+WbҥoannӧKcƌ|܊+0l0~u**{5f} Ço>$%%ݼypB3EEEZ;Ti[~8pۇQF)u|J^nfffa[* S,Xh h ͘1COK&OOOʕ+iL&XZZ jn޼)<\011Ϟ=+8;;+Å' [M鬬,pUP5vXFٹsƲ!%%Ec^^^`ee%9rDAx CG Ϟ=lmmK. f̙# 4kL8q:aaa BQQp[պLUڧHe-D"<*+YDFTFGPGAq+à1FɌ[2QHD¨dd4ĄsG`PQHQQP5.Htz)->shܪ{o]nUTIRVZZcl,::1X||< Թo͛c3[[[VPPclƍ,88X粍k,44]|bΎ}w-J۶mc'O9}Ą1АԣGceFFaޞ=x@gZ7|nZ'0uű\FT21zE} Ţm.eeeܜ]v1XDDۺu+}DDW4ݎP]fVVV… tBr9ۿRYY{+4Y[[s1{1dZcghj\Ԇ>I`p@/rlh҇Q}c߅P*NӍ@RaΜ9prrΝK5 Eo s-ڵ  xpȑ#H$5j*** mnob۶m())ݻعs'ꫯP?bҧt%2e ={ׯ̙39r$s֬Y\t +W?Ap]UWWB뭷B=0{lyӧqeĉF@@v[(..F||<0m4<~::tP@UUo-d7ZZwP,bbҤIܕT̝;~~~HIIpevƌѸWFY[[yyyF;YZZ_ѣG񁍍?CkZ{cG߄YqӦMd-cLL|=2 %%%R(**BQQ߿:PW0,ZCaa!xP(`ggT T+W ))I-p$''#<< ؔԪ*ܺu ˖-I~cKamm &̙3m\3gի}֬Y;wz֧pww=rFT .pitѥKn|.ėKgggT*^PBooo}"L8QzQ_}_]] RQYXXp}[]]]w7oׯüڨ!5-Wj%%%6k0[Ϟ=Chh(ٳgx\]]gϞA.Dɳ_~d_a5"776m-v܉(ܻwPVVTgM/ƞ={>~2+C%&ƖC/553gcرؼy3rNMcJHHUDEsN 0>>>ܽWJ%6n܈~wbot1󙥥%,,,+be^^bcc}v,[ߕ 2LTO,++?L%"6֦?P8{,=iӦ !^tRlxxx-6gggwo~~~s_ ˼麎!yiR{.w7!:2 ,@XX.\'O`ӦMtsssDFF"** 'NRĽ{99֑_DDD`;0~x,]pAr;99KSׯǩS0hР %%%A}\(}B닔TUUݝ7- _uM:ӧOg}1MqXOիѭ[7x{{#99?3222_~^-<< 1iҤ~ {{{ޠ*>!MWk>|8d2>MPTʚz988 44J+@*u5zΟ?~k&O-T.P(v¾}p)"666l+֠>}:"##sҥ `ʕسg^y P,b Ǐ1n8nٳqOmٳ1l0"55w5cĈ1._W7ZfՔ͛'Nh-t [Mչs ˹?>&0I&F(PZ_H޼KG3xQYY)ݶRPPwww05-W .Dnݸ7M:6De[_e*4  #<Ce˖*3777"..CiUy:s9i駟ܬbKiRRMq;ژ":t5tnhx Qu}ׯw=QgbIc^^1ydB!a$B!5 !Bvi0߿3f@߾}!J1tPZJgBBB'ԟK3g\sCH0sL6665j>Sn=+WĉH$Z߽8P\\ܬXƃ=^M[[[<|Pc]111 18QS|p֬Y?~r/^4ޥK>}9711k׮m _~  /+""z(7n܀)~c۶mvMM $ nݺug:ΚI@׮]qMr}5H~6l·x~'H$W˺ƪsŞŜ;tͣKKҐxd2X[[Z{=_=zK[ɼy-ZիW#88iii[o=zN޽{cǎib:bݻlpbIa:篯^pl4ŋ\6l xڵ /_̚5ksi}6V^ui ٿJ֭ѣ|gfL:teeey ;;;̚5{3!ԙPꫯbڴix>}(|Wsssq1qlݺU0>zKY̹tsvk0VQh9O>Ann..]` <NNN>}:bbb7^m=0a|'ذa/_};|ƍҽ{"==/__W 2Çŋ/3S[[۶m)?3^\ &>ɓ'y}xhp)%d\033޷o_Xf Փ'O"++ 6lKvGGG,\111/5d?~5kVZ8w' ???ƉԩSܗjla?sH:ΜI}2225S{쩵ax dddh}z%ǐsshIsv6M0VykUÑ#GD/qFƦMMM-F QFOr;;;᭷BMMI1;'|֬YuA. .7qD<} Yݿ?͛ >B}7jkkj* 8VVVpuuŷ~[ 7od2qEܹnnnA`` 1~x`̘1cmm-V^~K,?m M0`Ȼm ???رcO>͝ț*֭[1fHR1?7k׮E!oҡRuV{۷KFMM oR@EEtB[>]ˉyIǯ-1 6 <<iii8x >#GAA233ycccl2QˆjyKLbђ:OC٭>F*ڵ+<<D޽!Jq߼< -:|cذaXp!t:tW^… h"I|y& OOOܽ{ƭ[>j_5Ǝ Ɩ/_|deeŋ(,,Ļ˛GqַM龾/f̘S.\ٲ*yq$$$ޘ;w.kTTRSSqah\ظq#8 '':u*jkktnLܸ 8;;c:ӷ+yF$/b N[jlll͛7k}rommpUСCx뭷 h[>!9oѐtğ; MS4c+kzpo\r`O|$ KII-4 6hlC(V1DO֚`yfc֖0IppiԵضm!^nit.11$Q;g6k0JRG5jaaѢWWW#77混GϞ=[Ա?11 vvvJJr x`aa+++عs芷-YwxԥK뜮~ n²eD?@ՔPZZjPT) x{{X~=0|pQ1הQTT"ܿZg]6&L3g[3j3gիWqm}yQ(JRHED}޽{PTpvvF`` RRRSaĉ@34'~XNW3k-CaѢEطo nhGrr2+iʘĦKL-IGkyBԦ]|=cڹs' ˬZ ~:!55iii QRR؂ `ii],,,UV45-h7iaaw\^^bcc}v,[k 2L44#++K%2Zcg}7]ݧ'553gcرؼy3r>\ڸ@"htT*  'uuٳgqQL6M@>:w"6%]q(yKoشilmmsNDEE޽{W;88`سgV^-}cˆ0$]bbli:Zunmm`|ѣG#>>sߏ d2QQw-//Dž b O?UL:6~ʕ+1j(R^ IDAT5 }^ٳWQVUU78pr\ENNNy+׿Ż]/6uTL>}7Өm{-=<yF[t1-5:ؾ};Š ?K.`Xol8uWs 7ٺOsZZvnmm`411ARRpaL<cƌG}{۷o?R RDnn.Fuƃ7'Oƍo>L0cǎEBB駟ޞ7޽!!!055Ո/((`Zd `׮]cm qqqEQ>R%'OQqqqP(\]va߾}8u\]] 6IIIF{ ;wO^մrJٳ{htt4֬Y˗'OFNNÎ6L>|8d2~ZPT_?Ĕ)S7sqqgưaPZZTx1ƍǍ={6ܹ?OܸRKkB!boi^"-@Nzw0d/XԩSػwA1\.B }ut֬󚞳;f?%-"B:W2+++iӜaS{c'Nh0DHLJ~)o?~kOI/}-[wm7qqq PSS &w(m=vgW -:yQbcf@c:?pƭׯwJ8vX%ڳlwzE5oϋP FB: ѥGFEHciVo|0}>5̟]c#`B!@"2C]Ѡ|>]Ca$B!5 !B j0B!A`$B!H!BQB!j434B!D4}-y+B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!BԦ ƐH$aʔ)mA_܉' Hlx1>""z³gxoܸSSS/pwwǶmۚ횚H$ܺuhk>T*m0Z3{kgkGue̛7MI:6¸tRݻ>>>8v^___dffBR:teeey ;;;̚5 #G4Z,ٵkK/...~:ѣ"FTbݺu=z47vik8wN<"K7-,,`kk:VU[[۶m)?nu W\磢רO:___-[?htdC +r^ٳg{FDzkgsqc֬Y8ۍ=/ صkWot.cLL zB@߾}Xj+++o-͛7 2 ޸x"v 777 00że1~x`̘1cmm-V^~K,B͓ [[[9>>>8xFB>` 8gΜm8vӧn[0^^^غu+ƌT#F~cڵ߿?r9x ^:T*n WWWt}6^CHH7oMM ;p***ХK%H`ffJJ333A">|k9177 14Ot/NcFc޼y\yRZnoLj2cǎ_c Xr}G6)s]X @Npc`o2Bc԰!C_1V\f̘>#nݺ0SSSMd'Of?{ a\|x 2#F`?#>[be/?44޽{lڴi7d~1W_}lmmYMMAl26{ln}l߾}Y[[s1z*oӴxzzI&cz;?ҥK2͛1֭[Fɮ\nݺ^yjjjXbb"ٳ'4fkk\\\q)))l5deeQFB?? 8=|1&|+P1$bhU_BǮˍXlooSLWvVTҒ|$ KIIi6M?z(LRJ&J>{lc,>>nEEE z*b]veYYY*\]]ͬ؅ xilk׮1`[ne֬ZRd=bR1Ƹ!ohqD# w#7{ŏ?OǨԹCxnݙ`ܸq(((ИVPPJ9spb믿r9rFBEEd2<<|999HII+pIʼnP&&&ppp:5dw1DZC!oh֨yq;vGӧoCI$b#й.͉_(Ռ':K~U)ur#DRe-vmijZU.))Gk0!66۷oDzePVVFII bccL&õ>MdeeMc~A&ѣZSVVT1 ())=o̙3HMM̙3;v,6o \\\\ H)zRDvv6<<<4ԍZ?Ξ=Gbڴi077oV|-8; K.':K~s:jQ޽krLeݮO[w{͛7#11Qt䷩ZTTTJ%-ZHDDDˋ{:w(//GBBg\|(Aȑ#(..FLL ={9shh1sssDFF"** 'NRĽ{ 8x rj{Nhb"%%UUUpwwm/ _u^I"ɰ`… x 6měxb,]YYYx1m_~pttĎ;/h6n8mIqP[?uimQ 6 Yt]iڋAC/'Of1Ymm-c;w0T=zwΝ̙۴#ouu5)IKMMe}-3glll/+**?~999qT*}v6dfmm 0}tj*RozŔJmꛮֻwo1>//`cIR1***ؒ%KX=~;\\\YUUŖ/_~1kO{ݻzn\BBF&t;{>GLȟ5S̱Fwa~Snܺ].'Odr{=cpmЋ+:SҼcGromGL}ucNsUfeeUJE[ǂ ؊+c/Ą=yqhcHi|U[lMni 6iEEE8t"""4<=zsdku! pXn+/BŊ; bdꫯзo_AsT##!999ɩ F֫W/!/C]`|0k47d}f !BHD:juF8 ԇB!#!Biضm555H$uVFE _~e{Ѧa}(D]i/pH[N8D`ի'-oܸSSS/<|REhiz iM8k,9 (w|J֭ѣqK.EYYoHNNn([޽{cǎq_h1___dffBw:tƧvvv\v /ׯ=2x]!i~QoF~(w|ǏG}}=f͚ōm;Fjkkwɓ:u*?-7|W\#4ϲGrr2SN@(3C +r^ٳ %/6ŋm۶ @Ra֭puuE۷os6R__kעx7$Umm-V^~K,BÇP(зo_Fmm-VZ oy͛Looo\x;wlllb2?~X[[I::˗#??YYYx" hWuuuׯǰaðpBt...8t^ bѢEɓqM 0{.[nqԾk?;>>>(++38~!b! ==Z>|ggg 0@:?s<.Tfb~hKyyypss㍫EEEoP7+ek޽\?3fȑ#%eח`3f`ԩą 4ޭcLNN6mڄ?rXh=zu!Y%]SSúu~Gc>d2UTTjfee.\}QP0\uڕeeeqWUUi|EQ^^LLLXvv67ٳёlllXrr2g<й>ggg7p~w4''#.. <<1Meȑ#H$5j*** q[Z6M2e ={ׯ̙39r$uACD\E1:J111YYG)鐐ݎRnYXXk׮멩RRl;u{yx]3T*,--q x֯_$ >\p{b즦jv4'~XNWSrwT*<}EEE8q<.#6C˦z5ضmlg.[P(T*T*ŕ+WqlStkkkL0gΜnG͜9W^۷y(eF"hZu!mMSLAii)~'pI@" 33WT";;6_~d8zy۷cٲe\ߢl 66nnndF^E&6~]Ư/68{,=iӦtbʌ1b[6u۶fii ܽ{נ:s*++Cjj*xWP QRRw2ǘ3gr1vXl޼r\oZ]:JiBZ6MMM1w\,[ 3f̀@&aXt)cA_2 ,@XX.\'O`ӦMm‰'T*q=dggh-ZHDDDˋ{Jw(//GBBg\|(qȑ#(..FLL ={ƽ>EEE`_b3]~;v/ 6Ըq;1B_Sfزkضܹs7NC/vuAr;99ˋw[e)));o{ XG)3MV&M뛽>~~~={6 R?Ĕ)SYqqqi;hY˗/-&O@\\ VZصkۇSNذa\]]ԢJӧ#22...8wN>.]V\={pU_b3]H@@?~qqfϞ;wOuh/)3ƈMv_sm{ qAZ cO 1H~~o2B{ni4|}}ޡ"5550aB{BڟتmNi@bruuEk^m!; BIR;v{F FBiDBB:=z`ҤIyF<ד11&B! $"4a2t>B!7B!D5 ~̘1}T*СCj*j!!!Z.;w.۶m/]b,>T*T*|rcv6l}G0,/_Ƽy7!#!Z0uaHKKCnn.!xߌ]t)xݻf^ ]v /ׯ=|WHOOGnn.Μ9Aaq9숉=C*L_cÆ ppp@>}i&$%%?QF . 7nѣquիY~D'''ܸqpa](!"a$ W>n޼]Zf o6opر@RaΜ9Hމ_WW_%*888p5 }ABi1j0҄T*EqQ;@oۭݺu?{p3H$ěKlKJJ{4!Z]|ZmL&ѣG[m߽{ݻwl޼m!FH:|||0zh#77wLۣ֬1#22QQQ8qJ%ݻv Os$&&"&&z>0B:":tW^pu1""#!CW_}݂4hvB^Ln0&W=iBի̙aBHgnsdh1H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!Bd#{>j4N| B!ƥng1-q+B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!A`$B!H!BQB!#!BD FB!"B!D5 !B j0B!Am`|p=< (//?q$ nkذa`i姟~D"3gץK>Rͳrfϐ!4O`` 4^zٳg7n܀)~4>X_LL BBBmҵ$ Ο?sY}i>&B1F5j2tfȑ#_}ӑ3g`РA(J㏘>>8v5cǎic֭ݾ}Wƺux ϐ!4/233RCPVV7>==ӚzZJ~01q>&ooFƴ_ㅼ%e~{FϞ=ann̥Kȑ#1dXaaa(//ի={5N kkknG} $%%"##1~x̙3Z|wضmLMMqqmSkƍ@nt舅 "&&;w4Z.&y|}}QVV+Wp磢hĞ:u :SN!--M01q>&BjcLL ,--wyĵk0zhXZZ@C#aׯd( n]^^^غu+ƌT#F~cڵ߿?r9x ^,^^^/ݻann#Fh?##'N$ ̠RR`ff;;;H$c6Adž 466˖-C׮]3qD<}wZJL͉< ySSS@;vwӼ?8C\\z-ԈLiˉɗ1!"V57l؀*,]qqqBUU ,TUUA./_|deeŋ(,,Ļ[ǑBx{{cܹDEE!55FNNU>SDDD`åKΗMC.#::w!RU?JY,=hIP VR.>`a&fZTQh/L,H0K"Xmӯm83]w/ޙsΝ޷3K.ӧO9sL}VZ^xa,\0֭[W\qŀٶm[=zϏ]vI&EkkkQǏΝ;cʕU~K/:_5mI;'0~G13gN_qgڷ+nd,YW^y尦tvv5ey :'Sҕ#RϟO8NK_~yN=#1shnn5k;6m[n3fԩS5M:R_~e[oYfK.6o\pA!,XOtHggg޽7t͛7/N8~}W\_u" 6ҥK/N̙3?s=W[j1>---_DTꫯbܹ1qĘ;wn}bΜ9Um޼9x8|pǤT>y<j?Gwww<1mڴ6mZl'l߾=N<9`E㭷Чָk!ˆ{Ŋ+ĉc„ 0^M;ζϤI⮻ǡCb`xѣÚ5ko۷WZ u^l^XlYquŷ~W]uU466ݻGTӣP( XQz|?cɓcƍv8vXDD矱wP9r$ܳW=X|3$//qsr`͛Wn!,Y29m۶xŋΝ;w}w]oǔ)Sh#m{-f̘}-ZU߿߆ joA){ =zʭR̽cǎسgϹn  #CD+ŞfXFhuСA+/=a8۹_#= #eQA` I` I` I` I` I` XؖKwRP_Vs+#f$$$$$$$$$$$$$$$$$$$:Ft?!#гyrrFFFFFFFFFFFFFFFFFFFFj R(lr*?FFFFFFFFFFFFFFFFFFFFRD*Kwϋ9U(ԯDv،0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0PKC(VWTjT3=r)glČ0$0$0$0$0T* Guoв Yu}{u2\GjZ8gugʺ֕u}Y~˨T#|^1uEdt>ؓe: dyԷ:5ĝɰa1% @@R-Sҥg]"*D\yG'),R[rZ”4gYNGwJ(5KD}24V}jydYWa p␬9Tث+"aXA{O# A s: 5Y%cDN^Gciq\Qa⸨_hktG\<F}>jyFG\G=? FBAg+*"۾嵮oثO`{uE8ү5cK˺E/42 K'_mtܷk8w+c|{V)G ZWDp߷qsR^@嵮+u k]Hl :狘Xhpoc8cPk ^$h&TՇtƞ<0f~ khz\Evs$ܷ,98o#5X(yutY.N(c `h3޳{Na<}X =1ȓVio#̟_wN'y=䯆P:Z_|߇w?X](xRHk¿z+~oԯX?.O'}~Z8HeZ#~7Bcoo{{gv#WV~e[,yz|5~ne~Eȷ_~Bu.7}s<={R=D++RO;[8BS>wh,r]Z\ߨf)W[o__?$J[fcOVzqN 2I~znQMzlNQ,y'vq ӈq‚U.6=w__o_C(kUcuwPt1k%Vlj:i Vs{݉H_7ѭo65rk/NwԣA'ߩB %! -OL?1$MG Ÿlk5::̧Y0[zv"AK."eAztYUiuA#t _<zQeDӋ.-/8yz]39(_o/\v77vd;?0 FEYxLb6k>xj%Wίin wF4]:E´Kt!W`h yk|AB^/z1Xt;mN XܪN,d"H  .zwaZmm,sQ5\/{w聳CayOhkY}==% gG Dl0V9H'?=gns7-f0ZM1l8CE nLV2= iL:ȧSc50 0bBm7BZх9@HՄ>,$8=3*njd9Ɗb(2a, -fdԌg3'N@TQ~Rn|`jt4=`Jـzl}@8Vg6L+  וZ$C+eνoM~YU4&d lOgNo\ʂeaF[q𠦂o&W'MP?D-RDwQ˗Ii`YA:T.^V-.ZMj]zbXʂڬ:͉N4z35vs8"̤\/ا49)KOUʨ^*/i`4bsT.k@h dz کTү!IX"H@+CH=BEG7 :,Pmŵ5k#"^Ie@B_Pcَt҆I :B Ey er%,S7wn9.~ [j`}klb 舓h' #UsO!HI&@Ui3IA?)aV:p/<p%,FT}^%N.+D yvcą6)6Ђ~ۮqs[=4PჶLHbLlc ޤ֭$"XfO7Q҂:8lmc;vn϶ߐp3 Z#:B*%7h./8QcS 2M0C(oj "Zi/%ˆطhN Q1向-Nh/PU2+@}j*/ 3V0Y"LgԢIR&,)t@ϐ_G_$:ʳ Ɠc#r zn9riaf 6@5h vr`,`F++!}w~^“g1(Q=p $SkŧbYzבVûCiHUʃ'ACO:s@(Pl+ER^`To"GoeSe4)-,_zŲ< 'p;EpY\.d}GF %0"v% '!wH~FO MB Ahg0ӒC2p({ gyBA\,mSzUEށ(\e AcDKe .>AnZH-"TA@B1( *0!0=9ͷH੹V(95,#B kwǎ?@H8RY53)ҒC I~-r~f S NGm (֪'"`Fc@^X|]5GC<35ӈ:9a$'m-S,WHR`E .[{%aɡ) Om{D6,KH-ɃiydRER7M|\j G0B@dmET(ao04&)dh 8&vHz+G@ġUR'}Y[ ЪPHc(;i!(y/QQ"<Ъ_3`Di{#Q$z">,zkS*v𝡊!.N"8q0/xERO,!rEVW;I/[nUi:X=`tȑƻ!yr@' "Ƌ0~,K1 F)bxFBHojx +"֨KESooa +֣iKθʢ-kE=9h3 {hmգ76 !BrYЙDU(Äû=c9 AI.0.bT[7C`@f@yMRe;fYPG0 QCJR@F3є-n =%6wXN-BIDWIr+lۣkM lK] y(IB::D[a> ã/'ˁ";*xHzm'N~\ޛ6 *(T@KаLVÁm+kKv/4\dhE+#K :0%:5Ej72`vL%sVI;ʐ(G~  uB``)ªj?(żvQBzewajtGu!2-mA[x1S~RLhP E@uq2gD)z_mAY)WGxNP WȉqԎ16/^(V+6k&6#Btڐ: R1V+NEJ MЪ-"Ql&:?ot /o(eDF ab(+E+)$3m%WrCɏi`&˫mwbUYۙ3ڥ1,tZvsF7ATPj"s!k2kMRoZ|DQ O#qS[0F3am);Q=8 z^v03#C!$l3Lv{}%YowA Nm4E32^G bڨP,:- RT(e-4~8AOT4z^/=.rlUJ@)ˢ"2aЌTQ iDM"1" KJ4!-,8B2M, kvI{ #qhh.4%pYpzf8C ]9y$p{n]U75 y 3m$s)xZ.bըpe_t tHVvAx \FtP#Nj+`;\ML<.; iV%i7rIX/Y{:¬ +1A!7#P`B%N m&EGX*uTuK~BȓuWRZ+j㎥0Q!N͚ -a R-y~$1O鑷Fuȹϱ ]!eLGCSWbG\,G'U\03pIqW{[@H夻y2 31X=HyWGfk]? ׵/L(Lл 9cUr:Ian-Tc%A f%}BtDȵP3D( r}D'~)Sm[_c]糢Lt3#a!tb@脕󒘄h0ψ%#IrHQ@kӹ ~XJn@gxPe#Qw*huaD.f۞t 5<} o3tMyqM֨ccU%<Ӏх+_`23 arJEL__-P(pCTj| %1x46z].,{/ DD2A)sOxxJ0 4ɂ)vEP Hv72[ ODPJjTׄ(#Yt'ufLX,U,5b\ٖn*L^tkxׅ̺`]uTW:9(0CE4JRK/(T/R8!J>j*'C>O tЇ$b݉ZIM%ۺVO0SWHet"*4 +AX2LMT?8Ѧ ,vօh#k5_dkρtآφZt<~ tEu^mg7ybkiLh]I1h/ovDӝJ:m 0$l P^ QNmMw ' /r0J[Lm|g@ߛ)Jݽ+@Q")T)M70փT.mEwGEjR.]\pNΜoeN7TYKJnƺq]=PFX(Q.6_>aFyzLjϷ']`T&G97վ_aj[RQ :^:FyZ*!#l Ūw$JfBm5[nR7n$ػ0oY5>Sd|0c"[Mxy(99>gr.j&O~hn"n<n:1ѕw(*9Ċ#ᡞ`.|u80m+C-ד&>; ,@ yCYk_ UL;uEtQ]]3SL!"uL tuPdZkɠkib/&zqPQmE/RJ=Q2lP6!9\ty=9-xѝtʍʏZOR2 H,wsc6l.q#t+L2 R2#@A:0kSLOґ'3^j::jO ^zm\U"\ІxR1D@26i"Ma;/9tU\ }3ϼB/D j:2 } x"uDFΚ)uƑhdLkX%KVzyU3f4Hؼ"*/>"Ի4wu8_!fʔwO?w: : é"ͺ_g$&T??FWun77AoaTUjRW{,9HC ~֍?e?^~#޾>g}&<ܟMy?p6~:v}GmƋn/wxW8l.)3G~PQWfؙ Ll.;2eR?(rJb+fTi?`Ia YiH 8YB?/V E޻~ uyPvٿzZlUY3vb sR`: oMIhbn{NaF^>tgB*sM)|r͕bKGDC pHYs  tIME &Z IDATxy\Tϰ# +"Yj)\5wʵ.\ 45/ZOLS4SԺ{i;.ྒྷ 321~߾k9= g<B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!τ9)CXǔB) d/w$T~BHR%d=mRȪLU^ULId;Jr*$xnGEc(KfO0rx}yMt$9&x1SId;VYJv= 0$QFId$,&[$Y dgQØq(! $U%n;J(&$aD'{َ/vT@j6an1DiƢL>QMSIN%ёu+۱(tzJvTrHij-2_gS$0J'JZR% $iJʹߐՂk=/B.}iߺPmS2dL --Z0Y@^q˞B!ȧ$-nn+=غO>Vr).KU Qd7 !;EG,Tro(^,nT\5Ǘ Ѫ֩>5U'yM$&y=.Җ/(,V@L2JSuzkٵi0D"_ (u!jm=ֶvXT('l_ҮK?InX$u - WjqppQ$D+YLEjR6ȗ1s:zxgynNINR)SKVSSiQ˸OŠ(XThdc|qpPS˯>OקbcQE ;8ZFE!JL`ec#BTm*^y-kk T/^X\V66$&h/% cO+ SJrrB+jgRuLȹYZZML\$$BQȝ)ф}2 !D%]wL]t# E<+cg\:M/B!Dw`x'%{ENZBEE'B!+!$rB!rJF!XY&xgP}bllY|=OhxwpK;r EL4w !Dhټ9j()I1fM⋹< BG:>bQ+i;ox4Z5 ; ''5f}gϳa I%%Yj7_GQ}?zt֖ [s)‚dB͢[4kܐ6l3oF1d0IIIѵ;}͔Otjqٯlu*ʗcvn=WLJ1#GQ0ǒ4b4[jW.RByE^`N Ld6WQW< Oܹ{?'ރ~XN>~ڼh%nL@fMzZn߽g3y^̞6n|<3b~Șʹo&=uf`Wf_HsƘ[yٍ.\2Ny)T}*GO糋q/JY7,?u<z0'#U%IMg?fO_-ko /u_,Y @Oㆍ|[UJvX[YQ|9>6_E9\~dqeGp=oF(KX[j2y~+7}5u0fB0 ys+//7o'ӝ8uTq(E9/,?qVLJ;]jj~L%_6vqȗL1)3f}eݘN0 6)I׎8)BȉSƄk[=Ye;'N叿۽J *󤬛+_͵4QWѼI#*U(m[( ڶk<ҲY.\2V/S7]yG`2x_^'))8MUi%> _odIHψc\&!!RRlyOOi{y<*Us~k9qkT܅.Węss/˙ ٬Z[ ez3NZOSI|ȸ~~ֺMe҇V8.6.~ԙ3Rޕ7HNJ1Q6y,PWog'͉?1T^hP.GR%EiyE9zC2Vi޾}GԮQP.JY|>+k{M/BW<;چ1e,߼ErLܼu)3f1`\J`s$-DZ Urԙl}[Enuƶ}W^'!1^ov'vvT꒔d>uʗsƘ[y9/s9}|A]_.E]3֪eJ~Ke)Uʞ4W_`p]@\|J4.ޕ2-3͍1r߼YO_4ry@N=?XZYf=>Q9/ ȧrIZΞkL)_΋nYa%r,+ 7KKK:m6n  ~Kk \CǶmhz+VupvvBMb?$$p0(n*oαg$$avhܠZ <EQrs*/neJ̶]{hP{{;WfvXx9[EI9gYYZV|tà7p}G^ z\zwԬɢSbb"6m%66;ws)mkv]3Ill˾2(;wP JcN67WW~XMARahִIs>M 8xEs>{rϣGZ<`MrnΓBmXDu*U+3}R0.θ8;3}R0U*W"bg$-D:zuYzb~mPrE~;)ګݍ oHZ5f'~ڲ7mŷvM|jHLkS7!cce^eqF c^fŘSy/;FUogeŚ盿QQPtQ^y3q0p޻O.իkVg폏k{w (>=mZѰA}|%˖ӸK7nHّg5n؀%Ko|YX[Y ueD_ʌ' ͊1" 6W+-B-[4ݯ;wpws3ph>KF.5ժR7vrbyL83uR=|iE2`4yfBܽu{n>I_Ϻ()`@7`eiIZuu}u);,oMB:!DnMb}|pHRJùsprBN !X0(Z899eVQqGHY kѲB% K+K9Sz \]]tTVK.KŠO<%;B!D&:ӧOၻ{-[^ϭ[[.ֲ ;M BgEs9\]])WyzzٳgIMZFIB\RHTRTNNNDFFb0d>O ȑ#?}ݺu9q4~~~̜9ǨQpssvڜ9s&&''R|ٿx̬{O?n;;;.]d2ŋ)Wqqq&رJE>},^zvp1T*{2>|}}?>zd1ck9q4M׮]9sSqF1ŋXZZgZǠ }vM6 vNRq!9+ !Lyt>OCjjjNW$CJJ XXXPJ|o*U`mmMdd$)))E^k^`0XvӥK6lh|7߰{nN:eʔ) aÆ駟ǻG,[#G/BBBXx1&Ym۲uV3)nJN2ő1%&&믿2j(4iS_^b7' dĉ ׯ_Oll,+ݻw7~{n7nNMMeرYFE,>~dHE斗z|||+5jpy.]D<~͉#iy9y$ 4 22Dϖ-[L] 6Cj*~7ڶm+bB"UL_KCy:ĮȓT*jٳ?DiTR899Qti>iFU[{, ӦMc̙t:T*KM4‚7nꊿ?CweȐ!,YUV[nlذ3gPzu.\/l 2e WFСCL ˤIjtڕsmEۛS2zhXnO4ݶmpvvaÆmۖueJϲeطo-[4~>k,FEre˖111xxx쌵1CҘk)O''y*CΖ[T`ԩhZ FXXZVh,]ꫯ7n @ә$n۷o'<<(ٳ')))m66nȑ#GLz5jDDDpQs- h2d54vXԩӧObŊfc:i&qpp`&o޼>|Y޾}///EsϜGiMh/tЁ6m#/Μ9V% KJLOLL˜,,nݺxzzJӓuEtt4< %%^5>gƊz_~4lwwws/^$)) xbׯ73ϒ%K:u*TPP6lP$_h2[d+++:vHJJJ7$&&yfcվ}{ٹsgia(,,AQtLMMرcL8%vsn@݋(hZ8@v]vlٲx|9M6Yj>3.^X`jnχXnܸ/a^0r bcctyn* c888@TTzƙe\p@ݩR UTgϞ= !mݻ4/_f…2dȐL7mڄJQF$&&V[nŅ3gÊ+;vl͛7xq=2dG.37vsm֭[h8{,{aÆv]t1&wαbz5kd̘1fК}]pBg+Rtjj*ܻwjժe\\\\V#99TEnz emBBBMM4Ғ+W8 sdmY5M;t:t( "44ڵkn]Lw޼y/2SMѣVVVVt-Q<+vznNM/̞={4iڱcG}]\Μ9s^`իڵkl&(Pi ÇE'7VVVrP^Yi'OF0dΝFAPV-"""h4O,WzuT*r|͖} IDATQl޼X+WԩS̼y Ʋm6~7(bbbLqwwwa|9vqa$yݜ8̙&mرs7775kquujժf-;6SߘB_imu:eF!j4e颮a|.V0`C寿޽{[[[3aBBBرczׯs"/aܸq̙35M޽iѢÆ `ݺufjXJ, 0evE͚5zZ-111&Ce/?@~gZm;:w̲eh׮]ۦM^u/^,g2!D%NGrr\F...$''%р ,utؖz&M"88QFLV8rHĖM۷`зoLڵ5kְvZwެ_>ˎ]]]]yW d+LМ/?V3u0 /f&! Ejj -i/}y.kDQi%B@דFҥKhB60:pիWGVckk֙wonЧ{Oƴט'&222g%3d|x B!J*+ySV-Eȱ!"5B!BF!B! B!Q!xu,qȑ̟?nݺ8q"y'xe7Qpssvڜ9sS{bӃ6S;;;.]d2ŋ)W\'رJE>},^z`ǎCR`̜9@//GNo߾L_X~WwMƍ3=:Mjj*cǎ3BIK .иqcښg g!YEw^6l hѢݻw7YNJJ ?3gҒ۷g*#ŋݻ7GPW\9ȴiӘ7o^GNɓ'GFFH3%v/Ce׮]orB(NMߔFZf>|vmʕ+IHH`Ȑ!b iРX¸ >S6m# 4`fQ:u*G~cݺu,Z(t۶mٙ Ҷm,ܿ.\}L>5k#F0T-[-̉=?qjժԨQmh߾=]ve֭&'=K)S0NrrI%J9{'6md`, WˌT3.^X`d\! J×ˣGZ?-?G<Ncy_]h ;S<|ʷ߭f֭4 hN:O~Jo=^iErM֬^y嵶3[OnVmiU:ٝ(e|"CN>g+5&QQQz6l.\`0н{wTB*Uٳ'O7$$$ZY=z4 {6,\@ ɦMPT4jԈDj5uҮ >3g$&&+VxƼywу!C0z[?sc7'ܦiݺ5gϲg6lhl٥Kc¸{/WfMƌcv 9G/((j<͍R썟 c7X^_s¸rW,UrM-X!-:w?իr'e|!?oXOݺ~AەlڼӦt| J?9x cOk-̛3[Ƣ*(44ZmdVQDFFҤIj5111$''UC&::7ndi,#?ʠA"<͕+WrmQpp0W^eڵ!HX7Cs>23&2.:QFuHLL (S4 6]dd<-SԮE2ywpuz=_/[G!{ٲl}˾wTZ''5իU÷Nbs gRPd &Oɓ9r$k6? *}ѦML˩\2j͛7gEZr%NٙyΝ;SbEbccٶmqhVʞ={xL;… 9w\y\9q3MZ;ǏbѬY3O+UV5{=lmm o߾Y#)ͪ5kYf-* z0}k0 CTOn͇SeޞGܼuG['1URFֻ2ݺv ֨j0tPVZ7q5&L $$oooZnͭ[{.7.4i7=gii1117s޽{|r Ɩ-[Xn6VR֭[)a2e ݺuf͚OZx{69_~cRtiLuܙ`iӆ_ŋKZƼgG5-_k6}>>7uٱqqM)ZVY-_U~J\\(2jUP(8`?wNt"##]v>}:&M%ѿ-q]\˔aP~j.'K=Q!B YB!ٲM BOgNF0 !"{|FFxfe%i!B! B!Q!BH(B!$aB!09׭['L c̙R?K.ɨT*._\lv9Ծ}{fϞ]$iB!$a̳.]аaC;ɓ S3f̠]vƎ?.r?(&3f w6!0J ձQd iӰ'<ʕ+IHHqEaٲeԪU;wPzuBBB\2nnn <5krefϞ͌3ﱶfᙖ/ݻ-[beeUhed{l;w_~ܽ{WڅBƩSj6laaahZZ->>>DDDjquuv۷NTTٓfϞYr%'Oߦlٲ3$$m۶qF9QFIDDG%**?09r͛3g֬Yq|pp0۷ogӦM>| .^ 4i{Fӱh"eҫW/ׯϔ)SL XhQg;wNGڵ `0_B! cW*bVj~hذ!s.^Hjj*| _~%5|eJ̑… Yx1ۛydzdN;*T 44 6dP^uzɉ'hӦxVˢE-/'0j(oL>߷o1a,2ҸqL'M Xv-ׯ'<<mB!Jg,$y{{@BBh47nqEEEM…  wn\4 ֔.]KK͚5#66+B!"a EVW_1n8j5jH4iZ6aK Kdyrr2z^Kɇ"::hnܸFrٳgrJf̘A9rxNcy9iӦ j? (HK.VZryjժ%B!$ۛ9s\~0ȫ#GЬY3ΝڵkP !0 WWW|MFAdd$͛7/mUlѢK.ի\vŋV0`C寿޽{[[[3aBBBرczׯ皬1m4N8˗9{YTX{rU3%1ҥKY&QF)ٳիW8B=+λ45=zYas3}[ Y♬Åi&z) g5={Ҡ~}c7yd/ |^?K4kڄoE͸q~: L7ϻTҽ+ a`nN( 9 Ν;+WGFyݺuυVB£jsUZhQen5?mڕߚT$0V*3}e/+]ά md߁?mlllѱ.o՚ԯWfp1N>M߷L*CRS\]]iX 9p+W {{{QTc.ݐUt7J^˶?رcTV-_+#G,2Bl+[{$66 :l#>q[4gϝIoXJ|a@s>y@@b#+ |UkryO,"׮X(VYGҴ+gVVhތsϓ\7r;- Cvwػ?<]1^NKow}֯q9v۷ڹQ×pwg5?q11<|˹H.GE?NܼyxMO2K=qq>t'{Q#lmmY{ILLKd;_$nWgV%.]d|$J:OHT ZRZ//aaW\v O^i2ÇeITPuQ#P݇nn_XPsqF,V( S8v.?PT~ݺM+,_f.K/c.bbbNϫx{S;yyO'8XԎTZ͚_(L) 3DTREk@~Bψ}kjG\˔aLƿ3p]n\[[B_R4|AɍI7OzW{=-hrՃz*Zg.IO6 {{{?~3ghҤ eYCD IDATϧ~JӦMqttA߿dͣN:ҩS'\e^^^ܹȑ#ƚ'xbĉx{{{g2JJ |+WݝgIJ2rZƴiӨ_ HBB+Vd夤0vXjԨARU+W4)ߟӧZ& G2o<|}}qrrk׮O'>sZhM6%"]G1T^^ؽ{wGvA!Dfe˺ɕe=0aԩhZ FXXZVhZ\]]턇E@@={466={6˗/gʕ|8?Pʕ+˜eݻWqrrRl٢)7ovyժUSlȑ# `0vΣի+gcNe5>}BD)͛7&ܼ߯ySWt:</ ( R-`$˳gR_ (ynS퍃 DGGhhܸS^7&}l.\`0н{w:x0g-[O>tܙ+VP\9f8{.=ʶ:uܭVNl/͛7… ?1T9s:>B,a enjBBBHLLI&XZZrʕ/Kgt]4dd irr2z^eiϝBu)Sѳf߿/2'wT+f͚Ai=+iݘ>}:||| 6 <<VT*ŴiӐcTx}Gll, BBB{q &&pqqAbb"򗿴KΚ5 aaapvvƅ pYFMP_Q-W())ݻwB!D5wJ7ɬd诜1kX|9x.!t* x1nܸI&Q?gggH$BͥE~PhjxWU6'B!a05=HSB!fff 5.$h:BzpE^,077v?`( 4w:;<YZZ} (--}3BH!`bbsssX[[CT0/CT0110B!/r (**K/ A,C(ܜM!LLL`ffPHDWҙqUH$D"B5Fc !.BsIZaTT`A ֭[(--zLdzSSS 666H$0vF0B!]沴ב477R۷QRRZM 211_* ְ.G? a$B@@ XXX@,Sgߑ$ B!a$B!a$B!a$B!a$B!a$B!a$B!a$B!a$B!:B!:B!YtOOdt"B!ߗ3m%hFB!J !B#!B#!B#!B#!B#!B#!B#!B#!B#%!B#!B#!B#!B#!B#!B#!B#!B#!B!m0 Non"B!>WK?y|gwww\|Y6(**JUVCիWS`` 4}tÇaii7nhm駟ZO:@f5b0ƚ O?@s5> >JZg͚5_'i|}}u懆O>xׯNB*޽{:fljjcrJ6::&L FիWoxdf;w.&MݥK  ߪ<[~nيr|/ԑ ۷ooƶu4Xp!7gBY3|HOOGnn.Ν;!CСC}XZSrr2W^̙3;p?zؽ{7Rw8p8qjjjt'N4hy&֭[7ը_'233V=z槧cرիWЀػw/ ˑSWWӧȑ#ظq#~glٲ5j޽!t4yɓ'k={pe9rDkpaСC>eIRaƍ7nܹs1z.7n뷧jСpN> : y;;v,޽{׮]úu:lBRTkD?HLLaҤI?oajj'Owv _ ѣ988`ň®]-~06^^^:WPP*,ZHrxyy}˗/Ǚ3g;0yd|LjĪUPQQسg=zL̞=ѳgODDDtH<@"pyjee333|߿?}]pidee!22yȧ,>k׮pU7VVV(++ެ_L&ÛoXn {{{,[ X۷5j'}\.Gtt4ƏXQF絏8p "##49r~zJ=z4<==uEPXXL111Xr%,-- gʔ)xQd >jMֺT oooĉZgΞ=׫W/FmmX~=ֳĖ-[(//oxvZ?c ظq#d2YCa…eTTFB@_!!! `kke˖aȐ!ܥq}yc۶m8x oWs7ix1eilj'/M?ҩH(JXP*P*6lT*ODDRSSq1}Xj K..O>Ahh(^u++>> PWWgp-5UUUZո`cclݺpcfϞ$.L"Zg޽Gl4ݻ}B,>Ch(~WkhL<:Z~-fϞ3f/^\zJz^Vײ; QYY_ˮCAAAă+++g}r\U̘WWW^u?""ؽ{7`ӦM1b/^ 8;;ѣŋd.M5N>߸q1vXܾ}FQQxʽ{'b„ 7el7bLX5|}}gffǎedd F͛78|0rrr  1c յK4qI$%%!;;&&&~: Æ fO4 .Drr$,XWS֫Ǎ3!9K"6z 0(oV\4ٰaؕ+WJYZZ,y؍7Xee%311a3ڵkŋYccǎe_~>\RR<^h, Йt gXnn2BD"KKKc1v=&XJJ־6o˙T*e?3c5kְPc}agϞ&881X}}=tssscͮӖ5o cKsq&ɘZfL,rcc6l`1ZLuVcL*Bc7ofW_eAAA Ջ}7m۷ogӦMkqI OSXff&cƆ%''3[[[vľۄ@;bccСC[FR1gggvC斷W2 eL$q>44kG_[kaŋZL&c2:l-nqӪ4]D"vc<`VVV`[+Ç?Ϥhn\ @2R}6Sg2QscZRM7^^XXZcРA4h,XSH$Bh>Ӛ)**ž={兠  0fTUUA"ݽ˷=z[o۷ {Ʈ]W_y!88w_KƋOӧǸvΝ;ѣGs=ΝˍKOO78OcȐ!Xf 32donvTTTpgH:"|۰üyZ]j_~)S___ܹK[(--E\\1sLWGBJJ J%t{mY3f`֬YO[,x"V^8|'Aݺuѣ<<<_o{S)KuzRd!44r[o߾D||}:|||1% 6 <<VT*ŴiӐӮa0v}wU3y{{xHaÆ^̙38pSSSѣGu<L&ԩS%Ο| lmm&P}ӧ(#GD"ivL/ju6{fMv JBnn.'닍7Ņ:;2͘4m4ell, 7wϞ=8x Μ9 22...HLLlYggg\pgϞ`͚5ؿ?^~6]|ï/,|:L87o<ܺu _;7͛#FZgX#l1j(GfH'ͭٷY5 .ĩS/)[MՅ  ɸM?QGOLfO'&1( !<ݻ>YX|bXRXռm^ R3MŋѣG!M?.ޑ @} }V*F}}m^pP/WWWxyy!66G~S:mID̜9SrtGի=z 3J...x( QLjŵk(|thQPPiӦhdے;^YYY/^$3!a$t ґ***m6oC~b ,[Sp [:^5O>n"/H!];r4B!ta$B!]x!̞=X,5Kܝfץ͟?W\iqSHÇ1g6663f >{֬Y7LN@ h[abbPZZڪJƓ9^MT{|WTT4jjz";w.&MݥK  w >zWk7!!ׯoyr9>sӗm츬pn IDATPG_~۷zߵ(**Lw]˖6ðč7OF*C#Z租~@ zkvF{||-m?6n܈E!-- D"H$=޿{rλ|55Yd ֭[!33o6xĉ'}c&8pIӾ}Z\{q{X.]ɓ'k}Ϟ=|Λ`C͛Xn6nܨs0&}U*6n܈qƵ[t^^^yHѣGQQQNk~zz:Ǝ^zaܹ iOݹlk^y̜9Gݻw69vyqFA1rss?# CŠA0k,DEEqO7DZ;;;L<1"##j*ݱk<58p|2cذa9r$.]ʽ:|7ؾ};LMMq+0yd|8}{A o4{˗̙3HKKk8K"pᴲVw}VO>,DFF6w,^QQQ:5&}O<̝;;|nxVTTh] (((@UU-Zs 8s m۶u;-Cm҇~ $&&0i$;޽{71~:222}>v-kc3chK׊cv>yj~HHcHJJ͛V755RG'w#[[[Ą+:B^~vZ?c ظq#d2LGAPj… ^=OTTFB@_!!!H#-- G~ت}ѢE(,,Dff\1rgo<0T^^_~cƌﷴ; *I@WWWh~8S={6PWW캌1#""AAAZL_Xjw4kh1qlOVVVx> Xrݻ}B,*}j0}5GDDwlڴ #Fŋaaaggg=zyyyXx1,Y?}4ƍpttرcqm$''#;;EEEܘJ{'b„ :تUPPP,\t xwgCԷKo1{l̘1ոx"'-S*zɓ'bxxx`\X#""cǎ!''G͛qa>|999 1ctnLرcܼ 899Qo9ԗKi,=;-mZHHlllロ[60n>^$!88X,ݻwqQۼƯ[|hL<ڳ3UhNm3-H  O޼r >|46oY@ {7!,88e* kݚ)!!1Ƙ&?Ƶkp9=4w\nLOzzޱ<]zDP((..JҺЂbk]D@~~>R)Nʝ JMMł 퍔ٳOw27,+-cڴ"ٳ^^^ ҹdLѣz-l߾eeeطoޛ0m_[|ؖxtDg\\8p ?kzi׮]ptt'mBBBjqEERSS eeeZ{aeeō] B!|Y=~tOM Bܾ}ۨ;v`ʕXl!&&H$o1鏎,0`H$k-ˆihfLOjj*̙n„ غu+d21\qvv@ oJBvv6ݹ8~8fΜ 4eFokYalku_\lٲRvBDDܹK.nݺNk;'mGGy-oOOO7qqqŭ[p!ddd@"`J\xWF\\>AŴf3cƌ~<bZ RDYYtad24rKyB׿uPX;ڌ30k,|ܼ#Gcsid覛dL֭[WTXd  \طo_TVV">>ؿ?._.qBRRJKKǏs̰EII c077GXX"""p)T*ܹsF糾}Y兔(Jػwos"Hcx">|-[h-_t)VX,#b#((* 5jT5ӧOc8x &O & >>^'Vkڷoajj>=zӲe{+*!!wK#/ٮ6m~BPpyك̙3pqqALL "##v{۬Yggg\pgϞմf߿{ UVA*bڴi1:#GB"4;Njڨٽ{7On3<..ޘ7oFrjŃ0qDn޼yp-敗O>͆C_w2,:'k2&]Æ k͙3gp}c2x>7 -OkQ:kzjZ}4#cl]Qӻ9>E^zSNuv|-Jg ]|}miҝ^^^!-)))Amm-&OLmR'񢖭>/bŬ+ťktŵkרb8qK_zrxQVwJbFE]g;;vE-JNMNO'&41oJnB!v o Thjh4.WsbBIM!BH!BH!BH!BH!BH!B^54B!Ĩ>>Z0B!u !Bu !Bu !Bu !Bu !Bu !Bu !Bu !Bu !B#!B#!B#!B#!B#!B#!B#!B#!B#!B!a$B!a$B!a$B!a$B!a$B!a$B!a$B!a$B!a$B!:B!:B!:B!0B LӧO $ݩS Ю󃯯P?֚u~o}B {A,wr؝;IHHmگ˗/c…Tɳ0+PQQ5%''?w {xzzĉiBff&jG}t;zܹs1z`_zggg\v >nE*ݍJƍ1n8j۟kСpN>M<P(T*՚D"suuuo}vɓa+Wy¢Et3g m6/y! aðzj,_Xn6l؀޽{S&^ݜom2]˫p˻g]o:t.\'j۷k:ĉرcf1O'S,H Ca[o1B53eÆ c׿cY͞=i|,77Ԕsǎ˦M~'v}[f +..f͍Zی5_~aWfRs?3n K/;w3gz5yc_|J֨}[rJ6o<Rd"]p1X^^ҷi\Ǝ˦Nrrr؃XPPӧֵkײ?Of%%%,((`7n`1qF6zhvVTT^~e6h V[[X޽}1Tʜy)))lС#dee1cưb?l޽{y)-ϖ[&ky5N}y _l߾}ZmWw _]j5bOf1˶mH`)1 ?>l `N@gJHH"lllXrr2ewm1W_}UI7999 wj5MQTٙ,d&&&,;;[P(H$biii1ݻKIIi>[~q&ɘZfL,s}޼ylÆ 1☟_m`yyyLT2KKK-W*Y[[/j]&C fnnή^c,44EGG3H yVT*>Ō1cw/0~cgK-ݵ ;;;Ց}NKWgÇ?zcau)`ܹSLA@@|}}o>888pJKKqx[>}t<~׮]Ý;w0zhv܉["==!P(P\\ JuAOŨǘ1cy"+S"==ÇGjj*;`8}4bcc;n fff󱻗C} %R]Dw)i(;:Buu5JKKѯ_?j۹m~uV߿?*++*c5VaeeS(ݻwi&$&&bȑDZה)uk:e?#JJJPRR_~EQ6 P(իb1b1\Dn1lnH$ɓq9|={6ޜ9s7oj_4ffJJjvT*8 BXZZ|}};w@V ~~~HIIGPRR)St)q@g=|% S.ݥj'Brj۹m~uV.++P(^|`ǎXr%***(++CLL \]]!Hx6陙,7`H$?~難@jj*biݨbh{yyܹsHMMŜ9s0an LGGV3233y/WTΆ;wtj}||>>>8<?3gܼ˘|Poka2]+F BoߦRo߾={n݊1QC3PUU5ieRd!44r;o߾D||wM-!Ϗf髙m\EH߮^^^nm1JJJpQxrGvhh((q^pf} 8\dt2k47,e}JM!Ҏ9 =M &y꧓Qh #!B#!By:nnnؾ}{kkk!PTTD r|/T aCw_M<ԭSNA  ]___ӧ+-_SSSoݪܻwbPܹs1zh1mQT*6n܈qqVX )99'Npohi^^^̄Z=dѣw}5?==cǎE^Ez*?θv<<> 2o36>~|V_:t|t&My[Ξ=III:ߖ:ao1{l̘1ոx"'wJ%<<<Ju&''[lG}L 6`ɒ%~te~tmm-ѣcݻwI$VUUjjj5x"nDBd2;tλ/J%dYYYJRe/Jfbb²yϟg猌 fccÒ-{nľ;h}Gll,:thۨT*u 1 __X[ޒ fnnή^c,44EGG3H y璒,ꌱakui[}Xff&9 ЙP(H$biii\,XJJJաǏ3Lj5fb{y؆ c1??UJbgb1X}}}</$kkkcƌD@~~wCRi { yTXXZso_X`~wn)S عs'e?fΜ >T*黄lbb'U RSN bFJJ whټ1p@D"( ePi[7_kq:tj_~Z󃃃Ӛ@1cƠ :ROǏڵk8wF=zxr&tnbw3&&&nt1336沴Ø]J.hBXZZ|Omm-T*T* 5?#JJJPRR_~EqNNNPհ) xxxݻشi1rH鰛ںoNk¯/,|7,}j899)))xJJJ0e🦣2ΧδG،Mӯy,~jY^^nݹn%$$@PW^Ÿr uuH$a8ww9ZcΜ9͛7/v:#Qm!uq(//O?3233uU*=ͭ"0`$ ?:;rJnlQvv6WWWH$vkE7-~Caϟ1sL/CeOi-_[YYYA(FmםVEERSSueeeZZ4SSS1gn-&L[B&SLg<FSSS,X+Wٳ! K.Ŋ+ 88ڔH$xױ|r\x>Ė-[^L477GXX"""p)T*ܹs\d!44rKo߾D||usNK\8q"0TԙߺR%owwwܺuKk^s7hS֑#G tD>h rmC^^^HIIRNj޽F]u:u*6mD=uoΟ?5yaĈ(//GjjjwލӧLJf UVA*bڴiBP $$gї~gaڴi}GܥZ\ԭTg8z(d֡#GB"4;^jڨ]tVQ^^>}POt A+7y:>MM& ccRr8r9/_7xˇ+ٺz*ƍwr(uU2 0sLJ#'2S}Ѥz:Ot2JGal 44._ԑoFx~ҷ+ruubcc.s}Ǻ뮻<].גj>}Z3ό~9sTPP ժlXBڵk222|r]rEgϞJeX;0 }_֭ #0>cIr#77墖'+((PHHK9q5Ԥ={(''G۔Ç~өSt7V񪪪>OoU[[+IzWa) 1azǹs{֯_tIҪU\OOO?nkɒ%2Ŀr劚F_~~p\b W4i.]#0r(**JGw-]lֳ[ǎ+I:y‘0 įwx^. iÆ ھ}\mL-"Iڴi @`O>^/***STyyBCCp}2MSZnt1l6]pa- 6}駚1c$׿!!i_R~~:|٣B* @111~ZիJ);;[JKKG}H[Nqqq>ٯmo-ժӧKkҤI Pb,ҭt:qi?cj۶mzn]0VHz_7é:߳w~a#?TQQKw1##ÀsHڷoԩSuV:| 0^;&] ?Ə%KY;[q># 0# 0@`F@`FFt;g,.{evea QF@`F@`F# 0# 0 S`\jo;]ye>@4}tmٲ6Miii WLL*++ݮgںu/*$$9))Ia(s̑$WPPΝ;ݻ5qD]tcǎ0 }w3f4Muyd鍊n7Mm߾]6eիW}'kGyD?pugddhjnnvyVӣIII ŋ{/77WIIIa:yd^k\v E`4ޭ/Vll}㪨PYYNcͦzK<*++u}CSLQUUfϞz355U.$GwZ1g}, sYׁ4o</豭 ͛留7?u}͓'NnwEEEjllԟg?87m:::f͚!מKq vI6e:MM= y`u}Y͟?sMM4aEFF* 2gϞiմiO+%%E.]Rffz*,,̥3/uaIҺut=hɒ%.ioomٲEz{l+22m0UyyƎk&N\ڶmi=G_$$$QWWWU˖-bKKKkRRRTZZGd\:cF\`Uppvܩk*88XT|| OI=5Ϝ9sܬ*)66qŋ}lԩZz{h=ޮdd\xbNd֭[rEΟ?>yd." /_ffwpo}+V(//O111ڹsK@),,TKKK+z?=ڔ~X,w'Tm޼YAAA z<'}˿=o~ѽ;w|A޽ 0zKvv֯_4Й3g<^_Ԝ9sC9ך2eʀr9 y_.zX`$iڵ6m{˔*,,TRR{;11QEEE=y$ժ+mصk]Jо7кƝwީP΁n{|bweOh~ſsj|mV:Ki7;h޽:t^{5F F-1h3JzOR+ݦ6]7=OUWW}V'g}ص:0z{0@`F@`MiWw+){޲wee#|F@`F@` 0# 0# 0FxuNB&˺2ڠF@`z~lIDATF@` 0# 0# 0F\hvצ$.9wue-S;16,7# 0# 0#@`F@`F@` p9S;߷9M>TNV470# 0# 0F@`F@`F#2^]i>] u6IӮҕźc# 0#FPm0Gmm~aLݖtN_ܖ/͗CFg&0GR6B :F/I!iSWc9?Eߡ-C? !nPcvI|wލY|hlK1tAcrwÀ݇ǶF_Hn8ZB~cEM7 \%MQq :&Hۮc`u?P?K Re}~*VƍR'ߟ=mwSwG^ ?@߭Of8Heڈ7+-?}nF.X|#; <~U~WW/\_+u!F἟+,㉕1k-#[Y5Ss+/ǟk oƝw1pW/_?]2Q1WzϨfS8$ܯǯ/EA{fnlpĴWl猟 06%$ %c ;64XyL9N<f1TEݛ>-&aoz8+g#~jnаd̊UkκJ.VJE 7jZ-V{-ܬV[k{^{뽏Fk >?xeƙf6ˬ>"|V^ʪƎ;m`b]w})N>vʩ~%n-v?^ _)}Z\"NL>c1<^:g<'I ,< n黿VMXzc,@,/=ΟvUF1٩W#Q7q;-Ei+gr)E;I?_V%SQj;v.w7xkX*ɲRfwCڸ 9{-br|HU =%bcm`ŔAy7ZوMkO5b%+5}3HC+3k3:o9S|3i'rΪpd.+FG}ZT z9) *JՈP]&8)r Rzo{2ܵ1qk:$URLXX`I){ +?:Ϙ.^*&Zkux-CrfCۺ8?щugLϞngȦ=x|Dэ3qB|kF]֥tjRvMu4==V<TӜ;Mb/t8Kk' x˽h^?=9rg`(C{oV&b!{(ZZ< @m)H&$l/X%Kpq ̬Oe1dPp::#JjM);qb@\Df&R(wlX%GZYd/veRG 7PUCoMȨ t L*q&6ϒ.a/ḁQºvMpndlMPIU?#4[P$rg%;MHK\Rr[ <((uu*:q+,ID 7P!ӍdY_۫x"ɩ7Һa)-QzJ6(_'1hVfb8%C]](I taNnD(#:^lvb7M^ d&B#Q"2``^C2quufp>OcXt"g)l#͍xBY}BXA4hgA %eDƼ9|& hMT5. jʍ. d$3A"tԝd'9KCD&:Xݏk?+?RPr/gJZcTF&}&H$+@t^*a?CiXJCD= RV9pK&* (ώa` Q`Kpx'JA*OڈK'x)icJ)@ Qfa0MT0"@N'>R*A6AP(m`AO) x aPq|#DoV#XZ{öd05VO$`9X]-6G=wx h.8@V/l:0@<& liwU Qg=-OۢPTyNyPq S0uR",xQ@2J zxpf AwVhNm]"; +SQ=l$(D0ijXTh{d\DM\ 6^%L*3q.䄠ÛbhRpaM$ 9Qj.V3aD Q/ lV  k?A"Or|tM۹#!6h.HhcDHDW"p•ظ7C {+0p*z%R$3iX \) Dן˼xa|,Һ 9eiU|Rt86e-[dՊb .(y6WXu Bդ0YACeNL"l PDj-OkhAuSDDrU&H&XwS|G!2EL>[,!ftI-eJ@@(}yJ-(\Dθ QIK An.l6=)pf>`MU$`2hq| TF8*z E$"4V٪jE9KQ@]f01?/tT/6"BBd)J"TF`̪ ;TF!AVlj6% gg+a2V9¢ BVt%R pHDߨ|‡P8TQh/*}QP-jM!a17n,>}GUdpΠ`w$256 i~.6+5r vք#;( DV6 daOv_X0@H^&U@OAD@ȳ BFABn'T02 6jyn:jln%D2p0S-M$Q}#GԺC #ՠvYW#?'>JlcG4Y5ҩ`Y{d/W;wu='X)6EZ(+CƄ @EO'G[<}E;;QѾƲYT+@9( _2X:2 i? sP8I@jZӻ|.o5pɶDay2'!H+2Ud?.? )ջDBC`.5Q@AC Rqߦr&ʌFi9L h<NJssy4vq|`'/WXKB6>QGO(TLJ^R+kkdx7T-n" x퓠I\ B1TLƃ7kg@}02Y0xZԙE?hޤI ̅\w(^}ܪc"9LB'\>8ltUAˉ(R , ꣦1u*qHxhT=)k |: CY8g-C_Lk ? ~|^YG'bX1rN-#j(PAҌίm|oS@Ly2%`/R@NuN=vuظwLVλl>_M s:;D4nl)a,?K ҇w;j yԕ88pͫH@影)O˨-Q54}ޅI9Ki˥u }{ңFs?oNKJDj60{^lOPT ]J~]LFꠕUb녋 "!JEPa HjcnN&3aP`9$!L1nCcоaϟ j!| C{Q=ݵLY`vΫ+c*N"h 1 ǡ@.X׎ COVn͗q] #ebr;0PNK_+ A)#3?k<|dL`: @`>%YP@jlbdjQtB OL;kHrvi>u b3NTC0RbpLQ@?8R\ )KmMeP,Ji@L!jC)I"e¥>$m Pvr ?pǓ 8 !Zz lԁi"0;"bS,GΝ7v5m ؊NXMM-4V<~F@9i > |)fv;^ #ֶہL(%Al2hE'$j)K s_GcYn݀&LN,J5ubZ(,&Wz]zݔ\@mG*.qyCTE[CO~*[/-יb:db!8#ytXwD@ k! W5C.,mJ:j !؉*VPAG^* voEܴ78Sk2NPt)ʼWX9HH"*NQS"wމ$ #zAٳ=AG8%EpI?Q#O2Zz<{j4GsH,ӐD6BJ)e/tt(!5}^ F .,hAb5w|1kZC=kڼK@?>gPYQb%UK{!VXS:9j}k @ڬ8,:jĉADI/),iIڈh}CaL Gs=kf'˛n)P tRB`6IFe+dAyKb9D^WN+ꐿ0B@?~=?tQZ- $bjMoFP]["u6xhxJ.\{p(ijEʣ~' @@7ލap^ ~:duXGG:rpLpuU]`ܪ~.,B'8dC+:P6Hrov ]hD~2FB%_ mhUҁ3@yC^PIk\iS0Y'fj6+:ކ=Q'k [18B)U h*u@ ?1V4G֡?뚳RH5DLv >Cz x$5HJT>NU@" x_RD&5P܊$OtLtt*%I"&T'#I>rELg:7G#gC~b4}bT5L;j-L1VMeRTi-RLSFarGǡs>#QMaV),J)(+Rtx0AĦ!~JUpWG;AR? 596}'4xJ;c! +8z"@X3X@2G$k7ud*Op M@3S:cgqՁP },c@,Tf)yʀ%!dpJ $=rI|Ru9@)mיۮǶmzA) T_L>w/_G%7xӉ;(\<$$RxMV v°L}[SrcHXTPx^#t+1Rv0/&"R~ghi6`9OYGƃaAL)(`Ԙ7o% CSO|Z):`PF<x&KYl\(+N5~T6O0.X홁?i|Nj4PQ pKA B0fj8seK(8FQ<"] sRoD?85 󌱑M !(hG񠃼qUfH6D=IDU,\~ QEUfT*#li՗ KLSF'%O[C7 t5QĘM' fCS$#d50ȇuzoPMdIh6T\K)UD%z+D#{aR -ԢC@_JC7 Uw4)-r XQ%dHv&rQ§;'42:UNdas@@ XJaҗV<la ńy5vyM'%#8LyjTݦ# GnWi-Q-uzoLH{oG+BʿW`Ե4 '͐_ɤ'K!lԜkACu_n'7W74Q!G05j14`6FԵ]Gw&QCORj5nMh&S?u=%E峎 EM5A3Up DL.MaP)Y:o CM3] YvbggK,oIcJeAީ(*Yrf7}u ;4)~T&F`J}KPMu ң!$}ZHEY*Oƽ!t7Г0R:i@~Y5{Iݐ$eY޶&M! -HBO(v%BR԰&`r4.gEB(j5 *<Я=A# t4퀐EA:t;4]`Z/1ZkRWZkF<E؄ɡGxA!89i#RqeLkDS 5=H uSzAzVʑe|W0Z"98ir!pdkޝz kܩ ~ E_fI1bY`R&٤|$N$uIJ=;c+zHHF8{., ӛ(PC,كp ZNQ^~5 lCACn9HmDKFVBC (Sjp;eKzt#&N# T!!|'u"" K2QԨci=5-gWz驧/|M+Cƕ=Z1RkgWg.xj扖iEM 򦮇w5ڊƎA/}UE"/ڎpQ$(A6_tR:l{")mѝut0R`zndW<`5@OW!m[3+2:F'~ C 5O-͢ !qMCТ񰺦71|$ʺxYxg-CH%14V?0.hn,)[ʈ5>_O e`iCCPICC profilex}M(DQD,B (!Y2ԨiP3Xj5;TS~66l-lR~JVVFsgj&N=@0kZnmXvމODDrN&VtsX:o{U\ͩ%ׄ&xW8l.)3G~PQWfؙ Ll.;2eR?(rJb+fTi?`Ia YiH 8YB?/V E޻~ uyPvٿzZlUY3vb sR`: oMIhbn{NaF^>tgB*sM)|r͕bKGDC pHYs  tIME 1/3l IDATxڌ]s$I$="HfVw{z/{'23UUd؇;Y#[-lf2` P*_i0Sgx?Ў'4 5L @ 5&D0b0G1k_ I2X2HD iY, 9-n%KZA f Uq@ 0  % CRB9_}Պ"KBZ7VZ*)%@0  5Y\:=b @PTZk|?{wou֞k @"af`r^@HiA _'f0ڟ3M)#I{S","B)ڿ "B+RJ, e 0` 3 es~_x}RGZxYCן+?A M  3{A%(Dp~7n1 ;%$~dXK-y pz#H#(U 0yGx3F=ghx9b , n[ҁxОY~s\K[sI>Οq~}(S أУ~^PP8~/'d,vt>os^Uǹ0 qN'h$0QC ^ 4%n//z< |{@N@@jɣﱦSCb{R/"hNODgb렊B?Lsmg%i\$<"Ly"amqZ@s'I"~AvH }Ok}Ntԑ9z! E EłT(j@5j=))z4ۿ` 0 `JH AnepF^7dZeWHE ؁]VUOTXz(!D"!IH<>i?J-xP(ԖY[d~VkE:yAp2Q;%>?Gfo73ψ{dˁV&$Y=);=P *1Schb׬5~2??$";Z+LhGD`J^d&`Vx1Gd b ⨻Cw<ߐ>`vĹýj)`:UTy #9^F$[sړ錳&sr:,ehF;ZJfC&䡭Iv(:r0H܋†q\=ꄜ 3r;/~voN'#^T@ZR޵HDoxM$.4'蜯1(FN}H1%cJ s?dY ^poXB xyt[<\3Hr/i/=OEo[yGܻ 2Rސ򊴬9) bO(KRKppY{cG%G8|Gŏri%Fs4 2U" r6NX驝Ua1xB '@8GKxI-H'Do'3n^LZ = x6yیZkhAXk!RG⩥ZupHiE mQ>Mx/Ci*iC,ɹ)Q 81bn_F<0UiQ_ˆ0"1OPpBDs+^ܗ;^^/`IY$fϒeB v|@\U`4H$PE !B ^ȵ#9U{9f9M|;-T!rm_-ibkK]m F IN}~٠4广>uߐ/O|ŹNcJVj;wtju4 )5VCe=BUDٙ':+6ui|7T!]$mpO0͠0;jȋA'[D2\a`jF\O/\7>ef4&7E+Ԩ ®dؠPZa>u=ZFp+'$5- L@B8}_L'ę-/l ɠ,Q}@v1<%3JJaoYN=MB[SoK"c]eC) O"aAFU8!R zK`ǎ(%~Vap܃p48aRc8FKu,*}[p0J8>%Axg;aroBYd1>sQ+"UEɃyq\̆ 3j؏V"qI 4jĥx2'H^uCN+nW ;Uj`n->HW'!m]=γCq)O{3yxܸ~X enox,<7ݾ +gi0OC]x du;Za*'Q BX aqxSIq ErrU=lޖ8w-nB0̑kPn}o+HS S3͹tJY^`hCCӂZIԸ*儬=imΝ045H]4T8,8 P$6ݚgn|ߌ=,Q9b.cJVh TUn˄,!4cDάwW;:sħlvR5]z{( O$zP#sGJ5xi[ &Rxy[XE[8ҋyΐX;A&ptp'N&}A-SIʆG{~Jώr E4=|5J8F4w`,-sy펟_3Zt$6g^`ɨ@ `K~"#QEҌB mFGSՍ)k \܃PsGڡQkY!ԢHxbVɝ f W~pBb ᤆd8ءp\)A֊PY q3JIε[ fUhLաvAC2^dQ6Z SLI:/<8 (Gm\w‹vE9R)g,9S`$dF:qJLK¶ݰ7g<8;on@,yIz,c?Ln;?3?G'JZ(-j{W⭚9=J|?}'|g+H$tJBiiq6%`Y61,Ep(ZQjJ = t#j$)5OܨPLόS5?CW~\͜u*3D0UMՔcfr uJp-0wTztxO*M0$")+9xSD(<OQ3E{&)gm x&-S9#!AP<@TѴ]ljNo,#MAk 9Mmqs . V.@-aKjQ?OǩUB4.`x U. ԥVP) Au&݂)ͣդdJJo380O/PPu4D6.* QIk-jey3t3កMbB5jd>/ET*=)W >;*4O&7q|3.,䳂Qouq Ic{Aq&9 Є2ѷ8Ajp)SNNP󛥋dC+AyuWPs#hX%c'P $v a16ԗ;+uNXx[%#)%>|&]E+<[16MVOź7Pi'۩)c( 1PQ:f7yak0q7LiO(̋st9'&Uk'pć$|z?K.x,_g4N1"i6$.Bv Y:Vt ܧh?0 ظHWd ]㡶 BxCÚW'sjQa;$XuòDкFY@viQ9gZQUQIG->T|a7R$%*=!)oZH<# i {yY{hgOmqp>8&}\S:=&D@%@cm 1NKgW|afpRBιs3U׿!H@OVv{ /+mÏ??@Xoox<ް@gUAR $e8>yH41$> (i\o/p[x^7@Di 9WI\iY֟A$w*zޖMXwbQܗYpˁC.Mx4unM[_?WJƬ u*nNIȨid^TmIvQFI[}>R<D;x[uqԽgf4gV$lKS OcXE{ b;d7@Ξɪ-W~-{Q6}>0Žd " !:yt;0ۧD&.y;"@ༀ^'H$!LK"<,D@ o dP/a!꜑c6Tn1Ei\"|X5 ~ao*H5ۭޅVE%n<]mX7L gTPLjb{n{K28/Ժ 3a/};T;B<`4< Y@?ߙ0f<o7s&ktn?&ki&<MFu^'#n>œ["-I-\WIZ25$O`y!'#}S$ vZ7I z\1eRһ:<u9%LiycLIa8;t$^nϨ<#ɮ:`avOzU_9~6eWCS"4虫]/lzS,ZxW'`)(v /0nBNV5U6qH2mB2Om] 370N-*sI>!//}OܑCEqV(Mܙ'Y8Lz?1Q]&l&{~IC',i()(Ax ѓT Meۦ_{VO5j).J=1y2m@a%EK%/ fOhAUZ'. zQEPM2?~a8cYD+˅N.Z; ܋Bhʞ`Zޑ'$0pd/W<^rZpݑX@ۄ)1H(csh7br-0!0)/fmmXRCծ;#?͏L4*OI\򌙒8g狉%#BЂt3侗)a WBkV¡ $jŹ 1u{c$0id3 $ɮhtw,G)!e%F-u >';>;~`?GvŭKQv8{ 5 -4-N*PQN>T:8Có9OC8=E=dv8w;ۍȓO.ahTN{IMSݠٓ;rUE)1U0s@ a&׵Y ^OZiگ8pa<@ K~ϏHʄS 뎖[Zq~,8@HQTMn'Ϝd XeqXe÷7|k~ ִ"5!SJ1&h+6t"1xk*ڇ01knG]-쓗V N[QEUmޒ};IM KQ2mY!='!̽[ 7;ˁԅ/494|tӦ۱si9 cB dX0N|/)Ѳ KrZ2g^7hԜZ__\3dŖFp7Km'Y_|T\w z$xFށaPIf@b: 6G(Q<GxGjّϮJYc zImV~|haTRકiE^$,(Oݰ>E[K +RZ {6=>Iǰ,ڶ-ЩP#}ߗr8= c;7ْєչ{ĶR0o yUCޢ|@@ -B)&:i3ڬYd}KT]d;[]f^#8w~)aP@!cA kl)>fk^ N܊ ϯ&MBy*44/К$#*ʾC͐udx9e@<(|4Yu 3Ccq\0MՌMmxR"O ͈ti!7&r^u?52OzT\! n({wPKiX) j#0-'&mt<`!J \|=(ڭp}rdq͊()GL D O:sA1$3$O2d%lιec;}+^oߢ=zک|l"AFUI$N[$$`P<n3!syczN/]d3ڡg5G fwSke4qV0So󿻅IzR= zqR^iv8 q_#sron"'Y,N"'#(Dr;ZD1hT K.?y ]ow!PSX~{qi,(x'@^HbwK+HO+aXδ,;8ێ?U^yxv Cg1u :u _6fvޓM9a 俞ۍ3=.L1|2;Y-_w&Oޙ4췬}4ofهAC(hꪝWC{b<q q@<-h. f>@= U t/R҆#(pȧ^uLTO'k΄(cv )21Rl4>GDUrJX8=9 0d%vns !6R QG%h)vimL%}]؟<:OQ *jXrPOq2Oőa4%,-j"4xʁ8zT8wX5 +u%x EU da(^$cI7Ȕ  rc{`_w'=? `Rv{_ꔄR.1Nő0KmVS̕3Q`a&U|:wN cP2 MS!lJ$whS?f *.lPG 3Pjܷ Hk !^h d\9F j">4-Nv,?'foi0'QΙE'9~ oͧE2'Z4olF ](fir&lYԊJw౹EOOl[DȓIs"75NGZm#jU&]3 OWnG/kP;lNt:Xlff~nGix6W~mnFW}qX2Rq]^ 8K?ŧdKO-9?9vRK'1$GBm u/ʱAb}jEgg:/y$٧Er1NR?VW߫aSkKpTbI$8K^p݁$@qt6q44P>F,Kh>Y<;8w"/ 9u":uqE< C`rJ0|rx~cTׄ8v=$i`&4}2{05drAU*{̵cv%oHKs5Y<k_\,TP%an8(?~?~ǒvC]ȶfh9PP02HBd#Yiz4&@~b0w.AD;mQPAKЈ m#2</ٺQ᭓܆OraN|BPOS@z&!&( O܉u6ţ>N?Йy>[ti%`6]L}m1x= 1(=ؾa :2$:ziobۼ[QC5wiΤ5='SRfoS*SJ%ک4Fv_hq6.Đ|I7I2_7٧Q_vPg;@Bgbg(4ưtkg}AS{#iog= 5)ϮY>#j }W:ȇyȌ?[QQdh;ONEmh!#%{N"%^kU<Kt>`vxZz` Ƿ^}ò[ ]FȘtGbL|̃\2Tj FsvΕADA !T`NֿXD>sjPAN䉳%O3 {ɬ_>=nަE@S%7$&I͌ϗP^M .83&~SFSDfZgMT۲@^q_qm$곿~|.]_a="k7)NM>tFkB;mJ,ǾhQe,^LtvX8۹&R]L<>"n<0cuP+.ZR(u!6H: hr 3 DXG3o{*@3۞\Q&Pg#3۽~<62R5'.鰘`cPqBG( s)jYlS<⋅>Y6Ǵ;l=ɫ]Z`dH hO~ eY92jrmRÒ H2yZ=B + 64"#y&;ۂx>@2cY%j7Y@7--( X$#21ni}a+ּa rZkbPyp4 $ ʬO9@OQppG[D`qCE O58g~";8]#<]\U;m.AF=sO8FbjfT$O.t I$"cOa IM 4>trNsDTKowɘȕ< |PY m4տ]x?dP4>WnJӈ"`x' VFܔQ/Ӛ,it?__̚?@ ږ`v$73D@\$gmnvrw7#'uC,T(nc*N^m5)-NP::2Hέ%$ AB6jwO!}iu ^gM6NGq61:&'ܹu>7js۳'bpIP⡎8UHcir-r=w5eϴ&+й(ȀT&SjOh*!ZPWeY[cr+@-\H.yo"rKU 5N^#'4±+/#gʓ)c G| g+y:>4ze,-:lUZsQjUC|M(9n AIɵj"nwB#  vR^Ne?A,1DϾ'b$ g+~˲۷7n7ZHIR3iŚ3Qּb[7}rVÚVܷ[7.F/Rj: YIg+(آ+/Nޮ Pp/:Vh-=5LuL!xFVdg*^Yc osPriVQXd%IDT\o|VT42Q)T݄.3ЭX] pi0Xna3imk|9LSN~iMwH IDATuF.9L8\Yq2n4kIe#:O!j"%҂|[n70즨"xH% ;B.ztIm8۸މkI3]4m<* 0=yС47%}C#"9 @$N#a"Z5 7`f,ŚAvB47O < 0VZbr.dvM6mi#:jת1Adg1!$ P$9>ܹ.vd1Z /i_ kDgјܭӖKG-`vBC=`#dY*%()V bm9p taʑ:Ԧdh MWGkunJ(PjɭF$l Oh@M n& :>T5$fԆ$&ş} &CwbLq6ٔ}R3D/}߱RZY|>]Zo·H΁c=ͤy`6(bsvK)j.*L%l5)B `V IG_ `}/:B9nlα1"0@/xھmϕb|*6B ˂-ddIض /yŒ g#ńljg$M\[a 6ofi :IE> xoUم8|Zz*|d%"[$ض\V 6eNw,CS'*G; $.43XCcJ[-&E*j"')7}FNvn['z"Ӽ"m6[ʥI|+tjd$ZP{YkU:Ukh 8uatKMf.ۜ5@B=XE]Howm}I/,  m\.)fzn~i:u챂4~Ǭm'Ә ?s>:s~l _ڟ5c_3|G|E#Iob d։{m1j|,ݯ+T'*i`L+btO\%163EaB@}}؁U" xʁ qW!7ES; Ym ֔H"#&Eel)f_sF5fWp;rq/Ci-)!R+p%>:\(*q -!7]f/4KXKuVC҅8fpB GH$0Uc4t(.U9a$:)I ?}>mn\J|r~Ĵo'f}!y혂WudB߹,Č4o &EUNo`?ޑSKH*=z;m:BF1XwV˲SCe@bqۺ #œa!9Zk~tLO8$着{YӤ(>'2y4rLR{8qʽ#1~ا U~:W|k)8JHs6[;9YX؏0rni F0(L=QۭyCε:Km>ocu{'85B t+}#0mD2!YIwܭ'Z(¦Cr>Ѝaw9u{KXuuu.TG9p!IW`KZMPdtiG¢ W j J)}+fq^5u"6mvC{CǸ1&Qst8MLUyԜ"&Lp͉bL;@t=ZPl{u e͡D$v0IqZz׊ޛYVUyߵƐ9 I&, <#e>--zhU2TT-{v@T,lP4r"Ȉ=s#ĄAd{9q39h˘{/{`>lMU7WuGb[dn7VXĺNLU&}alArHbLM$-iXvEh.4NJ:(- R%{=i$6tDij ht`E Bi8xWa, BH]M/kT7gtħA(Q質M] #c)c[P.W.WtL%]c("yC\c+<p >Yg\F,Ga-E xn@J&EhJ`سŠz=.%kb>M,*gx2;W>LYBN|5.WgSFg<'b3KMOd:  ~-: (ׯfu[|\oc 1c8=b#GEL(Zk$7NPV8Hedt>s# IclXHf0d 􊡜1D[([%K{Vw^x -Ai/mS>fԢ(\`$X4N̂@2Fb@ f(0N0>ץ?g_RNOxC bWoh$ {ggdo ElR)/T,Qmf`: rqd-xk{Fp|E% jFِ\ASߧq饄W`MՔ9lH}FXG$I4)Κz|4;j^#M+UYKEF`tFaO/d"F6 dۚ&VKgkŘ'3DȝGP٨'A>g2h&#%Dh$jfZUd`6ΐxVUpBJcp4:̪O o rWAvSВ4F&ܘ(KƘY$Z`cv=(L!$1G.*'TQO2hXu udet2!9w6cXi@wvSKrԆLbK)TYAlZN^;5gT%•罆l oWVk $&(fn4$9.xz*S/] 7eb)*lg)>Pj~r9YdO3X 8,-PAr(Pז(.9aYӉ:yҠv~5 KG.a7صQN30ŬybL̚اipwUU &rudiqBL $C'M0 E &֯a?ŜX L.$/\ T&3= a3D5ݧ W:)뎄XԄ6^/~}Iه*qbpꐊB` [p"!u]:4*cQ"A*᠙-ξzK{:E+-?ӗڅ4A!۞60ac3 v`,ː!c*O .5YL11KOk$I%>ܼr히aOՄ\Vjkij)8iH4wr?ߝ%h+bՠd(Ƶ5 FrCDI8 cw8|,'9HҌpJٳu91$1tG(F@Œ FC!Ax}Q m4ZOrB#sr*1M>DI wƵ{*]7$v)5iZ^D"9եӐ0eC#9HcкZ"QPq=l,e'izM9Ⱦ)>$fFQ~(\ $)nx3I%&8-O04,>YLXmxs1-iʐdY}rj\YAȺԩANEՅͻ EDjQ22 3ҠAۊRmF+M13nP*Z Ifc59|so> lggbvMsARv'f; egNUw3E*bK0=0xaץ_R ?Uү\Y@'R1,@V譕 \YD9h*4eYs1 ׻Hq`F6zI9F}ҕ`,FYDҸD: [e%Յu:ϨDe@(U)~m\?ڏ!tIYMc_q Bװ1x638qInCjfeMĤ_leC';]ԶHIԷ!jӜz01혘*;$\{ dl+8My5,B"ft1G]Gwd5j{8oWlڸɍp &6Et 0eŦd4LN (&>5)!ԵBӼUqAK$lxkUQMz:Ӎ^;]dpIl|AHpHЯ[ $]6eZ"ڔ,I96LLnmt2㉽JtqQQc0DZfHQ;=f㒔P:uaxhk"cUTeIU`kԎm#YC_WD=X/HG'YYC mbdx5ٍDv`l l0 8F@|9w}Tٗ9VGaA$6UB}AI@, IDAT??dh',6QWm] 2 6lPPjTF(zH%Ea>FU-Ϙ9Ԉ&3>:=jI.'gٰ;N4%I!۸!E#ԒK&J$jS7<%_-5;:R\#ȗ%\IO4247fXLJ`E[(Q&'e'&/IZkƖ3e |tI'\2\׎qeCi'wDLLifMWd6z5Nt?*R HbD:kg(\.^cOXH*:C@>\o 2əWmߴ'Zx80M!5ND csz>scZ,ㅭwI*9ɥ3a)mkf*oDC1-P#tE*95MCZ,XE¨è+xJ,HeAIe0ݯYʾ'c 0̥E-Z-;܌8yrŖZI3}t;_  Nk\3_p_P&Z3&&QYB720ymM6f6R7DR{Ko | .RN %B :SG!ƖB=}_1 -"Ajbqgҟbb-ZhѢEtXKc3#pĊ0o.-H\5SLtXfRz8`D}̵L1\K%GcOEhMg, 1%΀5Bez3~ܫ?=SZhѢE-ABpIF>Szݺ-`FP43rJ`62z hNlql5 k7:6zZ ކHê{8arjd?/>ڳE-Zhb1q垇q<@ӦVJd[;o(e) m1F)@E _!Z*TXтP,V"M|16jnF扩;6lѢnvѧ;C(Inҝ|=ȠX!nfp5+Uij;F#ԆE}KROJ42>Ey egI"U6j& 'Z;3Pc RD-ZjLn ڝb2wvgxBb;L#dlªXDTN.gɽ} 3L (,Mu$8*ːX tv\|}~*8*j)n/RWXG'o@->'U=kW?=Eohi]&1#iI XzRU2Qd 2Sp4]>*Iu+nK>8yft^J"' !c$+ bزɃxQtjVh4-x㨴P!ݢ.@:X/;x&d3Z0z,Yv+Eٌ䠦,YvkkO9IZ.wKmH]O2!U-KJ#‹VQ@{ b |=<5:H13-t}t١ ^qGNQl]\qMV-Z"LMNZO(2EGư+ș=zh[p)xnbRuv3]Gf:5? Dq-V./fIkAiTJ,9e*˙B!Ph.xk&\F*zE]jwD-v =mB*G~qX4c.XvyrLcL% xEGX:p+W aczU5k#Vu,$K~iѢSآovt><Ѝ`俍Hf֡f#rY :Hՠ=YO Hf Nrh=jHWF ȘF%i .RҕzTJ=U^d-Zx*ܨ--vr{W{,3xV Tу< F@}&,,Mٛ#Dc\(NM>Ry*抣ޑw'DaM{KAQP>@4hѢE=9lY}_mœ2.8bx 91!\L*IWBbz_$XE # %H=ڱ8i_1$(,b TPA/55l8ea+"1uۢEOLmLKmŮ/ b<x+ҏ` G£'^6%1 m%.ғNUUUSXTbMh)p):z(Sw 8M?2E-Ş{Nz i{,vq Z)&- E p+9#Y2$~y >}^ĘF H$RxkuT.mAGcШYgȎ]at+8 Eް[hѢŞ\}w׉XH ,FĤDIIVyDJ!A߲m2l'Tx*|IYD #UE CR@JOR:@1؂9̟^wWzQjQBiݘhb+-?|Jn/w'q?M7g.击wo+OWDGui.^Nhh;0&5.yQ?1_Ŋ6F^1EaQc(=(sF8@бE)2DmE |,kQ#Zc<<Ѓ{g͚ǘ7w\g=^?-ۘd߽ӞniUqW,9#y_J?[ba?%w/>LN88{z_s9q u_:z;Zދⵯ~w?f֭[!ٯ} #3<8~[xGX"^Wtɒ[6qK_ T-o8'U|Sp3/})}1ǗrpI|ysV~t%,W{7ݴm˷IK`nw vu$.w+Vů~sp6+GWp;}CeY65-U1x1"q"ǘ(c$2J0l`OZhdG}͠z5,E=ciX+"k   5XXm)W{loykxb 8痿-zXh>GqU/}o{9øX3N߾ _6n5x o=,[rSxf߽\Mo{`V<0;bq7޿|g>ﹼ7ދkn27Wz3x^Qns.}r*w'^֬]?]}a2'=Ʋh71:orժu=z? 粿+8111cB8h=G~(-bxxy6Mu3g1::BQ;)7 #/~睜qi߰UkV(wsGqجy>p駱qFVZpҳNd~m_/?M?3?|99|tJ9 g3w||'ډ'YC$^V{sTe$*r9}dF6ӣ{0BD6 p Xc">RMQ -iO7L;Dn!a *bcGUkI"=,w?`uxəctd$795wˊajjM&)qp|Β,?A}^<+븭1ni{3v߾,_ ~ǫ_b]';{ӟ{ʶݠ'_,Yx$ ZU_j~ytc/O1(OLl◿5/I6l_V3b~KrYow[zCt}},k/.ַ;99 {y^u{yt;`)bE31}21f`[Xv%D :2U di=u?g,ǰ1|~ᚢ_ƴ5c QCQ*_h =.Cx~Ni3-uMٛ1T7,'u!Lnkߑ1ni{{@Q㐃a݆ ,wm~8CŜ9s8PՁ۟y1Gqg0ongkfGWpqk>},L2zQ-/6?cGVڥYoqz~.rJG?/} 299,pxK^Y36[ k:6mֶ:>n.:s90lv?oKO{2+1l},\k+wpI WVQ^2ƆX/+m^C /q_VAOA2I1(A_ A>PCD[ epL]dd*nR&]*\OicV Xx-v{c8'71>6$6Mx"T=\CN:8N6=X +׬ȝ0n9swon,zA z_!\[qKccsg>ԐYvwsʳu-{'pCCCrЁG?/zsFFXC,o_:=,;T޵̛;C>7qb%틪rŕ駝i}w?_^SS7c殻桇x2p7>lRnɍ<㨣@adtkFg-[Ǹmys2>>?׽U8`u U.YN;u)Ӟh糃,}bX}'vcȣżugVsp6_7C߻}ѐ'Ý`qSf^5=f9A<D(X$}0SzShP։zTC]OôEEfkz*X,c)LbX-"8) u  s Dzx"no(ˊ?9|Wrat~?e/)cZ~ش}^9yE ' Y1^nqݦ1ni{.㗿Y_;^ρ 3g4ο\|Wc` 0w^pito ^kzv[t 8~-]Xz N{γƷGWoyǿhm㖶-u9qsԑ|;WqogtN%eǘ;6sg-Z4?FGGf>)}6*I7|3ƅ3C(RmH.dy"Q#3X) ڱ9=:c(,*}SLTUEK&O? ]i?-kVq9iϸ YEwhi|"{e[Bk ,Y;>_N9Y"{+741o~'/5$czjrb᏾I/#5R͢_Z2*M :LavEbӈPSHo ^F\y:& Fu5Zh|z~'Q{k{Ӣ5ߚ1拤ɱA9Al=e2EE)IR6'C 1&0"47RQNNvDqeF zUD-Zh{w=x_قYh{,vNAʠDj&2{+BnS<:(NCn=-D^ONw3=+ h^"(iRpIRoZhѢE-vb $Yfw;  ~!IbaӴœ6{>iSȃ =zRڴ\OOc躯rEXc( !'XG|X ,FrmD$sQ IDAT3C1jf"-BFCD R;W {-=J(n$D;1 08,s[hzBNQ(Ak{,v!we5AB􇑘 Y}!Ljcx pə$HF seحۉI#xV"bPDM%#e 2X v ԗ8g`XSw-ZhѢE QjΜHLSoT1zc$[RuAC-Ƅt'jKld.@a{2)1=+@sXc1bEOKlѢ2WHElMI.?18q·ULh ȆA^Q^#(<5f艶cS=]#/o!UX aj{إ(:E5bQdOOSSDs!jIzkA7Rt&3JʉCk{1W䍰E&$5Hyx@& ffW\VSJ0ۛM]nwMn-Z-i) v2@Gj1";׷ci},R1M/W<8#׃{M @&$DxYcs{AbGꐢ8=VJZ1Bk!>8qfƄA' ԝwX1=\{kѢS!bvq#vOŠtO .gh@}Dw||,$pdaQ2JJanJֳut0{>rĭ׽ͰCVt3=@R*X8ZUSJhѢE,>' ;7Y߅XH"ZX =MϬ\Kըc2@ݶj Τ1O۴R ``8^=xD2xpnSC`c:TEe"Y;6dzEhDhѢ~A h-cMhs,PQA{Bh_ϒI[S5 kk/򙢢i !qVdIĈW P J j=ZhѢE-v!Tali  Y4'K6 z{]Bv=N 0kJv_+Kkhy0X&QirU+i~-ZhѢNĢdC:$R@x ?$2ʶ fr~YL$89&E094Yh=ue4Q]c}2^Bi@N"ǞxJ^{-6mbҥ|ͼ|я~OKy+^WWfOwZf N?q>12eE|#\x mk}c,X`ۮa-^x{XlY{lѢE;?\xAҨ1beDŽJo<ȥXڙ54\y:23%. 42Du!+& 8(bQ @ U ߸q#lذa'?y+oιLٸ9Cw8{]w6>lѢE;1F CP⍢^4X rf^#OA [ :>i™Soeŋ5Ê\HcRiePUQ;_@=ʽ 0o?V\fץ^ʝwի geU.ŋs~ >h2<<>ͮ?)7شiZN>d9:k/9)\s W_}59.\v;<9/;}s<|# , .bPgjj>㏻W^ɇ>;;o׵*ַHC=y@|'˗//&آE-vN/&k2;=Q,(a$f'5h= QrRBDJ IcN`PMA3FMiWU0XU!Z9,J'b >O裏I.\s zߟADx7K.=7;5k?=w}77 _:Gu]t_{_K_Rj`뮻G|`ll;_ϟٟ1o<6g?C'ۏcկr)p\uUzfŊ\ztAy\z|8#_ |d/g}{wm r 'x"ԧ 񶷽m`K[n.cٲeo~BY-ZhBDhv#!hPԻ355q>DitG*hjFyXC)yd=ΥGyIͨibknDqvl$_Se%K~c=?O?~\r%嶢p7 c EQ{`oۜs9~apa|:ho~i.I|~?k;yP{se~ .jO$dַ>}UW| .`W\gێok8#x ^0kc/{~/_[hѢcsaYoO4j,CKdRb($ڐ)J6^}ּ4Q7AX61k0F(%4tM?=͚5k~QG3ۋ^7v^|9/yKf}ce,KH'###x=wy]ϣ>:=yGy$\r ~:ykf,v^_tr 8en9slvu3[;Yhgkڻc-ZEyJCSd^ⶔ\l"hSȽe-I"`iO6ZeY4vc >X)LԇOiۀN:N:}\z\p|Cbܹt>;5BIӡ*&''2eYC ,sEmsywksꩧrUWqyWEGgݺu?a~_sp?._f$wL<| _`jjw4sޢE-t.nƀVx:6ph$հb YzZkmRw=32DN1b1&Z[!xYH(Ew]:EdXEnE(6l`Μ9|_"wuW~m͚5\z?voܹ<]6g-׾K.7i&.Ys=/G}t`|_җxt:哟$+V(ɾ-oᓟ$sp \uU]עE߫W{O9>l.&&&f-s=[}o欳]z[?y>𲗽O|mp٢E-vwr⣶2#QHkHz4Vd6)t΅S4O1bq Y kDF0ASQsI  $ 3 *:2rJnVzEQyf."|A>U/殻+_ ozӛw}9Yz5{x+^]ۅ#w??*s/r( ?|s̙3s9 .Bݿws1'|Nʜ3gx;Xj@SNatt+5kpG/x:seqW0>>μy8餓?3û("7EdDg4RQ! ĸIT0Yp,.%F">&%N,cQ43# }9۷gp5}soOiͬY jF{wnƎM7ݔ??L0 \@޽;}Ia޼yTWWpBvܹs'`ڴi\r%zx<b'X-87\\MuY@`Amӄ:5@3ѤÞ -.P!SRL 1a@PAc41UΎ̄L@Z͆5t牢_Wys,Xyy<uaƐ]I&( $A )aF#]QO0Mg:zy(1C{.Bzud m*m2#"g B;c cXr%Çoٓ<Z~;r;G`B9Jf.IxȮvD?(qo lZ&16-DE Hbe4R4r䌝[d#ZJD&D"&xnmM)Mdm(#A@ m1ɨG)AtJⴺ4$[J@+'8V5҈$FJ[Q*3rAK0YqV_cN:ܯxR)L\t>!$BF;<քMEkAM>4c[ץ]yeĥa=/v-HaF*O{<t2O@"=2:dC2]1nm|F;J Lo"D+F[I*S=s:Hk\JL8DcIx<Ӷ2nR@L7v6iA;#vc{N# &5`'?Fi[!R&?FD ? $Cl6"t̂6ׯUO{<񴽼4,ڞoiFeE㤥w@>J{h-ahg~֤ѶS"UA`v >"5 5JE+Lx<6ǘd8)/1<.EnMCfB3M]m;BeLR`q XȥhJCzx<Ȥ[H MtD,&c &X_]9( l\aZ8-.4F85"&X6.L]Y8ۣ4tLx<6G,&l+>.)Dȴ:~1aF(:6njњc5݂1|42Y;M:@H4m|x<R61Rl΍1:-MqibLc$.Bj <֯3VB 7'vt i,l8UWx<ĥ1hmȠm~iH'kAHi51L]plo0F=X)n( mF`r^I>Gx<M> 3dXȖE3f@ɔ6:?[7i U;d\ȉ)c)e4Xs s??#nJii)o&]w!'#лwB=l۶]v1g86 _,X@Ϟ=<^xmѣ_ž={k|u;VxXp!'psׁ|&.@q6c0#ma~qY Fc=y%[ im[v 46 2(a/atӂbOhhh/|C&9j/Ԍ3Xp!#GlO:AyTUUQQQACC17X{n guV:x&mZhziθ'B4ٮa8pΝ;~tO?'쯠$~N:$z|x< t=6E RDt"1o-=4S*Њ  )knvu"IqKa#@1Ai=uYO8Ung SN9;vеk 2i={ү_?֬Y9s뮻СC>ì_K.ӧSYYٳcĈ,_M6HCCW]u_}gy۷өS'6ǫQ8Yr%%%%?G׿W_odΝlܸl6K=[ׯ=/9֜Gk^aᥗ^bݺudY~JJJ:x<דxB Sd}2M*h(L<Mf 8bJJJ(.."Q<'$kIN^Jxf 시茴"ۘ#*F5q7H)dӦMlڴ FQ /BƍGee% ornӿO㩪bƍ 2$ٶyq뭷2i$Ə)‹/Ȑ!CZ_x≌93zh>l.R֭[_l[QQu9s&^{-Çgٲe|;N:%UTTpru1fnʚ5k5j]pAaHUUcƌ)ئ5j۷o{fL2Ç&Zkz3f /2]tI;_\}}ݬ\j~ӟdذa < x9r$SLI^{89v8ۚh'37iB ƎsBP4h헱i0h0)1!RHrF uM$";+Rz*?8桇/G?ϧ{f2 7܀0 +裏 [z5&L`H)0`ӦM;N/"ӧOOvʴifͶ1cwaru!O>9cz,ZR[\_k+dԩ۷E1{l&MСC4Ν:ubĈl۶-? Cze]޽{SVVFݛoذa\yɅ>p@n~pזpg&k=zt뾵ׁxL1ZYqhYz(22 Zq@Dh;1u1B! FM;*RDd20LrI!Xqh F֓P 0Z+0 6sQ]]ͼy󨭭eƍ}L:f}cǎm ;ޱcG[]UU3fhq?5555Z5H+ofʔ) 6 BSWWywZ#@)W\lڙO>n۷/k׮=ף{8yjzFsx<h2/\hI5X隴t(*xqSXtI{Ed2 @)E6Tؔ7K}Ki'E(RDZ>|8Çf̞={wnݺ߫W/m֦BKe2( 娮.N< wfܹTTTdlOps'Bfڵ۷;PVVõ9=h<<)#NBB'(6MOZ$ڮN,دTJhhh#}X[xnĢu !EEmd4B DA,4b%`G`,[-[$ֲ`~uƧ~ݻk裏6keIڷ'|YiҤI<#ol߾ݞ7~;I|ɒ%o߾#~mV^石xbvyxWk|0{\pjޚ1sLx4h555|lݺ{2m4$2]__OQQC+dŊsM7tR*++YhwuO?4s# K/"/^9묳(/// ukܚig;ݻӽ{w,]SSüy󨮮f…s=ܹsR]]O<6E2Uo(uLCb¢fH<]pL>@& L9cAm}oH{e Yɪe4ZVlܿg6_;3~ɓ'"WKk8xx<6CeIFJ@( M{ 27bZ=,:oD>坏2Wk j@(BNM݊McFfKx<iG!6VTf€@Xum(ivʻ=Q,(Ms}g!M4;w7&Tx*E8֠c!ۃ /L{<xڇ L#D!vc."ny+iJ\6{k.h`ld۩z1ڎ4~*"BcB);:Rk"rQ\.Bi;\)mʊMn*j?#~߳cVZOĉO 裏r=0q̶bx^ /c=ƦMO{v9c~ݎU?!><B䣱ߕ뙉K!BfB*++'O>'3f`…9]?uT QUUEEE |TTT|`YgŜ9sx<"b;I!%A$@Ra ̑"?8'Z[&͂T48řHD}j4.hRin!p ̓WGIF08@Νٿ?]tn줓NW^w7c?9:Sg=ײɤd{ MҏmaBcMd:uXf\r%L>JfϞMmm-w#Flٴi444pUWq'zgؾ};:ub͌5O?+WRRRczk^}UnFvƍfу[o~Қmyv}W_gO'? ݺuw˗/'ݻcx饗Xnl#<X |m@3Qz x-O?4-0yD(8mRY!IF0hladle,4E /i@76uh*++yٴi.6mߧ#F|]xᅌ7J  |xk믧1c/ӥK9>/~W_wʕ+?)L 6PZZ #G2eʔu{(--mCns9֮۝q{̜9nݺ!{.{ꫯ.C-_ =)ڵ+ӦM#6nƌί:|'GtSO=EPZZJyyykqL:}h"fϞͤI:th}&¹SN1m۶%aHϞ=ːRһwoÐ޽{s 6+2 8[nGzy8fEsᥗ^`˖- 0Ùgˮ]ZӥKƍWњキݻ;c &L`ɒ%,[I&>- Cz!Rtܙ &pA̙ɓ9s6l:t੧b߾}aHݹ ٳg]9n]]3gΤ_AQSS֭[ٻw/ӦMH"1tPJVXA}}=7tK.Eq]wO3w\?2h .R(**b߿:pk_>ϭ9֬pݻ7ACf[?bwNӧOvMM ͣ r=sNΝKuu5OLK!sr77Z`xmeH B9aw/L_Wy=H׹8ZwC Ix|R*э68jL &v%r_25F#e> Lb! ͆ټ=x<_ɧ6Fk%JE牣) C8w6vf!eʤS$VF;.2ɝD2["x<G,듑ºI=NqL&;TI  ͌=EJh $"i;8H]Qe#E 7 LVd^`z<9"nv!̸ ;h豆+@&Y>$]kJ[iHK#ATvN"]zj< aDK7Tx<|u -7nxI۠Ep~@%>)4K!(E(R"֦B H בeJOݼS&4R4w(x<9Z9~MwL48E D A&c'CNGDJE\T!!b*c~i>-~z<x\(Fj3P\1i+a¦ ayK)A k @C@dܼ2m+>Sx<]P`a8ʊ3DR5@h{Ƹk_j F+7=b¢ \d5(AD\ŠP4!2veoKLx<6hm][pigIn1*QѶ[xBrZ6-ngū40SRL@XRLHLLI1g. *4g6d!aLD4Jiyxi#"&A5['x<icM0rEe%n^&|bKF("Eh Z0d2I!0RCRh!!2 #ij˭O!Pn\$.r}0=xC]dt8KϷA+1ɌsclS,)"1a@C AQ CQ IDAT F3E!@$4QB>mp:HFQוx<icD-Qy csxcߢ ]kF睈u21aqt*4 A`k \@$ .$Q!2 cr N`eLڵB mk4=x1v=Ӗy q~@$z0.RζSG(@]y2IOF Zjx<i3"%nSϧA(o;<"q׸$+]`Q4iVcu&rzH M2QVNA (Сs'J5JH绑k׮T!Z x</.ritE.`l=SD-}RO ;Q0¨+J|RFu H)*"S\LIȢbL$2EŋwFSB}Q&NȖ-[5=qD>6 |@7QOXmqe)Ald4h+r=ظ)6_/DqJj*& L%;3j7Ɗ" )8X#{f͚<@ǎho,\]vѳgςjjjxgҥ0cƌD}Uz-FvͿ˿pm.]ʚ5kٳ'_~9eeeg?O>aϞ=sgd26_ԩSٷoEx<6} PdEa&s=II0ĝ!.ędӁP+Z$\z~r 3dQ-dq n$: gä"oy*S)uL}ٔO0gΜ[1b#F`ժU/s7ښ[n~F̙3ٺu+J3q ߆iK|sjHRĺNV"Zۼ8R(&TNcƍ\p}]_kRT__Kۨie^`~!vbΜ9ħ1rzI~Xf sᮻCuժUdYv-[sϱ{n֜L4)߫3<駟O~u~;/_N&?9ݻw=&PuR. 8\@棕"1ZO |Nླx4JvB8;'JHk1X-B tSDHFOrxdY|A|An&Ǝ۩ѣW_}57n2ƍѣ 'lt҅{ѣGSWWI'ĉ'ȑ#Y~}>K/uq'e޼yzL4s)/2dzuXkAǮ]x'2da&ۍ5۷ӽ{wJKKZ~zLh)++c̘1t҅^zpy_ロ+WR]]OS2 6l?<#Gdʔ)cQZZJ׮]0`|***{c̘1lݺ5k0jԨflڵg\|]GEE]t||'\ylܸN8}&ǿ 7n-ӿO㩪bƍ 2yYn3gke,[>cҩS'>C~i~r 7pUWk..]e]38{3gҭ[7}0se޽\}x.OE0!iJGF K ,\\\lc#l#fu"V@Zb:wF&MRR`;dԩׯ?L0;+?cƌaĉӥK|Xz5&L`IjL6|;ąs=0k,!쟤IMޢE={6&MbСͶ---MIN1b۶mKÐ={re!wޔ!{6lW^y3tr-_dƌwqZ:|'۾k cٳ>[lףGv K)..f׮]p'f2 7܀0 +裏=/ӧOOjnvʴif-[{wN;-.ƎK~X~}9sK/%s,/M!MTZ cdL1"馠0bkA CAHQv.'˥kY2!tҙN멫o@iBNA '奯g曬[Jmү"}g;G"Vۋ3<9spAV^}|L2aÆDbX|9NRC+5/ӧOڵkcn޽{6mw}7 ,"ʕW^Ɋ+禛nbҥTVVh".~iΝ G 2Xx1笳΢ ڶa{9v͛)..& Cf͚\6:SOo>0{\pI %_)//gĉISO=Ż_WkZ݉'HMMM8%3lfvޚ󭭭*.]m݆1Gy-[b nFMʦE`m0=9yǿb ^}UYɓ'S)֦뮻Z\?ߪ<)٨C b'tlQ @ vREt&I>\6c ǀ@K -4 $2A` ( Hqݷ T֮+|_W16jX}m<7GŦhg?:b1HcH(@B*$)r4 >-vEҀ Ρ .T"% ]1hnl6Goh)p)vHg6PFc\zD~@Oi_u$MZGC1D&sxNlcK3͌}\,4Mn ؞PhW*BAb,gr&",&hca@cA(/9D&-6oE]*B #eGC`ק9ps$8hHEbLERz|t3V 6N 7S\|mv:yVmԀ*R,HSmdeirӐS6.IXWO7E5q{5̣%08$ֿ4XEY[q$hXzd݋L]&H4.)(ϤQj*Ȧpsz~56D+$o:J" 7S@}. Ґ؆5 i\:IUQ$Me篓U/0;cAMYڒuKϚGfzT)8-qgAhn,_iwRC8b*e6filRuձ u 0 5Fh"`[˜AޙIQ}>ga6Av"`Q4&Ѩ` D_EPɸ(` F$hQ0!%"F$]Ye@a:TUw 0 "{տzV׍8霝ywy4h=3,..Y[Ǥx<ή]H$& u:T6^*yJNHRHTV]A|n#,q*@L:{ DVBdՍ78!:.tj-[e{NXxo$vb|1vƷN@<rȉKA_VQQ9q+{#ө$^*=JVHI&* _KWUQS$LRm8((G:!Sq91]ՖO? l2{nX+VLQ8ڵBβX,CaavʹdO*fo LdX.RkCjge3`9JxbWMp\ҤTd"A:}ĕ(%LRƂ Bh)E4Cf͸{a9hTUU/bW$ { ,_$l(2.@$dx<5%Yu0vۆRjBS}KIӤR) #d lFX*tToIa ЊH!7oCt:m-Kyijot,B 4$(!h8mc,*K\u1 NKRJ{IR)=cTKX~H |q0ClhBISA"JN1lP׳X,pY"7IM4v IDAT͌@UZ+jڄ#u xn!IewLChVa_KaLJ#pܠ4|$՗b:4ѓenpɰff#Dw.X-< Y2 OVJVR(/$N1JDd^u }-p1E.s6P|P??r ?O:dgZj̺usONvS=N˗"ˍ–*cԦv:eGuDN r<oOL&پ};sC 9('ҨQ6mZwؑX,vN}/k?/rUWګbX;+fوҦK>dD&ຮÖ2"SkN?By1w쑸ֳ2xt5FTKU#*0jC)i L!Ϙ7}ƍ8q"ÇO>lذ￟&3 `̛7|ϟOS9NI&qWM/^x!˗/ R%Q8X֐{znԋb0u6 eՔ jB frUמBD*#:Js g)4hi p603_) i4Gaذah߾=7x#2O2c >3ƌo޼9ƍÇ޽{SZZZc̒%K8q"ׯg?zm.?gR)JJJ~F.]k2m4V\Iyy9Ǐ[n۴iٴiD:PXXO׮] SO=_$UUU?ࢋ.ֳǹj*f͚QJqqqSXX]'NH˖-ܹ3 .$ӣG B~~>`,oZb9$&ٽe8u#:q,9F)A ;3T]!j4`&7#(a@ l1S㵣:*z޳gOMmFii)EEEuZoM3f ZLN(((`<9sРA4nܘٳg3x`~_!?Wcǎ]vu92r{b۶mL2뮻ݻbL2O?='o߾\xy@ǹ.rJz!nfڷoR_|sw#Çkᢋ.bxs=ǼyˢY}iX,N_e͗CEXfb23"${f35K!4ӹ;l0(7 t8H%;ѩ"qG=sG4g5|1nܸZ%?O8 tٱcGq'x"guVtwW\W<\|t=G}47p;w{Gvڿ3<.]od\:p.RiƧ~&M bX/}Ss D8UZgyu QFҁ { m i2H#LrW+<Z֑pp\ԊRTPPbرqvMQQ>`{=8_{{*W_壏>敗xb.;v|Nx饗h\}~z<[+++yꩧxwX#8p`~is!ݻwgݺu|ߌ慮qjĂ6i0-r)L# SyNurLу"FDt c]J-n9DJ/f,Z ?&G)PL`R 1_@s,qiѢRJ&O  R=z4ƍ㮻aZt)]tQN bee%5;_c^úOڴiڵki۶^=|eС1}饗صkW~gZhAYYYUVѫW^_ӦM[o .eI ӛ/͚}/xED"i|+:trXQYQuP)4 DP#SRO='3eH! (2DncjS  Bh51 8ZO*I*@eɓYzu޾}{%%%,]4E՚,`\tE7x 0 g!C>}:sΥiӦӯ_(Q)EiiiN^II 6l`Ĉy 4L0Gۙ1c.W]u'|2>yyy̜9ݻwӳgO&LeAeܲe˘5k[n> ??u)--xƵmۖQF?rR4i҄1iӦH$guO?4DA8uޝk3gF}o\L8M61k,R￟5k0o<9Y=F&SY`ذqo.[wuw?`UWҧW{f\0hzt綛GҴﮨ`m[a\[}JXWb" e)աQY"jeՃWOyI y'9OkTgzKLWQkT RO BS5}8> _;NBrǿv?e8K/Uzٓ}Yr%îj!M'k~Cƍzz.]t!]t oG˒֭Z1_PL2?[!w\5rZlɤxc[9ۺQ} xe(g成>?_Xe7ѨQ!ãcfeXm(Q[A'kȶLorm롙[nH)qqa"?K}y5$F8h\4.C +̣ʄ7HDQUvfX3L Q,<*\f \sk˙@HΩ=&X,K6g͛G:,x(~H1Xm(N讦~Ӿe]H֭́n+W^cVpT#]Q}"zw=O<* [ra=t5?M[qum[f ~d{ ]G%q({,E)t"籺SG|W:"&Hg ghpCaif6$׸ zoBd +gKBiKɯO??,XaÆEdr_ |E//u]$qI)玱tf vowN81 d*om;:>0ѽ[}.ȶpFͯ&.yo<1ϼxqo /-ȶmx`bn?/}:o~?jZN͙xNhY҂ V-K^s'ٗE0\RdԳDh5a.%DJYfTS1C~a׍K/K/Yh9sqz ڶi}V 9[7?+`u jFiVߎ8ڈӝw|n=J)N8/n9ݻҡ};λ\s(jw$_pM{uˋEb1ܘk"#TD"׺ Bket!OT}=tGKeDz ^BQL&/=#2:b7HFmݚo?=| (=Ԫޖ92jOvc1_Oȿ7%o0Mqqؓgر; e7qSXz+G؃d9|$&\jQB)ɵ:F12 ('tTdgg%g[5]tٟP@BCA?r-D%̣ǔ{(oX,뮾rb ۷;)%\E&uGY ̽0ީXz+'Sqۃd9lڄV˜f)^[DHE{r+esD5FQx?^sTP{IkG`ZT]R=eS:szEfui}?Ήor*a{9mUХcG{~Ĩ_cvz.mu} 4iܘ_]@]|.:r)Z OŭW|v]; >?KC]C fiIЗ<8D(I'j4v: tՔp V I-ڑ(Z W 8ʚ1-K+SҼ9_[_O֥֭st!erٌq',|%l:(&k9];߿H$hYRµCзWO{yO>Vc^qLZ.-=B0,2[XY-D׌T֦yT,=IJ#i4i )‘hi: H / !- 5i'ocQ 5ay;hbRC8̠S:IZavDMyT&f` 3<՗a)SqB4BiF%?؋0T(m^HgP X,bwtNhN110yd) /L(2[#7,©Uvfz]T$.)̈́#ƿ/43X\kυ \j#@AݚZ,r2P|߸ Kic4a¬ =-REGj1qi]H \"h)ZTk&FdZ,bXY`Ll쿨,$T<Qwm@df*e\Td>ĥ8t] o*cD+BMAĝX&Z,r.sk}yv(eNz:9eAc.GA\%!.(3,~Fz%1ҷRYB3sNʸֳWn*6!uy1D^ L L{W)8<#}̮٥j-,bX,!0'2Jƨz&1ʕ ,R1VIB]zUqk"hţ5nMq)@M]  b()"h$hֽ4BXd.oX,b_)!; 22|Up=S](xR#)\e$f'2=d D<k2IAVh By(@oOiҠդXπPb9~TX'[ k]Ʊ.k-Й-@N ,cȼ2E\V + Ƨ0VNEԻLxgOUb4Ȭ_-{r }vFيX"18y1%1ٵ/3 O-h*+!q_CZ้TJ+bX,f-m$Pk/f|K$k$X}evbHAiܵB)öaH󨴱dZYnW},Y;wbX,Dd LLYUsիW~B\I-ZTXMSP)(b6Dp-56wyDյv E%<53eZ}>zرc93߿?͚5uŋYd ÇxYjG{mQZZJQQ^]qB?a m6j.~򓟠b޼yTTTpWFϟ|),,iӦ{ƥR)ZڴiR_n?/l޼>_j*nwoǨQ@kMii)G0>\pY,zم/ӥK\qqc<6X \A"<)ȓ|!J'1x I[Q(̔/T3qcd*D+eTtQ ?&y$-}D+@. MZk}ܶm˗/g|̞=nံ[CW=|G)I=^,K לTQk0 ε5j1BRH׬egk,s]QKzkVJ֐R M Oj@i< IDAT x&\)A=pڔ:g WJ1vX8w令|0rpgsgvZ&M<뺤i6nYƪe˖/]` q'HwQG<%`ʔ)k+c  ?4oޜ & W^〶c֭aX,˗*/)MKej_bPi Nj+rg  r @d_xCZDd͎r끘*9 j`*P"StAHA`b1ǡ-Z d,X rIwqk.ZcǎyfڵkG,}L0CX,R;wXxcwAaa!gyf4?[oe̙Ɏ~?a-bd L#΢bBG2|8RV+Y>~{XaFרB chwI9ZLE0]#)AJ *& Ф/:ɓ'z7}qk֬,osNڶmͻ˙)BVАrFLٓ#F0gΜHpK>}0`@4YfjՊx С9O ??u)--m۶1a6n?ΐ!CZ3ydVZO?f0"Ν˶mѣG,!͛7qƎRT*E׮];vl~<.r~ay4iBӦM9cbX, ]Y-! åVlZƸpTBxPwS;BcnB떺 sү_?{0,b9~#dV}0t op:$eVHNW͕1$.*LpTI DJ$(#c:t0Y G(;J׻”)7nT ׯ{a'_\HrERd{OD4P!L{7g=*RKBH"d2ezk|Sb<$dke̪2)?(Od- `X,ҀJ3z [<v]sc@KS8ȔBy8iDɔC,ٱct_U (% M<65L%S]R bCxcJ_[Դ̎Mjr^ZD(ue1uyNXa#@)HȘ"ky4IQQ㻩LVtюF$tPL >4݀Qƒq+Xf O<3yd:tPӦM_gڴi5J|Xd }s;OCX ӊ\+д)\km^uf12L]\y'IT}t/|798+v!P\+4[Dmlc=FYYd֭[ӫW/zcҨQZ#dʔ)3f{Y`Z3`ʔ)|ر &Э[:vH,9r$vjp_@y뭷hݺ +iؾD!AaQc5ͪ- #$at LZj =*Os%DڌnhJj'Lu\TUd2E<"*v"C:S#RH|(#HPVVƊ+HR 4K?˗+.?߼De6펢YX o峲$(i6Gb\kM2LԭgOcj/ɟ[Me\A91H囎>n 7YhMPMҎV[Aʑ+a:kLoL0_GyaÆE}xQ?3fg1f̘h~7nםH$>|8UUUݛRtW9S2d[lΞ6m+W*>͛G*iӦ\r%{Xp!ӢE ¨QӧwqG|M͛Gee%п.Ȋzeo4mڔ;_Ka.N:c/_ΓO>IEE5M6lْCs뮜u)={6o6d*N=T:,[*wn'QGRik25G޹=ǒy 7R-yͺC2b1+2L:K0%jFUAP:VtZ{'O/Lz&TUIyU8dgZDTs&&I6ˤ M[lQG=ٳ'ӦMn:ߦy3h,(( Hyf:uĊ+j#GXx1wy'M4a׮]7aʕ9ϟ|wMaa!eeeL6Ν;爮ŋdn<_׌= }ѹsg/_裏8chܸqΘT*ӹ{hӦ J)׿~:}n/Bz9CAAw淿->ݻwq{:pڱVmQHc9|/Ѫm;l*q83kŴ|U.&]Ix,7x Gy(i3}cj$D #F xHϟ7ƍWkMII [neٲezS^^Ζ-[hr]< 7|3M4,7pT*g… ),,]v <5bsw\x!O߶m˗/kke5b1x7Xr%x/ꀷ{Fq5㏧,gLx#`9$*4nb,.AބZzHSRČVa,]#2]{+15/5Bs:|bD5J3pd| ƍLu)#,ݓ#/((*_)رc޽"|ȵ?{Wxms;M6V H8S#QFt)g\^^$gm mܸQFպ-[䬷i޼9&L@JI^ѣG')SxxW(++cǎ 2$'n%`Μ9QwwSCZ<|/mŞKKL"5dB5zc2> 8"#}Ǒ#%1sTE <6mB*"!P2ZRH<3C ĥ8lprZhɓ'` ~*=wyqq]wEŐ-[zj4nܘOFA1i$֬YC"`ҥ̟?.r&O̖-[y۶m㩧b|\W_}S{nXׯ_Oaaa{soӦMt1*{hѢ=cbX,>n²C{9 kdgL^#K%5Z |JR|dKA^1\GAinFZ6PtϞ=1bs̉Ӈ2dӧOgܹ4mڔb,91%%%lذ#FpgFvZlɖ-[ׯ_t{#-[ƬYغu+|Kiii#yi.wuӸqc.b8Ǐ2 @QQse۶mуѣGGېO]!A {ww"6<6%;*Њ_ JhN!CL*pg- >wȒjX,k'd# XF91^57z]!LM%{:>TQdUd||/Ȱ#Fj- 67T*׏s=ȢTcOօ;''jx*:OqŗGV%-8PNxϯ9gArj~ۙ{ry)Zyy9^\O׮i|+KJxX%627';2l-.E5)9́$hH@VW]+"X:}?VB+J;)e` ; ו"^{ ,s湎[/LKyo?xY OͱsuoIGhȖ[^ b3̙{:v8n]{1w3lݺнXЏ\c(vmg2}^O` 1dF |d m*t /&J륟FhDfX0}&e?sAˋ},3z?|͛5㉧fo&m(+otίKQ{L>0|<8Ej6P3b+qq-lh{]uIM r0^Y:J5*'{H1 ArOmYj#]| BȠP=R S4^t*Tt r2Vd(t [b9(y_wp1}uHڶi;SO.z5>SڷoǨGr19<ē_\p9q$W^3=G ?PQg~0 V.7?k˳Si͓sf?}ӛA6wO%ӵow$7_?co{3}O׮Ev)\{hg <՟|Bѝ߳dR~^N-ss2/`+vůL&9oskrj8& }}f>8^z*Ym~5nٖ.;oO8>^ɰogLuyW]w=?"C= _ȱ}rݍǦ>׮m[ڵmڵȶmt:***hThA7b1#"snQ(ed׌ _BjR+R8zJ饒$$ T B pTGie,B+Oŗ[O~!D+tqAkH<i&MZ0l½ 7^˝wɜ9sj.--rR2e:w=\z\<)S0l0 ĪUj,ױcGbXȑ#[ a_@y뭷غuǞ~3rY?̙V6tt҅vG_F<%K>s =MfAo _3yό{rj4 ?4nRe,Ӥ)y.nIΝh۶ ^=ZYO裻R\|?m x4:?ѹSGz8:go|yӋ\p9tԑmAҶMkC4SsuHwFII NSQ ).>-[+ƫK^q_3%W#\_U2_}7kδiӊ]eyqYҥyqԾ?#qy瘤:yqͱreVЕR(u-~^ϳ pT >(RFH*#1!?ϋ<VJ}@>Z) &1+qF&Nnذ￟✾־˗+`ŊL:5| ![Xf ֭[&MtHu\vţ>J~H$b RTTR\juWv-ӳ{h^aA}fm6H$*5ì9ױE<>zq&<ߧGGлWO֮Pc<@֭)ヨ?9oĹgO8{  eaΝbyޙIQ]57""&1$*⑈APD@¥hPN/b"xŘ  r.3]tϱ.ԇW3U=Uݷ½:T vbzb(2}7[VKɭ K)F43o6GY IDAT݉Rbml&}Lw'HҞu׳x1 2iphpv&F|J'O(򎫠 |^<5v8"eZ*;,%w]CR@ѶCQ;VMT+$DLjʀ2Q$Dd/ˍ;rmy)7mŋ8qEL>=e%%%z:tN:)SxN˲r7tg}6#F ///!Sٲe ̘1#)[zjhҤ C IZ^W^,ZlɈ#0azw׿w}իWS\\L(3`<4i҄_;_;v0h <_kYr%| :t\@B#eeev2BʘWyZZ*MZrů.k'$%g,ZlX_cMOK#==·ΗROk3y Ns*,$3#~=6~zmӆ b9&O5hѼyW("--4`W'W]a}Q+,T}6}%MzFӧL2=G2ȓI+Ň>桢bhH:rIl;L[]na%QE# EҚ2eBP&4eʄ F,0Rѻwc:u>ٓsw3er*u'ТE &N@]Ǯ]8]taڴi֭[]wEf͈FY~;KEҥ ~!>7owVS7o&L<'t_|18p/N8+׶mۣbء O< 6of/.t=Qb0uJj4͚5x'ujciBzE/.ЧNMTj97C#nEޞ=n޸Kv%}{Ai{(ٴy3':)жmZź+W28}za;GݻyOJFFѺu*_g4nؓ7@W^y1cx:t`ذaI0aBr ȑ#ygF?N9$gggӧOrБ/.9sM)(, iެ¥"mӆ| EN 8T Tkn0~~:uTUy ٴK 17k}&W+{w>ǟIƍzZug}Ӹr*U_vV>6SX?-[wxowyڕǚ8޴iS;t=R-s}8xmZW_px_kVA^r[VT\al'!!)Qڱ lUh."U2$"!X : \ %$JH[%6333bҤIqrrrX`j >sd?dҤIܹ?I%! ȎQq(NFFFJi[o H [hѢ3gDJɉ' d?vMΝ[rJ>3۶:j';ƍaᣏs׏9/p>U#n0{vw TU b+~&s$7e$.ygZ{ΚI̒ؾ?x \E۱#3;QۇG:D?x?iv'^O~}O~}mۘQF>H4Jr|䚫$#=yaWnZ4oư!٣[//+y2| 7z yL% q =jFߍ_Ӫe .`cb_sȯ༅۸wo+{ߥo._8x;rmXڶ?9M)I0e\qxEs״XV A R"$ 1Lj˝pC!2$H+ :*`iehzښ`BӲeK̞mgx嗑N;3O?ӧ3m4Ou|W!hԨ~:V"??-ZTh@lH$Ν;R۷/ /ر#3gά1wUAM#+|…G?bh,_Gt2줧3~hƏS?}`ν3ǟ^Xmꤻ*\߱z %{TcڷmNNzlؐ 28幍5b )ΕŕUŋyefd01Lm(YMKg^k޼s h?<{ߥX8s~rze0 ^r#$2y^UxNq4;vaZ9SHH!|?B:5C! &$w* Kk'7yn`|W\XXT~z{~~>zR!/g%ӷmֵkWm8UT4sry...f…>o㪫믿K/%7|pfϞYPP+]r_j ۏgy&Џ;wҹsghylS&#t;֯8}{ҏϷ4LBi!HZzĐFbMj0RJҰ'5B7RRh"BٶSvh( P)j-]dϞ==z4+WG8W^L17b.\ȪUhҤ ͚5_~ލVJ1eʔm_VرcGf^֭[G~s '$EYl`t7nHFFp)Sx?L6 ˲hԨ3fx'''UVQPP 'wIn]~deexbO8yq *Km1j(/^LII iiiݛs95kPRR\{gfy4fٱNM~a!?W]q9@#sNf>]^!BdRJl䴈F"D#QVRD" !-M$8ܒ쎖P@JT@T;>L"H"•׭2w\fΜy#>+eY^0Y 7cYh˲D"X֭[y`fԙR{W>k~<6.".8勍1m..=j_n'띔zѾ7wӥK0Pp8}oYZe50%I4 !IHӚvzoa'5?OPUn6~aBJAյ4"$PBm1M(J[hmK(EE)qȊPe;S1\ j*OjaP#_߉={Hڱ2n䇁0B)eZ#BiK1VX$AJKi"QC2Ze((PscCQQӧO ˲ׯ/L? Nc k4|L;L V<(KUuCΫM"PJ<2LrE*PXE%VDERhEV ED@I6rrr3g釁Aqq%%sŽRXt$!;%!4 vMcWdᤈ*EI4!XE(R(`ao! n300009NlcP_nǷLN2)sXK2?؁D28'V*ƄHU␀aQ*'BQgeP\tFK$+; 3|/slUh\yl%G)=}%VԖL:XT4FQQ :QCԊrHG9$4Ivf~ժU^n#Md_a iڼ E^JI/2GK_-8/M9[qD)o4{[D#Q-JQscKW5n{d3>3Yt)HČ ٍ#dؿz ٺ32sn.m"y'y#'*AKi>і]tDZie[ /"KڞQ)J!,muDj[Qavԉc9;vХK38 7؛}.+M~wofs 7iJhڼx44x$c:t/VF#;'8JvSa+EI%LuBZ)Է1R~ RJݠLbbz6qsj3y9ҰRQ%Z9$RiG@k;UԚCJQM()ZP%.ٵASVr۶m\fEZUQ!!)J!($AD,#>lB)d {qwTVDZh}wq?7 <A9;?PL )Ihb٪pPHeJ`FBRM(6 BR"T@idrK#/'̇~N8MY{o$'Ѯ{c㤘:tfd{GkMXkQ D%BXʰ-ԔJ糴vp#J/f~~ެwfT!8GmB *ͽԑq1};ݲZՊ2eKh,aWRvP* P"[ɟ2#^XGM9:~XenL=y60Fw'@|I9n21%D3g|s~-")CS&Q m{KAC. UE$I`3邡RiKLu'wGr[ *9}[dɼl=A c#:u>APˈv^r-A*$JAD’irKeK)ʵLOLk {6nPu=vX,%Ljˡ,82Rxe10h`<vmlgIf$ )/KG" &ShiGJ;D 9GAHHd( ""#RF;{D x ͇Q57(zzc(g*C~,xvV߳:zt?'ّ-37%e˲ȣH'>Tͨ fJyywX@HlZf Hkd!-HԮ4^ݴNc 5aqBk wܹtT0 By$R' M Z84PdgdFF:PF99{FtcKjXa%y8i```pDKb6y$qγ?vUMqju{8Յ<Ɏy9 Bغz!ԑ-Oz'OfUgp$G1dxW|&fϜiuf=mӚ믽 8g]?:vrj][?Zhɹ?;[n;K//ϬK[d/.ϺfgxW(,)Ofmci߮]ZsG62*qƌy3K#---a}Ӛ+W_p^NuMvm[pOuѱ1s+|2hǟ|7}֏3deen``Pm{7tcbzibeƽ7=q=1W_6$!S @KmRiY $wGnz.p ݎJfft1q0ڷk6λpУ;͛7W_P;۳h4~7n]pRݾH$Šg]w]pL{N"^<0zx'*5~hslw/bmc8ڷoǔIqq1kyǫϥ{i֬)WBAA!w`qk^zNfMiݺ%7^-o{m6߰W0n(\^ֈ30hx2^2YEh)ҟ&??^Hf\U$a{ǼʵvUVB#kpL'|B&MܹsjWFFz¾{O?c߾}rСuo׎LJJJ8 ~i\5z~ˋ/ V~K4jѳGo_Vf&':ml=59 VN:p1w"Ξ8;Z't]#3#Nɶovvmےm(2}7CZVbcCxtɓ򚫏nذa̞=c=F?>ϧM6fP%1E' :H0U\K<=#RGta"$ Grss)--m۶x≜x≜z꩕!7ndΜ94jY388p`܂ OxXd 7fӦM,X={$;pCݹs'?eOƍIOO{;gyW_}M2w\B_5?0vwL<ٻnE OYPP@FHOO:믿"N˨QO~9sxw8=ztWVVF^1bM6}>DQ-ZE(((UVgfϞMfff?%%%8V~~98ZڵmmSWI6QY0A>#^۫淿Ncν3՞2, )cAZZ>W2[e9} FzzZo؂yhܬ6 dzCΝc5cDzw?*#*׭v1n89&N7|E]7\_zH/ecEgH2_ 4N$~v9@RLmWw/4D8q1ԋo{[o^zcz!5kV%y'rW _ii)O<+WdС^3g2o .dуO?̙äI8qtׯ͚5dD"fܹ٫~]vm۶q0m4,XɓQJaYJ)f͚Rv7of߾:f߫Zկ߷OðC~ݍ޳>"OScO>$J)6m̠_\R7oU)N sǸ1̼o\1Ǵ!O9>}_\|a OY|4жMkX~=\8а&ݻ JKKuR&l0<2`uk߾}4nܘ &A~msR2Kpm&t 5?UX.P,mVJy%K5j7(:vmFospQxwٻwo%nݺ+q˵iӦK/z={TIU¨QR;ިQ#:-Z@~~>/"^{mqgo߾rI#=\R1r]t u6 lђEE<_ٻw/w|U߿/váC磏̤i&I˷mӆ| EI5|vv6B}/6m,yyFJ7gV<逸үiyx~?o!6}IaA!?FfM9o˼>{8fؐ+xOAYlڼFl߮Ƨ?k1dƏϾ}:n& g̘1 6[&]g̘>kmM7C=ԴeݺuL0c2e>䓤ܺu+ӦMcܸq3%K{W+*ݏDeyDeA?rss9s&ÇdBw<^L =F4BdiܸG޶bSzXX# 'wRJHvTsPB}e֭뗸pc1i$%HKKgҤEW}Iw!''}eklذoBCXv-Z"Z?طo;w{SO1vX N.Siۉ[GOGO[i"pA)**󱝸o洔D \5N?woB;ƍaᣏs׏R46[W^  9<)&OA4jѯi<8kVS+HOgGؕ͛1l`zfDFGjS1`}]ƍGӦMټy3m۶eܹ^zg\dm=z47tC aܹ(Xz5+W ̽ok׮eԩ4nܘh"ls˖-<#?;7`ƌ{H) ذaCQS :… 4i:tvǯt)&~:4q!a?yX~$K T/]2)ba9qgMQQQ^ѢE͛3f hSrUA>}λK캕_9oۼ~sY?mF۶mIOOO*߲e &L Ҿ}ZY8v KL$/PjhW^>R e?v4Sީ=O/yNIw%߬iS^˳ }{˯{˯y ^}/q_q_ePѣ_~%v3f .ke֭ 4ZBΝ;sW {5k\pg*bذa̝;\oߛoɖ-[83Տϟϲe6y/NBΦSi30Ul,E01O{~xC='A IDٓѣGrJv@8W^)mSaӦMZ W^y?6mbѢEy6 ~3dȐr-IJvs6= !C2!>`(BC`qSE)"]]YԊrR"e,$Av4l-Q<`  ?ŋNnn,L׋ܲ,n͍3Bi>eutznD{{i+#iH) ñ׿nL̆ŋ{裏kKoP=䎿$a <&] Bw5a!hNt:.F!H+]iġ:&Di$f*\'?Osg)9G}Ѽys.BKN93|ػw/{vZϸ$l8oc5)Iv ÌyxA(ǣZ`` p]tbu(2u]/Ȧ be0({g10% RA D4k֌ɓ'WJynP3 m9/b {GnQD9&ׁlhŸ<Aegd|^Muk R!Ρ9 1(.:HVvQMk \6w7K<&RğG.LLu{ʄ?nD.PN,M?Q5008zѴyKaPo0[a}?;O0Gy =L$1J-=HDk_i``pT"QclbPo_![7}Ffvٍb D¾T$3-t "'IrB  L/#OEL7pp%-'=b&8;ua_n[7dP/иISڴ@a*;_;d j Z4(4!QSt` MUAg"pHnX T:|)*2QG=tphM>uB:.A=#My38 `j Zh;ɍp%x!c^N.|}@c,5%$*nq508ɥ[.5z4vD?ʓ>onKU$AUynV{OO{2=}eX!4!G#3D7>nAbVq Gy%hO?Dn3IJhr~TQ5"j```Q3F R"eb:M&Z" VD[ǓJ?s I)-oH2 >cP4!2?Y jebųx,7z f2vR 2K#b, j ﱜ*tAM>LA2q!hֶTO^^vT1\Y8d Aۘjm jHZ"M8KȒ21割2sjHo;_$P10 j`:6BBH&DXd=IrR_B$緧 n22dQ.VhK2L7RڶZ#5Mq8N=M|Y_"Rgc3r=d0D^Hd````````PCE*D (['@gy2(lxڡ+ca!m&PxRJ)BH!"d'o$aVkRR BX8Bc)iTmR8$d!l.32:5 B+&ڶ+< ?NG h1b/%=k-@;TR?)$ZhPwZ7':mzojF>몞SkT/U=Uu \kju]U=.^|@HAHH@jek N"&p24* \ۄ6t\e*$mżp2eLby~W'408Y:ŠGY+Y䯮uT $ꀔUdU`VP(Tn}X M~s~&FuiqH6J4y`Sfy/i#oy=0(mHA rKcJݍ$_<ӓ=5c\Jʏ.\0l0?ڏ3tPSk`````P!d9]AU7,FZ}wD #UYf~buPר\X89N> 644Ҡn`1瓭qDg ⡇qO' /業W޿5~9x ٴk׎֭[s 7i&/^w}ĉEL>=a[b}:tr{eR*-[ό3֭[Ҿܹ~;wRRR±KVV^z)|ī3<֚s뭷ǬYرc;vdڴi4k [l2 QJqꩧ2|pՏuֱzjhҤ C iO2R%7Tgav5qZ}]c+&A]1u4 8|{RL:c7@0M0]-a8>'|2]v9991o<>#SV- [ѣJ)+~=* .ݻl2nVڴiôiӘ5ksnٲGyӱcGR̘1{70Uok׮eԩ4nܘh"l j~R)Z,g25Kevm50(wM&}Q:uJ8G|7U"HP(qwH~\~|T:uVvO{pZ&%ql Fev RIpj"f]jԞ'8ƣ)ǗYw^lϞ=7'8o<~p 7xoof{Ak׎m۶Ѿ}3dŊп-[.nʉ'X륥F))) oF"v`WWKh GR khJF, 4y@ܫʱuQz<.y @4^X~X9g~;wWJ}vVZ~z{~~>z~-w'YfM6V/flݺWPPy5({k+ 80̰aØ;w.޾7|-[pgV bܹcXkpm2eeBbƞ@LftkD3>|$ 1^N먉3x)ϑ  @L>¿7>Psa)ㅊ8?v8$,VXRrs'#*ܦ}  yd̘1 6,Ӡj6l|M;|J^^ں'|¶mێy>Gsn:W?Jlpt@"#pjL=$tq;c6ꋹ ˺'х$IT qЋRJנ`N00 Ν;'d, ;3:ՇVTߔ)S4iRBJК@4eѢE̘1۷qF,X@~~>mڴ cɒ%4n|}].]Jii)\r%1V?_~6mpyq饗p{2sLuvT?|m۶iӦ9߿?˗/gȑf0Hxͳ¶tiv2w3Ӳb!]"// ڒ-ʮHriPsLk>˲j-t?vJ۶m}'x"3gd޼y 0yzߟzj222x饗 Bvk?sN!뮻@.r;#G2dZha 3HILAyւ-ܐPEOF[-URL*SSԁիWS\\L(3` 6pg3~xrss>}:L8{+裏(--СC 8/ܫkɒ%ڵ6nYgENXj}ݴjՊgyW_}Cg>Chժ^{-]vԢVoeQ}WYd :ubԩ$^cŊ1g7oIlB~~>3fHX̜96mеkW^~e8餓9rd :*իWSVVF&M2dHvnݺe˖QXXRSO=Ç{UEM6mŋ8q}hѢӧOIcsw֍9_ns۷o?3ΨWJeY^7tg}6#F ///A|4=M4ᗿ%ׯgǎ 4(vײ8YfMK .25HD;xtB Ol(_Qi~c<`\fLrb$)eyVO4.u @UDK୷⭷o.s믿_X<묳صk͛7O>(ذar [)_Υ^ʹK/Dƍi׮r ?8^x!GfժUܹ{w4}C޽ B?r _|1s =}I& nÆ t=ee[ATVo*t֍M6q]wѴiS6oL8W^۷QU{'!$``rӞ>U9}`,<ܔ*D`[()} (-/EE*PRDC `5 $gsI2.޾b̞5k|w_}aÆQZZw|W_~9ӦM8x ;v`cqw2x`VXAqq1C hݻ%K0qDFСC`ٲe|!G4xi/;;;;vPXX6l?v1^y&Lc??!,\n`E}SQQ_vڱn:n~7m_Oii)端ogǎoߞ=z\eVV{%''JF!R}ͥ-[D5h"בb`!L 1C8}BJ1iČt v 7 @ 4 Bay8kS dusڵL>ݫm&wuB꫈]_^xYfq2pA߻QsuEIǎ曑Rҭ[7it֍'OF7h nvϹ77x#铞x&;onn.AfϞG:ѫW tޝQF9k4cyڴio_۶m:u*ǭXGy.]xlȐ!ٓ?=طo999I?}'OW ,u^[ٳ'Gѣ-zfggsaoM7Djj*ӡCdǎ'&LW_=ok.;wZEil$ u~MnεD'MSܽlp^)IvJ7*۷w|4ߤ;bРAqUWWrJvY7R+u==zqƤNxMdƛ8kO>0  ;;v,'Nh|jjj߆aD|I0 ֭[oEE]v\=_髟޽{3{lXn]]Lymm-7o>X6m;l;v`̙=v]k׎BӇ޽{cO>eY-꯫ F6ecnZ. Ә()I}1]'²=U+w-BںtBaagh#G3㏳i&^~ec,X 7=q3Rܵki,#|cRo"$3D\uok׮ѣr-lܸ͛7{AWVVql)--sЧOs: ]RVVGzz:G`˖- :߶m#F F`6ۡC>sddd0h V^MEEE\Hep_sAtť})"! RHDmcalj&!eR zuӠr??CTw{3gNDJV\_3~xm1^=<Џ>AkI":tKra̟'~%VMFxGs7##jvW__mы;d޼y6huu5 .ٚc޼yzmܸ{F8ql۶-ZaÆ3v )%J5Ǐ5x]7tSEs͆ <׃={o>,ˊ+uy~\e]UA_sڶb"m+N9贕Ѿf3^NmeE '-C>= DZZ/㘦IVV^{US]]c=Fuu5W]u||;vS0i$!%%rj*jjj3f ˖-^x%dy>*?|pRRRXt)'N+0[Y|9fϞ=b&/V"MD89.Qua9yd̍8l2QJ1gJJJXjF?!iOcY9*fϞC=D~e„ ,]{ׯ?b#Q{?|.\իi۶- Z/q|[ƫ979riӦdZj>9l߾?75)Ja E@ )J9[涍!D^EGX(#Wǩ#?EuˑϯSPVVܹs#ţW^L2EO󊬬,43w!h!m?-QBbHzNCߡ+mY- eYUXP`Nn`sժU_!m۶塇 }Ƿeͷ:ׯFI \@a +%` Ema!C%f[)=ς)D̹tJ DN E(\"'XKHPNM&m*hat;PWEUh4FӜg&=)plRLQveHHL)?z/[B %TʳNZ:Fwh4F4'NTOe R.d4= [*8E#B)R>[WRk;*vs'_h4e.|QuS9ݬBRJo\)hӤH53:'^9/a{W0=w֫Ch4I 3[G% خO+W ܬ/ifi*!kI[9nmKrlٲo={šh4Fl78G)c*(" }ϐ'0vdC5c2+WjR6J9A v{{orBoFh4O{{LrlY>^^֗ͽҒp{D4Fh.r}i*cQ͆\)DGw'$w;+^Lk!k4Fh}^@^( 5W\FQDX=ec#L("wM7uO]zBA5..=F0+Ch4(!>h=iH i, !#{Hᕐy߮5AMEXFh4skۢiF{ !PTThČݽht?VG8'Q8D8FP(D%>uz[n~۷աh4F$)R"2@pp"\W\Ɖn$zEyBTu,EvⅩ7$Bc*4 5xh4Fit¶ /alӐ^BuOE9"K* DhG8:BV۫MFh4¯ C#aiXJaVh70 KI.tfu1Vd-%bsiݝy)BE. h4F(R¶I A) R R1J,l'z\HlAW lpP)BJ_Nt^vؗ^P l<;⵾h4Fi L*aHBApte,mYXuUTAax>B rb9AѐiXInv ̮٠SgMx;>Ns´m{ロSN~/**blD~=]`QRR̾} \緹_8qD4'FV%>VۑӑVۑ>e]BZKhIZv&)YlB(N[: ,S L%Ԡm+Jd#P"J_%Yֳt}4Cq˂fΜYoyJ)%seƌ紟ݻw'$|)S8~953mR\L>"mo0dѢE̞=;r^~eJKK9}4999Ӈ>}p50n8233$##jjj~cïk***ԩSN;3f` 6 yٲe[tؑ[oÇ0w\+=Jaa!W\qeee̝;˲M6ЫW/L={ Ɍ RSS[:thoǎc^/ҦM篥ﹺ?~+V0a„f9NiVR:˅d3hb FS1i ։kN96XuS(T唘p^pB -Alۮ/.E )<R/7(()RQ;=yٯoc58.um{GϞ=ɉx<3L8~c( IDAT瓙 ̬,Op/\!Cٵk} xBرciӆӧs'qG1o<*c=_|' .R~_y_ =ҧOn<}4K.^cIK#NdZ˭ʄ {h׮4+魠M`cK)`8;̆!1Ma1,A2jO! j밪OcUԉ*lrvq;)5.lH) MC$Ԁk|J)q͖wy~˲h߾=L>~OR\\ŋ9t3fҮ];f͚Uo555L8SNѷo_ yڵ+O=\rߕ+Wx>HKEEgώ@qٺu+k֬mr=4i^y_ʚ5k0 ZF}O4xRұcGz[oEUU}e„ %^s#_|t~vիiժO<ټꫬ_ѣG7߰cjkkgϞIŶmV\Ν;9}4NbС1{&L4)_|zQ]tpy衇ۧOzEMii)g7>K),'? 7x#X dHM塇GeС1ywLKK+ %%LosOq7n:{꫼?__HҜ0 6l@ <-BRb`QjuFf&I9~SǎcE"Q pJEaBN?f}M!S`]ewZ7hog}Y(--.~+"x HOOO?v1cƌ&ov>CN%\g}FNNC ~y7Cjh+sӦMlٲz6mpq-Z޽{[cI0dݺuWG=k+`ҤI'?{a޼yض͚5kxbkǑL{}ǃ>Ȕ)Sx'ٿ? ,`ӦM3 ^}U/b~_2sL:wꪫ뮻HOO sN"m*ǎ^zňrƼk׮1B( ==… 4~ZjEMM _5=z࣏>h6 `'5/~***?0s̘k-kd/[1$zܾ}8y$Zi2 ZJl㔆V HH1S`gk<hF Fi *hQw꠶NPX ,;^O,t}R:0#|DL<ٹsgE̚5n ={6())&ڵk6m նm[NJmmmeڵL>ݳt]w݅_2@ݻ3j( ovm|ԥk׎oIg1yd "n-;-q?Mҹsg8h7c .\,Yzi!Pض]iHa:ʉVA /)S!3S EBAJN.%RRtw:Ҏd^ڑtmN6fFkH53+6}[PtEʋ:w4rEM]])))&݆X`7pǏƍU׮])++ à#dΜ9[TK芐#G2}t8$aСC>sddd0h V^MEEEX7 vF󒞞 mٲ0K}緹MtҥAјq/?+s6K/ѩVT ^չKNRrСƏϜ9s"8R9rY֎#F4 !;; 60p@zɾ},I7ӧOh"xrq;vVφosOe\ver\UU. 0@ $ޜ`+[%%!)L2DIBj@@ yTк"MQ!rJظ'<-yuבիw<7t?,\իWӶm[233v 0<'Oo8|0{!554)((|~b&O?4eȑ#b^h2h Xx1Ǐ4MkcdHdrA-[F~~>J)̙CII VbԨQI_s#e˖QZZ /[d < |W]u7tÇ'%%Kr J #ۉˤI(**ΪUX5ަbCweܸq]yL4^{izׄիWe>ݻIKKcԩ~ʢE(//Gaٓ}{KL>, <ػW;HBYY?ϱm;]q^t~իڝoKz^}cft%osO|ƍLsϟ,k?aNx@QCL R !1nqD [B?XvVGЭWE-.xlphKugRիW{_a!7\\wAqq1W_}^/8wkQmqGR<j ~CUy)B B ns&y~*xLĢ[R*2QR:Vؖ5Ӭ_hyb֬YbYfܸqɪUX~=BڶmC=t|4Fsqr߽i0i8L)14!F1frrf*עR _~t@"mvۙx&XNH`ZZ?kSh4oۇ lCHLS L4sRȰ"k E-g{\ ۲y0+29(BVpH2Tt]Ah4FiN5F/E$( tҥ ː©ӝtwE@(O0ZDGl9Gj4FhZX]H?KW`LNdRI E; RD8Ϲ)PJ T(Tp"t@?E'l3_B3//ŨOt믿ٹs'/ϧ䢝'۶yǸ#*i~_0yd.u_‰'.qiH2.]c4𬠡C:v72~&Wd 4C gpAAvܹ?^,Z(nʞi&N:ŗ_~ɦM.,dܹ %D>}: zǏbE!D_9zsB0k*q*N'1U QĈ3\sq饗ڰaOןD\8E]yN>^uO4jNN^z)dddWRR9rms5pF zeH}J4nܸWs+..Nj0qDN:E߾})((h9hl_>CnFMFii)f͢3fxUlfʕܹӧOs)ʈ#^|Ekٳg?ڵ+WUV<dggꫯ~zF7|Î;%;;={xGKv4nF֭[G~~~c~Wy7Oʿ^`җs\X*ڲD9>!2JB )vC"j_^&pr)<7E˛}NgϞԩSK!33e˖ѯ_ŋ6lX#8p=pwc6k֬ɓ?>޽W^ynݺ1zhڵk=W[[˄ o:umۼ8pGy;nӦMlݺ'I0dݺu裏FOˈ#嫯ndKtΘ1ٳgG3f4Limѣ<3y]vI^HOO 0l08nw> 7tO>$ZgӦM^W&//!C  0sL:wq$ӿdƑȺwټy3֭ktmΙ3>QFwA˓ǀ! `PECj;|y-tBԧDU!SRNLI&T-Hnn.AfϞGz^n/н{wF4#/~?g֭qׯsmL"7==?{RUUȑ#y#Xv-ӧOjH]w݅""{0  ;;v,'N𶪒%555o0b0}-..淿-̟?:Dܹsٲe >=z|8x`]^^N=:olHII9k׮q-KTWW3{z-zbĉ 8Gu %:-qF@ۚ;߿qX-qw-Xޤ;bРA 0 9]r%vreYvm{1у7xGKf{~i,0XwN`D%^QH!q(4"]_3-]L]1Nx°>]l%Veڵ=z[n7yzW^ԩS<q=JZZC oxYt)B]t0m@ m;v,7^ T"([fΜ9dA˯d<}k׮[ #ڷoOiiiViII }9%#G}]v1k,~iڴiӢȑ#<3V/me,Xn{hƍ?~cݵkÇy,xs7q$ڿGgp.]/9Ƴ0"UXd ˱34UETb#e!c@ڶ-.|}Sx-Y^BDbs-dȠݻwsWs׳|6e˘?>C婧7u͛7o˶m8@ZZZ{3gc\:lmaذaC56㚓1cs_PSSömx7|۶Ϩd֩뮻#F0k,ԿDׁ+.ǏO_~9F)%J)>#֭[wF :|0UUUO?яZl'3Dלpٿixw)--ku>- ©ng~dGőfQ.}PF,kбf 0Nj =f,!atKav 00 rɘY 2:|0{!554)(( 33J 9x ˖-#??s̡UV1jԨv7r}5!خ]; `̙ضMmm-_~93gΌ8nРAxb?ideeqpBV^M۶md1}I枿뮻tV^Mee%{G0&:/DǑ(z:Hs"`CweܸqM0aK.ѣ,ªkm6ʘ9s&a `ҤI\~M^YYYdeeѽ{[ɴ:m_l2i$ ˜1c_"렺{j{=*//8vSN`ҤIQSSCJJ ogժU0f-[Fii)/&L`ɒ%<3|\uUtM >.]ʉ'+),,̺Od./7)6nɓq huSyÈoĥ}ڪxs'0âSDD+@*E{;j /d&s͛נ^L6%K~}:HuѪUF}88oFQQQ9O:w~ŀ^9I `0%Ra!1#0 )J`(g1S3a.ީ6Et.8ʘ;wnAzbʔ)z4q|9++;bomh=wNQx R\Q ӣnw)Ao'̃Bp[ V1y2Cy0ҝH۶#Dfd[`zqt-n>%SAUUf͢˲k&Q7dk4FhK`_4ѭGn 0CK#_"]E)#* M jG!*"<3Q&LFh4Aca 'r\ ч1i(3"ݘ78HI9ⲾJEC%UKFh4݁H#,0t -r%=<~ۑv m+G՚^6wW=*?#Blk4FhK`"l (G %*䗩\/(3-PD؂x{#91!\QWj2\yw'8HP',4FhFml ™C0Dna"ԥo!Mԣ|M)k~1>^mBh4FѴ !A(OOv厉Wu\DBuɅ+2J"9z]\;Fh4"AIG $r. NsIؕpt*V`ƫM^vxP'o>, }h4F43 X6^=GdX:3ċ&6'0iFGJQ_ BmqFh4Im# LWy>QZ"k-Dh[@ d1WؑA>Fh4PA+Bg)I>h> ȀoR1_d.T|oKܟ2=Uh4FR S_M[$#j=4ק82c x?wUFh4Ӑ"PAF69L hܘW.w,!ӦL!v|1*dQ*(җ X'_h4E5 0EXt yf_цk$nTNQ!A(]ӨUXzT'Qo2ƃ4gB^^kqaÆbEEE=fi?f߾}_gܹ^zSRRy^.i'kN[˭etga)x T($mLZ6]f;Υ{ n>F͈#~]Kwʔ)\uUs,ZVZq[gK!3lڴSN_iӦf^=oM"Ԟ"xjj!"d,Trp>)=$(|?e}B>fZaSk#pwm.0r˲s]Tx!ޣgϞ\Pݰa%%%7}K/ ''N:GѩS3 ~pDϛFuu:z`RB&JJr,GP^^ υRWQҭVvr^nGD+E-;oeYoߞ|ON~x'CcVXɓ'iݺ5:uC?>⸿Yj keȑ޷O?ŋs!f̘]v̚5k'\ػw/̞=+"ұcGz[oEUU}e„ 5iDQJzj׿R]]MNLΝ[t[ne͚5Ҷm[f[:&MxltڕzK.ě+Wxj&<oڵkҥ>((K/%==&_qq1 .СC,]߳7mV\Ν;9}4NbС;smRRR9rms5pzHv7&T9z#'HiCLm* 0G%S~ӱc&cǎ~;RRR"={6SNK.>#''L-[F~(;w^6Kr yyyҦMq龗+ӹbs9b yϪ/dȐ!ٓ?0y\Aar(C pmVE(KT~ܙMqdJ!M/ [G, T `ՑBjjj]vmrBΝ˖-[x)--ѣs5x{AOrzq\qD%Y \򗿴x àuǵnݺYWuuuLO0 cƎˉ'-/Pmb~ߒС> ~7d]oW\ɮ]meYvmMZz"ye|Oj-y4'ABi:-`(l,% `nMq_:J[C">%wf</zB׋d ضͱc">?&yQ2d7|?ҥKBҥ o$3KKQRRrF_o0&3nk׮-dڵk9z(r 7nd9 <+©SxBǦM8q}/fp ?F7n-v=oߞMc ޤ)ԝ!6i.MdZ)2T'&D=$2ݜ>%|+)/R4M0R\?Nػq_ls-m}̘1jkKK_syyy̛7Rﱍ7w^y;WEsaa&Za08RZ7`(aŬu:젅m+,[a+ 0w^U2 M$IGH-6]?KöHr@IGFn >]]K W޽7|JzÙ3gN|n֭[9pmS[[_N~~Vo~1M,Zn喈7|… i۶- <8f;)o8|0m۶%554)(( 33J 9x Æ #??5*Kf^cժU_޽`0Hvv6Ǐ;Nw,2229r$֭СCk@kƶm(++cǎI&EX>3~PSSCJJ }Z!C0f̘9K6z^bG_弼B}Fh4Ȁ O;IvsMBHB 0I% 8òhAJQj҅B,)Kp\EePaUEQF˔w>޿?;m&s}~;`"9]=uc .]v vvP!޴e^ldu9K^^ooσ/fM4DM4ċ-fqtG0>&h0@uf5,u EѪ ?@ EQD yhI6`l't#H7= MCo)̑*T@}E,=@U xaG6&s :-b g/˿KTUoя~?ߎwܱތf7㯉mN}ca0 0|ǎ@FbTlR,V\+Wb;=cQ\j>zGvQgs2"(Qi^00'/~li{V'|rYg~13. Mu,_~;FFF_=N{!m5#=`.EnRN̮f>͊6nU^Yl@Q308Z踠32 ;qljVAY"ߜ2b)́Ik|DӋ}sO~G}{,w߭e %! pBw}Xp}lNzq4:#`U1X:bl j*A}Uca2Nsg@f@->QHlk}S44hBn{ hL4#e|͸+n᳟lL?u]V /0[t)yYK,K_򰦊s=;k/tMľN8>G>z W_}5㎛O=܃k6mŒ3pB? xqg駟|͛s9\Epu{(FFFp衇#+VW_+V`xx;p<<{}x_װ裏.4\ccc8ooXp!DSOSO-瓟$:Jo{{c̙%\; qK,G?Q,^"{ \pN9կ=ӱdw}7O?;6˖-9眃/˸{o|w^z_kxbq?WӾS/ySӽG뮻BDӟv;uO|[4㌍߸ӏڣ>xhE[<ށ@RZ(;}-w_2~ٞNsmh6qLs"ρDƑs#ny&h/^~ykdr!8裏}߯ja=oqE袋O|xӛ>.2|c>hj0sLW¾ #ƍ@h̙x^'x7ވ#</׻{8c~{sΔ-—xM[[Voroe[<߭ʎ IDAT^{-N=Ȯ33w'~+ocs񲗽 N=XdC2?p!kıGw]\pOUUxއ.?8sm>j̰ XaсA"; hl(hŦScX fs} vftmrF5RT/'>!19su]/!G6Ͽ9o~c ^{?Alܸqe1]N>ø1|\|q .w܁Xl֭[?`CCCpCD\?\kxSO=SyVNںtkG"V'(nxwkǚ5kzvYx1|0,:(|gQ?:瞸[X|qժUV㯉Q*[-x Bu: kqef+@ҁ@`d[ ~^^7{OZ`0 e)YN('+کIYa6"wn:oŭފ_|r|k_>^n zjq+07\r%xߌqC[aÆu .O< &O|q9vmu~;6n܈}ݷSS|vXlYL!xG> +^ \x'qiuZZ-8s: }7cv <qdʄkЎ8!(;PtfF3bp mx# b;̆j@*1XD "Sj 9@'[D/Ҙ5kUzO\sML㪫_C=g'/~/| 1e*"xꩧ000>ϟ_X[/_= U}݇o]µ^G}4~ҥK}׽Gq9 vfxxK.5\ }Ρ`*o1c9_lٲ[o<^׿`~\𶷽g}[y{k>ǪUquaʕ[tq6Ǘί n< fax `"2`FZEc.0kTYk}c= Yxxh 46ͺO63]o`Z~M4bwc׾6mw}7>CUU8묳0g:t9>QhP>6l[=tA[Iی&$4 L[бq*,2 pzpvm'lߍ c c|t%0YOp)z{^3fDM4O~=+hbKbppsbX`>u7pnfn&xϫ?y0I`6 Cq0xp~wRaF_0 T`ddcVbӆE͙X \xNK|I7DM4DMle8`繨:Ц!`&aqLZHD+>EU"*H $z҃P_3."c7L?}EM4DM4ċ1YKgQDl;L0%WV`!L*u4 ΍PQ3 Tk0n.MKYh'h&h&؂0bTA j ` @ή8*0p1 YLU%މRKYqvL?L׈+s?:,}21h&h?^00hb\kHeTj U V0 [| ( i$&INi 0 U"6&=@&ZPIVGM4bUV_*-[Q,Xg-j_Wb TU-1cF^z)֬Y噷j*\y啱ͱ{9̚5 vxӛބ}Cz݊+pZ5k`C{}c믿7|3~{| _1Xr%^WST\_z&/S^oll *5ą^6z'o~S/> .R^u7nG׾5bڵxߍ?/ޏ%?Gy^z)V\}g}6D'q/WuSa\{8EӥA 2v*0zÃJ%ZR#T8La;?JZY&4w/YJK|w]4U"&^ܱ|r+N:$~~_|1O8SOI'}W\_f\r%XdIԧpgD} K.\vex;ށŋ7䩾.K-|;7~s'vaZoeQ[ε^=fk\M7f5::+G=MuL |}}}~KFSַ0|ٟfoݗ]v>Nx8p7M[0cصm341߈~hұ _Q(uݢT}%yy"X2 (8393Y.Kw@UDqWOvuW?^Wn`]h^Wׇwx޷ٟ/-:x=_>oWߖޗZt:mvÉ'+v}b7xu;S3wy'>`U=ܳtL_|~,jM(LGUՂ*PV2^  DZG 3- -[e0[TuMe,&p]=VZHnXhѴswdž k׮,w>FOϟ9sf7M'Zo_%e:3[vm7TUMw-F~OL~/k_?0sع?6s/<0>شiS &^2AU|5hF%{nM@J]zaa)}tJ"E ċ3o K,m݆+ׯܹsu]>C8St>[n]w݅׽u[|s_Nn:˿6ży|nMuLurKd k/]֭+cѢExꩧ&}駟e˖5FM õw|TZ1Tu+܁m*D[+0 6$,Tje]ffF4ċ0122-"831887b̙K}u|'wFvs.䒂]{^%K`pppJi?T|gU472//Ƃ}knծ/oe*/~ e@H?;xnebeUH"rb|Dp(hEO<cʕ^p{iۣ\{hZi&m80|>/~XjUڰa:N&<쳘={6{GSy݊+"_ׇ8opEn`#1nc׬<̞ýu$ܻZg {op}qt񳧯z+lF2β _a8WܧVp'bgi>f&Ϡ4][~Oe',ٺwYk1D}rmAG(]3n2SX4S3د@qgVOiv֞KïBv=?,G-^ p9n ?*xR[~Bcj]?Hcg㚡/rkv} {JfקijVsX1=|=?\{mvY-)HGo٘Ψl7Z[ ͔:PZ;ʰ~sxӭdrk5Pj4{T\_{(rC*!^?$~.W߄5y Ё_F~Mz;VxSI畡0 \:ce֏'{FRAצe=Rq{jeѓ7)H61)7@| `,~r4~g9%US~[$ϪB@Qo&0BH$&@! )ҽ0_8KRPUXдf.-;YDuM%fJp'0~0 *) t*QXD-y"|_B[RIك$Ai| 1 :cPa8lZ`hv c*T\`R"XH$ J^Y6~ƻD6nf!( *E@)|ׇ8-=WXHGu tX?= )n hpd^Y@-Dl;5XskT?Ej=0Eq@u (ZRt!s: A"p: ا<Q 6[O@8VR4Ate86ƌP񚯛![u{UAe S}֍!I-l6 A@-bVE{`@ yoA;:$5T0%{b2't!{nJ/xZ{ªFyx燺ppf6 =nuޒuU#?@\_ccѴ1>vN^31#,C~r[`5.k1d 3f YX}H#ȋtϪB0-sPi9dSQJJܟg4jXP]kD9BW3bn1A- ̆uNMmW{6?kF)v69ޛ=J3Q VTc7ude0֌sF=AV^ 0Ƹ3,e+vĜ=03"X".c8),T?yz]l\Rb90|n> IDAT4EvLjc# K̛ >&N<119K͙!<(a^ϘAkCkgA`})~MT\@T+ V:H:3v6ͥيถ=wmDB2 9eS15Ȝy`Z[ bdxFq t:51f2X~tVVKF]F3QA17K#ftXɅ%A[f|:3 ťcg`""=.c2R=vݚp۰'\Or#0``w8M.AT Aq8k 3T,s'LS!Kal? ֢"2c: :ւF'J+՝ɃLP&aJ$Ե g:g5`C{ɗ¨s˧ + >q-!ZKcISp?mF6m6,ՄNL@b V}zہᐦ9Y ^33oڈ6bL,:pc,Jn @EfɍIKh $H;UdɳU4; ds&56؂=٫j"<"j&]kt!KKJYkحU## ŒN£- d%'`,EnWJ$BJ[)U]Y׸T=s*3IMZDF\9M%Q+MhZ Ipd8e5` ®8\C_#Rv2 hpkx041`B׸5sXB-9-E Es6G)"[j53w8mqF>Ap-c+4a(nZ  , 6SN"BYCHɹܑ _uaxbF~mֵ =ib8lx6BEH@0w tUGP%4Znm-3f㟿^*Drͳx嘱^a>ZZ n~H)䉭IҨd<ЕgP$R|ޙ,E)t;c}Viu`D@ԡ1Z&aU.NJ)ꊑiRJCZ<. U6cДΟ=%P=wi]Y0 yqu}Rw܂T,҂ĸk &0H$-X&1=iaAvKIsꟋC R<}1∜ANz8bGXX\ U 7%fF bM.e&'N"'d=V$iIJXL>牜܀ "j^$cC[3oUA81n>82AY"@퐖e3"?t{=1fCHo iσ%j#X3LOr%DݿM`|}g}*ܰ-~Tmح@9@>+LL-v 2D^kKW6__cՌydhС*YJ,-3d(pEYO`_99#bdb =N!Q Z3Q&&DYV78ؘkN:لbY͌ _LSo?JBOVezPMkTjRĴ>kIWaS|A9s}j$ ԧo.Tk`Yj"aH-75ۢ]h!.jhuQ5SPOXŸba,ɣd Pf_5t Y{`lH#&+PtREu"dA2`5 (2 ҉[RAb' q όpԤ(5rTTXK  vY9.v/P&$'y=OUf)W %2iJ@uaF)|KE3[<[ipƐ?&勛 \D\k^2]l cyCL_qM2&r%Cɏ(DD`茍®_]ռ(ffv(BU R2/ʳuăzLt]׿o7`hL_PaĠ*6OrS~^.2je1G !;H@¦9`0*Oh[ef@q%j`rRr "| /x/Ti:6T8G$Eip*;: EU OCi ՠ^D#07)H/;T+5IqiJڙ  z9TsHeݓ(T(V$(NLwLmkfyjD!`%nbZz4٧99?2',Q_=뙀H5&J>T,_+׮.n՜UȪLhX,S9\N" r*_ϔsn3rU: U7U7~1PP1YdJO*"H]r=cbϋj餔s@Ev񅃡$Obg8Koo>8!(vQ;-# iAd-UYZ]P<🁍ׯIҬO *yQ)<-,&!I 0 ٺEYAU.]jAςb` ƭ(T+1gc*6RF^Q;CC/AkYR站6'd<XZ1Eǀ䆼JPP (b1qWP͛y<*ȘD+-$3ʐ9PP6MȽ! B*f" 3NԭgѤ^7Y6FRSfAz3:"^Ƞ BRwR"O&XT܁ x @|Un]l3H<3T<;PRݯiT[!u)Ux0-̡"4g4\Wf)jz= :R*vRJrИG%U\e|`U<-QK̊ȐpVLQlOȪAQh0JG@Gɒ=TT/К-8́pV p.[e u[䵋 d4"+$FPO*Ҳڮd)l0^z ޶$ fPEL]{]17*6mk144`-$vr6 /wȺ_0tEO!ee՜ AiE++ЅUHzJMTX)Ef!/ O*S 5ۍΪ1GyOjBM$6&8,㮉q ZH >4c%%xm 8[b?VZkQI'mHt۰8+ƒ9^?8fz̨ET7kܯD$ zVQA$"$1P49>k]f;'E]nxg?[YMX?jt~ R1-C0:<Ǽ*xsbg1b.f֨%[0B. ֖6\S%p*&,)p"YOڦ0<`n`BA0^*є&)Ti'LQ 6ĺczjB3j@@+*CaF (M/NKLƴBQ!eT:tQ s8C8h_g2)l#JǠ# 8AyK-׬sZhL#SLB?_~$Fd/a,nfZG]<"+|V:@'u{WvIǂO*O/! ]S 9f}yX]RfEow](qĔ9;qV\RXXi7b݆u7c&ڭ[**qg!I41ZU\(&S u.17%CP` Uѣ(/|41|Mw8E˩ q$|:9 Ìsc)@vކXv'h79h8<\G=9k4;!t:.2[Tm~U`Z-GAD[93п6qH& c!3T*@GP+ amLXk_Q;t{b$'IҞ[Z\) s+0*i -pH%gU\Ԯ[[ <'U{Za^5^R܄;|pE 39pJ:meIU1qtWa1ABX\*Fs13$ٮ0_$6d qF@6Ԑ&@r&9x8yY#ˢyv ?}ƞh-ܺeLլe| fIH99d_GT2! u6iaEӠbI ]:h{t\Pk$Mg[̃X䆵{ܿV+"d]أdƢ@iY8wbrf݉f%teaJԸ֋6 pWbAi"cM|W&_I>|]U=~'+`:g-˹nX[7Z*P4'ޮHi-gbHff4>bП&KVZzA08<-c@h>sngUoܑ5 o*PAwXo;Q1|۸g 6Ń# {BM0Rwke%owT,xRٽjOP""e./V. x-jnx*1sUGW4,H27[! 'X'03 nc\0LgPU`zZtC|3Z) $\JX]I.Ɓ^#E<AO]ތ2pXU[Q#XOcBV`9ss(?=,̪N1-U,Л}yOQO`4 E7Խ78ɲi[3,n+NM38 ZwP &>U=TUt)6TCXYY{}~Sy| cl1 $dLZ<7ɡ,V :`EYG{R}i@>H#&c-1W$ -wҌϤ8*Zר^ijH-Lf_c`T;k lL&E')BX5&{(%tq芣N+󂟐2sQPTiI":)U QsWNO7Yۿytp+ћS-mds>V=2 U^wF3)BGkaBr m[>}μ0b J@A+/%[Wxg k[+W`]w@Dh }hFܮjA|shg8h!I)w=h#pN epL"x3/`Ҥθ٤y;,8;PB"A?F넢[ܤI4ݏ>-.TY ȧ̼IU!k.,_4*-+{pHi`%O/y<,B*3vT [1>EoC?a].=i-jtkGĒ-V*^hS>O7G1\fcDK IDAT4E_L-TϺiMp6eo-()8H^倩 *شn-Vmg1s3sf;vgf c+ lLmvYoW%zIt(ע`沛xcRwOzbVxZfu T?koSݾL4 orGɲQh긗c㭫ώVw0PX_Y97 2>ڴ8T qs%<1ٴ83Z$pN>UUz8:F50E|5pk _K:y ߉BT![k.' nƤԿӺ賂Mv[ wsw bYӂ%Ƙ@DZm ̚yP͜,s2OՀ*R $CeSO6.Եũu i}*$eɽ%$ɅALYj᜼mwvE .EUA:'FУJ ^Q{)Suc#v\IIL:c `RY?7g!Qa V V2RGӝ jH;&UebKP 2<Օ { &SK$BbHLy:&{~Y_!doq\(qCH&X _g(3dަ eNC>T jp#+ea aLr 1f%f/XYcƂ`rkWt_O9gs&tq2;OϤ59Xs4/ӤǦ x(=8sJ,HD}N W0`~s=b&چ#7[(U3|gxXYZW|-' *ȫh.mL(z7)-,ks?j{MuT#F-Z%Fͭ(s#!!S(yCCJsIIeYFb, 6vYrp" f(e'DlҺL d$x99ڀIffH*zM/D݆j0N鑘΁Ad""vԂΑj,ic/=:uI~!$6Tl vE}FtlX~qN}$JT_R:bb:ɣ()%K . 򥘶{!_}?~7|?/ЅAw'S(۴՜櫎tdmbMr,\)8SV=T< F"!F 5F4A"**9LɂLoH6.)82QCO2+:aUq`VCZskd/*?zэH|!&G^ XWշsutfVD-2f\j 9KYI0nƁڼ?=l~uvqoӘp0y[.55 ^-\ fJkYLuٜ CzVKY0ꍧ f4T!yq=U4̋*qciBG5xVΡqh_s( ElZC\T)P@r b%EK30 94P?+E޺T%53TcjQ__+B˖n¡nBf\yi1]V8 h#*kgAzkǗ'.rAAͧ654WΆ[-Γ$6YT)ī:u'9ާ>Os2^ܶjG:SY09g7_V$mUW:l[nm_)bm8W31Jʼnysi/O1R$:T} Xų bk'»KƏ. %ഔAL}fIBot {عkE>s:M\iQ#"hF_(FxN5Н{Ŋ!yqQUSCrC-8PZh^MV:iW9;IzvJ3\V%ɺDLr^8b\Qv hCz;4 ޼}?|߽- Dtw  JU4RkM0zglfv<Mz¨w-h͊?7ʊQkRigtCBsA(`v% FIgU2*8=\Cvϛ5{]x6vCRK ) lo1ɊR M~C$jc҉#!" njaUQhއDR/ s\kd]`ڡΓ(8\ I@紡;H7~>{{6䔎e3^sz`Qxp_s< /˹RH64QK Κ2@Mo8(pj(4%kb-iHui֧A5(WM[ q?M)4C5$ukJXXkn!2bQq8˓Ч1;weΨAѪf0JG Ψ`+2Ռo㖎yoԽy ];G:o,lhi+jsAqs45/_Ɵ 3~e0a ;x5>x-'伖 H)KRT-ѰSVE[ս'[dGuLԾ.FRhj8n\U 9{ԁdJRHqLzy12l\)VMmNE\Kb5Y43 OaF-.ռ\Up}ˏ&M;&% tx_sVBBDXo Pھ(WytœOw8.;j!fG`Nx X8ˊefx|Y6=F<<|܋NW'wyLם3,L.\ip`TbױO Dr(,-Xt7z #h.4~KiS*{ViNK\J gWs+'\/07 \S d^];ϸLF!M`u!qS4^TA<)wCCUtgPI BPuzkZ0!:HT sguL8@ዅI&wji|KqyQ+R{缸T`JXdHf傜/XN xYm̬%xY+o_~R e^d4ˮ#+C=jHtXXF1(ziBMhlఢANAݤ>_Z/̕f=źv[5kΟ7Ђ /Z 45S%7q '➀-Nq|%{#' @vFTГbsҭ]k>MMx5yży/r  E+E۵jG cv0e\j*1#pm9 fҨhTtJUy#3铰bA2P,09dќ9e:yʾǫ6%N0  8¿y:{ur~ήwH;t\y}NhGY\߈/#?&Bk&.IțJ.5IG0QʽQۊV7*ҀSIzd1=5mBۮ"Q֬ ((f<}')]L=,^ѬZ/f,6k7h@:nLAI+nx{vCJP Cfs6!G"3c'UEJtկjr[Ʋ*CDp 4d t( BҷXJחuūׯĄ(es&0NEyW Вwoلd3LEF텯DW4`CI9˹\ө X׈񫲞EC$kDʌPPHN9n܍H b !n|, .\qʵ[-6#j!eCg.RgجJmgOfR3قŐhmEX^TB6L Juޙ{%pK%_8!n#䨷5./"W[#-6pᗸvbI!:oɌ>uVωԡ'ָp9p0˙ޞތfًQ`KZpZWqŋb-tbH"z^NH9s)FU dɭuTsw:ZE=A+k5ޚ K1EFB2k  籂|s6Ԟk.5boK.\ֵN#nC~=Dz,xzɠ%. j|x\N٬Y-xuIa^+uPb q'a,nOA^k|C@M /IDATkq>g)Z=}ofv(jGEJQ%UuE骘$%OAU1S ad}W~/?Ht_6Wb дMܙx* ӆhcL`5fpa$ǑHP51H)ox!b. u kZƦL8Z=s[8{"P'qJf)`s~I5w[)qLuԯF8OK1J9>~+zn{s7`ȵAc0E#^e]+%\&*<ZM!.u!]o1#G~"V>U9?ӵȍWiDyw }p*|ӇK)Ns)NϞb#t , ku^\b4W{- =x`gi0ld+KHEK ]2X otnPo]UVz5¶vZWLK@ejۍfE 4U/xt]<55T8r*[;Wzmb6-74-Q#'$ɬJ}ny'/e 'b(MElunJȫ!{{٫ƟeVdHm~ќ<+")7ųLvϧp"hķݼ 2a [' _??~_ ϑNJroTpDЉRXt{{q$G`x vk`G|ѼZq>SuwD]zkͻDU7r4a&5Ź_r{*G*HkV׌X HwV/`^Sxy\KI,=7{T접%NƦd1g]JQ)TZ{JF±TT@K"g4'.쉋8Q4-|#|$BM;w= bFh9O}G?gqT2Z~΢#}<ݓ;:ȶ4Gi&}KfgPuE &ՇV}>?6A>pg@lfS[ŧG5j!A"Tbx9N*X߽//g|.@'> /q9⥹U_I7IhFEs L19#\07[9zc]Iy8"i^6(šq pK8AwwQ2i@pI\L۴7˭hb$S|@=/AYWyKa>qFG4{.tJ0vѳB({T>t# ~/9(JdTg3c=JuB3r,X( f+G7э[;&g6{= Q7 =͊uziv>Ey\6K0*AIDђ]LskA{`W ItvdvQӭlA'T mR*NRM?uPP?ͨTcڑƃzS_.={l"PY"b :Fr72 4{>=s4?/gi!x1pvMX{- i-ӫ@S;i}fUSi|~7o7^/w~/ @x+,鞆}>F >$W0dCiu (iX ;5a]WĮjqO J*&%inr.$®61?~^ԐU\ h>xt^hLہk BOﻮsSkPӃf\O5o4š"Fw `eQQCDKᑳ|eUYҰ;76f+((`$!ܻ{ٻF'hyu" "@jcwb%{-}|Qb2Xgn;;i{u 54cHu\zM_yX~n&r4-tEXtCreation TimeSun 10 May 2020 09:41:12 PM EDTXX IDATxy\T ;#" (fv/&jvW2sJ Kխ~]-ZȚl300y:ay|sfe"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""E=ijo"A,]r^&ڸ=&7IUVѽĤڄu)t@d]nǺۑdLLÜ۱>ﳺ:S% =IkSs܉N]J>jVe JS|K0Z-sǾMoT}L&qL6 #G^[n6U @&FW#xoXX>ai{>9lg]Y[ۘ{DN)))Vf۶ISB{Ib ΝI_y(,(@IIqu'"""m`goNroA!O*WDuϤ.Fi¨BGs& ΝI'8;˘T""""*掴B_#50Vܶn]Y|睵ct2*;+MQA4lبQK7oٕݸ[ fFkWء*)iV@A>ސCa`؃l(JMns?66ު35GDd/1čeBZkP(AH\*sۺ|u_X{5\ SILm,76n?]KWs5x-xԦ}QW"amaP=6=d0*% .R2vC< .$CĠ7Ү;q3Xa̝*4=~kau[z_ea$"9dX: W̄8th_+^wdqڤ kvm 9CQPPS#6bؓc1gRjůbؓc*irJJTrw8z!,O {;;lݾO%``Ts.cCKD{gq* nge CEM B`7@SxHwnBۇQpvrҬӵSrRФ7z1lat%%*bמo`1wc)[~lƏ3: ݣ"5uG HIMwu2'#Q9[?_Ǣ^ hT*'}͛ sGX[[QClLDw67?x> +X*ʼ'O٥}wZ?tO<62|g%˪/~Cc_{-os4@'N׼'z?y}r$^_2Z PRYvQ#X:w:βwqZ2>xw->|] c6 MÿU+ x46hִ -ǀGbqZVOĬh 7rbl|maxu۱ O>Amgtx*[- N:)w:7烇4N>>h3#~S/|@h K*yԴ4 ._nsF:x{+7F3ƕkɘ5t9.]F^ ʬ-^0a$NA~0 |.NpsÈ W݉ӿ1OhHW4k^ =1h?._j#Sh.߷D7BtNZ 򅻛+6r(\pI74Wж)i&bz#+;od&^DxpJATd|7FvN.gdT(R={qhw7Wth;[J6FuCoqc77Wxyyb¸Ӂ‡m#Gc|afaCϷ%||#'gϟ:ӧ7Z||DG@h֬) iذ! DÆxn3pss}?j=ګlydť+W >v rnĵdODΝ*^ѾCpssEQ̼kɕؿrrPTT6m4FaAQ( n(C76F}ݻ܅h_ϜǴN8}byxrĐJ+lmQPXXa͛PPPߖ hv-jp1JOT`_ffYVv6 g +;J~|[2PXP5ς;mZrC1,~cc޽86@xhN: -pqp/$Бcx|xSrDu7qΝ`2,({:󓞮V}ߚv5羰湍 ml>wxe4ui _Xb : ð1twO7VTI_UQ_{ ¹ Ih A#/Ot GKȸu mZ2\V'q{k^i>>Phm;wS#wx7j_zYo{!7&V*3:Ĩ=]˻uN[PM : v1z!5=ݨs Qs}G{б8poAHMK7Ʉ3P*ѵC{Clt9i&RRXlZ8BZ"h{{;J8Siؾk/F?6&q|1j 4i {{;릠@+дӷ]h0/_ϜCxH $q ðoǫai~jץKuCz7򂣣>\i+׮g4|A 8wsrϧ׷ȈTRW?󵖟K__x-~CCQ;!Y|: Qѽo-o̿ڠ;<{{,,_gƂ5ɢZƆ8Ti75⒗gc˳ѴRRӰhfT̗0 'N58/َ3/@V#v.])MJj56lB>=Ъe |6 )CNjJI}ruN "< Ԡn̄7~Cc7p+vCh[DX5y}ޫwl+]BL8uThmez7/'VqF'^Pxuxrxb>0YsuvdeecTv^뽯{yoFVV6?wݺ"-=ohڻƍ'9c Ħ͟Kdʷ} ߟQigS- xK_^DVpG(,|[4CJude߀ HMf_||[bpsu+̝ -pUܯlll?_Vm8c`^k# Яww'KWsh!>rvtt=7OM'aǛ!~"ڷCLj<=敊hu6Vf&ח `cq,]0Oo-55(F}kz۷nH(ۈԴk{z^:O-jQÆ77r p#u.IX:\V&k]=5 kM湹eTܤgg{♯-Q%&áAKar ҺW3w<""PP԰ʯ䮫yn*;K=,aeeRis#k3/7/׬õTlL7h;nׯ6~RϼZ~}aimp @DzI]*ea$"G}Yk9;5;LZ/q`}_{y[ߥPԙN `4yp_3Wz^EmëH/Øt0R͹V?a$F~57Qy. JIϛMywȧ9jԚSM KkP7aTDTWL>Ai\v|K=Հ*l&""""x4=xU'T?*illmRLs0?σ5,2Wq ]S-y* 6R( "R+kk N @Fg984@^n6,  -XYѝj-y%EEprvGrm}ƚ 3ޡc;(sֶ_7=roFZ \\ݡ]?X}ST()*-PYƨT*QTX󿡑OS5NsazwΝ|)(t8TH[_[:$laZ`eR[X3NήwŊ EUJ%llVz .'%5NsFW*#LQ6nADmTycJyT! 06qP[j2A͟ye}Rpw{EWܳmocHD/R{Nĸ)r33^fz_UJ\Gao](%(Z{RMymWH h)0>T0ݥP(&5/D958< JYXZʶ/L|$갪;~ioۣ&澨:0Äf=V7H/0\dȄ̖0E)""""2!&""""0^LH/&DDDDF""""ҫ:WI+[YQ Ĕ.(™e5F>(˵Fi^V6U 酨8'Φ Y)ATkGKCD`HT\Qjxy ۂEup.p6= ^.Ei$x8\g7DC[&Tw)@[[D$X:$"2F: -vl̑޾|\"0w/p"2/"0^LH/&DWXHK@DDƄ}rrr暷P\RY_C"F""\,Y/Kp2deeY:,"Lh9Xkv-Y3/5- _}I#Q=Ą+Y,ä~bHTtov DFFرc" x衇6m`߼y3޽ݠZ,''K^՝,IMKò+kȈ&1a$grJ;w]tA߾}[[[n_5~7aܸqHLLZԩ?]ZT`kˡRꪷdt࠙"#ƄyM7߄>3ɓVZaΜ9ѣG_h GGGKtjdѩA,]K濂F*-߼Y3Dw2cDT0cJQQQp ##ox ׯ_ǟ%BZjhG̘ѰaCKh]|4k&--&DΝ;#%% n݊0KG\nn.86/^F%͛5/>naHTh=?vpqܺu ˗/GPPP(,%7ɓa_.Y,я?4Y|y,޼26aT}[_cdUv.\m۶!## .Dnn.Fdggcݺuo>}R-H׮n^ ˳_0Y$\,*ݛUӧfΜ4t?#lmmѦM,_ܹsѧOX:\圝Xk8YeYdHT1a$g/R粙3gb̙[vF\bRKADĄ Sc^ӏ?Hܘ0A=x1 Fz&A<}$"#DDDDF""""ҋ #Q]pv" T4eQqFaAΥY:"8^‚Tz #Q9Y8TiEi:K8VIBPOMDkGT<9%8wp"d*,(@nN6VF j/"IDZJ QFX؞"Q„y-dx#`x IDATńbHDDDDz1a$""""0^fJPuFE%dU6YqӦMF۶m7߬GyF7n{9tu<o6ZliIKK-<==^W^غu+\\\ҥ ك \ 22| |||LJJ {nΜ9jGDDCY.,GV#f ܺu͞,77o*Q\\ ߣoQdkƍ?lP" ۷J#$$_*, 0'OƆ ???3yyy'%%aȑ?X8q¨8W3oŊh۶-+/P {Ym0DDD`(,,4*{wA.]иqc;v Ze6l؀: ,,  @BB裏BV ʼn'ХK $$111zCf-b ̘1C>"իWkq\\ʼxrJ 6 ϟr{DDDuAlh;/>h XD 777///iѢo^D89~e)))bkk+-)**K+ ÇJGJ-dϞ=F,}њ%ݺuӚyf4hܼySDD222d-/_*7dIOO"Yr5Jg/%,,L͛'999:ˬ]VF-""ryΝ;W(ۭ[7ʺo;w<ٺutQ޽[zZ>bmm-+VZ-""˖-9sTk׮3Hjjj&""7Z7On8UдY2Ç$2ez7͛ҡCyҳgOy3gΔ?퓌 54a lyꪕK~~~vF-O>&M77,ּݻwW;!{Wwի={ƧOrrDGGWsu'L J[}Ν$ :عs'_:[[[W8ٳ8qbu{Q6 QXX ah.,,ą +WT8|?ѣGcڴiptt}g3ߏ,-wA#00²!촞[[[CVWZȑ#3g7o'NEՎ5a0`  $$$_~زe j]$$$u&S_R&EEEͅf~aa!.^U. {IbS(?~:u*ƍ+++M* Z~{?}пܹ:-]-ҹ6gJ/^K/}:bccqm@NN&NX!\d F+Wh楥at񕱳ӱ~$&&SN8{f… 1|pLyҴiSywQ^~ :u$ڵ޽{˞={dРAҶm[ٿO?$111Ҿ}{ܹ >\>Cp58e/?tU^|EIMMyիW%&&F~aÇ|Y^RR"<8::J^^>|XI&2|FX*>'O 8²K.IXX89951;VSԩS&ݏDDDe`s]IQQ QHM6w"( /kbҤIXn]UXٳ?0n83z]sGDDTW(8 @Ird\;U,_儑j/iQո}ѿ8c s%9j,DEE]v =NZm*JEKGDDD8HDDDTGqj&DDDDF""""ҋ #ńbHDDDDz1a$""""L0*X9V{aϻL@G`"GDDDDbHDDDDz1a$""""0^LH/&DDDDF""""ҋ #ńHx lܸW^믿;Μ9cȀ'|!!!pww/bǍ\rub 3wƌ30f̘OmQ8x ѷo_?h""IW!11zˆL~)0lذ?>>ݻw˻x"lق<:u [l6-[m={\A{QͰH˜ ܺu z߿f(fZ,|)X$a}6ݑYi8~xE ɓacƌA^^^III9r$C"66'N0* @+жm[DGGW(_"22իݫm۶!::aaa PXXhTln֭[ Ujbcchժm6M9ZsSN/_U״i0tP;[Ɯ9s#00;vĵk ,֯_sC B~pԩ*oCkH? !"Xz }` '<xh @kILL0qss-ZH%--MtǏ\"h")))"YtL>B09|T*9zhBctҧOyYYYҭ[7y7oA͛7ED$##C.rerC t)**+WʨQtoϋڵKw^T*yꩧdƌ""ruررBv풬,)&Æ ]vilڴIT*S $qFM""WoooY~j9ru[~3f;߯W~蓜,ֲb M}˖-9sT(k뀈.ch|4#;Vwڝ0>|$%%ɔ)SԻ!%7oޔ:hKOO={j͛9s|߷odddݮ cXXdggkWWW1<<\+3zh9} Rt]vU*ɓ]vsNb7К瞓}Ç駟,[zU믿g}Vg{[u~_UOrrDGGW^DDTw+aJUwaܹHJJСC;w"** UA빵5J_Ξ='VXGUj|jp"##usP*:JJK.E@@ W^}RT*QRR &hS(zشiSbL 1e촞[[[CV,u@DDd& [lW\Pٗs;;;!77ΚxVݻ&~m7==W_}-[`̙XbV8=o}n޼Y8݋^k޾}aT=ט~ADDd nP(P(4 SLy.IMMŸqj*kԨΜ9t.=ztrӧOGll,n߾ tjĉ%K`ĈZfLKKq%3%o&xddd`̙Z]x`Ϟ=XfMb?0uT\zYYYشi}]L: 104>cCP*~YG˔+..u]իWqA8::۶m7RSS1h \pgk#/`Ř7o> gFrr2j5<==bȑF 666Xf u놢"jK1c͛ŋz)١_~(..̙۷ocx< n޼ [[[``H999BNN>ct/_ӧqIܸqCsXuÆ 7n`oo~gŋ `֬YHLLɓ&Mzн{w/0uTܺu QQQػw֨lH?1>>>֌p|2 &Lƍq5 2IIIan""{⣢ܣ'ON6L"&/֮]I&aݺuKk֬skC "KPp @=SIIuw* :+쇤mllvZ`HDDDT}/T*ѰaC{ԩ04""5ȄnaHDDDDzY$akݷTƍ{ք+V`̘1ؽ{7f̘1cHjoD`` kPGDTY$a_D-{{{3E|HHHajxt޽F.ŋزe p)lٲ۴oQQQسgQ}g133u<==ݿ?YQZj7/QbpwwGfff b 0'OƆ ???3yyy'%%aȑ?X8q¨8Cs+V@۶m]_~HW^_4׶m0DDD`(,,4*~7[Οa4{ VVV__ILLDV`oom۶iʩj̝;:uBpp0|rMCbرhݺ5̙?ر#]X`|||~z̝;:t@PPSNUy_Cah|{: ##C3Æ hҤ 4?E a(ի5鸸8W(g돈'5;h1Zh @HbbhBڷo/iiiK\\?~\粔EIIIҥKeʅÇEDDRѣGEgMNN>}hʒnݺiۼy 4Hn޼)""2|p˗/k2dHQQ\RF}C?^DDd׮]ҽ{ e mWRSO=%3fׯKǎeǎܵkdeeH66lڵKHdӦMRgϞ2h ),,7jYzx{{EVȑ#G$ @Ο?1~0&>C_nܸ!""9k,پ}5ad+Vhl23gN< @ Zh.G-2Ç$2ez7/ě7oJ楧KϞ=͜9S> ۷O222nЄ1,,LeggV.=z>}Zg PT:J*JdҮ];ٹsA1|oh sɾ}DDOk^Z^:""_˳>=}:YW? r .oVCfϞ-""z$2P]a^LL{Q+aRXE}Ν$ :عs'_z;88h=Fٳg1q ѣJm666pqqњPr.\@ddz\UJRUiWTbҥ@Sa+طoT*J%JJJ*B<]} ŦM*]Gckh?ϐr駟`cc|Xt)233eDobvvvS:{Qbքq0`~a˖-U24?4UBe_ePTT\8;;kŋZw^,1t <_}lق3gbŊZe0zh|Gyfܻw/yyCDDQ_cah|ԩ^ucܸqشi>3W"""S  233r")S0o<RSS1n8Z5j3gh.Bx"F]۷o(8qbdsɒ%1bֽ0|\t eheo}">>9sV}/^Dhh( "سg֬YSL:W^EVV6mڄw}SN5.CkL? ϐrO?^z'ܹs+5 PTfi'""粕}v p~XåSN RRR]vҠA5kj޽899ɢELHHJXXH=/02}KͥiӦ;uIڵk'{={ȠAm۶~M~Ibbb}ҹsg>||ᇚ j???Nj.ڵ2vXM]Ν;KppDDD/,֭&ME|R4i(iiira͛7H||'2l0Yfi.F)c~3d;c3H9'Nquu_c""'O8p`e.]0qrrҼ^*: ""a4v%EG݆Ow'{b Xv-&MuU%nzYNNN: .B1)L%&ݩ' ֮] L0bX~=J%6l{:utXWADDuF0Qt/>/K$Oe$VYuoU>73I#DDDDDbHDDDDz1a$""""0^LH/&DDDDF""""ҋ #ńbHDDDDz1a$""""0^LH/&DDDDF""""ҋ #ńbHO"$$_,ٸ̙3&wܸqpqq+WL^7QM{ꅜKQ)sw !!!ZnݺeXLO?EBB V[UVpppٳM~fUVi?hӦ p 년ǣ{&To]ъ!" ;]~@\\vޭgϞf6>>X~=Ν: ((éSm۶!::aaa PXX_:ְ IDAT~cǢW^رc2C35}}}1g˗ 0'OƆ ???3yyy:P {չM~aaa i4x: ##C3Æ hҤ n""ʔeVlhFLs4kL~w)))e˖Illܫ[nUa.ݺu7o͛7e޽ҧOu[nZRRR$,,L>,""*J=*-Z={T9>S)ߏd6lr*Jz)1c\~]:v(;vPv׮]~deeɰad׮]EEE&6mJ%={AIaalܸQӆի[֯_/jZDD9"ryu.ۼy 2D5\RFU#Gd„ ""rI>|x2gh(ɑӧO}""j*ٲeMII[[[YhHQQ,]TO^a 4Hn޼)""2|p˗/k=zT:t Νņ RRR)׿qㆈ:tHg͚%۷o+h @~h +98hF;;;a֭8v1g^u7-#<==tv͚5x饗 P*ر#>#U;FS8tBBBЫW/,T* <ׯ,YG}Bپ}!C !!A-[رcT*ӧAAA}V}3<ةS'Xv}}7駟[ˋ/R_Ul||<ƏGZZnܸQNC3\qUl߾pttDJJ ._-[_;;;`޼y &L.O>'aÆشi ͛77oF@@O?oєܹ39b 8P~0ydkڵCRR6o\ )W0ر>(뇝;w<$m(Z666pqq*R!dVh#22RJH>|{ELL {jdff˫J "Ŭ 7`mm~o?{we=  ꢈ b!bjV@qkwM]S t]R vE~ɔD$ux0f8H>z~HHHy5fɂյ d7ndgg`]]"##&&&x饗ꈋ7믿ի_;}tɭ.prr™3gP(HMÇf|W())AII ***baaaOPSS{{>W_hoo\t%2i_Y_|rrrgggdeeiV&cG0feeA.kVq%XXXhZ9::jn\ddd+Iկ~/j.///GllV܊+~zM <:e7,M駟֜?i,//T*X,!??;w||HJJBUUJ%{=HJJs][lALL`5ظq#^);p,--1m4|>q&L@zz:BCCP(PT00ZV\.\܌DSyfrAҸ~|xg4e666hjjBaa!bݺuK3cz^rrrhѢEBNNN4qD+Wh]YUUE!!!4uT󣨨(JOO$''+;i՗E'O &idjjJ/ NPPDDd2H$D999@:w9 [oEDDMMM4i$5j%$$QEEZd>|||Օ<==_={=mܸ^z%9r$ DD?|I~:}dkkK$E> P@@^Z栏?Xw[[[:u*憋 )$$<<<LJw܌rJ211!777:r{idooO}ꟾqEEE lɒ%Ԑ;իܜ6o,3++ݝ̙C4ow{1UEEbbbV{Ļzc1&+l@+xa``ѣG㭷ނPwKC=`1V9ad1U_ c1ƆNc1X,a@JJ 1cLC0:t?܆ 1cLC0={>,,,, 1cLCz d1c!K-c1{< I6mP4c1`HO>ưc1X T(g|֭puuW_}5@3c"ݟk6d0ZXX}g1cz70c Yʡj1cpGTTƌc1Ő%cǎg}6T3c1=51cG02cqc1z c7Z3gn#,YO1n8XnO ޡo\_%$$uʕ+Xp!0yd<3(..tvvbݺu+&Mm۶ <ۿ"B&A"ҢOD۷nnn4i{9jb1:::4'NkZ8qbow}G1cR)qԩ~w޽9r$OzM}`ooI&yY$i,=B%,v b D Ax/~ G4Ъ~>L ^21~ӄGE@@d2<==6~}?ϓakk?Pb1/0` Q0\XFLVT*{V%///_ҥKb^{5~:;;5srr˗/9^qqqt…^S\MM d2ωkNϟ?O/=~fJ%-X?UOΟ?OӧOK.io>'J%Lj#hͤR^}UZj>???jnnR ""ڱc}I[kK5Žs6t=u]浥A=^K^[iZoӟ>J;^Lj詴Zz`Wy?}vZxq晨oh@6lӜ1@$  9? ]ay&ƌ3(uڵ v‰'_Zg̻ヒ_7nhŅa7RSSk׮~ ;w/ f̘000L&}aeeP(o~z3MW]]bժUXT}T{_qoEbbVyPPsss36l؀ӧOCV* K.]sOjϘ1/^DttlȑCCCk&~)rssQQQ<[mmm022Һ R;3fFFF '|W_}_Qy13,9"C| |qMgy[[;Yߵk+X gg燪1~) 1PSuX,ƙ3gP(n:$%%i%7",, >|k֬W_}Bst]vi,H'Ok0..~~~(..7|W~`C~ʴʿ~CbaaaOPSS{{ccc CrA_|YYYV#pzH|]y w?k>;{ٳm1/ŰMSZ111SSDGGGj> ##C?."Xf  T*8\.(Ĵi_ʿ{$%% J|M$%%+n XׯQ[[xرCSV^^T X "B~~>vܩξso6o \.Hߏ/,֭[:}1Ī+X8Y{c[C\сN{1b\i/lق(_7իSߟRDFF0w 1=67ܥP(h…AK/ ⪪($$NJ~~~E*f͚EJDD9YXX=mܸV\I&&&FG|=?);;nfIOO>,X@zj͍֖NJnnnq/qw/""d2I$ Ag}F>>>J/Ӟ={<ϟM+RSSCdffFW&"N $sssڼy&BД-YܿKDENs̡|7o9;;SAA+..Ν;deeEgϞՊݛ^^C/˷krw)ʍv2 )MѬ͚nvhv|KQsWaa!PTT;: eddycqGtK_t7ޠ{womFۈm:O;wܼkclyZXosމ_w+!!EEE())el"h)R[=Mݽ@O Rۀ~f16cNc?7["=bU{Za4p'OW^yo6 0zh[wc7# (OXP02}+2޿؁NN?9adg.iyT #a1c=ℑ1cFc1֣aj@k cWc1X8ad1c=ℑ1cFc1#Nc1X8ad1c=ℑ1cFc1#Nc1X8ad1c=ℑ1cFc1#Nc1X8ad1c=1ccc/u7ZNN뇺r<c1J,^2 O<BBByf +<Ә4iMdwhnn$ LLLݯűcPUUc a0#44ӟPZZr׿ Mܭ[xb˨W_}ڵmwtt,L<J G}Va֭HNNx0cgX'IIIسgf͚)srr0{lMYyy9M@`ȑ_֪ѣL&'֦9HR!!!z+!!666(**OD۷nnn4i{9j۷ӧOL&Cxx8 LMM1w\tvvj)S .ĪUz=z4V\R>|)));v,bmǃGrr2lmmc Q&`+p0 T$SWl{{;޽{;x ͟?4۾};-^X+ߟJemwW\\]pA羚1bm޼T*ӫJVڵbcc._L~~~#}6988PEET*JII!\wuIMM˗T*JǣMhÆ z1 H8  9  omm7|/^LgϦt%AݺuK뻱TZZ*(O.(ٳg \]]駟~8qB+A$WWWJKKScc 3gВ%KbmGCRŋ cG0+m| ֭[jhjjBcc#P( fffx /DGGFFFhkkw}3flڵkJ?^9RPpM^[[LLL\\\D8{,2ضm̙ӯ7'OfΜ __~ǣ!<@#a1l&022BMM ƏX3gv CCCM{n<Ә:upppiӦNNN8uyqj3fP+ƍ077Dze4e?QYY Hԯ>ᄡǣKOGYYVXc_a}KZZbbbP\\)#" + (++Ӕ=z7nO<)۲e bbbp5MױqF\zUP#rss5kjj76mڄ(x7Ⲳ kҥKw}T*2̝;wcx|}}M6еkƎ'"..7oބ \]]K ,_ 1bƍHL8Q֭[l2bѰCDD?;v ֭TUUܹs055ň#pQ١w}5L IDATk`֭ "Ġ ֯_5RSSQ[[ ___:tHk ZƝ;w#G<遾x8qT*l33~ cL}]Foн7{6{zށ0럺:r#!!EEE())yڟ1/H$Z @;{gSwuvo}RSS1]aQWW;vpc֧ك)J@DDhGcDZcw1X4c10ŧc1cFc1#Nj̜97 \xQxXZZ A8䠾~g;`1Ɔa0VVVbŐdx'͛7k=$88G,ٳd=zjC"`ǎEaڴiƅ 'H`bb}]_K;v UUU]`A0c$.rDFFb޽5kx`ggzJ1 oHIIɓ'5Iagg'D"rrrPRR={S{`y⋘7oZ[[QVV'NΝ;HNN1c cRR٣I ٳΝT*Eqq1|}}!H Hcݭppp "##5b'NڵktvH$ؠ}G1cR)q)q!BSSS̝;ѣL&'֦yѣrJHIIرcu>>&//^^^2e << Z T*,]T"11QAAA:wpX,sc 6a466jjj0~xb9s{nj%8}4[[[~GGG666 Cjj*jjj`ooq6 j5+Z999ԩS;/ƺu| cٲe~H$|QoCll,4|hhhM< SLkzQVV+V ::Zcd؞NnX "i:::"77W󹦦:HHYaaaP*&L@zz:BCCP(PT:ެZ r7oеb(6mڄ(x7۲e bbbp~:6n܈W b2/%++ rV/] dQC*B,;wjb _^pQmm-H茌 aܹ} cl+tlڴ =̟?_uV,[ =z4IPj5988ҥKpqqAbb0DDDG!ǎúuUUU8wLMM1b=zTs~;#44ڵkqM㭷B@@"##ammTZ /_1ƍCdd)e0Pոs<<ǣ&&& +Es&O,YĨQ? .з8q* [lLc16܍7ݛ=}Dw :̄ ˵T_ˌ1DKh:TlO_aYd^]]v"ca}JHT"<<oFGG"""t>=ǎ.0caΝn0cϣ1cqc1z c7Z3gTbcc/KKKG 999n0cl /L&O<l޼Y13hnn~`=bgϞN{^H$=/ZӦM5.\=D"00Pm^رczc1 ^{b֬Y˗/瞃z)MlGGǀ$%%'O$DAII OOO]PPR)8| & ~)rssQQQ<{###XZZ ---!Jq&&&9r E3f޵kqɓ000̙3տGss36l؀ӧOCV* K.}`?~D8{,2ضm̙/cn&022BMM ƏX3gv CCCd#;;OFXX`kk+baaaHMMEMM %c16L)ic1X1cnj3g΄ 2/^;>>>Z.rrrP__?4ΝÓO>cca0VVVbŐdx'͛7k=%88G,ٳd=zjC"`ǎEaڴiƅ 'H`bb}]_K;v UUU^o=1a}tyy9"##w^̚5 pe.'//^^^2e <<M T*xbf1Q%Fsss?Z@455P(}JRp^&L@UU>S梢yyy:OI FFF[ZZB* LLL0rHAV}}f̘k׮ hƍɓ'a``3gW+F$ٳFff&?b۶m3gN܌ 6P000JҥKϞnoUUfll,lhh(4^bl1{\ ۄFFF!qݻahh,7wdgg C^^lmmQ\\  ,, }ގXXXhP^^.Sըǘ1c4充Z999ԩSҫ΋}w,߸qXl~?*++!48"--Msߏ~P(2eJ ?<ʰb DGGh݌1`7!&&Fp#N+QpcCMM 222t&K"Xf  T*'LtݡP(Rt&HYjr9n޼ k,11QkjӦMBII ZZZ7xC-[ &&F ׯcƍz /2P kuҥKH߷U;rHRbs~oŊX~&Z J(++ܹs7cl( FEzz:6mڄ@ [@@ϟ/ݺu+-[T=vvv$(j5qppKDͣaQYY] C;up9bĈ8z(`llPtttk׮͛7z 5RSSQ[[ ___:tHk*,, X|90b7Z{`ooCCCBVΝ;#G5}!>>011Ahh(/_W^y---i&梼AAA044H$Bzz:<<<4M<YYYXf ىQF#.\ K.EFF~̟?W\A\\{=M'NJ–-[`ff6hsc fw 7qfxfԽӓ DP]]r9?D1"k1E$(СcSݳ:>1"Bjjf=cNc K/RDxx8n߾DDD|06{;vlc@'twv9xwPX[[ܹsC c=>\w7o{h|~1cFc1#Nj̜97 \xQxXZZj=gA}}PwcМ;wO>do3n8ddd<1co'Xx1d2x `Z Fss8{,d2Y^H$8/ZӦM5.\=D"00Pm^رcz~~~z=hƍXf#c16x]刌޽{1k,˗sO=&c@^'OjND"䠤{쁧 0P x1o< 'N;w4f13WgMNNN8pfϞ ԡT*Eqq1|}}!H Hcݭppp "##5b'Nڵktv&H$^5w>3f̀T*Epp0N:3n߾}>}:d2áP(`jjs ^%xQ@&hkkdXr%JKKqa`ر:///L2Xp!VZ8}ݺu+&Mm۶iuyHRgM IDAT:O ^W\… ɓ'g\.zk9vqqq:/iDjj*|}}H 8 991cAԽf+L0dSw?)^|||rssˋ*++bJKK)""<<WWWS@@ BBBeV}YYY?yqJ/clyT 㰽\pOV#00MMMhll5 bq.((Rzׄ PUUO?@^^Sҽikk,--喖J89RUw}3flڵkzڸqpI`̙ՊD8{,2ضm̙q477cÆ 8}4j5 Rt[$&&ji > . K|@.X gg^c 1PSSC,̙3ݻwP+Y$=oӧ< ;::AXXRSSQSS{{>---Д\VQ__1ch srr©S`eeW}d]Nqͱl2M?TVVB$iqqqEZZ߿ ɓP(0eʔ~}_]w ]?<ʰb DGG?T]1~M/iii܈@DӊuttPSS ɒH$Bdd$֬Y0(J & ==www( T* RoVZ\7oZiJLLZڴiPRR7Ъo˖-<ظq#^*˼ ,r466Zt,,, ؼy aܹUc1ƻ -\<<<Ã|}}饗^ZA\UUԩSϏ(==]_RѬYԔZ[[?' 7jb) Mْ%K(((HLnnnF4uTrss#ooo͍weee7Ӝ9s(??͛GTPP+((E̙3_Zk )$$<<<LJwt ZhM8ʕ+g}F>>>J/Ӟ={[rr2SQQV """H&D";etDqyU4e` iVK!nubhҤ!"""c9%a\t >>>Ֆٵk1fFDDDDF0&&&"22[L^^.] n%"""#٦+*&eɵVi ʹ$8TZx^Z߶*|GDDDDf1a$""""0YL,&DDDDdF""""2 #ńbHDDDDf#aJ*W˷ңnkp #ńbHDDDDf1a$""""0YL,&DDDDdF""""2 #ń#33aԚG}j8yqooo>}&%% ?ۻSg{'=z4pw#::CjjU>|۷GVV+WJҗM* ;ȑ#7YVיFCح[7j$%%̝;ڵCPPJKK DӦM1l0Yu:Zh]BVSNx󃷷7>CgG RW;~ݺuCRR())ĉRڮ#m޼1bDϡVѥKxzzb̙vм3fҥKz!t͛77|c9Z dzae>0dIa`ߏ ddd?D``  ~icso]R1)op_ QDܹsҽ{wꫯD̙3&+Wk[믿dܸq/ɑ +Wܶ\v*3f|7&[ltU^{5111cu|RǏcǎ6m?Cj\tI?oƍSOW5[n|  2[jڵ2j(ݮ3[+o-RRRb:SZZ*ZVDD$==]&LP'of쫾}?,#,qe0`|6_ Vw]tZhQ5ٔyqXbaӦM8p`ʕ+coՖ~: ,, 7mΝ;SN6/bg,:+V09o߾[A+`„ \xG}())\MQŋ3ܶ\u>P*HHH={]tvء/WVVdDDD XxASLÑnݺa֬Yشi_޺-ͫVBrr2BCCѳgOԩS6Ŏ;Я_?!,, sEQQɲ}ݻwgi|S*DΝ1k,[:wlرc <&Mš5kh{ 7n0H"** 79&'ODLL V1ezW'BCC _f |||닼iӦAP3(a;hp%\|٨NK㳤]w݅/bΝHHH@ƍlԻCVcP*pssøq㐞nP^ᅬ-[Zj7֭[fϞ(_/Ə|grzBZZJJJ0d,[ p [KY|R믵g^Iߏ#{F1k,nžQ T*ZGaa!~w4oP*5n+//z}˗/믿xC۵JBTT-ӫW/۷uV?]&MԸ]B 6 /@BPƍ3(ue&mܸϘRTTs:?[na˖-8z>`ԩ6gI9]¸{n|ž={LkWWWc]nnn2(esNNڈӧ_:tnnnƮ]`ϯ5gKY_]̦ٲ[6֫;Q[yD-{nxzzb2eJ͞a[\:}Drr2&Old_|L߼ys̙3uV|'-gm۶O<_|l9K\p-aСӧ1fwaƌ5ԱBv=;ߝСCeoߎ3gԩS@FFyf㳤\ǎBooob׮]ͅU; (ϟ?o0C8{Q'N@=#""m۶!)) =z-[[^z|r-; Y볥={KY^CC~FOĉ8sq6T=eɒ%9r #"v;8͛0a m޶|~~COM'_ܹswt|ڵ+J%lnWcРAyUdϟ?@(JRSSk&O/7n;#ɓ'[]1rHk]t sO?i& :^^^޽;lϒrwu֮]@pp0233QZZ L: ݧ׮]Ä PVVfPn޼yHHH0Q|wq >\?8t#99ְׯcرHNNFvjK>[ʚs5=5Gm 3goad5Hff5JBBB$$$Dz-ӧO_ժI9":t:FF#aaaoٳT*}9Ծ}{I3UM} F#-Z{G4CI宻h'ORԟbi|Zp>[BBB3*/F-[Jn$88X222ƥQٴid֬Y6[XX(ҲeK;vdeeIppD}G^zI@@?/+V3gL>]<==ߗ#FH~dƌuvܩz?\СC-!!!ҫW/gC4|g=Ҿ}{[ZN<)$33S?/11Q `usss%88X4i"3f2߿T*7oA[l ORSS%..Nz!ԗ;~DGG駍!R~R@nݒf͚Çm߾]]V[wl KkM?,-g K+~?giqʿSN./^:>GA'X!]yEIYir@l%@"<ܹsfgk/_Jez?'RuYCY;Νp @ *ңywఓ^,#GB՚- 68(*㸔k۶-&M4DEE9;"X` kA]W oHT^z%Z Zʕ+,~pw;,ȄrTгaHDDDDf1a$""""0YL,&DDDDdF""""2 #ńbHDDDDf1a$""""0YL,&DDDDdF""""2 #ńrCRi*CyZV1iT<}ʏe;/h5-ӧFYۏ$xyyŨ> cTT]j5<<<־Xۏ 67%]+JJJ R-6wAL DDD<¸g[n Q0uTGA`` ѻwojjDGGUVVdDDD XxAkcBV'O.\QhеkW > HOOj#DFF"00QQQؿUUR1)p @v nWD͛ҡCRYp$$$HU}UݻW_@F!{>1c7|c\ cǎVǏKǎ%556t%66`^^^`%44TΜ9ow͚5ҷo_)--)))'W\|6mHvv """{tȽ|*r"Ws\lI͛7ǧ~'Nf²elsРAh֬Yf6l233I˗/ǿoDFF "((_ٳy+W?OrgFJJ ?!!!Ϭn^ᅬ-[Zj7֭[VEDDD CF>|^^^ؼy3{1ԩS6w5L2AAA@`` ^}Uh? @Vlgox۷6(FFFZ}FwQQe0 VFODDD COz|2T*Ə/o߾ΆV%~cƌ#<%K@T}]\rdy{%]vEff&uf`xPPP]vaذapww7(ӡC={ݻw7 תQ\\ׯiӦEEE8!""ǡ[lقV3gΠiӦFbǎ駟_bݺuIR Ajj*/_nmKw/IDATO?ٳgL믿")) K.>P*HJJڵkrJܺu d ?JcX$`Ϟ=GnQFaԩFرCPP0w\)++Crr2"""___,^بǏ#00M4A~~>x vp5 ]vÑt΋`ٲeD`` ƌc.#G 00ݻ~Mtt˃>RٳgѥKxxx`ǎ6k){%WD0x`L4 k֬F/{1ܸq(5k 44AAA!** Xx1y'OƊ+"aӦM{ t:tٲׯ_q,_g]t֮]죏>M3VZgŷ~۷c…h۶-&OlTv7WDfr-]Uy9KŤK#  GDDn޼):t,)-- JBBT"Æ <)..W_}UF-UݻW DD@F!{5*'"ҷo_ٳg˟)W\͕ 9v예hZ9~tQRSSrrrU^y)++ ʬYLk}QKE?.=o.wﶩ]KY|sssQF2o<)--bY`L:ՠܛo)<\~]DD~Gӧˠ㜒"qqqrϗxiӦdgg[7xU\|Y ܼy`V=zX\˷W^r O%<a,++Yd?~\~wF?hPyoeɒ%&۷l޼N>]>C|뜜ׯA69f\Z3F&M$g۵#r劄˓ `޾}FK9((H Jfj0~ҥKW\[\5 E|NN4iD{8,]ħ+k+"rɓ'-Z$ׯ~_U  %%%_KbbQKo\LsTc]\\palݺ7oٳgoaŸEEE8w"##M?#00p5 8pZ- JKK1nܸjc0wv? &0`t SQQ<<<൥\TT777xyyelu54ihJ2ujѿG͑ RiuDAAJJJ-ӻwo۷X|ynqdv/Bދ޽{o5WDЄPT?~~/}";;...pwwߏf͚o̘1xGdヒ+W_׮]nݺ2Ϛq< :1{=L>ZgV|nZ?СCF,gwwwhڴ~~QQΟ?ou|U… Ϡ;ܐCT믿puu5J-][nŁ={EՖm޼9̙+|AkiU|߿?̙ӧOHLL') YY{gCHHb r6^Vg˖-HHH_C̙3hڴ1rHk]t sO?wyBTBDjv<Ә={6N<믿")) K.^Kt\[K_u 46l@~~>OnS{⋈GFF_O?oQ9KyԩHHHիWo0a]4wJYYYF-Y#G48HDgT֚₡Cb̙EAAE|={:ɘ;w.RRRm5^]~cǎErr2ڵkgs[D Aaܶm(.\0'!ի'IܫW/ 0yeŊ#sї;wh4WF I̔!CHPPj0`l۶MO?$AAARdر""rEh4RLc/Jtts=ҧOkZ=.+-[Ǘ%(>K۵=ϒ四+ҤI1c+ۿQT2o<<(={2m4_adul",wJ\\C}n|KKK4nXnܸ!""ǎM#GgϞRDL۷+WÒϚNxx+2՗j@^|E[jp1~HW^Q\QѸQ7VyͶHT򐐐P'/&P;wdVEdd$8`pQMX^=qyjN(+_ns7ݵ ++ #GV5[.,, 6lpPTk(`ѢE2dC1m۶4ipꍭ[".."ٕ%_,X"5HHw <7oDII EOKAAbccq-hժШvУGGIw:GmadHDDDTO9*af""""2 #ńGZ;:ooo>}&%%umlV)>""j0#T*jRů/6oތL1u}Pҥ <==1sL;Dhތ3ˢz!t͛77|c9Z dza_|/ڭ>{_~~>y;DDz&77cƌ} 8}Zllz 5W_E&M[oテk]=Lwm>]RXVV ##+Vիk}Sz :urhU]rӦMC\\>CŋuΝtnܸnݺ!##wfz'E_zBT"!!pYtرc\YYbmL2ÇGbb"uYfaӦMGxx8~ܹsѮ];Z  EϞ=SN;v_~ BXXΝ"e?#$&&"** w6x,-T*QRRݹsg̚5 Ν;?vXEƤIfh4Í7L522Mɓ' jL2EիP]k֬|}}MzҜVZgŷ~۷c…h۶-&Ols?JG}F%"jtk@"GaV\{9$<<\vmTv޽RPP ""2bٻwbi޼lܸQZ 8P⤨H֭[oCDdٲeҦMYjniii'?Xnj#|RRRdذaW_ѣGMKKqƉHFF4>KG]&~ 2DBBBDDdҥ{Y\iԨ̛7OJKKX,X SN58r劈K||iF?.r)_/֬Y#}R}X|ߖS73f̐;w-'J``A\5i㧳yf%/[r #Q=tQjDEEdB 6 ??׿0*;h 4k ЬY3 6 ЩS'$&&BPgϞ:u*5j={իbĉpq)E7ߴK,͛ѦM},ӦMBw}gPvÆ ;v,@ҥK|QgI /^Ν;ƍ#776vwwZٳT*q!==ݠk_BVqFܺuˠٳ???>L_W^HKK_~ٲe'N <<~Kgxw0g2n޽;~!0a$zL!,,r  ,@JJ nDGGvL  00*q.iue&ܮkp9DFF |-lٲ&MBpp0q%t ݻ &&{1KR]]] GQQeP(朜ipqdd$;#::vBYYnڦ~k_~%\]]qb&wʚ4i7oV5a*uS>Ddg͛7oٺu+>0tP|Ӎ3f t|0cƌeXMnMqwwkdffMC՗ݾ};fΜSN!##Y%:vt( x{{#66vBnn.|||ꯥQ\\lp"PH?`^pY:N8apa۶mHJJB=eI[U[pV:wj(ZV$U&]t78q@,4h~tդ R 55'ɓqE`ƍxw Nx1rH.]œ9sO?mڴIw4ⳤ]w݅k"&&L=ʧN׮]Ä PVfy󐐐`48qB:tQQQxᇑZ39}44C"NzQ^<4@3-@i|t:Yȑ#ҳgOQTh ʕ+EDP|}}e˖2vXʒ` :=*z ^VX!>>>2g>}xzz?Oyꩧ_.]$ǎ-ZHJJ,vZyeĈү_?1c;wcoѢs=h$""BΡC$::ZBBBW^/ׯןϊh4{'}#[n*>K˝#tȹ?XܬqE_ѦЖ򺤱TzGȇHDˡR0n8gb~P}xבPl2 _QkƇU̯b%MDDw ,pvD0ݼKXj Zj+W"""aY_]02a$"""K&DDDDdƒ,\rVDDDDd%~!~^0sZxa>[FMFf*TN[m۶ѣGk<M Q7rx #ńbHDDDDf1aC9r4hCȶmې0HLkYTT]0b_|.^X纺|.(O6u J)6~Lo-k=Xlm9ږ3Kl%]fQܦ3uƓ6~Α cCm plþهoG'fÑrt{lԁmY,&DDDDdVMvI wcU `xcMws5ct đR7G%MӐf;hK&mU3./}n X9i8V.Sőm9:p'Կ!'>9QrRžտ 4a|K[ x΄r 9rt2P8%MP> ;i[xۇ=0Vt4Z0r11O,*`& yw#f 9k}k[rȾF2,hs%]yQ? ?hGjR8o -Gk}cXcX8֤_0'T~SOzIaqאw6d!': o UCMNԗZ y2.q[]LL!alm ;n˭jؐ8Gjɀkm9Vuɢ]ǚv1buMp#qꒆo-Gkh;;FcM$&%u*`߈? y #մ_%5=~&Uח-rH 5p< o2h{(\fDDcSԷef*^̺r'"^}K>:FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDԐ2k*.IENDB`docs/reference/gtk/html/getting-started-app8.png0000664000175000017500000023441613710700303022012 0ustar mclasenmclasenPNG  IHDRL_#6zTXtRaw profile type exifxڭ$;r -́<|~Ybz%_( "cjb_}k~io^z~~ҟxr=g|}]6}}$q_j%Zu.4_/Cyz~o*č;` <:q3.Ƃ|_"3 km}"F'\qcDnxc:z~fcfE+bex`}[/{_j|i_5Yc\tuwܾ? 1 ?EP|, QrǗ M 1{*w^zo'͗9gjs>uwb*+n.~%HU"2W&x.1̭px]SBΔKĽqBr}qu3rD1M޼Z|zl")PM `Řȟ+9SH1SIդz9s.Y K(K)kAZ[ͷ[iֻ7uy}GqGu'3L32l/&V^eVlbǝvev? 't)vG^Q/^Q7Rz]Rޗp1/ 3[]^SlE 2)6f9E|:#vGq3Q?"gϸ&jK<7SB TڍScbUZ<*]}6C=5ig4wBJ;fhH{?v?=wa}.g̿HbRV1 [3Y~NjBoL5sVqa+^ϡaYΞg"2+;^ VjKk9t8nݸۜ7xg~A{k-՝{+9ÔY&Y ֛'쒇FPYylOm3v._ oy?7+v,Ű̽}Lnu8xr_͠g={5}6!oȑh#mۍ+JF)5PaQ $bѦu{JY.NMr5B.=+31T,jkoQ0&u TWB*ÕȐʅIJtmFPɪ9;iM?(m?Xܕ XVT'+5^#k*(ƼT=2=Xh S)k^U\n}>Ts sGS ,-ڶMכZ/,nHE~{q~̺B;kH2aZ1fX%'Ev@A4FѨn(=Pqs+=k z.k6D;0U$dZ"Y{6XDvTs`ӢZ#{6kD_'@zَHdQ6\l@mdRNR=kf;krN2jX37H^k"Xeg0bJ}v([ChƎ({ .',FIoi3>8@ $S\ D=6KĦ`&J!Df5ns&zۋ zyr:<U&\FVݸ.eN;yDO%,kX.%&LCaX看 i;Xz7~d̩1JrdF!gZ+{vǍ#ᗼqFb2rISNaؽ/dY *.2,ܔ"av{0j(A/@Xn/RnIשKXm@0 6Z;PC%jJtw=:ʼn픰*m4] cyw2S=RڮP)pҢ:sldu*S݄Tqr-`NIPfbe.bڞO\( YR#'h_v#H/L.Q#fD@dilBqRg%&$ 'qg'nML( 6Q[P4vr|{@ݟbUrB$FY_] Zzf(Y#I2w`:CDd5[iEr d}nTCi7Ơ57pVԺXw6ȸ09DW$+pSҢ/Ǖn\(};K7b[".ri4V[ "Hf\a4h`=,ķ)^ !4pZL! o[Udŀ㜨]}X5{G "}ow P5aSw.-(}EW[^~7urp ͗B0j2Lo5C"qv @XK( zM<+`wp. k 9R& ΄f. *Zg.㳹42V"1Yd^$<|$3#>&K>AIAe :csO 2F˂h)?>zZ̋XѐWnp* G&Vyx51KTRLKFX&;)(e:F(B- EUjO+1-M&D _u% +٪?jsБщLbˀh~6Vx0 ,I0hW3"hԝ@$ D؎2hvyh$gJm @ѲK0b4lAk9| zg z @=Wd'3P@\b[pAۍH>n3"cAQ @K"cPkhy27zʯdk)Ti+GHG,(9/2?T')gMReڏ+5 XEmXۨ}8*ң̴D-Jł,!u*ב,(R}VtC*lJ\(60ڐBRHX%KU WWw[Xŀ֓8f9 OijSt*^k[ hTuH0k BkfY./tDItCAܱ1$NEA`ݣj4/**`ׁZkr(- v3[djZcw Xy~u 3YkCĂC}۬-MF H:]DH 'oՐGfgYpQZۿ q/=cC\խGh*&Zqk:LUTYs}`SFx;[Rzޫ^z]4,@$-`<"^6\FQD%×5,.RrL=A: rE#L$*d@x`v>N@E=X`/\5}h@у]MR5WcJ!Чk~,Nsya-e#Ոz&s zBފRDX@ rSr#msbL"d34nQ bT7@y4XvI*7eh\xHZ|AXS.þ튅y$Yńg ]Krf a4]=o'I <w_u?p#,9Q#>Sδ8YTSV #h<Z`R/QبsUfyfS,)5 e23jG} ͹ڷIRK 1";_@''-OW%Tlшfo ;.lVA1 ԝ+!\"ڮ`GcGY<-u.9M} X;.Ox)o~Hq)]uB&DP! rI^DMlĥ:r\k'+mб WD!l9vk૗^ˤ^*wQ){dW.O) "3z >z9!Hc߭^ Wսp߹,2:d6_p@H(>P=ێ͔䲇 1!&!xjK¡On~H8<`$yƄp3JDžmR*k[jݾ; kC#ۑ\ @P /Oʔhj0$鑴J Z)i+N/WCFk($\68S RH 9Y[t5f!'PU>` "3vK $CSo xB{ʿAV_' ) HHpXҮo' վxaJUZiz%pb:DMeH=1 Rx3K]Q/X*" $+S 46sC:oLV=fK4ׯ1z??!Qgu`KwKSe K=uN7jȢKޅ mgSZx<KR5rӉ>J^:_<Iݵz7Z|W3!L{ۋܑ;5$B^4^Jg r7UEXK5_~b*=o)(v_?@:VA lDj:;j;Tc~leuře YP.2B۵)&*!,`IS"RWԙ^(.P#S"J]XmC78K,eI({w@zAyM%˸TAȏ/xP#`>syLmp"Ǎr>"j{\+^mS%Qp/nƠki=*mu2T}k6,o z;Qi46ĵ&:\jjFP4> )Ln9D,,}kGc'dyRĴӗW9,jb3>$AisB N%]Zr̰`)q,+HTH8/8bHQR^@t!dp@׍vbA k\ԩ.hC9m% 8Ӗ":' vܰM 5瀓%̆⊐O ݁my)OwtPZϞF?-<>Pٟ7B6U 3r78d3GS@^@:סr.CkWÏszG6yb"Mg~Qs(rhDnd3p㖀:A!E.wM/>f&Ez^2%Xk8 D@gAT-•^vX[ĄF'YLoKauFc ] )L-hU?o)WwAM 4 QR0xmJd-Ǩ7bjU'U7٩AKjE4ɆWh;2r*OLQ9L9]{7ҩeX OFzIv8V!A ]eo3U6Z66ri8AdfqHAwiʟb%ɐ?E/1y#ǂPd'vuQM11=8-/Gii?y~ܾXG'u BWe@N7(7WY[Z15Toغ{G9^euB"٦gtJ攠FTau{-o7_@3o3hj is}vے͒:w@tT@@8QFcHsZNHs -޳!{O:2x DM2#DHI*sTKCG^l"RUsEў:F!-V|iKkFҫT7>2(]BUsF0I 9>Mn|Pq>TXJxNPwa)|nƻjV@=3r%8}"[9dqzSS'PET`/:s|#/&_t}=$X9p+)3%z9ejKl_mt'2B2?`0vdR!w!QCZ`B֑)J@ڇP+'j]"R5t$gp8A&$ pp:f\j4h"X>BCp9#EKxP5լ3~0Y6A:mWm5N/jǣ^ÙбtC2UFō8Is|^ICʫ G-|4i-I#QjznQq[B6{<Mm%ӒzMtc.8NdHYuanuTKZU5ܕX^`v%Qa&P?g"#|V'm&{l8UWJ?qQy=H:jr^:WMԴlPD "Uqמ˻[A5w:[cC]B #NrN.1>tku6Sz]`F^_zLWf@홻7>_E&ti-B5 GͲ4Y}Bm%ERkjVء>e%ߤ,p  ~_.R^5(ڊ8&*] X5\%1VQQTS)s:(ãjtWt} xZYrXfh\tu;5<`߈tKB(86aQ }RQp/'גUG6!@$Q/]=,ә,sHAba;SU+$vn@[AhXD|ࢽUV{N tbfu\"RPVzL(0: H E)’Irg@PK齘 N_T]½JѾAx_<2a(h/`I>#6Mz>Tп:쇎(Z(L6 m+uVkd m\ ܣC8ѫg͝D^ *gPvy CC.ho3R"[}ȋ[ҤYQ=sB]R 1{eKjpmIS5)ulvkONjhPuO =[9j) Qvf7BJϩyDG-!ڌSGV")G:Vд"İ6^,DyR0 ~ʄ20Rid5Ā kWcar)KH ȬuT:!kuc\ ExRqLkJtT)O@>Z6/4hab=p`1Q`!ѱtGq`V] [Q-dc#gޫ[z :ڸ.i3f]wq`38{T?SF-Cyw׻~}#/(I|FM}}k?0L#3erfsSC":QX z(=ǂ/qwםE|.Fw$=o3ۭ>]=n79M<60h"hPؤSK9}IǯwjD^_/p2c8$J iCCPICC profilex};HPV ␡_VBЪM_Ф!Iqq\ >.κ: IEJ<7)~? ecYF*2U! 8F$fsg}S']gyY=JdO eaoOoZ:}+J 9A$~~1ҩyPhcYPQ?yZ= 9me" B*J(Bv):{H.\%0r,߳5nR8_lcmv<WZ_3ZZ.[\OdH3,w tskHӬ7!0\uwwߞ~rrKbKGDC pHYs  tIME 3 'Ԋ IDATxw\ǟe){Ņ EM,U+-gV9Wn,3sdieeȯf5lw|~ 7eU䦈IG b@(H: (p K0r,h|ZS7Aʧ8'XT~)\W4M$`Q%q/Y&BGV<1;C6y(z72""\:` "EAұ\CX y łO`8q*BGV:ұ8Ň)Wq盪p,9OUT?ƒKFqBYU"EߐSMν.`vbLc=Ţii ƧϿ3_2dpKy|կΩQd'[dSZIFAcYF[~J@t>c{~cNsK>[ַG#mm5#% P鴆{?o޼7CjJd[z3DÅsg601dt:AA\07`ieM_v &cƐH0+S0Vp1ђ  ;wɿ=E*;MTɒ-[|96  B>INNͭg[n;.FWtU%A((c,SڰTC~ߪV֋ Miy1I1wtRSA(/̔{$]F`^FYh>^x̘~ZB1w[vVJ~J3Cd˶e2^Y_:.)=ƀ7-܋Dq/2leC9|E !^A(Y$P`RNR "3pY>xΝ0)d:&Ѫe ^ y/~_0y ֮XGJe:/"(Bл[0J x2fMʸ W7YөWVԭܙ!iՒXR=dbl2s=,(!:qIRS4oXYZiuz6n/VūV-_|9UTؑ rL=~ͷkWQÃ!#{X0{&+-v\mÆ_Ӡ@BBBoj_N[SF{ΜEk'O=< #;]_oo̘Vtw0ݷM/>11VEXK}\M;7o1u\>=k7psuƖ(HJN揿ңV^];qKeΞg᣼+;<ۊ+L;72ؼ իVΖNۡ( ىJniٜK_ZS'ڻ;v+r<0>ɿ7lPćܾQuy1qs/ai < hgV ,A}_³zUiѴ1YRu= <`nn5_!~ݵcFѭ 5=kQ~}_;/^4U GG EQr/*Urj*3g3=ӳG7|}qqqppgdŤ'fMZx8 ᵾ/s?7oBAl/A47oqs խc:$=pLw>@V999pvrb FxM\]9yn.eYȘPO$Uh.^OrrNڵh a_x/>!GNp5K 55K H|趿/kDŽ)Ә8\bbcٵΜ;GLlc1a?zڔL&' pCiksl*ШO³zu9ʜ!]CGx?U8v$o54[^+++rۼϧ`zZ,51-7cӖZ5fNrW_?DR9NRKB&h(7))7Mg[3k1vҔ<)j,-17ߺe bffV4quIn,ޒbcc;s~_#|K?!>! .[ogum3d evx &f!ճ'-8y4!s`930376=rNr̛}Y%]4ݕӦPƆ3wص~( /AR3/6YS&0kTvf[T&Q]%F3;r% c&J +ZO|;jըΆ6`ooGRR2'>!GsvD맭;8q lںd6O P(ojsI]qkk+jdz;|;wݤ_}wGrr 'Μv$+s3s^}%\c'0 ܻŰˠAo`΂}%^ ud P>%&&iVbbb\IךӰbBI۷ 11Z5IIiۺ5(`ooϝwQ ojsI+w?D@ 6fW_2yйϔ yiJIWs )My՟JqwsCcnݻtf岥ԫS7xgxߏ*yz=Z55y83kcii{ I B=Faw? ;;[:wlOԡ-_ɤiѬ1 t-qV|-=}۟~!&6ڵ8Cb:jTB*sۯ` .E/~lؘ;JG0`[tlߎƍyrWXY䮎'\KiF|b%Q[8r, ]ʵkWbRsϔZͿxV,{Z̜wqsq1ɾ G'w7WƼ3zoٌ`a0z`.Υ.?}:5{4梪ϥc1cv4BQO-+Tx2L{b{) ހ^Cr5FG`,ʼ(Q(CXZ[DJR(Bͽ;wĠdw\coz=T-,&'ŨVIMIųyT Pưwp"%)D%A*Jut>vPE7VXY۠7(QTEKIy *?YQTijj4V "nsJS"aimc&FA㳆<ϫ|Lzy_Q ysww"ʒ&dX<"&+dKیi1#/D0 쳬Z //b yiҤIݵkW.]J55Nw"חjNoߞM6e{-[k׮LCOBQW܊2|9vܾ͠AعsgΝ;4 EVٳs\]]DDDFDW0>. S0YY^EEQܹ3<3|'Һuk>S*V|+W0aW\!>>___lmm3f 769~cȐ!TVس4|V^3{dƍ,X$\\\2eJn޼ FK.L8KK?O?Çsȑ,=*+V>CQJ͛G@@mڴa$Sŋp&L`…̝;KcQmXX+Vzy~zz.3` KANS?uLyp")OSt:E+AQE SKquuUW4nXsN 4H9zhn߾XXX(3fPt:̞=[yW<(zJՕ]v[n)?|k111J֭3]ꫯ.](WEQ"##?rLuܽ{WQEIMMU,X·7*ԩSl,YDӧ(\xQ TZhn֭'ۢE %!!AٴiҬYL̎;w* (ˍ[n)e>R&N3{QZj 6LȳAɯj2%nRRR .(.\0{~ SΟ?7_ R肦eQ< 8@E4[ʊ1:*ĄxKՒ [(WT`K=_Ξ":*2SOcݺu9y$={dҫW/ڶm/,--cԩ1d^hh(&M" H;YfY__"K g:V^GdѢE۷4 cǎo߾>} #F~z\]|96WW^=OnLdvΝ;9sXti ߓhٲ%ƍ3~0`z۴i_o{wLz=!~Yܹs^wԩS/rTR8=NS~MYj333jHnܭ( QQ$QBDסKQb< a۶mL<+Wн{w"""رcZ*_Y?vάy:thg۵kWd鐒Fɲ.KIIҥKF18y| CJ IDAT׏>}0zh试U+{!&&V蘭`* 3G/7!w!&NHj8~Ié^NCM\\>,x90J^z?/ӕpttsssWgTf&U,9m RkÙ3g bݺuiX8s k.47ԻciiIjj*fB/_d~޽]_㥗^bҥ0j(l쉰D)N:c7{lf̘ct ˗/3i$73"GQ?9888`ee% NPE:PZINN&&&HpwwFcq,%1]k)ѧ.SaL$bi#NQT}:8qlڴ)իi&۷orlEJk׮L0N:ɓ'1 n[Tؾ};* OO||ߟz۷I,,r}]~~~TTIĢoT~~~xxxp5߿Ojj*zXɘ d_72Umi>t p ߏ l޼www"""ҥ .]b„ ̝;EQիǎc̙ƹn^^^lذ &p- Ό9޽{_H u֤b04iƍcԩ̜9HfiiIPPZ'''&NHtt4|giӆN:akk˰aø>xxxеkW<== ,X[neڵ+̙3Zlɷ~KϞ=1w\x ̙ ti߾=O6>SjU.\C%$$$SIr wIVZ{xxeѣ7C aʕܼynݺq իxW;wnzk{cbbu>>>888H"*?>Ν;Tr吪e8l N`08s |I I0NNcƌaɒ% >O?Tq]Ǯ]̏W2x`RC`0JRRׯ_rTTI P?""OOO(iJ p e0 z҆O%Tӥ Bh4,Y b9sйs"ӓԆ`0 \4EȩT2gnn^n,mu@!z!Nbbb&)) VKΝ5jTVM>m$WZMpt||Epuuݻ8::rޏ B.888~ _)VKJJ[΅j1 Gj"4^Y_dt:Y -VVVj?2V< ^:bjHR  %4$,"eؐAyJ+O  dyc;lk_}a#4l8Ϝc?iB0BJA2@n-cwquuk2c?|c<|B&O! 2$ ŎS ~}^-[y5=kdc_  "_š^+++2NX̚/O  PRs !Hzþ:2E@{YzHx"jR3U'>xw,7/v"Loܼ3-+8,nI导r!gI?|44;~!|$ BĢzJЛ4آS j}7<3^?| JY"G#GI BY̌nXkL-[+W׮D`+GزdPf*y{,ݟd(R!i*'ֵ- k55InWRժqq}:0ڵeϾ} 㽣ǎ.ЭKn?N PQ"ň!iA(=`kf~/gT`NOgW ogg>vw7Dqvl'PN:Eˀ,-,h҆9J@u_3uj*̞>Dس7ߤ{.ԭS+++RRS|8y"ԡc/Z6[aggKm//|4B )E/A\/A(M `g&oB^N\aU 7RhR yrY&$>|k׸?x׫-ϵ}u߬oq1[_u;NwFwkV}6zzm{2ܯU&͚4+}xukzN@fRaAҎAQJEcFهE\8Ty?Gh*x֭Dܹh"mbjj !vB ,IMM`0dI |l)K/‚}%+e(R܇?ʕ+q .̵>9::rܹb}GGG;V<;;;Ë4ϧܹqѿ"Oi*^oHSUhk )Z%Ƽ"mxu+u/qj*TV-8y2C8 p:^^9c|\ӴIcfN+W{)A(^RPTTab<:VLy7`kg9}4 k+x֯_ϙ3gѣGj*ڶm[|2֭#!!'Onݺ/|{:{5ףtMzzY[boϿleT?ݺ1k<Ν?Oԃ_'GGc/dvT[̜3A4x?6.Ml^d$=~kkk %FltP-{<ɉ(sugϞ=xҳ dOzժU+^Q2QZF~sw7D,M^W662 G+`0i*cӻųlICO7M{JTVxv+l&͛dj3s\9 =߬]w➕S'Mm[x{[TZUWw߬U˖``0@NvSԬMԽܻsW¤ {'T[%ju!K./뉋ښ+VuV*Udt/ӆc/Y&SLرc ,X@HHHݛ˗`رc;GsUVo 4xmt%u߲m6>Æ ȑ#Y}lܸwwwZ- 0o6_G͚5,vLwƍ <www m^ ~)/"D]v?{{{bcc4h;w4  _VZ?ٳg9u֭cɒ%̟?6m3fѣT*>L߾}ٴi25SkJ>>8p {:ubذa͛7gΜ9,YK)MOG^W( FI&KTb /_%.Qcq-ضm'Oʕ+tޝvA`` Vʗ?֙{;ͳ3t,϶k׮9%%Fce&)))\t(f'<<<_v$jfϞMԩSb1..?^ZF1dȐ\Yn.7lؐիW9?LK +%um4yz"mAc^*杔FQgy|(~dt388`|||8s AAA[WW"gΜ1+ T---IMM%>>޸Yqp|r&{gźb3޽{]?n:Ə34h}aѢEf߿p޽{/ӵMY|SWX(2 O$ t SJŃ]Qؼ;L:5♈g8wwҶӧO{>#::m\\\C"6g͚E^2xMƵk׊,]L7],.^;j*"##?~|&._LÆ 133CQvEhhhxUFō7a,[QFY|S×xl߾ |}}l`-BP=髉E!:*' +*ꎣk^L>jZͳVk7n~lll`͸A.]t&L`ܹ(B^8v3g4mbÆ L0[na0pvvfȑ;OBܷPZnmܸzm۶cƌښQFE`` wkkjΦ#S—{xxxРAc EܑOGFȘ=f3 `0|.o_%1!JU* +"{&*RF,Z-cƌaɒ% >O?TMȖP*VCՒD\\jJ Pl۷5j`gg5¢R}>$D0FGEO=_tZ lOSDGEfi޹%KXAJ61w1*\&W!B6$1 >zFuB̜s'аiK㞌 I % IzVJPz Cz)ŇyI$ToA Pv(*&jAL\7nd:9;9w\o߾ibe (?>gΝ7I|J Eo 3{SAehDAȕӧO@XXʪ¶~z+ VZUOLˬ[={rIvѣ2U&Mo2$-ՋS 6{_WWW:Ľ{xW Nxxx&yŜa7NϫjٳgS~}:u /噸8>C~wz=jN GEf=#ŽaÆ^:aj|MG^g݋FgΝ52Y?<_X/WF=`00lu,?/+5(ؼum{-G%Lgiu:>[}y? 7WW*/v`tБX8;;ܳ?PgΜ!((uZzyyq㼾`0zҒT㱵$\._^ٽ{G8ȫwޥk׮[3Lv D>}XhffiY@w{wNӦM,y3^Yp!weZ͛7SF2[_݋Q#GC`&1fif=AVc3Abӈ2]|wl:a>XN`!7n >>ӦӹӋ IDATmO']PTT*<ƹs./_L>}{ׯq5..Cff͢W^fsӦMڵkE../^LǎǏ˗iذ!fff(®] -P^ʨQq111^e˖1jԨ"o^ajLHll,{瞣gϞUe +B.]0֭P`wo퍋 NNKC+.z~EsgSnZP2ݺl/RZEEjiЌh[Nn"%h8JfЧ]ܸqccc7oݝt¥K0asEQzűcǘ9s&SNz7l ugggFI޽/} u֤b04iƍcԩ̜9`iiIPPZ'''&NHtt4|giӆN:akk˰aø>xxxеkW<==,L7..@Xv-m۶:u'Np=+$llyu ^ ls,?j,Y)))oۖƚM?evjתw߬ _~?סsOzU2q8iu7O? 4~=<}..t|F(?vTۉ.ij;q}E[o7ؽ}qH(#CGK.)m}Ll,vs爉BX# {` c&L0[еSMi=\xgcfffZ1cưdn/JŊ;X—xhZ>|Hll,7oޤUVe.><ggƍw(Ͻ{\~۾(n޾F]>իUʊsy)L gL`CXfLjtIׯW ښ͍O/?/?hX+Spqq{ ֹh^x{HII(۷jժaoo 䄜Jp :@^udH[6OHLt&IJJwFuA^ci0YVs7s: Cf0q'Fc\*bQzaa'2kxMwB:"117[Cw77F>_w»~=2h q&z/Vf 4𮏛+^|kk'}/Z6[aggKm/R!+2$]FAQOlS9}K˴P%meUԍhGz2ppݿ P̜9˗VOh޼y _iGQn֭߀JJ{/ɎeoHTt: 9c3Wey0<|yS5i֤ =_ó[ӳGw?{WU7ő 2'VjK,reb#Jqk9K4 4q 'b ?WPQo_ߗs9ysW'(zᱲSv|?w>Ǝޞ蘣xzcjj5WШ5ّC-tԁC8{suT4022*1u|vvvW8TVVp{ӝݧB`:ů'!_J I#+5cԯLJߛXg223 }Iԩ͐@\[Aw=dggkO$AC?wWm6&=I|P](%]Zx&ffw0Rvmj5O,s^L%+snYRY^[TW0}RAo`ԪLoo''4ˈ0bcmo.L[= GGG>Lk/oLvFf&;w3mPT6&T(S2 By70cc;Iװ#qe9a+d/>s&}>O5j="bfϝKNvc?@kP~Tڴ:JrJX PUC 2RjOFZ*v5 AwbecB߀&5 T;238{fXI UJI+ \7#zׯ^!lԂPKkDPHHZAxhT(n5j:89\.rͧGhdO+B( "xqK<_"E0Vfފ  T{XeWUUTU![]ʬ*_g BUG&AG ȽwO*Qh--5)wP [{GVwAAXLx,j֮S=jEZj2I Ez U޼;v+WWn[[[C&( EcZj29Y4if9R Bܒ&-<;CZjNKKhh(VVVU:+; 4+Wꪳ… \x{{>Yf oرcի >iӦUhGżypuu%00O>W^yGr5"""9 >_r'A0.&_smrsjRDsmR'acFy`XPPPBUvڷo8p :}j}nj3077gܹL<{L2۷s!gzzzlذh,XPL,޽Lk"*Iv\^r2MXXZSBް0ZnMF1B޽nnn /KsssG֭i֬MҵkWq| O?4;v,ٳg߿?-[aÆhLo߾@\\ 4Ą͛7kj5ƍM6hWWWOs?_|wyF1fV\Ifhݺ5/_ 88ggg.\ȸqytޝ#G7oLǎۛ`Kݸq#l۶Mg_iWZ?}}} ׯϘ1c~: [[[>\bCϞ=:t(!!!x{{L4@“'ThĪŞ}T(ҥ ;v#G~3f{n|}}9}4`Æ 3g=z4&L^z:tǏW_o^^%KqFbbbطoǃtb4{배 ++G-/R^=/]X^zUOOŋd8pQF,YD4FLL M φ1666rA2223f fzg0 333={6cǎm۶ZAպukVXG ۷777|}}Q*%),[d>wɓ֭[1߮]jŵ5}!66VАz;P(h޼9#FȈ͛kt!=z`.mڴaԩZa ̜95kȑ#Q(=zTwٲeвeK^CAWur%lق?fff$$$_L0ccc?~<siy “(wmEʊ5k0`*dYT<,'Nӳ.]P%LJX8Pb믿fժU4nܸĐyff&1hwwwf̘QoOݽmW\yӴmV/cǎqEo^^k׮eСjՊVZqYVZUƯP0n۶nݺѽ{wJ I-p+-+j “*%)&vw}ǖ-[شi%EY՗6lӺvGѽmll0aׯ_~ٟ?3&&&|8p ڵ#**cǎqQFPڱcGm;w[k[ӦMٳg6_6mb9rh9wv$vYW?P(ңGAxח"tC҅]RSSPT3i$m ڵk=z4W\AVcoo|@8ɾ}xwx"Z*&Ǐ 3k׎LV\IΝ'&&h_ ! lLLL޽;fҤIdeęQcС̟?_/йsg`O155eᤦҮ];v؁6[neܸq\t{bff7oYѣ <pvvOO믿ݻ7'N2dv⯿b֬Y+_i\\\W^^zz<3:כH޽9}4GޓN/ӫ* .]VM}>{_AXhV*T*ǢrU tދS[>U'³-K<̞=  X*\GAAdffrEڷo/7PiDFFR^=055Q w#@,bVp[D>pWz!˖s%!_xsqwΝ;G~PTfٲeR` 8yAVFjJYҰar!^4i .DP0o<~ڴi寪_ CJ%ǣq37)rDRxJwƍ\|ڶ!,b;V.F G~YB$RёoI >z!`gkKJj*{`?+xDkIң|;k'OőΊ?iΎB7o!==;9{N=pt$h,II+1bڀ" Bv[*,cvԩ].:rb,=w^6}|i[?+Wx-n;;;hi7jT)y8s\^?cmmM xW116Ƚr=nQ'JZ{{9_Z4o;R#V$aVJN{פ^O Xg –?s{rAωho=Mn`U,]FXxϴcg=x09H|9l߹z>q~9pҥ{^}hۦ5wt20Ч};N:E^~~(*-XH'ccF~<n _$Wxcc#~ˮ]ؽ{7'N'liqz^ZhxwvqF JqvyW^,YbHz]tԑ.:accssi4)t~~>t*9ujFѐo=)Ta(S ½?066Z C@&`gk[~33SlIIMHOG`fjZsٷ?zXLMMIHH䏰?h4vB}BBx$5111!՛^ɹ2ĒffZqtBT*+4ޞx!o:'r>ӱAW?f{F2quR3mwR\V=J n^ϠP(חRT*%++ .о}'S J[d`llAEFFꊥ%SBNOPp)j0Ww+b;L/Ҋ9YR=BFN6VjWAJBٱxc W^{T*v5HKXdbPC BAx,TibecB߀&5 T;238{fXIBC___rOpOHW.V IDATW?'wPKk|"UTtԉhV5x ;ƕ+WٳwYQS]?Lll,Փ/A.P4.䌃S`.aɇ<'Gd{eObZ- cEN\\7nՕ:Ю];y/XYYtdddV;v,999\zÇ3mڴJ֬YͭRܯUFżypuu%00O>W^yGr5"""-[AfK_(2V*3gǢEԩNb899Ƃr_cƌ3w\&OHGލݻwW++SLa:tHC\OO 6͂ GQ~ <*}V;_U [~ 8g۪uVÇgZдiSV\ɳ> ޽{qww'** pss^gԩS[[[Jٸq#l۶Mg_pp0,\qE޽;Gy`%00777lmm9|]Ξ=Kiٲ% 6_ߟ(Zfܸqiӆ-Zuyr.m>L͍?,={dСвeK\]]0`Z?}}}ׯϘ1c[~+y+m۶___vqmժ[fܸqCPn>W4+pjF@3Z֨jR,7+((v*kե-|* JyKߡCMzz}yMvv&44TӺukM|||~ tяּ|f͚qrr,\P[4mTsԩ+5/!!AٿL&""B?Ԗ_zz楗^e.xyyiN<_HHCRsFFFJT*57o|ך#F׮];Mff&&&FӫW/Fh{իT~9U4{֤h4&99Y/kt׫T*5YYY3gj5PٳGy@x pN=` &[Z)*5>h̿.T+,,stQۺXiii8::V5̙3ñ.gٲeвeK^שQCw*=z0x`6m0uT̙ܹsد<={6cǎm۶B2 [fŊhBǷk׮ڿӧ:˛dzj*6m_PPccc?~5qРA:խ[K.e7o Ǘ=~ݻ:X|9...w^JB୷b"L Ƣb1yrY.O5Zi$%\Fv5E999*Ν;Ajj*666ƖiZݻw~׵aXv-^ו+WXj#Fuww/v;˗//_yr }bۻt933/;wjRdРAz/]rf%,yֶm[?_R m۶ʹs +1$]Zw| *Vwާ~ZXI1-5,@yܜlZannI!-5Y<166Аj׮>{`޼y~zvI= Nw>M61zhF#|}} ;vhGsb-Z+O6lHll,5yי9sLWXqQ5N:ѤIC QQQ( lmmѣSN%!!ZjUHsMgΜ)ő|N^^^WTڠkpM^n.J U+SRù6״FE0sL3@CѐTX ~NHH`ɒ%%MOO???FM=HOOٿrJ5i҄l?<ÇҥK|rϟW 6 HLL$ ^̙3F!""ٳgUW_}?qqgb <ȋ/խ[ŋӽ{wZjEll,Jg(ʈ#'--Mw-6eZI׻~zN<͛7EBzz:"+L,,=Tp^/^ԩSˋsM;m4֬YC&Mh߾=Æ ӊC/}Q'OҼysO믿ݻ77o2]vѷo_6lؠ駟Ҷm[N>}8u;vim*֭[iժZbͼ更jՊmrڵkذ!k׮e„ lwwwz-zB@@nnniӆ]v1x`;m$mڴa|GZÇem Hbb"]v%::ѣGk4׏C1i$1O^yzgѹAooҽ{w<==۷/mڴgϞŮ bbbXp(Tɕ:wkUAEVh;VTj5Gir pܽ}U7fϞ}O>jn޼ɍ7븸PfM)HJJҥKԨQ+++022zzzz@ p(ÔELu{[P\ LEIp-iCCCܹsk ==sakk#^֒V- £`ҤI̘1'?P~BCP```1XZZr ÐDZccc UdBJrZ&~T:@ܼѮ#Bh4(Jmh:'',nܸTfÓGzz:{P0 y .|AB҂Ps!ƒS.QOOCCCrsst.\(6ZJCyCCC155 SSSm8:a 8RFFFXXXH%EEAa{k_F{m(B2Y HA<&s! \L<FbrAxD!i)uYv>z!INI#zn]RY;ˣsDeԯ]Y VAD0VF[krF. ^v-L13Y&ԭKaz:$$H! ~B;>NQnmo˯1oַ4l GC߷OAgJ. "vEgdoZ:yyījjX{^aXԗ  Twdij@nn. ԉhԠvRDRVAA(@4RԖӧdHPJF͵AOclSGAѴ0j*j8:s4aogGNNA=w^[f<ΚSqbORWa Pi-s˛"/w&3$(+Wl9ޞhZ>s,by.~Q(*A**1fx^JrRx?4l|x ۄHq.[-d/ b@AEW -A4XUyN=G-gg AS񿰛(ƥWt HMKceJ?J}.AAPfO4xw/zvAAB-5m^IAbT:!i111B( ?~ 6,!FA=xxxиqc^x+"""t9B׮]quuI&wߕdff_!nnnY`V,4mڔ+W&Mйsg |G|gܼy3;vooo߻w/DEEホnnn :֯@ܰ%гgOJHH-[Օ]?$$///<<<ٳ'ѭ[7j/,,֭[ӨQ#<==߿?#F(S}888'æM2e 5kd|K{^Gpp0vvvOqeU*bZMZj2ׯ^N=)}ZsEj8BBQj5nnn_VPP@N Ϗ5kzj6lEprrٳgsA֭[۱cG~wy~W}_0vXj53fo͝;HBBB ..@j5ѸqcvE PT|78qUVnMƅ ؿ?7o^=ҞWѯ_?~K&N(_:“)*iJhecB߀&5-T;238{fXUyptt,!(J/o&N9s&k֬I{ȑ#Q(=z1nnn?}}} 4hQQQ:~ .dҥXXXФI1666rA2223f f*W c޼y̟? &RsqPWF"V°Bq3R'qI- k;j4FM E-,,~VTtܙ RSS!66V$9>>ǎo߾`hhH~~>Om۶%ŋ?55530铗I1͛˝H֯_Ϛ5kڵkL>{Lsvvf( ڷoO+qe)ZN v`,N889KEr>eObZ@ CCC]6ٳy_=o'ƨT*uZ`bׯ_‚ ˗/ӡC\wEҜW1d6l}/WAxwVefbbbym](8sLh4$%%9rZ7oiܸvɓׯ/^nz*&L… :i%K''N_&::,BCC;wn1kOjjɓXZZV=#==%KGnm/#YKZOO[j WUm.eVe"LJŋ3qDΟ?mر#}լY3p@011Eo:-`=zҒQ~}sO6 NNNNիo֭7K.w^022b899H޽9}4Gfڴih4Ç4iǏNJbb">>>[X+TZ000sΨT*_{}T*9|0> T %]8BДELu{FIWj FZZj2&_#;+Sj[VXXZa脭NhM:^zIa>> /pϴS@n_>cƌnv޹I`` nnnrỞoƍmwww|}}ٱcG~!!!xyyAϞ=̌nݺ,yf:v숇_r|'İi&LB͚5K>&,,֭[ӨQ#<==߿?#F(Sj5ƍM6hWWWO^bϞ=Kiٲ% 6__gyE Ύ~I޺ -щA}.Zŋ°(͚5ݮ];=Jǎ߱.ݠ۷SV-6l@ztYXXŅ pww'<,:>yyyk.4hJoĉe7BA.]ϱ&##N׮]~ߟ Ҷm[j5w{ƒV (B -- GG I{Μ9̙3EBݺut[l333~-?#˗pB.]M4aĉқ9s&k֬ CCCFBѣZ/W^%,,y1|&LPBCC9x 3Yf]vՊJkkkCllٳ;v,m۶ ֭[bŊ,>(d?~ĺa6weyٯ7{t쯥.{~rjת%[XXXbUTtܙ RSS!66}}N{ݤ넞K۶m#44sVbH~chhv+++uLLL055k޼yN>EwrEtgggoߎB}#22׳fvӧO{sfff_sNT* RɠAtN8[.]>(D__~ZJAXZ(BQ*066Аj׮>{`޼yٹs'=z ,, ;;;...DEEP(GL:j=cccn޼IVV:̙3:~*dտXzM6eǎ3w]߸_AAAm/_C~8p :3g+HIIkذ!4jԨ\B B\\Æ o߾ c# Ik]=iszU>̙3ׯ΀FCRRR1_BCCXdIbDOO???FM=HOO/¸xbwRުU+bccQ*% 1bIKKӶ:X&N/Ltt4YYY2wbM<~xU&L \.ڵk'55:|I,--̙3F!""ٳg;a?~DtH*}ֈ^d qqqtM޺ -{MTt ԩ]O}{(,Z&??N1055eڳ 桯Onn.o4zv{9vrH IDATs.PŅO}H&OQTC"'9% |Mu/4t;Ƚ%MRxJwƍ\|ڶb>>>,^'rym [ǎӧi bԩ888D^ERǯN:>^zi3@xx8Jɓ'cnn. <_qoA3,bF.((XR8I߅00T{0cHIMeO((P2o[#>׫˜ t 3M[RGRө?aǕXXXioxablvlRx>z=mޢGag#077gu֭\NZR%pd,[A__"HJJ߿DBÇ.S fzz&PP@YTo!!*գ;Mj5ʿqoۖ x k6GE}F~KWblO>h {>|066ք ^pv\ӉN߭s4nܰXosf>#6tf|4=Gh4Nm`E, c[2䄉 \|F'QثR)ɹqCѢ=ۅ_L`ܨp-"i+УOsJh =#{8N^^]/$j5O5jݯW -!iIOOgϞRPP@^J[n* "ʠ/Rr ~RF}V({>K  59R筠JZB!Ubcc޽{ A IWe1T33S"/_u ;lsn;M.<}LR f&҂[ZΠG̱cOo I "+O1J*۟ xWXdGV~=Sqg@j3W_~hS[βU?w?,[#7ܡvvy Dlsurң|;k'OőΊ?I}AA#wLA!J  R?>9Ϝ437rsyK?ʎ]:rDgK,w9~$v:ԩ͐@\[Aw=(o?|OwF}1^E~"h)/T*۷Lg֖Ǐ? ++bS<.lذdy XPi(EJа,(p^ݓ^eܪ¹4oզUWʋx>sqtЁvk|}} -ߝq9Fżypuu%00O>W^yGr5"""9SN,[ ;wn֧.--% ?///yA(iuY!Ѡ]RՇ3gǢEԩNb899ƂrYdʔ)l߾CVcÆ DGG`bbnK\)rHIIaȑݛl'//OgkAFa/&ȪARQIE΂ biӦ\g}{NTT>>> /pϴSiSPP\~}ƌjs%@ܰYN6nH۶mqwwח;vٓX֭R7ocǎxxxMpp0e-{'|BLL 6mbʔ)ԬYi: EqhӦ -ZՕӧ;?;$''֭[ӬY3hݺ55ӓ3bĈ;88;;;~'y c"O(j/jaQ5k]v=z;cmm]oNZذaCYYY\pwwwÙ6m/^,tRVn^uֱuVIIIaK.|X[[ k׮Z6mhߟm۲k.rssu#((]vѠAT*| 'N(cccIKK#..NLAS\[YE$-- GG I{Μ9̙3֭[K.e133#!!27o׶-_< tR휥M4aĉқ9s&k֬ѮUmhhȑ#Q(:¨"z*aaa̛73a„b>q]vՊ^kkkCll]W_}:?勅hfJEΝ 55bcc4fݤ넞K۶m#44sVbH~chhXlЉg㪪=n"w04+QD%JALqz@5NL2jhū5/eh#D4IQ( UA9e}z־}:cƌ7@"BҢ򄆤Nrر?~\דuvv֙ؐGlllƒB ((Yf@II1&&zMff&F@j 3f 88bc6uTdddP^^NBBVҫoѢE;V'իW7ok\4w;pwwGT"I{aŊM>m۶LQQp{},,,ŒbccQT .Rz  BA{ Kn(ǬоMsF-,{%!&&H.\ {|}}5j%K #** {{{ M2tPq:u̙32uT953999l'&&2{l.^HZZfff{nylޤI011Z-3b֭[/AAAX[[ŕ+Waz^,,,ccc 7۱aBCCYp!rEFF@VVBALL r}NNNV OOOk$''hXhQ;A%j뫫).*8vzFh_Цz9;ac&y Opp0{xLׯ^&%h[XYYz IEJJJ1bjL-pHLL@B%IB$?YWͯXW(xjnC9$5aQ@ h{ZK˰%_`<7a, q$V(lFAk5dۊZs;k~cQ 1 Y 4 V133YAӍ R/UŽ;(((xb4z+LJa(IEVp2 6%uo)rrr?J͛tڕA1`^yYnС$$$-WR$55Uo){yXz5]veɼ:uk׮g=777LMMݮM65y!4D}[Q3`CHHa06X˽rؙ\=D/E]fE9yVFcVVAAA_^z g2qDt FZ,/^LJJ ?pgRB`ǎdddvZ=cOi.2sLFIEE*d@Ц t涚m-').*467k׮E>3yMᴴ4MFvv6>>>vGGG~z뮨Ņ7n0h 'RVr]t7dɒ%譤2ydӹ|2{O>uoΝ|GTVVbooϜ9s۰a֭CбcG.]7|wݻwGQVV#G$""aooϻΝ;ٵkgΜa̙kzIII̙3b,--ygyg֑k5FܹsINNܸ͛qiӦ{uQ&''8>s***bѲ5kϟ^zaaa7Ua$IbQYY'Ws՗'j*|MZm cwO9vVҦF;RTpM7jrss2d޾=z /wBNӓÇIfffFQJJ NNN8qB6k077SNNrr2<*O7n$33S[e9uZtUVw^ɓ'YlӦMÃ$Xܺu+ܹ'Ora͙4i\WSoߞ)ST*2d666:2UUU}vΟ?Ozz:}zzipgINNĉ9rD6SXX9tVVVܕ+W7n9qYYY̙3}װ~j5GԩStޝ>NdffR\\J% m`FyVB67Zp oqqq[r%+W$99Yܹ3/^o%88333ɩS!>c dO͛ґOٸq#w֪޽;zEGG'Umdd̙3100Y+%z*III^5k0o<=IHH ==R"""X|yꫯFF"33 eaggcŊ[6Hǖ-[fwً>i$;V19}t}&-ZZh^i\g6VϏR&33SD'\ߓ@vv6IIIu֭[M:]GԔvȹw9ع\zGGGRRR000`uN"R(O\\*k׮tR^~nGYY>Cb``Faʔ)n_:uit MT*ٳx8m`v###ر#JCzj ƞG||<# $lmuvvv`ccC@@QQQt}6XXX~YYY:rZsqqa޽:aֆ9@] \~sssm.]bРAP(!!!L0hϷlYݺu#33{Y2m4T*ӧOg̘1 "DF &::crq'??_Oٙs^^uK f͚E@@%%%:;wLLL ݛL4MVf1c2N穊_'##rXj^}-bر:9^ʼy_b۶mSTT9s RmGVV(J$IbϞ=X7}tΝZr ,[IuJbZ$$X.O x(Cdd$.\x|}}5j%K #** {{{ VСCuuԉ3gԩS0(Kٳx"iiiallݻy&Mj5DDDP\\̈#XnammMTTW\LJ۷y <IKK`_"#y}z/'/mBҢ?qR|2g4 Nʤ#N\zغ=`jQ[j /]&fJ6[Õ+:ZbffLsaccӧ-^Dž;vPPP^iiiwW;|@ſݯeđt),Ky)#^rX90/<o\|Y/\q|Hڊ:i' ''?ϰaX`^CRVVJT777$oݻwښ~I{5T˦Mkq5ŋؗˀh޼y̚5KV#J- 7kϋn?q.QQ;y;~?O_] >)uҥTKs"RSpMяYYY~z^z%Ξ=ĉqppW^ejux:/^LJJlVWWP(رc]}}RͥBfΜȑ#@RLUU<[ ڢQ- ?qTWKttrwG~L+UJ9\[رu v;vZXpqq>cȐ!С;Ǐ7776l]QQAN!((HޮT*Q.]v޻ɓqssFg{ٹs'޸3tP[܆ ӧ1L>|Rwu떼z=yw9y$vb>>Jjv̟?[[[K<%Bҏ>9q3ny@/2CGӧ( wÞ֩?;<3v9"͕ у^x:|L233~8q|rN:YA IDAT;3nܸLF]ﱶnʖ-[HLLԩSdzj*uVZ޽{ٿ?'OdٲeL6 [n%66;wrI>9&Mj^Ã3eJ%C FG0oIOOO>\~]O/ ?̉'8r/5xyyms!d+W0n8s 3gaj9©S޽;|^"##$--ӧOcǒb!33b=U S6n({ƻwNdd^}kU1sL tn ^JRRWf͚5̛7OOkkkHOO/_vꫲdeeŨQ̬>>&Mӓo-0w\VXb!>>ӧOy;<1!PnϮЫgY/ @'YH=nj5'e1+֬lmys8\^xNtB̓NOGii)EEEX[[٤58@IIN.'!!l I7ĭ[022Rg%:rkNGUsν8::ǧ!55xPT\vK/w;xٷoZ4 SL<ov/ԩS>}@RR:9~8@TTyyy899w;n߾Myy9:_VVV@dzzA\\\ػwoɺhGKkׯcnnNXXҥK 4 }#$$ &--[(,,lw֍L{~45sرc:\siӦR>}:cƈ@PsQT,!,(g)hƎ3A$du&( b֬YPRRa޽{F@j3f,+++cԩzH^u222(//'!!UVշh"Ǝի̛7_zi.mFpp0EEEw̙3XXXxێ,Q*HĞ={Bә;wNhʕ+R+֭['NOOg:pgXT*ÇV@<}Љ@_4?>>>Ʌ d/Fґ]d aaaDEEaooiZ36SN9sWWWN*qvv&''@Kٳx"iiiallݻy&Mj5DDDP\\̈#XnammMTTW\LJ۷y <HNNFѰh"ڷo/HA}&-ʻŰV1}5zVz sgRlXBAܨ$҂ɓ9vM~ 08 ܾ[ԵVV}d X%P }򡡡XZZy\رcOF=Ҋ@ ֶ( 9gJEeŜ?3f-m0~x<<߃\z* 6-100hѐtVVAAA_^z g2qDxWdYZ,,^(FPc222Xv-}ށZe5^ 9s&#GJErr2UUUriA7@亲wpYk!92մ54k6`l)y֮]+...|gr4MFvv6>>>vGGG~z뮨Ņ7n0h 'RVr]t7dɒ%譤2ydӹ|2{O>uoΝ|GTVVbooϜ9s۰a֭CбcG.]7|wr޽>29r$<^~{{{}]vɮ]8s 3g^ӓMJJbΜ9ciiɳ>3VZśo)ꂶ.[YhXv $IՒV4Vܾ}Y˭[TUUr9Fs^FjRuuhZgϞ4hTRRҠ\ )!!Aׯ'3`L:y(yzzJ$I˖-nZg!!!O?T?\9rTXX(I$Hs+WJ&L%IgJ WߨQ|I$G}$?zpݽNUVVJ:u%I$F#-^X nr;~%%%ѣ~kaذaܹs7nH޽{yyytZ;z,ٳG|dhh(}uxb)""I˓ HF}H3fx~ktSZZ*yyyIZV1cHKAKLn@wY34`X@BVo0ՒFiҜ/\iTk.y -Eaa"cTT/+?A知ŋKqqqҠA˗/Kt6=<>>uHMM%>>8T*׮]cҥݎ2}ۇVFÔ)S=ߛ/0uTV;4`hh3~544l? 3g|_}_"55NYRIϞ=CHDP FIR\Toר(m̐Ķ6v-1###ر#JCzj ƾxٷo$%%ak;ٙǏc`` DEE}۔caachdeeiZ Сzw^jNjk\177\tABv0a>߲e M:nݺs=,s ???͛ӧٷooFFFuN6 J3fx $ Iws'$"V{bn9闓Ǥ _[u闓Ǥs->1--M UWWKs֭̑[#oJ6m [FI;wJ^^^Rqq̮].]HK,ٽ{w_\/$eiԨQo&'N(=S:!ݻwK?.Iv|}}B҉/+WHt…&9Yb!hF#%%%IMjG^3g},[ %WWW˓BBB+Bw[cQXX( 4Ho~:n8KSX244D htwI IxoTӽj*oT3\Цhނݺ)vO~~>4@;}tGf;v qO !P'uEShn[~5(/Jcna 1E$()<9^cʲe˄(xx$м##FPYYZ&00wyG(F) *rssk׮[u'&& kfO cmmMZZPٮÇ E>>Jғ={6^^^Ջ]tR=;۷O>~ѣGϟ-_~xGaDbGglTWW+ѣ ԩS+%OIIɉ;v3377_wwwYd z7n[}vpuVZEjj*Jɓ ))I;vsNPլXI&}KCxxxw1e9!Cё",,Ϣj_kN5F/5DFFAZZ Ç3vXرVVVBrr2\`ٿ?:KQ֐Iqq*0QMذi 92䥗6Fܺu`vWf[4(&[q1zf|EdTfϢsZtСE^r%{!99NCs\xo`V^M^^999u?XZZwrK>塃k_ Z#&&&GǎQ*:tիWchhg,6pg߾}~ggg?666E^^NNNݎ۷oS^^[ґjxV1cƈ] x<:"_J~уS,K.S-Ỉ\o[`7n޼'_^ͧM\/'c رc9~񓟟'3 //:%BAPPf" =cLL wfݛL4MRC̘1`eԩSu&qu:U[hcǎAxU͛ǯd4۶m#88XAkZΜ9}W_}źu,X@gOVV(J$IbϞ=XtSRRBll,*Ç@${MJ,p 'O̞/z9sss>]{ECwBՒRLJ"##pIeԨQ:K,!,,(qpp 00P6PZ-CՙЩS'Μ9+SNS8;;C``l`_/Itbb"gŋaff1wI&abb?j[[["""(..fĈ[___&**+WPXXXNaa!8::2oH/-jӓE,\O??l}6|W8::Z IDATaBCCYp!IBBYYY <CCC 111xzz999FâEh߾wn1-wUZ-3Uh5'bcmȱz,^H`p4ʗ1rX<^cb6FK,| i\{{T*14Z| O&O̱chZ x 9"8 (ZE{w[rNG:lR)++'((('NfbjjJCncTk~,VVV\G䥁Xj /]JRHJ8y*TUVi!鶎$IDEEɞN`ٲeX2Ҹwt[uͫQ7|#ޔMR4v7nĹS'Ν 1ؘkrz6ּ9~.w'3Wל\>?AfO֬D|gֵ ڙ29z§ݍ% z_B DII #FZM```'B AWuI+o8&4m h41NHH d~W3@ h!8F7];$Cҏ&p0 @ <6}`Ĉdffbffu۽{7xxxзo_ϟϭ[Maooϻɓ'ٵk/駟I~zڵkG>}tB6lɉ],x1͍ѣӾ}{ Oׯ=zY~D~xdܸq̘1Nckk˗_~)nJ1E̒P͕ Cp)|}}UOIIɉ;v3377_wwwYd z7n[}vpuVZEjj*Jɓ ))I;vsNPլXI&}KCxxxw1e9!CDir[XFsS\\LZ~^r%+W$99Yܹ3/^o%88333ɩS!>c dO͛ґOٸqVz݉ԫ/::8ye###fΜ\z$V^͚5k7oL˗/ ~rs?:ם!44 `ffkkkHOO<%>>ӧO@ubkEB6OiqOX:Z- '''zVmRD'\3|pIJJ3$nKKK햖șҮ];9WWWΝ;f)?svtt$%%CCC({Xk͑#Gػw/Æ ᆪ~MG˗uŵ_ߌW_}\HMMҒ8&NH߾}9qDu+Jz 63=$mimK|Ο;bie#zAЦ(+-<:88aimb111Ȉ<:vRСC^e;#>>}@RRpvv`ccC@@QQQt}6XXX8YYY:rZzwFfGS{D?&??P6o̶mdOb :uBRѽ{w 4E pu ]tA16m*ӧ3fX?5a7>߃\zbLmaemKGg{i Z,$ wBcǎe͚5xzzO~~>:u3  //ɓ'띟B ((۷oFsμL6 ޽{Iv4bƌyflll(++$H^uV\s=GJJ VҫoѢE;X9D~U֭[GHH]vm^ JKK9x ֭zkb/X`n*!==>m6aj9s =K>|x`lXwpYa47A3|tƺ=H]5cKCLL \pIeԨQ:K,!,,(qpp 00P>?VСCuuԉ3gԩS0(C½̞=/޽[c8i$LLLGVckkKDDŌ1uKPPDEEq|||ؾ}W+ ),,GGGB 饥puuCCC)..KGˋ5kׯ˷~!@VVBALLC~䄡!~~~hZ7FaѢEo^<DyEy-Jn1+IR$I.(0ֹ.!??`D傇ɓ9vK PpP-Z5nQw}Hw+f VmEg5/Oa,=%{:`_l0C@$QRRˆ#;OHLLJxkJqQ\LManaml:x̓5iiiB@8ż ܨ(鎝yCMQ\T@~%nVghA7knTӽj*oT^)ڷ{/T?@(AkF!׬wVյU5Ţk<ؑJ4ZX N6W4Z U<ؑkuf "%%E<@]=vl{$cQ^^AŠ}׈֭[BQ@ xsy,0Ǿ󾀃0ܸu$%Kgc||XOGWc`֝;zN0zlY<} c<@ b _2?_ ***Nq_X FYfЩȄBHH5x(¯`oqѮøu+CEY{@()V4]dT4/\}}=5Gi(..AZz:V.cV2Wa03n]ZPRTĎ~x]VĢ/|>s?C2z{Ν;GG!I4KC?`@(ǰxGC~9_.@=`ddKAqq1n޾!1>ׯs<5[3a z##C͘#C<~}} (,.™'ւ~Gxč[%1k&GD^=uC!4$݌^@Iq1LDyM~fHNIz"QRR"*RU=zܼ|EiitZ_5S!f,_@cD"!%6'B(`$ QPX3 ^+/@,A$_3uPRBJ./Ĉc'0 oy]:`߮ѡ%B(nc [Kfl(( 6.'$)z6!B}szUeT~Uyt҇ nݹSǐ+C-NC҄B(`lPHhjhavؾ)SQ\\[(). :¶Ir^G}Aj26LI_␑ҒRtEQQN><\|\Fe֑"W6p7:bYx$]?BH dCҒCtdї}Lzg(c<w" 4[7e{k7CG/@ >6]98x0c2xP=E<>1o/^ffAWG6~I!ŽS Ly3qL&*`PxP(Q_0ۏja>rT!B)(p$|[o᛿7y u6B!2UתSa7 *BHCQ{Xo1U~vNY3!BHhHB! k BZ&&B!u!iB!2F(((@MCEPUS'ZqQ!44}Bi|HZWrI ]NTB(`NS["=yjٓPUӀ.U!ɇ9z1Cvf2_"Y<iWuѹ[/tdCC҄B(`4r8zF30rb\iv~嵬ʀBځ[Iy)`)Vu"Dá>&oƌx!RSSq%XYYv͛7ann.庻_E\\wN;mϵZMT2V?XG˕$r{jҷŤ$L6 ӧF5kҥKnݺΝ;sT:SSS*'uuudgW\vm՘cCGG{χ;fժU022%B! &&q0嫏ʀCWW&&&޽;@^^LMMǏ6m\.<==k޽{YYYw! uu&ͷ)=zqqq0a;/̙3իTTTtF/%Kضؾ};;ԩ۷/q]|(++˽#1y[Uϧٳg3wޭ;v0&&&֭[%;991.|>'sa?`/^̾k3/^`3yWZZȑ#T L2Ej~cڮgØ1Q- +++"wu$%%1unZ}M,@M&f㾉Ztl唓Y/QXO_1H ]}tg{+/\{Ϧ755šCr9ocС```Pchhh`PUUuyz}WiеkW#kjw>={3g -- ?#_^y<f̘JJJm޼ I&ԩS1c9x8;;#==7nWX0>>>Xd //q-L:fffظq#ok׮XjۇUV!%%.\@ii)vM6a ӧOc˖-χ\\\l2x<'N@xx8?~ .E'\ɚB ѣaӦMHJJB=$6gDEE:d0 Ǝ=z`سg0|pݻWr]lقa5_tt4|}} b|Xv-444… ѯ_?\p`ʕxa|Ҿu{n=bDP(dDZW;_e2cF(= "ׯ\ח?jJMMe&LPdMWƀ?XV]=+=fό;VB&00quu}Uff&pH$bfΜ|7 0˗/!C0.\J2 0Lnn.3a?d_///g`F$1|”1lہo>-22155eY1Lll,3vXfРA 0ۙ#G{}Ҙ:0k֬aB!S^^ά_YhTYYYĉƿbov8p3|pF(霝̊xDD[K,aΞ=ho{ٞlcNv з%RiW4з%"';ia76###J̋Gyy9{Z+k9r$pi[S+m۶ Uݹs0(**˜1cp&[8ѣdɗ ((?>"""i&56q!..ݻc֬YsssL<:t9"""$ oooظq#vڅݻw׻nݺ*))aŘ1c SSSvD\\N:I&H=cǎ76n܈(,ZQGYڷlMʡ쬗d%%9vI(BX"D'xm]=0 uuuD"lhkk#..N.Cgkk0bΝWt?`裏4_N#PW#&NXkC",,jχ;p~zٹƃk~~>;\r"BCR.nU󂃃UeeeHHHھ+%''yرc`˖ÇK\.K޹… \ .֭[ɓ'Kx+WĿ;tܤzOt]vE@@D\\B+\բE憜gKk֬D(?<ܸq>}:|}}k +((9s #w{h޶CLߕ$ &BkÆXz5}զ|1k,|鼼JEUO}aȐ!Ry'&&bDHII۷ +++n޼-[ 44/^]`mm]ƍ\v ͛q1<.]<^(k4z把aÆz盟;;;СCppp@RRbccLv8pwwGaa!ooo]Xj,Yx̛7~~~s=/؀믿 .\l!<<*Ν;___خ:tӧOW;;;CCCx:t###C_5^ ^ݿ|||p5\z;vԩSe.u놤$;@СCeYt !!K.ŦM0 &Oh]m3g Xlrrr0f ٳg(6CII prrBNN[X|;o;۞%7S` Lϩ2qLU~+JjECB!X;E x| yBBBB34;w9c|-}=Μ9OR=W >@@XmU]!b&=.ILLɓ!L7x`Qz144ļy GGGaHqU_mY0D"<- (ٰE$Yv-===8ף=~Xڞ5Q#PH!!iV#"p0:p+X~--MlX^à4xB!@YqݿQ\U B(`I7֑k=22iJj*L{uyGPB!4H$B@!6֨1B b _2?_ ***~N9wpes:ΣFs޷|"xr$ffXfB[ BQ~GOYy~=y|&&=ah }gaqΜ=O?;}&nܺ.>F}@[[ nO9x*SSB!5!V"==b֟B]TWEݏD"!k~c`jQRR"[B4@HHt ]歠yB!!Vcll((  :CUUy%wu@<臆 !P(zN**p؅#''!G~fSM}AH,<Zs-557B!@ IWkZ\޻K"G|󄗊;eftuiS`^"v-J=BiaǩoгB! Hϒ&R@-?Kn9G!z4i߰EHBHġ* B!u!iB!c՛Qk)~3Pq!iBjBC҄BAeUJ\&ѐ4!Biy#DM @,#::SL֫bbbsα^| & ""sȑ#055X,Wźȑ#8~8ѱcGz ޸}6"##ѽ{wڠ !)(p@qU (Fky48NM=#ebX0C7lv~嵬@ǃ6N< {{{`ٲenp>UC---7qqqR<ܹv] ߿8p }1w\t+VÇajj鉸8:u &MW[nסY񹥧`t֍vTBHdcՃbdK:SHcST9֭[ ѣG/_b||wr D"8B!<<< ?~ ///#Fh2,X{@ H4033z =zT JJJlXISSB(`l@@AAA-5(hl{_t.333d=ÇGRRTo&fϞ?۶mccCBBիFLLL޽{˭Ə8<ƍ'K.0|zP^^hhhHO>!]w҂;v nnnH$ `[n8y$4J}O>\.Ksey/b I۷7n\.HYf  ATTƏ_<-Z777T\//BC02 N9Yx ]QЄt:K1HR 4NZΦM鉍7BOO;vD`yprr7֮]Z^;w|}})))}6TUUѡC>}*z;K"55b;v1eʔםLMMccc׭  33@#ape̞=aaa})^ŋB#,, UAe%{UNcVHŋ1d ”)Sh"tO=,--1x`Z eee"b1|}}ammgϞؼyԲ/XXX@MM YYY1dI<.={)S`011{I;v쀍 ,,,0{ ݾ}wlmm^QF՘^z4i\.իq++y֟,0 ƌy0`zO?=p`ii1c ..=z#eg8q۾yf,X@j… w^6XSSS:t ھҥ tttZgڂZOdЫW/# }3O?>|+dž `hh 6sѐt+<οrxGk}]P^a#FބCҥ3DEEʊ}]#G 00'N@ll,"""3gJF0<|ǝ;wz@ 4nnnx]7oBK`cʔ)op}<}˗/Ǎ7-Wvܹo߾X~}?.زEDD ..qqq?Z/'NxAԩS7n\󕕼OUPP@@@h$$$Lcǵk۷x"8Nȑ# sb݈zHVV1d :99^=333{Ծ/_1߿3gԚ.---[@EE^Qɲjiiƀɾw߾}ׯBBB(kPSS\.>4sMԭ^?r݆FY&֥_x+VBII RsիW7n݊~ ;vd{TQZZu=z@YYYb~NN瑳v®]ݻט&""|> 5=wСLJ2@֋/pEٳ~~~Xre,ad,Fb ouE|FNPDAAnBhh(=x|7oƇ~(++CBBtT @~~>;\r"Bs?~ ///#F(a(1)o`m055;5BW᪺_Vʠ,ܼA\VV%%%hjjJ) 555C"Cvv6.[<_\CaaaΝ;kMh]]|r_+JJJo֭[Lpep8 6 tH1dB~p> b`ztp ;|.qyQaQ||G@`|8QzǟiG3oÝN&|v&[C Gqq lmQ%b  `¯^GYYf/~tIIIPPPǃ)%k2{l|ضm{ WT>šwQ>puuů#Go_|پ<"YYY=t7nhP=x<O󺛙ٳgRxPRRBZZ:w .7oEEE`Q ŕ+W쌋/BWWִloQhh(1i$o+WѣGr f͚%%%mFU{wsQ>۫n46]Ppd4 |8. D"[ML'ng{ccB(vqldc##Dd]lZ{H UVر)S "~eZq1D£!qP\n&O,ŋXr%_vӧOaaa. apҥ:{=/+$F۷7juM4J|Z/?#G~mmw^'NDLL pI޽[*h"gK.=&&&rHLLzm۶m1 !GyZ*t11j-5\^^_O,eeugΞ=?B[LX_//u366" PZZAԩS霝oooz :t\]]ѣG6݁B(++ Xv- ؓW^'Oӧ1bٓ $q>v.]Tbtǔ)STn„ HLLs7Ϟ=ٳ\ٴi<==qFcǎe|!??dffJO|ȳdit !!K.ŦM0 &Oh]+VB[[7nDzz:lmmqq1Y3g Xlrrr0f޾a/EEذAh[[[`؞{{{&YW$Q\.]9j*DDD 8pTXYiY?YJ#G/N*9@ZYƦ7spGE"ަoR2̝΀fpc!All[ʾk(*)">>GBdrj2äq6^o'`||Akw HJNϼZR^^^gY 5 :H$DaQ1<;Ը.x!ZBQQ*8pssk7ȀjCCC̛7pttKFpqq`%Qqb>ĠT ꋁV,~~fVqUP EгPklݹ 7DjppeNume5UUܺsFkZ^-Pnn.ƌ; ,̈gIDATCخ(--Err2гgO̚5*ȤnM G~;v'Eȑ%꧓>b!##%VV3 lCZZ::AcG; @MU !OW>W}Hd+^W*Ӧb_`F@,#33 Oֽ.4hkkۈÇyfG_i׈HHH`̀Qq ?AX|%GYyyEp*honY>X~#?1עaC"''f<=jYJB$̘1|>:::h͖DGG=rݡ٤OH/{u6& vHAB>A1u2 Ip4!s-B]]|>_bRWWgoZ=zqqq0a;/̙3իTTTtilɒ%l[T9ԩSѷo_hkkݻRrȠ 888v>wRRRZHiF8q=0e,\8QY ! ˗/c x>hu WWWlٲjjjؽ{7֭[רݰa._b _{bR~zoW^apqqAaa!R - I7dfj ©p8`?LOe!iB*;ҤIrpssǣW^PVVӧtbFѳgOl޼Y"/ǏǬYлwo,[  ϟVZ###۷9MO=,--1x`Z eee5=qf͚GGG\pA5Y'k:. @GXlURɜ9sgcƌyp 0={ħ~pttDxxxu '''XZZ/dؿ?TTT`ee%1t|gϞ5>z.zzzꫯ6lmdɷM4$MM4$MHSJKK̙3[lD0cccԩSp81bCܿwܑܲe _GGG$$$ 22 bcc1w\ڵ .]+W{{.=z5k`ƌ:9r8qbccuuuv믿󡦦OOO000FBB̤z9;w<@hh(vލ(tQQQϰc"66ǘ1c؛{{{> ;w˗̙3gֻ,--p\|Щ Ym=BHcχ#Ba@AAAuaRiG ---ƍ8u%%%tfÁ9-Z:999svv77ndضm= ,/Ñx6Pqߜ9O0`^xLeZ>Yu)))8{,ܠ4$%%IxXb\.{Iۺu+~'t|]===T"݊+paۅ' SNH;v`!C4h;}.^={+WJ6DCO\`-vvU7t)Ӈ!ckk0bΝp8X~=LMMQFIw}+W@$@(C"]тF,,,j\,++CBBlllj|=99ͫǎCDD[T>|-jPdIW0^p'ODbb".^X㐴"*EYY)NSSS̩033=¤I߸qJJJ5jΟ?ozp86llmmk,[~ʩ68kw+((@MCEHT\T5 Mv ȟ6k~M _2[e̞=vvvw>|`ɒ%TΥrJ7oD\\ʦ߱tRܿ111Abb"=ɒ[nw8ttt#--=@x<%C $>}*1K.5 ~o5{;cǎ= Ī K zb͚5pssCBBdzttt7nӧOo\Vū <{:CSK>Hi70.U!r///$''cR+8tX 33V=pQXXeee899k׮EAAVZ%K >>̓`ܹlo6`믡 ";;vvv[s۷oCUU:tӧsoooz :t\]]!߯W^ V^^k׮իرcN*sdM׭[7$%%aر*F*ulY7==...HHHҥKi&0 ɓ'#::k׮ex̙xprr@ .-[35`|N{{{={VCPRR"kkF߮+ߪhV?"P6bX,X,H$Bvf2_"/5}‘vEK[c'Cp\p8p8&عs'ե΁lmk^(((L(hg&alҀj%^l/<׳EB!-=`wB!:59Us:% H ]}tg{BՂŴPTX]%iWrŅܽ;z(eޞ*BH+Ɯ,oK()*V 튚DXdgI4Vuq< J#>쬗d%%T]ɨ3^ef@[W HnӥnK!4&襨 ZTSB[s !͑H('yߐBi&azn&hboUӍ]ׯo߾)E!ٝ?<ZZt!,CҠRM6!55߇-U!0V&Hihh*BH!iB!FNr s4yLu֭SBH{!.UI'i0O58q"1f(B!5]9Ub5ݜYF8UoDؘ AA!5UTjM`|&~ F}?idCCCt8] CNn.,/>s:qO~wb5"XJH!vIoMg-ݏeB7o#uA:CXr9 %%%,X-B!~F}䈽;xQwijeee|?!PGy!V/(`NT>1 _yZ*0ۡ(/'ճ |7(..۷١eY3C "2 `{ak=/ зOn :Puk}y)6Pqug[̫-[[GQ+.$uY4E/ѭ `ly5uC:o )`lI֍65~Г^!BB!eHA0Vէ90W[=G@mxݚK@CҭQ[̢sZgV[o-ykr< X5hdjhw\~[m`@܆׍Cy:m98m׾SH֞W=9рL SHAUst4q]%:֭Fq-;MB-AU^A#`֍n W;@ӺQVڬz(%PlPr\1J9 i{[ޱ(`(`5R=Rݰ2|<.zBw)Bm[)#R^fL1E9W$S%PT4R0| SH)qTP=R^r ޚ~+@>ס`* thH Niݨ)`l{k:w=H(԰:I:`RAF@֋q֫o#[n-Y t#!TQ=Һ:w3y %TB:ڬms)p B#mB!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!X9fk 7mIENDB`docs/reference/gtk/html/getting-started-app9.png0000664000175000017500000021366013710700303022011 0ustar mclasenmclasenPNG  IHDRL_ zTXtRaw profile type exifxڭir;sqFK4%K,Q"hh9?YSl[lKϿv:N_~zޜx ?|0n|~+z ~_'y@m?Vǩ@u;Oy+č;` <ߝOg}(0ȧ=Z@jm_l_6o_prp弾YnjE+0\80yo|ۉ˗v5]s[}n2/{= 6(|BY1&J RL)TR5C9KJ,RJ-jZj[S˭Zݛ΍:cu<3#4(6$|fiYfmWXʫۙ RλX;ēN>N˫?} +^YSNp3z[ <]3Ye|O[CkV(m뉫g,5`bu{3qD 7Z^sn/+3D1ӘfhZcQg<ԂQeBg;Kc&"#a~HVa [̜uYaruִH0d2\`:qMer|1c?œUە^uWX' )6jݫ҆NӜ;t%Exݎgf<#9J(@rX3Aq.ܡgG˷nK`@0dte)bԃ~-wa t-X%,,• FdBst_qaۤm LjYFu-Q0m7HIcY@fp-1l+Oά+JoU @9qV6*NixK^ղ^K6-_-6mĮghS2b!J_MBK9-b3 0SB VquI]E^DOcc@5{?\X{ #v Kk?ĬD(ᄒ&'释{18qcTˤ֊3=ƻP3@<̃'m1^+XJ=bv{(@,U(NsrO3 : NpD,@wȖN .*ʾUߪfV0a8aar rL5*NIgX huL(l 7xJbSS19*& h6҉)LjuaAtrCL~ƘE>)ȷam#ɿ cޭنH( RiZsXBr;rRy8E10~tjr1ԃ|Z0ʊWI@Ѓz$j:b<8z"N-2 mLjwpD:Q B8@) s砘rnF8E{>&U$`Dq#Ҁ+–*}5R{FKrV֢lj,Q(|41Q1sO{/EP)Hf4#@G"i} CV .28pKiZ#)<  Ax@eRD;m(m[`ncV؎]Ah bX u3 p aq5M)Ӣڀ7?DR䠪PLD@=z P[CqyLp+5$,)aЀF R"u$OPLK},J&Wb5v`g(6\!`ưvW%]ʼ30@ $2:۹Ϗ⻋.u-"`e5:I1Rkv+bbsV"h' cJu(#;\xb1!P6EKAmpR0\w*hF`M?tXB þ)l UC)%K6~ /$>n ͗x@ ԉKMڠ)醄!$Z>: zYroUL-j?LsS7up&mRvoxnh ʀe<2#Aܚ8/oF%*\x$Tn w, пbh3KQX wiWw<͠iTHCП#[>#XiiK!cS5iuE!!+F@,zPـtDAVW*hQ#*cT"ѝ ⠁3CC,U*xIaRs) a@g" ~ C X$&%|sat̡/uK$նF!TjєT H9#$"S52I1'rY1\uPr bBBUvTb^Tsgxwרc Vh!@ȃ\ [^^UvO~&qBoRq adbn~{{")_rO 8n9jY@[3)m!ȥĐ&L41D! X+MG=$DRq @]5p/̾ ғ}OeK}~Ikp#0 Q KSW%Tz<ӪZ2UxQ-@::?&!J8%i^$>U*4h' UѨ/VMTəu6g{#xI,C(܄ԇ&ۀ " 4 *jX`z~ due3[DqSS[Ļ$ _o]=Bꨅ 4%͐#h'qk%?@Ӳu~=r#?%RTJCEB6\Ncq FI=ݢs krAݚ4>@Cx ia~01=rHh ip/xhjMmjrZB̢<1 >泶,H^@,։:O[ G9/rEϡ^u k ӭڍA鉬8%a0iBg'JJ2- -%C}w4JgC!8 0)QyEFv$"d?GL4Tɀ!qkdDRj(3At?Nk $F@0O(dC*ubV+y>2Y b8 A@MgN3Άa,/mC=\MɅ4ԂwƉ!&40qg# R0XnF}]4:ss%Xj'U^VX(lj5gjny^#ʇWrs*K;s@`CUl@ x ]SP+N hJڋuhUlAe2 eG Dfr36C.}h_4I(?"ВB0 O%j2 HRvk`Y,91Q]Ss.ky7!mat$\I/owe)fꠏAJUd|JrG{4;c6Fyd3CMaF8ewWpTDkJBs^vU C'-B.TI6s\>*j ]"մIx-Q e6̙Rp))e9hjJ\BgvO@L>]Ʃ5)aZiH5CDUdE]IK[UKa\d|ZEJfEDPﳇa%r 3GʸM!ЖҀKSmR7!5aYbZmPF) ~mJDX d k:aQnM0je=n#Ĉb:-i7QS^Vl/lFISFۤǯj#ȆрB:2!Jk# nmSWg tH ;o:1oxYT0C:o@aX$mPTsÏ൰n|$[EӄU4n6\%pZh);ĥNe x.E&}4S~ɥGX]Y*eHptV"a:9@@ N.]눓a'@ Q 2լc(HP(/!z!D+ !:@ IS#_RX4} Pu@ PDd,hwZ]e&>qpQV8l'5ȭHhXVI&dLSG;nZ.Ǹں6SI%ϔOa:CN%.!:SE4Gҙj!ޘ@I\$vI !`Y8J#֮(^L.2 d\ch~—Gu-f[+iD+̇~/.yD;`ub uH:Ba> IrRD؊_,`D!IÛaH Խ$%?}L^A R,fbiƼQ 2%Tt:`:pT/N*HPeKQmQ(v>rNfKMEHj1mɯ vD _ !NԁĄ렡P1QrkB ڽ:UY fzr?DW (]3 cdh0:1s)<=-vѕ,EO]%*KdE62TДD퇇RU2PdCm#) Irb%9 }R,:7ŷQs&6~]3:yXu N9驭] 7siveN',Rbk"h,|PY*/Zt>}67c ԙ VXN_I | k@C?BЮ$yHDA%uл[(dC\3((cv:?6A#&Hꉞ@OF)sGc2:Ђɉ : ۬Z{x`x17As. :DIRGk)8gJUIs$PqGeA7:iă65y- bAHm[y 7svN8yHƳ6A"gNѹZR'NRBDVh%dsOa$:o|輩JT^Q#i;U`|aR952Ф4eݐ@?:ZAm0h*?'pE䩣I И8D 5[.w3/\5%I-:O|riDeq0~hW\aduH,KA:G2LSL#.R ԍ=;y,3@D>1\ 1ڮ1GuXԫj6HaPAyOzNhFrEVFZS:pn}&.gKՙRo  4QOt1uKmOJtBAJZճF\5KA*Nu{GPZ1Xw]_'u͗Ng:N):u( z*\ߪїPv2kTIJjd(t=*![{u DTVEuV:R\\Qu:uV5ϫ^y-bqRgs30lآdGmCA's*:Q`Ocw[& r{(*Զ6K,WhvN[[vǧ4:!26َF64֖rİaSwU@b&9Zں ژerZꏹmVg-9{.H(f<1~0]ܖp"0:"U#}/ 5 V?%XľL偍P< ,l7=& -u eZt95C {$rp{LDx=K .t{CM#e쭭%>煓;l;?㮭d]Q\&Y)ߺN]T!$<7t*VÆ|Fˏ_#9ԵQ%Q@Na -k5`Q6hOrL-\7Q</~>()7PgHQK\h:VaYޒ{EU6ur#*Klԉ`kzzP4:fu u|QM~|$+ma|Dp%51YuY#QG7;LJi+Y.\yu"!.{<6$gD~^^CVˍ[qj֚,W\1iCCPICC profilex};HPV ␡_VBЪM_Ф!Iqq\ >.κ: IEJ<7)~? ecYF*2U! 8F$fsg}S']gyY=JdO eaoOoZ:}+J 9A$~~1ҩyPhcYPQ?yZ= 9me" B*J(Bv):{H.\%0r,߳5nR8_lcmv<WZ_3ZZ.[\OdH3,w tskHӬ7!0\uwwߞ~rrKbKGDC pHYs  tIME 8:; IDATxwXTGm4(FS=؍%AE&^BIgIQ$kLQlQ(a| K׹=3gr;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4 f) zeySo9$"HTQArk<8%DGF$bQ4ԕ`TYRS*7 LqJ"bU6uV%I0'qС5`@jS=en3\U.I0R$t*GNF#:a`,;o"Xؐ% FJS$t(mM#R|p[h8$Y±Q0V׫-? Ɖ# FqDsU$I65g'66`,"cZjC4m k19E? .yXktŐte=RGE@ V6a$H`lNi#HiI\"BYk(kUk*+XV$|,zׄÇo G  Y!Jy/w>y@A5?T(T՛XZ$FGvq~U RjAADhjiA.?2@N)/2ԧ`T86`lA/ι9TAA5\F῞z5Ʃ(+ ;wn=67'J  uk3V'N|}UsnFʤvTA4e4|Z֜7x|~RFt0(M\&ҝBDnm̘Qf7Sn( MWu-Ku[jY|sPX/4`ԕJdz<M~n6r3Q2Paĉ2]*@SKM-p90M43O[ Lg`TX3BH%[km y@iҠD}j ]=}BmXuL!jLvf:Ғ!H>\.^Jc>Ģ"LD,iŢ\T Lֶ021mehX[i$S),(qk Aa21Z顋b߅L&VqVKzihjACS BݪU6_Ģ"0] KjxSh8HzG khPF5D1V/0{Rx^a#˅ ܇qՆpn߮پ|m( ٮcu`KfEg;fg{д(((sK{f hhi(̓J$7~Ժnގ ! ^\.GWy?N}NlkѤʢ ۾)uMlKy?=֦C=puܻ&)܋}ald^^@vNV.[D=-Xٲ w;嫑O kvDAN}QTkYUw`זZź8ݪWƫW텩` Iw.]ݰhӦYEsa 7I>^o;/\¾]a024,; ]rox<}<6oc4 mLƌi.RTБ ajΝlUX*\|?540]:c avǎ ҏ*U){n#1)mژpRoamX>.z7&F0xK@=Eō.^*Dn^].#_Xlv}G{KKeDq_%V-kˌL@&'ڷWO<L!oEꋗJ?"tr6/"3+̚K'pƍ/?[ ;klVe6V_e]]I_LSHeRD޽߹afj&1&OMk?MTVg#p |֯Xnm2uiێ]HHL·c׻]{&;2 ?oG;˶|Jv77!!1I)[wdވw7>R).]8u/hkQ|7oc܏prpkA"t)luOvNkվb־|ٶ)rBX#>1 !g7Y|L[% e4K60aEJ *,ę1~3o.dYِHV`վ:X` -oG"%5 135v|YYHIMEcʿ/^FVvF LO&BaQt # }=]b}7Z!}qw?ĕ0rڵm&|?Z8|<ê% 0x`00/LMxSkNadhw .ݺX]|:CX ɩ//pPtØX;;VZ>=`ݾt8?r"=?\< ڪ գ4hU~?qS&CC`ڔIx |~18+ׯsx\#ƺ,, h8X1ǏM ;ێ022ĄwF1cGMskgA}_Q#[`044+_<~Um.={vG^~>ǃ͛xoXddf!19 ܁G9K=?:uƏEVV6*,/2]:wRɿ:Mɳt}jFF UFM,L.dB4>OHik]feـj*/PVMMM¢B$1/bL&ë"00XZZs/GnU4^ՑcwUlXxAfx8FSFąKذu;ljG)Hav9;[qs7n=Ͽ!;'/^pˋW<fLAk`tt-W3S0Ơ!AP$auh}<!.]]*̏ U翹I7fJ)֮ttp ̘1?VE\դbmX\Rt),Z 9%k6lnmSbBYkQ`ȡ8|g܍~L, `0}Yx(Zav*mermd!"Q l?|,܊g7`V&5;!O ˑg^=`~<:v_ QXX W/H$$ԉ]8; _(ıQTTn=AZ!## jWƪν g?pwqhkk58 7goql"]p_%D:^py|;޻n߁\&˗x 0@.㋍[0a;7z4:w{V<ǎ@NN.uq%Z+ve=g\CNN.׻7YjcUU ML/'V:Cӣa?.?y65g^a|C >ff8{w@N<>s/FFFf( Ѻ֭X C`݊ӦB>yҹoWc=222a`hWp-:^Ң ϝ @^gq[r܌KW~4FX,M+h}C@ !3+z2l:ǩH$-&kCճtؑ?p g.ub}g̓]Gk,#ŽtOHNML~ s3l*>Uܻ:.SGkŹ.8pg:L02Ɛ #qw?w@*C;Kl[吧z_8a454+xc#C;v ;ŽF0o,L!nnwGn]ѳG7TX5_ً̬,89:6m0vl ہg~UH[TƪSŽ~;;S*gruk^gh|)ez_1qh)mML\.9CCl|M-EN-U21~/^$AUU*U5= ֜1\L>.-.͘=0&_CX:zxru67)= `޶] u~?aޒe3t],.N  }YrK}__A|Aed Lt5Tڪ!Z_~ş~bצHnCќa{ZnW8aE},   ڵN9qi#QLmsFN)D,ttrt\Sz̢F\W¼&s?WY46vc#GuHA4 IY@)%T +bFeQ-VQV(hH  Z%MQZuIt?$@C2N^;G7FO,*╹+t[3O&A.1ǫ|meA#ьna~.xڔA4 r3 *zNyIbT_FY$I1Mmm !*,_Cz h4r25F^y2 R| hjk2r!!}YXBŕ FhfCTXQe:Rܻ}21ZցLqpe | 44gZ,r!Ђ\.GJb<ŴȲ H MmJ``˙ncBuW]ORgދ/fT$iցN=Pj +"F2et^.( A-^kpJ޶Fv'd33ZfZ&"u "zDM˃!bQ)ҺԬérY`$hX4_5 T"NNp8>|n1Ru?T$`$A5Xob5O*#NNN~=COG |t~PQؤE`$ AGLΐ_P{*j888ѣGoCQz5 AAp ЩS'濂: hgApy|t `k &&&322BG[[BRLJG4`0ͅ#N:-[Tz[oֶA3fʔ)={6w^a:;v@4MШQñc*eZooo;wNi:c?XXX(mi_?gVprr A D"ann3155L&CJJ \\\ (iVVYxpBŖF~~>BBB0x`$''S_wѣb-{/.]D C&ѣG011A۶mUM6hݺ5>|zF022BVVVqԩpqqn߾]Ν1̚5 {쁻;lll0qDr0f' IDATÇGPP"##ղ˰BCC__rgxzzCDDD?~pssC=j*DZܹs'ѦMܼyJ~كݻ ~mr\r7\\\AUP(Dv`ddCV744-Э)W1l۶MQ(((Pe|7ظq#FǏӓ z1J뭬rPp^M> Zt0` @[Va -355eVVV[n,55UDpp0uVnLCCYIR&ق sssc׮]c1&؍7;w&%%(a{V:w!222c#G2ssss%Æ ciii1b1۸q#;v,)?3sssc!!!,//B?۷ogǏg1?~|||W9{f999ńB!;vٳR:+ٳlҤIM־HJJb|>2\c?g˖- .^z3fFD"˙\.g2IFX,nC$GG)M5%&&=|D&KmL&Sԫ`1hn5ZޠtQQQ5j6n܈0=~~~5 OSS... x|ӧO>VH@PnDxB̖%>>^msN ((ǏǼybtZZZ.g\p999H$Ur *LM>UU5Rׯ_Dzeо}{DFFh B1LT TlիWur7Fχ6E]tÇ7jN@ add>>F6SnO.^ ÇԴ^ikkhYrԄX,F~~>Pll?{{{DDDԺ wy;v쀧'Ν)S(~eijjB&!==])/^X_?#Ο?066f͚JKbcc|rBlݺnnnDŒED\x|>044eT-r:T)**BNNӑ sss@ (zh,Z})80R=h(,{|sAHH♔L2[nU;<333짟~R;=lmmY홥%۹s'a~i9k׮ܹs,009:: .(]x 4u֍yyy#G}$Dҋ0y֫W/pBRᢒ6h ֹsgFɾ[T*eoaB1صkטk۶-[rRxcƌQJUD>s`C )3tuuԩS63]]]6ydߨ&;Y X̄B!KLLd.]bٔ1D.]P(dbI<` KZx%k^8K=KɒÃ1v(eؾ};fΜw"-- AAA8w\SL2O ѻ(!QXXϟm۶hӦ eQmdJJ Fp8 -uJ}P<<]еZ4@ b|2dHcmm_GD@.+DӦMdggC*Q{Trlrrrヮ]ZZZ;wnV:.W6}A4% ]}$A`jj|H$\7>!\B\.D"H$!e `R||<$ r# hHRZ M4ZZZo;I0AA$  AA F  #AAA   HAA hn ؇mu@'GW<#AA bQ&wp rE /) ƛEG4)uy^g#aJA%1d2dfi;KKXo[s^Eo /+>޺}>J ?aA~0HIMU}wR08y 3f͆__\~ ;wp V\ɦWIC۹*Z?UEճ[2fk0HAD nQ|t*|{g>EHWgW{ٿ _hgA"(ڰy3#=V'lN\z a7R' cİ8{l}P!$ 1B;`A$!]x{zBSCޞpxX[<beK,-~J a  DNv҂H,g+KNhka +L T ޽;[[89:R!$ 1ٽ; ^gp+2]졧b[U<1)9Rpgϟ+iij*ŕ \.]JOvA1jx,Y)߼ID`$ F[[]p+2\E^> zB"%5"o۫xX,\./7wSC2"4brܪlrͮؾe 444ɢ%pѸ122{EBB6mT_###58q"Ξ=EaĉB}[Sʕ+pppD ǫx+WV^󆆆psu7{,-۷/nG~r9>zNƣNT kW~{?2= hDfVB7o"Z`XKYYf>{n^^"@[[THD Ƭ,#33&&&UplDTLIuQh:t ::_\hz1f»Ǯap5e٢?YqAVq."&oǰyРB"O0fggYYY ƩSV9C@@f͚={6668q"Ba9qqq3f akkÇ#((R˗/^iH044-'\]]ѯ_?DDDT 777VH$qlll`ggCCC(QF!((;BKK ǏWXb<<< lذA)ya#˭6\Q:T&N0;7hР X"(qvt}8{}Q`lqߐݓ'OĊ+Ç#%%O_0{MÇ1}CD"yQ>\]]=yOVW|.k/aoocРAg}C&B*bڴiz^pCu쫫t(l.z@DM'XvPoFDsAc@@h055xmmmUT7ESSbXKKll?{{{DDD4j4uMKKСC/Xx1BCCcؼy3x<ȨOΝ?=zUtѰAphH98d9sx&%%SL֭[ <@ZZKƏ_߂ l=WӧO/'6׭[ѣG+͘+Wٳg/["lقbHOOŋ‹+x<c8wjeӧO1w\$$$ ''صkΝ[oU'ڧN:N:kkrADcoHK$ & ]@BB\hhh077GJJ ,]_~%c=z4n߾k"$$@qѣGtR$%%A.}ƌV ޽{+v_|9-Z]0i$hjjXl>>ϟݻs^|VݳgLP---cƌXv-j*,Y1115kv9sb ???ŊC[[sEff&|||kjϪUSXXXΊ?#FŴiӰw^$&&bذaCppp 9cF+ .z&ҋ_J>KD}v̜9_}:B [d_SOA4G$ xՋ2h0._:@__'8 "HH^JJ}_gh!i@۷E  f-$$k׮ƍzjt 7nh5tA*44AA&&  AADC FN%U+޽{M6U ĉqY,Z'N4ܚ* u\r8p ? xe>4Yi(ܻwB111HIIү ̶#G ::#F??zOGll,> P(>|E-]nM?|||p9Ao*mp`llLT… R<رDˢT H0֚l!++R8u*cYg'NP(,?..cƌ;lmm1|p!22R-/_ {{{P8::׷puuE~o4) 777VH$q7vvv0445;j(x'O-[={Dbb"`ժUݻb tNNNGTTTEUS7|mmmt{A۶maccxe}ömu:885ADˤ ZZ`: 1bbb344dԔYYYnݺTV֭[%''3 f&JX,fׯg ,(͍]v1ƘL&c7n`VVVܹsjǛ t.''[ܡCX`` `1Fϕ 61lƍlر<~0;s +Gxe24i[hc/^={?\gΜa999<1b;s],3CCCd2۷/ d"ݻWcm۶ݻw3\cޞ=~XrS'K:o˗1Ʈ^sɒ%ĉvJRR,44T?-[F jX,f,11]t×p*yOb=שvxObNe׷тtKLLdL,7-5KL @il=;wFTTӧOc8x n߾6mڨ&\\\@iӦ5 Yh.={āVoݴi;E/j֭"%7oƑ#GUpBp\ܻwFqwqqqVسj\.Gzz:>#cݺux˅9p@ 0l0DGG+:tɓ' ,1c p8_|mAN>WuSş_D!C`۶m7ogϞv7-ZHǤI*TDSfqLx0W0{te 7dd'OĊ+Ç#%%O_0{Ç1}rӧ* t^__JKll?{{{DDD(zuMKKСC/Xx1BCCcؼy3x❔8O>Q~?=zUSş6mڄ4L28z(IE*Lq; 2 S(Lc_SQ~s8p8dee5D9s $$Di,%%SL֭[ }z9n:=ZioT\Ϟ=|Q5e 8P1VZ%K &&f®]3gTq_X=|hkkcܹ̄"""zmU-7UYt}srr@ χ?QpvvVs1/M{"11Æ C\\՞&@M_0V{V'-,|< ;ȬuN ;GaaEߧOaծ-^ntp_( ?i)^ίvg`ں5菹͢B&T쫡/u^=cJ*}v̜9_}Q!aaaխp`s #^B^^ЫW: c}2 u;7 uX5/QDgdVO%Ӱs Xu<pceqT5"̃vލ?~%3H%Y:`EǀX</!H\|VVVׇA 9=wHHK}JJ}_ׇz} 0@XJb hEh8L`F0fO,&gKLD'͞pcc#L L$$&>>`nff~L T ޽;[[) ڵk{np\>.kfF-V( u늵VZuZunWV}/}%$H;G1aJ!s>M9s.?qi-y)PuQ'W|R=U\F~->~5ʧV7N`hhwR r݌Gu1N{̚5KX}?c$•:LI*cڡb=Z]|u?Z즉q?]vqB+_ipǷ_/̴Gc1KS^t%&vPSGXӺSG#pw?+q过qא2 #c1֜GݖMQ\@0;XuF55M&f:::7~'OBT诿p@iYQ]]044|em_f1x:y3!#E˯˯ޱL>¢±wocXd *+*ѭkW$OdXcIcu|4-Bp|^`Xca3Y_f1Q Lgda]8aT'oz2c6@>oڥF===s@彩!<05lͺق02kZgG|1cqc18ad1c02c1Nc1'1cFc1 #c1ㄑ1c1Nc1'[oA"iii/~[XX-^ntt4LMMq5\1^100eeeKMM=!H&cccܾ}Mu$deeaĈO\oDW_}>}z?66Vu,.\oW^077ӧ5֓H$000hYcU<{_׷o_8pQQQطoڲԝ8,, aaaX`d̝;::׽͛BR @["##˖-zocmS?øgxzzGpssèQ0m4GB*"==hAAAecܹ{yyĉغu+͛7L2ƞ7Wd2ܽ[x{\~&! 'fwA2AMرs'|`ۑ]jXouoG"L~mLڌoAZzo s'y͛7#22RB .D㬕j `J^y?^u~NNƌ7e̚5KmP͛7蔖ߓ*..VА,~74hIcNNR)D"ǢE.W\ԩSLkԩS\ܹsv6gիWU֯_s^zĉͪ6q]tU puuEVVr9њ6m"##UaҤI#22R-i\nN:ÇYXXGA`` |M̜9Sukc)))A!ՆVչJW_'"Z>6[7Ǎ|x `֧30ưP?-6>vncXJ Lfw|9g~ټ 07leeaİ0;x}@$mă^Q# s`7\0Dmݺx rtt${{{֭9._qg~~>kF}pZjZL\\999 RZZFy7oݻS.]sδtRgeeeQhh(9;;D"֭[UtQrtt$cccrqqQ:wL?k׎bbb(77\]] ?^UcLJÃ>3ZlY[[ٳo׿А{=""wTXXHǏ'KKKڰajȪU觟~#F?j ڹsk yyy\48rPxx8㏪(1 m߾];C;w&kkkڲeKm\ZZ,ռSJFFFKDDJؘ5i4tPrppÇ | Rmʔ)֊I&Quu5Qjj*xK+zw7A.^oE7ykx***ˇyA5ٳ40$T9E4+.I4w[oO&o͛$˹$˩O@<+;er򡛅<у^~q]Xx%SF ^͌oHEL:&&"ZmѢE066Ƅ t`_ʼ{.JKKqu۷Cϰ{osu:[[#UEፈ>L (t{r9**+p fwJ?{4w[ӯ?V~ff>j4NMH$RǕT*@s燑#9.] bL@0uL&Ž@/]Pnn."""P(5k8fQӃV~Z,-[m'Y.JFB!V|ұ?co^޽{|X|9B!.]~^^^m~~0^, ºSG#9bx$5ܹ3J%_mnpwAĘq:!7k f7.Ҷ~~0ƘƍŢɓP*(/pEy!$k]ʻw#Gpnc.-+CoVq1q:=g ceRL4 1Dv7<{Iy̙'&"j;k=!>r?x,AeE%u =kY<1X" zam8E,͛#Gpc1_SƟׯ_ :c1N57߄ c1NǗc18a|{c18aTÇW^|c18a@__c1 c+8990c1ㄱc1'1cfE^^cγptt4ѡC 2c1':vcǎ`1{5g2D&c1򹜨KHFcY)Cc>ɍ'OP_~@qq1z[8wnܸHIIs?/kYYYڵ+2z9:s#$56I://G3z쉠 cjq(++{h9"pv~oDW_}>}Sߤ$deeaĈZK$<=Ubccall D իqV5k uqc16}1''aaaXbx"Ǝ +++غ:Ql7,, aaaX`d̝;::_s>|n7o<8p@*JlݺXl<<Byyj9aȐ!xrJcǎEEE*N$N[n1cݺukR}R8x`wŊ044;UW\ kkk١H~ҔM?'OB*޽{#99Y-vǎ3<<<&ss~`iiM6oka óEt0`k]3  988hG2q>>>TQQAIyyyƝ8q&L߭ ׈oʊ/_NJR=]xqӧO?vWPP@tqU>r9җ_~IӦMS+O>TVVFJnnnDDpBڸqcOnذJ%%%DDT\\Ldeeֿߐu;v(66v䟥?mAC_ YfQee%eذa҂ hj#Gω=TZZJׯ_nTשjkki]Dp5vlXh {[v3wAZŋcطoC$Y111֭[q!!!v܉Hb //YO_~ ڵok׮EuumK IDATu'N@]]BCCN:OOf ::h׮?$&&")) VVV]]]|' 8{l۹lقcΜ9|*1^Ԅ ~~~H$ E>|0d2%UWWcx WWW\|6lЈJλqFZҟ 777GUGNNNJX`A+v [c7Ο?6PFݻwcƞ={$m055U35587?"((J%fMkN?4hPkjjp%x{{.7LΝõkך||J$ 0؋0CWW/deea̙:u*D"h f˖-={6BBBk,߶mO3g ##ERRFlc:tHcq-{Z%B>}sٳ}h|K%666֘ԩfEzz:B!,,,?n~Z[[vbC”Ӭ‰'uVDGG7oVlm_S^3m{w1`1^ԄviV^_.aaa>}:BBB Ԗ_gz'NͿr N|d2]=Nڬ4e̚5KmP͛7虜HRD"ߏE=4)Ӷ'>>jIԺup) >uVBpp0YYY [Gaڴiĝ;wԟ4iJe8rob̙[ Cה~s"""Blbaa!fϞW6LmL&իoka͠YYY4j(rss#777_tM| ^{Cj*r\N#XLDDtq211!kkk={6}d``@...}vuܙi˖-V~FAqSq;w$rqq!KKKzŅT~LO[nU9vyxxg}F˖-Skm۹;y$L.JFFFKDDJؘUiiiTƏOor]"͛7i4tPrppÇkƙ4iUWW6gHm?#222"'''rqq!WWWJKK#G(((LJT ij;klBh|>zah6'[P<džuxѪ-^h1a„cYILL ҐѪgY멫CUUp5ۗ=5ڵ+LMMahh]]gw&O  @Iqo@/7%cSTT rc0>[_|,X9s 'O|8ƞe?}ڵ 0@@I?{v P/\34cgF. z*_fOUjj*`bbCCgj`$c1ƞ :1سT*fͽΝ}FFFZ3ͷ04$1Q>\ʹsbRI٘R $MZptr\۷afj.]lzzz8ad1ڮ:LCTWWwށ]{VoGbxE˷7 =ˑ:9Ua}~ %u ZcJ*W(m(}G6a`ll̝9Hxc1v[B&at _o0,ŗs*k=_70>uLYTUU!TmWl޲GR"dpЋޕs=02c6abt*Yl};؍׊ Nbp^}Umw֬߀?}/h=~}||z48y ٗ.awq!p[_kN+ؘe1DGG}|qETpgk|I1{***P\\ ܯ "B޵kJTv{n^!ЩSLJxzK҇_"W@MM ***Ѫ:t "<Fct`iarff(]\ֿT&Alhج˕J%jjkP  rU[5FWW[Fcy}~Eq&YY Brt鹬nYi):4=xs KJqSڼXxU;{u(+/G{ nBxCTڗqc)073C3xg@N1svJ%\Rֶj"znohhXkʪ˷zLh*r;~cm:&:OMMLǞ "td P\fA/13vTV_2he?,Ö~>#GH,V%GW5|\ުpséi(--}dBh:8Kqi޻|mbb<]wCb䄑1kƎ1"cp8%%%%fk¢"եh(,,BaQm#˶BZU W^MI8y%o.dg#7QVVG'64Dii|H1;iϸr**++q.,,QV^X%ic qb%,[khe~~wOgaC?`vs :oaa}ę!!HIM1c$xB!ވ3Ⱦt )GB ];K8{ˋCo{\ڍŦ3‡ {hyn n߾aCUu]nnjǑzd016ƫڡ/~,л7w'$hf$oҹ7>0p'U܌1ZB@MM qeàJXJCWeϏG011>D"ѳKj}Vh |1{=7>nh|#c1ㄑ1cqc18ad1c02XXXm~?n݊b>1'^^^F gggAAAΜ9AzB\\fo700eee-@"Pصkx0c06*''|wߐѣg!77gΜ/^mi^Om>|ݻwoǣQQQ_PQQl|Wkm`18alԩSl2O5ׯǀ^z! B?eرpvvPSSZ~QHRAAAjh &&HKKXND2d}\...رcQQQrJC AVVb1 R۳g<==ѣGaԨQ6mZG#33۶müyбcGL:U#Vx񈋋%6md1ƞ+{oq1`%Wt @O\LP(AZ+VPaaC6l@Æ "z ,ѣGkL&{춵kEOntYAAQ||WUUE666KDDr͛GOtlh$J)//Oc1rH@91TYYIEEE ž***Jϴ.p `^&B׶ƒ :{=z4 0z-pZ UVVj;f| JII +**srrw۷oFT*ɉɓtmv͛Կ?~F!^TUUōž*:~K0p")r366FeeB@@@JKKqm#++K~G###{xΝȑ# ]]]ҥKnt{׮]T*}x =y555000ЈsttW|nf%]]]sDHII,]:::dqҥ4h^{5NNN+WЫW/VuvDSYD( CGшu1qDռׯyyy׷Baovx@k.nTe'ꢪ zӖP(T/333B,Pu9#|I1cY'rO4_b1c02c1NB@߾}! R,,,py㣣ajj ¶d֭(..~cqapvvFϞ=xǕD"ۋ1$ .\oW^077ӧ5֓H$Mfz=]k׮]n1{Q999 Ê+Я_?ŋ1vXXYY_Wյ<͛BR @["##˖-z~.۰JJJ'`С@vv6ۇj=1cyƩSbٲed~z 0pQHRAAA,666@XXjH$B]]sn0c g;|ILL $ ,,,/T*E`` }FyÆ """ ѣ.M@'O&ThUUU \.yQdddw^UL&#F޽{b ٙ?C'O$[[[ڿA#Gω1{p  =s ozx=xtСU^x1/^}k׮˻t|ܹ(((@^^^_㧟~BvTg֮]j˗1W^3gFyHJJ@WW| B!Ξ=۪ǥ{ҥKc1077Grr2N:R̘1~m;h 0l0dee,Z~);POOO[{lٲϟoX0c/6{(VB077GVVV~ad2Kύ%wFrr2rssgϞF/I?NMM tuuajj6RT-@6]tI=ڵkj嶴N: ۷/|}}5OS HMMŖ-[l_?>m?ǡCP(  !1a?&MX D"ۄ1'}}}ꢠ;wH$BJJ `ҥH!!!dj˻tUV!88ꊬ,FǙ6m"##qg&M9s <<(//Grr2,YQܹs B̞=W^mv͛7#22oPv… 011H_NNR)D"ǢE4;e̚5Km͛7$mPիW#;;oc/6X___Z s+Wԟaǰab+L8 h߾=JP 񳱱 I& ckk< lڵ 3gѣÎ;T7F]],--1c ܹsC ? y&|}}?k &OSN Ӹdvi A@@ ۷kjS+W"::000@pp0&O/ֽ{wl޼ӧOǍ7T*Ѯ];|5jT۷rs΅0{! /7M:MMz -*gOGLL ҐѬˌ1%rjo}<彩I7\FDHHHPd&a_p!'1^h:mL&Ð!CPUU:6`ltڵ1'bnnGrC0ch1cFc1 S(۷/bdZΟ?u|tt4LMM5Vlݺܱc1N<=ٳ'@=HF)|XC"=7@^`nnӧOk'H```~Y~kڵk'1{A/999 Ê+Я_?ŋ1vXXYY_WյK͛BR @["##˖-z~.۰JJJ'`С@vv6ۇj]3cmigNe˖E1`ѣG!J___H$H$=슊 { IDATaaa"uuuݺuÌ3ԟ|M*111H$P{%݃~x{{C*"00l4nʕpww3 ,b }233)44܈h…qFˍӧO7lÆ 4tP*))!"b '+++/^ƌCDDtEӧh7l0***""ZZ`= 4ydJ_k޽{U!hĈwއ 5kUVVRII sb1ƞ&1Hx@`!, _Z%aLHH>47ߤsѼy())ƍ4uT:rHFggg*--UWZZJfffj ݽ{W-n߾} UVVjlg̘1٪ ͛7TWWG)))4~x؏㏔оuJ%999Qbb"|?|Vٳ .#A&!22eeefrss1oX^Ƃ$ """`0pmO?Q?rssvZ111ظq#^z%tww߷  .D"H$B^^͜9GŶm܌><_+W#~ٲehhh둟Wbҥowyfii)z=كI&1ظ"a"X$,,~!NkkkRAq֭CUUjjjFt13[D0o`5T*L'{ l.cKNj[nA!>>R\\I`1#e8::c_ _c1c\02c1.6F0hqrrŋvZۛ 3^?~祲sy1@P>d1Ƹ`466bՐxꩧݻw 3#q9o֭T* j*̞=pR)ܯ~c2Rhjjzlㄆi(]va۶m|a16^P(p!,XpeY...Xd1VӍ%8}(H$QSSiiiv?ʺu J$j~} 2q7or9PWWDGG dffbʔ)f)))A@@f͚???\&qnѾ}v3f޽{M::u*8pWYYI>>O? JKKM F___y~vL VZp!t::{,=s&1}}}CYYYty0#>LYYY,>X DFF⫯2>.]7RRRCxxx388dbl߾ԄJ`„ 8q\\\>,NgggƍÛop( 8::BR!!!8vYXaƍh40a\]]P(L.D ܾ}~~~OGԏ\]===FLL 6n܈^z -##EEE… !H ???c{3gѣGm6477O<׿bʕ_l~zիXt)[$''wK/z *^xxx?JKKgL4x1FD4xEm, pq ''&ϫx$s8ZyF-[ !!===P(--۷NG}c130n޼999b<=={aѢE/d2TWW#$$RRQQQmprrB0tӧOGZZϤn:HR899 G} d2DFFl\nn.͛\8тO8pr#==w1ni^fxP[[O>2eaJJJYf+WDjjI`[o߾3w^Ο?LI&o0gbʕ̙3OCT ܷoKNN6AD_3f5k3m({!//?OÚ5kLMOO3>C>23K4?5I<;\)4 yyy 9>,,ZqCEEE@&1EO~~~DDMv… f9rHQ{{;%&&`理$&"˗/Shh(tRjkk#"^zh#pT*ڸq#d2uSCCz$R9~E;v젛7oF2_?kϟ'< IDAT:u1$ GDD6~Є hݤ멷^~eJMMY`MtvvR``  /_NhΝc`yf=i -迲l*5 EDDIRhg믿L*((0jnn͛7ә3g]0r4 (|||觟~ĕtM$%%QmmpBttYzLbLJa|OGڏ>|Y(((xs_|E:vrjoo႘fQ?4 ͛7OF-KDd6ŋ|fP8nhkk+g0NtttuuunZVp^ӦMCSS>s%%%f/IΝ;`=d2 'Ny{{w? hwӰbWHsΡPw^,^xΝ;Q^^ z_aw77HII1YpBuVVVP}?%ɨ|Wq_[np9b^^^|1~CmheeKKK`ԩ8{,H$&P())`aaa'''BRnnnGoo/agg'(4qx'Ϝ9cҞ'007O;o9_[[[lذի Ccc#D"Ѱ$deew}fD̙ìYFs:cF}]pE瞃j6m(ccqYp߿GUVVVX!f!fD"( l۶ jӦMC^^bbbsE]]zi0P*q3f)))3UDԠEEE8pI{{+c8^v v?⼌GBT@K."hL&X,ԩSxG6mڄ;vnRjmmڵkC) pޏmHOOǑ#GxvV"??j|e__H 10N0S/ cuV\I~~~G!!!/Rkk Rbb" `""/Ύh׮]ت*@uuuu=-\P>|}}חR``=J4w\Zx1:uˋ***qj*?>mٲZ[[MHDt"??? D:|挡e,?~VZEIӧO˗ӷ~;~`!?A999&[zz:ҤILJ|}}iܹ'\NR.\HǏ7nI.-[ΘK___5`hiisҤIh֭zFDD-޽{p{W@@^XXH(??8cw;[ ,Erb9LODGkkkRUf qu֡ 555#:clDkЙY,uwH 1"JB||<'lHHHx`xl.c7F)_Z-p-t:Ǜ~bccqm}XA$㨩ANNMWQQHp[lABBzzzVQZZ۷o#==g1-g7oތcxh"@ee%d2T Twww899AP׋bt:ӧ#-- @ӧ YnR)S>BPPd2"##QVVf6.77̓\.G\\`cchT'N@xx8r9;w4/3yd '|LL2?%%%Y燕+W"55$n7X^JBHHP(VMboߎ@`ƌػwI[ϟL&äIގ7x3g`z?P1ƥGfj@@^^^C #V;h\pp0PQQPccILhh(uuuQmm-ǓeggodpmGh4DDN")))j25#Ghҥ{{{^իW8/áRhƍ$֭[N i333IT>Po>:u*8p8u_ee%y{{Sss ɓiZZlbxyy cq[0ZYY---:u*b1Ξ= 8x $IHC刍EII =<J1Ս^b TWW 6X ---7[,D"( l۶ jӦMC^^bbbsE]]zi0P*q3W)))X1QSSn&ٳ+VAx5ڵ 2Z= Rg/];;ap74>/{n j5c0 A^^222w?K b_ylذ* 'O `@dd$+sq%x{{#%%84o,0M...MMM &L'N 111tpvvFZZnܸ8B#T*Z[[cǎ6nF & `y nnnH$`۷O?tL7Kx뭷ꫯ텇>c__nn.֮]X[[#&&7nK/n%##EEE… !H ???AKKKgL4P1 [ ,Erb9LODRi2P9֭[*Ԍl5cX!'P @gf߳ ,¿1"J2d\,2{%i}?S=:Z-p-t:ǛOŜc#Y+sttDee%'1cc1Ƹ`d1c\0lχ`䄋/9~ڵ7g8~89cq8Xz5r9z)DEEa&DFFb;wrۺu+lmm!Jm\j*̞=fg Jr~mDDDyHRyf1Ƴq}K}}= : ._5kK,1tQ$33O6}}}D8~8jjjUTT<9F-[jAc1637oFNNXOOO{Xh2  T*T*ETTC遻;P(b1t:ӑl3[RNNNz>#A&!22eeefrss1o>(;;}&''Ӆ n;r%$$F!"vJLL$OIIIMDD/_P 6ioҥFDDkիGPTqFdfKׯ_'"׹uVόqϟyѥKynn.^7ۗ(ڱcݼy4 ;Ϸn"wwwjhh ""^OT*wvI1/ @2_^ flLDeTh(""bL FJE/~`3cqAA_PG>>>Eϟg^O/^cǶ`mmmw3 A* ^^^0 #jZVp^ӦMCSS>sDGG#&&%%%f/IΝ;`=d2 'Ny{{w/3]1OD"qa |(++CTT}}}?<Ƹf̙3tǟgD8wQPP5kkmX ///c5noz%ZZZ0uTb={pAH$bsh7w())`aaa'''BRnnnGoo/agg'(pq킢̙3&yzz Cz D;s 900?ֆkwѣG)swwZٳKI밵ņ ^0466B$ yjlڴ ˗/ cθ%++ +V@uu{{ohiiA~~bI$AP`۶mVl6m;w.HIMMRč7]]]HIIHLLDMM QTTgXBp6ڵkصke899gΜAdd$yl߾AAAݻwCTBV׽/OY= Rg/];;;bQ"??j|Da1Xꄄ //I ҥK 6lJɓ'`0 22_}9tb7&{}v@SS*++acc &ĉpqq<쳰BLL t:7n ..o&áP(JVرc&gbccagg7B`„ puuB0d>X^Ɗ7,--!H7n 00P_ׯgA" 颢"c…H$D˃1nyvssD"ADD n߾ ???|&(--^Ǟ={0i$>0{,Fo1rfˁǖ&'lll3Ȍ''Nbڵkaoo?3Ǐ?A* UUU?c7ᄎuJillի!SO!** w6f&22]]]lG,ܹs֭[akk TlUVapttą L'Jamm=~ۈ *..FSS˖-R{c1Fϸ饾 ‚ /_ƚ5k%Kcu:ݨ^ӧO¾>D"?~555Ɂ***V^@`˖-HHH@OOj5JKKqm#1-g7oތcxh"@ee%d2T Twww899AP׋bt:ӧ#-- @gRYnݐ.~G L&Cdd$b޼y刋C]]lll-ĉ\.?qa&O^xO)Sa!.._ ___̘1k֬AOOI`y5krJ}pvvƇ~Gc 3gt0 =g <HQf0kaaaj ***jll4 .x#"lzͶL.\0ȑ#@)11\\\߿?%%%Qww7]|BCC)88ؤKR[[kFWq^CRƍI&P2Ը0a޽z=/L#˭[ݝHSff&)J_|9;wc1K,9f5j5mD' 7n'ߏLO6 MMMϠT*acc466?O|x'gyܾ}[[oð̞=&eee8W%l \cڵk()) vςR)vX KKK_#ʋQTT/HKKþ}/^4^0cqF[[[DGGQWWX<+**j9ЀsXZZ^2Lgmm' ⼽Mڻr ~;\]]qiXXX` E>E"9D";w(((ZƏ?{b& c1.5VVVDKK N Xg<DbR,B#66%%%pvvl@uu5,,,XT*mEww7N}} `0]pf̙3&yzz Cz u]Ϋ̱<\~ذaqիWFD"A?ZM6a|Ta17deDNl IDATeaŊKD6X ??l$P(m6B O6 yyy̝;uuu#*RSST*q @WWRRR7@FFQSSn&ٳ+Vx5ڵ 2 5/GRDGGח.]IjZh>0{,auBBB |w$cҥW^y6lJɓxc`0).;.]ooo@cc#fpp ؾ}; p w}YXYY!&&:HKKÍ77|P(pttJBkk+BBBp1Zƍh0aBP\2,/cayJ\kk+pl۶ +V@UU^z%رcXyqssD"ADD n߾ ???|&})--^Ǟ={0i$>0{,Fo1Y$-,Dt=ڠT*M*gu֡ 555wcBN$zݳ~apARt_`b1cM)_Z-p-t:S\\I`1#{8::c_ _Gc1c\02c1.6F0hqrrŋvZۛ 3^?~? RNNN=jȀ+c GRcc#V^ \z QQQؽ{03z`;bΝ\.n [[[HRdggׯZ gφ#.\`D"?~555Ɂ***V^@`˖-HHH@OOj5JKKqm#1-g7oތcxh"@ee%d2T Twww899AP׋bt:ӧ#-- @gRYnݐ.}G L&Cdd$b޼y刋C]]lll-Jĉ\.?qa&O^xO)Sa!.._ ___̘1k֬AOOI`y5krJ繯۷oG`` |||0c ݻ* !!!BZq#==c,"F .& ?0')4 yyy 9>,,ZqCEEE@&1EO~~~DDMv… f9rHQ{{;%&&`理$&"˗/Shh(tRjkk#"^zh#pT*ڸq#d2j^B&Lݻw^^z)55uDyuSCCz$Rs3XO3(Jؠf|x 㙺wyoĽ[8|0lmmgFFFI{YYY(((0lii-[B0WXvJJJpA_®]+++HRرbX~=G+++8::_~%:;;}y_?K$.""_s~`ǎxsPXX/1ڿۆe~Vp7`@DD:;;GGGA,튊 hZgs"444%ܹsL&Y[[cĉ8ooo\ 6WWW>}?>BBB~yH$f'/"ΝCaa! V?b޽Xx ;wDyy9 ,,,~z؀us Ňh ,--҂SB,ٳB"C刍EII =<cٳgѣG\DDDD ѩS'\DDDD 3D͛ƍ'Q] ~+$ܹs\SDDDDu-0j4Z 999eٵk.\sMյs_~)J;Q] }֭[//2L4 }5EDDDTM`oo_ظq#5ksMUabECAAWhCAbѢEhذ!yD.+>T[`,eƍpvv.7|3]UK`=z4ЬY2ddd`ʕP*sDDDDIaayeAUl*hOD*0)y%]Ǣ>6 O#10#10#10#1010#10#10#10#!V0 )6ЂA@QHDDDD(o,(ˊ2Z #10Rqa$%%+PprrBBBBYNNNpBO7** z*7gn>&T1x  >>ެ8qZBVVVXrӗ+pmɓ'Vj9ggg]V?͔h4cǎPՈҗ7oZl OOOhZ{{{ 4"bYfi4n:tZF۶morrr '''ܹS#F@Rae_ǎL۹<1qDU|ۑ!C{Z_~%j5ڷoc֬Y3gԯ+Wǿܹ3wNVֶ—gӦM 䞾續ۇ9”`㇧'Ο?JZ8> 5h1s\<\tI:w,+E.^(+裏 ^˸qdҤo߾Fݻdee=\7fJ}nժUҡCy ƇHZZg*Z{ri׿%ӧO?WjܸqC?nC?)-a>|ʞouxR2I~~~.V:N DD$11Q&LPm.B?S>LK?nݺ%{;wZ|q0@' sakR Ma~SҥK8}+D~~~գe˖_ JH@rr2ڷo[[[۷O_G׮]e˖cԩ>>rE}X~SZ\hhܺuKDDN:o3gW_}UigPL]u?i~o*K?%9IMk֝as5kV%jٲ% Ɲ:u jAAAk Kcj9s7x_5Պ+{cǎڊ;}4hh? ..ꑔvڕy)U*شi233׿!!!Xh_:kԨQF4h6h۶-F R.]`ڴiWt;wL/44'NBx;GLL >CѼysL>J?5Jcǎh4ܸqn2gJ{׮]W_}H4hHMML j5̙Jkkk7{=|'hҤ iӦؼy3>|hPnΜ9_?/u3g ??aaaXjܹsє[9'շ2*_եr[ܹ3fϞm>V6߿_!00999}6JUyedd `\q!dggcerzѿ۷Jk BDDwrz*wEÆ =_Rŋ.u^9NR VqnW(qۼyY#\tɨz~^>Ď;p)!..ӦMhL)Wߏ{"%%(#is.71qYY?9-- nnnF 0tPǎ57`[io~Yu?0MUl#7n~XhNZGUFX[[#==k?$DGGcʔ)Z-k#Ν صk>󧖫-Zg̟?L]g]E W\1 Z2ߌ 8w-f̘a41cƠGHLL㏘9sfk9Rf?}vvJԗݳgf͚ϟ瑒۷[|kӦ T*P|7HOOs_ *:P^|`\֭l4s]?Μ9O?QQQpwwǎ;g^JڶmV^mtfo]Ϧ2MenQ9Yz-;w/^US`,::l0#"vq0aEO-YO4 ǏǥKL*_WY*:tJBJJ-:ׯ㼒˗/* "r-_0e\v ؼy3`ʔ)fOkѢE6lwݸqsůuV (tgΜhL)saÆ  xyy!)) ZJerMHǧwń PPP`Pn48(nٲΝ㜜cǎ!((ӟ]ٰ\;hٲeakTԷ"W>>G(J̚5 |b9kuDDd-ҽ{w1c\~ݬIO<)[֭[FF#ҥ Z4S={y_rE|||DHƍSNh7;vLZj%='$$Jbkɒ%{[~GrK.F#M4;?+]*M>]fϞm|srrE4i"cǎ2zh4O:%ݺu]۲fqvvs犈Ȍ3~EDDܸqCN>-78>2dKfΜ(W_}__Ay,ҭ[7?XQo!h/пjJe׮]f-$%%Ǎ=Zzmv}K6l(3g ;;;Y`4w!%/KxxѣG .^3GE_CiԨ8q¨ܞ={WzYi뷮gsR~#v,~(~˓mۊ\v?nzQXX^YbP= ~" 6GFF|||pҥ'^Yz5J&-߳^4i$|嗸|r|3=29)Hǿ'-XZfz*aÆA=/6mTg:-Z`8s gƿo,^:vo\ły .ڵkT*ѴiS߿-߳^O?\;~F*:HDDDDJ6510#10Q ?.bCAq%U+ YZ# DDDDHDDDD DDDDHDDDD DDDDHDDDD DDDDHDDDD DDDDD DDDDHDDDD DDDDX圜p…:W(888իDDDlƠ ܽ{ڦVakk[Wشieճ`jѣGk - ""Sg8??."JkIDAT?t>|8Mɓ@bb"wZ Z`i ::ڵ+\\\l22LƎ Z '''$$$Y+W`h4СH$&&֭C˖-ѢE L8 /// 7oԗOHH@HH<==V1uTZ\> @PP>̭EQ8d=4 @S-@{#ED4iдiSl޼>[#"""*w` cP(8q}v5 -ZwbԩD׮]w}B},O?ooo{FӦM-믿>-ك?Oefڀ~`02j]U4Hd~3Kr-aqzT(gIƌ#GbŊPT-[ ++[AACHJJBǎ+mwyo0h iݺ5ѹsgΝCϞ=͚ 򐛛 {{{ yen~DDDWIر}Hŋ7 mڴ޽{cƍJ >>W.uަLT̙cp3+WZ6* QQQذabcc1i$2 ,@ddG[ls0x`9m4DFFΝ;0a e^atvv2[t)Ə4m͛7GXXA\~=p="$$'N… y5k׮ɓhРի}yaܱcf͚4I&_Ç[>ƍ+l?_ǭ[zW_}+++ꫯ!!!Gƍ1{lܹs @ll,zŭSXX^g'bEwQ ";DDDDhǵZKRP85&O#10#10cMwI_~l (888ի2ÇWO]t: hР߿JO?Eff&ѣ+|AAA{nק[Yشi+dZ8q"쌞KMMň#X`Q>mT*8q⩿~ j`MTk\v׈+6!??Y/=֭[/_n:FBѷo _/[32xO>d$++ ӧOGxx8ݻd:t>4Q׈j*?xcǎ1m4rC^ ___̛7=2(SPPhk׮pqqeˌuYxxxaÆ|???\ \rÇFA0x`DFF"11Ѡ`ժUƌcGz'Oѽ{wYR˛.CJBdd$ 99۷-g|MUg 0'OhQF޽{F˷~z @RR4h$) }AAA8|pm+˖-믿n4~ʔ)Xf>,+nݪo{uprrX677 >Y>Sߜoذa 1j(XӦMo~={dhSL1{~ET(ǯX@h Zh `ȃu֒"""ZV,Y"R\\\ 4H222DD$//O}]1btAl2d>==]<==""ٳҦMחKKK+++Y|Ȓ%Kdb={QSEɫ*oܼySdT~tW,X@Zŋeڴi>C9r抈?,=znݺYqqq.YYY"")ҼysIMM-W[޺uKJ}ڵ:dMmgOOO1:4jԨ܁oʒJ 111K/Y>--M6l(]vN:IxxxL]؟W #J5~[2zhkWDFB'N`׮]ؾ};qM,[ /ѣGtJիW{.y9r:JZƍ+stwO? &ݻ8Æ2H.T*xb"445Ϝ[~}ѣG5*ץKѣGRwEÆ |tܾ}HJJJ2{GEvv6,ӽ{w:tXzu垶>,~m,^wƃĉll~-J%^xt޽\5+S֭[~7P(+>F=qzcƌȑ#b r˖-ʲh:t耤$tرZVƓv| ddd`ؽ{7mۆ3f`fϷ:ۯ"ׯ t:233ѬY3cǎY666Cnn. /_.wp |VZARﰲ2 ]vȑ# Łиq2:::bܹYYYaСs… 8rF kkk髑R,oKk5_m۶ oF^@g[ʙرtx" -°a ƍ;w.~W˗/* "'x^{ sABB~+WVj۴itlܸ`gjæM3fX4j^GDDΟ?\ݻ}Q9Syڴiĝ;w<>+8a„ 9ܡCT*=b 6F"AFFF֯B1k,";;ۤe̴;*ƼyO`VUnn.Ǝhlْ+r]駟/,]tWWWi׮ :T\bc$88X[n!&u&]v___ye͚5,s՗7oh4WF I)$aaa)jZz-~_U<==NƎ+""׮]F#vvv^ck׮IpptIz!a%''G\\\I&KII///`|T~t ̙3Z@ ,ѣG_^xAO.ׯ_7'"c///y饗$>>^]=ZRO^TIII2|pooo޽̘1C_nj/J ޽{""ri7h'OJ.]N4ЪU+h}~yqS ={?>W*պk/ UGUa,;@Dv2oӳ&##䗉gdd.]*zF*NC@@9bpQeI&/˗_5ETgh -bZR80JCB귵RRR0l0tO/6mzTALL žkѢ&O3g (({Eڵ T7/^̰HU~DXb%EgiT3Eg?:ꖝGXXbbb.Ƨ^CCCC\zM6Ett4Fơ*W?pT EJƂR I## 10#U*۾ͥ¶Pyn5s^*nǪyuz&cX[UAuY :֍8GDDDDHDDDD+G҂cu1WmF?QU]-kڼw5oU?گ)*(c_TORJrN6|: )96Sb`dr`)!tIr, R Ux4C\]Żkf#VXߓ+Պ <{TW&W;@n e eEaUb ,ky1020֤z)ۑ۲Ja1VM/5h< 6l[0C12ԕvyB?XZCJ(\0#)CۑAy+$8**൥=*P1_0PŠúQ ۑזuwtcyRxBu#"֋X9*+u*x5 ˠClG"*#Vۤ;fuTTA%*"":3yFz'"b`$1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""",^ӂƝErIENDB`docs/reference/gtk/html/glarea.png0000664000175000017500000001233213710700303017261 0ustar mclasenmclasenPNG  IHDR!sBIT|dIDATx_l}ǿw#)$H,[?N::E#%j@TN 'pm j@R .T^XanyH` D ͆nە,"WvHavnvvngv`9';.@!B!2`Ela}qܢ~X5B4[.jI\tiHu$d,L[:>!x_S x!`3eEZ).!D-݁ l!ť!*<>5k4BK_!!L[?MR\hQ_P+ %!%@HlԩSY]СCnÀGrǏصRbh!%@HRbh r]on=C !Ã-[ܹ-,\rm4sG:Qd&k׉AU̡d]'hh$L!֔l9(!rwbKHTv|>9/ dL ѕB޽?iI1(L@GG[gTeu>89AH^_%ηF>8q'fc|_ǎ [h@FT0aw=F~c7?3z;Ƨʽϑsgu}0'R =!&Ph6`|XY7V*7|хB ߓ. >LȰ(d<.T]r;!yR~Z\y'#b':b(Jf VVMdX2\;  d*P e?D Frzp^(~2L cn Rd?D(~2lK"_?L%Ihm7gD$ I^hmpMW5ju{%<:# 1}vIJ"@1LIJ, `@LN~5[o}>}0;˲8yW@.\x:*ƲXVwk0]n,]Ҡ}pӸpin8 "MSbWurl#PE*M"]}$s{E!}'Ƀ8DZ}N"U~|TGb)MA&g`۶qaYnBAXd t/ڟu-lybۃ iǟ4GO!@R]_%ӕQAjo&&~3*ta_xfoO}6 ,-Bzb2$(q |y[:M'$,f'7+,kM݂Nzdu*!6}:tc1_G#)LA}[嗷~k>+/F@Z/,\v woF și[. PB <6,Z" {O/gbh[q1_1T#Wy(gkNYmů HΟV_li#VV>qXV còjlZ,,\~17}xs4rm SL`;DZ &P:&eZ c K&&> @ruQL70eOM-AbJG&#𛀿b}^/vV_&g,d$P=16iGvMO?yد=JeUuEނeD/JrΫf40&eAKωƁ?)8%4D}"FGͬ_twPJ&e*7F@? Uu z: b&c% $NDS%>'OZ9nD{F+Xn(Hoan` 0$tÑqY'uiQfkeks`kmQez'λ ||/?lF D??3[Kv<ɜGrt`n_m`v77G{ؙ}w;    zp_q~[0}P'E/Z5ІEib.qxي(@g>{BiįrO݋%~N ^]2SNq^Et[f=^#pO\*^I"z@g{'2 #$%7Baܟ?eWZ޺49W/jkbHKr35-xxEt`F`ӱ`>#^i7G$~  x7 ;L:nO 2AGc T%!(d pscy=KAf` }m ?oX?6f4 0MX۳MP$wD*QAZ|nDـmѨ1AψB&dgϾl`5F H, ѫo|E݄rߓfWpeGeKw%%1_tqK^ }{KDGQR;^o5ՖҧPR.65u|{XzѳdZVmju(%UQYVQFP:n?-rFU[""'PbXv 2TF'hpY^ d!|xE l+kx>5)6L <ůS׺vQ]HxjgPu~Q+}O8sjwv? fjB2ϛ*秆WRjXpco|o 3ꖗ&]Ds{Qj Ql !yYQz` TGY(;I g_d!`g-̊'@:uS_\ &P@h d Ks5M! EEtG[͌#; .fG`=QH4י@ @"Mp t`_r33^uoAeA&dV VaJN!Y^?ڄzl lC^1C[Bׄ 85`84O]‰?x D1gH g#<0iZU4\(T& |Li7%3bW@2dyzŌv4$,:/66&36t+MOA C4|X҃}qfߠo orvqju)5~fu D0S)}!3Do(~b kwl ,^ ޾fFXn7OK 20}A Ph|ݻU#0Yk" }nA h$X+~h@ Ƈn&,7瀑/|܃uZ~/asb6߅ c#3|AV ()(J"9QV+яhV6b" ,zI?(0nWK$!t}VYE73y׀AN*L͗-Q&`dwU,5lQWxS4SUm@L&Gݖߟ*4G#0%'WFݜ` m:bS"WnOl v[1JلtS,^3b;S)}p(<7]*oYBSBRJˎ^ o(ǦX:u<s:0`)D|HoE$`*?6XnدmR(z0/1^&bw.eoo4Rc &v3OᛏD:ڣώ1SDw#ԟ @> + j-?nwSmyW/ֿ9 Fvkh:"pD({(ZbGD8X^^&V>vr@6+M3.I<3 йcW"JhA l x&`Wgl!)whfcOH B:1n (\5&431.p^o0oE{S7@w_Lć.6H$a|u"D0Ka_| aqOxH"ߨWGMǏrv0}7IVdfR!a| @I C )14BJ C )14BJ C 8cнjAs u7ܲuQV&eC<``K8?Mxf@+n{s\sV_T !}@h aHp NPſ6BC5Q $0 ~34 6 nUwuDlH;@+E45RUBtgWTCвN -m>Bȉ?-l֝ eZ':?̔H=IENDB`docs/reference/gtk/html/gradient1.png0000664000175000017500000000132213710700303017701 0ustar mclasenmclasenPNG  IHDRddsBITOtEXtSoftwaregnome-screenshot>eIDATxю!E7>l4vg:NAQnR3ࣵՇ5G/;gFJLpA vANqUOVJvAlVplN]ݳSWф~vdg+vs;5 %J}OVj;5oN:U=<=[;ҳN DzxzRӳN D۩(qU!l\vj J\SKOd O;@T>DMIbNJR'NoSmI)Sb5樂)5/(ڜRԍ(RԽ4;ղ(_qJ((bQN)QNY4PrQN5H9J P) /GI䔖d ꕜ3Ҁa,(@\+9I/YҀUS5 (ƂISʿdE%za{HJaZ=J]Ҁa,(@/蔆_&rJo4J/)]Ϳ{Qi@ 0 3L.i@ 2aN o%XP8-Y)@P.Y)-7/O_IENDB`docs/reference/gtk/html/gradient2.png0000664000175000017500000000061513710700303017706 0ustar mclasenmclasenPNG  IHDRddsBITOtEXtSoftwaregnome-screenshot> IDATxA03UT 4z 7C@`=o8ebbb|`YXXXXV V V V0o8 Xc~1,++++p >@@@,++++p ebbb|`YXXXXV V V V8ebbb|`YXXXXV V V V8ebbb|0{~1>vwf@IENDB`docs/reference/gtk/html/gradient3.png0000664000175000017500000000502313710700303017705 0ustar mclasenmclasenPNG  IHDRddsBITOtEXtSoftwaregnome-screenshot> IDATxі:De.77߇U$CzƋe xg{ga݆`#锛ǟNhu;2{ەt#yg$M E]?>cG SڂUeAr; ev|'Q5#2gwU*wU}Z;f ~v,e7뽀u_2+^qj g0SDAuwd`jњfr1 0 d "/K`ϲE-ʒHyQdXӅՃo0d'~}2L3XB.ybX2/3H158,j*6w2#f2FV)A1$}/^,` S`k Rۈa'_Lbwv2^ظYB4X/>b_/̾Pl-$Yѩ7BJ2de)&DVVBef0 I܅E־mVsՉ#QTh7'Ik0 E =6k:HV0{a\"Y-3k8ZaOFbH- cۘYCb )0i3I,WXa:ߐy?x!,vOb 0N_h%`',dN2Q˅XUαc *[Ҋe~ fϨYѩDbɫS;e))˝ZkI 5tޗIxu2HVS_ůگNJoW3(T@Ҍ,oUNfu ͟\h-GF2[:f rr~~iPː1 ӻc0XOm *ZkNeegrrnQµBVwwF1Q^1 'A)h:J`<)Zo Dž)%uHQYԩ/ɮyǎ_Ը Y-֍ Y8U޿@aYo[Y),9̠1X'-bTDSv\'1dp| XC-w>xbPNJޗ9x _Zo@ ڇW3t޳~ \ :3jS+[Fןԃ.ۊah_aGK?Tu\+i_0{5ЯծĩߣC:O?WЩ<,znOz_#)2jٟM.z?M|oY_z>N?/N_O5SyɪYW'&4#]wEc;E$>=i'={]g쳞 /oƚZ:(8[]_T ȖD4hzu1aqhŰOG3 ;3HP٩9mgeWVI(/f)h$Y5Gl*&r,_2B 8nf,E!,XΎA-[@xy()+KT .#uoKM5ةL h~ Klkc&ւHQ g(=y@pY]Kޔ33ىZ!,A/J/ K|W9]pNV_CM~ (@OeZЩˠ6K!8 ɝV?'HQ^tمJf^@ܠ{Ls'h!D['C!P k٨Skxa1f}f+%nF_ufЅϜS`z`*(}a 8)KTtF"Ync/a=!잴0ur Ei Ȅ_zߩ?GN S IHgc2PXeEՏY%c hf,l,U K}$1h*zDjEyeek)F3ɴBXe#-HQL¯Xcr.?NY06:ܒoe,JJȮ YZ?iV'x~iVULo-Pvj7ٳ$v`5K0- LkVEd$ԆYG/Za+2K'1,fE;A&%x d_/= >aSwfu ٕP+a!V o,tƐz`l%= eB!TA&t!&,foNȠId&b2 IQXryn1 <&K<ˠcҼbv&G5vP ~Ŭ Y'ԬτH՟cz0тԩ*ՁEjV}Gdrd@(2]3XYO*%)d fQF*a , fIENDB`docs/reference/gtk/html/gradient4.png0000664000175000017500000001144513710700303017713 0ustar mclasenmclasenPNG  IHDRddsBITOtEXtSoftwaregnome-screenshot>IDATxƟ9HWZg7h@ѦhPhaNc-6M[wW9#q)AJ 1 %|g9l{8 ˅ }^&EQ:(JPR~ƻn,ŋU`fbdac`U09x1$+,Qˆ̈Z (pâ;L Yx#XrkJjܚ2 ,u|$,`jJ 2,r4,_+`6,h~lj躦jC顰`"Qb&r*UMVe^ƫB`tGDWRZ6w&^N;,G$rVsr$S#HWTSX| *:%uMruFW U.FXe^\W۰͟;?8uF!,Ee"U hlu2JTm>UTɡ.NLл.XFRn}9"9ZVzʦ&`1 [_e^ Y95YVZ2&SM.D+nFe6ZGm^oK1PQ ,iǁIx/Jժ?kjKgUvn[i93 [ K*\wԤÒFX:D,қZMjw6F: >R-ѹ5+:" Ȋr 2}]cUɳͪlA.^EUYƱZE_z +t;)LD6@eyFJC_OٶtҫeH ?N-n, cl/&I@$R'杕_HڠAt*,,N6q#|a,:Mo٪#@da9 bڊxg{ 83|'FMrkoԗlZo>Z|y08O&lmTP/euV^o n?Ww F\.0˳+VeMdGO֯oϒ(]DRO_zdn(. r &S xL;q0OZk_$WdΆ٢>|>zMl fXM\hO_j/_l )Ú" 3tS8^=|~|~LF$e7[MAx+1ݳʣ )RGO?7={wW.=0l![R8 yo^} E/_%_m_F"fvO1UxJ=~{Ob/[X  ~NA*Ys3fhH$ȸ̙TJDdA=aʲ (:]_rѝ>t\?l엧φx>_'f?nV>Rtc1X0"t|~ D*(ψR/m?y=N:/ XndO_j>=O13Xp)b $͛g*kAL"nZ MN K:?>g_b!OO3gõZxG*<_Atq 75xgŻK]Dv҈,qTشo?3o1!`"$< G+G#^_>%-xosU:q9 bI'Մ򛏖|?>jϢ z ngpgl0}ȃәs,')_|~dI]JJm>&2S1IgfW;R \@+Pܟr`G׏xƫƱ00X-zEIt|2>BVS DoϢ py)aͰbX39VkUngNv䫎Ӎ@bxAqKdLuÍѰP$ E+EDD.Z&,ۈmD\APIZ:$EcɰfPX{pĕSdEZ*I{%j8956,: 9 }rTdnd불Z E #KM6A%'rmI=UD!bE+XP ENA@ [@)TLqU*VlyMs ::r;L@sXHMJ"Tu#l*tPTP<5rR\%Kxej  "$Dה JPKiGRt#TrFxFyFPD8UQG0U*A:C4wv)#P/%<#jrrPAP}P_ȅjPl~Bws3)HGxPX NR -n,GHTC4K dبBir7J{㏖G̨8Y谏)ǚ 0iH*((IaAVBknX+b1-5/UϽʮZI0~gwX:^)R>U N* ^;2t%oYYS/:184mm 8S}ì‘rt>U[gd$8I00%- &TQ&Qt6R[ xÙm.>ؼcQS8  k 2UːbX1N0J1T[?z wV  7FRMD̎tWfT.ZͶ/(l(R@J ]C EB\fd&'8Mvsop缷(x)d,a"sP,EU@04*:Ө,5%ک/[ Q ?'So87?/Kif^sjnavk(jG2~n_|,3{NvaoQ#SƗsz awD ΆX0Vpajч$7Edhg諩SU U E0 N?Vȶsop¨XAit/ԊO +G_#?_詵DsKx]?,ZSDA*+Rx&hlaK[wV|S 5UYh>|oBzRPB$Rn8G;e)X,Eb#aaz#|m@NS'OO˲j,#)T6n:O}Y^u2gRBnxw nʡ\e E$&Y{/yw)WKNe|&^k/PgMV::]P+5URS}z3lQ+q)(Bscϛ fᆷת gJwGWe|mDQ㵌lfnA$R KQd[vz ^mMd+8Xjܡ 8~JπQKRwV|,Mf\L"T1VU F$9Zjej`bTX`FUg + Tl;m0x'S[x* 5^dU˝ p-.y`mmKQ?K9mHXUUUVCYU}]P]ut8K}Y&̣,MsiXVM5ב* ` `SgTJB@> b5@B吘mo+ܨ&e:-0È2bQreT7WzHS:1[ZXL l}EmPb6^ QP{ܾn^B& /[H°C:J9)%+aae [uRh /[H$^`%2q8b&E吘lO(vlXQF^z9lZߴ2ilFaHtjv6&XE=|ᰌ(MQIn_ۇp+F6}L?ʭ ah _?(E?&-hGc9kmȫŽ o6R5<:BbF^Ȉa5O;{pDb`{+kʘVe]cRje|>x5DVeHJuMJ KHă"ѝ^\o1ݭAh 漎حgңFRdGQ\c=dCr]SYh,4% ^eDKiC%:4*8 ~`yIZˋ M;eDw؄1$ȸZ_7aI )[0m6_ a^Ɯeqf:&,aE멃Ͷ F[2⺯5# kݽq뚪հ5togyrf݃mѰtwwM``d&jU6,XJWmp,ोaxr2ڦxƱ;r<4\.+YF^M%4@u#s8eӗM̾ .{S' IENDB`docs/reference/gtk/html/grid-packing.png0000664000175000017500000001033613710700303020367 0ustar mclasenmclasenPNG  IHDRuzxsBIT|dtEXtSoftwaregnome-screenshot>pIDATx{xUߪ4IHw.8":Qqm^wvQG]uegUP\\Y(  1$r Iwewݩ&yIS9UܹӶ{E#ğÚ}k^2d38 [.Sn?*趔gqEŬMEEUUU_'O_7mڴyĉ)))h 6nȸqb^b֭RSSXYyyyBHy=6 9zZEnĈ=IzqtrkA BZ#@&B=J"D1*PXFBc*T($%e]pB5kְ[ft)Lt9yCFsc_;!IRe|dYRSSCUUonXP%I4<oFNjJ U?Uc?}a]fz<|>,޽{xtVhuFwM|Cz{5' eO ʪ*:}?QW]1#G(Y] a=cu8 t8ȲU{G@bb" x^, 쫨 ?##nOOodrdYh It]?@ZZ#G;v,vp2Q4t(-†6i3-پe3 "vh( (ӝ7X;x]*6lU)a7sٶ}O? ,Иl6=';:pv6ǃPRRfN]DF71k SGG]\y1;Du$IpkiN @mm- .D$b1TLE2k Fjbʨ%77vџ~UW"2oXw]=jGX,|ASPYYYdddKޥKjǏO>8ށj%!!A":8]շo_TU9hP A!4447ߐ:˅G5 9peVt]FDѮU5N|>AUv4TUW] j222(//'555nת£ &==ŁHIIf\VV"Yx<rssIKKc޽qi!~Ap\$%%q9ļe˖aր@ÇRS ?!T)B!T)B!T)B!T)B!T)^iTVS]SMOIv2d:2hhJյ(cƒ'1ɸ[)Cum5S2_TB3"[B,aCNaS̄rl~7V|>l6nMӄhh@c;uQ U_P]&N@xGN6&]ƈGW"N@h4MCBBCvN FB? N2]TG'HJJBeEa~LFrJw8xk]5PS[K+/107{ae[|a??@dƎ9[G\.NF#Kf\|a>x횦Q]SCwNO6m:n+`'׋B-O;ӆtL( nKDSSagoަNss`ܸDPn™~hҎ;_Ö/rVW#/_IHMMxu|.VQYgR>ްGO &LB(!ǜu&./.xM[>GS5:_5l\Tp_mNݏ?t8;||כiZ n#ԛfeIbڔ)h[Vw'7 ?~^X,Tcqr xXC.x>GOm3^8{WͥF4&]v׼c`1=N+VSRZ3O=EBBX--nQUG` Ay!C##UUQUu NMCz}^χX.kSbU= $;-s׼ >Z;ECQy'''i$PAږ4}YrUUUȲL~t" Y{,E/nO2Fj=*7۠u-zؼe {EL\s|N%Ka_Sڠk}q#GѽNtBB멯g+2aH1:pmhii l2b'UUYT:;Y8|^Q;% []?@>}kaE;g6O?;c@:z}MNkfϑ͈æϾ6;f#2=om˧7s۵WL nUU.7ةm;vmY^okWܧ"-]TK eVNuZħޑPUU_ՏbkjԤl$$$iP$an{CYIJJ /r%CEQ".W;BӴ^a'I! ON}z<]o9rr^o5D}P隦EEc|J} v4P;B-QtiiS:Ό{#1FSSdb>)"n;/[MFDowdZ$A$\.aдQ3P!&pPk0a)jDH3F @;>Q 1`233YPU׫(v M[;%U"ӈS L*0">G#L N\JlEA ^PMQfAGtw2Bmjjb%l޲Nn#n;g=sfݻYd>3O=aH9٬yknZz1^|n^"ry/}`8ƎM3fR'uX$I$%& aۈKH#Az' Ljpi#=o쫨Կ﫨`D\zO@k ӂ ٸi1okGЎcsBITOtEXtSoftwaregnome-screenshot>'IDAThKK@gjW]"_@\!8n]t%\.ws}+"(BQڪM3"P$өtF=U_O&'c :PWvCcߩ:Bhey~6scL) .FS|1&: کCLU1!*vS☆N^zh!N^YU}ey)@Lަ* z:TSu ~뺲=*1 P[u\DJBL&^hIki$V'N[mu˲gfzzcxo%~gmun'`_fG i4 L.wnN1jJGSy" "1mY\矏)^8<2v8?ñrim8;(-nH!T*yŷ|1!u z_ zҲKy_4DZI." Նa>?cʲu Q5h h'+E(H)ܺĮ]~qQ*QYUǎc[oD-I_kk+v;<Oaf4dU'5`IKJE,P+ s"o4oCC6ƏǙ*`ap:W|w8~TVb̺ۚt ;{DŶD_6~|j/v#/7ӧތ\ I~ÇBS.)-Ŭ`ZQr?ul X,m][WC U,֚ڳ8__4 +3mMf]'U\D&Vb]MϚ}<C1vcɣ׌z^X'!29FBFFߏ| NwOx'p|PR\'Oƽl!曦n?_6k7ֱG'Lٱ WC_a$n]0V//fhj.e7 S&O<ߏ<O<(v;6_8SYKJKؽgptx*2l9>z_CbSzx>TԠsp:30edcF_zd+"\rRTPΐWvvΞOdt|={eN> Vl|kļgϢ?rǎiT`17Ke+dqO/9!kjs˯Iޮɬ7!P 88v8F q]ר+:)Ttyވ.C?CɁMii)`i1mZļE_؁Y3c…hhlOP6R7WZx_' IPS[ hnn$I۪dB5kBn=K8+EW^1ֲX$kƴx7/aQ\\Fx]wcCΚ>Y: g^v2-~> D?(n+u&2$)?熊Op۬Y6Ge|a#VrnN+x׮ M| eÎ]qQ6 No_é31nXײV%%(x)ι7Loɬ7u#I˨ wszЯ_!2#W9I50J [3ϦtKn;Ev$N|EVwп_?deev455ܜ_XP 2DQ3\vm(*m|q/زm &M Cy_c=aঙtvkܿVwN۶o'ML߂?BoZi/#]Gޛw6 %%v#BJ-xi@0ZvmI2xWjSyOㅗ_O?|~mh>g 2y>Se&٦C)Nbf$*VK)r{]pY0?MM*#".ޟE cC'zmkvqςeZgO$rGk[kv$jӆ Q$IK؉ho@8FL?__uu().k=+$R;z4Y8>o,':⢢bBԋI؈|,^L<)t xp54ĵ,V*}$IhjjPwzсtoJorX,Ms~t;n965e%إV<$Ok%5oSs3vQ[[;Zb޽زuE-/!T,K,hCF%eIeW4nrU#G&5SSv٣f=xPLeuÚuusruJTVU>4TFewJUUhkkǕW@.Rcn\ˆ ?/yHwz4y邼\ <LhD*3^ѦB;SY`-8}4`E0qTl܄? }ͩSOUml̘6EwޅAMظ w~;:eEA޳~I 2Ly*l6+JHGu ˱s] (,,,oP]SEw/(w4,Kd)b.n;MX0.̻sVz߿:\6d0 ͧ7gb޽w\m6|f <"?7B[BE}۝&p,c݆ y% rl6DQUFChiiANNAaGfffyNZ~|y@VvdYFSs3 zHUeef Vk|6ftv~}O ik]J99hni,(,(ywȱcؾc'8vkr tNCm1˶ZmfnCe@eج6q*-)Źo!7;v= &x~GnNn k_hjBnN:\!qddՀt:;ͧnEرk]. <---|ppʊ HA 2Pw.ep:(-.E~= Jqx^×w@$f<, J1 |IÁu*pa7N˾f8|};NI2sfjk^zI)2xw0cTpD|y <^/2\?FuM-Z'())Iٯ;*);uccoR!=,xpȑj(~tttftz㵶Ex<>@=pTE>ι~R`W~-W|;B|W~ hwVR pXѹRIZ!"cN(J;!Ҍ@) ~Dńp2^7TZnM@ DAHkE88$D"YWPQOj58tǻѹʉw{bmgm*m "*ʠ%DDE Is_Bx_mG8\[7"j՝ߨME}cCV-ʅC}6F;CVBx_!T/J#mSQ6D np(ApZ 6Dn^Yuբ4*=DsT}P!`71Q^bAʠ>6e ?ÄA>F'ĩ%Z$X*D=KP~0臊L(u7+(~(P!ꞌ*2 xQSXt+U {.O]PxCԓޟr|_'iDԵbFڏ.DCDLp0lҧۄ%')sIENDB`docs/reference/gtk/html/hello-world.png0000664000175000017500000000652313710700303020263 0ustar mclasenmclasenPNG  IHDRxUV :sBIT|dtEXtSoftwaregnome-screenshot> IDATx{tTս?g'$$A@)`Lb}`TytYVEqZV R6>PP|\B$2̙a 22Zgd}gϙH?w8H`,qL,Lq̙> `ǎ=R^^צMf]W㐦&jjjKffZZZ޵lW.Xtĺ+n#_feܹQxhll|/55Բk׮yyy1@$~Ȳ,:r2QU5ꆿH(1t:immLl1R`oUU5KOb1b&(!r1sFU`#I0mǂFU^=fU Y7b|OB{ [@IDaa!EEE&v(,,t͠g:$Vz-|#k^^vN^^~ϧY` | t"]z/PuKiV۷sUWa2:uj/UUپ};YYY!{pGg'o(neI#/oaYT.ZĿ,Z8Dp$f3&j.\bA(TWWc20͚5s9~~rkIII7UU,_yWC#_~3gkö~g~ՕD󜕕}9Pn2ti5"ɓ5<O>ý{`ْB>;kw%mmٺc>Bbb"e|Xa eF~~>ǪrKWWfc(| Cx .,ЮP}Xv0cZQTGf&m:_Z}WUUܓ].Ɛ}x%\v!˾x},r>EQѵ7I)͛O^NN'n7"IӦMl6k9"x$!k\œOŵkoqL81~k\7!DȲ `2r!û,Ȳ"8l*ZXVL&z石gvi}455>qDغ/bBzzz¶w2o{^ކF==LE=Ҍhy8Fl6PU5Ql 1pDjjjFǐt<vdY`A|L84>#]kc!))&UUUh_11|>ǎ-#㜱1s C881s C881stE !hsF;Z>d#ۙMvV7Bt nR^ZNbBn' OOo?Ogt n  Da6zTjj'A{@;~Y#a}l|8v-1KxNcGp! @"l g:{rLzMmK`-~pim]j{lnLv}ꩵnXbP_=-|>z4bH#R{tgϦ@l!K=߁+%HSh%*NkWAYI1n ӦNu'N{(-uT;DeM:EQgy̚Ko ԱN-xxzz\ UPRߴwwǿrss8'd OY߿0h T/Ϭ\$&&PxƁQ!^-˖ $2+.7 g|$$$b 2e .RrQZ\@ HO'mܸ>+BK޻dFA>iiy!!,: ־5'ny6utt A,T!$dd9}4iko8د9sք (>_Cَ(L)T3bR "dB`OI_ofBn@:p!IZZy,[ZZ0Ldg5 dE[{;7\w]]EY)U[1!7ғf|ܸqHāM{NȶΛ^tѪF"_gZSQ>;;k8}xoۤw6 [f6<~#]]]tuunó|seHRx_Jkp|ӂ99ddd‹8XNl.Uvj|~&p [pqmēkq ~k/\aæMnyG&Ko΄Vܴ$'M"m8.(:?8!o]Q e'\C|-+(ȟΣ=M7_Ȍ質3oٲE\~7n/VArr2'vj$IXV,ˀ'p|YZe3A}0$ ͆X6 0p}oL&zzzFjbb"ͅEFW_~y'YR B03(.{^8#sg@0 bph1DL=36"x q,tDɶdc;$I`KOBG3ήNk+륳lgtEpFzhmosILL$ǙCFzߋ%'331[񂪪(- d|>F F# C881s C881s  e?=nIENDB`docs/reference/gtk/html/icon-view.png0000664000175000017500000000734513710700303017736 0ustar mclasenmclasenPNG  IHDR _"sBIT|dIDATxyxTL&ɄP@X"\Hn,ZWE֊ET.bmd * $2T3IdL2$ /I9Of9;s& H]gdo{EED*)Yo("]s:Ά74˖⒟^9H]cRWRv'5"e x$"R NR_|D4ZރȪHMi7<ŧPPHMiĕqO0T\AALDjPXOԣ$>ERox ]Aj""5Kc 1۲}Ku %"טĔZ߆3jLu'"׀i56NDHDQDHDQDHDQDHDQDHDQDHDQDHDQDHDQDHDQDHDQDHD֯Kx֬eێy;6[${иhmzzRE]ztoJث4Q8o3n1z]p8uv/]̭;T9}7l'yOuhĴe)@4w :w[! x|n7v(+yyyP^$A)ɾ۟GVvvuruedÐЬiSx2طvO' z'qRH=lf&cOoB}:c&We?hY 0tHF}obdzdo= _4'Nm]Stۻu'O]sؔ;n&f[@qq1Ol~g=ox{X~RUCRqn#=v< 'O}@=8 <Sd?3ǘ;s&nw1cOn P5Gm //qR_P@Pp;'=cS у(e+ڲΝ:eѶm%Щ-Ԧ5}g3g|$>? @6mnopu,Θɽcqqy>.\PscZI–rز# N%y@[o'$ IMLYڶ7Fxx8͚6K4o֌8׿ۖo -ZлWwfM |o52wC "oYz vI JW_gͺ)rH@LtKxp8oӯU.XӞ<2q2cF"e4\68N/]Rt֍Zg'}YYX,bT(b-Ӧuk-޽وYӦ,_"#ѽvyأw Q# khѼ9ikW3l`wv]su Xx<6y ws^Çk?b0tkl`J/[=ʫyYYj%QQQW%@~nnh-5Z&U$"z,@vkS4RS~cl6|oŒ;* %444D):c 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1Fc 1&:KۘVÉHWmJILD_NDHDQDHDQDHDQDHDQj/a£_x<7n<m䧞tu?qOjH~BrR"}qϝ#%)<f*T\.xJu\.W$'%#}W; ~4bLJ0(%>N*M3H>wg>Sy,Z9g^Ʃo99$ Ley 1{~6a'{>Oh:w]0Î]CxxR֏>w'<лF:|^^HAA_nƍg=gaa!.VV x!!!|~_=ʓ&@^1yn}c􍍥O^iݚ!'' ftLqF}??|,)(($((vmoau[ddniߞȈ32|ڷkGc&f)@u#͚_-+[ I(נA}nO 6OޤrsWI_ /?<2qLāC|שV+ (kGz8d>ߵ';Ĝ&6Y4nܩܶ-8} M`#*?$2vf4pOs[_+i2:>ɉ lشn ''~dgc{MH_ʵIG@uDoyf,|u đO?.-:%Kپ33slhwϞ4jԈ&eK:kxny6}8HffC}nnۖcbXz ݺv%2"Ν:$*ަGDDDTyrmR3陵4hP_ϯ/%+;ʂٳڥ XjE"#$2 p 0,xf4h=bRr߷.uUSͽsjGQQ_\N7n\ay/ ~\,YAaaaPz3= FLDQDHDQDHDQDHDQDHDQDHDQDHDQDHDj'Rn{DD(.,E% (E@Òna@h O^Dj/Nb wE.١o ~o{aM\Dj=v8F(JRڭ4@xtB%b"R1e(,DN* P1Д~u|A58yJ/:_,D]Tr dx(M(HD*[4@`K7E8S06$-fPؕHCMMg +h᫜)1Eؕo-~A9! i/~@ chn™?VN c"a AD8&@1q&e:߄o ua!$EE%d%JC”82?xG[a%R0ftm=HČ%8ɨ$Tg"Ķt@z_;+}8Fv&XeRCԗnIKM˼t\@P4NNLʔYV uu`S6HEK@Qq8 w]]BˑI,\oCh[ݕ;)^qw?WF'?tA{E =J-L/˚CP)IGvx^L,+hE7`f H+y:;iIu¯o'i1w2μ;Fʄö}\OjGmOe$I2po'me{ u6b[Q|RsI7Ş˶-=5{jP]$]Aʴ^}yKw?"]Utob |IqIMK{-y8{4~?1݊e/ QJU ufƺJR JH˫*D鬤l'_^!c`GV%#GK͔Y3b!oދ+)ĉi G+i+}%_6LOONri='Y31Of!k<#ۅ2Xkx}ZofNRYƶӇd.G5R yoB4YFS/ԂZe8J 6p%ĝZJAvxfpWXF;-e7܁3u*z_;Gߠ!juܼc۶mZI_yip6q"8 Nn_Qo6s%IIKӛ2_m,,qWߴgjF_+-oT}0E˖$Klؙƶxru ҃2<0IS{qg .>'10ʩdҗ/ ۙK/r7 ̠NJ!h_4-Muu|31C]4}T4X4\TUd6H`ڜyY*c!+52kwpD`P\?of|+ZD+aww'Pni30Zi:c/ hn‹ɬ*Ћ'=4XJs QC Iш˻̫^4o6$a{C7++}6fÿ^Rr'1uBn,a"a+| A&I'tx7]D` 3hd,3D8a(^glJ{])e5]x}9LYKEu(l7yI HDD GttI"oQHyü!zcX4$">Ü DJ[OQ{\ˁ۩?h̵3-!z@Ύ.ffm?B-0ڈ|־|مMǒNW@K'jQ(\ ǁǭ!gMȟ-+po;+M\I}iV"(&37B\:}wK;m˕kq{xehP!ޥ_]WO[oZWØ GHW0mpDQ]4$;DӜ6݅˓@]D~ DžAU᥿h!&d~!׶vD|>'`:r#g8.P8#e&st! ll6-T'E6"Ơz*#yqx=q7QWWGKk3u5$h].lGspѷ5J7W(`ؒ ve1<ꈿ ٱ]V޸jjkS$1bNM$Gyjc V]>'^9;@Q__GZZN>Mm]%^ta&-_޾R#q-fq+A>;kƫ&*^, ?$TO[jp!DRUUU lڼ UQɟ<}V=DwOI6,0%~yJ+vsW?+3ǐA4-:@h[e֙;Hؒ]!\q0 uvvn:xзqϚLL cZ !х|e,J.-$o^"#x0 cZ B z$E$Q}$r vԠg8{QcWRP0Yh!7޸{Pz [ô,lFUd<ȴ"&87/rEVQlk868yhѠaz5NAp%Πa+_- $94^/۶ʈC¡(հ2V~e(wyU ? Q8+t:}NgI5/CK( G\öO '`y(Yľ"zÁ?WzZ:PӖ4K Gϫ8<ԇ*;,6,Pμ$eyմ{ T/66)ٳ[Up|SzuvE}YZʤaȉ;N=Ҁ!qmtU~H%F`u^+EzA<7e[NguW *w1ӡ ;> G4N+DKȽ{BXDpH={e6n '  EU>QqM^MA8<FL+:BEE=Mf')y.+x5t7{66.M^ÛÓϩ-O|+w:FO&F1-Lqq16#1) 4 B*twvyHMMd=L!?E4-al6rBE*yЫԬRv?ǝ4=j/P&!nZE_3MӂwF(˲HIIaXG! !IeiomMUٰa^`0<;8TW^4M㶴b; &&ފIk(Z2Y79"M\M$ArٶTh!z#aXi޽7}.wVVӧ`Ŋ/qUW oRj܆Rג< iS1"&,3mivyndŅHDugu]}Ə[R鍽;.;dY 0B [\D" 'ޱn;BM^C9dECV4H/F=A]or ህ0D!a`&p8v4!`YV/IҐ, u`6Xv{=`FމHKPYe9v̯(ʐ#j1dȜN'@냗zS |۶:ll 0TUEӴXI($Iyك \퓷 >E?b=¨'`8`qL c"a AD8&@10qL c"FG~փý"@1c@ ` e2daՅa~``0K/ˆ > 8Jq׺{)r {Dzmfd9~f iip?$<˾$IpT+*x ODCc#?~(-+CeV\~!\.װ=Qtϟ'~c87KlWMxgϲkMpmG?^|asfώ `&x^~//}%%.E(,(`E$''S0u E3f7q"sfϢ:v{﹛k]̈́\\J9BYy9)9Iyy̞U{ܡGgu (B|we^c22m{W/ֆcu||ކFO<99p'*N'[֬A4V/ \xYMKKEnn[iDGg'IIIt? X`Y>GɁq4عg#?AɁSr ~4,"\<0N\p+_酅dgYyI_HDjJJn'g9ضMBB߲E  ^qk5q߇_c?^+k23cbL|/pN)]\'QUAS. aBn.'*r*EU.!N[%5%;ngWK0a=ǀ: ?qL c"a AD8&@10qL c"aц~m}@+H|Jq@|2a8 8/ pl8:G;D#DtyK |a6  gz67pAb D"|svG Hfs~Ü !&B5hpk,NFAg``0S; 10w>5 \(~hˈsa3? XT"Z/6AFAu|_" jv]i<0v6mIENDB`docs/reference/gtk/html/info-bar.png0000664000175000017500000000441413710700303017525 0ustar mclasenmclasenPNG  IHDR[L[sBIT|dIDATxil}# i)i =(UHDTڪW/ʋJ- RhR RH)IHجc]{MB}G;}fDDDDDDD yn7kYD.ʯZTPX")*^ھ {JcvmYl"/Sc+n)RRV@A["W3)nlx"W}@+DgS>!_:E"ZxY^ +SYe&ښپeSYK޺IyYp[:XO_,.a~"A;becF> .%!/۽5օVgR X'7<ū38-+GԄXğgرu  àPwdOqߑaֵƉ|<>:Y?ȼˋiKck'C$/x,y`qxuF֭7𥫚K_ws>cȮt<ܿ6qǶO捴5|D%Uς{$C(5}D$H3 F#N{C(}Gm޵sc=p~;zMjhnLm,w{ ؠ Zá i/YKR=@u+6/ U}< ~6`(#tA0|΋ BP4@4|%qDbIFFlj^҉E. M:qi[fgdfa?SeN4uHuҘ їr>km!!Ycaa-Q$gӦhmwم&c7z<"rmC1jB|vz-^ܻˆض>"k;hL8WsWXT˭v+G:}{`iq:L' &[+z8c$i)Vu8moM[qI[} Zj#;'^m=~qښ>h|[nĶ ^H'm^7gMt۶9=x?}-"MۿxcH%q:]Lhib'3۪:JGBԹ.@oS|3\obz-N?`67M?eIa|l`%hn_K Tyo`ӣBc [;>ͩc 0 2I6RӸ1,G90vz`)39|EHk,T|< (b S@".q1)D\L b S؜|w9-S@".q1)D\L b S@".q1)D\L b S@".q1)D\L b S@".q1)D\L b S@"˗]ͺ7G'wh"2@[Lbb@x(@p/"S$3aPJP(I cfP|0Ylڝ )f Mf@y/"/ qld3SYf`n|`Qw/"t/Ls *P*~(D: 0oK)|C Yg@QSܥq,M?flW p [|ߙ3hwcIENDB`docs/reference/gtk/html/inspector.png0000664000175000017500000023230413710700303020037 0ustar mclasenmclasenPNG  IHDRTWGsBIT|dtEXtSoftwaregnome-screenshot>-tEXtCreation TimeFri 22 May 2020 12:37:20 PM EDTs|3 IDATxy\T 0(l*{n[v3+++K25bYnWK彖eZ撹"*`dafsf{DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD&1-ĔF’S8"""""ReU,7+A+A2p\AHUZq=.2ǒZQ34.EDDDD֑S2W}zN2d{\d%@eؘϼ9݊ȭɓ%۴쏭P"""""""9)&5k0*!s*WDDDDD*:Ȩed{}yU%uU^ɔ1F!2\ϼEDDDDɭI^nɓ0ggeDϡ*nB=)|k1r-h-TlρʜPY1Y& 9;}\8 U~R9%RϛSbLr\92p= {)&Q;/*eJ(vHw"X^Pe/c UWMr)rtPɻ_2EDDDDʭi^$*>ڪa4=UQΝ+܁[7<e#fw[?CT]א~֓QsOXXJ_yI +s2wE(R]9Xŧc,""% >xJ\=v^*8?#G~~|~z=p?/ŗ_u.\M4a/t)O-w`0I<}WlKMMyͱTw8"Aaύ* H*Ƈe*%5F3 NmF x!|:CWVuulߖuH\ϝǩQ9Y\gZ0m9O;wb'6YRSR9qnҘWޚ/T\9R|];`:{b!)RT¾^2DJ/[˗gpvv׷&[`_0Ѷ9y'msUʉ5_lwsh$)&6fj ˶f{ ;I/cŸR 8u:sfW ^OYkCؿLMBb".Cz H]ǴwV~=^ICwz)-elEKg%6g=qxpw V}V- m+#Q/Hۚle_IJJSvsY ]_b.]qXC^~q6l˅_iMz ۶;~oѩC?Uz;+7eg`r2kX,\K(_os{~_i.D_ħzu=:ߙkyeJ9;bW<㸹Vq[f3ɜ={Z.%d`0U)5̲o?"99MHqIa u~f._Jݠ@ռbZY:~ۼ+Wd0itw-8z/>$le۟$$%ѴQ,1Sn뵛r:QߏF0~L`$ kII7Jê]#E8mMZ8uF >8ysTru_ǰx,>5IIIϿXx kFSv'>ܟNGE1i\矣[.\MRRM3իqM /?`qɜ>j47 ޾z~7'7{ӰA(ujfJ8u5  b˯P^t+>իxJZZjrbc0iˤS|,Y=/׮c˶?ynУxzsƀ`מ M&-w?ͻ_1q<ү=Hctj`Đ?%bm"4Q.Ob[b08v$>ի1a({W$F{ rYsR3..x}1քH͚5xՑ mؐ)T6_JOW'McJ9/o^NuV͛;v9}][rRSRhۦ5 Ah=eg;}W۸| ~8=ӶmOrJ2.cK  ׷&^{x6mz>@P`5֬Y~NGEaZd"$(3g9nXbXzr)ړ JGLNNN8:9ތHJJM%T"xzxk^BnuNNN89לgPWi8 VG|v2vd7k;oN,ҒՕ5j-4Kkt,S͘fߪMNNY>XwBBϽ]:u`Gè7ƕIAyzzPˋw04Wܡ=چgeoYK88+KV~];BJiN7& X-bX0-} FFsœ-gXld_L"eUle&5l焞:Ä1ukTi OM³wS{>-^J\,3_|}{ٔ++<$(mzNJlڲ%rkbr\"K>Y&Hfo|ta1؀tJ<\op5j={l-fD"8(6nϏ#"| C?E``\+G_%K8}L1:T鯬'''֮@^8מ}9_7V'oVz5 GY,"OL;?<|4$RVM燶djט:5jr: }`* v(1dy+1ŗ}DG_dx^oVr0.2__`6[خKFGG9_eXΟ tjߎfs)ش >իkΞ=ObB"W\k~…,ڃ v߇egnZlCGl*=ٳeoڳJ`OOOΜ=b+s̘Ł\sI-}~xWʵkXjbc/Ͽp8 ]z\˳>*8ބ֫bwDF/l`'}ǟ9sSN3oq ]:uwDqȽ`ILJwe;b!R,nnlք̹$&&s>pqqSۙ2",\4nsE..toͼq \cڦSd癆21=v}*Td C%[^)Q?+\]]3s:s,y_r* iݲHov=nc)'Ӵqcfnzyk<8L̘)_WGiK̜^EJj*B Յʖ[y!4 _†\Sߟ)Ǧ77>nixf4ۓ [GGԮwV3fy8oMψٿ2ɤiբ9=V??1dS|>wZ4udo+[1ΏW~_s`4PKf3fƹpqvAz;yN/,!o׬y;qO7j .\Ýw%(KWH5GmZ8;3sb6i0QÞrVNߛV@۳ԗ_L"eъnW'=c))BqckVNXX*R~xxz;<[l&59' gWW]P**C%`Hqhb!q>hФXVV+GGGvbZ]HvaH s2LT\J2  V5mܲZk"1p?h`0b40mD THՊhLK0` -**uf< 9DǸ30ޢ@ɔcJH> JDDʐJgmȊeNDDlw)TC% %S""""RҌ@DDDDD*'"K(RQj UwVQ""""""BMDDDDDDH H))"%T""""""EJDDDDDP*"RB%"""""RDJDDDDDDH H))"%T""""""EJDDDDDP%EϜERr2^A>IDDDD*с>H5TҥX6'}KbbaNs Kb;<) F1呡glCp6gYbcc(= @@:|Tk\?Б#BBBB+˄jѲo%KK!]˰_!՜JU/<=~QQz},^({#""""R˄|Lɔ;3ZĽww/spp(yDDDDDr޹+O??=]C ՎOL P6JPll,F­6ԬQ3wu0ihashOgbD""""Rфo }۸/¾lȊ\&T^]|^З^3ޛFJlj0{Ƈ ⳙ]=nH0c^57񺺸0gOeGkG"#mDFGkȊ\&TWy*Hn~TTS'N>ի3OiԬUühWz\:w@X|r|5)WƜY3 ϧ3SZ5;FV<:T9_.:iȐOdq{2CGd22=E2&'2L11 }f3g|xӒ)]ط6,e}5l#}.P35{Ƈvm旓]iI7i2{gˆuvLDDDDpJ+r,`CthaܠJ*,o{QhmZmyvp[9*) ۃ_y1\'Te]Qwb;tțް[<"""""eeNNNL7oﴦ/>a 'pvvi&5l`'55?m$'%QfM:k{Wvs#,]ȳO?ek`Y~g|~jjxxxPۛ9s,~~8vp%$&}ǟ:uk񸺸Zp:`5||`O~߼{r] wHɟiIUQ8:pt2ix>Lx6y7yY%?p6ֽ;k~\Of"Aڴi?ydF믿N"!>gd2Q7$o-c_3x`"""#2^ze"dlݺH^,ˏ9G `k׮HL7Cs_8;;] 1'EΜ=e}v…hj".._7n?3{>>I|jU'M?N&MN n)Vh>pј6`0лgK퉻v}{nw1&]R%WM;kݷc8q$ujӭtҙbbb|rQjU5lH UZst/_իb0_3ΣJKN"55v~ xwwti\QtH&ΝcҤI]ʀG?111D9d%ؾD;(Y˖ҡCnḺrQoBf͚EN\̰a0LEu^quq)j}Q"##IIIEqnnniӆL@@nnnZ Xx1;/ry {2:b/)))\z52^T,7 6d2c{jv^Qݐ`6`GYKC`sN8)8y 䙩_O]˨ 8{{$&&atHDDDΔɓqtL ;99'''֮]ˡ_a,]͛y\^Io͚5,\\\tvAv?jrY%;Ӯ Urr26mDɱ 3i˜HY2axƏ_"h_UjըQ?#Zs`bb"f,?^8L}ۗqQvm#X*#'M6QFBG*@L&Ou))X۸ԴqNuX1ܢG@ڴ 2{}̅ ќ9sN⌯oњe"E?'l -9npKNTW_/w5߻DVW.L&:}͛7d`0ƍ;v .ҥKٓ۴Ys=U*;uJkNX>}u}mذ޽{ӴY3nkڔz39s _i~G\3QQynkLL _2oXwEi}lՊO?fG&Mhޢm۵c1}eĉL}-f~1K,!WGrWժVwj֔!c{:uLiպ5=|L4)}#r3d2k҈DFF8=$$ƍmf3;vq)%%vǎo{~S^됊sǎѹ-77J3j&'';u:m^*U0 =wgxzچ:thL{=dhw Μ!(0VCVTܵgYjΝ;lN%d)cSZsmߙ-׻/>0z_e1hт6mбCڷoO޽ٸq#=,m+UDfYl߾O?ZYN޾};||u_^,..7'Of߾}>5kx̙CP sAV^O=Ehhh7onnnD9_vJtt4&M">>qcbtpwwd2ٳCDTT1}ɓ9v_},]=^vbȑt֍Kf~Z~ڶǏQhb%vUTa15?m07ԩ&;vϠA:l ڵk;PLJݻ|?qjre̙C>}ٽ{7Pmprrb+0v8ҥ Qgp9ZlYuʭ9y˖ZjD;-]-))e+VRLJ'Қ5kT͍ ٷ?+zwd5zٴy3uвEspwwǧzuFD`X.Fs x{W]*swi=} …h[\\\z*[oyӦT^ Yr*qN4OD$g"R SLal"""ذa?|vrkl<9;;3ػw/Ο/?w̲~}][@ȑ#lܸ1c@HH֭c70l0Zha[gvs/V+ÃƆ ؿ?5"!!H{3aҥ06l3<GӧoЯ_?RRSv睬*=Yftܙ+VoɌ0;v{10quu套_ɓQJHy'['9q$5k Tt}{yު5>.ݾm8܈8|Ã`vFa\ȱ'8Appռ 8;;Wp]&$8cҚeƚ5kҲys7#"S6ADgp6sGά+bcq2ЮmT}""9+ @3f `۶m^+V0k,z=`2ٹs'899a4v-|...Yȸ^hhiӦDGGz^~%L&'L %%mH?6U66 Ah(*UbcXhРAd1fӛ&6nض[h4bɨ~b|TzSu;"7ۄRʫ h__q ?~-70RB]]]& FbԨQƔ}a0xy Tlw=xɉN:仼duhy4oִP;88еKe4I S~Z4kFfrֺUKZ +wFa m'"R8"2Pzu6lHÆ cNDZc{ᣏ>k׮~UjԨ_~Y2sZ_f8l#G`0-郷7{eƌS!~~ Uc[ol[ۛGiݳgQ1z_se3_裂TNO27y"""ec5)EBy J*oz?je˖\!%%Htt4vf~rZ_daX}f^ߚ5Yx1FE)+3xb/^̓]oqc>OEޮYfWDD4X,"##qppΗB[KHҥKquu%%%8uf;b͚5̛?]v1sLnk҄-Zeޝ6 pjf z-__y:u*5k̙3<ԯ?p544}'0sL̙ѣ5k? `6{^`W_1uTvS&OcǎEѯV-<sc ԫ_''7ˍC{y3q֫ǹs犵NrI S熦"rk*;sF>>q ]q={`2H5 fڬFaa}L੧ 1e7djԬIJJN<ثWoٜuYKxxxk<쳤Rref3z^^lݺK^uZ ?ڵkTn 1 Fxzr}YN0Ͼl5k瞣M6q/">>>D:;ٳg9HAvgz"Rv#'8dl)}pNm<$bd97gѢEӧ߽c F);"(I&QDJ`۸)qP'*XGġC!%V^ )PI۹s'3?ooo.]/"Aٺ|t>ؔPIkҤ }zBt44i҄<`DDԜMDnuJ5oޜj'""""@\[DDDDD*Rwv~ 9rHۻ0ͼ2j-ۛKVqlJDD፱cy LXV*35%v֭X,f̜ɺuXrm{*y~zv'FU%MMDD㍱cV;xzz₣gkChղ%ԨQ'''!^z \;D+l63|pUF طo])oPmW r=Pۛ~dF* 6ӓFj6mڷ-[bӦM?mY 0v8OΗ Z-[Y,MFXFT^8~xqf oUiߡCf䶦MM߾}pޕR'2qD:t`{Kzݕ}_~={a4)P$U ~:_FɣazڵkdnH,[ƮgDDDdYǵkd,"M6GHNNҥK{!4c,zg/cώK\\\nCihݺ5 ,[nxxxvZ9r$գRJ`{whӦ +WYflܸ6}͚5n777֭믿s=|qrrYf@Z;Chh(^^^<;v,83O:֭[Nxx8'}5Ã^zfY*%T""%ť$$c4Z08pwMwvN(~\7pfbuݜ?ܓ܈At҅M2p@֭[gТE 8777ڴi3 eܵ "߿?3ozxܹ{ߴmۖݻ 9x ۶m?ѣ3Է41qFڷoV\.+V`޽ 4'|s~>S=Jxx8=fw>>3eVfٲ">_777sޔ; bal߾s1WCKj߿cժUYJ*QJ"##ԩS\z\ӧ0a+WiӦ.f~ٙ>}]I5ΪYD H1/@yysd5n̷Vѽ[/eXN5_xѢ}:֭`~3l߾&My;D*5) EHRS^}U^}oټ9GŨQr]_N]Yƪ<[7sqqa2 \^N㝝IIκ."##sGz#ر#Y曄жm[fϞիW۷/NNN=vwATTΝ˳Ɋ"fO?_~]]v1p-êU뮻bÆ i59SO=?… SSNLJ$7M\S O?ܯ[n=uyf֯_d`رk >OOOtŽ;J;| eڴiL8PV\Y&66o-ZβeY9s&{/{nҥKYF5"Ր9dl)}pNm<$[evBEZ6""ƍs…,5T[fȐ!7\JD `$f􄒒i-Ŝ>PH[r%wy DD%T"""R/^lHyJDDDJÇ믿ٳC)6'"""nݺm۶)P*"RB%"""""RDe*jպ5N&u֥^zѩsg\ZGBBTeVv:9Nˈ^zԫ_Z~~4jܘxK.dY,_')Sܴ2DDDDDFeSC.\Ȥ7ߤcǎԯ_8ٻ(aHU,ػnh(bb4[ИE5.* 6Ed/K]%<<3ߙ=s $d&"qvv@*၊ eaܸqhjjr]B6ndѢE4kڔN:Y AyTmegݻw L{R[R2^^lܸ###6oڄ  lP <###RRRxp>vرc%~a޻d愇3|pTTTR *H$2022"33Ϟv:#"ʬAٳgy1܏.rA6Y?\<.J3=-U ϓŋ9|0۷m-UZz5Gŋ`hhQ! E妩IHJJ˗tK4l tԉgҼE z聵 ={#{ߠ vDN TK*eիbEv:tIӦ֫G_̔׿YgG=~,/w}LߟiS}AΝӦ}룯*TGE+UT #HH$caaûwH$~(|ޮ\'ׯbĉJ/L&#(( 5-*sJHH`ԨQ١+r<)nIIIaɘQJJrrBT|||077GGGFqȑ29l۶mƆe˖߿-?))\]]ӣZjxxxXn[aҥKk6mʱcNJLdTx7oZZZ3h@&MHN8t+WT{*TAӷ/zQ#GC_^-(֭~cҥn"$$gYn[A(22֭[өS'.]DΝر#/_.,eO'9oݺuhiic:D&MWRo'Lƍ<H$#"khh0w\V@srS,_ ݻK.Ǐsu ##}}}޽ǏCZttt9c*TbŊ;w+WLܾ}k׮*ZZ=zTƍJ: q̝;RRtL.xL5ժFnưܹ;KKKձ$,4---6mĈ#hPlRUߟwkzüs۷/_q/^o˚ٳM!!hkkMvq|lzf;|+/rxyy͍dzcvӷ/?LΊKuQWWG[[mmmt¸qعsǮ'ASSMMM}ׯ#O={p%tqwwϣFرcܹx:|4h+lmmUYf !!!XXXpy4hΝ;?~<͚5`޼ylٲ .н{Uݻ7#GsEݿ)[~ʕWZe˖eV= k׮+.^… YfM)$~J>K0(жM|OĄD.[Ƽ9xQw›ׯkhhlE0~JScI}'n1.Jߔn~~ <'''5k퍙/\P7pԩ SܹCll,t Wa޽c…lԬY?W^s׮B 0૯pqqԔI&ɤI077ښC( eOEEU?gdd-t҅ˏWR[9""BwX aÆPvmN<)?9FFF1B>~hkkceeO9r"""vC Qǘ1cXz{AQ ˓^1c...L5XzuG-HFᘚҼysv7ohhȵkήwQ9˖-cرE.\)Otk!Q~✊G7o]a_~ؾ}{1Sr?%dرc100RJԮ]*{]iժSNԔ$?o+[~<###߸ҥK ^ysRZ5$ LL= TȨzgd2TUUIMMUHS8iIr¶mGE"wxA>ΓTJ%)H7C*-xX4焄pi^3Rx333C[[d\]]iٲ%...tԉÇӺuFGGFݺuiذ!o*ezc J^ >vMhh(L2֭[s-Wݿ?T^___ÃPWWLJ۷ٳ^|I=X`#&&O-88www 5 OOOQӧ;Q : VޖY%''ӤiSbbc -p8uN+>m݊T*͚ګW޾}L&?-&UWGVu-˕^,AAAǣd=ܜ?>˗/ Oرc1 Dݺu111ɓ'DEE[.]ʯ RSSܹ38::ٰaCkɓ$ۉ{YC6WX!o]69sԩ׮]cVYZZʈ#x13t6mʌ3 wһw|GRRR%Q+ ?tЁիˇ9TT=z /Sr?5d NԮ]ӧOʕ+^Ry۵mZܹsyEoӺ59VZՋ8/^,gggy={vdžVV|&ӦMcy* mXb㔥:.DKK:y' Pctt^RQYb_n0kꖨQۏ;Ǝ;ÚsD"( dDDDXϷ~Kff&$%%O6m8~8#--Md8q+Gcq{@ݻL&SiggGVppp C ??kkk=z7WVz才Ã<_d5k֌~ѭ[7.\0d3[ӯ_?ѣF/vQH$_}קyTӓm۶qun޼IŊU0lW\Xޛvu(UeϏt޽KZpuuUXG5pWI,nKd?~Lء’wy6m=u*W^E]]K9+SɓZyWQHMMEGGLF~024Q5D"䩿)_550a*Uvd$tܙ͡񋣸qCSJe$ ;IiSK*UHLLdŊٓCիWWJ叏gΝm9~8)]]]ʘcYԨQYT21]veyjB9e„ uV,q9O**8*;-[vݻwd2d2Y_UUU9tGeٓVZwyZ|9ǏW?#_Yt)˖-cȑ%[zI۶m6lX$##ᴆhhhYqVZ\xY{*ڵ+-[ **`#*UBGG+++$ 'NMTd2/m1~,y-[e˖xyyDLLBGy;~8>\"VZŪU= .\oYIOOo߾hkk+[nȼy;v,mڴjԩS'BCCiժByL%9<|GWLxWn... 奠W^Ri5.GݺucÆ C/,,!)IOA%;)W^C"PJ>v[TzZjщJ`ʔ)L2%g ///x߷cl,\ (/R\oߞ#_zz|!ׯ_s9/ >ѣG~z ~'LLLh߾=M4[nH$~Wc2d<<>۷Ӿ}{ 8vXV^)88x}^hذ!SNU*}FF "::.mpB&1l0Nɓ9v^^^6&MDqrr{9sUVqROpp0vvvXZZr[C]\\ݝ9sPzu=ʯmGI2ȑ#޽]bnnν{ Ν; ✊2yd4iœ9s0`v"44g>Ge(SY͡>OleΛϖm B,] 444aٲelݺڵkY/Gر#=zٙ/_o>9sPZ5h۶-5k,pJ@~,YBVҥ|.ճFݺu122bʕ{x[laԨQ%ʟAttŠwEٹs'7nTZC'99YRҥK ymҤ aaa^[[[fϞMhh(NNN%>TΜ9C~pttdܹOՀ8x իWGX[[CsرcE$O{VF ޽{ 0'Op1W^`Ҟ2ԩ޽{ٱclذWOʣl22Pq 0[@-צ~nZjꢲЭ;_dM4Rٔ][ŠQ:W#ZCAEW#R׭Ǯ B$Hg*c~oVR޹*o?-ʟ  "P C\DB/!  #Ѡʝx~j  B *܉UAA+Ѡ]mlٶ oF|*  BRn=$%"1)ݹx.  3Ѡ]mg*?vuAÄPtꈞt VAA=*5m܈=۷~j^ͫocOsؖ-YWVVV|3b|M╔K +NQ ? giӘcRT1R1bǎߟ9rE+V,Ul~ܽsu)[nԩSL BAĐ?Aܹs~ڴZ!!=z@ZpvvfСˏVgΤ]v-gٙ|_t D±c%#g.mׯ^q6n/m6lllXl|_JJ 'Ǒ*U0tPu%ڵkM6-Q~sz5VVVL8X\B߾}UOM}dѠAtuufѢE iSSS5jđ#GQ^?[BBFNɳ.=ѠA}F̙3COO4b@%%<wkԈ@7iBE\ԩS̛76mތƏ'55)Seg>[^![FJŀ/}%UUch/snnzӡFF:tڵk޽;c.o_ݻwnݺŎ!|>%%L&c4hЀZlɄ HIIQHɍ7ؿ?tE!Mdd$[SN\tΝ;ӱcG._\d= ӤIxyEŮUgΜV($׼iӦM>|@]'OfӦM~~~ڵkN&M8u IDAT+_ ..WWW֬YS/ ѠA(M*%E1{ waB˘㏄m¦Ο;T]ڑdҥD޾MÆ ׿V Cʛ7,Yuuu,- <#FYh= ĉD޾͙3g8 9;;vUV3j(Ν;wɸqh֬jb޼yp…|/0|4h+hРA)DJ_gϿ K;p㿍tT#33ccӼ{ ˲e8::RfM^z]@:u011{T}:&&&TVؾ]! --Bc7x`"##9q@Ǝ|_jj*&M---lmmYv9s AMM1cY֮]K۶mf̘ $''SF V^]_OQ&;_@@ 6DGGڵksI}Q~}'z>2e011aȑ 7oo߾H$-[رcQWWW+W355y͛qwwWۯ_?bgc̘1^ .3LlwwwvMRRRfdd-t҅_qTT6LLLHKK644ڵkω8C\?|/ObQ A_RT z R ǐJ ޽{&::4!X4lؐ۷n mm|Od{9!!!>}qq<{77 EFF@ZZI^)Tﴵo YfİuVܹ0B]]+++n݊!!! 6 `kkԩSywaÆ q&L X`VVVyCHHK,aĉ},9MLO>ct%,/ɏ-818p4o߾E&{Iz)rn'99&M?@Xh(%xqxvgN"**(߿b)Ϙ1c8}4W\ 6 =P̜9Co:+Vi]v-+W,ɕGk3h ֭ }O$%%rJzwWd۶m4w¢󶴴Օ#Fc"##3f ӕڵkey+["PfM{|r?$));vX}oNdd$#Fkڴ)3f 44޽{chhH޽ CagSN gMP 1`l vfпj֬縥%'Oʟd2"""~9%P 5KXQ tuuٽ{7Ç/q9+ٳYt)k֬)KٰaNŋ<}7J8*kجY3GnXf UV-|(Oq^zj tˆ#hӦMy+22 zػ~ۛ7ox9իW/% ==z4y9siL &Pn]4lHpp07n ** 7kntuu:t(cƎ%<TRDVXbF^- \dz}vڷoǎC[[[>ؘh233K|N*ӪU+bccy)Is KKK\·~BɓiҤ saڵPΞ=+OӢE ZhQ잒(;%%gϞ)=SWWÇ3zh֯__|O?|Cܧ  Dtt4 ==]ދ ָ3gWѣG_ףW^4lؐSڃrҤIo'''w^=T  +###ZhQq[[[֖m۶yԠAhܸ1Ś1|4iK.%$$Çdʈ̵)LBBaaaԭ[###V\Ihh|8ĉ믿ٳgôi?~ܹ7ruV|{!jkSIY7-5uQYTXr5,ήn zW#R׭Ǯq 4 &&\_ȈM6Fy:t(+V$((.}>D2Rs ز% {k|AAʍ?~NJݻw4mڴc{֭?7>ۈ9T  B?>7o,8:::޽[Uʒ&VF|TAK4A KO[׮Ӈ[ҲeKoӻ7w풧ONNmmm>tt<:>}(Ύ;o_KRR԰aØ2e 8q1cPR%O>_;DqӦM>|@]'OfӦM FMBBOI&1૯8v(7i8p[nٳp|1l/.FD`jbBmy n޾O^z|?mzzXYY1ӓgϞ)}(/%%/^`iiښD^z9*T ""BzĆ 8rW\aРAٳgcZj9Fo߾^E}}}*UDӦMY|9~~~?T{Ar *Ac899EJJ ,333̟'7#F船9+WDp=,j7ގ;b} ,S<+WryzL&Sxa;ӧOSohd@||<ss< Ӳό3'[jj*&M---lmmYv9s AMM1cM2333LLL9r$|`ff1#GƆwA@@ХK߿/_~}֮]K۶m_+?00/'L\=4iرA([A% |t dԩSGO"ZT*I&ܺu7osW']?0f̟|VVVҪU+6oĹssV:^_)[Rb"05j~yx QQQF]]+++n:t(Æ L:iӦNZZ˖-`ܾ} .pEݻcQQQQOhh(DDD Jiݺ54&L`̮ ϟ?gŸӦM>}*H222ի5k֤f͚Gƽ{dԭ[W'g{HKKUO[[777nݺ%ߗTSS]7ڵv8bcc ((H<6 eРAxÅ x?Ϛ'ݢŋx"Ϟ=d|ٽ;<|Ț;3tPgդk^~Mff&ϟ?chN8A?pYڥ Ehݦ 3f|x'Nd=̛7XV\ɖ-[0~o߾'lْ޽{HTd$BMM -ZpivMȦMܸq/̨h` >zDff&R|-C yEᅕMM?J<ڵkkNvڅ CBطw/jՒ9{,FFF888mҤI̙3GaÉ#00tuu#s333tuu󬄗D‰'=neeL&#<<";vܼyǏpt틶6]v eǮ yIOK-:Q1=s&ZZZ _D\BE94d`5nLBBݺv%-zTdVqPek޼9ǎ-0ϺuꫯP|O8{O?D-PWW'<<]]]lllHLL$88޽{sA\eԨQ+VfԩVZ"66OR^=tuu2d[sss/^,/OWWÇ3zh֯__|O? ۷/|444ڵ+&LYfJ+HFF "::.9Ғ7.SSSy5ܾ}׳yfS"- |8JA,\| "ge}v,,aR߿ϻwhҤI*imv&NX5ˢ?!!!4mڔFLbb"燭-۶mӨ4h7ё~0m4;Ə>-[Tx֒%Khժ]tvyz5/^Lǎѣμ|})8۷/*~;wdƍ\~U#>|(O/ FB&q5j׮]:Pvx#coMKM]T\8k y}6##iѼ9O>W_1C qM:uT5Z`/͛7/8N9C\TՈukVf啵'OPjU޼ytC 8::RP aH$ T -ǖ>VKrCAORBB 4jժ1jTS昛OsTR˄x+W.ҥKXZZ1m6ڴi#S I W>jXXX`iiI͚5iպ5gE03ܜw)А_|[ZZbeeEjptrϏ-[Ώ?Xn1A> riysV'u۷o'11۷oÔ)Sʤ쐐zY&e I5= &бS']ӧ]2R)ߌ#PWW/mƌäIpww'))yq2+_A矩Z*ݺucС9޹s˗/ӭ[2 6䐿ÇcddDJJ 111ٳGbeeUN8A@ ^PQQUU2]-gȐ!x/\CeR~ZZ>DK[;}nZsAA>Uff&/_ۨ`[ZZZԴiӦqV^)h={ޯ666qiN:oE1-(7oF[GǏٿoδnݚ/_2x7̙;3fн{w p4lؐа0A׮]2dIIIqƍGeSSB+'uAAx>͛Ç?p R^=444;n߾/prtD"_*p,r4W@Vpvv7e…dffr}tttXp!NNN8qW,Y222"<8^WJu-ƒ_qL ..._8%N   d$TTXSS\]]Z 0{6-ZLJ*U94T2ߒ^ʖYhcddč7 &xrgϦZժH$Tʂ V,}"ٍld!PUU%-Mc%S~u%lA>^ANͫE'*(ijjjTV޽{T*-U޽{.oA2I6QO=#-- -MM޼yùs^ucǎSƊ2khh•+WGMMFʺu:dVVVpMN>_&--*Eeg 'ObΝT26 i"NYڱkIIY=l;w *Anf¹s |f*X P>UApttɓ̚5tTT޶mڰ{n~]/IoѼ9{%00ف|QF1/Yr%,a%L2%K?SŅThڴRQzuu:u*)Oc``P8eёSg!HprpA6;wf'vA"}R N:XkkkOÇpqvm6 TTTֹ)MEEE> ##s?y97fE֨cǎeڵ\pM!!mۖtg` JNc2ח͛Iynݺ1o\ԂAl}?Usl\MϺiʢ‚PgqvuAIĴreϛi׮ ,03fgV;x{{sen\:nq=͝K:uDKK o8g+Wϡ3bcYyxWL" I$"AjPEkb)E*hJNZ[KАzQ$"2KGb]HJ>,ZݺJ^c>233qrvf}4nXfkgspttٙ#׻wo^ P`P !*ǕPU%~&֭߀B՞=xC6B6P7 /ˮ]899jIsey%AӨQ#cBΦW^rVKr1+B,g˶m$y\Q [[[z-BBBشy3zt:]z*U^/t7X{{{:Dtt4\rg !%! xKKKOQbNB{zH+gJA֖!AGnȠ{)ұcE#t:48֖2bH]5j0cLi߾}}k1|VX'/Zdoff1c'Z͛޾m|J!($TQTtBJl,^ZMq:4hs0q"=z@-m[g 2<ƌK]Q'L%qvv潱c%BQbO._}Wve9y$5j0xȐe :jGG͝Ë2]$ !*3',,,_YɸVGң{wƎkS_0ţafRIe?!BԨRT*Wff&;vAuRҨR KR=}6oJrJ II˟B!xT'O2}t:tPd]RMƲT}ҹ /R$O|;ҥkW}kkkNTSNŋZB! # B 7aTQBDQ_E!xxvzi4ƿ>޸3t0RSS>}:AHMMVZ\9s0sL֮[ov!dJ!D]v 'GGZ-Z t: z=V8889RQܼq#Gj4h&Nd?ֱh"y~!߿?)O!#% B2CPBD@ff&( \U3ַ.$''l2>3NJ޽Y`*%ӥkWj׮w}GdddyM!HP !(j41dgclml0W]\r R'TdggӫW/iZ-)):-ZW^ҭ_uB!B*!eP(HNNݝ ,--h,СCZˋl,--aT!dS !ebgkv8;cgkgvpO[[[o^h3{>5wy|K;+&B$TB!DVV UsgJ̌c0)<={_z=f15&3nxcի\vR-B$TB!* &0xw(Ԏmۖ'N0w\RSSywÁ׭[Ǿ}۷/!!4lؐU{B*{ I0R^_X✊ qHE!OS<[a!D X 4yjm+#>*ZqB!B2J!B!H*!B!(#IB!$B!B22x͸Z!!S*:!x2C%B!e$3TfeVtBQZTtBQi B!B$TBQO_!!dɟBT{ԽM'T7򥆃=Gs5>R`hObq?\rC!x$B0y>u+mboE a4aԪvLҗ[l9Ȟ&yh Q1q!$TB<P~%Mҳgi fV|6ħ*:!⑒J!$U$&:co@yYr7#б=V'1yc),;OQ=L+;+A'nu56 kB-gsSt>Ģ_n3];b{.f"J։NjcWdMn&j TVdZֱɜ˱YzF5x.U8~96n$pB!/I6vN: 0I՘\sw Zw4525ٴ_)s毌|\ֶ7Mf[g>~ՃNscR2'̓;nI8ٙanpefcom‡y?C8ז񫯓Vo(0{zc􋮬GywULM|j wM~B!ģ" !D9#w)uըjd5 w|z2XKL29<ۙ}W7q#QK@u|~J܍ t|kT^}xBGR&TXYY,4;wr]2dW]#-- MV4jY׸qcj"##?g'`W_accC4htܹDFrr2v9?{n/X@ll,XYY1bP(@PPj5Ϝ!666[3o<\]]ؿ?̞͕,011y`쒌syӦ# !UyN !Tڄ`0ŋQ*aeeE5WW6mǎٙKcCѪU+^ :uȑ#>|7xj8fI/Ζ-[yhӦ L8XƎ)~)S>/=GaРAmЀ 7aF^~eOJJ 9<Æ 7l7~IǹsBT>L ![Llق5W\;hܸ14mNŋIHH@T?p||Be5ٮ];3T+i裏0 \~f} 4DEEѨQ#]rtvqرc\~ݘ0055ŅÆq2*sN}D9 !B!JR&T~!fffXaèV)))|W14n @\|γ no:`fV&&&Ė aÆƥ~6/8e$ ӒZ&B!DiUʄjСR< nn9siӧl)QJe:%P̖TGVs?Yt)_ >_<; :9:GYYZHvv6JVNYy\5kBO B!BL Z~͛hZlmtDEE|*<u5&YܜLΜ9q& Ç cÆ XハgΜ  ==N[SGGG:Ď;prrȑ#8i$ΰmں$T'z>1Td;6 !ĿIL P.W}DFf&.%jۦMmʒ/ 22> ''Rߢysv̙3g R^=t_͂ Y0>cnja3uT4nLff&}xzx0p@~{FM:uHOO2w r=8)ߟPW6B!OJPoڵ =dϏpvލ`e˖jْ+W9 啮]1=/v_ׯs T*_Ǎ3zb1|8)zZ- @fZx{ya0P(H=hҤqrtٳWJnv*vGAֵcS!Bǡ[#g2Ty F3<8"#lRa!STdA!VtBQ B1M@mϽtVJ5C%Nqy< B!xIB%:w޽4p@E$S޷?gҥK=sI3fXV^Zfڵԭ[!BG*mȳ-[$"&1㣏Jզn&W*NǏ#;; , IDATw^6odo{9w7|9yJ C!($T⑫[GP' ٳJT TRBbBt4M7ƵzB!JCY|!ΛK1?ٳ8iREQPV}/t考Zݻh4}=cW uXw5k͚7ǾjU7i¡CwIHh(USI >soq.̚589;ӥkWم8Ϙ1P:8мE N<ɂ lݻ?J!O!I#p&JK+|F7\WְFM߰0OfPTx{#*3x`.\ݮ_~asyyO4 wޥGϞg@İaz^%3j(DsݴYak׬ѣTkFShݷ/sWZpulш.]L9 !y9r0uΧsSRRX|9'O$33@`` ÇCpQ99;xѢ>v˟%S7oyajEԣ2$;A wcoKF?5ulСǏ˗s|XۗF7KrE _zURj"bܹٽzr˗mޭ[q A@NҵzF[ղeXB'7y& .Į_-[3gҴiS≯qK=HKMw^{;}7x?;BnәaeBYIXL ,R>.KXf &bcc=4 X[[Jƍiժ 4^_M6Ad,&88WBJ͛ٳo#͛7ҥKҥ /NNNt҅Ν;,_SҰ<%߽]ذysE#DL.ò:~psk˨7UԪzcxx-PIMMy}GmP'obbΟfƍӳW/w^hLz=:._JE){1W&BDd;z`,[Yf廧9믌5*_ ?ҥKtJŋlܴ ss\\\0&U!OHNBϷoNkő„ߧUVh4f̜sP(ӴiSh>'_Sd?!RdDFF3eeIJZlI˖-=z4 57pws{7 gz= _^ϰiժw0{l{ڵmKݻh<(opRI.+:!*'-puu%))/nݺ{N:E߰OHH`֭kߞX[[.)[[[Ȉ#vJjԨ3qrv}քBR4 ՝;wؾ};'NnB?k׎t,Y7:vx J]ob. =lmmz*,a„ <ۢMZh'aaaL>/3;u܇u:qj֬IBiƊCJirPc}9}2s >6|@6mh߮]'%%aF&NDrr2Y{eĉNGmپm,BQJ[3W&y.SK{~ j48&& &9P矴]ĸqصk^{S$dҥT* @ qqqAf}乖-Isgnݺ7E 7?97)33[;;Ο;sСC!;;3fp$"~~~iӆR~a qHE!OS<[a!D X 4yjm.EK[q* UZXz5[neڴi\|6[sAc٥KP*[[j֬ǏϗPEEEWUTAR;$bV*sY8ݻٶ};{)ѮSB!B'OIR*g:thsOFEs*?_?O5u7l_߾@y&gΜkkkUs.Uih4n޼IZߟ_zTIB!xJUʄ;/b׏Cŗ_ 0K/cffF޽+Z ڵR iii޳CTIܽ{5j`nn !B!>2jذ! 6,QݠFͪY&})?^́}]JE&M8݄jzIn݌}iƸ!̚u +++c $~&&&odfd'f8&B!x:TM)(/)B<)2{\R("B! P !B!DIB%B!e$ B!B$TB!BQFrt!΅oo+8$Ð2dCWV 6oXƍB;HB%O&1㣏Jզn&5Nyl8p)SɬYh4N8Ar:|ԩ\xUVMΝiԨQ/BF*!x͞=IUyZf ĉ z\OV !wg 7{l&NTaO6LɗL/;;YfQ7 'ggtիWCBC5k͚7ǾjU7i¡C3g3gduXZYoh{ǮJK4Fa퍛;C #555_U} :V{B<$B$UiiU wW+~zz:/^$$81M Xf ǎ\]h4,/,s.?Opp0铓8˄ ճ',\J7?п?… EQŅ9rǎ#&& 'k?zhq`~5kVXB!$BDYr׮sV-Nivbj-˗1 8::Z'++sx"իGZX|9)))lݶX_߾4jgggƏǭ[xb:jժEHNNfٲeL<gggԩlټ9_SпׯUc !wg)biaQ6:VV)(٘eam5D_ "жժUr+Ġj 2Y[[s l鉵u%wc͚5>|;w%#=[dggӫW/ Z䔔|m,--KܿBI)L<Z=cWvE&^GӡR*E$ҼE wNxx85jԠcNEZ:tR#K !STyxwxBezH+i,=$!!3fPn]lmmLၭ-۷o/sB!$B'\E&SAAA<̒%K8s z5۶o֖2bH~wn߾1cprv}%Fv W]#-- WWW/ի9u1v&gz=2)A !lrPč];wh"֮[> s0q"=z@Ѯm[oVY}c6lH˖-ٴq#3giӘmӆ=0a;jׯ_ٙƎqկB[iGܛ2sf]}l/$BTL2Mٷo3g Iƌ{ƱRS0aw?zDGGyC~?~^|:޽{ !xiE B< vBѹS' m7d~WoF=HMMšjU 쯸y0:2Ǐɓ̟?sssŋiӦMBQJ5CդiST*jxx鉗/tד]㥧SF <<=*Q(޽=<=͍1k,RRR3|6l܈JB񨄄xCjv NcRx8Tsuea׭˗m'VBDGG_={P(P*uV5NMKƦ8roϞ=ݛ-[W/~ڱ+h*gȐ! 6-Zpq;k׮=TLԩS2 K߾}Qo]C[oK/˴9vX/OѣG7,ӬY3&NĮ]ظq#G#"P*\x1_oDd$.δm׎tΝ?Oݺu 4i:55&akgÆ'66( >>oo|徵kd^͚5155%22q !(ZLF _|App07+s}gm@_{YZ> \b6lcǎeҥmFÇ˭NGTT;w&&_kI4uO"##%KŒ%g~@!S^=j֬ҥKQ?_˗UlJtt4lgq!^ҥK9vݺwGח~Qxo._Z @BB 5k> !(J =,w&>> Fŋ bʔ)ԫWY#Gn].XK++:u@^‚7noRSSi4lؐSR~RǟBU0wY\ҲٵӴiS9z(uزysXZZ{^QFƲennN9wQzݸy#F٧RJcyHH֭[nZԩS4jԨy9IHHXF$ !xxr `0J%>kcee ;wfС4mڔM7h|m8_͋/DǗ_{no^VVVWJ.]1|8!!!lٺټe +V`O?G֭IJJb8q>}x7u&&N̷СCTw޸v:v dĉ>|N;HJ:oX:vdL02jenn1{nٓm0`"ޞUs<;;;lmmo)&&ZΝ;B3Tލ 1/m6ׯOpp0̙3+W6n$"""_{Jŗ_|Ã:t@```ZXX0㏉ݻذ9zh`d 7|4jԈCq 7nW:w9r׮]3΂…ư9qDž  b٘PZ5 l%GRdb5B Biݺu C?K/%\~ 9˥c\D.)=^Yz5]t1mظW^y%_ׯc_j!(JP{`emMyqsu%--+Vw>Tffz gee/*48J`( 6 SSSf} fff_ŢEe.mڴ k???Rrg]@PP&&&XYYI2%lmmy>b+Wӓs56lHՙzcBQ^=] @vv6$v:N,g7, o]ʘcԱ#~~~yM۶YhР?A:uu"""PeB!^LF:wg]F 333Ο?_68vNQߟtt:nn%zuAVogj[8i݆ $>ƍP i5_đ#[YYdb>z-͛Gj?o^Ohf$&&ҹS'.gg"ܸqø:qws=ǁ mj*Š%tu/wP(HJN.0*H˖-ٲy3,̞=uRvmۗ/--H+Ӟ={hƌ"@:uȊ+Y|駌=-bĉ? 阛bŊOOOڵk[ԩSD,rgjCS|}IN9c_t+ϻԭ[۷gy|8u#ʕ+deeѼyG:Ìw6mLTT#L!}*UBբE =dߟpv3m,411:Ϸo_`N;rU;Fvv6ɹXߵs'v!!4o֌+W?~%T-[##Gݻ$'j4hNN߿X\ܨc|^_Ν:#O{˗㛻(8qp؀BwneL!ēp=۷1cJٳ9{#lټW,,,XtqBQlﭑ3sf]*|ӅT*tŋ0AB/88#WtB!D$ܦ-[À~}+:$!B!ʅ*B<{%&&nÆG!Br#3T]Ԝ} a!BJaatx:vd,Z*#G4vpp`Ȑ![d;x]8snIxݟC̙dddpQ  3},!cG+:th :$BCBmJIJL$.>t:wDzz:šh4-ZjO";;KKKBBB%t"?ھ$%GP(S!*!J5ּˌ>m۷WtXB!D*9TVkz{NW>.^Ȗ[Yt)+Vd%jˤIX74k֌1cbggG}Ē%K033c3cLeŊ|4c:t(7սUTޞ^˟J%n̚589;ӥkW^jʪpPٽ{7:ɓZ5||h4ƿ>޸3t0RSSW!$TlڼM7sQ򼎈(Q˗{<=<@FFFZnMZ~0 t ڥ ? 痯=DGGcme̺EP~ڼm\!*׮bJ?iӧ~֮YñG1Wh׾=Xg %ٹs'6lѣXY[QpsOYt),[# Sһwo~B*MB-[زu+ӦM3. RIjx7j2:TJPYT*pTN>޽{/l޲ݿEBo6Ι@JJ | ϿڅZ c}kkk92_111z5jd,<::lze,j$~B*MBR̬ܹC||UxN9Ci]~J"!!VDDDЬY3TR!Ŀ#666x{{P(8x mڴ@ޜ">.kkkԩĉqtt,@HHJ_~9'''/{};WΜٳ`!x:, <<[[[Ȉ#vg,08ep( \2sfI+W0)7GQTLI ʼnʒ=΀ )z^s,87nnn̙;{zYjVVV c&P26\4i7˗/aaP !(&S$t" `zۡuh>ȃj\a!/* j: !(BW -ruhOهJ!B!IB!$B!B J!B!*H*!B! IB!$B!B J!B!*H*!B! IB!$BQc||}1U*K=Μ9S! !weR!xx>t<>Y]v ׭*38Ê+*ՎBQIBԘ 9&&&X[[`DB!DȔ?!j\\!==u5 }ooo\\]ddd0{lڶE˗/g̝;5kbai[GW= ! B :?deeD|B._&5Ν?ϕW eU* r3v8Μ>CeL8VˢE1s&-[bȐ!1i$GvV.\Xw-B'SBTHjZܼycIMKޞ))5lh(kbbB̬\}d8pfΘ / T*s4i҄*O!n$BQ!CѐK=_'4Pq Zlmٳgˣ( Z-iEvؑYt).UpwB!DHB%B[YQ^=:XZXBJ*V6''3NE9`8::ZλQ#(OB!D3TB!*kk<‚Ncnnε8x79s,ii+w;8`aaX`.^$++ Z͸qs( l Bmgѿ"))'coosp::3ss,--,`oc?IQngNEU~SV>;wԲ'OiӦ"z=XjjkTBQڄ*?? .]ލcii1O<6SC]v@iղ%mڴ >Ǒz6nЀ-*s۽zx"[lۛ]΄0._̘ѣ166f…L|z聕{^gƍr%>$33w&N$**_~gg~ܰXegݴk׎G{͛_H0y|AT:CgL?Y]v ߾v_Gbdd]!BTZPݷz8w7nLJ`,,,XhW\!-- 7ww6oW*,Y0jO?mxv|'\tT'|[[[lmmnn.ܱ0xٲex7n̦͛ 0h@Zn $]VfܚR8YdIy!jeBU?__<='gg6iB~~> n]裏Ҽ*|3OǾAcq,^FEǔr: п}S޴iL6|*Zgx@}꫕vvH>}:u*nnn<3W8}ؘ~˗ӯ҅חX/''^N+LļIhIV^B!DyԪ/g_~_~E .JT;ܳ2xp퇆ZⵢK `׏Fokk[ܹsOue.h2US"##INNf9sIJtB.]?~Ç'|TT{޽hX*B!D U%TNbҠA3KS'OvG٤$ϟ}V*C_KʟBq_RߟPxʄ*11/Ҷ=Oڵ+cǎ5skrZ&f\V]+ BQk&]X QQ2AfϞ͡?,v^׳if~ڰh122µa;#GY|9KBNqt:^|9y$ @!!!hZ"""?hPYZҡCƌS}oW*BQʻ3$VBTTIt@^G-X^P`bbBZZ$$&nzbϟ'+;f͚1u~:>#GN~~?^e֬Yax8#|}ļy|'YX|9=(IIIޟ7B.\pBQ*I(ZPg^=JZZ+^0ƍ 4N8_'77~5ԄGx{{С̟?z zbAD999ԯ_NGll,xxxT!7tB!CS!IeQk.\88 lm122ɧk׮ҿv믿ÇY`{o%hP*ٳ&M|Gh:mx=tPK6ߟnݺѺu{SB!jV Q&jҤ ;oM5kBVVV8;9닝oVpAZh~k~::###n0xꩧ_9E1wؾ};~۶affVBr:s*R2ܹs=yM6TƪUPլ]??uOUN֦$VB$TEabRrh5k ZMZZ}vVΛFann^}Z- 4k֌͛D=IMM !nLaNN1>|yyy|p!vbO?[YYUoؽ{7=vvv5(I(IL -kʰYx1mڴBl,/]b̙͛7~ 7ܜЮ];٤VQ)NJфk$Μ=K`۶%NB:F֏$VBt%i߾}I͛7g'ŋ9} GDUj{M4' Q.]`naa8Vر#P0$#3kW_LĂ(e`!D%3yʔT!!{{qjv؁F!5~͛7o<:bckK@oo ||2u*oIDD˿ KK1o<7^=ŋgu3 IDAT9s;_pBZnZM>}H]ܿ$Nګ&`ECy05@|R q/Qi6LLQ.Hi?dfZRX6%ŁԴx2+:寨p~۶WCB8<KKKK:uꄥ%k֬aD?nx*8$Jp\]]1s&6m\L {x0?<Gvv6KRb"/61cLn%KPTL8(R  ^z|4>NNNzFͨ7Dү/EE$ SM!};uH XEPǀ\@S9oU:VNBQE]-FFz9$&њf\4J6ct R܈# 'Ne8tpE,^42_MLL h4xIlmmkDDDsZhenܘM7K`UYǏϪի?~<.}e/YR޷EZT@pJ!j '?:)(yR" z(pcQd:tV^́HLJ">>쬬R@RA۶myGhݺ5O=$*ݺu+nll,Z9JEPP|}} bȸg]!DYVR+B{Ӧ1mڴrivΣV7^K7P__U*vո8Nuhժ=nGalloO6`ffFӧOrrrtb͔J˙k !߮<_%P !D-PdDFF9sʪBII.]Xd {~7mj\\弽Q(۷pNi($>Iյd ٙT+XjQQep899oqqdeegT*RbС9jGƍ0{zYU%DSIăKB4ԩG*gSJU/hiSΙY{t֍=z~jj*?n)SHKKiӦ^>`NGٲyLN+ăGMY6]!Y6&#[6"$~-.SB!D J!NyID% B!%$u$TB!uÒl<,)P !BZHFD B!D&XM*!BZO IDm% B!C$$TB!$%JP !B:L+QLj:!יSQԯU#~-QǏNƍ>lÇTպM ;S# Q5$Q(*FI\uZVOVsǹaÆ3} >7FѣGT_ϘVXQ:>,Uҿ.J_P !DP*ZݻwsQׯo8ߪU#YYj!*OF*G$U~g g)5Yxob7o~͛c@ŋ!!̛7600|Ν˚kѣh46>ԷƯysV|}>CBXlYh4L|]qqueoQNfǎ~MO*!xT&̴.ZJ/z=++ǬٳY㏬YCRI=h>mv}gN&(( (H˜4i#;+O.DTۛq1^2aÆq̙QZcǍ:tX&M\4p Mڗ#I@ՒJTIQѤF\؂K}~݋';rXLh4=<4hР2DDDEh///-[Fzz:6o6{i qpp`;pubbbJmwĈ4o///&N뽖GZZK,aڴi888Օ3fƍϘ>!CвeK,--ڗ6JT=yJ! '?LLG4*idgC(''' +Lll,Z9JEPPKJ*6v ^D||L:777~R߫[߿GGr#$'SPd*3}Dlll׽Q(۷pNI-܏V5$99s燕]{qwwʊ-[T !N (*N*!j23f  /ɓ={Vy:t(oő#Gq'L={ ٻo/]"33gggRSSꫯHHH`UDEU|bSSS&L`ԩܹ^+WpB|yX)BQM@2uJELMMo,Z5k2066חÇqD&Oo߾hu:ztΖ͛<4h ~ڴiC.]iΙY{t֍=zT&McǍ888vXm۶TBHeWpD˸av(ofh5O"`!%* tBgcbё0~) vvt;[[9Brr2O?j`?'N43~w]~BCCqtp`erߣB! )zͲaCMTIbUP.##qq( y{ciiINN=z`ذaz>YX۷s1:uD=4o δSKҒ|{1NVXn ?\q?pݻwvZ6mڄ']v%##Ʊw>ëBll,&L(ծ]gEV݊l۾(H~ݻwӣgO F}+K?;wSt֍}\(Bʪѩs|T.͚x>yaU+G>111lذƍ˖-뤧ٿ||9s8|0z2 FaT>YLJCCWWlʌ3XYYnhh(||@Z |}|pw_e̙L:[X233yk<\~-֖1cƠV=f seƌ̝;''7W_{ɓ'm6 e4hP~J3R6EB&JU%8$e˖ݵ5k:mz ҡvvm x LbG&M|_cǎO`@GaϞ=kQQQ 0P32l':VRåb/_|ŇWA/cb X=jՔ֭Zaiiix6v-[dԩq# t M6Ĝ=k(Ӿ}7ۧϳo~o 11b ߴitԉ@ڙ2y2~)7IJJpm۶3f ׮_'yrss5jؾ+WOfP(ر#"ҥ ͚53رc2zh <<= eOuzkV\ (2H~ !^ә7ok׭sˋm۶89;ӯo_2324iyFt\/~{.|QNW_~ɪUxgػg[Yf:Z6ߋiN E ȅ#ZECy05@|R q/Qi6UQ&VsBeJF͙3gϿccll7|@޽ҥ cǎ-{]/"3#ب݋/%K.`޼y>|u֕{.ݿRI͋*!UuP(a1 E[Ur ֩)nJIM'IR˹bŠNfǎ@"BSN'ggF~~?Pw֭l ;Ef,_P(HnjIzJ^׋AW|џ/ϛ6}l?QTS,P*sptK 瓒]Xv"} +Tw7nmک$'lʪP(#1eҕ(*sڥǗ,DјccOHτv@89^~"Y%UIV-J!LC~'(Eccc-`ffFhh(dee@Æ (wo& >J>{ٵkW֮YC3܏쀂ĩbIιz뼸_jqrJ*Ϸ.RfhRSpj Vk|/P*sS,~+ #ځ.:2?k:!Dje) 333Cubsrrׯݻu_k[5ƆWT~XYYqXj5sIIIŶ:% sLB;l(>$$כp&M" ,Sqrbuz$%JbkGv2B%]͙5iԨ }ѵkR{}a|),,,033˴i(XbT*{pURRRhִiyiVZsza{.V3QUjp9SR锘gҬ١%%]dtjJ# V~w5զܸI}DuԷJƧAޛ{ȈUmUF2339u ._|ZNN?\ɋ/Hywoi(ػw/os{өsgՋ[<4d?!DyYYY1x`F&&>>̹' rQzCBѢE .],c>tPb/\oAӑIff&$$$07ػw/q׮qA^xyi5kvݺwg̙5qزu+j\_5?#cF6&>>V-[V?UL^^ZջI_J,[[h<=NZp|~۟Gʕj,HOSsz#bb?ЛTjX6ujj޽,]^ǒbtԉ;w2uyfر xEFz8xxx<4+Ka/ tHB:?fBX{^|E<}%=#رðz.]8pFb-^~`anÆ'..WWWz͔ɓѯ]N?6mڰy&7o[_~Pj7o^Qn56\^e>MKqÓk\]JW79w 7o:aU/'X{EF ~݋W|8w (iw,=Q2bU[ʍ}o޼իWiѢE ,ӓgyg}^>oqvq 5WӆyuիWJQG''Vݺu*kM}GNJ(vx7>љT{kUXXQN1'Zc6o}| DC3gbl#3Ӛdbb8{P)t=>1}PT5yow6#TgbǏ_bȫTTkILv!!K}h8vEURk|jN:^N 566.nFF)))߶$wF -- BARRY3gΐ?'M2,9 pf͚37C>#tz=Çg\DK.'))\Q3C<ŚGQG>}gХsgnܸS 0\msԩj_*7noU?ssskJXJ^TڑL1LM'PY&&;Zpz#._.Biå˾89^  kAΎܼDjZ|oMH$TDEEΝ;3J[ЁmTի@Vv6:mݚ5k4hӧŰi֌aÆðЗ_f0|D|1PJԔWt_%;ucK !DiRRR;w.Օ^guYxzzY=aoo_l؟߶: VI5&5YV%32s6-ffYZpj6\mBƑى":VIr ʒJϰ%5EUP IQkk׮1o޼I||:5ؘ7-9) vvh4xgѣ;w_~+t"Ndg^<>F^^oߞnݺWwC!DPP8PaQNkt^K /*t XҰ,U|7P(򱮟Du>ȉ8Ӗ1mi6;Xˍxwu4P_E)y͛Nl?89gT鴨{jMBլY3 ϛ61k,Rpuqmpɓxzzbnn9 9s4俚w9~8+?n_eD!Bzgqk+>'4{ʹi*krr2+VgB! sLڷJf8s6pML] IKW]Fʴi"ѩSb ^Ҿ}{tz=I,]l6l'R BnNκ~"zy;8F@ZjݰN<.zcEvwB,:jiŴl1:sS&y\Z=1;y=4;L+͢4ɭAEVedfYds|o63FK}Ra iWMu.Gq~" ..PYCaq0998{:<~7+Iujɉ} W!ג34vDa2ّ5}A;vx'v$;s\5#WUy_d VEtƎT@Wobߖ'&B!WvTWQ("xzRT/'ǒ;>W>WN rsP N7|ť~" rsrb?jhj he$L]m7Q!D<ީi`GT* 殻RZ-nnNMm[6;;#a}OxQsjYYCp"&884-(SNpWfp/"$8z:'' 徸&||2 ;nY+"J!D4 D]G+Vp%<\|y_KS<܋=3qMv&ýoZ0RKppue*Q*ό`Pb2*P1찳 a{NY*!VRpqqŅ;>8;wv-?AD Μ\F :Jn%7IAA_~!arK880ԸP\Hu;/FPZOo4aqv{}EBas 46\QQ)S4o9j6onLJ{us.}Y@_]Gӱo#22`}14MεUjN#2=noo_1[Q/W"lc>F Kٽ{7۶m84DN~СCdddhF4w^!$L5'7<܋ݮxznʙt3P*-܏!XMSG3ɰ80& ҮP:s6c|<O凃̯:eMO!խ]kך?{zz $W{ ƍߟ;w2mT^xyf͚e>GMM ֭c7S׿O6l@EEo6?$'WӋ/=kmiz^!DTT! TWVBPP:[`p̗3g ".4=EfV9(( mw9R3TB!lo>B3o3 6,777vhKJAˆa~8{./|BCNZUSV^m{:?BC"Q&??yO?&Mjnnn̜9W~' xb^+Rfҥ|W srHII,z- V-qpУVWFLQq٩_Z SEE ƥWgRNŋTUyt˵D$]BK:׭[Ǻuaذa|:)Es]we7kFD5g<=>2Rɬ$22Ҽ}ѢEj&& '>>S(tl2?Μh7t<[ܿƅP2p+]u<IBa,V򆊖(,űu^[ -S~$&~!>Fk7^:y0CcGXWBUs: #>gȐpw+n񘜜A|f2 Ie_tNl ZƘnޕ@B18 hū[,1/NP !Bt;X =Emj.]W0P;e )["J!1!y~YwMTE!de dR?HVEqI}&{+wDB!U%ժxz҇  [ݭDv qv (,.ezI5B!BUGj~Zө)÷S\@#eTj0e$P !BX+UVKn^ 0&Ɏ_O"##`  :g+#k*!B -nPKm08PUIn^s5K5(&O!:^^e q TB!6EUKk~Gpw+F;zGJJ()'=}.d LBCO1txxvHB!M`Ւ)&j7j.%L<^Tj1̧Obój )[&J!¦I юjwt:'2/M': ;#x{_uGj]IB!D sX^Hy/ME%%A*Zj7',ӳnA@%jٳg[/0p"!lT#??c'Ɠ=ZPVfYolD@%j~:tklvv77N^3lڴSH*KÔBa" 6lm*!VcNN888a Hjo3}'IhjBH/p>ٸueg! ͥt:oDFF̣=F`ٲe FCDD>*+V࣏?F̓st= a[LH5y y% ~>2'ќό~#=TBtS %F#~degKptt$$8@ee%*יȅ<~tz=Yx1]… y7xꩧxìYh˟HŪ%ՌâI7\̏b~ I<}qrvsE"J!DWT{|})חҲ2BCBPUUe$] ~m~HN_x{֮ERua ͛IIIg`7f Q$RO@n"JhH*~~d`ggR+:ՓHB!t:jZ\9uttDVյo(tF#ӧOGPSQYigرL>;Nw!(0 NXk61ՑIˈ!3k(y"> < pvB$L46 ՈGR?"##:u*7Օ 0(+:ۛо}~ ↄ֯_OuuuW6m~Rbٲev !h WWWWjP(pqqioNn.S Ozz:?ҒGhDVw⎄߾AHp g n!lB`ooٳw/'Nt[>Ç@V3۱P̞=GGGN?΁cOرcBama\/<, 87|틛vnvӧOWyeJz)n0Ġ%h $I$??Z!'@ҥh㷿%99/a̙:))-Tj*8;w. ;+=`>>>F>})@e0~C[O/vy(J?4K.%,,Ǔwc0#0ILLo噅 ֯ 4$ 6E*gB\vDc+z+R\\Lbb"ǎnF^xÁ.yǍ? /wfDFFw#Ν` 899q!/bz)~WJKgѼoWkjj[Z =+©T4 !!!mBn ^xxyzÏ?R^^{V7ǎe8~Job\u~_}Šv-ZZDcǓFaܹ@wL03fsu1n8F["ʶHu@U]]| V))-eܸqxyyO//V'%bnOBBqqq1>̟'6{=ZMuu57t9|e >>Y}a<<<8{;v 4$S]]͜<8[o1穧9%={;`ڹw}'rԐ8o)))}]}˾+Η_~ɐ!C3f Īº,X .[P(HLL$11mg}CC=_Vٺuk4X^Caĉs:-[ΨQpvvfˇRXXHuu57\=W*|GTTy]d~>|iSjٙ{|4 Æw^suJ~!prrb59?0j(nϾ}8nnn?AT2h@<IKK#99h6l؀##ӟ(J6}Cm !7`e=Rl2P=}:8Th"jٺmmNyE.=,XQ^xFaJiZ>cvIKhZ eo˟gXf nq@(WoBS^6!$X]RljK/g塇2)iit: H@` Wٺue˘3g֭c„ P(x>"##6m9kC&Fhv:])$$  WB! 2UדT31cEZZyf'gtΜ9÷~KFFxxx4?66K0jHbcc9n>%KHZa8995jbb"998qVܹsݻIMM%$8c2P(1QHHHh4l>}pj5^y^>NwzGyf ;8B!ltEbqIDATMUX:\ӭ і)??B^xʏ y!JUIu)Q@ ,^ubT~ѷ:6USEE%y.P@P`e(BSIŪc$L&D|n6v ~!z$B.%J\lr?ѻl(nd!Ȉm立@%]pp0JJEPP#D2x*U=W``nb"DEGsICa-ĵCn7x(ЬYn]j%,vzO[v-_5mnng}]ǑoooCam1 *b _[Z ݡX&u MسtFh!l+{.<9gnq3sLN8h̬,xInfnHHncƍQtJROq:-Jk7G.j*/YbfhQlڼ[o o݋Nc 2wFEiˎ[r%njˋ#wQd,Y$ďhdʕ Ϗ?LBffflX|rF7cƎȑ#]X}|6mU !:Z\޻@e0Xp!{a*?/TWW[jO_'oѣ<8ky2^^^DEE1VKRRxh"""ظq#عv̸~bccg޼yL&͛Gxx8 `6 !zk)X]+ymg=pe˖qFprrj|7111|o'N`A>|̬,<=<8w.. <|Q0agɉG},<|eQ[[[o/wwwƏO?}u,(( {!z3S). D`2=[Ubo_ @ S;V/[WXXȖ-[HNN.YT FC||<Ǐ'66;&O榛nj، z=Ç7sqq!!!ө!CPsRuUM !l<_%z6PL&jkk͋`hhZ)++B^\< ?9_W{=3{}]Lz:/2;w ..3gP(Xv-7oFꫯP\\-bƌܱ5W3y`Ϛ'}y!s>˳vQkJ1p@ ମME0fXrXt)[?6S(~౷g_Oqttә6mZԘnQ©! mB4bIX Fȑ#:EUU7фsۭҲe<L&ؽZ>w|Ǽ;LMMM'O#kqϽT?*]ӦzPոRPP/WƎSk7Cn0pmf(%%V,_n^בP2n8ƍǼy..ܼ7tZcs,^ Ȗ?l$-^]w݅7̮; =5XIVLP(ov[QQNNN8::r%RRR;GGG233qssCThⅎw(bcc8q"Ə܄מ:jw `?|ϟ;[B!h/:u-@5fƌsZJ/a,^[oռR6ƺuTVV¢EzE_BALL g<<<:tz=yy+ۗ7^] !B\uR YXeEU8ֿtkBxʏďv3;#Ghfm+N B18 hū[, }{c3P !B1u+HB!k*!BX;Xk*!BK]`%Z%J!BrRݧZX/B!t׏򣮍qy&irJgjM-J!Bb\y.PfhJb7! 2J⒖fv &&HTt4'OJ;YW_~̵ae ?L)P !D/Y_n1JUYיtF5k_nnnVG۷#?ViZЙkZ%MwXgUC62 6,B!Xj@CUW Lj''J[,3">@k7Eq͐P>ݻN ϼyq߷ѣGRO>ѣ<8kj~pBٸC?1}y 6pL&:'O //VjIJJ⫽{`ƍDώ;6ujqu-[7oA] g? ~~-BkxNKX+թ!XVZl0P !j'vS\ZdUbo_ @ SV/[WXXȖ-[HNN.UWx0\\\h43~xbcccd~an@3|p:8j;2d5.5ZWѴyhO5oW[:XZ.J`D}U3RԿoxB!B -O:u@ "\ ,p+@e*{TӀհͱ\ 6 UB!Sg J5b\TFQëC[þ 5sB!֐9V/(Yd40E:w4P_ii@Uz0˟B!],gYj.P4(EC!B!蠮glΞƕ T J5$Hg,I?!B! bYj\e7@C3r ]vk4~vʲaʲ*!B! a@%sQuh,TC@%B!\j:PE'i^i (Yp# 5װe\B!)"NsʲjelsS5] UUC[”*!B!%sU2L5]o. mR MWYOe2@IB!B@jtKLW^!85]obJB!9MGk.PZznS:ZZ BM+M-kIDATxklSe1׍umo7H4FbxA_IxD \ QxC2_FvN0kv笧k;>ɓsz>iᶀ{!33(D*WL&R &d?HTz[B"K RBd ? !3"@"R"SL b0"SL b0"SL b0"SL b0"SL b0"SL b0(u;xmiL<gμyc(Ǘ_o?R~m)YHPTt:Moo/t:q(N4#JiJׁ+#?}m`0 sK[7 N=>SV ̙=|P(T"#K3 t%̲'Yuz [?;7Zom:&_KKKCCX۷G ~ǶݧbvvvvכOD}cmmm}ZV=H1#o;wrIHh' ^ ^ ^x ^x ^x ^/x ^/x ^BO?ӧONsllt\_~zE.,,tuu\o߾i4vKFF x-wS)6mjxJ?qܱcǮ\nO9|pAA ߿EqeeeppMLL?~ˋ/988xM٬n}mʞ۫WT<^7od/_s6αQXXxbgmmmffpMkjjܾ}-'Nv~e~~~jjj}}^[DI$IZZZzϞ=zPtS" ~?VVVQgg' ;3NOO˯W'dY"ǏO\.j"AW?~^^^޼1III9w\QQQfffBBBdd(ccc޽#Ԛ  &Ew\jUɹ̅ ^xY,@__Ԕ^OLL2yyy!ywV4|^ ^ ^x ^x*>=?pzMM@AܳBo"KDuIENDB`docs/reference/gtk/html/layout-btrl.png0000664000175000017500000000317313710700303020307 0ustar mclasenmclasenPNG  IHDRf>tsRGB pHYs+tIME t,tEXtCommentCreated with GIMPWIDATxOHmLa׃A"L14Q2)AIdv2B$IQ)=DءW܃n0vx^|u_mvg<|gy+!&fm؏@ qfǯd [vdhe @ d  d 2dKKKq-Y__jjjˋIKK3 H`]fYEÇKu$Iy 2#GE&I%%%]]]?~zO>ʬ]^<ϡC׬Zljjj/DlhmS}ԩSjˣܹCD, ib|`||ݻwy`DQ4DtXmy^VQ↝%kll\^^.++lOtB^^d/^7=Ҭ DzI5|>իWH$mz*QyR_o߾t:HyEEd"w\n{ccfȳMKK :g]?QrRd ի9QWVVFGG/_qܧOΞ=㸣G;w.'''\Pd.f"\.cZ,͵r5VX,((0ss.ht2 %%%d씵Y&%Yܼyc뒬/|efff}}d#$I$--- ?񴵵>},`0 bC"SxF}c֦Q?v36y!,cccDvO6Zk\lzz3g˳EQy%;v>ݻʜtsRGB pHYs+tIME  8٧tEXtCommentCreated with GIMPWIDATx_HSm9Lغ $I&"E)&ވ]$tHp5`&*.6?RB"gJxa\p` i[ϋ﫩9s}7>;g;glp=B~'D޹foE?@(6 @Bc#@2 @2! @2d 6d&DEEE$$$9sb,--)mӱqW[[+j#uuu+,--\.qW^%&&*HEQ ^cǎ\A޼yt:EQkooŋ9Sl/_ܷof_$hd+ooo(ٸ8" p`5FGGb߾}+--{LJ{xٳgwsζ9ȰZ'(z߿p]69"3YmmL~~~QQQBW޽{wԺmX4ͣG/_x].ѣG+**B3JRj:>>>77j>|L&<^o߾miiQT---<χ:TTTbҥK@!99y`ϟ?Ct:͛ܪܻwݼqF3w'2+}}}D$f .VKDD؁ּh4!?`׮]>&d)))'O,((HKK۳gOtt(CCC_&VUUa`guuuuuuyӧ|p8CCCcllU-PjⰅn?}$" EdU_  EjY?~D<teNjy>//l6ϟĊ>(Gooa7kjje:t^tsRGB pHYs+tIME btEXtCommentCreated with GIMPWIDATx]HSo9Tؼ$H"/(XDx#vDк)rA VRMT]lMoCBxaK.8Eҭu;g{㳳lsvΞp?].BP"RFEb,PepTՀ d 44 d  d 2 d C@2WǏ6mddf.,,|Vj}ׯ_EQLHHh4jo[b|[۷W'ST*ZmWNDt[:Ok㸃?>55Uvy3>}r:SSSϞ=KII|NVf\.{XUU%o+h4v}rǓED}]^&|搐@l%t'/Z*̬\x ɼnܸBDsss+Q( B?9*ɟ|ت*O1Q 1)2 d 2 d C@2 d@2 d@2 @2! @2d @2d @LNN Z>Ƈz݂"!..N6Ç^g]2pǓ˱c_a߾}ppQGFF߼yCDG@O^3gtsRGB pHYs+tIME BtEXtCommentCreated with GIMPWIDATx]HS}ߙ:.B H &%!ވ]$r |elt)(D/4pVY[.y.>>hj{;9g}wo^/!p"mַQE8[kv-|s3 22 d C@2 d@2 d 111qW__o277g6KKKu:]lllDDDtt VT p  rY]]un筭Ϟ=KLLTP/O>=t\dQQQ<Ͽzr ˗+Wps-//K0%vXoYZZ%"F[WW'*&&Upc F +M/kYYYNNWE,O}ɟ m'crrWot:"*))ijj"8ٽ9rD6'Nloi355uM2Lld;|,zgϞ-,,LIIabb˗Dtرkh7o OOO{<?~hԒL&$=\7deeeee`B2 d C@2 d@2 @2 @2! @2d @ d @ d \YYq8۷333 ڇzݔ|ݻwNsbbtNMMtܓH)jkkYuB&I=M'S׮]weggn ZVk?/..n(I%Od!~NּJyLj.>Ke @2d @ d  d Lidg,|s3P`Jn}CvIg IENDB`docs/reference/gtk/html/layout-rltb.png0000664000175000017500000000320713710700303020305 0ustar mclasenmclasenPNG  IHDRf>tsRGB pHYs+tIME ]MtEXtCommentCreated with GIMPWIDATx_HSm9Lؼ $HCTL2" KHٖCuc8B"PCJ9 ы n'Bt柽ǝ}7>;;y9{9/$0u+B@Y'-ypl5 ٶEAZ2 d@2 @2! Yo;Nӧ߿L^j#%?v\.kxxxqq<z4͟q\eeR([se$Y86nL|y>77j~wuutP(dXjjj"j8KIItRzzv}FصL׻@vv6{YQQZҒzzLL( ~:bKfeePȑ#066MBNm!s8pImqA(55533d$jyd% ^zu``fsFFcvb& _72 D- z26yfKK [֕& mg{I@VZZʼ.^ٳyv{TT ֭[?&SNͭGRTṁ˓'?~\Ο,"&R"Je @2d @ d  d  d 2 d C@2 d@2 d@2,LLL$$$p𖌍Y,"VƆpfc2Jh W`0(jEx^z5Ǩ9/^8p@.]v[-T__ߵk8[^^ޚcl9aߎ2ӉDt:b#|#1l:::r;~iiLqqӧþq+|U 睝{illT1nyXDQ4 DѣevV͕YYY999yI͍:6hkYY$/ͦh? IuuVN9vXUUՕ+Wd>|%%%D$¾}|ϑyjjj<ω'FA~bb;sL ݻw*UicT*ZVrrrv'O_ׯBT6iiiDdd#sDt]nU >d/ܹ5v:6֓!8~ad -B$ٽ`?tsRGB pHYs+tIME kytEXtCommentCreated with GIMPWIDATxOHmߌa׃Ha p5D ST*:x0CKdv2B$JX=a7P$HEj$ v"t k3|Gw|xgyȔfnEQF8[)Xo@-" d  d 2 d C@2c+9>>FGG@07wjnnɓ'>|߿7 6n un)Osss*:qVufff+'nmG$نqϝ;o{IMM-))իW333(~uxx}ԩSKKKzֲ@ 0<<Dد.KZF<۷GYrssfs⟰] ?~3FVHIIY\|PVVg'#񳴴4==޽KDGY466^rᆆ/o|255 A$Iϟ? ܹSZZFAh2L&SVVVII{!,TWWQ? V~d񆍲$%%,Ȳ<22BD 'Údee]wޭ\Jo;.n%"Ά $c=rϧ|fP_gnܸ":~xooo0+slЮ]̱r͝w.ؿ 3&br?Q@2 d@2 @2! @2! Y[;N*O--@AT9*ē%3$M bIENDB`docs/reference/gtk/html/layout-tbrl.png0000664000175000017500000000317113710700303020305 0ustar mclasenmclasenPNG  IHDRe! #wsRGB pHYs+tIME *D$tEXtCommentCreated with GIMPWIDATxOHmLaw֊$?i$TxPhkDhxh!UPb RF"zPµ" + Dxvu]g(3;}g}`2"bXұ`"aq+R/d3Q/x /x /x!:яG/,,p{8eee999;W8^fV +W»wYYYYF;>zVG"r\.+?Ǭκ;wQmm#G\~%nhhpǏgff" H$IWVVn߾}@ GC`0 ].Çhtt^S]]ND===TؑÇT]9,QJJ ~ORW&==ԩS%%%틏EqrrDQ[[Όo_ o0ܸ%=dΜ9e6 hcݲ۷U&&&fff|>߷oߌFcrrrNNbϧ1{hjg  ^x ^x ^/x ^/x ^/x ^B/x ^B/x ^wy---%$$pq\}}{>00Аg2ҬVTV(j}fY_H4=====nZZZxJrϞ=;pZ^$<_TT[Ϸ`0d•{˗/jm6[PTUU3M;8s\fH EQQm~ Ft:~yy<5 3qd<5NGpD&,<< >ݰ([үl{^Y~NJimy}}%(z>iX*J7B˓? zkWP򢸔GGÏ8q_-ؑ"v?[ |>/;˲7ozXRuuwo|5 |-W޵bB6n{ŝr~eKDuX;, ^ows/7Zgw=L|/gѢ_]]|O㾦?Pd;zares㸖o?R9hj4'B]f9=}ͪbк5]xaxq/Gtt֩V)yqh{JTP-/ZBwphmjZPۧ\.#˗Z-]]_81lYea%axEF~pkkY[r9PMuux;WWmv;ȶ .+Bӟ 587/ӓHN<-y y@@`*pt;S&gLi'!Iþah|>_l+=-In#@  A)-~d2 MyGB=vțb!cP? $1EHŤ#$m oZ%ۜ3{u cY/>kNEwâ֖R%盇}SrrrebUf-e284wj ahthڪMǶm-T)0옧3DuZBH磽 !](::zV1JD4yc}M/s{%kR !4|0~ЋG1mE@^?rkf}8Izzz9cl cn'Eɷq_͢ vuzؔƁ 6הj NɄ4!M6ϝv/O" E-U$%LшNXB 'M/pU-B&j'wdgeTW׿O y򘡡,_g+9-b.ǂwN ^<4gffh|@vVvLNXbL0D#6c *h2 Ȅ<7ET:wPbK FclgI^qՌ c"#oiy*fJu˲$eYJ?KP yy@@7 O9MGYË޺lg'M097Xk:S@ 7<$;++;++>Ő֑Aݠ׃<ѐ:Tg7u:6D@ eJsxz@MB<{v+gDۜ:+n̙ڼܜwԬ~&v@O4!EnݦDO4x< 83g>}ŋ ,DF@#G9V_VYdqCi>@\ԩS& h<< 1(OF&-Wcǎl·޿^cSRFcPy4M+JѨj>\×qr -XJ%M1 L&ăcm5Bt _nۘ0y@@< ?ZKVIENDB`docs/reference/gtk/html/left-end.png0000664000175000017500000000422413710700303017525 0ustar mclasenmclasenPNG  IHDRqI) pHYs+tIME'BiTXtCommentCreated with GIMPd.e IDATx{pT92kr,7 Iʚ$2qVZ XQ;ᑀ QT,5 I T| 4":Z:mabc2 }߇LlM!g2ws~x``\%.p . ;EQ8AbxĿ44MὉt)ͅ1na(J98 Fz9Kx)B y1Kw-lXX/7uuw#\.׾ֿe*|X{ݞ8A^~K_|ݮ^Q;&KzbNnκ]/iAii$yqwål~Xuuw4'OҖjِ{DŽT_ew9!')=..Yv!iw,(-Eٳ|ys [ZyonjX[f?A}dƣ mGzdLՐ߮Y27'gՊrКU+̞]|y(p|Ax4K'Mp:@}\M^?ZF%s]Nz,XJ&Yk0B'?ŷ-v{ŋvuԩ ,˲,,;ibu?'^]ښۼ{[v ݞK.-C.-;xpc===χm$ONOOq K\K\%.%.p Kp K\ :.yoYQqOnw<744.8<7mڸO̧5<q 2 U-Ƿm]_yr˔ Egg?58NmPymuOԀKUQ6kimn=3/XUQ6+G;в8mڤYbmgȡI$J Юۗ0/õAzgl55{>Y--)nDY{$p A A%%.p .p K\? @YAPH>5i);+`.գџΤ"PP1H$z.vHHbyߐoP3spD4Ra0„"" . "E.-&\cP yrycaQ{x>̧-|ql00᪍s]P׀K(8an~_cCV<+;. EӬO5y?'SUG)WT`lͣndR֥gesG}7唏hmP0Þ=Rb2c>en\Wr:E$2EkPY?glVP),E;t9`r{vd26?EW1%h;׀M|X5slmԩE;׮^˥lcY5N3frVEqɽsLFBQ;B$r͛5s(!s *)." Um\3cC=I B(^t8w^h0 "x<INNN^nvKR j{Pۛ}%mxA}ɊdKȞ%Yk&d\WmPoooqq1ۍ_˟M523 Cz.$I8:4!IW. E[pI0D3/pd>29D*> 0.UE{3afLkq6[ufp*&B^8nwgF] }:k$˫ʼSQ3:n++GDpet_.y2[4C1ӂ[F@V+~_(v4MkZj0~8BY{SGfoћ[tb"׸%0FIߪ?kBtBϸ3R@\p K\\F5yשּׁIENDB`docs/reference/gtk/html/left-start.png0000664000175000017500000000406313710700303020115 0ustar mclasenmclasenPNG  IHDRo ~Y pHYs+tIME /iTXtCommentCreated with GIMPd.eIDATx{LSW9)}mRT .e,шkt¦nӹ S:u3یST Dli/Bi}N$mi~ =;99N\<< y |xM1UUUjǐx?66~.:z|j B(m|j^RƎm`٪m3X,wAbTKFfK26 LU7X0ݣk# \..BGj;>{f_SSsy}T*B'NZ6M"6tɲEzÙg-˲ xGZa]1cfZy |I+We5[y۶V~d6###ctAZ퉓|wBs3fM:1[ygW}}ݻwH){+JyWQY KYy:}t{ܝD@ȞYj,R詑Ըh*̘j5;=ש^GM?#0O!Whivcd2SQ[XZ^\.˲yòl}}} 3&p.\<< y yy&nۑ>1aȰjgQ_rY>\ur֊U<?P(ʅs3ϻFD,_$c-4iFqz5OShr{-\Bٳ= o110m &v:rdWvK*rɕܷ'$͡.4AmܲediX<ЄVP&mܹsQQQaaam  yy@@<{ @ Uhr T޿T(G =sFm9'$$ ϟjPh<< A({gTR/!?qyرc&slγu%EQ4Mk4iD"QxxFQ*oG/-؛w4D j#"RH|4EQDdr('Y6DV mL^$~0-S 2y,|7şQU?F݌ "z>LjSR!U$ ("b8Ls"2)DL ` S8@"q0)D̶,p[0vVıJ|%jBN aC߶iko_N2hjE+>`jԜT0NRJ/صuZC[wD[2ah]X[ifzgtkV3+Щd\.~?SOQsSJCEEsվ"ǫ߶ՄhŒ3fPYYijE-jB9{ ,ص{vVı^/SkRUYE<Ӷ@<'  4%bD"A,#9l=3P4`E^q0)DL ` S8@"q0)DL ` S8@l=˯\-n+H$'>O/֬>C( D?EEEоYZ8{xL,RnI[ynk+ ڵ 4x7c^/"kx˖-m.#Hиuvw6Ѹ) 83~y>6j? ̟79_ 'qx^ME?O?188b֌4Nmho߉yx vN^ nXpAr{3.^%+S"/"i omq{ `w9t[13=k&[8n߉ TU1o9 /;z6yͿƧisRy,Ln2o~z#G}̲%<357׮0 ,dYX{=okrYCe+WR[y#n{Yjj{~5L h 1 }+~.6xX89c?޼qzx||i9R࣍˲,{zhDQQKԳPQQAwOЧQwwݝ;GܶiS/գs,2! Zoɢ (-g񢅼ʫ4m{~̨ipYgnj˖sɯsffi9|nx ttyeh(@?G}ZEGg'.D^&.~SP^mbǶX} à:xq~π"q0)DL ` S8@"q0)DL ` SL^(mDp C@$բU@)O]e]/9;dHuDDQ1HfC7d  dDs"r`dgoD8AGg;p0^Iz0\9_ HOg z@-F PXV` ^Ndh|?eBHvdq/ <>OY-~IJ5i\6޲=0?!.JIENDB`docs/reference/gtk/html/linear.png0000664000175000017500000002076513710700303017311 0ustar mclasenmclasenPNG  IHDRX 3bKGD IDATx{pOKR/\g"[[H'0\ &sN."c [&ivBtB!!4\N(bBu8,ryޯcO>}O~7S8 `Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQG|>3qqqwuWDDSO=e:b,_/bcc#C[P!8Ӆ O(;ku{(8+)IuuZN>j:i!8KQԯ**tӄFmmִi2Ee.2fjeeNN(Br%'CŚ8t0hl.7WO ^EufVN/ΝַL KF_.n5&q"ј1jjRy9-x!؊nBMӁ=th㣏rY& >}{&L0:i(O v'B6Z7Z\Y E_Ԥ[5s4hʿVЂ=GzX6(-t[Dag&nG EaUJJz5r@h…DEVfnP*+vSŚ8t'a4 _ziPK=9Q0GA۶PN`ƍ;V}V0BG"9YII5(ԉJIϧY((Bbo_P0\0PTnOט1 /!]sӵt/vӁpF\G(1QڲEfN/DAQԷEAq235o23yeLXc4 w\.#(B[UVѣM0PN﫦y%&׿掄08p@.NƍJL4zk*EGt -h=!1 Qi 1hzȿVq22LAOq"mmUy9-hm!tϕ=}4j@륗|u뭦ʿV72Rw+&t'B蒗_V\Ue%-h+!\GcfO?Ve 3hN]Wlެi+):Z7߬jZж(B+kuTY#LB0/=tHk(+tEgRR$iN`4 uv4u޽SP Ii -YeTR6hTS#KmS|4-N./O&;U[K :EZZh-ϡ܅ OhBh@ӁfGr1+q"`[EE;V(B6֦lMSU[7a(9{VڹS+VhH:(BRQ$uvjo: (ULF "`kl-]ŋUPLu0`yRClѬYj8_׸qFUWӂ U+'Gs(6Vee1t XQtRSUZ_B˖qG=GBOO8tXQVѡgU\F !}M-_i:l"` MMںU3gNa4 ֮ULWM -=<͜2 n:l(U_$|ZR N_?y2h@PNZʼn@x9{V*,d.B"FjjroSQ&O6h@4i[>-Сw235TRAL0`؉JNϧk54pI%%JI-L<`: (3kuLѤI:p1_[Vիe: "j^nut0(ZJ9!inVz-RN 4`@$FB1:rD6(5t*ݎ3FziA@Q|T[{5F JkpG"JM**,h@uv*7Wӧkh| E T˖i~@00uurt挶mS|4@p"yyVڿPz˿Vw٣+d""Lz"=^ܬg: kFtC~LQ~a!.tI#Ոh>D?W^QF4@@q"p7jX QRkҾ}5t 6Z]W+WjH(B_"ĘNQ_ˊСa!\ =UY 3>F.;tH:uJ[(!t T8^ƩOUWӂppVyZ](B ~T^BAѡgU\bbX |%N=/z1mެg !`Cow$L%vvx@߮:Z> )G j h:`F8zT.{OTiDo(*J--hA{(Bڔ-[ӦȑVhB+WjEDXEXUEѡbMh: `YFKUL G BsfҥZX%%z(`% ڼY  ZoTU- EXzu=6B)M<=Է@!ʔVhTi;D)ZX};zmZN@8:wNzM-_i:`_!vvI[jLic4 kUSC @Zݴ4UUipӁg`4 Z#GLi'vҜ9GEE?ta&uv4}]K p"9uJ))z-=,a.`EVk4y41 XJ4H>-F!ܬt-\(G%%4t ;JLڰAiiĉ7Pt""т@kmUvnM.W#G*FjhPJ**zL%!DJJRg5q4(,?Eܬ9sӟj2hӁ|5F@>D54VN@ qy ZVF @ޮL3gU]{5@0I%'Ӻu,"zXWee2@71zS>]cƨ,!CzQ"zN.X XQog.`! ZH+%EwVF@W8dh͟o: .)(PzT]3@0C99SlD|ӧRX (B+yJJRKvRl4(pmV)6V;/tI.TR#Qs>P./'M|lܨSchA)(B@Z[d=ӨQFNPJ^\ #8 EՍTQbbLrF\W!"C57+=]99z1k@ӁhNt\.}i: 8q?/Qhm--"+!A1t a(+c֬QV4EG(,TZUyƌ1@8a4 г*.NQQ|'BٹsԎzy6UWD=mo: phhvjkiA_"\L͛,jӁ7Fcrw+0P;U^BA]hvѡ=bcY {8ΞUFX '(BXo+1Q~[g: b4 {5EGo_K !t23׫aL`YFa=G{הj: Dy EEoG ֦lTU#M` Fa JIQy9w$E ػW.Ο֭A@1EرNт"DxQs*'Gڽ["L:$KzU͙c: Dp7NhAE"Qj~X^/w$Q>˥fL !Eaԧvք p F +Wj .R! _Eh l:a4 vI۶iLi8'BvbbԿjjhAP0VQZ4|@(BͿV+3tlj!_{hAa"DtvꗿTrx@2$Qs\?t3B+[*.ɦq"DpZX $(B˅ …xTRZ]a(GX q"Dm٢(VPNWr5qz,()L-kuXE8p@.Ο׎:t2FUa۴ +JOעEQA 0(za%&A[PUq"DmܨcէiAFZ[d%%J@/0E99sTRF NFv]wki K:; 郞`q}zQzy-YӁ p(B\G]\.9mo: Q|`g!D))Ю]1(>ѡM GDkuъܑ !$ۭ #qBV)6Vw߭ZZP_p<rG1u?˥zIiNqO8E8ϔqj(Ӂ(FrRR7тܑIHqY.c4ӧk| |"F%$hR-^ h:F6_{6oVB4~8٦M0AJKiA6О$=jjt}@b4jC}$KuuZZYY@xHso_ki 1=~XQQK8Dc23?Y @JLԟZ]6Fu&N7n-M99z͘!Wc:XQߑ8|X0,"B_?PzѨH)&Fт[9edP/Z] 2vHFaZh`@QᮥEO?-Gڵ`F+)Ih:͝k: 'wԤZZ" GmmΖۭixe ѰРUThJH@Q᥼\jo׮]4tpFa$7W:T>-!B5wrr*.Q_.3aѣڪZZ iiǣTȑ#15ÿVY,i(Bkuݚ0tp6F!ueQڿ8ojr-_HӁa65iV͜i: 1 ZUSC @xefQZ4|@c4DG^~eL~23M\ '`ټYQQ:^ee /0ە#KǫFQQ-+ӊZ(@ڷO.Νoh,i]h4`֭VЂ`a47+=]=,H0WbՆ JK3M{ef=т`Ia]#1mkuĩSJIQyVf.XEm(1QMMڱCSNFݳ~ƍӀڻ;Gǵd4x@@`4%+1Q Dx}7jXZ]!봶*;[JJ1`OF҉JIϧY(E^[UnHǛNF˚4IÇk>Zl"F͚ _Xwa: ~N.gzai!>#*z ڲeKeeΝ;z!IgϞ]lYjjjdd䗿Y^}U ׿7<1 ,YDnݺ!C[oǏߵkחa-[+Z|ƪ'>ɨQ$=z بco\F.!Z|ɸq~2`IW??}/wzQI4hPm׷_7a0OXhС ʓk~聛n>_~6gZSI_8UWW4j2~~sCd";wG}t߈ :tԩS,'thoo8q_rذa_}tVb"tҥ'N=z3f0 `1.]lIDATtҥK ?ѣG/Zh̙Cm=3mhhя~K/N%V2R@⋍< cMnJ?t|UBˆNue޻rX2tWte'm~'7~r͗ζE@Wض2Rٶy)+l[V]t]g7n\RRҕر#??K$6mGt\um/ԋ@hEDD|agtEp4h!(BQGF"8Ep4h!(BQGF"8Ep4h!(BQGF"8Ep.SIENDB`docs/reference/gtk/html/link-button.png0000664000175000017500000000367413710700303020305 0ustar mclasenmclasenPNG  IHDR[L[sBIT|dsIDATxolw}ĉMFm,+E 1@!1@b& YbHEOT  ml'eeSe%Olsb ZԿK|>+~wgK"""""""bk~+Ӻl_^Т[o"h` fff"vY_Z "7E2o;0_a)~ @w }%hv lH/8 Ԁ@w  @DzC^S O?`)DzW𫀃? z{j]9[rHuSOtQlr7+߾n^$S T&Ի%ޜopxv]rcQlW̖\r)'j}@{wm: uB+ߩds)X =&X2_9nq# #} g UU ߏqcbZ/ٳoiR9v Hmm-CU3dƏKua2XnǏ|ljup = |AEeGc-v8?W/A>z\2b'Nd˶mgQ MNv|gn ? 4Çc0Xjuۣq׬ wiZ-I4h`yZއ><33[,χߺFF ={Ы-ݿ+oL55Q^^ NJbΝ!jOҳ{**+Xe;8v8Ah5Z F*T ߿P__~k11$&&pdٓKF ws^tTTTRPXHUU51јL&BBB<;( "tr:U_oʊJnǬ|a#t<޿_NDON:y6//O. :s .pַ8UϹoh-=|N<°C_3~s!7uպ}cض};|\^+1d`o~ Ж2i|2)?q2Y99e6mr,_PXܛo!}e˜ȃ`0ڛ03{FQXTw}bqz'+V}ŀ ee' #as7x4p qj,}\ 7Z}Ç0bVy `u2gSoaڔh4ʪVLgDi⥙dLH'i &ff+/w؛>Țh$(8C.`ænOf}77a0 MBNǎvz2cثjRPh?jZ,i`re߹k7 p}3ٿnj卒*cqqjΙM!y'N%/@ؔ^;n_RZ5aaaXVjج"VfΘAfv~ k׭羿oܶůַx&=j ]wѻw"EEŨT*ƥn?~w997'NgYܳ וu޽{HHH 22ݏl6NGbb5_b[K>}jzl޲'z@7ض};۶ookK^û<2w}6=zkis&o[|b%e:z:t}udmۆd_uJii)iiiܬ+_|QpifZ.:=z$''KS% RRRݻ?~<ݻwpjl6O.\DUٓ/;m)*.nR5mL @,|lC\lj~}2s /V>n#Grv`\1#Gvt:Ϻy=H͜EԩlܼFa#4#zPdOⁿnݺ9o/Vl̚=`>CifRtZ;e /9 u:.v. M[zV J@y~3$&c2YL &jjj)-+cٻ|eT*J23&:?3cW_u9]]:2stt:v#{易GrQ6oA7j{DwؼyX| e:]Ok:ȷ76?[1#Z[411Uk0yyd\6k#Dh NvG>PTi%23&0k<՞k1DGG;6yWY˰ /$:*׭k|l MfwܽYdLHX|ɧݮW~Xj4,~)bbhhh`33xs+%<W7BorW2'e🩭\ϽoSYY٥VȚƚa6Ykfe`X~=uz=6;'0Y3VK\l6a61 ;̧ӯo_=$q11Fǖ]<::`QȚ b.<)Jb|RSR˦2뙔5/Wt6"%O<_:wX;jӍA|]uM 7mkQ/@HH<ok2p<,kV|ɸԱ<-ϑǸ[Y#DGG[j:udRdblɋ~;Z9UV+uyލ7'>c 6F80->~ m *b\]cSkNNZ0_h1Q QZڡB8E@B$P0 !L@B$P0 !L@B$P0 !L@B$P0 !L@B$P0 !L@B$P0 !L@B$P0 !L@B$P0 !L@B$P`WXnn+_Nf. WCd@B$P0 !L@B$P0 !L@B$\V[;҄fꁆ8 @$"vov[ h07/:_9ـLؓÈAu\qlǮ{85nذp3-7!n,^qn}7 h߀/&"p)o=n@{`>U7@B~ f9`i\ihyL  !|Sv.@}૑,gLXUgB/XM3Z 𦩽Bg~q; qIENDB`docs/reference/gtk/html/list-box.png0000664000175000017500000001476713710700303017605 0ustar mclasenmclasenPNG  IHDRbR+LsBIT|dIDATxy|SeO6]4 HqR V K,.83z/zwqF@.\Tatpu@čMZI M69ВJwғ_"yN<,9B!B!DK]籾BIx>J&h̸EXÛt(h f3@8CyaB&h;dKsƙB4U{!S8"3!74 B{BxS;a:Bojǥ82B ܿl^ !x_1p!p›BpM9{*^!> !$tѫ͟mVWB?>`'yҭ >!#3xyLN6'OFrjYK:;:?ocUϗ0gBne30?q4}ɽ?f5׷BOyYym& Gg׷s'{Hsd}~ϏW=GnU#RPPCd2xUL8ݳ'6lw߳%چNGqL.vk$<\Cdd$EH4޾ wSrQPX?ʻ+o+ n` 7>sa3O>Nݛ'WmLDBrr=w;jR_f3I5WM"b{bbM&#QXUfgӧw/n;@$tڠ)ײr[LF}I ֻ\&8)!NUlӹS'#{ɲD|k&MͫVbuvzct$}zD=8r[϶/Ѧ `Lu*EE|iAAAATT$/-b4f:<]W^ /4>{+{#N+w~_mW?_«s0<1s:I8!.xN $H5t*pUWO k 7y7\XM"f>) _ClL O?'=<3x-BBB#@M  6J[EQ8{AtTTtJ{d 0("ez_!('ДBS:BMI!4%#ДBS^=d>~)ov'o!4%#ДBS:BMI!4%#ДBSri !Z!gIxJѩJSuz{6,{ +-P p Wro8;t@c0ӰdJ()ټ 32L9GN)y;fгbr*0 S,pqЊYWki(LnQ9!rv|{CCNA~])6NEd}Aåp]C#bh d,~̽.[=Ǣ;qL]y [-8NTSgy齃;\LJF$?+6᮱)9sx#p>'i d=xuenl<)FBV(,$='lĵbFFBPϿ?my|)kHqwحU1\)̟+:Zq\(¢uf`X^prSh f$Jv!/;7u#xv$uNPdVobx~\ )fڮFnt0p,G.`-VN'PpU`RXoNb?Қo$lNtG"u١R:xul!rsmx+8U%00K.wg5L&TUEӡ?>=ëe60K<>&}Y@91@U9YZ{^ߚ]uK'>:TDNc@H?T;rͱЂTn$&O,9],jBCb5 X8:/9h:ѯKX'?he6Zyhx /O@PQL4#ѷ@\, .j-FrrI !IL&L&S].'g;(u[M6͟mI^)6@a=ť.wrl!~gؐT)**_WqڧJ8@Fd6%9RTTpf'/◊BX!k͇z_nOvX?ҠB\T҃U:v7hWX=$th]O7ߜ(h$tBhJBG) !$tBhʫlx7BȺo!4%#Д| B@Q,2(x_DΝ ^9-%BƠAx_{~K.xߺHdY, LH>rݠ2@@س"͆`»v\ JK-?\XrIB,*: /##D p;fhx0 !ZhIBGY7ty%WhLGQUJJJ74iUWcM`<1sFv;0lHzɩiu1hn!+ } [cǨd21qۭuOؼJYl9qq^/ (vEQ/l 0l6AZN9}Ω&DKU_ J( ۿFٯ|ri|RMOrjO<CGe0F{NcX ų^ޤlƌ3oɷ3yo^c2"7\_ȍLbx?<'N\w@ƫ EEENEyy9tСjgq̙kV{b"s/ܟ ȣLF֬Zo]ۊMwLF:yy|s(ǾS9y4;w13P~QvCgƥ(a4/ D#\֮[OAa!nQB&CzݻucHc"cHvݫWPc$H"lOyV9۶ɖOۧ7]_s#<>QFbpuY(|൯_4&pرq;}zCaПjY/V{MDDDdOgn2-Yl9Sn/C {bbU&(,& Dc5U0gB~3t;NgoG#:* ߥK^tyo +VC~~#ʚXjN'GSB'O":]f#//QÇ{!!g>^=I<8fmWkKڵOߏX{i? qqXsr`PJJjݫ'].y)b6GбcXl9Vͤǯy xaY@&OI Tɮ={=o! :_~ LJ:R}ٻoŋ^iBCyu|[g*۷I::13X2.hz=#FՌQZ^k 7y7\XM"&/DctCז-8.Η0{H˖>EQ4ݼiQml3MJQ)//VZJ4& k۶N5I*B@@%ye>ȰUm6'}xzj4Js@yߧ)88`_!#I}ˎd!Dۼ~$#D !Bh!;J:B2BhJBGDii)^ NnfZ| !j^çlYo]d#D  kի #!.Y !ZHHǻwSQU\ !ZUUp|]}:BMI!4%#ДBS:BM+?( l YYJ|]hLF]:wS|'zm :~Ēmbn '}v!Dc8NgfХSMƔ#Y #쯎hTU%0,EB-lهPЄilL ?,UHNf:~DINf:BMLLGΫ˨t dg$xDk׬3f_3gTklz ÆѫgOVy;p dձ/V+%˖ЙsUm'ztΡ0lH+.Ǟz>@B\֜t:bX?(DK졳w~_mWP^]090Jm~[5bZv]H!@Yaaa:f&jS^^:엳.m?g*U۶}҆V=_q=Շl K~OSpp0~](+: ?٢B->Ꮭߜ#hdGdG-d#ДttDk'3?b2(**u)**fl{-Mفr⸰8uN`/ 0\eQq (byRۧ̕ /pN+;O=֗7WBIŝ:CG*Ng8f,^Twxv*hDsiT BTr13ʹ>6 pդgf,^2U8bTPvR>ׅTJ}<H!.X<^:W+'ws|rb !jxwT2_BJ'*՚BܡR\!*y3?oKIENDB`docs/reference/gtk/html/lockbutton-locked.png0000664000175000017500000000314213710700303021450 0ustar mclasenmclasenPNG  IHDRj,BsRGBbKGD pHYs  tIMEpIDATh{LSWϹ!jĬQ'>`DŹ E3n ԉ7ƢFActfOc2lf!PZ@ BKs폶+3s~Osd%!I$|>MvPZY!0*jDFt{ruJ$v!竫Y+8&ceN FӴ^g_ 4MKۅ`@z.w 1n!YdX~ C(vCVV^Ϫ}{?*Q_~~3;EjiiK#pE=C2`HwFZӉbFRB@ut8^μ>F! q`@޶}(BtoYm-ކTԤ18fI{_}K,&F Z}%<@@-NOE.Hc_7 *18S/Dŵ'444ѤW'hl4kw^6GXs{O0 BX؛a{ɖ{)wۮ%.,oo{{~`oO|=Rr%iB?Y\~pႴE p+F=&T4M^ץkc9!ĕs0B3w; J6F(knnV)U~[U?TJ#e[W=2L'I$jXv IENDB`docs/reference/gtk/html/lock-button.png0000664000175000017500000000733013710700303020271 0ustar mclasenmclasenPNG  IHDR`sBIT|dIDATx}tSumEiIxhAqV0,2;E[m (( .:83{vȀ,P`9B[pi<޻I6MM}sO_߇߽7@!B!@Ps!Dϥ5.Ck _7!,l6ll(Q, @q yj!z5xw⢩!qUzB]5zGXIw]'܀[@:Z6~Ɵ@+=!DП= 9OKj46~@2kNOSŵ"I.4MRUU]^Ŝh&ݚNtE.GM@Up]L:S?SwWWq8:sKUdX3:}/U3m4q:]^%>.;/):hhhh4r*h4p8*1A@GH@'It|n#kE<:Hm郞:3g&!!$8'~#uv}aHYu%v ?dȟD:z 6q99;~y|qE?]K={4iQ!lf\/jjkcKk۝ot(J ڳ0clv}av͌Y۵K55̘5;tmÏCEN:sۻzJbݙh4 UUQ: t$smZW{߳mJFʠA Ok<u 0 d{-豪hF|||(#"PG@ZnFMm-<0?V>l6r3L2%hۦcg 9Gy|1Kѣx<23)[ER .lJ «kxŵIw;PGʺ7ֳLg҄ :}w677@vV&^ g3U+矕 =6( !دNrrrHT,޾ǕUdee7 QYUEyE8|˕W>u*ju#uҞ[]]OaCp$^7Pz9^ZʰC}5}+]seuꨩ!;+T wyw8y?9Љg[_XD^A!S&M#:} _jWSc3 `xi)F1G3j6n~ٜȧwށd"jM/\C) g̘UUŋPYI{쬬NЁ([]hƔIY[Tvs8^Y]Ą}Ӯ1!_q\sEQ08ΐszшnG4F#]q7ld4UUr_~444r8`M0͸\.n7`2P=&cǘ0nB>bW+wA*:hEj<Oa22Ĝ3("n( FkiZ ?x:Dٞ;h7Ξ\+9 Γ-z$t|Pt H@# Γ-z$tdNn ( ] _A5]i:rqˤ[ӻ*1Az:HTVWWd2Ȱf2('Kjj*I'#Tn$tvXxߓ1L@& D "I$aB0 !b|HgiS'l ̹>]ڦ1- 3o?>7;f.|w/YЃ~_rWhW$z3֌Y̺O9Ùg] ΕN,G>nTWWsvFclTᯚf-## X º5Îvkl>Μ/OK/_4g?>-`mj{1lyVffcG埛f'^rOh@7QUll^_!bᅗ x=\Η3$;+dYyn([PZd穩n~xH}/h5虧;fSkV:6?͋V`<76lD $ooYf5&&;z4d>{)'ӧR7Ξ像>"gW؅>m*w^Ջv}ϿgvϞ=gv;>{G/;,"h#+bD$\|K# 7"b5Iཁq!/ =aMƻHb,`k'F"+8"+ pNx"+,dzHbȤk[6"p^?P$ᘅ`""61)DlL bc Sؘ@"61)DlLZZ)-/ 0npCф"; K`R\y.fLARR@wgH|TTTPvwL$,>m:NS#~r:rݕa*~ 鹌?􂕡D`@eU;^Ù3zk+iiL0K(V)c@1UTUtJNYG\om,[UżDboߍ!55,ZZ.λ;vţbs x*?sgiɒu^~/cޯH4uv1bDm332hrQB`a] _VH5but[hFM91jHۙ5s:~8"o];HIIv۳4vO lڸ|t쬬}@uM ~v W=IE Ţ9{PWW:?j5<ܼ>LjXc.͞}'YY Hsa߁ׇF˳QZVC6<73gLGK= cDB-d/V0e$7hG1*Ə+QoDL^TOffYY9NFM]]uu~]=>} nёǀ-{Q=FffgϝrRSSIOOv bb0:&-?ŕ+WinnrE4O\>[S&yV[$㞻EiM͜C{{yI Ͽ[Ǝaپs7W]ͫ)))|wiSyq.kj455u x|q:a.s$0 ESyS?~۶n,O{%%+8ƛ<`>%K0 Fdy[_a,[?[W_ղeFRSakVql|9=m}~1HNNf5}ɑ7V G7 ZY%9vfκ^?||ObQqN~x{w1\.U2haׯhbXA`hjsL8:k VQX,\XPw"PXLgP2(,dw|N%~ɥz <  \f]FqY׀ <=.?pfra3l}{z."f`uh%45 Ry`a(M Nw_ BN(">BxNy :9sĔrz=ޫp\|{)::2/U8njV8:IT&] cPvo^n"0ĢƲl!ATU4 mt:} .\j2M])yk48;@F}8 0AFbʤkJMJo.n#isŭN@ ˲@pkgZbe `nfJn#nK$~]]{lhl|[LёF$bl1rznN_Hf뉗Mp9,1MşV^&'zmޓW_w3Tb{Q1kz?fӼT:muBy}åޓ\y\e$!F^uVWZd3WG>ea6[[q:4o7bZQT&Eeݔ[ގ A" qDX AB$FWJOIENDB`docs/reference/gtk/html/lockbutton-unlocked.png0000664000175000017500000000256213710700303022020 0ustar mclasenmclasenPNG  IHDRj-isRGBbKGD pHYs  tIME3{ IDAThkLW0`w*Hyj?ۚ6iҤiRhxRm FBRF"VmM_*1bZl40+0vvso[.RJ{Ι=s D+A@|G[BU9%¤1&BNí\&}\b!, BQ~p&LةBӴb&cL4yb/b| l|$ۼ/ZL{d8v0!TX_Xo107qt$ꅋ/5z"d!ʲĞ)CC(*;WV5x;ʇǙM&}hwuwB!3z|q{x@k(|i&{d֛ z{{Eqj\W[jU 0 ƸhWws.I z}u (w^Ç;N6/ߕ!է@!ZmrUEr+EQ&~kJP1>uEfUm f1L?pצܬz0o3{z@OQc [ee\ut0 fwBuD +SO&_2,LZ@TMLLp? "4眻u7>Nege'0 #/ #ąG|7VM7#_IENDB`docs/reference/gtk/html/menubar.png0000664000175000017500000000603713710700303017464 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d IDATx{Tu @;y7N*q𲖦[n֮ڽ,[RֻVkmA;%( e?f0:wy9>!B!B 4u8m,_9kK&hdQX;F3@7/F!EEEDUB4{vJV=B mvx{+ǩ9jӛlMk[`=3Jrqt~@%P) D՚ڝ kev総 BhaG !Za=Z !Z: !TL@B$P1 !TL@B$P1 !TL@hF;Mf]*ќ4ΜŨqɵډ'1lߕJVY~-(`ԸdŗM^ҏ')9.7Uzzf;vq5OS_|~?r.:uHȎ 2X[=>WQ,ӝkڥ3v 9,}FYygnhDӡ|Z]ի(uk~z}ף1h@0}}{N1w][6ӡC{aeytݥ_~ >.λ  ҽ[7b .>@\l,yh42kWzB?b 6lz#*Jw.:I׷+jkEN?g`vwDppPTd\:nj4Wc !TL@K;5AbB*& IbB*& IbB*& 53gQPP_`xb6EQ7Yټ.Z]TT:yOPPݗAxx{V riGnª'$p̞ԥ111\Ldb _T5MeX((,D*ףCI]cf&ٮTUUEII <;2 Ȱġlߕ SRZuynn^.fSH4Vc2Ǭ^^A付6^&MǪ'%p8h}$%PRR걾J~+)s|z?#I#GVo_ӌ0feV`0pS^>V~;5[CH3Lb0x=+( z^~j0QLiu D %$IbB*& IbB*& IbB*& IbB\eq Ock#0 |ik<:7!o)*l̶ b{B&aC[l{ !ohk&! b{sضmۂptvC@[ ־kJ2P#<8@9G~Mh/ Dӳ k7fRW;ۏjvt-Bxe1{gw^i]9@@G!DӨqo:>qY  +Z;=فj:p8rlXNg)K@4Mky#! c<$p‹NՌ_o‡I@5/[(lްMTE†\ S-M`΂JJPU£(?E@myw~?Pб K =- ,3Ŝ/-E# H蔢(AHOK{/ =-2>$tس7C@Ftt4g sl6ی;}!c-ӧ?>m3{ M[?m4 g6{/`2mS 4`wdo܀/#33l32' 7n`  =kuA*?B{Ez:_rxrT׼,^sH H@v-$&$~^>cF 7o(>zv-ȷC@Z 1F2fH4M#lly};[^^gT|a@_ =":j@Rlb2ѿo_KDܞ)EQPU5WcsL>EQX;w'z%TUS0"c 8Auf3 d"|HTk.o'@xб֜t> |HDNvȷE@.W@N‡)h/ JJLnTAbBbH'O)ʅBX0ŅZ!ۧ.1BxR-x[2o-6{|ON<Ɉc1z,g\P^^3u潌8]'"$fdт{|vq㳲عkc+H+y;7{o;Gb6lfwZo_n~7\z` [mY/Y hlrٿCc+)࿾l}6>c4MK/ &&? T> ŰC%G{qs6f")1?~h&C3pI\F ] nd4rm_͝MkK CGWJbBkI&FM|qb aΝʨ;h{@u#$nPp#)<\cO8\VFf&׻Vtt7lD5Xa6ѹcG =q'O|=ﻗ|VАZܢKիv ~w +VBVzN~~>nnn\`E|]4Dnn. 4(zk^^^6_YMe7e@\w/3Oҽk47EDujW]֧Wa5 \qoܼ\&Mx3gY=w<#Gpqq!.Ǝ՜OOÃawG;6~›HIl6{]8z; knEu˖ʲNH5U(t(_}-=!!yx4 c'ϤSYW>>߰#GVh/N`6QUa}m۴. ̛H|||ǿ2\ O}To. o=7O <pYbQXhՕV7$1i...(_PH[;;0ѿѷw @J G~ǾHl֌trMJ?W_ERR8t0_K\l,=ucۓ(2Y:Sջ=?7̬pww/7yrl֌wfdzl*Fy摑iXN&|222G2l!ֹۜcGBCB?}PΧ( ѷEqQN[͍[#ӹ9v!+ Fs"I{(BCyoxBCC8tpkܹly;r5w%晑O<2L뼎`xyyqKvmӆ yvH|ps\Tu>Q #^^^̍ۓQU___>ۢe'Ktތi,~~?fwZۢxGsޱ mݚMX\㍷'( Uɞw>6lH73k4XYkذ!eg|r9g,S :oχZv>?: ?e +yl&;'HPPPe|.77WWw3cXP5]+SULFo3.9CvǗd愇;ƻ`℣ii X[#1t:] jVէ(:O}!aEvKsZWWך.hs$lHlظiip=ctYWF[%ld&X[hSQU_7捶>WJ&F$lBhD&F$lBhD&F$lBhD&F$lBhD&F$lBhD&F$lBhD&F$lBhD&F$lBhD&FD~ &NZi 윜r㓒4C;mg0;U6oZ]㒒2iC:cػoqeH,Mt$Ī5s츥̊V3}֜rf~=t+b65{=[۷6/Wku&lF{Zݷ"Z4;UUeg.bz"8(3xΜSNaa!'NAnn^2 {Wh\Ti\Uf22l6|z:J3Ldgg}p}m+]n]Q'Ҿ];7d{b"}{=1[;wG׮|ty4h響/\ WO223>kX:ˬ7$],[ɄNk^aq6qYB^ς$ًdi&̘2#6F۷;w%SXX7o1z+3g΂z|{3zzl D.\""<ܼUGq{$G5,>>v緵}`0jzn%.QzjZ9ˡ^'?:>88vm۰AEGFzz:6nbӖUX֑GY?qN-Z*:[̙޳={,!!({iڹSGks-?mcWnϚcm.LηB‡Ke~N>́)~+Յ> `l,^zcxoQ-.3{6twwGF֯Oo~;{Vt9дI]:wۻZ58j8lXɜygB&6M˜3s:7ED8l.XC-̍wˡKq5G:xg!00ۢl1}n[b6`^ Ͻ8iY-iCUHc+!8oXhQF׼ FDx8|n~λiۦ b}V%Z&Mxc05* [-1.de$aZDUUEaȠ<3fΙǪj}|Y3Ƽ<AQQQ pDV ddf+y7ÆI1i~g̔WyQIENDB`docs/reference/gtk/html/multiline-text.png0000664000175000017500000000515713710700303021021 0ustar mclasenmclasenPNG  IHDR!sBIT|d &IDATxpWЂ-ܝ?]Wk'CO4DXu+\"/G]7]7iV,g,8rIҗ_~9@ Պ% ux_pm| 3#6uGr|hiU= 09?G?@v ^;}r908z= [?D/E+_o+?[;FRW;jSTπN5 ~c}ڶ)` #a0<*u~_6]UzouIU΄sZN>41DKV>/?>9t(._ZΏۭu8<:TGզ^xSVԶ=ѣ|Nw~yDLBnڒW ӥ%5Wk+NS$Ik_|I---zhjҸjm޲5|[WU0fm۱C>*UTVn'sN@O)Sׄk{Ϟ8~\K5W^&LԂi;Y:yҭ_TSs֬QwcF+)??OR-_T˗-ըImzEz:s%;s镗n^XԿu۵'kTIf~[R?P5ժVAAA3twjtyi+,ۭc)x؋.=&@J`wΘ[jϻiٳTސ!|~)(,%|qA౅Q)9r i @~~֬^.;6fL>xn'<|wCD>5J 9M'-++9)).BzT_F}x}~~$Ï@/ۻyVedkBMM6>|̘^kLY3W_c(˥˪﴾0++K<USp`Ç 5ƍzx|y^薛o]EK~5mfcZ>m ܯ"3]Mȣw2I @%ywn|GM*+-Ր.557kZ[[v҈gOUӡ~c}' ~9SNJD\nɈ(((rѣ<<% a 0F` #a02f/[T>%$4K=a&Ú;m]pAϱ|j}~䨞^(m֥4N_޷nv៞ě@ k&|TQYvI|>fu4n'?&ݼizҕzdبV̒4tЄ @On\.-|d>\ws^X^T^pM 1f͢"ͼ^͞;Ocy]}H @o&zZYJJJtCzm)@ rc}ڻ}<լNǟ\Ϗ ?\ ڼefo;&zGUVZWȑzhgT\\]n^IڂK{pIPT$a$ 9-:cw.^9̊Xߚ={JN<<HSt"ORnw@rBGmCZ;۔DT@U!: H9=rƝЋ~m A@Ch@|K_  t=4s , utY"! 9೺BoG,]@rxhIt@f|_w74CޱFIENDB`docs/reference/gtk/html/notebook.png0000664000175000017500000001143513710700303017651 0ustar mclasenmclasenPNG  IHDR<CsBIT|dIDATxy|nv9!!\B*VZ}Dj[xVZjUj-+p)>IH6dw愄Crk^dg~;䓙DDDDDDDDD;`nt-n- Xa3?lpNș)puS HE0p&/MMkOD'&f:"`'k#?'"Eh]sz@'"EǮ`lq'"Er| A"ҋlPcX<-< )xVk]<1'"hk׭mUf^}ֿuXTw٧EE"#|ٷ֯t^q'+Y?x󭷙4qb,/o;N3Mᒋ.d__h{F]lb2$yp#mhR0x@l6U+V*A٧F$6&ZݬXܼNGgUk`X?ul~7|gGEӧ3wUBB(..omp24e2?j_=R?I2m#2"Spyl>UW~qdzX`Z ȈKeyaZM#f#.6ƏQÏ`T&OB||mGh(>Jh=}r2$.8]W?uu>p8\t^F#ݻy~J˜y%,XbH"o {rErΘ1KyiTUyʇ)^xi~Z $mh%HfQT\挭vFAyE} w8ts~?uu>^y_Կ?UUUl[eҸ6mɠ))m鮺>ݰiePVVje JN9G+q8KL䜴1\9 4@ OR HLg`kf&Q>i'X,z`=yL>":|lݼv-߽[-jjjlDEFԟsƌ!o_}5TVU.+#*2Yp8( eH2]z)۷ц;wYCM|b^ZŽ_[[[!'7:JK?<+9bYyEyk~g":t}zɅ3Mys {UoyK3MW\@~;p6|VvZLr/BX,y|=xi|K6ίo>$`vWoش̘:Q#j_⩪rNUg@ -x߰/mKGr~r7]'jOAHLH$;'w}˜gp=KDDQ9Rʞ}X,$o#4T;FgSł/|F5n{`\3o.hT=፵oƍ%::Fճirؾc'27Is޹pnZZWDzC((,IrOۇ eL klwMWNiU""r" Cc(x"bNh5HW]o8{s@{nQ#5xoՉ^\b["b OD1<1'"PD Cc(x"b OD1<1'"PD Cc(x"b OD1<1'"PD Cc(x"b OD1<1'"PD Cc(x"b OD1<1'"PD Cc(x"b OD1<1'"PD C3Зf}ٹ{q^s?O;tUUNJ癿?#/=g(,=,] g]L ƌ&;'ǟ`vhsyee%6(9t͓u6uk5bӧNeE3f0s[ =HeU%ip73,5͙lΝ8 W׬f`bvj2˗gwt:Y2{-"mnT7o!<2,K;Eitg^m9KsrϏ~|;?[n_-Y[=KJg/?v,cGqӭ/?ȟk_9{6U/e}X3g[c-ߒmYY,eL:|U7}{Ѐ @"DqI }R,+_"ySCQq1$&&t2.yWϡ{IIL7v: `ZwB:<g3z4= 7xἰb%vys`k")S?nIm7̀I`XH}Nݘ bp_m?gz!ɝs[sx[Z̳Z^!x)t(ÁhslaoP /"r.Rxi _ŋ:N bsz!(x"ҽ5_=a6n`5|"ҽ-B0f z2fہւ5L'-"4ˊcҢuo@q)IENDB`docs/reference/gtk/html/options.png0000664000175000017500000000203013710700303017513 0ustar mclasenmclasenPNG  IHDRi&H"sBITOtEXtSoftwaregnome-screenshot>IDATh_LRQPs gkBdnrs[ZV?j6[s=TZ"To͵ٲ)is$;|Hv!CÇd-Y񉉅X,b꺺3=Vڄ>H4](d .'O|UoUVi<KKK?z5A!zc4e%;qܽky%'۷fk[RI?S8nffFAY^]ڄ{wn%)0kAd;yK˕REӴBhm|qR@ `0|N؞ ow?6^~ѓh[& -bq~~hYz]ugH҂P(p86`?<b"Л^hj봈LsGQpjz|y|"DgjkO)KKsllbqqQ <Ȝ;['Kve|/W=u?xs|Hv!CÇd>$;|Hv!C>TX9gIENDB`docs/reference/gtk/html/pagesetupdialog.png0000664000175000017500000006712113710700303021211 0ustar mclasenmclasenPNG  IHDRGIAsBIT|d IDATxw|WvdBKAd)"~UD%Pp %^-@M6&t6mx?<.ɽ3s B!B!B!B!B!B!B!B!B!B!B!B\3P/! (KM 5)/B!ąA&ך!Ԩ [Ҷ% !MJ 5"{*ݮ}!Iyǃ'B)nW{i^BZʴjWh@/[eBQV.-%̯V,K ~ѿKKO!Ji/kLW6}EKB!Du)-;iJX*WՁ _x/4B.0 *P<藖N@_Vז.%{!5QYU X]Z|ї} !Uw{`5 WU/`Py/d/ Bqi`ZRx\%WEw8WyKB!*S|@_0;_Zw ,|ڂ}ezw]/2PwJj:wm{7n4G ! 7йs@{[﬜o|)J{WV/]CCCWB!4$g8 {./{_l/3Z4( 9xs.2׫O:j+F lv,]wsOgV5b=닟_}||4@ j\񬜯(;՚CI%r.];wl2Wr/ 9KDk!jKײ/46٩r-_剻zo0|_~WLjGVFwK+ޭĤDtNjVB/=:MqF Be+pW ּlOgV2ut7_6382s^ ]쬒_m%qĺ:effb2ͭ]zEd2tvB8sq#ǯp+V8)їߠ'`۵n%]jϏ|r> &&*aaĵk˸Zfyyy^҇=vA4nԈdUwsǎ̟Zi:ٽ;<~Tu:tgf6nqztG;UG}9ϯ}/*;~}>V~pEqdFA`\l6233w RԴ4BCBηldfeTlb`08zUE |}dddլZ_F^=5;~̛o^Gq)6r1mL~^>Rk)pTTN9?[֭/,F#c9{I/#O[j*e!FfkM33ߪ[jLkLqFVCs׆ nB+q'( zk\Q#IMK㶻e~Frrr٧{׮3{|6mތfNl,'NQÆONWf=hZGFc6 g^H/~Mpp0Vy-//~2Ò~$T삲4Gjy,loW^e˶m|s0ڵiöMPس+.JSTTCc];7Oq p$-`_= d 0l'Ȱʜ睊ıU/|Ѿrj0v\z4WWhҨ$_N xuDEE~F>Xmi٢9v)O$:*_}9ߠ[.)SQvf8p9B:ulubcY{deYxjs,S~O*)K/]Jvv6yyyd8NF&]={h 𻆡9̛oˆ1L4k֔Mopwks_gMпqoڜ|| ݿݻvl&4$P4qgвEs^|f v'۶Fӹcf(%S\fdd0l7-[2n @Ѡ(jz-ݚDrqz4-*rmD$׵Au,jwl(Dhn<څ1+WѦu+|||Xc|sƕs{ӢrrrxpX#t?[2r#ݷ@$*z냏Qgj# #}P{Eo[9pV#ٌzafE˜﬉Pq$ētm Z6 0MUvKD߰a4 LK]_?"55nwE+|䘦^aaaSrJ _~А"Y5UKw9f3uԡsuԉn9y%6&-v;~+a֌,f>#G3!lv;#F=.cCb2SB?~-_~ ˾_Ϊ5kYf-xm ~R(RNxr2w~ZƵb߅qm[o}_M %ӂͅJΪiB˯9z`o6c&.ZLJ {_ ;7`] Ooîv| p%(_ 9F5-Y>. PUs<8 ߳F_ٷיFf(.N;ЫG?x^`0oՎn:| 11V-[J7<<~Hu JQV^4˶FUUv;6 EQgƳnBpǷjut2*,tc+WU?v<ƍˇnGrǭps|Ynβ+8uTi:?vXxYTTr.ڵmu( -5h4_1-yܮm1nݪeDq^UM}YG|m>~Ϡhʒ i[h\ylz( -|_ c::5{~ژ9пJ!8JFz^}3t@x =%%&=Mly)/UUiצ Q̞7Q#A$K"m[׼ /LEʉбC{5۶oh4ҶMk|%Z4kK_|5o`}睤gAu`{ܦB4?/4/:::?14oDxx8 dgg+MguNξۜJ?۱_6(sY_62c,6˖vL5f 8}ǿth47?_ DI4(UcsCtZ Hr>|${9}5㛞IQKbL"K@|@>y>n!%@#o-ۃV_e?A-)H]U8Ν Uk_aZkN1_ɌYТy3˫z>̘:f¤D3W3N嵹)J`@BBx׷˖jBI}]sͣIYPK9~8lB~Z^OTd$Oh֥s1(N#**(ϯ45l˯oa卹a- z_hq?Feƍh4R?71\W[oa`+ 5y9S1uގ֭o\;t( 99@6l܄` >ޗ@(UR؏b 9lשѭ/%`eu#PI:˨Wbq嫤VekpM\k0 |p"= !UE/FAQJ?VA36//EQxj%t_;Sȳ)4jN*4_N-\Zulg<U۵G 쵨Dyi /#`| 8͹s&Kt݆u$'mX`[%|&l6ew)FCVVVlܹsuRd2ƛ|p~ Db6"5-0|||~Z-^Off&Y Xt.WZEd۱ZhZL&;'";;wFӵsgݵ:=vp( yyyt`]Ǭcj2\c( F5MQBǣ@oѷ-F6{Ys Vd(|\k=Pߏ5֙)>XYe ճa?lxsI@: ҀSҀL(/•YV]vZJɓp-y{H;뉊$6&jth8bA%^:3(^y,ivmze:vy~<򲎩5ͩ@VY>gMiҸQxgP3^yr .dPZv TB|jF$!Ltd &:YB .FrqM]¯ #p,_OȪ0P!Dr$i>>>D& !\F vUUk= UB!WpKJB$Ћb:]#GZ82GCpPqr-7׶mܵQSBs_}\ʳP^V+_B\#^U/+Ǡ?3wvkUg ___v;OrV])գJL2?/ML^=+'BE!팗O?^f~Uiřϗ,"(( gjْUkұC{&&OMiݪ%őFyUcᮃNzF!j+o'^TȪ5k9{]3vf}l۾qyÇ[n_>x9s^!C{ψ^ݺ,2\ZDGØqOtIO`'㏎)y^'ĥ~;v8lJXh(qmɂw㩾" IDATUyGw-ۦukf2Yl nu e'rjΝ{??~ z=/ueb6CxnF5lYӦ<5qEQɓowOGhbzaxq|rF?0ʕn !'InvHKOπAyyyop5{ EpP_+~qF:J} ,us6)sySwa֬[ǚu m䒷/$^RVgs?@nn./NKXa&Ȉ2NFєxk 8/^WZ~?peǟ 8Pz }ˍ7~F\ Th _*v7hޮ:ifMEF^yE^=UУ{Bn[u_/} o6Uc\rW57݂|t1!!!ղ݋EzF:!y:;B*ê 8I 8?- 쀒R9?dH u%FjjZfLcQX5{6o׏aƐ{:[@n,?+6{&88\= x=o}׺@С=WThZ =">\I0a|-\5kc &:*rX 72xW5KNNy brٻo/MK2׉>WzlPSD{f#3311)GҦukP;Qv #߰1h}nn.?ShuU@_,CoDB-yp}4jؐSr]\wP֬[GzzSȄIѭ+7lDQUڶiM|\_-lØ9m5`Sϰm];t?0{EbR}:|>ubc qoB}gt ysLΜ=˷_|ViǰJM4÷+UBѤq3ǩSr ? 54iܬNU -_wONhؠEQxf󤥥1jpoyq|;&&2|0f3һdys9} OOHnn/"~~>?ZDʉ<1v G>xevEቱcf/,aa4iܘ̬J?!88`OgCŌF#\ ?+^ je/Fmv/Nskӆoo_εCW0(Stԉ͚BMhӪqڲ{^qkYVVZKr!v'a!={.:xjmnٶ"3BT5HM=_|@xx`0xsa %; @Æ \Nl.({S6QYy `00A돮+;Ej:119z5bpT*uԩmi3fr w߲0 ~VGˣ?wY!Jb40=b`宮ZY/I|\;Zhkoa08:,WTzFh_>s,o(Ta˯t:uRU*i3fŌS.zߜD/VzfM+{ùЫVe)Xsiݚ7&,41:wL`xYl޼P;v0{|!>\y߻o?gΞ*HB8xùP TE!44WMtԵ!p>ҊNtsr;o=xݵ槦1l}Lx)3/ƿfҴ{U4nT)i !*LJ7ҩCݑ!p@h-"SoǠ MkP~]'$;=YUUEQTEqmae4Wr_~E!e=A%6:z,>(ѣnhϏtEQURSPQ +Pswb`0 u,͙gFUWr,mv;YYY{yq( iiҹ|i( i鄄%~V+FѫjDjNJ\lKشy39hތCIMKF2a4mص~zF?vm۰ifrrĵm#= F{ bcbxfscC̨_d),\@u#h'0k\v݋Vey0Mn?~< Ʋ -=ofsc<̕W?lBsrtܙnՒvmڰlCD6hP9ezKΝs{_%JʉL&ϨF=:KyIŔ4⧟YQ ͹sPN#==Æ˷-gY0ok$Vf3a!gINIA53g_ܤ):%LFoC݊8y1=@HcqADFi?|kݚ n:V+,\_b =^UUv;OFtToΝ%_/aw;63fb0 c*-|zgXh(Sf„g %1)ؘΜ=hv(Y*ΦL&#s^q i1텉1I|x)/L_9'o.`ҩ~E\5*c&u,;&t`~e&͛6p˫c4mp2ڤq#Zh@6ٳo[.]ܱcߝh,lڴnEhHHjh4JMj߮-]>!J'^Sf^hz,F*Ǔ#իWוaaON)V .iEq>PUhW+WEIMKçHt )$$^ϱd* v_xQ^ֱLt<@)*"Xnivl6*7wM EO/~׫˔cOS4_{Ia4) Sx_AQQ$&&-٤ѫG"챥ȋcׂy)kܥWt{?@8q|=|?!>>l7 :p n^c_T6/hqw''sh"M7`0Шaۇ^/&Q3Zgj5buk*ppx>nZiٲLFHp0픧//p]?3Ճ]{DGEѮMq嗻5mjwO<0q39ncݳ'+~?V³yw4m:hWl? /<;9I![l+Zx~3^"QqE!<AE1BQSxùPB/&%zQ^WBQQl|}.O($:*3^!j\2d\)ыBBCBAx:;B1fBCBNIvÉF !ĥKQl6yyyE@/˫_l!RdB!z!‹IB!z!‹IB!JRN`ɶx:;B1>DGE]`'^r2ܼ\ztdtvcr9ٷ)Dx:;&^r wNap4VG-k_h4!GvFc\pK\'A(FUU Bwz$ЋB=K-6 ) !7 %Ћb$ !h"Ru/E8/^W%,3lAx7zj]a鈌KN<4~L&sW:_~E=hڤF)5v Q#n-4oǟG HLJb֜l۾Õvxt qMwI]7J+!UU3'$thUǁYOdff3O{:kʲXXd)QQ56C%ztWy?7i v'O":*\Rݥ].Z$^0\Ӆ,R:pp0'ldff^iX0  jb4]W՞ U@OˤgdpQ~`ݻvQ\޻Wtx*$&%qȑb4ߑGXwztIӦ͋߿/֯ˮAK!rssp3l۱EQ\;t?0 $qذq999cܣc xr2g®ݻjۇ2`2n׉-5=gu!]9w͚6)~!}O>=oy M$6:Y@Vg_x%|wmhb"Ç l6t! 7xWDZZpWUUء\+'O%*"ݻaGƍʬ[}@3O3m۴kgntr /{obISXɧ7=:-& BCBJnJMϹ=&3aa^RK^zJVUUiڤcu91ѱk۷uvc]\v[ղpR:Dj^=ӻgO6i豏uvLFIIǸɱh֤)o(_qw7VFɓX9thOBŖaZyzٲ|Te{sKEiۦ5K?gLL8fMJ);H:v;n+ZM׆nڶiMhhgϝSBkoٺۿo_\ٯ !j& ׮d?y9M7-pS@?{tLO~}N_ʷlnuV8x ^zeVeBBBʝ iBxQ5l޵\`sU*׽Fl&++2Y ~~t:.Փzdy~}^yx1yمh2p6)^fzE: !jƍzJ?8J7)sy?3yh\7t(FC)q'O`QۿʣSB8x)tGŖKNIa֜\;t@xxX䣢 neێhZ$mիW-7Nl,23Kn ޢnbhUEu7\-%B>57 ;ѸQAD_#gdgΞe J))$33oIdd$ݺtF ^#&:4 :&\14o@ƍozyn٘ &c߮]6c&YY̘:2[!(JoF4еsgo}ETj*O>,-[Mt:JL_'j͚B[lITd$fwEʉhиFX/~7t:]:u6mZ:*jBQ4l؈ ߿pe?^zQݲys.-S-ptj{id|}}1m ͝MDUU{;w___=:@N[qÏ=>۸o=ec9{"Ta$ݻv bҏuesҩ#r9ԉe_j4 uage6lVh1y6'Ou^}0N/xhڵmaWZ_!ĥCQZ_u_k]-翌6iii*gd* y{S'>zp՚Kv E3򈈈/"7 TJzpi1fnn.l+TvzBa6ٲ} w~@*pHNOK2;G7u%zR:i4bcbJ]d2b2U,0iR!.&QVgDXYi 4+;=!szQqeU !ĥ%Ћb2!ps%+2<R!WB8Ȁ9+IBo8JaX^Bh4dgg\3 jhOcZ=!\O\)ыBBCBAɕ6hBFfBCBNIvÉv=F!.E`tV.zQL^^^b !p"B$ !^LB$ !^LB$ !^LB$ !^LB$ !^L(>s! ^lr>X3g΢jw/|1|}|.y|bӣ"#tJɓfcu|;P IDAT/W 삗)b_ѫG6i\YV, J}*BT6 mw0 6zdf͙˻|؇Gl6WZ2xutJ@HHH)(baᒥDGE]TWwWNC!zQ{p7GXrN8Y]:uY cF#z?Pl(^_gb"8(ؼ'_9L!ыb^~&Se6>K/WX۶o珕ض}%.e8k9f5~,K2PeNo˯JMLW_#kou7OKKc |\m >:s͍7s߃qí󯿕;/BQD/axزuqmҵs2םm<޽r m;k4mҘ`|}}+ogAQTUu ɫs^gyUUynlv'O"<<#GWb xjԉ嵹3 N}B')ыb~w>XaKs4)g{P@,MV|t ?.}mK$[^Ը g_ؘiܨQU^zvN.]h԰!=w#55 ¿;w{^xl,;uQÆ7n|\;N&--̓{#I[Ǡo=1x{a6o¿;w]l6dh4Ҡ~=;<6:~~~15mr*љPQT$&]uM&c.:HŒN[_jʝցCGS;VKʾ?*@ұ$D!OE!ZoEKb0h٢O}I|\;Zj3b)/lٶ `29|(;>潵4{ |]fyfMR^=˟8y{ErJ +WAлgr/SQq툎b֜=j$ 6hb".*]!JE1 oÛo K[;v ;&;::630#::(*㊎ˆ8?gDQQv "KKiKK(miHSҒiZ'%ޓ{MXX|>.]1|[ڣ?x0˘fsrnf3QQ>c:WM򴯿]Ǫ/V3lj?]'>˛R?moy.)-et:|_T@@/2syؘ)"[m!Pu\Fihmݢ@R`0>Ь2Qee%F"(ʀR0%u XnǤG/\jnoӡG>d4H6Y۳_璾y󟯻_2R~~~DFD0;ovݽbWTUe/q .c$>.͌9((8{h42W=jOň/koߞD_RZʬLkl CXw3gݫòUU,Y(s,/'kx^ސ^#>>  Y'N"&,e%Q$&&rѭkfa隥.}IYUU=/Ic49竿Gz>ǓXhqxcұci$%&Lj+q=8x r#{F=Z[+7;wbTCsY__b'.ѿk>;RQQr:bdVipœ555z#"-KK=iW۲ϐ>^}dD[m`o<@PP7x˖/oEaگn$00Z^mm-ݶ9qe?dsm[ ^ͷ:R>i|],JKK>t!Ƣ"ذq{H@?NkOavoĈdj#ڎ_{6KKU%ʚlwc,^>EE3uD=M֥1CYfTnˢ4fϚIXX U=@>8|=-Rrrs:w,/ۧO' 0, b6yLjaoQYYO<VponߦhGJTd$///X˟c{K):q?7.]藑SmY,YTeTTbcc0ӡCOyoM 1!J=TWEaX0L8YMfFgOTRz3U&Fvǟb4SUU}'y[C3 9 Xk x~~~=>ߌw%nj|~  s{ǁXzI:ޗ} :N?v8sݵ3dȐrHAo؀b!/+?f҄6vr ][rX,VÇjjwcty9Ͼ0_]'L`0p8혍bxa!qq?^N:䁇W^_D+Gf¸+눀={/`7S]]ɉIlڲaC0x@;.K/%K( 3~}3`hXl9996e C޻}3sl}rͷgzd 9-?F#:Dxpf !TT%2$ɈUAdʿ>X/W7hwŞ=?n<7N\I]{kkӭqw;\,>zJ_U|],4jkt7#F roQI'Cu^OlTRKܵvh뛙~5j;M\Ϟ|Z.>v&\Eje/í83|F @Rb"~vC@@ĿjWGbqĹ1axa!󡡡NZ, ߮ QRZJPPdjNǭY\q3ݭWsb(3Fp>x @qY[vah4?(5ҥ}5||UUYj3zǽ)&2{Lyr%q1 n]Y;(*."4=3G>[nasWglߑE׮]k[<3u$fϚɺ3ҽ[sM0e|g!Nb$&$Ī/V,H\Ϟ\-^=E|\wv Q;Xr#9X)SU`|7\5eJ}Ӣ%K"_e'OVx|ҭ[W( fsƇas䚩Sr2X{#ǎXHKJJu oQtz taJN%"$fdF7tZ&{w5=`1xАx x~\mOVٿGbcj.Vlo>=[>s ٪1vX:vyy6n Kp7v \.]96mwwމ(;23IvN//xǟˊy;Q\ @lL u^߷}3 aÏdrVgϞ屿>p}c驩DGEgھ`ܮKLL EEE|Z~-_0BBB>[۪2 ꕖJ^x|;ngY'csc>IJJx!sb!<,ɃG ;R8(.-gP:PU#4nMM-99[<=M}6MŇ'l+I)/,$'**AY$%0z7)?NrRmbK;0 fs<7ETUuԩ0vhv|f Gj$&XIҹsgj*g뮾={C4.ɸcu(wJJ:9*cOܧwywo>˄u`3ty[FÔIWh Qw%$8EѠjkk)1S\\ĺu3톛a׻vL4#Fn;BΜ9XJ=k&}/AXϙT}FѠ(5`TTTFI$zBeU%6o =-ĄiZޭ;Ga ::}GIJa{ YaC}~ (TбcGشe?Szmc~`,iFyĈȬ{ᄪlݺ>%>.tK ==6p6 |j:uD\\C #???dnK-pڲmc&N 1r$u;u$Y?Q'2v~}ox7qRFw74~ qI^8t,~Z-IIX,&׏C9Kqny|k:}SOJuY]ʪJjj1u,.)(zlbXںT[HDD3Hf &hHv6J}h%%}{$^8{(SPUӦ$'ӁhdȈHk9EQ#P^~Djy7L&***ر#Z=, ]BC~iΞ=NkMM zY&JBUTUUt.J[Hrr[%:wfI9S'1561F;$$E-/" [OʺE޷I0|f};bFmϘ\҇?o5W_F`kC ,gy{bXj\=u s7n+.gmTWW#a`5qy W_SXT?S'M`mL&]ccyHsZ'5/u[d1{L8^Xȳgh4ƌɟfAjq :6,wۭ(^Ʉ\ۗ_{6K̻KU%ʜ-)-e-3檩lشUs?-%}$zpsqNGufEqo6-_FNNddc옱W5~\=u QlٖŒeIOMw/k/h4#%*2_y,`AL&z.:7_{P~ [@vNϾ0_]'L`0p\<Ә&}I=Gn]B潜:u>Z?^G#6:oEee?u~q IDAT>X .F2C0uU 4H~Ao؀b!/+?f҄b6]qWΎVyV.>5_1b0Z[˱N;{'^8P[kDs?D&ӡ;G6]V5x%TVV7kٻw}{zWFaɲd7xÆ a@W;."Q^{ j4Eje/UzXvˆaHJLϮ={_o???شe ìn}|z=IL|{_w]773ؽgcۧwoz˯rk%L0ɲ6Ẅ́qWp47i=W$}$zPHH(ethlr}NGQq]_a;\^xy#6[6\o%v\R됭#a@E8Q׍ٓˢK珳ΐAͳ5&*uJNJHvNy`Pom#`O:Ivuvwmm-?I''12u$fϚɺ3ҽ[aㅅc( S&Nwr)VYKbB)Ib˲{'^8}?Vuِk: #)1z5nN.FgoC0wrԩzMʭsǏp $;'Oe;_OppDq111Y-[pEXS8~[]]͢ŋx/8{##/ͣxy^z)c;n]s6lEQ*눳t{ rp(9z.,'**Al@r 8I͊j؀On]|ϔ[AC~x!߭`/(Og 뗞AtT&?Ec޳Ś5FՒh:RﯼFcNf3e'O6Y¢"TTPXTīoHTv Yw_@lǩ)m#Hv 9}tu[gxnֱԩ0vh>kfmีW.qۤG/h4L8?Z WApP:(TBmm-eŔYz-n 5¹n%=-lsع;w6xno1n`띒BX繹OCҾ}ի7^ș3g9ٳfy{^z9< X{&lN>X 1!yO?U>K.GCUU:w̵WMe@f/g"Fl!!tkISǎ<8{6<+?i_ֱ:i"_-#GcG4?^N= >g|kPWmhmݢ@R`0ƈu'~ݞ(S`%{$FCjji^ۦdBc2<0۷kMj=ԅwV4eEH$zbcd@@@W*?AD{&1"t@jE;tX.DWCzZ=zvE]9|Z~ŤG/Z]xx#l6{m(UQ!Ghu:??u-mmm5EbDD/ZlhĈ#_mB&^!aB&^!amB!|EZ;_4o\!%hˡ{IB!Zm$ !u]Hޤ${!m/tw% !U~_U߅LM%yIB!~ '{H􍓼B_8?/ OؿIo !Qz^nD/Wںdq[?Skߍ͘햊ǁ@h:uTB!ZWdh֩*k&~jCH*  ޶ޠʁNK __QBjn[K/=o9`:la]YۗZ7N|)BJskSr]-}%pn1r.zx&z{-uŚ5uko^W(% !pӄCk?]5Wa\ޖ]{oJ5kkK5?璼{ !薶m=Xɾ9<3 E=to%ƌvۆ7l&v~"n{ΒBNruuɸxVù^}eR]| [f{=zGs޶'z[0qKBњ%}K-mg9mjhx]gq}a=wo[4;w/_Bx}Gwp.87˷Mk/D2l;J/tBuKB4ONo$P%{sBw.fIZ/6NғBK\?תZ3:J]!Bk{ػ.^!/pv6I6 VB:gmumhگ|B44C'Զ޿Bq!yXZ/!EЅB!B!B!B!B!B!BQ^. !mQVnl\gBѶ\uUMvB!ZW,7% !퀫B!ڗ:Bq:IB!D/B_M]5 wrBqpzD8VPB?bs]ԶIENDB`docs/reference/gtk/html/panes.png0000664000175000017500000001017213710700303017134 0ustar mclasenmclasenPNG  IHDR!sBIT|d1IDATxytTUoU* 1$1ҭ*h@$}VGZeij m蜣-*PAgU$!H$JQI- $!IwR^W徥n@DDDDDDDL`id%`yCENGje6{Cڟ>[,.$QDZ[ZZ@75xON/8#D$:$oux^I}ed3*DW"oX;'P T+DW"߃h "ѡ፿|@ :j ?(Dw1 uE$)D 1X]Xjekm +>5o:ϱZ2`[dh׉6κѪ-CY"SL b0"SL b0"SL b0"SL b0"SL b0"SL b0"SL b0"SL b0"SL`oy"!|_{C䤰w:tRӰX,]6@jb !UnJ]Eis %g'%%.HIII)vG{E)B] B aVZED AFw$I[ҭM@-ڕJ])v5ʣMn [t7p*)`_vwH,qr4q&!@tRۻAFz&t8dg~m)a;׆\ۮiD f{̌Z_ Atcj *7Ga]ESJ@Җ!t+D=I[u7@B@`  'NW1)iGD$FS"5%=]d"H=)D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D fk͍\57aD~5Ĵ5%<pr첈H+IKKP#:1@` )D 1@` Ee akjjx?_ﶴCD: 7|׭ _SS^aӷߞ+**XrvՒ"bQc/#g'֭_OeWՅ7k'܈ [v)Z\NvuQme_cΝm^K^yGs|>^7lbaLh}ǎe۶`_QyO}#\8eriޘVۦ@q1'hނ~ܳ':CMPy*-h~BSW :?X. TWW7ꥡp4l-hҪ_y%۰էNsr(v:s/8xӧ1mLL# #S լm"TVVҥK ƿ4{˗,Gv6<͛zl6?oYкN2w|66[ÿ>={Yg* 7t#5\0b8]&ǟx-[bZ5{{)eKp\[_}Gv63O9-h4Ӧr $$$+,}w/Azz^ǹ_]fڣ3Ûj~A2O9,dE?|{7w @Zj*<%u7lk ׏>l^Zx<ϘEll,/\@JJ .k2lٺgŖ@q1wq;?'sidwb <0_m6XNX)+\|>S>Bzz{~˩={M;撠y^L7ݖ-}l 9~}ke{sո+3zt}ײ_k~ٵ.v3/b F`С?b8/ si)>|CrV+˖Ʈݻ Ժ ,|) @^7^.g7V} |ORR"Ckcr5PY&&&3~KXeP?@ڵarmam<߯srZM ; }EV?/!!ttZ}YYOxFOV_ZLIxfϺ),{f@n>lkrۤ|f-#G:+' Z/%%ɞ{qyK/Dm4G,dTqQ]ԬmS _- 555Aɬ9OpzxwekB/Ϻ IOOp߾icrY, 0ܰm%zvϛ#RZ֒FFӻ7.b $t?VClPK\<3ga[ :%%bgGC9XR@rr2ź/z9vٴxӗڿp@6eЀtdssǭM\oy瑘ȲqjϞ>e{f&z['DVߏbaȹ^ S 7O"'4~ڻ`Zyb eEܕn}6-OZjj~$o?p=Ͽ?pӄZm\u%6ofg鑝Š9]ns3ϤGv6ry1+}>ז غM3ks|?? =%ҠRl6rGw!\,gά{fO#11__9T/g>yT=_4Ґ`|^/AtHINn2]C6Wyy9?Z* ))ԐrINNߒ ;$@$ iL@i@` )D 1@` )D 1X@:N111pۤk"r<A|XٹkCʘ]4LlrG˸q8xx<ڵk/x^.))WTTKlll2nZK;>\UU bђA?OVW)ڿ/[oi]Vd Yכo16oLOtϦܵ{7}7\q饸\.vf&ٴ$2__̈́믫_~~na[tZV, d 4W*@'3˘|ם .?A?3Ә,/Y-w99Lq# k>IQD: ̐ٵ{7=x㕥uOH'H耗+{ك~й᫯)((dW_ mʕܵ /zaER zQ%~65@gYYϿGK.LNliL(A?rOu5kDg==.ljmc9)D 1@` )D 1@` )D 1@` )D ^SH&Unv<@ @*V31qW ?|9P0 oC#yk_P?9*h XnH !pcF{4HU`/7፿ (,ґ8~ ÀC51mXxi~U 9PS#@ 0^h45~oEtt5!S` Hq l֐e"1 jB."1z'`ҭz(XIENDB`docs/reference/gtk/html/placessidebar.png0000664000175000017500000003374113710700303020636 0ustar mclasenmclasenPNG  IHDRlr sBIT|d IDATxwxw=n`)eO((ʖ!llEŭle7tI4PeCARV&>>,qtt e)hJZ޽{퍥%DEEq=jԨQ*:BĄիcmmRښիcbbBtttlPqww;ݝR|Teeeaeew>,J$I(?P($I4CdI_%|ADYdLk>w4nԐaCӸaC]oM֭YtsZ=5$$&r5]N:7K(t۳#~ȁ9l(jy:\'O0NePqJ0557]V޼\~pwKg^yi$$$&/8w<qSΞ;;1ј"I|~_/@02^AR7N$߸Alݱ+++˛!$4իѠ~}'"2L&30|}ϗ{"55Lٳ[ hؠI\v(xzxԷ 7׮_3NTo'$$wwv}5 Bv,Y@rIҡ];&1*7'M_~aqi~Wƨis R+ﱷ/r\zz:/\gܟApH>B 0(O'I/ŷgʌYXYZң{7&><9*/JJs?rY;1|`:=T :h`Ws'?,ՕaCs~V٣4et 3%-- 7nԍЙ={r)F>U*s?81~nɩ3gՕD %/ooBpp0UT)-T>Y/OO 菉 wchތ7o~GD>miagKgb8 Tl\]\ppp`xyzl%? 11ԫ[&>gdD%//̛KF  @-^#>z$P(;]$$@)))䄭3Rx"M4)_Z^k`-Rd )疘P EV(6ڊˈQdI_%|ADYdI_%|ADYdI_%|ADYdI_%|A($qE^Ld'O5lO!ț?1)={vtq:ϜbUQ"ȋQ?!!Mo$99 W:t@u#99[n e7{Bbt$g._>oOD--Z퉓W>IIIٳ[ yʕ˄GС133CRaj衄?1|n-aa\vF ]fC77Wڴl[a)*%_t;Bz*BB5U!!j}ܜ/vwBm޴)̝ìiSy];<=R\mgނf+FN:2tpM;r1F A*U5hEWJ^w-[9m S073,]9J"%%E[Qjbcprr JnP2FtM]U2|MV -gRP(]"<"Kr J%]d/El\+VT**yydjTV112 :} l?g6ڶaˣ ՜j];ϠF|++kHMMB V)OIyu _V c{գVVVdgg3u{xyzkRSS>{.wf1%YsReb"\]\BʕW+++^"?Z5ki׶ M-[b)h„`t$99[oѼY"ߺu OOB{^мP*4 .+F kӌ;Wq-6oXOCժ:Vvhۺ5۶eIMKçq#HJNu%|]}|p ;BF c~{1}ʻ9vy Rr%q}ŢeO|-j^}s o%mQ_G{zN9fdd]$$SRe6(^q/I>Z1M5Wr+U7fzHX+qQB ;;3ә #^Ξ;w5?d9w,֭ݻ3b}fgʤePK>>x3wΞ?OhXgϟ?/_#;;yÃȨH':LJJJɞ4!8::2~gu~{Tќ)gu*TywL~Ç fղ%X3C$ؿ-7ҒKd*̘hދ\U:oq П/jZYRe|}RN]:333t.;%5,/j^9P(W+uZXX}Oe %W(=Fw/ /Ȓ K", $/Ȓ K", $/Ȓ K", $/Ȓ K& ?;I{S#`_DMs١9yٜ9s:Hǎ~kʕhӪUrW4mB`zx׭᯿Z8|М>͢z/'Nwvv6_lƥW g{t~.^P`wTT$7myS|O~g|Ț˱alڼKPV0rs,X8/÷=vsJbGu?_t+׮z2Z6nԈO?ӿoZlIڵMGfZ5iؠ>M7͛@e³S.oU+WGaP[w rYYYyBR?܇ !_^^\]͛Ҙ:xy(~ Pn]V^øč}]Z܅oO""#Q(~ (JV-_M醍ddfҨA>)򬬬PVx2F][ȥPV yBeԟ'%/Ȓ K", $/Ȓ K", $/Ȓ K", $/Ȓ~,y۶-ܹ{G4oR*XЃ} hZK/w9$}4kڬ7L(ӌ>$$f 뀡É@Z:h -_huK$~BǨj4f̞9Æ;gJiKKmۙM>=gYYYESR%tpnDV-ZJׯRHIIdfj5q899bjwHh(A,_|/7Bc8|<c^+0 6.pyT*Xp*2pfϘNր}?O>eO?nвYmy_GN>CzF6̟3vm0фvRˋ?mۈ‚{17gK^s?8Xf͝J͊%puq~pU*W"!1ZVP?V@e٬,Ο{Ŋ,h5+׬]6̚6Ϸl%2*S@.Yʰݳ'qܹ{T&_S@*0MVܸySn+AqlCvmm۲ͤӸN$%'Ӻe xB̠/͛Ͽ"6.T\da`<= nCZTKVf͊lڲMzj},ڴ~QV@$ .IHL .uu>ϲhżEQ Q6P(t ˭Efhތ|cf?}_ѽ./DsGDp_HDrr2'Nٳ15WZ.0wwZo7!4m⃳֜8y-[{m5D٬ m["4, Ԯ5kڍG.v*PV-V,^Dm cV.]̒2cysrbV´w&t*}“0Dx2֬˓MHII Iι53c`іΞ3D}YIIM%++ gdd{Ŋ&fj5 T*\]] ~_>U _%;lmloiii @lVTdUFqoޛ rYAG_%|ADYdI_%|ADYdI_%|ADYdh??ٳgh۔={?ʸr?u>s:_m <_[ ۤ1Aȭ݇]ann^ybi m{/ԙ3̜36PfM/+7c|milQKj ޙ>IoN`AhIBևi񵥱ݻtaA|v ~t&CB?VAR=T*$&&I V=~8}KZhr~R@$2ff޾ ЄW П}ZOQoOKQ՘2o&& аpX+W4')2Ϟ3 777Ƽ6 㧤>qHIJc?z6ۺ!xW3gIOO[@n>ח}RϜe뎝4m~>fff|3a6m X-=&::[d]SSSٺm3aaxy=]㥱ӧCڶn͢懟~o9t(^:8;9qq}ujƻ꣮}mkjh߶-1ێ0zKU*W}/Ͻ@\J`PL|u^"5W-[_Y!y+6/MJa $&&A2>HTT+Wx%)U*tT*;F:ȱƩ3g\|q~0wc0+],6qxy<}ϒq2[ZZګc"!!-[6-_; _TKc<Mi4V[%3 kbcc"~W|JEoPo߹3d@kkӖ̆G͛yzvl[f?=M_~9l$W^ֶzX5kRJغ͛䄣#nlݱ-[ZcpVV4lؠkHLJӺ3;|}pwgOIpvr[" |eZ4lmmy'#[) E(ׂ mReoni $/Ȓ K", $/Ȓ K", $/Ȓ K", $/R<95IkFGY*{|E"ظ8f̙?/̽zȲfo#:mJ2 'ɈW^e{ק7#G^1oZ5 Ij X%YsReb"\]\BO)|ڽlqÃco}.NN:6o4߸Wq-6oXOutu³gt:G{̛;zhzQ^1{{N9;*񥅊[z?8O'{ < ~Ll ZʊVZ`bjRt=TK ֯[ iۦuvQVWWMkHXXK0, gϝ!==g5{Sw§{x{+Rn|NNX[[s)#"tn{fԬQIUU9{<11?KlO;c6zPOKT2,]!#GaffFUXktLn%+.fɊUL'+.j*ϖQ>~ϟڵj{!ddd{Ŋzc9)-(} kסv:O<,--ux\I X *r;CdI_%|ADYdI_%|ADYdI_%|ADYdI_%<6o<ըQ1H(ܻ'j_^ehKcLLLpssMV5a2?zzEB?pQ͛6Wdeeq=~}?R9Ww"yvCBp'|tBi0'cee~TVO>Ĥ╱V$gG6mʬiSueSTK!ݿHԴ4}]+#3ss".Z1ߟϾRkȕѿO?ڵ<|Iff&W]-(ÃȨH':LJJJEg=а0Ξ?Ϲ_N+gRժ= 0](uЀ\|UkIS&Z4-a5L$aoghټyBь4(ikaE$-={z 333^|[[[ghGQeE)eɥ+Wa>rTw$=JvmW΄I Fd,הVYˀ֧Sg"0(H7]>{F|Cku҅EGs ]Ntt tcY*ߟOfCޓc3;;3Ɔ]۶aZN=]u˙6k6gϝgcy,jMDtL ٽ}˗,յ$OP F|C33S9 #GUOW\%0(w&EuqXի_tа0:wW pe\)ߟ[᧟2؏U(?7X hۺ Ggq=vN ݽeUhJ_lmlpuu%<"B !ֽkv0'7mkxxnzA*{ 88D7jZ111uDli0ꬎVVc뎝T\ujwwVٙ..{}sxzxBePn]V^øč}p-SfffԬQk7n2X9LMs n] -œS3rk\vR3^[jckԙ1l+,X+WڿU˗Է nȂKQ*MOpvv֕2 F*<(`+MJJb8::2}bg -)@`ŋEz>|s?(c&6~Fhh(MJ`\ݿ3eۺjըo'%\z{YZjӧh*oRm8|0էUքriѲȨ<FR % z˧ +} <"nk}]CBCVMgaaq={O]C!د/8I\|<7 x2jSSSäDPC|mQXZXзw/&n?3oBV 33SfNJ.%k?55RmӰ3Ԕ,$I>#%%Jw\! ח}RϜe뎝4˓K2l zIl\,w˳jU=c:^^\֮?&&&O%ftz$I(ؐnLrr2*T@P調KkO׀UQ/n;vr/0*++}m޴ie5۵ԙ3QQ(>;$Ih ^B&**OO/$ 'sF^}T@s̯-}xm^:'O)p9W+qEetw)ZjUoBs終C @lfE2h G~sՓ͛yzvl[f?6 ϖNy؇Wsu4h>HddDc===ѽ3َ]Ekg퉓fF ! $/Ȓ K", $/Ȓ K", $/Ȓ K", $/Ȓ K", $/Rm^}HIM4vvvT&s'zvfFkׯ[oӼiS>hA)2|-kkk$I")) .q% >_l&+oҔi_~Սoȱc\~v~L:]7=!1%+VoPdkc"%I{_n:9@VV=vnuaBBCy};,\;\$Q4իUcԈ4jE=9BUO>ZfXXX'OɓyFDFRۛݺ;^=z]~pHye}P(\W/ŷgʌYXYZң{7&'ވAe>$ΙsXj5ݽ"_ Փ_~'8$ƍ]uU\ /1tY}?H5S/ >$33Swߠ%Nغ}'Μ7WWQ*sIJ^^hTӳ.ٳw/'NbZ2_ǎ)t]?ꊋ TLxtܽHPPU*Wfİ4nАO` FُOJJ q8;9亱$!n{CKND?4 B^YKNr_ OiJ PRclPܰ;Ơe-L9RFDGGÇ177777 NTۆfAx E2`/y:, $/Ȓ K", $/ȒsJhX{SdǨ?xKu_tыO?}G7&69缥y0ǼN~2saa]ܽw3߽gsKOOǿ{OٷȱrbRkۄ]Ž@~?)))̝5yo^$1odggxWHHh(>)ڱk7+RFuP^Z/=ɒز}ޙ\<*lmm6/T*RRSq7--- 33Iy_KHL$8$ƏmVTM:ƸpMLJ"==m$s+9)o#|! ({Sfҕ+jLMMۻo{BA\\}¹ERQ7,Y7oT*ȻoOmDFEaaaAyk|wtpɉiWoLLl,FŒ)53aX+W5mؼm;6oj̜:zu1d(͉SO`'Sf)k>aa=ju6an]`eeͷ}{+gΝgǮ4jDmBT*,gCB\ɋlfΝ>HjjgW_3dJ@n݈n=۫P(x{,X1ߤQ ׏m`bb9;6]>tlڼ?`ϩPBI: eK/aii}/^˗ŅA1zK5b89T*ٱk7AA8sm6|1ukkW  gdddbbbB59u,c_RDPMffM|hۤmhܰ!{wĩS˯|h1nnn,?/ʵkݿϺVQf]WKmZ*U/׉ޭDNt%^WLv>zM9  boEDFt^"֮7^ۻ*!4iFi-f1xByܼ}]&fffԨ^7oajJtL oOFzuiؠ&&&\|[0u|}}^">pvv+Em[ Ozz[ښ:p\B t"?+ftÂk h~0c\<=>D$*yy8::ҢY`ݙe$I; V|{jj*YYY888䛖4̫VILJBkUxjlm+`aQԜTmZ<|;E='Ƣݙ>7FYAxR", $/Ȓ K", $/Ȓ K", $/Ȓ K", T7]QA(2L!윛P 8P!msnVEXA(k2T K_ʙ!ͫ(;~XA(K }&ڽ6A윁+sMSEʢ,4M^?aO:pgyx<DI&n3E-w_Pheq~Q{|EڽPVid9S1~6yC])+sn"BYQG3VQinYMw:S_bKvwSyɟ-RB)"˚ʅh>%re pмfrkbz_-fd{Cb=y#g-Iobcǵ,ؽv-],L kkF٫93rl2ң?=lT,V.:ȿҵX#ֳznw)/_qv . $ }&N`K]ˆr04v'噇s~xJrOS:RS{1詯:~/.ƻJ 'Gj;S~KKdQ |Ʌ{۰ZɲZɺ_h4p ;x#]Zio f,;ǃ*˜d(#n֮,hƑT9|f"O+O`:W#9i:f ލ+@ku$F}sєΩ|ɬ]!!x2O9v&-  ~ lkCdg|?Y' =a.Obtbn9n,O)|"L`#>>L&Kb(8~~SO]W&yTA< S֛YW&=#5W/FYdZȺd̎Ϛ2~&`h5W'ey_Lx[p*[ǹ[ 4oa(Z{egIXHM;v]>_8їxb{xumR wd&5pּ5wpms=!n9k_U0Y׬tߠWkV\o;IŘ!!q矘up,OpHpጡj|)Z덑 CN wd=χ_ڣxrM*k&T5L'n9bGqu+س*èVM|f1W^D|~]޴oё٭ kxXx`+"avj<-oB+V DI/69;T1JT/F|3P64Plvw=r#,ܷКnU1˵$^Yy{ #d/Ȱrb#t9#gx*kB$ۋ{e1?qֵ Wa6U?^ф2Wy&1߱g=P"7SY7 9j%QޠRDjݙ 9SW}}JňKVv1XJʜ4&ZjȬÊpոV8$ڀT9LFȴ?)퀺O7ug/NRW?ר.o_I1@&CNRDJ6o'8w뎙i 5L^t舫B熯45JňcZ;~Xfb0qqԳ(H7z.VDǠ: +$dݮjPQk*YIJIH eDղh] oXnͅJh\Sƞqg Jr[OgtE{J)ٌ&Z4-+1uP/NJ0R>кJ(*poT G8v WgOe&YZ>ԪȒ5ixOBpT>swJ!|LÕ/6 ӿc9b/9k}\3ϐd&S4|4OV%jqݖ̉|H]."t؍nxsd@e⯱|)8i 3X5^J)^m7:JW,!e^@r4*Hb7L~kI4-L1k>˫_dOEBZe>)~3:tuw7]'>~s?v.t9AK:ш`摽hw#{y^Uk ʆ$?ɤ%%ѨB|DPB)""nٳ ~%YV+q"=qka2ٶ !K:DIO_>"-=/䣎4OTC]..n g`P ;<>~s!~]D]"b^z ^' fX2H%%x:W a`P\MUFsZ fq8NnPs~[ Rb),jq Ӣb( !bb)fǢΝqܰ_/F|>\5pmװȥiSB)"oҮx {|"A8k]?ѣ,RH96^/\uRDrw ۤ2ڈhd2wF I L0y?\G77?OO {e-W'{ix{(wse=*1E/"rxU=Gÿe먤̼;Ɉjȹ *_ҥ&Mi=jִur۠EDH].'ѿF , ˖-eذ'y3o[GFVQZ5L_{dPHr;c߯$-+ ۷8:2gO*{y RXr%իWA ,Ã=w&:u@&w kSB)""6a0hK}ooMl&lC J)%""""R J(EDDzPa]'k&1Q4D'h=\u(vE H#KyJմ1wx8֡%"""9FPLx}-'o{'X?k4=[GEO3uM2\d w2.]^7/-(m;l/ɭڱs;ezsҥ,W(Q#/0*yʶiCa‡Ma{o2^>pFZ8-3pzveX8s3IڴR|&iJ+ x=gkQ"v~[O1z lLxxS??V{X(ujg` 3mg-`=ǎ0hCmw}+PbbWyIfy_NOt+;'w#"2;~HSNU6UZsTڃG.'5eȢFYXEk|h?1 cҊ3Q/dL]<|q6hҾ2Ox*|/.}+vs;~X1n%"""y0zF6>_!+ԥç$N|Pkљjf23{Rh9t'kb>n\hS9.""'CػW7PX/'gX`ٲ6ɟkڱ?WqDt4cWKxK]HqwBqFzꕫ'((^zy" Nr,%Z5zԬIYXkgHdɮ]D>ժEU=..^z<88Š玧r,%ݺ5a.]%+ odRDDhBԹZ5:Wd[ӘI(z)՟bWkؚx iB~`ˊ5(ʴ1k7=pIM$E;~~|p=w=Pʶ㘵ǟaDV܍6S2x85eL]7]8u 0Y1=cpi'27}2Ǝf S Ne_ 4BDM~'O#"7eD+% 񼦪X'05L`s3MJOD01a.Weg , B3a ejWRzmΖ:3d|l4u}8=V3[FČ/wbAR9w3w[JNi9OYM޵tw, fB]*9|Jtw 9 ,v8::b0E`L+ˮ^~s/7];e` eL^g1w<<0z FNa\,v|o|ұ֪ʖ trz;i #©I2צMU<)TGDxh0 ~?O\/&eB>Kr9\FRꈈ;'<;1cHZt;Y̞zZ:Ϭ8W!ZQ%w!) wXL]!׌9O,y,fe&֬`9|.;L˹مRF<»WvEHp^nPRD y]=!)OeSO3ӟͺ<Č;-znG8S QoQN]yrgPBfZ5w5khڴia#rJXR㒻}beKyH5mmPIH(QB)""""RDDDD D J)%""""R J(EDDD@PH8:۳paL!<Ӵ/)ٔP]r' ď[ء5qn~;Zw)EnJ]""rK;.yeі[ѥ0^ђr&LsFEFָ'~T+pZMv qiٓi 2O~hz",2=fd2l"M }O*|ǟ-ya«ngsfs|F.<@ݾ.'6pNzx~JOZTM>l s{RJJ(EDНwg$bZusn2aR37$",GTN;uG_םƻy[*;t?=Lg`lƄ7ch弇ezd#CY,}_&tؖH~ l<aOY3FI@ywl{^=7f`˾`F^ of$C+Yu̇vW g -7ҭ܍ɹi2ʴ1k7=pIM$E;~~|p]rR5uN>%aw:廆⦞oNzwNx/l'  Jb>L2o!"׋lY㒩o:OusH^!oYlw4gy}+yN4iTH :ܯ*6IS:kL̩2cN3+ n6hT(R #""R V5YMvgoU[S<оqvLM;1ذAUbJ(EDS Rټ;hc ^u;w3ko?UK'0r2(Euq'J)FH?߃Kx+kgK=o^DZGfP]!;ϺIĴ3d^YÀ[foIDX-{0')Vaw8wf&m߯;wTv8zZϼ؞ oJyV']>YY5w-fimĩjw<7sru.Sac"BCݖtbd)9TGDL`+>ߓKݿ^=ui(Ä`MO# F7|-IY% 'FBq>pt{gX;<7w` a|V%gR/fSݸX(i-5jKdd$߿M6ѫWŽJ+ihT7guDĖ f@}xļ2W2<\;>ÄQ5fLyѓ(\t!r$v[+Xb&ꅙ sq9WZ,&Ə>H!8:U;_|,#?w/ێ>"66}]YvAbcciРAw#%ru>rW*Ǜ:"R28RaS qi.>׭Nu}>L Y8UBeUK%tvS>8J!9`:a/lc728WrSW9{rхF7!yt"1"E+AAAݛECrr26l &&1O@] U]͍sP\igw-e[WO=Ե+9vP/r)ŎO͑Q:v6Vaזd-^]]+V*kk=sij6Kr0f2lX35)$,Vl$:FWNF<C )c􉮈[I':,%W3?eչ@hB(Ƽ nt]u싗STXRWI|̙8p=:'j :uwnyy.tuCH]-IʃPw2R @9c{b«_7e70'- >ېSƍ_U9^ÞH񲒉'e.d[ 9 O(~m8C03=mަ,W73Uz<@yorZ^lp#b,Sc2rA:o>u*dݢ8.m?/JJR+Y(tGp46fPJ[=Žtg?/9z6oZ}G9O)\Z+QגԷ@vy݈=&,Snջ1vj7^wWx{x-z1up;x=DtN{TC&MͰ#R\n>[qlٲŋۼd 5Wo_N9vܙF눈ؗ|ߔsӻwo/^۱[pm9tۖrW1_죎w ƍիWiZի6m*V3֔rWWcbb"r?N(7_pp?,z%h-*YhT7cuDDDjּk֬iӦ-+bIK>>^9BFF˖-'cT"y'44ٌѨK%%""""Y=DDDHJJu"rPHkDtas-""""RDDDD D J)%""""R J(EDDd?Ic[RDD([1MiϜT:b̑}$}ǟ?~BP\fOg15lMWC0E.o +!ύ$,SQD1fa sIұbĵCZ~ Kp9",{7igGΦcLiBGY+H),2mPf)K}r\Rv3Fg0{h=۷gҷH-kzqw̉:iiMNhc!&rg17*WZӒXd1R1,vq8=[#wc\§RDDT"19w2&h3e cZXuKx#٭WnmZ̨/߳<ƌߧ7sOg^ޑh87JO;0NOݰcnчVA.\٪3g7Mً3Z?: uJڑ_..~|p2,Ol7Ύi'6LuD$L!TtH#;^Kap YwlFOJ;#(}``j\[-:y@]e3vij`.SgxO5Ie3vl^u;w3ko?UK'0r2(EuqXHPt[vש/3u[~|pO'iMC_a|ף'ΆtRN&q$-+kbqlX?3Z, wp |oe0иahDPAٔpϰ4rkf&Ķz?-g&_ݱ7sxlޘ-rRVV0z5$QגԷd1_5HHrlr7"&~gC 2r>IMۿ!oϪ5R/ͧUzC Kȭ0zE‡Ps >\:εFk#^qݘ<-&S x 4=SxX :6F*{-fr "*jKݯ&X ΔיjA iP pyOK ٲGd N_-vp9ʷh͚54mڴ) |=W6PgL9}zGzgճӬ?i/xY;°'>ܿ^>]8͐[tJ/dLUc×WOOpoyF~v;Jޱť:r|Y,222Xl)O>9 GJIt41nz'\¬ڱ'd=>>Pf3F>xˎ[(HM f {Os}TaԐl<#sOTׅʗY8VK%OI؝N耼ɼޱW[%?Ϳ>=`t!(*QQ];f,VH^}dYoԅQO;;HFkKX\vzX-[xJ"-޴=sij6Kr0f2lX35)$}[˲y8_)Wc塅1DW-$h+w X9SV dP& }@}y,>7,*W=$;O/KP) G_ڍfC\< ݞ5"FC8p K^ziհ'e.d[ 9 O(~m8C03=w:zW}I*=ּ79r-S31|zS pŷ~º_udݢ8.m?E-U+MKdx;+?XS}:+'GùٿWz"؁AvZpݰcnчVA.\9U33nۛg#9;~u)#> {7zg4+iG~ỸUɔ< zO3+1TCi9kC\pQu#"">?.`ɘ'1{Fw?4%bvwo0pBKO&~yADЎtn1q 9րm+R42JĹ[a;;u9~K_ :]ȭS-vuz/{S *y|ݫqr:`'KwETb,'8>8ߤoo4\3*nUKINgwug<\bmcMu֩؎;YľmB VC``8* 3f­\$yd ;Xna.Ցۡ:Rv|:M(M!TtHy |Z/%05 d1 + IiwV/LEp62yGr_daoYԣ 0{|/3=|`M;EY0W.b+#NuhQ }<֦O;/.ǿ_ݚ`Ma'3XEZ78WNq h O_,֊bKd[ϖ`3oi nxy{MYw3+e/aXz\ܻkcY.T[Ac Ju֩ pӇɤR^o51eb6={׀t <%ʊO`u"AnB4oԙoV-\ܗc+̉@=)Lt}{ZSlX4c!IIDhoʚg*" V6K9å]$/C5_4nGءe-ZԼ<%Jx6%3;vӝWb:Ց"J;W^yv^xA*V'h0Ҵccʥf.oVq3OʄumLhB.`~Sp;' Kw'L`?,ㅟr+N|1'5 2T #lg]ޓ3V|Cy\<-m?s"59m+GjRjoD08R#IDATlcYUH0ԢQwqa;Rcje.F{j^LA=J'oᥗ\=PJ[!m2;4EHLd2f9Cxy2ϾT4ݳp5UǫnW:3)V]{C+=3PzԨ޵x${qQ#vFCG([rGpv+[iߴOz 伪?LoLSm퍨bFq"g(専 :ƸN;t wwK;ܣFdoDY onT0 QyGŶA@E~ #NF)E6hxxXJEj}}]˚QVK8x9VK Kyt]WCCCc[Ҿ0lrG'zcs5??fFRTlEA@c8c\\fIh3i +ؼn+II: 8BRQ^ &kmmMA:5zK'ӊfn7#`s%II yjS2M y %|a8+KE4ƨ^Zp image/svg+xml docs/reference/gtk/html/popup-flip.png0000664000175000017500000005200013710700303020115 0ustar mclasenmclasenPNG  IHDR`cdMsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATxw|uM@B'#*rtQ{z*VPS'bEEQQ DAefC!ٔXvwfvd-3躮#BB!DK$,BBB!DH ! ,BBB!DH ! ,BBB!DH ! ,BBB!DH ! ,BBB!DH ! ,BBB!DH ! ,BB@@S\LfA'BfBC\2!?H #[/-ew^eetp &,DS\LjL FdPNJZVaV+mRk,De1"JzUp2 P2!?I X;QVVz}¯GiZ 'Z0EQ ߒu t]Gu\ƁG4E-(Un:u `!,bxi)v;innݺp^tpIEKi*!c,DŇ;/Wyi\.\_xkX! `!"$BB!@X! `!DMz]9Imn08A ;S:! `!ĩznZ%r&,8֩t߷YDZFaò;6f1dM,^bk4>kI8v1x'?yrb? ! `!ĩO&䣻}>.TOaIv+}yv->#GĘ#[zomcAyG\7e.lB a=MZHsA !NŸ;eY8W`3ZʂM CC>cGN_A{җӝ|H $ `!Dჹ|??=Mm&;DOJ"Vv#'|LzY_ԆRpݑhYGQO !x`f[*WՈ!̝C۷râXq~ʕ_sYn{O(0`ДI r~Ò:FXQJ0sӂHqH{ü˗1D3 adBPBS`mY8.z4 ;HMM tq --$f3*u6_oS! `!"$BB!@X! `!"$BB!@X! `!"$BB!@X! `!".K3Y2^p-[3 ѰӮP&^r M t h$NlysY?_=}㰕d7g ֟k3eȿЩh#Kijls.hV$ah12u~"ásɤ>\uy8 5cv!.Z4+B I7[2($j`DBN2@ys Att=fݵɶJK)CcUs4MC'!DM^\4>KXsaN;"0WEs Z>6쇶IR0CG%о9I4RBNb뵼p>BO^ɖO_畍td WyU/t%ۨ)t61c[ x6|mz] `!ԀES&UUm6|[m `!si\FP(>'i) q6/N'K'r(J5>WCO `!si8ip:l$Y8NO["{rUlM9+kV幮UB2 5`!րe֑Vlc#p {LXEw2wѷ(I ϛ'VȺu&껷ҫ\ްٯNfpaţ{_=`+2B4 QR6Eu%{"]w"Lf&@sK޼yEz߱^M@)JI8Fƙ~~jް1E/o>cFت\A"p\8*Txik^iޛC&4A}̿A~LaɌ^P8:O"%?΍Styb;?1yD8N6̓Nt6~>ΩhM`0^Pߔm\iӦ:뺎СC̘1JU3ɪ7Kp,m bgrgi3Zʂd[wa?Ä HJJl67pmr=`!:{JT_&FkܝGy3{s3(";b\z 2>9JK&\}h|'%Դ*V-JYY%%%75{_׼S-KBWpKy؇mQVLؖА>IJ%~RMEd习97Od){ύC;=+^s5Acʹ0|(be h$UjV>:GJ,DuUȜ \ƿps}Sp$ƶTQQ0y|1QY "e<oZ-+~H",ZEo***s zΝ :J%ĩ_ݻ7>M!&h!ξ}{8t FX~oh4Vܼӫ;9P-B!}ː!j=~LBfL̉\nPEU~9nBB4+.ҒFb !hv4M ݬ'k ~H X! `!N+yjU{|y4A !hvMMTi]bMZjB!DH ! ,٩|j󚓏XX!DS=uH !!,FwoT DAexJ?wDG$p0$!D Z7=A_#vքlЧ < >?RjVCvTRsȑπ%ۮ}H+1{n91G"ۙ0, "y~v >Jwpրirߏ ,7GD>z WݷwUBP7|ɩ9a)B/ xl_#r9t%o͏pRR1ޚJSNPfT./n |BYG#QSW#'2:Lj rhvW~ 炋RQC ߽Ɨnl=.N޿a20ejtAXBSRQ>Rz3>ZϽ;\ occ}7j8v|}h">RAw-eA;b ZmvkG}VV++gՉ,䇌2}&<+IT5Zʗ!<3烖BԃZ2wQh:shgȎ4Bwy~-O咉t2m:$cIIյo+>>J m1T(cs7CeTMAR<"δ6BP_ʣ>tnRtb!\.hm*"#US+7Od){ύC;=+^s5Acʹ0|(b+FN&_sԡN:_?ms'vowө[ !cms N"55_Jd[^PʵaߑBT"VY)mW=t#sR0s^}-==HmbGeԋcu)*+A޸g"UeoS*vol4JΉ99$fi\7{_#GBh`zh!$[5SU{`E=KUTTT|Mp8ܹC6P8ӽ{wf34k:w((*Z3M9twVݷ!,4>[<*)j3XX!DS{ 'O괪4_B `+xO thp 3 ;KXF*&&&Eݻwhra0xN\( s>khR\9Oqy$YСLJJJjT\4%B[_ ٌld2c2<7͕MU|lBQH !hvRRҿPwe|IBB!@h@nvGlO+"c7qnjk|Y"onoz3rNJ&Ru@|EXTRR\|Mp:6PPxu}N%dnnK2t'dz29f!Y/! ಲRJKKp]Mry/#X晦U{ojK рN(s7 DuK3e`-[3 ѰӮL} l;1 $ƆaRy[8_?lCV{vts6#{jy m~,C>Ӿg ;1HRA 멨' 0LM.Ou=6({'^^S-\1pymZ4s/͚ ݖ~wh% \yU}199'l<DߩFE\uwyN/5Kj׃-r&A &fEpؗ{b-sӫ6+BZ1SQP,V#㯃u\װŋOzڲ i?j"p$5`ui{(8j{kp7i!hx"*v*[3 3žC8 ~H8C|I/eľ6PDa\5ʠ咙NJ7@QEPv (ZӋӬuD0nzO`*c "|͙bo+=ؒ3),pgC1Idd$C(;˟GQLmՆkҪAwn]F@jB Rn+/eץ1>0O_5nJ 4ec1.Ko9V5NݷkjKJ'3/]J_s.YT&ݶi g灏8җnXEDz8km`ԡ(q$u8:P+G[54'P GJOGaH;ؔq) 5Kt#$s!Ӽ#ܺBTs:Tf:]8?/ FdB?Ώ? 'pq7.;oDSBIcM53.I?ssHhFCe+VNk{VH4V׉?%QgnQ%=ѳfa[~6BpnuZ-)S&*;p+BԂ+DDgqcTƍk ^nݺb40$w z^ؿs2@>޽7&L d 3w$E@JII!ɍGPшh`*U^}醊M'rÇ%&!ZX''o 8_>VƧjE-R8!sf2y7>oo'DSuCj*z)}o~}檫Y~4/v)L@U0Еz{;vc+DZy{⟘j^tDZF#oMRّq$)|0[q6ZjB4Sҳ.D#( g0Oo&欘 _ņo-[iE,`o.gKe ;$h\e<^}Tq5~Mt@. ~-| w3OhdӜi\M6D5&hņu ~f́. MwPYaڱrJV&ڇmΚ[Gzmo깘co>L~-,ѺRM *S'25p%7 U 0%bMqL{Q6/5 Rn20_#}=c6_"4nh,&zZޡ9yLhӖ7/Qk}bx&=e`1iDWt4,(^ĪpfO8Tߍ@L^:t?+o]9WĄU/g;2+Y6  &̛l}W1*X{y\l^g`oʟ#W,^>nx=\y25S=~c,_eJh~U14b/y!]ǭ+5;4)v&XfF|n\wՠzʧمЋ3xZڭi56K6g3 |l>>1_4|WCikOteҝ ;7tpR<¹Cbv;ێΈÐoIFSWNwn'J_鮶P]em-dE`= ucWCymx+X4nhlrʧxkc~Q?::*&1[GmO6r1mZ,)*MH`3%ڀk'X8+ӟ۷=~òS*u8b?z~eԹ8jXsEO/r6^ ^>xIEY_ .6_OL"6 P;_K V!,}ԫG2U[beH[˥35׼Mx(|HUG*9 熣_/ sG3{n>2h:~w)1b )n S#kdbݻxaBϾB#;Yr /:/P>Zx2u[;~7!#/ǖb7.C/mUb}O|_ﲻjTehM|JtL]_/y!.m-:: vU_l|t} :ZcIib䌁,|<Wm0{#utLAK܄`nŠdZ 冲sƔ"7[~*iϬNM?[UGA[zSˠZų.\]j| {ISщe)' ضa}zԯ  JK^%,e*D,'2w]d|S!2DRg>k _x>7Q.>'DIa i{ӖY~NsA@\ 6&eRc5/DSDZ@!돘e>Fn1 LI0a42àA9~;C Mq\^6fj8\Qk_͔i$sЋsDff)|> #=W^aV~E/{d"{}rֵ傇@S2NFщ13=RN+e,y{ h{"IyC$C$#3x| '~c7 n:]-qT<>r0gQ>,\ʶwN԰~ JSt|!^{5+/ =(h{`qiwMl(ر 7&zͧm'tkͧ{-74U{Lu5Cv2Jk~\an77v98Xx!Ob`셉=|%W$r֡:HAm?ȯ%B!ΘXuݷ,vΦ,+jB!1E.G3ޕ˅oKHcP3İ0Ma8pK΍6[Ţ+ C]!4e-.fK/quj*?MĿj\ԣ;3>R_M 8N'QyYD t~֮eZ4HJ.s+-o}FN=rƴ@iN/;;;EN*j`Pxl@U:+y|>{6LǏWL..wEOh-ݭɾ~k!j#mG7qoM\BÐUXHBx8lVc^ӿQ_ cڵ.hÆ tjEEa8irkQQ,|BBs8z 3D܏?6ڝh#KUO=B]UQEZ|nLtҽ;l̢'sυ<όX7mbj~[!: lz\SQOS򩃘Z*} ePmߎt?%o+DP?j(  B128n.c[o͌NLwf2ei?5hl4J ZnmA{ЭV~9Gjϖ,\:v,gNEhoE-+O>VOɌR:0C: k_o%DV LU`cj[=\A@hX +A&,D 9=XeO%77M8f3AAv 4ر\:iZǕ{RNX,-hNsԂ+̪_$h@ 9 ZQףGup\aٰXgl6ZjU {Vp;j}`fH\uN8AfA:w`e?[cw[DZhn&ց1p8/td}&0.|röI,8r, r())!""UU)))Aul6}xkn=Jxx86 yFP9P->*aé'V>ZeGWǝ& w0Us/͚sgR!Gj:NRkfTUk׮"< 89U^c2Db5apU|VՊ1k;VPw;s 7[*윃:QحAbƆWUҒ*ܚ[mu6:>`kY9N\:ЕÆew0m  bԛX6'|wh}4v&b[N*K~@h53ҺWl&;;lq\ xX4,Kŕk4Mf FX嗉3`Z+[,t;o}nuȑC(zu%!.m)I雔Hb(vىYJǨp~;PS[͂fƠ*MSɛf}M6۩Cޗ2ZV x'7Ϲۻ3;PsHA ??5yoؘq"7[n#l2&rEx#Z66<6ioݾ,s/vhZrTNDQ3hKq9ݱWnrZvLPT躧;[[G8n"lV!!5‚1L fsE faٰ=ENQP$< ߧhȩ[0\n ˍdd0tiTM1T.n Sy\UF!4/,u;3gz_U]BȒ7wX8-@0?$Al=e)ر]a߷[W+)nŸ;3 ;rSYa?׊>K%0P}$%;ס. f2 [N"¬ilS8L j&2K픔_h0`Pk`[n6RRf. Bu6FSmmϫg¸0ͳc zqFpyx2W}e<ܭ0΢)`_zٸ϶rAj:itU'C ,o]OQԊp8D,Jȴj1M8^X:4?"|MufN7AX,JͲJu V*bvAjVJFj:>mـɤVLtIB'k Qvi5?OC~!qw q}tR$WnBV0`5z^'Z;r"2 s.ĝ$'s~(gEҰAXYϩ޾[Ӊb`c4(qd1nTZQW@1P(#`yFѠb0̘LVKA1QQ rkXF\8iٵ F\ JnڮéaP*+伺ie0`JL7CGdt=)Zv#'|LzY_ԆRpi_CCրt3;pj h0r;0x~{eUPPq\-a io;e1&+&U=UU1m* jjŏ+@Q:M8\vF ۂ?XՂSB!$u\ǕoF axVn0e7飈5(Z Ac2A[YZHWԢ;0_ Lk ݩUɬZ1@Ct]jVe{}-fƳS6(襔 ٭ ``(*v=sWYG;_*L-8%9cWAŴ Ro\3fܲ؉7)͘]2rZ2! Ÿ5=4?Zw/FsP3UW jK:7[AQOwP_﩮yZ"E?ڵk6lFӒmQXO!"$BB!@X! `!"$BB!@X! `!"$BB!@X! `!"$BhQK3Y2^p-[3 ѰӮP&^r ꀭq^Y!D3bX;eYz$|9VIgoO|^_BM@!Dh!\KfYz,>SB*ϝ0.w԰U,c-'}Jx!Lf>sa֔]9lX(\î vX4&-'Jgn :`mןƶ/B!D#2{x#X\U}C~h5~W\`Q_"w!?HfY⒋ۏC<8.x6riG!DmZD $[(։ Α'pE$*Ԑ$مfh!hZD":`odPxIKXsaN;"0WEs Z>6쇶IR0CG%о9I!D]ZD $ϻ+^ W_.8řlu^٘MKp}{W}K^a@ _ⱍ}oBg3C;=+^s5Acʹ0|(bIB4 -$A MogYܵ6,yp1WI^j.!y53<_Dx&,^[V:;1f`P 2qt.w?u8 D͉}?:^&FU`g;#_Τw/ 8ݢ0*#T7]U%oBѢNELtޤYϺXEٗ$:9Dݜ&[L\c ƺ Ky: ch N,<|. 5wuL2@͔mY^d,\LO6ӽODL1KKiXz&-hq/_ϗJzLF1u^dI11F"K8'nklTZb4e_}}0Dž Yb]t;_*q*x旪$-g~ɫǒrܸUbr"` J,\]P&x!7ז85D5\CٞTcQDdGHnEiiy:ʭYn?\+äͅ+\<ݍU\\vkq}Ehnq+iF:XW^Cw~Kt >І7f=2ϗέ0ǒh~S}|v]68~l$r?("&O> xo75#/+]$m[|lWL1˷,n{~Rf1`0Xǥ9{J &p۸M?|[dl 337׸WhTDZ%EDBт~CwYbPsQ49yꔓ.jwg8\0Wc1l'E֙ac= 5)j+LUH7{X|Ondt:{>~5&Z\^,HX] 9ԋܹq5'Xox63Stwjfw.&2^;Y +ENr;)n:'{,zY&//;>Y;EgחڲI"^F$"ۜuSυfǢȎ0q_Nh0^/po9s0h>GO C2_ ?N|׿´$]P 2hnf_c4_<p3 Ĭ-"Ad{?dqq'_(Ei{w]*`"*B1,C(""WAKX)EU-XV XBE("Bs*EiϬ].xâgւN&߽SV,E%-XV$T"* IBE("BbQDZ3vGn"*T˳).ߥ6届EiJO}R$'GicMF. 3{}j2U'yT7(';%` pn2zNC"ox$aQ62c~_w|6F klZؤ\''ӕ X{R 5X56WX!OA{*uĢ^h*࠾΍/.1[90 m ڝf\dy%Όdq:L's ߰\LCYYJŒh'Q(cY~mͪKY^j!`:jg ?pnX$`oJrifWk=|S̟x`,ܽ.}5cq/񷘽)sxc2cU]m37~v9 &~اvZA=).mT۸ōK m;T00X/)uĉb8o4ư^9O.n !Kzy[wYM,7?ED±+xH{jDh>JU.˶I;˜֩}kMpr l4kl}T7I1_" "nzyoFNmL=;}Nf L\zIH<<dGT*D@UpcQDd[(nETKTqIu\,Йv٨%b\qUo>Mc7"IN8Ēq4t﹪9𱎃KNi>upݭ3c`#0{"";Q[[ݮ1լ_lgN}~Ȍq笱ўu6G0X}ƭolb8=Ǟ ;>ǢȶPHTԲZ,ģ),k0y8ׂvMnu<$`D8Rqkv ֚}t|A/m TՕ!b*Pz!S n"9.HEcKY{yY71{3ƀ9x >EA4r615uoCɦ]ʛ cm_8x$};;mKK4AXh,FtwXc u Cc6(t[ XuoNx ^rmq5'FS,scГb[xٝ5X=6kg"Y[*dlI&cK]wⵥI"X|Z#!w*( 1Q7qR1p "D#S+QGIF_Xa˵$;l!C*b:[l7Is͏EpT3I ,-1sz4cX/}=_}{ߞezIe%怍٩"tw},#q5ƸIr}}76(lmR nx2 %˓=DHGTG;k`n#}&#Nakbe'L2o+Ģ 8ȆSSSO!d'T}å*x\\ 6ﱸZ'giwkX 2Ļr2Í+.$H"ZÔt.o;,nDœndE дabtOWP(UO["Md\=$jT*}woXP :É&i%io@{1n%=kXp o,XVO Py1|{"CDG@9@;qyɲ5A[F(駟ڊ^:Pt$-$ WAmmmt::Hrwa2TU cߡvwׁ.5(ֆfkx;pw8=?N:T[kF!5GDffusmwK;c<=D#{Hx2]CDq݉B(ݥ &R﨩`ex 74 UUϫ!U= D xa@ 6!w]ZoM݃|o.ӻo'G ka BY|y'sOwag[v>@!lvv CM_>l|}|kj"s25M2_{󕾏CDH[[[PQN4" "]线2|JOP : K{MA"j m(?q 5?7W|G{}+"=ÐG~hq5pD!Ը'=|oǸoǽډ_ hÇi~9ڦ ?Mgx8l;ܥDO+ps XFR3OzTKht0q([40?mn^AɌ m.M= ]oo{"A>rp8m  `g B0d:Ag A = Dw,d2E AA!"D@AA"B$hV>=_/3*q{CktA hrzdh h0h!zv~>pw}y}˔w%(bbşW`w" \D@I |>SADk摔,[Ѭ{Xf%Ne0X'uGMerÍhh4)& &ʷWM%?F@2˹_d^U<3::Q8#rqV 㘑ڶ#4DZLjp!^Ö#-,m -[kfaQT7AQħ"n\ [_gmuu}(rtv*+$geye`@AGY oOֳY#=ޏ/h6ɩݜ ~BL|W&xn*巯}Ķؽs3k\.msZh7ٌwj[*tC:Vk$kf oxOywO3/4yFMaʂqa%Q@)dЏIE ( rƞ={o˞!rY2aIc==-ygy;'S`* D " BDB " BD !" D " %d-,a#" D " BD ![FWiQh"IV#%OX"tLm5ؼ>8W}- FDdв+(Qm3!bD@o.g4|?0NL5+/,gǸe zv׶夵 P.E7xJ:Obg=׬T6%Ko\ƵkXm?) 0eqT!6 ltcT!(1ZgٸVg {R2o{߽{eVRF٪'xZ |O);}IoWX~YIks׍tLcIyS5i9-{X~̲KRQ\=ֱ`O8>2fcհkr|Fwv.-{a4pxe/&WJMgNg-4IL|#_ WPh}J @i}a7p_z ނ/^l |E$HO`5\_Z<9",h]F a+ނkw~@sMz½ (^84Ez! ?O<Ձ=˅'5OX=6Ť?q>/K! }g-,yz;M9]_YV2k,xT>'nNrFyC;kV,&-_G0q'VV@<-ׂ5. ݎ}Ѭ,%vMeCu O/ .&؟3t5Mpqb ʷsd4aIpؔN[[,轝N+یSq9EAg1zh||K~΃ yw{_O/ 3{QF-;{R$B' :v+X}Ɀ)cɸpMYHyf6lX?}Y I;-]͊՛9pf,qcͻ8}|Onc$_4#`;DCˏp˝K@?Q[[#sRBSSN{ H0 lim:{L 5c=[#766RUUz{ww_>D(=q-ϴ7L#dQUɄdjj-kp\gmk($FMQ.c?_s_<3;\@J_?1~xLmv6c7ot zoih(Anm.]l*Fg-ӯ| n?JrO77aSz~}))ks ^eueL8ѯvNX83R";w/f\qb'5UVZ9A._^_2V9{,f,C|Z|M " }y7e~W4'5u<7.⫿Na0(HNb5S_:_;YAAj %WA;I7 RDZILLt] ܻ~Pд@a]A%:Vd@DqOWo:O< hM׃#" D Dw,0鮶ᯆr.4H!!"Ыtm ޜE=%.= " BD ""o ٫#ED $E!)" %Vy6-fC 6v{Lp7LFK'\bɟ8ۗ%mcU>Sl2?ZJ0A^wniwәHЬ,%vMeCu O;8ln`6F<0#1Z 5ױw-u?߸3jnPHD8h31;X2?c8OjDF\WoE]ߔ⑟LJyw\$GzvY+kKlKF1޸k'&*xҮw?<Ϯ:5;5ֱf^N4K%|Q!(uv:G}p[8>j6LߜJY\w\cu4˯3xL/~v:mTƖ4IzF٪'xrymnvR+s>We~cCn;IzU,κm^ӮcQ[`#j&Az#E:ѣ.b9$zGV4ұس9{"NGB&_z#7{Ӫ)ĎIi'غJbTr Yj]-7ͲK),naOJ貨vkv,`Ra\9|\Wk-IgXf>7&҂ xuo行 &OjމrdC ؔnfÆ<7Iu;,4լX'hƂH;N@1ۼӗ'6MbE1CT94μwܹj+2:'?_q̼PR`-_˩?RCTf⃿/&ODQn6VptTp{ؾm ᄎMpĊBP<53tͳke!:DC ?" =)&Njs\x.%*J]IU!n|7l [p9M}(rt먬<{`2~z˾7gxLT=Tz@14FLdK,߰óG31ND:;܃ ְ]+#Ə&7MI`b-Hc kWo }uT5:;?GqT6cvM`T~ְE 1P2w2iߺFulkKO`TvCƼb[׳Dke$`r5qd3貰/HB&QU.v89NoW? H, \S`FUܻ6:[ɛɽr}S`r/D1SxC<?|g3cSpdMiuiһ,sH--vgSl;k%e$A7 DCM~^:޼_-램-.ӗ\.طo8qb0,$f ZTUEQ^@{|cEQPUq8pJn[#cw%X3gꈉ ގ_~94C B s-54)" Hw !  B/"~A^σJ$"." HhN)B>.pED龉*-߼;]9Kc9}tMm3%_KZXC=f;ワ;CV@RSSm€b&!!!f ZjkkmЋ(7l&<-<}x]üsx]O+PX!MX dftd +`MW}5W{@Azła: IDATˉ{ Yo;]yc8{ώ@A n>h MX BDBNMXgBv^q8XX_r6N8qâgLQ9'a.}5YY؟._{}N@(__{|y߫g9ֈ%l'~BoQxp^sѝϽ_p. ݎ $y( >u~tDQSv\]ghNZgiVIӇpvkjKKrˡ{Rw:;\ʹYws&k 3zцVD-N@9!y OAnwr`ގ|i@{e8xA*~q(]k|{Hm/[Q:DJxt:ZQUx(焩Ct:WzNdҹ vDk]W8qo$]ϵ.i"hk{w-"L >L;Ms^E[?\1 [t׾ʴiӹ xǸ14Rj\6&9xV?OZKjMܹHpه`BkC ^zWb4m*ӧMaR~ (2Ӧ2}lzC,=7Asptג%##~c=ԩSym֠C$?=o殻ۿh;L;!-WTj2@nt9IQѫlsuϞj$&6XbLzHl<֤CQM7-縯 r\ҳn_ &336N=ؽ0gyI] 9;[xW>Gѓ4j YfƮJNNTf_YHQ gN`dSntt/:䘛9c;OPSw5'(۳Xr3:1t?lvCijjb޽,YrK.ѣQp#QB/'#xֿ̳k4@%``nBzrl?^{/(&2#8&rs^.%}Rž_Pi6ģ?UcY:səI816f,ٻsd.P`b$cpgTRS!gbHpd9Vun_İЛVy%3J",X`l߾}Akk+֭c̙r-<$% )E qJ`Yddĉ}nC`46>㢻),$fS4l'?g~YE%I3ydH@X?y {aѢEvm6<ȿc2y #MX Ƚ G.!8 ޳nt_%MCwCd„ \~]\Z[[ill~DqV^ .҄_Ч2S 9ȑ,'(Lz^#ug:b0D0'"?8k׮p,'== /0D@ \4iH((xRI)_rss׾hiiAqiaHb0T455aK""QbKu }A\\?0t:^}h4apALL O{^(t1î&N<ўG\y jwUu)S&sE1mT?1gE@Ǽy c =ٳijj&..6 8NGDC& LII 6md6g!A!_mƀDD{\6ڼ8EHs(pMl_㛢͜9[pCqxOGaug5@s`[Nk5+_ol= ϨwVNgslGh]z.[43pC!"_U]'|y z>~k~yGS ib!cpg%wl+ ۮ G`oȀ{WOjȺ7XzW^?\~}3\Í&&oO~560%ΫQ7>H7qivtiЀj%!!! 4D@#1G%Q u*_ѳM"~Yx%c5aK5?b"gl6Fpo4+RC"S t_ g ( :t)SDۜs }v界,^]h/ͧyn{36Ipt:Js?\&L #д I>~YSJUB@&{yuOx{ǩh8gyƜ٘1C\=P,w [زg aϸy&N}:kGYdsėdb[ɾF.㕂N|hp(1vt& Wrt3*iksb6% F7J0zMéi8:TU aJ{>9nWY|i&I1kr4TPVLN3(iI﹛mb:%[TUEAO:*>?D˙^NUJQ{beǛ?ֺLee`PUs2Y>{iVLR?8Vpz*DU#jkq 5k`m3Nd_ˣ!ӾnqKQGQZPDVǁCF^D3NO_O[IUPP42g3:EcKy-m99iT U_P^cgLNe5ӳdJX.3XUEUUEkjh(LY}9zz%ޒE1@4rϧ~ݎG8' cKm?[_ލȹjfgDUTTs62/S.F\? 3&ŒSJKIDF哘0; +m\?mc/tGxxu R=2RT́b"6Ŝ˔q޿R<,6FAtq#M;0/ è`*$׵mGtd]4())㽃Y+a\n"fڰ66&x@lG9~6Id}:JVSu R'ǍVz9" Bߣwq"iOcd:XZc5@%sXE{P@現s^8̘~Ư 3Ĥ38EI`cϖåQ̝hxH}wy sQ dNb>ثFⳊ7Gadq6ן&o\F@1e2n20"&J OcJ)=T]̱d.qTl>Ķ=~9g:9C$39L=X$p2J :u̐n߾)SEC~+FQ6 wC)/yrŠdC)OآExd޼yȆR?W@AC8VGt=WsN]>dO> {WU|-JC 4bK>w?;t*1?0-em|K\M^] 7<ouiS}Rox" BL81& ZvrcḾCl ]nC439ad21vNey#x#MX%VMz-h1`aȲrJnh1`aH}vl6ӦJ ""_fҥ ҉.lܸ1ڦ h"駟';;;ڦ hD@!J,]=Т_|/ڦ xD@ARWb…E۔0dطo?O>$ڦ "o4+iq{]Duj?}d@D6) Xֈ/n1'OEC0 qֳ{{{;ƞ·^̳zH񼫸 S[ 6?NUk >ED8rVK cڷę>kSW_YΪq(hxe9m;Ik]%nbt zvY+kKlKF1޸k'&ٱ^~SV`L˼oㆩ=e0z(GA[DY %| ~jJ cbY6-BރԤw^eǟmߴQ |%asc!jR/}?>Վ(|?ЯqY8 csiRb1>v5qL` &`ı$ꇼϏ=ZWKM?f%@a_OJX0\ic()vVG~} IDATQd/e+3l *C a&S4%^OUB2Q8#rqVvBdZp,A@D9dU, _kb XJrIPW|5j[3t95EA: &п13f"[>z5ecaHk{HKۛ5QReQЧ"G ;ɳG`mn~ɓ'PUUPUEQPXU=着CU@AQt:ݹ8tJ(Jw@abPt>Nў1Qp\}7˟p|e(Lla3..׍4%DB{uv<.n@1SxC<?|g3cSpddl 0 PLLYt'SRA]"WfGҩ((g1Y=% AcM%um2A`8GRhߐEO  D Y +-}W>q. L$ͨp-NTUŒ1%iG +.} icg2=cټ(g*ӌ٩*hUM$9l$R-<5;G9ЊZ7œMz\m:Nm®)(sB:i ^͍4qӛ0Y, 5\;48m0P6L'!Vvj'|6Ջл8]qċf03#6}xsXpaj~6|qˬt9?y{ sbNFOZL/b¹ ,0o|"* zKl7NmfsQcb (hɮcRG0.^L%FQpD1Xt8h9SJ FlTꩮmDML'#΀rRuCxxLzpZimnFènN=" ie1,ǁ}S^C۬vfHƈyd*G8v+yEENҡ*ÊL'I}+%Y):N5R4ΝjI 1)=;<҈y,&&vNcfL93<m'U5b9U5 ęI-Nz4'*fQVUphjqK".]SpZ;\ .vA0ppvF>شʺFT3fh8&a6@\6$uNh7^`hihcu6ԓEp\gitHJS %[J,<ΈIv'zTSI9uG\Ę5نCjI:9ZG%"€Q)++Xt -^A(1 N,hKcNltl wo2lg`$1k81-M4ZU[ƥ|c|2qTh=^ #ԒO YiӁ-S]Q`5+/:%.qU d+)7a]2:-]W&P,y-ИETA$dGA& @`p=>=.WW9xQ gK#KҡC 2ڃXICG<@WaСCnj塇5Gx;[ibVKbҔ:nQ=b D }gyNW3QruЉ5wt_X:vF,MAke_hWe,F?_E,%KzqA#P>tP) ~+Up|e??zp)u棜u 5yYUAw{&ʣ4/|xTo"w2p/y{k{mV%C>ص|ʓ ?:OvQ`mlʍ xzR~K [KbZx7 mO,KZދG9v VW15ʂP\z-wbT|9|T )+lQ%QH8c mukYUi'=C+"ur|uFF5J(In|([͂GT`1LSh䶠R'w 3u+颒B 0//z8+wHo!w<$s>*,?.IX.\sfu;9yv˂sҘވ CS$SeT8'ݜpM"hfnG!dak'JT@VrsN :hhDg/e(`$z1ѓ<`F!~1wۊEZgRVq?uo@ϪYJj$LƟ8^_{Àhؾ[:fv{͡d9faՊ(W8ٽ{Fp!odĠ{܁b s% D zm<1_l9Iܓb҇o: 6yWiàlva`!@Nѫk"J*G6U/g,rsǹSڻ:СCYIteS<R4$! sQeYċzqdZJ0  _(֩;c8S/VRG :6duֳe͞4hO^e4 H P;enڅ7i/,5o}=o/ӛsTd[>VFqFGF28m 1͓=|pfҐe3Thd |{8|j7$ j].Q0[8{v/ K~L4H_lk1ۋW(\ ht! 8+PoJp̋ƍ^$)6U€0OCv,q2&Gfc+ 'H}C ;'}C;~C` 5o%:t蘄(͗…fBx|M% R:tBi|$Բ5̳N :tБ ab'];,,:t1#CmSO9kZSx/S̪MCo:СNpz:Dri&ZwO+mB':t|t! ɷck5~-6{L݈C.|?Vʍ>D Dw 6j<+C$Í5zV ;'^|%Tm 92?; ]5ihJ4*8ow]]C݊==83C]{_3fVk˗b]&I^X@uȀD Y(D\Cz_|#M}ZL݊]|陝TdYwga'Ϸat_XQWBo!v}{WD%Ԛ#[\g ]㎆>ų<'xǨu[:zZrg}oN=̟lt:;N#4,X}Dz6;4My|qfX(}߿xޠ+Lgs}3QVȟS_xο ^}XJr履+7P+qO>C>:~Dd-H+GhE鱚v13$6z]U1$7PA'w4j8GiJ)u/ᘿ'~'6O~~{|R6G9y DǩkֳX\LGi~^Pij\z|~Vn{y#H;|#"ǀ)U Fq,Ĕq7177 Vd:,ۆtѐn#|?~k$"Wa"7O|N@oQpκq\K4^~|gv,q>y[9p*jemoEZ\Cv>Vp{wV*-cAm- Kױfkt_z6r=2/^ĩfR„ L^!)- 4lsmhj s7[p%w<J6<_ySGؿ/?+o^J >,# c; ܿcj@x*?;{D(`Htf;>ӈU,Wj)0#N?}۹ޝln,3M㥟?,+]W#e#U<͓=8>I2W卸;[p9@CӲls%R[tknGwRoumC>[Y@_+_͸ O,Wo=N_Ÿ~b! o-Y٣)ʴ ;oA 6URzVΛ2Jݦ tL.ˠPheӍ_Lhx]KJ1GG3rjZ{˨/tJY xw?ʗ.9BWnA)ġO!N :`hDg/e(`$z1ѓ<`F!~ΤʭP~|U:Y$4>gE^z%; )\S}k{t| $$B$!D#DѤk+ǚ5벊ww@>\m nFHl1AN믿zCNVBMuz -HW#2wo} _X:>"v5nޡ!܁h:uI*_f D:d ф Ǥ-PW}m_-uСN0QX3]4 DwTG#W񃹰U;>Ǝ%E\;w^7Aպ'xrKi̙`MKx[r|@RW-dŒ*⪟i& ]ed{_WFR' 畷/`Z0YTr5k~_Rr `\./*3Y"a*aњXH+.--v$" ]9ιNAIb Qo?z<#Fx~nP>|T(j$*LMrY!7gM PKHQgD r1ZKc;y.‡^Ϗ0m51vtOMo|3MkfwNbL_c~+1 ?F `2 TCؖ?ɣ;*1KBs3r7-G9IhwgDB b%ۈr8. ~F=ad[1yxр4:$j/d9eC;Y,˘M70hf;C8& Ǝ/~7mg'?I|+9ŷZpӗӗG?9 tƜzov$5%7[luވylT5»me8{Yf͚,qb̀jS"=sk@.sJQɈAU4 ^M!?2H&0I D5 ijl;RaIA )_@ D BIg}p8<ɡI{}{i?3g΍{޴ӟ2:tLĉhn?)O_&}⏏g&d۠# IDATﴅp^ L)'I)(E{k4]q-$O=Ѐ%9Ic@ %SG8x Ԯ`B,r޳GzkKg7TԨePaJ$N𨫪$H'$d)$ v BY{ Y?G9=`zxd Hn(B"!j<=յLF\TyyՔ'O# µ:ga$v;-gxQnl2G9YFV'I 9L͂(!p\=\Qo?b:J4KH<;K>v>|WΩTFWB@NCb 4SB Q ]S9$hA2OˀCL (53k#]~33x=m^XcS!?;ob5UFU5*AQ3zH<,@XkX+'nV\҈@$s>8Ċ#HaBlM-j1I%]g*(~A}Ģq1WJ̉3Uݺd7=bn'? !$d9*IW#^h/]W/ro [AŽK Nv>LϼXi*tjdBj.:Fcݾꤠytd4^h5y+czm6MH#;YWYUlɘ3W&$];H\Iw +<}8llBP^ڮq;t.Υe' !q6*Ij;%3$Wt^BOYRN˂ύ7şyj "[mātM|7& 8ߊA 0Ӈ_φ $~0R1#DSN s +c\p罬,yT~=pAV({CKs]} U@T7yKyytC1QXeBnөb⧒ x;([yNx^E%!!B`9ulU00z}n|af%kғnRKbQF/pcB4jJp,M[YJ^oq[<7 $T"#7oŇTEF&H⥔67`"fMt0&a(cr+艎D.g^2@- )8Gg FC7$]eK.8m s\@}K ypG|L4Yb,&q SQHNN$?&! )v.D?C [ݲ]֦R Scg㏂aÐdD XV1'1| PIoy؇7{<Za%ٰUrmr)2$2궏j? {K2Mn;!&G&9'L@Iɘ @jP2I\B#:JJzwbyj1!ѫ9/7/gǢÄ{Mqmt36fň>ALG&:f"e9MɅCt.tLrǠEF NL@SMI8 U\cox҇i;ө&̘$7u׈!&g`aU*A@x2;,[YMƪ}Dkl6346k ]=?đJV_*ه,g^sP6XXk9 ʆl:Gjf~cF!baFDDa'T6*WB Y [hӍSDtj,!;(+TǗGCB{NJ -Fa?c*/ᢪ@o5܅n&4#UU.3(t24~817REƑ-i˹wfxBQ"Z.q݃q'K>'Ξy" RhRD:]FKR9.-H%UX25JM*㬚G5:.WVNӌ"4~5jsJr .J y Sj7oBX"br$Iz7ȅl5^^O:&:HLRy2IL(Lq~RNʆHK \\Ց"t]:i$LdjHA#:xȔf&c6pS6`*Df5b.|Hf&K!ɝoj.l$}x3dXMzyBlB'I ڈu2 餑>{9#tqgKDpFP_#cm)WW&L'F 2I-szzH?Su7SV*qsmfUnJ{{MGrL: (tš>?.l*2IҦ 3Yڙ})#QEqm#0$kwGp WR6nCC3.ۜ":#O.N~P_ylVh kkUf. i?spp7\,}/+a;2VRWb۔)UR3 j aC95%fiI]=ݵL[=ΓMZC 2.VTc7&ʜ8ζIkᖗ~.x`u4ˁ4s1e%@HF(ʷm\+ɱcD^Q1EyrF8oxɃ:E3wj[t=7i&x'q7m'?#S+8VLJ&yvB?M9SL=Tӹs,!D.;9H(d;Јx|hFCt,xSRōp˄d'F1$ǞGyIŬ{+d4>L $!I6S_bm$~%H/}$ӵl8cQeSNXq=@v]BWŐW-}qacyN' (b@Aѯ YX>[SYA=-_Du)Ho~KxwQo X寰HC9DuAwT;ڤ1Eڸ@)!D9O8Z/I9>ۙ^>8`LX>6;4?mvsJ7C(B)Z8On*M^=؂'"Ew" 1J/gb,^7qs۸FFX8re5-w!>-'0yCE4.>7EbB6,D TB^/aŊS0ѨF[2 $YۑpqфA.+c 7 $o򆑊@~{0+$ ڰ_}o(!L_A ##M/pK_v$5HCu voLT- Gس痸U/~b'o|i5kT@k]D]hW"LI} TO뗟f+P%MxSݐ?\$!RZ$ؗ}O)@5f}^3 4zcgX :-f+[%B}9xp/U51m<"?~ogZ[8}alΞYJOvaYx/+FqB57flV58>g),weUƵ1|9# _aeK # H"lV_5.s\UvxwN7q_Ŏu3BB8tbOضPW,o:ТmK1Up> 'IQ?$cu*l?\xڱTVkrj j%Haq6.(!-:bW .Uj5=[lE֦I0^Kh1Ʉ"Ii#=;ȥHu.pre,OSnreʹ0@Z0kغǎӽxm[1-4K\ }6Ҩ0AjxCبn,Bz)B V"u3Rcղ.P׽N./(wCOT<@ *6 !qV\^JHaۓaXx=:0.-Jy4%V69-xZNp5%3FU JT 0N jTB`XB1Z+X;Gbzval ##'D_D &(*7Ee0{„}J+] ơ yWM\fPIl0|6#nV%>F|ATa@@8UT@UPiP0NR_a?Av:?!Z$@X0['')y~$Y@T0Hd)H4BՒ1UdUoS:t"Hq!Q#&I(ʼoo(ãel| a"A"ZB.lcH^ERI.<ĦM ԮSu Ob#;!yE DSriӎ$wYFS1@OTdEx4gx3 rrm$;IBkB%J )XʦC?-b  #&@ĞPױeC v%L=O&Ld*6Pv@gl,2p⻑ dcSIU_/5p fډwےE֦^z YPKflin.!)Y*ш&+I6J=N" dnBf ӣؼl?/i(KdHabi[֔*yɵ"s|RyiUm׆Sh"m<kZZ_&(^"%OqURaOŵhR@4֙ ĤK+>dXcH0 BL0^'쬠@9Psq!F)i{Φv3*yRjBDe`<`2{O@  &%5j8[M=keSFɠ ""TOnTcu#`8 Kp)͌G`SօHE8f{Fꊭ܊{T2ρ!QExGR#r b32%&Ljgݗh¤.mA|:Vؠ`Ǐe 068q $Y/$L%1OcH6ElivK$)9@D*a4jMTl Z'uXajDDmul]W/[,/70z{ p  ):]VkZKC1J "S̕]ǥc1*W|hZUykj| 8e3ND 7h,JZQLqu)}VJN .̢,v"?9(ZpQZZ/g,#;%fn &)u2"[pd .l 5# Ӌ6tcBGAgj5_XSIkn GQBјl{`XITA#e?͓=;6=8Xϱu9>L`/lx0S1(XK= 7g]TS8OG#UT,oDNl[O['sGjw6iʛ's$mZgω_CfJV<̂y.z ab˧xvFU+(_"l,A•<-ӇyIfQToOMPe;ݜ/X+t_#JL ۂ@ײjӼ Ld@Q*yKؾ>ɋߢů[) r-g9 B4R<l@lmI1SаR+K|jpyUXqDتXz .')Fl1[1KG8^vy8'$,;GH^ф͒iuaA4 `Ѻ DDDؙgٗhYDfK daraQ__/fZ4 K٪3SϧS9oUGˬ;jpo޳LJfxn"w1]6$?Ƿ@R-비߽Ј"K-J&$ wF{HrXR"L4]x:H>Ε@9ϦgLM]Јx1{$F3|YxsYXSśnc>KFc?[Myir%>H)}XY5ʩcv{5nC6tL#q61յt-wc昑+TJ$TU;N6A. {a"MVм8rk5\Q0{{&1UT+Lמ3 dB 4oŠjkaPI}u枢F" R N5oSU*8SLl7S77Q/3g+;= ڎTNu YcQ#t827c\gxN#y-~߁[~d%i%#|wLNs~}3ק|)AHb|u1YXLZ e.6͸ig*Y*_4]5ň.;Yxok.p囮nDԑ@\, L7qπLr! 2i1Xradb[a6ꉛE}fBYX*hrXk:f,ʥ< K>G> U,ٴ5Mwsu*nCS#!߹y\,%A>x:>bn o\lCh/dɫTPl.M{9rAol•UQMw|ˍtej}b~ZAFc~nJk0_mP@8>'H?ō.<-t#y+ټ|(|+/qw㍀X)]ʺ8+ ]띌@T̚*k|K݌[ 5"Osσ?lE,\FcED8ӣlܺgd,ް: u̓Uˆt u% D܏YJ/^Ȳyv$T ؊j-L@L'P[# jK,c+õ0=aQGy$n_&bqlF P }CͤdIF  M$` oǚGϚ7tS^t.bu.6UW wu:hClSt#wcԣ,w |OX+XI-MSt߸:B9,'\`-@k'ܳ !"6' i{R*OI N.0#=}xog)0׏^Va*bGe^X/r ;H32\{ 0FH\v5qq}qw{+(Q"f800 2ՅCBT=]oof ~,{ĭOXx?3~Wo&:If.WHn _}uOSZ>se3WnLiAD {We֋co% CcJ+}7ʘt{v_}YEaeQԥ/vp9S~ \ &n*R׼j8$OWP\,CWu>𛉷=!2]دn+fh<=tݬQGJtJGA4iuA&xNB ~9AǣDLxo#HH; f?,Rl=<|VTɿf772ESCSAx?Hs *23&kpx!1sGS=O(ךΝ[@g)_Xr yKS8|CFzRaX\C:f%s P][/vx%Rw6LE Atwc8 }S}\'{'|F ׏{'M25u5)cWQ_J^OKB`wخvK)k߰B6rlXӳd1JO1zɧqww_i,x'P=+4R'} }Ge*O1LY&٤Ro`^ZAOKKײ{tP:laBB)%6]AS眢[Y 3F̓$s RvT#UhetW&~'ˊB'/gzEճXPƈCJR(cDLϼ;˫|L5_kn Rm{7bB'5Y RF ;!l@U;آL a?ǒ0 1P=n{n# t4d F?G|Ox<\4djS sO7Xfk,Vs|S|V9hupАoA^BbWf6w{e1@e&/1W> b;l߃r<"TLX)݀v@aO:.LLgi#@JfF/}t -@Ŵ/V,?[_W/ƹDZ-Ϩ GwQ+i!#4$Q"0HPPi:Մ{VR ^xOoˤd_{iP0G/ZIGоdH650{˗rK]V#GD4#졀p\.Ow)|6֙j"Οؽȗaܣ`"F1Q%&W3DiTnvʞGj=ܓ~TpNXRv4Z0jc|tk7볯y WEo{W4V;G,uT%t9@K.MT Ȅ"Z= 8][/M'!mIWis;MgP29Ju3UH:TzOY²~3^<Ǭ4dHiӖY.,Q25$‰6CM0012e2%;yK}:KHo*-bC倖B &87; )l\ǃB}SD%Ib$Ox^)RZs˝_K\[a-k+dRK7i7Ԝz=4Wݫz&42"}v+RL[&ZNKd{vzDAinm0Ұ0Eݡm/ؼazP<9Xq,(K#mX9R=O]1 烎 '>Gw|hO $ 4f9/wzo 5Rۄ`d 㾫A' Gpwiyk3MEӍ" NK/8Q7&2YKCGxxU(⤸qIag)gY$n1'h`zM NC(5(G?0LOJ zޤ9{]&  q{Dz|\-߉?T=eXb[(wzt44l|K`̒ό&neBt&=qܸ's 6t5_ꪻol3s%p ?v_gh7ۏ.=_{oCGԭpj=~wtnlU[m烟`> 5߹1_.)~>bPG\G̥%"'Z>l@!g^SgMOŠ4k7,o1kF:~fgL$8cֳ;ό5(Cۡ°,,38zzUgz9]2Q>d7xy.]0QJh"@^)1aIPU>c }Q5h7E!\*kXxkӓr\Ot\yH0|yMACXCXz&9 wU> &0 Ҩۨ3̫7} +N0~N$~oѥ8xٵ>2lzb>OnV:{|ek'z0_` V,DS?wi<ޠaҤt7X&ҹ />_-xD{XT.B˲pɃwP5;<wW PKk[wG< #U|ͻ>|cCsTO]C]>8>% 8arX%7zK!- ri8Ol6,.ilS9hJ /Α <QJUdf ^Y۪v1xlݿN"We;xo\ҵC(uȢupgB%XLqǍZLxQ3+|-#/ F=>G kj".?oq3Sײ#Zc-޿V 4J e'~Ko~قn `!Ecn~v>:Gt4U2D p8~=gxJ>ŭxg%pEjE]D49Vԍ|(s9L]`_CFx.ZNjhnOyFiy++y Ryn,gbģ4fVq1 U?|5fp.mK.qh)ڕKLG۹s=P(=`\e*)L/2kB&jyb8zġ}Pa{mq&vuݺ /6$^I>~Lߧ={؍}Zz*CZ&F }@J ƈ62(R.Z(Kv>V}; Z6AīElsoxa~!DiZ+^qT BEf-#_~ԻKH_y<d8Rz4RA{U>ߡ`93 tPU^(LCGXut6E$ZC U۠޸eռ=E;(Aѕx(p:Ba\ 1VՋ [tqFhB4}CW}ߒD,qN˄%5 ұ= f7f́LgkDC0([?M~c^)4Br!y=ۻB) iϩ?[ppMe;~AwXA>yy.SwY[}ݛ<]1IDAT  p'XeoQӗ}aVE]K4M!LCP BW" LkaV]*O5yxMФD $' RQXRPPG Gj@* O!HI#G:`T⌘c(COɽ<qh2KNH,@< LXa?z  CqK1" 1͵W~5$2v0iKb7#MON(r54e+WIivJik6pf;B#=̵=?xC0zMX,CR)̕ח'lI # RDW%zۮrS6%BtM [ #cK0s햇9:Jʟ>3XB́ #bX0ݎ;hY.t[]<8L:~G&8]t] <H|燓E8IqY85鮇='i"B>m# 5Ldτ%#^[+{|#;*BǏp),MO7: uҖ=be&>.UOxAf!! q5$ipy9˧_qK^dB:\!gxڮG&kbjAL͏הB 9ӻ;|[T 1ZUz#Z\Oy&HhK45fRJ2^Bʑl쐞bHVn oILLџ^`a39rҳt$rIfZ$ge)<<繜 ےL!NhzUR^g`-Y$҃M -})ij+TDczjųttRU!Rv#REDhp(4ͦcw %W+8ee~#\ۑ`28{#\$T̄$)v?gW;vp(4SCҦ+پfy;m>~/|h(̤'_F,?,Iʻc^@ν\I+멾x:Xawi`Ez$Jj6Yiካ 1KJٶHBG=OdK6)m0Q(ʧ.[8-Ԡ¢#aq&,ƚqR i$o:$j߱31Nq 8 QΏKć躎R& P'4ƙǧиs FŸ*i"/ㄍ+PS;S 0</yσ$ggi×YG9s1nMefr%K2 HƘ`ro#8R UaX*8a$Œ8$q%Tמ/p~v3{^řx$#~>Јj-$ /E( ¢a|?pܹOCO=7wD]IbGϳ8;ZGSƽVzK^2R3 B7Ʃ(m h<7.M:W&BZoݙ@-eh7  Ɉ<]h}r)@1ᴱ~ƒ)s ן,[P̓OLqبG >v"8SJpNFN{>FP!=*B5;8VN0BԷa= 餦bkJGIA%r=v7XɠPQVFr3<7yHGJ@nG_jdJy HK)χZqS]$D6ԘB%K0Yw22^OE:7 xBk!Vt-QxZtx΁'xa4iNǑ2!"3:k{5:nCiFu/ )22[d.2^=ߍ.77i֛8-H X*(n// #*R)GVkw[XZ##Y Lh=7dY9b" l#v?[QO0>fg0tAHS*ll| 9tmA*B9Mj-]W\:]$R'دVLp;x phy4ץB2M`_%2>i |}5Ԛ`J[ CЬ02: W*I5ةWSyvL 鵨lWEfK>-) DHK{L.gT&`L>B֜c3N;A&t2"JZԔUgN_?`ϥ(#Ϧ]qyI͢4["|sQeVQW٫eVV+ +4ϼ^e߿O&GNfDQIHkѽ$Ti|JJ1Ȥ̖zj8! LS VUfFQk֩<߬edf~MpF&O9%Z$QC!)aRL¢4LU AxG5Ĝasȧ*"C\;pġ^X=_B-1.AH/ E1gE?7 v_/)a6NQJ ںuׁ ay (Ӡ{9tA3D? :=~l!n˔q@ ]L\$H A Y͗%H AD$H AS! $HTHH $8 A ND$H AS! $HTHH $8 A NIgBIENDB`docs/reference/gtk/html/printdialog.png0000664000175000017500000012340313710700303020344 0ustar mclasenmclasenPNG  IHDR2Q1sBIT|d IDATxw|%38;!$d/f**@.-Q-2N dLvx۱eYtCb;-;}o>wB!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bt5M Cw-B!P=)NeB!=2Auw(B!խP׾-B!|"U0z !Bߠ>A~(hnk!B!J[ǿ\W| B!DwVKư.וt@uok~GB!# UTWmނnkyB!B?n`ނ{_A~g[B!{7Z`m_ZN [mB!B[` m-'k}KKB!KQpŨJ-K[*EW`5{ !Bh=H>~N3k4 !BCUU+**_}/ `7rj?>@FѾtݸ[pנM6]6y4 !BnoE =TZZWk~=}+߆+}nx H~֭[u{w}x{[.8q*B!]f箝'&p'+mzwp,[jN{F /1a„P!B!ȑ#WG@2y҈x{4(+&ۏZOx/4_B!&O<HR߼ M'{qr>=*[ ;ȏB!0 d:9'~tޣn+Ji݊ojaZE!0d WBΒ:ڭ5i:EUѠmxՠ%uU _(BR_wk _>RRtK.~![!:4Z*SQ#Nu|we)՝Rt, NE!22miՖ!KZZtNtNDMWnYV^z5oD~AaaFLğxwr~pU;=篥6IBq:Q__zr+t$'%1u$n&Laa[6gMƐ/?M a7/D\+TJ=F ZcDZ:*{Ώs9{ȶ[i~([/f_İh:ʨquPoRZgK*Xƍ͕.gܘ1>p˭L8ԯuvTUEףvl]h 8s.{ӦU^ѻ֠a҄ \p޹49|8?ں:7‹JjJ Y|C&f盜r^,01Y \6w&g*:Nd|/t;ĩRtngP^ϒ㶛oeW_˜Yشe s~ôS'bp8HOwɠ)*.=̾j̟36L&S {Xl6z?+9/׭c ':*졌5][7( ~CqZ]*T_oeӖ#صoɵW_f:'}O0kUU[4Yh\ jee,Z^p>7l>8>ǟzo6l`K/z^~>'y| /X`~<ʎXkn ^ %W,%pulE|^GRj)$$6\Wfvo5Dk yyn] { -<~erFZ yu

قnkllw˗]1u$ereXPfLƤ QUbp$(٧eft:ٱs\JN8 CiV' ѳ\zrV\VLt4h0p8zcܭ?Kd &{Pv}<19cK=EL?Ԕ.dȑt:9 w>ƎdfΝ<‹fƏby ӟs,/G77pm?g!-51pٿ@Ӷ0Ѷ`U;wfĐ.kZb] c|}Gj! 8՟}Yӧ}.9wu.*vis9cF"!!/}#b׌6eef=˗]Η1,;5u~2' gP)n>u_PXXĺosђ شe+7p}O g`0 3̀!Mic"IIwQzKQ%(ޕ~8c"]3۪*{u[0 \{g5}9zf.p)A 0bMLt=Pߗ^_ffXVϲ]ۂK՚OEUUN'EEkДsA[a#0lPF)V+lشpwys7f= Ûsx2ZQ뽏R[_y>7p7fw9oo\Iyy93gL.o93gtMfrM̘70W,mHSüw?zu=k5!>7W ~ϸ-|~zʍ]ˡÇ` 1n()9νj(..a֭8lrzQUęQؓOq?d@0vhϸ;gnZRSR(9~4&?cӝ]wc4=j$vz 茞 TЀW`r4-{ihhwqa_o6mŋfr**٢r:pvK/F=0h@232ػ@6T$զZzl63{L^~F̚uJ}r@~xט Ï?alhhh`,^~aCHO?j#? <wgR箻藙+>_PU(^p>GddaՇ/x=$EGuԙ*GVakl٧+ӂp嗱x)u@͆ xݾs'^pg_P\\BtL4l`0pCS+Į/΋Qu3?1m֫i;g1k?9fb ;.gт<‹̝3sGjlWys~ʟ׺ݩji kTTx{S!cFsT*yDHթ(s:4 }l6^=SovEw%x# 45b<9K/8\r1JjJ O?( 4DGcPԔdAV+18n&bbcp4%HH=Х]ȑ\6lı|Fj%<\^}&34d;'~^ǗcZ-RD֝k@lWhCւߗ8UW/:=A ݋p^tm 5q)9ɷt#ңN'uh4AyO4U:kZӯĮg!DD}TTVпMl=n}  d:6N-=o6f49c:sg7Q|R__):&/pu)wZWI/:Bp8ޫڐU_):~/I}|PTy6&qw|!B?|ܿ!i-ף` Fasc!"uS_'Ɔcmpj$ u*1qw'RӨ*RB]!=O}dz?tZ7W8qn*/n"pf3i)i$'H?B!:E󧾾ʪETٻ}C}3霁J43yAmm7 0Q@l{|DףjMUl!tH}\^/8v_@%P@YӰ pJKd;[t&BR_wvS-![!B!D4!B!z B!EBSWW !B4Bz!B!zӧLB!uBP^!B^G|!B!z B!EL!B!z B!E$B!_!B^D|!B!z B!E$B!_!B^D|!B!z 8NNg!((bUUC]^K !DwuBIQV}!YCAa:&OĹg/"-55Ejw0yDt.N=fRS7f ))!)ӾwԜ8̌i7۝_QTUEբh݋35Wf49RY>\p9]TqouW-d28r8|cGR]S` )1'<9y|{*TVThc6LOg҄Ĵ9}[0w]:rhoڞ~-ʪ*hZbYuܮ={ظy &g҄ ]TS,}6Wi4((,p ~C\`0 Vܣ8z, 0p@.-ǎ]ؼuZVbSX_b:a 0 o6wVOuM H 2mƍrp'R\R@Ldd$'jkeSC\ IDAT`0g0BXk߁C8cHt>?‹?xYYFbN<۟mj6n1),,"22a29_O0L8Nmݻw@{`9d V'j%kM\_oHuM g̳0ͨYz6oFzZI[gJr2xC]mܲ7g6q+h9qw:FuM a0{F֑%W_9Vs:g\%5}Nx{hϸ̛bjyؾs'QQ:k˗]^,7B哔Kz%<̳-7x@A{!q=x;?bc64CFz:|]bcbXKB{XpqZBsmMu׷>1!K/08Z/s*{(5TVUc5fw߱wN8ALrrbq v.Ql6FrKHO;yg˶o9VAyƽ1>p׹ǎp<ZQV^Zl޺l6Qd r>9@_>Ǯ==ӘMf{?RXTѣ⭷ߡʭ7п `߁t5}6駹CpR]SCJr2&|}.^3SQ$""\x$'{|\㈎u߬GOeew$%9~]vlWT H`מ(+/_fF9s3Fö;\;t8ÇC}k >,,zT+ZI{g/ZntΑ\Hxi)_4/ڱ|6lLXX))444pxii,h4)-+/"%9g9}d2yҐ&**r v;1UAEӵ`asÇhWPdb~]+|߈GJr2Uֶ{kܢF{UTVPPX;"<u߬3L溫p;իk<} ^wE5mzVUW?TUUQPTDJr+yvf뉎"==G˯R_OuM QصB8Q[ˠX`pAGra9yw~M^7~\u2ρ8zG#-5s/"'7eN<:Ku3ړc|,/ϯĒ\_} cC9`A,?pA[;wzrS=-p{g7w䞤u,.yD WPo셤BgΝ5xiO o:ē5xu{>Sz=ó6uJҫO{뮯z___3gPNGuZaܽ#\)6Vxݿ^R5ۻWnGؘ^W?`UZkΛu f͘b\BBmlv;gEKP]S=biTɞϐ,ƍG~ @t+뼑!Y<8IbB"z(bb25M7Hk;C)oNz݅d8N"#uƺ޼vynrstfϿF]yl2_?ϙ?gcGd2W`̨QX cr9HSv~=}AOjֈlf,5k;k&MǶ餪̹[>3Ǝ 7޽$$?G3EQ8pJr߷s6#G#su55xO6{E%Ō3Ÿ=*}2fxqɅK#GZL0u`O$-57OW{ üʫxnur=^׳5̌ Jشe+'Nl4p ̉ZjO[M&?lb }X,^t:=Ʉ(Eѐ#::گe9YYhp`2PUE 擘@Ee%vk 驮$^дd0HKMeY9p=,=LOKH,#.6 IINf[oЕǶ{.GNm]NԔfΘlf֭86նQ#jTTVz~~lCmƥ^q㈊bFÀQs3~;Dp8TVV͂sIM &wvg'bxȘѣ<ӴƣGn>Yw:FA<ۺVu!Yד{(reVn6{^F( }T^^=-x 9NkjPX} [,%|'NԢѸv ѴcSncǮ]>k}=v]=n'"ZŒs֣RtAYAY]Icd!Ĝ]G(J i77B! E_|r&F!D_">*r^|r&F!D_">Һ'z9}}#/iǾɾBїHAcd!K$GZD DZo7H;B!zCWOx;<<̌L&OJfF y嵗0` .ү8NTUEɏu8O~rvLw,[wɶm[DUU"##HdEDDDtܔY!DW|:ֺg4[8x]  hy>Cy/Wnݹ?Ǵ?f|GW騭豣L&smBH >Ͻ0q8|~lbs Hee0))gһX,7 A_zZyW߾ٱs;aF騩 N" !#>KFh Y$'x-i cF22Lƌ /=Gii)oԔTz, k?[MnLf#\3D@W_{3{O_Gss6XcL;s:o"0rhOK<^`)):mstpyECNGLL 111>kaX>%\+_'7˯~lݶ]vP]SMDxii\b??I!}sFQ0 L03d23,{:͠b}$&&LaQ!} <FMM 2MlL *UU7M7bkldт^}:r{cymūTVVlȑ^\{OJJ&==2kPU"1 ~tG܉?}3o{]6nZm4p0'Lb>#ZΑ|ZL&3[),*hw>!$:Ѐ` 660y(** %%= O姫?f1{N8AMM 'MalMeeCd3{\VΝۙ7gg/BwTVV0lp.\j)ޱs;|†4h^z?QYYALL 6o\.^F{2y*i+g 4n ;wmpA>H\ze>l{N6n@HJL̩^/k!|HlӔx檫Z3n ~eea陞qT~NUCΑv{?oF#S&ɔgR^Q{! {v1idb[>l555lv o|1;{B!%5]$wOzv!&&G2bGEESN8O3ʞIS[maQL}GFDrUױe&ljWk\9GtL686oÇxHOtbbbرXcz-9bT?M]]| UUjDGGSSS9b5۾+1k/8^Zg|Zu#KB 9brf3z/8 ߰cvjkOqЀjϖ,jƌKmm- 0d+fq~(&N(..˯>J ޏi{S[{q8=pEV⊫cF𶫪ʅK/!%9Rm-ӿv;eeű %B֙UԴwK2& DMTU#+~},tY'ܶco@,6[u B]Mtq)jfs76[F":˳uۅBt\gbNF(*rʚUuP^j /&):t$[#Wwv!}r 9}}#/ׂ/7r&F!D_">Һ'z9}}#/!DZooB%s*Dw DZooB%#{w77B!MQ+q!}E G5dB!=.i!B!z B!E$B!_!B^W{K9|_u#B!D_IKp$;B]!B!L Kjs8~ ,!Beze/B!D_~誫-<|Jtp?d2ybkeޜ 65O2f(OcccYt<|Y8^J*B!:J|?L<.xU=u sg=z~_@ɓ¥- jQ3L9!Bk܊R}޿?3ӝwԿMQq1wN)E'eeǷk5;oAJrmZ;|Y+N)?% ,W?Ͽ~|[B!^8a[{)MT %8r[GJ*pԲ}mn'..d/[o4{6K?2g,f5Y3ybX0 aƴi>k۾eO0}ڙ?c97Wvh?lαw'~ TU%6&eigN=u !BМ.nٰXꉋEa$B=9ۢh@%P@YӰ pJKOׅ;W?~rSh4^ #,,,%B!muB!zCB!B B!E$B!_!B^D|!B!z B!E$B!w1]?37؅Zb})vjiKQTUKK)ڧ?SU{ Ⱦك_y%ssϝ;瞹+/""""bEEDDDD- NJfYxS':F?RM0 Cս}Q)ӭs{J`` E܊f|Tu*VcǙ4c|::L&qCcoCDJJ*(Y҇kuө9tL]gcc≎"uj$..ujD\|qƧ-mL&GEa6rw=*Ldݤpq,""b u>f3qDD[hM@TL4qs./= a0]M0b۳{{Py[d B.\ޞ={0!ߗq,""(Ζظ8lml>tpakNNJٙQ#U`Ƭ)Z^ݟOՉcS3azk ۷cؐ?qY0NpO&EDZã|ObW-_Ob9.cMhX-[lش)c֜DEGӻg~驩L|&Z`0 m {{f}fnb]t<< %h!sy{&Qx{0hq˗vf3]{'-$$$Шy >52|<ߒ%m#.ң[tC;rT78^>3zՀL<;S>#5DLLLr @C8z8.^`Ξ  hҩ`&LLe??>۸x1R|M/R ///.{9GuɌcU ""G2]GZ*/KDdTnFVʹ!Aˋ5S+ 5SG|26ndK/f:J ~r? 2-***tLrRvv9HFtXBs ))?\`00|H_ȽՎ?w2?ҶukehcvZ7Fκxg97m3Om;^035m8Ljj*[m_sp>Dr=* _Mv:EDD_/s}n&'Тe=~Wϭ1oݶoa@&.FcM;t`weń]B6x"/[o#9%i 1*]9CGq̞1eʰnFj hM&"""BKP\rUT[ƽs-[ycXء=[`G*P|yfF Uf4iԈb<ީڵKEՂl߼ ``> ;v[n]P/u"""Boڵ{_HII!**qߵL.^n h0ҩ#3gϡC@ڐڲҩe=xLJ [[[ C-5'2s\m؀+OC$rZ7q,""0˿4-{p?r+T;؀fY!l~ c),2˜Y1 Pp+71@*`0x<Nڳj-W!R8?"O'|P)pV.""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDmAW ?V3gǛ:1dyŔjb߇OBSMEDDDDB'MnU)V4壢SBE;Τ)+)d2Q"0|RM&RRR Fɒ>\;N̡Çd2tEDDDD:OttׯS3&qq ԮS$O$6>mظՈzT}t=*LL&GEa6s]v~y|fbc㈊ɉ?6o#%%뷀@6-Xhbc An' 2n^LL N]_%FJ*U2-/66V-SGr]vBؕ+Ld*-7K7d2t9~?NF,PD kܘÇr|6o "yhҨ~41gM0b۳{{e]xy;)ɚ~<'frك Rp!pssc@x? CuEDDDT> Çvظ8lr۩]Wamp9mF^f,~Ll,s'_3ioo*8qDz ޭ+II{zÿ?khyxz6vŵk ߏsiTl)֯o [cGJJ xxxPۛwzdƧdIϟ_~O9p-_Li:ogysxq899eS>">!S2z͚3hz2e4nT}>V-Z0y ڶn=CPFu>ք5׺eKڽ 6e󳮈ȃЏ߻[r)8G-Aػ@T(_^x{{{V^cgoذ\ʰoРisZ=zr.QA#~[;LFms;`˃-{cٷĤ$ Jn]]-yOvȰ5j"&&&'$$if}7lF#'~o^(F ҥxcX -0c4)))Ss\0ʖ!"2Ʉ3&^Iؕ+ 27WW[~^aogǙQ>zyo/w,\^x>0~>$דj|H]:DDDD:y@L&&LLe??>|:{"Ex?iټ/Poqˋ^ΰ+WЧwڕ.uEDDD B Qӣk{Lq.ۣk{~m-ʗ%"2*_ܼ5xڷm@mؼ5}Pn*V 77W|ѣwB=(}9p s>AF ]+;|ŏTR-IK* %r {yg3 g>݇;%ԓ:h`ڼ}3ܖIww/|klll2\&F ֯ZI77 F#|,6 1Jl&9)R[۰3`Ufs) u>d0_$?lFDDr!!!5iqz<M;OfpM!/W2Օ\hmm}Í;ܮg'?vLڶnb0 ls'ڴɴb\jZD[mlp0lݶ wjTS+gjߑ?EZ8|Z"""Os'.m[f諯d?9YWDDD0*x3mԄZ̼uu36Fcd&22;sǎ4˘V`Mv_. @pH3NR8{.ir9,r 'Y՗\ƣ9^/'\ӳ'?M4M.s.9p CGJ7oQ4nԐ9pݓN[$ʗl2۸'>nv7}̲mdq7g]Q%WT9*W-fګu6+_l2FcDZmZhfLLJ&MׇWs֭~u^'OaWqqqe˱^S2G_ׇ͋Ɖ'kܘ32<ީڵKޢKjBoބFPuJvK ptp̹sz R?Qg7xs;t؁cǏ3oBubǖ1f,NtОAptpHwg]U7ڽJTr~nZ5 ͛5Օ֤|!? yuXlʔ.ilYh42k4O !15Y`>^^^y_⧟ٴe /!!!%hҨ 8;!nzJJ 'OfMëһGˇ͚9{.6lՕfkC,/͸Z{/Uߚn+"""˿4-{p?r+T؀fY!wCRR2n~0K׮!4"""re9b065*WnL bTta yf=:g՚9Zضd9Q1O{\`<ჂHx+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEl wˆM,iݲ [O5&oc#>OMMa{o+Uȿa?mml3 """""o߶mAں[uV6oޜ[;W_/磶SףHNN.rbbb>|AnYn=  R{`P{uۏUUzo7Yhڤq)̚%CS+ v 666,Q7f8:f}m.4kǎs]&Nb]{M0b۳{{Py[d B.\ޞ={0!s.^22}|J{vd&y&|8=`0WwƼEe󴿱,jќ*<2yj^*!!_S{ѱ}{0u~OLmV9Z'6.'~Ȏ;quu^W'qM^uF#6FF#%ty}~@wJRr'O_#*:)'ܗ_~ŹL<)W1۰F51l`8,rXS'`,;|`|}}-ϝTέf3#FEJJ  > fM~*&6@ÇYnܾy=?5Wjs?+́U{A=blڼwƼE1OO|}}j6V~m©zlxQLt=̜=wSMII!**"EܰmKHHQWe|>3g溼YsM=VZ2jт>`0жu+W:|5[oҸQ|r[έ¯]s9MPڴks\{,6d2v ^Ŋ;O;?zԨG&R\zg^ګ{c5>>(Y77ts\.s5z,w|Ȯ̓'OPOt}2-''k z%"##9{,!/!՛Ѐ H?xϾ}]=rnၗ?+'OtܾΛQA#~[{Cٽ79hE.]i֦[҆odu~)IvmWj^eX]GnKe,z\*s ::S>hں 3g2,/c)rrRy>g_]سwe_isE ?11I'ѱcG.]ʇS&Z$St^u;*{1i$&MmgO?⧟s֮_Oj!!,;v錳9{.uOYzxW/|J hΛOu(]4}ݺqN8  >ҥJӲeQ[aC[>|W on?}{_̙˥a1Že& 'SϏO?Ţ%ߦ[PJM7H7t? z"Ex?iټYɪS?L_j SOѪEslll:/dŒ9O:{,wOVmtL4{xSrrS?y IDATOI>4?yӦw+WX2eJ3a>c:uhMdvL&^{}$aW0l`\]nR xXF otdv,eWNvmCve~{c22~Xbc҆gݾR8gSHeVe/a2,.EM <%{nRvmηVHQ|Tƍ}'G۩W]tN7-%%&9}ٻwJx{'yuyƘ_ݒl5zqvgцsiʕ-`%!! 0ƶq>$^ >![<–mΝ:ЭK,]YujˋiҨem;t_cO¯-|ne0^EEEn6INJH~Ja0 f渷e9*'NZ_c#oOɒL1UuƘ{,wOVM7hތ5IYSf̚Mlll_wߵsVj^^:ԫ[͚m;aWSddv=v24n6vZw?2tXڽgo3z>z ٽw+ŅT[[/w:NJ~PJ56cC5JD ]?i=X[(|}|prrJ7Vb7V;_SVdѮMڵiáGxe0>>YrduӍNɌ+W^99]avn9WC.^H{N䥜[q/چ{ȃP|H9YiuiN1][^n6sY`Sj;O`;5|O鍃=MZ7jPF si&}1#FŚ~DuCnv9, O?'e isb]sAnhܨ!gLl2۸'>nv7ͼ9ԷdI*/r2Rz5ʕ)CtTڰ9Y?xq\oO FFG~+Wqm)U-qbccFm2\'c)/n 7? ܜ+`)_Cjj*aTN5?ۍ0TŊ8rŋ߸)4)$22-[,ѣ:sUJ:|;;[֩oˈC)UʗK 5l7mL||<ϝ1A9*tRlc3[5irnzS':KEՂl߼ ``> ;v[n]P_WdTPGΜ;X.帜{2Ͽ45jP;&666ٷ#ǎY(uUvgKcR{uګ@ܪWիUc) *...|l9vvv:7/PW1xyKw4ĵ)=Swv wLo|2dvuʮL&ïQ[w^k9yp+^Q{^W9 Of+W0=s`׀@\1-RӍY[w}˝>G 2}yRMf*6ݛVмe|k*ј鼛r|KͲr#/崑FcrlRyuR{u/*> ;n2(} """"" 빎%""""" """""D_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(XB𝝜 """"b圝 w- F߈+誈rvv&n`AW#_ U-K] """""B5DGDDDDD/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQ" """""VD_DDDDĊ(X|+/""""bEEDDDDQl&1)!"RtrI`0pV?  v""&~Wsibcca2%ʕ-:s^A` _.ZDVh{]ڵ6m ^a֠PBB/*&Oaqrtqq߸ 7WHTzoZϸȜp~Z4kjYl6c0e""fdTgRBp"w۶f eWy) m`0Xl`21M>QS G/ҭKϟ3(Q=w %f|1;w@Ga]ҋ zqWON)B93g䜮mwɴ-R5Ck "r1QQіp_X*F6Ycݣ;]:uϿw6F fEn]1ٷM[p14V-Z˘?g6/{βu >McܛIO?x_Bd6hUk|ƽM閏OȰ///bbb@Z<} l[w14S""UpIUX˝;H똹.׬Y!SvLg׎kӚK.e:l8NNN"G)U cOd8߷dI:kKm+흏=ysf #Gy ęZ pa˗^2SB ˾نW(_yٵ 'N~ .\ )Geythזڳ'q<<CJUprr`?wpvvf 맀/"""wpvv~=`_3 )o2>ŋ!DDF)]r? C UuA[prtbJԬ=f+9y$GYtuEDD % kŚ5_E;-M)Ҝ>}kWѩC'\]EDDDpy(lfæԨ^ +`22]bE?RSSٴy#]UTppvz~_廁lHn]IJNSoDEG1e|+"b bbbH5psuG50tJ"z(Z/wqffVjҔq́T\y+Z.^'عk׮E0?Μ=ӧ]2eJӱ};u#xYn=eRRRv-n@#..>y$%%e:?!!!!M""S\\<>I^}hҲ5Za]ibcc>;[;L&)))\HN"DR(]ǂINIh=qq9R|y^zy~)VJwu?1 i_zu0{d2akk˓z2z ׮l۾ժ=vG%??.\yc4ԡ=o&NNN7g5~EK8::ҫ9Hn\ OH'_ Faa\~Wzcbc;o>>Ty䑻PA uE CmmlIJN֖:bJI#ɩ&ݑd Q lڼ~}Ņ z:6$_p·vzRSM aѷѵKgBxzxW/|J hΛOuhѬFl_/#GiÉ ARi2t(-XȰ!9y4}ݺqNx{DM ,]d%{_wL{{ KHH^CDP| oI_#O4,ghQ2.]a3<۲$F 666\ wykovm۰yk^:yسwSOꠁ^C5m;o>'O[9-ڣP; ~V} aOH*%hÆ ƈ`%!! 00!"_ףW 6GGG3clmAl\,5UgTի|rTkɧ߳;&׮c336&?yJ(z.{率^3sfΞSϏ cy_DDS1LH®\aؐҥ? /Rɯ"MDD$ -敡XkKfHDDߣWDD$sEV:A۷p)*UW1o:7j`cc{鳧ĿeGFF}ǟtؑf5L_b7nb7,7g<78w3j0{{4.1;vӮL+[65O9y4>boRW,"WviC&3)}9p s>AF ]+;|ŏ-ӺeK Có/ `Ͼ>@jɓkp==}ʔo۽F{>O3.r<h4}`4]E

xвn:u1c1t(Jz @ 8r(ΜſjR28\DTR% I6m2].b ?i\]*iS|AN MbX"yyhU0lĄD>Q |e)rW]KӅ{͚Ukhբڵeي\?t xN{T{Qʔ. fŅtcOy_~Fa|l0響Ŏ?wy:˕c|t{Ʀ&"gF>zZ,Ey,ݷQNm(m pb , v6jPfzN`'r7(['N8}~o7_Dag0sjmk/w|<ߟ|Ӄ4Ճ/=}s)܋<\ԃ/""K^kkP_w)\ԃ/""""bEԃ/"""wxP{_nPZh_EFFR+|ItҜ >_??zPXk~dd$gRTo*|IN:A-WJǧ"V@_DDD1*URJtUD$4_DDDDĊ(X|+/""""bEEDDDDy(owt\ս2bYeȽm\0j r+&`JC |)ސZ0BMq[2*5*#if4XdI#iZ{f={SrҲR*++!~HWCCctGX;Ks3)Am3|$'JsQ҇ea-r`ZI1 koFmm-p1,s>DDDD-aKJ:dAvfeA{x^!110߅Jft۴4FTgA""2L:Gٖ{x" , 23O\\ [z,^GLwJ얆V+KCLӤӶq\<9bi~Ɏ;zTl?G}C=6kx<w:DDDD$xakjrtih5՘a|}}=Ge҄I^uOcdHnK5Qt͜sXqi-^-)-+0 rn>6ּ9z(Όi3L䍷hB %K/!666ߋ=()-4M, sG3erP('>豣AbB"'˹hEL{{pIሡtxMũ ;=i8 q+]L0 Ftt^? 6&ei k.Ξtvq|^"&&-۶uV2/dyرs5L2Ղ*])4M\U.Ȝ!<-5<ǎc箝&1M _nC,o]۰ OUU% A㪪$~H|x}nh_S[N8Or8n"ghi83#|3HIN!::z҇u~S/gg(7I&5?qDqaܵSDDDPV^⅋IJL 997 ?th $3ȉiRT|쬜Nh8~8óq`ͧQ/ݤv5)_pv|FMmM˘|GGtCs""""ҹi8zC2jN/(4|e2u+( x(ʁR %MU555[?v[JMI#5%-$l=6jbZ{Xg?'+NbXp8Nx_CDO?90qa3K "'o%؉cP~`߁}`p -5tKMMĉAG_eW] p3]mw<ϨL:w""-,{oTP!*]DGE3&o O|GvaX0jԶ'NnoRvkaX,N88'O.'CH/f7_mHz| a}iw3<#jnߐ޻=. kB~yUWWcۻtwv / Ex<^^]Y#4W;UYɇ?frOцTTsIܾfFU7m?aٸ+۸k9\Pt HQ>;wbXXt .p0Pʫ~i"#۸pP$2)Ȁz|]l߷o?cnjp;wngI ܴX?s_i\{UKcN'1MKwTzׇ&%u4M{yC.EdPPi0 L3x<pp͕W+0wvdgfä_O8,Yu{e}sNJ[`칧zRpZJMּ"9;@%!!!ԥ ""2`&LԚab} w>k%sfb|8xb|1ϛ¤Ïpoß^ vk{6[m&wԨӞDEE>\OCCCs YfXmV͞ySwWm7LffG1 3|q1kP"2h(Ȁyl""";p1pDW^uo&}XgΤ&1un&}6s$''t"^x%־&k_}k^~/]{ &\Wm~c2v^>))q<أ|GXVL$!>뮹z5{|a=ZTt疢F%ٚZDq@BD4Wup ?{wfyXY`O DvaLviNA]]5$&&vԍ:;NOOP (J^+/kjfSnS cnj3y)))pb!%%ŋi0 y|~[ֱ###  _ GaQ! r qqYli"rGr$ T:šC>"ňHt4~Hː0Ouuu^/{ԃ/""""2(H֗  ,A_DDDz#ҷni'O4`HLHdxv99#[-ҏGKiEB#~U6j;*gM&""z8pp?fάŅ~E!KDDDd`_oogM&w޳l89|k--!C, ,aMe 1 #G4M{ʠz-gI Vaii̙5WLTTT]G(_BE{"ӋaG`?1yc:SKog߾*]g]]a`ϿL=K2}g?lzv;/X 9fpAq`̘wzs[, ='?ˮ/l!""""[X{;{ߚn& ywz}K/7~Z~>^uXa#O?Myb&~bck]x^nZqYŸ_=-7-g*׾ʗ/\ט<\UCDDDD6/ܷuvnNbbi|kFX4) Qxj~)r ew3oΜkV2PߞHׄ &{׿|l6LlY6>vb℉=r={W ٸeRSؽ{O4~X|o5o3s4y 66]DDDD'L*8It DWFttc8Z|I󗖕+TTT^n&aidfdM9\Pg;v4{ޔ)dݕwqf ٸi367f]kٻ?vyy<i}[o  CDDD$LX,+<3,Zr!))%p`LG}}=NJʜ|orfK/` dgeÁ{IV{?W܊a$'7pDca[1MxjfΘN1NUVw$!!{RQQqנa2i9YEQ@4$4=N4MsUw 'ob<""͗Q_W}(,,@jЙTZV3INf`v\X6o>|U232߯Ą|` HINJEDBG_DDO?90<{xl60 %A""/"" f͜ z4>QP.Zv ΒV+Ҙ3kn,"EDdb`|B];O]J}C=rN""}N_DD ׋Ac&^7hIII~)n_nd_MDD;ZDd2""2`x<^^>_ZGt00Go0{Bf̻V=Hmm-?xG,Xr?/`Rnwp:3ϟO~h;:/|0^O}W~#yx_\q8x^nZqŸϰ~F|eG|Zο~o}yA*NV`x?%-5wq-"EDdxz?e+wܵ;ラy5NnNAa!-YLۍfe1[8I55k-[9t/t_-˗_EKa?~ʹ|ׂED—Ȁai] W} {%>w}9Çc5syV=x>C0 +qOfZ1a8^kۖQxj~)r ew3oΜNk/""oa;~/\?-?1S=aii4,k/3/Y_~_yn_q ao[fNط?яλۚ׺}<4DGDD i6x> #V]ܷA|>MBFz:]y77m6i… /Kڷ___m4Mv['"x:~IDATA_DDDc`DDDv,c$usʐ!q*LJ|Ȃ0~BRWWGuu ]}}>'O@ZjjI-"3 x(ʁR %MU55ci cnj3y)))klb!%%ŋx$22X,$kࣀ/""q?n|4_DDDDdQDEDDDD|A;l;Zb,Z&_DDDDdQDEDDDD|AD_DDDDdQDEDDDD|AD_DDDDdQDBo+""""2|\`!: """""=~ u I틀E*䋈`Ґp/""""Eߛp/""""Q?(~p|(:{]oH_S sް^{oSSojl=tF?xZajl DDDDDzWP'v=P 5\Gc̾}6D'<0#@%GK M-F{+-8ij@Ko{?P{ 4~M@jP{[> HC˸j5Вt#4ַ~ƱqH4zKw{ooj~w| VvH7*մC~{+IxO~O5<Ǡ,4wK}IK⋈tW@ZƐ_ҭC~ ZB}k ?6v#Z[[ mޕ~ -[^㋽e=A=m | n.""""kL[KKO2$۶z-vioZQ>H۷ugZ-C9^}>[7Bp4w`o-X#^󉈈ց{k#WZLfg=&->Ap!^DDDDۺk?ѱz\oz; """"utVAYϽG֋i |k """"2д琅{@:^DDDDz[֧2PJ;}u{^!_DDDD!>B5$GDDDDDvgUpҡ>HOy%""""yR[;d= IENDB`docs/reference/gtk/html/progressbar.png0000664000175000017500000000625213710700303020363 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d aIDATx}p=r!!O"H0'Aj[,"HkAPtP@ćvZP[Aт8ҐQ!\i]rIB{$w}\6KvA!B!Vt3?}!DϥG؟[ݏW %mB$(t8ORjjjNRfEK"S"ec|0f Rq!࣓4"}`}SdR#[+O %H_ٴ/FI Hh_ DZDncIE@Q~o%T5sN@ L; i,)%Wzlg};Mяѭ2ݙxxxQt͙K?0ןc\ SYW0e9QK'Uvl4Z={P\T0->r5;jO ŵ>9 墺ej~-blt=? jg_mvbXaӖ :m6)8^O$먪Jmmm^ԑF?tB8`nq4R}ۣOul6[R_'ao W:/6 ?YJ\$2} rhZ\Ҿ`sF)A! tC02.#tj_(靕O I~ p>fa;6t$ԌOh^nWMݬNBH ~LwjasG6ŕk-(JRC>n(T+s )"ɗ9靀f-fhOBr0X@ǻ6ɫj+O: 贫GѱLaSMvRE*tn?\;W>UQpl .@H] 8!+uM>氛;*S \1 )B jd3|``7|^E@77yi#־,il  y}f^ُ?CiYMvr\:gn8 #6weR3Ʈ\p`嫦B@4B 5ry'PL1?5w@0إ !0 !,L@ $0 !,L@ dPxYYYN? 5ߪ瓦0 |~=ťK(ʫ+ٰq# 5x0wyÇY9>߸EQ4p **XʊLÂfkY2˸!TǬ| ߏb¸kǜO0Guu5**(+/g7ϟۇo4 s8XSg CH$UU>hZU{Vs1n|ڽ'A^n.=5555m*a9e yxAY<+.3w.ϝK_o1+_~776oJ,zo^}5555li;JYAi|N;u@Çq)dY[ :gjm"$h-l޲ 醉\qWۭ[Y|y.C [&1de۶l2 f9C MÔ[nɏf~L}*( obaD.~yM055x3k6˗@}r-ף*|v|I4~5̙u_} pJcBDn;c>c ~㹹kr gU̘9S iS;H~^C|.d7C6>_|̽< _q1EaA`tUWK.x F2 7V,~qgdI #KJYYɳK믑utI)k:'Lt2vuZH dO23YL:Of&;YM3.aszv֎9t(ޢ"A˾QPV^Nw1h@v+ۆp^"{|c8\9!GXsYw3 DUU8/xeϐ%?/ŋd§ȣ(x"n'?%KȣNvv67\7Xr= @ff&sfGNN6;'W6զMBQQgu{R+Gp;2x kƿNt'Wͦው<`!Zbog466xi9B(F^^\ I圀P};vS.\UUɋt ϼ2{y$R/h?ߟmf ];kkH1;vCvM~^7Nmnf%})* 8zPg|)J_A@ $0 !,L@ $0 !,L@ $0 !,L@ $0 !,L@ "}qVWJ:}'!D@d F^옟{ =hi YRB0&S0$>[܋K(FZo 3t:WGE[ BN8z,D@-ѭ0(-?Z-x !a{ўDc?YtZhq;أ󘟖'@|[J%έ+vK>!@W FqGommnc{/AvjBVLmG&}z>[mGѰ~ IENDB`docs/reference/gtk/html/radio-group.png0000664000175000017500000001314113710700303020255 0ustar mclasenmclasenPNG  IHDR!sBIT|dIDATxwxTeTH!  B@aa]\Y]} * l. ,ҥB $LLLf@$>u̜3ss̙InB!B! 7^u!ĕKZj^uIl-?6!D 9-U_5sw2]1 !. 6TOx{Rr 9+j,T:w-eԘCЯ8'}ibZ<20J_~8':'PTH_~\88'zІ '| y T}9TM~  ~9 ~`4_!I0 !& $P BaB(L@I0 !& $P BaB(L@I0 !& $P BaB(L@I0 !& $P BaB(L@I0 !fh)lrsPsvق_6`e{x{yOP`VM8{Gs<{][7ӫWbcb/EdDG\}.Htu@4Fb$:EwpԻĒ-v\a qԩ V :u`l}gͽcmPbccI;zӧlop6[&`/i2ZjxY c8`q1MWͱ1d@X&r)(([8K`@}Ä; <Z񾋋X,X,f_t%Xv3Jˏg\v"C *&51v;??{SSq8fnLw/ӧK/@6wNOƵ#GPXXĻ϶;)).[׮O):ޱTTTsa!NKБ#<6:oŊϖCs*3k`yYuhp6OH|}x{{3s =fcZx~ϋ={رCs!F#Ó2mʃN DyE{vm[ iۚJ!),,!Ŀ5v{2f:d>͛q8<ͧ///zJƔ1mN,=~e, o :}Ľo~Y3!//{8 > |x:,zv۪װ5)hTytC,CrΜᑇXRQQO‚W^ $tVسtء}WVV2g wޢfb'2Iu_U h0r,r l~!v0F& [c޳ߍwOxvhdҏ9'Nڂݯccb:{SS9p ; :~+V~I~_͝Qtv,zFO&AP`۷mp7 5su~__ԷCySZZd">6۶KGW)beUQhmG`֌^QXvRSScS~&"kh16UGvӧ m1NgeѽLJvdee{@zHp_8?)5kI}ߣ'3F//á]CI؃Q.ؾAu辳c{~nyЫBWיvp4=Nq aV&RYid2_8z<|FC:x[MoгGBI;z9^{'sSJ VQcqYY»D;ߡ8y}brsm$5MMՊǞKKK뽽`ңk.!ۗ51vMYCBCӻ5/sEDEE6y,*UF0>_/ F4Ayy9yg9{67r;;SǼ XTPm۱NEXh(&>ٻ/&%k.B&O7WyR>YYlشMU_b0rpb˶mM_srZg-^S:<4)oh6[ϐy}!e^[ Äwxyy1ol^zu!3~M)G_k$//Mv4ɦVZNbDbcZϝCs8 1o;\A(--f#44D)))m۶JgPP<(~Z~qg*4t@BBaB(L@I0 !& $P BaB(L@I0 !?i99ٜ=CAAv{f6~,D]@qq{bW܊r8v,tz%v`4@Qq[LRb/bcj_ٌ7sQ6o5]#ĕ@W4Mco-N1 w!)w|[,C䩓fb ͑#/kbqq*2NK|gw9':áCH;pKy'ܗŗg`49 Ul pM&}hH(lt:}ydZ'ZUݔX,417fދ ~C q`]giYY71[n'59Td4R^^UaӔs29|׬Н#iG'OѱC{III #os]|QTTT4z{Bo9W=wRA[ Y~];wln.6m~ǺO_}ϡjt6`LL,짲[ӴzLmZ;7b̧p8u>a"cnǴfWb"Ó_kzyb7h42,y(7mn~FFذi3%%l۱}ϡjtq&=^^ޘL:5xy98,:7Ĉav೹vq-wolnL]WnTm)FKܹs|3l6C"yc`xՉ1_#]0~ _)Ip`ڶ ۧV;-,ygzZnw'FcrPځ/n;pcbcо=-}@?ڱdۗ_FWXNҵ3VLe9|Lr?LsH;mn``a,` Ò%²?gԈ@F9ٔcX #g =1,.7iBa,h BaB(L@I0 !& $P BaB(L@I0Aiq i3 is: B4X4>_M))/v`wf 0Ơ"]B8vUH;~ہ]V\?nb6贇5bn[?[ _LJ^C0 Oʴ):+;zv`DwӧK.ߨuDv)&u[&?i3fEQQ1O͚O>eݓdԻ] io;KRbOz%&VjA^^Æqݨ|{8~PPӚO? AAzq:J?PQ=~RY럸>Ll7-y{oMWykwEZT/, /T,[qUzzOow.c\x׿Ql+9Uf-Gai^lh}+Mv}/D_]믮+yPs(jjTٽ8~%\8[OTm45jK7gFq:sV%q;/Yfe N2xvW ҨUʈP(Y U;'6ph4hCrv>T2pڗ==8s&lYeav3 #a9U͛]WІ?ښw=]̃kJwzmâE+`O~ZRFJMkZٳggϞ/@ACC^ׯ9YCaLUra^|>+s~ Ё,!P,D Mha"X-H)E ^hEGhpqt9XV!Qk[h3.\?ϳLm@?:/"{aE H2~{ink9bIrcmkҊ+(OKKQ%M/u fgE>u4"ůB=-GUv .Ex` E_pBaҭ|hUFn0v_|c²j͟!??!Iqx&O:ʫ_V*-eݗ.?Q)~"T=wޔi|2,:/$'gINNAoxDө@B"vނ O;~eKye?Z'$S3tUO0 \3g+Z&?/=~TW PW!W|>0.ݻW,[P(p <"ů874j"e$Wl6[^^ 8wd$!AAH㹭L)!%P\.?u>ϔrg/)itFi-?LT*FFuaWj&M؅ENhR[BHII)O%Y|6w=/vaEE$yqoS8muO >cC͖م>jW<|8x?bBj7nG՜Uhql钮Σ{w{aEB襖Oz{~mn~UUwڼzݿB0$2(xr<Ŕ5w׮^e_ !vٳfUXA+=?rY d# }zzt'BZ`@}LIdB~@ V]r?{nog$P-q 0 3 1r2ׯ{ƇTEPC}};i|Uuwf՞~E*-Dя-<|h \`nٳ3g̜oj??z$!u+] OS~WA-7uuey?&S*寘Lښ[ssڱ}c$2;`St^l|+m-{((Su_8'gH@J|O;9*yW_Aimo.3g$h0>JJ[YכW`U[-sg$䯤)2-ucZE{ }^+s^q2ט  D Gx0?q\X+B EP/H"[ 4$BPw0AC2ao|! ST9<1AI((^Wn *-|BN:m[V" n#:`Ɇfo~ŵh0(($}>q^f<_qг ("s*8xh5\.>L&VEDt I*** IB*452zG)Brf3(lfd+1ոnCm,:N˂8; _^xHyYmND8C‡ ,D)X)"1ٌ hBR" c"X8D@f!A^={iUU< ($[7{&_ L໎aI c2]C%&$:?E+*D5ټ/k ?L&S2PBXml֘@bUU  YZ,Ę䍹\SS1i:`cQ?|N37g-//z4j}>0Mgb䚏'z{iEmTdzik?/\*5Gn rWG#&^Jhy{?(Gv!T^QneD[I_6p~PP405!9'ҕ+?Ykgdl&{UUݻg׸ X/=9#}Ngg0&"`x5o߶Z|" œƒ,?/NSTodLӏ>~\|NǦ!Ǐѭ[ژ1.~MMhl#X+|rM1GƔiMQ)GEEŷ:Vy83N 6e/B=t^~y!VvAF@V#N<cr|AK-/2߿U^v3 0 B0epGgqgJ6yիQu靔jŊ]bڿݞ8yj;'O!47sS$QyT^/U+S___\R<) 9sLǎ#""CpwPA|#H") *Xh%O|> 12֘ w|*^oHOOO=F)ڵm4B;?5(m"=o:sl7o POn//xa((@! A! PBPتAÇ;fLL8x֬]WWW ET>\UY|aŪ5RI+AZpnqKdΝ/gl +i@IvPxBSs_}]z P /˽; rv, -)ؽБ#w1R^ (ץJ/" >L BQ,y?y$X[Ɣ-IiZfKHNVy>^:M&)ӑEYP(d2OohƘPbf!Ƙ$Io PBPB,[|IENDB`docs/reference/gtk/html/scales.png0000664000175000017500000001255213710700303017304 0ustar mclasenmclasenPNG  IHDR!sBIT|d!IDATxy|9@ !!J[AH֪aVhū)rT*M%M6]rl<y$;3733B!B!@gp]-Z8~tA6MfZUe#h46Q-22rqBxa)@BŌlr >*]zN@}pyW]*$^!߇:ޡ5=r W 8" 2`faսIaBh& IaBh& Fqq1Q޳ZCfV~~~vOos7œmǮ]]ԑ#ɜ<}W ;YE^ ᱬV+oaC0(a7˺8z8]-\++;\nu&`4! .,.kؽg/LcwM7ޤ^xs tMNqz=݄-M;vbyt܉ygw?⚔FrRwINٌ4J+~ @J7ƔNRbwt:V!lVVKf%4$y|%Hfјr b|( A庹u Ec2Z(rM*r[y~ EcjјfSy i8n),Sxx+ @Fv: Ecҩ+;Jiɥ:RvoKoiRY4#+'jbj}NC?ߧMk@زRY4|_mXPUSQET¿]ZlTU5ؘ8ZG/(#77_S$F\(*lARzJפjsW@ÅG gȠt8n :2dPfB$0 !4L@ B$0 !4L@ ky&o0J0D``L D3rk\9yC`AmP5yCpp+NQ=0~՚c'p:w L D n +'opeqA4r =+7vf^SАP igϺYOrb2QQ¸%Ƽ랼DIhv) G!eHJsD0n LPasg1Ilf-јODD6եmt:=Fc>VO;YnhmcN'""zbdd> uGWp˫2y-Nރ@ }~I!G! ػg*+ۇQZjI>| {wWspgE߃Y-AȭT>С}'= @ֱĶ瞟Zh&MRj!D"0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ ^!2@A%"C $n&'G1^fvUmRmB4He%"PT\pXN0 !4L@ B$0 !4L@ B$0 !4+}kZl{fh-W;Scj 9׽oM9uLCswj۳oQ/TUj<8Q+JL&6l~SOmKyٳ>&=rx GYYzz&C S"#3cn`󺵴əl6|||0n,<<ݥm z+9ÏӶMzO(;:xAd8r:ԑ#xG1 cI2'3F#+Vfb&>͡C}fOsh42}d-<'Y[ՏK``0f*}{f͟_\nfDG3t ]QQYӺ5/W3d@]sxwL7ٷ ߥg$v|~ڶub܂E ˯|ѣRYU;FrRG%/?}_yzcXxv\6>~3[>/ŗ.U^TUeX̟GTT$g3h׶Mxmу1nqZgZyWo<|aEL~|)o>/(>88;bjf3= >>>A=t` X:L&=u#2"/2_?c}PRRNcw9ն=O$Xҋ$v@}))7zv턆0?:Lff23zNodNw/ŗ.UÏG8v~}BBh׮mr !uAAADGGsm۱?yg{ײ9ں7^K~A.^˶ʲ966ƥhժdil۱#Os} w9js6#ZoHy Wlz:QQbT~~#SR\GNn./ ƍeuߊ`Z֝կ&>={пoFߒΝio1-_~Żqo۫c٢,{%3tKNe>>>}[RQE Xj=UU ő``,_f҅H{󅅨6NJUU F|m]URRدi4RզPQQAXX'p*^Hʂ !J@ B$0 !4L@ B$0 SRRBFf&eee<K(ك'{>Iw;UUHxUU3!VCzFw"<<;ΦȌuha>bpК/]"88إL&|}}~ٌ_~xG4- FdDՓk/X0+ W_n&rrsgȌ 7ܬgh Sgݒx4d0z a^P癴4,_L;nȩ3RSɫGnuFzNǼEo7 a>߯/Un]۶էgj-8RV*ʰ~ǣr!HIq!Z2 p: /zUWx!DU]+rT] P5k5=BtUzv>u{hW,`l`U_-Slj]S(K}-;|'`suﮯIENDB`docs/reference/gtk/html/scrollbar.png0000664000175000017500000000456713710700303020024 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d .IDATxpgTIKJ!ySΩ;n 2D 8_tHQN'SomSsNV-\$mR?ҴMMs|||$_'p~WEľ e5]@} )tmN O\ht("- S)7DWJ໲zj<@DF1d jd?@dCfsdFnUJ=uL R\/g "#C :PvDF49.0p)DF./ ;"2)DL `vO>UHYF"q(;Hcs3 "˅cb8L09dx<>`x bEN B4ڨ/"vSH$XqI$*H5=.vꋈ$&ÅXq8>}@0`F$\.~?3"ɧ`N؜$` ]B}XAD G#S8@"q0)DL`3457L#2r)lo^]7]ʊ[oyA^s؞s>HpނstqP0 Uukf]jWTkolTid)l v a/p='Svcoa<T*E<D Bee?pis8eϋFv?q[p\p>W~ N6oVt㔔p 7~y9f6_C3ggfK^qƱU:e zo7 {ƇLX-s;yon[3tjkʫ\+SUY ?o_u5o\5߽Ȝp<̳|wؓF<eܹ}n}%ñ&*+h]IG|[΁P6o旯RZ i80B7uͭƣuttJ}}/r ЕJ1nl9|k./nx`?؆F6~gN0"v{>ট9g1zKPS3Ʀ&N=;:̞Ed4xd#-^oh;3N2v1j(&Ok)_=|?$l4Gf9ÏSvWmO@ 8|0axs:n ԭZܳ~M= J֯y͆wikGhkk,0 լ_SG03N炯 2u*UUCA;@"u_/NK8>.+ à5%x[$G:b1ta x-ev0alv[c|z.y-^כseE8@"q0)DL ` S8@"q0)DL ` S8@"q0)DL ` S8@"q0ehuu`UjE֒@'pl]fK#?PbNKn> ]fq[Ud?A&H\6e.<@0MOd."vH `Pd>m>Vl+DH5Pt{mBϞ-2X|ߟP0olV+B [(DAOv-X1Xnu_'(iNuڕ>0])|7=!ȷ>#ykw;_XEom.do"_$V[c+4`dbՌ>dOE-=Xp2vIENDB`docs/reference/gtk/html/scrolledwindow.png0000664000175000017500000000676013710700303021075 0ustar mclasenmclasenPNG  IHDR!sBIT|d IDATx{tLBHHL.L[@pEJ0WRx]B7+)XoUU*nO&$!-HJIILnsy$2 RdwnO^|}'v[e,ۭ6c^.Z-_wEJJۄ,.ww Zi!D0 ,MM~#0el5'~8m?p+"Wk8='8a('0t rUn<#hMzEM an"rSD LcO8^DL",啕444ŘQp8bu ҏRvuuux^(;rڳ} H? W ҏ\N~dY%m)"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )A\.466PDTTVëKoՏPYyW/do~A/܅}neY|kѷY~clز[ns+ 9\V/_1/wL2peY#^/6o"餼8=, af#+#߿ Y m-WT̵#F+{~E׍bc#ڳg9^^Νwμ_ed33ظv nx:bznwן=wSeuYn|uۻᅬedknYEI7቉Oos =㋪*<ϗ 8bco/f2~ܸ;)9.^˖ :4Y7q9Sˋ;cDv )),o 㒓{4NOQvvܜl~"##̱OʤI8gG.\.>(-e;wyisɓ[O3/m.v{Ҙ;g㒓6ӇuOfǟ Kĉ9o6qƎ>QZrxp&N<@rm$&&pn?~i-_+8{=8$g;6u qE2q̠AٱcKcFEOG|>1uOv;sy'?;+ Kvf{ oh{=K&LbkPW@b|<'*{t#Fpu[}}=UUՌv`].Y`=!|gOo.{?]1 ldfSPXDBnJz]VM455}DFF2k?n@wc>Y0?Z~ r1~&7;&3M/XL´S RQ R@wGrX+*1}zL~)&̎,#z~4(;︝SJKb1'N@ƭXt #8l6fe3Sgt]<~PkvFÛ^I|PZJfz:G\~nL믻1G+2{,$&$ʞ_1gl%M:g 3j .v|vׯ[ɏHV],vvjgybfkn=$v?K|\Ce~vo[=FDDDu[uYd)[x<8ǷnapD=cٺ^o6Aٙ=>Xwcn(C9YroP?1@CMMM__|>jkk+v{y,wXhjjaÆa 1].@,8ӭwz4O[l ƟNҕlo…Z<8 I6$ b2@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 b0@` )"SD L1 ҏl6%m~}Iۯ4@5*ѡ_i H?r8bBLL aaa0%%Gll<x|8K. V-BqA0!@C^z^0]zsr:]@BHH ѥl6:~* +EA]*EQH PU5`{ @0@])?_7Z{jjj) MflV+Az=)FFêrHQ@B{ᱏhhhhzϝ'$&i$A}oj=iiܶZM TWWsOǰX,$HJTT<} ǎljhzkjj(+/'o_BCCp 0.N:'N$!!$$I6X,-w}|tӧL!,d&+3L>w޹R֮[91{kq;z:UVǟudvm]/6awk>0QyCݪΟ2x/^dضe3Cy}^zBdv؆[B^Zˮ|VK dzbgΜd=IINfȐ!|'6er\;HJ@Uu.cRbXe.ZȌGc0H;:g..Π**h}a0x=c#m'/tzGGPeӧNC\-+?2}~gpa .z='Oya%:~ X"K.JƌMyY91VXi[F_BF-^R0̤tjkollsgb8|$-u*rëڮSS̅>|ӧwO?~^vˉ $$kjիEmeeeU>AvWS5\FfaZٿ?7vq+ @ PT: C gOSmtf|:V+'W@BWF CAC!:(?cCp y j%888`$qkp*|`4)((`РA^  B~~>}q} _]FF#Ffҩ>jkkIOOg8nʥ]ogCA@Bh${B# H !4BB# H !4BB# H !4BB# H !4BB# H !4BB# H !4BB# H !4BB# H }f^(][J mp' !:# j:=lЈ#I=MvʄAű/4Z oy 8`@01!J@S04;lh-l8v|{.,^\5h1+ T)! MgZ C׼+ 8@\ 0 {@n@w2!p]dwl7̫ޮ>RܦTKLIENDB`docs/reference/gtk/html/search-entry.png0000664000175000017500000000516413710700303020437 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d +IDATxOSiR Z`FU!sjYX/vd7v],ecqKf_L6fFG~Ж8ߋR`-"HNz~"""""""b:kMe. +Jl"Rb^҅zjH.ey62&aKÊ5@D^znY-jI|fS@J-tG|tپܤ \qfu'HkDd{augQ@d[s-K tǀr~;`lw  SX@"0)D,L ba  SX@Š8iLMO1b!P݊XV __(3zE )fP[SˎڭeqKE tO^2yniR$0Dhhht"b%ip8x8dQԟRa%oMu*~KZa(DJuu"VkIH$½"Lb5hێ,a(c߼N<΋>NGGt vU]YAhooμ/..b۱R)(߄&_% p8Id3lz h4BdU3O:*'墺?={АwP(fo>N:V_366il6gnn/n~?p3grx"'JQ__|@mm-oʕ+o9{=_9lMo}ƘѣO䦦&FGG9q@afff;w~8G̙3ـhlla鋐mmmttt0::HD;wvɩEf_3[uOpߗg?ڵ C40 jjjOx<q!WWf<)>;;KKKK|G ٰwkծjqo\X1 _ICɓ'|Wڵl6>drrӧOxmm-}'OP(a+a "D"l_>.\@? AZ[[ :X,`A"%tTr1~p8߯c^/ 200@WW> .pYN'===ݻW_}?܌Yq^ O?eW__` Ϛ*|{"`pC;~:}rPHW/c3l37Mp8餬llK$bp8i".D,#HݟtqhCx^a !3>B*w7t nYYٚQ]8#/8F?""%%/P @d{iT @RʕVD# Q/ch-_ҾEdmP{m؍*Zx=`!k"UYYIsS3zϺ?@2dǎ|>=.RTD"A<SQ/>E,L ba  SX@"0)D,L ba  SX@"0)D,L ba  SX@d2 +U`DԢ@ X\KCHNxjf՝3^ G^D>t ,An⤓#JorJu"Lҵ@:", t'XşKx"|2%]E61V"EB"RT&c9Vt $B7`/\[d92s BMV^9C@n 3)2҅oCluɧ@H)#Fμe"5enI ɧ| M֔{wf2c\.{aIENDB`docs/reference/gtk/html/separator.png0000664000175000017500000001024713710700303020031 0ustar mclasenmclasenPNG  IHDR!sBIT|d^IDATxytTeoU*{Yâ@,*FP[Q=ݧmuAv** {t>V1 ̙P@$&R5THUR١s=u7o>V_@DDDDDDDL`fu_E,{<6-&",@w\4uڼdk6HCho/< Eny.qG"ZS np@$p5'k|'#@$pE6. k@@$pESuq ~>D$0௸NDZdWB, kVuE$)D 1@ʩS݄ˊ@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D fk ?P&MK@~D.?:1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` )D 1@` (q1q݄ˊ@` )D 1@` )D w7wT_VV?ͷiV\z2_z۶*xk:v}m]TTĚ8Oib=yF斯d۶o'۫F>}#bS- sid4¢"nȁl}^Ys5~tp8̷X, Kc99?p}p,'7y).DPK ln>p88n͡Çcϯ?jZW{*9C\ð)sMsA󋊊(--nLmԧ Yj/EEtڕCJ 'O;G֭:u9ӧ1m&OHXX33V̩Sq ~m{荃oS\\LDDSuo&+;իh̤ϰsn6FGZd^^>z |kۖݺEfƌzłdSf8H /g^V+C0qcy#~ wc>jq8<3m:yyyyh$xIYfrGytrMެxUJΗ0mZ'&r~oSuVx)-yjVY sһWw֭ٶ}k7l$gOv~i]_LApp0˗.&66>ka,Z {{n{N2qS&oNaa͘aFz{J+(8NΜf#Yo׶h6zr˰=xy;w={X07k^@ݹxÏvM'OVI税,\?,6۹ӯm_?p ກXjHуXΞ=K}=~/XVnO \Ӻh66) G.Fd~m#q^ZFnhm[,Ԟt҅K1zH"#"{0-.wv9cccm$|53ЯN &&3gϲu7BC]ڣ;j׭I^iݚ.籱]k\ i߮]򵴞=iӺ5322v(ڴ!q, }S~qK蘇II#YYJMW"jBlXWW_ͫqͶ;~{bbF>Xm;ٵ{7B$zr5}~s:^um!MCn>}5oyWnMBCC1/̓< @WcX]f>d>oN|xx83fp2: Itt4zj[ cޜY,XSļ9O/ %//"piqqqtr2/ؘoZ_FC))9/Ѳe:ɗBJKK_ĻNYL@$$"SL b0"SL b0@3),,$+;ne*+;,b+-I8hBNiPVVY3iӺ5G15o^#Y̘ls7E #HeR2x勊&88M-0i]Ҡ7H(PlL qq|ѧW;x/U]̼Sx|S;(..vB<> |}0iml a?Nhh(#~u>4/^)bag<>Jݹẁ5t8ɡCJ OG~OM Gx*LZbgΞ/{~J^^~R hb=z֭1VZ1cWvwȠsN<: kE6}-y-LoS:|‰'())w4H,R4Ɛ2x0?=7X_S+;wǟ2Zu)xr,x>Uc!%}Guڅvm+ZץP'NW-Y pֵi>}ۧ?<Ȣe0}v[SyB eޭ+=w'((vþ<9qB9ǏsZb@k]-YSPo8Rt}p.zY,nSuEɿ? Xkni3IENDB`docs/reference/gtk/html/sidebar.png0000664000175000017500000001005413710700303017436 0ustar mclasenmclasenPNG  IHDR+PsBIT|dIDATxytd%  ĈװHAZ+ޢX MPiz-^Eˢ" ^K%5 d!$r0I l69̼<}dDDDDDDDLn7\Eyyj\o,D nEh7V',Gm1HcbccY;5|ΈE$ D㍶TM]E$pA"5pj'k{h" lx .5@" lќoAcO,"#>}~lC"/kC (b7^F]V(b)b5ٳk׮mM\ ,m_1DFSnH[nf۶E E E E E E E E E E E E E E E 緷}ގtK `B %;{-1?~YĻێ8D._wde`BBc`,~n5;-Ei]+Y^闱x<0u *.AOZR]'dUH dw;Nle>JRY&*ƴHO ru1.w481&{~×gRT^CΑ<>8 NnŴUp='}>9$e5Lz++G$s(i6~x|׻-V+rٶ7߂S˛~(W7InJM.|}oZ^-&p~!]+]l{R"\v{ۏw%Vp>M moL+a6lVkL{>ݘQXOff{,"׈+nO:nQ,1^Y_aNpb6Ŏ-pR0}~uHK {l%x5nᴋW\ͮÕ̼-{T6 ڇ=xE-{TmDs̲ZO[Y,,[ I` 'TpU[yDj\ {8|p)Y22BCe~!&Ԟ# rOF/-6'%8P\ʹUKwxb'.}rw=C/J=u`⎗~EEN_!tRd"=Q5]:1:=,DZ'sm?+b9e|SaesN,rR"S"S"S"S"S"S"S"S"kҗ].?)7giD95iM9#{rᴈĉ xXn+W$##}ҷoÓIңO_z}1xp8GrsyrS k87S7?XZbG,_s.Wpӧngر -..fȑ$$$ЩS'ΝlSO=ERRv#G_YճgϦgϞE|"""x'HLL$**Ǐ7w|~='Il^gom%嗱l6yo1,||W~OKYbG!))Sk׮s.x0awf֭V))-Ͽlc M~v))-%ꫛqBFF̟?0gxٳFJJJ9p.}jjjHOO?}jՊdv^`޽QTTKK&yyXzﶛawۡ6m޽5̝?֭[fc{v6[w֓sHLHTEc&L">>{|kvn&K.ߟÇ5/..Enn.;w>k~BB~QWYYIAAѻwo.]ʲe :+x;~v 2\'\LXXnng\  y_}}G6f>JhH111 glEk_n.ش:8… Yn}se͚5Lr͝t:Iu+,dGs`9?8ag]v~zwV,f̘A^X, :FVVg&##JRSS9s&ɾ߿Tӧ~)tڕ 2dBCC޽{}?L׈""`7:Qdyjl6w}{m4L{{;!Ϛ,BCC/z< 4y*]Ǭeβe.\UUrbb"^orBBV:綎9ryy1o޼ C.()X,l۱"3SRٽ;^ȑGfu;]Ljj*Y4PXX:pJN<5 jN x֙R:]1mƣӿ_ig=- ,Ys/.b 8].:tkZyiы,yL 9) >.[rysӭ?޳GV,J_,T=z6vZƍ$1oWƍ/7qܹnݺ%0eff2hРKZ'669$PN%.a:~ XpBŲ+{2n?Jlz5&&&1F^i2C{"~wٜ\ႚrcM9cegg{ri TKi)b)b)b)b)b)b)b)b)b)bidj0N{bccwh"r1P];NNy"n DQ_]"fȕ΃7 uA׏}br.P*d7\#q5ހ+J؃7R' #nH]Ux7"vpv4 Y<5.؅7VKl8x:DV5u1~yΉ] CsdX%8M>oO_?pxw"-uT?j4o֏z<i>_7θi,bFzz:ui>_u+|RIENDB`docs/reference/gtk/html/slices.png0000664000175000017500000000230113710700303017303 0ustar mclasenmclasenPNG  IHDR%OsRGB pHYs  tIME  :%SIDATxQ0 @ 9ͅB }og,j;À=Yú%......tttttttw^7]y_xz՟wYgl:h̴^-tÊmet^CF tkZܿbh[4iex[y^y+ge+W 敹s>w*h*inQ Ѵ]( Ѵ](ڱQϚ?~'Ң"ʅv`Ek'Ң"JvTEk'Ң"ʈvHE4d?{]]]]]""""""Nm]bM\Wag\{)>>^]O\^Xnu \j:nu \vvn99 9}DJhw;_1RZ(f"<3%cQ| SRM߿;%( SMܿ;%(ڬSҡڿhmЉFIWDR;bhfx3f&͐M4›!h7C6oF&x3x3¢ś͈o(Z(Ѵ)%͊(Ѵ)4(Ѵ)C(Ѵ)R(Ѵ)^a(Ѵ)6p(Ѵ)e?Ӧ""L到P0mjJJ]"?mjVN]=mjbPR]"iIDATh1j@EwD:r'iR٠b*R\! @b ive^'@O!ؾ.Q=بlT6Ko`["\:< .#gf\r<~[M۶cMQ1#ՃMjz:!Ñ$FHpA?0|tx|?g*JgL3Q48\?>P(3t\Y((t=Ųmw^2Yyxg`ßþ#ӅujfO{K$=y>hUo^QՃ&5=t"g7 ! X1F`/IENDB`docs/reference/gtk/html/spinbutton.png0000664000175000017500000000615513710700303020241 0ustar mclasenmclasenPNG  IHDR`sBIT|d $IDATxypu6M[hB#Ң,( ʊ+:zQQ.eqcDaeDqY -W iiڤ$mI4$39~I=g@!B!@ig~!DR;.*_6!Wt[Wr3`0TF!zZ+|Ssc!.{=WxSHkwB^+Sl"t^]Dp{ B@{ŏ; X'W&? -!DhH8:Wh+?HbW {?<"I$crKRQUAEe.NXjIOK'=5ECU ॊ kЋ.Zzr˳4Y #- ^$E^'"ȎЫW[b /?bcc9؈V 婪J=8uߗ.$@]P% E N./ĥp^ iƤ% ixIV#߽H :Zkk눍E |9֭_ @"It[<)-+#::MY݋F ` @ >aђ0a<{KJxy+TWWxyΗ{ y@L#ܓ!sg1/yEQ~ܵDGGiV=_ruw1h!mDe9]^΂9.W66mg18/7 h+YvSYk[?p~%|CpQ%!!dʪ(I n[zTUb!:Z׎']^ќ.>v,ix ;ݾ?yn5Hmm-)[S乵>#-.h}>}޽4Ɩ ѣ,i/}"%ܐ!EQ(=/⑥˙Sg! **qcDzذf5 lxaȱW?cccTu:2$?׍NjZ|{%~.?(!..dNә C { ~)nOPx l.S?n2!+Ӟ"d) Kdd$G%,;e3S__ϚHMMekh0\3UU]F0qxt$| f(g**?_L=DFF2|0/̀+ٵi4(vJ˱$_deӃ B>Y/Yѣ]??蟝͓j}_>W(1h@-\@jJ Eyzjϸ FӲpԛ87Z3 81^ز7s|AXzzꚚ.;7 nްl;wzp=8-y&**?gl6SSc --Fe ZNZx(;#&&S&"cB1f" D"I$cB1 !˜aL@0& D"I$]}w7@ !46w Nx oO@υBxO^a6OۚG`O3[#?FLmnB稣&!p@b&\qI`^[\B\6>!Jk@kx<0 &$ Dppk5hyGW]^#=L+ Dphrλ~!/D B[.齶$ lNMgSsH"8_Jg"btIENDB`docs/reference/gtk/html/spinner.png0000664000175000017500000000456213710700303017512 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d )IDATx}p]Ir! % 8AVy2&0ih:NjGZ"婈 j@jgluX)-2 Q%..M]4.ov~{{ ;z." ϣ05V@ЍKZ 45Shmm}VPPKZ "`nkEE!----#H:;; @yT]99K?>y mmao%t\.HOOg}d?j2335s&EUh?4(t x]=$xG-C^{GٽwݎIBQ$Gޣi9˷]ϟ?xxfP I9bT a? I͞u M+ #=ˏcE2}UJ"I@$uu=vgc.綾7cӖ}W =(ŋs^ x56cW%NI,== \~n7n-NmFatww Ngg'ٸ\I}CKJH CI|C=o+~L|>_qI'e$6Fqs"61)DlL bc Sؘ@"61)\gg' }?N1Poh੝pެ,YBiˮz+fyL+zwWF)@2MJ `_R™z~g?cN{1D 1)Ѕ6N9ãaޜ:e[TX[o>u0hime\~>zIKK D Kq7=S Xy,b {足Foljm#Q~ Q?Gi船5]7]XwW2z(9%5˙~Ӎ<}:)))壏OF,L{G3/ֵU̘6lijnpH@L*-୷`R6_K}%#S3f̰@VV[6=;wjzLrqw)F9$ %##Wo+kQ1s⸚_./yyy ItZȘǰ&##}@襯ElL bc:b]/r%1)DlL bc Sؘ@"61)DlL bc Sؘ@$yQZhe@wZ/`+q. DAFEdd`XKF2B V=(`@x;P$z=`f)< M0/A`~"? _hEddjVD ЭB>Oe`_PćIC-\b {OHj:MC:P/X*~ [N*zk#JV;x>EUV\ Uъ9Z3/Y'|*"cMÛo%3lx"\E`6z}HM(XS 8H| l۩vf`A(ڦ֓٥EWoBz8osb?W"7 Nf`oa7ڄk_ǛHkEW2pBnru~]w X` X`ݶqv}]wkubE+|cYٵm|%cq{HNJarq8w==#^Ss˩W7ut߁R$O=ql& zz8G4bضm _8L,=' :]\.ڇ5`˲p,K3p}mū{/lB{p3fmB q(^Э_pb;e8ד#1Жeonjkvz-6nī+uw]1G @jj*^/kxj2wy1130\)Ægy:dMMM`YM$$xxgg]=3=0[Ȩ`9琕ɓO/eʭz}| F,W^HHH !!˱8T<}m8gq:|;~`V1f;-4|(Ms泾|mvQ\vd,b<9}eYslݺ_BbO.Yʦ[pY#FU?,pXlygO<v,M}mx<&M_eYeނX˲8)߰%Ν̚;O?[bQ  ~}q\11*Xڹs+Wƶv_^?}6qCS2a<}rsX~+|ā :-r;aRRRoeV<.70" X|>3f^c لm9w7f ɡcaL*)!/Xg3O}ʟˁЬ}ϴ[XKIC; /̵W_j.?Nw*|ɧ|ɧNO';˄<&G% 70_ ;v$%5M08^gٹk7'O ˲0?kʘ|aGcMז2222a\yq\~8{sp>[n%--֗8nǡhз7-[G\ye߿,{+WqUW~Y%˞K/b۱>c,+3;t ᭷_Zznj9Þ/HMM!mf-[8wƎn >i7dɲg"9n0r9ܵ svX7+Ko5k5\sՕ1?Ҩбq 9t mYJƏ=?|)X9lڼE\?;'tSXDYPmй73k<~zL,F7\֗o6tqW.~tNdzb*ϜSqה;<Ċ13pBlEek>0[4Kk&'7 =āÌsIgOXprѠ뫪f@hO/r\OI t_ZzɊ})EӇ>EM~^S(ګ$?/]wca1l萈̜3^ɽ;˗~hFoBwhbF=E? ?t3? ;!eٺLOw/?$s/qs9E\߆ XĒUլc<,[D诠'_:O:1?8GNu3lf~iaY^o 1!33">8NOg¸ 28^{u u6sy% mGu:Ғ&??zoǔL~? N/۱非Bcc#.4qݬ\G=GvIMIŶm|NOƦțlz5{k}#ǀcPWW inn2III_defr`Y|>n7^3g'蓛")) ?GFAZZZ"+999lj;dDepʐÛ[?{6Px߾}v>_˅ 7[X8C]]]g}ږϏc3'fH455z]², ۶lz<^oA-Ą/Ʊds|Q'l9A*[ yV91XS/nWzh'W٘|!uu-,dM?1aC#2Q7~!boNVV&%1v˯L<im[TTp 3v<%\vY64^ aZ_8+.$|~ZZZ M457^u0Cߥ8ބLsss;Le 9Lڄ&3qʘM^ɽhtzĐ37eY|>z%G>4;t[,/55XX=i=Ikjjb_>rsn dvIMM^ UUUxz;ܝ-`0HNN\a۶ Q=[wb9CHR` X` X` X` X` X` X` X` X`w0Cȡu|f`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`ykA555ݵ(4LLLLLLLLLLLLLLDZ**+ijjHづTTV󅏱le1dp1|35662npѤIݾ|gaZCA.}x`' H q# ("GJJJpS XDZ\;zk*9hXDZ8V*/`kiD[^urU}!03HՎ@a5*`֫G#ou":rtկhZUfT X X"nN`]o+"11Xvw^a-53E}9J*lٲ0Gmռ>_W%2+m@߷7XpEooȪg}Oi趸,Y0Qkx3-0t?K/%!>-~CTT>bbbBL=eeX@6mB.Nxxxcض8\[VWV8p3 *8|T&Ysٸi3mv:d_7˲8x/c,3<;v2mtxybnێ˲nc)--i5;[58]V^eGcm0F=wށeYyX3,ˢ[׮lڼ/gɞ%oGtoE,3m۶پ}a.70wyyx<L_y= &g '7¶Ê?_NTT׷/ƌ!5=fedefrх4e `󈉎.7mcCF/~RO7[oi/(` N͹h7~7~GX5rǎ,jH~?%%o`w^m۲uv<;4ǡ{n~&ccY;W3z1B_~/ZO\\)Ɍ7o!8jO~܏K}bb~&^ya]:wq2{ W7{77p=ˢ{׮|nZz5 ƍsc زfvew؁C^/2Op +?\[EErln̲[)9p+[@EPCQxcyܖmۘ1{NƎMxx8C@JJ 7m~P=tqHNNKЩc}:CYYYYv-SϤ}yj=4cf֦̲99ofHMmϫrĦ[=oϴ鳸q$s@>X3Gm tdˢ}t]Cmy8.(Þ}Kyv\֭Y36Y&Oy˲HJL?g洩̝Sq2jpry>⒒ZII,[0mmM ꞣߟ}iiM]GR):xJ˰v\.*rMvZERb"nضvTTTPVz-""蘣/p£D?)..nmOEEE׉Сbl&!>˅磲˲v5L>%D\.x>IhԝX^E9]i111111111XP)"r:>@3 D4LLLLLLLLLLLLLLCii)9PBj㓦hjrrsj,ˢw,^:v+++cثq͸q>>ÊеK}EE=8cFdA}{91 8q%9@nw%.x<~BB|죮sw ˯`Et m0F˲(((` s|>22dRķ[׮'Xpeǘ2m:}=3{0n.pap6|X2ǃ @Rb"}zbO,]z2驩>Oy$vʡS|w?Jnݘ2ybx:ˆ7~Gfشy {?3ħk)++㲡gqc3CFs/`|MȤd䕗(-Oͷo ۮnFHNJj̇됕/c'}=CduJVf&I :t uۛ\..m۷69{w>,`[n+ ݐՋDGd8}v㏹ׇѽ[7<kwu7 iv6Cnnn0 n7ݺtO !CٰN!;-)z1h@ wo?ȋ//{V~˯.@~>m۴ =5~ͷ={_zAP֐%99p$;])8n\@aQ]Sk2-59;ଳdWNNpc򔩼09:uxBڥ gt׷/ $ǓopA~u΀֭!K>9w/e pBqq1gteYtԑ)'2⋃;z7lEteإC1+xnt **OOaxx$2әRvyb{<2i2/ΟW5 eY :W_[ʐ7KX tH?PԠҦMfN xddǡ]v\5j> VEe=VǶm%22n[XTc$&&;^/'Ƌ:WTTRV!...F )re&PV~ufz\qK<ΙpNf|'dO8* b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,z9!N.u<q"TTU'o'D ]ch /r:s[ x8s̀>î@>?UhC 2GkmDNu9 WrWpt-E*8rckCVDONJ\3G=UWסkb7 Xjj7 # Y8 ء>U"g5uq47n5N#;u},UTyi5yu;19PvIENDB`docs/reference/gtk/html/statusbar.png0000664000175000017500000000573213710700303020044 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d IDATxyxuwҤhRe-,B@YAxD}tvDPWT.ȵʍ( rHJ۴Hf$mBP0M)}=<_ O~3B!B:?unBܾTc[&bf\؝k॑biB@3)/xsx35^_궔P^^gB;C]Zq+~@w8ȹU3w:8 @y ը+99Vw:T,~7c XFf& /4t:R2u$yt=2b$fǍ%44G&Mw]ANOUUfv_}qq`]DG+;n83W[is+ڧ0h@JJJ8ɧ7R;*1FV늛\(tAs*gϝ ޵ M$ҫedfrY}l6V+QQQ JbBCCHH_eI?yRcA#i ]f_nC6iR'=EFf&+oԈ/4E`00t`4|kP5>ǀ~}&.{'QQl }KUC~;g&3oűt? M){-1aaמ=\ûKswf力&d:Y3jڴNfaލYVYǥfڳ0Lo!}YCRڴ&jEQTU-8>u4ơ#⁁X,8n~-_oe[˶cb4mXkI-p.#1#GF5QM$A֭uڳ >ש_>/fhۺ5fS4yyytѣ=8>A]!Nf^[~Ǣt\|"ڷKCv~t֕~bb/SXm59FWݛM@51 ٓ^={crΟo{+VMDx88߾Uwż7RYz-'NIb"OC.]|1Li\ݣ{7 nc'>FQu7>DTI-Honǥ8Iꜹ<0ڴ>h4ms^-**;t`Ŭ|"##5; **BCo8Fq{@]bInDdBBB8xǎ3e5lؐvmеsgP^=rس;wVomLh"ٽw/;uK|=~gмY3F#nڔ`].\d]Jn^[ފh_>>sE UB;wAѸqΜA=ʎ{hJKcҿߨ!Sۇ?{͉ooHL1f,FN)kcZY `Iԭ[|z8ZlQ?6a5{UKQrrrMZ7wݕTEd23{"-կ0%WJKtX< ׹\u{/3j]H7}m|foOݟrP B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$0 !4L@ B$аǟn}+|׿qȏx!D$G޻~Ϊ8tpرscGAp[¡Ɲ(= !5&r%T50),l6[`:2ZVXHˤ$&<5&^<yo-$ CVv6fEwU^`/ش (K3gaXxz"##ӍL25+ޯpfcTF#˖,"::mۿaŚR^1Yh .h׶-gYhq4#^OS{hG G#G8} KIR4m*oukt֕VSXXHDD/-Q,7N``~JJJ<$&U/22.\P4n0%@Az0aCΞ;Wl+}11f([_ԋ)mېԢo-Yʓc'?h40t`BF~8tpZA\K^ 1M6n۶UI͜ tZ'BRY7Uz[[%,K8 y|WPP8f9rUAFt:11K x5N@!DIaBh& IaBh& ĝKx>sإ^I=YG]>{3%~Sci $n? ЖstsByHIM~09}_^/g׷_?fbr]4MB sh `mp>^Ԁuqgʋ?h%ŏܾ3;HW?[-AoB$@̽,:<{<¹Nuk^:OVy_~j/J $bhfA+nuP>8 =YQϞCo@ 5ۤҶvHrɇrܾ@ǐ޻x}J"ڬhI c}l6K&X(B ;E$@6QHzk؋@BI d$0 !`B<$xIqmQm[M38ze   @fj! >Ao- ޝx/$G`̀z;BOP-h3|wwTo^q0.""|Vl +>s.~ no)! Û~[A0= q熎o %Mב1B]>6L#(c !i8 ;)B^υs$č-IENDB`docs/reference/gtk/html/toggle-button.png0000664000175000017500000000621213710700303020620 0ustar mclasenmclasenPNG  IHDR[L[sBIT|d AIDATx}p.K%!GE#Q Q[֊XqZ"2UO(V;SkXL#"P0$cnco!Kn<5swe゚^B!Ba|-=m!DSۙX}7!>VQz)TZZZS? RҮg !D7)Sdg!oNaRe D5C0F !_@sQ * D5ߎQd!R:y>ѯ/SMM@˃Qa1w #BN@$1 !lL@$1 !lL@$186Ҹ@0Yx4,[wHXhH4„qzz;"P8DzmdpN"`a׷?v@HX0(ˋowO  G  A)&gm6 d7s Y3δ\~b싮S/aά|y=S/%qO<)$`$r wܞV_0kjkO{&-hh5)"}W/PRR^ҥX3|fϼKG H{}ihHz_` (**r{cw\O rrrԉcԳeV>.}ΝlN6t]_y9/U H`i8`o[K?;K0#rrA|[w}M8۶ErA%{Op88mDxR-7@)ESs3Sxg~/X#-ᅿ?57;8I<̜='!55ۤ_]:'uBx^n&w$O LvlZZv+f'dΝ\vTZ[[A8ie &0_hK+Wqu7dø *eHC#F`dq&m2e1Z8~x= Oǒhkkf}DIX.@&mhh`Ȑġ墪Fv @YYX HmAlO˸hW^n78<~8>^gi"E|aV>Y&QGLO yυ  $@M/NyYmmm4551~63&zs7tXoee%rǖP3foM[Zۮv.yȴ<@%C=Fݥo),,tyinN'`P#Hbi@ w1{Xc vD4Bv eV#כV8q}4M ` A8j{{<'g&z inwb}x<6lcr>WvPQQ0 ǧ=)J)QJ-P%mNYBnS u֖oFGyF4؝Vk޽i"Hίesȡ[yXq#?!55|gb%L\cG }i/Κ7;s޹? O3W0ȏ ۧ vq\躎$D/\v\#FtWz9##p8lڅA(?9 GB@ xLN eN~؂=eE"vٍ]sd`W gz1}iiIXbTVVq8d[h4]s$rFք1 !lL@$1 !lL@$1 !lL@$1 !lL@$1 !lL@$T)=ӷ+H a a>(_H^  jda!0?f =;D 0~CQ:H-x !z0GQOPvo\BNA`aHzeBKao(>A6 B6fй;$dSsfRI?  Dc֬y?B]:H}v ?9#ype,[Eo>#YHBf!qH3sIuX&RsTeꤧ?PIENDB`docs/reference/gtk/html/toolbar.png0000664000175000017500000000731213710700303017472 0ustar mclasenmclasenPNG  IHDR[L[sBIT|dIDATxil}^$ˡE!^ry%E2WZ.g!o]B!B!DHz44NЙdۖ;žulǡ\.qnx?>nfb$5z+'frjRHTvl8TZZZg9񇘑m-ntU0:6̎((墔P iŹa87tg)Qzd_:{mu>śH,_36źqffs:M:XOf642}qvn}E*N v0 DZZBkVޭR ۱Q+D?@NsPzD{ l16-^6ymD0rQDNiמ;ҝl|e:M8b%Ph6ܱq_Jss rWp]oܯZ ֽ1~}i5K$vm@2c2wOLlYQ[4>h?>:pٙܖ>8Ufgstuvѽj5G$kJOhnjatlq*b) x]M07@0?x1Q>:2_4uU \+Eg ˔kߺ]ۻ ܖ5}y0##HRs| O=3p˭^LLNٰv={cHK Goo_? ԾFC[&;5l. JcjC7+:u+Nwg|an9v͛6ɏx%Ns}OƷIR X,xgxACÇnumY+ڝwF x@uP_ٴ#? Q.V{)yK1z$~Vܞ5<xJ)>8I{:;{.\׻of&˱GiJ6H$yɟsn[E4\ ۶Y{ǏqۭX>>un\]dZcFlo?Ϝ8N~۸[WJ%֭]V~toԞT,3>>o=K!_`mܹs$Iu>ڷ 015Z3::ʻOu ^quuuo=v;W^c~[;lfrrSN199YN泥h4p]y9%?'bF"dVG" LV?XVd9S\Y`f}!P.kHwٶ]5aF,h!۶)JEJrqp]29i&H˲bqxh4ZbaCX,Fo0z4Me-vkmji*G!Iz(X!F B4!& DIbB!& DIbB!& DIbB!& DIbB!& DIbB!& DIbB\"˼f B\@ (/Lt-@Yo",B+'8ڗ9 jTEo ! D#Ppjx y.:] !>?j 9!P(1/Z起 !>[M귈(\rp"_ʸ`j> T=(`]XB4bL-< pC~PAT!Xj /ĕU; ;5vͭTEo_ Z*ŊyE/ئV]W?exCIENDB`docs/reference/gtk/html/tree-view-coordinates.png0000664000175000017500000006165613710700303022262 0ustar mclasenmclasenPNG  IHDRsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATxy|\Uם+l؋eX: K X UwpC("nD)eXi Y҅NN'm;Gg&Ms+ CY5mq5aΉ;Y"wGq!"""C[}Ȏ%SQO]AlO"RuԻ!R;ֆ 1R-{T""SrX>=SH_w"{J\2x]O7p%";WBDFa;f^㹯71{cb١˞K%"5GoN"""RvJX2~ pa@au+\fbDDDD%U*J>=UTAx8,;Vm("""2`JP2u酖_t4oh<-X7kxܱSU~Z:WW~""NV9)ͼs,b0 3'd 7FU~1?O"" JL2EOե,C0 DD4%81"2Zݸc)9>BkrٌZWXnkmhﱋ88(:g9pkC9gp$0dt6!X^:-Q*u1qk[khlfEojmhZ#x׵6[oW`fֆuY @WkC]ݶ[,0]1VGZ8^ kzތyo/ Z;^Z_*ڗ&ϵ6/)7x#"7%U$JޏcxuԮƋ 6?xRdME–nkCƢs`bƟ6o(q$0];*k1ILq?V}"p/{url=qֆ?~w7O;qc7$t4 8}}πO]節czzQ-78LKGG[ڟ|uk<̶ZoT5U+Wc8ޛfQ_>|85E-{bo1_ #W,\ &Q</D+IzvLôzR/ Qin1Xfc 4o$iࡖ]?/z<:aHu?'j=xekCn6L7[:XLR6wO8oh/.K O+p(ӺWwc[a!LW|qTH7+㺽[:WbZ%?\^80 8ٖ1ۈZv ^8gK+C[:'6,zL^ {0߻[}ZD2is8!@40^.loh*-o c+w+N ۟Ìw۹^`%W?)qꏁm=S_~kcygȷ%UH0(BWѵq NLs]%ENF/#\=D&,n) HlrX= e3ja连A^m fۋ-ۜ);Z:N)I6ccZt,*Ղо Qpߗ^=ňiQ Ot4>4t4dtO|Lufy"^ZR=lhlǼ׻caSk=l/?&޻q$CV?t4%Оkh|[PvHMPrXt&u)TO+al? zlnu-|UވI$0 XLZC'E/nϲmrx`܋' 9I vcޛ$Ez^^<2)z|sz{6olh/'&/|(nA=3nψƲŒ,G""5Aaux\6SK 4'_ݧ9.LD6гq%uDg Rq鋻Ö?bQs-O%iTw]z^H@(ToNV[p`KGlI 0I1{Z NDDPR: BX;.zVqb\b[aJľWkPh<̖ƃ0g9So6ƽ0-ضuqfѿ }%9MD& %fTz7ݘ13,ځ}[:Oycwt4LQS U`jKG78o&/#16 c^DL)=)}S sZ c ?^TR0?U]+̙)-_H?f~l6o("5Ja Ue3=2Y ]Wt4Z:m -;u;v2pUZϖI+* 11X e0n@>r Ìͼ, @KG2y?&.wp^%-$Œ,nIeVEnK&R^ 7t4o'O`Z&aVFbe)tCbǴd(q'bAikh|-DϘcP\΢(0 s pwVֆ-a±eU1\-bJoh?̪,gihb &伵}jֆ[:X订Cac3ްG""J-1Jc`ˤ?0E/h;ZڿIn+,u3pf.ݎ݅LaO0I {Ɯ[Q'a^D1IFo-q(0uL]h0 o)Rz}=%SGZʰå&bV*yB Gb I̪3k0;&EǾk=ܽ- O^L嶈HMpfJ?T4|a ײ,kfk7b& Μ71[@4sgoihomhs^tnbNZ:뢉zU˞Kt~ f pNv[9&Tz$f!hnê ^ϋUӃ$yzOEDPr ,e3;Pa (j5jh e7Z_a""2(9A2Sİ ]7pJoFDD.%83?ڭlfTrjmh w""R40R’,` fٶ;bGDDDd+J+jxm.T&""""䰂KYDDD R*.#l{s+pR7F*]2XX{BceLH5jr\67:obv>W9!"cw ";J+ J[ǢeR^ܜ,}DDzI%q `*p=*ph;=%Q(D&+x<."T%eL0S؄Ƿi졈bUs2$a`,p.y*`DDDDGaUznC~Sr%S#51x'NM7 |/{xpx߽vHSrX^VÛsq}9eƖvgDUė>(WCt8%eL3w)G-BaP<=ތIǢǿ`mǣGhU;[>@ms"R0 aHJnf&~e$׬ljr1mǫ|nWv+g{%lU4aYD0St |71TR>OWD7DDv7WDA2xfkbGDM}v(9,rq#"R,I.=x v`"7*H)jp;z ?mi^Dd*}p(fZt^\w"24َvQF ("pZ oe3cU+HS-"ZO؎w pw_Ew4p%SjRU+H> Ȱpp Xfq#"RK>%D”j,D~U+ |>gO 4(;9$Tx'ژ)E"R6V.b ]OD@9~ޚf^;bVrHrh+ |RDzE.eU+H Zxw uEd4p$S@3 NOT,"*%`2pQ̱ JGwlfS ´Fc;ށq#2\(9d*=8%zZ]""0h0/mu?1>`S{ Vr̓qV2+krwe%)2\(9쟚۰Edo縃*ԭGT͘bשV؎wXOPDe3q""RE)srw/|8H P[]""eUj﯁^S"Cþy/4p_̱I. M1T+om&?W2D)}S(D:̈́F""R]*Z\B+&'Ȑ䰗@&pve3;Zm@x;. |1%Rs^-m("R)T+&?5XDj^HӀj1#"RubV.vNࣶ_H(9B፹lf]EV.nvێw{8c%*Hفd*]=UHiqW+pCQ9\6;|5]/xDD)ݵDm'F%Rrc*DQ7ێs%ۑLL \s8""l#Z1ńK E6(9ܾӀrq#"R߽9ݳ}0X |w mǫ1"UKcot)ZYDʩ~ HSr؃d*=-pDD݇garg U˶+q$RԭܳBr̦X#Z[YDwY] JgrL`r.٘L< fw+'S7d*p~M3'粙cd*\6t2>8 K҅Vr]}xvrlfaF=wsH"", [Nv$iu݁ ؽ1 凁G3+ | hFFnj+[LuðPD|r)㥀[K*fWnpݹl&,q1@\6Hv೹lf%D21bBad*}.G䲙`S RrTFgHY jڎ{̘˫lǛzn`b2IEmTv(1,:S=Jw߾ /gl& ˱!Vrfž[yp Z`Aj\"ͼ,Ǟ ܅If$SÀdNLwm]m#ٺe-ݺ#CL}{I""aS\,W0?Cy.y\6j2^|x&<]⿀$SrLa Ey 3˹l_ ><+WGDd(Չ;>],5 |W.y5vp\6p2m2fnxx J3i!E%S岙QH_YK$SDDðV.2طm; HD REL\YN,kfkV65K@@"RyM.E;* 9Vf/ݣG*2K2SyfNJ +G"RNüZg?c}9f$PLld_) IDAT"""5C,`X'8 v1.jԌ$lAxBED*+Z=YLHMHW1Uَq#[JEDd0ZHODO/obVg̘{'u7 ,:gj ߗ{_auDD$>um^f<&^ Bj;9촬!\Q_W=[ܣ䌙_ ij߲yc>в8~(9,U+H9Zwx5vw;Kd{*ڭZc?C}QԮa(18x{z[ޘ=vD↵ -l~.W͘_=u uk[xR1cƈΰ8E_ڻwR?kR3Cn6|C d _5K""$̊a5 Ht!O^u[HxcFl}aYua82Oxqݘ;ԅ610gY`#6ӻXyk`v S[+;찺}]Z oum!|%t4c! <²+oY?+{%""/v:l;9DzTV ܝf=,׿&aEE׭Za.| -zl.9$}DzswytsTWi܂5!,܂G-x,0Ku1, 0|NOg #""j|7|/zwZ Ru*c6CCR[G taY&wub`e5%|D"A3h'g~($ Z'X:[= V+o}}DDd`TkU¤j5 ~ưڗXVxjW.tY'Vx;pmVEnzч&S V$r_.)w_ &¯O]wd*=8x$ͼԗjET;nouwo9,ESt\][/h@->h#/lKҟ6w[X]VbVX|#0HhogY! G%6m%,ZuiI,˺ԲTTZaxeYviz&]|3lǛoD"[$6&LS#.~mV/.>3u;? q~:cF5BD^xH>̟ º<>>Og[V +W)X ql$ֈė$LZۢ6M'к+aqňk\6yn8ZED>>}&pD6_ɼ 3iҍ߽>8jM?oWw9$.W r:t 9 | |(ĉc{@vM ̟߫3J`̯av';\)L4}x0-sm;*xDw|Ȑ43 (̊dr_kӦV ܹ N]&,]z a՜J+>e}ɲ/YUMM-qر?1pW[N qUsB7okVNm H ֶՐMMŲߎ[+B :±N&qwV[pвnL$c5b\=ug|jn^3 oX;xm+M{G" ' V57?C3 }ٲGSXָ#FxSN7_l?7dYUMMcǂQSRs,5%ݕ kјDX 3cU+_H!iiYֽacūn²m,xi`в-HpИk|_0z'<vXV0x+q[>dA˲ݼ- e6Eaڪ|OEŲFY|`ԩ/ +)ݘ=ݲy$VOzI"0|,²NO$W!GtumaAڂ4Ļǔ) % cEa沙|8pڅв0bā,9u|[ۻpSG(r*aNvbVNS0m1a pkӦZ%>/ul>ɲ0IѦMuuvvޔHLtmmM' 6mZ0<XǷ0cGyV_XqmmGkkK~nZaYax|kYpaa?wuuh wik{2_G#˲aWױ6ZEі͉k3q@녍X†]9˲~=5B .eɒwn1st,|'z ?;0?~/8`+^UpMZQXփ)*avt}xdkVwwMot14l\6$px2~sHUg\.:KAFhY5,_V.5_X۝sڜ0ۂ׮x4u"T>Ʒ=[9mEPiDIGe]U"|~ |uɒ%@;8V󳀝0y@"u '֍|-n_ZXYAEmr)yxvT< $AaeY^v^_- SreHaC#,( IA˚BLyZ֝H| VBڼZъɓwv'o0|xۚɓ4aɒmAt߭>Y7 yϋ9`U]<_l@x ?=9 =vz2Q _=Tz:X6w˟$WL>QFcO8z v|"p_aW=z\tR f,M#G_% [7h!=xmץK)BWr!I KS1c5fV|Oz*"a沙6[iRrvvA S9J$fڒnhhx 0*XxcuXL6XaDYZz0 [S)S=lIj>}b>jUxC&ô vNb2È Sd,Une}*YiM],y`,XmBG IU]]:2-[[x#:7nv?ZQ xq˖@@_gYI$6 ax@V#jn;p@_ |wx=}tJv̧*äIN-}'ŽSזGݲQbs)b8^t aX:Me]#[1uT#& )qi= ݦY__H]0tK)Vd;َ>*Rþ:lJ7ދ(W77۩gƴ6dYߍ9!4q%/q˗1uttt熆/W55bMNz)mYee- pJyYÝZv?6VJ@=a].}0 YIт*fvzU͋i[rٌMZ Gܵ|"5V8/ϲEV>?pa{z*L>:+? Ӫ6+ ~G`Z&|0 xe:n~Mw3kZ<}z wlkRvþ d2d*ݘfiId$˺|AKn #-x3Qp#GޔظQۻ[-keY/]]W]ıuiew[|Y}zj#a8 ÒlۈcRm8ذR6䬑#% WlYҌ3G_DWL˲^H4,[7uv[oVqʮXq+ [whY]ڶi1,cWNreY#ºw/@8a=]GzMk+ϯSÁ uV U2*p pn. /Je3k0sHFʵgB[IEj+hJ nk.&9Sq#C]7883T)8Dd(`*p_*H؎wLHQr,HԊl3J|8 !DDB,ݗ؎qLSF%H-}WZ>=(Nk+Hhma;޷؎WsR~J(pqJIʃZ`$pJ܁Q ?eT<]=c;^N&@ e3O3q#"R V߽~vÑ2RcyNT W 0kfn9l;  R/b(q"<~8=J_f¸Rw_>`;~w 6u+A.Y{? ,~g;%37zU+`Yta!Da |0J;2S09oheEHef: 0^""CRףsJWێ!U䰼b3ElT8xDDDXO_Ōks82@jE0ȠS? |QrXM岙8BT,"ejeoO~􃺕+ ͼhN#U+HZY > vXgQrX9.jeˁ8T1J+9Tzje)FH& e3y̴6ccGDd=\,;_໋1C }&pԊTYsӵc4^IE|M>wbIzI-fbaL'U`Z-/}Edp؎w`ܱH*m;޻GzGa,JT"Rf~Y!Cw_px (90s V49T䛘oΏ9%fLN҇W֪V |w=zrÑ^P{0)`xw"{g;ޱ@65F%=Qr+'S/岙q$"2Vް79遺c[ IDATf67afTElT,tY5鑒ӫHaET,;]0vv1$%(9I.y7pb2޽STԟbEJPr*S*p/U+H}  m#dkJubEDjV^ |v}lǻ o;ȸc-Ԋ\6$S0Me3ID?T, |3YTƯPRoa//}DdRU+3_ozJw38-JU* |WET,}-ee_v9(9Y.Y L)}lxl;\S߽7@И00k2c 0HU/ww@2w0""jeWَ$Fj9l3ۻp:J* H# PH7! m;4Q(JtC6MD4QA6h Hpp21cWIU]Uyi7<䗵k |x-n$ihVV|U/N5M9~`[YRVVrY8 !Vy̕pu Ϙy3fnpuw,jEKR?8@u rYT|D흿Lm9,N%I@ۀrY|P `*l-V$ !g֝i>3fZwI114$grYbV.΢b xӫk(A`3f;s,Ol+rY`\ߛgC{{$}RiZZmeI}f[Y= T,flol [nt9wңж$iuNKpњצwZjMy}ig,W8wf{7ucL.?h ~=՞rmW̾l5_Os XLaєoz#;x<~~O5m+KN沸`Mj0b[9ؾzeʛZSZs.k_j1Zץc]CRZ[ +7Ihyۧ2i^76|vM_p8@ _>Oo9$ \KG;#a,{ޕ⵷_^|p86Ak|yA=Zb%Kfh=cڴG͗O_^bUT4<[YC_yx)n~n?N :S`9w[?zh{S瓭۠sp&'_j~9}=Ϙ% Xu8IZIN\j0 m|,_mj>Λh6Zb܅#6Hq8lvs!ʒ̶X{J_k?lZmYwcgMX<WƖI=Ϝ->˖>tOJZqPԵYtʹ,Ϊ;aCx$IZ,I+^GOo- 9CIR<[Ybz 0-%uggrYR^~+Ĵ!տ{zq=c9Չ+S!fv;FKi3[}3uY O6=?\9lVg~ ^&rbjXBLX[BLS sY<?g8Xz\W~o.>u6s7X]ǹnjrOZqmoe%Q?fˁ~nK2;_ V$`[TK.ŝ7LUph.>.pp:j/T)0žŶrNWcq,r'˴u/o>T_Vx./V,s;_ l,>rsV$ \`8x.^y}7BbீÀw/Z pyiON\TGN[)ⓩvǁOvvx%Wnk/%5S~(Հ"_g(=86EcU^.3:9 ,?Vl_7%CזSmc߿!Z|;~@v8$uͶz{pm,M;Z[ܿf@k{:؊ջ_gUܒӏ w}f,t36/!umyzSq\-b>juӷ粸9S!S}j^. WBL[< K_R G+[F5č=ܽ+]wu{"_i!,lS}WX{=,慘Zm}3ө a[YRVVNjvpZ|~!+VWv3V^CUZ #n?GT)\;;;m [+}.zrP}7r\R lÆ,IPmbD?-s:-oڹ)ATŌ|3,>b,pDV67Pm>LUTYmNf!#+ji!Q}\7|:ĴUy!^!өFUXy pm氭,IX!CL沸xa.]\uTMg6ŭTj_eqI ~3y, #LNLOZ\=+]gp{'wr~G?\\h# }l T+EZQ~6D)QqT.D1Hw^.Σb:-UeqMymeIRl+cBUYIps,Ol+kmvsY,3ö>ņ:eSOFaCV$ z,>\K$&,I!;岸Lx+IR/̣*5u6ՑsPWʡ$k5!w{S}],Vu̝jps,Ol+kv:_sY0K a[YRVeeugc96meIRBL\ΣUs8lʒڄ l8DZCIR/̣ç[zS 8j0z8Jf[YOCNxv]wMT_⑺H-DBLⒺr%me=Fg;y. (IkR"tLaug$5ơl`^ih86meIҤ 1Hu'sY,3֜ʒ^%`#T(kH8Jf[Ypp7rY~"1V'Bi'`\?*(i86meI}f[Y_ffJ͑,4meI$8xGચh-96meIRtv~8us[Y cá$k-ĴStBY=昃meI}b[BLn1]# 9Æ,l+7Pi GaC>eqjy$I#h`W>Gl+7meIRuQor(Ifl'rY\b*ugR8Jsh|xc\7Fps,OBL;sYZwOiWcT up%{xp8BLQ5GR86meIRl L>Psm氭,IJ.۩n]\wG}ʡ$l+i,3iVysv 1}ϓPFas>r\ImeIR/V|ONe10\V|,1]Mu~Za[YRV\!7S,~Yw >Æ,l+Ӏ3-Yj p!8!տWve3i96g+KʵzJ`1ս&86meI}f[!-xXEy4]w!l+K3k!Ĵ;O!sYQw&!l+K` 1 L.v0Ԡ%i3 p'𑚳Hʡ$l+O3o粸0 V^s!i rỴ4PVn〭*I=b-Ĵ_i 5! Ҫr%m5bz9ձx-ƚHp%^![sY\Qs$iVnʒT3_לEZ-CIR/.Ķ*e1d, 1(7ԝGZ[Jzm>]wJr':Hr8lʒmw[?E^nםA4BLgi+wV%tps.;-W³%BLO +uzBJsVp<źHp(IFCLoR}[n+K֤ry\asO$<(Ibb'Ĵ]Ys OG9W""`Q9$Fbz pS.#+ bb=tHY$i bڡ:'b8e>5氭,Is)08,Ҥq8$HCLDN94iV$um!urY, 1}:ŝug&asV7#V.CL D ʒl$V1`O2m&&aCVb8\j$ )a[Y߮T5gjp(Iꅡo+粸NN5ʒ s[9Ĵ#} ?►Hus8lʒfX!)K%M$!l+Kam+j0|8,@p8lʒBLP\34(,4meI'2`wKu+^r \ԝG$ S[9ȶr.e!ccםG a[YRӄeqI[,ug氭,1BLW? 1m`(9W%I0hmcwלE* R[94yxH.# 氭,oskIp%@CLYgprH!l+Ku!= CLeq)Hݙad[9l+KY!/Toi9Jz\`G5eFʒV1M<|O. o]#un{_&1mN(u4Zb3ŏ(q!l+KZ!{ p8lʒFMtI?IDATGRöb8hgp0zP Vދ)5ʒMv[97BL/Z,+5asxriS'-Hp%dO xuX a[YҰ 1j094,4meIC+N<t{\x!TQ^{MOU>s׼7~0fOpVQ"҇)Uo;k]ښ:}VMJJu @2(e @2Pe A@(rݖ{ܗ7usزyՔz vYm5V66xP^3K܈rlusZi t#zǬqq:EƍGPj^F|}{k_7vlf _F#GUG"lb֍j'8bnDΚgFJ?eBnnEyyOU>c6fdLj_};4tMBu܈a(2Pe A@(2P A@(ePTS+>6hv~e+V]01'Nھ}OuUzUn[nƦqBn\gJ}HlV)H9nĞֶ?v)J"N3F݈V/.ܹuee&e,_®; ' #Qqhy~[*ܷ`4CeT(B}@11F tuuv͛gN.㷒 7ld3gL_2a9-//fu̙tp#jPe @9)c 'C-mBD"ѱcnjF]ɲlv;΁7 0o%$$HFIRRR&B'9ϕE) FR AdF#˃$5ƫW MʼnPf(Q$I5n '쒓i3bȑ#ôd<r DTP*JN~k80E!91J!C(j:';!ўN3`89]c R2B._V5+3+';7Pv\@y@쏲D" eDd2a3efef9nPWBQ.gk[7E4wq ֦k)7o8.RsTTrZ#Lt1P/Iy2~ޕ\fP/2&/A~[ϬS3P)Pb@c+Tff̊ъAA䠱WyJʽ:㸶m_?8F^Hˤ2C'?1bMӃkv{ 9"2Pe A@(2Pʠ? eCwIENDB`docs/reference/gtk/html/up-end.png0000664000175000017500000000411313710700303017214 0ustar mclasenmclasenPNG  IHDRs} pHYs+tIMEiTXtCommentCreated with GIMPd.eIDATxiPgݍ"9$ aDR?JspV[ xAC<EjVZckuڪ[E T +I L)$ $Nv}x}OFAY @Ȃ, +hϧ9cYt,Cs1~`$iBz!˲jl DBQT۳4̀flWeYffl^#%ʖu. @Ȃ:KC>aO_$:iVWפyÞ9SVpAf' ߇15moA85}dzᄋڝB;~:"9plۙwv=yeR郊Kb/kɯMX~=&dOl6t*fǍ]Zr!T-+זHNFm/矹lٷP7|}C_/49}ZT~ӧ!fN6yV/LNuzfKsk2YT~0f;Y"ˤRЩG#5g%B:{jlbxȔUk֖i5<…6 ka!To63 #|.`rlrrHuB(;++l89-sc'0sSƥKEyqxjسǕIII[m/FFF@:2@d,Y dA@Y@d,u=ͻMM8b lشbt::9xr̹\NպtҒfkY8~prS(K2}굫W-\Lc˯DL\7$g]VP~w}=EŅ;D٠+-\1w¢⣇vV9ЎԱc$!! mtɤl{&)""TTa;,e-rjk1 @Ȃ, d,Y @Ȃ0YsW/Z|T.uv,O9Lrsi"/p\O-0s%$*FIT Ys Uaʰ |;-Hի+33=@vmѮەae+V B@ȧ_\^ġ6dO5[o01$cNDI}`hٖH5-˲FRp80zo-"\x 8/di W(>:y5 MzHzvO C!P{]zghO#(H$Y1EQ_F9E("!b?71" 4 \\d1O d;4,Y "C<\gBך'R>U*JjXJ.Y)ByV +ÔEz ٠'KgJ30n srSU)U11:Gu:Ng[%+JXݿg4)BFqQ__*Yd &"EQTgjܪLGj")jmq6Z,7n Ә:cZ~Tm,={XFnEc @=Ϳ@a+ CE,oX+EAMV.SXgm g`ci,ĘT*UPۧ/qUZnjIkc?rqJMӄ8Ñye2EQem6fcYVq>r:s  dǟ(4@h c]ln)vվ9!8#ڋ=,G~`4/[ ?\Yч?pwU0G:/>:o2Amꄼ<r9~M bsUde2~/Hf7p|z3LeKyCEsDO2n?BhlVYom}e[;;^ƍw[s gWzXOuUŢ7 a(իRzR`o;ysF7!`ޜ[23 gͺruL!f:/t= (ryDrDGhm+r'RSS* !ttJ$>Lŋ?>a].0 m6a˜#Rxd5?*+-;g˟wVau4a:ZAТG˟Vwp ^t%77vWĉA*Br4h @4h A@4Рawm9EL8u6n: =pZnexҲ "3RJV{_'tϬ[lp1M>jl9#}T.19{ו/Oywﮚ7F59־CoR'%qRQnr/5 /e&GSdR)sE1ѽ&G\ cJK+w|yŒ22--o@e{JW{2G09]`r^h @4h A@4Р~|Rh:w.#:H&GL;غuWeEj~Ɋb9FqLvlkVzŢhbtM===-Uqם5ju즎`//.\PkJJ#orܲ۷iԚO cPƂ&DUnθ>KX%GZ sEmt2 cZojzz)&d.dr$W(d`mEy#/!!i#Z&V*ZB0,3 lD1( LJO2>>^fhXPAX1E }TuAM0ADp%`-}-HQoNG*hJhVhMS9A#L\t:cZCQTGGG@[uuZ]VfB-Y<:k4dyRc(Z6#=!Dž?L&ݞE1uͲ,-˽/yl6S2Qn{@@_[BJEYwKkj@Z܌ U< i:nOv3gB>G0VTPG =2C?]PGhLDoh;Cэ߆4W:B!sqtR0u/5ϧc cjOÓL* mPu]IHtwwFBXdiiIܹC:esss:u֠G)Kgg':D"+5Ч-rjjt:ژ~xt:Th~ul62NS"8N[`v莙;bض4LQ 8_E ۱h'ެa Bw]>'HX=9.%'aCGgJҮ_0 Z[XXtA mo)޷P,yk;XZZ$qvALbiiu>hggi]Ӵ3Y=>*y/4MVWs7k<1$/e4M,⥳/Ht6phÏV\/|FX00 c#dn5w_kk% zhc(~g8η#?/%>& iPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40T *F AѠhPa40bvu銻doz=@|c|߯p=NÈ :_h8ܽJ AѠhPa40T *F AѠhPa40T *F AѠˆ!cgv~}ΓGW0V䕷[BѠhPa40T *F AѠ4ԟaoYk*F AѠ„&8Aka5a`&\.Qv-aYV(T ,[[[L&Q[&a߾}_CXBMӤYffffffd2*'4q],׮]caaCL&D3lRe}6TL ]@1‘#Gbs\׭1d۶Ų2mیcY8tD"L4U,b1H&yJm8nv]|>###u (xseaY---b18X ˲6VhB2iDQl_L&åK8qߩr% 8&fF"ZZZBBQ;VLGrU\W\P(pرmz!x*zwv!y7~:t>f wӔj [XVh4ϟ'r]})!8r]r؄&(rP63228h?͛7yw%v  K>;c8u#.͹9~sz08ϛo71DU櫾rz ϰ, ـ/1A3)?ٖۢ--QJ? `kpz /x֖^8~_?O>k#4}{}|^LFwMF&C;;a&+?yA ]qN޽8ooO? *rG?}Ǚ|M rioyb}#+5n--m/3TO4~Bۺkk|x?~H$᣿_~R|*VEl%B=?ou]fn`c<{_ `BwbƞV^AѠhPa40T \[]]]M= ]ۀS녀 ʱfmq o.۽vfLXB/8IENDB`docs/reference/gtk/html/widget-hvalign.png0000664000175000017500000001623313710700303020743 0ustar mclasenmclasenPNG  IHDRݡsBITOtEXtSoftwaregnome-screenshot>.IDATxyxe&i:!$$i @c<@`yDfyQqGT x"waXWVVyGDPt}m4okFOLn+ ee{gۚ wrFG/````````````````````````````````h`0x޺&gΊP(8Z( @غm'}pte4(11SmG8*(WJJ꡵VJW)Sqt, mze ?NϺŇY׷n]j857|?y;Twݻ/[R0㮻_.x#X@ncq?qv5s4jmWVV9{0Cvqq~8Z:ϗsq8x…1BkvpJ)0/ p _4[wޓ3:[7۶PU޴O|Zkt.߷8Z5k WMk=iZiR֞'Sr~p{ɥa\.a%$xs쬬4۶G>il3z``egeܽgۿ8x…1Bkvnwi}+Z\ŚRjӻu'N*2x#ݱYC&+~inݹ{O^nݔRol^~㗄Ӧ>eZY3g꫋X)SF]]9tZYy.B!+dC, +-[\\=tHv-{$&411OwO>SKdge)BPdc<:k7 coj\ !FXEoݺrjAw9㖛oZWWWXgދUYW>8gvbbbiYy}\ZV<㎩yZʪM7s>}mr Ecssm,.8Ύ]fN4qb~^^J>'ӗ,{jUڇq"-5^/xݻw/Z/_~%ǎ={n+KB |쬬8.|͈Zk۝PVJٶuӦex&OO>q.]9crrffz< VUUUT,k˛fN޷O43 W5bԄq/mzۭ;w׭Rmۋop~pۧL18sb3˗\R*#h=zJ)۱+*,߿_;A5k W{ܷ'O6r|4rȪߔBG:xCåcrrMwsFCJ7kVMK~6p&;w =Qp쬫RS[`mFeeiDneY%~5:c۶aMf<82T(P(d\:Rq֎4s@MoZzo1a```````````TJfޔ.Im5 i-Rs>?N+K=;va1 X X X X X X X X X X X X X X X X XІaFd˲,iv¼]eY3 POs`ޮ-)R* H=eYUf*LӌƼ][Sb.``````````````````````````TJ+i?7%%%A-@q^E=Z06b(:ڼtڳiSxI@ @ @ @  ^۲Gm;%X϶J߇K}.0 ԺŇY׷n]j7ju[nIk]UUU~=:^zUWWXgދUYW>8gvbbbiYy}\ZV<㎩y _|?wBܬ*^&#(P6?~srs MD.klnκ%~ٱkӴ֓&N˫q\\\^]MI-'''+oϞ\\KO_UEk;q򊊴>{}Ͽ#F<8gvK O#a۶7MmۍJ|>_vV{ fNv+|뭹^O 7e3M0Ltǟ|rΘg¸UUU Zk].WVAey<' &+~inݹ{O^nݔRol^~COz7V: |W:+Y2RU]]pR^W)e;ܺj4ete#pʃ{{˒3zZ[HLZ'&$*=:?4+)a-X}UVdHCP:B#xIteFXyֺ%L%+4M@a````````````````````````````````#:*-+0irũS1 .nkɁ;t&: )j>n- كua g0rqBvq4ۺm'}pte4(11SmGxze?Rhѝ.}srutQuIz+WbRRRJdutŶŷ;$FE4͟~yyE?:ᴴ4k[\񷵻q7WN}>޽%3=!͝Kk} W`_F#^z; B7LY)UvMj^/X/~SRܳ;Z`m;~diCs~ٱ3^]]vc{/VVeg]ىee[0z~qiYYJJ;j++6m]++LTUUU~=:^z5k/;jz2߳[/[ǂMls=aL81?/֖qqqZ}eeigݭ <|8W5wΥZ]t ȼ<nnsdffo_ERJ 6l\^^Bw<JOOmqTϛ˶19ٱ3^~ç}_zeO*Z9WT>>[|1{E/^ė~رglyu7%%\З^V^13;sZ'#Q @j1932^5ǿ) v'vRaOaN¾s)ΟJKKrUݺu v\ z/ܿ_~+ĉeF>O|\\wN;m[o1mZg>˗Θg¸UUU,涙ӧ4͌}gs'~{Oz?80ܔfY$6z=!N4§D)`;.ضhZM}/m_ ך;J 5s˯i2e{ïke UӶDM3/V>|e*B!Ѽ^Rv ˲n͝ԩP(\asǬƏ>LTb{^Ck}Gb⥛ Vni5>Wbb?L6|.R)O?ofp0w|zcG=)a-X}UV0tJv'RS;O#%&$*=:?c<:"ۧO_ () _WTyKm𣏎;8^ +z9z`ж퓥 l~gǻ/V6jN6M;&w5_}mgϝFe_YUP(tK#%$x~^cǿq̙3c:'G5(>A}飮nc{ORòoz&%>lz4{SSS_x8>y =9#GׯڱgϞ9Ks7kVMK~6p&;w6x񨵞kox쉂gg]ڞm kѺEO/'x<Sw=+**5 B OBdAlvGk}&~"!K:C˛]:{m+ Cs;ͮ.VCSh.lruۨL㳩7ObG  ښWXA1111111111111111111111111111111/DQ IENDB`docs/reference/gtk/html/window-default.png0000664000175000017500000000576013710700303020766 0ustar mclasenmclasenPNG  IHDRe]0sBIT|dtEXtSoftwaregnome-screenshot> IDATx}p]rg(Hi1+cD!DQjTcG[uƶVvsC*Մ(iy\v!e d( % REPP# *1}J뺮$`\'3 K_)Ej޺^CS\yRT-]3X_xޗzT_8S~~}W8V~~Lϓ3 zYz$ikjk%IMM={OM?<;n$)33SC q_'YNh4呛p8p8\IR<W45tONS0H:V5uu9bءE:NTV穢|nrZ_lTŽ߾L%3ߺD=dUP\f[ݦ76%}Ͻ]{EeQ\UUU@@TUU%u>K<5 yƦ U8@'k}c|[o|Sg* 8m!Zn{`qr:kϞv-8o-K$mM7R_:T]{22hѝӣO耏.--Miii=^9M^ͧc\U_dڼy̌b.&?M9>ϛmbX3UX.QR^)'q} F(H)ʒy:p酔3|p577+ {fCC;vP8V(:>TF5zheee78 ƥRRGGUTTtZl&/h4]v X(  `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@( `@(AI>|cQUIENDB`docs/reference/gtk/html/window.png0000664000175000017500000000210513710700303017332 0ustar mclasenmclasenPNG  IHDR!sBIT|dIDATx]ovBImRi|õyeIR11|d;N3/f \O "\:àެ_i$1z$9 f\G? a_g%?y܆o~Zϙ 3]2 Ӹ gKaW9 tO5ɫzdU>8n}t?..}_9'Yܮ3 sONrr(&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PL@1b (&PLvOWz}C.)sqkd3#$$_v}3b0Td75C9rd؍ N =C~p6p6 qÿI)O~sK3:sBptp. ?$w Contact information and bug reports: GTK 4 Reference Manual

Contact information and bug reports

Opening a bug or feature request

If you encounter a bug, misfeature, or missing feature in GTK, please file a bug report on our GitLab project. You should also file issues if the documentation is out of date with the existing API, or unclear.

Don’t hesitate to file a bug report, even if you think we may know about it already, or aren’t sure of the details. Just give us as much information as you have, and if it’s already fixed or has already been discussed, we’ll add a note to that effect in the report.

The issue tracker should definitely be used for feature requests, it’s not only for bugs. We track all GTK development in GitLab, to ensure that nothing gets lost.

docs/reference/gtk/html/gtk4-GtkBoolFilter.html0000664000175000017500000002742513710700534021603 0ustar mclasenmclasen GtkBoolFilter: GTK 4 Reference Manual

GtkBoolFilter

GtkBoolFilter — Filtering by boolean expressions

Types and Values

Includes

#include <gtk/gtk.h>

Description

GtkBoolFilter is a simple filter that takes a boolean GtkExpression to determine whether to include items.

Functions

gtk_bool_filter_new ()

GtkFilter *
gtk_bool_filter_new (GtkExpression *expression);

Creates a new bool filter.

Parameters

expression

The expression to evaluate or NULL for none.

[transfer full][nullable]

Returns

a new GtkBoolFilter


gtk_bool_filter_get_expression ()

GtkExpression *
gtk_bool_filter_get_expression (GtkBoolFilter *self);

Gets the expression that the filter uses to evaluate if an item should be filtered.

Parameters

self

a GtkBoolFilter

 

Returns

a GtkExpression.

[transfer none]


gtk_bool_filter_set_expression ()

void
gtk_bool_filter_set_expression (GtkBoolFilter *self,
                                GtkExpression *expression);

Sets the expression that the filter uses to check if items should be filtered. The expression must have a value type of G_TYPE_BOOLEAN.

Parameters

self

a GtkBoolFilter

 

expression

a GtkExpression

 

gtk_bool_filter_get_invert ()

gboolean
gtk_bool_filter_get_invert (GtkBoolFilter *self);

Returns whether the filter inverts the expression.

Parameters

self

a GtkBoolFilter

 

Returns

TRUE if the filter inverts


gtk_bool_filter_set_invert ()

void
gtk_bool_filter_set_invert (GtkBoolFilter *self,
                            gboolean invert);

Sets whether the filter should invert the expression.

Parameters

self

a GtkBoolFilter

 

invert

TRUE to invert

 

Types and Values

GtkBoolFilter

typedef struct _GtkBoolFilter GtkBoolFilter;
docs/reference/gtk/html/scene-graph.html0000664000175000017500000000556713710700534020424 0ustar mclasenmclasen The scene graph: GTK 4 Reference Manual

The scene graph

The first step in drawing a window is that GTK creates render nodes for all the widgets in the window. The render nodes are combined into a tree that you can think of as a scene graph describing your window contents.

Render nodes belong to the GSK layer, and there are various kinds of them, for the various kinds of drawing primitives you are likely to need when translating widget content and CSS styling. Typical examples are text nodes, gradient nodes, texture nodes or clip nodes.

In the past, all drawing in GTK happened via cairo. It is still possible to use cairo for drawing your custom widget contents, by using a cairo render node.

A GSK renderer takes these render nodes, transforms them into rendering commands for the drawing API it targets, and arranges for the resulting drawing to be associated with the right surface. GSK has renderers for OpenGL, Vulkan and cairo.

docs/reference/gtk/html/drawing-overview.html0000664000175000017500000001145313710700534021516 0ustar mclasenmclasen Overview of the drawing model: GTK 4 Reference Manual

Overview of the drawing model

This chapter describes the GTK drawing model in detail. If you are interested in the procedure which GTK follows to draw its widgets and windows, you should read this chapter; this will be useful to know if you decide to implement your own widgets. This chapter will also clarify the reasons behind the ways certain things are done in GTK.

Windows and events

Applications that use a windowing system generally create rectangular regions in the screen called surfaces (GTK is following the Wayland terminology, other windowing systems such as X11 may call these windows). Traditional windowing systems do not automatically save the graphical content of surfaces, and instead ask applications to provide new content whenever it is needed. For example, if a window that is stacked below other windows gets raised to the top, then the application has to repaint it, so the previously obscured area can be shown. When the windowing system asks an application to redraw a window, it sends a frame event (expose event in X11 terminology) for that window.

Each GTK toplevel window or dialog is associated with a windowing system surface. Child widgets such as buttons or entries don’t have their own surface; they use the surface of their toplevel.

Generally, the drawing cycle begins when GTK receives a frame event from the underlying windowing system: if the user drags a window over another one, the windowing system will tell the underlying surface that it needs to repaint itself. The drawing cycle can also be initiated when a widget itself decides that it needs to update its display. For example, when the user types a character in an entry widget, the entry asks GTK to queue a redraw operation for itself.

The windowing system generates frame events for surfaces. The GDK interface to the windowing system translates such events into emissions of the ::render signal on the affected surfaces. The GTK toplevel window connects to that signal, and reacts appropriately.

The following sections describe how GTK decides which widgets need to be repainted in response to such events, and how widgets work internally in terms of the resources they use from the windowing system.

docs/reference/gtk/html/event-propagation.html0000664000175000017500000001250613710700534021661 0ustar mclasenmclasen Event propagation: GTK 4 Reference Manual

Event propagation

The function which initially receives input events on the GTK side is responsible for a number of tasks.

  1. Find the widget which got the event.

  2. Generate crossing (i.e. enter and leave) events when the focus or hover location change from one widget to another.

  3. Send the event to widgets.

An event is propagated down and up the widget hierarchy in three phases (see GtkPropagationPhase) towards a target widget.

Figure 14. Event propagation phases

Event propagation phases

For key events, the top-level window gets a first shot at activating mnemonics and accelerators. If that does not consume the events, the target widget for event propagation is window’s current focus widget (see gtk_window_get_focus()).

For pointer events, the target widget is determined by picking the widget at the events coordinates (see gtk_window_pick()).

In the first phase (the capture phase) the event is delivered to each widget from the top-most (the top-level GtkWindow or grab widget) down to the target GtkWidget. Event controllers that are attached with GTK_PHASE_CAPTURE get a chance to react to the event.

After the capture phase, the widget that was intended to be the destination of the event will run event controllers attached to it with GTK_PHASE_TARGET. This is known as the target phase, and only happens on that widget.

In the last phase (the bubble phase), the event is delivered to each widget from the target to the top-most, and event controllers attached with GTK_PHASE_BUBBLE are run.

Events are not delivered to a widget which is insensitive or unmapped.

Any time during the propagation phase, a controller may indicate that a received event was consumed and propagation should therefore be stopped. If gestures are used, this may happen when the gesture claims the event touch sequence (or the pointer events) for its own. See the gesture states section below to learn more about gestures and sequences.

docs/reference/gtk/html/gtk-question-index.html0000664000175000017500000005342013710700534021756 0ustar mclasenmclasen Common Questions: GTK 4 Reference Manual

Common Questions

This is an index of the reference manual organized by common How do I… questions. If you aren’t sure which documentation to read for the question you have, this list is a good place to start.

General Questions

  1. How do I get started with GTK?

    The GTK website offers some tutorials and other documentation (most of it about GTK 2.x and 3.x, but still somewhat applicable). This reference manual also contains a introductory Getting Started part.

    More documentation ranging from whitepapers to online books can be found at the GNOME developer’s site. After studying these materials you should be well prepared to come back to this reference manual for details.

  2. Where can I get help with GTK, submit a bug report, or make a feature request?

    See the documentation on this topic.

  3. How do I port from one GTK version to another?

    See the migration guide. You may also find useful information in the documentation for specific widgets and functions. If you have a question not covered in the manual, feel free to ask, and please file a bug report against the documentation.

  4. How does memory management work in GTK? Should I free data returned from functions?

    See the documentation for GObject and GInitiallyUnowned. For GObject note specifically g_object_ref() and g_object_unref(). GInitiallyUnowned is a subclass of GObject so the same points apply, except that it has a floating state (explained in its documentation).

    For strings returned from functions, they will be declared const if they should not be freed. Non-const strings should be freed with g_free(). Arrays follow the same rule. If you find an undocumented exception to the rules, please file a bug report..

    The transfer annotations for gobject-introspection that are part of the documentation can provide useful hints for memory handling semantics as well.

  5. Why does my program leak memory, if I destroy a widget immediately after creating it ?

    If GtkFooi isn’t a toplevel window, then

    foo = gtk_foo_new();
    g_object_unref (foo);
    

    is a memory leak, because no one assumed the initial floating reference (you will get a warning about this too). If you are using a widget and you aren’t immediately packing it into a container, then you probably want standard reference counting, not floating reference counting.

    To get this, you must acquire a reference to the widget and drop the floating reference (ref and sink in GObject parlance) after creating it:

    foo = gtk_foo_new();
    g_object_ref_sink (foo);
    

    When you immediately add a widget to a container, it takes care of assuming the initial floating reference and you don’t have to worry about reference counting at all … just remove the widget from the container to get rid of it.

  6. How do I use GTK with threads?

    GTK requires that all GTK API calls are made from the same thread in which gtk_init() was called (the main thread).

    If you want to take advantage of multi-threading in a GTK application, it is usually best to send long-running tasks to worker threads, and feed the results back to the main thread using g_idle_add() or GAsyncQueue. GIO offers useful tools for such an approach such as GTask.

  7. How do I internationalize a GTK program?

    Most people use <GNU gettext, already required in order to install GLib. On a UNIX or Linux system with gettext installed, type info gettext to read the documentation.

    The short checklist on how to use gettext is: call bindtextdomain() so gettext can find the files containing your translations, call textdomain() to set the default translation domain, call bind_textdomain_codeset() to request that all translated strings are returned in UTF-8, then call gettext() to look up each string to be translated in the default domain.

    gi18n.h provides the following shorthand macros for convenience. Conventionally, people define macros as follows for convenience:

    #define  _(x)     gettext (x)
    #define N_(x)     x
    #define C_(ctx,x) pgettext (ctx, x)
    

    You use N_() (N stands for no-op) to mark a string for translation in a location where a function call to gettext() is not allowed, such as in an array initializer. You eventually have to call gettext() on the string to actually fetch the translation. () both marks the string for translation and actually translates it. The C() macro (C stands for context) adds an additional context to the string that is marked for translation, which can help to disambiguate short strings that might need different translations in different parts of your program.

    Code using these macros ends up looking like this:

    #include &lt;gi18n.h&gt;
    
    static const char *global_variable = N_("Translate this string");
    
    static void
    make_widgets (void)
    {
      GtkWidget *label1;
      GtkWidget *label2;
    
      label1 = gtk_label_new (_("Another string to translate"));
      label2 = gtk_label_new (_(global_variable));
    ...
    

    Libraries using gettext should use dgettext() instead of gettext(), which allows them to specify the translation domain each time they ask for a translation. Libraries should also avoid calling textdomain(), since they will be specifying the domain instead of using the default.

    With the convention that the macro GETTEXT_PACKAGE is defined to hold your libraries translation domain, gi18n-lib.h can be included to provide the following convenience:

    #define _(x) dgettext (GETTEXT_PACKAGE, x)
    
  8. How do I use non-ASCII characters in GTK programs ?

    GTK uses Unicode (more exactly UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a sequence of one to six bytes and has a number of nice properties which make it a good choice for working with Unicode text in C programs:

    • ASCII characters are encoded by their familiar ASCII codepoints.

    • ASCII characters never appear as part of any other character.

    • The zero byte doesn’t occur as part of a character, so that UTF-8 string can be manipulated with the usual C library functions for handling zero-terminated strings.

    More information about Unicode and UTF-8 can be found in the UTF-8 and Unicode FAQ. GLib provides functions for converting strings between UTF-8 and other encodings, see g_locale_to_utf8() and g_convert().

    Text coming from external sources (e.g. files or user input), has to be converted to UTF-8 before being handed over to GTK. The following example writes the content of a IS0-8859-1 encoded text file to stdout:

    char *text, *utf8_text;
    gsize length;
    GError *error = NULL;
    
    if (g_file_get_contents (filename, &amp;text, &amp;length, NULL))
      {
        utf8_text = g_convert (text, length, "UTF-8", "ISO-8859-1",
                               NULL, NULL, &amp;error);
        if (error != NULL)
          {
            fprintf ("Couldn't convert file s to UTF-8\n", filename);
            g_error_free (error);
          }
        else
          g_print (utf8_text);
      }
    else
      fprintf (stderr, "Unable to read file s\n", filename);
    

    For string literals in the source code, there are several alternatives for handling non-ASCII content:

    • Direct UTF-8

      If your editor and compiler are capable of handling UTF-8 encoded sources, it is very convenient to simply use UTF-8 for string literals, since it allows you to edit the strings in wysiwyg. Note that choosing this option may reduce the portability of your code.

    • Escaped UTF-8

      Even if your toolchain can’t handle UTF-8 directly, you can still encode string literals in UTF-8 by using octal or hexadecimal escapes like \\212 or \\xa8 to encode each byte. This is portable, but modifying the escaped strings is not very convenient. Be careful when mixing hexadecimal escapes with ordinary text; `\xa8abcd is a string of length 1 !

    • Runtime conversion

      If the string literals can be represented in an encoding which your toolchain can handle (e.g. IS0-8859-1), you can write your source files in that encoding and use g_convert() to convert the strings to UTF-8 at runtime. Note that this has some runtime overhead, so you may want to move the conversion out of inner loops.

    Here is an example showing the three approaches using the copyright sign © which has Unicode and ISO-8859-1 codepoint 169 and is represented in UTF-8 by the two bytes 194, 169, or "\\302\\251" as a string literal:

    g_print ("direct UTF-8: ©");
    g_print ("escaped UTF-8: \302\251");
    text = g_convert ("runtime conversion: ©", -1,
                      "ISO-8859-1", "UTF-8", NULL, NULL, NULL);
    g_print (text);
    g_free (text);
    

    If you are using gettext() to localize your application, you need to call bind_textdomain_codeset() to ensure that translated strings are returned in UTF-8 encoding.

  9. How do I use GTK with C++?

    There are two ways to approach this. The GTK header files use the subset of C that’s also valid C++, so you can simply use the normal GTK API in a C++ program. Alternatively, you can use a C++ binding such as gtkmm which provides a native C++ API.

    When using GTK directly, keep in mind that only functions can be connected to signals, not methods. So you will need to use global functions or static class functions for signal connections.

    Another common issue when using GTK directly is that C++ will not implicitly convert an integer to an enumeration. This comes up when using bitfields; in C you can write the following code:

    gdk_surface_set_events (gdk_surface,
                            GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
    

    while in C++ you must write:

    gdk_surface_set_events (gdk_surface,
                            (GdkEventMask) GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
    

    There are very few functions that require this cast, however.

  10. How do I use GTK with other non-C languages?

    See the list of language bindings on the GTK website.

  11. How do I load an image or animation from a file?

    To load an image file straight into a display widget, use gtk_image_new_from_file(). To load an image for another purpose, use gdk_texture_new_from_file(). To load a video from a file, use gtk_media_file_new_for_file().

  12. How do I draw text?

    To draw a piece of text onto a cairo surface, use a Pango layout and pango_cairo_show_layout().

    layout = gtk_widget_create_pango_layout (widget, text);
    fontdesc = pango_font_description_from_string ("Luxi Mono 12");
    pango_layout_set_font_description (layout, fontdesc);
    pango_cairo_show_layout (cr, layout);
    pango_font_description_free (fontdesc);
    g_object_unref (layout);
    

    See also the Cairo Rendering section of the Pango documentation.

    To draw a piece of text in a widget snapshot() implementation, use gtk_snapshot_append_layout().

  13. How do I measure the size of a piece of text?

    To obtain the size of a piece of text, use a Pango layout and pango_layout_get_pixel_size(), using code like the following:

    layout = gtk_widget_create_pango_layout (widget, text);
    fontdesc = pango_font_description_from_string ("Luxi Mono 12");
    pango_layout_set_font_description (layout, fontdesc);
    pango_layout_get_pixel_size (layout, &amp;width, &amp;height);
    pango_font_description_free (fontdesc);
    g_object_unref (layout);
    

    See also the Layout Objects section of the Pango documentation.

  14. Why are types not registered if I use their GTK_TYPE_BLAH macro?

    The GTK_TYPE_BLAH macros are defined as calls to gtk_blah_get_type(), and the _get_type() functions are declared as G_GNUC_CONST which allows the compiler to optimize the call away if it appears that the value is not being used.

    GLib provides the g_type_ensure() function to work around this problem.

    g_type_ensure (GTK_TYPE_BLAH);
    
  15. How do I create a transparent toplevel window?

    Any toplevel window can be transparent. It is just a matter of setting a transparent background in the CSS style for it.

docs/reference/gtk/html/gtk4-GtkCenterBox.html0000664000175000017500000005104713710700534021430 0ustar mclasenmclasen GtkCenterBox: GTK 4 Reference Manual

GtkCenterBox

GtkCenterBox — A centering container

Types and Values

Includes

#include <gtk/gtk.h>

Description

The GtkCenterBox widget arranges three children in a horizontal or vertical arrangement, keeping the middle child centered as well as possible.

To add children to GtkCenterBox, use gtk_center_box_set_start_widget(), gtk_center_box_set_center_widget() and gtk_center_box_set_end_widget().

The sizing and positioning of children can be influenced with the align and expand properties of the children.

GtkCenterBox as GtkBuildable

The GtkCenterBox implementation of the GtkBuildable interface supports placing children in the 3 positions by specifying “start”, “center” or “end” as the “type” attribute of a <child> element.


CSS nodes

GtkCenterBox uses a single CSS node with the name “box”,

The first child of the GtkCenterBox will be allocated depending on the text direction, i.e. in left-to-right layouts it will be allocated on the left and in right-to-left layouts on the right.

In vertical orientation, the nodes of the children are arranged from top to bottom.

Functions

gtk_center_box_new ()

GtkWidget *
gtk_center_box_new (void);

Creates a new GtkCenterBox.

Returns

the new GtkCenterBox.


gtk_center_box_set_start_widget ()

void
gtk_center_box_set_start_widget (GtkCenterBox *self,
                                 GtkWidget *child);

Sets the start widget. To remove the existing start widget, pass NULL.

Parameters

self

a GtkCenterBox

 

child

the new start widget, or NULL.

[nullable]

gtk_center_box_set_center_widget ()

void
gtk_center_box_set_center_widget (GtkCenterBox *self,
                                  GtkWidget *child);

Sets the center widget. To remove the existing center widget, pas NULL.

Parameters

self

a GtkCenterBox

 

child

the new center widget, or NULL.

[nullable]

gtk_center_box_set_end_widget ()

void
gtk_center_box_set_end_widget (GtkCenterBox *self,
                               GtkWidget *child);

Sets the end widget. To remove the existing end widget, pass NULL.

Parameters

self

a GtkCenterBox

 

child

the new end widget, or NULL.

[nullable]

gtk_center_box_get_start_widget ()

GtkWidget *
gtk_center_box_get_start_widget (GtkCenterBox *self);

Gets the start widget, or NULL if there is none.

Parameters

self

a GtkCenterBox

 

Returns

the start widget.

[transfer none][nullable]


gtk_center_box_get_center_widget ()

GtkWidget *
gtk_center_box_get_center_widget (GtkCenterBox *self);

Gets the center widget, or NULL if there is none.

Parameters

self

a GtkCenterBox

 

Returns

the center widget.

[transfer none][nullable]


gtk_center_box_get_end_widget ()

GtkWidget *
gtk_center_box_get_end_widget (GtkCenterBox *self);

Gets the end widget, or NULL if there is none.

Parameters

self

a GtkCenterBox

 

Returns

the end widget.

[transfer none][nullable]


gtk_center_box_set_baseline_position ()

void
gtk_center_box_set_baseline_position (GtkCenterBox *self,
                                      GtkBaselinePosition position);

Sets the baseline position of a center box.

This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then position is used to allocate the baseline wrt. the extra space available.

Parameters

self

a GtkCenterBox

 

position

a GtkBaselinePosition

 

gtk_center_box_get_baseline_position ()

GtkBaselinePosition
gtk_center_box_get_baseline_position (GtkCenterBox *self);

Gets the value set by gtk_center_box_set_baseline_position().

Parameters

self

a GtkCenterBox

 

Returns

the baseline position

Types and Values

GtkCenterBox

typedef struct _GtkCenterBox GtkCenterBox;

See Also

GtkBox

docs/reference/gtk/html/ch06s07.html0000664000175000017500000000632213710700534017310 0ustar mclasenmclasen Built-in Actions: GTK 4 Reference Manual

Built-in Actions

GTK uses actions for its own purposes in a number places. These built-in actions can sometimes be activated by applications, and you should avoid naming conflicts with them when creating your own actions.

default.activate

Activates the default widget in a context (typically a GtkWindow, GtkDialog or GtkPopover)

clipboard.cut, clipboard.copy, clipboard.paste

Clipboard operations on entries, text view and labels, typically used in the context menu

selection.delete, selection.select-all

Selection operations on entries, text view and labels

color.select, color.customize:

Operate on colors in a GtkColorChooserWidget. These actions are

unusual in that they have the non-trivial parameter type (dddd):

docs/reference/gtk/html/ch09s02.html0000664000175000017500000000303713710700534017306 0ustar mclasenmclasen : GTK 4 Reference Manual
docs/reference/gtk/html/ch09s03.html0000664000175000017500000000303713710700534017307 0ustar mclasenmclasen : GTK 4 Reference Manual
docs/reference/gtk/html/event-controllers-and-gestures.html0000664000175000017500000001061613710700534024303 0ustar mclasenmclasen Event controllers and gestures: GTK 4 Reference Manual

Event controllers and gestures

Event controllers are standalone objects that can perform specific actions upon received GdkEvents. These are tied to a GtkWidget, and can be told of the event propagation phase at which they will manage the events.

Gestures are a set of specific controllers that are prepared to handle pointer and/or touch events, each gesture implementation attempts to recognize specific actions out the received events, notifying of the state/progress accordingly to let the widget react to those. On multi-touch gestures, every interacting touch sequence will be tracked independently.

Since gestures are simple units, it is not uncommon to tie several together to perform higher level actions, grouped gestures handle the same event sequences simultaneously, and those sequences share a same state across all grouped gestures. Some examples of grouping may be:

  • A drag and a swipe gestures may want grouping. The former will report events as the dragging happens, the latter will tell the swipe X/Y velocities only after recognition has finished.

  • Grouping a drag gesture with a pan gesture will only effectively allow dragging in the panning orientation, as both gestures share state.

  • If press and long press are wanted simultaneously, those would need grouping.

Shortcuts are handled by GtkShortcutController, which is a complex event handler that can either activate shortcuts itself, or propagate them to another controller, depending on its “scope”.

docs/reference/gtk/html/gtk4-GtkMultiSeledction.html0000664000175000017500000002665413710700534022651 0ustar mclasenmclasen GtkMultiSelection: GTK 4 Reference Manual

GtkMultiSelection

GtkMultiSelection — A selection model that allows selecting multiple items

Properties

GListModel * model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkMultiSelection

Implemented Interfaces

GtkMultiSelection implements GListModel and GtkSelectionModel.

Includes

#include <gtk/gtk.h>

Description

GtkMultiSelection is an implementation of the GtkSelectionModel interface that allows selecting multiple elements.

Functions

gtk_multi_selection_new ()

GtkMultiSelection *
gtk_multi_selection_new (GListModel *model);

Creates a new selection to handle model .

Parameters

model

the GListModel to manage, or NULL.

[allow-none][transfer full]

Returns

a new GtkMultiSelection.

[transfer full]


gtk_multi_selection_get_model ()

GListModel *
gtk_multi_selection_get_model (GtkMultiSelection *self);

Returns the underlying model of self .

Parameters

self

a GtkMultiSelection

 

Returns

the underlying model.

[transfer none]


gtk_multi_selection_set_model ()

void
gtk_multi_selection_set_model (GtkMultiSelection *self,
                               GListModel *model);

Sets the model that self should wrap. If model is NULL, self will be empty.

Parameters

self

a GtkMultiSelection

 

model

A GListModel to wrap.

[allow-none]

Types and Values

GtkMultiSelection

typedef struct _GtkMultiSelection GtkMultiSelection;

Property Details

The “model” property

  “model”                    GListModel *

The list managed by this selection

Owner: GtkMultiSelection

Flags: Read / Write

docs/reference/gtk/html/ch10s02.html0000664000175000017500000000311113710700534017267 0ustar mclasenmclasen : GTK 4 Reference Manual
docs/reference/gtk/html/ch10s03.html0000664000175000017500000000304213710700534017273 0ustar mclasenmclasen : GTK 4 Reference Manual
docs/reference/gtk/html/concepts.html0000664000175000017500000000676513710700534020047 0ustar mclasenmclasen Part II. GTK Concepts: GTK 4 Reference Manual docs/reference/gtk/html/frameclock.html0000664000175000017500000001401413710700534020321 0ustar mclasenmclasen The frame clock: GTK 4 Reference Manual

The frame clock

All GTK applications are mainloop-driven, which means that most of the time the app is idle inside a loop that just waits for something to happen and then calls out to the right place when it does. On top of this GTK has a frame clock that gives a pulse to the application. This clock beats at a steady rate, which is tied to the framerate of the output (this is synced to the monitor via the window manager/compositor). A typical refresh rate is 60 frames per second, so a new pulse happens roughly every 16 milliseconds.

The clock has several phases:

  • Events

  • Update

  • Layout

  • Paint

The phases happens in this order and we will always run each phase through before going back to the start.

The Events phase is a stretch of time between each redraw where GTK processes input events from the user and other events (like e.g. network I/O). Some events, like mouse motion are compressed so that only a single mouse motion event per clock cycle needs to be handled.

Once the Events phase is over, external events are paused and the redraw loop is run. First is the Update phase, where all animations are run to calculate the new state based on the estimated time the next frame will be visible (available via the frame clock). This often involves geometry changes which drive the next phase, Layout. If there are any changes in widget size requirements the new layout is calculated for the widget hierarchy (i.e. sizes and positions for all widgets are determined). Then comes the Paint phase, where we redraw the regions of the window that need redrawing.

If nothing requires the Update/Layout/Paint phases we will stay in the Events phase forever, as we don’t want to redraw if nothing changes. Each phase can request further processing in the following phases (e.g. the Update phase will cause there to be layout work, and layout changes cause repaints).

There are multiple ways to drive the clock, at the lowest level you can request a particular phase with gdk_frame_clock_request_phase() which will schedule a clock beat as needed so that it eventually reaches the requested phase. However, in practice most things happen at higher levels:

  • If you are doing an animation, you can use gtk_widget_add_tick_callback() which will cause a regular beating of the clock with a callback in the Update phase until you stop the tick.

  • If some state changes that causes the size of your widget to change you call gtk_widget_queue_resize() which will request a Layout phase and mark your widget as needing relayout.

  • If some state changes so you need to redraw some area of your widget you use the normal gtk_widget_queue_draw() set of functions. These will request a Paint phase and mark the region as needing redraw.

There are also a lot of implicit triggers of these from the CSS layer (which does animations, resizes and repaints as needed).

docs/reference/gtk/html/gtk-getting-started.html0000664000175000017500000002703513710700534022112 0ustar mclasenmclasen Getting Started with GTK: GTK 4 Reference Manual

Getting Started with GTK

GTK is a widget toolkit. Each user interface created by GTK consists of widgets. This is implemented in C using GObject, an object-oriented framework for C. Widgets are organized in a hierarchy. The window widget is the main container. The user interface is then built by adding buttons, drop-down menus, input fields, and other widgets to the window. If you are creating complex user interfaces it is recommended to use GtkBuilder and its GTK-specific markup description language, instead of assembling the interface manually. You can also use a visual user interface editor, like glade.

GTK is event-driven. The toolkit listens for events such as a click on a button, and passes the event to your application.

This chapter contains some tutorial information to get you started with GTK programming. It assumes that you have GTK, its dependencies and a C compiler installed and ready to use. If you need to build GTK itself first, refer to the Compiling the GTK libraries section in this reference.

Basics

To begin our introduction to GTK, we’ll start with a very simple application. This program will create an empty 200 × 200 pixel window.

Figure 1. A window

A window

Create a new file with the following content named example-0.c.

#include <gtk/gtk.h>

static void
activate (GtkApplication* app,
          gpointer        user_data)
{
  GtkWidget *window;

  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
  gtk_widget_show (window);
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

You can compile the program above with GCC using:

gcc `pkg-config --cflags gtk4` -o example-0 example-0.c `pkg-config --libs gtk4`

For more information on how to compile a GTK application, please refer to the Compiling GTK Applications section in this reference.

All GTK applications will, of course, include gtk/gtk.h, which declares functions, types and macros required by GTK applications.

Even if GTK installs multiple header files, only the top-level gtk/gtk.h header can be directly included by third-party code. The compiler will abort with an error if any othe header is directly included.

In a GTK application, the purpose of the main() function is to create a GtkApplication object and run it. In this example a GtkApplication pointer named app is declared and then initialized using gtk_application_new().

When creating a GtkApplication, you need to pick an application identifier (a name) and pass it to gtk_application_new() as parameter. For this example org.gtk.example is used. For choosing an identifier for your application, see this guide. Lastly, gtk_application_new() takes GApplicationFlags as input for your application, if your application would have special needs.

Next the activate signal is connected to the activate() function above the main() function. The activate signal will be emitted when your application is launched with g_application_run() on the line below. The g_application_run() call also takes as arguments the command line arguments (the argc count and the argv string array). Your application can override the command line handling, e.g. to open files passed on the commandline.

Within g_application_run() the activate signal is sent and we then proceed into the activate() function of the application. This is where we construct our GTK window, so that a window is shown when the application is launched. The call to gtk_application_window_new() will create a new GtkWindow and store it inside the window pointer. The window will have a frame, a title bar, and window controls depending on the platform.

A window title is set using gtk_window_set_title(). This function takes a GtkWindow* pointer and a string as input. As our window pointer is a GtkWidget pointer, we need to cast it to GtkWindow*. But instead of casting window via (GtkWindow*), window can be cast using the macro GTK_WINDOW(). GTK_WINDOW() will check if the pointer is an instance of the GtkWindow class, before casting, and emit a warning if the check fails. More information about this convention can be found here.

Finally the window size is set using gtk_window_set_default_size() and the window is then shown by GTK via gtk_widget_show().

When you close the window, by for example pressing the X, the g_application_run() call returns with a number which is saved inside an integer variable named status. Afterwards, the GtkApplication object is freed from memory with g_object_unref(). Finally the status integer is returned and the application exits.

While the program is running, GTK is receiving events. These are typically input events caused by the user interacting with your program, but also things like messages from the window manager or other applications. GTK processes these and as a result, signals may be emitted on your widgets. Connecting handlers for these signals is how you normally make your program do something in response to user input.

The following example is slightly more complex, and tries to showcase some of the capabilities of GTK.

docs/reference/gtk/html/ch06s03.html0000664000175000017500000000743713710700534017314 0ustar mclasenmclasen Action scopes: GTK 4 Reference Manual

Action scopes

Actions are always scoped to a particular object on which they operate.

In GTK, actions are typically scoped to either an application or a window, but any widget can have actions associated with it.

Actions scoped to windows should be the actions that specifically impact that window. These are actions like fullscreen and close, or in the case that a window contains a document, save and print.

Actions that impact the application as a whole rather than one specific window are scoped to the application. These are actions like about and preferences.

If a particular action is scoped to a window then it is scoped to a specific window. Another way of saying this: if your application has a fullscreen action that applies to windows and it has three windows, then it will have three fullscreen actions: one for each window.

Having a separate action per-window allows for each window to have a separate state for each instance of the action as well as being able to control the enabled state of the action on a per-window basis.

Actions are added to their relevant scope (application, window or widget) either using the GActionMap interface, or by using gtk_widget_insert_action_group(). Actions that will be the same for all instances of a widget class can be added globally using gtk_widget_class_install_action().

docs/reference/gtk/html/ch06s05.html0000664000175000017500000000627213710700534017312 0ustar mclasenmclasen Connecting actions to widgets: GTK 4 Reference Manual

Connecting actions to widgets

Any widget that implements the GtkActionable interface can be connected to an action just by setting the ::action-name property. If the action has a parameter, you will also need to set the ::action-target property. Widgets that implement GtkActionable include GtkSwitch, GtkButton, and their respective subclasses.

Another way of obtaining widgets that are connected to actions is to create a menu using a GMenu menu model. GMenu provides an abstract way to describe typical menus: nested groups of items where each item can have a label, and icon, and an action.

Typical uses of GMenu inside GTK are to set up an application menu or menubar with gtk_application_set_app_menu() or gtk_application_set_menubar(). Another, maybe more common use is to create a popover for a menubutton, using gtk_menu_button_set_menu_model().

Unlike traditional menus, those created from menu models don’t have keyboard accelerators associated with menu items. Instead, GtkApplication offers the gtk_application_set_accels_for_action() API to associate keyboard shortcuts with actions.

docs/reference/gtk/html/ch07.html0000664000175000017500000012702413710700534016762 0ustar mclasenmclasen Object Hierarchy: GTK 4 Reference Manual

Object Hierarchy

    GObject
    ├── GInitiallyUnowned
       ├── GtkWidget
          ├── GtkWindow
             ├── GtkDialog
                ├── GtkAboutDialog
                ├── GtkAppChooserDialog
                ├── GtkColorChooserDialog
                ├── GtkFileChooserDialog
                ├── GtkFontChooserDialog
                ├── GtkMessageDialog
                ├── GtkPageSetupUnixDialog
                ╰── GtkPrintUnixDialog
             ├── GtkApplicationWindow
             ├── GtkAssistant
             ╰── GtkShortcutsWindow
          ├── GtkAccelLabel
          ├── GtkActionBar
          ├── GtkAppChooserButton
          ├── GtkAppChooserWidget
          ├── GtkAspectFrame
          ├── GtkBox
             ├── GtkShortcutsSection
             ╰── GtkShortcutsGroup
          ├── GtkButton
             ├── GtkToggleButton
                ╰── GtkCheckButton
                    ╰── GtkRadioButton
             ├── GtkLinkButton
             ╰── GtkLockButton
          ├── GtkCalendar
          ├── GtkCellView
          ├── GtkColorButton
          ├── GtkColorChooserWidget
          ├── GtkColumnView
          ├── GtkComboBox
             ╰── GtkComboBoxText
          ├── GtkDragIcon
          ├── GtkDrawingArea
          ├── GtkDropDown
          ├── GtkEditableLabel
          ├── GtkPopover
             ├── GtkEmojiChooser
             ╰── GtkPopoverMenu
          ├── GtkEntry
          ├── GtkExpander
          ├── GtkFileChooserButton
          ├── GtkFileChooserWidget
          ├── GtkFixed
          ├── GtkFlowBox
          ├── GtkFlowBoxChild
          ├── GtkFontButton
          ├── GtkFontChooserWidget
          ├── GtkFrame
          ├── GtkGLArea
          ├── GtkGrid
          ├── GtkListBase
             ├── GtkGridView
             ╰── GtkListView
          ├── GtkHeaderBar
          ├── GtkIconView
          ├── GtkImage
          ├── GtkInfoBar
          ├── GtkLabel
          ├── GtkListBox
          ├── GtkListBoxRow
          ├── GtkMediaControls
          ├── GtkMenuButton
          ├── GtkNotebook
          ├── GtkOverlay
          ├── GtkPaned
          ├── GtkPasswordEntry
          ├── GtkPicture
          ├── GtkPopoverMenuBar
          ├── GtkProgressBar
          ├── GtkRange
             ╰── GtkScale
          ├── GtkRevealer
          ├── GtkScaleButton
             ╰── GtkVolumeButton
          ├── GtkScrollbar
          ├── GtkScrolledWindow
          ├── GtkSearchBar
          ├── GtkSearchEntry
          ├── GtkSeparator
          ├── GtkShortcutLabel
          ├── GtkShortcutsShortcut
          ├── GtkSpinButton
          ├── GtkSpinner
          ├── GtkStack
          ├── GtkStackSidebar
          ├── GtkStackSwitcher
          ├── GtkStatusbar
          ├── GtkSwitch
          ├── GtkLevelBar
          ├── GtkText
          ├── GtkTextView
          ├── GtkTreeExpander
          ├── GtkTreeView
          ├── GtkVideo
          ├── GtkViewport
          ├── GtkWindowControls
          ╰── GtkWindowHandle
       ├── GtkAdjustment
       ├── GtkCellArea
          ╰── GtkCellAreaBox
       ├── GtkCellRenderer
          ├── GtkCellRendererText
             ├── GtkCellRendererAccel
             ├── GtkCellRendererCombo
             ╰── GtkCellRendererSpin
          ├── GtkCellRendererPixbuf
          ├── GtkCellRendererProgress
          ├── GtkCellRendererSpinner
          ╰── GtkCellRendererToggle
       ╰── GtkTreeViewColumn
    ├── GtkFilter
       ├── GtkMultiFilter
          ├── GtkAnyFilter
          ╰── GtkEveryFilter
       ├── GtkCustomFilter
       ├── GtkFileFilter
       ╰── GtkStringFilter
    ├── GApplication
       ╰── GtkApplication
    ├── GtkAssistantPage
    ├── GtkATContext
    ├── GtkLayoutManager
       ├── GtkBinLayout
       ├── GtkBoxLayout
       ├── GtkCenterLayout
       ├── GtkConstraintLayout
       ├── GtkFixedLayout
       ├── GtkGridLayout
       ╰── GtkOverlayLayout
    ├── GtkBookmarkList
    ├── GtkBuilder
    ├── GtkListItemFactory
       ├── GtkBuilderListItemFactory
       ╰── GtkSignalListItemFactory
    ├── GtkCellAreaContext
    ├── GtkColumnViewColumn
    ├── GtkConstraint
    ├── GtkConstraintGuide
    ├── GtkCssProvider
    ├── GtkSorter
       ├── GtkCustomSorter
       ├── GtkMultiSorter
       ├── GtkNumericSorter
       ├── GtkStringSorter
       ╰── GtkTreeListRowSorter
    ├── GtkDirectoryList
    ├── GtkEventController
       ├── GtkGesture
          ├── GtkGestureSingle
             ├── GtkDragSource
             ├── GtkGestureClick
             ├── GtkGestureDrag
                ╰── GtkGesturePan
             ├── GtkGestureLongPress
             ├── GtkGestureStylus
             ╰── GtkGestureSwipe
          ├── GtkGestureRotate
          ╰── GtkGestureZoom
       ├── GtkDropTarget
       ├── GtkDropTargetAsync
       ├── GtkEventControllerKey
       ├── GtkEventControllerFocus
       ├── GtkEventControllerLegacy
       ├── GtkEventControllerMotion
       ├── GtkEventControllerScroll
       ├── GtkPadController
       ╰── GtkShortcutController
    ├── GtkEntryBuffer
    ├── GtkEntryCompletion
    ├── GtkFilterListModel
    ├── GtkFlattenListModel
    ├── GtkLayoutChild
       ├── GtkGridLayoutChild
       ├── GtkOverlayLayoutChild
       ├── GtkConstraintLayoutChild
       ╰── GtkFixedLayoutChild
    ├── GtkIconTheme
    ├── GtkIMContext
       ├── GtkIMContextSimple
       ╰── GtkIMMulticontext
    ├── GtkListItem
    ├── GtkListStore
    ├── GtkMapListModel
    ├── GtkMediaStream
       ╰── GtkMediaFile
    ├── GMountOperation
       ╰── GtkMountOperation
    ├── GtkMultiSelection
    ├── GtkNativeDialog
    ├── GtkNoSelection
    ├── GtkNotebookPage
    ├── GtkPageSetup
    ├── GtkPrinter
    ├── GtkPrintContext
    ├── GtkPrintJob
    ├── GtkPrintOperation
    ├── GtkPrintSettings
    ├── GtkRecentManager
    ├── GtkSelectionFilterModel
    ├── GtkSettings
    ├── GtkShortcut
    ├── GtkSingleSelection
    ├── GtkSizeGroup
    ├── GtkSliceListModel
    ├── GdkSnapshot
       ╰── GtkSnapshot
    ├── GtkSortListModel
    ├── GtkStackPage
    ├── GtkStringList
    ├── GtkStringObject
    ├── GtkStyleContext
    ├── GtkTextBuffer
    ├── GtkTextChildAnchor
    ├── GtkTextMark
    ├── GtkTextTag
    ├── GtkTextTagTable
    ├── GtkTreeListModel
    ├── GtkTreeListRow
    ├── GtkTreeModelFilter
    ├── GtkTreeModelSort
    ├── GtkTreeSelection
    ├── GtkTreeStore
    ├── GtkWindowGroup
    ├── GtkTooltip
    ├── GtkShortcutAction
       ├── GtkSignalAction
       ├── GtkNothingAction
       ├── GtkNamedAction
       ╰── GtkCallbackAction
    ├── GtkShortcutTrigger
       ├── GtkKeyvalTrigger
       ├── GtkNeverTrigger
       ╰── GtkAlternativeTrigger
    ╰── GtkPrintBackend
    GInterface
    ├── GtkAccessible
    ├── GtkBuildable
    ├── GtkConstraintTarget
    ├── GtkNative
    ├── GtkShortcutManager
    ├── GtkRoot
    ├── GtkActionable
    ├── GtkAppChooser
    ├── GtkOrientable
    ├── GtkCellLayout
    ├── GtkCellEditable
    ├── GtkColorChooser
    ├── GtkScrollable
    ├── GtkStyleProvider
    ├── GtkEditable
    ├── GtkFileChooser
    ├── GtkFontChooser
    ├── GtkTreeModel
    ├── GtkTreeDragSource
    ├── GtkTreeDragDest
    ├── GtkTreeSortable
    ├── GtkSelectionModel
    ╰── GtkPrintOperationPreview
    GBoxed
    ├── GtkBitset
    ├── GtkPaperSize
    ├── GtkTextIter
    ├── GtkTreeIter
    ├── GtkCssSection
    ╰── GtkTreePath
    GtkExpression
docs/reference/gtk/html/gtk4-GtkBuilderScope.html0000664000175000017500000003351313710700534022115 0ustar mclasenmclasen GtkBuilderScope: GTK 4 Reference Manual

GtkBuilderScope

GtkBuilderScope — Bindings for GtkBuilder

Includes

#include <gtk/gtk.h>

Description

GtkBuilderScope is an interface to provide support to GtkBuilder, primarily for looking up programming-language-specific values for strings that are given in a GtkBuilder UI file.

The primary intended audience is bindings that want to provide deeper integration of GtkBuilder into the language.

A GtkBuilderScope instance may be used with multiple GtkBuilder objects, even at once.

By default, GTK will use its own implementation of GtkBuilderScope for the C language which can be created via gtk_builder_cscope_new().

GtkBuilderCScope instances use symbols explicitly added to builder with prior calls to gtk_builder_cscope_add_callback_symbol(). If developers want to do that, they are encouraged to create their own scopes for that purpose.

In the case that symbols are not explicitly added; GTK will uses GModule’s introspective features (by opening the module NULL) to look at the application’s symbol table. From here it tries to match the signal function names given in the interface description with symbols in the application.

Note that unless gtk_builder_cscope_add_callback_symbol() is called for all signal callbacks which are referenced by the loaded XML, this functionality will require that GModule be supported on the platform.

Functions

gtk_builder_cscope_new ()

GtkBuilderScope *
gtk_builder_cscope_new (void);

Creates a new GtkBuilderCScope object to use with future GtkBuilder instances.

Calling this function is only necessary if you want to add custom callbacks via gtk_builder_cscope_add_callback_symbol().

Returns

a new GtkBuilderCScope.

[transfer full]


gtk_builder_cscope_add_callback_symbol ()

void
gtk_builder_cscope_add_callback_symbol
                               (GtkBuilderCScope *self,
                                const char *callback_name,
                                GCallback callback_symbol);

Adds the callback_symbol to the scope of builder under the given callback_name .

Using this function overrides the behavior of gtk_builder_create_closure() for any callback symbols that are added. Using this method allows for better encapsulation as it does not require that callback symbols be declared in the global namespace.

Parameters

self

a GtkBuilderCScope

 

callback_name

The name of the callback, as expected in the XML

 

callback_symbol

The callback pointer.

[scope async]

gtk_builder_cscope_add_callback_symbols ()

void
gtk_builder_cscope_add_callback_symbols
                               (GtkBuilderCScope *self,
                                const char *first_callback_name,
                                GCallback first_callback_symbol,
                                ...);

A convenience function to add many callbacks instead of calling gtk_builder_cscope_add_callback_symbol() for each symbol.

[skip]

Parameters

self

a GtkBuilderCScope

 

first_callback_name

The name of the callback, as expected in the XML

 

first_callback_symbol

The callback pointer.

[scope async]

...

A list of callback name and callback symbol pairs terminated with NULL

 

gtk_builder_cscope_lookup_callback_symbol ()

GCallback
gtk_builder_cscope_lookup_callback_symbol
                               (GtkBuilderCScope *self,
                                const char *callback_name);

Fetches a symbol previously added to self with gtk_builder_cscope_add_callback_symbol().

[skip]

Parameters

self

a GtkBuilderCScope

 

callback_name

The name of the callback

 

Returns

The callback symbol in builder for callback_name , or NULL.

[nullable][transfer none]

See Also

GtkBuilder, GClosure

docs/reference/gtk/html/ch08.html0000664000175000017500000002316413710700534016763 0ustar mclasenmclasen Widget Gallery: GTK 4 Reference Manual

Widget Gallery

Display

Buttons

Entries

Containers

Windows

docs/reference/gtk/html/input-overview.html0000664000175000017500000001267313710700534021227 0ustar mclasenmclasen Overview of GTK input and event handling: GTK 4 Reference Manual

Overview of GTK input and event handling

This chapter describes in detail how GTK handles input. If you are interested in what happens to translate a key press or mouse motion of the users into a change of a GTK widget, you should read this chapter. This knowledge will also be useful if you decide to implement your own widgets.

Devices and events

The most basic input devices that every computer user has interacted with are keyboards and mice; beyond these, GTK supports touchpads, touchscreens and more exotic input devices such as graphics tablets. Inside GTK, every such input device is represented by a GdkDevice object.

To simplify dealing with the variability between these input devices, GTK has a concept of logical and physical devices. The concrete physical devices that have many different characteristics (mice may have 2 or 3 or 8 buttons, keyboards have different layouts and may or may not have a separate number block, etc) are represented as physical devices. Each physical device is associated with a virtual logical device. Logical devices always come in pointer/keyboard pairs - you can think of such a pair as a seat.

GTK widgets generally deal with the logical devices, and thus can be used with any pointing device or keyboard.

When a user interacts with an input device (e.g. moves a mouse or presses a key on the keyboard), GTK receives events from the windowing system. These are typically directed at a specific surface - for pointer events, the surface under the pointer (grabs complicate this), for keyboard events, the surface with the keyboard focus.

GDK translates these raw windowing system events into GdkEvents. Typical input events are button clicks, pointer motion, key presses or touch events. These are all represented as GdkEvents, but you can differentiate between different events by looking at their type, using gdk_event_get_event_type().

Some events, such as touch events or button press-release pairs, are connected in to each other in an event sequence that univocally identifies events that are related to the same interaction.

When GTK creates a GdkSurface, it connects to the “event” signal on it, which receives all of these input events. Surfaces have have signals and properties, e.g. to deal with window management related events.

docs/reference/gtk/html/ch06s04.html0000664000175000017500000000637313710700534017313 0ustar mclasenmclasen Action groups and action maps: GTK 4 Reference Manual

Action groups and action maps

Actions rarely occurs in isolation. It is common to have groups of related actions, which are represented by instances of the GActionGroup interface.

Action maps are a variant of action groups that allow to change the name of the action as it is looked up. In GTK, the convention is to add a prefix to the action name to indicate the scope of the actions, such as app. for the actions with application scope or win. for those with window scope.

When referring to actions on a GActionMap only the name of the action itself is used (ie: quit, not app.quit). The app.quit form is only used when referring to actions from places like a GMenu or GtkActionable widget where the scope of the action is not already known.

GtkApplication and GtkApplicationWindow implement the GActionMap interface, so you can just add actions directly to them. For other widgets, use gtk_widget_insert_action_group() to add actions to it.

If you want to insert several actions at the same time, it is typically faster and easier to use GActionEntry.

docs/reference/gtk/html/ch06s06.html0000664000175000017500000000353213710700534017307 0ustar mclasenmclasen Activation: GTK 4 Reference Manual

Activation

When a widget with a connected action is activated, GTK finds the action to activate by walking up the widget hierarchy, looking for a matching action, ending up at the GtkApplication.

docs/reference/gtk/html/gtk4-Orientable.html0000664000175000017500000002570713710700534021161 0ustar mclasenmclasen GtkOrientable: GTK 4 Reference Manual

GtkOrientable

GtkOrientable — An interface for flippable widgets

Properties

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkOrientable

Prerequisites

GtkOrientable requires GObject.

Includes

#include <gtk/gtk.h>

Description

The GtkOrientable interface is implemented by all widgets that can be oriented horizontally or vertically. GtkOrientable is more flexible in that it allows the orientation to be changed at runtime, allowing the widgets to “flip”.

GtkOrientable was introduced in GTK+ 2.16.

Functions

gtk_orientable_get_orientation ()

GtkOrientation
gtk_orientable_get_orientation (GtkOrientable *orientable);

Retrieves the orientation of the orientable .

Parameters

orientable

a GtkOrientable

 

Returns

the orientation of the orientable .


gtk_orientable_set_orientation ()

void
gtk_orientable_set_orientation (GtkOrientable *orientable,
                                GtkOrientation orientation);

Sets the orientation of the orientable .

Parameters

orientable

a GtkOrientable

 

orientation

the orientable’s new orientation.

 

Types and Values

GtkOrientable

typedef struct _GtkOrientable GtkOrientable;

Property Details

The “orientation” property

  “orientation”              GtkOrientation

The orientation of the orientable.

Owner: GtkOrientable

Flags: Read / Write

Default value: GTK_ORIENTATION_HORIZONTAL

docs/reference/gtk/html/hierarchical-drawing.html0000664000175000017500000000626313710700534022271 0ustar mclasenmclasen Hierarchical drawing: GTK 4 Reference Manual

Hierarchical drawing

During the Paint phase GTK receives a single “render” signal on the toplevel surface. The signal handler will create a snapshot object (which is a helper for creating a scene graph) and call the GtkWidget::snapshot() vfunc, which will propagate down the widget hierarchy. This lets each widget snapshot its content at the right place and time, correctly handling things like partial transparencies and overlapping widgets.

During the snapshotting of each widget, GTK automatically handles the CSS rendering according to the CSS box model. It snapshots first the background, then the border, then the widget content itself, and finally the outline.

To avoid excessive work when generating scene graphs, GTK caches render nodes. Each widget keeps a reference to its render node (which in turn, will refer to the render nodes of children, and grandchildren, and so on), and will reuse that node during the Paint phase. Invalidating a widget (by calling gtk_widget_queue_draw()) discards the cached render node, forcing the widget to regenerate it the next time it needs to produce a snapshot.

docs/reference/gtk/html/GtkListView.html0000664000175000017500000012530013710700534020430 0ustar mclasenmclasen GtkListView: GTK 4 Reference Manual

GtkListView

GtkListView — A widget for displaying lists

Properties

gboolean enable-rubberband Read / Write
GtkListItemFactory * factory Read / Write
GListModel * model Read / Write
gboolean show-separators Read / Write
gboolean single-click-activate Read / Write

Signals

void activate Run Last

Actions

  list.activate-item u

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkListBase
                ╰── GtkListView

Implemented Interfaces

GtkListView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

GtkListView is a widget to present a view into a large dynamic list of items.

GtkListView uses its factory to generate one row widget for each visible item and shows them in a linear display, either vertically or horizontally. The “show-separators” property offers a simple way to display separators between the rows.

GtkListView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkListView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on _rubberband selection_, using “enable-rubberband”.

If you need multiple columns with headers, see GtkColumnView.

To learn more about the list widget framework, see the overview.

An example of using GtkListView:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
static void
setup_listitem_cb (GtkListItemFactory *factory,
                   GtkListItem        *list_item)
{
  GtkWidget *image;

  image = gtk_image_new ();
  gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
  gtk_list_item_set_child (list_item, image);
}

static void
bind_listitem_cb (GtkListItemFactory *factory,
                  GtkListItem        *list_item)
{
  GtkWidget *image;
  GAppInfo *app_info;

  image = gtk_list_item_get_child (list_item);
  app_info = gtk_list_item_get_item (list_item);
  gtk_image_set_from_gicon (GTK_IMAGE (image), g_app_info_get_icon (app_info));
}

static void
activate_cb (GtkListView  *list,
             guint         position,
             gpointer      unused)
{
  GAppInfo *app_info;

  app_info = g_list_model_get_item (gtk_list_view_get_model (list), position);
  g_app_info_launch (app_info, NULL, NULL, NULL);
  g_object_unref (app_info);
}

...

  model = create_application_list ();

  factory = gtk_signal_list_item_factory_new ();
  g_signal_connect (factory, "setup", G_CALLBACK (setup_listitem_cb), NULL);
  g_signal_connect (factory, "bind", G_CALLBACK (bind_listitem_cb), NULL);

  list = gtk_list_view_new_with_factory (model, factory);

  g_signal_connect (list, "activate", G_CALLBACK (activate_cb), NULL);

  gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), list);

CSS nodes

1
2
3
4
5
6
7
listview[.separators]
├── row

├── row


╰── [rubberband]

GtkListView uses a single CSS node named listview. It may carry the .separators style class, when “show-separators” property is set. Each child widget uses a single CSS node named row. For rubberband selection, a node with name rubberband is used.

Functions

gtk_list_view_new ()

GtkWidget *
gtk_list_view_new (GListModel *model);

Creates a new GtkListView.

You most likely want to call gtk_list_view_set_factory() to set up a way to map its items to widgets.

Parameters

model

the model to use, or NULL.

[allow-none][transfer full]

Returns

a new GtkListView


gtk_list_view_new_with_factory ()

GtkWidget *
gtk_list_view_new_with_factory (GListModel *model,
                                GtkListItemFactory *factory);

Creates a new GtkListView that uses the given factory for mapping items to widgets.

The function takes ownership of the argument, so you can write code like list_view = gtk_list_view_new_with_factory (create_model(), gtk_builder_list_item_factory_new_from_resource ("/resource.ui"));

Parameters

model

the model to use, or NULL.

[allow-none][transfer full]

factory

The factory to populate items with, or NULL.

[allow-none][transfer full]

Returns

a new GtkListView using the given factory


gtk_list_view_set_factory ()

void
gtk_list_view_set_factory (GtkListView *self,
                           GtkListItemFactory *factory);

Sets the GtkListItemFactory to use for populating list items.

Parameters

self

a GtkListView

 

factory

the factory to use or NULL for none.

[allow-none][transfer none]

gtk_list_view_get_factory ()

GtkListItemFactory *
gtk_list_view_get_factory (GtkListView *self);

Gets the factory that's currently used to populate list items.

Parameters

self

a GtkListView

 

Returns

The factory in use.

[nullable][transfer none]


gtk_list_view_set_model ()

void
gtk_list_view_set_model (GtkListView *self,
                         GListModel *model);

Sets the GListModel to use.

If the model is a GtkSelectionModel, it is used for managing the selection. Otherwise, self creates a GtkSingleSelection for the selection.

Parameters

self

a GtkListView

 

model

the model to use or NULL for none.

[allow-none][transfer none]

gtk_list_view_get_model ()

GListModel *
gtk_list_view_get_model (GtkListView *self);

Gets the model that's currently used to read the items displayed.

Parameters

self

a GtkListView

 

Returns

The model in use.

[nullable][transfer none]


gtk_list_view_set_show_separators ()

void
gtk_list_view_set_show_separators (GtkListView *self,
                                   gboolean show_separators);

Sets whether the list box should show separators between rows.

Parameters

self

a GtkListView

 

show_separators

TRUE to show separators

 

gtk_list_view_get_show_separators ()

gboolean
gtk_list_view_get_show_separators (GtkListView *self);

Returns whether the list box should show separators between rows.

Parameters

self

a GtkListView

 

Returns

TRUE if the list box shows separators


gtk_list_view_set_single_click_activate ()

void
gtk_list_view_set_single_click_activate
                               (GtkListView *self,
                                gboolean single_click_activate);

Sets whether rows should be activated on single click and selected on hover.

Parameters

self

a GtkListView

 

single_click_activate

TRUE to activate items on single click

 

gtk_list_view_get_single_click_activate ()

gboolean
gtk_list_view_get_single_click_activate
                               (GtkListView *self);

Returns whether rows will be activated on single click and selected on hover.

Parameters

self

a GtkListView

 

Returns

TRUE if rows are activated on single click


gtk_list_view_set_enable_rubberband ()

void
gtk_list_view_set_enable_rubberband (GtkListView *self,
                                     gboolean enable_rubberband);

Sets whether selections can be changed by dragging with the mouse.

Parameters

self

a GtkListView

 

enable_rubberband

TRUE to enable rubberband selection

 

gtk_list_view_get_enable_rubberband ()

gboolean
gtk_list_view_get_enable_rubberband (GtkListView *self);

Returns whether rows can be selected by dragging with the mouse.

Parameters

self

a GtkListView

 

Returns

TRUE if rubberband selection is enabled

Types and Values

GtkListView

typedef struct _GtkListView GtkListView;

GtkListView is the simple list implementation for GTK's list widgets.

Property Details

The “enable-rubberband” property

  “enable-rubberband”        gboolean

Allow rubberband selection

Owner: GtkListView

Flags: Read / Write

Default value: FALSE


The “factory” property

  “factory”                  GtkListItemFactory *

Factory for populating list items

Owner: GtkListView

Flags: Read / Write


The “model” property

  “model”                    GListModel *

Model for the items displayed

Owner: GtkListView

Flags: Read / Write


The “show-separators” property

  “show-separators”          gboolean

Show separators between rows

Owner: GtkListView

Flags: Read / Write

Default value: FALSE


The “single-click-activate” property

  “single-click-activate”    gboolean

Activate rows on single click and select them on hover

Owner: GtkListView

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate” signal

void
user_function (GtkListView *self,
               guint        position,
               gpointer     user_data)

The ::activate signal is emitted when a row has been activated by the user, usually via activating the GtkListView|list.activate-item action.

This allows for a convenient way to handle activation in a listview. See gtk_list_item_set_activatable() for details on how to use this signal.

Parameters

self

The GtkListView

 

position

position of item to activate

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Action Details

The “list.activate-item” action

Activates the item given in position by emitting the GtkListView::activate signal.

Parameter type: u

Parameters

position

position of item to activate

 

See Also

GListModel, GtkColumnView, GtkGridView

docs/reference/gtk/html/GtkMediaFile.html0000664000175000017500000006673613710700534020522 0ustar mclasenmclasen GtkMediaFile: GTK 4 Reference Manual

GtkMediaFile

GtkMediaFile — Open media files for use in GTK

Properties

GFile * file Read / Write
GInputStream * input-stream Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkMediaStream
        ╰── GtkMediaFile

Implemented Interfaces

GtkMediaFile implements GdkPaintable.

Includes

#include <gtk/gtk.h>

Description

GtkMediaFile is the implementation for media file usage with GtkMediaStream.

This provides a simple way to play back video files with GTK.

GTK+ provides a GIO extension point for GtkMediaFile implementations to allow for external implementations using various media frameworks. GTK+ itself includes implementations using GStreamer and ffmpeg.

Functions

gtk_media_file_new ()

GtkMediaStream *
gtk_media_file_new (void);

Creates a new empty media file.

Returns

a new GtkMediaFile.

[type Gtk.MediaFile]


gtk_media_file_new_for_filename ()

GtkMediaStream *
gtk_media_file_new_for_filename (const char *filename);

This is a utility function that converts the given filename to a GFile and calls gtk_media_file_new_for_file().

Parameters

filename

filename to open

 

Returns

a new GtkMediaFile playing filename .

[type Gtk.MediaFile]


gtk_media_file_new_for_resource ()

GtkMediaStream *
gtk_media_file_new_for_resource (const char *resource_path);

This is a utility function that converts the given resource to a GFile and calls gtk_media_file_new_for_file().

Parameters

resource_path

resource path to open

 

Returns

a new GtkMediaFile playing resource_path .

[type Gtk.MediaFile]


gtk_media_file_new_for_file ()

GtkMediaStream *
gtk_media_file_new_for_file (GFile *file);

Creates a new media file to play file .

Parameters

file

The file to play

 

Returns

a new GtkMediaFile playing file .

[type Gtk.MediaFile]


gtk_media_file_new_for_input_stream ()

GtkMediaStream *
gtk_media_file_new_for_input_stream (GInputStream *stream);

Creates a new media file to play stream . If you want the resulting media to be seekable, the stream should implement the GSeekable interface.

Parameters

stream

The stream to play

 

Returns

a new GtkMediaFile.

[type Gtk.MediaFile]


gtk_media_file_clear ()

void
gtk_media_file_clear (GtkMediaFile *self);

Resets the media file to be empty.

Parameters

self

a GtkMediaFile

 

gtk_media_file_set_filename ()

void
gtk_media_file_set_filename (GtkMediaFile *self,
                             const char *filename);

This is a utility function that converts the given filename to a GFile and calls gtk_media_file_set_file().

Parameters

self

a GtkMediaFile

 

filename

name of file to play.

[allow-none]

gtk_media_file_set_resource ()

void
gtk_media_file_set_resource (GtkMediaFile *self,
                             const char *resource_path);

This is a utility function that converts the given resource_path to a GFile and calls gtk_media_file_set_file().

Parameters

self

a GtkMediaFile

 

resource_path

path to resource to play.

[allow-none]

gtk_media_file_set_file ()

void
gtk_media_file_set_file (GtkMediaFile *self,
                         GFile *file);

If any file is still playing, stop playing it.

Then start playing the given file .

Parameters

self

a GtkMediaFile

 

file

the file to play.

[allow-none]

gtk_media_file_get_file ()

GFile *
gtk_media_file_get_file (GtkMediaFile *self);

Returns the file that self is currently playing from.

When self is not playing or not playing from a file, NULL is returned.

Parameters

self

a GtkMediaFile

 

Returns

The currently playing file or NULL if not playing from a file.

[nullable][transfer none]


gtk_media_file_set_input_stream ()

void
gtk_media_file_set_input_stream (GtkMediaFile *self,
                                 GInputStream *stream);

If anything is still playing, stop playing it. Then start playing the given stream .

Full control about the stream is assumed for the duration of playback. The stream will not bt be closed.

Parameters

self

a GtkMediaFile

 

stream

the stream to play from.

[allow-none]

gtk_media_file_get_input_stream ()

GInputStream *
gtk_media_file_get_input_stream (GtkMediaFile *self);

Returns the stream that self is currently playing from.

When self is not playing or not playing from a stream, NULL is returned.

Parameters

self

a GtkMediaFile

 

Returns

The currently playing stream or NULL if not playing from a stream.

[nullable][transfer none]

Types and Values

GtkMediaFile

typedef struct _GtkMediaFile GtkMediaFile;

Property Details

The “file” property

  “file”                     GFile *

The file being played back or NULL if not playing a file.

Owner: GtkMediaFile

Flags: Read / Write


The “input-stream” property

  “input-stream”             GInputStream *

The stream being played back or NULL if not playing a stream, like when playing a file.

Owner: GtkMediaFile

Flags: Read / Write

docs/reference/gtk/html/GtkMultiFilter.html0000664000175000017500000002645213710700534021132 0ustar mclasenmclasen GtkMultiFilter: GTK 4 Reference Manual

GtkMultiFilter

GtkMultiFilter — Combining multiple filters

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilter
        ╰── GtkMultiFilter
            ├── GtkAnyFilter
            ╰── GtkEveryFilter

Implemented Interfaces

GtkMultiFilter implements GListModel and GtkBuildable.

GtkAnyFilter implements GListModel and GtkBuildable.

GtkEveryFilter implements GListModel and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkMultiFilter is the base type that implements support for handling multiple filters.

GtkAnyFilter is a subclass of GtkMultiFilter that matches an item when at least one of its filters matches.

GtkEveryFilter is a subclass of GtkMultiFilter that matches an item when each of its filters matches.

Functions

gtk_multi_filter_append ()

void
gtk_multi_filter_append (GtkMultiFilter *self,
                         GtkFilter *filter);

Adds a filter to self to use for matching.

Parameters

self

a GtkMultiFilter

 

filter

A new filter to use.

[transfer full]

gtk_multi_filter_remove ()

void
gtk_multi_filter_remove (GtkMultiFilter *self,
                         guint position);

Removes the filter at the given position from the list of filters used by self . If position is larger than the number of filters, nothing happens and the function returns.

Parameters

self

a GtkMultiFilter

 

position

position of filter to remove

 

gtk_any_filter_new ()

GtkFilter *
gtk_any_filter_new (void);

Creates a new empty "any" filter. Use gtk_multi_filter_append() to add filters to it.

This filter matches an item if any of the filters added to it matches the item. In particular, this means that if no filter has been added to it, the filter matches no item.

Returns

a new GtkFilter


gtk_every_filter_new ()

GtkFilter *
gtk_every_filter_new (void);

Creates a new empty "every" filter. Use gtk_multi_filter_append() to add filters to it.

This filter matches an item if each of the filters added to it matches the item. In particular, this means that if no filter has been added to it, the filter matches every item.

Returns

a new GtkFilter

Types and Values

GtkMultiFilter

typedef struct _GtkMultiFilter GtkMultiFilter;

GtkAnyFilter

typedef struct _GtkAnyFilter GtkAnyFilter;

GtkEveryFilter

typedef struct _GtkEveryFilter GtkEveryFilter;
docs/reference/gtk/html/GtkNativeDialog.html0000664000175000017500000007011313710700534021231 0ustar mclasenmclasen GtkNativeDialog: GTK 4 Reference Manual

GtkNativeDialog

GtkNativeDialog — Integrate with native dialogs

Properties

gboolean modal Read / Write
gchar * title Read / Write
GtkWindow * transient-for Read / Write / Construct
gboolean visible Read / Write

Signals

void response Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkNativeDialog

Includes

#include <gtk/gtk.h>

Description

Native dialogs are platform dialogs that don't use GtkDialog or GtkWindow. They are used in order to integrate better with a platform, by looking the same as other native applications and supporting platform specific features.

The GtkDialog functions cannot be used on such objects, but we need a similar API in order to drive them. The GtkNativeDialog object is an API that allows you to do this. It allows you to set various common properties on the dialog, as well as show and hide it and get a “response” signal when the user finished with the dialog.

Functions

gtk_native_dialog_show ()

void
gtk_native_dialog_show (GtkNativeDialog *self);

Shows the dialog on the display, allowing the user to interact with it. When the user accepts the state of the dialog the dialog will be automatically hidden and the “response” signal will be emitted.

Multiple calls while the dialog is visible will be ignored.

Parameters

self

a GtkNativeDialog

 

gtk_native_dialog_hide ()

void
gtk_native_dialog_hide (GtkNativeDialog *self);

Hides the dialog if it is visilbe, aborting any interaction. Once this is called the “response” signal will not be emitted until after the next call to gtk_native_dialog_show().

If the dialog is not visible this does nothing.

Parameters

self

a GtkNativeDialog

 

gtk_native_dialog_destroy ()

void
gtk_native_dialog_destroy (GtkNativeDialog *self);

Destroys a dialog.

When a dialog is destroyed, it will break any references it holds to other objects. If it is visible it will be hidden and any underlying window system resources will be destroyed.

Note that this does not release any reference to the object (as opposed to destroying a GtkWindow) because there is no reference from the windowing system to the GtkNativeDialog.

Parameters

self

a GtkNativeDialog

 

gtk_native_dialog_get_visible ()

gboolean
gtk_native_dialog_get_visible (GtkNativeDialog *self);

Determines whether the dialog is visible.

Parameters

self

a GtkNativeDialog

 

Returns

TRUE if the dialog is visible


gtk_native_dialog_set_modal ()

void
gtk_native_dialog_set_modal (GtkNativeDialog *self,
                             gboolean modal);

Sets a dialog modal or non-modal. Modal dialogs prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use gtk_native_dialog_set_transient_for() to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent.

Parameters

self

a GtkNativeDialog

 

modal

whether the window is modal

 

gtk_native_dialog_get_modal ()

gboolean
gtk_native_dialog_get_modal (GtkNativeDialog *self);

Returns whether the dialog is modal. See gtk_native_dialog_set_modal().

Parameters

self

a GtkNativeDialog

 

Returns

TRUE if the dialog is set to be modal


gtk_native_dialog_set_title ()

void
gtk_native_dialog_set_title (GtkNativeDialog *self,
                             const char *title);

Sets the title of the GtkNativeDialog.

Parameters

self

a GtkNativeDialog

 

title

title of the dialog

 

gtk_native_dialog_get_title ()

const char *
gtk_native_dialog_get_title (GtkNativeDialog *self);

Gets the title of the GtkNativeDialog.

Parameters

self

a GtkNativeDialog

 

Returns

the title of the dialog, or NULL if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

[nullable]


gtk_native_dialog_set_transient_for ()

void
gtk_native_dialog_set_transient_for (GtkNativeDialog *self,
                                     GtkWindow *parent);

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.

Passing NULL for parent unsets the current transient window.

Parameters

self

a GtkNativeDialog

 

parent

parent window, or NULL.

[allow-none]

gtk_native_dialog_get_transient_for ()

GtkWindow *
gtk_native_dialog_get_transient_for (GtkNativeDialog *self);

Fetches the transient parent for this window. See gtk_native_dialog_set_transient_for().

Parameters

self

a GtkNativeDialog

 

Returns

the transient parent for this window, or NULL if no transient parent has been set.

[nullable][transfer none]

Types and Values

GtkNativeDialog

typedef struct _GtkNativeDialog GtkNativeDialog;

struct GtkNativeDialogClass

struct GtkNativeDialogClass {
  GObjectClass parent_class;

  void (* response) (GtkNativeDialog *self, int response_id);
};

Property Details

The “modal” property

  “modal”                    gboolean

Whether the window should be modal with respect to its transient parent.

Owner: GtkNativeDialog

Flags: Read / Write

Default value: FALSE


The “title” property

  “title”                    gchar *

The title of the dialog window

Owner: GtkNativeDialog

Flags: Read / Write

Default value: NULL


The “transient-for” property

  “transient-for”            GtkWindow *

The transient parent of the dialog, or NULL for none.

Owner: GtkNativeDialog

Flags: Read / Write / Construct


The “visible” property

  “visible”                  gboolean

Whether the window is currently visible.

Owner: GtkNativeDialog

Flags: Read / Write

Default value: FALSE

Signal Details

The “response” signal

void
user_function (GtkNativeDialog *self,
               gint             response_id,
               gpointer         user_data)

Emitted when the user responds to the dialog.

When this is called the dialog has been hidden.

If you call gtk_native_dialog_hide() before the user responds to the dialog this signal will not be emitted.

Parameters

self

the object on which the signal is emitted

 

response_id

the response ID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkOverlayLayout.html0000664000175000017500000003411413710700534021503 0ustar mclasenmclasen GtkOverlayLayout: GTK 4 Reference Manual

GtkOverlayLayout

GtkOverlayLayout — Layout manager that places widgets as overlays

Properties

gboolean clip-overlay Read / Write
gboolean measure Read / Write

Types and Values

Object Hierarchy

    GObject
    ├── GtkLayoutChild
       ╰── GtkOverlayLayoutChild
    ╰── GtkLayoutManager
        ╰── GtkOverlayLayout

Includes

#include <gtk/gtk.h>

Description

GtkOverlayLayout is the layout manager used by GtkOverlay. It places widgets as overlays on top of the main child.

This is not a reusable layout manager, since it expects its widget to be a GtkOverlay. It only listed here so that its layout properties get documented.

Functions

gtk_overlay_layout_new ()

GtkLayoutManager *
gtk_overlay_layout_new (void);

Creates a new GtkOverlayLayout instance.

Returns

the newly created instance


gtk_overlay_layout_child_set_measure ()

void
gtk_overlay_layout_child_set_measure (GtkOverlayLayoutChild *child,
                                      gboolean measure);

Sets whether to measure this child.

Parameters

child

a GtkOverlayLayoutChild

 

measure

whether to measure this child

 

gtk_overlay_layout_child_get_measure ()

gboolean
gtk_overlay_layout_child_get_measure (GtkOverlayLayoutChild *child);

Retrieves whether the child is measured.

Parameters

Returns

whether the child is measured


gtk_overlay_layout_child_set_clip_overlay ()

void
gtk_overlay_layout_child_set_clip_overlay
                               (GtkOverlayLayoutChild *child,
                                gboolean clip_overlay);

Sets whether to clip this child.

Parameters

child

a GtkOverlayLayoutChild

 

clip_overlay

whether to clip this child

 

gtk_overlay_layout_child_get_clip_overlay ()

gboolean
gtk_overlay_layout_child_get_clip_overlay
                               (GtkOverlayLayoutChild *child);

Retrieves whether the child is clipped.

Parameters

Returns

whether the child is clipped

Types and Values

GtkOverlayLayout

typedef struct _GtkOverlayLayout GtkOverlayLayout;

GtkOverlayLayoutChild

typedef struct _GtkOverlayLayoutChild GtkOverlayLayoutChild;

Property Details

The “clip-overlay” property

  “clip-overlay”             gboolean

Whether the child should be clipped to fit the parent's size.

Owner: GtkOverlayLayoutChild

Flags: Read / Write

Default value: FALSE


The “measure” property

  “measure”                  gboolean

Whether the child size should contribute to the GtkOverlayLayout's measurement.

Owner: GtkOverlayLayoutChild

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkPopover.html0000664000175000017500000012514613710700534020324 0ustar mclasenmclasen GtkPopover: GTK 4 Reference Manual

GtkPopover

GtkPopover — Context dependent bubbles

Properties

gboolean autohide Read / Write
GtkWidget * child Read / Write
GtkWidget * default-widget Read / Write
gboolean has-arrow Read / Write
gboolean mnemonics-visible Read / Write
GdkRectangle * pointing-to Read / Write
GtkPositionType position Read / Write

Signals

void activate-default Action
void closed Run Last

Types and Values

struct GtkPopover

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPopover
                ├── GtkEmojiChooser
                ╰── GtkPopoverMenu

Implemented Interfaces

GtkPopover implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative.

Includes

#include <gtk/gtk.h>

Description

GtkPopover is a bubble-like context window, primarily meant to provide context-dependent information or options. Popovers are attached to a widget, set with gtk_widget_set_parent(). By default they will point to the whole widget area, although this behavior can be changed through gtk_popover_set_pointing_to().

The position of a popover relative to the widget it is attached to can also be changed through gtk_popover_set_position().

By default, GtkPopover performs a grab, in order to ensure input events get redirected to it while it is shown, and also so the popover is dismissed in the expected situations (clicks outside the popover, or the Escape key being pressed). If no such modal behavior is desired on a popover, gtk_popover_set_autohide() may be called on it to tweak its behavior.

GtkPopover as menu replacement

GtkPopover is often used to replace menus. The best was to do this is to use the GtkPopoverMenu subclass which supports being populated from a GMenuModel with gtk_popover_menu_new_from_model().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<section>
  <attribute name="display-hint">horizontal-buttons</attribute>
  <item>
    <attribute name="label">Cut</attribute>
    <attribute name="action">app.cut</attribute>
    <attribute name="verb-icon">edit-cut-symbolic</attribute>
  </item>
  <item>
    <attribute name="label">Copy</attribute>
    <attribute name="action">app.copy</attribute>
    <attribute name="verb-icon">edit-copy-symbolic</attribute>
  </item>
  <item>
    <attribute name="label">Paste</attribute>
    <attribute name="action">app.paste</attribute>
    <attribute name="verb-icon">edit-paste-symbolic</attribute>
  </item>
</section>

CSS nodes

1
2
3
4
popover[.menu]
├── arrow
╰── contents.background
    ╰── <child>

The contents child node always gets the .background style class and the popover itself gets the .menu style class if the popover is menu-like (i.e. GtkPopoverMenu).

Particular uses of GtkPopover, such as touch selection popups or magnifiers in GtkEntry or GtkTextView get style classes like .touch-selection or .magnifier to differentiate from plain popovers.

When styling a popover directly, the popover node should usually not have any background.

Note that, in order to accomplish appropriate arrow visuals, GtkPopover uses custom drawing for the arrow node. This makes it possible for the arrow to change its shape dynamically, but it also limits the possibilities of styling it using CSS. In particular, the arrow gets drawn over the content node's border so they look like one shape, which means that the border-width of the content node and the arrow node should be the same. The arrow also does not support any border shape other than solid, no border-radius, only one border width (border-bottom-width is used) and no box-shadow.

Functions

gtk_popover_new ()

GtkWidget *
gtk_popover_new (void);

Creates a new popover.

Returns

the new popover


gtk_popover_popup ()

void
gtk_popover_popup (GtkPopover *popover);

Pops popover up. This is different than a gtk_widget_show() call in that it shows the popover with a transition. If you want to show the popover without a transition, use gtk_widget_show().

Parameters

popover

a GtkPopover

 

gtk_popover_popdown ()

void
gtk_popover_popdown (GtkPopover *popover);

Pops popover down.This is different than a gtk_widget_hide() call in that it shows the popover with a transition. If you want to hide the popover without a transition, use gtk_widget_hide().

Parameters

popover

a GtkPopover

 

gtk_popover_set_child ()

void
gtk_popover_set_child (GtkPopover *popover,
                       GtkWidget *child);

Sets the child widget of popover .

Parameters

popover

a GtkPopover

 

child

the child widget.

[allow-none]

gtk_popover_get_child ()

GtkWidget *
gtk_popover_get_child (GtkPopover *popover);

Gets the child widget of popover .

Parameters

popover

a GtkPopover

 

Returns

the child widget of popover .

[nullable][transfer none]


gtk_popover_set_pointing_to ()

void
gtk_popover_set_pointing_to (GtkPopover *popover,
                             const GdkRectangle *rect);

Sets the rectangle that popover will point to, in the coordinate space of the popover parent.

Parameters

popover

a GtkPopover

 

rect

rectangle to point to

 

gtk_popover_get_pointing_to ()

gboolean
gtk_popover_get_pointing_to (GtkPopover *popover,
                             GdkRectangle *rect);

If a rectangle to point to has been set, this function will return TRUE and fill in rect with such rectangle, otherwise it will return FALSE and fill in rect with the attached widget coordinates.

Parameters

popover

a GtkPopover

 

rect

location to store the rectangle.

[out]

Returns

TRUE if a rectangle to point to was set.


gtk_popover_set_position ()

void
gtk_popover_set_position (GtkPopover *popover,
                          GtkPositionType position);

Sets the preferred position for popover to appear. If the popover is currently visible, it will be immediately updated.

This preference will be respected where possible, although on lack of space (eg. if close to the window edges), the GtkPopover may choose to appear on the opposite side

Parameters

popover

a GtkPopover

 

position

preferred popover position

 

gtk_popover_get_position ()

GtkPositionType
gtk_popover_get_position (GtkPopover *popover);

Returns the preferred position of popover .

Parameters

popover

a GtkPopover

 

Returns

The preferred position.


gtk_popover_set_autohide ()

void
gtk_popover_set_autohide (GtkPopover *popover,
                          gboolean autohide);

Sets whether popover is modal.

A modal popover will grab the keyboard focus on it when being displayed. Clicking outside the popover area or pressing Esc will dismiss the popover.

Called this function on an already showing popup with a new autohide value different from the current one, will cause the popup to be hidden.

Parameters

popover

a GtkPopover

 

autohide

TRUE to dismiss the popover on outside clicks

 

gtk_popover_get_autohide ()

gboolean
gtk_popover_get_autohide (GtkPopover *popover);

Returns whether the popover is modal.

See gtk_popover_set_autohide() for the implications of this.

Parameters

popover

a GtkPopover

 

Returns

TRUE if popover is modal


gtk_popover_set_has_arrow ()

void
gtk_popover_set_has_arrow (GtkPopover *popover,
                           gboolean has_arrow);

Sets whether this popover should draw an arrow pointing at the widget it is relative to.

Parameters

popover

a GtkPopover

 

has_arrow

TRUE to draw an arrow

 

gtk_popover_get_has_arrow ()

gboolean
gtk_popover_get_has_arrow (GtkPopover *popover);

Gets whether this popover is showing an arrow pointing at the widget that it is relative to.

Parameters

popover

a GtkPopover

 

Returns

whether the popover has an arrow


gtk_popover_set_default_widget ()

void
gtk_popover_set_default_widget (GtkPopover *popover,
                                GtkWidget *widget);

The default widget is the widget that’s activated when the user presses Enter in a dialog (for example). This function sets or unsets the default widget for a GtkPopover.

Parameters

popover

a GtkPopover

 

widget

a child widget of popover to set as the default, or NULL to unset the default widget for the popover.

[allow-none]

Types and Values

struct GtkPopover

struct GtkPopover;

Property Details

The “autohide” property

  “autohide”                 gboolean

Whether to dismiss the popover on outside clicks.

Owner: GtkPopover

Flags: Read / Write

Default value: TRUE


The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkPopover

Flags: Read / Write


The “default-widget” property

  “default-widget”           GtkWidget *

The default widget.

Owner: GtkPopover

Flags: Read / Write


The “has-arrow” property

  “has-arrow”                gboolean

Whether to draw an arrow.

Owner: GtkPopover

Flags: Read / Write

Default value: TRUE


The “mnemonics-visible” property

  “mnemonics-visible”        gboolean

Whether mnemonics are currently visible in this popover.

Owner: GtkPopover

Flags: Read / Write

Default value: FALSE


The “pointing-to” property

  “pointing-to”              GdkRectangle *

Rectangle the bubble window points to.

Owner: GtkPopover

Flags: Read / Write


The “position” property

  “position”                 GtkPositionType

Position to place the bubble window.

Owner: GtkPopover

Flags: Read / Write

Default value: GTK_POS_BOTTOM

Signal Details

The “activate-default” signal

void
user_function (GtkPopover *popover,
               gpointer    user_data)

Flags: Action


The “closed” signal

void
user_function (GtkPopover *popover,
               gpointer    user_data)

Flags: Run Last

docs/reference/gtk/html/GtkSortListModel.html0000664000175000017500000006073513710700534021440 0ustar mclasenmclasen GtkSortListModel: GTK 4 Reference Manual

GtkSortListModel

GtkSortListModel — A list model that sorts its items

Properties

gboolean incremental Read / Write
GListModel * model Read / Write
guint pending Read
GtkSorter * sorter Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSortListModel

Implemented Interfaces

GtkSortListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkSortListModel is a list model that takes a list model and sorts its elements according to a GtkSorter.

GtkSortListModel is a generic model and because of that it cannot take advantage of any external knowledge when sorting. If you run into performance issues with GtkSortListModel, it is strongly recommended that you write your own sorting list model.

Functions

gtk_sort_list_model_new ()

GtkSortListModel *
gtk_sort_list_model_new (GListModel *model,
                         GtkSorter *sorter);

Creates a new sort list model that uses the sorter to sort model .

Parameters

model

the model to sort, or NULL.

[allow-none][transfer full]

sorter

the GtkSorter to sort model with, or NULL.

[allow-none][transfer full]

Returns

a new GtkSortListModel


gtk_sort_list_model_set_sorter ()

void
gtk_sort_list_model_set_sorter (GtkSortListModel *self,
                                GtkSorter *sorter);

Sets a new sorter on self .

Parameters

self

a GtkSortListModel

 

sorter

the GtkSorter to sort model with.

[allow-none]

gtk_sort_list_model_get_sorter ()

GtkSorter *
gtk_sort_list_model_get_sorter (GtkSortListModel *self);

Gets the sorter that is used to sort self .

Parameters

self

a GtkSortListModel

 

Returns

the sorter of self.

[nullable][transfer none]


gtk_sort_list_model_set_model ()

void
gtk_sort_list_model_set_model (GtkSortListModel *self,
                               GListModel *model);

Sets the model to be sorted. The model 's item type must conform to the item type of self .

Parameters

self

a GtkSortListModel

 

model

The model to be sorted.

[allow-none]

gtk_sort_list_model_get_model ()

GListModel *
gtk_sort_list_model_get_model (GtkSortListModel *self);

Gets the model currently sorted or NULL if none.

Parameters

self

a GtkSortListModel

 

Returns

The model that gets sorted.

[nullable][transfer none]


gtk_sort_list_model_set_incremental ()

void
gtk_sort_list_model_set_incremental (GtkSortListModel *self,
                                     gboolean incremental);

Sets the sort model to do an incremental sort.

When incremental sorting is enabled, the sortlistmodel will not do a complete sort immediately, but will instead queue an idle handler that incrementally sorts the items towards their correct position. This of course means that items do not instantly appear in the right place. It also means that the total sorting time is a lot slower.

When your filter blocks the UI while sorting, you might consider turning this on. Depending on your model and sorters, this may become interesting around 10,000 to 100,000 items.

By default, incremental sorting is disabled.

Parameters

self

a GtkSortListModel

 

incremental

TRUE to sort incrementally

 

gtk_sort_list_model_get_incremental ()

gboolean
gtk_sort_list_model_get_incremental (GtkSortListModel *self);

Returns whether incremental sorting was enabled via gtk_sort_list_model_set_incremental().

Parameters

self

a GtkSortListModel

 

Returns

TRUE if incremental sorting is enabled


gtk_sort_list_model_get_pending ()

guint
gtk_sort_list_model_get_pending (GtkSortListModel *self);

Estimates progress of an ongoing sorting operation

The estimate is the number of items that would still need to be sorted to finish the sorting operation if this was a linear algorithm. So this number is not related to how many items are already correctly sorted.

If you want to estimate the progress, you can use code like this:

1
2
double progress = 1.0 - (double) gtk_sort_list_model_get_pending (self) 
                        / MAX (1, g_list_model_get_n_items (G_LIST_MODEL (sort)));

If no sort operation is ongoing - in particular when “incremental” is FALSE - this function returns 0.

Parameters

self

a GtkSortListModel

 

Returns

a progress estimate of remaining items to sort

Types and Values

GtkSortListModel

typedef struct _GtkSortListModel GtkSortListModel;

Property Details

The “incremental” property

  “incremental”              gboolean

If the model should sort items incrementally

Owner: GtkSortListModel

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GListModel *

The model being sorted

Owner: GtkSortListModel

Flags: Read / Write


The “pending” property

  “pending”                  guint

Estimate of unsorted items remaining

Owner: GtkSortListModel

Flags: Read

Default value: 0


The “sorter” property

  “sorter”                   GtkSorter *

The sorter for this model

Owner: GtkSortListModel

Flags: Read / Write

See Also

GListModel, GtkSorter

docs/reference/gtk/html/ch01s03.html0000664000175000017500000001173113710700534017277 0ustar mclasenmclasen Packing: GTK 4 Reference Manual

Packing

When creating an application, you’ll want to put more than one widget inside a window. When you do so, it becomes important to control how each widget is positioned and sized. This is where packing comes in.

GTK comes with a large variety of layout containers whose purpose it is to control the layout of the child widgets that are added to them. See Layout containers for an overview.

The following example shows how the GtkGrid container lets you arrange several buttons:

Figure 3. Grid packing

Grid packing

Packing buttons

Create a new file with the following content named example-2.c.

#include <gtk/gtk.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *grid;
  GtkWidget *button;

  /* create a new window, and set its title */
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");

  /* Here we construct the container that is going pack our buttons */
  grid = gtk_grid_new();

  /* Pack the container in the window */
  gtk_window_set_child (GTK_WINDOW (window), grid);

  button = gtk_button_new_with_label ("Button 1");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  /* Place the first button in the grid cell (0, 0), and make it fill
   * just 1 cell horizontally and vertically (ie no spanning)
   */
  gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1);

  button = gtk_button_new_with_label ("Button 2");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  /* Place the second button in the grid cell (1, 0), and make it fill
   * just 1 cell horizontally and vertically (ie no spanning)
   */
  gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1);

  button = gtk_button_new_with_label ("Quit");
  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window);

  /* Place the Quit button in the grid cell (0, 1), and make it
   * span 2 columns.
   */
  gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 2, 1);

  gtk_widget_show (window);

}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

You can compile the program above with GCC using:

gcc `pkg-config --cflags gtk4` -o example-2 example-2.c `pkg-config --libs gtk4`
docs/reference/gtk/html/gtk4-GtkCustomLayout.html0000664000175000017500000003716513710700534022214 0ustar mclasenmclasen GtkCustomLayout: GTK 4 Reference Manual

GtkCustomLayout

GtkCustomLayout — A convenience layout manager

Types and Values

Includes

#include <gtk/gtk.h>

Description

GtkCustomLayout is a convenience type meant to be used as a transition mechanism between GtkWidgets implementing a layout policy, and GtkLayoutManager classes.

A GtkCustomLayout uses closures matching to the old GtkWidget virtual functions for size negotiation, as a convenience API to ease the porting towards the corresponding GtkLayoutManager virtual functions.

Functions

GtkCustomRequestModeFunc ()

GtkSizeRequestMode
(*GtkCustomRequestModeFunc) (GtkWidget *widget);

Queries a widget for its preferred size request mode.

Parameters

widget

the widget to be queried

 

Returns

the size request mode


GtkCustomMeasureFunc ()

void
(*GtkCustomMeasureFunc) (GtkWidget *widget,
                         GtkOrientation orientation,
                         int for_size,
                         int *minimum,
                         int *natural,
                         int *minimum_baseline,
                         int *natural_baseline);

A function to be used by GtkCustomLayout to measure a widget.

Parameters

widget

the widget to be measured

 

orientation

the direction to be measured

 

for_size

the size to be measured for

 

minimum

the measured minimum size of the widget.

[out]

natural

the measured natural size of the widget.

[out]

minimum_baseline

the measured minimum baseline of the widget.

[out]

natural_baseline

the measured natural baseline of the widget.

[out]

GtkCustomAllocateFunc ()

void
(*GtkCustomAllocateFunc) (GtkWidget *widget,
                          int width,
                          int height,
                          int baseline);

A function to be used by GtkCustomLayout to allocate a widget.

Parameters

widget

the widget to allocate

 

width

the new width of the widget

 

height

the new height of the widget

 

baseline

the new baseline of the widget, or -1

 

gtk_custom_layout_new ()

GtkLayoutManager *
gtk_custom_layout_new (GtkCustomRequestModeFunc request_mode,
                       GtkCustomMeasureFunc measure,
                       GtkCustomAllocateFunc allocate);

Creates a new legacy layout manager.

Legacy layout managers map to the old GtkWidget size negotiation virtual functions, and are meant to be used during the transition from layout containers to layout manager delegates.

Parameters

request_mode

a function to retrieve the GtkSizeRequestMode of the widget using the layout; the default request mode is GTK_SIZE_REQUEST_CONSTANT_SIZE.

[nullable][scope call]

measure

a function to measure the widget using the layout manager.

[not nullable][scope call]

allocate

a function to allocate the children of the widget using the layout manager.

[not nullable][scope call]

Returns

the newly created GtkCustomLayout.

[transfer full]

Types and Values

GtkCustomLayout

typedef struct _GtkCustomLayout GtkCustomLayout;
docs/reference/gtk/html/GtkPasswordEntry.html0000664000175000017500000004225113710700534021511 0ustar mclasenmclasen GtkPasswordEntry: GTK 4 Reference Manual

GtkPasswordEntry

GtkPasswordEntry — An entry for secrets

Properties

gboolean activates-default Read / Write
GMenuModel * extra-menu Read / Write
gchar * placeholder-text Read / Write
gboolean show-peek-icon Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPasswordEntry

Implemented Interfaces

GtkPasswordEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable.

Includes

#include <gtk/gtk.h>

Description

GtkPasswordEntry is entry that has been tailored for entering secrets. It does not show its contents in clear text, does not allow to copy it to the clipboard, and it shows a warning when Caps Lock is engaged.

Optionally, it can offer a way to reveal the contents in clear text.

GtkPasswordEntry provides only minimal API and should be used with the GtkEditable API.

CSS Nodes

1
2
3
4
entry.password
╰── text
    ├── image.caps-lock-indicator
    

GtkPasswordEntry has a single CSS node with name entry that carries a .passwordstyle class. The text Css node below it has a child with name image and style class .caps-lock-indicator for the Caps Lock icon, and possibly other children.


Accessibility

GtkPasswordEntry uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role.

Functions

gtk_password_entry_new ()

GtkWidget *
gtk_password_entry_new (void);

Creates a GtkPasswordEntry.

Returns

a new GtkPasswordEntry


gtk_password_entry_set_show_peek_icon ()

void
gtk_password_entry_set_show_peek_icon (GtkPasswordEntry *entry,
                                       gboolean show_peek_icon);

Sets whether the entry should have a clickable icon to show the contents of the entry in clear text.

Setting this to FALSE also hides the text again.

Parameters

entry

a GtkPasswordEntry

 

show_peek_icon

whether to show the peek icon

 

gtk_password_entry_get_show_peek_icon ()

gboolean
gtk_password_entry_get_show_peek_icon (GtkPasswordEntry *entry);

Returns whether the entry is showing a clickable icon to reveal the contents of the entry in clear text.

Parameters

entry

a GtkPasswordEntry

 

Returns

TRUE if an icon is shown


gtk_password_entry_set_extra_menu ()

void
gtk_password_entry_set_extra_menu (GtkPasswordEntry *entry,
                                   GMenuModel *model);

Sets a menu model to add when constructing the context menu for entry .

Parameters

entry

a GtkPasswordEntry

 

model

a GMenuModel.

[allow-none]

gtk_password_entry_get_extra_menu ()

GMenuModel *
gtk_password_entry_get_extra_menu (GtkPasswordEntry *entry);

Gets the menu model set with gtk_password_entry_set_extra_menu().

Parameters

entry

a GtkText

 

Returns

(nullable): the menu model.

[transfer none]

Types and Values

struct GtkPasswordEntry

struct GtkPasswordEntry;

Property Details

The “activates-default” property

  “activates-default”        gboolean

Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.

Owner: GtkPasswordEntry

Flags: Read / Write

Default value: FALSE


The “extra-menu” property

  “extra-menu”               GMenuModel *

A menu model whose contents will be appended to the context menu.

Owner: GtkPasswordEntry

Flags: Read / Write


The “placeholder-text” property

  “placeholder-text”         gchar *

Show text in the entry when it’s empty and unfocused.

Owner: GtkPasswordEntry

Flags: Read / Write

Default value: NULL


The “show-peek-icon” property

  “show-peek-icon”           gboolean

Whether to show an icon for revealing the content.

Owner: GtkPasswordEntry

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkSorter.html0000664000175000017500000005076513710700534020154 0ustar mclasenmclasen GtkSorter: GTK 4 Reference Manual

GtkSorter

GtkSorter — Sorting items

Signals

void changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ├── GtkCustomSorter
        ├── GtkMultiSorter
        ├── GtkNumericSorter
        ├── GtkStringSorter
        ╰── GtkTreeListRowSorter

Includes

#include <gtk/gtk.h>

Description

GtkSorter is the way to describe sorting criteria. Its primary user is GtkSortListModel.

The model will use a sorter to determine the order in which its items should appear by calling gtk_sorter_compare() for pairs of items.

Sorters may change their sorting behavior through their lifetime. In that case, they will emit the “changed” signal to notify that the sort order is no longer valid and should be updated by calling gtk_sorter_compare() again.

GTK provides various pre-made sorter implementations for common sorting operations. GtkColumnView has built-in support for sorting lists via the “sorter” property, where the user can change the sorting by clicking on list headers.

Of course, in particular for large lists, it is also possible to subclass GtkSorter and provide one's own sorter.

Functions

gtk_sorter_compare ()

GtkOrdering
gtk_sorter_compare (GtkSorter *self,
                    gpointer item1,
                    gpointer item2);

Compares two given items according to the sort order implemented by the sorter.

Sorters implement a partial order:

  • It is reflexive, ie a = a

  • It is antisymmetric, ie if a < b and b < a, then a = b

  • It is transitive, ie given any 3 items with a ≤ b and b ≤ c, then a ≤ c

The sorter may signal it conforms to additional constraints via the return value of gtk_sorter_get_order().

Parameters

self

a GtkSorter

 

item1

first item to compare.

[type GObject][transfer none]

item2

second item to compare.

[type GObject][transfer none]

Returns

GTK_ORDERING_EQUAL if item1 == item2 , GTK_ORDERING_SMALLER if item1 < item2 , GTK_ORDERING_LARGER if item1 > item2


gtk_sorter_get_order ()

GtkSorterOrder
gtk_sorter_get_order (GtkSorter *self);

Gets the order that self conforms to. See GtkSorterOrder for details of the possible return values.

This function is intended to allow optimizations.

Parameters

self

a GtkSorter

 

Returns

The order


gtk_sorter_changed ()

void
gtk_sorter_changed (GtkSorter *self,
                    GtkSorterChange change);

Emits the “changed” signal to notify all users of the sorter that it has changed. Users of the sorter should then update the sort order via gtk_sorter_compare().

Depending on the change parameter, it may be possible to update the sort order without a full resorting. Refer to the GtkSorterChange documentation for details.

This function is intended for implementors of GtkSorter subclasses and should not be called from other functions.

Parameters

self

a GtkSorter

 

change

How the sorter changed

 

Types and Values

GtkSorter

typedef struct _GtkSorter GtkSorter;

enum GtkSorterOrder

Describes the type of order that a GtkSorter may describe.

Members

GTK_SORTER_ORDER_PARTIAL

A partial order. Any GtkOrdering is possible.

 

GTK_SORTER_ORDER_NONE

No order, all elements are considered equal. gtk_sorter_compare() will only return GTK_ORDERING_EQUAL.

 

GTK_SORTER_ORDER_TOTAL

A total order. gtk_sorter_compare() will only return GTK_ORDERING_EQUAL if an item is compared with itself. Two different items will never cause this value to be returned.

 

enum GtkSorterChange

Describes changes in a sorter in more detail and allows users to optimize resorting.

Members

GTK_SORTER_CHANGE_DIFFERENT

The sorter change cannot be described by any of the other enumeration values

 

GTK_SORTER_CHANGE_INVERTED

The sort order was inverted. Comparisons that returned GTK_ORDERING_SMALLER now return GTK_ORDERING_LARGER and vice versa. Other comparisons return the same values as before.

 

GTK_SORTER_CHANGE_LESS_STRICT

The sorter is less strict: Comparisons may now return GTK_ORDERING_EQUAL that did not do so before.

 

GTK_SORTER_CHANGE_MORE_STRICT

The sorter is more strict: Comparisons that did return GTK_ORDERING_EQUAL may not do so anymore.

 

Signal Details

The “changed” signal

void
user_function (GtkSorter      *self,
               GtkSorterChange change,
               gpointer        user_data)

This signal is emitted whenever the sorter changed. Users of the sorter should then update the sort order again via gtk_sorter_compare().

GtkSortListModel handles this signal automatically.

Depending on the change parameter, it may be possible to update the sort order without a full resorting. Refer to the GtkSorterChange documentation for details.

Parameters

self

The GtkSorter

 

change

how the sorter changed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkSortListModel

docs/reference/gtk/html/LayoutManagers.html0000664000175000017500000000740613710700534021155 0ustar mclasenmclasen Layout Managers: GTK 4 Reference Manual

Layout Managers

GtkLayoutManager — Base class for layout manager
GtkLayoutChild — An object containing layout properties
GtkBinLayout — A layout manager for bin-like widgets
GtkBoxLayout — Layout manager for placing all children in a single row or column
GtkCenterLayout — A centering layout
GtkFixedLayout — A layout manager that allows positioning at fixed coordinates
GtkGridLayout — Layout manager for grid-like widgets
GtkOverlayLayout — Layout manager that places widgets as overlays
GtkCustomLayout — A convenience layout manager
GtkConstraintLayout — A layout manager using constraints
GtkConstraint — The description of a constraint
GtkConstraintGuide — An invisible constraint target
docs/reference/gtk/html/ListContainers.html0000664000175000017500000006262613710700534021170 0ustar mclasenmclasen List-based Widgets: GTK 4 Reference Manual

List-based Widgets

List Widget Overview
Terminology
Behind the scenes
Choosing the right model
Displaying trees
Comparison to GtkTreeView
GtkListItem — Object used to represent items of a list model
GtkListItemFactory — Mapping list items to widgets
GtkSignalListItemFactory — A listitem factory providing signals
GtkBuilderListItemFactory — A listitem factory using ui files
GtkListView — A widget for displaying lists
GtkGridView — A widget for displaying grids
GtkColumnView — A widget for displaying lists in multiple columns
GtkColumnViewColumn — The column added to GtkColumnView
GtkDropDown — Choose an item from a list

List Widget Overview

GTK provides powerful widgets to display and edit lists of data. This document gives an overview over the concepts and how they work together to allow developers to implement lists.

Lists are intended to be used whenever developers want to display many objects in roughly the same way.

Lists are perfectly fine to be used for very short list of only 2 or 3 elements, but generally scale fine to millions of items. Of course, the larger the list grows, the more care needs to be taken to choose the right data structures to keep things running well.

Lists are meant to be used with changing data, both with the items itself changing as well as the list adding and removing items. Of course, they work just as well with static data.

Terminology

These terms are used throughout the documentation when talking about lists and you should be aware of what they refer to. These are often generic terms that have a specific meaning in this context.

Views or list widgets are the widgets that hold and manage the lists. Examples of these widgets would be GtkListView or GtkGridView.

Views display data from a model. A model is a GListModel and models can be provided in 3 ways or combinations thereof:

  • Many list models implementations already exist. There are models that provide specific data, like GtkDirectoryList. And there are models like GListStore that allow building lists manually.

  • Wrapping list models like GtkFilterListModel or GtkSortListModel modify, adapt or combine other models.

  • Last but not least, developers are encouraged to create their own GListModel implementations. The interface is kept deliberately small to make this easy.

The same model can be used in multiple different views and wrapped with multiple different models at once.

The elements in a model are called items. All items are GObjects.

Every item in a model has a position which is the unsigned integer that describes where in the model the item is located. The first item in a model is at position 0. The position of an item can of course change as other items are added or removed from the model.

It is important to be aware of the difference between items and positions because the mapping from position to item is not permanent, so developers should think about whether they want to track items or positions when working with models. Oftentimes some things are really hard to do one way but very easy the other way.

The other important part of a view is a factory. Each factory is a GtkListItemFactory implementation that takes care of mapping the items of the model to widgets that can be shown in the view.

The way factories do this is by creating a listitem for each item that is currently in use. Listitems are always GtkListItem objects. They are only ever created by GTK and provide information about what item they are meant to display.

Different factory implementations use various different methods to allow developers to add the right widgets to listitems and to link those widgets with the item managed by the listitem. Finding a suitable factory implementation for the data displayed, the programming language and development environment is an important task that can simplify setting up the view tremendously.

Views support selections via a selection model. A selection model is an implementation of the GtkSelectionModel interface on top of the GListModel interface that allows marking each item in a model as either selected or not selected. Just like regular models, this can be implemented either by implementing GtkSelectionModel directly or by wrapping a model with one of the GTK models provided for this purposes, such as GtkNoSelection or GtkSingleSelection.

The behavior of selection models - ie which items they allow selecting and what effect this has on other items - is completely up to the selection model. As such, single-selections, multi-selections or sharing selection state between different selection models and/or views is possible. The selection state of an item is exposed in the listitem via the “selected” property.

Views and listitems also support activation. Activation means that double clicking or pressing enter while inside a focused row will cause the view to emit and activation signal such as “activate”. This provides an easy way to set up lists, but can also be turned off on listitems if undesired.

Both selections and activation are supported among other things via widget actions. This allows developers to add widgets to their lists that cause selections to change or to trigger activation via the GtkActionable interface. For a list of all supported actions see the relevant documentation.

Behind the scenes

While for short lists it is not a problem to instantiate widgets for every item in the model, once lists grow to thousands or millions of elements, this gets less feasible. Because of this, the views only create a limited amount of listitems and recycle them by binding them to new items. In general, views try to keep listitems available only for the items that can actually be seen on screen.

While this behavior allows views to scale effortlessly to huge lists, it has a few implication on what can be done with views. For example, it is not possible to query a view for a listitem used for a certain position - there might not be one and even if there is, that listitem might soon be recycled for a new position.

It is also important that developers save state they care about in the item and do not rely on the widgets they created as those widgets can be recycled for a new position at any time causing any state to be lost.

Another important requirement for views is that they need to know which items are not visible so they can be recycled. Views achieve that by implementing the GtkScrollable interface and expecting to be placed directly into a GtkScrolledWindow.

Of course, if you are only using models with few items, this is not important and you can treat views like any other widget. But if you use large lists and your performance suffers, you should be aware of this. Views also allow tuning the number of listitems they create such as with gtk_grid_view_set_max_columns(), and developers running into performance problems should definitely study the tradeoffs of those and experiment with them.

Choosing the right model

GTK offers a wide variety of wrapping models which change or supplement an existing model (or models) in some way. But when it comes to storing your actual data, there are only a few ready-made choices available: GListStore and GtkStringList.

GListStore is backed by a balanced tree and has performance characteristics that are expected for that data structure. It works reasonably well for dataset sizes in the 1,000,000 range, and can handle insertions and deletions. It uses a cached iter to make linear access to the items fast.

GtkStringList is not a general store - it can only handle strings. It is backed by an dynamically allocated array and has performance characteristics that are expected for that data structure. GtkStringList is a good fit for any place where you would otherwise use char*[] and works best if the dataset is not very dynamic.

If these models don’t fit your use case or scalability requirements, you should make a custom GListModel. It is a small interface and not very hard to implement.

For asymptotic performance comparisons between tree- and array-based implementations, see this article.

Displaying trees

While GtkTreeView provided built-in support for trees, the list widgets, and in particular GListModel do not. This was a design choice because the common use case is displaying lists and not trees and it greatly simplifies the API interface provided.

However, GTK provides functionality to make trees look and behave like lists for the people who still want to display lists. This is achieved by using the GtkTreeListModel model to flatten a tree into a list. The GtkTreeExpander widget can then be used inside a listitem to allow users to expand and collapse rows and provide a similar experience to GtkTreeView.

Developers should refer to those objects’ API reference for more discussion on the topic.

Comparison to GtkTreeView

Developers familiar with GtkTreeView may wonder how this way of doing lists compares to the way they know. This section will try to outline the similarities and differences between the two.

This new approach tries to provide roughly the same functionality as the old approach but often uses a very different approach to achieve these goals.

The main difference and one of the primary reasons for this new development is that items can be displayed using regular widgets and GtkCellRenderer is no longer necessary. This allows all benefits that widgets provide, such as complex layout and animating widgets and not only makes cell renderers obsolete, but also GtkCellArea.

The other big difference is the massive change to the data model. GtkTreeModel was a rather complex interface for a tree data structure and GListModel was deliberately designed to be a simple data structure for lists only. (See above) for how to still do trees with this new model.) Another big change is that the new model allows for bulk changes via the “items-changed” signal while GtkTreeModel only allows a single item to change at once. The goal here is of course to encourage implementation of custom list models.

Another consequence of the new model is that it is now easily possible to refer to the contents of a row in the model directly by keeping the item, while GtkTreeRowReference was a very slow mechanism to achieve the same. And because the items are real objects, developers can make them emit change signals causing listitems and their children to update, which wasn’t possible with GtkTreeModel.

The selection handling is also different. While selections used to be managed via custom code in each widget, selection state is now meant to be managed by the selection models. In particular this allows for complex use cases with specialized requirements.

Finally here’s a quick list of equivalent functionality to look for when transitioning code for easy lookup:

docs/reference/gtk/html/GtkRevealer.html0000664000175000017500000007124413710700534020436 0ustar mclasenmclasen GtkRevealer: GTK 4 Reference Manual

GtkRevealer

GtkRevealer — Hide and show with animation

Properties

GtkWidget * child Read / Write
gboolean child-revealed Read
gboolean reveal-child Read / Write / Construct
guint transition-duration Read / Write / Construct
GtkRevealerTransitionType transition-type Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkRevealer

Implemented Interfaces

GtkRevealer implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkRevealer widget is a container which animates the transition of its child from invisible to visible.

The style of transition can be controlled with gtk_revealer_set_transition_type().

These animations respect the “gtk-enable-animations” setting.

CSS nodes

GtkRevealer has a single CSS node with name revealer. When styling GtkRevealer using CSS, remember that it only hides its contents, not itself. That means applied margin, padding and borders will be visible even when the “reveal-child” property is set to FALSE.

The GtkRevealer widget was added in GTK+ 3.10.

Functions

gtk_revealer_new ()

GtkWidget *
gtk_revealer_new (void);

Creates a new GtkRevealer.

Returns

a newly created GtkRevealer


gtk_revealer_get_child ()

GtkWidget *
gtk_revealer_get_child (GtkRevealer *revealer);

Gets the child widget of revealer .

Parameters

revealer

a GtkRevealer

 

Returns

the child widget of revealer .

[nullable][transfer none]


gtk_revealer_set_child ()

void
gtk_revealer_set_child (GtkRevealer *revealer,
                        GtkWidget *child);

Sets the child widget of revealer .

Parameters

revealer

a GtkRevealer

 

child

the child widget.

[allow-none]

gtk_revealer_get_reveal_child ()

gboolean
gtk_revealer_get_reveal_child (GtkRevealer *revealer);

Returns whether the child is currently revealed. See gtk_revealer_set_reveal_child().

This function returns TRUE as soon as the transition is to the revealed state is started. To learn whether the child is fully revealed (ie the transition is completed), use gtk_revealer_get_child_revealed().

Parameters

revealer

a GtkRevealer

 

Returns

TRUE if the child is revealed.


gtk_revealer_set_reveal_child ()

void
gtk_revealer_set_reveal_child (GtkRevealer *revealer,
                               gboolean reveal_child);

Tells the GtkRevealer to reveal or conceal its child.

The transition will be animated with the current transition type of revealer .

Parameters

revealer

a GtkRevealer

 

reveal_child

TRUE to reveal the child

 

gtk_revealer_get_child_revealed ()

gboolean
gtk_revealer_get_child_revealed (GtkRevealer *revealer);

Returns whether the child is fully revealed, in other words whether the transition to the revealed state is completed.

Parameters

revealer

a GtkRevealer

 

Returns

TRUE if the child is fully revealed


gtk_revealer_get_transition_duration ()

guint
gtk_revealer_get_transition_duration (GtkRevealer *revealer);

Returns the amount of time (in milliseconds) that transitions will take.

Parameters

revealer

a GtkRevealer

 

Returns

the transition duration


gtk_revealer_set_transition_duration ()

void
gtk_revealer_set_transition_duration (GtkRevealer *revealer,
                                      guint duration);

Sets the duration that transitions will take.

Parameters

revealer

a GtkRevealer

 

duration

the new duration, in milliseconds

 

gtk_revealer_get_transition_type ()

GtkRevealerTransitionType
gtk_revealer_get_transition_type (GtkRevealer *revealer);

Gets the type of animation that will be used for transitions in revealer .

Parameters

revealer

a GtkRevealer

 

Returns

the current transition type of revealer


gtk_revealer_set_transition_type ()

void
gtk_revealer_set_transition_type (GtkRevealer *revealer,
                                  GtkRevealerTransitionType transition);

Sets the type of animation that will be used for transitions in revealer . Available types include various kinds of fades and slides.

Parameters

revealer

a GtkRevealer

 

transition

the new transition type

 

Types and Values

GtkRevealer

typedef struct _GtkRevealer GtkRevealer;

enum GtkRevealerTransitionType

These enumeration values describe the possible transitions when the child of a GtkRevealer widget is shown or hidden.

Members

GTK_REVEALER_TRANSITION_TYPE_NONE

No transition

 

GTK_REVEALER_TRANSITION_TYPE_CROSSFADE

Fade in

 

GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT

Slide in from the left

 

GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT

Slide in from the right

 

GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP

Slide in from the bottom

 

GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN

Slide in from the top

 

GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT

Floop in from the left

 

GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT

Floop in from the right

 

GTK_REVEALER_TRANSITION_TYPE_SWING_UP

Floop in from the bottom

 

GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN

Floop in from the top

 

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkRevealer

Flags: Read / Write


The “child-revealed” property

  “child-revealed”           gboolean

Whether the child is revealed and the animation target reached.

Owner: GtkRevealer

Flags: Read

Default value: FALSE


The “reveal-child” property

  “reveal-child”             gboolean

Whether the container should reveal the child.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: FALSE


The “transition-duration” property

  “transition-duration”      guint

The animation duration, in milliseconds.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: 250


The “transition-type” property

  “transition-type”          GtkRevealerTransitionType

The type of animation used to transition.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN

See Also

GtkExpander

docs/reference/gtk/html/GtkSpinner.html0000664000175000017500000003063113710700534020302 0ustar mclasenmclasen GtkSpinner: GTK 4 Reference Manual

GtkSpinner

GtkSpinner — Show a spinner animation

Properties

gboolean spinning Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSpinner

Implemented Interfaces

GtkSpinner implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkSpinner widget displays an icon-size spinning animation. It is often used as an alternative to a GtkProgressBar for displaying indefinite activity, instead of actual progress.

To start the animation, use gtk_spinner_start(), to stop it use gtk_spinner_stop().

CSS nodes

GtkSpinner has a single CSS node with the name spinner. When the animation is active, the :checked pseudoclass is added to this node.

Functions

gtk_spinner_new ()

GtkWidget *
gtk_spinner_new (void);

Returns a new spinner widget. Not yet started.

Returns

a new GtkSpinner


gtk_spinner_start ()

void
gtk_spinner_start (GtkSpinner *spinner);

Starts the animation of the spinner.

Parameters

spinner

a GtkSpinner

 

gtk_spinner_stop ()

void
gtk_spinner_stop (GtkSpinner *spinner);

Stops the animation of the spinner.

Parameters

spinner

a GtkSpinner

 

gtk_spinner_set_spinning ()

void
gtk_spinner_set_spinning (GtkSpinner *spinner,
                          gboolean spinning);

Sets the activity of the spinner.

Parameters

spinner

a GtkSpinner

 

spinning

whether the spinner should be spinning

 

gtk_spinner_get_spinning ()

gboolean
gtk_spinner_get_spinning (GtkSpinner *spinner);

Returns whether the spinner is spinning.

Parameters

spinner

a GtkSpinner

 

Returns

TRUE if the spinner is active

Types and Values

GtkSpinner

typedef struct _GtkSpinner GtkSpinner;

Property Details

The “spinning” property

  “spinning”                 gboolean

Whether the spinner is spinning.

Owner: GtkSpinner

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkStringFilter.html0000664000175000017500000006076313710700534021311 0ustar mclasenmclasen GtkStringFilter: GTK 4 Reference Manual

GtkStringFilter

GtkStringFilter — Filtering by strings

Properties

GtkExpression * expression Read / Write
gboolean ignore-case Read / Write
GtkStringFilterMatchMode match-mode Read / Write
gchar * search Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilter
        ╰── GtkStringFilter

Includes

#include <gtk/gtk.h>

Description

GtkStringFilter determines whether to include items by looking at strings and comparing them to a fixed search term. The strings are obtained from the items by evaluating a GtkExpression.

GtkStringFilter has several different modes of comparison - it can match the whole string, just a prefix, or any substring.

Functions

gtk_string_filter_new ()

GtkFilter *
gtk_string_filter_new (GtkExpression *expression);

Creates a new string filter.

You will want to set up the filter by providing a string to search for and by providing a property to look up on the item.

Parameters

expression

The expression to evaluate or NULL for none.

[transfer full][nullable]

Returns

a new GtkStringFilter


gtk_string_filter_get_search ()

const char *
gtk_string_filter_get_search (GtkStringFilter *self);

Gets the search string set via gtk_string_filter_set_search().

Parameters

self

a GtkStringFilter

 

Returns

The search string.

[allow-none][transfer none]


gtk_string_filter_set_search ()

void
gtk_string_filter_set_search (GtkStringFilter *self,
                              const char *search);

Sets the string to search for.

Parameters

self

a GtkStringFilter

 

search

The string to search for or NULL to clear the search.

[transfer none][nullable]

gtk_string_filter_get_expression ()

GtkExpression *
gtk_string_filter_get_expression (GtkStringFilter *self);

Gets the expression that the string filter uses to obtain strings from items.

Parameters

self

a GtkStringFilter

 

Returns

a GtkExpression.

[transfer none]


gtk_string_filter_set_expression ()

void
gtk_string_filter_set_expression (GtkStringFilter *self,
                                  GtkExpression *expression);

Sets the expression that the string filter uses to obtain strings from items. The expression must have a value type of G_TYPE_STRING.

Parameters

self

a GtkStringFilter

 

expression

a GtkExpression

 

gtk_string_filter_get_ignore_case ()

gboolean
gtk_string_filter_get_ignore_case (GtkStringFilter *self);

Returns whether the filter ignores case differences.

Parameters

self

a GtkStringFilter

 

Returns

TRUE if the filter ignores case


gtk_string_filter_set_ignore_case ()

void
gtk_string_filter_set_ignore_case (GtkStringFilter *self,
                                   gboolean ignore_case);

Sets whether the filter ignores case differences.

Parameters

self

a GtkStringFilter

 

ignore_case

TRUE to ignore case

 

gtk_string_filter_get_match_mode ()

GtkStringFilterMatchMode
gtk_string_filter_get_match_mode (GtkStringFilter *self);

Returns the match mode that the filter is using.

Parameters

self

a GtkStringFilter

 

Returns

the match mode of the filter


gtk_string_filter_set_match_mode ()

void
gtk_string_filter_set_match_mode (GtkStringFilter *self,
                                  GtkStringFilterMatchMode mode);

Sets the match mode for the filter.

Parameters

self

a GtkStringFilter

 

mode

the new match mode

 

Types and Values

GtkStringFilter

typedef struct _GtkStringFilter GtkStringFilter;

enum GtkStringFilterMatchMode

Specifies how search strings are matched inside text.

Members

GTK_STRING_FILTER_MATCH_MODE_EXACT

The search string and text must match exactly.

 

GTK_STRING_FILTER_MATCH_MODE_SUBSTRING

The search string must be contained as a substring inside the text.

 

GTK_STRING_FILTER_MATCH_MODE_PREFIX

The text must begin with the search string.

 

Property Details

The “expression” property

  “expression”               GtkExpression *

The expression to evalute on item to get a string to compare with

[type GtkExpression]

Owner: GtkStringFilter

Flags: Read / Write


The “ignore-case” property

  “ignore-case”              gboolean

If matching is case sensitive

Owner: GtkStringFilter

Flags: Read / Write

Default value: TRUE


The “match-mode” property

  “match-mode”               GtkStringFilterMatchMode

If exact matches are necessary or if substrings are allowed

Owner: GtkStringFilter

Flags: Read / Write

Default value: GTK_STRING_FILTER_MATCH_MODE_SUBSTRING


The “search” property

  “search”                   gchar *

The search term

Owner: GtkStringFilter

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/ch01s04.html0000664000175000017500000002112313710700534017274 0ustar mclasenmclasen Custom Drawing: GTK 4 Reference Manual

Custom Drawing

Many widgets, like buttons, do all their drawing themselves. You just tell them the label you want to see, and they figure out what font to use, draw the button outline and focus rectangle, etc. Sometimes, it is necessary to do some custom drawing. In that case, a GtkDrawingArea might be the right widget to use. It offers a canvas on which you can draw by connecting to the ::draw signal.

The contents of a widget often need to be partially or fully redrawn, e.g. when another window is moved and uncovers part of the widget, or when the window containing it is resized. It is also possible to explicitly cause part or all of the widget to be redrawn, by calling gtk_widget_queue_draw() or its variants. GTK takes care of most of the details by providing a ready-to-use cairo context to the ::draw signal handler.

The following example shows a ::draw signal handler. It is a bit more complicated than the previous examples, since it also demonstrates input event handling by means of event controllers.

Figure 4. Drawing

Drawing

Drawing in response to input

Create a new file with the following content named example-4.c.

#include <gtk/gtk.h>

/* Surface to store current scribbles */
static cairo_surface_t *surface = NULL;

static void
clear_surface (void)
{
  cairo_t *cr;

  cr = cairo_create (surface);

  cairo_set_source_rgb (cr, 1, 1, 1);
  cairo_paint (cr);

  cairo_destroy (cr);
}

/* Create a new surface of the appropriate size to store our scribbles */
static void
resize_cb (GtkWidget *widget,
           int        width,
           int        height,
           gpointer   data)
{
  if (surface)
    {
      cairo_surface_destroy (surface);
      surface = NULL;
    }

  if (gtk_native_get_surface (gtk_widget_get_native (widget)))
    {
      surface = gdk_surface_create_similar_surface (gtk_native_get_surface (gtk_widget_get_native (widget)),
                                                   CAIRO_CONTENT_COLOR,
                                                   gtk_widget_get_width (widget),
                                                   gtk_widget_get_height (widget));

      /* Initialize the surface to white */
      clear_surface();
    }
}

/* Redraw the screen from the surface. Note that the draw
 * callback receives a ready-to-be-used cairo_t that is already
 * clipped to only draw the exposed areas of the widget
 */
static void
draw_cb (GtkDrawingArea *drawing_area,
         cairo_t        *cr,
         int             width,
         int             height,
         gpointer        data)
{
  cairo_set_source_surface (cr, surface, 0, 0);
  cairo_paint (cr);
}

/* Draw a rectangle on the surface at the given position */
static void
draw_brush (GtkWidget *widget,
            double     x,
            double     y)
{
  cairo_t *cr;

  /* Paint to the surface, where we store our state */
  cr = cairo_create (surface);

  cairo_rectangle (cr, x - 3, y - 3, 6, 6);
  cairo_fill (cr);

  cairo_destroy (cr);

  /* Now invalidate the drawing area. */
  gtk_widget_queue_draw (widget);
}

static double start_x;
static double start_y;

static void
drag_begin (GtkGestureDrag *gesture,
            double          x,
            double          y,
            GtkWidget      *area)
{
  start_x = x;
  start_y = y;

  draw_brush (area, x, y);
}

static void
drag_update (GtkGestureDrag *gesture,
             double          x,
             double          y,
             GtkWidget      *area)
{
  draw_brush (area, start_x + x, start_y + y);
}

static void
drag_end (GtkGestureDrag *gesture,
          double          x,
          double          y,
          GtkWidget      *area)
{
  draw_brush (area, start_x + x, start_y + y);
}

static void
pressed (GtkGestureClick *gesture,
         int              n_press,
         double           x,
         double           y,
         GtkWidget       *area)
{
  clear_surface();
  gtk_widget_queue_draw (area);
}

static void
close_window (void)
{
  if (surface)
    cairo_surface_destroy (surface);
}

static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *frame;
  GtkWidget *drawing_area;
  GtkGesture *drag;
  GtkGesture *press;

  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");

  g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL);

  frame = gtk_frame_new (NULL);
  gtk_window_set_child (GTK_WINDOW (window), frame);

  drawing_area = gtk_drawing_area_new();
  /* set a minimum size */
  gtk_widget_set_size_request (drawing_area, 100, 100);

  gtk_frame_set_child (GTK_FRAME (frame), drawing_area);

  gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (drawing_area), draw_cb, NULL, NULL);

  g_signal_connect_after (drawing_area, "resize", G_CALLBACK (resize_cb), NULL);

  drag = gtk_gesture_drag_new();
  gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (drag), GDK_BUTTON_PRIMARY);
  gtk_widget_add_controller (drawing_area, GTK_EVENT_CONTROLLER (drag));
  g_signal_connect (drag, "drag-begin", G_CALLBACK (drag_begin), drawing_area);
  g_signal_connect (drag, "drag-update", G_CALLBACK (drag_update), drawing_area);
  g_signal_connect (drag, "drag-end", G_CALLBACK (drag_end), drawing_area);

  press = gtk_gesture_click_new();
  gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (press), GDK_BUTTON_SECONDARY);
  gtk_widget_add_controller (drawing_area, GTK_EVENT_CONTROLLER (press));

  g_signal_connect (press, "pressed", G_CALLBACK (pressed), drawing_area);

  gtk_widget_show (window);
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

You can compile the program above with GCC using:

gcc `pkg-config --cflags gtk4` -o example-4 example-4.c `pkg-config --libs gtk4`
docs/reference/gtk/html/GtkScaleButton.html0000664000175000017500000007676313710700534021127 0ustar mclasenmclasen GtkScaleButton: GTK 4 Reference Manual

GtkScaleButton

GtkScaleButton — A button which pops up a scale

Properties

GtkAdjustment * adjustment Read / Write
GStrv icons Read / Write
gdouble value Read / Write

Signals

void popdown Action
void popup Action
void value-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkScaleButton
                ╰── GtkVolumeButton

Implemented Interfaces

GtkScaleButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkScaleButton 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 GtkVolumeButton subclass that is tailored for this use case.

CSS nodes

GtkScaleButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .scale style class.

Functions

gtk_scale_button_new ()

GtkWidget *
gtk_scale_button_new (double min,
                      double max,
                      double step,
                      const char **icons);

Creates a GtkScaleButton, with a range between min and max , with a stepping of step .

Parameters

min

the minimum value of the scale (usually 0)

 

max

the maximum value of the scale (usually 100)

 

step

the stepping of value when a scroll-wheel event, or up/down arrow event occurs (usually 2)

 

icons

a NULL-terminated array of icon names, or NULL if you want to set the list later with gtk_scale_button_set_icons().

[allow-none][array zero-terminated=1]

Returns

a new GtkScaleButton


gtk_scale_button_set_adjustment ()

void
gtk_scale_button_set_adjustment (GtkScaleButton *button,
                                 GtkAdjustment *adjustment);

Sets the GtkAdjustment to be used as a model for the GtkScaleButton’s scale. See gtk_range_set_adjustment() for details.

Parameters

button

a GtkScaleButton

 

adjustment

a GtkAdjustment

 

gtk_scale_button_set_icons ()

void
gtk_scale_button_set_icons (GtkScaleButton *button,
                            const char **icons);

Sets the icons to be used by the scale button. For details, see the “icons” property.

Parameters

button

a GtkScaleButton

 

icons

a NULL-terminated array of icon names.

[array zero-terminated=1]

gtk_scale_button_set_value ()

void
gtk_scale_button_set_value (GtkScaleButton *button,
                            double value);

Sets the current value of the scale; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The scale button emits the “value-changed” signal if the value changes.

Parameters

button

a GtkScaleButton

 

value

new value of the scale button

 

gtk_scale_button_get_adjustment ()

GtkAdjustment *
gtk_scale_button_get_adjustment (GtkScaleButton *button);

Gets the GtkAdjustment associated with the GtkScaleButton’s scale. See gtk_range_get_adjustment() for details.

Parameters

button

a GtkScaleButton

 

Returns

the adjustment associated with the scale.

[transfer none]


gtk_scale_button_get_value ()

double
gtk_scale_button_get_value (GtkScaleButton *button);

Gets the current value of the scale button.

Parameters

button

a GtkScaleButton

 

Returns

current value of the scale button


gtk_scale_button_get_popup ()

GtkWidget *
gtk_scale_button_get_popup (GtkScaleButton *button);

Retrieves the popup of the GtkScaleButton.

Parameters

button

a GtkScaleButton

 

Returns

the popup of the GtkScaleButton.

[transfer none]


gtk_scale_button_get_plus_button ()

GtkWidget *
gtk_scale_button_get_plus_button (GtkScaleButton *button);

Retrieves the plus button of the GtkScaleButton.

Parameters

button

a GtkScaleButton

 

Returns

the plus button of the GtkScaleButton as a GtkButton.

[transfer none][type Gtk.Button]


gtk_scale_button_get_minus_button ()

GtkWidget *
gtk_scale_button_get_minus_button (GtkScaleButton *button);

Retrieves the minus button of the GtkScaleButton.

Parameters

button

a GtkScaleButton

 

Returns

the minus button of the GtkScaleButton as a GtkButton.

[transfer none][type Gtk.Button]

Types and Values

struct GtkScaleButton

struct GtkScaleButton;

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The GtkAdjustment that contains the current value of this scale button object.

Owner: GtkScaleButton

Flags: Read / Write


The “icons” property

  “icons”                    GStrv

The names of the icons to be used by the scale button. The first item in the array 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.

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%.

It is recommended to use at least 3 icons so that the GtkScaleButton reflects the current value of the scale better for the users.

Owner: GtkScaleButton

Flags: Read / Write


The “value” property

  “value”                    gdouble

The value of the scale.

Owner: GtkScaleButton

Flags: Read / Write

Default value: 0

Signal Details

The “popdown” signal

void
user_function (GtkScaleButton *button,
               gpointer        user_data)

The ::popdown signal is a keybinding signal which gets emitted to popdown the scale widget.

The default binding for this signal is Escape.

Parameters

button

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “popup” signal

void
user_function (GtkScaleButton *button,
               gpointer        user_data)

The ::popup signal is a keybinding signal which gets emitted to popup the scale widget.

The default bindings for this signal are Space, Enter and Return.

Parameters

button

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “value-changed” signal

void
user_function (GtkScaleButton *button,
               gdouble         value,
               gpointer        user_data)

The ::value-changed signal is emitted when the value field has changed.

Parameters

button

the object which received the signal

 

value

the new value

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkStatusbar.html0000664000175000017500000005201713710700534020636 0ustar mclasenmclasen GtkStatusbar: GTK 4 Reference Manual

GtkStatusbar

GtkStatusbar — Report messages of minor importance to the user

Signals

void text-popped Run Last
void text-pushed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkStatusbar

Implemented Interfaces

GtkStatusbar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkStatusbar is usually placed along the bottom of an application's main GtkWindow. 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).

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.

Any messages added to a statusbar’s stack must specify a context id that is used to uniquely identify the source of a message. This context id can be generated by gtk_statusbar_get_context_id(), given a message and the statusbar that it will be added to. 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 identifier of a message.

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 ids).

Status bars are created using gtk_statusbar_new().

Messages are added to the bar’s stack with gtk_statusbar_push().

The message at the top of the stack can be removed using gtk_statusbar_pop(). A message can be removed from anywhere in the stack if its message id was recorded at the time it was added. This is done using gtk_statusbar_remove().

CSS node

GtkStatusbar has a single CSS node with name statusbar.

Functions

gtk_statusbar_new ()

GtkWidget *
gtk_statusbar_new (void);

Creates a new GtkStatusbar ready for messages.

Returns

the new GtkStatusbar


gtk_statusbar_get_context_id ()

guint
gtk_statusbar_get_context_id (GtkStatusbar *statusbar,
                              const char *context_description);

Returns a new context identifier, given a description of the actual context. Note that the description is not shown in the UI.

Parameters

statusbar

a GtkStatusbar

 

context_description

textual description of what context the new message is being used in

 

Returns

an integer id


gtk_statusbar_push ()

guint
gtk_statusbar_push (GtkStatusbar *statusbar,
                    guint context_id,
                    const char *text);

Pushes a new message onto a statusbar’s stack.

Parameters

statusbar

a GtkStatusbar

 

context_id

the message’s context id, as returned by gtk_statusbar_get_context_id()

 

text

the message to add to the statusbar

 

Returns

a message id that can be used with gtk_statusbar_remove().


gtk_statusbar_pop ()

void
gtk_statusbar_pop (GtkStatusbar *statusbar,
                   guint context_id);

Removes the first message in the GtkStatusbar’s stack with the given context id.

Note that this may not change the displayed message, if the message at the top of the stack has a different context id.

Parameters

statusbar

a GtkStatusbar

 

context_id

a context identifier

 

gtk_statusbar_remove ()

void
gtk_statusbar_remove (GtkStatusbar *statusbar,
                      guint context_id,
                      guint message_id);

Forces the removal of a message from a statusbar’s stack. The exact context_id and message_id must be specified.

Parameters

statusbar

a GtkStatusbar

 

context_id

a context identifier

 

message_id

a message identifier, as returned by gtk_statusbar_push()

 

gtk_statusbar_remove_all ()

void
gtk_statusbar_remove_all (GtkStatusbar *statusbar,
                          guint context_id);

Forces the removal of all messages from a statusbar's stack with the exact context_id .

Parameters

statusbar

a GtkStatusbar

 

context_id

a context identifier

 

Types and Values

GtkStatusbar

typedef struct _GtkStatusbar GtkStatusbar;

Signal Details

The “text-popped” signal

void
user_function (GtkStatusbar *statusbar,
               guint         context_id,
               gchar        *text,
               gpointer      user_data)

Is emitted whenever a new message is popped off a statusbar's stack.

Parameters

statusbar

the object which received the signal

 

context_id

the context id of the relevant message/statusbar

 

text

the message that was just popped

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “text-pushed” signal

void
user_function (GtkStatusbar *statusbar,
               guint         context_id,
               gchar        *text,
               gpointer      user_data)

Is emitted whenever a new message gets pushed onto a statusbar's stack.

Parameters

statusbar

the object which received the signal

 

context_id

the context id of the relevant message/statusbar

 

text

the message that was pushed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkStringList.html0000664000175000017500000006027513710700534020775 0ustar mclasenmclasen GtkStringList: GTK 4 Reference Manual

GtkStringList

GtkStringList — A list model for strings

Properties

gchar * string Read

Types and Values

Object Hierarchy

    GObject
    ├── GtkStringList
    ╰── GtkStringObject

Implemented Interfaces

GtkStringList implements GtkBuildable and GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkStringList is a list model that wraps an array of strings.

The objects in the model have a "string" property.

GtkStringList is well-suited for any place where you would typically use a char*[], but need a list model.

GtkStringList as GtkBuildable

The GtkStringList implementation of the GtkBuildable interface supports adding items directly using the <items> element and specifying <item> elements for each item. Each <item> element supports the regular translation attributes “translatable”, “context” and “comments”.

Here is a UI definition fragment specifying a GtkStringList

1
2
3
4
5
6
7
<object class="GtkStringList">
  <items>
    <item translatable="yes">Factory</item>
    <item translatable="yes">Home</item>
    <item translatable="yes">Subway</item>
  </items>
</object>

Functions

gtk_string_list_new ()

GtkStringList *
gtk_string_list_new (const char * const *strings);

Creates a new GtkStringList with the given strings .

Parameters

strings

The strings to put in the model.

[array zero-terminated=1][nullable]

Returns

a new GtkStringList


gtk_string_list_append ()

void
gtk_string_list_append (GtkStringList *self,
                        const char *string);

Appends string to self .

The string will be copied. See gtk_string_list_take() for a way to avoid that.

Parameters

self

a GtkStringList

 

string

the string to insert

 

gtk_string_list_take ()

void
gtk_string_list_take (GtkStringList *self,
                      char *string);

Adds string to self at the end, and takes ownership of it.

This variant of gtk_string_list_append() is convenient for formatting strings:

1
gtk_string_list_take (self, g_strdup_print ("%d dollars", lots));

Parameters

self

a GtkStringList

 

string

the string to insert.

[transfer full]

gtk_string_list_remove ()

void
gtk_string_list_remove (GtkStringList *self,
                        guint position);

Removes the string at position from self . position must be smaller than the current length of the list.

Parameters

self

a GtkStringList

 

position

the position of the string that is to be removed

 

gtk_string_list_splice ()

void
gtk_string_list_splice (GtkStringList *self,
                        guint position,
                        guint n_removals,
                        const char * const *additions);

Changes self by removing n_removals strings and adding additions to it.

This function is more efficient than gtk_string_list_insert() and gtk_string_list_remove(), because it only emits “items-changed” once for the change.

This function takes a ref on each item in additions .

The parameters position and n_removals must be correct (ie: position + n_removals must be less than or equal to the length of the list at the time this function is called).

Parameters

self

a GtkStringList

 

position

the position at which to make the change

 

n_removals

the number of strings to remove

 

additions

The strings to add.

[array zero-terminated=1][nullable]

gtk_string_list_get_string ()

const char *
gtk_string_list_get_string (GtkStringList *self,
                            guint position);

Gets the string that is at position in self . If self does not contain position items, NULL is returned.

This function returns the const char *. To get the object wrapping it, use g_list_model_get_item().

Parameters

self

a GtkStringList

 

position

the position to get the string for

 

Returns

the string at the given position


gtk_string_object_new ()

GtkStringObject *
gtk_string_object_new (const char *string);

Wraps a string in an object for use with GListModel

Parameters

string

The string to wrap.

[not nullable]

Returns

a new GtkStringObject


gtk_string_object_get_string ()

const char *
gtk_string_object_get_string (GtkStringObject *self);

Returns the string contained in a GtkStringObject.

Parameters

self

a GtkStringObject

 

Returns

the string of self

Types and Values

GtkStringList

typedef struct _GtkStringList GtkStringList;

GtkStringObject

typedef struct _GtkStringObject GtkStringObject;

Property Details

The “string” property

  “string”                   gchar *

String.

Owner: GtkStringObject

Flags: Read

Default value: NULL

See Also

GListModel

docs/reference/gtk/html/ch01s05.html0000664000175000017500000001615313710700534017304 0ustar mclasenmclasen Building user interfaces: GTK 4 Reference Manual

Building user interfaces

When constructing a more complicated user interface, with dozens or hundreds of widgets, doing all the setup work in C code is cumbersome, and making changes becomes next to impossible.

Thankfully, GTK supports the separation of user interface layout from your business logic, by using UI descriptions in an XML format that can be parsed by the GtkBuilder class.</para>

Packing buttons with GtkBuilder

Create a new file with the following content named example-3.c.

#include <gtk/gtk.h>
#include <glib/gstdio.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

static void
quit_cb (GtkWidget *widget, gpointer data)
{
  gboolean *done = data;

  *done = TRUE;

  g_main_context_wakeup (NULL);
}

int
main (int   argc,
      char *argv[])
{
  GtkBuilder *builder;
  GObject *window;
  GObject *button;
  gboolean done = FALSE;

#ifdef GTK_SRCDIR
  g_chdir (GTK_SRCDIR);
#endif

  gtk_init();

  /* Construct a GtkBuilder instance and load our UI description */
  builder = gtk_builder_new();
  gtk_builder_add_from_file (builder, "builder.ui", NULL);

  /* Connect signal handlers to the constructed widgets. */
  window = gtk_builder_get_object (builder, "window");
  g_signal_connect (window, "destroy", G_CALLBACK (quit_cb), &done);

  button = gtk_builder_get_object (builder, "button1");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  button = gtk_builder_get_object (builder, "button2");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  button = gtk_builder_get_object (builder, "quit");
  g_signal_connect (button, "clicked", G_CALLBACK (quit_cb), &done);

  gtk_widget_show (GTK_WIDGET (window));

  while (!done)
    g_main_context_iteration (NULL, TRUE);

  return 0;
}

Create a new file with the following content named builder.ui.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <object id="window" class="GtkWindow">
    <property name="title">Grid</property>
    <child>
      <object id="grid" class="GtkGrid">
        <child>
          <object id="button1" class="GtkButton">
            <property name="label">Button 1</property>
            <layout>
              <property name="left-attach">0</property>
              <property name="top-attach">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object id="button2" class="GtkButton">
            <property name="label">Button 2</property>
            <layout>
              <property name="left-attach">1</property>
              <property name="top-attach">0</property>
            </layout>
          </object>
        </child>
        <child>
          <object id="quit" class="GtkButton">
            <property name="label">Quit</property>
            <layout>
              <property name="left-attach">0</property>
              <property name="top-attach">1</property>
              <property name="column-span">2</property>
            </layout>
          </object>
        </child>
      </object>
    </child>
  </object>
</interface>

You can compile the program above with GCC using:

gcc `pkg-config --cflags gtk4` -o example-3 example-3.c `pkg-config --libs gtk4`

Note that GtkBuilder can also be used to construct objects that are not widgets, such as tree models, adjustments, etc. That is the reason the method we use here is called gtk_builder_get_object() and returns a GObject* instead of a GtkWidget*.

Normally, you would pass a full path to gtk_builder_add_from_file() to make the execution of your program independent of the current directory. A common location to install UI descriptions and similar data is /usr/share/appname.

It is also possible to embed the UI description in the source code as a string and use gtk_builder_add_from_string() to load it. But keeping the UI description in a separate file has several advantages: It is then possible to make minor adjustments to the UI without recompiling your program, and, more importantly, graphical UI editors such as glade can load the file and allow you to create and modify your UI by point-and-click.

docs/reference/gtk/html/GtkScrollable.html0000664000175000017500000007206013710700534020750 0ustar mclasenmclasen GtkScrollable: GTK 4 Reference Manual

GtkScrollable

GtkScrollable — An interface for scrollable widgets

Properties

GtkAdjustment * hadjustment Read / Write / Construct
GtkScrollablePolicy hscroll-policy Read / Write
GtkAdjustment * vadjustment Read / Write / Construct
GtkScrollablePolicy vscroll-policy Read / Write

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkScrollable

Prerequisites

GtkScrollable requires GObject.

Known Implementations

GtkScrollable is implemented by GtkColumnView, GtkGridView, GtkIconView, GtkListView, GtkTextView, GtkTreeView and GtkViewport.

Includes

#include <gtk/gtk.h>

Description

GtkScrollable is an interface that is implemented by widgets with native scrolling ability.

To implement this interface you should override the “hadjustment” and “vadjustment” properties.

Creating a scrollable widget

All scrollable widgets should do the following.

  • When a parent widget sets the scrollable child widget’s adjustments, the widget should populate the adjustments’ “lower”, “upper”, “step-increment”, “page-increment” and “page-size” properties and connect to the “value-changed” signal.

  • Because its preferred size is the size for a fully expanded widget, the scrollable widget must be able to cope with underallocations. This means that it must accept any value passed to its GtkWidgetClass.size_allocate() function.

  • When the parent allocates space to the scrollable child widget, the widget should update the adjustments’ properties with new values.

  • When any of the adjustments emits the “value-changed” signal, the scrollable widget should scroll its contents.

Functions

gtk_scrollable_get_hadjustment ()

GtkAdjustment *
gtk_scrollable_get_hadjustment (GtkScrollable *scrollable);

Retrieves the GtkAdjustment used for horizontal scrolling.

Parameters

scrollable

a GtkScrollable

 

Returns

horizontal GtkAdjustment.

[transfer none]


gtk_scrollable_set_hadjustment ()

void
gtk_scrollable_set_hadjustment (GtkScrollable *scrollable,
                                GtkAdjustment *hadjustment);

Sets the horizontal adjustment of the GtkScrollable.

Parameters

scrollable

a GtkScrollable

 

hadjustment

a GtkAdjustment.

[allow-none]

gtk_scrollable_get_vadjustment ()

GtkAdjustment *
gtk_scrollable_get_vadjustment (GtkScrollable *scrollable);

Retrieves the GtkAdjustment used for vertical scrolling.

Parameters

scrollable

a GtkScrollable

 

Returns

vertical GtkAdjustment.

[transfer none]


gtk_scrollable_set_vadjustment ()

void
gtk_scrollable_set_vadjustment (GtkScrollable *scrollable,
                                GtkAdjustment *vadjustment);

Sets the vertical adjustment of the GtkScrollable.

Parameters

scrollable

a GtkScrollable

 

vadjustment

a GtkAdjustment.

[allow-none]

gtk_scrollable_get_hscroll_policy ()

GtkScrollablePolicy
gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable);

Gets the horizontal GtkScrollablePolicy.

Parameters

scrollable

a GtkScrollable

 

Returns

The horizontal GtkScrollablePolicy.


gtk_scrollable_set_hscroll_policy ()

void
gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable,
                                   GtkScrollablePolicy policy);

Sets the GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.

Parameters

scrollable

a GtkScrollable

 

policy

the horizontal GtkScrollablePolicy

 

gtk_scrollable_get_vscroll_policy ()

GtkScrollablePolicy
gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable);

Gets the vertical GtkScrollablePolicy.

Parameters

scrollable

a GtkScrollable

 

Returns

The vertical GtkScrollablePolicy.


gtk_scrollable_set_vscroll_policy ()

void
gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable,
                                   GtkScrollablePolicy policy);

Sets the GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.

Parameters

scrollable

a GtkScrollable

 

policy

the vertical GtkScrollablePolicy

 

gtk_scrollable_get_border ()

gboolean
gtk_scrollable_get_border (GtkScrollable *scrollable,
                           GtkBorder *border);

Returns the size of a non-scrolling border around the outside of the scrollable. An example for this would be treeview headers. GTK+ can use this information to display overlayed graphics, like the overshoot indication, at the right position.

Parameters

scrollable

a GtkScrollable

 

border

return location for the results.

[out caller-allocates]

Returns

TRUE if border has been set

Types and Values

GtkScrollable

typedef struct _GtkScrollable GtkScrollable;

enum GtkScrollablePolicy

Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.

Members

GTK_SCROLL_MINIMUM

Scrollable adjustments are based on the minimum size

 

GTK_SCROLL_NATURAL

Scrollable adjustments are based on the natural size

 

Property Details

The “hadjustment” property

  “hadjustment”              GtkAdjustment *

Horizontal GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Owner: GtkScrollable

Flags: Read / Write / Construct


The “hscroll-policy” property

  “hscroll-policy”           GtkScrollablePolicy

Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width.

Owner: GtkScrollable

Flags: Read / Write

Default value: GTK_SCROLL_MINIMUM


The “vadjustment” property

  “vadjustment”              GtkAdjustment *

Vertical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Owner: GtkScrollable

Flags: Read / Write / Construct


The “vscroll-policy” property

  “vscroll-policy”           GtkScrollablePolicy

Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height.

Owner: GtkScrollable

Flags: Read / Write

Default value: GTK_SCROLL_MINIMUM

docs/reference/gtk/html/GtkStringSorter.html0000664000175000017500000003701513710700534021334 0ustar mclasenmclasen GtkStringSorter: GTK 4 Reference Manual

GtkStringSorter

GtkStringSorter — Sort by comparing strings

Properties

GtkExpression * expression Read / Write
gboolean ignore-case Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ╰── GtkStringSorter

Includes

#include <gtk/gtk.h>

Description

GtkStringSorter is a GtkSorter that compares strings. It does the comparison in a linguistically correct way using the current locale by normalizing Unicode strings and possibly case-folding them before performing the comparison.

To obtain the strings to compare, this sorter evaluates a GtkExpression.

Functions

gtk_string_sorter_new ()

GtkSorter *
gtk_string_sorter_new (GtkExpression *expression);

Creates a new string sorter that compares items using the given expression .

Unless an expression is set on it, this sorter will always compare items as invalid.

Parameters

expression

The expression to evaluate.

[transfer full][nullable]

Returns

a new GtkSorter


gtk_string_sorter_get_expression ()

GtkExpression *
gtk_string_sorter_get_expression (GtkStringSorter *self);

Gets the expression that is evaluated to obtain strings from items.

Parameters

self

a GtkStringSorter

 

Returns

a GtkExpression, or NULL.

[transfer none][nullable]


gtk_string_sorter_set_expression ()

void
gtk_string_sorter_set_expression (GtkStringSorter *self,
                                  GtkExpression *expression);

Sets the expression that is evaluated to obtain strings from items.

The expression must have the type G_TYPE_STRING.

Parameters

self

a GtkStringSorter

 

expression

a GtkExpression, or NULL.

[nullable][transfer none]

gtk_string_sorter_get_ignore_case ()

gboolean
gtk_string_sorter_get_ignore_case (GtkStringSorter *self);

Gets whether the sorter ignores case differences.

Parameters

self

a GtkStringSorter

 

Returns

TRUE if self is ignoring case differences


gtk_string_sorter_set_ignore_case ()

void
gtk_string_sorter_set_ignore_case (GtkStringSorter *self,
                                   gboolean ignore_case);

Sets whether the sorter will ignore case differences.

Parameters

self

a GtkStringSorter

 

ignore_case

TRUE to ignore case differences

 

Types and Values

GtkStringSorter

typedef struct _GtkStringSorter GtkStringSorter;

Property Details

The “expression” property

  “expression”               GtkExpression *

The expression to evalute on item to get a string to compare with

[type GtkExpression]

Owner: GtkStringSorter

Flags: Read / Write


The “ignore-case” property

  “ignore-case”              gboolean

If matching is case sensitive

Owner: GtkStringSorter

Flags: Read / Write

Default value: TRUE

See Also

GtkExpression

docs/reference/gtk/html/GtkVideo.html0000664000175000017500000010102513710700534017726 0ustar mclasenmclasen GtkVideo: GTK 4 Reference Manual

GtkVideo

GtkVideo — A widget for displaying video

Properties

gboolean autoplay Read / Write
GFile * file Read / Write
gboolean loop Read / Write
GtkMediaStream * media-stream Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkVideo

Implemented Interfaces

GtkVideo implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkVideo is a widget to show a GtkMediaStream.

It is commonly combined with GtkMediaControls to give the user a way to control the playback.

Functions

gtk_video_new ()

GtkWidget *
gtk_video_new (void);

Creates a new empty GtkVideo.

Returns

a new GtkVideo


gtk_video_new_for_media_stream ()

GtkWidget *
gtk_video_new_for_media_stream (GtkMediaStream *stream);

Creates a GtkVideo to play back the given stream .

Parameters

stream

a GtkMediaStream.

[allow-none]

Returns

a new GtkVideo


gtk_video_new_for_file ()

GtkWidget *
gtk_video_new_for_file (GFile *file);

Creates a GtkVideo to play back the given file .

Parameters

file

a GFile.

[allow-none]

Returns

a new GtkVideo


gtk_video_new_for_filename ()

GtkWidget *
gtk_video_new_for_filename (const char *filename);

Creates a GtkVideo to play back the given filename .

This is a utility function that calls gtk_video_new_for_file(), See that function for details.

Parameters

filename

filename to play back.

[allow-none][type filename]

Returns

a new GtkVideo


gtk_video_new_for_resource ()

GtkWidget *
gtk_video_new_for_resource (const char *resource_path);

Creates a GtkVideo to play back the resource at the given resource_path .

This is a utility function that calls gtk_video_new_for_file(),

Parameters

resource_path

resource path to play back.

[allow-none]

Returns

a new GtkVideo


gtk_video_get_media_stream ()

GtkMediaStream *
gtk_video_get_media_stream (GtkVideo *self);

Gets the media stream managed by self or NULL if none.

Parameters

self

a GtkVideo

 

Returns

The media stream managed by self .

[nullable][transfer none]


gtk_video_set_media_stream ()

void
gtk_video_set_media_stream (GtkVideo *self,
                            GtkMediaStream *stream);

Sets the media stream to be played back. self will take full control of managing the media stream. If you want to manage a media stream yourself, consider using a GtkImage for display.

If you want to display a file, consider using gtk_video_set_file() instead.

Parameters

self

a GtkVideo

 

stream

The media stream to play or NULL to unset.

[allow-none]

gtk_video_get_file ()

GFile *
gtk_video_get_file (GtkVideo *self);

Gets the file played by self or NULL if not playing back a file.

Parameters

self

a GtkVideo

 

Returns

The file played by self .

[nullable][transfer none]


gtk_video_set_file ()

void
gtk_video_set_file (GtkVideo *self,
                    GFile *file);

Makes self play the given file .

Parameters

self

a GtkVideo

 

file

the file to play.

[allow-none]

gtk_video_set_filename ()

void
gtk_video_set_filename (GtkVideo *self,
                        const char *filename);

Makes self play the given filename .

This is a utility function that calls gtk_video_set_file(),

Parameters

self

a GtkVideo

 

filename

the filename to play.

[allow-none]

gtk_video_set_resource ()

void
gtk_video_set_resource (GtkVideo *self,
                        const char *resource_path);

Makes self play the resource at the given resource_path .

This is a utility function that calls gtk_video_set_file(),

Parameters

self

a GtkVideo

 

resource_path

the resource to set.

[allow-none]

gtk_video_get_autoplay ()

gboolean
gtk_video_get_autoplay (GtkVideo *self);

Returns TRUE if videos have been set to loop via gtk_video_set_loop().

Parameters

self

a GtkVideo

 

Returns

TRUE if streams should autoplay


gtk_video_set_autoplay ()

void
gtk_video_set_autoplay (GtkVideo *self,
                        gboolean autoplay);

Sets whether self automatically starts playback when it becomes visible or when a new file gets loaded.

Parameters

self

a GtkVideo

 

autoplay

whether media streams should autoplay

 

gtk_video_get_loop ()

gboolean
gtk_video_get_loop (GtkVideo *self);

Returns TRUE if videos have been set to loop via gtk_video_set_loop().

Parameters

self

a GtkVideo

 

Returns

TRUE if streams should loop


gtk_video_set_loop ()

void
gtk_video_set_loop (GtkVideo *self,
                    gboolean loop);

Sets whether new files loaded by self should be set to loop.

Parameters

self

a GtkVideo

 

loop

whether media streams should loop

 

Types and Values

GtkVideo

typedef struct _GtkVideo GtkVideo;

Property Details

The “autoplay” property

  “autoplay”                 gboolean

If the video should automatically begin playing.

Owner: GtkVideo

Flags: Read / Write

Default value: FALSE


The “file” property

  “file”                     GFile *

The file played by this video if the video is playing a file.

Owner: GtkVideo

Flags: Read / Write


The “loop” property

  “loop”                     gboolean

If new media files should be set to loop.

Owner: GtkVideo

Flags: Read / Write

Default value: FALSE


The “media-stream” property

  “media-stream”             GtkMediaStream *

The media-stream played

Owner: GtkVideo

Flags: Read / Write

See Also

GtkMediaControls

docs/reference/gtk/html/ch01s06.html0000664000175000017500000012617313710700534017311 0ustar mclasenmclasen Building applications: GTK 4 Reference Manual

Building applications

An application consists of a number of files:

The binary

This gets installed in /usr/bin.

A desktop file

The desktop file provides important information about the application to

the desktop shell, such as its name, icon, D-Bus name, commandline to launch it, etc. It is installed in /usr/share/applications. An icon : The icon gets installed in /usr/share/icons/hicolor/48x48/apps, where it will be found regardless of the current theme. A settings schema : If the application uses GSettings, it will install its schema in /usr/share/glib-2.0/schemas, so that tools like dconf-editor can find it. Other resources : Other files, such as GtkBuilder ui files, are best loaded from resources stored in the application binary itself. This eliminates the need for most of the files that would traditionally be installed in an application-specific location in /usr/share.

GTK includes application support that is built on top of GApplication. In this tutorial we’ll build a simple application by starting from scratch, adding more and more pieces over time. Along the way, we’ll learn about GtkApplication, templates, resources, application menus, settings, GtkHeaderBar, GtkStack, GtkSearchBar, GtkListBox, and more.

The full, buildable sources for these examples can be found in the examples/ directory of the GTK source distribution, or [online](https://gitlab.gnome.org/GNOME/gtk/blob/master/examples in the GTK git repository. You can build each example separately by using make with the Makefile.example file. For more information, see the README included in the examples directory.

A trivial application

When using GtkApplication, the main() function can be very simple. We just call g_application_run() and give it an instance of our application class.

#include <gtk/gtk.h>

#include "exampleapp.h"

int
main (int argc, char *argv[])
{
  return g_application_run (G_APPLICATION (example_app_new()), argc, argv);
}

All the application logic is in the application class, which is a subclass of GtkApplication. Our example does not yet have any interesting functionality. All it does is open a window when it is activated without arguments, and open the files it is given, if it is started with arguments.

To handle these two cases, we override the activate() vfunc, which gets called when the application is launched without commandline arguments, and the open() vfunc, which gets called when the application is launched with commandline arguments.

To learn more about GApplication entry points, consult the GIO documentation.

#include <gtk/gtk.h>

#include "exampleapp.h"
#include "exampleappwin.h"

struct _ExampleApp
{
  GtkApplication parent;
};

G_DEFINE_TYPE(ExampleApp, example_app, GTK_TYPE_APPLICATION);

static void
example_app_init (ExampleApp *app)
{
}

static void
example_app_activate (GApplication *app)
{
  ExampleAppWindow *win;

  win = example_app_window_new (EXAMPLE_APP (app));
  gtk_window_present (GTK_WINDOW (win));
}

static void
example_app_open (GApplication  *app,
                  GFile        **files,
                  int            n_files,
                  const char    *hint)
{
  GList *windows;
  ExampleAppWindow *win;
  int i;

  windows = gtk_application_get_windows (GTK_APPLICATION (app));
  if (windows)
    win = EXAMPLE_APP_WINDOW (windows->data);
  else
    win = example_app_window_new (EXAMPLE_APP (app));

  for (i = 0; i < n_files; i++)
    example_app_window_open (win, files[i]);

  gtk_window_present (GTK_WINDOW (win));
}

static void
example_app_class_init (ExampleAppClass *class)
{
  G_APPLICATION_CLASS (class)->activate = example_app_activate;
  G_APPLICATION_CLASS (class)->open = example_app_open;
}

ExampleApp *
example_app_new (void)
{
  return g_object_new (EXAMPLE_APP_TYPE,
                       "application-id", "org.gtk.exampleapp",
                       "flags", G_APPLICATION_HANDLES_OPEN,
                       NULL);
}

Another important class that is part of the application support in GTK is GtkApplicationWindow. It is typically subclassed as well. Our subclass does not do anything yet, so we will just get an empty window.

#include <gtk/gtk.h>

#include "exampleapp.h"
#include "exampleappwin.h"

struct _ExampleAppWindow
{
  GtkApplicationWindow parent;
};

G_DEFINE_TYPE(ExampleAppWindow, example_app_window, GTK_TYPE_APPLICATION_WINDOW);

static void
example_app_window_init (ExampleAppWindow *app)
{
}

static void
example_app_window_class_init (ExampleAppWindowClass *class)
{
}

ExampleAppWindow *
example_app_window_new (ExampleApp *app)
{
  return g_object_new (EXAMPLE_APP_WINDOW_TYPE, "application", app, NULL);
}

void
example_app_window_open (ExampleAppWindow *win,
                         GFile            *file)
{
}

As part of the initial setup of our application, we also create an icon and a desktop file.

Figure 5. An icon

An icon

[Desktop Entry]
Type=Application
Name=Example
Icon=exampleapp
StartupNotify=true
Exec=bindir@/exampleapp

Note that bindir@ needs to be replaced with the actual path to the binary before this desktop file can be used.

Here is what we’ve achieved so far:

Figure 6. An application

An application

This does not look very impressive yet, but our application is already presenting itself on the session bus, it has single-instance semantics, and it accepts files as commandline arguments.

Populating the window

In this step, we use a GtkBuilder template to associate a GtkBuilder ui file with our application window class.

Our simple ui file gives the window a title, and puts a GtkStack widget as the main content.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="ExampleAppWindow" parent="GtkApplicationWindow">
    <property name="title" translatable="yes">Example Application</property>
    <property name="default-width">600</property>
    <property name="default-height">400</property>
    <child>
      <object class="GtkBox" id="content_box">
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkStack" id="stack"/>
        </child>
      </object>
    </child>
  </template>
</interface>

To make use of this file in our application, we revisit our GtkApplicationWindow subclass, and call gtk_widget_class_set_template_from_resource() from the class init function to set the ui file as template for this class. We also add a call to gtk_widget_init_template() in the instance init function to instantiate the template for each instance of our class.

 ...

static void
example_app_window_init (ExampleAppWindow *win)
{
  gtk_widget_init_template (GTK_WIDGET (win));
}

static void
example_app_window_class_init (ExampleAppWindowClass *class)
{
  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                               "/org/gtk/exampleapp/window.ui");
}

 ...

(full source)

You may have noticed that we used the _from_resource() variant of the function that sets a template. Now we need to use GLib’s resource functionality to include the ui file in the binary. This is commonly done by listing all resources in a .gresource.xml file, such as this:

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gtk/exampleapp">
    <file preprocess="xml-stripblanks">window.ui</file>
  </gresource>
</gresources>

This file has to be converted into a C source file that will be compiled and linked into the application together with the other source files. To do so, we use the glib-compile-resources utility:

glib-compile-resources exampleapp.gresource.xml --target=resources.c --generate-source

Our application now looks like this:

Figure 7. The application

The application

Opening files

In this step, we make our application show the content of all the files that it is given on the commandline.

To this end, we add a member to the struct of our application window subclass and keep a reference to the GtkStack there. The first member of the struct should be the parent type from which the class is derived. Here, ExampleAppWindow is derived from GtkApplicationWindow. The gtk_widget_class_bind_template_child() function arranges things so that after instantiating the template, the stack member of the struct will point to the widget of the same name from the template.

...

struct _ExampleAppWindow
{
  GtkApplicationWindow parent;

  GtkWidget *stack;
};

G_DEFINE_TYPE (ExampleAppWindow, example_app_window, GTK_TYPE_APPLICATION_WINDOW)

...

static void
example_app_window_class_init (ExampleAppWindowClass *class)
{
  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                               "/org/gtk/exampleapp/window.ui");
  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
}

...

(full source)

Now we revisit the example_app_window_open() function that is called for each commandline argument, and construct a GtkTextView that we then add as a page to the stack:

...

void
example_app_window_open (ExampleAppWindow *win,
                         GFile            *file)
{
  char *basename;
  GtkWidget *scrolled, *view;
  char *contents;
  gsize length;

  basename = g_file_get_basename (file);

  scrolled = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_set_hexpand (scrolled, TRUE);
  gtk_widget_set_vexpand (scrolled, TRUE);
  view = gtk_text_view_new();
  gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE);
  gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE);
  gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled), view);
  gtk_stack_add_titled (GTK_STACK (win->stack), scrolled, basename, basename);

  if (g_file_load_contents (file, NULL, &contents, &length, NULL, NULL))
    {
      GtkTextBuffer *buffer;

      buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
      gtk_text_buffer_set_text (buffer, contents, length);
      g_free (contents);
    }

  g_free (basename);
}

...

(full source)

Lastly, we add a GtkStackSwitcher to the titlebar area in the ui file, and we tell it to display information about our stack.

The stack switcher gets all its information it needs to display tabs from the stack that it belongs to. Here, we are passing the label to show for each file as the last argument to the gtk_stack_add_titled() function.

Our application is beginning to take shape:

Figure 8. Application window

Application window

A menu

The menu is shown at the right side of the headerbar. It is meant to collect infrequently used actions that affect the whole application.

Just like the window template, we specify our menu in a ui file, and add it as a resource to our binary.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <menu id="menu">
    <section>
      <item>
        <attribute name="label" translatable="yes">_Preferences</attribute>
        <attribute name="action">app.preferences</attribute>
      </item>
    </section>
    <section>
      <item>
        <attribute name="label" translatable="yes">_Quit</attribute>
        <attribute name="action">app.quit</attribute>
      </item>
    </section>
  </menu>
</interface>

To make the menu appear, we have to load the ui file and associate the resulting menu model with the menu button that we’ve added to the headerbar. Since menus work by activating GActions, we also have to add a suitable set of actions to our application.

Adding the actions is best done in the startup() vfunc, which is guaranteed to be called once for each primary application instance:

...

static void
preferences_activated (GSimpleAction *action,
                       GVariant      *parameter,
                       gpointer       app)
{
}

static void
quit_activated (GSimpleAction *action,
                GVariant      *parameter,
                gpointer       app)
{
  g_application_quit (G_APPLICATION (app));
}

static GActionEntry app_entries[] =
{
  { "preferences", preferences_activated, NULL, NULL, NULL },
  { "quit", quit_activated, NULL, NULL, NULL }
};

static void
example_app_startup (GApplication *app)
{
  GtkBuilder *builder;
  GMenuModel *app_menu;
  const char *quit_accels[2] = { "&lt;Ctrl&gt;Q", NULL };

  G_APPLICATION_CLASS (example_app_parent_class)->startup (app);

  g_action_map_add_action_entries (G_ACTION_MAP (app),
                                   app_entries, G_N_ELEMENTS (app_entries),
                                   app);
  gtk_application_set_accels_for_action (GTK_APPLICATION (app),
                                         "app.quit",
                                         quit_accels);
}

static void
example_app_class_init (ExampleAppClass *class)
{
  G_APPLICATION_CLASS (class)->startup = example_app_startup;
  ...
}

...

(full source)

Our preferences menu item does not do anything yet, but the Quit menu item is fully functional. Note that it can also be activated by the usual Ctrl-Q shortcut. The shortcut was added with gtk_application_set_accels_for_action().

The application menu looks like this:

Figure 9. Application window

Application window

A preference dialog

A typical application will have a some preferences that should be remembered from one run to the next. Even for our simple example application, we may want to change the font that is used for the content.

We are going to use GSettings to store our preferences. GSettings requires a schema that describes our settings:

<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
  <schema path="/org/gtk/exampleapp/" id="org.gtk.exampleapp">
    <key name="font" type="s">
      <default>'Monospace 12'</default>
      <summary>Font</summary>
      <description>The font to be used for content.</description>
    </key>
    <key name="transition" type="s">
      <choices>
        <choice value='none'/>
        <choice value='crossfade'/>
        <choice value='slide-left-right'/>
      </choices>
      <default>'none'</default>
      <summary>Transition</summary>
      <description>The transition to use when switching tabs.</description>
    </key>
  </schema>
</schemalist>

Before we can make use of this schema in our application, we need to compile it into the binary form that GSettings expects. GIO provides macros to do this in autotools-based projects.

Next, we need to connect our settings to the widgets that they are supposed to control. One convenient way to do this is to use GSettings bind functionality to bind settings keys to object properties, as we do here for the transition setting.

...

static void
example_app_window_init (ExampleAppWindow *win)
{
  gtk_widget_init_template (GTK_WIDGET (win));
  win->settings = g_settings_new ("org.gtk.exampleapp");

  g_settings_bind (win->settings, "transition",
                   win->stack, "transition-type",
                   G_SETTINGS_BIND_DEFAULT);
}

...

(full source)

The code to connect the font setting is a little more involved, since there is no simple object property that it corresponds to, so we are not going to go into that here.

At this point, the application will already react if you change one of the settings, e.g. using the gsettings commandline tool. Of course, we expect the application to provide a preference dialog for these. So lets do that now. Our preference dialog will be a subclass of GtkDialog, and we’ll use the same techniques that we’ve already seen: templates, private structs, settings bindings.

Lets start with the template.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="ExampleAppPrefs" parent="GtkDialog">
    <property name="title" translatable="yes">Preferences</property>
    <property name="resizable">0</property>
    <property name="modal">1</property>
    <child internal-child="content_area">
      <object class="GtkBox" id="content_area">
        <child>
          <object class="GtkGrid" id="grid">
            <property name="margin-start">12</property>
            <property name="margin-end">12</property>
            <property name="margin-top">12</property>
            <property name="margin-bottom">12</property>
            <property name="row-spacing">12</property>
            <property name="column-spacing">12</property>
            <child>
              <object class="GtkLabel" id="fontlabel">
                <property name="label">_Font:</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">font</property>
                <property name="xalign">1</property>
                <layout>
                  <property name="left-attach">0</property>
                  <property name="top-attach">0</property>
                </layout>
              </object>
            </child>
            <child>
              <object class="GtkFontButton" id="font">
                <layout>
                  <property name="left-attach">1</property>
                  <property name="top-attach">0</property>
                </layout>
              </object>
            </child>
            <child>
              <object class="GtkLabel" id="transitionlabel">
                <property name="label">_Transition:</property>
                <property name="use-underline">1</property>
                <property name="mnemonic-widget">transition</property>
                <property name="xalign">1</property>
                <layout>
                  <property name="left-attach">0</property>
                  <property name="top-attach">1</property>
                </layout>
              </object>
            </child>
            <child>
              <object class="GtkComboBoxText" id="transition">
                <items>
                  <item translatable="yes" id="none">None</item>
                  <item translatable="yes" id="crossfade">Fade</item>
                  <item translatable="yes" id="slide-left-right">Slide</item>
                </items>
                <layout>
                  <property name="left-attach">1</property>
                  <property name="top-attach">1</property>
                </layout>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>

Next comes the dialog subclass.

#include <gtk/gtk.h>

#include "exampleapp.h"
#include "exampleappwin.h"
#include "exampleappprefs.h"

struct _ExampleAppPrefs
{
  GtkDialog parent;

  GSettings *settings;
  GtkWidget *font;
  GtkWidget *transition;
};

G_DEFINE_TYPE (ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)

static void
example_app_prefs_init (ExampleAppPrefs *prefs)
{
  gtk_widget_init_template (GTK_WIDGET (prefs));
  prefs->settings = g_settings_new ("org.gtk.exampleapp");

  g_settings_bind (prefs->settings, "font",
                   prefs->font, "font",
                   G_SETTINGS_BIND_DEFAULT);
  g_settings_bind (prefs->settings, "transition",
                   prefs->transition, "active-id",
                   G_SETTINGS_BIND_DEFAULT);
}

static void
example_app_prefs_dispose (GObject *object)
{
  ExampleAppPrefs *prefs;

  prefs = EXAMPLE_APP_PREFS (object);

  g_clear_object (&prefs->settings);

  G_OBJECT_CLASS (example_app_prefs_parent_class)->dispose (object);
}

static void
example_app_prefs_class_init (ExampleAppPrefsClass *class)
{
  G_OBJECT_CLASS (class)->dispose = example_app_prefs_dispose;

  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                               "/org/gtk/exampleapp/prefs.ui");
  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
}

ExampleAppPrefs *
example_app_prefs_new (ExampleAppWindow *win)
{
  return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
}

Now we revisit the preferences_activated() function in our application class, and make it open a new preference dialog.

...

static void
preferences_activated (GSimpleAction *action,
                       GVariant      *parameter,
                       gpointer       app)
{
  ExampleAppPrefs *prefs;
  GtkWindow *win;

  win = gtk_application_get_active_window (GTK_APPLICATION (app));
  prefs = example_app_prefs_new (EXAMPLE_APP_WINDOW (win));
  gtk_window_present (GTK_WINDOW (prefs));
}

...

(full source)

After all this work, our application can now show a preference dialog like this:

Figure 10. Preference dialog

Preference dialog

Adding a search bar

We continue to flesh out the functionality of our application. For now, we add search. GTK supports this with GtkSearchEntry and GtkSearchBar. The search bar is a widget that can slide in from the top to present a search entry.

We add a toggle button to the header bar, which can be used to slide out the search bar below the header bar.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="ExampleAppWindow" parent="GtkApplicationWindow">
    <property name="title" translatable="yes">Example Application</property>
    <property name="default-width">600</property>
    <property name="default-height">400</property>
    <child type="titlebar">
      <object class="GtkHeaderBar" id="header">
        <child type="title">
          <object class="GtkStackSwitcher" id="tabs">
            <property name="stack">stack</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkMenuButton" id="gears">
            <property name="direction">none</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkToggleButton" id="search">
            <property name="sensitive">0</property>
            <property name="icon-name">edit-find-symbolic</property>
          </object>
        </child>
      </object>
    </child>
    <child>
      <object class="GtkBox" id="content_box">
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkSearchBar" id="searchbar">
            <child>
              <object class="GtkSearchEntry" id="searchentry">
                <signal name="search-changed" handler="search_text_changed"/>
              </object>
            </child>
          </object>
        </child>
        <child>
          <object class="GtkStack" id="stack">
            <signal name="notify::visible-child" handler="visible_child_changed"/>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>

Implementing the search needs quite a few code changes that we are not going to completely go over here. The central piece of the search implementation is a signal handler that listens for text changes in the search entry.

...

static void
search_text_changed (GtkEntry         *entry,
                     ExampleAppWindow *win)
{
  const char *text;
  GtkWidget *tab;
  GtkWidget *view;
  GtkTextBuffer *buffer;
  GtkTextIter start, match_start, match_end;

  text = gtk_editable_get_text (GTK_EDITABLE (entry));

  if (text[0] == '\0')
    return;

  tab = gtk_stack_get_visible_child (GTK_STACK (win->stack));
  view = gtk_scrolled_window_get_child (GTK_SCROLLED_WINDOW (tab));
  buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));

  /* Very simple-minded search implementation */
  gtk_text_buffer_get_start_iter (buffer, &start);
  if (gtk_text_iter_forward_search (&start, text, GTK_TEXT_SEARCH_CASE_INSENSITIVE,
                                    &match_start, &match_end, NULL))
    {
      gtk_text_buffer_select_range (buffer, &match_start, &match_end);
      gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (view), &match_start,
                                    0.0, FALSE, 0.0, 0.0);
    }
}

static void
example_app_window_init (ExampleAppWindow *win)
{

...

  gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), search_text_changed);

...

}

...

(full source)

With the search bar, our application now looks like this:

Figure 11. A search bar

A search bar

Adding a side bar

As another piece of functionality, we are adding a sidebar, which demonstrates GtkMenuButton, GtkRevealer and GtkListBox.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="ExampleAppWindow" parent="GtkApplicationWindow">
    <property name="title" translatable="yes">Example Application</property>
    <property name="default-width">600</property>
    <property name="default-height">400</property>
    <child type="titlebar">
      <object class="GtkHeaderBar" id="header">
        <child type="title">
          <object class="GtkStackSwitcher" id="tabs">
            <property name="stack">stack</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkToggleButton" id="search">
            <property name="sensitive">0</property>
            <property name="icon-name">edit-find-symbolic</property>
          </object>
        </child>
        <child type="end">
          <object class="GtkMenuButton" id="gears">
            <property name="direction">none</property>
          </object>
        </child>
      </object>
    </child>
    <child>
      <object class="GtkBox" id="content_box">
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkSearchBar" id="searchbar">
            <child>
              <object class="GtkSearchEntry" id="searchentry">
                <signal name="search-changed" handler="search_text_changed"/>
              </object>
            </child>
          </object>
        </child>
        <child>
          <object class="GtkBox" id="hbox">
            <child>
              <object class="GtkRevealer" id="sidebar">
                <property name="transition-type">slide-right</property>
                <child>
                  <object class="GtkScrolledWindow" id="sidebar-sw">
                    <property name="hscrollbar-policy">never</property>
                    <child>
                      <object class="GtkListBox" id="words">
                        <property name="selection-mode">none</property>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child>
              <object class="GtkStack" id="stack">
                <signal name="notify::visible-child" handler="visible_child_changed"/>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>

The code to populate the sidebar with buttons for the words found in each file is a little too involved to go into here. But we’ll look at the code to add a checkbutton for the new feature to the menu.

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <menu id="menu">
    <section>
      <item>
        <attribute name="label" translatable="yes">_Words</attribute>
        <attribute name="action">win.show-words</attribute>
      </item>
      <item>
        <attribute name="label" translatable="yes">_Preferences</attribute>
        <attribute name="action">app.preferences</attribute>
      </item>
    </section>
    <section>
      <item>
        <attribute name="label" translatable="yes">_Quit</attribute>
        <attribute name="action">app.quit</attribute>
      </item>
    </section>
  </menu>
</interface>

To connect the menuitem to the show-words setting, we use a GAction corresponding to the given GSettings key.

...

static void
example_app_window_init (ExampleAppWindow *win)
{

...

  builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/gears-menu.ui");
  menu = G_MENU_MODEL (gtk_builder_get_object (builder, "menu"));
  gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (priv->gears), menu);
  g_object_unref (builder);

  action = g_settings_create_action (priv->settings, "show-words");
  g_action_map_add_action (G_ACTION_MAP (win), action);
  g_object_unref (action);
}

...

(full source)

What our application looks like now:

Figure 12. A sidebar

A sidebar

Properties

Widgets and other objects have many useful properties.

Here we show some ways to use them in new and flexible ways, by wrapping them in actions with GPropertyAction or by binding them with GBinding.

To set this up, we add two labels to the header bar in our window template, named lines_label and lines, and bind them to struct members in the private struct, as we’ve seen a couple of times by now.

We add a new Lines menu item to the gears menu, which triggers the show-lines action:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <menu id="menu">
    <section>
      <item>
        <attribute name="label" translatable="yes">_Words</attribute>
        <attribute name="action">win.show-words</attribute>
      </item>
      <item>
        <attribute name="label" translatable="yes">_Lines</attribute>
        <attribute name="action">win.show-lines</attribute>
      </item>
      <item>
        <attribute name="label" translatable="yes">_Preferences</attribute>
        <attribute name="action">app.preferences</attribute>
      </item>
    </section>
    <section>
      <item>
        <attribute name="label" translatable="yes">_Quit</attribute>
        <attribute name="action">app.quit</attribute>
      </item>
    </section>
  </menu>
</interface>

To make this menu item do something, we create a property action for the visible property of the lines label, and add it to the actions of the window. The effect of this is that the visibility of the label gets toggled every time the action is activated.

Since we want both labels to appear and disappear together, we bind the visible property of the lines_label widget to the same property of the lines widget.

...

static void
example_app_window_init (ExampleAppWindow *win)
{
  ...

  action = (GAction*) g_property_action_new ("show-lines", win->lines, "visible");
  g_action_map_add_action (G_ACTION_MAP (win), action);
  g_object_unref (action);

  g_object_bind_property (win->lines, "visible",
                          win->lines_label, "visible",
                          G_BINDING_DEFAULT);
}

...

(full source)

We also need a function that counts the lines of the currently active tab, and updates the lines label. See the full source if you are interested in the details.

This brings our example application to this appearance:

Figure 13. Full application

Full application

docs/reference/gtk/html/GtkProgressBar.html0000664000175000017500000011323413710700534021116 0ustar mclasenmclasen GtkProgressBar: GTK 4 Reference Manual

GtkProgressBar

GtkProgressBar — A widget which indicates progress visually

Properties

PangoEllipsizeMode ellipsize Read / Write
gdouble fraction Read / Write
gboolean inverted Read / Write
gdouble pulse-step Read / Write
gboolean show-text Read / Write
gchar * text Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkProgressBar

Implemented Interfaces

GtkProgressBar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

The GtkProgressBar is typically used to display the progress of a long running operation. It provides a visual clue that processing is underway. The GtkProgressBar can be used in two different modes: percentage mode and activity mode.

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

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

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

CSS nodes

1
2
3
4
progressbar[.osd]
├── [text]
╰── trough[.empty][.full]
    ╰── progress[.pulse]

GtkProgressBar has a main CSS node with name progressbar and subnodes with names text and trough, of which the latter has a subnode named progress. The text subnode is only present if text is shown. The progress subnode has the style class .pulse when in activity mode. It gets the style classes .left, .right, .top or .bottom added when the progress 'touches' the corresponding end of the GtkProgressBar. The .osd class on the progressbar node is for use in overlays like the one Epiphany has for page loading progress.


Accessibility

GtkProgressBar uses the GTK_ACCESSIBLE_ROLE_PROGRESS_BAR role.

Functions

gtk_progress_bar_new ()

GtkWidget *
gtk_progress_bar_new (void);

Creates a new GtkProgressBar.

Returns

a GtkProgressBar.


gtk_progress_bar_pulse ()

void
gtk_progress_bar_pulse (GtkProgressBar *pbar);

Indicates that some progress has been 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 gtk_progress_bar_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_progress_bar_set_pulse_step()).

Parameters

pbar

a GtkProgressBar

 

gtk_progress_bar_set_fraction ()

void
gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
                               double fraction);

Causes the progress bar to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive.

Parameters

pbar

a GtkProgressBar

 

fraction

fraction of the task that’s been completed

 

gtk_progress_bar_get_fraction ()

double
gtk_progress_bar_get_fraction (GtkProgressBar *pbar);

Returns the current fraction of the task that’s been completed.

Parameters

pbar

a GtkProgressBar

 

Returns

a fraction from 0.0 to 1.0


gtk_progress_bar_set_inverted ()

void
gtk_progress_bar_set_inverted (GtkProgressBar *pbar,
                               gboolean inverted);

Progress bars normally grow from top to bottom or left to right. Inverted progress bars grow in the opposite direction.

Parameters

pbar

a GtkProgressBar

 

inverted

TRUE to invert the progress bar

 

gtk_progress_bar_get_inverted ()

gboolean
gtk_progress_bar_get_inverted (GtkProgressBar *pbar);

Gets the value set by gtk_progress_bar_set_inverted().

Parameters

pbar

a GtkProgressBar

 

Returns

TRUE if the progress bar is inverted


gtk_progress_bar_set_show_text ()

void
gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
                                gboolean show_text);

Sets whether the progress bar will show text next to the bar. The shown text is either the value of the “text” property or, if that is NULL, the “fraction” value, as a percentage.

To make a progress bar that is styled and sized suitably for containing text (even if the actual text is blank), set “show-text” to TRUE and “text” to the empty string (not NULL).

Parameters

pbar

a GtkProgressBar

 

show_text

whether to show text

 

gtk_progress_bar_get_show_text ()

gboolean
gtk_progress_bar_get_show_text (GtkProgressBar *pbar);

Gets the value of the “show-text” property. See gtk_progress_bar_set_show_text().

Parameters

pbar

a GtkProgressBar

 

Returns

TRUE if text is shown in the progress bar


gtk_progress_bar_set_text ()

void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
                           const char *text);

Causes the given text to appear next to the progress bar.

If text is NULL and “show-text” is TRUE, the current value of “fraction” will be displayed as a percentage.

If text is non-NULL and “show-text” is TRUE, the text will be displayed. In this case, it will not display the progress percentage. If text is the empty string, the progress bar will still be styled and sized suitably for containing text, as long as “show-text” is TRUE.

Parameters

pbar

a GtkProgressBar

 

text

a UTF-8 string, or NULL.

[allow-none]

gtk_progress_bar_get_text ()

const char *
gtk_progress_bar_get_text (GtkProgressBar *pbar);

Retrieves the text that is displayed with the progress bar, if any, otherwise NULL. The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the progress bar.

Parameters

pbar

a GtkProgressBar

 

Returns

text, or NULL; this string is owned by the widget and should not be modified or freed.

[nullable]


gtk_progress_bar_set_ellipsize ()

void
gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
                                PangoEllipsizeMode mode);

Sets the mode used to ellipsize (add an ellipsis: "...") the text if there is not enough space to render the entire string.

Parameters

pbar

a GtkProgressBar

 

mode

a PangoEllipsizeMode

 

gtk_progress_bar_get_ellipsize ()

PangoEllipsizeMode
gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);

Returns the ellipsizing position of the progress bar. See gtk_progress_bar_set_ellipsize().

Parameters

pbar

a GtkProgressBar

 

gtk_progress_bar_set_pulse_step ()

void
gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
                                 double fraction);

Sets the fraction of total progress bar length to move the bouncing block for each call to gtk_progress_bar_pulse().

Parameters

pbar

a GtkProgressBar

 

fraction

fraction between 0.0 and 1.0

 

gtk_progress_bar_get_pulse_step ()

double
gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar);

Retrieves the pulse step set with gtk_progress_bar_set_pulse_step().

Parameters

pbar

a GtkProgressBar

 

Returns

a fraction from 0.0 to 1.0

Types and Values

GtkProgressBar

typedef struct _GtkProgressBar GtkProgressBar;

Property Details

The “ellipsize” property

  “ellipsize”                PangoEllipsizeMode

The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, specified as a PangoEllipsizeMode.

Note that setting this property to a value other than PANGO_ELLIPSIZE_NONE has the side-effect that the progress bar requests only enough space to display the ellipsis ("..."). Another means to set a progress bar's width is gtk_widget_set_size_request().

Owner: GtkProgressBar

Flags: Read / Write

Default value: PANGO_ELLIPSIZE_NONE


The “fraction” property

  “fraction”                 gdouble

The fraction of total work that has been completed.

Owner: GtkProgressBar

Flags: Read / Write

Allowed values: [0,1]

Default value: 0


The “inverted” property

  “inverted”                 gboolean

Invert the direction in which the progress bar grows.

Owner: GtkProgressBar

Flags: Read / Write

Default value: FALSE


The “pulse-step” property

  “pulse-step”               gdouble

The fraction of total progress to move the bouncing block when pulsed.

Owner: GtkProgressBar

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.1


The “show-text” property

  “show-text”                gboolean

Sets whether the progress bar will show a text in addition to the bar itself. The shown text is either the value of the “text” property or, if that is NULL, the “fraction” value, as a percentage.

To make a progress bar that is styled and sized suitably for showing text (even if the actual text is blank), set “show-text” to TRUE and “text” to the empty string (not NULL).

Owner: GtkProgressBar

Flags: Read / Write

Default value: FALSE


The “text” property

  “text”                     gchar *

Text to be displayed in the progress bar.

Owner: GtkProgressBar

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/GtkSpinButton.html0000664000175000017500000024276213710700534021003 0ustar mclasenmclasen GtkSpinButton: GTK 4 Reference Manual

GtkSpinButton

GtkSpinButton — Retrieve an integer or floating-point number from the user

Properties

GtkAdjustment * adjustment Read / Write
gdouble climb-rate Read / Write
guint digits Read / Write
gboolean numeric Read / Write
gboolean snap-to-ticks Read / Write
GtkSpinButtonUpdatePolicy update-policy Read / Write
gdouble value Read / Write
gboolean wrap Read / Write

Signals

void change-value Action
gint input Run Last
gboolean output Run Last
void value-changed Run Last
void wrapped Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSpinButton

Implemented Interfaces

GtkSpinButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable, GtkEditable and GtkCellEditable.

Includes

#include <gtk/gtk.h>

Description

A GtkSpinButton is an ideal way to allow the user to set the value of some attribute. Rather than having to directly type a number into a GtkEntry, GtkSpinButton allows the user to click on one of two arrows to increment or decrement the displayed value. A value can still be typed in, with the bonus that it can be checked to ensure it is in a given range.

The main properties of a GtkSpinButton are through an adjustment. See the GtkAdjustment section for more details about an adjustment's properties.

Note that GtkSpinButton will by default make its entry large enough to accomodate the lower and upper bounds of the adjustment. If this is not desired, the automatic sizing can be turned off by explicitly setting “width-chars” to a value != -1.

Using a GtkSpinButton to get an integer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Provides a function to retrieve an integer value from a GtkSpinButton
// and creates a spin button to model percentage values.

int
grab_int_value (GtkSpinButton *button,
                gpointer       user_data)
{
  return gtk_spin_button_get_value_as_int (button);
}

void
create_integer_spin_button (void)
{

  GtkWidget *window, *button;
  GtkAdjustment *adjustment;

  adjustment = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0);

  window = gtk_window_new ();

  // creates the spinbutton, with no decimal places
  button = gtk_spin_button_new (adjustment, 1.0, 0);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_widget_show (window);
}

Using a GtkSpinButton to get a floating point value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Provides a function to retrieve a floating point value from a
// GtkSpinButton, and creates a high precision spin button.

float
grab_float_value (GtkSpinButton *button,
                  gpointer       user_data)
{
  return gtk_spin_button_get_value (button);
}

void
create_floating_spin_button (void)
{
  GtkWidget *window, *button;
  GtkAdjustment *adjustment;

  adjustment = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0);

  window = gtk_window_new ();

  // creates the spinbutton, with three decimal places
  button = gtk_spin_button_new (adjustment, 0.001, 3);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_widget_show (window);
}

CSS nodes

1
2
3
4
5
6
spinbutton.horizontal
├── text
    ├── undershoot.left
    ╰── undershoot.right
├── button.down
╰── button.up

1
2
3
4
5
6
spinbutton.vertical
├── button.up
├── text
    ├── undershoot.left
    ╰── undershoot.right
╰── button.down

GtkSpinButtons main CSS node has the name spinbutton. It creates subnodes for the entry and the two buttons, with these names. The button nodes have the style classes .up and .down. The GtkText subnodes (if present) are put below the text node. The orientation of the spin button is reflected in the .vertical or .horizontal style class on the main node.


Accessiblity

GtkSpinButton uses the GTK_ACCESSIBLE_ROLE_SPIN_BUTTON role.

Functions

gtk_spin_button_configure ()

void
gtk_spin_button_configure (GtkSpinButton *spin_button,
                           GtkAdjustment *adjustment,
                           double climb_rate,
                           guint digits);

Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are updated accordingly.

Parameters

spin_button

a GtkSpinButton

 

adjustment

a GtkAdjustment to replace the spin button’s existing adjustment, or NULL to leave its current adjustment unchanged.

[nullable]

climb_rate

the new climb rate

 

digits

the number of decimal places to display in the spin button

 

gtk_spin_button_new ()

GtkWidget *
gtk_spin_button_new (GtkAdjustment *adjustment,
                     double climb_rate,
                     guint digits);

Creates a new GtkSpinButton.

Parameters

adjustment

the GtkAdjustment object that this spin button should use, or NULL.

[allow-none]

climb_rate

specifies by how much the rate of change in the value will accelerate if you continue to hold down an up/down button or arrow key

 

digits

the number of decimal places to display

 

Returns

The new spin button as a GtkWidget


gtk_spin_button_new_with_range ()

GtkWidget *
gtk_spin_button_new_with_range (double min,
                                double max,
                                double step);

This is a convenience constructor that allows creation of a numeric GtkSpinButton without manually creating an adjustment. The value is initially set to the minimum value and a page increment of 10 * step is the default. The precision of the spin button is equivalent to the precision of step .

Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_spin_button_set_digits() to correct it.

Parameters

min

Minimum allowable value

 

max

Maximum allowable value

 

step

Increment added or subtracted by spinning the widget

 

Returns

The new spin button as a GtkWidget


gtk_spin_button_set_adjustment ()

void
gtk_spin_button_set_adjustment (GtkSpinButton *spin_button,
                                GtkAdjustment *adjustment);

Replaces the GtkAdjustment associated with spin_button .

Parameters

spin_button

a GtkSpinButton

 

adjustment

a GtkAdjustment to replace the existing adjustment

 

gtk_spin_button_get_adjustment ()

GtkAdjustment *
gtk_spin_button_get_adjustment (GtkSpinButton *spin_button);

Get the adjustment associated with a GtkSpinButton

Parameters

spin_button

a GtkSpinButton

 

Returns

the GtkAdjustment of spin_button .

[transfer none]


gtk_spin_button_set_digits ()

void
gtk_spin_button_set_digits (GtkSpinButton *spin_button,
                            guint digits);

Set the precision to be displayed by spin_button . Up to 20 digit precision is allowed.

Parameters

spin_button

a GtkSpinButton

 

digits

the number of digits after the decimal point to be displayed for the spin button’s value

 

gtk_spin_button_set_increments ()

void
gtk_spin_button_set_increments (GtkSpinButton *spin_button,
                                double step,
                                double page);

Sets the step and page increments for spin_button. This affects how quickly the value changes when the spin button’s arrows are activated.

Parameters

spin_button

a GtkSpinButton

 

step

increment applied for a button 1 press.

 

page

increment applied for a button 2 press.

 

gtk_spin_button_set_range ()

void
gtk_spin_button_set_range (GtkSpinButton *spin_button,
                           double min,
                           double max);

Sets the minimum and maximum allowable values for spin_button .

If the current value is outside this range, it will be adjusted to fit within the range, otherwise it will remain unchanged.

Parameters

spin_button

a GtkSpinButton

 

min

minimum allowable value

 

max

maximum allowable value

 

gtk_spin_button_get_value_as_int ()

int
gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button);

Get the value spin_button represented as an integer.

Parameters

spin_button

a GtkSpinButton

 

Returns

the value of spin_button


gtk_spin_button_set_value ()

void
gtk_spin_button_set_value (GtkSpinButton *spin_button,
                           double value);

Sets the value of spin_button .

Parameters

spin_button

a GtkSpinButton

 

value

the new value

 

gtk_spin_button_set_update_policy ()

void
gtk_spin_button_set_update_policy (GtkSpinButton *spin_button,
                                   GtkSpinButtonUpdatePolicy policy);

Sets the update behavior of a spin button. This determines whether the spin button is always updated or only when a valid value is set.

Parameters

spin_button

a GtkSpinButton

 

policy

a GtkSpinButtonUpdatePolicy value

 

gtk_spin_button_set_numeric ()

void
gtk_spin_button_set_numeric (GtkSpinButton *spin_button,
                             gboolean numeric);

Sets the flag that determines if non-numeric text can be typed into the spin button.

Parameters

spin_button

a GtkSpinButton

 

numeric

flag indicating if only numeric entry is allowed

 

gtk_spin_button_spin ()

void
gtk_spin_button_spin (GtkSpinButton *spin_button,
                      GtkSpinType direction,
                      double increment);

Increment or decrement a spin button’s value in a specified direction by a specified amount.

Parameters

spin_button

a GtkSpinButton

 

direction

a GtkSpinType indicating the direction to spin

 

increment

step increment to apply in the specified direction

 

gtk_spin_button_set_wrap ()

void
gtk_spin_button_set_wrap (GtkSpinButton *spin_button,
                          gboolean wrap);

Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

Parameters

spin_button

a GtkSpinButton

 

wrap

a flag indicating if wrapping behavior is performed

 

gtk_spin_button_set_snap_to_ticks ()

void
gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button,
                                   gboolean snap_to_ticks);

Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.

Parameters

spin_button

a GtkSpinButton

 

snap_to_ticks

a flag indicating if invalid values should be corrected

 

gtk_spin_button_update ()

void
gtk_spin_button_update (GtkSpinButton *spin_button);

Manually force an update of the spin button.

Parameters

spin_button

a GtkSpinButton

 

gtk_spin_button_get_digits ()

guint
gtk_spin_button_get_digits (GtkSpinButton *spin_button);

Fetches the precision of spin_button . See gtk_spin_button_set_digits().

Parameters

spin_button

a GtkSpinButton

 

Returns

the current precision


gtk_spin_button_get_increments ()

void
gtk_spin_button_get_increments (GtkSpinButton *spin_button,
                                double *step,
                                double *page);

Gets the current step and page the increments used by spin_button . See gtk_spin_button_set_increments().

Parameters

spin_button

a GtkSpinButton

 

step

location to store step increment, or NULL.

[out][allow-none]

page

location to store page increment, or NULL.

[out][allow-none]

gtk_spin_button_get_numeric ()

gboolean
gtk_spin_button_get_numeric (GtkSpinButton *spin_button);

Returns whether non-numeric text can be typed into the spin button. See gtk_spin_button_set_numeric().

Parameters

spin_button

a GtkSpinButton

 

Returns

TRUE if only numeric text can be entered


gtk_spin_button_get_range ()

void
gtk_spin_button_get_range (GtkSpinButton *spin_button,
                           double *min,
                           double *max);

Gets the range allowed for spin_button . See gtk_spin_button_set_range().

Parameters

spin_button

a GtkSpinButton

 

min

location to store minimum allowed value, or NULL.

[out][optional]

max

location to store maximum allowed value, or NULL.

[out][optional]

gtk_spin_button_get_snap_to_ticks ()

gboolean
gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button);

Returns whether the values are corrected to the nearest step. See gtk_spin_button_set_snap_to_ticks().

Parameters

spin_button

a GtkSpinButton

 

Returns

TRUE if values are snapped to the nearest step


gtk_spin_button_get_update_policy ()

GtkSpinButtonUpdatePolicy
gtk_spin_button_get_update_policy (GtkSpinButton *spin_button);

Gets the update behavior of a spin button. See gtk_spin_button_set_update_policy().

Parameters

spin_button

a GtkSpinButton

 

Returns

the current update policy


gtk_spin_button_get_value ()

double
gtk_spin_button_get_value (GtkSpinButton *spin_button);

Get the value in the spin_button .

Parameters

spin_button

a GtkSpinButton

 

Returns

the value of spin_button


gtk_spin_button_get_wrap ()

gboolean
gtk_spin_button_get_wrap (GtkSpinButton *spin_button);

Returns whether the spin button’s value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. See gtk_spin_button_set_wrap().

Parameters

spin_button

a GtkSpinButton

 

Returns

TRUE if the spin button wraps around

Types and Values

GtkSpinButton

typedef struct _GtkSpinButton GtkSpinButton;

enum GtkSpinButtonUpdatePolicy

The spin button update policy determines whether the spin button displays values even if they are outside the bounds of its adjustment. See gtk_spin_button_set_update_policy().

Members

GTK_UPDATE_ALWAYS

When refreshing your GtkSpinButton, the value is always displayed

 

GTK_UPDATE_IF_VALID

When refreshing your GtkSpinButton, the value is only displayed if it is valid within the bounds of the spin button's adjustment

 

enum GtkSpinType

The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin().

Members

GTK_SPIN_STEP_FORWARD

Increment by the adjustments step increment.

 

GTK_SPIN_STEP_BACKWARD

Decrement by the adjustments step increment.

 

GTK_SPIN_PAGE_FORWARD

Increment by the adjustments page increment.

 

GTK_SPIN_PAGE_BACKWARD

Decrement by the adjustments page increment.

 

GTK_SPIN_HOME

Go to the adjustments lower bound.

 

GTK_SPIN_END

Go to the adjustments upper bound.

 

GTK_SPIN_USER_DEFINED

Change by a specified amount.

 

GTK_INPUT_ERROR

#define GTK_INPUT_ERROR -1

Constant to return from a signal handler for the “input” signal in case of conversion failure.

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The adjustment that holds the value of the spin button.

Owner: GtkSpinButton

Flags: Read / Write


The “climb-rate” property

  “climb-rate”               gdouble

The acceleration rate when you hold down a button or key.

Owner: GtkSpinButton

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “digits” property

  “digits”                   guint

The number of decimal places to display.

Owner: GtkSpinButton

Flags: Read / Write

Allowed values: <= 20

Default value: 0


The “numeric” property

  “numeric”                  gboolean

Whether non-numeric characters should be ignored.

Owner: GtkSpinButton

Flags: Read / Write

Default value: FALSE


The “snap-to-ticks” property

  “snap-to-ticks”            gboolean

Whether erroneous values are automatically changed to a spin button’s nearest step increment.

Owner: GtkSpinButton

Flags: Read / Write

Default value: FALSE


The “update-policy” property

  “update-policy”            GtkSpinButtonUpdatePolicy

Whether the spin button should update always, or only when the value is legal.

Owner: GtkSpinButton

Flags: Read / Write

Default value: GTK_UPDATE_ALWAYS


The “value” property

  “value”                    gdouble

Reads the current value, or sets a new value.

Owner: GtkSpinButton

Flags: Read / Write

Default value: 0


The “wrap” property

  “wrap”                     gboolean

Whether a spin button should wrap upon reaching its limits.

Owner: GtkSpinButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “change-value” signal

void
user_function (GtkSpinButton *spin_button,
               GtkScrollType  scroll,
               gpointer       user_data)

The ::change-value signal is a keybinding signal which gets emitted when the user initiates a value change.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal are Up/Down and PageUp and/PageDown.

Parameters

spin_button

the object on which the signal was emitted

 

scroll

a GtkScrollType to specify the speed and amount of change

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “input” signal

gint
user_function (GtkSpinButton *spin_button,
               gpointer       new_value,
               gpointer       user_data)

The ::input signal can be used to influence the conversion of the users input into a double value. The signal handler is expected to use gtk_editable_get_text() to retrieve the text of the spinbutton and set new_value to the new value.

The default conversion uses g_strtod().

Parameters

spin_button

the object on which the signal was emitted

 

new_value

return location for the new value.

[out][type double]

user_data

user data set when the signal handler was connected.

 

Returns

TRUE for a successful conversion, FALSE if the input was not handled, and GTK_INPUT_ERROR if the conversion failed.

Flags: Run Last


The “output” signal

gboolean
user_function (GtkSpinButton *spin_button,
               gpointer       user_data)

The ::output signal can be used to change to formatting of the value that is displayed in the spin buttons entry.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// show leading zeros
static gboolean
on_output (GtkSpinButton *spin,
           gpointer       data)
{
   GtkAdjustment *adjustment;
   char *text;
   int value;

   adjustment = gtk_spin_button_get_adjustment (spin);
   value = (int)gtk_adjustment_get_value (adjustment);
   text = g_strdup_printf ("%02d", value);
   gtk_spin_button_set_text (spin, text):
   g_free (text);

   return TRUE;
}

Parameters

spin_button

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the value has been displayed

Flags: Run Last


The “value-changed” signal

void
user_function (GtkSpinButton *spin_button,
               gpointer       user_data)

The ::value-changed signal is emitted when the value represented by spinbutton changes. Also see the “output” signal.

Parameters

spin_button

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “wrapped” signal

void
user_function (GtkSpinButton *spin_button,
               gpointer       user_data)

The ::wrapped signal is emitted right after the spinbutton wraps from its maximum to minimum value or vice-versa.

Parameters

spin_button

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkEntry

docs/reference/gtk/html/Lists.html0000664000175000017500000001455613710700534017324 0ustar mclasenmclasen GListModel support: GTK 4 Reference Manual

GListModel support

GtkBitset — Sets of integers
GtkExpression — Expressions to values
GtkFilterListModel — A list model that filters its items
GtkFilter — Filtering items
GtkCustomFilter — Filtering with callbacks
GtkMultiFilter — Combining multiple filters
GtkBoolFilter — Filtering by boolean expressions
GtkStringFilter — Filtering by strings
GtkFileFilter — Filtering files
GtkFlattenListModel — A list model that flattens a list of lists
GtkMapListModel — A list model that transforms its items
GtkSliceListModel — A list model that presents a slice out of a larger list
GtkSortListModel — A list model that sorts its items
GtkSorter — Sorting items
GtkCustomSorter — Sorting with a callbacks
GtkMultiSorter — Combining multiple sorters
GtkStringSorter — Sort by comparing strings
GtkNumericSorter — Sort by comparing numbers
GtkSelectionModel — An extension of the list model interface that handles selections
GtkNoSelection — A selection model that does not allow selecting anything
GtkSingleSelection — A selection model that allows selecting a single item
GtkMultiSelection — A selection model that allows selecting multiple items
GtkSelectionFilterModel — A list model that turns a selection in a model
GtkBookmarkList — A list model for recently used files
GtkDirectoryList — A list model for directory listings
GtkStringList — A list model for strings
docs/reference/gtk/html/MediaSupport.html0000664000175000017500000000445513710700534020637 0ustar mclasenmclasen Media Support: GTK 4 Reference Manual

Media Support

GtkVideo — A widget for displaying video
GtkMediaControls — A widget showing controls for a media stream
GtkMediaStream — Display media in GTK
GtkMediaFile — Open media files for use in GTK
docs/reference/gtk/html/GtkScrollbar.html0000664000175000017500000003572613710700534020621 0ustar mclasenmclasen GtkScrollbar: GTK 4 Reference Manual

GtkScrollbar

GtkScrollbar — A Scrollbar

Properties

GtkAdjustment * adjustment Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkScrollbar

Implemented Interfaces

GtkScrollbar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

The GtkScrollbar widget is a horizontal or vertical scrollbar, depending on the value of the “orientation” property.

Its position and movement are controlled by the adjustment that is passed to or created by gtk_scrollbar_new(). See GtkAdjustment for more details. The “value” field sets the position of the thumb and must be between “lower” and “upper” - “page-size”. The “page-size” represents the size of the visible scrollable area. The fields “step-increment” and “page-increment” fields are added to or subtracted from the “value” when the user asks to move by a step (using e.g. the cursor arrow keys or, if present, the stepper buttons) or by a page (using e.g. the Page Down/Up keys).

CSS nodes

1
2
3
4
scrollbar
╰── range[.fine-tune]
    ╰── trough
        ╰── slider

GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents. The main node gets the .horizontal or .vertical style classes applied, depending on the scrollbar's orientation.

The range node gets the style class .fine-tune added when the scrollbar is in 'fine-tuning' mode.

If steppers are enabled, they are represented by up to four additional subnodes with name button. These get the style classes .up and .down to indicate in which direction they are moving.

Other style classes that may be added to scrollbars inside GtkScrolledWindow include the positional classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).


Accessibility

GtkScrollbar uses the GTK_ACCESSIBLE_ROLE_SCROLLBAR role.

Functions

gtk_scrollbar_new ()

GtkWidget *
gtk_scrollbar_new (GtkOrientation orientation,
                   GtkAdjustment *adjustment);

Creates a new scrollbar with the given orientation.

Parameters

orientation

the scrollbar’s orientation.

 

adjustment

the GtkAdjustment to use, or NULL to create a new adjustment.

[allow-none]

Returns

the new GtkScrollbar.


gtk_scrollbar_get_adjustment ()

GtkAdjustment *
gtk_scrollbar_get_adjustment (GtkScrollbar *self);

Returns the scrollbar's adjustment.

Parameters

self

a GtkScrollbar

 

Returns

the scrollbar's adjustment.

[transfer none]


gtk_scrollbar_set_adjustment ()

void
gtk_scrollbar_set_adjustment (GtkScrollbar *self,
                              GtkAdjustment *adjustment);

Makes the scrollbar use the given adjustment.

Parameters

self

a GtkScrollbar

 

adjustment

the adjustment to set.

[nullable]

Types and Values

GtkScrollbar

typedef struct _GtkScrollbar GtkScrollbar;

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The GtkAdjustment that contains the current value of this scrollbar.

Owner: GtkScrollbar

Flags: Read / Write / Construct

docs/reference/gtk/html/GtkToggleButton.html0000664000175000017500000005775413710700534021320 0ustar mclasenmclasen GtkToggleButton: GTK 4 Reference Manual

GtkToggleButton

GtkToggleButton — Create buttons which retain their state

Properties

gboolean active Read / Write

Signals

void toggled Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ╰── GtkToggleButton
                    ╰── GtkCheckButton

Implemented Interfaces

GtkToggleButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

A GtkToggleButton is a GtkButton which will remain “pressed-in” when clicked. Clicking again will cause the toggle button to return to its normal state.

A toggle button is created by calling either gtk_toggle_button_new() or gtk_toggle_button_new_with_label(). If using the former, it is advisable to pack a widget, (such as a GtkLabel and/or a GtkImage), into the toggle button’s container. (See GtkButton for more information).

The state of a GtkToggleButton can be set specifically using gtk_toggle_button_set_active(), and retrieved using gtk_toggle_button_get_active().

To simply switch the state of a toggle button, use gtk_toggle_button_toggled().

CSS nodes

GtkToggleButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .toggle style class.

Creating two GtkToggleButton widgets.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
static void output_state (GtkToggleButton *source, gpointer user_data) {
  printf ("Active: %d\n", gtk_toggle_button_get_active (source));
}

void make_toggles (void) {
  GtkWidget *window, *toggle1, *toggle2;
  GtkWidget *box;
  const char *text;

  window = gtk_window_new ();
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);

  text = "Hi, I’m a toggle button.";
  toggle1 = gtk_toggle_button_new_with_label (text);

  g_signal_connect (toggle1, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_box_append (GTK_BOX (box), toggle1);

  text = "Hi, I’m a toggle button.";
  toggle2 = gtk_toggle_button_new_with_label (text);
  g_signal_connect (toggle2, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_box_append (GTK_BOX (box), toggle2);

  gtk_window_set_child (GTK_WINDOW (window), box);
  gtk_widget_show (window);
}

Functions

gtk_toggle_button_new ()

GtkWidget *
gtk_toggle_button_new (void);

Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new().

Returns

a new toggle button.


gtk_toggle_button_new_with_label ()

GtkWidget *
gtk_toggle_button_new_with_label (const char *label);

Creates a new toggle button with a text label.

Parameters

label

a string containing the message to be placed in the toggle button.

 

Returns

a new toggle button.


gtk_toggle_button_new_with_mnemonic ()

GtkWidget *
gtk_toggle_button_new_with_mnemonic (const char *label);

Creates a new GtkToggleButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button.

Parameters

label

the text of the button, with an underscore in front of the mnemonic character

 

Returns

a new GtkToggleButton


gtk_toggle_button_toggled ()

void
gtk_toggle_button_toggled (GtkToggleButton *toggle_button);

Emits the “toggled” signal on the GtkToggleButton. There is no good reason for an application ever to call this function.

Parameters

toggle_button

a GtkToggleButton.

 

gtk_toggle_button_get_active ()

gboolean
gtk_toggle_button_get_active (GtkToggleButton *toggle_button);

Queries a GtkToggleButton and returns its current state. Returns TRUE if the toggle button is pressed in and FALSE if it is raised.

Parameters

toggle_button

a GtkToggleButton.

 

Returns

a gboolean value.


gtk_toggle_button_set_active ()

void
gtk_toggle_button_set_active (GtkToggleButton *toggle_button,
                              gboolean is_active);

Sets the status of the toggle button. Set to TRUE if you want the GtkToggleButton to be “pressed in”, and FALSE to raise it.

If the status of the button changes, this action causes the “toggled” signal to be emitted.

Parameters

toggle_button

a GtkToggleButton.

 

is_active

TRUE or FALSE.

 

Types and Values

struct GtkToggleButton

struct GtkToggleButton;

Property Details

The “active” property

  “active”                   gboolean

If the toggle button should be pressed in.

Owner: GtkToggleButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “toggled” signal

void
user_function (GtkToggleButton *togglebutton,
               gpointer         user_data)

Should be connected if you wish to perform an action whenever the GtkToggleButton's state is changed.

Parameters

togglebutton

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkButton, GtkCheckButton, GtkCheckMenuItem

docs/reference/gtk/html/GtkTreeExpander.html0000664000175000017500000005254013710700534021255 0ustar mclasenmclasen GtkTreeExpander: GTK 4 Reference Manual

GtkTreeExpander

GtkTreeExpander — An indenting expander button for use in a tree list

Properties

GtkWidget * child Read / Write
GObject * item Read
GtkTreeListRow * list-row Read / Write

Actions

  listitem.toggle-expand  
  listitem.collapse  
  listitem.expand  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkTreeExpander

Implemented Interfaces

GtkTreeExpander implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkTreeExpander is a widget that provides an expander for a list.

It is typically placed as a bottommost child into a GtkListView to allow users to expand and collapse children in a list with a GtkTreeListModel. It will provide the common UI elements, gestures and keybindings for this purpose.

On top of this, the "listitem.expand", "listitem.collapse" and "listitem.toggle-expand" actions are provided to allow adding custom UI for managing expanded state.

The GtkTreeListModel must be set to not be passthrough. Then it will provide GtkTreeListRow items which can be set via gtk_tree_expander_set_list_row() on the expander. The expander will then watch that row item automatically. gtk_tree_expander_set_child() sets the widget that displays the actual row contents.

CSS nodes

1
2
3
4
treeexpander
├── [indent]*
├── [expander]
╰── <child>

GtkTreeExpander has zero or one CSS nodes with the name "expander" that should display the expander icon. The node will be :checked when it is expanded. If the node is not expandable, an "indent" node will be displayed instead.

For every level of depth, another "indent" node is prepended.

Functions

gtk_tree_expander_new ()

GtkWidget *
gtk_tree_expander_new (void);

Creates a new GtkTreeExpander

Returns

a new GtkTreeExpander


gtk_tree_expander_get_child ()

GtkWidget *
gtk_tree_expander_get_child (GtkTreeExpander *self);

Gets the child widget displayed by self .

Parameters

self

a GtkTreeExpander

 

Returns

The child displayed by self .

[nullable][transfer none]


gtk_tree_expander_set_child ()

void
gtk_tree_expander_set_child (GtkTreeExpander *self,
                             GtkWidget *child);

Sets the content widget to display.

Parameters

self

a GtkTreeExpander widget

 

child

a GtkWidget, or NULL.

[nullable]

gtk_tree_expander_get_item ()

gpointer
gtk_tree_expander_get_item (GtkTreeExpander *self);

Forwards the item set on the GtkTreeListRow that self is managing.

This call is essentially equivalent to calling gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (@self)).

Parameters

self

a GtkTreeExpander

 

Returns

The item of the row.

[nullable][transfer none]


gtk_tree_expander_get_list_row ()

GtkTreeListRow *
gtk_tree_expander_get_list_row (GtkTreeExpander *self);

Gets the list row managed by self .

Parameters

self

a GtkTreeExpander

 

Returns

The list row displayed by self .

[nullable][transfer none]


gtk_tree_expander_set_list_row ()

void
gtk_tree_expander_set_list_row (GtkTreeExpander *self,
                                GtkTreeListRow *list_row);

Sets the tree list row that this expander should manage.

Parameters

self

a GtkTreeExpander widget

 

list_row

a GtkTreeListRow, or NULL.

[nullable]

Types and Values

GtkTreeExpander

typedef struct _GtkTreeExpander GtkTreeExpander;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget with the actual contents

Owner: GtkTreeExpander

Flags: Read / Write


The “item” property

  “item”                     GObject *

The item held by this expander's row

Owner: GtkTreeExpander

Flags: Read


The “list-row” property

  “list-row”                 GtkTreeListRow *

The list row to track for expander state

Owner: GtkTreeExpander

Flags: Read / Write

Action Details

The “listitem.toggle-expand” action

Tries to expand the expander if it was collapsed or collapses it if it was expanded.


The “listitem.collapse” action

Collapses the expander.


The “listitem.expand” action

Expands the expander if it can be expanded.

See Also

GtkTreeListModel

docs/reference/gtk/html/ch02s02.html0000664000175000017500000000575313710700534017306 0ustar mclasenmclasen Working on GTK: GTK 4 Reference Manual

Working on GTK

If you develop a bugfix or enhancement for GTK, please open a merge request in GitLab as well. You should not attach patches to an issue, or describe the fix as a comment. Merge requests allow us to build GTK with your code applied, and run the test suite, on multiple platforms and architectures, and verify that nothing breaks. They also allow us to do proper code reviews, so we can iterate over the changes.

You should follow the contribution guide for GTK, available on GitLab.

If you want to discuss your approach before or after working on it, good ways to contact the GTK developers, apart from GitLab issues, are

  • the gtk IRC channel on irc.gnome.org

  • the gtk tag on the <GNOME Discourse instance

You should not send patches by email, as they will inevitably get lost, or forgotten. Always open a merge request.

docs/reference/gtk/html/GtkSwitch.html0000664000175000017500000005003113710700534020121 0ustar mclasenmclasen GtkSwitch: GTK 4 Reference Manual

GtkSwitch

GtkSwitch — A “light switch” style toggle

Properties

gboolean active Read / Write
gboolean state Read / Write

Signals

void activate Action
gboolean state-set Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSwitch

Implemented Interfaces

GtkSwitch implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

GtkSwitch is a widget that has two states: on or off. The user can control which state should be active by clicking the empty area, or by dragging the handle.

GtkSwitch can also handle situations where the underlying state changes with a delay. See “state-set” for details.

CSS nodes

1
2
3
4
switch
├── label
├── label
╰── slider

GtkSwitch has four css nodes, the main node with the name switch and subnodes for the slider and the on and off labels. Neither of them is using any style classes.


Accessibility

GtkSwitch uses the GTK_ACCESSIBLE_ROLE_SWITCH role.

Functions

gtk_switch_new ()

GtkWidget *
gtk_switch_new (void);

Creates a new GtkSwitch widget.

Returns

the newly created GtkSwitch instance


gtk_switch_set_active ()

void
gtk_switch_set_active (GtkSwitch *self,
                       gboolean is_active);

Changes the state of self to the desired one.

Parameters

self

a GtkSwitch

 

is_active

TRUE if self should be active, and FALSE otherwise

 

gtk_switch_get_active ()

gboolean
gtk_switch_get_active (GtkSwitch *self);

Gets whether the GtkSwitch is in its “on” or “off” state.

Parameters

self

a GtkSwitch

 

Returns

TRUE if the GtkSwitch is active, and FALSE otherwise


gtk_switch_set_state ()

void
gtk_switch_set_state (GtkSwitch *self,
                      gboolean state);

Sets the underlying state of the GtkSwitch.

Normally, this is the same as “active”, unless the switch is set up for delayed state changes. This function is typically called from a “state-set” signal handler.

See “state-set” for details.

Parameters

self

a GtkSwitch

 

state

the new state

 

gtk_switch_get_state ()

gboolean
gtk_switch_get_state (GtkSwitch *self);

Gets the underlying state of the GtkSwitch.

Parameters

self

a GtkSwitch

 

Returns

the underlying state

Types and Values

GtkSwitch

typedef struct _GtkSwitch GtkSwitch;

The GtkSwitch contains private data and it should only be accessed using the provided API.

Property Details

The “active” property

  “active”                   gboolean

Whether the GtkSwitch widget is in its on or off state.

Owner: GtkSwitch

Flags: Read / Write

Default value: FALSE


The “state” property

  “state”                    gboolean

The backend state that is controlled by the switch. See “state-set” for details.

Owner: GtkSwitch

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate” signal

void
user_function (GtkSwitch *widget,
               gpointer   user_data)

The ::activate signal on GtkSwitch is an action signal and emitting it causes the switch to animate. Applications should never connect to this signal, but use the notify::active signal.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “state-set” signal

gboolean
user_function (GtkSwitch *widget,
               gboolean   state,
               gpointer   user_data)

The ::state-set signal on GtkSwitch is emitted to change the underlying state. It is emitted when the user changes the switch position. The default handler keeps the state in sync with the “active” property.

To implement delayed state change, applications can connect to this signal, initiate the change of the underlying state, and call gtk_switch_set_state() when the underlying state change is complete. The signal handler should return TRUE to prevent the default handler from running.

Visually, the underlying state is represented by the trough color of the switch, while the “active” property is represented by the position of the switch.

Parameters

widget

the object on which the signal was emitted

 

state

the new state of the switch

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to stop the signal emission

Flags: Run Last

See Also

GtkToggleButton

docs/reference/gtk/html/GtkTextBuffer.html0000664000175000017500000067347613710700534020766 0ustar mclasenmclasen GtkTextBuffer: GTK 4 Reference Manual

GtkTextBuffer

GtkTextBuffer — Stores attributed text for display in a GtkTextView

Functions

GtkTextBuffer * gtk_text_buffer_new ()
int gtk_text_buffer_get_line_count ()
int gtk_text_buffer_get_char_count ()
GtkTextTagTable * gtk_text_buffer_get_tag_table ()
void gtk_text_buffer_insert ()
void gtk_text_buffer_insert_at_cursor ()
gboolean gtk_text_buffer_insert_interactive ()
gboolean gtk_text_buffer_insert_interactive_at_cursor ()
void gtk_text_buffer_insert_range ()
gboolean gtk_text_buffer_insert_range_interactive ()
void gtk_text_buffer_insert_with_tags ()
void gtk_text_buffer_insert_with_tags_by_name ()
void gtk_text_buffer_insert_markup ()
void gtk_text_buffer_insert_paintable ()
void gtk_text_buffer_delete ()
gboolean gtk_text_buffer_delete_interactive ()
gboolean gtk_text_buffer_backspace ()
void gtk_text_buffer_set_text ()
char * gtk_text_buffer_get_text ()
char * gtk_text_buffer_get_slice ()
void gtk_text_buffer_insert_child_anchor ()
GtkTextChildAnchor * gtk_text_buffer_create_child_anchor ()
GtkTextMark * gtk_text_buffer_create_mark ()
void gtk_text_buffer_move_mark ()
void gtk_text_buffer_move_mark_by_name ()
void gtk_text_buffer_add_mark ()
void gtk_text_buffer_delete_mark ()
void gtk_text_buffer_delete_mark_by_name ()
GtkTextMark * gtk_text_buffer_get_mark ()
GtkTextMark * gtk_text_buffer_get_insert ()
GtkTextMark * gtk_text_buffer_get_selection_bound ()
gboolean gtk_text_buffer_get_has_selection ()
void gtk_text_buffer_place_cursor ()
void gtk_text_buffer_select_range ()
void gtk_text_buffer_apply_tag ()
void gtk_text_buffer_remove_tag ()
void gtk_text_buffer_apply_tag_by_name ()
void gtk_text_buffer_remove_tag_by_name ()
void gtk_text_buffer_remove_all_tags ()
GtkTextTag * gtk_text_buffer_create_tag ()
void gtk_text_buffer_get_iter_at_line_offset ()
void gtk_text_buffer_get_iter_at_offset ()
void gtk_text_buffer_get_iter_at_line ()
void gtk_text_buffer_get_iter_at_line_index ()
void gtk_text_buffer_get_iter_at_mark ()
void gtk_text_buffer_get_iter_at_child_anchor ()
void gtk_text_buffer_get_start_iter ()
void gtk_text_buffer_get_end_iter ()
void gtk_text_buffer_get_bounds ()
gboolean gtk_text_buffer_get_modified ()
void gtk_text_buffer_set_modified ()
gboolean gtk_text_buffer_delete_selection ()
void gtk_text_buffer_paste_clipboard ()
void gtk_text_buffer_copy_clipboard ()
void gtk_text_buffer_cut_clipboard ()
gboolean gtk_text_buffer_get_selection_bounds ()
GdkContentProvider * gtk_text_buffer_get_selection_content ()
void gtk_text_buffer_begin_user_action ()
void gtk_text_buffer_end_user_action ()
void gtk_text_buffer_add_selection_clipboard ()
void gtk_text_buffer_remove_selection_clipboard ()
gboolean gtk_text_buffer_get_can_undo ()
gboolean gtk_text_buffer_get_can_redo ()
gboolean gtk_text_buffer_get_enable_undo ()
void gtk_text_buffer_set_enable_undo ()
guint gtk_text_buffer_get_max_undo_levels ()
void gtk_text_buffer_set_max_undo_levels ()
void gtk_text_buffer_undo ()
void gtk_text_buffer_redo ()
void gtk_text_buffer_begin_irreversible_action ()
void gtk_text_buffer_end_irreversible_action ()

Properties

gboolean can-redo Read
gboolean can-undo Read
GdkContentFormats * copy-target-list Read
gint cursor-position Read
gboolean enable-undo Read / Write
gboolean has-selection Read
GdkContentFormats * paste-target-list Read
GtkTextTagTable * tag-table Read / Write / Construct Only
gchar * text Read / Write

Signals

void apply-tag Run Last
void begin-user-action Run Last
void changed Run Last
void delete-range Run Last
void end-user-action Run Last
void insert-child-anchor Run Last
void insert-paintable Run Last
void insert-text Run Last
void mark-deleted Run Last
void mark-set Run Last
void modified-changed Run Last
void paste-done Run Last
void redo Run Last
void remove-tag Run Last
void undo Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTextBuffer

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

Functions

gtk_text_buffer_new ()

GtkTextBuffer *
gtk_text_buffer_new (GtkTextTagTable *table);

Creates a new text buffer.

Parameters

table

a tag table, or NULL to create a new one.

[allow-none]

Returns

a new text buffer


gtk_text_buffer_get_line_count ()

int
gtk_text_buffer_get_line_count (GtkTextBuffer *buffer);

Obtains the number of lines in the buffer. This value is cached, so the function is very fast.

Parameters

buffer

a GtkTextBuffer

 

Returns

number of lines in the buffer


gtk_text_buffer_get_char_count ()

int
gtk_text_buffer_get_char_count (GtkTextBuffer *buffer);

Gets the number of characters in the buffer; note that characters and bytes are not the same, you can’t e.g. expect the contents of the buffer in string form to be this many bytes long. The character count is cached, so this function is very fast.

Parameters

buffer

a GtkTextBuffer

 

Returns

number of characters in the buffer


gtk_text_buffer_get_tag_table ()

GtkTextTagTable *
gtk_text_buffer_get_tag_table (GtkTextBuffer *buffer);

Get the GtkTextTagTable associated with this buffer.

Parameters

buffer

a GtkTextBuffer

 

Returns

the buffer’s tag table.

[transfer none]


gtk_text_buffer_insert ()

void
gtk_text_buffer_insert (GtkTextBuffer *buffer,
                        GtkTextIter *iter,
                        const char *text,
                        int len);

Inserts len bytes of text at position iter . If len is -1, text must be nul-terminated and will be inserted in its entirety. Emits the “insert-text” signal; insertion actually occurs in the default handler for the signal. iter is invalidated when insertion occurs (because the buffer contents change), but the default signal handler revalidates it to point to the end of the inserted text.

Parameters

buffer

a GtkTextBuffer

 

iter

a position in the buffer

 

text

text in UTF-8 format

 

len

length of text in bytes, or -1

 

gtk_text_buffer_insert_at_cursor ()

void
gtk_text_buffer_insert_at_cursor (GtkTextBuffer *buffer,
                                  const char *text,
                                  int len);

Simply calls gtk_text_buffer_insert(), using the current cursor position as the insertion point.

Parameters

buffer

a GtkTextBuffer

 

text

text in UTF-8 format

 

len

length of text, in bytes

 

gtk_text_buffer_insert_interactive ()

gboolean
gtk_text_buffer_insert_interactive (GtkTextBuffer *buffer,
                                    GtkTextIter *iter,
                                    const char *text,
                                    int len,
                                    gboolean default_editable);

Like gtk_text_buffer_insert(), but the insertion will not occur if iter is at a non-editable location in the buffer. Usually you want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive).

default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here.

Parameters

buffer

a GtkTextBuffer

 

iter

a position in buffer

 

text

some UTF-8 text

 

len

length of text in bytes, or -1

 

default_editable

default editability of buffer

 

Returns

whether text was actually inserted


gtk_text_buffer_insert_interactive_at_cursor ()

gboolean
gtk_text_buffer_insert_interactive_at_cursor
                               (GtkTextBuffer *buffer,
                                const char *text,
                                int len,
                                gboolean default_editable);

Calls gtk_text_buffer_insert_interactive() at the cursor position.

default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here.

Parameters

buffer

a GtkTextBuffer

 

text

text in UTF-8 format

 

len

length of text in bytes, or -1

 

default_editable

default editability of buffer

 

Returns

whether text was actually inserted


gtk_text_buffer_insert_range ()

void
gtk_text_buffer_insert_range (GtkTextBuffer *buffer,
                              GtkTextIter *iter,
                              const GtkTextIter *start,
                              const GtkTextIter *end);

Copies text, tags, and paintables between start and end (the order of start and end doesn’t matter) and inserts the copy at iter . Used instead of simply getting/inserting text because it preserves images and tags. If start and end are in a different buffer from buffer , the two buffers must share the same tag table.

Implemented via emissions of the insert_text and apply_tag signals, so expect those.

Parameters

buffer

a GtkTextBuffer

 

iter

a position in buffer

 

start

a position in a GtkTextBuffer

 

end

another position in the same buffer as start

 

gtk_text_buffer_insert_range_interactive ()

gboolean
gtk_text_buffer_insert_range_interactive
                               (GtkTextBuffer *buffer,
                                GtkTextIter *iter,
                                const GtkTextIter *start,
                                const GtkTextIter *end,
                                gboolean default_editable);

Same as gtk_text_buffer_insert_range(), but does nothing if the insertion point isn’t editable. The default_editable parameter indicates whether the text is editable at iter if no tags enclosing iter affect editability. Typically the result of gtk_text_view_get_editable() is appropriate here.

Parameters

buffer

a GtkTextBuffer

 

iter

a position in buffer

 

start

a position in a GtkTextBuffer

 

end

another position in the same buffer as start

 

default_editable

default editability of the buffer

 

Returns

whether an insertion was possible at iter


gtk_text_buffer_insert_with_tags ()

void
gtk_text_buffer_insert_with_tags (GtkTextBuffer *buffer,
                                  GtkTextIter *iter,
                                  const char *text,
                                  int len,
                                  GtkTextTag *first_tag,
                                  ...);

Inserts text into buffer at iter , applying the list of tags to the newly-inserted text. The last tag specified must be NULL to terminate the list. Equivalent to calling gtk_text_buffer_insert(), then gtk_text_buffer_apply_tag() on the inserted text; gtk_text_buffer_insert_with_tags() is just a convenience function.

Parameters

buffer

a GtkTextBuffer

 

iter

an iterator in buffer

 

text

UTF-8 text

 

len

length of text , or -1

 

first_tag

first tag to apply to text

 

...

NULL-terminated list of tags to apply

 

gtk_text_buffer_insert_with_tags_by_name ()

void
gtk_text_buffer_insert_with_tags_by_name
                               (GtkTextBuffer *buffer,
                                GtkTextIter *iter,
                                const char *text,
                                int len,
                                const char *first_tag_name,
                                ...);

Same as gtk_text_buffer_insert_with_tags(), but allows you to pass in tag names instead of tag objects.

Parameters

buffer

a GtkTextBuffer

 

iter

position in buffer

 

text

UTF-8 text

 

len

length of text , or -1

 

first_tag_name

name of a tag to apply to text

 

...

more tag names

 

gtk_text_buffer_insert_markup ()

void
gtk_text_buffer_insert_markup (GtkTextBuffer *buffer,
                               GtkTextIter *iter,
                               const char *markup,
                               int len);

Inserts the text in markup at position iter . markup will be inserted in its entirety and must be nul-terminated and valid UTF-8. Emits the “insert-text” signal, possibly multiple times; insertion actually occurs in the default handler for the signal. iter will point to the end of the inserted text on return.

Parameters

buffer

a GtkTextBuffer

 

iter

location to insert the markup

 

markup

a nul-terminated UTF-8 string containing Pango markup

 

len

length of markup in bytes, or -1

 

gtk_text_buffer_insert_paintable ()

void
gtk_text_buffer_insert_paintable (GtkTextBuffer *buffer,
                                  GtkTextIter *iter,
                                  GdkPaintable *paintable);

Inserts an image into the text buffer at iter . The image will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode “object replacement character” 0xFFFC. Note that the “slice” variants for obtaining portions of the buffer as a string include this character for paintable, but the “text” variants do not. e.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text().

Parameters

buffer

a GtkTextBuffer

 

iter

location to insert the paintable

 

paintable

a GdkPaintable

 

gtk_text_buffer_delete ()

void
gtk_text_buffer_delete (GtkTextBuffer *buffer,
                        GtkTextIter *start,
                        GtkTextIter *end);

Deletes text between start and end . The order of start and end is not actually relevant; gtk_text_buffer_delete() will reorder them. This function actually emits the “delete-range” signal, and the default handler of that signal deletes the text. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the start and end will be re-initialized to point to the location where text was deleted.

Parameters

buffer

a GtkTextBuffer

 

start

a position in buffer

 

end

another position in buffer

 

gtk_text_buffer_delete_interactive ()

gboolean
gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer,
                                    GtkTextIter *start_iter,
                                    GtkTextIter *end_iter,
                                    gboolean default_editable);

Deletes all editable text in the given range. Calls gtk_text_buffer_delete() for each editable sub-range of [start ,end ). start and end are revalidated to point to the location of the last deleted range, or left untouched if no text was deleted.

Parameters

buffer

a GtkTextBuffer

 

start_iter

start of range to delete

 

end_iter

end of range

 

default_editable

whether the buffer is editable by default

 

Returns

whether some text was actually deleted


gtk_text_buffer_backspace ()

gboolean
gtk_text_buffer_backspace (GtkTextBuffer *buffer,
                           GtkTextIter *iter,
                           gboolean interactive,
                           gboolean default_editable);

Performs the appropriate action as if the user hit the delete key with the cursor at the position specified by iter . In the normal case a single character will be deleted, but when combining accents are involved, more than one character can be deleted, and when precomposed character and accent combinations are involved, less than one character will be deleted.

Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the iter will be re-initialized to point to the location where text was deleted.

Parameters

buffer

a GtkTextBuffer

 

iter

a position in buffer

 

interactive

whether the deletion is caused by user interaction

 

default_editable

whether the buffer is editable by default

 

Returns

TRUE if the buffer was modified


gtk_text_buffer_set_text ()

void
gtk_text_buffer_set_text (GtkTextBuffer *buffer,
                          const char *text,
                          int len);

Deletes current contents of buffer , and inserts text instead. If len is -1, text must be nul-terminated. text must be valid UTF-8.

Parameters

buffer

a GtkTextBuffer

 

text

UTF-8 text to insert

 

len

length of text in bytes

 

gtk_text_buffer_get_text ()

char *
gtk_text_buffer_get_text (GtkTextBuffer *buffer,
                          const GtkTextIter *start,
                          const GtkTextIter *end,
                          gboolean include_hidden_chars);

Returns the text in the range [start ,end ). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if include_hidden_chars is FALSE. Does not include characters representing embedded images, so byte and character indexes into the returned string do not correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_slice().

Parameters

buffer

a GtkTextBuffer

 

start

start of a range

 

end

end of a range

 

include_hidden_chars

whether to include invisible text

 

Returns

an allocated UTF-8 string.

[transfer full]


gtk_text_buffer_get_slice ()

char *
gtk_text_buffer_get_slice (GtkTextBuffer *buffer,
                           const GtkTextIter *start,
                           const GtkTextIter *end,
                           gboolean include_hidden_chars);

Returns the text in the range [start ,end ). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if include_hidden_chars is FALSE. The returned string includes a 0xFFFC character whenever the buffer contains embedded images, so byte and character indexes into the returned string do correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a paintable or widget is in the buffer.

Parameters

buffer

a GtkTextBuffer

 

start

start of a range

 

end

end of a range

 

include_hidden_chars

whether to include invisible text

 

Returns

an allocated UTF-8 string.

[transfer full]


gtk_text_buffer_insert_child_anchor ()

void
gtk_text_buffer_insert_child_anchor (GtkTextBuffer *buffer,
                                     GtkTextIter *iter,
                                     GtkTextChildAnchor *anchor);

Inserts a child widget anchor into the text buffer at iter . The anchor will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode “object replacement character” 0xFFFC. Note that the “slice” variants for obtaining portions of the buffer as a string include this character for child anchors, but the “text” variants do not. E.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text(). Consider gtk_text_buffer_create_child_anchor() as a more convenient alternative to this function. The buffer will add a reference to the anchor, so you can unref it after insertion.

Parameters

buffer

a GtkTextBuffer

 

iter

location to insert the anchor

 

anchor

a GtkTextChildAnchor

 

gtk_text_buffer_create_child_anchor ()

GtkTextChildAnchor *
gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer,
                                     GtkTextIter *iter);

This is a convenience function which simply creates a child anchor with gtk_text_child_anchor_new() and inserts it into the buffer with gtk_text_buffer_insert_child_anchor(). The new anchor is owned by the buffer; no reference count is returned to the caller of gtk_text_buffer_create_child_anchor().

Parameters

buffer

a GtkTextBuffer

 

iter

location in the buffer

 

Returns

the created child anchor.

[transfer none]


gtk_text_buffer_create_mark ()

GtkTextMark *
gtk_text_buffer_create_mark (GtkTextBuffer *buffer,
                             const char *mark_name,
                             const GtkTextIter *where,
                             gboolean left_gravity);

Creates a mark at position where . If mark_name is NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark’s current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (left_gravity = FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you’re typing).

The caller of this function does not own a reference to the returned GtkTextMark, so you can ignore the return value if you like. Marks are owned by the buffer and go away when the buffer does.

Emits the “mark-set” signal as notification of the mark's initial placement.

Parameters

buffer

a GtkTextBuffer

 

mark_name

name for mark, or NULL.

[allow-none]

where

location to place mark

 

left_gravity

whether the mark has left gravity

 

Returns

the new GtkTextMark object.

[transfer none]


gtk_text_buffer_move_mark ()

void
gtk_text_buffer_move_mark (GtkTextBuffer *buffer,
                           GtkTextMark *mark,
                           const GtkTextIter *where);

Moves mark to the new location where . Emits the “mark-set” signal as notification of the move.

Parameters

buffer

a GtkTextBuffer

 

mark

a GtkTextMark

 

where

new location for mark in buffer

 

gtk_text_buffer_move_mark_by_name ()

void
gtk_text_buffer_move_mark_by_name (GtkTextBuffer *buffer,
                                   const char *name,
                                   const GtkTextIter *where);

Moves the mark named name (which must exist) to location where . See gtk_text_buffer_move_mark() for details.

Parameters

buffer

a GtkTextBuffer

 

name

name of a mark

 

where

new location for mark

 

gtk_text_buffer_add_mark ()

void
gtk_text_buffer_add_mark (GtkTextBuffer *buffer,
                          GtkTextMark *mark,
                          const GtkTextIter *where);

Adds the mark at position where . The mark must not be added to another buffer, and if its name is not NULL then there must not be another mark in the buffer with the same name.

Emits the “mark-set” signal as notification of the mark's initial placement.

Parameters

buffer

a GtkTextBuffer

 

mark

the mark to add

 

where

location to place mark

 

gtk_text_buffer_delete_mark ()

void
gtk_text_buffer_delete_mark (GtkTextBuffer *buffer,
                             GtkTextMark *mark);

Deletes mark , so that it’s no longer located anywhere in the buffer. Removes the reference the buffer holds to the mark, so if you haven’t called g_object_ref() on the mark, it will be freed. Even if the mark isn’t freed, most operations on mark become invalid, until it gets added to a buffer again with gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to find out if a mark has been removed from its buffer. The “mark-deleted” signal will be emitted as notification after the mark is deleted.

Parameters

buffer

a GtkTextBuffer

 

mark

a GtkTextMark in buffer

 

gtk_text_buffer_delete_mark_by_name ()

void
gtk_text_buffer_delete_mark_by_name (GtkTextBuffer *buffer,
                                     const char *name);

Deletes the mark named name ; the mark must exist. See gtk_text_buffer_delete_mark() for details.

Parameters

buffer

a GtkTextBuffer

 

name

name of a mark in buffer

 

gtk_text_buffer_get_mark ()

GtkTextMark *
gtk_text_buffer_get_mark (GtkTextBuffer *buffer,
                          const char *name);

Returns the mark named name in buffer buffer , or NULL if no such mark exists in the buffer.

Parameters

buffer

a GtkTextBuffer

 

name

a mark name

 

Returns

a GtkTextMark, or NULL.

[nullable][transfer none]


gtk_text_buffer_get_insert ()

GtkTextMark *
gtk_text_buffer_get_insert (GtkTextBuffer *buffer);

Returns the mark that represents the cursor (insertion point). Equivalent to calling gtk_text_buffer_get_mark() to get the mark named “insert”, but very slightly more efficient, and involves less typing.

Parameters

buffer

a GtkTextBuffer

 

Returns

insertion point mark.

[transfer none]


gtk_text_buffer_get_selection_bound ()

GtkTextMark *
gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);

Returns the mark that represents the selection bound. Equivalent to calling gtk_text_buffer_get_mark() to get the mark named “selection_bound”, but very slightly more efficient, and involves less typing.

The currently-selected text in buffer is the region between the “selection_bound” and “insert” marks. If “selection_bound” and “insert” are in the same place, then there is no current selection. gtk_text_buffer_get_selection_bounds() is another convenient function for handling the selection, if you just want to know whether there’s a selection and what its bounds are.

Parameters

buffer

a GtkTextBuffer

 

Returns

selection bound mark.

[transfer none]


gtk_text_buffer_get_has_selection ()

gboolean
gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer);

Indicates whether the buffer has some text currently selected.

Parameters

buffer

a GtkTextBuffer

 

Returns

TRUE if the there is text selected


gtk_text_buffer_place_cursor ()

void
gtk_text_buffer_place_cursor (GtkTextBuffer *buffer,
                              const GtkTextIter *where);

This function moves the “insert” and “selection_bound” marks simultaneously. If you move them to the same place in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized.

Parameters

buffer

a GtkTextBuffer

 

where

where to put the cursor

 

gtk_text_buffer_select_range ()

void
gtk_text_buffer_select_range (GtkTextBuffer *buffer,
                              const GtkTextIter *ins,
                              const GtkTextIter *bound);

This function moves the “insert” and “selection_bound” marks simultaneously. If you move them in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized.

Parameters

buffer

a GtkTextBuffer

 

ins

where to put the “insert” mark

 

bound

where to put the “selection_bound” mark

 

gtk_text_buffer_apply_tag ()

void
gtk_text_buffer_apply_tag (GtkTextBuffer *buffer,
                           GtkTextTag *tag,
                           const GtkTextIter *start,
                           const GtkTextIter *end);

Emits the “apply-tag” signal on buffer . The default handler for the signal applies tag to the given range. start and end do not have to be in order.

Parameters

buffer

a GtkTextBuffer

 

tag

a GtkTextTag

 

start

one bound of range to be tagged

 

end

other bound of range to be tagged

 

gtk_text_buffer_remove_tag ()

void
gtk_text_buffer_remove_tag (GtkTextBuffer *buffer,
                            GtkTextTag *tag,
                            const GtkTextIter *start,
                            const GtkTextIter *end);

Emits the “remove-tag” signal. The default handler for the signal removes all occurrences of tag from the given range. start and end don’t have to be in order.

Parameters

buffer

a GtkTextBuffer

 

tag

a GtkTextTag

 

start

one bound of range to be untagged

 

end

other bound of range to be untagged

 

gtk_text_buffer_apply_tag_by_name ()

void
gtk_text_buffer_apply_tag_by_name (GtkTextBuffer *buffer,
                                   const char *name,
                                   const GtkTextIter *start,
                                   const GtkTextIter *end);

Calls gtk_text_tag_table_lookup() on the buffer’s tag table to get a GtkTextTag, then calls gtk_text_buffer_apply_tag().

Parameters

buffer

a GtkTextBuffer

 

name

name of a named GtkTextTag

 

start

one bound of range to be tagged

 

end

other bound of range to be tagged

 

gtk_text_buffer_remove_tag_by_name ()

void
gtk_text_buffer_remove_tag_by_name (GtkTextBuffer *buffer,
                                    const char *name,
                                    const GtkTextIter *start,
                                    const GtkTextIter *end);

Calls gtk_text_tag_table_lookup() on the buffer’s tag table to get a GtkTextTag, then calls gtk_text_buffer_remove_tag().

Parameters

buffer

a GtkTextBuffer

 

name

name of a GtkTextTag

 

start

one bound of range to be untagged

 

end

other bound of range to be untagged

 

gtk_text_buffer_remove_all_tags ()

void
gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer,
                                 const GtkTextIter *start,
                                 const GtkTextIter *end);

Removes all tags in the range between start and end . Be careful with this function; it could remove tags added in code unrelated to the code you’re currently writing. That is, using this function is probably a bad idea if you have two or more unrelated code sections that add tags.

Parameters

buffer

a GtkTextBuffer

 

start

one bound of range to be untagged

 

end

other bound of range to be untagged

 

gtk_text_buffer_create_tag ()

GtkTextTag *
gtk_text_buffer_create_tag (GtkTextBuffer *buffer,
                            const char *tag_name,
                            const char *first_property_name,
                            ...);

Creates a tag and adds it to the tag table for buffer . Equivalent to calling gtk_text_tag_new() and then adding the tag to the buffer’s tag table. The returned tag is owned by the buffer’s tag table, so the ref count will be equal to one.

If tag_name is NULL, the tag is anonymous.

If tag_name is non-NULL, a tag called tag_name must not already exist in the tag table for this buffer.

The first_property_name argument and subsequent arguments are a list of properties to set on the tag, as with g_object_set().

Parameters

buffer

a GtkTextBuffer

 

tag_name

name of the new tag, or NULL.

[allow-none]

first_property_name

name of first property to set, or NULL.

[allow-none]

...

NULL-terminated list of property names and values

 

Returns

a new tag.

[transfer none]


gtk_text_buffer_get_iter_at_line_offset ()

void
gtk_text_buffer_get_iter_at_line_offset
                               (GtkTextBuffer *buffer,
                                GtkTextIter *iter,
                                int line_number,
                                int char_offset);

Obtains an iterator pointing to char_offset within the given line. Note characters, not bytes; UTF-8 may encode one character as multiple bytes.

Before the 3.20 version, it was not allowed to pass an invalid location.

If line_number is greater than the number of lines in the buffer , the end iterator is returned. And if char_offset is off the end of the line, the iterator at the end of the line is returned.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

line_number

line number counting from 0

 

char_offset

char offset from start of line

 

gtk_text_buffer_get_iter_at_offset ()

void
gtk_text_buffer_get_iter_at_offset (GtkTextBuffer *buffer,
                                    GtkTextIter *iter,
                                    int char_offset);

Initializes iter to a position char_offset chars from the start of the entire buffer. If char_offset is -1 or greater than the number of characters in the buffer, iter is initialized to the end iterator, the iterator one past the last valid character in the buffer.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

char_offset

char offset from start of buffer, counting from 0, or -1

 

gtk_text_buffer_get_iter_at_line ()

void
gtk_text_buffer_get_iter_at_line (GtkTextBuffer *buffer,
                                  GtkTextIter *iter,
                                  int line_number);

Initializes iter to the start of the given line. If line_number is greater than the number of lines in the buffer , the end iterator is returned.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

line_number

line number counting from 0

 

gtk_text_buffer_get_iter_at_line_index ()

void
gtk_text_buffer_get_iter_at_line_index
                               (GtkTextBuffer *buffer,
                                GtkTextIter *iter,
                                int line_number,
                                int byte_index);

Obtains an iterator pointing to byte_index within the given line. byte_index must be the start of a UTF-8 character. Note bytes, not characters; UTF-8 may encode one character as multiple bytes.

If line_number is greater than the number of lines in the buffer , the end iterator is returned. And if byte_index is off the end of the line, the iterator at the end of the line is returned.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

line_number

line number counting from 0

 

byte_index

byte index from start of line

 

gtk_text_buffer_get_iter_at_mark ()

void
gtk_text_buffer_get_iter_at_mark (GtkTextBuffer *buffer,
                                  GtkTextIter *iter,
                                  GtkTextMark *mark);

Initializes iter with the current position of mark .

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

mark

a GtkTextMark in buffer

 

gtk_text_buffer_get_iter_at_child_anchor ()

void
gtk_text_buffer_get_iter_at_child_anchor
                               (GtkTextBuffer *buffer,
                                GtkTextIter *iter,
                                GtkTextChildAnchor *anchor);

Obtains the location of anchor within buffer .

Parameters

buffer

a GtkTextBuffer

 

iter

an iterator to be initialized.

[out]

anchor

a child anchor that appears in buffer

 

gtk_text_buffer_get_start_iter ()

void
gtk_text_buffer_get_start_iter (GtkTextBuffer *buffer,
                                GtkTextIter *iter);

Initialized iter with the first position in the text buffer. This is the same as using gtk_text_buffer_get_iter_at_offset() to get the iter at character offset 0.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

gtk_text_buffer_get_end_iter ()

void
gtk_text_buffer_get_end_iter (GtkTextBuffer *buffer,
                              GtkTextIter *iter);

Initializes iter with the “end iterator,” one past the last valid character in the text buffer. If dereferenced with gtk_text_iter_get_char(), the end iterator has a character value of 0. The entire buffer lies in the range from the first position in the buffer (call gtk_text_buffer_get_start_iter() to get character position 0) to the end iterator.

Parameters

buffer

a GtkTextBuffer

 

iter

iterator to initialize.

[out]

gtk_text_buffer_get_bounds ()

void
gtk_text_buffer_get_bounds (GtkTextBuffer *buffer,
                            GtkTextIter *start,
                            GtkTextIter *end);

Retrieves the first and last iterators in the buffer, i.e. the entire buffer lies within the range [start ,end ).

Parameters

buffer

a GtkTextBuffer

 

start

iterator to initialize with first position in the buffer.

[out]

end

iterator to initialize with the end iterator.

[out]

gtk_text_buffer_get_modified ()

gboolean
gtk_text_buffer_get_modified (GtkTextBuffer *buffer);

Indicates whether the buffer has been modified since the last call to gtk_text_buffer_set_modified() set the modification flag to FALSE. Used for example to enable a “save” function in a text editor.

Parameters

buffer

a GtkTextBuffer

 

Returns

TRUE if the buffer has been modified


gtk_text_buffer_set_modified ()

void
gtk_text_buffer_set_modified (GtkTextBuffer *buffer,
                              gboolean setting);

Used to keep track of whether the buffer has been modified since the last time it was saved. Whenever the buffer is saved to disk, call gtk_text_buffer_set_modified (buffer , FALSE). When the buffer is modified, it will automatically toggled on the modified bit again. When the modified bit flips, the buffer emits the “modified-changed” signal.

Parameters

buffer

a GtkTextBuffer

 

setting

modification flag setting

 

gtk_text_buffer_delete_selection ()

gboolean
gtk_text_buffer_delete_selection (GtkTextBuffer *buffer,
                                  gboolean interactive,
                                  gboolean default_editable);

Deletes the range between the “insert” and “selection_bound” marks, that is, the currently-selected text. If interactive is TRUE, the editability of the selection will be considered (users can’t delete uneditable text).

Parameters

buffer

a GtkTextBuffer

 

interactive

whether the deletion is caused by user interaction

 

default_editable

whether the buffer is editable by default

 

Returns

whether there was a non-empty selection to delete


gtk_text_buffer_paste_clipboard ()

void
gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer,
                                 GdkClipboard *clipboard,
                                 GtkTextIter *override_location,
                                 gboolean default_editable);

Pastes the contents of a clipboard. If override_location is NULL, the pasted text will be inserted at the cursor position, or the buffer selection will be replaced if the selection is non-empty.

Note: pasting is asynchronous, that is, we’ll ask for the paste data and return, and at some point later after the main loop runs, the paste data will be inserted.

Parameters

buffer

a GtkTextBuffer

 

clipboard

the GdkClipboard to paste from

 

override_location

location to insert pasted text, or NULL.

[allow-none]

default_editable

whether the buffer is editable by default

 

gtk_text_buffer_copy_clipboard ()

void
gtk_text_buffer_copy_clipboard (GtkTextBuffer *buffer,
                                GdkClipboard *clipboard);

Copies the currently-selected text to a clipboard.

Parameters

buffer

a GtkTextBuffer

 

clipboard

the GdkClipboard object to copy to

 

gtk_text_buffer_cut_clipboard ()

void
gtk_text_buffer_cut_clipboard (GtkTextBuffer *buffer,
                               GdkClipboard *clipboard,
                               gboolean default_editable);

Copies the currently-selected text to a clipboard, then deletes said text if it’s editable.

Parameters

buffer

a GtkTextBuffer

 

clipboard

the GdkClipboard object to cut to

 

default_editable

default editability of the buffer

 

gtk_text_buffer_get_selection_bounds ()

gboolean
gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer,
                                      GtkTextIter *start,
                                      GtkTextIter *end);

Returns TRUE if some text is selected; places the bounds of the selection in start and end (if the selection has length 0, then start and end are filled in with the same value). start and end will be in ascending order. If start and end are NULL, then they are not filled in, but the return value still indicates whether text is selected.

Parameters

buffer

a GtkTextBuffer a GtkTextBuffer

 

start

iterator to initialize with selection start.

[out]

end

iterator to initialize with selection end.

[out]

Returns

whether the selection has nonzero length


gtk_text_buffer_get_selection_content ()

GdkContentProvider *
gtk_text_buffer_get_selection_content (GtkTextBuffer *buffer);

Get a content provider for this buffer.

Parameters

buffer

a GtkTextBuffer

 

Returns

a new GdkContentProvider.

[transfer full]


gtk_text_buffer_begin_user_action ()

void
gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);

Called to indicate that the buffer operations between here and a call to gtk_text_buffer_end_user_action() are part of a single user-visible operation. The operations between gtk_text_buffer_begin_user_action() and gtk_text_buffer_end_user_action() can then be grouped when creating an undo stack. GtkTextBuffer maintains a count of calls to gtk_text_buffer_begin_user_action() that have not been closed with a call to gtk_text_buffer_end_user_action(), and emits the “begin-user-action” and “end-user-action” signals only for the outermost pair of calls. This allows you to build user actions from other user actions.

The “interactive” buffer mutation functions, such as gtk_text_buffer_insert_interactive(), automatically call begin/end user action around the buffer operations they perform, so there's no need to add extra calls if you user action consists solely of a single call to one of those functions.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_end_user_action ()

void
gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);

Should be paired with a call to gtk_text_buffer_begin_user_action(). See that function for a full explanation.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_add_selection_clipboard ()

void
gtk_text_buffer_add_selection_clipboard
                               (GtkTextBuffer *buffer,
                                GdkClipboard *clipboard);

Adds clipboard to the list of clipboards in which the selection contents of buffer are available. In most cases, clipboard will be the GdkClipboard returned by gtk_widget_get_primary_clipboard() for a view of buffer .

Parameters

buffer

a GtkTextBuffer

 

clipboard

a GdkClipboard

 

gtk_text_buffer_remove_selection_clipboard ()

void
gtk_text_buffer_remove_selection_clipboard
                               (GtkTextBuffer *buffer,
                                GdkClipboard *clipboard);

Removes a GdkClipboard added with gtk_text_buffer_add_selection_clipboard().

Parameters

buffer

a GtkTextBuffer

 

clipboard

a GdkClipboard added to buffer by gtk_text_buffer_add_selection_clipboard()

 

gtk_text_buffer_get_can_undo ()

gboolean
gtk_text_buffer_get_can_undo (GtkTextBuffer *buffer);

Gets whether there is an undoable action in the history.

Parameters

buffer

a GtkTextBuffer

 

Returns

TRUE if there is an undoable action


gtk_text_buffer_get_can_redo ()

gboolean
gtk_text_buffer_get_can_redo (GtkTextBuffer *buffer);

Gets whether there is a redoable action in the history.

Parameters

buffer

a GtkTextBuffer

 

Returns

TRUE if there is an redoable action


gtk_text_buffer_get_enable_undo ()

gboolean
gtk_text_buffer_get_enable_undo (GtkTextBuffer *buffer);

Gets whether the buffer is saving modifications to the buffer to allow for undo and redo actions.

See gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() to create changes to the buffer that cannot be undone.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_set_enable_undo ()

void
gtk_text_buffer_set_enable_undo (GtkTextBuffer *buffer,
                                 gboolean enable_undo);

Sets whether or not to enable undoable actions in the text buffer. If enabled, the user will be able to undo the last number of actions up to gtk_text_buffer_get_max_undo_levels().

See gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() to create changes to the buffer that cannot be undone.

Parameters

buffer

a GtkTextBuffer

 

enable_undo

TRUE to enable undo

 

gtk_text_buffer_get_max_undo_levels ()

guint
gtk_text_buffer_get_max_undo_levels (GtkTextBuffer *buffer);

Gets the maximum number of undo levels to perform. If 0, unlimited undo actions may be performed. Note that this may have a memory usage impact as it requires storing an additional copy of the inserted or removed text within the text buffer.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_set_max_undo_levels ()

void
gtk_text_buffer_set_max_undo_levels (GtkTextBuffer *buffer,
                                     guint max_undo_levels);

Sets the maximum number of undo levels to perform. If 0, unlimited undo actions may be performed. Note that this may have a memory usage impact as it requires storing an additional copy of the inserted or removed text within the text buffer.

Parameters

buffer

a GtkTextBuffer

 

max_undo_levels

the maximum number of undo actions to perform

 

gtk_text_buffer_undo ()

void
gtk_text_buffer_undo (GtkTextBuffer *buffer);

Undoes the last undoable action on the buffer, if there is one.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_redo ()

void
gtk_text_buffer_redo (GtkTextBuffer *buffer);

Redoes the next redoable action on the buffer, if there is one.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_begin_irreversible_action ()

void
gtk_text_buffer_begin_irreversible_action
                               (GtkTextBuffer *buffer);

Denotes the beginning of an action that may not be undone. This will cause any previous operations in the undo/redo queue to be cleared.

This should be paired with a call to gtk_text_buffer_end_irreversible_action() after the irreversible action has completed.

You may nest calls to gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() pairs.

Parameters

buffer

a GtkTextBuffer

 

gtk_text_buffer_end_irreversible_action ()

void
gtk_text_buffer_end_irreversible_action
                               (GtkTextBuffer *buffer);

Denotes the end of an action that may not be undone. This will cause any previous operations in the undo/redo queue to be cleared.

This should be called after completing modifications to the text buffer after gtk_text_buffer_begin_irreversible_action() was called.

You may nest calls to gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() pairs.

Parameters

buffer

a GtkTextBuffer

 

Types and Values

GtkTextBuffer

typedef struct _GtkTextBuffer GtkTextBuffer;

struct GtkTextBufferClass

struct GtkTextBufferClass {
  GObjectClass parent_class;

  void (* insert_text)            (GtkTextBuffer      *buffer,
                                   GtkTextIter        *pos,
                                   const char         *new_text,
                                   int                 new_text_length);

  void (* insert_paintable)       (GtkTextBuffer      *buffer,
                                   GtkTextIter        *iter,
                                   GdkPaintable       *paintable);

  void (* insert_child_anchor)    (GtkTextBuffer      *buffer,
                                   GtkTextIter        *iter,
                                   GtkTextChildAnchor *anchor);

  void (* delete_range)           (GtkTextBuffer      *buffer,
                                   GtkTextIter        *start,
                                   GtkTextIter        *end);

  void (* changed)                (GtkTextBuffer      *buffer);

  void (* modified_changed)       (GtkTextBuffer      *buffer);

  void (* mark_set)               (GtkTextBuffer      *buffer,
                                   const GtkTextIter  *location,
                                   GtkTextMark        *mark);

  void (* mark_deleted)           (GtkTextBuffer      *buffer,
                                   GtkTextMark        *mark);

  void (* apply_tag)              (GtkTextBuffer      *buffer,
                                   GtkTextTag         *tag,
                                   const GtkTextIter  *start,
                                   const GtkTextIter  *end);

  void (* remove_tag)             (GtkTextBuffer      *buffer,
                                   GtkTextTag         *tag,
                                   const GtkTextIter  *start,
                                   const GtkTextIter  *end);

  void (* begin_user_action)      (GtkTextBuffer      *buffer);

  void (* end_user_action)        (GtkTextBuffer      *buffer);

  void (* paste_done)             (GtkTextBuffer      *buffer,
                                   GdkClipboard       *clipboard);
  void (* undo)                   (GtkTextBuffer      *buffer);
  void (* redo)                   (GtkTextBuffer      *buffer);
};

Members

insert_text ()

The class handler for the “insert-text” signal.

 

insert_paintable ()

The class handler for the “insert-paintable” signal.

 

insert_child_anchor ()

The class handler for the “insert-child-anchor” signal.

 

delete_range ()

The class handler for the “delete-range” signal.

 

changed ()

The class handler for the “changed” signal.

 

modified_changed ()

The class handler for the “modified-changed” signal.

 

mark_set ()

The class handler for the “mark-set” signal.

 

mark_deleted ()

The class handler for the “mark-deleted” signal.

 

apply_tag ()

The class handler for the “apply-tag” signal.

 

remove_tag ()

The class handler for the “remove-tag” signal.

 

begin_user_action ()

The class handler for the “begin-user-action” signal.

 

end_user_action ()

The class handler for the “end-user-action” signal.

 

paste_done ()

The class handler for the “paste-done” signal.

 

undo ()

   

redo ()

   

Property Details

The “can-redo” property

  “can-redo”                 gboolean

The “can-redo” property denotes that the buffer can reapply the last undone action.

Owner: GtkTextBuffer

Flags: Read

Default value: FALSE


The “can-undo” property

  “can-undo”                 gboolean

The “can-undo” property denotes that the buffer can undo the last applied action.

Owner: GtkTextBuffer

Flags: Read

Default value: FALSE


The “copy-target-list” property

  “copy-target-list”         GdkContentFormats *

The list of targets this buffer supports for clipboard copying and as DND source.

Owner: GtkTextBuffer

Flags: Read


The “cursor-position” property

  “cursor-position”          gint

The position of the insert mark (as offset from the beginning of the buffer). It is useful for getting notified when the cursor moves.

Owner: GtkTextBuffer

Flags: Read

Allowed values: >= 0

Default value: 0


The “enable-undo” property

  “enable-undo”              gboolean

The “enable-undo” property denotes if support for undoing and redoing changes to the buffer is allowed.

Owner: GtkTextBuffer

Flags: Read / Write

Default value: TRUE


The “has-selection” property

  “has-selection”            gboolean

Whether the buffer has some text currently selected.

Owner: GtkTextBuffer

Flags: Read

Default value: FALSE


The “paste-target-list” property

  “paste-target-list”        GdkContentFormats *

The list of targets this buffer supports for clipboard pasting and as DND destination.

Owner: GtkTextBuffer

Flags: Read


The “tag-table” property

  “tag-table”                GtkTextTagTable *

Text Tag Table.

Owner: GtkTextBuffer

Flags: Read / Write / Construct Only


The “text” property

  “text”                     gchar *

The text content of the buffer. Without child widgets and images, see gtk_text_buffer_get_text() for more information.

Owner: GtkTextBuffer

Flags: Read / Write

Default value: ""

Signal Details

The “apply-tag” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextTag    *tag,
               GtkTextIter   *start,
               GtkTextIter   *end,
               gpointer       user_data)

The “apply-tag” signal is emitted to apply a tag to a range of text in a GtkTextBuffer. Applying actually occurs in the default handler.

Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them).

See also: gtk_text_buffer_apply_tag(), gtk_text_buffer_insert_with_tags(), gtk_text_buffer_insert_range().

Parameters

textbuffer

the object which received the signal

 

tag

the applied tag

 

start

the start of the range the tag is applied to

 

end

the end of the range the tag is applied to

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “begin-user-action” signal

void
user_function (GtkTextBuffer *textbuffer,
               gpointer       user_data)

The “begin-user-action” signal is emitted at the beginning of a single user-visible operation on a GtkTextBuffer.

See also: gtk_text_buffer_begin_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection().

Parameters

textbuffer

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “changed” signal

void
user_function (GtkTextBuffer *textbuffer,
               gpointer       user_data)

The “changed” signal is emitted when the content of a GtkTextBuffer has changed.

Parameters

textbuffer

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “delete-range” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextIter   *start,
               GtkTextIter   *end,
               gpointer       user_data)

The “delete-range” signal is emitted to delete a range from a GtkTextBuffer.

Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them). The default signal handler revalidates the start and end iters to both point to the location where text was deleted. Handlers which run after the default handler (see g_signal_connect_after()) do not have access to the deleted text.

See also: gtk_text_buffer_delete().

Parameters

textbuffer

the object which received the signal

 

start

the start of the range to be deleted

 

end

the end of the range to be deleted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “end-user-action” signal

void
user_function (GtkTextBuffer *textbuffer,
               gpointer       user_data)

The “end-user-action” signal is emitted at the end of a single user-visible operation on the GtkTextBuffer.

See also: gtk_text_buffer_end_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection(), gtk_text_buffer_backspace().

Parameters

textbuffer

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “insert-child-anchor” signal

void
user_function (GtkTextBuffer      *textbuffer,
               GtkTextIter        *location,
               GtkTextChildAnchor *anchor,
               gpointer            user_data)

The “insert-child-anchor” signal is emitted to insert a GtkTextChildAnchor in a GtkTextBuffer. Insertion actually occurs in the default handler.

Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted anchor .

See also: gtk_text_buffer_insert_child_anchor().

Parameters

textbuffer

the object which received the signal

 

location

position to insert anchor in textbuffer

 

anchor

the GtkTextChildAnchor to be inserted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “insert-paintable” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextIter   *location,
               GdkPaintable  *paintable,
               gpointer       user_data)

The “insert-paintable” signal is emitted to insert a GdkPaintable in a GtkTextBuffer. Insertion actually occurs in the default handler.

Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted paintable .

See also: gtk_text_buffer_insert_paintable().

Parameters

textbuffer

the object which received the signal

 

location

position to insert paintable in textbuffer

 

paintable

the GdkPaintable to be inserted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “insert-text” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextIter   *location,
               gchar         *text,
               gint           len,
               gpointer       user_data)

The ::insert-text signal is emitted to insert text in a GtkTextBuffer. Insertion actually occurs in the default handler.

Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to point to the end of the inserted text.

See also: gtk_text_buffer_insert(), gtk_text_buffer_insert_range().

Parameters

textbuffer

the object which received the signal

 

location

position to insert text in textbuffer

 

text

the UTF-8 text to be inserted

 

len

length of the inserted text in bytes

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “mark-deleted” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextMark   *mark,
               gpointer       user_data)

The “mark-deleted” signal is emitted as notification after a GtkTextMark is deleted.

See also: gtk_text_buffer_delete_mark().

Parameters

textbuffer

the object which received the signal

 

mark

The mark that was deleted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “mark-set” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextIter   *location,
               GtkTextMark   *mark,
               gpointer       user_data)

The “mark-set” signal is emitted as notification after a GtkTextMark is set.

See also: gtk_text_buffer_create_mark(), gtk_text_buffer_move_mark().

Parameters

textbuffer

the object which received the signal

 

location

The location of mark in textbuffer

 

mark

The mark that is set

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “modified-changed” signal

void
user_function (GtkTextBuffer *textbuffer,
               gpointer       user_data)

The “modified-changed” signal is emitted when the modified bit of a GtkTextBuffer flips.

See also: gtk_text_buffer_set_modified().

Parameters

textbuffer

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “paste-done” signal

void
user_function (GtkTextBuffer *textbuffer,
               GdkClipboard  *clipboard,
               gpointer       user_data)

The paste-done signal is emitted after paste operation has been completed. This is useful to properly scroll the view to the end of the pasted text. See gtk_text_buffer_paste_clipboard() for more details.

Parameters

textbuffer

the object which received the signal

 

clipboard

the GdkClipboard pasted from

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “redo” signal

void
user_function (GtkTextBuffer *buffer,
               gpointer       user_data)

The "redo" signal is emitted when a request has been made to redo the previously undone operation.

Parameters

buffer

a GtkTextBuffer

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “remove-tag” signal

void
user_function (GtkTextBuffer *textbuffer,
               GtkTextTag    *tag,
               GtkTextIter   *start,
               GtkTextIter   *end,
               gpointer       user_data)

The “remove-tag” signal is emitted to remove all occurrences of tag from a range of text in a GtkTextBuffer. Removal actually occurs in the default handler.

Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them).

See also: gtk_text_buffer_remove_tag().

Parameters

textbuffer

the object which received the signal

 

tag

the tag to be removed

 

start

the start of the range the tag is removed from

 

end

the end of the range the tag is removed from

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “undo” signal

void
user_function (GtkTextBuffer *buffer,
               gpointer       user_data)

The "undo" signal is emitted when a request has been made to undo the previous operation or set of operations that have been grouped together.

Parameters

buffer

a GtkTextBuffer

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkTreeListModel.html0000664000175000017500000007325013710700534021404 0ustar mclasenmclasen GtkTreeListModel: GTK 4 Reference Manual

GtkTreeListModel

GtkTreeListModel — A list model that can create child models on demand

Properties

gboolean autoexpand Read / Write
GListModel * model Read
gboolean passthrough Read / Write / Construct Only
GListModel * children Read
guint depth Read
gboolean expandable Read
gboolean expanded Read / Write
GObject * item Read

Types and Values

Object Hierarchy

    GObject
    ├── GtkTreeListModel
    ╰── GtkTreeListRow

Implemented Interfaces

GtkTreeListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkTreeListModel is a GListModel implementation that can expand rows by creating new child list models on demand.

Functions

GtkTreeListModelCreateModelFunc ()

GListModel *
(*GtkTreeListModelCreateModelFunc) (gpointer item,
                                    gpointer user_data);

Prototype of the function called to create new child models when gtk_tree_list_row_set_expanded() is called.

This function can return NULL to indicate that item is guaranteed to be a leaf node and will never have children. If it does not have children but may get children later, it should return an empty model that is filled once children arrive.

Parameters

item

The item that is being expanded.

[type GObject]

user_data

User data passed when registering the function

 

Returns

The model tracking the children of item or NULL if item can never have children.

[nullable][transfer full]


gtk_tree_list_model_new ()

GtkTreeListModel *
gtk_tree_list_model_new (GListModel *root,
                         gboolean passthrough,
                         gboolean autoexpand,
                         GtkTreeListModelCreateModelFunc create_func,
                         gpointer user_data,
                         GDestroyNotify user_destroy);

Creates a new empty GtkTreeListModel displaying root with all rows collapsed.

Parameters

root

The GListModel to use as root.

[transfer full]

passthrough

TRUE to pass through items from the models

 

autoexpand

TRUE to set the autoexpand property and expand the root model

 

create_func

Function to call to create the GListModel for the children of an item

 

user_data

Data to pass to create_func .

[closure]

user_destroy

Function to call to free user_data

 

Returns

a newly created GtkTreeListModel.


gtk_tree_list_model_get_model ()

GListModel *
gtk_tree_list_model_get_model (GtkTreeListModel *self);

Gets the root model that self was created with.

Parameters

self

a GtkTreeListModel

 

Returns

the root model.

[transfer none]


gtk_tree_list_model_get_passthrough ()

gboolean
gtk_tree_list_model_get_passthrough (GtkTreeListModel *self);

If this function returns FALSE, the GListModel functions for self return custom GtkTreeListRow objects. You need to call gtk_tree_list_row_get_item() on these objects to get the original item.

If TRUE, the values of the child models are passed through in their original state. You then need to call gtk_tree_list_model_get_row() to get the custom GtkTreeListRows.

Parameters

self

a GtkTreeListModel

 

Returns

TRUE if the model is passing through original row items


gtk_tree_list_model_set_autoexpand ()

void
gtk_tree_list_model_set_autoexpand (GtkTreeListModel *self,
                                    gboolean autoexpand);

If set to TRUE, the model will recursively expand all rows that get added to the model. This can be either rows added by changes to the underlying models or via gtk_tree_list_model_set_expanded().

Parameters

self

a GtkTreeListModel

 

autoexpand

TRUE to make the model autoexpand its rows

 

gtk_tree_list_model_get_autoexpand ()

gboolean
gtk_tree_list_model_get_autoexpand (GtkTreeListModel *self);

Gets whether the model is set to automatically expand new rows that get added. This can be either rows added by changes to the underlying models or via gtk_tree_list_model_set_expanded().

Parameters

self

a GtkTreeListModel

 

Returns

TRUE if the model is set to autoexpand


gtk_tree_list_model_get_child_row ()

GtkTreeListRow *
gtk_tree_list_model_get_child_row (GtkTreeListModel *self,
                                   guint position);

Gets the row item corresponding to the child at index position for self 's root model.

If position is greater than the number of children in the root model, NULL is returned.

Do not confuse this function with gtk_tree_list_model_get_row().

Parameters

self

a GtkTreeListModel

 

position

position of the child to get

 

Returns

the child in position .

[nullable][transfer full]


gtk_tree_list_model_get_row ()

GtkTreeListRow *
gtk_tree_list_model_get_row (GtkTreeListModel *self,
                             guint position);

Gets the row object for the given row. If position is greater than the number of items in self , NULL is returned.

The row object can be used to expand and collapse rows as well as to inspect its position in the tree. See its documentation for details.

This row object is persistent and will refer to the current item as long as the row is present in self , independent of other rows being added or removed.

If self is set to not be passthrough, this function is equivalent to calling g_list_model_get_item().

Do not confuse this function with gtk_tree_list_model_get_child_row().

Parameters

self

a GtkTreeListModel

 

position

the position of the row to fetch

 

Returns

The row item.

[nullable][transfer full]

Types and Values

GtkTreeListModel

typedef struct _GtkTreeListModel GtkTreeListModel;

GtkTreeListRow

typedef struct _GtkTreeListRow GtkTreeListRow;

Property Details

The “autoexpand” property

  “autoexpand”               gboolean

If all rows should be expanded by default

Owner: GtkTreeListModel

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GListModel *

The root model displayed

Owner: GtkTreeListModel

Flags: Read


The “passthrough” property

  “passthrough”              gboolean

If FALSE, the GListModel functions for this object return custom GtkTreeListRow objects. If TRUE, the values of the child models are pass through unmodified.

Owner: GtkTreeListModel

Flags: Read / Write / Construct Only

Default value: FALSE


The “children” property

  “children”                 GListModel *

The model holding the row's children.

Owner: GtkTreeListRow

Flags: Read


The “depth” property

  “depth”                    guint

The depth in the tree of this row

Owner: GtkTreeListRow

Flags: Read

Default value: 0


The “expandable” property

  “expandable”               gboolean

If this row can ever be expanded

Owner: GtkTreeListRow

Flags: Read

Default value: FALSE


The “expanded” property

  “expanded”                 gboolean

If this row is currently expanded

Owner: GtkTreeListRow

Flags: Read / Write

Default value: FALSE


The “item” property

  “item”                     GObject *

The item held in this row

Owner: GtkTreeListRow

Flags: Read

See Also

GListModel

docs/reference/gtk/html/GtkWindow.html0000664000175000017500000046066613710700534020152 0ustar mclasenmclasen GtkWindow: GTK 4 Reference Manual

GtkWindow

GtkWindow — Toplevel which can contain other widgets

Functions

GtkWidget * gtk_window_new ()
void gtk_window_destroy ()
GtkWidget * gtk_window_get_child ()
void gtk_window_set_child ()
void gtk_window_set_title ()
void gtk_window_set_resizable ()
gboolean gtk_window_get_resizable ()
void gtk_window_set_modal ()
void gtk_window_set_default_size ()
void gtk_window_set_hide_on_close ()
gboolean gtk_window_get_hide_on_close ()
void gtk_window_set_transient_for ()
void gtk_window_set_destroy_with_parent ()
void gtk_window_set_display ()
gboolean gtk_window_is_active ()
gboolean gtk_window_is_maximized ()
GListModel * gtk_window_get_toplevels ()
GList * gtk_window_list_toplevels ()
GtkWidget * gtk_window_get_focus ()
void gtk_window_set_focus ()
GtkWidget * gtk_window_get_default_widget ()
void gtk_window_set_default_widget ()
void gtk_window_present ()
void gtk_window_present_with_time ()
void gtk_window_close ()
void gtk_window_minimize ()
void gtk_window_unminimize ()
void gtk_window_maximize ()
void gtk_window_unmaximize ()
void gtk_window_fullscreen ()
void gtk_window_fullscreen_on_monitor ()
void gtk_window_unfullscreen ()
void gtk_window_set_decorated ()
void gtk_window_set_deletable ()
void gtk_window_set_startup_id ()
gboolean gtk_window_get_decorated ()
gboolean gtk_window_get_deletable ()
const char * gtk_window_get_default_icon_name ()
void gtk_window_get_default_size ()
gboolean gtk_window_get_destroy_with_parent ()
const char * gtk_window_get_icon_name ()
gboolean gtk_window_get_modal ()
void gtk_window_get_size ()
const char * gtk_window_get_title ()
GtkWindow * gtk_window_get_transient_for ()
GtkWindowGroup * gtk_window_get_group ()
gboolean gtk_window_has_group ()
void gtk_window_resize ()
void gtk_window_set_default_icon_name ()
void gtk_window_set_icon_name ()
void gtk_window_set_auto_startup_notification ()
gboolean gtk_window_get_mnemonics_visible ()
void gtk_window_set_mnemonics_visible ()
gboolean gtk_window_get_focus_visible ()
void gtk_window_set_focus_visible ()
GtkApplication * gtk_window_get_application ()
void gtk_window_set_application ()
void gtk_window_set_titlebar ()
GtkWidget * gtk_window_get_titlebar ()
void gtk_window_set_interactive_debugging ()

Properties

GtkApplication * application Read / Write
GtkWidget * child Read / Write
gboolean decorated Read / Write
gint default-height Read / Write
GtkWidget * default-widget Read / Write
gint default-width Read / Write
gboolean deletable Read / Write
gboolean destroy-with-parent Read / Write
GdkDisplay * display Read / Write
gboolean focus-visible Read / Write
GtkWidget * focus-widget Read / Write
gboolean hide-on-close Read / Write
gchar * icon-name Read / Write
gboolean is-active Read
gboolean is-maximized Read
gboolean mnemonics-visible Read / Write
gboolean modal Read / Write
gboolean resizable Read / Write
gchar * startup-id Write
gchar * title Read / Write
GtkWindow * transient-for Read / Write / Construct

Signals

void activate-default Action
void activate-focus Action
gboolean close-request Run Last
gboolean enable-debugging Action
void keys-changed Run First

Actions

  window.close  
  window.toggle-maximized  
  window.minimize  
  default.activate  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ├── GtkDialog
                ├── GtkApplicationWindow
                ├── GtkAssistant
                ╰── GtkShortcutsWindow

Implemented Interfaces

GtkWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

A GtkWindow is a toplevel window which can contain other widgets. Windows normally have decorations that are under the control of the windowing system and allow the user to manipulate the window (resize it, move it, close it,...).

GtkWindow as GtkBuildable

The GtkWindow implementation of the GtkBuildable interface supports a custom <accel-groups> element, which supports any number of <group> elements representing the GtkAccelGroup objects you want to add to your window (synonymous with gtk_window_add_accel_group().

An example of a UI definition fragment with accel groups:

1
2
3
4
5
6
7
8
9
<object class="GtkWindow">
  <accel-groups>
    <group name="accelgroup1"/>
  </accel-groups>
</object>

...

<object class="GtkAccelGroup" id="accelgroup1"/>

The GtkWindow implementation of the GtkBuildable interface supports setting a child as the titlebar by specifying “titlebar” as the “type” attribute of a <child> element.


CSS nodes

1
2
3
window.background
├── <titlebar child>.titlebar [.default-decoration]
╰── <child>

GtkWindow has a main CSS node with name window and style class .background.

Style classes that are typically used with the main CSS node are .csd (when client-side decorations are in use), .solid-csd (for client-side decorations without invisible borders), .ssd (used by mutter when rendering server-side decorations). GtkWindow also represents window states with the following style classes on the main node: .tiled, .maximized, .fullscreen. Specialized types of window often add their own discriminating style classes, such as .popup or .tooltip.

Generally, some CSS properties don't make sense on the toplevel window node, such as margins or padding. When client-side decorations without invisible borders are in use (i.e. the .solid-csd style class is added to the main window node), the CSS border of the toplevel window is used for resize drags. In the .csd case, the shadow area outside of the window can be used to resize it.

GtkWindow adds the .titlebar and .default-decoration style classes to the widget that is added as a titlebar child.


Accessibility

GtkWindow uses the GTK_ACCESSIBLE_ROLE_WINDOW role.

Functions

gtk_window_new ()

GtkWidget *
gtk_window_new (void);

Creates a new GtkWindow, which is a toplevel window that can contain other widgets.

To get an undecorated window (no window borders), use gtk_window_set_decorated().

All top-level windows created by gtk_window_new() are stored in an internal top-level window list. This list can be obtained from gtk_window_list_toplevels(). Due to Gtk+ keeping a reference to the window internally, gtk_window_new() does not return a reference to the caller.

To delete a GtkWindow, call gtk_window_destroy().

Returns

a new GtkWindow.


gtk_window_destroy ()

void
gtk_window_destroy (GtkWindow *window);

Drop the internal reference GTK holds on toplevel windows.

Parameters

window

The window to destroy

 

gtk_window_get_child ()

GtkWidget *
gtk_window_get_child (GtkWindow *window);

Gets the child widget of window .

Parameters

window

a GtkWindow

 

Returns

the child widget of window .

[nullable][transfer none]


gtk_window_set_child ()

void
gtk_window_set_child (GtkWindow *window,
                      GtkWidget *child);

Sets the child widget of window .

Parameters

window

a GtkWindow

 

child

the child widget.

[allow-none]

gtk_window_set_title ()

void
gtk_window_set_title (GtkWindow *window,
                      const char *title);

Sets the title of the GtkWindow. The title of a window will be displayed in its title bar; on the X Window System, the title bar is rendered by the window manager, so exactly how the title appears to users may vary according to a user’s exact configuration. The title should help a user distinguish this window from other windows they may have open. A good title might include the application name and current document filename, for example.

Parameters

window

a GtkWindow

 

title

title of the window

 

gtk_window_set_resizable ()

void
gtk_window_set_resizable (GtkWindow *window,
                          gboolean resizable);

Sets whether the user can resize a window. Windows are user resizable by default.

Parameters

window

a GtkWindow

 

resizable

TRUE if the user can resize this window

 

gtk_window_get_resizable ()

gboolean
gtk_window_get_resizable (GtkWindow *window);

Gets the value set by gtk_window_set_resizable().

Parameters

window

a GtkWindow

 

Returns

TRUE if the user can resize the window


gtk_window_set_modal ()

void
gtk_window_set_modal (GtkWindow *window,
                      gboolean modal);

Sets a window modal or non-modal. Modal windows prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use gtk_window_set_transient_for() to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent.

Parameters

window

a GtkWindow

 

modal

whether the window is modal

 

gtk_window_set_default_size ()

void
gtk_window_set_default_size (GtkWindow *window,
                             int width,
                             int height);

Sets the default size of a window. If the window’s “natural” size (its size request) is larger than the default, the default will be ignored.

Unlike gtk_widget_set_size_request(), which sets 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).

For some uses, gtk_window_resize() is a more appropriate function. gtk_window_resize() changes the current size of the window, rather than the size to be used on initial display. gtk_window_resize() always affects the window itself, not the geometry widget.

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.

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.

If you use this function to reestablish a previously saved window size, note that the appropriate size to save is the one returned by gtk_window_get_size(). Using the window allocation directly will not work in all circumstances and can lead to growing or shrinking windows.

Parameters

window

a GtkWindow

 

width

width in pixels, or -1 to unset the default width

 

height

height in pixels, or -1 to unset the default height

 

gtk_window_set_hide_on_close ()

void
gtk_window_set_hide_on_close (GtkWindow *window,
                              gboolean setting);

If setting is TRUE, then clicking the close button on the window will not destroy it, but only hide it.

Parameters

window

a GtkWindow

 

setting

whether to hide the window when it is closed

 

gtk_window_get_hide_on_close ()

gboolean
gtk_window_get_hide_on_close (GtkWindow *window);

Returns whether the window will be hidden when the close button is clicked.

Parameters

window

a GtkWindow

 

Returns

TRUE if the window will be hidden


gtk_window_set_transient_for ()

void
gtk_window_set_transient_for (GtkWindow *window,
                              GtkWindow *parent);

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. gtk_dialog_new_with_buttons() and other convenience functions in GTK+ will sometimes call gtk_window_set_transient_for() on your behalf.

Passing NULL for parent unsets the current transient window.

On Windows, this function puts the child window on top of the parent, much as the window manager would have done on X.

Parameters

window

a GtkWindow

 

parent

parent window, or NULL.

[allow-none]

gtk_window_set_destroy_with_parent ()

void
gtk_window_set_destroy_with_parent (GtkWindow *window,
                                    gboolean setting);

If setting is TRUE, then destroying the transient parent of window will also destroy window itself. This is useful for dialogs that shouldn’t persist beyond the lifetime of the main window they're associated with, for example.

Parameters

window

a GtkWindow

 

setting

whether to destroy window with its transient parent

 

gtk_window_set_display ()

void
gtk_window_set_display (GtkWindow *window,
                        GdkDisplay *display);

Sets the GdkDisplay where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new display.

Parameters

window

a GtkWindow.

 

display

a GdkDisplay.

 

gtk_window_is_active ()

gboolean
gtk_window_is_active (GtkWindow *window);

Returns whether the window is part of the current active toplevel. (That is, the toplevel window receiving keystrokes.) The return value is TRUE if the window is active toplevel itself. You might use this function if you wanted to draw a widget differently in an active window from a widget in an inactive window.

Parameters

window

a GtkWindow

 

Returns

TRUE if the window part of the current active window.


gtk_window_is_maximized ()

gboolean
gtk_window_is_maximized (GtkWindow *window);

Retrieves the current maximized state of window .

Note that since maximization is ultimately handled by the window manager and happens asynchronously to an application request, you shouldn’t assume the return value of this function changing immediately (or at all), as an effect of calling gtk_window_maximize() or gtk_window_unmaximize().

Parameters

window

a GtkWindow

 

Returns

whether the window has a maximized state.


gtk_window_get_toplevels ()

GListModel *
gtk_window_get_toplevels (void);

Returns a list of all existing toplevel windows.

If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets or add new ones, be aware that the list of toplevels will change and emit the "items-changed" signal.

Returns

the list of toplevel widgets.

[transfer none][attributes element-type=GtkWindow]


gtk_window_list_toplevels ()

GList *
gtk_window_list_toplevels (void);

Returns a list of all existing toplevel windows. The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call g_list_foreach (result, (GFunc)g_object_ref, NULL) first, and then unref all the widgets afterwards.

Returns

list of toplevel widgets.

[element-type GtkWidget][transfer container]


gtk_window_get_focus ()

GtkWidget *
gtk_window_get_focus (GtkWindow *window);

Retrieves 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 gtk_widget_has_focus (widget) will not be TRUE for the widget.

Parameters

window

a GtkWindow

 

Returns

the currently focused widget, or NULL if there is none.

[nullable][transfer none]


gtk_window_set_focus ()

void
gtk_window_set_focus (GtkWindow *window,
                      GtkWidget *focus);

If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window. If focus is NULL, 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 gtk_widget_grab_focus() instead of this function.

Parameters

window

a GtkWindow

 

focus

widget to be the new focus widget, or NULL to unset any focus widget for the toplevel window.

[allow-none]

gtk_window_get_default_widget ()

GtkWidget *
gtk_window_get_default_widget (GtkWindow *window);

Returns the default widget for window . See gtk_window_set_default() for more details.

Parameters

window

a GtkWindow

 

Returns

the default widget, or NULL if there is none.

[nullable][transfer none]


gtk_window_set_default_widget ()

void
gtk_window_set_default_widget (GtkWindow *window,
                               GtkWidget *default_widget);

The default widget is the widget that’s activated when the user presses Enter in a dialog (for example). This function sets or unsets the default widget for a GtkWindow.

Parameters

window

a GtkWindow

 

default_widget

widget to be the default, or NULL to unset the default widget for the toplevel.

[allow-none]

gtk_window_present ()

void
gtk_window_present (GtkWindow *window);

Presents a window to the user. This function should not be used as when it is called, it is too late to gather a valid timestamp to allow focus stealing prevention to work correctly.

Parameters

window

a GtkWindow

 

gtk_window_present_with_time ()

void
gtk_window_present_with_time (GtkWindow *window,
                              guint32 timestamp);

Presents a window to the user. This may mean raising the window in the stacking order, unminimizing 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.

If window is hidden, this function calls gtk_widget_show() as well.

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 gtk_window_present() to move the already-open dialog where the user can see it.

Presents a window to the user in response to a user interaction. The timestamp should be gathered when the window was requested to be shown (when clicking a link for example), rather than once the window is ready to be shown.

Parameters

window

a GtkWindow

 

timestamp

the timestamp of the user interaction (typically a button or key press event) which triggered this call

 

gtk_window_close ()

void
gtk_window_close (GtkWindow *window);

Requests that the window is closed, similar to what happens when a window manager close button is clicked.

This function can be used with close buttons in custom titlebars.

Parameters

window

a GtkWindow

 

gtk_window_minimize ()

void
gtk_window_minimize (GtkWindow *window);

Asks to minimize the specified window .

Note that you shouldn’t assume the window is definitely minimized afterward, because the windowing system might not support this functionality; other entities (e.g. the user or the window manager) could unminimize it again, or there may not be a window manager in which case minimization isn’t possible, etc.

It’s permitted to call this function before showing a window, in which case the window will be minimized before it ever appears onscreen.

You can track result of this operation via the “state” property.

Parameters

window

a GtkWindow

 

gtk_window_unminimize ()

void
gtk_window_unminimize (GtkWindow *window);

Asks to unminimize the specified window .

Note that you shouldn’t assume the window is definitely unminimized afterward, because the windowing system might not support this functionality; other entities (e.g. the user or the window manager) could minimize it again, or there may not be a window manager in which case minimization isn’t possible, etc.

You can track result of this operation via the “state” property.

Parameters

window

a GtkWindow

 

gtk_window_maximize ()

void
gtk_window_maximize (GtkWindow *window);

Asks to maximize 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.

It’s permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially.

You can track the result of this operation via the “state” property, or by listening to notifications on the “is-maximized” property.

Parameters

window

a GtkWindow

 

gtk_window_unmaximize ()

void
gtk_window_unmaximize (GtkWindow *window);

Asks to unmaximize 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.

You can track the result of this operation via the “state” property, or by listening to notifications on the “is-maximized” property.

Parameters

window

a GtkWindow

 

gtk_window_fullscreen ()

void
gtk_window_fullscreen (GtkWindow *window);

Asks to place 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.

You can track iconification via the “state” property

Parameters

window

a GtkWindow

 

gtk_window_fullscreen_on_monitor ()

void
gtk_window_fullscreen_on_monitor (GtkWindow *window,
                                  GdkMonitor *monitor);

Asks to place window in the fullscreen state. Note that you shouldn't assume the window is definitely full screen afterward.

You can track iconification via the “state” property

Parameters

window

a GtkWindow

 

monitor

which monitor to go fullscreen on

 

gtk_window_unfullscreen ()

void
gtk_window_unfullscreen (GtkWindow *window);

Asks to toggle off the fullscreen state for 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.

You can track iconification via the “state” property

Parameters

window

a GtkWindow

 

gtk_window_set_decorated ()

void
gtk_window_set_decorated (GtkWindow *window,
                          gboolean setting);

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 gtk_widget_show().

On Windows, this function always works, since there’s no window manager policy involved.

Parameters

window

a GtkWindow

 

setting

TRUE to decorate the window

 

gtk_window_set_deletable ()

void
gtk_window_set_deletable (GtkWindow *window,
                          gboolean setting);

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 gtk_widget_show().

On Windows, this function always works, since there’s no window manager policy involved.

Parameters

window

a GtkWindow

 

setting

TRUE to decorate the window as deletable

 

gtk_window_set_startup_id ()

void
gtk_window_set_startup_id (GtkWindow *window,
                           const char *startup_id);

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 GdkSurface. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should use this function before calling gtk_window_present() or any equivalent function generating a window map event.

This function is only useful on X11, not with other GTK+ targets.

Parameters

window

a GtkWindow

 

startup_id

a string with startup-notification identifier

 

gtk_window_get_decorated ()

gboolean
gtk_window_get_decorated (GtkWindow *window);

Returns whether the window has been set to have decorations such as a title bar via gtk_window_set_decorated().

Parameters

window

a GtkWindow

 

Returns

TRUE if the window has been set to have decorations


gtk_window_get_deletable ()

gboolean
gtk_window_get_deletable (GtkWindow *window);

Returns whether the window has been set to have a close button via gtk_window_set_deletable().

Parameters

window

a GtkWindow

 

Returns

TRUE if the window has been set to have a close button


gtk_window_get_default_icon_name ()

const char *
gtk_window_get_default_icon_name (void);

Returns the fallback icon name for windows that has been set with gtk_window_set_default_icon_name(). The returned string is owned by GTK+ and should not be modified. It is only valid until the next call to gtk_window_set_default_icon_name().

Returns

the fallback icon name for windows


gtk_window_get_default_size ()

void
gtk_window_get_default_size (GtkWindow *window,
                             int *width,
                             int *height);

Gets the default size of the window. A value of -1 for the width or height indicates that a default size has not been explicitly set for that dimension, so the “natural” size of the window will be used.

Parameters

window

a GtkWindow

 

width

location to store the default width, or NULL.

[out][allow-none]

height

location to store the default height, or NULL.

[out][allow-none]

gtk_window_get_destroy_with_parent ()

gboolean
gtk_window_get_destroy_with_parent (GtkWindow *window);

Returns whether the window will be destroyed with its transient parent. See gtk_window_set_destroy_with_parent().

Parameters

window

a GtkWindow

 

Returns

TRUE if the window will be destroyed with its transient parent.


gtk_window_get_icon_name ()

const char *
gtk_window_get_icon_name (GtkWindow *window);

Returns the name of the themed icon for the window, see gtk_window_set_icon_name().

Parameters

window

a GtkWindow

 

Returns

the icon name or NULL if the window has no themed icon.

[nullable]


gtk_window_get_modal ()

gboolean
gtk_window_get_modal (GtkWindow *window);

Returns whether the window is modal. See gtk_window_set_modal().

Parameters

window

a GtkWindow

 

Returns

TRUE if the window is set to be modal and establishes a grab when shown


gtk_window_get_size ()

void
gtk_window_get_size (GtkWindow *window,
                     int *width,
                     int *height);

Obtains the current size of window .

If window is not visible on screen, this function return the size GTK+ will suggest to the window manager for the initial window size (but this is not reliably the same as the size the window manager will actually select). See: gtk_window_set_default_size().

Depending on the windowing system and the window manager constraints, the size returned by this function may not match the size set using gtk_window_resize(); additionally, since gtk_window_resize() may be implemented as an asynchronous operation, GTK+ cannot guarantee in any way that this code:

1
2
3
4
5
6
7
GtkWindow *window = GTK_WINDOW (gtk_window_new ());
int width = 500;
int height = 300;
gtk_window_resize (window, width, height);

int new_width, new_height;
gtk_window_get_size (window, &new_width, &new_height);

will result in new_width and new_height matching width and height, respectively.

This function will return the logical size of the GtkWindow, excluding the widgets used in client side decorations; there is, however, no guarantee that the result will be completely accurate because client side decoration may include widgets that depend on the user preferences and that may not be visibile at the time you call this function.

The dimensions returned by this function are suitable for being stored across sessions; use gtk_window_set_default_size() to restore them when before showing the window.

1
2
3
4
5
6
7
8
9
10
11
static void
on_size_allocate (GtkWidget *widget,
                  const GtkAllocation *allocation,
                  int baseline)
{
  int new_width, new_height;

  gtk_window_get_size (GTK_WINDOW (widget), &new_width, &new_height);

  // ...
}

If you are getting a window size in order to position the window on the screen, don't. You should, instead, simply let the window manager place windows. Also, if you set the transient parent of dialogs with gtk_window_set_transient_for() window managers will often center the dialog over its parent window. It's much preferred to let the window manager handle these cases rather than doing it yourself, because all apps will behave consistently and according to user or system preferences, if the window manager handles it. Also, the window manager can take into account the size of the window decorations and border that it may add, and of which GTK+ has no knowledge. Additionally, positioning windows in global screen coordinates may not be allowed by the windowing system. For more information, see: gtk_window_set_position().

Parameters

window

a GtkWindow

 

width

return location for width, or NULL.

[out][optional]

height

return location for height, or NULL.

[out][optional]

gtk_window_get_title ()

const char *
gtk_window_get_title (GtkWindow *window);

Retrieves the title of the window. See gtk_window_set_title().

Parameters

window

a GtkWindow

 

Returns

the title of the window, or NULL if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

[nullable]


gtk_window_get_transient_for ()

GtkWindow *
gtk_window_get_transient_for (GtkWindow *window);

Fetches the transient parent for this window. See gtk_window_set_transient_for().

Parameters

window

a GtkWindow

 

Returns

the transient parent for this window, or NULL if no transient parent has been set.

[nullable][transfer none]


gtk_window_get_group ()

GtkWindowGroup *
gtk_window_get_group (GtkWindow *window);

Returns the group for window or the default group, if window is NULL or if window does not have an explicit window group.

Parameters

window

a GtkWindow, or NULL.

[allow-none]

Returns

the GtkWindowGroup for a window or the default group.

[transfer none]


gtk_window_has_group ()

gboolean
gtk_window_has_group (GtkWindow *window);

Returns whether window has an explicit window group.

Parameters

window

a GtkWindow

 

Returns

TRUE if window has an explicit window group.


gtk_window_resize ()

void
gtk_window_resize (GtkWindow *window,
                   int width,
                   int height);

Resizes the window 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; to override this constraint, call gtk_widget_set_size_request() to set the window's request to a smaller value.

If gtk_window_resize() is called before showing a window for the first time, it overrides any default size set with gtk_window_set_default_size().

Windows may not be resized smaller than 1 by 1 pixels.

When using client side decorations, GTK+ will do its best to adjust the given size so that the resulting window size matches the requested size without the title bar, borders and shadows added for the client side decorations, but there is no guarantee that the result will be totally accurate because these widgets added for client side decorations depend on the theme and may not be realized or visible at the time gtk_window_resize() is issued.

If the GtkWindow has a titlebar widget (see gtk_window_set_titlebar()), then typically, gtk_window_resize() will compensate for the height of the titlebar widget only if the height is known when the resulting GtkWindow configuration is issued. For example, if new widgets are added after the GtkWindow configuration and cause the titlebar widget to grow in height, this will result in a window content smaller that specified by gtk_window_resize() and not a larger window.

Parameters

window

a GtkWindow

 

width

width in pixels to resize the window to

 

height

height in pixels to resize the window to

 

gtk_window_set_default_icon_name ()

void
gtk_window_set_default_icon_name (const char *name);

Sets an icon to be used as fallback for windows that haven't had gtk_window_set_icon_list() called on them from a named themed icon, see gtk_window_set_icon_name().

Parameters

name

the name of the themed icon

 

gtk_window_set_icon_name ()

void
gtk_window_set_icon_name (GtkWindow *window,
                          const char *name);

Sets the icon for the window from a named themed icon. See the docs for GtkIconTheme for more details. On some platforms, the window icon is not used at all.

Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM.

Parameters

window

a GtkWindow

 

name

the name of the themed icon.

[allow-none]

gtk_window_set_auto_startup_notification ()

void
gtk_window_set_auto_startup_notification
                               (gboolean setting);

By default, after showing the first GtkWindow, GTK+ calls gdk_notify_startup_complete(). Call this function to disable the automatic startup notification. You might do this if your first window is a splash screen, and you want to delay notification until after your real main window has been shown, for example.

In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main window would automatically result in notification.

Parameters

setting

TRUE to automatically do startup notification

 

gtk_window_get_mnemonics_visible ()

gboolean
gtk_window_get_mnemonics_visible (GtkWindow *window);

Gets the value of the “mnemonics-visible” property.

Parameters

window

a GtkWindow

 

Returns

TRUE if mnemonics are supposed to be visible in this window.


gtk_window_set_mnemonics_visible ()

void
gtk_window_set_mnemonics_visible (GtkWindow *window,
                                  gboolean setting);

Sets the “mnemonics-visible” property.

Parameters

window

a GtkWindow

 

setting

the new value

 

gtk_window_get_focus_visible ()

gboolean
gtk_window_get_focus_visible (GtkWindow *window);

Gets the value of the “focus-visible” property.

Parameters

window

a GtkWindow

 

Returns

TRUE if “focus rectangles” are supposed to be visible in this window.


gtk_window_set_focus_visible ()

void
gtk_window_set_focus_visible (GtkWindow *window,
                              gboolean setting);

Sets the “focus-visible” property.

Parameters

window

a GtkWindow

 

setting

the new value

 

gtk_window_get_application ()

GtkApplication *
gtk_window_get_application (GtkWindow *window);

Gets the GtkApplication associated with the window (if any).

Parameters

window

a GtkWindow

 

Returns

a GtkApplication, or NULL.

[nullable][transfer none]


gtk_window_set_application ()

void
gtk_window_set_application (GtkWindow *window,
                            GtkApplication *application);

Sets or unsets the GtkApplication associated with the window.

The application will be kept alive for at least as long as it has any windows associated with it (see g_application_hold() for a way to keep it alive without windows).

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the application to NULL.

This is equivalent to calling gtk_application_remove_window() and/or gtk_application_add_window() on the old/new applications as relevant.

Parameters

window

a GtkWindow

 

application

a GtkApplication, or NULL to unset.

[allow-none]

gtk_window_set_titlebar ()

void
gtk_window_set_titlebar (GtkWindow *window,
                         GtkWidget *titlebar);

Sets a custom titlebar for window .

A typical widget used here is GtkHeaderBar, as it provides various features expected of a titlebar while allowing the addition of child widgets to it.

If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window. Depending on the system, this function may not work for a window that is already visible, so you set the titlebar before calling gtk_widget_show().

Parameters

window

a GtkWindow

 

titlebar

the widget to use as titlebar.

[allow-none]

gtk_window_get_titlebar ()

GtkWidget *
gtk_window_get_titlebar (GtkWindow *window);

Returns the custom titlebar that has been set with gtk_window_set_titlebar().

Parameters

window

a GtkWindow

 

Returns

the custom titlebar, or NULL.

[nullable][transfer none]


gtk_window_set_interactive_debugging ()

void
gtk_window_set_interactive_debugging (gboolean enable);

Opens or closes the interactive debugger, which offers access to the widget hierarchy of the application and to useful debugging tools.

Parameters

enable

TRUE to enable interactive debugging

 

Types and Values

GtkWindow

typedef struct _GtkWindow GtkWindow;

struct GtkWindowClass

struct GtkWindowClass {
  GtkWidgetClass parent_class;

  /* G_SIGNAL_ACTION signals for keybindings */

  void     (* activate_focus)   (GtkWindow *window);
  void     (* activate_default) (GtkWindow *window);
  void	   (* keys_changed)     (GtkWindow *window);
  gboolean (* enable_debugging) (GtkWindow *window,
                                 gboolean   toggle);
  gboolean (* close_request)    (GtkWindow *window);
};

Members

activate_focus ()

Activates the current focused widget within the window.

 

activate_default ()

Activates the default widget for the window.

 

keys_changed ()

Signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.

 

enable_debugging ()

Class handler for the “enable-debugging” keybinding signal.

 

close_request ()

Class handler for the “close-request” signal.

 

Property Details

The “application” property

  “application”              GtkApplication *

The GtkApplication associated with the window.

The application will be kept alive for at least as long as it has any windows associated with it (see g_application_hold() for a way to keep it alive without windows).

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the :application property to NULL.

Owner: GtkWindow

Flags: Read / Write


The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkWindow

Flags: Read / Write


The “decorated” property

  “decorated”                gboolean

Whether the window should be decorated by the window manager.

Owner: GtkWindow

Flags: Read / Write

Default value: TRUE


The “default-height” property

  “default-height”           gint

The default height of the window, used when initially showing the window.

Owner: GtkWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “default-widget” property

  “default-widget”           GtkWidget *

The default widget.

Owner: GtkWindow

Flags: Read / Write


The “default-width” property

  “default-width”            gint

The default width of the window, used when initially showing the window.

Owner: GtkWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “deletable” property

  “deletable”                gboolean

Whether the window frame should have a close button.

Owner: GtkWindow

Flags: Read / Write

Default value: TRUE


The “destroy-with-parent” property

  “destroy-with-parent”      gboolean

If this window should be destroyed when the parent is destroyed.

Owner: GtkWindow

Flags: Read / Write

Default value: FALSE


The “display” property

  “display”                  GdkDisplay *

The display that will display this window.

Owner: GtkWindow

Flags: Read / Write


The “focus-visible” property

  “focus-visible”            gboolean

Whether 'focus rectangles' are currently visible in this window.

This property is maintained by GTK+ based on user input and should not be set by applications.

Owner: GtkWindow

Flags: Read / Write

Default value: TRUE


The “focus-widget” property

  “focus-widget”             GtkWidget *

The focus widget.

Owner: GtkWindow

Flags: Read / Write


The “hide-on-close” property

  “hide-on-close”            gboolean

If this window should be hidden when the user clicks the close button.

Owner: GtkWindow

Flags: Read / Write

Default value: FALSE


The “icon-name” property

  “icon-name”                gchar *

The :icon-name property specifies the name of the themed icon to use as the window icon. See GtkIconTheme for more details.

Owner: GtkWindow

Flags: Read / Write

Default value: NULL


The “is-active” property

  “is-active”                gboolean

Whether the toplevel is the current active window.

Owner: GtkWindow

Flags: Read

Default value: FALSE


The “is-maximized” property

  “is-maximized”             gboolean

Whether the window is maximized.

Owner: GtkWindow

Flags: Read

Default value: FALSE


The “mnemonics-visible” property

  “mnemonics-visible”        gboolean

Whether mnemonics are currently visible in this window.

This property is maintained by GTK+ based on user input, and should not be set by applications.

Owner: GtkWindow

Flags: Read / Write

Default value: FALSE


The “modal” property

  “modal”                    gboolean

If TRUE, the window is modal (other windows are not usable while this one is up).

Owner: GtkWindow

Flags: Read / Write

Default value: FALSE


The “resizable” property

  “resizable”                gboolean

If TRUE, users can resize the window.

Owner: GtkWindow

Flags: Read / Write

Default value: TRUE


The “startup-id” property

  “startup-id”               gchar *

The :startup-id is a write-only property for setting window's startup notification identifier. See gtk_window_set_startup_id() for more details.

Owner: GtkWindow

Flags: Write

Default value: NULL


The “title” property

  “title”                    gchar *

The title of the window.

Owner: GtkWindow

Flags: Read / Write

Default value: NULL


The “transient-for” property

  “transient-for”            GtkWindow *

The transient parent of the window. See gtk_window_set_transient_for() for more details about transient windows.

Owner: GtkWindow

Flags: Read / Write / Construct

Signal Details

The “activate-default” signal

void
user_function (GtkWindow *window,
               gpointer   user_data)

The ::activate-default signal is a keybinding signal which gets emitted when the user activates the default widget of window .

Parameters

window

the window which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “activate-focus” signal

void
user_function (GtkWindow *window,
               gpointer   user_data)

The ::activate-focus signal is a keybinding signal which gets emitted when the user activates the currently focused widget of window .

Parameters

window

the window which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “close-request” signal

gboolean
user_function (GtkWindow *window,
               gpointer   user_data)

The ::close-request signal is emitted when the user clicks on the close button of the window.

Return: TRUE to stop other handlers from being invoked for the signal

Parameters

window

the window on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “enable-debugging” signal

gboolean
user_function (GtkWindow *window,
               gboolean   toggle,
               gpointer   user_data)

The ::enable-debugging signal is a keybinding signal which gets emitted when the user enables or disables interactive debugging. When toggle is TRUE, interactive debugging is toggled on or off, when it is FALSE, the debugger will be pointed at the widget under the pointer.

The default bindings for this signal are Ctrl-Shift-I and Ctrl-Shift-D.

Return: TRUE if the key binding was handled

Parameters

window

the window on which the signal is emitted

 

toggle

toggle the debugger

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “keys-changed” signal

void
user_function (GtkWindow *window,
               gpointer   user_data)

The ::keys-changed signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.

Parameters

window

the window which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Action Details

The “window.close” action

Close the window.


The “window.toggle-maximized” action

Maximize or restore the window.


The “window.minimize” action

Close the window.


The “default.activate” action

Activate the default widget.

docs/reference/gtk/html/ch03s06.html0000664000175000017500000000711613710700534017306 0ustar mclasenmclasen Using cairo with GTK: GTK 4 Reference Manual

Using cairo with GTK

  1. How do I use cairo to draw in GTK applications?

    Use gtk_snapshot_append_cairo() in your GtkWidgetClass.snapshot() vfunc to obtain a cairo context and draw with that.

  2. Can I improve the performance of my application by using another backend of cairo (such as GL)?

    No. Most drawing in GTK is not done via cairo anymore (but instead by the GL or Vulkan renderers of GSK).

    If you use cairo for drawing your own widgets, gtk_snapshot_append_cairo() will choose the most appropriate surface type for you.

    If you are interested in using GL for your own drawing, see GtkGLArea.

  3. Can I use cairo to draw on a GdkPixbuf?

    No. The cairo image surface does not support the pixel format used by GdkPixbuf.

    If you need to get cairo drawing into a format that can be displayed efficiently by GTK, you may want to use an image surface and gdk_memory_texture_new().

docs/reference/gtk/html/GtkNotebook.html0000664000175000017500000041512713710700534020453 0ustar mclasenmclasen GtkNotebook: GTK 4 Reference Manual

GtkNotebook

GtkNotebook — A tabbed notebook container

Functions

GtkWidget * gtk_notebook_new ()
GtkNotebookPage * gtk_notebook_get_page ()
GListModel * gtk_notebook_get_pages ()
GtkWidget * gtk_notebook_page_get_child ()
int gtk_notebook_append_page ()
int gtk_notebook_append_page_menu ()
int gtk_notebook_prepend_page ()
int gtk_notebook_prepend_page_menu ()
int gtk_notebook_insert_page ()
int gtk_notebook_insert_page_menu ()
void gtk_notebook_remove_page ()
void gtk_notebook_detach_tab ()
int gtk_notebook_page_num ()
void gtk_notebook_next_page ()
void gtk_notebook_prev_page ()
void gtk_notebook_reorder_child ()
void gtk_notebook_set_tab_pos ()
void gtk_notebook_set_show_tabs ()
void gtk_notebook_set_show_border ()
void gtk_notebook_set_scrollable ()
void gtk_notebook_popup_enable ()
void gtk_notebook_popup_disable ()
int gtk_notebook_get_current_page ()
GtkWidget * gtk_notebook_get_menu_label ()
GtkWidget * gtk_notebook_get_nth_page ()
int gtk_notebook_get_n_pages ()
GtkWidget * gtk_notebook_get_tab_label ()
void gtk_notebook_set_menu_label ()
void gtk_notebook_set_menu_label_text ()
void gtk_notebook_set_tab_label ()
void gtk_notebook_set_tab_label_text ()
void gtk_notebook_set_tab_reorderable ()
void gtk_notebook_set_tab_detachable ()
const char * gtk_notebook_get_menu_label_text ()
gboolean gtk_notebook_get_scrollable ()
gboolean gtk_notebook_get_show_border ()
gboolean gtk_notebook_get_show_tabs ()
const char * gtk_notebook_get_tab_label_text ()
GtkPositionType gtk_notebook_get_tab_pos ()
gboolean gtk_notebook_get_tab_reorderable ()
gboolean gtk_notebook_get_tab_detachable ()
void gtk_notebook_set_current_page ()
void gtk_notebook_set_group_name ()
const char * gtk_notebook_get_group_name ()
void gtk_notebook_set_action_widget ()
GtkWidget * gtk_notebook_get_action_widget ()

Properties

gboolean enable-popup Read / Write
gchar * group-name Read / Write
gint page Read / Write
GListModel * pages Read
gboolean scrollable Read / Write
gboolean show-border Read / Write
gboolean show-tabs Read / Write
GtkPositionType tab-pos Read / Write
GtkWidget * child Read / Write / Construct Only
gboolean detachable Read / Write
GtkWidget * menu Read / Write / Construct Only
gchar * menu-label Read / Write
gint position Read / Write
gboolean reorderable Read / Write
GtkWidget * tab Read / Write / Construct Only
gboolean tab-expand Read / Write
gboolean tab-fill Read / Write
gchar * tab-label Read / Write

Signals

gboolean change-current-page Action
GtkNotebook* create-window Run Last
gboolean focus-tab Action
void move-focus-out Action
void page-added Run Last
void page-removed Run Last
void page-reordered Run Last
gboolean reorder-tab Action
gboolean select-page Action
void switch-page Run Last

Actions

  menu.popup  

Types and Values

Object Hierarchy

    GObject
    ├── GInitiallyUnowned
       ╰── GtkWidget
           ╰── GtkNotebook
    ╰── GtkNotebookPage

Implemented Interfaces

GtkNotebook implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkNotebook widget is a GtkContainer whose children are pages that can be switched between using tab labels along one edge.

There are many configuration options for GtkNotebook. Among other things, you can choose on which edge the tabs appear (see gtk_notebook_set_tab_pos()), whether, if there are too many tabs to fit the notebook should be made bigger or scrolling arrows added (see gtk_notebook_set_scrollable()), and whether there will be a popup menu allowing the users to switch pages. (see gtk_notebook_popup_enable(), gtk_notebook_popup_disable())

GtkNotebook as GtkBuildable

The GtkNotebook implementation of the GtkBuildable interface supports placing children into tabs by specifying “tab” as the “type” attribute of a <child> element. Note that the content of the tab must be created before the tab can be filled. A tab child can be specified without specifying a <child> type attribute.

To add a child widget in the notebooks action area, specify "action-start" or “action-end” as the “type” attribute of the <child> element.

An example of a UI definition fragment with GtkNotebook:

1
2
3
4
5
6
7
8
9
10
11
12
<object class="GtkNotebook">
  <child>
    <object class="GtkLabel" id="notebook-content">
      <property name="label">Content</property>
    </object>
  </child>
  <child type="tab">
    <object class="GtkLabel" id="notebook-tab">
      <property name="label">Tab</property>
    </object>
  </child>
</object>


CSS nodes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
notebook
├── header.top
   ├── [<action widget>]
   ├── tabs
      ├── [arrow]
      ├── tab
         ╰── <tab label>
      
      ├── tab[.reorderable-page]
         ╰── <tab label>
      ╰── [arrow]
   ╰── [<action widget>]

╰── stack
    ├── <child>
    
    ╰── <child>

GtkNotebook has a main CSS node with name notebook, a subnode with name header and below that a subnode with name tabs which contains one subnode per tab with name tab.

If action widgets are present, their CSS nodes are placed next to the tabs node. If the notebook is scrollable, CSS nodes with name arrow are placed as first and last child of the tabs node.

The main node gets the .frame style class when the notebook has a border (see gtk_notebook_set_show_border()).

The header node gets one of the style class .top, .bottom, .left or .right, depending on where the tabs are placed. For reorderable pages, the tab node gets the .reorderable-page class.

A tab node gets the .dnd style class while it is moved with drag-and-drop.

The nodes are always arranged from left-to-right, regardless of text direction.

Functions

gtk_notebook_new ()

GtkWidget *
gtk_notebook_new (void);

Creates a new GtkNotebook widget with no pages.

Returns

the newly created GtkNotebook


gtk_notebook_get_page ()

GtkNotebookPage *
gtk_notebook_get_page (GtkNotebook *notebook,
                       GtkWidget *child);

Returns the GtkNotebookPage for child .

Parameters

notebook

a GtkNotebook

 

child

a child of notebook

 

Returns

the GtkNotebookPage for child .

[transfer none]


gtk_notebook_get_pages ()

GListModel *
gtk_notebook_get_pages (GtkNotebook *notebook);

Returns a GListModel that contains the pages of the notebook, and can be used to keep an up-to-date view.

Parameters

notebook

a GtkNotebook

 

Returns

a GListModel for the notebook's children.

[transfer full][attributes element-type=GtkNotebookPage]


gtk_notebook_page_get_child ()

GtkWidget *
gtk_notebook_page_get_child (GtkNotebookPage *page);

Returns the notebook child to which page belongs.

Parameters

page

a GtkNotebookPage

 

Returns

the child to which page belongs.

[transfer none]


gtk_notebook_append_page ()

int
gtk_notebook_append_page (GtkNotebook *notebook,
                          GtkWidget *child,
                          GtkWidget *tab_label);

Appends a page to notebook .

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

Returns

the index (starting from 0) of the appended page in the notebook, or -1 if function fails


gtk_notebook_append_page_menu ()

int
gtk_notebook_append_page_menu (GtkNotebook *notebook,
                               GtkWidget *child,
                               GtkWidget *tab_label,
                               GtkWidget *menu_label);

Appends a page to notebook , specifying the widget to use as the label in the popup menu.

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

menu_label

the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used.

[allow-none]

Returns

the index (starting from 0) of the appended page in the notebook, or -1 if function fails


gtk_notebook_prepend_page ()

int
gtk_notebook_prepend_page (GtkNotebook *notebook,
                           GtkWidget *child,
                           GtkWidget *tab_label);

Prepends a page to notebook .

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

Returns

the index (starting from 0) of the prepended page in the notebook, or -1 if function fails


gtk_notebook_prepend_page_menu ()

int
gtk_notebook_prepend_page_menu (GtkNotebook *notebook,
                                GtkWidget *child,
                                GtkWidget *tab_label,
                                GtkWidget *menu_label);

Prepends a page to notebook , specifying the widget to use as the label in the popup menu.

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

menu_label

the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used.

[allow-none]

Returns

the index (starting from 0) of the prepended page in the notebook, or -1 if function fails


gtk_notebook_insert_page ()

int
gtk_notebook_insert_page (GtkNotebook *notebook,
                          GtkWidget *child,
                          GtkWidget *tab_label,
                          int position);

Insert a page into notebook at the given position.

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

position

the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages

 

Returns

the index (starting from 0) of the inserted page in the notebook, or -1 if function fails


gtk_notebook_insert_page_menu ()

int
gtk_notebook_insert_page_menu (GtkNotebook *notebook,
                               GtkWidget *child,
                               GtkWidget *tab_label,
                               GtkWidget *menu_label,
                               int position);

Insert a page into notebook at the given position, specifying the widget to use as the label in the popup menu.

Parameters

notebook

a GtkNotebook

 

child

the GtkWidget to use as the contents of the page

 

tab_label

the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

menu_label

the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used.

[allow-none]

position

the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages.

 

Returns

the index (starting from 0) of the inserted page in the notebook


gtk_notebook_remove_page ()

void
gtk_notebook_remove_page (GtkNotebook *notebook,
                          int page_num);

Removes a page from the notebook given its index in the notebook.

Parameters

notebook

a GtkNotebook

 

page_num

the index of a notebook page, starting from 0. If -1, the last page will be removed.

 

gtk_notebook_detach_tab ()

void
gtk_notebook_detach_tab (GtkNotebook *notebook,
                         GtkWidget *child);

Removes the child from the notebook.

This function is very similar to gtk_container_remove(), but additionally informs the notebook that the removal is happening as part of a tab DND operation, which should not be cancelled.

Parameters

notebook

a GtkNotebook

 

child

a child

 

gtk_notebook_page_num ()

int
gtk_notebook_page_num (GtkNotebook *notebook,
                       GtkWidget *child);

Finds the index of the page which contains the given child widget.

Parameters

notebook

a GtkNotebook

 

child

a GtkWidget

 

Returns

the index of the page containing child , or -1 if child is not in the notebook


gtk_notebook_next_page ()

void
gtk_notebook_next_page (GtkNotebook *notebook);

Switches to the next page. Nothing happens if the current page is the last page.

Parameters

notebook

a GtkNotebook

 

gtk_notebook_prev_page ()

void
gtk_notebook_prev_page (GtkNotebook *notebook);

Switches to the previous page. Nothing happens if the current page is the first page.

Parameters

notebook

a GtkNotebook

 

gtk_notebook_reorder_child ()

void
gtk_notebook_reorder_child (GtkNotebook *notebook,
                            GtkWidget *child,
                            int position);

Reorders the page containing child , so that it appears in position position . If position is greater than or equal to the number of children in the list or negative, child will be moved to the end of the list.

Parameters

notebook

a GtkNotebook

 

child

the child to move

 

position

the new position, or -1 to move to the end

 

gtk_notebook_set_tab_pos ()

void
gtk_notebook_set_tab_pos (GtkNotebook *notebook,
                          GtkPositionType pos);

Sets the edge at which the tabs for switching pages in the notebook are drawn.

Parameters

notebook

a GtkNotebook.

 

pos

the edge to draw the tabs at

 

gtk_notebook_set_show_tabs ()

void
gtk_notebook_set_show_tabs (GtkNotebook *notebook,
                            gboolean show_tabs);

Sets whether to show the tabs for the notebook or not.

Parameters

notebook

a GtkNotebook

 

show_tabs

TRUE if the tabs should be shown

 

gtk_notebook_set_show_border ()

void
gtk_notebook_set_show_border (GtkNotebook *notebook,
                              gboolean show_border);

Sets whether a bevel will be drawn around the notebook pages. This only has a visual effect when the tabs are not shown. See gtk_notebook_set_show_tabs().

Parameters

notebook

a GtkNotebook

 

show_border

TRUE if a bevel should be drawn around the notebook

 

gtk_notebook_set_scrollable ()

void
gtk_notebook_set_scrollable (GtkNotebook *notebook,
                             gboolean scrollable);

Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area.

Parameters

notebook

a GtkNotebook

 

scrollable

TRUE if scroll arrows should be added

 

gtk_notebook_popup_enable ()

void
gtk_notebook_popup_enable (GtkNotebook *notebook);

Enables the popup menu: if the user clicks with the right mouse button on the tab labels, a menu with all the pages will be popped up.

Parameters

notebook

a GtkNotebook

 

gtk_notebook_popup_disable ()

void
gtk_notebook_popup_disable (GtkNotebook *notebook);

Disables the popup menu.

Parameters

notebook

a GtkNotebook

 

gtk_notebook_get_current_page ()

int
gtk_notebook_get_current_page (GtkNotebook *notebook);

Returns the page number of the current page.

Parameters

notebook

a GtkNotebook

 

Returns

the index (starting from 0) of the current page in the notebook. If the notebook has no pages, then -1 will be returned.


gtk_notebook_get_menu_label ()

GtkWidget *
gtk_notebook_get_menu_label (GtkNotebook *notebook,
                             GtkWidget *child);

Retrieves the menu label widget of the page containing child .

Parameters

notebook

a GtkNotebook

 

child

a widget contained in a page of notebook

 

Returns

the menu label, or NULL if the notebook page does not have a menu label other than the default (the tab label).

[nullable][transfer none]


gtk_notebook_get_nth_page ()

GtkWidget *
gtk_notebook_get_nth_page (GtkNotebook *notebook,
                           int page_num);

Returns the child widget contained in page number page_num .

Parameters

notebook

a GtkNotebook

 

page_num

the index of a page in the notebook, or -1 to get the last page

 

Returns

the child widget, or NULL if page_num is out of bounds.

[nullable][transfer none]


gtk_notebook_get_n_pages ()

int
gtk_notebook_get_n_pages (GtkNotebook *notebook);

Gets the number of pages in a notebook.

Parameters

notebook

a GtkNotebook

 

Returns

the number of pages in the notebook


gtk_notebook_get_tab_label ()

GtkWidget *
gtk_notebook_get_tab_label (GtkNotebook *notebook,
                            GtkWidget *child);

Returns the tab label widget for the page child . NULL is returned if child is not in notebook or if no tab label has specifically been set for child .

Parameters

notebook

a GtkNotebook

 

child

the page

 

Returns

the tab label.

[transfer none][nullable]


gtk_notebook_set_menu_label ()

void
gtk_notebook_set_menu_label (GtkNotebook *notebook,
                             GtkWidget *child,
                             GtkWidget *menu_label);

Changes the menu label for the page containing child .

Parameters

notebook

a GtkNotebook

 

child

the child widget

 

menu_label

the menu label, or NULL for default.

[allow-none]

gtk_notebook_set_menu_label_text ()

void
gtk_notebook_set_menu_label_text (GtkNotebook *notebook,
                                  GtkWidget *child,
                                  const char *menu_text);

Creates a new label and sets it as the menu label of child .

Parameters

notebook

a GtkNotebook

 

child

the child widget

 

menu_text

the label text

 

gtk_notebook_set_tab_label ()

void
gtk_notebook_set_tab_label (GtkNotebook *notebook,
                            GtkWidget *child,
                            GtkWidget *tab_label);

Changes the tab label for child . If NULL is specified for tab_label , then the page will have the label “page N”.

Parameters

notebook

a GtkNotebook

 

child

the page

 

tab_label

the tab label widget to use, or NULL for default tab label.

[allow-none]

gtk_notebook_set_tab_label_text ()

void
gtk_notebook_set_tab_label_text (GtkNotebook *notebook,
                                 GtkWidget *child,
                                 const char *tab_text);

Creates a new label and sets it as the tab label for the page containing child .

Parameters

notebook

a GtkNotebook

 

child

the page

 

tab_text

the label text

 

gtk_notebook_set_tab_reorderable ()

void
gtk_notebook_set_tab_reorderable (GtkNotebook *notebook,
                                  GtkWidget *child,
                                  gboolean reorderable);

Sets whether the notebook tab can be reordered via drag and drop or not.

Parameters

notebook

a GtkNotebook

 

child

a child GtkWidget

 

reorderable

whether the tab is reorderable or not

 

gtk_notebook_set_tab_detachable ()

void
gtk_notebook_set_tab_detachable (GtkNotebook *notebook,
                                 GtkWidget *child,
                                 gboolean detachable);

Sets whether the tab can be detached from notebook to another notebook or widget.

Note that 2 notebooks must share a common group identificator (see gtk_notebook_set_group_name()) to allow automatic tabs interchange between them.

If you want a widget to interact with a notebook through DnD (i.e.: accept dragged tabs from it) it must be set as a drop destination and accept the target “GTK_NOTEBOOK_TAB”. The notebook will fill the selection with a GtkWidget** pointing to the child widget that corresponds to the dropped tab.

Note that you should use gtk_notebook_detach_tab() instead of gtk_container_remove() if you want to remove the tab from the source notebook as part of accepting a drop. Otherwise, the source notebook will think that the dragged tab was removed from underneath the ongoing drag operation, and will initiate a drag cancel animation.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static void
on_drag_data_received (GtkWidget        *widget,
                       GdkDrop          *drop,
                       GtkSelectionData *data,
                       guint             time,
                       gpointer          user_data)
{
  GtkDrag *drag;
  GtkWidget *notebook;
  GtkWidget **child;

  drag = gtk_drop_get_drag (drop);
  notebook = g_object_get_data (drag, "gtk-notebook-drag-origin");
  child = (void*) gtk_selection_data_get_data (data);

  // process_widget (*child);

  gtk_notebook_detach_tab (GTK_NOTEBOOK (notebook), *child);
}

If you want a notebook to accept drags from other widgets, you will have to set your own DnD code to do it.

Parameters

notebook

a GtkNotebook

 

child

a child GtkWidget

 

detachable

whether the tab is detachable or not

 

gtk_notebook_get_menu_label_text ()

const char *
gtk_notebook_get_menu_label_text (GtkNotebook *notebook,
                                  GtkWidget *child);

Retrieves the text of the menu label for the page containing child .

Parameters

notebook

a GtkNotebook

 

child

the child widget of a page of the notebook.

 

Returns

the text of the tab label, or NULL if the widget does not have a menu label other than the default menu label, or the menu label widget is not a GtkLabel. The string is owned by the widget and must not be freed.

[nullable]


gtk_notebook_get_scrollable ()

gboolean
gtk_notebook_get_scrollable (GtkNotebook *notebook);

Returns whether the tab label area has arrows for scrolling. See gtk_notebook_set_scrollable().

Parameters

notebook

a GtkNotebook

 

Returns

TRUE if arrows for scrolling are present


gtk_notebook_get_show_border ()

gboolean
gtk_notebook_get_show_border (GtkNotebook *notebook);

Returns whether a bevel will be drawn around the notebook pages. See gtk_notebook_set_show_border().

Parameters

notebook

a GtkNotebook

 

Returns

TRUE if the bevel is drawn


gtk_notebook_get_show_tabs ()

gboolean
gtk_notebook_get_show_tabs (GtkNotebook *notebook);

Returns whether the tabs of the notebook are shown. See gtk_notebook_set_show_tabs().

Parameters

notebook

a GtkNotebook

 

Returns

TRUE if the tabs are shown


gtk_notebook_get_tab_label_text ()

const char *
gtk_notebook_get_tab_label_text (GtkNotebook *notebook,
                                 GtkWidget *child);

Retrieves the text of the tab label for the page containing child .

Parameters

notebook

a GtkNotebook

 

child

a widget contained in a page of notebook

 

Returns

the text of the tab label, or NULL if the tab label widget is not a GtkLabel. The string is owned by the widget and must not be freed.

[nullable]


gtk_notebook_get_tab_pos ()

GtkPositionType
gtk_notebook_get_tab_pos (GtkNotebook *notebook);

Gets the edge at which the tabs for switching pages in the notebook are drawn.

Parameters

notebook

a GtkNotebook

 

Returns

the edge at which the tabs are drawn


gtk_notebook_get_tab_reorderable ()

gboolean
gtk_notebook_get_tab_reorderable (GtkNotebook *notebook,
                                  GtkWidget *child);

Gets whether the tab can be reordered via drag and drop or not.

Parameters

notebook

a GtkNotebook

 

child

a child GtkWidget

 

Returns

TRUE if the tab is reorderable.


gtk_notebook_get_tab_detachable ()

gboolean
gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
                                 GtkWidget *child);

Returns whether the tab contents can be detached from notebook .

Parameters

notebook

a GtkNotebook

 

child

a child GtkWidget

 

Returns

TRUE if the tab is detachable.


gtk_notebook_set_current_page ()

void
gtk_notebook_set_current_page (GtkNotebook *notebook,
                               int page_num);

Switches to the page number page_num .

Note that due to historical reasons, GtkNotebook refuses to switch to a page unless the child widget is visible. Therefore, it is recommended to show child widgets before adding them to a notebook.

Parameters

notebook

a GtkNotebook

 

page_num

index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the notebook, nothing will be done.

 

gtk_notebook_set_group_name ()

void
gtk_notebook_set_group_name (GtkNotebook *notebook,
                             const char *group_name);

Sets a group name for notebook .

Notebooks with the same name will be able to exchange tabs via drag and drop. A notebook with a NULL group name will not be able to exchange tabs with any other notebook.

Parameters

notebook

a GtkNotebook

 

group_name

the name of the notebook group, or NULL to unset it.

[allow-none]

gtk_notebook_get_group_name ()

const char *
gtk_notebook_get_group_name (GtkNotebook *notebook);

Gets the current group name for notebook .

Parameters

notebook

a GtkNotebook

 

Returns

the group name, or NULL if none is set.

[nullable][transfer none]


gtk_notebook_set_action_widget ()

void
gtk_notebook_set_action_widget (GtkNotebook *notebook,
                                GtkWidget *widget,
                                GtkPackType pack_type);

Sets widget as one of the action widgets. Depending on the pack type the widget will be placed before or after the tabs. You can use a GtkBox if you need to pack more than one widget on the same side.

Note that action widgets are “internal” children of the notebook and thus not included in the list returned from gtk_container_foreach().

Parameters

notebook

a GtkNotebook

 

widget

a GtkWidget

 

pack_type

pack type of the action widget

 

gtk_notebook_get_action_widget ()

GtkWidget *
gtk_notebook_get_action_widget (GtkNotebook *notebook,
                                GtkPackType pack_type);

Gets one of the action widgets. See gtk_notebook_set_action_widget().

Parameters

notebook

a GtkNotebook

 

pack_type

pack type of the action widget to receive

 

Returns

The action widget with the given pack_type or NULL when this action widget has not been set.

[nullable][transfer none]

Types and Values

GtkNotebook

typedef struct _GtkNotebook GtkNotebook;

GtkNotebookPage

typedef struct _GtkNotebookPage GtkNotebookPage;

Property Details

The “enable-popup” property

  “enable-popup”             gboolean

If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page.

Owner: GtkNotebook

Flags: Read / Write

Default value: FALSE


The “group-name” property

  “group-name”               gchar *

Group name for tab drag and drop.

Owner: GtkNotebook

Flags: Read / Write

Default value: NULL


The “page” property

  “page”                     gint

The index of the current page.

Owner: GtkNotebook

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “pages” property

  “pages”                    GListModel *

The pages of the notebook.

Owner: GtkNotebook

Flags: Read


The “scrollable” property

  “scrollable”               gboolean

If TRUE, scroll arrows are added if there are too many tabs to fit.

Owner: GtkNotebook

Flags: Read / Write

Default value: FALSE


The “show-border” property

  “show-border”              gboolean

Whether the border should be shown.

Owner: GtkNotebook

Flags: Read / Write

Default value: TRUE


The “show-tabs” property

  “show-tabs”                gboolean

Whether tabs should be shown.

Owner: GtkNotebook

Flags: Read / Write

Default value: TRUE


The “tab-pos” property

  “tab-pos”                  GtkPositionType

Which side of the notebook holds the tabs.

Owner: GtkNotebook

Flags: Read / Write

Default value: GTK_POS_TOP


The “child” property

  “child”                    GtkWidget *

The child for this page.

Owner: GtkNotebookPage

Flags: Read / Write / Construct Only


The “detachable” property

  “detachable”               gboolean

Whether the tab is detachable.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: FALSE


The “menu” property

  “menu”                     GtkWidget *

The label widget displayed in the child’s menu entry.

Owner: GtkNotebookPage

Flags: Read / Write / Construct Only


The “menu-label” property

  “menu-label”               gchar *

The text of the menu widget.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: NULL


The “position” property

  “position”                 gint

The index of the child in the parent.

Owner: GtkNotebookPage

Flags: Read / Write

Allowed values: >= -1

Default value: 0


The “reorderable” property

  “reorderable”              gboolean

Whether the tab is reorderable by user action.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: FALSE


The “tab” property

  “tab”                      GtkWidget *

The tab widget for this page.

Owner: GtkNotebookPage

Flags: Read / Write / Construct Only


The “tab-expand” property

  “tab-expand”               gboolean

Whether to expand the child’s tab.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: FALSE


The “tab-fill” property

  “tab-fill”                 gboolean

Whether the child’s tab should fill the allocated area.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: TRUE


The “tab-label” property

  “tab-label”                gchar *

The text of the tab widget.

Owner: GtkNotebookPage

Flags: Read / Write

Default value: NULL

Signal Details

The “change-current-page” signal

gboolean
user_function (GtkNotebook *notebook,
               gint         arg1,
               gpointer     user_data)

Flags: Action


The “create-window” signal

GtkNotebook*
user_function (GtkNotebook *notebook,
               GtkWidget   *page,
               gpointer     user_data)

The ::create-window signal is emitted when a detachable tab is dropped on the root window.

A handler for this signal can create a window containing a notebook where the tab will be attached. It is also responsible for moving/resizing the window and adding the necessary properties to the notebook (e.g. the “group-name” ).

Parameters

notebook

the GtkNotebook emitting the signal

 

page

the tab of notebook that is being detached

 

user_data

user data set when the signal handler was connected.

 

Returns

a GtkNotebook that page should be added to, or NULL.

[transfer none]

Flags: Run Last


The “focus-tab” signal

gboolean
user_function (GtkNotebook   *notebook,
               GtkNotebookTab arg1,
               gpointer       user_data)

Flags: Action


The “move-focus-out” signal

void
user_function (GtkNotebook     *notebook,
               GtkDirectionType arg1,
               gpointer         user_data)

Flags: Action


The “page-added” signal

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

the ::page-added signal is emitted in the notebook right after a page is added to the notebook.

Parameters

notebook

the GtkNotebook

 

child

the child GtkWidget affected

 

page_num

the new page number for child

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “page-removed” signal

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

the ::page-removed signal is emitted in the notebook right after a page is removed from the notebook.

Parameters

notebook

the GtkNotebook

 

child

the child GtkWidget affected

 

page_num

the child page number

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “page-reordered” signal

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

the ::page-reordered signal is emitted in the notebook right after a page has been reordered.

Parameters

notebook

the GtkNotebook

 

child

the child GtkWidget affected

 

page_num

the new page number for child

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “reorder-tab” signal

gboolean
user_function (GtkNotebook     *notebook,
               GtkDirectionType arg1,
               gboolean         arg2,
               gpointer         user_data)

Flags: Action


The “select-page” signal

gboolean
user_function (GtkNotebook *notebook,
               gboolean     arg1,
               gpointer     user_data)

Flags: Action


The “switch-page” signal

void
user_function (GtkNotebook *notebook,
               GtkWidget   *page,
               guint        page_num,
               gpointer     user_data)

Emitted when the user or a function changes the current page.

Parameters

notebook

the object which received the signal.

 

page

the new current page

 

page_num

the index of the page

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Action Details

The “menu.popup” action

Opens the context menu.

See Also

GtkContainer

docs/reference/gtk/html/GtkSearchBar.html0000664000175000017500000006511413710700534020522 0ustar mclasenmclasen GtkSearchBar: GTK 4 Reference Manual

GtkSearchBar

GtkSearchBar — A toolbar to integrate a search entry with

Properties

GtkWidget * child Read / Write / Construct
GtkWidget * key-capture-widget Read / Write / Construct
gboolean search-mode-enabled Read / Write
gboolean show-close-button Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSearchBar

Implemented Interfaces

GtkSearchBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkSearchBar is a container made to have a search entry (possibly with additional connex widgets, such as drop-down menus, or buttons) built-in. The search bar would appear when a search is started through typing on the keyboard, or the application’s search mode is toggled on.

For keyboard presses to start a search, the search bar must be told of a widget to capture key events from through gtk_search_bar_set_key_capture_widget(). This widget will typically be the top-level window, or a parent container of the search bar. Common shortcuts such as Ctrl+F should be handled as an application action, or through the menu items.

You will also need to tell the search bar about which entry you are using as your search entry using gtk_search_bar_connect_entry(). The following example shows you how to create a more complex search entry.

CSS nodes

1
2
3
4
5
searchbar
╰── revealer
    ╰── box
         ├── [child]
         ╰── [button.close]

GtkSearchBar has a main CSS node with name searchbar. It has a child node with name revealer that contains a node with name box. The box node contains both the CSS node of the child widget as well as an optional button node which gets the .close style class applied.

Creating a search bar

A simple example

Functions

gtk_search_bar_new ()

GtkWidget *
gtk_search_bar_new (void);

Creates a GtkSearchBar. You will need to tell it about which widget is going to be your text entry using gtk_search_bar_connect_entry().

Returns

a new GtkSearchBar


gtk_search_bar_set_child ()

void
gtk_search_bar_set_child (GtkSearchBar *bar,
                          GtkWidget *child);

Sets the child widget of bar .

Parameters

bar

a GtkSearchBar

 

child

the child widget.

[allow-none]

gtk_search_bar_get_child ()

GtkWidget *
gtk_search_bar_get_child (GtkSearchBar *bar);

Gets the child widget of bar .

Parameters

bar

a GtkSearchBar

 

Returns

the child widget of bar .

[nullable][transfer none]


gtk_search_bar_connect_entry ()

void
gtk_search_bar_connect_entry (GtkSearchBar *bar,
                              GtkEditable *entry);

Connects the GtkEntry widget passed as the one to be used in this search bar. The entry should be a descendant of the search bar. This is only required if the entry isn’t the direct child of the search bar (as in our main example).

Parameters

bar

a GtkSearchBar

 

entry

a GtkEditable

 

gtk_search_bar_get_search_mode ()

gboolean
gtk_search_bar_get_search_mode (GtkSearchBar *bar);

Returns whether the search mode is on or off.

Parameters

bar

a GtkSearchBar

 

Returns

whether search mode is toggled on


gtk_search_bar_set_search_mode ()

void
gtk_search_bar_set_search_mode (GtkSearchBar *bar,
                                gboolean search_mode);

Switches the search mode on or off.

Parameters

bar

a GtkSearchBar

 

search_mode

the new state of the search mode

 

gtk_search_bar_get_show_close_button ()

gboolean
gtk_search_bar_get_show_close_button (GtkSearchBar *bar);

Returns whether the close button is shown.

Parameters

bar

a GtkSearchBar

 

Returns

whether the close button is shown


gtk_search_bar_set_show_close_button ()

void
gtk_search_bar_set_show_close_button (GtkSearchBar *bar,
                                      gboolean visible);

Shows or hides the close button. Applications that already have a “search” toggle button should not show a close button in their search bar, as it duplicates the role of the toggle button.

Parameters

bar

a GtkSearchBar

 

visible

whether the close button will be shown or not

 

gtk_search_bar_set_key_capture_widget ()

void
gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar,
                                       GtkWidget *widget);

Sets widget as the widget that bar will capture key events from.

If key events are handled by the search bar, the bar will be shown, and the entry populated with the entered text.

Parameters

bar

a GtkSearchBar

 

widget

a GtkWidget.

[nullable][transfer none]

gtk_search_bar_get_key_capture_widget ()

GtkWidget *
gtk_search_bar_get_key_capture_widget (GtkSearchBar *bar);

Gets the widget that bar is capturing key events from.

Parameters

bar

a GtkSearchBar

 

Returns

The key capture widget.

[transfer none]

Types and Values

GtkSearchBar

typedef struct _GtkSearchBar GtkSearchBar;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkSearchBar

Flags: Read / Write / Construct


The “key-capture-widget” property

  “key-capture-widget”       GtkWidget *

Key Capture Widget.

Owner: GtkSearchBar

Flags: Read / Write / Construct


The “search-mode-enabled” property

  “search-mode-enabled”      gboolean

Whether the search mode is on and the search bar shown.

See gtk_search_bar_set_search_mode() for details.

Owner: GtkSearchBar

Flags: Read / Write

Default value: FALSE


The “show-close-button” property

  “show-close-button”        gboolean

Whether to show the close button in the search bar.

Owner: GtkSearchBar

Flags: Read / Write / Construct

Default value: FALSE

docs/reference/gtk/html/GtkTextIter.html0000664000175000017500000056501213710700534020442 0ustar mclasenmclasen GtkTextIter: GTK 4 Reference Manual

GtkTextIter

GtkTextIter — Text buffer iterator

Functions

GtkTextBuffer * gtk_text_iter_get_buffer ()
GtkTextIter * gtk_text_iter_copy ()
void gtk_text_iter_assign ()
void gtk_text_iter_free ()
int gtk_text_iter_get_offset ()
int gtk_text_iter_get_line ()
int gtk_text_iter_get_line_offset ()
int gtk_text_iter_get_line_index ()
int gtk_text_iter_get_visible_line_index ()
int gtk_text_iter_get_visible_line_offset ()
gunichar gtk_text_iter_get_char ()
char * gtk_text_iter_get_slice ()
char * gtk_text_iter_get_text ()
char * gtk_text_iter_get_visible_slice ()
char * gtk_text_iter_get_visible_text ()
GSList * gtk_text_iter_get_marks ()
GSList * gtk_text_iter_get_toggled_tags ()
GtkTextChildAnchor * gtk_text_iter_get_child_anchor ()
gboolean gtk_text_iter_starts_tag ()
gboolean gtk_text_iter_ends_tag ()
gboolean gtk_text_iter_toggles_tag ()
gboolean gtk_text_iter_has_tag ()
GSList * gtk_text_iter_get_tags ()
gboolean gtk_text_iter_editable ()
gboolean gtk_text_iter_can_insert ()
gboolean gtk_text_iter_starts_word ()
gboolean gtk_text_iter_ends_word ()
gboolean gtk_text_iter_inside_word ()
gboolean gtk_text_iter_starts_line ()
gboolean gtk_text_iter_ends_line ()
gboolean gtk_text_iter_starts_sentence ()
gboolean gtk_text_iter_ends_sentence ()
gboolean gtk_text_iter_inside_sentence ()
gboolean gtk_text_iter_is_cursor_position ()
int gtk_text_iter_get_chars_in_line ()
int gtk_text_iter_get_bytes_in_line ()
PangoLanguage * gtk_text_iter_get_language ()
gboolean gtk_text_iter_is_end ()
gboolean gtk_text_iter_is_start ()
gboolean gtk_text_iter_forward_char ()
gboolean gtk_text_iter_backward_char ()
gboolean gtk_text_iter_forward_chars ()
gboolean gtk_text_iter_backward_chars ()
gboolean gtk_text_iter_forward_line ()
gboolean gtk_text_iter_backward_line ()
gboolean gtk_text_iter_forward_lines ()
gboolean gtk_text_iter_backward_lines ()
gboolean gtk_text_iter_forward_word_ends ()
gboolean gtk_text_iter_backward_word_starts ()
gboolean gtk_text_iter_forward_word_end ()
gboolean gtk_text_iter_backward_word_start ()
gboolean gtk_text_iter_forward_cursor_position ()
gboolean gtk_text_iter_backward_cursor_position ()
gboolean gtk_text_iter_forward_cursor_positions ()
gboolean gtk_text_iter_backward_cursor_positions ()
gboolean gtk_text_iter_backward_sentence_start ()
gboolean gtk_text_iter_backward_sentence_starts ()
gboolean gtk_text_iter_forward_sentence_end ()
gboolean gtk_text_iter_forward_sentence_ends ()
gboolean gtk_text_iter_forward_visible_word_ends ()
gboolean gtk_text_iter_backward_visible_word_starts ()
gboolean gtk_text_iter_forward_visible_word_end ()
gboolean gtk_text_iter_backward_visible_word_start ()
gboolean gtk_text_iter_forward_visible_cursor_position ()
gboolean gtk_text_iter_backward_visible_cursor_position ()
gboolean gtk_text_iter_forward_visible_cursor_positions ()
gboolean gtk_text_iter_backward_visible_cursor_positions ()
gboolean gtk_text_iter_forward_visible_line ()
gboolean gtk_text_iter_backward_visible_line ()
gboolean gtk_text_iter_forward_visible_lines ()
gboolean gtk_text_iter_backward_visible_lines ()
void gtk_text_iter_set_offset ()
void gtk_text_iter_set_line ()
void gtk_text_iter_set_line_offset ()
void gtk_text_iter_set_line_index ()
void gtk_text_iter_set_visible_line_index ()
void gtk_text_iter_set_visible_line_offset ()
void gtk_text_iter_forward_to_end ()
gboolean gtk_text_iter_forward_to_line_end ()
gboolean gtk_text_iter_forward_to_tag_toggle ()
gboolean gtk_text_iter_backward_to_tag_toggle ()
gboolean (*GtkTextCharPredicate) ()
gboolean gtk_text_iter_forward_find_char ()
gboolean gtk_text_iter_backward_find_char ()
gboolean gtk_text_iter_forward_search ()
gboolean gtk_text_iter_backward_search ()
gboolean gtk_text_iter_equal ()
int gtk_text_iter_compare ()
gboolean gtk_text_iter_in_range ()
void gtk_text_iter_order ()

Types and Values

Object Hierarchy

    GBoxed
    ╰── GtkTextIter

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

Functions

gtk_text_iter_get_buffer ()

GtkTextBuffer *
gtk_text_iter_get_buffer (const GtkTextIter *iter);

Returns the GtkTextBuffer this iterator is associated with.

Parameters

iter

an iterator

 

Returns

the buffer.

[transfer none]


gtk_text_iter_copy ()

GtkTextIter *
gtk_text_iter_copy (const GtkTextIter *iter);

Creates a dynamically-allocated copy of an iterator. This function is not useful in applications, because iterators can be copied with a simple assignment (GtkTextIter i = j;). The function is used by language bindings.

Parameters

iter

an iterator

 

Returns

a copy of the iter , free with gtk_text_iter_free()


gtk_text_iter_assign ()

void
gtk_text_iter_assign (GtkTextIter *iter,
                      const GtkTextIter *other);

Assigns the value of other to iter . This function is not useful in applications, because iterators can be assigned with GtkTextIter i = j;. The function is used by language bindings.

Parameters

iter

a GtkTextIter

 

other

another GtkTextIter

 

gtk_text_iter_free ()

void
gtk_text_iter_free (GtkTextIter *iter);

Free an iterator allocated on the heap. This function is intended for use in language bindings, and is not especially useful for applications, because iterators can simply be allocated on the stack.

Parameters

iter

a dynamically-allocated iterator

 

gtk_text_iter_get_offset ()

int
gtk_text_iter_get_offset (const GtkTextIter *iter);

Returns the character offset of an iterator. Each character in a GtkTextBuffer has an offset, starting with 0 for the first character in the buffer. Use gtk_text_buffer_get_iter_at_offset() to convert an offset back into an iterator.

Parameters

iter

an iterator

 

Returns

a character offset


gtk_text_iter_get_line ()

int
gtk_text_iter_get_line (const GtkTextIter *iter);

Returns the line number containing the iterator. Lines in a GtkTextBuffer are numbered beginning with 0 for the first line in the buffer.

Parameters

iter

an iterator

 

Returns

a line number


gtk_text_iter_get_line_offset ()

int
gtk_text_iter_get_line_offset (const GtkTextIter *iter);

Returns the character offset of the iterator, counting from the start of a newline-terminated line. The first character on the line has offset 0.

Parameters

iter

an iterator

 

Returns

offset from start of line


gtk_text_iter_get_line_index ()

int
gtk_text_iter_get_line_index (const GtkTextIter *iter);

Returns the byte index of the iterator, counting from the start of a newline-terminated line. Remember that GtkTextBuffer encodes text in UTF-8, and that characters can require a variable number of bytes to represent.

Parameters

iter

an iterator

 

Returns

distance from start of line, in bytes


gtk_text_iter_get_visible_line_index ()

int
gtk_text_iter_get_visible_line_index (const GtkTextIter *iter);

Returns the number of bytes from the start of the line to the given iter , not counting bytes that are invisible due to tags with the “invisible” flag toggled on.

Parameters

iter

a GtkTextIter

 

Returns

byte index of iter with respect to the start of the line


gtk_text_iter_get_visible_line_offset ()

int
gtk_text_iter_get_visible_line_offset (const GtkTextIter *iter);

Returns the offset in characters from the start of the line to the given iter , not counting characters that are invisible due to tags with the “invisible” flag toggled on.

Parameters

iter

a GtkTextIter

 

Returns

offset in visible characters from the start of the line


gtk_text_iter_get_char ()

gunichar
gtk_text_iter_get_char (const GtkTextIter *iter);

The Unicode character at this iterator is returned. (Equivalent to operator* on a C++ iterator.) If the element at this iterator is a non-character element, such as an image embedded in the buffer, the Unicode “unknown” character 0xFFFC is returned. If invoked on the end iterator, zero is returned; zero is not a valid Unicode character. So you can write a loop which ends when gtk_text_iter_get_char() returns 0.

Parameters

iter

an iterator

 

Returns

a Unicode character, or 0 if iter is not dereferenceable


gtk_text_iter_get_slice ()

char *
gtk_text_iter_get_slice (const GtkTextIter *start,
                         const GtkTextIter *end);

Returns the text in the given range. A “slice” is an array of characters encoded in UTF-8 format, including the Unicode “unknown” character 0xFFFC for iterable non-character elements in the buffer, such as images. Because images are encoded in the slice, byte and character offsets in the returned array will correspond to byte offsets in the text buffer. Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a paintable or widget is in the buffer.

Parameters

start

iterator at start of a range

 

end

iterator at end of a range

 

Returns

slice of text from the buffer.

[transfer full]


gtk_text_iter_get_text ()

char *
gtk_text_iter_get_text (const GtkTextIter *start,
                        const GtkTextIter *end);

Returns text in the given range. If the range contains non-text elements such as images, the character and byte offsets in the returned string will not correspond to character and byte offsets in the buffer. If you want offsets to correspond, see gtk_text_iter_get_slice().

Parameters

start

iterator at start of a range

 

end

iterator at end of a range

 

Returns

array of characters from the buffer.

[transfer full]


gtk_text_iter_get_visible_slice ()

char *
gtk_text_iter_get_visible_slice (const GtkTextIter *start,
                                 const GtkTextIter *end);

Like gtk_text_iter_get_slice(), but invisible text is not included. Invisible text is usually invisible because a GtkTextTag with the “invisible” attribute turned on has been applied to it.

Parameters

start

iterator at start of range

 

end

iterator at end of range

 

Returns

slice of text from the buffer.

[transfer full]


gtk_text_iter_get_visible_text ()

char *
gtk_text_iter_get_visible_text (const GtkTextIter *start,
                                const GtkTextIter *end);

Like gtk_text_iter_get_text(), but invisible text is not included. Invisible text is usually invisible because a GtkTextTag with the “invisible” attribute turned on has been applied to it.

Parameters

start

iterator at start of range

 

end

iterator at end of range

 

Returns

string containing visible text in the range.

[transfer full]


gtk_text_iter_get_marks ()

GSList *
gtk_text_iter_get_marks (const GtkTextIter *iter);

Returns a list of all GtkTextMark at this location. Because marks are not iterable (they don’t take up any "space" in the buffer, they are just marks in between iterable locations), multiple marks can exist in the same place. The returned list is not in any meaningful order.

Parameters

iter

an iterator

 

Returns

list of GtkTextMark.

[element-type GtkTextMark][transfer container]


gtk_text_iter_get_toggled_tags ()

GSList *
gtk_text_iter_get_toggled_tags (const GtkTextIter *iter,
                                gboolean toggled_on);

Returns a list of GtkTextTag that are toggled on or off at this point. (If toggled_on is TRUE, the list contains tags that are toggled on.) If a tag is toggled on at iter , then some non-empty range of characters following iter has that tag applied to it. If a tag is toggled off, then some non-empty range following iter does not have the tag applied to it.

Parameters

iter

an iterator

 

toggled_on

TRUE to get toggled-on tags

 

Returns

tags toggled at this point.

[element-type GtkTextTag][transfer container]


gtk_text_iter_get_child_anchor ()

GtkTextChildAnchor *
gtk_text_iter_get_child_anchor (const GtkTextIter *iter);

If the location at iter contains a child anchor, the anchor is returned (with no new reference count added). Otherwise, NULL is returned.

Parameters

iter

an iterator

 

Returns

the anchor at iter .

[transfer none]


gtk_text_iter_starts_tag ()

gboolean
gtk_text_iter_starts_tag (const GtkTextIter *iter,
                          GtkTextTag *tag);

Returns TRUE if tag is toggled on at exactly this point. If tag is NULL, returns TRUE if any tag is toggled on at this point.

Note that if gtk_text_iter_starts_tag() returns TRUE, it means that iter is at the beginning of the tagged range, and that the character at iter is inside the tagged range. In other words, unlike gtk_text_iter_ends_tag(), if gtk_text_iter_starts_tag() returns TRUE, gtk_text_iter_has_tag() will also return TRUE for the same parameters.

Parameters

iter

an iterator

 

tag

a GtkTextTag, or NULL.

[nullable]

Returns

whether iter is the start of a range tagged with tag


gtk_text_iter_ends_tag ()

gboolean
gtk_text_iter_ends_tag (const GtkTextIter *iter,
                        GtkTextTag *tag);

Returns TRUE if tag is toggled off at exactly this point. If tag is NULL, returns TRUE if any tag is toggled off at this point.

Note that if gtk_text_iter_ends_tag() returns TRUE, it means that iter is at the end of the tagged range, but that the character at iter is outside the tagged range. In other words, unlike gtk_text_iter_starts_tag(), if gtk_text_iter_ends_tag() returns TRUE, gtk_text_iter_has_tag() will return FALSE for the same parameters.

Parameters

iter

an iterator

 

tag

a GtkTextTag, or NULL.

[allow-none]

Returns

whether iter is the end of a range tagged with tag


gtk_text_iter_toggles_tag ()

gboolean
gtk_text_iter_toggles_tag (const GtkTextIter *iter,
                           GtkTextTag *tag);

This is equivalent to (gtk_text_iter_starts_tag() || gtk_text_iter_ends_tag()), i.e. it tells you whether a range with tag applied to it begins or ends at iter .

Parameters

iter

an iterator

 

tag

a GtkTextTag, or NULL.

[allow-none]

Returns

whether tag is toggled on or off at iter


gtk_text_iter_has_tag ()

gboolean
gtk_text_iter_has_tag (const GtkTextIter *iter,
                       GtkTextTag *tag);

Returns TRUE if iter points to a character that is part of a range tagged with tag . See also gtk_text_iter_starts_tag() and gtk_text_iter_ends_tag().

Parameters

iter

an iterator

 

tag

a GtkTextTag

 

Returns

whether iter is tagged with tag


gtk_text_iter_get_tags ()

GSList *
gtk_text_iter_get_tags (const GtkTextIter *iter);

Returns a list of tags that apply to iter , in ascending order of priority (highest-priority tags are last). The GtkTextTag in the list don’t have a reference added, but you have to free the list itself.

Parameters

iter

a GtkTextIter

 

Returns

list of GtkTextTag.

[element-type GtkTextTag][transfer container]


gtk_text_iter_editable ()

gboolean
gtk_text_iter_editable (const GtkTextIter *iter,
                        gboolean default_setting);

Returns whether the character at iter is within an editable region of text. Non-editable text is “locked” and can’t be changed by the user via GtkTextView. This function is simply a convenience wrapper around gtk_text_iter_get_attributes(). If no tags applied to this text affect editability, default_setting will be returned.

You don’t want to use this function to decide whether text can be inserted at iter , because for insertion you don’t want to know whether the char at iter is inside an editable range, you want to know whether a new character inserted at iter would be inside an editable range. Use gtk_text_iter_can_insert() to handle this case.

Parameters

iter

an iterator

 

default_setting

TRUE if text is editable by default

 

Returns

whether iter is inside an editable range


gtk_text_iter_can_insert ()

gboolean
gtk_text_iter_can_insert (const GtkTextIter *iter,
                          gboolean default_editability);

Considering the default editability of the buffer, and tags that affect editability, determines whether text inserted at iter would be editable. If text inserted at iter would be editable then the user should be allowed to insert text at iter . gtk_text_buffer_insert_interactive() uses this function to decide whether insertions are allowed at a given position.

Parameters

iter

an iterator

 

default_editability

TRUE if text is editable by default

 

Returns

whether text inserted at iter would be editable


gtk_text_iter_starts_word ()

gboolean
gtk_text_iter_starts_word (const GtkTextIter *iter);

Determines whether iter begins a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is at the start of a word


gtk_text_iter_ends_word ()

gboolean
gtk_text_iter_ends_word (const GtkTextIter *iter);

Determines whether iter ends a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is at the end of a word


gtk_text_iter_inside_word ()

gboolean
gtk_text_iter_inside_word (const GtkTextIter *iter);

Determines whether the character pointed by iter is part of a natural-language word (as opposed to say inside some whitespace). Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Note that if gtk_text_iter_starts_word() returns TRUE, then this function returns TRUE too, since iter points to the first character of the word.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is inside a word


gtk_text_iter_starts_line ()

gboolean
gtk_text_iter_starts_line (const GtkTextIter *iter);

Returns TRUE if iter begins a paragraph, i.e. if gtk_text_iter_get_line_offset() would return 0. However this function is potentially more efficient than gtk_text_iter_get_line_offset() because it doesn’t have to compute the offset, it just has to see whether it’s 0.

Parameters

iter

an iterator

 

Returns

whether iter begins a line


gtk_text_iter_ends_line ()

gboolean
gtk_text_iter_ends_line (const GtkTextIter *iter);

Returns TRUE if iter points to the start of the paragraph delimiter characters for a line (delimiters will be either a newline, a carriage return, a carriage return followed by a newline, or a Unicode paragraph separator character). Note that an iterator pointing to the \n of a \r\n pair will not be counted as the end of a line, the line ends before the \r. The end iterator is considered to be at the end of a line, even though there are no paragraph delimiter chars there.

Parameters

iter

an iterator

 

Returns

whether iter is at the end of a line


gtk_text_iter_starts_sentence ()

gboolean
gtk_text_iter_starts_sentence (const GtkTextIter *iter);

Determines whether iter begins a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is at the start of a sentence.


gtk_text_iter_ends_sentence ()

gboolean
gtk_text_iter_ends_sentence (const GtkTextIter *iter);

Determines whether iter ends a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is at the end of a sentence.


gtk_text_iter_inside_sentence ()

gboolean
gtk_text_iter_inside_sentence (const GtkTextIter *iter);

Determines whether iter is inside a sentence (as opposed to in between two sentences, e.g. after a period and before the first letter of the next sentence). Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter is inside a sentence.


gtk_text_iter_is_cursor_position ()

gboolean
gtk_text_iter_is_cursor_position (const GtkTextIter *iter);

See gtk_text_iter_forward_cursor_position() or PangoLogAttr or pango_break() for details on what a cursor position is.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if the cursor can be placed at iter


gtk_text_iter_get_chars_in_line ()

int
gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);

Returns the number of characters in the line containing iter , including the paragraph delimiters.

Parameters

iter

an iterator

 

Returns

number of characters in the line


gtk_text_iter_get_bytes_in_line ()

int
gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);

Returns the number of bytes in the line containing iter , including the paragraph delimiters.

Parameters

iter

an iterator

 

Returns

number of bytes in the line


gtk_text_iter_get_language ()

PangoLanguage *
gtk_text_iter_get_language (const GtkTextIter *iter);

A convenience wrapper around gtk_text_iter_get_attributes(), which returns the language in effect at iter . If no tags affecting language apply to iter , the return value is identical to that of gtk_get_default_language().

Parameters

iter

an iterator

 

Returns

language in effect at iter .

[transfer full]


gtk_text_iter_is_end ()

gboolean
gtk_text_iter_is_end (const GtkTextIter *iter);

Returns TRUE if iter is the end iterator, i.e. one past the last dereferenceable iterator in the buffer. gtk_text_iter_is_end() is the most efficient way to check whether an iterator is the end iterator.

Parameters

iter

an iterator

 

Returns

whether iter is the end iterator


gtk_text_iter_is_start ()

gboolean
gtk_text_iter_is_start (const GtkTextIter *iter);

Returns TRUE if iter is the first iterator in the buffer, that is if iter has a character offset of 0.

Parameters

iter

an iterator

 

Returns

whether iter is the first in the buffer


gtk_text_iter_forward_char ()

gboolean
gtk_text_iter_forward_char (GtkTextIter *iter);

Moves iter forward by one character offset. Note that images embedded in the buffer occupy 1 character slot, so gtk_text_iter_forward_char() may actually move onto an image instead of a character, if you have images in your buffer. If iter is the end iterator or one character before it, iter will now point at the end iterator, and gtk_text_iter_forward_char() returns FALSE for convenience when writing loops.

Parameters

iter

an iterator

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_backward_char ()

gboolean
gtk_text_iter_backward_char (GtkTextIter *iter);

Moves backward by one character offset. Returns TRUE if movement was possible; if iter was the first in the buffer (character offset 0), gtk_text_iter_backward_char() returns FALSE for convenience when writing loops.

Parameters

iter

an iterator

 

Returns

whether movement was possible


gtk_text_iter_forward_chars ()

gboolean
gtk_text_iter_forward_chars (GtkTextIter *iter,
                             int count);

Moves count characters if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the new position of iter is different from its original position, and dereferenceable (the last iterator in the buffer is not dereferenceable). If count is 0, the function does nothing and returns FALSE.

Parameters

iter

an iterator

 

count

number of characters to move, may be negative

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_backward_chars ()

gboolean
gtk_text_iter_backward_chars (GtkTextIter *iter,
                              int count);

Moves count characters backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE.

Parameters

iter

an iterator

 

count

number of characters to move

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_forward_line ()

gboolean
gtk_text_iter_forward_line (GtkTextIter *iter);

Moves iter to the start of the next line. If the iter is already on the last line of the buffer, moves the iter to the end of the current line. If after the operation, the iter is at the end of the buffer and not dereferencable, returns FALSE. Otherwise, returns TRUE.

Parameters

iter

an iterator

 

Returns

whether iter can be dereferenced


gtk_text_iter_backward_line ()

gboolean
gtk_text_iter_backward_line (GtkTextIter *iter);

Moves iter to the start of the previous line. Returns TRUE if iter could be moved; i.e. if iter was at character offset 0, this function returns FALSE. Therefore if iter was already on line 0, but not at the start of the line, iter is snapped to the start of the line and the function returns TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.)

Parameters

iter

an iterator

 

Returns

whether iter moved


gtk_text_iter_forward_lines ()

gboolean
gtk_text_iter_forward_lines (GtkTextIter *iter,
                             int count);

Moves count lines forward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves backward by 0 - count lines.

Parameters

iter

a GtkTextIter

 

count

number of lines to move forward

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_backward_lines ()

gboolean
gtk_text_iter_backward_lines (GtkTextIter *iter,
                              int count);

Moves count lines backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves forward by 0 - count lines.

Parameters

iter

a GtkTextIter

 

count

number of lines to move backward

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_forward_word_ends ()

gboolean
gtk_text_iter_forward_word_ends (GtkTextIter *iter,
                                 int count);

Calls gtk_text_iter_forward_word_end() up to count times.

Parameters

iter

a GtkTextIter

 

count

number of times to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_backward_word_starts ()

gboolean
gtk_text_iter_backward_word_starts (GtkTextIter *iter,
                                    int count);

Calls gtk_text_iter_backward_word_start() up to count times.

Parameters

iter

a GtkTextIter

 

count

number of times to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_word_end ()

gboolean
gtk_text_iter_forward_word_end (GtkTextIter *iter);

Moves forward to the next word end. (If iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_backward_word_start ()

gboolean
gtk_text_iter_backward_word_start (GtkTextIter *iter);

Moves backward to the previous word start. (If iter is currently on a word start, moves backward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_cursor_position ()

gboolean
gtk_text_iter_forward_cursor_position (GtkTextIter *iter);

Moves iter forward by a single cursor position. Cursor positions are (unsurprisingly) positions where the cursor can appear. Perhaps surprisingly, there may not be a cursor position between all characters. The most common example for European languages would be a carriage return/newline sequence. For some Unicode characters, the equivalent of say the letter “a” with an accent mark will be represented as two characters, first the letter then a "combining mark" that causes the accent to be rendered; so the cursor can’t go between those two characters. See also the PangoLogAttr and pango_break() function.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_backward_cursor_position ()

gboolean
gtk_text_iter_backward_cursor_position
                               (GtkTextIter *iter);

Like gtk_text_iter_forward_cursor_position(), but moves backward.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if we moved


gtk_text_iter_forward_cursor_positions ()

gboolean
gtk_text_iter_forward_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Moves up to count cursor positions. See gtk_text_iter_forward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

count

number of positions to move

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_backward_cursor_positions ()

gboolean
gtk_text_iter_backward_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Moves up to count cursor positions. See gtk_text_iter_forward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

count

number of positions to move

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_backward_sentence_start ()

gboolean
gtk_text_iter_backward_sentence_start (GtkTextIter *iter);

Moves backward to the previous sentence start; if iter is already at the start of a sentence, moves backward to the next one. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_backward_sentence_starts ()

gboolean
gtk_text_iter_backward_sentence_starts
                               (GtkTextIter *iter,
                                int count);

Calls gtk_text_iter_backward_sentence_start() up to count times, or until it returns FALSE. If count is negative, moves forward instead of backward.

Parameters

iter

a GtkTextIter

 

count

number of sentences to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_sentence_end ()

gboolean
gtk_text_iter_forward_sentence_end (GtkTextIter *iter);

Moves forward to the next sentence end. (If iter is at the end of a sentence, moves to the next end of sentence.) Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_sentence_ends ()

gboolean
gtk_text_iter_forward_sentence_ends (GtkTextIter *iter,
                                     int count);

Calls gtk_text_iter_forward_sentence_end() count times (or until gtk_text_iter_forward_sentence_end() returns FALSE). If count is negative, moves backward instead of forward.

Parameters

iter

a GtkTextIter

 

count

number of sentences to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_visible_word_ends ()

gboolean
gtk_text_iter_forward_visible_word_ends
                               (GtkTextIter *iter,
                                int count);

Calls gtk_text_iter_forward_visible_word_end() up to count times.

Parameters

iter

a GtkTextIter

 

count

number of times to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_backward_visible_word_starts ()

gboolean
gtk_text_iter_backward_visible_word_starts
                               (GtkTextIter *iter,
                                int count);

Calls gtk_text_iter_backward_visible_word_start() up to count times.

Parameters

iter

a GtkTextIter

 

count

number of times to move

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_visible_word_end ()

gboolean
gtk_text_iter_forward_visible_word_end
                               (GtkTextIter *iter);

Moves forward to the next visible word end. (If iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_backward_visible_word_start ()

gboolean
gtk_text_iter_backward_visible_word_start
                               (GtkTextIter *iter);

Moves backward to the previous visible word start. (If iter is currently on a word start, moves backward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).

Parameters

iter

a GtkTextIter

 

Returns

TRUE if iter moved and is not the end iterator


gtk_text_iter_forward_visible_cursor_position ()

gboolean
gtk_text_iter_forward_visible_cursor_position
                               (GtkTextIter *iter);

Moves iter forward to the next visible cursor position. See gtk_text_iter_forward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_backward_visible_cursor_position ()

gboolean
gtk_text_iter_backward_visible_cursor_position
                               (GtkTextIter *iter);

Moves iter forward to the previous visible cursor position. See gtk_text_iter_backward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_forward_visible_cursor_positions ()

gboolean
gtk_text_iter_forward_visible_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Moves up to count visible cursor positions. See gtk_text_iter_forward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

count

number of positions to move

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_backward_visible_cursor_positions ()

gboolean
gtk_text_iter_backward_visible_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Moves up to count visible cursor positions. See gtk_text_iter_backward_cursor_position() for details.

Parameters

iter

a GtkTextIter

 

count

number of positions to move

 

Returns

TRUE if we moved and the new position is dereferenceable


gtk_text_iter_forward_visible_line ()

gboolean
gtk_text_iter_forward_visible_line (GtkTextIter *iter);

Moves iter to the start of the next visible line. Returns TRUE if there was a next line to move to, and FALSE if iter was simply moved to the end of the buffer and is now not dereferenceable, or if iter was already at the end of the buffer.

Parameters

iter

an iterator

 

Returns

whether iter can be dereferenced


gtk_text_iter_backward_visible_line ()

gboolean
gtk_text_iter_backward_visible_line (GtkTextIter *iter);

Moves iter to the start of the previous visible line. Returns TRUE if iter could be moved; i.e. if iter was at character offset 0, this function returns FALSE. Therefore if iter was already on line 0, but not at the start of the line, iter is snapped to the start of the line and the function returns TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.)

Parameters

iter

an iterator

 

Returns

whether iter moved


gtk_text_iter_forward_visible_lines ()

gboolean
gtk_text_iter_forward_visible_lines (GtkTextIter *iter,
                                     int count);

Moves count visible lines forward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves backward by 0 - count lines.

Parameters

iter

a GtkTextIter

 

count

number of lines to move forward

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_backward_visible_lines ()

gboolean
gtk_text_iter_backward_visible_lines (GtkTextIter *iter,
                                      int count);

Moves count visible lines backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves forward by 0 - count lines.

Parameters

iter

a GtkTextIter

 

count

number of lines to move backward

 

Returns

whether iter moved and is dereferenceable


gtk_text_iter_set_offset ()

void
gtk_text_iter_set_offset (GtkTextIter *iter,
                          int char_offset);

Sets iter to point to char_offset . char_offset counts from the start of the entire text buffer, starting with 0.

Parameters

iter

a GtkTextIter

 

char_offset

a character number

 

gtk_text_iter_set_line ()

void
gtk_text_iter_set_line (GtkTextIter *iter,
                        int line_number);

Moves iterator iter to the start of the line line_number . If line_number is negative or larger than the number of lines in the buffer, moves iter to the start of the last line in the buffer.

Parameters

iter

a GtkTextIter

 

line_number

line number (counted from 0)

 

gtk_text_iter_set_line_offset ()

void
gtk_text_iter_set_line_offset (GtkTextIter *iter,
                               int char_on_line);

Moves iter within a line, to a new character (not byte) offset. The given character offset must be less than or equal to the number of characters in the line; if equal, iter moves to the start of the next line. See gtk_text_iter_set_line_index() if you have a byte index rather than a character offset.

Parameters

iter

a GtkTextIter

 

char_on_line

a character offset relative to the start of iter ’s current line

 

gtk_text_iter_set_line_index ()

void
gtk_text_iter_set_line_index (GtkTextIter *iter,
                              int byte_on_line);

Same as gtk_text_iter_set_line_offset(), but works with a byte index. The given byte index must be at the start of a character, it can’t be in the middle of a UTF-8 encoded character.

Parameters

iter

a GtkTextIter

 

byte_on_line

a byte index relative to the start of iter ’s current line

 

gtk_text_iter_set_visible_line_index ()

void
gtk_text_iter_set_visible_line_index (GtkTextIter *iter,
                                      int byte_on_line);

Like gtk_text_iter_set_line_index(), but the index is in visible bytes, i.e. text with a tag making it invisible is not counted in the index.

Parameters

iter

a GtkTextIter

 

byte_on_line

a byte index

 

gtk_text_iter_set_visible_line_offset ()

void
gtk_text_iter_set_visible_line_offset (GtkTextIter *iter,
                                       int char_on_line);

Like gtk_text_iter_set_line_offset(), but the offset is in visible characters, i.e. text with a tag making it invisible is not counted in the offset.

Parameters

iter

a GtkTextIter

 

char_on_line

a character offset

 

gtk_text_iter_forward_to_end ()

void
gtk_text_iter_forward_to_end (GtkTextIter *iter);

Moves iter forward to the “end iterator,” which points one past the last valid character in the buffer. gtk_text_iter_get_char() called on the end iterator returns 0, which is convenient for writing loops.

Parameters

iter

a GtkTextIter

 

gtk_text_iter_forward_to_line_end ()

gboolean
gtk_text_iter_forward_to_line_end (GtkTextIter *iter);

Moves the iterator to point to the paragraph delimiter characters, which will be either a newline, a carriage return, a carriage return/newline in sequence, or the Unicode paragraph separator character. If the iterator is already at the paragraph delimiter characters, moves to the paragraph delimiter characters for the next line. If iter is on the last line in the buffer, which does not end in paragraph delimiters, moves to the end iterator (end of the last line), and returns FALSE.

Parameters

iter

a GtkTextIter

 

Returns

TRUE if we moved and the new location is not the end iterator


gtk_text_iter_forward_to_tag_toggle ()

gboolean
gtk_text_iter_forward_to_tag_toggle (GtkTextIter *iter,
                                     GtkTextTag *tag);

Moves forward to the next toggle (on or off) of the GtkTextTag tag , or to the next toggle of any tag if tag is NULL. If no matching tag toggles are found, returns FALSE, otherwise TRUE. Does not return toggles located at iter , only toggles after iter . Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found.

Parameters

iter

a GtkTextIter

 

tag

a GtkTextTag, or NULL.

[allow-none]

Returns

whether we found a tag toggle after iter


gtk_text_iter_backward_to_tag_toggle ()

gboolean
gtk_text_iter_backward_to_tag_toggle (GtkTextIter *iter,
                                      GtkTextTag *tag);

Moves backward to the next toggle (on or off) of the GtkTextTag tag , or to the next toggle of any tag if tag is NULL. If no matching tag toggles are found, returns FALSE, otherwise TRUE. Does not return toggles located at iter , only toggles before iter . Sets iter to the location of the toggle, or the start of the buffer if no toggle is found.

Parameters

iter

a GtkTextIter

 

tag

a GtkTextTag, or NULL.

[allow-none]

Returns

whether we found a tag toggle before iter


GtkTextCharPredicate ()

gboolean
(*GtkTextCharPredicate) (gunichar ch,
                         gpointer user_data);

gtk_text_iter_forward_find_char ()

gboolean
gtk_text_iter_forward_find_char (GtkTextIter *iter,
                                 GtkTextCharPredicate pred,
                                 gpointer user_data,
                                 const GtkTextIter *limit);

Advances iter , calling pred on each character. If pred returns TRUE, returns TRUE and stops scanning. If pred never returns TRUE, iter is set to limit if limit is non-NULL, otherwise to the end iterator.

Parameters

iter

a GtkTextIter

 

pred

a function to be called on each character.

[scope call]

user_data

user data for pred .

[closure]

limit

search limit, or NULL for none.

[allow-none]

Returns

whether a match was found


gtk_text_iter_backward_find_char ()

gboolean
gtk_text_iter_backward_find_char (GtkTextIter *iter,
                                  GtkTextCharPredicate pred,
                                  gpointer user_data,
                                  const GtkTextIter *limit);

Same as gtk_text_iter_forward_find_char(), but goes backward from iter .

Parameters

iter

a GtkTextIter

 

pred

function to be called on each character.

[scope call]

user_data

user data for pred .

[closure]

limit

search limit, or NULL for none.

[allow-none]

Returns

whether a match was found


gtk_text_iter_forward_search ()

gboolean
gtk_text_iter_forward_search (const GtkTextIter *iter,
                              const char *str,
                              GtkTextSearchFlags flags,
                              GtkTextIter *match_start,
                              GtkTextIter *match_end,
                              const GtkTextIter *limit);

Searches forward for str . Any match is returned by setting match_start to the first character of the match and match_end to the first character after the match. The search will not continue past limit . Note that a search is a linear or O(n) operation, so you may wish to use limit to avoid locking up your UI on large buffers.

match_start will never be set to a GtkTextIter located before iter , even if there is a possible match_end after or at iter .

Parameters

iter

start of search

 

str

a search string

 

flags

flags affecting how the search is done

 

match_start

return location for start of match, or NULL.

[out caller-allocates][allow-none]

match_end

return location for end of match, or NULL.

[out caller-allocates][allow-none]

limit

location of last possible match_end , or NULL for the end of the buffer.

[allow-none]

Returns

whether a match was found


gtk_text_iter_backward_search ()

gboolean
gtk_text_iter_backward_search (const GtkTextIter *iter,
                               const char *str,
                               GtkTextSearchFlags flags,
                               GtkTextIter *match_start,
                               GtkTextIter *match_end,
                               const GtkTextIter *limit);

Same as gtk_text_iter_forward_search(), but moves backward.

match_end will never be set to a GtkTextIter located after iter , even if there is a possible match_start before or at iter .

Parameters

iter

a GtkTextIter where the search begins

 

str

search string

 

flags

bitmask of flags affecting the search

 

match_start

return location for start of match, or NULL.

[out caller-allocates][allow-none]

match_end

return location for end of match, or NULL.

[out caller-allocates][allow-none]

limit

location of last possible match_start , or NULL for start of buffer.

[allow-none]

Returns

whether a match was found


gtk_text_iter_equal ()

gboolean
gtk_text_iter_equal (const GtkTextIter *lhs,
                     const GtkTextIter *rhs);

Tests whether two iterators are equal, using the fastest possible mechanism. This function is very fast; you can expect it to perform better than e.g. getting the character offset for each iterator and comparing the offsets yourself. Also, it’s a bit faster than gtk_text_iter_compare().

Parameters

lhs

a GtkTextIter

 

rhs

another GtkTextIter

 

Returns

TRUE if the iterators point to the same place in the buffer


gtk_text_iter_compare ()

int
gtk_text_iter_compare (const GtkTextIter *lhs,
                       const GtkTextIter *rhs);

A qsort()-style function that returns negative if lhs is less than rhs , positive if lhs is greater than rhs , and 0 if they’re equal. Ordering is in character offset order, i.e. the first character in the buffer is less than the second character in the buffer.

Parameters

lhs

a GtkTextIter

 

rhs

another GtkTextIter

 

Returns

-1 if lhs is less than rhs , 1 if lhs is greater, 0 if they are equal


gtk_text_iter_in_range ()

gboolean
gtk_text_iter_in_range (const GtkTextIter *iter,
                        const GtkTextIter *start,
                        const GtkTextIter *end);

Checks whether iter falls in the range [start , end ). start and end must be in ascending order.

Parameters

iter

a GtkTextIter

 

start

start of range

 

end

end of range

 

Returns

TRUE if iter is in the range


gtk_text_iter_order ()

void
gtk_text_iter_order (GtkTextIter *first,
                     GtkTextIter *second);

Swaps the value of first and second if second comes before first in the buffer. That is, ensures that first and second are in sequence. Most text buffer functions that take a range call this automatically on your behalf, so there’s no real reason to call it yourself in those cases. There are some exceptions, such as gtk_text_iter_in_range(), that expect a pre-sorted range.

Parameters

first

a GtkTextIter

 

second

another GtkTextIter

 

Types and Values

GtkTextIter

typedef struct {
  /* GtkTextIter is an opaque datatype; ignore all these fields.
   * Initialize the iter with gtk_text_buffer_get_iter_*
   * functions
   */
} GtkTextIter;

enum GtkTextSearchFlags

Flags affecting how a search is done.

If neither GTK_TEXT_SEARCH_VISIBLE_ONLY nor GTK_TEXT_SEARCH_TEXT_ONLY are enabled, the match must be exact; the special 0xFFFC character will match embedded paintables or child widgets.

Members

GTK_TEXT_SEARCH_VISIBLE_ONLY

Search only visible data. A search match may have invisible text interspersed.

 

GTK_TEXT_SEARCH_TEXT_ONLY

Search only text. A match may have paintables or child widgets mixed inside the matched range.

 

GTK_TEXT_SEARCH_CASE_INSENSITIVE

The text will be matched regardless of what case it is in.

 
docs/reference/gtk/html/GtkTreeModelFilter.html0000664000175000017500000014370413710700534021720 0ustar mclasenmclasen GtkTreeModelFilter: GTK 4 Reference Manual

GtkTreeModelFilter

GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model

Properties

GtkTreeModel * child-model Read / Write / Construct Only
GtkTreePath * virtual-root Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTreeModelFilter

Implemented Interfaces

GtkTreeModelFilter implements GtkTreeModel and GtkTreeDragSource.

Includes

#include <gtk/gtk.h>

Description

A GtkTreeModelFilter is a tree model which wraps another tree model, and can do the following things:

  • Filter specific rows, based on data from a “visible column”, a column storing booleans indicating whether the row should be filtered or not, or based on the return value of a “visible function”, which gets a model, iter and user_data and returns a boolean indicating whether the row should be filtered or not.

  • Modify the “appearance” of the model, using a modify function. This is extremely powerful and allows for just changing some values and also for creating a completely different model based on the given child model.

  • Set a different root node, also known as a “virtual root”. You can pass in a GtkTreePath indicating the root node for the filter at construction time.

The basic API is similar to GtkTreeModelSort. For an example on its usage, see the section on GtkTreeModelSort.

When using GtkTreeModelFilter, it is important to realize that GtkTreeModelFilter maintains an internal cache of all nodes which are visible in its clients. The cache is likely to be a subtree of the tree exposed by the child model. GtkTreeModelFilter will not cache the entire child model when unnecessary to not compromise the caching mechanism that is exposed by the reference counting scheme. If the child model implements reference counting, unnecessary signals may not be emitted because of reference counting rule 3, see the GtkTreeModel documentation. (Note that e.g. GtkTreeStore does not implement reference counting and will always emit all signals, even when the receiving node is not visible).

Because of this, limitations for possible visible functions do apply. In general, visible functions should only use data or properties from the node for which the visibility state must be determined, its siblings or its parents. Usually, having a dependency on the state of any child node is not possible, unless references are taken on these explicitly. When no such reference exists, no signals may be received for these child nodes (see reference couting rule number 3 in the GtkTreeModel section).

Determining the visibility state of a given node based on the state of its child nodes is a frequently occurring use case. Therefore, GtkTreeModelFilter explicitly supports this. For example, when a node does not have any children, you might not want the node to be visible. As soon as the first row is added to the node’s child level (or the last row removed), the node’s visibility should be updated.

This introduces a dependency from the node on its child nodes. In order to accommodate this, GtkTreeModelFilter must make sure the necessary signals are received from the child model. This is achieved by building, for all nodes which are exposed as visible nodes to GtkTreeModelFilter's clients, the child level (if any) and take a reference on the first node in this level. Furthermore, for every row-inserted, row-changed or row-deleted signal (also these which were not handled because the node was not cached), GtkTreeModelFilter will check if the visibility state of any parent node has changed.

Beware, however, that this explicit support is limited to these two cases. For example, if you want a node to be visible only if two nodes in a child’s child level (2 levels deeper) are visible, you are on your own. In this case, either rely on GtkTreeStore to emit all signals because it does not implement reference counting, or for models that do implement reference counting, obtain references on these child levels yourself.

Functions

GtkTreeModelFilterVisibleFunc ()

gboolean
(*GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model,
                                  GtkTreeIter *iter,
                                  gpointer data);

A function which decides whether the row indicated by iter is visible.

Parameters

model

the child model of the GtkTreeModelFilter

 

iter

a GtkTreeIter pointing to the row in model whose visibility is determined

 

data

user data given to gtk_tree_model_filter_set_visible_func().

[closure]

Returns

Whether the row indicated by iter is visible.


GtkTreeModelFilterModifyFunc ()

void
(*GtkTreeModelFilterModifyFunc) (GtkTreeModel *model,
                                 GtkTreeIter *iter,
                                 GValue *value,
                                 int column,
                                 gpointer data);

A function which calculates display values from raw values in the model. It must fill value with the display value for the column column in the row indicated by iter .

Since this function is called for each data access, it’s not a particularly efficient operation.

Parameters

model

the GtkTreeModelFilter

 

iter

a GtkTreeIter pointing to the row whose display values are determined

 

value

A GValue which is already initialized for with the correct type for the column column .

[out caller-allocates]

column

the column whose display value is determined

 

data

user data given to gtk_tree_model_filter_set_modify_func().

[closure]

gtk_tree_model_filter_new ()

GtkTreeModel *
gtk_tree_model_filter_new (GtkTreeModel *child_model,
                           GtkTreePath *root);

Creates a new GtkTreeModel, with child_model as the child_model and root as the virtual root.

Parameters

child_model

A GtkTreeModel.

 

root

A GtkTreePath or NULL.

[allow-none]

Returns

A new GtkTreeModel.

[transfer full]


gtk_tree_model_filter_set_visible_func ()

void
gtk_tree_model_filter_set_visible_func
                               (GtkTreeModelFilter *filter,
                                GtkTreeModelFilterVisibleFunc func,
                                gpointer data,
                                GDestroyNotify destroy);

Sets the visible function used when filtering the filter to be func . The function should return TRUE if the given row should be visible and FALSE otherwise.

If the condition calculated by the function changes over time (e.g. because it depends on some global parameters), you must call gtk_tree_model_filter_refilter() to keep the visibility information of the model up-to-date.

Note that func is called whenever a row is inserted, when it may still be empty. The visible function should therefore take special care of empty rows, like in the example below.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static gboolean
visible_func (GtkTreeModel *model,
              GtkTreeIter  *iter,
              gpointer      data)
{
  // Visible if row is non-empty and first column is “HI”
  char *str;
  gboolean visible = FALSE;

  gtk_tree_model_get (model, iter, 0, &str, -1);
  if (str && strcmp (str, "HI") == 0)
    visible = TRUE;
  g_free (str);

  return visible;
}

Note that gtk_tree_model_filter_set_visible_func() or gtk_tree_model_filter_set_visible_column() can only be called once for a given filter model.

Parameters

filter

A GtkTreeModelFilter

 

func

A GtkTreeModelFilterVisibleFunc, the visible function

 

data

User data to pass to the visible function, or NULL.

[allow-none]

destroy

Destroy notifier of data , or NULL.

[allow-none]

gtk_tree_model_filter_set_modify_func ()

void
gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter,
                                       int n_columns,
                                       GType *types,
                                       GtkTreeModelFilterModifyFunc func,
                                       gpointer data,
                                       GDestroyNotify destroy);

With the n_columns and types parameters, you give an array of column types for this model (which will be exposed to the parent model/view). The func , data and destroy parameters are for specifying the modify function. The modify function will get called for each data access, the goal of the modify function is to return the data which should be displayed at the location specified using the parameters of the modify function.

Note that gtk_tree_model_filter_set_modify_func() can only be called once for a given filter model.

Parameters

filter

A GtkTreeModelFilter.

 

n_columns

The number of columns in the filter model.

 

types

The GTypes of the columns.

[array length=n_columns]

func

A GtkTreeModelFilterModifyFunc

 

data

User data to pass to the modify function, or NULL.

[allow-none]

destroy

Destroy notifier of data , or NULL.

[allow-none]

gtk_tree_model_filter_set_visible_column ()

void
gtk_tree_model_filter_set_visible_column
                               (GtkTreeModelFilter *filter,
                                int column);

Sets column of the child_model to be the column where filter should look for visibility information. columns should be a column of type G_TYPE_BOOLEAN, where TRUE means that a row is visible, and FALSE if not.

Note that gtk_tree_model_filter_set_visible_func() or gtk_tree_model_filter_set_visible_column() can only be called once for a given filter model.

Parameters

filter

A GtkTreeModelFilter

 

column

A int which is the column containing the visible information

 

gtk_tree_model_filter_get_model ()

GtkTreeModel *
gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter);

Returns a pointer to the child model of filter .

Parameters

filter

A GtkTreeModelFilter.

 

Returns

A pointer to a GtkTreeModel.

[transfer none]


gtk_tree_model_filter_convert_child_iter_to_iter ()

gboolean
gtk_tree_model_filter_convert_child_iter_to_iter
                               (GtkTreeModelFilter *filter,
                                GtkTreeIter *filter_iter,
                                GtkTreeIter *child_iter);

Sets filter_iter to point to the row in filter that corresponds to the row pointed at by child_iter . If filter_iter was not set, FALSE is returned.

Parameters

filter

A GtkTreeModelFilter.

 

filter_iter

An uninitialized GtkTreeIter.

[out]

child_iter

A valid GtkTreeIter pointing to a row on the child model.

 

Returns

TRUE, if filter_iter was set, i.e. if child_iter is a valid iterator pointing to a visible row in child model.


gtk_tree_model_filter_convert_iter_to_child_iter ()

void
gtk_tree_model_filter_convert_iter_to_child_iter
                               (GtkTreeModelFilter *filter,
                                GtkTreeIter *child_iter,
                                GtkTreeIter *filter_iter);

Sets child_iter to point to the row pointed to by filter_iter .

Parameters

filter

A GtkTreeModelFilter.

 

child_iter

An uninitialized GtkTreeIter.

[out]

filter_iter

A valid GtkTreeIter pointing to a row on filter .

 

gtk_tree_model_filter_convert_child_path_to_path ()

GtkTreePath *
gtk_tree_model_filter_convert_child_path_to_path
                               (GtkTreeModelFilter *filter,
                                GtkTreePath *child_path);

Converts child_path to a path relative to filter . That is, child_path points to a path in the child model. The rerturned path will point to the same row in the filtered model. If child_path isn’t a valid path on the child model or points to a row which is not visible in filter , then NULL is returned.

Parameters

filter

A GtkTreeModelFilter.

 

child_path

A GtkTreePath to convert.

 

Returns

A newly allocated GtkTreePath, or NULL.

[nullable][transfer full]


gtk_tree_model_filter_convert_path_to_child_path ()

GtkTreePath *
gtk_tree_model_filter_convert_path_to_child_path
                               (GtkTreeModelFilter *filter,
                                GtkTreePath *filter_path);

Converts filter_path to a path on the child model of filter . That is, filter_path points to a location in filter . The returned path will point to the same location in the model not being filtered. If filter_path does not point to a location in the child model, NULL is returned.

Parameters

filter

A GtkTreeModelFilter.

 

filter_path

A GtkTreePath to convert.

 

Returns

A newly allocated GtkTreePath, or NULL.

[nullable][transfer full]


gtk_tree_model_filter_refilter ()

void
gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter);

Emits ::row_changed for each row in the child model, which causes the filter to re-evaluate whether a row is visible or not.

Parameters

filter

A GtkTreeModelFilter.

 

gtk_tree_model_filter_clear_cache ()

void
gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter);

This function should almost never be called. It clears the filter of any cached iterators that haven’t been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being filtered is static (and doesn’t change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid.

Parameters

filter

A GtkTreeModelFilter.

 

Types and Values

struct GtkTreeModelFilter

struct GtkTreeModelFilter;

Property Details

The “child-model” property

  “child-model”              GtkTreeModel *

The model for the filtermodel to filter.

Owner: GtkTreeModelFilter

Flags: Read / Write / Construct Only


The “virtual-root” property

  “virtual-root”             GtkTreePath *

The virtual root (relative to the child model) for this filtermodel.

Owner: GtkTreeModelFilter

Flags: Read / Write / Construct Only

See Also

GtkTreeModelSort

docs/reference/gtk/html/GtkPicture.html0000664000175000017500000013535513710700534020310 0ustar mclasenmclasen GtkPicture: GTK 4 Reference Manual

GtkPicture

GtkPicture — A widget displaying a GdkPaintable

Properties

gchar * alternative-text Read / Write
gboolean can-shrink Read / Write
GFile * file Read / Write
gboolean keep-aspect-ratio Read / Write
GdkPaintable * paintable Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPicture

Implemented Interfaces

GtkPicture implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkPicture widget displays a GdkPaintable. Many convenience functions are provided to make pictures simple to use. For example, if you want to load an image from a file, and then display that, there’s a convenience function to do this:

1
2
GtkWidget *widget;
widget = gtk_picture_new_for_filename ("myfile.png");

If the file isn’t loaded successfully, the picture 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 with gdk_texture_new_from_file(), then create the GtkPicture with gtk_picture_new_for_paintable().

Sometimes an application will want to avoid depending on external data files, such as image files. See the documentation of GResource for details. In this case, gtk_picture_new_for_resource() and gtk_picture_set_resource() should be used.

CSS nodes

GtkPicture has a single CSS node with the name picture.


Accessibility

GtkImage uses the GTK_ACCESSIBLE_ROLE_IMG role.

Functions

gtk_picture_new ()

GtkWidget *
gtk_picture_new (void);

Creates a new empty GtkPicture widget.

Returns

a newly created GtkPicture widget.


gtk_picture_new_for_paintable ()

GtkWidget *
gtk_picture_new_for_paintable (GdkPaintable *paintable);

Creates a new GtkPicture displaying paintable .

The GtkPicture will track changes to the paintable and update its size and contents in response to it.

Parameters

paintable

a GdkPaintable, or NULL.

[nullable]

Returns

a new GtkPicture


gtk_picture_new_for_pixbuf ()

GtkWidget *
gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf);

Creates a new GtkPicture displaying pixbuf .

This is a utility function that calls gtk_picture_new_for_paintable(), See that function for details.

The pixbuf must not be modified after passing it to this function.

Parameters

pixbuf

a GdkPixbuf, or NULL.

[nullable]

Returns

a new GtkPicture


gtk_picture_new_for_file ()

GtkWidget *
gtk_picture_new_for_file (GFile *file);

Creates a new GtkPicture displaying the given file . If the file isn’t found or can’t be loaded, the resulting GtkPicture be empty.

If you need to detect failures to load the file, use gdk_texture_new_from_file() to load the file yourself, then create the GtkPicture from the texture.

Parameters

file

a GFile.

[nullable]

Returns

a new GtkPicture


gtk_picture_new_for_filename ()

GtkWidget *
gtk_picture_new_for_filename (const char *filename);

Creates a new GtkPicture displaying the file filename .

This is a utility function that calls gtk_picture_new_for_file(). See that function for details.

Parameters

filename

a filename.

[type filename][nullable]

Returns

a new GtkPicture


gtk_picture_new_for_resource ()

GtkWidget *
gtk_picture_new_for_resource (const char *resource_path);

Creates a new GtkPicture displaying the file filename .

This is a utility function that calls gtk_picture_new_for_file(). See that function for details.

Parameters

resource_path

resource path to play back.

[nullable]

Returns

a new GtkPicture


gtk_picture_set_paintable ()

void
gtk_picture_set_paintable (GtkPicture *self,
                           GdkPaintable *paintable);

Makes self display the given paintable . If paintable is NULL, nothing will be displayed.

See gtk_picture_new_for_paintable() for details.

Parameters

self

a GtkPicture

 

paintable

a GdkPaintable or NULL.

[nullable]

gtk_picture_get_paintable ()

GdkPaintable *
gtk_picture_get_paintable (GtkPicture *self);

Gets the GdkPaintable being displayed by the GtkPicture.

Parameters

self

a GtkPicture

 

Returns

the displayed paintable, or NULL if the picture is empty.

[nullable][transfer none]


gtk_picture_set_pixbuf ()

void
gtk_picture_set_pixbuf (GtkPicture *self,
                        GdkPixbuf *pixbuf);

See gtk_picture_new_for_pixbuf() for details.

This is a utility function that calls gtk_picture_set_paintable(),

Parameters

self

a GtkPicture

 

pixbuf

a GdkPixbuf or NULL.

[nullable]

gtk_picture_set_file ()

void
gtk_picture_set_file (GtkPicture *self,
                      GFile *file);

Makes self load and display file .

See gtk_picture_new_for_file() for details.

Parameters

self

a GtkPicture

 

file

a GFile or NULL.

[nullable]

gtk_picture_get_file ()

GFile *
gtk_picture_get_file (GtkPicture *self);

Gets the GFile currently displayed if self is displaying a file. If self is not displaying a file, for example when gtk_picture_set_paintable() was used, then NULL is returned.

Parameters

self

a GtkPicture

 

Returns

The GFile displayed by self .

[nullable][transfer none]


gtk_picture_set_filename ()

void
gtk_picture_set_filename (GtkPicture *self,
                          const char *filename);

Makes self load and display the given filename .

This is a utility function that calls gtk_picture_set_file().

Parameters

self

a GtkPicture

 

filename

the filename to play.

[nullable]

gtk_picture_set_resource ()

void
gtk_picture_set_resource (GtkPicture *self,
                          const char *resource_path);

Makes self load and display the resource at the given resource_path .

This is a utility function that calls gtk_picture_set_file(),

Parameters

self

a GtkPicture

 

resource_path

the resource to set.

[nullable]

gtk_picture_set_keep_aspect_ratio ()

void
gtk_picture_set_keep_aspect_ratio (GtkPicture *self,
                                   gboolean keep_aspect_ratio);

If set to TRUE, the self will render its contents according to their aspect ratio. That means that empty space may show up at the top/bottom or left/right of self .

If set to FALSE or if the contents provide no aspect ratio, the contents will be stretched over the picture's whole area.

Parameters

self

a GtkPicture

 

keep_aspect_ratio

whether to keep aspect ratio

 

gtk_picture_get_keep_aspect_ratio ()

gboolean
gtk_picture_get_keep_aspect_ratio (GtkPicture *self);

Gets the value set via gtk_picture_set_keep_aspect_ratio().

Parameters

self

a GtkPicture

 

Returns

TRUE if the self tries to keep the contents' aspect ratio


gtk_picture_set_can_shrink ()

void
gtk_picture_set_can_shrink (GtkPicture *self,
                            gboolean can_shrink);

If set to TRUE, the self can be made smaller than its contents. The contents will then be scaled down when rendering.

If you want to still force a minimum size manually, consider using gtk_widget_set_size_request().

Also of note is that a similar function for growing does not exist because the grow behavior can be controlled via gtk_widget_set_halign() and gtk_widget_set_valign().

Parameters

self

a GtkPicture

 

can_shrink

if self can be made smaller than its contents

 

gtk_picture_get_can_shrink ()

gboolean
gtk_picture_get_can_shrink (GtkPicture *self);

Gets the value set via gtk_picture_set_can_shrink().

Parameters

self

a GtkPicture

 

Returns

TRUE if the picture can be made smaller than its contents


gtk_picture_set_alternative_text ()

void
gtk_picture_set_alternative_text (GtkPicture *self,
                                  const char *alternative_text);

Sets an alternative textual description for the picture contents. It is equivalent to the "alt" attribute for images on websites.

This text will be made available to accessibility tools.

If the picture cannot be described textually, set this property to NULL.

Parameters

self

a GtkPicture

 

alternative_text

a textual description of the contents.

[nullable]

gtk_picture_get_alternative_text ()

const char *
gtk_picture_get_alternative_text (GtkPicture *self);

Gets the alternative textual description of the picture or returns NULL if the picture cannot be described textually.

Parameters

self

a GtkPicture

 

Returns

the alternative textual description of self .

[nullable][transfer none]

Types and Values

GtkPicture

typedef struct _GtkPicture GtkPicture;

Property Details

The “alternative-text” property

  “alternative-text”         gchar *

The alternative textual description for the picture.

Owner: GtkPicture

Flags: Read / Write

Default value: NULL


The “can-shrink” property

  “can-shrink”               gboolean

If the GtkPicture can be made smaller than the self it contains.

Owner: GtkPicture

Flags: Read / Write

Default value: TRUE


The “file” property

  “file”                     GFile *

The GFile that is displayed or NULL if none.

Owner: GtkPicture

Flags: Read / Write


The “keep-aspect-ratio” property

  “keep-aspect-ratio”        gboolean

Whether the GtkPicture will render its contents trying to preserve the aspect ratio of the contents.

Owner: GtkPicture

Flags: Read / Write

Default value: TRUE


The “paintable” property

  “paintable”                GdkPaintable *

The GdkPaintable to be displayed by this GtkPicture.

Owner: GtkPicture

Flags: Read / Write

docs/reference/gtk/html/GtkScale.html0000664000175000017500000013604513710700534017721 0ustar mclasenmclasen GtkScale: GTK 4 Reference Manual

GtkScale

GtkScale — A slider widget for selecting a value from a range

Properties

gint digits Read / Write
gboolean draw-value Read / Write
gboolean has-origin Read / Write
GtkPositionType value-pos Read / Write

Types and Values

struct GtkScale

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkRange
                ╰── GtkScale

Implemented Interfaces

GtkScale implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

A GtkScale is a slider control used to select a numeric value. To use it, you’ll probably want to investigate the methods on its base class, GtkRange, in addition to the methods for GtkScale itself. To set the value of a scale, you would normally use gtk_range_set_value(). To detect changes to the value, you would normally use the “value-changed” signal.

Note that using the same upper and lower bounds for the GtkScale (through the GtkRange methods) will hide the slider itself. This is useful for applications that want to show an undeterminate value on the scale, without changing the layout of the application (such as movie or music players).

GtkScale as GtkBuildable

GtkScale supports a custom <marks> element, which can contain multiple <mark> elements. The “value” and “position” attributes have the same meaning as gtk_scale_add_mark() parameters of the same name. If the element is not empty, its content is taken as the markup to show at the mark. It can be translated with the usual ”translatable” and “context” attributes.


CSS nodes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
scale[.fine-tune][.marks-before][.marks-after]
├── [value][.top][.right][.bottom][.left]
├── marks.top
   ├── mark
       ├── [label]
       ╰── indicator
   
   ╰── mark
├── marks.bottom
   ├── mark
       ├── indicator
       ╰── [label]
   
   ╰── mark
╰── trough
    ├── [fill]
    ├── [highlight]
    ╰── slider

GtkScale has a main CSS node with name scale and a subnode for its contents, with subnodes named trough and slider.

The main node gets the style class .fine-tune added when the scale is in 'fine-tuning' mode.

If the scale has an origin (see gtk_scale_set_has_origin()), there is a subnode with name highlight below the trough node that is used for rendering the highlighted part of the trough.

If the scale is showing a fill level (see gtk_range_set_show_fill_level()), there is a subnode with name fill below the trough node that is used for rendering the filled in part of the trough.

If marks are present, there is a marks subnode before or after the trough node, below which each mark gets a node with name mark. The marks nodes get either the .top or .bottom style class.

The mark node has a subnode named indicator. If the mark has text, it also has a subnode named label. When the mark is either above or left of the scale, the label subnode is the first when present. Otherwise, the indicator subnode is the first.

The main CSS node gets the 'marks-before' and/or 'marks-after' style classes added depending on what marks are present.

If the scale is displaying the value (see “draw-value”), there is subnode with name value. This node will get the .top or .bottom style classes similar to the marks node.


Accessibility

GtkScale uses the GTK_ACCESSIBLE_ROLE_SLIDER role.

Functions

GtkScaleFormatValueFunc ()

char *
(*GtkScaleFormatValueFunc) (GtkScale *scale,
                            double value,
                            gpointer user_data);

Parameters

scale

The GtkScale

 

value

The numeric value to format

 

user_data

user data.

[closure]

Returns

A newly allocated string describing a textual representation of the given numerical value.

[not nullable]


gtk_scale_new ()

GtkWidget *
gtk_scale_new (GtkOrientation orientation,
               GtkAdjustment *adjustment);

Creates a new GtkScale.

Parameters

orientation

the scale’s orientation.

 

adjustment

the GtkAdjustment which sets the range of the scale, or NULL to create a new adjustment.

[nullable]

Returns

a new GtkScale


gtk_scale_new_with_range ()

GtkWidget *
gtk_scale_new_with_range (GtkOrientation orientation,
                          double min,
                          double max,
                          double step);

Creates a new scale widget with the given orientation that lets the user input a number between min and max (including min and max ) with the increment step . step must be nonzero; it’s the distance the slider moves when using the arrow keys to adjust the scale value.

Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_scale_set_digits() to correct it.

Parameters

orientation

the scale’s orientation.

 

min

minimum value

 

max

maximum value

 

step

step increment (tick size) used with keyboard shortcuts

 

Returns

a new GtkScale


gtk_scale_set_format_value_func ()

void
gtk_scale_set_format_value_func (GtkScale *scale,
                                 GtkScaleFormatValueFunc func,
                                 gpointer user_data,
                                 GDestroyNotify destroy_notify);

func allows you to change how the scale value is displayed. The given function will return an allocated string representing value . That string will then be used to display the scale's value.

If NULL is passed as func , the value will be displayed on its own, rounded according to the value of the “digits” property.

Parameters

scale

a GtkScale

 

func

function that formats the value.

[nullable]

user_data

user data to pass to func .

[closure]

destroy_notify

destroy function for user_data .

[nullable]

gtk_scale_set_digits ()

void
gtk_scale_set_digits (GtkScale *scale,
                      int digits);

Sets the number of decimal places that are displayed in the value. Also causes the value of the adjustment to be rounded to this number of digits, so the retrieved value matches the displayed one, if “draw-value” is TRUE when the value changes. If you want to enforce rounding the value when “draw-value” is FALSE, you can set “round-digits” instead.

Note that rounding to a small number of digits can interfere with the smooth autoscrolling that is built into GtkScale. As an alternative, you can use gtk_scale_set_format_value_func() to format the displayed value yourself.

Parameters

scale

a GtkScale

 

digits

the number of decimal places to display, e.g. use 1 to display 1.0, 2 to display 1.00, etc

 

gtk_scale_set_draw_value ()

void
gtk_scale_set_draw_value (GtkScale *scale,
                          gboolean draw_value);

Specifies whether the current value is displayed as a string next to the slider.

Parameters

scale

a GtkScale

 

draw_value

TRUE to draw the value

 

gtk_scale_set_has_origin ()

void
gtk_scale_set_has_origin (GtkScale *scale,
                          gboolean has_origin);

If “has-origin” is set to TRUE (the default), the scale will highlight the part of the trough between the origin (bottom or left side) and the current value.

Parameters

scale

a GtkScale

 

has_origin

TRUE if the scale has an origin

 

gtk_scale_set_value_pos ()

void
gtk_scale_set_value_pos (GtkScale *scale,
                         GtkPositionType pos);

Sets the position in which the current value is displayed.

Parameters

scale

a GtkScale

 

pos

the position in which the current value is displayed

 

gtk_scale_get_digits ()

int
gtk_scale_get_digits (GtkScale *scale);

Gets the number of decimal places that are displayed in the value.

Parameters

scale

a GtkScale

 

Returns

the number of decimal places that are displayed


gtk_scale_get_draw_value ()

gboolean
gtk_scale_get_draw_value (GtkScale *scale);

Returns whether the current value is displayed as a string next to the slider.

Parameters

scale

a GtkScale

 

Returns

whether the current value is displayed as a string


gtk_scale_get_has_origin ()

gboolean
gtk_scale_get_has_origin (GtkScale *scale);

Returns whether the scale has an origin.

Parameters

scale

a GtkScale

 

Returns

TRUE if the scale has an origin.


gtk_scale_get_value_pos ()

GtkPositionType
gtk_scale_get_value_pos (GtkScale *scale);

Gets the position in which the current value is displayed.

Parameters

scale

a GtkScale

 

Returns

the position in which the current value is displayed


gtk_scale_get_layout ()

PangoLayout *
gtk_scale_get_layout (GtkScale *scale);

Gets the PangoLayout used to display the scale. The returned object is owned by the scale so does not need to be freed by the caller.

Parameters

scale

A GtkScale

 

Returns

the PangoLayout for this scale, or NULL if the “draw-value” property is FALSE.

[transfer none][nullable]


gtk_scale_get_layout_offsets ()

void
gtk_scale_get_layout_offsets (GtkScale *scale,
                              int *x,
                              int *y);

Obtains the coordinates where the scale will draw the PangoLayout representing the text in the scale. Remember when using the PangoLayout function you need to convert to and from pixels using PANGO_PIXELS() or PANGO_SCALE.

If the “draw-value” property is FALSE, the return values are undefined.

Parameters

scale

a GtkScale

 

x

location to store X offset of layout, or NULL.

[out][allow-none]

y

location to store Y offset of layout, or NULL.

[out][allow-none]

gtk_scale_add_mark ()

void
gtk_scale_add_mark (GtkScale *scale,
                    double value,
                    GtkPositionType position,
                    const char *markup);

Adds a mark at value .

A mark is indicated visually by drawing a tick mark next to the scale, and GTK+ makes it easy for the user to position the scale exactly at the marks value.

If markup is not NULL, text is shown next to the tick mark.

To remove marks from a scale, use gtk_scale_clear_marks().

Parameters

scale

a GtkScale

 

value

the value at which the mark is placed, must be between the lower and upper limits of the scales’ adjustment

 

position

where to draw the mark. For a horizontal scale, GTK_POS_TOP and GTK_POS_LEFT are drawn above the scale, anything else below. For a vertical scale, GTK_POS_LEFT and GTK_POS_TOP are drawn to the left of the scale, anything else to the right.

 

markup

Text to be shown at the mark, using Pango markup, or NULL.

[allow-none]

gtk_scale_clear_marks ()

void
gtk_scale_clear_marks (GtkScale *scale);

Removes any marks that have been added with gtk_scale_add_mark().

Parameters

scale

a GtkScale

 

Types and Values

struct GtkScale

struct GtkScale;

Property Details

The “digits” property

  “digits”                   gint

The number of decimal places that are displayed in the value.

Owner: GtkScale

Flags: Read / Write

Allowed values: [-1,64]

Default value: 1


The “draw-value” property

  “draw-value”               gboolean

Whether the current value is displayed as a string next to the slider.

Owner: GtkScale

Flags: Read / Write

Default value: TRUE


The “has-origin” property

  “has-origin”               gboolean

Whether the scale has an origin.

Owner: GtkScale

Flags: Read / Write

Default value: TRUE


The “value-pos” property

  “value-pos”                GtkPositionType

The position in which the current value is displayed.

Owner: GtkScale

Flags: Read / Write

Default value: GTK_POS_TOP

docs/reference/gtk/html/GtkSliceListModel.html0000664000175000017500000004651513710700534021550 0ustar mclasenmclasen GtkSliceListModel: GTK 4 Reference Manual

GtkSliceListModel

GtkSliceListModel — A list model that presents a slice out of a larger list

Properties

GListModel * model Read / Write
guint offset Read / Write
guint size Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSliceListModel

Implemented Interfaces

GtkSliceListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkSliceListModel is a list model that takes a list model and presents a slice of that model.

This is useful when implementing paging by setting the size to the number of elements per page and updating the offset whenever a different page is opened.

Functions

gtk_slice_list_model_new ()

GtkSliceListModel *
gtk_slice_list_model_new (GListModel *model,
                          guint offset,
                          guint size);

Creates a new slice model that presents the slice from offset to offset + size our of the given model .

Parameters

model

The model to use, or NULL.

[transfer full][allow-none]

offset

the offset of the slice

 

size

maximum size of the slice

 

Returns

A new GtkSliceListModel


gtk_slice_list_model_set_model ()

void
gtk_slice_list_model_set_model (GtkSliceListModel *self,
                                GListModel *model);

Sets the model to show a slice of. The model's item type must conform to self 's item type.

Parameters

self

a GtkSliceListModel

 

model

The model to be sliced.

[allow-none]

gtk_slice_list_model_get_model ()

GListModel *
gtk_slice_list_model_get_model (GtkSliceListModel *self);

Gets the model that is currently being used or NULL if none.

Parameters

self

a GtkSliceListModel

 

Returns

The model in use.

[nullable][transfer none]


gtk_slice_list_model_set_offset ()

void
gtk_slice_list_model_set_offset (GtkSliceListModel *self,
                                 guint offset);

Sets the offset into the original model for this slice.

If the offset is too large for the sliced model, self will end up empty.

Parameters

self

a GtkSliceListModel

 

offset

the new offset to use

 

gtk_slice_list_model_get_offset ()

guint
gtk_slice_list_model_get_offset (GtkSliceListModel *self);

Gets the offset set via gtk_slice_list_model_set_offset()

Parameters

self

a GtkSliceListModel

 

Returns

The offset


gtk_slice_list_model_set_size ()

void
gtk_slice_list_model_set_size (GtkSliceListModel *self,
                               guint size);

Sets the maximum size. self will never have more items than size .

It can however have fewer items if the offset is too large or the model sliced from doesn't have enough items.

Parameters

self

a GtkSliceListModel

 

size

the maximum size

 

gtk_slice_list_model_get_size ()

guint
gtk_slice_list_model_get_size (GtkSliceListModel *self);

Gets the size set via gtk_slice_list_model_set_size().

Parameters

self

a GtkSliceListModel

 

Returns

The size

Types and Values

GtkSliceListModel

typedef struct _GtkSliceListModel GtkSliceListModel;

Property Details

The “model” property

  “model”                    GListModel *

Child model to take slice from

Owner: GtkSliceListModel

Flags: Read / Write


The “offset” property

  “offset”                   guint

Offset of slice

Owner: GtkSliceListModel

Flags: Read / Write

Default value: 0


The “size” property

  “size”                     guint

Maximum size of slice

Owner: GtkSliceListModel

Flags: Read / Write

Default value: 10

See Also

GListModel

docs/reference/gtk/html/GtkStack.html0000664000175000017500000027070613710700534017742 0ustar mclasenmclasen GtkStack: GTK 4 Reference Manual

GtkStack

GtkStack — A stacking container

Properties

GtkWidget * child Read / Write / Construct Only
gchar * icon-name Read / Write
gchar * name Read / Write / Construct Only
gboolean needs-attention Read / Write
gchar * title Read / Write
gboolean use-underline Read / Write
gboolean visible Read / Write
gboolean hhomogeneous Read / Write
gboolean interpolate-size Read / Write
GtkSelectionModel * pages Read
guint transition-duration Read / Write
gboolean transition-running Read
GtkStackTransitionType transition-type Read / Write
gboolean vhomogeneous Read / Write
GtkWidget * visible-child Read / Write
gchar * visible-child-name Read / Write

Types and Values

Object Hierarchy

    GObject
    ├── GInitiallyUnowned
       ╰── GtkWidget
           ╰── GtkStack
    ╰── GtkStackPage

Implemented Interfaces

GtkStack implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkStack widget is a container which only shows one of its children at a time. In contrast to GtkNotebook, GtkStack does not provide a means for users to change the visible child. Instead, the GtkStackSwitcher widget can be used with GtkStack to provide this functionality.

Transitions between pages can be animated as slides or fades. This can be controlled with gtk_stack_set_transition_type(). These animations respect the “gtk-enable-animations” setting.

GtkStack maintains a GtkStackPage object for each added child, which holds additional per-child properties. You obtain the GtkStackPage for a child with gtk_stack_get_page().

GtkStack as GtkBuildable

To set child-specific properties in a .ui file, create GtkStackPage objects explicitly, and set the child widget as a property on it:

1
2
3
4
5
6
7
8
9
10
11
12
<object class="GtkStack" id="stack">
  <child>
    <object class="GtkStackPage">
      <property name="name">page1</property>
      <property name="title">In the beginning</property>
      <property name="child">
        <object class="GtkLabel">
          <property name="label">It was dark</property>
        </object>
      </property>
    </object>
  </child>


CSS nodes

GtkStack has a single CSS node named stack.

Functions

gtk_stack_page_get_visible ()

gboolean
gtk_stack_page_get_visible (GtkStackPage *self);

Returns whether page is visible in its GtkStack. This is independent from the “visible” value of its GtkWidget.

Parameters

self

a GtkStackPage

 

Returns

TRUE if page is visible


gtk_stack_page_set_visible ()

void
gtk_stack_page_set_visible (GtkStackPage *self,
                            gboolean visible);

Sets the new value of the “visible” property to visible .

Parameters

self

a GtkStackPage

 

visible

The new property value

 

gtk_stack_page_get_title ()

const char *
gtk_stack_page_get_title (GtkStackPage *self);

Returns the current value of the “title” property.

Parameters

self

a GtkStackPage

 

Returns

The value of the “title” property. See gtk_stack_page_set_title() for details on how to set a new value.

[nullable]


gtk_stack_page_set_title ()

void
gtk_stack_page_set_title (GtkStackPage *self,
                          const char *setting);

Sets the new value of the “title” property. See also gtk_stack_page_get_title()

Parameters

self

a GtkStackPage

 

setting

the new value to set.

[transfer none]

gtk_stack_page_get_name ()

const char *
gtk_stack_page_get_name (GtkStackPage *self);

Returns the current value of the “name” property.

Parameters

self

a GtkStackPage

 

Returns

The value of the “name” property. See gtk_stack_page_set_name() for details on how to set a new value.

[nullable]


gtk_stack_page_set_name ()

void
gtk_stack_page_set_name (GtkStackPage *self,
                         const char *setting);

Sets the new value of the “name” property. See also gtk_stack_page_get_name()

Parameters

self

a GtkStackPage

 

setting

the new value to set.

[transfer none]

gtk_stack_page_get_needs_attention ()

gboolean
gtk_stack_page_get_needs_attention (GtkStackPage *self);

Returns the current value of the “needs-attention” property.

Parameters

self

a GtkStackPage

 

Returns

The value of the “needs-attention” property. See gtk_stack_page_set_needs_attention() for details on how to set a new value.


gtk_stack_page_set_needs_attention ()

void
gtk_stack_page_set_needs_attention (GtkStackPage *self,
                                    gboolean setting);

Sets the new value of the “needs-attention” property. See also gtk_stack_page_get_needs_attention()

Parameters

self

a GtkStackPage

 

setting

the new value to set

 

gtk_stack_page_get_use_underline ()

gboolean
gtk_stack_page_get_use_underline (GtkStackPage *self);

Returns the current value of the “use-underline” property.

Parameters

self

a GtkStackPage

 

Returns

The value of the “use-underline” property. See gtk_stack_page_set_use_underline() for details on how to set a new value.


gtk_stack_page_set_use_underline ()

void
gtk_stack_page_set_use_underline (GtkStackPage *self,
                                  gboolean setting);

Sets the new value of the “use-underline” property. See also gtk_stack_page_get_use_underline()

Parameters

self

a GtkStackPage

 

setting

the new value to set

 

gtk_stack_page_get_icon_name ()

const char *
gtk_stack_page_get_icon_name (GtkStackPage *self);

Returns the current value of the “icon-name” property.

Parameters

self

a GtkStackPage

 

Returns

The value of the “icon-name” property. See gtk_stack_page_set_icon_name() for details on how to set a new value.

[nullable]


gtk_stack_page_set_icon_name ()

void
gtk_stack_page_set_icon_name (GtkStackPage *self,
                              const char *setting);

Sets the new value of the “icon-name” property. See also gtk_stack_page_get_icon_name()

Parameters

self

a GtkStackPage

 

setting

the new value to set.

[transfer none]

gtk_stack_page_get_child ()

GtkWidget *
gtk_stack_page_get_child (GtkStackPage *self);

Returns the stack child to which self belongs.

Parameters

self

a GtkStackPage

 

Returns

the child to which self belongs.

[transfer none]


gtk_stack_new ()

GtkWidget *
gtk_stack_new (void);

Creates a new GtkStack container.

Returns

a new GtkStack


gtk_stack_add_named ()

GtkStackPage *
gtk_stack_add_named (GtkStack *stack,
                     GtkWidget *child,
                     const char *name);

Adds a child to stack . The child is identified by the name .

Parameters

stack

a GtkStack

 

child

the widget to add

 

name

the name for child

 

Returns

the GtkStackPage for child .

[transfer none]


gtk_stack_add_titled ()

GtkStackPage *
gtk_stack_add_titled (GtkStack *stack,
                      GtkWidget *child,
                      const char *name,
                      const char *title);

Adds a child to stack . The child is identified by the name . The title will be used by GtkStackSwitcher to represent child in a tab bar, so it should be short.

Parameters

stack

a GtkStack

 

child

the widget to add

 

name

the name for child

 

title

a human-readable title for child

 

Returns

the GtkStackPage for child .

[transfer none]


gtk_stack_remove ()

void
gtk_stack_remove (GtkStack *stack,
                  GtkWidget *child);

Removes a child widget from stack .

Parameters

stack

a GtkStack

 

child

the child to remove

 

gtk_stack_get_child_by_name ()

GtkWidget *
gtk_stack_get_child_by_name (GtkStack *stack,
                             const char *name);

Finds the child of the GtkStack with the name given as the argument. Returns NULL if there is no child with this name.

Parameters

stack

a GtkStack

 

name

the name of the child to find

 

Returns

the requested child of the GtkStack.

[transfer none][nullable]


gtk_stack_get_page ()

GtkStackPage *
gtk_stack_get_page (GtkStack *stack,
                    GtkWidget *child);

Returns the GtkStackPage object for child .

Parameters

stack

a GtkStack

 

child

a child of stack

 

Returns

the GtkStackPage for child .

[transfer none]


gtk_stack_get_pages ()

GtkSelectionModel *
gtk_stack_get_pages (GtkStack *stack);

Returns a GListModel that contains the pages of the stack, and can be used to keep an up-to-date view. The model also implements GtkSelectionModel and can be used to track and modify the visible page.

Parameters

stack

a GtkStack

 

Returns

a GtkSelectionModel for the stack's children.

[transfer full]


gtk_stack_set_visible_child ()

void
gtk_stack_set_visible_child (GtkStack *stack,
                             GtkWidget *child);

Makes child the visible child of stack .

If child is different from the currently visible child, the transition between the two will be animated with the current transition type of stack .

Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack .

Parameters

stack

a GtkStack

 

child

a child of stack

 

gtk_stack_get_visible_child ()

GtkWidget *
gtk_stack_get_visible_child (GtkStack *stack);

Gets the currently visible child of stack , or NULL if there are no visible children.

Parameters

stack

a GtkStack

 

Returns

the visible child of the GtkStack.

[transfer none][nullable]


gtk_stack_set_visible_child_name ()

void
gtk_stack_set_visible_child_name (GtkStack *stack,
                                  const char *name);

Makes the child with the given name visible.

If child is different from the currently visible child, the transition between the two will be animated with the current transition type of stack .

Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack .

Parameters

stack

a GtkStack

 

name

the name of the child to make visible

 

gtk_stack_get_visible_child_name ()

const char *
gtk_stack_get_visible_child_name (GtkStack *stack);

Returns the name of the currently visible child of stack , or NULL if there is no visible child.

Parameters

stack

a GtkStack

 

Returns

the name of the visible child of the GtkStack.

[transfer none][nullable]


gtk_stack_set_visible_child_full ()

void
gtk_stack_set_visible_child_full (GtkStack *stack,
                                  const char *name,
                                  GtkStackTransitionType transition);

Makes the child with the given name visible.

Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack .

Parameters

stack

a GtkStack

 

name

the name of the child to make visible

 

transition

the transition type to use

 

gtk_stack_set_hhomogeneous ()

void
gtk_stack_set_hhomogeneous (GtkStack *stack,
                            gboolean hhomogeneous);

Sets the GtkStack to be horizontally homogeneous or not. If it is homogeneous, the GtkStack will request the same width for all its children. If it isn't, the stack may change width when a different child becomes visible.

Parameters

stack

a GtkStack

 

hhomogeneous

TRUE to make stack horizontally homogeneous

 

gtk_stack_get_hhomogeneous ()

gboolean
gtk_stack_get_hhomogeneous (GtkStack *stack);

Gets whether stack is horizontally homogeneous. See gtk_stack_set_hhomogeneous().

Parameters

stack

a GtkStack

 

Returns

whether stack is horizontally homogeneous.


gtk_stack_set_vhomogeneous ()

void
gtk_stack_set_vhomogeneous (GtkStack *stack,
                            gboolean vhomogeneous);

Sets the GtkStack to be vertically homogeneous or not. If it is homogeneous, the GtkStack will request the same height for all its children. If it isn't, the stack may change height when a different child becomes visible.

Parameters

stack

a GtkStack

 

vhomogeneous

TRUE to make stack vertically homogeneous

 

gtk_stack_get_vhomogeneous ()

gboolean
gtk_stack_get_vhomogeneous (GtkStack *stack);

Gets whether stack is vertically homogeneous. See gtk_stack_set_vhomogeneous().

Parameters

stack

a GtkStack

 

Returns

whether stack is vertically homogeneous.


gtk_stack_set_transition_duration ()

void
gtk_stack_set_transition_duration (GtkStack *stack,
                                   guint duration);

Sets the duration that transitions between pages in stack will take.

Parameters

stack

a GtkStack

 

duration

the new duration, in milliseconds

 

gtk_stack_get_transition_duration ()

guint
gtk_stack_get_transition_duration (GtkStack *stack);

Returns the amount of time (in milliseconds) that transitions between pages in stack will take.

Parameters

stack

a GtkStack

 

Returns

the transition duration


gtk_stack_set_transition_type ()

void
gtk_stack_set_transition_type (GtkStack *stack,
                               GtkStackTransitionType transition);

Sets the type of animation that will be used for transitions between pages in stack . Available types include various kinds of fades and slides.

The transition type can be changed without problems at runtime, so it is possible to change the animation based on the page that is about to become current.

Parameters

stack

a GtkStack

 

transition

the new transition type

 

gtk_stack_get_transition_type ()

GtkStackTransitionType
gtk_stack_get_transition_type (GtkStack *stack);

Gets the type of animation that will be used for transitions between pages in stack .

Parameters

stack

a GtkStack

 

Returns

the current transition type of stack


gtk_stack_get_transition_running ()

gboolean
gtk_stack_get_transition_running (GtkStack *stack);

Returns whether the stack is currently in a transition from one page to another.

Parameters

stack

a GtkStack

 

Returns

TRUE if the transition is currently running, FALSE otherwise.


gtk_stack_get_interpolate_size ()

gboolean
gtk_stack_get_interpolate_size (GtkStack *stack);

Returns wether the GtkStack is set up to interpolate between the sizes of children on page switch.

Parameters

stack

A GtkStack

 

Returns

TRUE if child sizes are interpolated


gtk_stack_set_interpolate_size ()

void
gtk_stack_set_interpolate_size (GtkStack *stack,
                                gboolean interpolate_size);

Sets whether or not stack will interpolate its size when changing the visible child. If the “interpolate-size” property is set to TRUE, stack will interpolate its size between the current one and the one it'll take after changing the visible child, according to the set transition duration.

Parameters

stack

A GtkStack

 

interpolate_size

the new value

 

Types and Values

GtkStackPage

typedef struct _GtkStackPage GtkStackPage;

GtkStack

typedef struct _GtkStack GtkStack;

enum GtkStackTransitionType

These enumeration values describe the possible transitions between pages in a GtkStack widget.

New values may be added to this enumeration over time.

Members

GTK_STACK_TRANSITION_TYPE_NONE

No transition

 

GTK_STACK_TRANSITION_TYPE_CROSSFADE

A cross-fade

 

GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT

Slide from left to right

 

GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT

Slide from right to left

 

GTK_STACK_TRANSITION_TYPE_SLIDE_UP

Slide from bottom up

 

GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN

Slide from top down

 

GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT

Slide from left or right according to the children order

 

GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN

Slide from top down or bottom up according to the order

 

GTK_STACK_TRANSITION_TYPE_OVER_UP

Cover the old page by sliding up

 

GTK_STACK_TRANSITION_TYPE_OVER_DOWN

Cover the old page by sliding down

 

GTK_STACK_TRANSITION_TYPE_OVER_LEFT

Cover the old page by sliding to the left

 

GTK_STACK_TRANSITION_TYPE_OVER_RIGHT

Cover the old page by sliding to the right

 

GTK_STACK_TRANSITION_TYPE_UNDER_UP

Uncover the new page by sliding up

 

GTK_STACK_TRANSITION_TYPE_UNDER_DOWN

Uncover the new page by sliding down

 

GTK_STACK_TRANSITION_TYPE_UNDER_LEFT

Uncover the new page by sliding to the left

 

GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT

Uncover the new page by sliding to the right

 

GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN

Cover the old page sliding up or uncover the new page sliding down, according to order

 

GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP

Cover the old page sliding down or uncover the new page sliding up, according to order

 

GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT

Cover the old page sliding left or uncover the new page sliding right, according to order

 

GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT

Cover the old page sliding right or uncover the new page sliding left, according to order

 

GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT

Pretend the pages are sides of a cube and rotate that cube to the left

 

GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT

Pretend the pages are sides of a cube and rotate that cube to the right

 

GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT

Pretend the pages are sides of a cube and rotate that cube to the left or right according to the children order

 

Property Details

The “child” property

  “child”                    GtkWidget *

The child of the page.

Owner: GtkStackPage

Flags: Read / Write / Construct Only


The “icon-name” property

  “icon-name”                gchar *

The icon name of the child page.

Owner: GtkStackPage

Flags: Read / Write

Default value: NULL


The “name” property

  “name”                     gchar *

The name of the child page.

Owner: GtkStackPage

Flags: Read / Write / Construct Only

Default value: NULL


The “needs-attention” property

  “needs-attention”          gboolean

Sets a flag specifying whether the page requires the user attention. This is used by the GtkStackSwitcher to change the appearance of the corresponding button when a page needs attention and it is not the current one.

Owner: GtkStackPage

Flags: Read / Write

Default value: FALSE


The “title” property

  “title”                    gchar *

The title of the child page.

Owner: GtkStackPage

Flags: Read / Write

Default value: NULL


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the title indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkStackPage

Flags: Read / Write

Default value: FALSE


The “visible” property

  “visible”                  gboolean

Whether this page is visible.

Owner: GtkStackPage

Flags: Read / Write

Default value: TRUE


The “hhomogeneous” property

  “hhomogeneous”             gboolean

TRUE if the stack allocates the same width for all children.

Owner: GtkStack

Flags: Read / Write

Default value: TRUE


The “interpolate-size” property

  “interpolate-size”         gboolean

Whether or not the size should smoothly change when changing between differently sized children.

Owner: GtkStack

Flags: Read / Write

Default value: FALSE


The “pages” property

  “pages”                    GtkSelectionModel *

A selection model with the stacks pages.

Owner: GtkStack

Flags: Read


The “transition-duration” property

  “transition-duration”      guint

The animation duration, in milliseconds.

Owner: GtkStack

Flags: Read / Write

Default value: 200


The “transition-running” property

  “transition-running”       gboolean

Whether or not the transition is currently running.

Owner: GtkStack

Flags: Read

Default value: FALSE


The “transition-type” property

  “transition-type”          GtkStackTransitionType

The type of animation used to transition.

Owner: GtkStack

Flags: Read / Write

Default value: GTK_STACK_TRANSITION_TYPE_NONE


The “vhomogeneous” property

  “vhomogeneous”             gboolean

TRUE if the stack allocates the same height for all children.

Owner: GtkStack

Flags: Read / Write

Default value: TRUE


The “visible-child” property

  “visible-child”            GtkWidget *

The widget currently visible in the stack.

Owner: GtkStack

Flags: Read / Write


The “visible-child-name” property

  “visible-child-name”       gchar *

The name of the widget currently visible in the stack.

Owner: GtkStack

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/Ornaments.html0000664000175000017500000000371313710700534020165 0ustar mclasenmclasen Ornaments: GTK 4 Reference Manual

Ornaments

GtkFrame — A widget with a decorative frame and optional label
GtkSeparator — A separator widget
docs/reference/gtk/html/GtkSearchEntry.html0000664000175000017500000005726613710700534021130 0ustar mclasenmclasen GtkSearchEntry: GTK 4 Reference Manual

GtkSearchEntry

GtkSearchEntry — An entry which shows a search icon

Properties

gboolean activates-default Read / Write
gchar * placeholder-text Read / Write

Signals

void activate Action
void next-match Action
void previous-match Action
void search-changed Run Last
void search-started Run Last
void stop-search Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSearchEntry

Implemented Interfaces

GtkSearchEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable.

Includes

#include <gtk/gtk.h>

Description

GtkSearchEntry is an entry widget that has been tailored for use as a search entry. The main aPI for interacting with a GtkSearchEntry as entry is the GtkEditable interface.

It will show an inactive symbolic “find” icon when the search entry is empty, and a symbolic “clear” icon when there is text. Clicking on the “clear” icon will empty the search entry.

To make filtering appear more reactive, it is a good idea to not react to every change in the entry text immediately, but only after a short delay. To support this, GtkSearchEntry emits the “search-changed” signal which can be used instead of the “changed” signal.

The “previous-match”, “next-match” and “stop-search” signals can be used to implement moving between search results and ending the search.

Often, GtkSearchEntry will be fed events by means of being placed inside a GtkSearchBar. If that is not the case, you can use gtk_search_entry_set_key_capture_widget() to let it capture key input from another widget.

CSS Nodes

1
2
entry.search
╰── text

GtkSearchEntry has a single CSS node with name entry that carries a .sarch style class, and the text node is a child of that.


Accessibility

GtkSearchEntry uses the GTK_ACCESSIBLE_ROLE_SEARCH_BOX role.

Functions

gtk_search_entry_new ()

GtkWidget *
gtk_search_entry_new (void);

Creates a GtkSearchEntry, with a find icon when the search field is empty, and a clear icon when it isn't.

Returns

a new GtkSearchEntry


gtk_search_entry_set_key_capture_widget ()

void
gtk_search_entry_set_key_capture_widget
                               (GtkSearchEntry *entry,
                                GtkWidget *widget);

Sets widget as the widget that entry will capture key events from.

Key events are consumed by the search entry to start or continue a search.

If the entry is part of a GtkSearchBar, it is preferable to call gtk_search_bar_set_key_capture_widget() instead, which will reveal the entry in addition to triggering the search entry.

Parameters

entry

a GtkSearchEntry

 

widget

a GtkWidget.

[nullable][transfer none]

gtk_search_entry_get_key_capture_widget ()

GtkWidget *
gtk_search_entry_get_key_capture_widget
                               (GtkSearchEntry *entry);

Gets the widget that entry is capturing key events from.

Parameters

entry

a GtkSearchEntry

 

Returns

The key capture widget.

[transfer none]

Types and Values

GtkSearchEntry

typedef struct _GtkSearchEntry GtkSearchEntry;

Property Details

The “activates-default” property

  “activates-default”        gboolean

Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.

Owner: GtkSearchEntry

Flags: Read / Write

Default value: FALSE


The “placeholder-text” property

  “placeholder-text”         gchar *

Show text in the entry when it’s empty and unfocused.

Owner: GtkSearchEntry

Flags: Read / Write

Default value: NULL

Signal Details

The “activate” signal

void
user_function (GtkSearchEntry *searchentry,
               gpointer        user_data)

Flags: Action


The “next-match” signal

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

The ::next-match signal is a keybinding signal which gets emitted when the user initiates a move to the next match for the current search string.

Applications should connect to it, to implement moving between matches.

The default bindings for this signal is Ctrl-g.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “previous-match” signal

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

The ::previous-match signal is a keybinding signal which gets emitted when the user initiates a move to the previous match for the current search string.

Applications should connect to it, to implement moving between matches.

The default bindings for this signal is Ctrl-Shift-g.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “search-changed” signal

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

The “search-changed” signal is emitted with a short delay of 150 milliseconds after the last change to the entry text.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “search-started” signal

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

The ::search-started signal gets emitted when the user initiated a search on the entry.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “stop-search” signal

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

The ::stop-search signal is a keybinding signal which gets emitted when the user stops a search via keyboard input.

Applications should connect to it, to implement hiding the search entry in this case.

The default bindings for this signal is Escape.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkStackSidebar.html0000664000175000017500000002656713710700534021240 0ustar mclasenmclasen GtkStackSidebar: GTK 4 Reference Manual

GtkStackSidebar

GtkStackSidebar — An automatic sidebar widget

Properties

GtkStack * stack Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkStackSidebar

Implemented Interfaces

GtkStackSidebar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkStackSidebar enables you to quickly and easily provide a consistent "sidebar" object for your user interface.

In order to use a GtkStackSidebar, you simply use a GtkStack to organize your UI flow, and add the sidebar to your sidebar area. You can use gtk_stack_sidebar_set_stack() to connect the GtkStackSidebar to the GtkStack.

CSS nodes

GtkStackSidebar has a single CSS node with name stacksidebar and style class .sidebar.

When circumstances require it, GtkStackSidebar adds the .needs-attention style class to the widgets representing the stack pages.

Functions

gtk_stack_sidebar_new ()

GtkWidget *
gtk_stack_sidebar_new (void);

Creates a new sidebar.

Returns

the new GtkStackSidebar


gtk_stack_sidebar_set_stack ()

void
gtk_stack_sidebar_set_stack (GtkStackSidebar *self,
                             GtkStack *stack);

Set the GtkStack associated with this GtkStackSidebar.

The sidebar widget will automatically update according to the order (packing) and items within the given GtkStack.

Parameters

self

a GtkStackSidebar

 

stack

a GtkStack

 

gtk_stack_sidebar_get_stack ()

GtkStack *
gtk_stack_sidebar_get_stack (GtkStackSidebar *self);

Retrieves the stack. See gtk_stack_sidebar_set_stack().

Parameters

self

a GtkStackSidebar

 

Returns

the associated GtkStack or NULL if none has been set explicitly.

[nullable][transfer none]

Types and Values

GtkStackSidebar

typedef struct _GtkStackSidebar GtkStackSidebar;

Property Details

The “stack” property

  “stack”                    GtkStack *

Associated stack for this GtkStackSidebar.

Owner: GtkStackSidebar

Flags: Read / Write

docs/reference/gtk/html/NumericEntry.html0000664000175000017500000000703313710700534020642 0ustar mclasenmclasen Numeric and Text Data Entry: GTK 4 Reference Manual

Numeric and Text Data Entry

GtkEditable — Interface for text-editing widgets
GtkEntryBuffer — Text buffer for GtkEntry
GtkText — A simple single-line text entry field
GtkEntry — A single line text entry field
GtkEntryCompletion — Completion functionality for GtkEntry
GtkPasswordEntry — An entry for secrets
GtkScale — A slider widget for selecting a value from a range
GtkSpinButton — Retrieve an integer or floating-point number from the user
GtkSearchEntry — An entry which shows a search icon
GtkSearchBar — A toolbar to integrate a search entry with
GtkEditableLabel — A label that can be edited
docs/reference/gtk/html/Trees.html0000664000175000017500000000503213710700534017275 0ustar mclasenmclasen Tree support: GTK 4 Reference Manual

Tree support

GtkTreeListModel — A list model that can create child models on demand
GtkTreeListRow — A row in a GtkTreeListModel
GtkTreeListRowSorter — Sort trees by levels
GtkTreeExpander — An indenting expander button for use in a tree list
docs/reference/gtk/html/GtkTextMark.html0000664000175000017500000004740013710700534020425 0ustar mclasenmclasen GtkTextMark: GTK 4 Reference Manual

GtkTextMark

GtkTextMark — A position in the buffer preserved across buffer modifications

Properties

gboolean left-gravity Read / Write / Construct Only
gchar * name Read / Write / Construct Only

Types and Values

struct GtkTextMark

Object Hierarchy

    GObject
    ╰── GtkTextMark

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

A GtkTextMark is like a bookmark in a text buffer; it preserves a position in the text. You can convert the mark to an iterator using gtk_text_buffer_get_iter_at_mark(). Unlike iterators, marks remain valid across buffer mutations, because their behavior is defined when text is inserted or deleted. When text containing a mark is deleted, the mark remains in the position originally occupied by the deleted text. When text is inserted at a mark, a mark with “left gravity” will be moved to the beginning of the newly-inserted text, and a mark with “right gravity” will be moved to the end.

Note that “left” and “right” here refer to logical direction (left is the toward the start of the buffer); in some languages such as Hebrew the logically-leftmost text is not actually on the left when displayed.

Marks are reference counted, but the reference count only controls the validity of the memory; marks can be deleted from the buffer at any time with gtk_text_buffer_delete_mark(). Once deleted from the buffer, a mark is essentially useless.

Marks optionally have names; these can be convenient to avoid passing the GtkTextMark object around.

Marks are typically created using the gtk_text_buffer_create_mark() function.

Functions

gtk_text_mark_new ()

GtkTextMark *
gtk_text_mark_new (const char *name,
                   gboolean left_gravity);

Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark’s current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (left_gravity = FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you’re typing).

Parameters

name

mark name or NULL.

[allow-none]

left_gravity

whether the mark should have left gravity

 

Returns

new GtkTextMark


gtk_text_mark_set_visible ()

void
gtk_text_mark_set_visible (GtkTextMark *mark,
                           gboolean setting);

Sets the visibility of mark ; the insertion point is normally visible, i.e. you can see it as a vertical bar. Also, the text widget uses a visible mark to indicate where a drop will occur when dragging-and-dropping text. Most other marks are not visible. Marks are not visible by default.

Parameters

mark

a GtkTextMark

 

setting

visibility of mark

 

gtk_text_mark_get_visible ()

gboolean
gtk_text_mark_get_visible (GtkTextMark *mark);

Returns TRUE if the mark is visible (i.e. a cursor is displayed for it).

Parameters

mark

a GtkTextMark

 

Returns

TRUE if visible


gtk_text_mark_get_deleted ()

gboolean
gtk_text_mark_get_deleted (GtkTextMark *mark);

Returns TRUE if the mark has been removed from its buffer with gtk_text_buffer_delete_mark(). See gtk_text_buffer_add_mark() for a way to add it to a buffer again.

Parameters

mark

a GtkTextMark

 

Returns

whether the mark is deleted


gtk_text_mark_get_name ()

const char *
gtk_text_mark_get_name (GtkTextMark *mark);

Returns the mark name; returns NULL for anonymous marks.

Parameters

mark

a GtkTextMark

 

Returns

mark name.

[nullable]


gtk_text_mark_get_buffer ()

GtkTextBuffer *
gtk_text_mark_get_buffer (GtkTextMark *mark);

Gets the buffer this mark is located inside, or NULL if the mark is deleted.

Parameters

mark

a GtkTextMark

 

Returns

the mark’s GtkTextBuffer.

[transfer none]


gtk_text_mark_get_left_gravity ()

gboolean
gtk_text_mark_get_left_gravity (GtkTextMark *mark);

Determines whether the mark has left gravity.

Parameters

mark

a GtkTextMark

 

Returns

TRUE if the mark has left gravity, FALSE otherwise

Types and Values

struct GtkTextMark

struct GtkTextMark;

Property Details

The “left-gravity” property

  “left-gravity”             gboolean

Whether the mark has left gravity. When text is inserted at the mark’s current location, if the mark has left gravity it will be moved to the left of the newly-inserted text, otherwise to the right.

Owner: GtkTextMark

Flags: Read / Write / Construct Only

Default value: FALSE


The “name” property

  “name”                     gchar *

The name of the mark or NULL if the mark is anonymous.

Owner: GtkTextMark

Flags: Read / Write / Construct Only

Default value: NULL

docs/reference/gtk/html/GtkTextTag.html0000664000175000017500000020046713710700534020252 0ustar mclasenmclasen GtkTextTag: GTK 4 Reference Manual

GtkTextTag

GtkTextTag — A tag that can be applied to text in a GtkTextBuffer

Properties

gboolean accumulative-margin Read / Write
gboolean allow-breaks Read / Write
gboolean allow-breaks-set Read / Write
gchar * background Write
gboolean background-full-height Read / Write
gboolean background-full-height-set Read / Write
GdkRGBA * background-rgba Read / Write
gboolean background-set Read / Write
GtkTextDirection direction Read / Write
gboolean editable Read / Write
gboolean editable-set Read / Write
gboolean fallback Read / Write
gboolean fallback-set Read / Write
gchar * family Read / Write
gboolean family-set Read / Write
gchar * font Read / Write
PangoFontDescription * font-desc Read / Write
gchar * font-features Read / Write
gboolean font-features-set Read / Write
gchar * foreground Write
GdkRGBA * foreground-rgba Read / Write
gboolean foreground-set Read / Write
gint indent Read / Write
gboolean indent-set Read / Write
gboolean insert-hyphens Read / Write
gboolean insert-hyphens-set Read / Write
gboolean invisible Read / Write
gboolean invisible-set Read / Write
GtkJustification justification Read / Write
gboolean justification-set Read / Write
gchar * language Read / Write
gboolean language-set Read / Write
gint left-margin Read / Write
gboolean left-margin-set Read / Write
gint letter-spacing Read / Write
gboolean letter-spacing-set Read / Write
gchar * name Read / Write / Construct Only
PangoOverline overline Read / Write
GdkRGBA * overline-rgba Read / Write
gboolean overline-rgba-set Read / Write
gboolean overline-set Read / Write
gchar * paragraph-background Write
GdkRGBA * paragraph-background-rgba Read / Write
gboolean paragraph-background-set Read / Write
gint pixels-above-lines Read / Write
gboolean pixels-above-lines-set Read / Write
gint pixels-below-lines Read / Write
gboolean pixels-below-lines-set Read / Write
gint pixels-inside-wrap Read / Write
gboolean pixels-inside-wrap-set Read / Write
gint right-margin Read / Write
gboolean right-margin-set Read / Write
gint rise Read / Write
gboolean rise-set Read / Write
gdouble scale Read / Write
gboolean scale-set Read / Write
PangoShowFlags show-spaces Read / Write
gboolean show-spaces-set Read / Write
gint size Read / Write
gdouble size-points Read / Write
gboolean size-set Read / Write
PangoStretch stretch Read / Write
gboolean stretch-set Read / Write
gboolean strikethrough Read / Write
GdkRGBA * strikethrough-rgba Read / Write
gboolean strikethrough-rgba-set Read / Write
gboolean strikethrough-set Read / Write
PangoStyle style Read / Write
gboolean style-set Read / Write
PangoTabArray * tabs Read / Write
gboolean tabs-set Read / Write
PangoUnderline underline Read / Write
GdkRGBA * underline-rgba Read / Write
gboolean underline-rgba-set Read / Write
gboolean underline-set Read / Write
PangoVariant variant Read / Write
gboolean variant-set Read / Write
gint weight Read / Write
gboolean weight-set Read / Write
GtkWrapMode wrap-mode Read / Write
gboolean wrap-mode-set Read / Write

Types and Values

struct GtkTextTag

Object Hierarchy

    GObject
    ╰── GtkTextTag

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

Tags should be in the GtkTextTagTable for a given GtkTextBuffer before using them with that buffer.

gtk_text_buffer_create_tag() is the best way to create tags. See “gtk4-demo” for numerous examples.

For each property of GtkTextTag, there is a “set” property, e.g. “font-set” corresponds to “font”. These “set” properties reflect whether a property has been set or not. They are maintained by GTK+ and you should not set them independently.

Functions

gtk_text_tag_new ()

GtkTextTag *
gtk_text_tag_new (const char *name);

Creates a GtkTextTag. Configure the tag using object arguments, i.e. using g_object_set().

Parameters

name

tag name, or NULL.

[allow-none]

Returns

a new GtkTextTag


gtk_text_tag_get_priority ()

int
gtk_text_tag_get_priority (GtkTextTag *tag);

Get the tag priority.

Parameters

tag

a GtkTextTag

 

Returns

The tag’s priority.


gtk_text_tag_set_priority ()

void
gtk_text_tag_set_priority (GtkTextTag *tag,
                           int priority);

Sets the priority of a GtkTextTag. Valid priorities start at 0 and go to one less than gtk_text_tag_table_get_size(). Each tag in a table has a unique priority; setting the priority of one tag shifts the priorities of all the other tags in the table to maintain a unique priority for each tag. Higher priority tags “win” if two tags both set the same text attribute. When adding a tag to a tag table, it will be assigned the highest priority in the table by default; so normally the precedence of a set of tags is the order in which they were added to the table, or created with gtk_text_buffer_create_tag(), which adds the tag to the buffer’s table automatically.

Parameters

tag

a GtkTextTag

 

priority

the new priority

 

gtk_text_tag_changed ()

void
gtk_text_tag_changed (GtkTextTag *tag,
                      gboolean size_changed);

Emits the “tag-changed” signal on the GtkTextTagTable where the tag is included.

The signal is already emitted when setting a GtkTextTag property. This function is useful for a GtkTextTag subclass.

Parameters

tag

a GtkTextTag.

 

size_changed

whether the change affects the GtkTextView layout.

 

Types and Values

struct GtkTextTag

struct GtkTextTag;

Property Details

The “accumulative-margin” property

  “accumulative-margin”      gboolean

Whether the margins accumulate or override each other.

When set to TRUE the margins of this tag are added to the margins of any other non-accumulative margins present. When set to FALSE the margins override one another (the default).

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “allow-breaks” property

  “allow-breaks”             gboolean

Whether breaks are allowed.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “allow-breaks-set” property

  “allow-breaks-set”         gboolean

Whether this tag affects line breaks.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background” property

  “background”               gchar *

Background color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “background-full-height” property

  “background-full-height”   gboolean

Whether the background color fills the entire line height or only the height of the tagged characters.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background-full-height-set” property

  “background-full-height-set” gboolean

Whether this tag affects background height.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background-rgba” property

  “background-rgba”          GdkRGBA *

Background color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “background-set” property

  “background-set”           gboolean

Whether this tag affects the background color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “direction” property

  “direction”                GtkTextDirection

Text direction, e.g. right-to-left or left-to-right.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_TEXT_DIR_NONE


The “editable” property

  “editable”                 gboolean

Whether the text can be modified by the user.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “editable-set” property

  “editable-set”             gboolean

Whether this tag affects text editability.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “fallback” property

  “fallback”                 gboolean

Whether font fallback is enabled.

When set to TRUE, other fonts will be substituted where the current font is missing glyphs.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “fallback-set” property

  “fallback-set”             gboolean

Whether this tag affects font fallback.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “family” property

  “family”                   gchar *

Name of the font family, e.g. Sans, Helvetica, Times, Monospace.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “family-set” property

  “family-set”               gboolean

Whether this tag affects the font family.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “font” property

  “font”                     gchar *

Font description as string, e.g. \"Sans Italic 12\".

Note that the initial value of this property depends on the internals of PangoFontDescription.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “font-desc” property

  “font-desc”                PangoFontDescription *

Font description as a PangoFontDescription struct.

Owner: GtkTextTag

Flags: Read / Write


The “font-features” property

  “font-features”            gchar *

OpenType font features, as a string.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “font-features-set” property

  “font-features-set”        gboolean

Whether this tag affects font features.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “foreground” property

  “foreground”               gchar *

Foreground color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “foreground-rgba” property

  “foreground-rgba”          GdkRGBA *

Foreground color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “foreground-set” property

  “foreground-set”           gboolean

Whether this tag affects the foreground color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “indent” property

  “indent”                   gint

Amount to indent the paragraph, in pixels.

Owner: GtkTextTag

Flags: Read / Write

Default value: 0


The “indent-set” property

  “indent-set”               gboolean

Whether this tag affects indentation.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “insert-hyphens” property

  “insert-hyphens”           gboolean

Whether to insert hyphens at breaks.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “insert-hyphens-set” property

  “insert-hyphens-set”       gboolean

Whether this tag affects insertion of hyphens.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “invisible” property

  “invisible”                gboolean

Whether this text is hidden.

Note that there may still be problems with the support for invisible text, in particular when navigating programmatically inside a buffer containing invisible segments.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “invisible-set” property

  “invisible-set”            gboolean

Whether this tag affects text visibility.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “justification” property

  “justification”            GtkJustification

Left, right, or center justification.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_JUSTIFY_LEFT


The “justification-set” property

  “justification-set”        gboolean

Whether this tag affects paragraph justification.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “language” property

  “language”                 gchar *

The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used.

Note that the initial value of this property depends on the current locale, see also gtk_get_default_language().

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “language-set” property

  “language-set”             gboolean

Whether this tag affects the language the text is rendered as.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “left-margin” property

  “left-margin”              gint

Width of the left margin in pixels.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “left-margin-set” property

  “left-margin-set”          gboolean

Whether this tag affects the left margin.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “letter-spacing” property

  “letter-spacing”           gint

Extra spacing between graphemes, in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “letter-spacing-set” property

  “letter-spacing-set”       gboolean

Whether this tag affects letter spacing.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “name” property

  “name”                     gchar *

Name used to refer to the text tag. NULL for anonymous tags.

Owner: GtkTextTag

Flags: Read / Write / Construct Only

Default value: NULL


The “overline” property

  “overline”                 PangoOverline

Style of overline for this text.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_OVERLINE_NONE


The “overline-rgba” property

  “overline-rgba”            GdkRGBA *

Color of overline for this text.

Owner: GtkTextTag

Flags: Read / Write


The “overline-rgba-set” property

  “overline-rgba-set”        gboolean

Whether this tag affects overlining color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “overline-set” property

  “overline-set”             gboolean

Whether this tag affects overlining.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “paragraph-background” property

  “paragraph-background”     gchar *

The paragraph background color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “paragraph-background-rgba” property

  “paragraph-background-rgba” GdkRGBA *

The paragraph background color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “paragraph-background-set” property

  “paragraph-background-set” gboolean

Whether this tag affects the paragraph background color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-above-lines” property

  “pixels-above-lines”       gint

Pixels of blank space above paragraphs.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-above-lines-set” property

  “pixels-above-lines-set”   gboolean

Whether this tag affects the number of pixels above lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-below-lines” property

  “pixels-below-lines”       gint

Pixels of blank space below paragraphs.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-below-lines-set” property

  “pixels-below-lines-set”   gboolean

Whether this tag affects the number of pixels above lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-inside-wrap” property

  “pixels-inside-wrap”       gint

Pixels of blank space between wrapped lines in a paragraph.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-inside-wrap-set” property

  “pixels-inside-wrap-set”   gboolean

Whether this tag affects the number of pixels between wrapped lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “right-margin” property

  “right-margin”             gint

Width of the right margin in pixels.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “right-margin-set” property

  “right-margin-set”         gboolean

Whether this tag affects the right margin.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “rise” property

  “rise”                     gint

Offset of text above the baseline (below the baseline if rise is negative) in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Default value: 0


The “rise-set” property

  “rise-set”                 gboolean

Whether this tag affects the rise.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “scale” property

  “scale”                    gdouble

Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 1


The “scale-set” property

  “scale-set”                gboolean

Whether this tag scales the font size by a factor.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “show-spaces” property

  “show-spaces”              PangoShowFlags

How to render invisible characters.

Owner: GtkTextTag

Flags: Read / Write


The “show-spaces-set” property

  “show-spaces-set”          gboolean

Whether this tag affects rendering of invisible characters.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “size” property

  “size”                     gint

Font size in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-points” property

  “size-points”              gdouble

Font size in points.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-set” property

  “size-set”                 gboolean

Whether this tag affects the font size.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “stretch” property

  “stretch”                  PangoStretch

Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_STRETCH_NORMAL


The “stretch-set” property

  “stretch-set”              gboolean

Whether this tag affects the font stretch.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough” property

  “strikethrough”            gboolean

Whether to strike through the text.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough-rgba” property

  “strikethrough-rgba”       GdkRGBA *

This property modifies the color of strikeouts. If not set, strikeouts will use the forground color.

Owner: GtkTextTag

Flags: Read / Write


The “strikethrough-rgba-set” property

  “strikethrough-rgba-set”   gboolean

If the “strikethrough-rgba” property has been set.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough-set” property

  “strikethrough-set”        gboolean

Whether this tag affects strikethrough.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “style” property

  “style”                    PangoStyle

Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_STYLE_NORMAL


The “style-set” property

  “style-set”                gboolean

Whether this tag affects the font style.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “tabs” property

  “tabs”                     PangoTabArray *

Custom tabs for this text.

Owner: GtkTextTag

Flags: Read / Write


The “tabs-set” property

  “tabs-set”                 gboolean

Whether this tag affects tabs.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “underline” property

  “underline”                PangoUnderline

Style of underline for this text.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_UNDERLINE_NONE


The “underline-rgba” property

  “underline-rgba”           GdkRGBA *

This property modifies the color of underlines. If not set, underlines will use the forground color.

If “underline” is set to PANGO_UNDERLINE_ERROR, an alternate color may be applied instead of the foreground. Setting this property will always override those defaults.

Owner: GtkTextTag

Flags: Read / Write


The “underline-rgba-set” property

  “underline-rgba-set”       gboolean

If the “underline-rgba” property has been set.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “underline-set” property

  “underline-set”            gboolean

Whether this tag affects underlining.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “variant” property

  “variant”                  PangoVariant

Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_VARIANT_NORMAL


The “variant-set” property

  “variant-set”              gboolean

Whether this tag affects the font variant.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “weight” property

  “weight”                   gint

Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 400


The “weight-set” property

  “weight-set”               gboolean

Whether this tag affects the font weight.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “wrap-mode” property

  “wrap-mode”                GtkWrapMode

Whether to wrap lines never, at word boundaries, or at character boundaries.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_WRAP_NONE


The “wrap-mode-set” property

  “wrap-mode-set”            gboolean

Whether this tag affects line wrap mode.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkTextTagTable.html0000664000175000017500000005766613710700534021235 0ustar mclasenmclasen GtkTextTagTable: GTK 4 Reference Manual

GtkTextTagTable

GtkTextTagTable — Collection of tags that can be used together

Signals

void tag-added Run Last
void tag-changed Run Last
void tag-removed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTextTagTable

Implemented Interfaces

GtkTextTagTable implements GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

GtkTextTagTables as GtkBuildable

The GtkTextTagTable implementation of the GtkBuildable interface supports adding tags by specifying “tag” as the “type” attribute of a <child> element.

An example of a UI definition fragment specifying tags:

1
2
3
4
5
<object class="GtkTextTagTable">
 <child type="tag">
   <object class="GtkTextTag"/>
 </child>
</object>

Functions

GtkTextTagTableForeach ()

void
(*GtkTextTagTableForeach) (GtkTextTag *tag,
                           gpointer data);

Parameters

tag

the GtkTextTag

 

data

data passed to gtk_text_tag_table_foreach().

[closure]

gtk_text_tag_table_new ()

GtkTextTagTable *
gtk_text_tag_table_new (void);

Creates a new GtkTextTagTable. The table contains no tags by default.

Returns

a new GtkTextTagTable


gtk_text_tag_table_add ()

gboolean
gtk_text_tag_table_add (GtkTextTagTable *table,
                        GtkTextTag *tag);

Add a tag to the table. The tag is assigned the highest priority in the table.

tag must not be in a tag table already, and may not have the same name as an already-added tag.

Parameters

table

a GtkTextTagTable

 

tag

a GtkTextTag

 

Returns

TRUE on success.


gtk_text_tag_table_remove ()

void
gtk_text_tag_table_remove (GtkTextTagTable *table,
                           GtkTextTag *tag);

Remove a tag from the table. If a GtkTextBuffer has table as its tag table, the tag is removed from the buffer. The table’s reference to the tag is removed, so the tag will end up destroyed if you don’t have a reference to it.

Parameters

table

a GtkTextTagTable

 

tag

a GtkTextTag

 

gtk_text_tag_table_lookup ()

GtkTextTag *
gtk_text_tag_table_lookup (GtkTextTagTable *table,
                           const char *name);

Look up a named tag.

Parameters

table

a GtkTextTagTable

 

name

name of a tag

 

Returns

The tag, or NULL if none by that name is in the table.

[nullable][transfer none]


gtk_text_tag_table_foreach ()

void
gtk_text_tag_table_foreach (GtkTextTagTable *table,
                            GtkTextTagTableForeach func,
                            gpointer data);

Calls func on each tag in table , with user data data . Note that the table may not be modified while iterating over it (you can’t add/remove tags).

Parameters

table

a GtkTextTagTable

 

func

a function to call on each tag.

[scope call]

data

user data

 

gtk_text_tag_table_get_size ()

int
gtk_text_tag_table_get_size (GtkTextTagTable *table);

Returns the size of the table (number of tags)

Parameters

table

a GtkTextTagTable

 

Returns

number of tags in table

Types and Values

GtkTextTagTable

typedef struct _GtkTextTagTable GtkTextTagTable;

Signal Details

The “tag-added” signal

void
user_function (GtkTextTagTable *texttagtable,
               GtkTextTag      *tag,
               gpointer         user_data)

Parameters

texttagtable

the object which received the signal.

 

tag

the added tag.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tag-changed” signal

void
user_function (GtkTextTagTable *texttagtable,
               GtkTextTag      *tag,
               gboolean         size_changed,
               gpointer         user_data)

Parameters

texttagtable

the object which received the signal.

 

tag

the changed tag.

 

size_changed

whether the change affects the GtkTextView layout.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tag-removed” signal

void
user_function (GtkTextTagTable *texttagtable,
               GtkTextTag      *tag,
               gpointer         user_data)

Parameters

texttagtable

the object which received the signal.

 

tag

the removed tag.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkTextView.html0000664000175000017500000070520313710700534020447 0ustar mclasenmclasen GtkTextView: GTK 4 Reference Manual

GtkTextView

GtkTextView — Widget that displays a GtkTextBuffer

Functions

GtkWidget * gtk_text_view_new ()
GtkWidget * gtk_text_view_new_with_buffer ()
void gtk_text_view_set_buffer ()
GtkTextBuffer * gtk_text_view_get_buffer ()
void gtk_text_view_scroll_to_mark ()
gboolean gtk_text_view_scroll_to_iter ()
void gtk_text_view_scroll_mark_onscreen ()
gboolean gtk_text_view_move_mark_onscreen ()
gboolean gtk_text_view_place_cursor_onscreen ()
void gtk_text_view_get_visible_rect ()
void gtk_text_view_get_iter_location ()
void gtk_text_view_get_cursor_locations ()
void gtk_text_view_get_line_at_y ()
void gtk_text_view_get_line_yrange ()
gboolean gtk_text_view_get_iter_at_location ()
gboolean gtk_text_view_get_iter_at_position ()
void gtk_text_view_buffer_to_window_coords ()
void gtk_text_view_window_to_buffer_coords ()
gboolean gtk_text_view_forward_display_line ()
gboolean gtk_text_view_backward_display_line ()
gboolean gtk_text_view_forward_display_line_end ()
gboolean gtk_text_view_backward_display_line_start ()
gboolean gtk_text_view_starts_display_line ()
gboolean gtk_text_view_move_visually ()
void gtk_text_view_add_child_at_anchor ()
void gtk_text_view_remove ()
GtkTextChildAnchor * gtk_text_child_anchor_new ()
GtkWidget ** gtk_text_child_anchor_get_widgets ()
gboolean gtk_text_child_anchor_get_deleted ()
GtkWidget * gtk_text_view_get_gutter ()
void gtk_text_view_set_gutter ()
void gtk_text_view_add_overlay ()
void gtk_text_view_move_overlay ()
void gtk_text_view_set_wrap_mode ()
GtkWrapMode gtk_text_view_get_wrap_mode ()
void gtk_text_view_set_editable ()
gboolean gtk_text_view_get_editable ()
void gtk_text_view_set_cursor_visible ()
gboolean gtk_text_view_get_cursor_visible ()
void gtk_text_view_reset_cursor_blink ()
void gtk_text_view_set_overwrite ()
gboolean gtk_text_view_get_overwrite ()
void gtk_text_view_set_pixels_above_lines ()
int gtk_text_view_get_pixels_above_lines ()
void gtk_text_view_set_pixels_below_lines ()
int gtk_text_view_get_pixels_below_lines ()
void gtk_text_view_set_pixels_inside_wrap ()
int gtk_text_view_get_pixels_inside_wrap ()
void gtk_text_view_set_justification ()
GtkJustification gtk_text_view_get_justification ()
void gtk_text_view_set_left_margin ()
int gtk_text_view_get_left_margin ()
void gtk_text_view_set_right_margin ()
int gtk_text_view_get_right_margin ()
void gtk_text_view_set_top_margin ()
int gtk_text_view_get_top_margin ()
void gtk_text_view_set_bottom_margin ()
int gtk_text_view_get_bottom_margin ()
void gtk_text_view_set_indent ()
int gtk_text_view_get_indent ()
void gtk_text_view_set_tabs ()
PangoTabArray * gtk_text_view_get_tabs ()
void gtk_text_view_set_accepts_tab ()
gboolean gtk_text_view_get_accepts_tab ()
gboolean gtk_text_view_im_context_filter_keypress ()
void gtk_text_view_reset_im_context ()
void gtk_text_view_set_input_purpose ()
GtkInputPurpose gtk_text_view_get_input_purpose ()
void gtk_text_view_set_input_hints ()
GtkInputHints gtk_text_view_get_input_hints ()
void gtk_text_view_set_monospace ()
gboolean gtk_text_view_get_monospace ()
void gtk_text_view_set_extra_menu ()
GMenuModel * gtk_text_view_get_extra_menu ()

Properties

gboolean accepts-tab Read / Write
gint bottom-margin Read / Write
GtkTextBuffer * buffer Read / Write
gboolean cursor-visible Read / Write
gboolean editable Read / Write
GMenuModel * extra-menu Read / Write
gchar * im-module Read / Write
gint indent Read / Write
GtkInputHints input-hints Read / Write
GtkInputPurpose input-purpose Read / Write
GtkJustification justification Read / Write
gint left-margin Read / Write
gboolean monospace Read / Write
gboolean overwrite Read / Write
gint pixels-above-lines Read / Write
gint pixels-below-lines Read / Write
gint pixels-inside-wrap Read / Write
gint right-margin Read / Write
PangoTabArray * tabs Read / Write
gint top-margin Read / Write
GtkWrapMode wrap-mode Read / Write

Signals

void backspace Action
void copy-clipboard Action
void cut-clipboard Action
void delete-from-cursor Action
gboolean extend-selection Run Last
void insert-at-cursor Action
void insert-emoji Action
void move-cursor Action
void move-viewport Action
void paste-clipboard Action
void preedit-changed Action
void select-all Action
void set-anchor Action
void toggle-cursor-visible Action
void toggle-overwrite Action

Actions

  menu.popup  
  text.redo  
  text.undo  
  misc.insert-emoji  
  selection.select-all  
  selection.delete  
  clipboard.paste  
  clipboard.copy  
  clipboard.cut  

Object Hierarchy

    GObject
    ├── GInitiallyUnowned
       ╰── GtkWidget
           ╰── GtkTextView
    ╰── GtkTextChildAnchor

Implemented Interfaces

GtkTextView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

CSS nodes

1
2
3
4
5
6
7
8
textview.view
├── border.top
├── border.left
├── text
   ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]

GtkTextView has a main css node with name textview and style class .view, and subnodes for each of the border windows, and the main text area, with names border and text, respectively. The border nodes each get one of the style classes .left, .right, .top or .bottom.

A node representing the selection will appear below the text node.

If a context menu is opened, the window node will appear as a subnode of the main node.


Accessibility

GtkTextView uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role.

Functions

gtk_text_view_new ()

GtkWidget *
gtk_text_view_new (void);

Creates a new GtkTextView. If you don’t call gtk_text_view_set_buffer() before using the text view, an empty default buffer will be created for you. Get the buffer with gtk_text_view_get_buffer(). If you want to specify your own buffer, consider gtk_text_view_new_with_buffer().

Returns

a new GtkTextView


gtk_text_view_new_with_buffer ()

GtkWidget *
gtk_text_view_new_with_buffer (GtkTextBuffer *buffer);

Creates a new GtkTextView widget displaying the buffer buffer . One buffer can be shared among many widgets. buffer may be NULL to create a default buffer, in which case this function is equivalent to gtk_text_view_new(). The text view adds its own reference count to the buffer; it does not take over an existing reference.

Parameters

buffer

a GtkTextBuffer

 

Returns

a new GtkTextView.


gtk_text_view_set_buffer ()

void
gtk_text_view_set_buffer (GtkTextView *text_view,
                          GtkTextBuffer *buffer);

Sets buffer as the buffer being displayed by text_view . The previous buffer displayed by the text view is unreferenced, and a reference is added to buffer . If you owned a reference to buffer before passing it to this function, you must remove that reference yourself; GtkTextView will not “adopt” it.

Parameters

text_view

a GtkTextView

 

buffer

a GtkTextBuffer.

[allow-none]

gtk_text_view_get_buffer ()

GtkTextBuffer *
gtk_text_view_get_buffer (GtkTextView *text_view);

Returns the GtkTextBuffer being displayed by this text view. The reference count on the buffer is not incremented; the caller of this function won’t own a new reference.

Parameters

text_view

a GtkTextView

 

Returns

a GtkTextBuffer.

[transfer none]


gtk_text_view_scroll_to_mark ()

void
gtk_text_view_scroll_to_mark (GtkTextView *text_view,
                              GtkTextMark *mark,
                              double within_margin,
                              gboolean use_align,
                              double xalign,
                              double yalign);

Scrolls text_view so that mark is on the screen in the position indicated by xalign and yalign . An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If use_align is FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size within_margin .

Parameters

text_view

a GtkTextView

 

mark

a GtkTextMark

 

within_margin

margin as a [0.0,0.5) fraction of screen size

 

use_align

whether to use alignment arguments (if FALSE, just get the mark onscreen)

 

xalign

horizontal alignment of mark within visible area

 

yalign

vertical alignment of mark within visible area

 

gtk_text_view_scroll_to_iter ()

gboolean
gtk_text_view_scroll_to_iter (GtkTextView *text_view,
                              GtkTextIter *iter,
                              double within_margin,
                              gboolean use_align,
                              double xalign,
                              double yalign);

Scrolls text_view so that iter is on the screen in the position indicated by xalign and yalign . An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If use_align is FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size within_margin .

Note that this function uses the currently-computed height of the lines in the text buffer. Line heights are computed in an idle handler; so this function may not have the desired effect if it’s called before the height computations. To avoid oddness, consider using gtk_text_view_scroll_to_mark() which saves a point to be scrolled to after line validation.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

within_margin

margin as a [0.0,0.5) fraction of screen size

 

use_align

whether to use alignment arguments (if FALSE, just get the mark onscreen)

 

xalign

horizontal alignment of mark within visible area

 

yalign

vertical alignment of mark within visible area

 

Returns

TRUE if scrolling occurred


gtk_text_view_scroll_mark_onscreen ()

void
gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view,
                                    GtkTextMark *mark);

Scrolls text_view the minimum distance such that mark is contained within the visible area of the widget.

Parameters

text_view

a GtkTextView

 

mark

a mark in the buffer for text_view

 

gtk_text_view_move_mark_onscreen ()

gboolean
gtk_text_view_move_mark_onscreen (GtkTextView *text_view,
                                  GtkTextMark *mark);

Moves a mark within the buffer so that it's located within the currently-visible text area.

Parameters

text_view

a GtkTextView

 

mark

a GtkTextMark

 

Returns

TRUE if the mark moved (wasn’t already onscreen)


gtk_text_view_place_cursor_onscreen ()

gboolean
gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);

Moves the cursor to the currently visible region of the buffer, if it isn’t there already.

Parameters

text_view

a GtkTextView

 

Returns

TRUE if the cursor had to be moved.


gtk_text_view_get_visible_rect ()

void
gtk_text_view_get_visible_rect (GtkTextView *text_view,
                                GdkRectangle *visible_rect);

Fills visible_rect with the currently-visible region of the buffer, in buffer coordinates. Convert to window coordinates with gtk_text_view_buffer_to_window_coords().

Parameters

text_view

a GtkTextView

 

visible_rect

rectangle to fill.

[out]

gtk_text_view_get_iter_location ()

void
gtk_text_view_get_iter_location (GtkTextView *text_view,
                                 const GtkTextIter *iter,
                                 GdkRectangle *location);

Gets a rectangle which roughly contains the character at iter . The rectangle position is in buffer coordinates; use gtk_text_view_buffer_to_window_coords() to convert these coordinates to coordinates for one of the windows in the text view.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

location

bounds of the character at iter .

[out]

gtk_text_view_get_cursor_locations ()

void
gtk_text_view_get_cursor_locations (GtkTextView *text_view,
                                    const GtkTextIter *iter,
                                    GdkRectangle *strong,
                                    GdkRectangle *weak);

Given an iter within a text layout, determine the positions of the strong and weak cursors if the insertion point is at that iterator. The position of each cursor is stored as a zero-width rectangle. The strong cursor location is the location where characters of the directionality equal to the base direction of the paragraph are inserted. The weak cursor location is the location where characters of the directionality opposite to the base direction of the paragraph are inserted.

If iter is NULL, the actual cursor position is used.

Note that if iter happens to be the actual cursor position, and there is currently an IM preedit sequence being entered, the returned locations will be adjusted to account for the preedit cursor’s offset within the preedit sequence.

The rectangle position is in buffer coordinates; use gtk_text_view_buffer_to_window_coords() to convert these coordinates to coordinates for one of the windows in the text view.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter.

[allow-none]

strong

location to store the strong cursor position (may be NULL).

[out][allow-none]

weak

location to store the weak cursor position (may be NULL).

[out][allow-none]

gtk_text_view_get_line_at_y ()

void
gtk_text_view_get_line_at_y (GtkTextView *text_view,
                             GtkTextIter *target_iter,
                             int y,
                             int *line_top);

Gets the GtkTextIter at the start of the line containing the coordinate y . y is in buffer coordinates, convert from window coordinates with gtk_text_view_window_to_buffer_coords(). If non-NULL, line_top will be filled with the coordinate of the top edge of the line.

Parameters

text_view

a GtkTextView

 

target_iter

a GtkTextIter.

[out]

y

a y coordinate

 

line_top

return location for top coordinate of the line.

[out]

gtk_text_view_get_line_yrange ()

void
gtk_text_view_get_line_yrange (GtkTextView *text_view,
                               const GtkTextIter *iter,
                               int *y,
                               int *height);

Gets the y coordinate of the top of the line containing iter , and the height of the line. The coordinate is a buffer coordinate; convert to window coordinates with gtk_text_view_buffer_to_window_coords().

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

y

return location for a y coordinate.

[out]

height

return location for a height.

[out]

gtk_text_view_get_iter_at_location ()

gboolean
gtk_text_view_get_iter_at_location (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    int x,
                                    int y);

Retrieves the iterator at buffer coordinates x and y . Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords().

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter.

[out]

x

x position, in buffer coordinates

 

y

y position, in buffer coordinates

 

Returns

TRUE if the position is over text


gtk_text_view_get_iter_at_position ()

gboolean
gtk_text_view_get_iter_at_position (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    int *trailing,
                                    int x,
                                    int y);

Retrieves the iterator pointing to the character at buffer coordinates x and y . Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords().

Note that this is different from gtk_text_view_get_iter_at_location(), which returns cursor locations, i.e. positions between characters.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter.

[out]

trailing

if non-NULL, location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the grapheme.

[out][allow-none]

x

x position, in buffer coordinates

 

y

y position, in buffer coordinates

 

Returns

TRUE if the position is over text


gtk_text_view_buffer_to_window_coords ()

void
gtk_text_view_buffer_to_window_coords (GtkTextView *text_view,
                                       GtkTextWindowType win,
                                       int buffer_x,
                                       int buffer_y,
                                       int *window_x,
                                       int *window_y);

Converts coordinate (buffer_x , buffer_y ) to coordinates for the window win , and stores the result in (window_x , window_y ).

Note that you can’t convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()).

Parameters

text_view

a GtkTextView

 

win

a GtkTextWindowType

 

buffer_x

buffer x coordinate

 

buffer_y

buffer y coordinate

 

window_x

window x coordinate return location or NULL.

[out][allow-none]

window_y

window y coordinate return location or NULL.

[out][allow-none]

gtk_text_view_window_to_buffer_coords ()

void
gtk_text_view_window_to_buffer_coords (GtkTextView *text_view,
                                       GtkTextWindowType win,
                                       int window_x,
                                       int window_y,
                                       int *buffer_x,
                                       int *buffer_y);

Converts coordinates on the window identified by win to buffer coordinates, storing the result in (buffer_x ,buffer_y ).

Note that you can’t convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()).

Parameters

text_view

a GtkTextView

 

win

a GtkTextWindowType

 

window_x

window x coordinate

 

window_y

window y coordinate

 

buffer_x

buffer x coordinate return location or NULL.

[out][allow-none]

buffer_y

buffer y coordinate return location or NULL.

[out][allow-none]

gtk_text_view_forward_display_line ()

gboolean
gtk_text_view_forward_display_line (GtkTextView *text_view,
                                    GtkTextIter *iter);

Moves the given iter forward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

Returns

TRUE if iter was moved and is not on the end iterator


gtk_text_view_backward_display_line ()

gboolean
gtk_text_view_backward_display_line (GtkTextView *text_view,
                                     GtkTextIter *iter);

Moves the given iter backward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

Returns

TRUE if iter was moved and is not on the end iterator


gtk_text_view_forward_display_line_end ()

gboolean
gtk_text_view_forward_display_line_end
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Moves the given iter forward to the next display line end. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

Returns

TRUE if iter was moved and is not on the end iterator


gtk_text_view_backward_display_line_start ()

gboolean
gtk_text_view_backward_display_line_start
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Moves the given iter backward to the next display line start. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

Returns

TRUE if iter was moved and is not on the end iterator


gtk_text_view_starts_display_line ()

gboolean
gtk_text_view_starts_display_line (GtkTextView *text_view,
                                   const GtkTextIter *iter);

Determines whether iter is at the start of a display line. See gtk_text_view_forward_display_line() for an explanation of display lines vs. paragraphs.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

Returns

TRUE if iter begins a wrapped line


gtk_text_view_move_visually ()

gboolean
gtk_text_view_move_visually (GtkTextView *text_view,
                             GtkTextIter *iter,
                             int count);

Move the iterator a given number of characters visually, treating it as the strong cursor position. If count is positive, then the new strong cursor position will be count positions to the right of the old cursor position. If count is negative then the new strong cursor position will be count positions to the left of the old cursor position.

In the presence of bi-directional text, the correspondence between logical and visual order will depend on the direction of the current run, and there may be jumps when the cursor is moved off of the end of a run.

Parameters

text_view

a GtkTextView

 

iter

a GtkTextIter

 

count

number of characters to move (negative moves left, positive moves right)

 

Returns

TRUE if iter moved and is not on the end iterator


gtk_text_view_add_child_at_anchor ()

void
gtk_text_view_add_child_at_anchor (GtkTextView *text_view,
                                   GtkWidget *child,
                                   GtkTextChildAnchor *anchor);

Adds a child widget in the text buffer, at the given anchor .

Parameters

text_view

a GtkTextView

 

child

a GtkWidget

 

anchor

a GtkTextChildAnchor in the GtkTextBuffer for text_view

 

gtk_text_view_remove ()

void
gtk_text_view_remove (GtkTextView *text_view,
                      GtkWidget *child);

Removes a child widget from text_view .

Parameters

text_view

a GtkTextView

 

child

the child to remove

 

gtk_text_child_anchor_new ()

GtkTextChildAnchor *
gtk_text_child_anchor_new (void);

Creates a new GtkTextChildAnchor. Usually you would then insert it into a GtkTextBuffer with gtk_text_buffer_insert_child_anchor(). To perform the creation and insertion in one step, use the convenience function gtk_text_buffer_create_child_anchor().

Returns

a new GtkTextChildAnchor


gtk_text_child_anchor_get_widgets ()

GtkWidget **
gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor,
                                   guint *out_len);

Gets a list of all widgets anchored at this child anchor.

The order in which the widgets are returned is not defined.

Parameters

anchor

a GtkTextChildAnchor

 

out_len

return location for the length of the array.

[out]

Returns

an array of widgets anchored at anchor .

[array length=out_len][transfer container]


gtk_text_child_anchor_get_deleted ()

gboolean
gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);

Determines whether a child anchor has been deleted from the buffer. Keep in mind that the child anchor will be unreferenced when removed from the buffer, so you need to hold your own reference (with g_object_ref()) if you plan to use this function — otherwise all deleted child anchors will also be finalized.

Parameters

anchor

a GtkTextChildAnchor

 

Returns

TRUE if the child anchor has been deleted from its buffer


gtk_text_view_get_gutter ()

GtkWidget *
gtk_text_view_get_gutter (GtkTextView *text_view,
                          GtkTextWindowType win);

Gets a GtkWidget that has previously been set with gtk_text_view_set_gutter().

win must be one of GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, or GTK_TEXT_WINDOW_BOTTOM.

Parameters

text_view

a GtkTextView

 

win

a GtkTextWindowType

 

Returns

a GtkWidget or NULL.

[transfer none][nullable]


gtk_text_view_set_gutter ()

void
gtk_text_view_set_gutter (GtkTextView *text_view,
                          GtkTextWindowType win,
                          GtkWidget *widget);

Places widget into the gutter specified by win .

win must be one of GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, or GTK_TEXT_WINDOW_BOTTOM.

Parameters

text_view

a GtkTextView

 

win

a GtkTextWindowType

 

widget

a GtkWidget or NULL.

[nullable]

gtk_text_view_add_overlay ()

void
gtk_text_view_add_overlay (GtkTextView *text_view,
                           GtkWidget *child,
                           int xpos,
                           int ypos);

Adds child at a fixed coordinate in the GtkTextView's text window. The xpos and ypos must be in buffer coordinates (see gtk_text_view_get_iter_location() to conver to buffer coordinates).

child will scroll with the text view.

If instead you want a widget that will not move with the GtkTextView contents see GtkOverlay.

Parameters

text_view

a GtkTextView

 

child

a GtkWidget

 

xpos

X position of child in window coordinates

 

ypos

Y position of child in window coordinates

 

gtk_text_view_move_overlay ()

void
gtk_text_view_move_overlay (GtkTextView *text_view,
                            GtkWidget *child,
                            int xpos,
                            int ypos);

Updates the position of a child, as for gtk_text_view_add_overlay().

Parameters

text_view

a GtkTextView

 

child

a widget already added with gtk_text_view_add_overlay()

 

xpos

new X position in buffer coordinates

 

ypos

new Y position in buffer coordinates

 

gtk_text_view_set_wrap_mode ()

void
gtk_text_view_set_wrap_mode (GtkTextView *text_view,
                             GtkWrapMode wrap_mode);

Sets the line wrapping for the view.

Parameters

text_view

a GtkTextView

 

wrap_mode

a GtkWrapMode

 

gtk_text_view_get_wrap_mode ()

GtkWrapMode
gtk_text_view_get_wrap_mode (GtkTextView *text_view);

Gets the line wrapping for the view.

Parameters

text_view

a GtkTextView

 

Returns

the line wrap setting


gtk_text_view_set_editable ()

void
gtk_text_view_set_editable (GtkTextView *text_view,
                            gboolean setting);

Sets the default editability of the GtkTextView. You can override this default setting with tags in the buffer, using the “editable” attribute of tags.

Parameters

text_view

a GtkTextView

 

setting

whether it’s editable

 

gtk_text_view_get_editable ()

gboolean
gtk_text_view_get_editable (GtkTextView *text_view);

Returns the default editability of the GtkTextView. Tags in the buffer may override this setting for some ranges of text.

Parameters

text_view

a GtkTextView

 

Returns

whether text is editable by default


gtk_text_view_set_cursor_visible ()

void
gtk_text_view_set_cursor_visible (GtkTextView *text_view,
                                  gboolean setting);

Toggles whether the insertion point should be displayed. A buffer with no editable text probably shouldn’t have a visible cursor, so you may want to turn the cursor off.

Note that this property may be overridden by the “gtk-keynav-use-caret” settings.

Parameters

text_view

a GtkTextView

 

setting

whether to show the insertion cursor

 

gtk_text_view_get_cursor_visible ()

gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view);

Find out whether the cursor should be displayed.

Parameters

text_view

a GtkTextView

 

Returns

whether the insertion mark is visible


gtk_text_view_reset_cursor_blink ()

void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view);

Ensures that the cursor is shown (i.e. not in an 'off' blink interval) and resets the time that it will stay blinking (or visible, in case blinking is disabled).

This function should be called in response to user input (e.g. from derived classes that override the textview's event handlers).

Parameters

text_view

a GtkTextView

 

gtk_text_view_set_overwrite ()

void
gtk_text_view_set_overwrite (GtkTextView *text_view,
                             gboolean overwrite);

Changes the GtkTextView overwrite mode.

Parameters

text_view

a GtkTextView

 

overwrite

TRUE to turn on overwrite mode, FALSE to turn it off

 

gtk_text_view_get_overwrite ()

gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view);

Returns whether the GtkTextView is in overwrite mode or not.

Parameters

text_view

a GtkTextView

 

Returns

whether text_view is in overwrite mode or not.


gtk_text_view_set_pixels_above_lines ()

void
gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,
                                      int pixels_above_lines);

Sets the default number of blank pixels above paragraphs in text_view . Tags in the buffer for text_view may override the defaults.

Parameters

text_view

a GtkTextView

 

pixels_above_lines

pixels above paragraphs

 

gtk_text_view_get_pixels_above_lines ()

int
gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);

Gets the default number of pixels to put above paragraphs. Adding this function with gtk_text_view_get_pixels_below_lines() is equal to the line space between each paragraph.

Parameters

text_view

a GtkTextView

 

Returns

default number of pixels above paragraphs


gtk_text_view_set_pixels_below_lines ()

void
gtk_text_view_set_pixels_below_lines (GtkTextView *text_view,
                                      int pixels_below_lines);

Sets the default number of pixels of blank space to put below paragraphs in text_view . May be overridden by tags applied to text_view ’s buffer.

Parameters

text_view

a GtkTextView

 

pixels_below_lines

pixels below paragraphs

 

gtk_text_view_get_pixels_below_lines ()

int
gtk_text_view_get_pixels_below_lines (GtkTextView *text_view);

Gets the value set by gtk_text_view_set_pixels_below_lines().

The line space is the sum of the value returned by this function and the value returned by gtk_text_view_get_pixels_above_lines().

Parameters

text_view

a GtkTextView

 

Returns

default number of blank pixels below paragraphs


gtk_text_view_set_pixels_inside_wrap ()

void
gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view,
                                      int pixels_inside_wrap);

Sets the default number of pixels of blank space to leave between display/wrapped lines within a paragraph. May be overridden by tags in text_view ’s buffer.

Parameters

text_view

a GtkTextView

 

pixels_inside_wrap

default number of pixels between wrapped lines

 

gtk_text_view_get_pixels_inside_wrap ()

int
gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view);

Gets the value set by gtk_text_view_set_pixels_inside_wrap().

Parameters

text_view

a GtkTextView

 

Returns

default number of pixels of blank space between wrapped lines


gtk_text_view_set_justification ()

void
gtk_text_view_set_justification (GtkTextView *text_view,
                                 GtkJustification justification);

Sets the default justification of text in text_view . Tags in the view’s buffer may override the default.

Parameters

text_view

a GtkTextView

 

justification

justification

 

gtk_text_view_get_justification ()

GtkJustification
gtk_text_view_get_justification (GtkTextView *text_view);

Gets the default justification of paragraphs in text_view . Tags in the buffer may override the default.

Parameters

text_view

a GtkTextView

 

Returns

default justification


gtk_text_view_set_left_margin ()

void
gtk_text_view_set_left_margin (GtkTextView *text_view,
                               int left_margin);

Sets the default left margin for text in text_view . Tags in the buffer may override the default.

Note that this function is confusingly named. In CSS terms, the value set here is padding.

Parameters

text_view

a GtkTextView

 

left_margin

left margin in pixels

 

gtk_text_view_get_left_margin ()

int
gtk_text_view_get_left_margin (GtkTextView *text_view);

Gets the default left margin size of paragraphs in the text_view . Tags in the buffer may override the default.

Parameters

text_view

a GtkTextView

 

Returns

left margin in pixels


gtk_text_view_set_right_margin ()

void
gtk_text_view_set_right_margin (GtkTextView *text_view,
                                int right_margin);

Sets the default right margin for text in the text view. Tags in the buffer may override the default.

Note that this function is confusingly named. In CSS terms, the value set here is padding.

Parameters

text_view

a GtkTextView

 

right_margin

right margin in pixels

 

gtk_text_view_get_right_margin ()

int
gtk_text_view_get_right_margin (GtkTextView *text_view);

Gets the default right margin for text in text_view . Tags in the buffer may override the default.

Parameters

text_view

a GtkTextView

 

Returns

right margin in pixels


gtk_text_view_set_top_margin ()

void
gtk_text_view_set_top_margin (GtkTextView *text_view,
                              int top_margin);

Sets the top margin for text in text_view .

Note that this function is confusingly named. In CSS terms, the value set here is padding.

Parameters

text_view

a GtkTextView

 

top_margin

top margin in pixels

 

gtk_text_view_get_top_margin ()

int
gtk_text_view_get_top_margin (GtkTextView *text_view);

Gets the top margin for text in the text_view .

Parameters

text_view

a GtkTextView

 

Returns

top margin in pixels


gtk_text_view_set_bottom_margin ()

void
gtk_text_view_set_bottom_margin (GtkTextView *text_view,
                                 int bottom_margin);

Sets the bottom margin for text in text_view .

Note that this function is confusingly named. In CSS terms, the value set here is padding.

Parameters

text_view

a GtkTextView

 

bottom_margin

bottom margin in pixels

 

gtk_text_view_get_bottom_margin ()

int
gtk_text_view_get_bottom_margin (GtkTextView *text_view);

Gets the bottom margin for text in the text_view .

Parameters

text_view

a GtkTextView

 

Returns

bottom margin in pixels


gtk_text_view_set_indent ()

void
gtk_text_view_set_indent (GtkTextView *text_view,
                          int indent);

Sets the default indentation for paragraphs in text_view . Tags in the buffer may override the default.

Parameters

text_view

a GtkTextView

 

indent

indentation in pixels

 

gtk_text_view_get_indent ()

int
gtk_text_view_get_indent (GtkTextView *text_view);

Gets the default indentation of paragraphs in text_view . Tags in the view’s buffer may override the default. The indentation may be negative.

Parameters

text_view

a GtkTextView

 

Returns

number of pixels of indentation


gtk_text_view_set_tabs ()

void
gtk_text_view_set_tabs (GtkTextView *text_view,
                        PangoTabArray *tabs);

Sets the default tab stops for paragraphs in text_view . Tags in the buffer may override the default.

Parameters

text_view

a GtkTextView

 

tabs

tabs as a PangoTabArray

 

gtk_text_view_get_tabs ()

PangoTabArray *
gtk_text_view_get_tabs (GtkTextView *text_view);

Gets the default tabs for text_view . Tags in the buffer may override the defaults. The returned array will be NULL if “standard” (8-space) tabs are used. Free the return value with pango_tab_array_free().

Parameters

text_view

a GtkTextView

 

Returns

copy of default tab array, or NULL if “standard" tabs are used; must be freed with pango_tab_array_free().

[nullable][transfer full]


gtk_text_view_set_accepts_tab ()

void
gtk_text_view_set_accepts_tab (GtkTextView *text_view,
                               gboolean accepts_tab);

Sets the behavior of the text widget when the Tab key is pressed. If accepts_tab is TRUE, a tab character is inserted. If accepts_tab is FALSE the keyboard focus is moved to the next widget in the focus chain.

Parameters

text_view

A GtkTextView

 

accepts_tab

TRUE if pressing the Tab key should insert a tab character, FALSE, if pressing the Tab key should move the keyboard focus.

 

gtk_text_view_get_accepts_tab ()

gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view);

Returns whether pressing the Tab key inserts a tab characters. gtk_text_view_set_accepts_tab().

Parameters

text_view

A GtkTextView

 

Returns

TRUE if pressing the Tab key inserts a tab character, FALSE if pressing the Tab key moves the keyboard focus.


gtk_text_view_im_context_filter_keypress ()

gboolean
gtk_text_view_im_context_filter_keypress
                               (GtkTextView *text_view,
                                GdkEvent *event);

Allow the GtkTextView input method to internally handle key press and release events. If this function returns TRUE, then no further processing should be done for this key event. See gtk_im_context_filter_keypress().

Note that you are expected to call this function from your handler when overriding key event handling. This is needed in the case when you need to insert your own key handling between the input method and the default key event handling of the GtkTextView.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static gboolean
gtk_foo_bar_key_press_event (GtkWidget *widget,
                             GdkEvent  *event)
{
  guint keyval;
  
  gdk_event_get_keyval ((GdkEvent*)event, &keyval);

  if (keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter)
    {
      if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (widget), event))
        return TRUE;
    }

  // Do some stuff

  return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event);
}

Parameters

text_view

a GtkTextView

 

event

the key event

 

Returns

TRUE if the input method handled the key event.


gtk_text_view_reset_im_context ()

void
gtk_text_view_reset_im_context (GtkTextView *text_view);

Reset the input method context of the text view if needed.

This can be necessary in the case where modifying the buffer would confuse on-going input method behavior.

Parameters

text_view

a GtkTextView

 

gtk_text_view_set_input_purpose ()

void
gtk_text_view_set_input_purpose (GtkTextView *text_view,
                                 GtkInputPurpose purpose);

Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour.

Parameters

text_view

a GtkTextView

 

purpose

the purpose

 

gtk_text_view_get_input_purpose ()

GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view);

Gets the value of the “input-purpose” property.

Parameters

text_view

a GtkTextView

 

gtk_text_view_set_input_hints ()

void
gtk_text_view_set_input_hints (GtkTextView *text_view,
                               GtkInputHints hints);

Sets the “input-hints” property, which allows input methods to fine-tune their behaviour.

Parameters

text_view

a GtkTextView

 

hints

the hints

 

gtk_text_view_get_input_hints ()

GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view);

Gets the value of the “input-hints” property.

Parameters

text_view

a GtkTextView

 

gtk_text_view_set_monospace ()

void
gtk_text_view_set_monospace (GtkTextView *text_view,
                             gboolean monospace);

Sets the “monospace” property, which indicates that the text view should use monospace fonts.

Parameters

text_view

a GtkTextView

 

monospace

TRUE to request monospace styling

 

gtk_text_view_get_monospace ()

gboolean
gtk_text_view_get_monospace (GtkTextView *text_view);

Gets the value of the “monospace” property.

Return: TRUE if monospace fonts are desired

Parameters

text_view

a GtkTextView

 

gtk_text_view_set_extra_menu ()

void
gtk_text_view_set_extra_menu (GtkTextView *text_view,
                              GMenuModel *model);

Sets a menu model to add when constructing the context menu for text_view .

Parameters

text_view

a GtkTextView

 

model

a GMenuModel.

[allow-none]

gtk_text_view_get_extra_menu ()

GMenuModel *
gtk_text_view_get_extra_menu (GtkTextView *text_view);

Gets the menu model set with gtk_text_view_set_extra_menu().

Parameters

text_view

a GtkTextView

 

Returns

(nullable): the menu model.

[transfer none]

Types and Values

struct GtkTextView

struct GtkTextView;

struct GtkTextViewClass

struct GtkTextViewClass {
  GtkWidgetClass parent_class;

  void (* move_cursor)           (GtkTextView      *text_view,
                                  GtkMovementStep   step,
                                  int               count,
                                  gboolean          extend_selection);
  void (* set_anchor)            (GtkTextView      *text_view);
  void (* insert_at_cursor)      (GtkTextView      *text_view,
                                  const char       *str);
  void (* delete_from_cursor)    (GtkTextView      *text_view,
                                  GtkDeleteType     type,
                                  int               count);
  void (* backspace)             (GtkTextView      *text_view);
  void (* cut_clipboard)         (GtkTextView      *text_view);
  void (* copy_clipboard)        (GtkTextView      *text_view);
  void (* paste_clipboard)       (GtkTextView      *text_view);
  void (* toggle_overwrite)      (GtkTextView      *text_view);
  GtkTextBuffer * (* create_buffer) (GtkTextView   *text_view);
  void (* snapshot_layer)        (GtkTextView      *text_view,
			          GtkTextViewLayer  layer,
			          GtkSnapshot      *snapshot);
  gboolean (* extend_selection)  (GtkTextView            *text_view,
                                  GtkTextExtendSelection  granularity,
                                  const GtkTextIter      *location,
                                  GtkTextIter            *start,
                                  GtkTextIter            *end);
  void (* insert_emoji)          (GtkTextView      *text_view);
};

Members

move_cursor ()

The class handler for the “move-cursor” keybinding signal.

 

set_anchor ()

The class handler for the “set-anchor” keybinding signal.

 

insert_at_cursor ()

The class handler for the “insert-at-cursor” keybinding signal.

 

delete_from_cursor ()

The class handler for the “delete-from-cursor” keybinding signal.

 

backspace ()

The class handler for the “backspace” keybinding signal.

 

cut_clipboard ()

The class handler for the “cut-clipboard” keybinding signal

 

copy_clipboard ()

The class handler for the “copy-clipboard” keybinding signal.

 

paste_clipboard ()

The class handler for the “paste-clipboard” keybinding signal.

 

toggle_overwrite ()

The class handler for the “toggle-overwrite” keybinding signal.

 

create_buffer ()

The create_buffer vfunc is called to create a GtkTextBuffer for the text view. The default implementation is to just call gtk_text_buffer_new().

 

snapshot_layer ()

The snapshot_layer vfunc is called before and after the text view is drawing its own text. Applications can override this vfunc in a subclass to draw customized content underneath or above the text. In the GTK_TEXT_VIEW_LAYER_BELOW_TEXT and GTK_TEXT_VIEW_LAYER_ABOVE_TEXT the drawing is done in the buffer coordinate space, but the older (deprecated) layers GTK_TEXT_VIEW_LAYER_BELOW and GTK_TEXT_VIEW_LAYER_ABOVE work in viewport coordinates, which makes them unnecessarily hard to use.

 

extend_selection ()

The class handler for the “extend-selection” signal.

 

insert_emoji ()

The class handler for the “insert-emoji” signal.

 

enum GtkTextViewLayer

Used to reference the layers of GtkTextView for the purpose of customized drawing with the ::snapshot_layer vfunc.

Members

GTK_TEXT_VIEW_LAYER_BELOW_TEXT

The layer rendered below the text (but above the background).

 

GTK_TEXT_VIEW_LAYER_ABOVE_TEXT

The layer rendered above the text.

 

enum GtkTextWindowType

Used to reference the parts of GtkTextView.

Members

GTK_TEXT_WINDOW_WIDGET

Window that floats over scrolling areas.

 

GTK_TEXT_WINDOW_TEXT

Scrollable text window.

 

GTK_TEXT_WINDOW_LEFT

Left side border window.

 

GTK_TEXT_WINDOW_RIGHT

Right side border window.

 

GTK_TEXT_WINDOW_TOP

Top border window.

 

GTK_TEXT_WINDOW_BOTTOM

Bottom border window.

 

enum GtkTextExtendSelection

Granularity types that extend the text selection. Use the “extend-selection” signal to customize the selection.

Members

GTK_TEXT_EXTEND_SELECTION_WORD

Selects the current word. It is triggered by a double-click for example.

 

GTK_TEXT_EXTEND_SELECTION_LINE

Selects the current line. It is triggered by a triple-click for example.

 

enum GtkWrapMode

Describes a type of line wrapping.

Members

GTK_WRAP_NONE

do not wrap lines; just make the text area wider

 

GTK_WRAP_CHAR

wrap text, breaking lines anywhere the cursor can appear (between characters, usually - if you want to be technical, between graphemes, see pango_get_log_attrs())

 

GTK_WRAP_WORD

wrap text, breaking lines in between words

 

GTK_WRAP_WORD_CHAR

wrap text, breaking lines in between words, or if that is not enough, also between graphemes

 

struct GtkTextChildAnchor

struct GtkTextChildAnchor;

A GtkTextChildAnchor is a spot in the buffer where child widgets can be “anchored” (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, to allow for multiple views.


GTK_TEXT_VIEW_PRIORITY_VALIDATE

#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)

The priority at which the text view validates onscreen lines in an idle job in the background.

Property Details

The “accepts-tab” property

  “accepts-tab”              gboolean

Whether Tab will result in a tab character being entered.

Owner: GtkTextView

Flags: Read / Write

Default value: TRUE


The “bottom-margin” property

  “bottom-margin”            gint

The bottom margin for text in the text view.

Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme.

Don't confuse this property with “margin-bottom”.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “buffer” property

  “buffer”                   GtkTextBuffer *

The buffer which is displayed.

Owner: GtkTextView

Flags: Read / Write


The “cursor-visible” property

  “cursor-visible”           gboolean

If the insertion cursor is shown.

Owner: GtkTextView

Flags: Read / Write

Default value: TRUE


The “editable” property

  “editable”                 gboolean

Whether the text can be modified by the user.

Owner: GtkTextView

Flags: Read / Write

Default value: TRUE


The “extra-menu” property

  “extra-menu”               GMenuModel *

Menu model to append to the context menu.

Owner: GtkTextView

Flags: Read / Write


The “im-module” property

  “im-module”                gchar *

Which IM (input method) module should be used for this text_view. See GtkIMContext.

Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property.

Owner: GtkTextView

Flags: Read / Write

Default value: NULL


The “indent” property

  “indent”                   gint

Amount to indent the paragraph, in pixels.

Owner: GtkTextView

Flags: Read / Write

Default value: 0


The “input-hints” property

  “input-hints”              GtkInputHints

Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour.

Owner: GtkTextView

Flags: Read / Write


The “input-purpose” property

  “input-purpose”            GtkInputPurpose

The purpose of this text field.

This property can be used by on-screen keyboards and other input methods to adjust their behaviour.

Owner: GtkTextView

Flags: Read / Write

Default value: GTK_INPUT_PURPOSE_FREE_FORM


The “justification” property

  “justification”            GtkJustification

Left, right, or center justification.

Owner: GtkTextView

Flags: Read / Write

Default value: GTK_JUSTIFY_LEFT


The “left-margin” property

  “left-margin”              gint

The default left margin for text in the text view. Tags in the buffer may override the default.

Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme.

Don't confuse this property with “margin-left”.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “monospace” property

  “monospace”                gboolean

If TRUE, set the GTK_STYLE_CLASS_MONOSPACE style class on the text view to indicate that a monospace font is desired.

Owner: GtkTextView

Flags: Read / Write

Default value: FALSE


The “overwrite” property

  “overwrite”                gboolean

Whether entered text overwrites existing contents.

Owner: GtkTextView

Flags: Read / Write

Default value: FALSE


The “pixels-above-lines” property

  “pixels-above-lines”       gint

Pixels of blank space above paragraphs.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-below-lines” property

  “pixels-below-lines”       gint

Pixels of blank space below paragraphs.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-inside-wrap” property

  “pixels-inside-wrap”       gint

Pixels of blank space between wrapped lines in a paragraph.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “right-margin” property

  “right-margin”             gint

The default right margin for text in the text view. Tags in the buffer may override the default.

Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme.

Don't confuse this property with “margin-right”.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “tabs” property

  “tabs”                     PangoTabArray *

Custom tabs for this text.

Owner: GtkTextView

Flags: Read / Write


The “top-margin” property

  “top-margin”               gint

The top margin for text in the text view.

Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme.

Don't confuse this property with “margin-top”.

Owner: GtkTextView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “wrap-mode” property

  “wrap-mode”                GtkWrapMode

Whether to wrap lines never, at word boundaries, or at character boundaries.

Owner: GtkTextView

Flags: Read / Write

Default value: GTK_WRAP_NONE

Signal Details

The “backspace” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::backspace signal is a keybinding signal which gets emitted when the user asks for it.

The default bindings for this signal are Backspace and Shift-Backspace.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “copy-clipboard” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are Ctrl-c and Ctrl-Insert.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “cut-clipboard” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::cut-clipboard signal is a keybinding signal which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are Ctrl-x and Shift-Delete.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “delete-from-cursor” signal

void
user_function (GtkTextView  *text_view,
               GtkDeleteType type,
               gint          count,
               gpointer      user_data)

The ::delete-from-cursor signal is a keybinding signal which gets emitted when the user initiates a text deletion.

If the type is GTK_DELETE_CHARS, GTK+ deletes the selection if there is one, otherwise it deletes the requested number of characters.

The default bindings for this signal are Delete for deleting a character, Ctrl-Delete for deleting a word and Ctrl-Backspace for deleting a word backwards.

Parameters

text_view

the object which received the signal

 

type

the granularity of the deletion, as a GtkDeleteType

 

count

the number of type units to delete

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “extend-selection” signal

gboolean
user_function (GtkTextView           *text_view,
               GtkTextExtendSelection granularity,
               GtkTextIter           *location,
               GtkTextIter           *start,
               GtkTextIter           *end,
               gpointer               user_data)

The ::extend-selection signal is emitted when the selection needs to be extended at location .

Parameters

text_view

the object which received the signal

 

granularity

the granularity type

 

location

the location where to extend the selection

 

start

where the selection should start

 

end

where the selection should end

 

user_data

user data set when the signal handler was connected.

 

Returns

GDK_EVENT_STOP to stop other handlers from being invoked for the event. GDK_EVENT_PROPAGATE to propagate the event further.

Flags: Run Last


The “insert-at-cursor” signal

void
user_function (GtkTextView *text_view,
               gchar       *string,
               gpointer     user_data)

The ::insert-at-cursor signal is a keybinding signal which gets emitted when the user initiates the insertion of a fixed string at the cursor.

This signal has no default bindings.

Parameters

text_view

the object which received the signal

 

string

the string to insert

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “insert-emoji” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::insert-emoji signal is a keybinding signal which gets emitted to present the Emoji chooser for the text_view .

The default bindings for this signal are Ctrl-. and Ctrl-;

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “move-cursor” signal

void
user_function (GtkTextView    *text_view,
               GtkMovementStep step,
               gint            count,
               gboolean        extend_selection,
               gpointer        user_data)

The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. If the cursor is not visible in text_view , this signal causes the viewport to be moved instead.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.

  • Arrow keys move by individual characters/lines

  • Ctrl-arrow key combinations move by words/paragraphs

  • Home/End keys move to the ends of the buffer

  • PageUp/PageDown keys move vertically by pages

  • Ctrl-PageUp/PageDown keys move horizontally by pages

Parameters

text_view

the object which received the signal

 

step

the granularity of the move, as a GtkMovementStep

 

count

the number of step units to move

 

extend_selection

TRUE if the move should extend the selection

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “move-viewport” signal

void
user_function (GtkTextView  *text_view,
               GtkScrollStep step,
               gint          count,
               gpointer      user_data)

The ::move-viewport signal is a keybinding signal which can be bound to key combinations to allow the user to move the viewport, i.e. change what part of the text view is visible in a containing scrolled window.

There are no default bindings for this signal.

Parameters

text_view

the object which received the signal

 

step

the granularity of the movement, as a GtkScrollStep

 

count

the number of step units to move

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “paste-clipboard” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::paste-clipboard signal is a keybinding signal which gets emitted to paste the contents of the clipboard into the text view.

The default bindings for this signal are Ctrl-v and Shift-Insert.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “preedit-changed” signal

void
user_function (GtkTextView *text_view,
               gchar       *preedit,
               gpointer     user_data)

If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal.

This signal is only emitted if the text at the given position is actually editable.

Parameters

text_view

the object which received the signal

 

preedit

the current preedit string

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “select-all” signal

void
user_function (GtkTextView *text_view,
               gboolean     select,
               gpointer     user_data)

The ::select-all signal is a keybinding signal which gets emitted to select or unselect the complete contents of the text view.

The default bindings for this signal are Ctrl-a and Ctrl-/ for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting.

Parameters

text_view

the object which received the signal

 

select

TRUE to select, FALSE to unselect

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “set-anchor” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::set-anchor signal is a keybinding signal which gets emitted when the user initiates setting the "anchor" mark. The "anchor" mark gets placed at the same position as the "insert" mark.

This signal has no default bindings.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “toggle-cursor-visible” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::toggle-cursor-visible signal is a keybinding signal which gets emitted to toggle the “cursor-visible” property.

The default binding for this signal is F7.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “toggle-overwrite” signal

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

The ::toggle-overwrite signal is a keybinding signal which gets emitted to toggle the overwrite mode of the text view.

The default bindings for this signal is Insert.

Parameters

text_view

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Action Details

The “menu.popup” action

Opens the context menu.


The “text.redo” action

Redoes the last change to the contents.


The “text.undo” action

Undoes the last change to the contents.


The “misc.insert-emoji” action

Opens the Emoji chooser.


The “selection.select-all” action

Selects all of the widgets content.


The “selection.delete” action

Deletes the current selection.


The “clipboard.paste” action

Inserts the contents of the clipboard into the widget.


The “clipboard.copy” action

Copies the contents to the clipboard.


The “clipboard.cut” action

Copies the contents to the clipboard and deletes it from the widget.

docs/reference/gtk/html/GtkTreeListRow.html0000664000175000017500000005132013710700534021105 0ustar mclasenmclasen GtkTreeListRow: GTK 4 Reference Manual

GtkTreeListRow

GtkTreeListRow — A row in a GtkTreeListModel

Includes

#include <gtk/gtk.h>

Description

GtkTreeListRow is the object used by GtkTreeListModel to represent items. It allows navigating the model as a tree and modify the state of rows.

GtkTreeListRow instances are created by a GtkTreeListModel only when the “passthrough” property is not set.

There are various support objects that can make use of GtkTreeListRow objects, such as the GtkTreeExpander widget that allows displaying an icon to expand or collapse a row or GtkTreeListRowSorter that makes it possible to sort trees properly.

Functions

gtk_tree_list_row_get_item ()

gpointer
gtk_tree_list_row_get_item (GtkTreeListRow *self);

Gets the item corresponding to this row,

The value returned by this function never changes until the row is destroyed.

Parameters

self

a GtkTreeListRow

 

Returns

The item of this row or NULL when the row was destroyed.

[nullable][type GObject][transfer full]


gtk_tree_list_row_set_expanded ()

void
gtk_tree_list_row_set_expanded (GtkTreeListRow *self,
                                gboolean expanded);

Expands or collapses a row.

If a row is expanded, the model of calling the GtkTreeListModelCreateModelFunc for the row's item will be inserted after this row. If a row is collapsed, those items will be removed from the model.

If the row is not expandable, this function does nothing.

Parameters

self

a GtkTreeListRow

 

expanded

TRUE if the row should be expanded

 

gtk_tree_list_row_get_expanded ()

gboolean
gtk_tree_list_row_get_expanded (GtkTreeListRow *self);

Gets if a row is currently expanded.

Parameters

self

a GtkTreeListRow

 

Returns

TRUE if the row is expanded


gtk_tree_list_row_is_expandable ()

gboolean
gtk_tree_list_row_is_expandable (GtkTreeListRow *self);

Checks if a row can be expanded. This does not mean that the row is actually expanded, this can be checked with gtk_tree_list_row_get_expanded()

If a row is expandable never changes until the row is destroyed.

Parameters

self

a GtkTreeListRow

 

Returns

TRUE if the row is expandable


gtk_tree_list_row_get_position ()

guint
gtk_tree_list_row_get_position (GtkTreeListRow *self);

Returns the position in the GtkTreeListModel that self occupies at the moment.

Parameters

self

a GtkTreeListRow

 

Returns

The position in the model


gtk_tree_list_row_get_depth ()

guint
gtk_tree_list_row_get_depth (GtkTreeListRow *self);

Gets the depth of this row. Rows that correspond to items in the root model have a depth of zero, rows corresponding to items of models of direct children of the root model have a depth of 1 and so on.

The depth of a row never changes until the row is destroyed.

Parameters

self

a GtkTreeListRow

 

Returns

The depth of this row


gtk_tree_list_row_get_children ()

GListModel *
gtk_tree_list_row_get_children (GtkTreeListRow *self);

If the row is expanded, gets the model holding the children of self .

This model is the model created by the GtkTreeListModelCreateModelFunc and contains the original items, no matter what value “passthrough” is set to.

Parameters

self

a GtkTreeListRow

 

Returns

The model containing the children.

[nullable][transfer none]


gtk_tree_list_row_get_parent ()

GtkTreeListRow *
gtk_tree_list_row_get_parent (GtkTreeListRow *self);

Gets the row representing the parent for self . That is the row that would need to be collapsed to make this row disappear.

If self is a row corresponding to the root model, NULL is returned.

The value returned by this function never changes until the row is destroyed.

Parameters

self

a GtkTreeListRow

 

Returns

The parent of self .

[nullable][transfer full]


gtk_tree_list_row_get_child_row ()

GtkTreeListRow *
gtk_tree_list_row_get_child_row (GtkTreeListRow *self,
                                 guint position);

If self is not expanded or position is greater than the number of children, NULL is returned.

Parameters

self

a GtkTreeListRow

 

position

position of the child to get

 

Returns

the child in position .

[nullable][transfer full]

See Also

GtkTreeListModel

docs/reference/gtk/html/TextWidgetObjects.html0000664000175000017500000003343413710700534021624 0ustar mclasenmclasen Multiline Text Editor: GTK 4 Reference Manual

Multiline Text Editor

Text Widget Overview
Simple Example
Example of Changing Text Attributes
GtkTextIter — Text buffer iterator
GtkTextMark — A position in the buffer preserved across buffer modifications
GtkTextBuffer — Stores attributed text for display in a GtkTextView
GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
GtkTextTagTable — Collection of tags that can be used together
GtkTextView — Widget that displays a GtkTextBuffer

Text Widget Overview

GTK has an extremely powerful framework for multiline text editing. The primary objects involved in the process are GtkTextBuffer, which represents the text being edited, and GtkTextView, a widget which can display a GtkTextBuffer. Each buffer can be displayed by any number of views.

One of the important things to remember about text in GTK is that it’s in the UTF-8 encoding. This means that one character can be encoded as multiple bytes. Character counts are usually referred to as offsets, while byte counts are called indexes. If you confuse these two, things will work fine with ASCII, but as soon as your buffer contains multibyte characters, bad things will happen.

Text in a buffer can be marked with tags. A tag is an attribute that can be applied to some range of text. For example, a tag might be called bold and make the text inside the tag bold. However, the tag concept is more general than that; tags don’t have to affect appearance. They can instead affect the behavior of mouse and key presses, lock a range of text so the user can’t edit it, or countless other things. A tag is represented by a GtkTextTag object. One GtkTextTag can be applied to any number of text ranges in any number of buffers.

Each tag is stored in a GtkTextTagTable. A tag table defines a set of tags that can be used together. Each buffer has one tag table associated with it; only tags from that tag table can be used with the buffer. A single tag table can be shared between multiple buffers, however.

Tags can have names, which is convenient sometimes (for example, you can name your tag that makes things bold bold), but they can also be anonymous (which is convenient if you’re creating tags on-the-fly).

Most text manipulation is accomplished with iterators, represented by a GtkTextIter. An iterator represents a position between two characters in the text buffer. GtkTextIter is a struct designed to be allocated on the stack; it’s guaranteed to be copiable by value and never contain any heap-allocated data. Iterators are not valid indefinitely; whenever the buffer is modified in a way that affects the number of characters in the buffer, all outstanding iterators become invalid. (Note that deleting 5 characters and then reinserting 5 still invalidates iterators, though you end up with the same number of characters you pass through a state with a different number).

Because of this, iterators can’t be used to preserve positions across buffer modifications. To preserve a position, the GtkTextMark object is ideal. You can think of a mark as an invisible cursor or insertion point; it floats in the buffer, saving a position. If the text surrounding the mark is deleted, the mark remains in the position the text once occupied; if text is inserted at the mark, the mark ends up either to the left or to the right of the new text, depending on its gravity. The standard text cursor in left-to-right languages is a mark with right gravity, because it stays to the right of inserted text.

Like tags, marks can be either named or anonymous. There are two marks built-in to GtkTextBuffer; these are named insert and selection_bound and refer to the insertion point and the boundary of the selection which is not the insertion point, respectively. If no text is selected, these two marks will be in the same position. You can manipulate what is selected and where the cursor appears by moving these marks around.

If you want to place the cursor in response to a user action, be sure to use gtk_text_buffer_place_cursor(), which moves both at once without causing a temporary selection (moving one then the other temporarily selects the range in between the old and new positions).

Text buffers always contain at least one line, but may be empty (that is, buffers can contain zero characters). The last line in the text buffer never ends in a line separator (such as newline); the other lines in the buffer always end in a line separator. Line separators count as characters when computing character counts and character offsets. Note that some Unicode line separators are represented with multiple bytes in UTF-8, and the two-character sequence is also considered a line separator.

Text buffers support undo and redo if gtk_text_buffer_set_enable_undo() has been set to TRUE. Use gtk_text_buffer_undo() or gtk_text_buffer_redo() to perform the necessary action. Note that these operations are ignored if the buffer is not editable. Developers may want some operations to not be undoable. To do this, wrap your changes in gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action().

Simple Example

The simplest usage of GtkTextView might look like this:

GtkWidget *view;
GtkTextBuffer *buffer;

view = gtk_text_view_new();

buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));

gtk_text_buffer_set_text (buffer, "Hello, this is some text", -1);

/* Now you might put the view in a container and display it on the
 * screen; when the user edits the text, signals on the buffer
 * will be emitted, such as "changed", "insert_text", and so on.
 */

In many cases it’s also convenient to first create the buffer with gtk_text_buffer_new(), then create a widget for that buffer with gtk_text_view_new_with_buffer(). Or you can change the buffer the widget displays after the widget is created with gtk_text_view_set_buffer().

Example of Changing Text Attributes

The way to affect text attributes in GtkTextView is to apply tags that change the attributes for a region of text. For text features that come from the theme — such as font and foreground color – use CSS to override their default values.

GtkWidget *view;
GtkTextBuffer *buffer;
GtkTextIter start, end;
PangoFontDescription *font_desc;
GdkRGBA rgba;
GtkTextTag *tag;
GtkCssProvider *provider;
GtkStyleContext *context;

view = gtk_text_view_new();

buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));

gtk_text_buffer_set_text (buffer, "Hello, this is some text", -1);

/* Change default font and color throughout the widget */
provider = gtk_css_provider_new();
gtk_css_provider_load_from_data (provider,
                                 "textview {"
                                 " font: 15 serif;"
                                 "  color: green;"
                                 "}",
                                 -1);
context = gtk_widget_get_style_context (view);
gtk_style_context_add_provider (context,
                                GTK_STYLE_PROVIDER (provider),
                                GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

/* Change left margin throughout the widget */
gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 30);

/* Use a tag to change the color for just one part of the widget */
tag = gtk_text_buffer_create_tag (buffer, "blue_foreground",
                                  "foreground", "blue",
                                  NULL);  
gtk_text_buffer_get_iter_at_offset (buffer, &amp;start, 7);
gtk_text_buffer_get_iter_at_offset (buffer, &amp;end, 12);
gtk_text_buffer_apply_tag (buffer, tag, &amp;start, &amp;end);

The gtk4-demo application that comes with GTK contains more example code for GtkTextView.

docs/reference/gtk/html/ch03s02.html0000664000175000017500000001232613710700534017301 0ustar mclasenmclasen Which widget should I use…: GTK 4 Reference Manual

Which widget should I use…

  1. …for lists and trees?

    This question has different answers, depending on the size of the dataset and the required formatting flexibility.

    If you want to display a large amount of data in a uniform way, your best option is a GtkTreeView widget. See the tree widget overview. A list is just a tree with no branches, so the treeview widget is used for lists as well.

    If you want to display a small amount of items, but need flexible formatting and widgetry inside the list, then you probably want to use a GtkListBox, which uses regular widgets for display.

  2. …for multi-line text display or editing?

    See the text widget overview – you should use the GtkTextView widget.

    If you only have a small amount of text, GtkLabel may also be appropriate of course. It can be made selectable with gtk_label_set_selectable(). For a single-line text entry, see GtkEntry.

  3. …to display an image or animation?

    GTK has two widgets that are dedicated to displaying images. GtkImage, for small, fixed-size icons and GtkPicture for content images.

    Both can display images in just about any format GTK understands. You can also use GtkDrawingArea if you need to do something more complex, such as draw text or graphics over the top of the image.

    Both GtkImage and GtkPicture can display animations and videos as well. To show an webm file, load it with the GtkMediaFile API and then use it as a paintable:

    mediafile = gtk_media_file_new_for_filename ("example.webm");
    picture = gtk_picture_new_for_paintable (GDK_PAINTABLE (mediafile));
    
  4. …for presenting a set of mutually-exclusive choices, where Windows would use a combo box?

    With GTK, a GtkComboBox is the recommended widget to use for this use case. If you need an editable text entry, use the “has-entry” property.

docs/reference/gtk/html/GtkTreeSelection.html0000664000175000017500000016447113710700534021443 0ustar mclasenmclasen GtkTreeSelection: GTK 4 Reference Manual

GtkTreeSelection

GtkTreeSelection — The selection object for GtkTreeView

Properties

GtkSelectionMode mode Read / Write

Signals

void changed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTreeSelection

Includes

#include <gtk/gtk.h>

Description

The GtkTreeSelection object is a helper object to manage the selection for a GtkTreeView widget. The GtkTreeSelection object is automatically created when a new GtkTreeView widget is created, and cannot exist independently of this widget. The primary reason the GtkTreeSelection objects exists is for cleanliness of code and API. That is, there is no conceptual reason all these functions could not be methods on the GtkTreeView widget instead of a separate function.

The GtkTreeSelection object is gotten from a GtkTreeView by calling gtk_tree_view_get_selection(). It can be manipulated to check the selection status of the tree, as well as select and deselect individual rows. Selection is done completely view side. As a result, multiple views of the same model can have completely different selections. Additionally, you cannot change the selection of a row on the model that is not currently displayed by the view without expanding its parents first.

One of the important things to remember when monitoring the selection of a view is that the “changed” signal is mostly a hint. That is, it may only emit one signal when a range of rows is selected. Additionally, it may on occasion emit a “changed” signal when nothing has happened (mostly as a result of programmers calling select_row on an already selected row).

Functions

GtkTreeSelectionFunc ()

gboolean
(*GtkTreeSelectionFunc) (GtkTreeSelection *selection,
                         GtkTreeModel *model,
                         GtkTreePath *path,
                         gboolean path_currently_selected,
                         gpointer data);

A function used by gtk_tree_selection_set_select_function() to filter whether or not a row may be selected. It is called whenever a row's state might change. A return value of TRUE indicates to selection that it is okay to change the selection.

Parameters

selection

A GtkTreeSelection

 

model

A GtkTreeModel being viewed

 

path

The GtkTreePath of the row in question

 

path_currently_selected

TRUE, if the path is currently selected

 

data

user data.

[closure]

Returns

TRUE, if the selection state of the row can be toggled


GtkTreeSelectionForeachFunc ()

void
(*GtkTreeSelectionForeachFunc) (GtkTreeModel *model,
                                GtkTreePath *path,
                                GtkTreeIter *iter,
                                gpointer data);

A function used by gtk_tree_selection_selected_foreach() to map all selected rows. It will be called on every selected row in the view.

Parameters

model

The GtkTreeModel being viewed

 

path

The GtkTreePath of a selected row

 

iter

A GtkTreeIter pointing to a selected row

 

data

user data.

[closure]

gtk_tree_selection_set_mode ()

void
gtk_tree_selection_set_mode (GtkTreeSelection *selection,
                             GtkSelectionMode type);

Sets the selection mode of the selection . If the previous type was GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was previously selected.

Parameters

selection

A GtkTreeSelection.

 

type

The selection mode

 

gtk_tree_selection_get_mode ()

GtkSelectionMode
gtk_tree_selection_get_mode (GtkTreeSelection *selection);

Gets the selection mode for selection . See gtk_tree_selection_set_mode().

Parameters

selection

a GtkTreeSelection

 

Returns

the current selection mode


gtk_tree_selection_set_select_function ()

void
gtk_tree_selection_set_select_function
                               (GtkTreeSelection *selection,
                                GtkTreeSelectionFunc func,
                                gpointer data,
                                GDestroyNotify destroy);

Sets the selection function.

If set, this function is called before any node is selected or unselected, giving some control over which nodes are selected. The select function should return TRUE if the state of the node may be toggled, and FALSE if the state of the node should be left unchanged.

Parameters

selection

A GtkTreeSelection.

 

func

The selection function. May be NULL.

[nullable]

data

The selection function’s data. May be NULL

 

destroy

The destroy function for user data. May be NULL

 

gtk_tree_selection_get_select_function ()

GtkTreeSelectionFunc
gtk_tree_selection_get_select_function
                               (GtkTreeSelection *selection);

Returns the current selection function.

[skip]

Parameters

selection

A GtkTreeSelection.

 

Returns

The function.


gtk_tree_selection_get_user_data ()

gpointer
gtk_tree_selection_get_user_data (GtkTreeSelection *selection);

Returns the user data for the selection function.

[skip]

Parameters

selection

A GtkTreeSelection.

 

Returns

The user data.


gtk_tree_selection_get_tree_view ()

GtkTreeView *
gtk_tree_selection_get_tree_view (GtkTreeSelection *selection);

Returns the tree view associated with selection .

Parameters

selection

A GtkTreeSelection

 

Returns

A GtkTreeView.

[transfer none]


gtk_tree_selection_get_selected ()

gboolean
gtk_tree_selection_get_selected (GtkTreeSelection *selection,
                                 GtkTreeModel **model,
                                 GtkTreeIter *iter);

Sets iter to the currently selected node if selection is set to GTK_SELECTION_SINGLE or GTK_SELECTION_BROWSE. iter may be NULL if you just want to test if selection has any selected nodes. model is filled with the current model as a convenience. This function will not work if you use selection is GTK_SELECTION_MULTIPLE.

Parameters

selection

A GtkTreeSelection.

 

model

A pointer to set to the GtkTreeModel, or NULL.

[out][allow-none][transfer none]

iter

The GtkTreeIter, or NULL.

[out][allow-none]

Returns

TRUE, if there is a selected node.


gtk_tree_selection_selected_foreach ()

void
gtk_tree_selection_selected_foreach (GtkTreeSelection *selection,
                                     GtkTreeSelectionForeachFunc func,
                                     gpointer data);

Calls a function for each selected node. Note that you cannot modify the tree or selection from within this function. As a result, gtk_tree_selection_get_selected_rows() might be more useful.

Parameters

selection

A GtkTreeSelection.

 

func

The function to call for each selected node.

[scope call]

data

user data to pass to the function.

 

gtk_tree_selection_get_selected_rows ()

GList *
gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection,
                                      GtkTreeModel **model);

Creates a list of path of all selected rows. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of GtkTreeRowReferences. To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:

1
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);

Parameters

selection

A GtkTreeSelection.

 

model

A pointer to set to the GtkTreeModel, or NULL.

[out][allow-none][transfer none]

Returns

A GList containing a GtkTreePath for each selected row.

[element-type GtkTreePath][transfer full]


gtk_tree_selection_count_selected_rows ()

int
gtk_tree_selection_count_selected_rows
                               (GtkTreeSelection *selection);

Returns the number of rows that have been selected in tree .

Parameters

selection

A GtkTreeSelection.

 

Returns

The number of rows selected.


gtk_tree_selection_select_path ()

void
gtk_tree_selection_select_path (GtkTreeSelection *selection,
                                GtkTreePath *path);

Select the row at path .

Parameters

selection

A GtkTreeSelection.

 

path

The GtkTreePath to be selected.

 

gtk_tree_selection_unselect_path ()

void
gtk_tree_selection_unselect_path (GtkTreeSelection *selection,
                                  GtkTreePath *path);

Unselects the row at path .

Parameters

selection

A GtkTreeSelection.

 

path

The GtkTreePath to be unselected.

 

gtk_tree_selection_path_is_selected ()

gboolean
gtk_tree_selection_path_is_selected (GtkTreeSelection *selection,
                                     GtkTreePath *path);

Returns TRUE if the row pointed to by path is currently selected. If path does not point to a valid location, FALSE is returned

Parameters

selection

A GtkTreeSelection.

 

path

A GtkTreePath to check selection on.

 

Returns

TRUE if path is selected.


gtk_tree_selection_select_iter ()

void
gtk_tree_selection_select_iter (GtkTreeSelection *selection,
                                GtkTreeIter *iter);

Selects the specified iterator.

Parameters

selection

A GtkTreeSelection.

 

iter

The GtkTreeIter to be selected.

 

gtk_tree_selection_unselect_iter ()

void
gtk_tree_selection_unselect_iter (GtkTreeSelection *selection,
                                  GtkTreeIter *iter);

Unselects the specified iterator.

Parameters

selection

A GtkTreeSelection.

 

iter

The GtkTreeIter to be unselected.

 

gtk_tree_selection_iter_is_selected ()

gboolean
gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection,
                                     GtkTreeIter *iter);

Returns TRUE if the row at iter is currently selected.

Parameters

selection

A GtkTreeSelection

 

iter

A valid GtkTreeIter

 

Returns

TRUE, if iter is selected


gtk_tree_selection_select_all ()

void
gtk_tree_selection_select_all (GtkTreeSelection *selection);

Selects all the nodes. selection must be set to GTK_SELECTION_MULTIPLE mode.

Parameters

selection

A GtkTreeSelection.

 

gtk_tree_selection_unselect_all ()

void
gtk_tree_selection_unselect_all (GtkTreeSelection *selection);

Unselects all the nodes.

Parameters

selection

A GtkTreeSelection.

 

gtk_tree_selection_select_range ()

void
gtk_tree_selection_select_range (GtkTreeSelection *selection,
                                 GtkTreePath *start_path,
                                 GtkTreePath *end_path);

Selects a range of nodes, determined by start_path and end_path inclusive. selection must be set to GTK_SELECTION_MULTIPLE mode.

Parameters

selection

A GtkTreeSelection.

 

start_path

The initial node of the range.

 

end_path

The final node of the range.

 

gtk_tree_selection_unselect_range ()

void
gtk_tree_selection_unselect_range (GtkTreeSelection *selection,
                                   GtkTreePath *start_path,
                                   GtkTreePath *end_path);

Unselects a range of nodes, determined by start_path and end_path inclusive.

Parameters

selection

A GtkTreeSelection.

 

start_path

The initial node of the range.

 

end_path

The initial node of the range.

 

Types and Values

GtkTreeSelection

typedef struct _GtkTreeSelection GtkTreeSelection;

Property Details

The “mode” property

  “mode”                     GtkSelectionMode

Selection mode. See gtk_tree_selection_set_mode() for more information on this property.

Owner: GtkTreeSelection

Flags: Read / Write

Default value: GTK_SELECTION_SINGLE

Signal Details

The “changed” signal

void
user_function (GtkTreeSelection *treeselection,
               gpointer          user_data)

Emitted whenever the selection has (possibly) changed. Please note that this signal is mostly a hint. It may only be emitted once when a range of rows are selected, and it may occasionally be emitted when nothing has happened.

Parameters

treeselection

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkTreeViewColumn.html0000664000175000017500000041121413710700534021574 0ustar mclasenmclasen GtkTreeViewColumn: GTK 4 Reference Manual

GtkTreeViewColumn

GtkTreeViewColumn — A visible column in a GtkTreeView widget

Functions

void (*GtkTreeCellDataFunc) ()
GtkTreeViewColumn * gtk_tree_view_column_new ()
GtkTreeViewColumn * gtk_tree_view_column_new_with_area ()
GtkTreeViewColumn * gtk_tree_view_column_new_with_attributes ()
void gtk_tree_view_column_pack_start ()
void gtk_tree_view_column_pack_end ()
void gtk_tree_view_column_clear ()
void gtk_tree_view_column_add_attribute ()
void gtk_tree_view_column_set_attributes ()
void gtk_tree_view_column_set_cell_data_func ()
void gtk_tree_view_column_clear_attributes ()
void gtk_tree_view_column_set_spacing ()
int gtk_tree_view_column_get_spacing ()
void gtk_tree_view_column_set_visible ()
gboolean gtk_tree_view_column_get_visible ()
void gtk_tree_view_column_set_resizable ()
gboolean gtk_tree_view_column_get_resizable ()
void gtk_tree_view_column_set_sizing ()
GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing ()
int gtk_tree_view_column_get_width ()
int gtk_tree_view_column_get_fixed_width ()
void gtk_tree_view_column_set_fixed_width ()
void gtk_tree_view_column_set_min_width ()
int gtk_tree_view_column_get_min_width ()
void gtk_tree_view_column_set_max_width ()
int gtk_tree_view_column_get_max_width ()
void gtk_tree_view_column_clicked ()
void gtk_tree_view_column_set_title ()
const char * gtk_tree_view_column_get_title ()
void gtk_tree_view_column_set_expand ()
gboolean gtk_tree_view_column_get_expand ()
void gtk_tree_view_column_set_clickable ()
gboolean gtk_tree_view_column_get_clickable ()
void gtk_tree_view_column_set_widget ()
GtkWidget * gtk_tree_view_column_get_widget ()
GtkWidget * gtk_tree_view_column_get_button ()
void gtk_tree_view_column_set_alignment ()
float gtk_tree_view_column_get_alignment ()
void gtk_tree_view_column_set_reorderable ()
gboolean gtk_tree_view_column_get_reorderable ()
void gtk_tree_view_column_set_sort_column_id ()
int gtk_tree_view_column_get_sort_column_id ()
void gtk_tree_view_column_set_sort_indicator ()
gboolean gtk_tree_view_column_get_sort_indicator ()
void gtk_tree_view_column_set_sort_order ()
GtkSortType gtk_tree_view_column_get_sort_order ()
void gtk_tree_view_column_cell_set_cell_data ()
void gtk_tree_view_column_cell_get_size ()
gboolean gtk_tree_view_column_cell_get_position ()
gboolean gtk_tree_view_column_cell_is_visible ()
void gtk_tree_view_column_focus_cell ()
void gtk_tree_view_column_queue_resize ()
GtkWidget * gtk_tree_view_column_get_tree_view ()
int gtk_tree_view_column_get_x_offset ()

Properties

gfloat alignment Read / Write
GtkCellArea * cell-area Read / Write / Construct Only
gboolean clickable Read / Write
gboolean expand Read / Write
gint fixed-width Read / Write
gint max-width Read / Write
gint min-width Read / Write
gboolean reorderable Read / Write
gboolean resizable Read / Write
GtkTreeViewColumnSizing sizing Read / Write
gint sort-column-id Read / Write
gboolean sort-indicator Read / Write
GtkSortType sort-order Read / Write
gint spacing Read / Write
gchar * title Read / Write
gboolean visible Read / Write
GtkWidget * widget Read / Write
gint width Read
gint x-offset Read

Signals

void clicked Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkTreeViewColumn

Implemented Interfaces

GtkTreeViewColumn implements GtkCellLayout and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

The GtkTreeViewColumn object represents a visible column in a GtkTreeView widget. It allows to set properties of the column header, and functions as a holding pen for the cell renderers which determine how the data in the column is displayed.

Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together.

Functions

GtkTreeCellDataFunc ()

void
(*GtkTreeCellDataFunc) (GtkTreeViewColumn *tree_column,
                        GtkCellRenderer *cell,
                        GtkTreeModel *tree_model,
                        GtkTreeIter *iter,
                        gpointer data);

A function to set the properties of a cell instead of just using the straight mapping between the cell and the model. This is useful for customizing the cell renderer. For example, a function might get an integer from the tree_model , and render it to the “text” attribute of “cell” by converting it to its written equivalent. This is set by calling gtk_tree_view_column_set_cell_data_func()

Parameters

tree_column

A GtkTreeViewColumn

 

cell

The GtkCellRenderer that is being rendered by tree_column

 

tree_model

The GtkTreeModel being rendered

 

iter

A GtkTreeIter of the current row rendered

 

data

user data.

[closure]

gtk_tree_view_column_new ()

GtkTreeViewColumn *
gtk_tree_view_column_new (void);

Creates a new GtkTreeViewColumn.

Returns

A newly created GtkTreeViewColumn.


gtk_tree_view_column_new_with_area ()

GtkTreeViewColumn *
gtk_tree_view_column_new_with_area (GtkCellArea *area);

Creates a new GtkTreeViewColumn using area to render its cells.

Parameters

area

the GtkCellArea that the newly created column should use to layout cells.

 

Returns

A newly created GtkTreeViewColumn.


gtk_tree_view_column_new_with_attributes ()

GtkTreeViewColumn *
gtk_tree_view_column_new_with_attributes
                               (const char *title,
                                GtkCellRenderer *cell,
                                ...);

Creates a new GtkTreeViewColumn with a number of default values. This is equivalent to calling gtk_tree_view_column_set_title(), gtk_tree_view_column_pack_start(), and gtk_tree_view_column_set_attributes() on the newly created GtkTreeViewColumn.

Here’s a simple example:

1
2
3
4
5
6
7
8
9
10
11
12
enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS };
// ...
{
  GtkTreeViewColumn *column;
  GtkCellRenderer   *renderer = gtk_cell_renderer_text_new ();

  column = gtk_tree_view_column_new_with_attributes ("Title",
                                                     renderer,
                                                     "text", TEXT_COLUMN,
                                                     "foreground", COLOR_COLUMN,
                                                     NULL);
}

Parameters

title

The title to set the header to

 

cell

The GtkCellRenderer

 

...

A NULL-terminated list of attributes

 

Returns

A newly created GtkTreeViewColumn.


gtk_tree_view_column_pack_start ()

void
gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column,
                                 GtkCellRenderer *cell,
                                 gboolean expand);

Packs the cell into the beginning of the column. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.

Parameters

tree_column

A GtkTreeViewColumn.

 

cell

The GtkCellRenderer.

 

expand

TRUE if cell is to be given extra space allocated to tree_column .

 

gtk_tree_view_column_pack_end ()

void
gtk_tree_view_column_pack_end (GtkTreeViewColumn *tree_column,
                               GtkCellRenderer *cell,
                               gboolean expand);

Adds the cell to end of the column. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.

Parameters

tree_column

A GtkTreeViewColumn.

 

cell

The GtkCellRenderer.

 

expand

TRUE if cell is to be given extra space allocated to tree_column .

 

gtk_tree_view_column_clear ()

void
gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column);

Unsets all the mappings on all renderers on the tree_column .

Parameters

tree_column

A GtkTreeViewColumn

 

gtk_tree_view_column_add_attribute ()

void
gtk_tree_view_column_add_attribute (GtkTreeViewColumn *tree_column,
                                    GtkCellRenderer *cell_renderer,
                                    const char *attribute,
                                    int column);

Adds an attribute mapping to the list in tree_column . The column is the column of the model to get a value from, and the attribute is the parameter on cell_renderer to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of a GtkCellRendererText get its values from column 2.

Parameters

tree_column

A GtkTreeViewColumn.

 

cell_renderer

the GtkCellRenderer to set attributes on

 

attribute

An attribute on the renderer

 

column

The column position on the model to get the attribute from.

 

gtk_tree_view_column_set_attributes ()

void
gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column,
                                     GtkCellRenderer *cell_renderer,
                                     ...);

Sets the attributes in the list as the attributes of tree_column . The attributes should be in attribute/column order, as in gtk_tree_view_column_add_attribute(). All existing attributes are removed, and replaced with the new attributes.

Parameters

tree_column

A GtkTreeViewColumn

 

cell_renderer

the GtkCellRenderer we’re setting the attributes of

 

...

A NULL-terminated list of attributes

 

gtk_tree_view_column_set_cell_data_func ()

void
gtk_tree_view_column_set_cell_data_func
                               (GtkTreeViewColumn *tree_column,
                                GtkCellRenderer *cell_renderer,
                                GtkTreeCellDataFunc func,
                                gpointer func_data,
                                GDestroyNotify destroy);

Sets the GtkTreeCellDataFunc to use for the column. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of tree_column 's cell renderer as appropriate. func may be NULL to remove an older one.

Parameters

tree_column

A GtkTreeViewColumn

 

cell_renderer

A GtkCellRenderer

 

func

The GtkTreeCellDataFunc to use.

[allow-none]

func_data

The user data for func .

[closure]

destroy

The destroy notification for func_data

 

gtk_tree_view_column_clear_attributes ()

void
gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column,
                                       GtkCellRenderer *cell_renderer);

Clears all existing attributes previously set with gtk_tree_view_column_set_attributes().

Parameters

tree_column

a GtkTreeViewColumn

 

cell_renderer

a GtkCellRenderer to clear the attribute mapping on.

 

gtk_tree_view_column_set_spacing ()

void
gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column,
                                  int spacing);

Sets the spacing field of tree_column , which is the number of pixels to place between cell renderers packed into it.

Parameters

tree_column

A GtkTreeViewColumn.

 

spacing

distance between cell renderers in pixels.

 

gtk_tree_view_column_get_spacing ()

int
gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column);

Returns the spacing of tree_column .

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

the spacing of tree_column .


gtk_tree_view_column_set_visible ()

void
gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
                                  gboolean visible);

Sets the visibility of tree_column .

Parameters

tree_column

A GtkTreeViewColumn.

 

visible

TRUE if the tree_column is visible.

 

gtk_tree_view_column_get_visible ()

gboolean
gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column);

Returns TRUE if tree_column is visible.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

whether the column is visible or not. If it is visible, then the tree will show the column.


gtk_tree_view_column_set_resizable ()

void
gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column,
                                    gboolean resizable);

If resizable is TRUE, then the user can explicitly resize the column by grabbing the outer edge of the column button. If resizable is TRUE and sizing mode of the column is GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing mode is changed to GTK_TREE_VIEW_COLUMN_GROW_ONLY.

Parameters

tree_column

A GtkTreeViewColumn

 

resizable

TRUE, if the column can be resized

 

gtk_tree_view_column_get_resizable ()

gboolean
gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column);

Returns TRUE if the tree_column can be resized by the end user.

Parameters

tree_column

A GtkTreeViewColumn

 

Returns

TRUE, if the tree_column can be resized.


gtk_tree_view_column_set_sizing ()

void
gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column,
                                 GtkTreeViewColumnSizing type);

Sets the growth behavior of tree_column to type .

Parameters

tree_column

A GtkTreeViewColumn.

 

type

The GtkTreeViewColumnSizing.

 

gtk_tree_view_column_get_sizing ()

GtkTreeViewColumnSizing
gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column);

Returns the current type of tree_column .

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The type of tree_column .


gtk_tree_view_column_get_width ()

int
gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column);

Returns the current size of tree_column in pixels.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The current width of tree_column .


gtk_tree_view_column_get_fixed_width ()

int
gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column);

Gets the fixed width of the column. This may not be the actual displayed width of the column; for that, use gtk_tree_view_column_get_width().

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The fixed width of the column.


gtk_tree_view_column_set_fixed_width ()

void
gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column,
                                      int fixed_width);

If fixed_width is not -1, sets the fixed width of tree_column ; otherwise unsets it. The effective value of fixed_width is clamped between the minimum and maximum width of the column; however, the value stored in the “fixed-width” property is not clamped. If the column sizing is GTK_TREE_VIEW_COLUMN_GROW_ONLY or GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting a fixed width overrides the automatically calculated width. Note that fixed_width is only a hint to GTK+; the width actually allocated to the column may be greater or less than requested.

Along with “expand”, the “fixed-width” property changes when the column is resized by the user.

Parameters

tree_column

A GtkTreeViewColumn.

 

fixed_width

The new fixed width, in pixels, or -1.

 

gtk_tree_view_column_set_min_width ()

void
gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column,
                                    int min_width);

Sets the minimum width of the tree_column . If min_width is -1, then the minimum width is unset.

Parameters

tree_column

A GtkTreeViewColumn.

 

min_width

The minimum width of the column in pixels, or -1.

 

gtk_tree_view_column_get_min_width ()

int
gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column);

Returns the minimum width in pixels of the tree_column , or -1 if no minimum width is set.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The minimum width of the tree_column .


gtk_tree_view_column_set_max_width ()

void
gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column,
                                    int max_width);

Sets the maximum width of the tree_column . If max_width is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it’s the last column in a view. In this case, the column expands to fill any extra space.

Parameters

tree_column

A GtkTreeViewColumn.

 

max_width

The maximum width of the column in pixels, or -1.

 

gtk_tree_view_column_get_max_width ()

int
gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column);

Returns the maximum width in pixels of the tree_column , or -1 if no maximum width is set.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The maximum width of the tree_column .


gtk_tree_view_column_clicked ()

void
gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column);

Emits the “clicked” signal on the column. This function will only work if tree_column is clickable.

Parameters

tree_column

a GtkTreeViewColumn

 

gtk_tree_view_column_set_title ()

void
gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column,
                                const char *title);

Sets the title of the tree_column . If a custom widget has been set, then this value is ignored.

Parameters

tree_column

A GtkTreeViewColumn.

 

title

The title of the tree_column .

 

gtk_tree_view_column_get_title ()

const char *
gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column);

Returns the title of the widget.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

the title of the column. This string should not be modified or freed.


gtk_tree_view_column_set_expand ()

void
gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column,
                                 gboolean expand);

Sets the column to take available extra space. This space is shared equally amongst all columns that have the expand set to TRUE. If no column has this option set, then the last column gets all extra space. By default, every column is created with this FALSE.

Along with “fixed-width”, the “expand” property changes when the column is resized by the user.

Parameters

tree_column

A GtkTreeViewColumn.

 

expand

TRUE if the column should expand to fill available space.

 

gtk_tree_view_column_get_expand ()

gboolean
gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column);

Returns TRUE if the column expands to fill available space.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

TRUE if the column expands to fill available space.


gtk_tree_view_column_set_clickable ()

void
gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column,
                                    gboolean clickable);

Sets the header to be active if clickable is TRUE. When the header is active, then it can take keyboard focus, and can be clicked.

Parameters

tree_column

A GtkTreeViewColumn.

 

clickable

TRUE if the header is active.

 

gtk_tree_view_column_get_clickable ()

gboolean
gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column);

Returns TRUE if the user can click on the header for the column.

Parameters

tree_column

a GtkTreeViewColumn

 

Returns

TRUE if user can click the column header.


gtk_tree_view_column_set_widget ()

void
gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column,
                                 GtkWidget *widget);

Sets the widget in the header to be widget . If widget is NULL, then the header button is set with a GtkLabel set to the title of tree_column .

Parameters

tree_column

A GtkTreeViewColumn.

 

widget

A child GtkWidget, or NULL.

[allow-none]

gtk_tree_view_column_get_widget ()

GtkWidget *
gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column);

Returns the GtkWidget in the button on the column header. If a custom widget has not been set then NULL is returned.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The GtkWidget in the column header, or NULL.

[nullable][transfer none]


gtk_tree_view_column_get_button ()

GtkWidget *
gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column);

Returns the button used in the treeview column header

Parameters

tree_column

A GtkTreeViewColumn

 

Returns

The button for the column header.

[transfer none]


gtk_tree_view_column_set_alignment ()

void
gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column,
                                    float xalign);

Sets the alignment of the title or custom widget inside the column header. The alignment determines its location inside the button -- 0.0 for left, 0.5 for center, 1.0 for right.

Parameters

tree_column

A GtkTreeViewColumn.

 

xalign

The alignment, which is between [0.0 and 1.0] inclusive.

 

gtk_tree_view_column_get_alignment ()

float
gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column);

Returns the current x alignment of tree_column . This value can range between 0.0 and 1.0.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The current alignent of tree_column .


gtk_tree_view_column_set_reorderable ()

void
gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column,
                                      gboolean reorderable);

If reorderable is TRUE, then the column can be reordered by the end user dragging the header.

Parameters

tree_column

A GtkTreeViewColumn

 

reorderable

TRUE, if the column can be reordered.

 

gtk_tree_view_column_get_reorderable ()

gboolean
gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column);

Returns TRUE if the tree_column can be reordered by the user.

Parameters

tree_column

A GtkTreeViewColumn

 

Returns

TRUE if the tree_column can be reordered by the user.


gtk_tree_view_column_set_sort_column_id ()

void
gtk_tree_view_column_set_sort_column_id
                               (GtkTreeViewColumn *tree_column,
                                int sort_column_id);

Sets the logical sort_column_id that this column sorts on when this column is selected for sorting. Doing so makes the column header clickable.

Parameters

tree_column

a GtkTreeViewColumn

 

sort_column_id

The sort_column_id of the model to sort on.

 

gtk_tree_view_column_get_sort_column_id ()

int
gtk_tree_view_column_get_sort_column_id
                               (GtkTreeViewColumn *tree_column);

Gets the logical sort_column_id that the model sorts on when this column is selected for sorting. See gtk_tree_view_column_set_sort_column_id().

Parameters

tree_column

a GtkTreeViewColumn

 

Returns

the current sort_column_id for this column, or -1 if this column can’t be used for sorting.


gtk_tree_view_column_set_sort_indicator ()

void
gtk_tree_view_column_set_sort_indicator
                               (GtkTreeViewColumn *tree_column,
                                gboolean setting);

Call this function with a setting of TRUE to display an arrow in the header button indicating the column is sorted. Call gtk_tree_view_column_set_sort_order() to change the direction of the arrow.

Parameters

tree_column

a GtkTreeViewColumn

 

setting

TRUE to display an indicator that the column is sorted

 

gtk_tree_view_column_get_sort_indicator ()

gboolean
gtk_tree_view_column_get_sort_indicator
                               (GtkTreeViewColumn *tree_column);

Gets the value set by gtk_tree_view_column_set_sort_indicator().

Parameters

tree_column

a GtkTreeViewColumn

 

Returns

whether the sort indicator arrow is displayed


gtk_tree_view_column_set_sort_order ()

void
gtk_tree_view_column_set_sort_order (GtkTreeViewColumn *tree_column,
                                     GtkSortType order);

Changes the appearance of the sort indicator.

This does not actually sort the model. Use gtk_tree_view_column_set_sort_column_id() if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction with gtk_tree_sortable_set_sort_column_id() to do that. For custom models, the mechanism will vary.

The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see gtk_tree_view_column_set_sort_indicator().

Parameters

tree_column

a GtkTreeViewColumn

 

order

sort order that the sort indicator should indicate

 

gtk_tree_view_column_get_sort_order ()

GtkSortType
gtk_tree_view_column_get_sort_order (GtkTreeViewColumn *tree_column);

Gets the value set by gtk_tree_view_column_set_sort_order().

Parameters

tree_column

a GtkTreeViewColumn

 

Returns

the sort order the sort indicator is indicating


gtk_tree_view_column_cell_set_cell_data ()

void
gtk_tree_view_column_cell_set_cell_data
                               (GtkTreeViewColumn *tree_column,
                                GtkTreeModel *tree_model,
                                GtkTreeIter *iter,
                                gboolean is_expander,
                                gboolean is_expanded);

Sets the cell renderer based on the tree_model and iter . That is, for every attribute mapping in tree_column , it will get a value from the set column on the iter , and use that value to set the attribute on the cell renderer. This is used primarily by the GtkTreeView.

Parameters

tree_column

A GtkTreeViewColumn.

 

tree_model

The GtkTreeModel to get the cell renderers attributes from.

 

iter

The GtkTreeIter to get the cell renderer’s attributes from.

 

is_expander

TRUE, if the row has children

 

is_expanded

TRUE, if the row has visible children

 

gtk_tree_view_column_cell_get_size ()

void
gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column,
                                    int *x_offset,
                                    int *y_offset,
                                    int *width,
                                    int *height);

Obtains the width and height needed to render the column. This is used primarily by the GtkTreeView.

Parameters

tree_column

A GtkTreeViewColumn.

 

x_offset

location to return x offset of a cell relative to cell_area , or NULL.

[out][optional]

y_offset

location to return y offset of a cell relative to cell_area , or NULL.

[out][optional]

width

location to return width needed to render a cell, or NULL.

[out][optional]

height

location to return height needed to render a cell, or NULL.

[out][optional]

gtk_tree_view_column_cell_get_position ()

gboolean
gtk_tree_view_column_cell_get_position
                               (GtkTreeViewColumn *tree_column,
                                GtkCellRenderer *cell_renderer,
                                int *x_offset,
                                int *width);

Obtains the horizontal position and size of a cell in a column. If the cell is not found in the column, start_pos and width are not changed and FALSE is returned.

Parameters

tree_column

a GtkTreeViewColumn

 

cell_renderer

a GtkCellRenderer

 

x_offset

return location for the horizontal position of cell within tree_column , may be NULL.

[out][allow-none]

width

return location for the width of cell , may be NULL.

[out][allow-none]

Returns

TRUE if cell belongs to tree_column .


gtk_tree_view_column_cell_is_visible ()

gboolean
gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column);

Returns TRUE if any of the cells packed into the tree_column are visible. For this to be meaningful, you must first initialize the cells with gtk_tree_view_column_cell_set_cell_data()

Parameters

tree_column

A GtkTreeViewColumn

 

Returns

TRUE, if any of the cells packed into the tree_column are currently visible


gtk_tree_view_column_focus_cell ()

void
gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column,
                                 GtkCellRenderer *cell);

Sets the current keyboard focus to be at cell , if the column contains 2 or more editable and activatable cells.

Parameters

tree_column

A GtkTreeViewColumn

 

cell

A GtkCellRenderer

 

gtk_tree_view_column_queue_resize ()

void
gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column);

Flags the column, and the cell renderers added to this column, to have their sizes renegotiated.

Parameters

tree_column

A GtkTreeViewColumn

 

gtk_tree_view_column_get_tree_view ()

GtkWidget *
gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column);

Returns the GtkTreeView wherein tree_column has been inserted. If column is currently not inserted in any tree view, NULL is returned.

Parameters

tree_column

A GtkTreeViewColumn

 

Returns

The tree view wherein column has been inserted if any, NULL otherwise.

[nullable][transfer none]


gtk_tree_view_column_get_x_offset ()

int
gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column);

Returns the current X offset of tree_column in pixels.

Parameters

tree_column

A GtkTreeViewColumn.

 

Returns

The current X offset of tree_column .

Types and Values

enum GtkTreeViewColumnSizing

The sizing method the column uses to determine its width. Please note that GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and can make columns appear choppy.

Members

GTK_TREE_VIEW_COLUMN_GROW_ONLY

Columns only get bigger in reaction to changes in the model

 

GTK_TREE_VIEW_COLUMN_AUTOSIZE

Columns resize to be the optimal size everytime the model changes.

 

GTK_TREE_VIEW_COLUMN_FIXED

Columns are a fixed numbers of pixels wide.

 

GtkTreeViewColumn

typedef struct _GtkTreeViewColumn GtkTreeViewColumn;

Property Details

The “alignment” property

  “alignment”                gfloat

X Alignment of the column header text or widget.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: [0,1]

Default value: 0


The “cell-area” property

  “cell-area”                GtkCellArea *

The GtkCellArea used to layout cell renderers for this column.

If no area is specified when creating the tree view column with gtk_tree_view_column_new_with_area() a horizontally oriented GtkCellAreaBox will be used.

Owner: GtkTreeViewColumn

Flags: Read / Write / Construct Only


The “clickable” property

  “clickable”                gboolean

Whether the header can be clicked.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: FALSE


The “expand” property

  “expand”                   gboolean

Column gets share of extra width allocated to the widget.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: FALSE


The “fixed-width” property

  “fixed-width”              gint

Current fixed width of the column.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “max-width” property

  “max-width”                gint

Maximum allowed width of the column.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “min-width” property

  “min-width”                gint

Minimum allowed width of the column.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “reorderable” property

  “reorderable”              gboolean

Whether the column can be reordered around the headers.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: FALSE


The “resizable” property

  “resizable”                gboolean

Column is user-resizable.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: FALSE


The “sizing” property

  “sizing”                   GtkTreeViewColumnSizing

Resize mode of the column.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: GTK_TREE_VIEW_COLUMN_GROW_ONLY


The “sort-column-id” property

  “sort-column-id”           gint

Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header clickable. Set to -1 to make the column unsortable.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “sort-indicator” property

  “sort-indicator”           gboolean

Whether to show a sort indicator.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: FALSE


The “sort-order” property

  “sort-order”               GtkSortType

Sort direction the sort indicator should indicate.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: GTK_SORT_ASCENDING


The “spacing” property

  “spacing”                  gint

Space which is inserted between cells.

Owner: GtkTreeViewColumn

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “title” property

  “title”                    gchar *

Title to appear in column header.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: ""


The “visible” property

  “visible”                  gboolean

Whether to display the column.

Owner: GtkTreeViewColumn

Flags: Read / Write

Default value: TRUE


The “widget” property

  “widget”                   GtkWidget *

Widget to put in column header button instead of column title.

Owner: GtkTreeViewColumn

Flags: Read / Write


The “width” property

  “width”                    gint

Current width of the column.

Owner: GtkTreeViewColumn

Flags: Read

Allowed values: >= 0

Default value: 0


The “x-offset” property

  “x-offset”                 gint

Current X position of the column.

Owner: GtkTreeViewColumn

Flags: Read

Allowed values: >= -2147483647

Default value: 0

Signal Details

The “clicked” signal

void
user_function (GtkTreeViewColumn *treeviewcolumn,
               gpointer           user_data)

Flags: Run Last

docs/reference/gtk/html/GtkViewport.html0000664000175000017500000004207313710700534020506 0ustar mclasenmclasen GtkViewport: GTK 4 Reference Manual

GtkViewport

GtkViewport — An adapter which makes widgets scrollable

Properties

GtkWidget * child Read / Write
gboolean scroll-to-focus Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkViewport

Implemented Interfaces

GtkViewport implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

The GtkViewport widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities. Use GtkViewport to scroll child widgets such as GtkGrid, GtkBox, and so on.

If a widget has native scrolling abilities, such as GtkTextView, GtkTreeView or GtkIconView, it can be added to a GtkScrolledWindow with gtk_container_add(). If a widget does not, you must first add the widget to a GtkViewport, then add the viewport to the scrolled window. gtk_container_add() does this automatically if a child that does not implement GtkScrollable is added to a GtkScrolledWindow, so you can ignore the presence of the viewport.

The GtkViewport will start scrolling content only if allocated less than the child widget’s minimum size in a given orientation.

CSS nodes

GtkViewport has a single CSS node with name viewport.

Functions

gtk_viewport_new ()

GtkWidget *
gtk_viewport_new (GtkAdjustment *hadjustment,
                  GtkAdjustment *vadjustment);

Creates a new GtkViewport with the given adjustments, or with default adjustments if none are given.

Parameters

hadjustment

horizontal adjustment.

[allow-none]

vadjustment

vertical adjustment.

[allow-none]

Returns

a new GtkViewport


gtk_viewport_set_scroll_to_focus ()

void
gtk_viewport_set_scroll_to_focus (GtkViewport *viewport,
                                  gboolean scroll_to_focus);

Sets whether the viewport should automatically scroll to keep the focused child in view.

Parameters

viewport

a GtkViewport

 

scroll_to_focus

whether to keep the focus widget scrolled to view

 

gtk_viewport_get_scroll_to_focus ()

gboolean
gtk_viewport_get_scroll_to_focus (GtkViewport *viewport);

Gets whether the viewport is scrolling to keep the focused child in view. See gtk_viewport_set_scroll_to_focus().

Parameters

viewport

a GtkViewport

 

Returns

TRUE if the viewport keeps the focus child scrolled to view


gtk_viewport_set_child ()

void
gtk_viewport_set_child (GtkViewport *viewport,
                        GtkWidget *child);

Sets the child widget of viewport .

Parameters

viewport

a GtkViewport

 

child

the child widget.

[allow-none]

gtk_viewport_get_child ()

GtkWidget *
gtk_viewport_get_child (GtkViewport *viewport);

Gets the child widget of viewport .

Parameters

viewport

a GtkViewport

 

Returns

the child widget of viewport .

[nullable][transfer none]

Types and Values

GtkViewport

typedef struct _GtkViewport GtkViewport;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkViewport

Flags: Read / Write


The “scroll-to-focus” property

  “scroll-to-focus”          gboolean

Whether to scroll when the focus changes.

Owner: GtkViewport

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/ch03s03.html0000664000175000017500000001111213710700534017272 0ustar mclasenmclasen Questions about GtkWidget: GTK 4 Reference Manual

Questions about GtkWidget

  1. How do I change the color of a widget?

    The background color of a widget is determined by the CSS style that applies to it. To change that, you can set style classes on the widget, and provide custom CSS to change the appearance. Such CSS can be loaded with gtk_css_provider_load_from_file() and its variants. See gtk_style_context_add_provider().

  2. How do I change the font of a widget?

    If you want to make the text of a label larger, you can use gtk_label_set_markup():

    gtk_label_set_markup (label, "<big>big tex</big>");
    

    This is preferred for many apps because it’s a relative size to the user’s chosen font size. See g_markup_escape_text() if you are constructing such strings on the fly.

    You can also change the font of a widget by putting

    .my-widget-class {
      font: Sans 30;
    }
    

    in a CSS file, loading it with gtk_css_provider_load_from_file(), and adding the provider with gtk_style_context_add_provider_for_display(). To associate this style information with your widget, set a style class on its GtkStyleContext using gtk_style_context_add_class(). The advantage of this approach is that users can then override the font you have chosen. See the GtkStyleContext documentation for more discussion.

  3. How do I disable/ghost/desensitize a widget?

    In GTK a disabled widget is termed insensitive. See gtk_widget_set_sensitive().

docs/reference/gtk/html/gtk4-GtkTreeView-drag-and-drop.html0000664000175000017500000007523713710700534023715 0ustar mclasenmclasen GtkTreeView drag-and-drop: GTK 4 Reference Manual

GtkTreeView drag-and-drop

GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView

Object Hierarchy

    GInterface
    ├── GtkTreeDragDest
    ╰── GtkTreeDragSource

Known Implementations

GtkTreeDragSource is implemented by GtkListStore, GtkTreeModelFilter, GtkTreeModelSort and GtkTreeStore.

GtkTreeDragDest is implemented by GtkListStore and GtkTreeStore.

Includes

#include <gtk/gtk.h>

Description

GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level API.

The low-level API consists of the GTK+ DND API, augmented by some treeview utility functions: gtk_tree_view_set_drag_dest_row(), gtk_tree_view_get_drag_dest_row(), gtk_tree_view_get_dest_row_at_pos(), gtk_tree_view_create_row_drag_icon(), gtk_tree_set_row_drag_data() and gtk_tree_get_row_drag_data(). This API leaves a lot of flexibility, but nothing is done automatically, and implementing advanced features like hover-to-open-rows or autoscrolling on top of this API is a lot of work.

On the other hand, if you write to the high-level API, then all the bookkeeping of rows is done for you, as well as things like hover-to-open and auto-scroll, but your models have to implement the GtkTreeDragSource and GtkTreeDragDest interfaces.

Functions

gtk_tree_drag_source_drag_data_delete ()

gboolean
gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source,
                                       GtkTreePath *path);

Asks the GtkTreeDragSource to delete the row at path , because it was moved somewhere else via drag-and-drop. Returns FALSE if the deletion fails because path no longer exists, or for some model-specific reason. Should robustly handle a path no longer found in the model!

Parameters

drag_source

a GtkTreeDragSource

 

path

row that was being dragged

 

Returns

TRUE if the row was successfully deleted


gtk_tree_drag_source_drag_data_get ()

GdkContentProvider *
gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source,
                                    GtkTreePath *path);

Asks the GtkTreeDragSource to return a GdkContentProvider representing the row at path . Should robustly handle a path no longer found in the model!

Parameters

drag_source

a GtkTreeDragSource

 

path

row that was dragged

 

Returns

a GdkContentProvider for the given path or NULL if none exists.

[nullable][transfer full]


gtk_tree_drag_source_row_draggable ()

gboolean
gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source,
                                    GtkTreePath *path);

Asks the GtkTreeDragSource whether a particular row can be used as the source of a DND operation. If the source doesn’t implement this interface, the row is assumed draggable.

Parameters

drag_source

a GtkTreeDragSource

 

path

row on which user is initiating a drag

 

Returns

TRUE if the row can be dragged


gtk_tree_drag_dest_drag_data_received ()

gboolean
gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest *drag_dest,
                                       GtkTreePath *dest,
                                       const GValue *value);

Asks the GtkTreeDragDest to insert a row before the path dest , deriving the contents of the row from value . If dest is outside the tree so that inserting before it is impossible, FALSE will be returned. Also, FALSE may be returned if the new row is not created for some model-specific reason. Should robustly handle a dest no longer found in the model!

Parameters

drag_dest

a GtkTreeDragDest

 

dest

row to drop in front of

 

value

data to drop

 

Returns

whether a new row was created before position dest


gtk_tree_drag_dest_row_drop_possible ()

gboolean
gtk_tree_drag_dest_row_drop_possible (GtkTreeDragDest *drag_dest,
                                      GtkTreePath *dest_path,
                                      const GValue *value);

Determines whether a drop is possible before the given dest_path , at the same depth as dest_path . i.e., can we drop the data in value at that location. dest_path does not have to exist; the return value will almost certainly be FALSE if the parent of dest_path doesn’t exist, though.

Parameters

drag_dest

a GtkTreeDragDest

 

dest_path

destination row

 

value

the data being dropped

 

Returns

TRUE if a drop is possible before dest_path


gtk_tree_create_row_drag_content ()

GdkContentProvider *
gtk_tree_create_row_drag_content (GtkTreeModel *tree_model,
                                  GtkTreePath *path);

Creates a content provider for dragging path from tree_model .

Parameters

tree_model

a GtkTreeModel

 

path

a row in tree_model

 

Returns

a new GdkContentProvider.

[transfer full]


gtk_tree_get_row_drag_data ()

gboolean
gtk_tree_get_row_drag_data (const GValue *value,
                            GtkTreeModel **tree_model,
                            GtkTreePath **path);

Obtains a tree_model and path from value of target type GTK_TYPE_TREE_ROW_DATA.

The returned path must be freed with gtk_tree_path_free().

Parameters

value

a GValue

 

tree_model

a GtkTreeModel.

[nullable][optional][transfer none][out]

path

row in tree_model .

[nullable][optional][out]

Returns

TRUE if selection_data had target type GTK_TYPE_TREE_ROW_DATA is otherwise valid

Types and Values

GtkTreeDragSource

typedef struct _GtkTreeDragSource GtkTreeDragSource;

struct GtkTreeDragSourceIface

struct GtkTreeDragSourceIface {
  /* VTable - not signals */

  gboolean     (* row_draggable)        (GtkTreeDragSource   *drag_source,
                                         GtkTreePath         *path);

  GdkContentProvider * (* drag_data_get)(GtkTreeDragSource   *drag_source,
                                         GtkTreePath         *path);

  gboolean     (* drag_data_delete)     (GtkTreeDragSource *drag_source,
                                         GtkTreePath       *path);
};

Members

row_draggable ()

Asks the GtkTreeDragSource whether a particular row can be used as the source of a DND operation.

 

drag_data_get ()

Asks the GtkTreeDragSource to fill in selection_data with a representation of the row at path.

 

drag_data_delete ()

Asks the GtkTreeDragSource to delete the row at path, because it was moved somewhere else via drag-and-drop.

 

GtkTreeDragDest

typedef struct _GtkTreeDragDest GtkTreeDragDest;

struct GtkTreeDragDestIface

struct GtkTreeDragDestIface {
  /* VTable - not signals */

  gboolean     (* drag_data_received) (GtkTreeDragDest   *drag_dest,
                                       GtkTreePath       *dest,
                                       const GValue      *value);

  gboolean     (* row_drop_possible)  (GtkTreeDragDest   *drag_dest,
                                       GtkTreePath       *dest_path,
                                       const GValue      *value);
};

Members

drag_data_received ()

Asks the GtkTreeDragDest to insert a row before the path dest, deriving the contents of the row from selection_data.

 

row_drop_possible ()

Determines whether a drop is possible before the given dest_path, at the same depth as dest_path.

 

GTK_TYPE_TREE_ROW_DATA

#define GTK_TYPE_TREE_ROW_DATA (gtk_tree_row_data_get_type ())

Data in this format will be provided by gtk_tree_create_row_drag_content() and can be consumed via gtk_tree_get_row_drag_data().

docs/reference/gtk/html/GtkTreeListRowSorter.html0000664000175000017500000003273613710700534022316 0ustar mclasenmclasen GtkTreeListRowSorter: GTK 4 Reference Manual

GtkTreeListRowSorter

GtkTreeListRowSorter — Sort trees by levels

Properties

GtkSorter * sorter Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ╰── GtkTreeListRowSorter

Includes

#include <gtk/gtk.h>

Description

GtkTreeListRowSorter is a special-purpose sorter that will apply a given sorter to the levels in a tree, while respecting the tree structure.

Here is an example for setting up a column view with a tree model and a GtkTreeListSorter:

1
2
3
4
5
column_sorter = gtk_column_view_get_sorter (view);
sorter = gtk_tree_list_row_sorter_new (g_object_ref (column_sorter));
sort_model = gtk_sort_list_model_new (tree_model, sorter);
selection = gtk_single_selection_new (sort_model);
gtk_column_view_set_model (view, G_LIST_MODEL (selection));

Functions

gtk_tree_list_row_sorter_new ()

GtkSorter *
gtk_tree_list_row_sorter_new (GtkSorter *sorter);

Create a special-purpose sorter that applies the sorting of sorter to the levels of a GtkTreeListModel.

Note that this sorter relies on “passthrough” being FALSE as it can only sort GtkTreeListRows.

Parameters

sorter

a GtkSorter, or NULL.

[nullable][transfer full]

Returns

a new GtkSorter


gtk_tree_list_row_sorter_get_sorter ()

GtkSorter *
gtk_tree_list_row_sorter_get_sorter (GtkTreeListRowSorter *self);

Returns the sorter used by self .

Parameters

Returns

the sorter used.

[transfer none][nullable]


gtk_tree_list_row_sorter_set_sorter ()

void
gtk_tree_list_row_sorter_set_sorter (GtkTreeListRowSorter *self,
                                     GtkSorter *sorter);

Sets the sorter to use for items with the same parent.

This sorter will be passed the “item” of the tree list rows passed to self .

Parameters

self

a GtkTreeListRowSorter

 

sorter

The sorter to use, or NULL.

[nullable][transfer none]

Types and Values

GtkTreeListRowSorter

typedef struct _GtkTreeListRowSorter GtkTreeListRowSorter;

Property Details

The “sorter” property

  “sorter”                   GtkSorter *

The underlying sorter

Owner: GtkTreeListRowSorter

Flags: Read / Write

See Also

GtkTreeListModel

docs/reference/gtk/html/GtkTreeSortable.html0000664000175000017500000010122513710700534021255 0ustar mclasenmclasen GtkTreeSortable: GTK 4 Reference Manual

GtkTreeSortable

GtkTreeSortable — The interface for sortable models used by GtkTreeView

Signals

void sort-column-changed Run Last

Object Hierarchy

    GInterface
    ╰── GtkTreeSortable

Prerequisites

GtkTreeSortable requires GtkTreeModel and GObject.

Known Implementations

GtkTreeSortable is implemented by GtkListStore, GtkTreeModelSort and GtkTreeStore.

Includes

#include <gtk/gtk.h>

Description

GtkTreeSortable is an interface to be implemented by tree models which support sorting. The GtkTreeView uses the methods provided by this interface to sort the model.

Functions

GtkTreeIterCompareFunc ()

int
(*GtkTreeIterCompareFunc) (GtkTreeModel *model,
                           GtkTreeIter *a,
                           GtkTreeIter *b,
                           gpointer user_data);

A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive integer if a sorts before b , a sorts with b , or a sorts after b respectively. If two iters compare as equal, their order in the sorted model is undefined. In order to ensure that the GtkTreeSortable behaves as expected, the GtkTreeIterCompareFunc must define a partial order on the model, i.e. it must be reflexive, antisymmetric and transitive.

For example, if model is a product catalogue, then a compare function for the “price” column could be one which returns price_of(@a) - price_of(@b).

Parameters

model

The GtkTreeModel the comparison is within

 

a

A GtkTreeIter in model

 

b

Another GtkTreeIter in model

 

user_data

Data passed when the compare func is assigned e.g. by gtk_tree_sortable_set_sort_func()

 

Returns

a negative integer, zero or a positive integer depending on whether a sorts before, with or after b


gtk_tree_sortable_sort_column_changed ()

void
gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable);

Emits a “sort-column-changed” signal on sortable .

Parameters

sortable

A GtkTreeSortable

 

gtk_tree_sortable_get_sort_column_id ()

gboolean
gtk_tree_sortable_get_sort_column_id (GtkTreeSortable *sortable,
                                      int *sort_column_id,
                                      GtkSortType *order);

Fills in sort_column_id and order with the current sort column and the order. It returns TRUE unless the sort_column_id is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.

Parameters

sortable

A GtkTreeSortable

 

sort_column_id

The sort column id to be filled in.

[out]

order

The GtkSortType to be filled in.

[out]

Returns

TRUE if the sort column is not one of the special sort column ids.


gtk_tree_sortable_set_sort_column_id ()

void
gtk_tree_sortable_set_sort_column_id (GtkTreeSortable *sortable,
                                      int sort_column_id,
                                      GtkSortType order);

Sets the current sort column to be sort_column_id . The sortable will resort itself to reflect this change, after emitting a “sort-column-changed” signal. sort_column_id may either be a regular column id, or one of the following special values:

Parameters

sortable

A GtkTreeSortable

 

sort_column_id

the sort column id to set

 

order

The sort order of the column

 

gtk_tree_sortable_set_sort_func ()

void
gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable,
                                 int sort_column_id,
                                 GtkTreeIterCompareFunc sort_func,
                                 gpointer user_data,
                                 GDestroyNotify destroy);

Sets the comparison function used when sorting to be sort_func . If the current sort column id of sortable is the same as sort_column_id , then the model will sort using this function.

Parameters

sortable

A GtkTreeSortable

 

sort_column_id

the sort column id to set the function for

 

sort_func

The comparison function

 

user_data

User data to pass to sort_func , or NULL.

[closure]

destroy

Destroy notifier of user_data , or NULL.

[allow-none]

gtk_tree_sortable_set_default_sort_func ()

void
gtk_tree_sortable_set_default_sort_func
                               (GtkTreeSortable *sortable,
                                GtkTreeIterCompareFunc sort_func,
                                gpointer user_data,
                                GDestroyNotify destroy);

Sets the default comparison function used when sorting to be sort_func . If the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function.

If sort_func is NULL, then there will be no default comparison function. This means that once the model has been sorted, it can’t go back to the default state. In this case, when the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.

Parameters

sortable

A GtkTreeSortable

 

sort_func

The comparison function

 

user_data

User data to pass to sort_func , or NULL.

[closure]

destroy

Destroy notifier of user_data , or NULL.

[allow-none]

gtk_tree_sortable_has_default_sort_func ()

gboolean
gtk_tree_sortable_has_default_sort_func
                               (GtkTreeSortable *sortable);

Returns TRUE if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not.

Parameters

sortable

A GtkTreeSortable

 

Returns

TRUE, if the model has a default sort function

Types and Values

GtkTreeSortable

typedef struct _GtkTreeSortable GtkTreeSortable;

struct GtkTreeSortableIface

struct GtkTreeSortableIface {
  /* signals */
  void     (* sort_column_changed)   (GtkTreeSortable        *sortable);

  /* virtual table */
  gboolean (* get_sort_column_id)    (GtkTreeSortable        *sortable,
				      int                    *sort_column_id,
				      GtkSortType            *order);
  void     (* set_sort_column_id)    (GtkTreeSortable        *sortable,
				      int                     sort_column_id,
				      GtkSortType             order);
  void     (* set_sort_func)         (GtkTreeSortable        *sortable,
				      int                     sort_column_id,
				      GtkTreeIterCompareFunc  sort_func,
				      gpointer                user_data,
				      GDestroyNotify          destroy);
  void     (* set_default_sort_func) (GtkTreeSortable        *sortable,
				      GtkTreeIterCompareFunc  sort_func,
				      gpointer                user_data,
				      GDestroyNotify          destroy);
  gboolean (* has_default_sort_func) (GtkTreeSortable        *sortable);
};

Members

sort_column_changed ()

Signal emitted when the sort column or sort order of sortable is changed.

 

get_sort_column_id ()

Fills in sort_column_id and order with the current sort column and the order.

 

set_sort_column_id ()

Sets the current sort column to be sort_column_id.

 

set_sort_func ()

Sets the comparison function used when sorting to be sort_func.

 

set_default_sort_func ()

Sets the default comparison function used when sorting to be sort_func.

 

has_default_sort_func ()

TRUE if the model has a default sort function.

 

GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID

#define GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID (-1)

The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a GtkTreeSortable use the default sort function.

See also gtk_tree_sortable_set_sort_column_id()


GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID

#define GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID (-2)

The GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID can be used to make a GtkTreeSortable use no sorting.

See also gtk_tree_sortable_set_sort_column_id()

Signal Details

The “sort-column-changed” signal

void
user_function (GtkTreeSortable *sortable,
               gpointer         user_data)

The ::sort-column-changed signal is emitted when the sort column or sort order of sortable is changed. The signal is emitted before the contents of sortable are resorted.

Parameters

sortable

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/ch05s03.html0000664000175000017500000001234713710700534017307 0ustar mclasenmclasen Keyboard input: GTK 4 Reference Manual

Keyboard input

Every GtkWindow maintains a single focus location (in the “focus-widget” property). The focus widget is the target widget for key events sent to the window. Only widgets which have “can-focus” set to TRUE can become the focus. Typically these are input controls such as entries or text fields, but e.g. buttons can take the focus too.

Input widgets can be given the focus by clicking on them, but focus can also be moved around with certain key events (this is known as keyboard navigation). GTK reserves the Tab key to move the focus to the next location, and Shift-Tab to move it back to the previous one. In addition many containers allow directional navigation with the arrow keys.

Many widgets can be activated to trigger and action. E.g., you can activate a button or switch by clicking on them, but you can also activate them with the keyboard, by using the Enter or Space keys.

Apart from keyboard navigation, activation and directly typing into entries or text views, GTK widgets can use key events for activating shortcuts. Shortcuts generally act as a quick way to move the focus around or to activate a widget that does not currently have the focus.

GTK has traditionally supported different kinds of shortcuts:

Accelerators

Accelerators are any other shortcuts that can be activated regardless

of where the focus is, and typically trigger global actions, such as Ctrl-Q to quit an application. Mnmemonics : Mnemonics are usually triggered using Alt as a modifier for a letter. They are used in places where a label is associated with a control, and are indicated by underlining the letter in the label. As a special case, inside menus (i.e. inside GtkPopoverMenu), mnemonics can be trigered without the modifier. Key bindings : Key bindings are specific to individual widgets, such as Ctrl-C or Ctrl-V in an entry copy to or paste from the clipboard. They are only triggered when the widget has focus.

GTK handles accelerators and mnemonics in a global scope, during the capture phase, and key bindings locally, during the target phase.

Under the hood, all shortcuts are represented as instances of GtkShortcut, and they are managed by GtkShortcutController.

docs/reference/gtk/html/GtkTreeModelSort.html0000664000175000017500000011221413710700534021412 0ustar mclasenmclasen GtkTreeModelSort: GTK 4 Reference Manual

GtkTreeModelSort

GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable

Properties

GtkTreeModel * model Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTreeModelSort

Implemented Interfaces

GtkTreeModelSort implements GtkTreeModel, GtkTreeSortable and GtkTreeDragSource.

Includes

#include <gtk/gtk.h>

Description

The GtkTreeModelSort is a model which implements the GtkTreeSortable interface. It does not hold any data itself, but rather is created with a child model and proxies its data. It has identical column types to this child model, and the changes in the child are propagated. The primary purpose of this model is to provide a way to sort a different model without modifying it. Note that the sort function used by GtkTreeModelSort is not guaranteed to be stable.

The use of this is best demonstrated through an example. In the following sample code we create two GtkTreeView widgets each with a view of the same data. As the model is wrapped here by a GtkTreeModelSort, the two GtkTreeViews can each sort their view of the data without affecting the other. By contrast, if we simply put the same model in each widget, then sorting the first would sort the second.

Using a GtkTreeModelSort

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  GtkTreeView *tree_view1;
  GtkTreeView *tree_view2;
  GtkTreeModel *sort_model1;
  GtkTreeModel *sort_model2;
  GtkTreeModel *child_model;

  // get the child model
  child_model = get_my_model ();

  // Create the first tree
  sort_model1 = gtk_tree_model_sort_new_with_model (child_model);
  tree_view1 = gtk_tree_view_new_with_model (sort_model1);

  // Create the second tree
  sort_model2 = gtk_tree_model_sort_new_with_model (child_model);
  tree_view2 = gtk_tree_view_new_with_model (sort_model2);

  // Now we can sort the two models independently
  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model1),
                                        COLUMN_1, GTK_SORT_ASCENDING);
  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model2),
                                        COLUMN_1, GTK_SORT_DESCENDING);
}

To demonstrate how to access the underlying child model from the sort model, the next example will be a callback for the GtkTreeSelection “changed” signal. In this callback, we get a string from COLUMN_1 of the model. We then modify the string, find the same selected row on the child model, and change the row there.

Accessing the child model of in a selection changed callback

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void
selection_changed (GtkTreeSelection *selection, gpointer data)
{
  GtkTreeModel *sort_model = NULL;
  GtkTreeModel *child_model;
  GtkTreeIter sort_iter;
  GtkTreeIter child_iter;
  char *some_data = NULL;
  char *modified_data;

  // Get the current selected row and the model.
  if (! gtk_tree_selection_get_selected (selection,
                                         &sort_model,
                                         &sort_iter))
    return;

  // Look up the current value on the selected row and get
  // a new value to change it to.
  gtk_tree_model_get (GTK_TREE_MODEL (sort_model), &sort_iter,
                      COLUMN_1, &some_data,
                      -1);

  modified_data = change_the_data (some_data);
  g_free (some_data);

  // Get an iterator on the child model, instead of the sort model.
  gtk_tree_model_sort_convert_iter_to_child_iter (GTK_TREE_MODEL_SORT (sort_model),
                                                  &child_iter,
                                                  &sort_iter);

  // Get the child model and change the value of the row. In this
  // example, the child model is a GtkListStore. It could be any other
  // type of model, though.
  child_model = gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT (sort_model));
  gtk_list_store_set (GTK_LIST_STORE (child_model), &child_iter,
                      COLUMN_1, &modified_data,
                      -1);
  g_free (modified_data);
}

Functions

gtk_tree_model_sort_new_with_model ()

GtkTreeModel *
gtk_tree_model_sort_new_with_model (GtkTreeModel *child_model);

Creates a new GtkTreeModelSort, with child_model as the child model.

[constructor]

Parameters

child_model

A GtkTreeModel

 

Returns

A new GtkTreeModelSort.

[transfer full][type Gtk.TreeModelSort]


gtk_tree_model_sort_get_model ()

GtkTreeModel *
gtk_tree_model_sort_get_model (GtkTreeModelSort *tree_model);

Returns the model the GtkTreeModelSort is sorting.

Parameters

tree_model

a GtkTreeModelSort

 

Returns

the "child model" being sorted.

[transfer none]


gtk_tree_model_sort_convert_child_path_to_path ()

GtkTreePath *
gtk_tree_model_sort_convert_child_path_to_path
                               (GtkTreeModelSort *tree_model_sort,
                                GtkTreePath *child_path);

Converts child_path to a path relative to tree_model_sort . That is, child_path points to a path in the child model. The returned path will point to the same row in the sorted model. If child_path isn’t a valid path on the child model, then NULL is returned.

Parameters

tree_model_sort

A GtkTreeModelSort

 

child_path

A GtkTreePath to convert

 

Returns

A newly allocated GtkTreePath, or NULL.

[nullable][transfer full]


gtk_tree_model_sort_convert_child_iter_to_iter ()

gboolean
gtk_tree_model_sort_convert_child_iter_to_iter
                               (GtkTreeModelSort *tree_model_sort,
                                GtkTreeIter *sort_iter,
                                GtkTreeIter *child_iter);

Sets sort_iter to point to the row in tree_model_sort that corresponds to the row pointed at by child_iter . If sort_iter was not set, FALSE is returned. Note: a boolean is only returned since 2.14.

Parameters

tree_model_sort

A GtkTreeModelSort

 

sort_iter

An uninitialized GtkTreeIter.

[out]

child_iter

A valid GtkTreeIter pointing to a row on the child model

 

Returns

TRUE, if sort_iter was set, i.e. if sort_iter is a valid iterator pointer to a visible row in the child model.


gtk_tree_model_sort_convert_path_to_child_path ()

GtkTreePath *
gtk_tree_model_sort_convert_path_to_child_path
                               (GtkTreeModelSort *tree_model_sort,
                                GtkTreePath *sorted_path);

Converts sorted_path to a path on the child model of tree_model_sort . That is, sorted_path points to a location in tree_model_sort . The returned path will point to the same location in the model not being sorted. If sorted_path does not point to a location in the child model, NULL is returned.

Parameters

tree_model_sort

A GtkTreeModelSort

 

sorted_path

A GtkTreePath to convert

 

Returns

A newly allocated GtkTreePath, or NULL.

[nullable][transfer full]


gtk_tree_model_sort_convert_iter_to_child_iter ()

void
gtk_tree_model_sort_convert_iter_to_child_iter
                               (GtkTreeModelSort *tree_model_sort,
                                GtkTreeIter *child_iter,
                                GtkTreeIter *sorted_iter);

Sets child_iter to point to the row pointed to by sorted_iter .

Parameters

tree_model_sort

A GtkTreeModelSort

 

child_iter

An uninitialized GtkTreeIter.

[out]

sorted_iter

A valid GtkTreeIter pointing to a row on tree_model_sort .

 

gtk_tree_model_sort_reset_default_sort_func ()

void
gtk_tree_model_sort_reset_default_sort_func
                               (GtkTreeModelSort *tree_model_sort);

This resets the default sort function to be in the “unsorted” state. That is, it is in the same order as the child model. It will re-sort the model to be in the same order as the child model only if the GtkTreeModelSort is in “unsorted” state.

Parameters

tree_model_sort

A GtkTreeModelSort

 

gtk_tree_model_sort_clear_cache ()

void
gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort);

This function should almost never be called. It clears the tree_model_sort of any cached iterators that haven’t been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being sorted is static (and doesn’t change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid.

Parameters

tree_model_sort

A GtkTreeModelSort

 

gtk_tree_model_sort_iter_is_valid ()

gboolean
gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort,
                                   GtkTreeIter *iter);

This function is slow. Only use it for debugging and/or testing purposes.

Checks if the given iter is a valid iter for this GtkTreeModelSort.

Parameters

tree_model_sort

A GtkTreeModelSort.

 

iter

A GtkTreeIter.

 

Returns

TRUE if the iter is valid, FALSE if the iter is invalid.

Types and Values

struct GtkTreeModelSort

struct GtkTreeModelSort;

Property Details

The “model” property

  “model”                    GtkTreeModel *

The model for the TreeModelSort to sort.

Owner: GtkTreeModelSort

Flags: Read / Write / Construct Only

docs/reference/gtk/html/WindowWidgets.html0000664000175000017500000000620013710700534021007 0ustar mclasenmclasen Windows: GTK 4 Reference Manual

Windows

GtkRoot — Interface for root widgets
GtkNative — Interface for widgets having surfaces
GtkWindow — Toplevel which can contain other widgets
GtkDialog — Create popup windows
GtkMessageDialog — A convenient message window
GtkAboutDialog — Display information about an application
GtkAssistant — A widget used to guide users through multi-step operations
GtkWindowGroup — Limit the effect of grabs
GtkNativeDialog — Integrate with native dialogs
docs/reference/gtk/html/GtkImage.html0000664000175000017500000016461613710700534017721 0ustar mclasenmclasen GtkImage: GTK 4 Reference Manual

GtkImage

GtkImage — A widget displaying an image

Properties

gchar * file Read / Write
GIcon * gicon Read / Write
gchar * icon-name Read / Write
GtkIconSize icon-size Read / Write
GdkPaintable * paintable Read / Write
gint pixel-size Read / Write
gchar * resource Read / Write
GtkImageType storage-type Read
gboolean use-fallback Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkImage

Implemented Interfaces

GtkImage implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkImage widget displays an image. Various kinds of object can be displayed as an image; most typically, you would load a GdkTexture from a file, and then display that. There’s a convenience function to do this, gtk_image_new_from_file(), used as follows:

1
2
GtkWidget *image;
image = gtk_image_new_from_file ("myfile.png");

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 with gdk_texture_new_from_file(), then create the GtkImage with gtk_image_new_from_paintable().

Sometimes an application will want to avoid depending on external data files, such as image files. See the documentation of GResource for details. In this case, the “resource”, gtk_image_new_from_resource() and gtk_image_set_from_resource() should be used.

CSS nodes

GtkImage has a single CSS node with the name image. The style classes .normal-icons or .large-icons may appear, depending on the “icon-size” property.


Accessibility

GtkImage uses the GTK_ACCESSIBLE_ROLE_IMG role.

Functions

gtk_image_new ()

GtkWidget *
gtk_image_new (void);

Creates a new empty GtkImage widget.

Returns

a newly created GtkImage widget.


gtk_image_new_from_file ()

GtkWidget *
gtk_image_new_from_file (const char *filename);

Creates a new GtkImage displaying the file filename . If the file isn’t found or can’t be loaded, the resulting GtkImage will display a “broken image” icon. This function never returns NULL, it always returns a valid GtkImage widget.

If you need to detect failures to load the file, use gdk_texture_new_from_file() to load the file yourself, then create the GtkImage from the texture.

The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file.

Parameters

filename

a filename.

[type filename]

Returns

a new GtkImage


gtk_image_new_from_resource ()

GtkWidget *
gtk_image_new_from_resource (const char *resource_path);

Creates a new GtkImage displaying the resource file resource_path . If the file isn’t found or can’t be loaded, the resulting GtkImage will display a “broken image” icon. This function never returns NULL, it always returns a valid GtkImage widget.

If you need to detect failures to load the file, use gdk_pixbuf_new_from_file() to load the file yourself, then create the GtkImage from the pixbuf.

The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file.

Parameters

resource_path

a resource path

 

Returns

a new GtkImage


gtk_image_new_from_pixbuf ()

GtkWidget *
gtk_image_new_from_pixbuf (GdkPixbuf *pixbuf);

Creates a new GtkImage displaying pixbuf . The GtkImage does not assume a reference to the pixbuf; you still need to unref it if you own references. GtkImage will add its own reference rather than adopting yours.

This is a helper for gtk_image_new_from_paintable(), and you can't get back the exact pixbuf once this is called, only a texture.

Note that this function just creates an GtkImage from the pixbuf. The GtkImage created will not react to state changes. Should you want that, you should use gtk_image_new_from_icon_name().

Parameters

pixbuf

a GdkPixbuf, or NULL.

[allow-none]

Returns

a new GtkImage


gtk_image_new_from_paintable ()

GtkWidget *
gtk_image_new_from_paintable (GdkPaintable *paintable);

Creates a new GtkImage displaying paintable . The GtkImage does not assume a reference to the paintable; you still need to unref it if you own references. GtkImage will add its own reference rather than adopting yours.

The GtkImage will track changes to the paintable and update its size and contents in response to it.

Parameters

paintable

a GdkPaintable, or NULL.

[allow-none]

Returns

a new GtkImage


gtk_image_new_from_icon_name ()

GtkWidget *
gtk_image_new_from_icon_name (const char *icon_name);

Creates a GtkImage displaying an icon from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately.

Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size.

Parameters

icon_name

an icon name or NULL.

[nullable]

Returns

a new GtkImage displaying the themed icon


gtk_image_new_from_gicon ()

GtkWidget *
gtk_image_new_from_gicon (GIcon *icon);

Creates a GtkImage displaying an icon from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately.

Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size.

Parameters

icon

an icon

 

Returns

a new GtkImage displaying the themed icon


gtk_image_clear ()

void
gtk_image_clear (GtkImage *image);

Resets the image to be empty.

Parameters

image

a GtkImage

 

gtk_image_set_from_file ()

void
gtk_image_set_from_file (GtkImage *image,
                         const char *filename);

See gtk_image_new_from_file() for details.

Parameters

image

a GtkImage

 

filename

a filename or NULL.

[type filename][allow-none]

gtk_image_set_from_resource ()

void
gtk_image_set_from_resource (GtkImage *image,
                             const char *resource_path);

See gtk_image_new_from_resource() for details.

Parameters

image

a GtkImage

 

resource_path

a resource path or NULL.

[allow-none]

gtk_image_set_from_pixbuf ()

void
gtk_image_set_from_pixbuf (GtkImage *image,
                           GdkPixbuf *pixbuf);

See gtk_image_new_from_pixbuf() for details.

Note: This is a helper for gtk_image_set_from_paintable(), and you can't get back the exact pixbuf once this is called, only a paintable.

Parameters

image

a GtkImage

 

pixbuf

a GdkPixbuf or NULL.

[allow-none]

gtk_image_set_from_paintable ()

void
gtk_image_set_from_paintable (GtkImage *image,
                              GdkPaintable *paintable);

See gtk_image_new_from_paintable() for details.

Parameters

image

a GtkImage

 

paintable

a GdkPaintable or NULL.

[nullable]

gtk_image_set_from_icon_name ()

void
gtk_image_set_from_icon_name (GtkImage *image,
                              const char *icon_name);

See gtk_image_new_from_icon_name() for details.

Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size.

Parameters

image

a GtkImage

 

icon_name

an icon name or NULL.

[nullable]

gtk_image_set_from_gicon ()

void
gtk_image_set_from_gicon (GtkImage *image,
                          GIcon *icon);

See gtk_image_new_from_gicon() for details.

Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size.

Parameters

image

a GtkImage

 

icon

an icon

 

gtk_image_get_storage_type ()

GtkImageType
gtk_image_get_storage_type (GtkImage *image);

Gets the type of representation being used by the GtkImage to store image data. If the GtkImage has no image data, the return value will be GTK_IMAGE_EMPTY.

Parameters

image

a GtkImage

 

Returns

image representation being used


gtk_image_get_paintable ()

GdkPaintable *
gtk_image_get_paintable (GtkImage *image);

Gets the image GdkPaintable being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_PAINTABLE (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned paintable.

Parameters

image

a GtkImage

 

Returns

the displayed paintable, or NULL if the image is empty.

[nullable][transfer none]


gtk_image_get_icon_name ()

const char *
gtk_image_get_icon_name (GtkImage *image);

Gets the icon name and size being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()). The returned string is owned by the GtkImage and should not be freed.

Note: This function was changed in 3.94 not to use out parameters anymore, but return the icon name directly. See gtk_image_get_icon_size() for a way to get the icon size.

Parameters

image

a GtkImage

 

Returns

the icon name, or NULL.

[transfer none][allow-none]


gtk_image_get_gicon ()

GIcon *
gtk_image_get_gicon (GtkImage *image);

Gets the GIcon and size being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_GICON (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned GIcon.

Note: This function was changed in 3.94 not to use out parameters anymore, but return the GIcon directly. See gtk_image_get_icon_size() for a way to get the icon size.

Parameters

image

a GtkImage

 

Returns

a GIcon, or NULL.

[transfer none][allow-none]


gtk_image_set_pixel_size ()

void
gtk_image_set_pixel_size (GtkImage *image,
                          int pixel_size);

Sets the pixel size to use for named icons. If the pixel size is set to a value != -1, it is used instead of the icon size set by gtk_image_set_from_icon_name().

Parameters

image

a GtkImage

 

pixel_size

the new pixel size

 

gtk_image_get_pixel_size ()

int
gtk_image_get_pixel_size (GtkImage *image);

Gets the pixel size used for named icons.

Parameters

image

a GtkImage

 

Returns

the pixel size used for named icons.


gtk_image_set_icon_size ()

void
gtk_image_set_icon_size (GtkImage *image,
                         GtkIconSize icon_size);

Suggests an icon size to the theme for named icons.

Parameters

image

a GtkImage

 

icon_size

the new icon size

 

gtk_image_get_icon_size ()

GtkIconSize
gtk_image_get_icon_size (GtkImage *image);

Gets the icon size used by the image when rendering icons.

Parameters

image

a GtkImage

 

Returns

the image size used by icons

Types and Values

GtkImage

typedef struct _GtkImage GtkImage;

enum GtkImageType

Describes the image data representation used by a GtkImage. If you want to get the image from the widget, you can only get the currently-stored representation. e.g. if the gtk_image_get_storage_type() returns GTK_IMAGE_PAINTABLE, then you can call gtk_image_get_paintable(). For empty images, you can request any storage type (call any of the "get" functions), but they will all return NULL values.

Members

GTK_IMAGE_EMPTY

there is no image displayed by the widget

 

GTK_IMAGE_ICON_NAME

the widget contains a named icon. This image type was added in GTK+ 2.6

 

GTK_IMAGE_GICON

the widget contains a GIcon. This image type was added in GTK+ 2.14

 

GTK_IMAGE_PAINTABLE

the widget contains a GdkPaintable. This image type was added in GTK+ 3.96

 

Property Details

The “file” property

  “file”                     gchar *

Filename to load and display.

Owner: GtkImage

Flags: Read / Write

Default value: NULL


The “gicon” property

  “gicon”                    GIcon *

The GIcon displayed in the GtkImage. For themed icons, If the icon theme is changed, the image will be updated automatically.

Owner: GtkImage

Flags: Read / Write


The “icon-name” property

  “icon-name”                gchar *

The name of the icon in the icon theme. If the icon theme is changed, the image will be updated automatically.

Owner: GtkImage

Flags: Read / Write

Default value: NULL


The “icon-size” property

  “icon-size”                GtkIconSize

Symbolic size to use for icon set or named icon.

Owner: GtkImage

Flags: Read / Write

Default value: GTK_ICON_SIZE_INHERIT


The “paintable” property

  “paintable”                GdkPaintable *

A GdkPaintable to display.

Owner: GtkImage

Flags: Read / Write


The “pixel-size” property

  “pixel-size”               gint

The "pixel-size" property can be used to specify a fixed size overriding the “icon-size” property for images of type GTK_IMAGE_ICON_NAME.

Owner: GtkImage

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “resource” property

  “resource”                 gchar *

A path to a resource file to display.

Owner: GtkImage

Flags: Read / Write

Default value: NULL


The “storage-type” property

  “storage-type”             GtkImageType

The representation being used for image data.

Owner: GtkImage

Flags: Read

Default value: GTK_IMAGE_EMPTY


The “use-fallback” property

  “use-fallback”             gboolean

Whether the icon displayed in the GtkImage will use standard icon names fallback. The value of this property is only relevant for images of type GTK_IMAGE_ICON_NAME and GTK_IMAGE_GICON.

Owner: GtkImage

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkInfoBar.html0000664000175000017500000013760513710700534020215 0ustar mclasenmclasen GtkInfoBar: GTK 4 Reference Manual

GtkInfoBar

GtkInfoBar — Report important messages to the user

Properties

GtkMessageType message-type Read / Write / Construct
gboolean revealed Read / Write
gboolean show-close-button Read / Write / Construct

Signals

void close Action
void response Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkInfoBar

Implemented Interfaces

GtkInfoBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkInfoBar is a widget that can be used to show messages to the user without showing a dialog. It is often temporarily shown at the top or bottom of a document. In contrast to GtkDialog, which has an action area at the bottom, GtkInfoBar has an action area at the side.

The API of GtkInfoBar is very similar to GtkDialog, allowing you to add buttons to the action area with gtk_info_bar_add_button() or gtk_info_bar_new_with_buttons(). The sensitivity of action widgets can be controlled with gtk_info_bar_set_response_sensitive().

To add widgets to the main content area of a GtkInfoBar, use gtk_info_bar_add_child().

Similar to GtkMessageDialog, the contents of a GtkInfoBar can by classified as error message, warning, informational message, etc, by using gtk_info_bar_set_message_type(). GTK+ may use the message type to determine how the message is displayed.

A simple example for using a GtkInfoBar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
GtkWidget *message_label;
GtkWidget *widget;
GtkWidget *grid;
GtkInfoBar *bar;

// set up info bar
widget = gtk_info_bar_new ();
bar = GTK_INFO_BAR (widget);
grid = gtk_grid_new ();

message_label = gtk_label_new ("");
gtk_info_bar_add_child (bar, message_label);
gtk_info_bar_add_button (bar,
                         _("_OK"),
                         GTK_RESPONSE_OK);
g_signal_connect (bar,
                  "response",
                  G_CALLBACK (gtk_widget_hide),
                  NULL);
gtk_grid_attach (GTK_GRID (grid),
                 widget,
                 0, 2, 1, 1);

// ...

// show an error message
gtk_label_set_text (GTK_LABEL (message_label), "An error occurred!");
gtk_info_bar_set_message_type (bar, GTK_MESSAGE_ERROR);
gtk_widget_show (bar);

GtkInfoBar as GtkBuildable

The GtkInfoBar implementation of the GtkBuildable interface exposes the content area and action area as internal children with the names “content_area” and “action_area”.

GtkInfoBar supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs action_area ).


CSS nodes

GtkInfoBar has a single CSS node with name infobar. The node may get one of the style classes .info, .warning, .error or .question, depending on the message type. If the info bar shows a close button, that button will have the .close style class applied.

Functions

gtk_info_bar_new ()

GtkWidget *
gtk_info_bar_new (void);

Creates a new GtkInfoBar object.

Returns

a new GtkInfoBar object


gtk_info_bar_new_with_buttons ()

GtkWidget *
gtk_info_bar_new_with_buttons (const char *first_button_text,
                               ...);

Creates a new GtkInfoBar with buttons. Button text/response ID pairs should be listed, with a NULL pointer ending the list. A response ID can be any positive number, or one of the values in the GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkInfoBar will emit the “response” signal with the corresponding response ID.

Parameters

first_button_text

ext to go in first button, or NULL.

[allow-none]

...

response ID for first button, then additional buttons, ending with NULL

 

Returns

a new GtkInfoBar


gtk_info_bar_add_action_widget ()

void
gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
                                GtkWidget *child,
                                int response_id);

Add an activatable widget to the action area of a GtkInfoBar, connecting a signal handler that will emit the “response” signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area.

Parameters

info_bar

a GtkInfoBar

 

child

an activatable widget

 

response_id

response ID for child

 

gtk_info_bar_remove_action_widget ()

void
gtk_info_bar_remove_action_widget (GtkInfoBar *info_bar,
                                   GtkWidget *widget);

Removes a widget from the action area of info_bar , after it been put there by a call to gtk_info_bar_add_action_widget() or gtk_info_bar_add_button().

Parameters

info_bar

a GtkInfoBar

 

widget

an action widget to remove

 

gtk_info_bar_add_button ()

GtkWidget *
gtk_info_bar_add_button (GtkInfoBar *info_bar,
                         const char *button_text,
                         int response_id);

Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id. The button is appended to the end of the info bars's action area. The button widget is returned, but usually you don't need it.

Parameters

info_bar

a GtkInfoBar

 

button_text

text of button

 

response_id

response ID for the button

 

Returns

the GtkButton widget that was added.

[transfer none][type Gtk.Button]


gtk_info_bar_add_buttons ()

void
gtk_info_bar_add_buttons (GtkInfoBar *info_bar,
                          const char *first_button_text,
                          ...);

Adds more buttons, same as calling gtk_info_bar_add_button() repeatedly. The variable argument list should be NULL-terminated as with gtk_info_bar_new_with_buttons(). Each button must have both text and response ID.

Parameters

info_bar

a GtkInfoBar

 

first_button_text

button text

 

...

response ID for first button, then more text-response_id pairs, ending with NULL

 

gtk_info_bar_set_response_sensitive ()

void
gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
                                     int response_id,
                                     gboolean setting);

Calls gtk_widget_set_sensitive (widget, setting) for each widget in the info bars’s action area with the given response_id. A convenient way to sensitize/desensitize dialog buttons.

Parameters

info_bar

a GtkInfoBar

 

response_id

a response ID

 

setting

TRUE for sensitive

 

gtk_info_bar_set_default_response ()

void
gtk_info_bar_set_default_response (GtkInfoBar *info_bar,
                                   int response_id);

Sets the last widget in the info bar’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget.

Note that this function currently requires info_bar to be added to a widget hierarchy.

Parameters

info_bar

a GtkInfoBar

 

response_id

a response ID

 

gtk_info_bar_response ()

void
gtk_info_bar_response (GtkInfoBar *info_bar,
                       int response_id);

Emits the “response” signal with the given response_id .

Parameters

info_bar

a GtkInfoBar

 

response_id

a response ID

 

gtk_info_bar_set_message_type ()

void
gtk_info_bar_set_message_type (GtkInfoBar *info_bar,
                               GtkMessageType message_type);

Sets the message type of the message area.

GTK+ uses this type to determine how the message is displayed.

Parameters

info_bar

a GtkInfoBar

 

message_type

a GtkMessageType

 

gtk_info_bar_get_message_type ()

GtkMessageType
gtk_info_bar_get_message_type (GtkInfoBar *info_bar);

Returns the message type of the message area.

Parameters

info_bar

a GtkInfoBar

 

Returns

the message type of the message area.


gtk_info_bar_get_show_close_button ()

gboolean
gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar);

Returns whether the widget will display a standard close button.

Parameters

info_bar

a GtkInfoBar

 

Returns

TRUE if the widget displays standard close button


gtk_info_bar_set_show_close_button ()

void
gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,
                                    gboolean setting);

If true, a standard close button is shown. When clicked it emits the response GTK_RESPONSE_CLOSE.

Parameters

info_bar

a GtkInfoBar

 

setting

TRUE to include a close button

 

gtk_info_bar_get_revealed ()

gboolean
gtk_info_bar_get_revealed (GtkInfoBar *info_bar);

Returns whether the info bar is currently revealed.

Parameters

info_bar

a GtkInfoBar

 

Returns

the current value of the “revealed” property


gtk_info_bar_set_revealed ()

void
gtk_info_bar_set_revealed (GtkInfoBar *info_bar,
                           gboolean revealed);

Sets the “revealed” property to revealed . Changing this will make info_bar reveal (TRUE) or conceal (FALSE) itself via a sliding transition.

Note: this does not show or hide info_bar in the “visible” sense, so revealing has no effect if “visible” is FALSE.

Parameters

info_bar

a GtkInfoBar

 

revealed

The new value of the property

 

gtk_info_bar_add_child ()

void
gtk_info_bar_add_child (GtkInfoBar *info_bar,
                        GtkWidget *widget);

Adds a widget to the content area of the info bar.

Parameters

info_bar

a GtkInfoBar

 

widget

the child to be added

 

gtk_info_bar_remove_child ()

void
gtk_info_bar_remove_child (GtkInfoBar *info_bar,
                           GtkWidget *widget);

Removes a widget from the content area of the info bar, after it has been added with gtk_info_bar_add_child().

Parameters

info_bar

a GtkInfoBar

 

widget

a child that has been added to the content area

 

Types and Values

GtkInfoBar

typedef struct _GtkInfoBar GtkInfoBar;

Property Details

The “message-type” property

  “message-type”             GtkMessageType

The type of the message.

The type may be used to determine the appearance of the info bar.

Owner: GtkInfoBar

Flags: Read / Write / Construct

Default value: GTK_MESSAGE_INFO


The “revealed” property

  “revealed”                 gboolean

Controls whether the info bar shows its contents or not.

Owner: GtkInfoBar

Flags: Read / Write

Default value: TRUE


The “show-close-button” property

  “show-close-button”        gboolean

Whether to include a standard close button.

Owner: GtkInfoBar

Flags: Read / Write / Construct

Default value: FALSE

Signal Details

The “close” signal

void
user_function (GtkInfoBar *infobar,
               gpointer    user_data)

The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to dismiss the info bar.

The default binding for this signal is the Escape key.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “response” signal

void
user_function (GtkInfoBar *info_bar,
               gint        response_id,
               gpointer    user_data)

Emitted when an action widget is clicked or the application programmer calls gtk_info_bar_response(). The response_id depends on which action widget was clicked.

Parameters

info_bar

the object on which the signal is emitted

 

response_id

the response ID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkLabel.html0000664000175000017500000041463013710700534017710 0ustar mclasenmclasen GtkLabel: GTK 4 Reference Manual

GtkLabel

GtkLabel — A widget that displays a small to medium amount of text

Functions

GtkWidget * gtk_label_new ()
void gtk_label_set_text ()
void gtk_label_set_attributes ()
void gtk_label_set_markup ()
void gtk_label_set_markup_with_mnemonic ()
void gtk_label_set_justify ()
void gtk_label_set_xalign ()
void gtk_label_set_yalign ()
void gtk_label_set_ellipsize ()
void gtk_label_set_width_chars ()
void gtk_label_set_max_width_chars ()
void gtk_label_set_wrap ()
void gtk_label_set_wrap_mode ()
void gtk_label_set_lines ()
void gtk_label_get_layout_offsets ()
guint gtk_label_get_mnemonic_keyval ()
gboolean gtk_label_get_selectable ()
const char * gtk_label_get_text ()
GtkWidget * gtk_label_new_with_mnemonic ()
void gtk_label_select_region ()
void gtk_label_set_mnemonic_widget ()
void gtk_label_set_selectable ()
void gtk_label_set_text_with_mnemonic ()
PangoAttrList * gtk_label_get_attributes ()
GtkJustification gtk_label_get_justify ()
float gtk_label_get_xalign ()
float gtk_label_get_yalign ()
PangoEllipsizeMode gtk_label_get_ellipsize ()
int gtk_label_get_width_chars ()
int gtk_label_get_max_width_chars ()
const char * gtk_label_get_label ()
PangoLayout * gtk_label_get_layout ()
gboolean gtk_label_get_wrap ()
PangoWrapMode gtk_label_get_wrap_mode ()
int gtk_label_get_lines ()
GtkWidget * gtk_label_get_mnemonic_widget ()
gboolean gtk_label_get_selection_bounds ()
gboolean gtk_label_get_use_markup ()
gboolean gtk_label_get_use_underline ()
gboolean gtk_label_get_single_line_mode ()
void gtk_label_set_label ()
void gtk_label_set_use_markup ()
void gtk_label_set_use_underline ()
void gtk_label_set_single_line_mode ()
const char * gtk_label_get_current_uri ()
void gtk_label_set_extra_menu ()
GMenuModel * gtk_label_get_extra_menu ()

Properties

PangoAttrList * attributes Read / Write
PangoEllipsizeMode ellipsize Read / Write
GMenuModel * extra-menu Read / Write
GtkJustification justify Read / Write
gchar * label Read / Write
gint lines Read / Write
gint max-width-chars Read / Write
guint mnemonic-keyval Read
GtkWidget * mnemonic-widget Read / Write
gboolean selectable Read / Write
gboolean single-line-mode Read / Write
gboolean use-markup Read / Write
gboolean use-underline Read / Write
gint width-chars Read / Write
gboolean wrap Read / Write
PangoWrapMode wrap-mode Read / Write
gfloat xalign Read / Write
gfloat yalign Read / Write

Signals

void activate-current-link Action
gboolean activate-link Run Last
void copy-clipboard Action
void move-cursor Action

Actions

  link.copy  
  link.open  
  selection.select-all  
  selection.delete  
  clipboard.paste  
  clipboard.copy  
  clipboard.cut  
  menu.popup  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkLabel

Implemented Interfaces

GtkLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkLabel widget displays a small amount of text. As the name implies, most labels are used to label another widget such as a GtkButton.

CSS nodes

1
2
3
4
5
label
├── [selection]
├── [link]

╰── [link]

GtkLabel has a single CSS node with the name label. A wide variety of style classes may be applied to labels, such as .title, .subtitle, .dim-label, etc. In the GtkShortcutsWindow, labels are used wth the .keycap style class.

If the label has a selection, it gets a subnode with name selection.

If the label has links, there is one subnode per link. These subnodes carry the link or visited state depending on whether they have been visited. In this case, label node also gets a .link style class.


GtkLabel as GtkBuildable

The GtkLabel implementation of the GtkBuildable interface supports a custom <attributes> element, which supports any number of <attribute> elements. The <attribute> element has attributes named “name“, “value“, “start“ and “end“ and allows you to specify PangoAttribute values for this label.

An example of a UI definition fragment specifying Pango attributes:

1
2
3
4
5
6
<object class="GtkLabel">
  <attributes>
    <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
    <attribute name="background" value="red" start="5" end="10"/>
  </attributes>
</object>

The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead.


Accessibility

GtkLabel uses the GTK_ACCESSIBLE_ROLE_LABEL role.


Mnemonics

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 the functions gtk_label_new_with_mnemonic() or gtk_label_set_text_with_mnemonic().

Mnemonics automatically activate any activatable widget the label is inside, such as a GtkButton; if the label is not inside the mnemonic’s target widget, you have to tell the label about the target using gtk_label_set_mnemonic_widget(). Here’s a simple example where the label is inside a button:

1
2
3
4
// Pressing Alt+H will activate this button
GtkWidget *button = gtk_button_new ();
GtkWidget *label = gtk_label_new_with_mnemonic ("_Hello");
gtk_button_set_child (GTK_BUTTON (button), label);

There’s a convenience function to create buttons with a mnemonic label already inside:

1
2
// Pressing Alt+H will activate this button
GtkWidget *button = gtk_button_new_with_mnemonic ("_Hello");

To create a mnemonic for a widget alongside the label, such as a GtkEntry, you have to point the label at the entry with gtk_label_set_mnemonic_widget():

1
2
3
4
// Pressing Alt+H will focus the entry
GtkWidget *entry = gtk_entry_new ();
GtkWidget *label = gtk_label_new_with_mnemonic ("_Hello");
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);


Markup (styled text)

To make it easy to format text in a label (changing colors, fonts, etc.), label text can be provided in a simple markup format.

Here’s how to create a label with a small font:

1
2
GtkWidget *label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "<small>Small text</small>");

(See complete documentation of available tags in the Pango manual.)

The markup passed to gtk_label_set_markup() must be valid; for example, literal <, > and & characters must be escaped as <, >, and &. If you pass text obtained from the user, file, or a network to gtk_label_set_markup(), you’ll want to escape it with g_markup_escape_text() or g_markup_printf_escaped().

Markup strings are just a convenient way to set the PangoAttrList on a label; gtk_label_set_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.


Selectable labels

Labels can be made selectable with gtk_label_set_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.


Text layout

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.

Labels can automatically wrap text if you call gtk_label_set_wrap().

gtk_label_set_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 the “halign” and “valign” properties.

The “width-chars” and “max-width-chars” properties can be used to control the size allocation of ellipsized or wrapped labels. For ellipsizing labels, if either is specified (and less than the actual text size), it is used as the minimum width, and the actual text size is used as the natural width of the label. For wrapping labels, width-chars is used as the minimum width, if specified, and max-width-chars is used as the natural width. Even if max-width-chars specified, wrapping labels will be rewrapped to use all of the available width.

Note that the interpretation of “width-chars” and “max-width-chars” has changed a bit with the introduction of width-for-height geometry management.


Links

GTK+ supports markup for clickable hyperlinks in addition to regular Pango markup. The markup for links is borrowed from HTML, using the <a> with “href“, “title“ and “class“ attributes. GTK+ renders links similar to the way they appear in web browsers, with colored, underlined text. The “title“ attribute is displayed as a tooltip on the link. The “class“ attribute is used as style class on the CSS node for the link.

An example looks like this:

1
2
3
4
5
6
const char *text =
"Go to the"
"<a href=\"http://www.gtk.org title=\"<i>Our</i> website\">"
"GTK+ website</a> for more...";
GtkWidget *label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), text);

It is possible to implement custom handling for links and their tooltips with the “activate-link” signal and the gtk_label_get_current_uri() function.

Functions

gtk_label_new ()

GtkWidget *
gtk_label_new (const char *str);

Creates a new label with the given text inside it. You can pass NULL to get an empty label widget.

Parameters

str

The text of the label.

[nullable]

Returns

the new GtkLabel


gtk_label_set_text ()

void
gtk_label_set_text (GtkLabel *self,
                    const char *str);

Sets the text within the GtkLabel widget. It overwrites any text that was there before.

This function will clear any previously set mnemonic accelerators, and set the “use-underline” property to FALSE as a side effect.

This function will set the “use-markup” property to FALSE as a side effect.

See also: gtk_label_set_markup()

Parameters

self

a GtkLabel

 

str

The text you want to set

 

gtk_label_set_attributes ()

void
gtk_label_set_attributes (GtkLabel *self,
                          PangoAttrList *attrs);

Sets a PangoAttrList; the attributes in the list are applied to the label text.

The attributes set with this function will be applied and merged with any other attributes previously effected by way of the “use-underline” or “use-markup” properties. While it is not recommended to mix markup strings with manually set attributes, if you must; know that the attributes will be applied to the label after the markup string is parsed.

Parameters

self

a GtkLabel

 

attrs

a PangoAttrList, or NULL.

[nullable]

gtk_label_set_markup ()

void
gtk_label_set_markup (GtkLabel *self,
                      const char *str);

Parses str which is marked up with the Pango text markup language, setting the label’s text and attribute list based on the parse results.

If the str is external data, you may need to escape it with g_markup_escape_text() or g_markup_printf_escaped():

1
2
3
4
5
6
7
8
GtkWidget *self = gtk_label_new (NULL);
const char *str = "...";
const char *format = "<span style=\"italic\">\%s</span>";
char *markup;

markup = g_markup_printf_escaped (format, str);
gtk_label_set_markup (GTK_LABEL (self), markup);
g_free (markup);

This function will set the “use-markup” property to TRUE as a side effect.

If you set the label contents using the “label” property you should also ensure that you set the “use-markup” property accordingly.

See also: gtk_label_set_text()

Parameters

self

a GtkLabel

 

str

a markup string (see Pango markup format)

 

gtk_label_set_markup_with_mnemonic ()

void
gtk_label_set_markup_with_mnemonic (GtkLabel *self,
                                    const char *str);

Parses str which is marked up with the Pango text markup language, setting the label’s text and attribute list based on the parse results. If characters in str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic.

The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget().

Parameters

self

a GtkLabel

 

str

a markup string (see Pango markup format)

 

gtk_label_set_justify ()

void
gtk_label_set_justify (GtkLabel *self,
                       GtkJustification jtype);

Sets the alignment of the lines in the text of the label relative to each other. GTK_JUSTIFY_LEFT is the default value when the widget is first created with gtk_label_new(). If you instead want to set the alignment of the label as a whole, use gtk_widget_set_halign() instead. gtk_label_set_justify() has no effect on labels containing only a single line.

Parameters

self

a GtkLabel

 

jtype

a GtkJustification

 

gtk_label_set_xalign ()

void
gtk_label_set_xalign (GtkLabel *self,
                      float xalign);

Sets the “xalign” property for label .

Parameters

self

a GtkLabel

 

xalign

the new xalign value, between 0 and 1

 

gtk_label_set_yalign ()

void
gtk_label_set_yalign (GtkLabel *self,
                      float yalign);

Sets the “yalign” property for label .

Parameters

self

a GtkLabel

 

yalign

the new yalign value, between 0 and 1

 

gtk_label_set_ellipsize ()

void
gtk_label_set_ellipsize (GtkLabel *self,
                         PangoEllipsizeMode mode);

Sets the mode used to ellipsize (add an ellipsis: "...") to the text if there is not enough space to render the entire string.

Parameters

self

a GtkLabel

 

mode

a PangoEllipsizeMode

 

gtk_label_set_width_chars ()

void
gtk_label_set_width_chars (GtkLabel *self,
                           int n_chars);

Sets the desired width in characters of label to n_chars .

Parameters

self

a GtkLabel

 

n_chars

the new desired width, in characters.

 

gtk_label_set_max_width_chars ()

void
gtk_label_set_max_width_chars (GtkLabel *self,
                               int n_chars);

Sets the desired maximum width in characters of label to n_chars .

Parameters

self

a GtkLabel

 

n_chars

the new desired maximum width, in characters.

 

gtk_label_set_wrap ()

void
gtk_label_set_wrap (GtkLabel *self,
                    gboolean wrap);

Toggles line wrapping within the GtkLabel widget. TRUE makes it 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.

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 gtk_widget_set_size_request().

Parameters

self

a GtkLabel

 

wrap

the setting

 

gtk_label_set_wrap_mode ()

void
gtk_label_set_wrap_mode (GtkLabel *self,
                         PangoWrapMode wrap_mode);

If line wrapping is on (see gtk_label_set_wrap()) this controls how the line wrapping is done. The default is PANGO_WRAP_WORD which means wrap on word boundaries.

Parameters

self

a GtkLabel

 

wrap_mode

the line wrapping mode

 

gtk_label_set_lines ()

void
gtk_label_set_lines (GtkLabel *self,
                     int lines);

Sets the number of lines to which an ellipsized, wrapping label should be limited. This has no effect if the label is not wrapping or ellipsized. Set this to -1 if you don’t want to limit the number of lines.

Parameters

self

a GtkLabel

 

lines

the desired number of lines, or -1

 

gtk_label_get_layout_offsets ()

void
gtk_label_get_layout_offsets (GtkLabel *self,
                              int *x,
                              int *y);

Obtains the coordinates where the label will draw the PangoLayout representing the text in the label; useful to convert mouse events into coordinates inside the PangoLayout, e.g. to take some action if some part of the label is clicked. Remember when using the PangoLayout functions you need to convert to and from pixels using PANGO_PIXELS() or PANGO_SCALE.

Parameters

self

a GtkLabel

 

x

location to store X offset of layout, or NULL.

[out][optional]

y

location to store Y offset of layout, or NULL.

[out][optional]

gtk_label_get_mnemonic_keyval ()

guint
gtk_label_get_mnemonic_keyval (GtkLabel *self);

If the label has been set so that it has a mnemonic key this function returns the keyval used for the mnemonic accelerator. If there is no mnemonic set up it returns GDK_KEY_VoidSymbol.

Parameters

self

a GtkLabel

 

Returns

GDK keyval usable for accelerators, or GDK_KEY_VoidSymbol


gtk_label_get_selectable ()

gboolean
gtk_label_get_selectable (GtkLabel *self);

Gets the value set by gtk_label_set_selectable().

Parameters

self

a GtkLabel

 

Returns

TRUE if the user can copy text from the label


gtk_label_get_text ()

const char *
gtk_label_get_text (GtkLabel *self);

Fetches the text from a label widget, as displayed on the screen. This does not include any embedded underlines indicating mnemonics or Pango markup. (See gtk_label_get_label())

Parameters

self

a GtkLabel

 

Returns

the text in the label widget. This is the internal string used by the label, and must not be modified.


gtk_label_new_with_mnemonic ()

GtkWidget *
gtk_label_new_with_mnemonic (const char *str);

Creates a new GtkLabel, containing the text in str .

If characters in str are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget().

If gtk_label_set_mnemonic_widget() is not called, then the first activatable ancestor of the GtkLabel will be chosen as the mnemonic widget. For instance, if the label is inside a button or menu item, the button or menu item will automatically become the mnemonic widget and be activated by the mnemonic.

Parameters

str

The text of the label, with an underscore in front of the mnemonic character.

[nullable]

Returns

the new GtkLabel


gtk_label_select_region ()

void
gtk_label_select_region (GtkLabel *self,
                         int start_offset,
                         int end_offset);

Selects a range of characters in the label, if the label is selectable. See gtk_label_set_selectable(). If the label is not selectable, this function has no effect. If start_offset or end_offset are -1, then the end of the label will be substituted.

Parameters

self

a GtkLabel

 

start_offset

start offset (in characters not bytes)

 

end_offset

end offset (in characters not bytes)

 

gtk_label_set_mnemonic_widget ()

void
gtk_label_set_mnemonic_widget (GtkLabel *self,
                               GtkWidget *widget);

If the label has been set so that it has a mnemonic key (using i.e. gtk_label_set_markup_with_mnemonic(), gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic() or the “use_underline” property) the label can be associated with a widget that is the target of the mnemonic. When the label is inside a widget (like a GtkButton or a GtkNotebook tab) it is automatically associated with the correct widget, but sometimes (i.e. when the target is a GtkEntry next to the label) you need to set it explicitly using this function.

The target widget will be accelerated by emitting the GtkWidget::mnemonic-activate signal on it. The default handler for this signal will activate the widget if there are no mnemonic collisions and toggle focus between the colliding widgets otherwise.

Parameters

self

a GtkLabel

 

widget

the target GtkWidget, or NULL to unset.

[nullable]

gtk_label_set_selectable ()

void
gtk_label_set_selectable (GtkLabel *self,
                          gboolean setting);

Selectable labels allow the user to select text from the label, for copy-and-paste.

Parameters

self

a GtkLabel

 

setting

TRUE to allow selecting text in the label

 

gtk_label_set_text_with_mnemonic ()

void
gtk_label_set_text_with_mnemonic (GtkLabel *self,
                                  const char *str);

Sets the label’s text from the string str . If characters in str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget().

Parameters

self

a GtkLabel

 

str

a string

 

gtk_label_get_attributes ()

PangoAttrList *
gtk_label_get_attributes (GtkLabel *self);

Gets the attribute list that was set on the label using gtk_label_set_attributes(), if any. This function does not reflect attributes that come from the labels markup (see gtk_label_set_markup()). If you want to get the effective attributes for the label, use pango_layout_get_attribute (gtk_label_get_layout (self)).

Parameters

self

a GtkLabel

 

Returns

the attribute list, or NULL if none was set.

[nullable][transfer none]


gtk_label_get_justify ()

GtkJustification
gtk_label_get_justify (GtkLabel *self);

Returns the justification of the label. See gtk_label_set_justify().

Parameters

self

a GtkLabel

 

gtk_label_get_xalign ()

float
gtk_label_get_xalign (GtkLabel *self);

Gets the “xalign” property for label .

Parameters

self

a GtkLabel

 

Returns

the xalign property


gtk_label_get_yalign ()

float
gtk_label_get_yalign (GtkLabel *self);

Gets the “yalign” property for label .

Parameters

self

a GtkLabel

 

Returns

the yalign property


gtk_label_get_ellipsize ()

PangoEllipsizeMode
gtk_label_get_ellipsize (GtkLabel *self);

Returns the ellipsizing position of the label. See gtk_label_set_ellipsize().

Parameters

self

a GtkLabel

 

gtk_label_get_width_chars ()

int
gtk_label_get_width_chars (GtkLabel *self);

Retrieves the desired width of label , in characters. See gtk_label_set_width_chars().

Parameters

self

a GtkLabel

 

Returns

the width of the label in characters.


gtk_label_get_max_width_chars ()

int
gtk_label_get_max_width_chars (GtkLabel *self);

Retrieves the desired maximum width of label , in characters. See gtk_label_set_width_chars().

Parameters

self

a GtkLabel

 

Returns

the maximum width of the label in characters.


gtk_label_get_label ()

const char *
gtk_label_get_label (GtkLabel *self);

Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup. (See gtk_label_get_text()).

Parameters

self

a GtkLabel

 

Returns

the text of the label widget. This string is owned by the widget and must not be modified or freed.


gtk_label_get_layout ()

PangoLayout *
gtk_label_get_layout (GtkLabel *self);

Gets the PangoLayout used to display the label. The layout is useful to e.g. convert text positions to pixel positions, in combination with gtk_label_get_layout_offsets(). The returned layout is owned by the label so need not be freed by the caller. The label is free to recreate its layout at any time, so it should be considered read-only.

Parameters

self

a GtkLabel

 

Returns

the PangoLayout for this label.

[transfer none]


gtk_label_get_wrap ()

gboolean
gtk_label_get_wrap (GtkLabel *self);

Returns whether lines in the label are automatically wrapped. See gtk_label_set_wrap().

Parameters

self

a GtkLabel

 

Returns

TRUE if the lines of the label are automatically wrapped.


gtk_label_get_wrap_mode ()

PangoWrapMode
gtk_label_get_wrap_mode (GtkLabel *self);

Returns line wrap mode used by the label. See gtk_label_set_wrap_mode().

Parameters

self

a GtkLabel

 

Returns

TRUE if the lines of the label are automatically wrapped.


gtk_label_get_lines ()

int
gtk_label_get_lines (GtkLabel *self);

Gets the number of lines to which an ellipsized, wrapping label should be limited. See gtk_label_set_lines().

Parameters

self

a GtkLabel

 

Returns

The number of lines


gtk_label_get_mnemonic_widget ()

GtkWidget *
gtk_label_get_mnemonic_widget (GtkLabel *self);

Retrieves the target of the mnemonic (keyboard shortcut) of this label. See gtk_label_set_mnemonic_widget().

Parameters

self

a GtkLabel

 

Returns

the target of the label’s mnemonic, or NULL if none has been set and the default algorithm will be used.

[nullable][transfer none]


gtk_label_get_selection_bounds ()

gboolean
gtk_label_get_selection_bounds (GtkLabel *self,
                                int *start,
                                int *end);

Gets the selected range of characters in the label, returning TRUE if there’s a selection.

Parameters

self

a GtkLabel

 

start

return location for start of selection, as a character offset.

[out]

end

return location for end of selection, as a character offset.

[out]

Returns

TRUE if selection is non-empty


gtk_label_get_use_markup ()

gboolean
gtk_label_get_use_markup (GtkLabel *self);

Returns whether the label’s text is interpreted as marked up with the Pango text markup language. See gtk_label_set_use_markup().

Parameters

self

a GtkLabel

 

Returns

TRUE if the label’s text will be parsed for markup.


gtk_label_get_use_underline ()

gboolean
gtk_label_get_use_underline (GtkLabel *self);

Returns whether an embedded underline in the label indicates a mnemonic. See gtk_label_set_use_underline().

Parameters

self

a GtkLabel

 

Returns

TRUE whether an embedded underline in the label indicates the mnemonic accelerator keys.


gtk_label_get_single_line_mode ()

gboolean
gtk_label_get_single_line_mode (GtkLabel *self);

Returns whether the label is in single line mode.

Parameters

self

a GtkLabel

 

Returns

TRUE when the label is in single line mode.


gtk_label_set_label ()

void
gtk_label_set_label (GtkLabel *self,
                     const char *str);

Sets the text of the label. The label is interpreted as including embedded underlines and/or Pango markup depending on the values of the “use-underline” and “use-markup” properties.

Parameters

self

a GtkLabel

 

str

the new text to set for the label

 

gtk_label_set_use_markup ()

void
gtk_label_set_use_markup (GtkLabel *self,
                          gboolean setting);

Sets whether the text of the label contains markup in Pango’s text markup language. See gtk_label_set_markup().

Parameters

self

a GtkLabel

 

setting

TRUE if the label’s text should be parsed for markup.

 

gtk_label_set_use_underline ()

void
gtk_label_set_use_underline (GtkLabel *self,
                             gboolean setting);

If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Parameters

self

a GtkLabel

 

setting

TRUE if underlines in the text indicate mnemonics

 

gtk_label_set_single_line_mode ()

void
gtk_label_set_single_line_mode (GtkLabel *self,
                                gboolean single_line_mode);

Sets whether the label is in single line mode.

Parameters

self

a GtkLabel

 

single_line_mode

TRUE if the label should be in single line mode

 

gtk_label_get_current_uri ()

const char *
gtk_label_get_current_uri (GtkLabel *self);

Returns the URI for the currently active link in the label. The active link is the one under the mouse pointer or, in a selectable label, the link in which the text cursor is currently positioned.

This function is intended for use in a “activate-link” handler or for use in a “query-tooltip” handler.

Parameters

self

a GtkLabel

 

Returns

the currently active URI or NULL if there is none. The string is owned by GTK+ and must not be freed or modified.

[nullable]


gtk_label_set_extra_menu ()

void
gtk_label_set_extra_menu (GtkLabel *self,
                          GMenuModel *model);

Sets a menu model to add when constructing the context menu for label .

Parameters

self

a GtkLabel

 

model

a GMenuModel.

[allow-none]

gtk_label_get_extra_menu ()

GMenuModel *
gtk_label_get_extra_menu (GtkLabel *self);

Gets the menu model set with gtk_label_set_extra_menu().

Parameters

self

a GtkLabel

 

Returns

(nullable): the menu model.

[transfer none]

Types and Values

GtkLabel

typedef struct _GtkLabel GtkLabel;

Property Details

The “attributes” property

  “attributes”               PangoAttrList *

A list of style attributes to apply to the text of the label.

Owner: GtkLabel

Flags: Read / Write


The “ellipsize” property

  “ellipsize”                PangoEllipsizeMode

The preferred place to ellipsize the string, if the label does not have enough room to display the entire string, specified as a PangoEllipsizeMode.

Note that setting this property to a value other than PANGO_ELLIPSIZE_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 GtkNotebook tab-expand child property is set to TRUE. Other ways to set a label's width are gtk_widget_set_size_request() and gtk_label_set_width_chars().

Owner: GtkLabel

Flags: Read / Write

Default value: PANGO_ELLIPSIZE_NONE


The “extra-menu” property

  “extra-menu”               GMenuModel *

A menu model whose contents will be appended to the context menu.

Owner: GtkLabel

Flags: Read / Write


The “justify” property

  “justify”                  GtkJustification

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 GtkLabel:xalign for that.

Owner: GtkLabel

Flags: Read / Write

Default value: GTK_JUSTIFY_LEFT


The “label” property

  “label”                    gchar *

The contents of the label.

If the string contains Pango XML markup, you will have to set the “use-markup” property to TRUE in order for the label to display the markup attributes. See also gtk_label_set_markup() for a convenience function that sets both this property and the “use-markup” property at the same time.

If the string contains underlines acting as mnemonics, you will have to set the “use-underline” property to TRUE in order for the label to display them.

Owner: GtkLabel

Flags: Read / Write

Default value: ""


The “lines” property

  “lines”                    gint

The number of lines to which an ellipsized, wrapping label should be limited. This property has no effect if the label is not wrapping or ellipsized. Set this property to -1 if you don't want to limit the number of lines.

Owner: GtkLabel

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “max-width-chars” property

  “max-width-chars”          gint

The desired maximum width of the label, in characters. If this property is set to -1, the width will be calculated automatically.

See the section on text layout for details of how “width-chars” and “max-width-chars” determine the width of ellipsized and wrapped labels.

Owner: GtkLabel

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “mnemonic-keyval” property

  “mnemonic-keyval”          guint

The mnemonic accelerator key for this label.

Owner: GtkLabel

Flags: Read

Default value: 16777215


The “mnemonic-widget” property

  “mnemonic-widget”          GtkWidget *

The widget to be activated when the label’s mnemonic key is pressed.

Owner: GtkLabel

Flags: Read / Write


The “selectable” property

  “selectable”               gboolean

Whether the label text can be selected with the mouse.

Owner: GtkLabel

Flags: Read / Write

Default value: FALSE


The “single-line-mode” property

  “single-line-mode”         gboolean

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.

Owner: GtkLabel

Flags: Read / Write

Default value: FALSE


The “use-markup” property

  “use-markup”               gboolean

The text of the label includes XML markup. See pango_parse_markup().

Owner: GtkLabel

Flags: Read / Write

Default value: FALSE


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkLabel

Flags: Read / Write

Default value: FALSE


The “width-chars” property

  “width-chars”              gint

The desired width of the label, in characters. If this property is set to -1, the width will be calculated automatically.

See the section on text layout for details of how “width-chars” and “max-width-chars” determine the width of ellipsized and wrapped labels.

Owner: GtkLabel

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “wrap” property

  “wrap”                     gboolean

If set, wrap lines if the text becomes too wide.

Owner: GtkLabel

Flags: Read / Write

Default value: FALSE


The “wrap-mode” property

  “wrap-mode”                PangoWrapMode

If line wrapping is on (see the “wrap” property) this controls how the line wrapping is done. The default is PANGO_WRAP_WORD, which means wrap on word boundaries.

Owner: GtkLabel

Flags: Read / Write

Default value: PANGO_WRAP_WORD


The “xalign” property

  “xalign”                   gfloat

The xalign property determines the horizontal aligment of the label text inside the labels size allocation. Compare this to “halign”, which determines how the labels size allocation is positioned in the space available for the label.

Owner: GtkLabel

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “yalign” property

  “yalign”                   gfloat

The yalign property determines the vertical aligment of the label text inside the labels size allocation. Compare this to “valign”, which determines how the labels size allocation is positioned in the space available for the label.

Owner: GtkLabel

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

Signal Details

The “activate-current-link” signal

void
user_function (GtkLabel *self,
               gpointer  user_data)

A keybinding signal which gets emitted when the user activates a link in the label.

Applications may also emit the signal with g_signal_emit_by_name() if they need to control activation of URIs programmatically.

The default bindings for this signal are all forms of the Enter key.

Parameters

self

The label on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “activate-link” signal

gboolean
user_function (GtkLabel *self,
               gchar    *uri,
               gpointer  user_data)

The signal which gets emitted to activate a URI. Applications may connect to it to override the default behaviour, which is to call gtk_show_uri().

Parameters

self

The label on which the signal was emitted

 

uri

the URI that is activated

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the link has been activated

Flags: Run Last


The “copy-clipboard” signal

void
user_function (GtkLabel *self,
               gpointer  user_data)

The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard.

The default binding for this signal is Ctrl-c.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “move-cursor” signal

void
user_function (GtkLabel       *entry,
               GtkMovementStep step,
               gint            count,
               gboolean        extend_selection,
               gpointer        user_data)

The ::move-cursor 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.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.

  • Arrow keys move by individual characters/lines

  • Ctrl-arrow key combinations move by words/paragraphs

  • Home/End keys move to the ends of the buffer

Parameters

entry

the object which received the signal

 

step

the granularity of the move, as a GtkMovementStep

 

count

the number of step units to move

 

extend_selection

TRUE if the move should extend the selection

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Action Details

The “link.copy” action

Copies the link to the clipboard, when activated on a link inside the label.


The “link.open” action

Opens the link, when activated on a link inside the label.


The “selection.select-all” action

Selects all of the text, if the label allows selection.


The “selection.delete” action

Doesn't do anything, since text in labels can't be deleted.


The “clipboard.paste” action

Doesn't do anything, since text in labels can't be edited.


The “clipboard.copy” action

Copies the text to the clipboard.


The “clipboard.cut” action

Doesn't do anything, since text in labels can't be deleted.


The “menu.popup” action

Opens the context menu.

docs/reference/gtk/html/GtkLayoutChild.html0000664000175000017500000002654313710700534021114 0ustar mclasenmclasen GtkLayoutChild: GTK 4 Reference Manual

GtkLayoutChild

GtkLayoutChild — An object containing layout properties

Properties

GtkWidget * child-widget Read / Write / Construct Only
GtkLayoutManager * layout-manager Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkLayoutChild
        ├── GtkGridLayoutChild
        ├── GtkOverlayLayoutChild
        ├── GtkConstraintLayoutChild
        ╰── GtkFixedLayoutChild

Includes

#include <gtk/gtk.h>

Description

GtkLayoutChild is the base class for objects that are meant to hold layout properties. If a GtkLayoutManager has per-child properties, like their packing type, or the horizontal and vertical span, or the icon name, then the layout manager should use a GtkLayoutChild implementation to store those properties.

A GtkLayoutChild instance is only ever valid while a widget is part of a layout.

Functions

gtk_layout_child_get_layout_manager ()

GtkLayoutManager *
gtk_layout_child_get_layout_manager (GtkLayoutChild *layout_child);

Retrieves the GtkLayoutManager instance that created the given layout_child .

Parameters

layout_child

a GtkLayoutChild

 

Returns

a GtkLayoutManager.

[transfer none]


gtk_layout_child_get_child_widget ()

GtkWidget *
gtk_layout_child_get_child_widget (GtkLayoutChild *layout_child);

Retrieves the GtkWidget associated to the given layout_child .

Parameters

layout_child

a GtkLayoutChild

 

Returns

a GtkWidget.

[transfer none]

Types and Values

GtkLayoutChild

typedef struct _GtkLayoutChild GtkLayoutChild;

struct GtkLayoutChildClass

struct GtkLayoutChildClass {
};

Property Details

The “child-widget” property

  “child-widget”             GtkWidget *

The widget that is associated to the GtkLayoutChild instance.

Owner: GtkLayoutChild

Flags: Read / Write / Construct Only


The “layout-manager” property

  “layout-manager”           GtkLayoutManager *

The layout manager that created the GtkLayoutChild instance.

Owner: GtkLayoutChild

Flags: Read / Write / Construct Only

docs/reference/gtk/html/GtkLayoutManager.html0000664000175000017500000007710113710700534021437 0ustar mclasenmclasen GtkLayoutManager: GTK 4 Reference Manual

GtkLayoutManager

GtkLayoutManager — Base class for layout manager

Types and Values

Object Hierarchy

    GObject
    ╰── GtkLayoutManager
        ├── GtkBinLayout
        ├── GtkBoxLayout
        ├── GtkCenterLayout
        ├── GtkConstraintLayout
        ├── GtkFixedLayout
        ├── GtkGridLayout
        ╰── GtkOverlayLayout

Includes

#include <gtk/gtk.h>

Description

Layout managers are delegate classes that handle the preferred size and the allocation of a container widget.

You typically subclass GtkLayoutManager if you want to implement a layout policy for the children of a widget, or if you want to determine the size of a widget depending on its contents.

Each GtkWidget can only have a GtkLayoutManager instance associated to it at any given time; it is possible, though, to replace the layout manager instance using gtk_widget_set_layout_manager().

Layout properties

A layout manager can expose properties for controlling the layout of each child, by creating an object type derived from GtkLayoutChild and installing the properties on it as normal GObject properties.

Each GtkLayoutChild instance storing the layout properties for a specific child is created through the gtk_layout_manager_get_layout_child() method; a GtkLayoutManager controls the creation of its GtkLayoutChild instances by overriding the GtkLayoutManagerClass.create_layout_child() virtual function. The typical implementation should look like:

1
2
3
4
5
6
7
8
9
10
static GtkLayoutChild *
create_layout_child (GtkLayoutManager *manager,
                     GtkWidget        *container,
                     GtkWidget        *child)
{
  return g_object_new (your_layout_child_get_type (),
                       "layout-manager", manager,
                       "child-widget", child,
                       NULL);
}

The “layout-manager” and “child-widget” properties on the newly created GtkLayoutChild instance are mandatory. The GtkLayoutManager will cache the newly created GtkLayoutChild instance until the widget is removed from its parent, or the parent removes the layout manager.

Each GtkLayoutManager instance creating a GtkLayoutChild should use gtk_layout_manager_get_layout_child() every time it needs to query the layout properties; each GtkLayoutChild instance should call gtk_layout_manager_layout_changed() every time a property is updated, in order to queue a new size measuring and allocation.

Functions

gtk_layout_manager_measure ()

void
gtk_layout_manager_measure (GtkLayoutManager *manager,
                            GtkWidget *widget,
                            GtkOrientation orientation,
                            int for_size,
                            int *minimum,
                            int *natural,
                            int *minimum_baseline,
                            int *natural_baseline);

Measures the size of the widget using manager , for the given orientation and size.

See GtkWidget's geometry management section for more details.

Parameters

manager

a GtkLayoutManager

 

widget

the GtkWidget using manager

 

orientation

the orientation to measure

 

for_size

Size for the opposite of orientation ; for instance, if the orientation is GTK_ORIENTATION_HORIZONTAL, this is the height of the widget; if the orientation is GTK_ORIENTATION_VERTICAL, this is the width of the widget. This allows to measure the height for the given width, and the width for the given height. Use -1 if the size is not known

 

minimum

the minimum size for the given size and orientation.

[out][optional]

natural

the natural, or preferred size for the given size and orientation.

[out][optional]

minimum_baseline

the baseline position for the minimum size.

[out][optional]

natural_baseline

the baseline position for the natural size.

[out][optional]

gtk_layout_manager_allocate ()

void
gtk_layout_manager_allocate (GtkLayoutManager *manager,
                             GtkWidget *widget,
                             int width,
                             int height,
                             int baseline);

This function assigns the given width , height , and baseline to a widget , and computes the position and sizes of the children of the widget using the layout management policy of manager .

Parameters

manager

a GtkLayoutManager

 

widget

the GtkWidget using manager

 

width

the new width of the widget

 

height

the new height of the widget

 

baseline

the baseline position of the widget , or -1

 

gtk_layout_manager_get_request_mode ()

GtkSizeRequestMode
gtk_layout_manager_get_request_mode (GtkLayoutManager *manager);

Retrieves the request mode of manager .

Parameters

manager

a GtkLayoutManager

 

Returns

a GtkSizeRequestMode


gtk_layout_manager_get_widget ()

GtkWidget *
gtk_layout_manager_get_widget (GtkLayoutManager *manager);

Retrieves the GtkWidget using the given GtkLayoutManager.

Parameters

manager

a GtkLayoutManager

 

Returns

a GtkWidget.

[transfer none][nullable]


gtk_layout_manager_get_layout_child ()

GtkLayoutChild *
gtk_layout_manager_get_layout_child (GtkLayoutManager *manager,
                                     GtkWidget *child);

Retrieves a GtkLayoutChild instance for the GtkLayoutManager, creating one if necessary.

The child widget must be a child of the widget using manager .

The GtkLayoutChild instance is owned by the GtkLayoutManager, and is guaranteed to exist as long as child is a child of the GtkWidget using the given GtkLayoutManager.

Parameters

manager

a GtkLayoutManager

 

child

a GtkWidget

 

Returns

a GtkLayoutChild.

[transfer none]


gtk_layout_manager_layout_changed ()

void
gtk_layout_manager_layout_changed (GtkLayoutManager *manager);

Queues a resize on the GtkWidget using manager , if any.

This function should be called by subclasses of GtkLayoutManager in response to changes to their layout management policies.

Parameters

manager

a GtkLayoutManager

 

Types and Values

GtkLayoutManager

typedef struct _GtkLayoutManager GtkLayoutManager;

struct GtkLayoutManagerClass

struct GtkLayoutManagerClass {
  GtkSizeRequestMode (* get_request_mode)    (GtkLayoutManager *manager,
                                              GtkWidget        *widget);

  void               (* measure)             (GtkLayoutManager *manager,
                                              GtkWidget        *widget,
                                              GtkOrientation    orientation,
                                              int               for_size,
                                              int              *minimum,
                                              int              *natural,
                                              int              *minimum_baseline,
                                              int              *natural_baseline);

  void               (* allocate)            (GtkLayoutManager *manager,
                                              GtkWidget        *widget,
                                              int               width,
                                              int               height,
                                              int               baseline);

  GType              layout_child_type;

  GtkLayoutChild *   (* create_layout_child) (GtkLayoutManager *manager,
                                              GtkWidget        *widget,
                                              GtkWidget        *for_child);

  void               (* root)                (GtkLayoutManager *manager);
  void               (* unroot)              (GtkLayoutManager *manager);
};

The GtkLayoutManagerClass structure contains only private data, and should only be accessed through the provided API, or when subclassing GtkLayoutManager.

Members

get_request_mode ()

a virtual function, used to return the preferred request mode for the layout manager; for instance, "width for height" or "height for width"; see GtkSizeRequestMode

 

measure ()

a virtual function, used to measure the minimum and preferred sizes of the widget using the layout manager for a given orientation

 

allocate ()

a virtual function, used to allocate the size of the widget using the layout manager

 

GType layout_child_type;

the type of GtkLayoutChild used by this layout manager

 

create_layout_child ()

a virtual function, used to create a GtkLayoutChild meta object for the layout properties

 

root ()

a virtual function, called when the widget using the layout manager is attached to a GtkRoot

 

unroot ()

a virtual function, called when the widget using the layout manager is detached from a GtkRoot

 
docs/reference/gtk/html/GtkLevelBar.html0000664000175000017500000013605013710700534020362 0ustar mclasenmclasen GtkLevelBar: GTK 4 Reference Manual

GtkLevelBar

GtkLevelBar — A bar that can used as a level indicator

Properties

gboolean inverted Read / Write
gdouble max-value Read / Write
gdouble min-value Read / Write
GtkLevelBarMode mode Read / Write
gdouble value Read / Write

Signals

void offset-changed Has Details

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkLevelBar

Implemented Interfaces

GtkLevelBar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

The GtkLevelBar is a bar widget that can be used as a level indicator. Typical use cases are displaying the strength of a password, or showing the charge level of a battery.

Use gtk_level_bar_set_value() to set the current value, and gtk_level_bar_add_offset_value() to set the value offsets at which the bar will be considered in a different state. GTK will add a few offsets by default on the level bar: GTK_LEVEL_BAR_OFFSET_LOW, GTK_LEVEL_BAR_OFFSET_HIGH and GTK_LEVEL_BAR_OFFSET_FULL, with values 0.25, 0.75 and 1.0 respectively.

Note that it is your responsibility to update preexisting offsets when changing the minimum or maximum value. GTK+ will simply clamp them to the new range.

Adding a custom offset on the bar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static GtkWidget *
create_level_bar (void)
{
  GtkWidget *widget;
  GtkLevelBar *bar;

  widget = gtk_level_bar_new ();
  bar = GTK_LEVEL_BAR (widget);

  // This changes the value of the default low offset

  gtk_level_bar_add_offset_value (bar,
                                  GTK_LEVEL_BAR_OFFSET_LOW,
                                  0.10);

  // This adds a new offset to the bar; the application will
  // be able to change its color CSS like this:
  //
  // levelbar block.my-offset {
  //   background-color: magenta;
  //   border-style: solid;
  //   border-color: black;
  //   border-style: 1px;
  // }

  gtk_level_bar_add_offset_value (bar, "my-offset", 0.60);

  return widget;
}

The default interval of values is between zero and one, but it’s possible to modify the interval using gtk_level_bar_set_min_value() and gtk_level_bar_set_max_value(). The value will be always drawn in proportion to the admissible interval, i.e. a value of 15 with a specified interval between 10 and 20 is equivalent to a value of 0.5 with an interval between 0 and 1. When GTK_LEVEL_BAR_MODE_DISCRETE is used, the bar level is rendered as a finite number of separated blocks instead of a single one. The number of blocks that will be rendered is equal to the number of units specified by the admissible interval.

For instance, to build a bar rendered with five blocks, it’s sufficient to set the minimum value to 0 and the maximum value to 5 after changing the indicator mode to discrete.

GtkLevelBar was introduced in GTK+ 3.6.

GtkLevelBar as GtkBuildable

The GtkLevelBar implementation of the GtkBuildable interface supports a custom <offsets> element, which can contain any number of <offset> elements, each of which must have name and value attributes.


CSS nodes

1
2
3
4
5
6
levelbar[.discrete]
╰── trough
    ├── block.filled.level-name
    
    ├── block.empty
    

GtkLevelBar has a main CSS node with name levelbar and one of the style classes .discrete or .continuous and a subnode with name trough. Below the trough node are a number of nodes with name block and style class .filled or .empty. In continuous mode, there is exactly one node of each, in discrete mode, the number of filled and unfilled nodes corresponds to blocks that are drawn. The block.filled nodes also get a style class .level-name corresponding to the level for the current value.

In horizontal orientation, the nodes are always arranged from left to right, regardless of text direction.


Accessibility

GtkLevelBar uses the GTK_ACCESSIBLE_ROLE_METER role.

Functions

gtk_level_bar_new ()

GtkWidget *
gtk_level_bar_new (void);

Creates a new GtkLevelBar.

Returns

a GtkLevelBar.


gtk_level_bar_new_for_interval ()

GtkWidget *
gtk_level_bar_new_for_interval (double min_value,
                                double max_value);

Utility constructor that creates a new GtkLevelBar for the specified interval.

Parameters

min_value

a positive value

 

max_value

a positive value

 

Returns

a GtkLevelBar


gtk_level_bar_set_mode ()

void
gtk_level_bar_set_mode (GtkLevelBar *self,
                        GtkLevelBarMode mode);

Sets the value of the “mode” property.

Parameters

self

a GtkLevelBar

 

mode

a GtkLevelBarMode

 

gtk_level_bar_get_mode ()

GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self);

Returns the value of the “mode” property.

Parameters

self

a GtkLevelBar

 

Returns

a GtkLevelBarMode


gtk_level_bar_set_value ()

void
gtk_level_bar_set_value (GtkLevelBar *self,
                         double value);

Sets the value of the “value” property.

Parameters

self

a GtkLevelBar

 

value

a value in the interval between “min-value” and “max-value”

 

gtk_level_bar_get_value ()

double
gtk_level_bar_get_value (GtkLevelBar *self);

Returns the value of the “value” property.

Parameters

self

a GtkLevelBar

 

Returns

a value in the interval between “min-value” and “max-value”


gtk_level_bar_set_min_value ()

void
gtk_level_bar_set_min_value (GtkLevelBar *self,
                             double value);

Sets the value of the “min-value” property.

You probably want to update preexisting level offsets after calling this function.

Parameters

self

a GtkLevelBar

 

value

a positive value

 

gtk_level_bar_get_min_value ()

double
gtk_level_bar_get_min_value (GtkLevelBar *self);

Returns the value of the “min-value” property.

Parameters

self

a GtkLevelBar

 

Returns

a positive value


gtk_level_bar_set_max_value ()

void
gtk_level_bar_set_max_value (GtkLevelBar *self,
                             double value);

Sets the value of the “max-value” property.

You probably want to update preexisting level offsets after calling this function.

Parameters

self

a GtkLevelBar

 

value

a positive value

 

gtk_level_bar_get_max_value ()

double
gtk_level_bar_get_max_value (GtkLevelBar *self);

Returns the value of the “max-value” property.

Parameters

self

a GtkLevelBar

 

Returns

a positive value


gtk_level_bar_set_inverted ()

void
gtk_level_bar_set_inverted (GtkLevelBar *self,
                            gboolean inverted);

Sets the value of the “inverted” property.

Parameters

self

a GtkLevelBar

 

inverted

TRUE to invert the level bar

 

gtk_level_bar_get_inverted ()

gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self);

Return the value of the “inverted” property.

Parameters

self

a GtkLevelBar

 

Returns

TRUE if the level bar is inverted


gtk_level_bar_add_offset_value ()

void
gtk_level_bar_add_offset_value (GtkLevelBar *self,
                                const char *name,
                                double value);

Adds a new offset marker on self at the position specified by value . When the bar value is in the interval topped by value (or between value and “max-value” in case the offset is the last one on the bar) a style class named level-name will be applied when rendering the level bar fill. If another offset marker named name exists, its value will be replaced by value .

Parameters

self

a GtkLevelBar

 

name

the name of the new offset

 

value

the value for the new offset

 

gtk_level_bar_remove_offset_value ()

void
gtk_level_bar_remove_offset_value (GtkLevelBar *self,
                                   const char *name);

Removes an offset marker previously added with gtk_level_bar_add_offset_value().

Parameters

self

a GtkLevelBar

 

name

the name of an offset in the bar.

[allow-none]

gtk_level_bar_get_offset_value ()

gboolean
gtk_level_bar_get_offset_value (GtkLevelBar *self,
                                const char *name,
                                double *value);

Fetches the value specified for the offset marker name in self , returning TRUE in case an offset named name was found.

Parameters

self

a GtkLevelBar

 

name

the name of an offset in the bar.

[allow-none]

value

location where to store the value.

[out]

Returns

TRUE if the specified offset is found

Types and Values

GTK_LEVEL_BAR_OFFSET_LOW

#define GTK_LEVEL_BAR_OFFSET_LOW  "low"

The name used for the stock low offset included by GtkLevelBar.


GTK_LEVEL_BAR_OFFSET_HIGH

#define GTK_LEVEL_BAR_OFFSET_HIGH "high"

The name used for the stock high offset included by GtkLevelBar.


GTK_LEVEL_BAR_OFFSET_FULL

#define GTK_LEVEL_BAR_OFFSET_FULL "full"

The name used for the stock full offset included by GtkLevelBar.


enum GtkLevelBarMode

Describes how GtkLevelBar contents should be rendered. Note that this enumeration could be extended with additional modes in the future.

Members

GTK_LEVEL_BAR_MODE_CONTINUOUS

the bar has a continuous mode

 

GTK_LEVEL_BAR_MODE_DISCRETE

the bar has a discrete mode

 

GtkLevelBar

typedef struct _GtkLevelBar GtkLevelBar;

Property Details

The “inverted” property

  “inverted”                 gboolean

Level bars normally grow from top to bottom or left to right. Inverted level bars grow in the opposite direction.

Owner: GtkLevelBar

Flags: Read / Write

Default value: FALSE


The “max-value” property

  “max-value”                gdouble

The “max-value” property determaxes the maximum value of the interval that can be displayed by the bar.

Owner: GtkLevelBar

Flags: Read / Write

Allowed values: >= 0

Default value: 1


The “min-value” property

  “min-value”                gdouble

The “min-value” property determines the minimum value of the interval that can be displayed by the bar.

Owner: GtkLevelBar

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “mode” property

  “mode”                     GtkLevelBarMode

The “mode” property determines the way GtkLevelBar interprets the value properties to draw the level fill area. Specifically, when the value is GTK_LEVEL_BAR_MODE_CONTINUOUS, GtkLevelBar will draw a single block representing the current value in that area; when the value is GTK_LEVEL_BAR_MODE_DISCRETE, the widget will draw a succession of separate blocks filling the draw area, with the number of blocks being equal to the units separating the integral roundings of “min-value” and “max-value”.

Owner: GtkLevelBar

Flags: Read / Write

Default value: GTK_LEVEL_BAR_MODE_CONTINUOUS


The “value” property

  “value”                    gdouble

The “value” property determines the currently filled value of the level bar.

Owner: GtkLevelBar

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Signal Details

The “offset-changed” signal

void
user_function (GtkLevelBar *self,
               gchar       *name,
               gpointer     user_data)

Emitted when an offset specified on the bar changes value as an effect to gtk_level_bar_add_offset_value() being called.

The signal supports detailed connections; you can connect to the detailed signal "changed::x" in order to only receive callbacks when the value of offset "x" changes.

Parameters

self

a GtkLevelBar

 

name

the name of the offset that changed value

 

user_data

user data set when the signal handler was connected.

 

Flags: Has Details

docs/reference/gtk/html/GtkLinkButton.html0000664000175000017500000005435213710700534020763 0ustar mclasenmclasen GtkLinkButton: GTK 4 Reference Manual

GtkLinkButton

GtkLinkButton — Create buttons bound to a URL

Properties

gchar * uri Read / Write
gboolean visited Read / Write

Signals

gboolean activate-link Run Last

Actions

  menu.popup  
  clipboard.copy  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ╰── GtkLinkButton

Implemented Interfaces

GtkLinkButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

A GtkLinkButton is a GtkButton 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.

A link button is created by calling either gtk_link_button_new() or gtk_link_button_new_with_label(). If using the former, the URI you pass to the constructor is used as a label for the widget.

The URI bound to a GtkLinkButton can be set specifically using gtk_link_button_set_uri(), and retrieved using gtk_link_button_get_uri().

By default, GtkLinkButton calls gtk_show_uri() when the button is clicked. This behaviour can be overridden by connecting to the “activate-link” signal and returning TRUE from the signal handler.

CSS nodes

GtkLinkButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .link style class.


Accessibility

GtkLinkButton uses the GTK_ACCESSIBKE_ROLE_BUTTON role.

Functions

gtk_link_button_new ()

GtkWidget *
gtk_link_button_new (const char *uri);

Creates a new GtkLinkButton with the URI as its text.

Parameters

uri

a valid URI

 

Returns

a new link button widget.


gtk_link_button_new_with_label ()

GtkWidget *
gtk_link_button_new_with_label (const char *uri,
                                const char *label);

Creates a new GtkLinkButton containing a label.

Parameters

uri

a valid URI

 

label

the text of the button.

[allow-none]

Returns

a new link button widget.

[transfer none]


gtk_link_button_get_uri ()

const char *
gtk_link_button_get_uri (GtkLinkButton *link_button);

Retrieves the URI set using gtk_link_button_set_uri().

Parameters

link_button

a GtkLinkButton

 

Returns

a valid URI. The returned string is owned by the link button and should not be modified or freed.


gtk_link_button_set_uri ()

void
gtk_link_button_set_uri (GtkLinkButton *link_button,
                         const char *uri);

Sets uri as the URI where the GtkLinkButton points. As a side-effect this unsets the “visited” state of the button.

Parameters

link_button

a GtkLinkButton

 

uri

a valid URI

 

gtk_link_button_get_visited ()

gboolean
gtk_link_button_get_visited (GtkLinkButton *link_button);

Retrieves the “visited” state of the URI where the GtkLinkButton points. The button becomes visited when it is clicked. If the URI is changed on the button, the “visited” state is unset again.

The state may also be changed using gtk_link_button_set_visited().

Parameters

link_button

a GtkLinkButton

 

Returns

TRUE if the link has been visited, FALSE otherwise


gtk_link_button_set_visited ()

void
gtk_link_button_set_visited (GtkLinkButton *link_button,
                             gboolean visited);

Sets the “visited” state of the URI where the GtkLinkButton points. See gtk_link_button_get_visited() for more details.

Parameters

link_button

a GtkLinkButton

 

visited

the new “visited” state

 

Types and Values

GtkLinkButton

typedef struct _GtkLinkButton GtkLinkButton;

Property Details

The “uri” property

  “uri”                      gchar *

The URI bound to this button.

Owner: GtkLinkButton

Flags: Read / Write

Default value: NULL


The “visited” property

  “visited”                  gboolean

The 'visited' state of this button. A visited link is drawn in a different color.

Owner: GtkLinkButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate-link” signal

gboolean
user_function (GtkLinkButton *button,
               gpointer       user_data)

The ::activate-link signal is emitted each time the GtkLinkButton has been clicked.

The default handler will call gtk_show_uri() with the URI stored inside the “uri” property.

To override the default behavior, you can connect to the ::activate-link signal and stop the propagation of the signal by returning TRUE from your handler.

Parameters

button

the GtkLinkButton that emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Action Details

The “menu.popup” action

Opens the context menu.


The “clipboard.copy” action

Copies the url to the clipboard.

See Also

GtkButton

docs/reference/gtk/html/GtkListBox.html0000664000175000017500000035767113710700534020270 0ustar mclasenmclasen GtkListBox: GTK 4 Reference Manual

GtkListBox

GtkListBox — A list container

Functions

gboolean (*GtkListBoxFilterFunc) ()
int (*GtkListBoxSortFunc) ()
void (*GtkListBoxUpdateHeaderFunc) ()
GtkWidget * gtk_list_box_new ()
void gtk_list_box_prepend ()
void gtk_list_box_insert ()
void gtk_list_box_remove ()
void gtk_list_box_select_row ()
void gtk_list_box_unselect_row ()
void gtk_list_box_select_all ()
void gtk_list_box_unselect_all ()
GtkListBoxRow * gtk_list_box_get_selected_row ()
void (*GtkListBoxForeachFunc) ()
void gtk_list_box_selected_foreach ()
GList * gtk_list_box_get_selected_rows ()
void gtk_list_box_set_show_separators ()
gboolean gtk_list_box_get_show_separators ()
void gtk_list_box_set_selection_mode ()
GtkSelectionMode gtk_list_box_get_selection_mode ()
void gtk_list_box_set_activate_on_single_click ()
gboolean gtk_list_box_get_activate_on_single_click ()
GtkAdjustment * gtk_list_box_get_adjustment ()
void gtk_list_box_set_adjustment ()
void gtk_list_box_set_placeholder ()
GtkListBoxRow * gtk_list_box_get_row_at_index ()
GtkListBoxRow * gtk_list_box_get_row_at_y ()
void gtk_list_box_invalidate_filter ()
void gtk_list_box_invalidate_headers ()
void gtk_list_box_invalidate_sort ()
void gtk_list_box_set_filter_func ()
void gtk_list_box_set_header_func ()
void gtk_list_box_set_sort_func ()
void gtk_list_box_drag_highlight_row ()
void gtk_list_box_drag_unhighlight_row ()
GtkWidget * (*GtkListBoxCreateWidgetFunc) ()
void gtk_list_box_bind_model ()
GtkWidget * gtk_list_box_row_new ()
void gtk_list_box_row_changed ()
gboolean gtk_list_box_row_is_selected ()
GtkWidget * gtk_list_box_row_get_child ()
void gtk_list_box_row_set_child ()
GtkWidget * gtk_list_box_row_get_header ()
void gtk_list_box_row_set_header ()
int gtk_list_box_row_get_index ()
void gtk_list_box_row_set_activatable ()
gboolean gtk_list_box_row_get_activatable ()
void gtk_list_box_row_set_selectable ()
gboolean gtk_list_box_row_get_selectable ()

Properties

gboolean accept-unpaired-release Read / Write
gboolean activate-on-single-click Read / Write
GtkSelectionMode selection-mode Read / Write
gboolean show-separators Read / Write
gboolean activatable Read / Write
GtkWidget * child Read / Write
gboolean selectable Read / Write

Signals

void activate-cursor-row Action
void move-cursor Action
void row-activated Run Last
void row-selected Run Last
void select-all Action
void selected-rows-changed Run First
void toggle-cursor-row Action
void unselect-all Action
void activate Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ├── GtkListBox
            ╰── GtkListBoxRow

Implemented Interfaces

GtkListBox implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

GtkListBoxRow implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

A GtkListBox is a vertical container that contains GtkListBoxRow children. These rows can by dynamically sorted and filtered, and headers can be added dynamically depending on the row content. It also allows keyboard and mouse navigation and selection like a typical list.

Using GtkListBox is often an alternative to GtkTreeView, especially when the list contents has a more complicated layout than what is allowed by a GtkCellRenderer, or when the contents is interactive (i.e. has a button in it).

Although a GtkListBox must have only GtkListBoxRow children you can add any kind of widget to it via gtk_container_add(), and a GtkListBoxRow widget will automatically be inserted between the list and the widget.

GtkListBoxRows can be marked as activatable or selectable. If a row is activatable, “row-activated” will be emitted for it when the user tries to activate it. If it is selectable, the row will be marked as selected when the user tries to select it.

The GtkListBox widget was added in GTK+ 3.10.

GtkListBox as GtkBuildable

The GtkListBox implementation of the GtkBuildable interface supports setting a child as the placeholder by specifying “placeholder” as the “type” attribute of a <child> element. See gtk_list_box_set_placeholder() for info.


CSS nodes

1
2
list[.separators]
╰── row[.activatable]

GtkListBox uses a single CSS node named list. It may carry the .separators style class, when the “show-separators” property is set. Each GtkListBoxRow uses a single CSS node named row. The row nodes get the .activatable style class added when appropriate.

Functions

GtkListBoxFilterFunc ()

gboolean
(*GtkListBoxFilterFunc) (GtkListBoxRow *row,
                         gpointer user_data);

Will be called whenever the row changes or is added and lets you control if the row should be visible or not.

Parameters

row

the row that may be filtered

 

user_data

user data.

[closure]

Returns

TRUE if the row should be visible, FALSE otherwise


GtkListBoxSortFunc ()

int
(*GtkListBoxSortFunc) (GtkListBoxRow *row1,
                       GtkListBoxRow *row2,
                       gpointer user_data);

Compare two rows to determine which should be first.

Parameters

row1

the first row

 

row2

the second row

 

user_data

user data.

[closure]

Returns

< 0 if row1 should be before row2 , 0 if they are equal and > 0 otherwise


GtkListBoxUpdateHeaderFunc ()

void
(*GtkListBoxUpdateHeaderFunc) (GtkListBoxRow *row,
                               GtkListBoxRow *before,
                               gpointer user_data);

Whenever row changes or which row is before row changes this is called, which lets you update the header on row . You may remove or set a new one via gtk_list_box_row_set_header() or just change the state of the current header widget.

Parameters

row

the row to update

 

before

the row before row , or NULL if it is first.

[allow-none]

user_data

user data.

[closure]

gtk_list_box_new ()

GtkWidget *
gtk_list_box_new (void);

Creates a new GtkListBox container.

Returns

a new GtkListBox


gtk_list_box_prepend ()

void
gtk_list_box_prepend (GtkListBox *box,
                      GtkWidget *child);

Prepend a widget to the list. If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect of gtk_container_add().

Parameters

box

a GtkListBox

 

child

the GtkWidget to add

 

gtk_list_box_insert ()

void
gtk_list_box_insert (GtkListBox *box,
                     GtkWidget *child,
                     int position);

Insert the child into the box at position . If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect of gtk_container_add().

If position is -1, or larger than the total number of items in the box , then the child will be appended to the end.

Parameters

box

a GtkListBox

 

child

the GtkWidget to add

 

position

the position to insert child in

 

gtk_list_box_remove ()

void
gtk_list_box_remove (GtkListBox *box,
                     GtkWidget *child);

Removes a child from box .

Parameters

box

a GtkListBox

 

child

the child to remove

 

gtk_list_box_select_row ()

void
gtk_list_box_select_row (GtkListBox *box,
                         GtkListBoxRow *row);

Make row the currently selected row.

Parameters

box

a GtkListBox

 

row

The row to select or NULL.

[allow-none]

gtk_list_box_unselect_row ()

void
gtk_list_box_unselect_row (GtkListBox *box,
                           GtkListBoxRow *row);

Unselects a single row of box , if the selection mode allows it.

Parameters

box

a GtkListBox

 

row

the row to unselected

 

gtk_list_box_select_all ()

void
gtk_list_box_select_all (GtkListBox *box);

Select all children of box , if the selection mode allows it.

Parameters

box

a GtkListBox

 

gtk_list_box_unselect_all ()

void
gtk_list_box_unselect_all (GtkListBox *box);

Unselect all children of box , if the selection mode allows it.

Parameters

box

a GtkListBox

 

gtk_list_box_get_selected_row ()

GtkListBoxRow *
gtk_list_box_get_selected_row (GtkListBox *box);

Gets the selected row.

Note that the box may allow multiple selection, in which case you should use gtk_list_box_selected_foreach() to find all selected rows.

Parameters

box

a GtkListBox

 

Returns

the selected row.

[transfer none]


GtkListBoxForeachFunc ()

void
(*GtkListBoxForeachFunc) (GtkListBox *box,
                          GtkListBoxRow *row,
                          gpointer user_data);

A function used by gtk_list_box_selected_foreach(). It will be called on every selected child of the box .

Parameters

box

a GtkListBox

 

row

a GtkListBoxRow

 

user_data

user data.

[closure]

gtk_list_box_selected_foreach ()

void
gtk_list_box_selected_foreach (GtkListBox *box,
                               GtkListBoxForeachFunc func,
                               gpointer data);

Calls a function for each selected child.

Note that the selection cannot be modified from within this function.

Parameters

box

a GtkListBox

 

func

the function to call for each selected child.

[scope call]

data

user data to pass to the function

 

gtk_list_box_get_selected_rows ()

GList *
gtk_list_box_get_selected_rows (GtkListBox *box);

Creates a list of all selected children.

Parameters

box

a GtkListBox

 

Returns

A GList containing the GtkWidget for each selected child. Free with g_list_free() when done.

[element-type GtkListBoxRow][transfer container]


gtk_list_box_set_show_separators ()

void
gtk_list_box_set_show_separators (GtkListBox *box,
                                  gboolean show_separators);

Sets whether the list box should show separators between rows.

Parameters

box

a GtkListBox

 

show_separators

TRUE to show separators

 

gtk_list_box_get_show_separators ()

gboolean
gtk_list_box_get_show_separators (GtkListBox *box);

Returns whether the list box should show separators between rows.

Parameters

box

a GtkListBox

 

Returns

TRUE if the list box shows separators


gtk_list_box_set_selection_mode ()

void
gtk_list_box_set_selection_mode (GtkListBox *box,
                                 GtkSelectionMode mode);

Sets how selection works in the listbox. See GtkSelectionMode for details.

Parameters

box

a GtkListBox

 

mode

The GtkSelectionMode

 

gtk_list_box_get_selection_mode ()

GtkSelectionMode
gtk_list_box_get_selection_mode (GtkListBox *box);

Gets the selection mode of the listbox.

Parameters

box

a GtkListBox

 

Returns

a GtkSelectionMode


gtk_list_box_set_activate_on_single_click ()

void
gtk_list_box_set_activate_on_single_click
                               (GtkListBox *box,
                                gboolean single);

If single is TRUE, rows will be activated when you click on them, otherwise you need to double-click.

Parameters

box

a GtkListBox

 

single

a boolean

 

gtk_list_box_get_activate_on_single_click ()

gboolean
gtk_list_box_get_activate_on_single_click
                               (GtkListBox *box);

Returns whether rows activate on single clicks.

Parameters

box

a GtkListBox

 

Returns

TRUE if rows are activated on single click, FALSE otherwise


gtk_list_box_get_adjustment ()

GtkAdjustment *
gtk_list_box_get_adjustment (GtkListBox *box);

Gets the adjustment (if any) that the widget uses to for vertical scrolling.

Parameters

box

a GtkListBox

 

Returns

the adjustment.

[transfer none]


gtk_list_box_set_adjustment ()

void
gtk_list_box_set_adjustment (GtkListBox *box,
                             GtkAdjustment *adjustment);

Sets the adjustment (if any) that the widget uses to for vertical scrolling. For instance, this is used to get the page size for PageUp/Down key handling.

In the normal case when the box is packed inside a GtkScrolledWindow the adjustment from that will be picked up automatically, so there is no need to manually do that.

Parameters

box

a GtkListBox

 

adjustment

the adjustment, or NULL.

[allow-none]

gtk_list_box_set_placeholder ()

void
gtk_list_box_set_placeholder (GtkListBox *box,
                              GtkWidget *placeholder);

Sets the placeholder widget that is shown in the list when it doesn't display any visible children.

Parameters

box

a GtkListBox

 

placeholder

a GtkWidget or NULL.

[allow-none]

gtk_list_box_get_row_at_index ()

GtkListBoxRow *
gtk_list_box_get_row_at_index (GtkListBox *box,
                               int index_);

Gets the n-th child in the list (not counting headers). If _index is negative or larger than the number of items in the list, NULL is returned.

Parameters

box

a GtkListBox

 

index_

the index of the row

 

Returns

the child GtkWidget or NULL.

[transfer none][nullable]


gtk_list_box_get_row_at_y ()

GtkListBoxRow *
gtk_list_box_get_row_at_y (GtkListBox *box,
                           int y);

Gets the row at the y position.

Parameters

box

a GtkListBox

 

y

position

 

Returns

the row or NULL in case no row exists for the given y coordinate.

[transfer none][nullable]


gtk_list_box_invalidate_filter ()

void
gtk_list_box_invalidate_filter (GtkListBox *box);

Update the filtering for all rows. Call this when result of the filter function on the box is changed due to an external factor. For instance, this would be used if the filter function just looked for a specific search string and the entry with the search string has changed.

Parameters

box

a GtkListBox

 

gtk_list_box_invalidate_headers ()

void
gtk_list_box_invalidate_headers (GtkListBox *box);

Update the separators for all rows. Call this when result of the header function on the box is changed due to an external factor.

Parameters

box

a GtkListBox

 

gtk_list_box_invalidate_sort ()

void
gtk_list_box_invalidate_sort (GtkListBox *box);

Update the sorting for all rows. Call this when result of the sort function on the box is changed due to an external factor.

Parameters

box

a GtkListBox

 

gtk_list_box_set_filter_func ()

void
gtk_list_box_set_filter_func (GtkListBox *box,
                              GtkListBoxFilterFunc filter_func,
                              gpointer user_data,
                              GDestroyNotify destroy);

By setting a filter function on the box one can decide dynamically which of the rows to show. For instance, to implement a search function on a list that filters the original list to only show the matching rows.

The filter_func will be called for each row after the call, and it will continue to be called each time a row changes (via gtk_list_box_row_changed()) or when gtk_list_box_invalidate_filter() is called.

Note that using a filter function is incompatible with using a model (see gtk_list_box_bind_model()).

Parameters

box

a GtkListBox

 

filter_func

callback that lets you filter which rows to show.

[allow-none]

user_data

user data passed to filter_func .

[closure]

destroy

destroy notifier for user_data

 

gtk_list_box_set_header_func ()

void
gtk_list_box_set_header_func (GtkListBox *box,
                              GtkListBoxUpdateHeaderFunc update_header,
                              gpointer user_data,
                              GDestroyNotify destroy);

By setting a header function on the box one can dynamically add headers in front of rows, depending on the contents of the row and its position in the list. For instance, one could use it to add headers in front of the first item of a new kind, in a list sorted by the kind.

The update_header can look at the current header widget using gtk_list_box_row_get_header() and either update the state of the widget as needed, or set a new one using gtk_list_box_row_set_header(). If no header is needed, set the header to NULL.

Note that you may get many calls update_header to this for a particular row when e.g. changing things that don’t affect the header. In this case it is important for performance to not blindly replace an existing header with an identical one.

The update_header function will be called for each row after the call, and it will continue to be called each time a row changes (via gtk_list_box_row_changed()) and when the row before changes (either by gtk_list_box_row_changed() on the previous row, or when the previous row becomes a different row). It is also called for all rows when gtk_list_box_invalidate_headers() is called.

Parameters

box

a GtkListBox

 

update_header

callback that lets you add row headers.

[allow-none]

user_data

user data passed to update_header .

[closure]

destroy

destroy notifier for user_data

 

gtk_list_box_set_sort_func ()

void
gtk_list_box_set_sort_func (GtkListBox *box,
                            GtkListBoxSortFunc sort_func,
                            gpointer user_data,
                            GDestroyNotify destroy);

By setting a sort function on the box one can dynamically reorder the rows of the list, based on the contents of the rows.

The sort_func will be called for each row after the call, and will continue to be called each time a row changes (via gtk_list_box_row_changed()) and when gtk_list_box_invalidate_sort() is called.

Note that using a sort function is incompatible with using a model (see gtk_list_box_bind_model()).

Parameters

box

a GtkListBox

 

sort_func

the sort function.

[allow-none]

user_data

user data passed to sort_func .

[closure]

destroy

destroy notifier for user_data

 

gtk_list_box_drag_highlight_row ()

void
gtk_list_box_drag_highlight_row (GtkListBox *box,
                                 GtkListBoxRow *row);

This is a helper function for implementing DnD onto a GtkListBox. The passed in row will be highlighted via gtk_drag_highlight(), and any previously highlighted row will be unhighlighted.

The row will also be unhighlighted when the widget gets a drag leave event.

Parameters

box

a GtkListBox

 

row

a GtkListBoxRow

 

gtk_list_box_drag_unhighlight_row ()

void
gtk_list_box_drag_unhighlight_row (GtkListBox *box);

If a row has previously been highlighted via gtk_list_box_drag_highlight_row() it will have the highlight removed.

Parameters

box

a GtkListBox

 

GtkListBoxCreateWidgetFunc ()

GtkWidget *
(*GtkListBoxCreateWidgetFunc) (gpointer item,
                               gpointer user_data);

Called for list boxes that are bound to a GListModel with gtk_list_box_bind_model() for each item that gets added to the model.

Parameters

item

the item from the model for which to create a widget for.

[type GObject]

user_data

user data.

[closure]

Returns

a GtkWidget that represents item .

[transfer full]


gtk_list_box_bind_model ()

void
gtk_list_box_bind_model (GtkListBox *box,
                         GListModel *model,
                         GtkListBoxCreateWidgetFunc create_widget_func,
                         gpointer user_data,
                         GDestroyNotify user_data_free_func);

Binds model to box .

If box was already bound to a model, that previous binding is destroyed.

The contents of box are cleared and then filled with widgets that represent items from model . box is updated whenever model changes. If model is NULL, box is left empty.

It is undefined to add or remove widgets directly (for example, with gtk_list_box_insert() or gtk_container_add()) while box is bound to a model.

Note that using a model is incompatible with the filtering and sorting functionality in GtkListBox. When using a model, filtering and sorting should be implemented by the model.

Parameters

box

a GtkListBox

 

model

the GListModel to be bound to box .

[nullable]

create_widget_func

a function that creates widgets for items or NULL in case you also passed NULL as model .

[nullable]

user_data

user data passed to create_widget_func .

[closure]

user_data_free_func

function for freeing user_data

 

gtk_list_box_row_new ()

GtkWidget *
gtk_list_box_row_new (void);

Creates a new GtkListBoxRow, to be used as a child of a GtkListBox.

Returns

a new GtkListBoxRow


gtk_list_box_row_changed ()

void
gtk_list_box_row_changed (GtkListBoxRow *row);

Marks row as changed, causing any state that depends on this to be updated. This affects sorting, filtering and headers.

Note that calls to this method must be in sync with the data used for the row functions. For instance, if the list is mirroring some external data set, and *two* rows changed in the external data set then when you call gtk_list_box_row_changed() on the first row the sort function must only read the new data for the first of the two changed rows, otherwise the resorting of the rows will be wrong.

This generally means that if you don’t fully control the data model you have to duplicate the data that affects the listbox row functions into the row widgets themselves. Another alternative is to call gtk_list_box_invalidate_sort() on any model change, but that is more expensive.

Parameters

row

a GtkListBoxRow

 

gtk_list_box_row_is_selected ()

gboolean
gtk_list_box_row_is_selected (GtkListBoxRow *row);

Returns whether the child is currently selected in its GtkListBox container.

Parameters

row

a GtkListBoxRow

 

Returns

TRUE if row is selected


gtk_list_box_row_get_child ()

GtkWidget *
gtk_list_box_row_get_child (GtkListBoxRow *row);

Gets the child widget of row .

Parameters

row

a GtkListBoxRow

 

Returns

the child widget of row .

[nullable][transfer none]


gtk_list_box_row_set_child ()

void
gtk_list_box_row_set_child (GtkListBoxRow *row,
                            GtkWidget *child);

Sets the child widget of self .

Parameters

row

a GtkListBoxRow

 

child

the child widget.

[allow-none]

gtk_list_box_row_get_header ()

GtkWidget *
gtk_list_box_row_get_header (GtkListBoxRow *row);

Returns the current header of the row . This can be used in a GtkListBoxUpdateHeaderFunc to see if there is a header set already, and if so to update the state of it.

Parameters

row

a GtkListBoxRow

 

Returns

the current header, or NULL if none.

[transfer none][nullable]


gtk_list_box_row_set_header ()

void
gtk_list_box_row_set_header (GtkListBoxRow *row,
                             GtkWidget *header);

Sets the current header of the row . This is only allowed to be called from a GtkListBoxUpdateHeaderFunc. It will replace any existing header in the row, and be shown in front of the row in the listbox.

Parameters

row

a GtkListBoxRow

 

header

the header, or NULL.

[allow-none]

gtk_list_box_row_get_index ()

int
gtk_list_box_row_get_index (GtkListBoxRow *row);

Gets the current index of the row in its GtkListBox container.

Parameters

row

a GtkListBoxRow

 

Returns

the index of the row , or -1 if the row is not in a listbox


gtk_list_box_row_set_activatable ()

void
gtk_list_box_row_set_activatable (GtkListBoxRow *row,
                                  gboolean activatable);

Set the “activatable” property for this row.

Parameters

row

a GtkListBoxRow

 

activatable

TRUE to mark the row as activatable

 

gtk_list_box_row_get_activatable ()

gboolean
gtk_list_box_row_get_activatable (GtkListBoxRow *row);

Gets the value of the “activatable” property for this row.

Parameters

row

a GtkListBoxRow

 

Returns

TRUE if the row is activatable


gtk_list_box_row_set_selectable ()

void
gtk_list_box_row_set_selectable (GtkListBoxRow *row,
                                 gboolean selectable);

Set the “selectable” property for this row.

Parameters

row

a GtkListBoxRow

 

selectable

TRUE to mark the row as selectable

 

gtk_list_box_row_get_selectable ()

gboolean
gtk_list_box_row_get_selectable (GtkListBoxRow *row);

Gets the value of the “selectable” property for this row.

Parameters

row

a GtkListBoxRow

 

Returns

TRUE if the row is selectable

Types and Values

GtkListBox

typedef struct _GtkListBox GtkListBox;

struct GtkListBoxRow

struct GtkListBoxRow;

struct GtkListBoxRowClass

struct GtkListBoxRowClass {
  GtkWidgetClass parent_class;

  void (* activate) (GtkListBoxRow *row);
};

Members

activate ()

   

Property Details

The “accept-unpaired-release” property

  “accept-unpaired-release”  gboolean

Accept unpaired release.

Owner: GtkListBox

Flags: Read / Write

Default value: FALSE


The “activate-on-single-click” property

  “activate-on-single-click” gboolean

Activate row on a single click.

Owner: GtkListBox

Flags: Read / Write

Default value: TRUE


The “selection-mode” property

  “selection-mode”           GtkSelectionMode

The selection mode.

Owner: GtkListBox

Flags: Read / Write

Default value: GTK_SELECTION_SINGLE


The “show-separators” property

  “show-separators”          gboolean

Show separators between rows.

Owner: GtkListBox

Flags: Read / Write

Default value: FALSE


The “activatable” property

  “activatable”              gboolean

The property determines whether the “row-activated” signal will be emitted for this row.

Owner: GtkListBoxRow

Flags: Read / Write

Default value: TRUE


The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkListBoxRow

Flags: Read / Write


The “selectable” property

  “selectable”               gboolean

The property determines whether this row can be selected.

Owner: GtkListBoxRow

Flags: Read / Write

Default value: TRUE

Signal Details

The “activate-cursor-row” signal

void
user_function (GtkListBox *listbox,
               gpointer    user_data)

Flags: Action


The “move-cursor” signal

void
user_function (GtkListBox     *listbox,
               GtkMovementStep arg1,
               gint            arg2,
               gboolean        arg3,
               gboolean        arg4,
               gpointer        user_data)

Flags: Action


The “row-activated” signal

void
user_function (GtkListBox    *box,
               GtkListBoxRow *row,
               gpointer       user_data)

The ::row-activated signal is emitted when a row has been activated by the user.

Parameters

box

the GtkListBox

 

row

the activated row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “row-selected” signal

void
user_function (GtkListBox    *box,
               GtkListBoxRow *row,
               gpointer       user_data)

The ::row-selected signal is emitted when a new row is selected, or (with a NULL row ) when the selection is cleared.

When the box is using GTK_SELECTION_MULTIPLE, this signal will not give you the full picture of selection changes, and you should use the “selected-rows-changed” signal instead.

Parameters

box

the GtkListBox

 

row

the selected row.

[nullable]

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “select-all” signal

void
user_function (GtkListBox *box,
               gpointer    user_data)

The ::select-all signal is a keybinding signal which gets emitted to select all children of the box, if the selection mode permits it.

The default bindings for this signal is Ctrl-a.

Parameters

box

the GtkListBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “selected-rows-changed” signal

void
user_function (GtkListBox *box,
               gpointer    user_data)

The ::selected-rows-changed signal is emitted when the set of selected rows changes.

Parameters

box

the GtkListBox on wich the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “toggle-cursor-row” signal

void
user_function (GtkListBox *listbox,
               gpointer    user_data)

Flags: Action


The “unselect-all” signal

void
user_function (GtkListBox *box,
               gpointer    user_data)

The ::unselect-all signal is a keybinding signal which gets emitted to unselect all children of the box, if the selection mode permits it.

The default bindings for this signal is Ctrl-Shift-a.

Parameters

box

the GtkListBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “activate” signal

void
user_function (GtkListBoxRow *listboxrow,
               gpointer       user_data)

This is a keybinding signal, which will cause this row to be activated.

If you want to be notified when the user activates a row (by key or not), use the “row-activated” signal on the row’s parent GtkListBox.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkListItemFactory.html0000664000175000017500000001600513710700534021745 0ustar mclasenmclasen GtkListItemFactory: GTK 4 Reference Manual

GtkListItemFactory

GtkListItemFactory — Mapping list items to widgets

Types and Values

Object Hierarchy

    GObject
    ╰── GtkListItemFactory
        ├── GtkBuilderListItemFactory
        ╰── GtkSignalListItemFactory

Includes

#include <gtk/gtk.h>

Description

GtkListItemFactory is one of the core concepts of handling list widgets. It is the object tasked with creating widgets for items taken from a GListModel when the views need them and updating them as the items displayed by the view change.

A view is usually only able to display anything after both a factory and a model have been set on the view. So it is important that you do not skip this step when setting up your first view.

Because views do not display the whole list at once but only a few items, they only need to maintain a few widgets at a time. They will instruct the GtkListItemFactory to create these widgets and bind them to the items that are currently displayed. As the list model changes or the user scrolls to the list, the items will change and the view will instruct the factory to bind the widgets to those new items.

The actual widgets used for displaying those widgets is provided by you.

When the factory needs widgets created, it will create a GtkListItem and hand it to your code to set up a widget for. This list item will provide various properties with information about what item to display and provide you with some opportunities to configure its behavior. See the GtkListItem documentation for further details.

Various implementations of GtkListItemFactory exist to allow you different ways to provide those widgets. The most common implementations are GtkBuilderListItemFactory which takes a GtkBuilder .ui file and then creates widgets and manages everything automatically from the information in that file and GtkSignalListItemFactory which allows you to connect to signals with your own code and retain full control over how the widgets are setup and managed.

A GtkListItemFactory is supposed to be final - that means its behavior should not change and the first widget created from it should behave the same way as the last widget created from it. If you intend to do changes to the behavior, it is recommended that you create a new GtkListItemFactory which will allow the views to recreate its widgets.

Once you have chosen your factory and created it, you need to set it on the view widget you want to use it with, such as via gtk_list_view_set_factory(). Reusing factories across different views is allowed, but very uncommon.

Functions

Types and Values

GtkListItemFactory

typedef struct _GtkListItemFactory GtkListItemFactory;
docs/reference/gtk/html/GtkListStore.html0000664000175000017500000021702013710700534020613 0ustar mclasenmclasen GtkListStore: GTK 4 Reference Manual

GtkListStore

GtkListStore — A list-like data structure that can be used with the GtkTreeView

Types and Values

struct GtkListStore

Object Hierarchy

    GObject
    ╰── GtkListStore

Implemented Interfaces

GtkListStore implements GtkTreeModel, GtkTreeDragSource, GtkTreeDragDest, GtkTreeSortable and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

The GtkListStore object is a list model for use with a GtkTreeView widget. It implements the GtkTreeModel interface, and consequentialy, can use all of the methods available there. It also implements the GtkTreeSortable interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces.

The GtkListStore can accept most GObject types as a column type, though it can’t accept all custom types. Internally, it will keep a copy of data passed in (such as a string or a boxed pointer). Columns that accept GObjects are handled a little differently. The GtkListStore will keep a reference to the object instead of copying the value. As a result, if the object is modified, it is up to the application writer to call gtk_tree_model_row_changed() to emit the “row_changed” signal. This most commonly affects lists with GdkTextures stored.

An example for creating a simple list store:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
enum {
  COLUMN_STRING,
  COLUMN_INT,
  COLUMN_BOOLEAN,
  N_COLUMNS
};

{
  GtkListStore *list_store;
  GtkTreePath *path;
  GtkTreeIter iter;
  int i;

  list_store = gtk_list_store_new (N_COLUMNS,
                                   G_TYPE_STRING,
                                   G_TYPE_INT,
                                   G_TYPE_BOOLEAN);

  for (i = 0; i < 10; i++)
    {
      char *some_data;

      some_data = get_some_data (i);

      // Add a new row to the model
      gtk_list_store_append (list_store, &iter);
      gtk_list_store_set (list_store, &iter,
                          COLUMN_STRING, some_data,
                          COLUMN_INT, i,
                          COLUMN_BOOLEAN,  FALSE,
                          -1);

      // As the store will keep a copy of the string internally,
      // we free some_data.
      g_free (some_data);
    }

  // Modify a particular row
  path = gtk_tree_path_new_from_string ("4");
  gtk_tree_model_get_iter (GTK_TREE_MODEL (list_store),
                           &iter,
                           path);
  gtk_tree_path_free (path);
  gtk_list_store_set (list_store, &iter,
                      COLUMN_BOOLEAN, TRUE,
                      -1);
}

Performance Considerations

Internally, the GtkListStore was implemented with a linked list with a tail pointer prior to GTK+ 2.6. As a result, it was fast at data insertion and deletion, and not fast at random data access. The GtkListStore sets the GTK_TREE_MODEL_ITERS_PERSIST flag, which means that GtkTreeIters can be cached while the row exists. Thus, if access to a particular row is needed often and your code is expected to run on older versions of GTK+, it is worth keeping the iter around.


Atomic Operations

It is important to note that only the methods gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv() are atomic, in the sense that the row is being appended to the store and the values filled in in a single operation with regard to GtkTreeModel signaling. In contrast, using e.g. gtk_list_store_append() and then gtk_list_store_set() will first create a row, which triggers the “row-inserted” signal on GtkListStore. The row, however, is still empty, and any signal handler connecting to “row-inserted” on this particular store should be prepared for the situation that the row might be empty. This is especially important if you are wrapping the GtkListStore inside a GtkTreeModelFilter and are using a GtkTreeModelFilterVisibleFunc. Using any of the non-atomic operations to append rows to the GtkListStore will cause the GtkTreeModelFilterVisibleFunc to be visited with an empty row first; the function must be prepared for that.


GtkListStore as GtkBuildable

The GtkListStore implementation of the GtkBuildable interface allows to specify the model columns with a <columns> element that may contain multiple <column> elements, each specifying one model column. The “type” attribute specifies the data type for the column.

Additionally, it is possible to specify content for the list store in the UI definition, with the <data> element. It can contain multiple <row> elements, each specifying to content for one row of the list model. Inside a <row>, the <col> elements specify the content for individual cells.

Note that it is probably more common to define your models in the code, and one might consider it a layering violation to specify the content of a list store in a UI definition, data, not presentation, and common wisdom is to separate the two, as far as possible.

An example of a UI Definition fragment for a list store:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<object class="GtkListStore">
  <columns>
    <column type="gchararray"/>
    <column type="gchararray"/>
    <column type="gint"/>
  </columns>
  <data>
    <row>
      <col id="0">John</col>
      <col id="1">Doe</col>
      <col id="2">25</col>
    </row>
    <row>
      <col id="0">Johan</col>
      <col id="1">Dahlin</col>
      <col id="2">50</col>
    </row>
  </data>
</object>

Functions

gtk_list_store_new ()

GtkListStore *
gtk_list_store_new (int n_columns,
                    ...);

Creates a new list store as with n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported.

As an example, gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE); will create a new GtkListStore with three columns, of type int, string and GdkTexture, respectively.

Parameters

n_columns

number of columns in the list store

 

...

all GType types for the columns, from first to last

 

Returns

a new GtkListStore


gtk_list_store_newv ()

GtkListStore *
gtk_list_store_newv (int n_columns,
                     GType *types);

Non-vararg creation function. Used primarily by language bindings.

[rename-to gtk_list_store_new]

Parameters

n_columns

number of columns in the list store

 

types

an array of GType types for the columns, from first to last.

[array length=n_columns]

Returns

a new GtkListStore.

[transfer full]


gtk_list_store_set_column_types ()

void
gtk_list_store_set_column_types (GtkListStore *list_store,
                                 int n_columns,
                                 GType *types);

This function is meant primarily for GObjects that inherit from GtkListStore, and should only be used when constructing a new GtkListStore. It will not function after a row has been added, or a method on the GtkTreeModel interface is called.

Parameters

list_store

A GtkListStore

 

n_columns

Number of columns for the list store

 

types

An array length n of GTypes.

[array length=n_columns]

gtk_list_store_set ()

void
gtk_list_store_set (GtkListStore *list_store,
                    GtkTreeIter *iter,
                    ...);

Sets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type G_TYPE_STRING to “Foo”, you would write gtk_list_store_set (store, iter, 0, "Foo", -1).

The value will be referenced by the store if it is a G_TYPE_OBJECT, and it will be copied if it is a G_TYPE_STRING or G_TYPE_BOXED.

Parameters

list_store

a GtkListStore

 

iter

row iterator

 

...

pairs of column number and value, terminated with -1

 

gtk_list_store_set_valist ()

void
gtk_list_store_set_valist (GtkListStore *list_store,
                           GtkTreeIter *iter,
                           va_list var_args);

See gtk_list_store_set(); this version takes a va_list for use by language bindings.

Parameters

list_store

A GtkListStore

 

iter

A valid GtkTreeIter for the row being modified

 

var_args

va_list of column/value pairs

 

gtk_list_store_set_value ()

void
gtk_list_store_set_value (GtkListStore *list_store,
                          GtkTreeIter *iter,
                          int column,
                          GValue *value);

Sets the data in the cell specified by iter and column . The type of value must be convertible to the type of the column.

Parameters

list_store

A GtkListStore

 

iter

A valid GtkTreeIter for the row being modified

 

column

column number to modify

 

value

new value for the cell

 

gtk_list_store_set_valuesv ()

void
gtk_list_store_set_valuesv (GtkListStore *list_store,
                            GtkTreeIter *iter,
                            int *columns,
                            GValue *values,
                            int n_values);

A variant of gtk_list_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings and in case the number of columns to change is not known until run-time.

[rename-to gtk_list_store_set]

Parameters

list_store

A GtkListStore

 

iter

A valid GtkTreeIter for the row being modified

 

columns

an array of column numbers.

[array length=n_values]

values

an array of GValues.

[array length=n_values]

n_values

the length of the columns and values arrays

 

gtk_list_store_remove ()

gboolean
gtk_list_store_remove (GtkListStore *list_store,
                       GtkTreeIter *iter);

Removes the given row from the list store. After being removed, iter is set to be the next valid row, or invalidated if it pointed to the last row in list_store .

Parameters

list_store

A GtkListStore

 

iter

A valid GtkTreeIter

 

Returns

TRUE if iter is valid, FALSE if not.


gtk_list_store_insert ()

void
gtk_list_store_insert (GtkListStore *list_store,
                       GtkTreeIter *iter,
                       int position);

Creates a new row at position . iter will be changed to point to this new row. If position is -1 or is larger than the number of rows on the list, then the new row will be appended to the list. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

position

position to insert the new row, or -1 for last

 

gtk_list_store_insert_before ()

void
gtk_list_store_insert_before (GtkListStore *list_store,
                              GtkTreeIter *iter,
                              GtkTreeIter *sibling);

Inserts a new row before sibling . If sibling is NULL, then the row will be appended to the end of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

sibling

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_list_store_insert_after ()

void
gtk_list_store_insert_after (GtkListStore *list_store,
                             GtkTreeIter *iter,
                             GtkTreeIter *sibling);

Inserts a new row after sibling . If sibling is NULL, then the row will be prepended to the beginning of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

sibling

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_list_store_insert_with_values ()

void
gtk_list_store_insert_with_values (GtkListStore *list_store,
                                   GtkTreeIter *iter,
                                   int position,
                                   ...);

Creates a new row at position . iter will be changed to point to this new row. If position is -1, or larger than the number of rows in the list, then the new row will be appended to the list. The row will be filled with the values given to this function.

Calling gtk_list_store_insert_with_values (list_store, iter, position...) has the same effect as calling

1
2
3
4
5
6
7
8
9
10
11
static void
insert_value (GtkListStore *list_store,
              GtkTreeIter  *iter,
              int           position)
{
  gtk_list_store_insert (list_store, iter, position);
  gtk_list_store_set (list_store,
                      iter
                      // ...
                      );
}

with the difference that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and, if the list store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_list_store_insert_with_values() should generally be preferred when inserting rows in a sorted list store.

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the new row, or NULL.

[out][allow-none]

position

position to insert the new row, or -1 to append after existing rows

 

...

pairs of column number and value, terminated with -1

 

gtk_list_store_insert_with_valuesv ()

void
gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
                                    GtkTreeIter *iter,
                                    int position,
                                    int *columns,
                                    GValue *values,
                                    int n_values);

A variant of gtk_list_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings.

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the new row, or NULL.

[out][allow-none]

position

position to insert the new row, or -1 for last

 

columns

an array of column numbers.

[array length=n_values]

values

an array of GValues.

[array length=n_values]

n_values

the length of the columns and values arrays

 

gtk_list_store_prepend ()

void
gtk_list_store_prepend (GtkListStore *list_store,
                        GtkTreeIter *iter);

Prepends a new row to list_store . iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the prepend row.

[out]

gtk_list_store_append ()

void
gtk_list_store_append (GtkListStore *list_store,
                       GtkTreeIter *iter);

Appends a new row to list_store . iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().

Parameters

list_store

A GtkListStore

 

iter

An unset GtkTreeIter to set to the appended row.

[out]

gtk_list_store_clear ()

void
gtk_list_store_clear (GtkListStore *list_store);

Removes all rows from the list store.

Parameters

list_store

a GtkListStore.

 

gtk_list_store_iter_is_valid ()

gboolean
gtk_list_store_iter_is_valid (GtkListStore *list_store,
                              GtkTreeIter *iter);

This function is slow. Only use it for debugging and/or testing purposes.

Checks if the given iter is a valid iter for this GtkListStore.

Parameters

list_store

A GtkListStore.

 

iter

A GtkTreeIter.

 

Returns

TRUE if the iter is valid, FALSE if the iter is invalid.


gtk_list_store_reorder ()

void
gtk_list_store_reorder (GtkListStore *store,
                        int *new_order);

Reorders store to follow the order indicated by new_order . Note that this function only works with unsorted stores.

Parameters

store

A GtkListStore.

 

new_order

an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos. It must have exactly as many items as the list store’s length.

[array zero-terminated=1]

gtk_list_store_swap ()

void
gtk_list_store_swap (GtkListStore *store,
                     GtkTreeIter *a,
                     GtkTreeIter *b);

Swaps a and b in store . Note that this function only works with unsorted stores.

Parameters

store

A GtkListStore.

 

a

A GtkTreeIter.

 

b

Another GtkTreeIter.

 

gtk_list_store_move_before ()

void
gtk_list_store_move_before (GtkListStore *store,
                            GtkTreeIter *iter,
                            GtkTreeIter *position);

Moves iter in store to the position before position . Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the end of the list.

Parameters

store

A GtkListStore.

 

iter

A GtkTreeIter.

 

position

A GtkTreeIter, or NULL.

[allow-none]

gtk_list_store_move_after ()

void
gtk_list_store_move_after (GtkListStore *store,
                           GtkTreeIter *iter,
                           GtkTreeIter *position);

Moves iter in store to the position after position . Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the start of the list.

Parameters

store

A GtkListStore.

 

iter

A GtkTreeIter.

 

position

A GtkTreeIter or NULL.

[allow-none]

Types and Values

struct GtkListStore

struct GtkListStore;
docs/reference/gtk/html/GtkMapListModel.html0000664000175000017500000005512513710700534021223 0ustar mclasenmclasen GtkMapListModel: GTK 4 Reference Manual

GtkMapListModel

GtkMapListModel — A list model that transforms its items

Properties

gboolean has-map Read
GListModel * model Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkMapListModel

Implemented Interfaces

GtkMapListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkMapListModel is a list model that takes a list model and maps the items in that model to different items according to a GtkMapListModelMapFunc.

Example: Create a list of GtkEventControllers

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static gpointer
map_to_controllers (gpointer widget,
                    gpointer data)
 {
  gpointer result = gtk_widget_observe_controllers (widget);
  g_object_unref (widget);
  return result;
 }

widgets = gtk_widget_observe_children (widget);

controllers = gtk_map_list_model_new (G_TYPE_LIST_MODEL,
                                      widgets,
                                      map_to_controllers,
                                      NULL, NULL);

model = gtk_flatten_list_model_new (GTK_TYPE_EVENT_CONTROLLER,
                                    controllers);

GtkMapListModel will attempt to discard the mapped objects as soon as they are no longer needed and recreate them if necessary.

Functions

GtkMapListModelMapFunc ()

gpointer
(*GtkMapListModelMapFunc) (gpointer item,
                           gpointer user_data);

User function that is called to map an item of the original model to an item expected by the map model.

The returned items must conform to the item type of the model they are used with.

Parameters

item

The item to map.

[type GObject][transfer full]

user_data

user data

 

Returns

The item to map to. This function may not return NULL.

[type GObject][transfer full]


gtk_map_list_model_new ()

GtkMapListModel *
gtk_map_list_model_new (GListModel *model,
                        GtkMapListModelMapFunc map_func,
                        gpointer user_data,
                        GDestroyNotify user_destroy);

Creates a new GtkMapListModel for the given arguments.

Parameters

model

The model to map or NULL for none.

[transfer full][allow-none]

map_func

map function or NULL to not map items.

[allow-none]

user_data

user data passed to map_func .

[closure]

user_destroy

destroy notifier for user_data

 

Returns

a new GtkMapListModel


gtk_map_list_model_set_map_func ()

void
gtk_map_list_model_set_map_func (GtkMapListModel *self,
                                 GtkMapListModelMapFunc map_func,
                                 gpointer user_data,
                                 GDestroyNotify user_destroy);

Sets the function used to map items. The function will be called whenever an item needs to be mapped and must return the item to use for the given input item.

Note that GtkMapListModel may call this function multiple times on the same item, because it may delete items it doesn't need anymore.

GTK makes no effort to ensure that map_func conforms to the item type of self . It assumes that the caller knows what they are doing and the map function returns items of the appropriate type.

Parameters

self

a GtkMapListModel

 

map_func

map function or NULL to not map items.

[allow-none]

user_data

user data passed to map_func .

[closure]

user_destroy

destroy notifier for user_data

 

gtk_map_list_model_set_model ()

void
gtk_map_list_model_set_model (GtkMapListModel *self,
                              GListModel *model);

Sets the model to be mapped.

GTK makes no effort to ensure that model conforms to the item type expected by the map function. It assumes that the caller knows what they are doing and have set up an appropriate map function.

Parameters

self

a GtkMapListModel

 

model

The model to be mapped.

[allow-none]

gtk_map_list_model_get_model ()

GListModel *
gtk_map_list_model_get_model (GtkMapListModel *self);

Gets the model that is currently being mapped or NULL if none.

Parameters

self

a GtkMapListModel

 

Returns

The model that gets mapped.

[nullable][transfer none]


gtk_map_list_model_has_map ()

gboolean
gtk_map_list_model_has_map (GtkMapListModel *self);

Checks if a map function is currently set on self

Parameters

self

a GtkMapListModel

 

Returns

TRUE if a map function is set

Types and Values

GtkMapListModel

typedef struct _GtkMapListModel GtkMapListModel;

Property Details

The “has-map” property

  “has-map”                  gboolean

If a map is set for this model

Owner: GtkMapListModel

Flags: Read

Default value: FALSE


The “model” property

  “model”                    GListModel *

The model being mapped

Owner: GtkMapListModel

Flags: Read / Write / Construct Only

See Also

GListModel

docs/reference/gtk/html/GtkMenuButton.html0000664000175000017500000014403413710700534020767 0ustar mclasenmclasen GtkMenuButton: GTK 4 Reference Manual

GtkMenuButton

GtkMenuButton — A widget that shows a popup when clicked on

Properties

GtkArrowType direction Read / Write
gboolean has-frame Read / Write
gchar * icon-name Read / Write
gchar * label Read / Write
GMenuModel * menu-model Read / Write
GtkPopover * popover Read / Write
gboolean use-underline Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkMenuButton

Implemented Interfaces

GtkMenuButton implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkMenuButton widget is used to display a popup when clicked on. This popup can be provided either as a GtkPopover or as an abstract GMenuModel.

The GtkMenuButton widget can show either an icon (set with the “icon-name” property) or a label (set with the “label” property). If neither is explicitly set, a GtkImage is automatically created, using an arrow image oriented according to “direction” or the generic “open-menu-symbolic” icon if the direction is not set.

The positioning of the popup is determined by the “direction” property of the menu button.

For menus, the “halign” and “valign” properties of the menu are also taken into account. For example, when the direction is GTK_ARROW_DOWN and the horizontal alignment is GTK_ALIGN_START, the menu will be positioned below the button, with the starting edge (depending on the text direction) of the menu aligned with the starting edge of the button. If there is not enough space below the button, the menu is popped up above the button instead. If the alignment would move part of the menu offscreen, it is “pushed in”.

Direction = Down

  • halign = start

  • halign = center

  • halign = end

Direction = Up

  • halign = start

  • halign = center

  • halign = end

Direction = Left

  • valign = start

  • valign = center

  • valign = end

Direction = Right

  • valign = start

  • valign = center

  • valign = end

CSS nodes

GtkMenuButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .popup style class.

Functions

gtk_menu_button_new ()

GtkWidget *
gtk_menu_button_new (void);

Creates a new GtkMenuButton widget with downwards-pointing arrow as the only child. You can replace the child widget with another GtkWidget should you wish to.

Returns

The newly created GtkMenuButton widget


gtk_menu_button_set_popover ()

void
gtk_menu_button_set_popover (GtkMenuButton *menu_button,
                             GtkWidget *popover);

Sets the GtkPopover that will be popped up when the menu_button is clicked, or NULL to dissociate any existing popover and disable the button.

If “menu-model” is set, the menu model is dissociated from the menu_button , and the property is set to NULL.

Parameters

menu_button

a GtkMenuButton

 

popover

a GtkPopover, or NULL to unset and disable the button.

[nullable]

gtk_menu_button_get_popover ()

GtkPopover *
gtk_menu_button_get_popover (GtkMenuButton *menu_button);

Returns the GtkPopover that pops out of the button. If the button is not using a GtkPopover, this function returns NULL.

Parameters

menu_button

a GtkMenuButton

 

Returns

a GtkPopover or NULL.

[nullable][transfer none]


gtk_menu_button_set_menu_model ()

void
gtk_menu_button_set_menu_model (GtkMenuButton *menu_button,
                                GMenuModel *menu_model);

Sets the GMenuModel from which the popup will be constructed, or NULL to dissociate any existing menu model and disable the button.

A GtkPopover will be created from the menu model with gtk_popover_menu_new_from_model(). Actions will be connected as documented for this function.

If “popover” is already set, it will be dissociated from the menu_button , and the property is set to NULL.

Parameters

menu_button

a GtkMenuButton

 

menu_model

a GMenuModel, or NULL to unset and disable the button.

[nullable]

gtk_menu_button_get_menu_model ()

GMenuModel *
gtk_menu_button_get_menu_model (GtkMenuButton *menu_button);

Returns the GMenuModel used to generate the popup.

Parameters

menu_button

a GtkMenuButton

 

Returns

a GMenuModel or NULL.

[nullable][transfer none]


gtk_menu_button_set_direction ()

void
gtk_menu_button_set_direction (GtkMenuButton *menu_button,
                               GtkArrowType direction);

Sets the direction in which the popup will be popped up, as well as changing the arrow’s direction. The child will not be changed to an arrow if it was customized.

If the does not fit in the available space in the given direction, GTK+ will its best to keep it inside the screen and fully visible.

If you pass GTK_ARROW_NONE for a direction , the popup will behave as if you passed GTK_ARROW_DOWN (although you won’t see any arrows).

Parameters

menu_button

a GtkMenuButton

 

direction

a GtkArrowType

 

gtk_menu_button_get_direction ()

GtkArrowType
gtk_menu_button_get_direction (GtkMenuButton *menu_button);

Returns the direction the popup will be pointing at when popped up.

Parameters

menu_button

a GtkMenuButton

 

Returns

a GtkArrowType value


gtk_menu_button_set_icon_name ()

void
gtk_menu_button_set_icon_name (GtkMenuButton *menu_button,
                               const char *icon_name);

Sets the name of an icon to show inside the menu button.

Parameters

menu_button

a GtkMenuButton

 

icon_name

the icon name

 

gtk_menu_button_get_icon_name ()

const char *
gtk_menu_button_get_icon_name (GtkMenuButton *menu_button);

Gets the name of the icon shown in the button.

Parameters

menu_button

a GtkMenuButton

 

Returns

the name of the icon shown in the button


gtk_menu_button_set_label ()

void
gtk_menu_button_set_label (GtkMenuButton *menu_button,
                           const char *label);

Sets the label to show inside the menu button.

Parameters

menu_button

a GtkMenuButton

 

label

the label

 

gtk_menu_button_get_label ()

const char *
gtk_menu_button_get_label (GtkMenuButton *menu_button);

Gets the label shown in the button

Parameters

menu_button

a GtkMenuButton

 

Returns

the label shown in the button


gtk_menu_button_set_has_frame ()

void
gtk_menu_button_set_has_frame (GtkMenuButton *menu_button,
                               gboolean has_frame);

Sets the style of the button.

Parameters

menu_button

a GtkMenuButton

 

has_frame

whether the button should have a visible frame

 

gtk_menu_button_get_has_frame ()

gboolean
gtk_menu_button_get_has_frame (GtkMenuButton *menu_button);

Returns whether the button has a frame.

Parameters

menu_button

a GtkMenuButton

 

Returns

TRUE if the button has a frame


gtk_menu_button_get_use_underline ()

gboolean
gtk_menu_button_get_use_underline (GtkMenuButton *menu_button);

Returns whether an embedded underline in the text indicates a mnemonic. See gtk_menu_button_set_use_underline().

Parameters

menu_button

a GtkMenuButton

 

Returns

TRUE whether an embedded underline in the text indicates the mnemonic accelerator keys.


gtk_menu_button_set_use_underline ()

void
gtk_menu_button_set_use_underline (GtkMenuButton *menu_button,
                                   gboolean use_underline);

If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Parameters

menu_button

a GtkMenuButton

 

use_underline

TRUE if underlines in the text indicate mnemonics

 

gtk_menu_button_popup ()

void
gtk_menu_button_popup (GtkMenuButton *menu_button);

Pop up the menu.

Parameters

menu_button

a GtkMenuButton

 

gtk_menu_button_popdown ()

void
gtk_menu_button_popdown (GtkMenuButton *menu_button);

Dismiss the menu.

Parameters

menu_button

a GtkMenuButton

 

GtkMenuButtonCreatePopupFunc ()

void
(*GtkMenuButtonCreatePopupFunc) (GtkMenuButton *menu_button,
                                 gpointer user_data);

User-provided callback function to create a popup for menu_button on demand. This function is called when the popup of menu_button is shown, but none has been provided via gtk_menu_button_set_popover() or gtk_menu_button_set_menu_model().

Parameters

menu_button

the GtkMenuButton

 

gtk_menu_button_set_create_popup_func ()

void
gtk_menu_button_set_create_popup_func (GtkMenuButton *menu_button,
                                       GtkMenuButtonCreatePopupFunc func,
                                       gpointer user_data,
                                       GDestroyNotify destroy_notify);

Sets func to be called when a popup is about to be shown. func should use one of

  • gtk_menu_button_set_popover()

  • gtk_menu_button_set_menu_model()

to set a popup for menu_button . If func is non-NULL, menu_button will always be sensitive.

Using this function will not reset the menu widget attached to menu_button . Instead, this can be done manually in func .

Parameters

menu_button

a GtkMenuButton

 

func

function to call when a popuop is about to be shown, but none has been provided via other means, or NULL to reset to default behavior.

[nullable]

user_data

user data to pass to func .

[closure]

destroy_notify

destroy notify for user_data .

[nullable]

Types and Values

GtkMenuButton

typedef struct _GtkMenuButton GtkMenuButton;

enum GtkArrowType

Used to indicate the direction in which an arrow should point.

Members

GTK_ARROW_UP

Represents an upward pointing arrow.

 

GTK_ARROW_DOWN

Represents a downward pointing arrow.

 

GTK_ARROW_LEFT

Represents a left pointing arrow.

 

GTK_ARROW_RIGHT

Represents a right pointing arrow.

 

GTK_ARROW_NONE

No arrow.

 

Property Details

The “direction” property

  “direction”                GtkArrowType

The GtkArrowType representing the direction in which the menu or popover will be popped out.

Owner: GtkMenuButton

Flags: Read / Write

Default value: GTK_ARROW_DOWN


The “has-frame” property

  “has-frame”                gboolean

Whether the button has a frame.

Owner: GtkMenuButton

Flags: Read / Write

Default value: TRUE


The “icon-name” property

  “icon-name”                gchar *

The name of the icon used to automatically populate the button.

Owner: GtkMenuButton

Flags: Read / Write

Default value: NULL


The “label” property

  “label”                    gchar *

The label for the button.

Owner: GtkMenuButton

Flags: Read / Write

Default value: NULL


The “menu-model” property

  “menu-model”               GMenuModel *

The GMenuModel from which the popup will be created.

See gtk_menu_button_set_menu_model() for the interaction with the “popup” property.

Owner: GtkMenuButton

Flags: Read / Write


The “popover” property

  “popover”                  GtkPopover *

The GtkPopover that will be popped up when the button is clicked.

Owner: GtkMenuButton

Flags: Read / Write


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkMenuButton

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkNative.html0000664000175000017500000003761613710700534020124 0ustar mclasenmclasen GtkNative: GTK 4 Reference Manual

GtkNative

GtkNative — Interface for widgets having surfaces

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkNative

Prerequisites

GtkNative requires GtkWidget.

Known Derived Interfaces

GtkNative is required by GtkRoot.

Includes

#include <gtk/gtk.h>

Description

GtkNative is the interface implemented by all widgets that can provide a GdkSurface for widgets to render on.

The obvious example of a GtkNative is GtkWindow.

Functions

gtk_native_get_for_surface ()

GtkWidget *
gtk_native_get_for_surface (GdkSurface *surface);

Finds the GtkNative associated with the surface.

Parameters

surface

a GdkSurface

 

Returns

the GtkNative that is associated with surface .

[transfer none]


gtk_native_get_surface ()

GdkSurface *
gtk_native_get_surface (GtkNative *self);

Returns the surface of this GtkNative.

Parameters

self

a GtkNative

 

Returns

the surface of self .

[transfer none]


gtk_native_get_renderer ()

GskRenderer *
gtk_native_get_renderer (GtkNative *self);

Returns the renderer that is used for this GtkNative.

Parameters

self

a GtkNative

 

Returns

the renderer for self .

[transfer none]


gtk_native_check_resize ()

void
gtk_native_check_resize (GtkNative *self);

Reposition and resize a GtkNative.

Widgets need to call this function on their attached native widgets when they receive a new size allocation.

Parameters

self

a GtkNative

 

gtk_native_get_surface_transform ()

void
gtk_native_get_surface_transform (GtkNative *self,
                                  double *x,
                                  double *y);

Retrieves the surface transform of self . This is the translation from self 's surface coordinates into self 's widget coordinates.

Parameters

self

a GtkNative

 

x

return location for the x coordinate.

[out]

y

return location for the y coordinate.

[out]

Types and Values

GtkNative

typedef struct _GtkNative GtkNative;

struct GtkNativeInterface

struct GtkNativeInterface {
  GdkSurface *  (* get_surface)           (GtkNative    *self);
  GskRenderer * (* get_renderer)          (GtkNative    *self);

  void          (* get_surface_transform) (GtkNative    *self,
                                           double       *x,
                                           double       *y);

  void          (* check_resize)          (GtkNative    *self);
};

See Also

GtkRoot

docs/reference/gtk/html/GtkPaned.html0000664000175000017500000015737113710700534017726 0ustar mclasenmclasen GtkPaned: GTK 4 Reference Manual

GtkPaned

GtkPaned — A widget with two adjustable panes

Properties

GtkWidget * end-child Read / Write
gint max-position Read
gint min-position Read
gint position Read / Write
gboolean position-set Read / Write
gboolean resize-end-child Read / Write
gboolean resize-start-child Read / Write
gboolean shrink-end-child Read / Write
gboolean shrink-start-child Read / Write
GtkWidget * start-child Read / Write
gboolean wide-handle Read / Write

Signals

gboolean accept-position Action
gboolean cancel-position Action
gboolean cycle-child-focus Action
gboolean cycle-handle-focus Action
gboolean move-handle Action
gboolean toggle-handle-focus Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPaned

Implemented Interfaces

GtkPaned implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkPaned has two panes, arranged either horizontally or vertically. The division between the two panes is adjustable by the user by dragging a handle.

Child widgets are added to the panes of the widget with gtk_paned_set_start_child() and gtk_paned_set_end_child(). The division between the two children is set by default from the size requests of the children, but it can be adjusted by the user.

A paned widget draws a separator between the two child widgets and a small handle that the user can drag to adjust the division. It does not draw any relief around the children or around the separator. (The space in which the separator is called the gutter.) Often, it is useful to put each child inside a GtkFrame so that the gutter appears as a ridge. No separator is drawn if one of the children is missing.

Each child has two options that can be set, resize and shrink . If resize is true, then when the GtkPaned is resized, that child will expand or shrink along with the paned widget. If shrink is true, then that child can be made smaller than its requisition by the user. Setting shrink to FALSE allows the application to set a minimum size. If resize is false for both children, then this is treated as if resize is true for both children.

The application can set the position of the slider as if it were set by the user, by calling gtk_paned_set_position().

CSS nodes

1
2
3
4
paned
├── <child>
├── separator[.wide]
╰── <child>

GtkPaned has a main CSS node with name paned, and a subnode for the separator with name separator. The subnode gets a .wide style class when the paned is supposed to be wide.

In horizontal orientation, the nodes are arranged based on the text direction, so in left-to-right mode, :first-child will select the leftmost child, while it will select the rightmost child in RTL layouts.

Creating a paned widget with minimum sizes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
GtkWidget *frame1 = gtk_frame_new (NULL);
GtkWidget *frame2 = gtk_frame_new (NULL);

gtk_widget_set_size_request (hpaned, 200, -1);

gtk_paned_set_start_child (GTK_PANED (hpaned), frame1);
gtk_paned_set_start_child_resize (GTK_PANED (hpaned), TRUE);
gtk_paned_set_start_child_shrink (GTK_PANED (hpaned), FALSE);
gtk_widget_set_size_request (frame1, 50, -1);

gtk_paned_set_end_child (GTK_PANED (hpaned), frame2);
gtk_paned_set_end_child_resize (GTK_PANED (hpaned), FALSE);
gtk_paned_set_end_child_shrink (GTK_PANED (hpaned), FALSE);
gtk_widget_set_size_request (frame2, 50, -1);

Functions

gtk_paned_new ()

GtkWidget *
gtk_paned_new (GtkOrientation orientation);

Creates a new GtkPaned widget.

Parameters

orientation

the paned’s orientation.

 

Returns

a new GtkPaned.


gtk_paned_set_start_child ()

void
gtk_paned_set_start_child (GtkPaned *paned,
                           GtkWidget *child);

Sets the start child of paned to child .

Parameters

paned

a GtkPaned

 

child

the widget to add

 

gtk_paned_get_start_child ()

GtkWidget *
gtk_paned_get_start_child (GtkPaned *paned);

Retrieves the start child of the given GtkPaned.

See also: “start-child”

Parameters

paned

a GtkPaned

 

Returns

the start child widget.

[transfer none][nullable]


gtk_paned_set_end_child ()

void
gtk_paned_set_end_child (GtkPaned *paned,
                         GtkWidget *child);

Sets the end child of paned to child .

Parameters

paned

a GtkPaned

 

child

the widget to add

 

gtk_paned_get_end_child ()

GtkWidget *
gtk_paned_get_end_child (GtkPaned *paned);

Retrieves the end child of the given GtkPaned.

See also: “end-child”

Parameters

paned

a GtkPaned

 

Returns

the end child widget.

[transfer none][nullable]


gtk_paned_set_resize_start_child ()

void
gtk_paned_set_resize_start_child (GtkPaned *paned,
                                  gboolean resize);

Sets the “resize-start-child” property

Parameters

paned

a GtkPaned

 

resize

TRUE to let the start child be resized

 

gtk_paned_get_resize_start_child ()

gboolean
gtk_paned_get_resize_start_child (GtkPaned *paned);

Returns whether the start child can be resized.

Parameters

paned

a GtkPaned

 

Returns

TRUE if the start child is resizable


gtk_paned_set_resize_end_child ()

void
gtk_paned_set_resize_end_child (GtkPaned *paned,
                                gboolean resize);

Sets the “resize-end-child” property

Parameters

paned

a GtkPaned

 

resize

TRUE to let the end child be resized

 

gtk_paned_get_resize_end_child ()

gboolean
gtk_paned_get_resize_end_child (GtkPaned *paned);

Returns whether the end child can be resized.

Parameters

paned

a GtkPaned

 

Returns

TRUE if the end child is resizable


gtk_paned_set_shrink_start_child ()

void
gtk_paned_set_shrink_start_child (GtkPaned *paned,
                                  gboolean resize);

Sets the “shrink-start-child” property

Parameters

paned

a GtkPaned

 

resize

TRUE to let the start child be shrunk

 

gtk_paned_get_shrink_start_child ()

gboolean
gtk_paned_get_shrink_start_child (GtkPaned *paned);

Returns whether the start child can be shrunk.

Parameters

paned

a GtkPaned

 

Returns

TRUE if the start child is shrinkable


gtk_paned_set_shrink_end_child ()

void
gtk_paned_set_shrink_end_child (GtkPaned *paned,
                                gboolean resize);

Sets the “shrink-end-child” property

Parameters

paned

a GtkPaned

 

resize

TRUE to let the end child be shrunk

 

gtk_paned_get_shrink_end_child ()

gboolean
gtk_paned_get_shrink_end_child (GtkPaned *paned);

Returns whether the end child can be shrunk.

Parameters

paned

a GtkPaned

 

Returns

TRUE if the end child is shrinkable


gtk_paned_set_position ()

void
gtk_paned_set_position (GtkPaned *paned,
                        int position);

Sets the position of the divider between the two panes.

Parameters

paned

a GtkPaned widget

 

position

pixel position of divider, a negative value means that the position is unset.

 

gtk_paned_get_position ()

int
gtk_paned_get_position (GtkPaned *paned);

Obtains the position of the divider between the two panes.

Parameters

paned

a GtkPaned widget

 

Returns

position of the divider


gtk_paned_set_wide_handle ()

void
gtk_paned_set_wide_handle (GtkPaned *paned,
                           gboolean wide);

Sets the “wide-handle” property.

Parameters

paned

a GtkPaned

 

wide

the new value for the “wide-handle” property

 

gtk_paned_get_wide_handle ()

gboolean
gtk_paned_get_wide_handle (GtkPaned *paned);

Gets the “wide-handle” property.

Parameters

paned

a GtkPaned

 

Returns

TRUE if the paned should have a wide handle

Types and Values

GtkPaned

typedef struct _GtkPaned GtkPaned;

Property Details

The “end-child” property

  “end-child”                GtkWidget *

The second child.

Owner: GtkPaned

Flags: Read / Write


The “max-position” property

  “max-position”             gint

The largest possible value for the position property. This property is derived from the size and shrinkability of the widget's children.

Owner: GtkPaned

Flags: Read

Allowed values: >= 0

Default value: 2147483647


The “min-position” property

  “min-position”             gint

The smallest possible value for the position property. This property is derived from the size and shrinkability of the widget's children.

Owner: GtkPaned

Flags: Read

Allowed values: >= 0

Default value: 0


The “position” property

  “position”                 gint

Position of paned separator in pixels (0 means all the way to the left/top).

Owner: GtkPaned

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “position-set” property

  “position-set”             gboolean

TRUE if the Position property should be used.

Owner: GtkPaned

Flags: Read / Write

Default value: FALSE


The “resize-end-child” property

  “resize-end-child”         gboolean

The "resize-end-child" property determines whether the second child expands and shrinks along with the paned widget.

Owner: GtkPaned

Flags: Read / Write

Default value: TRUE


The “resize-start-child” property

  “resize-start-child”       gboolean

The "resize-start-child" property determines whether the first child expands and shrinks along with the paned widget.

Owner: GtkPaned

Flags: Read / Write

Default value: TRUE


The “shrink-end-child” property

  “shrink-end-child”         gboolean

The "shrink-end-child" property determines whether the second child can be made smaller than its requisition.

Owner: GtkPaned

Flags: Read / Write

Default value: TRUE


The “shrink-start-child” property

  “shrink-start-child”       gboolean

The "shrink-start-child" property determines whether the first child can be made smaller than its requisition.

Owner: GtkPaned

Flags: Read / Write

Default value: TRUE


The “start-child” property

  “start-child”              GtkWidget *

The first child.

Owner: GtkPaned

Flags: Read / Write


The “wide-handle” property

  “wide-handle”              gboolean

Setting this property to TRUE indicates that the paned needs to provide stronger visual separation (e.g. because it separates between two notebooks, whose tab rows would otherwise merge visually).

Owner: GtkPaned

Flags: Read / Write

Default value: FALSE

Signal Details

The “accept-position” signal

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

The ::accept-position signal is a keybinding signal which gets emitted to accept the current position of the handle when moving it using key bindings.

The default binding for this signal is Return or Space.

Parameters

widget

the object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “cancel-position” signal

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

The ::cancel-position signal is a keybinding signal which gets emitted to cancel moving the position of the handle using key bindings. The position of the handle will be reset to the value prior to moving it.

The default binding for this signal is Escape.

Parameters

widget

the object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “cycle-child-focus” signal

gboolean
user_function (GtkPaned *widget,
               gboolean  reversed,
               gpointer  user_data)

The ::cycle-child-focus signal is a keybinding signal which gets emitted to cycle the focus between the children of the paned.

The default binding is f6.

Parameters

widget

the object that received the signal

 

reversed

whether cycling backward or forward

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “cycle-handle-focus” signal

gboolean
user_function (GtkPaned *widget,
               gboolean  reversed,
               gpointer  user_data)

The ::cycle-handle-focus signal is a keybinding signal which gets emitted to cycle whether the paned should grab focus to allow the user to change position of the handle by using key bindings.

The default binding for this signal is f8.

Parameters

widget

the object that received the signal

 

reversed

whether cycling backward or forward

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “move-handle” signal

gboolean
user_function (GtkPaned     *widget,
               GtkScrollType scroll_type,
               gpointer      user_data)

The ::move-handle signal is a keybinding signal which gets emitted to move the handle when the user is using key bindings to move it.

Parameters

widget

the object that received the signal

 

scroll_type

a GtkScrollType

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “toggle-handle-focus” signal

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

The ::toggle-handle-focus is a keybinding signal which gets emitted to accept the current position of the handle and then move focus to the next widget in the focus chain.

The default binding is Tab.

Parameters

widget

the object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkSeparator.html0000664000175000017500000001530513710700534020625 0ustar mclasenmclasen GtkSeparator: GTK 4 Reference Manual

GtkSeparator

GtkSeparator — A separator widget

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSeparator

Implemented Interfaces

GtkSeparator implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkSeparator is a horizontal or vertical separator widget, depending on the value of the “orientation” property, used to group the widgets within a window. It displays a line with a shadow to make it appear sunken into the interface.

CSS nodes

GtkSeparator has a single CSS node with name separator. The node gets one of the .horizontal or .vertical style classes.


Accessibility

GtkSeparator uses the GTK_ACCESSIBLE_ROLE_SEPARATOR role.

Functions

gtk_separator_new ()

GtkWidget *
gtk_separator_new (GtkOrientation orientation);

Creates a new GtkSeparator with the given orientation.

Parameters

orientation

the separator’s orientation.

 

Returns

a new GtkSeparator.

Types and Values

GtkSeparator

typedef struct _GtkSeparator GtkSeparator;
docs/reference/gtk/html/GtkTreeStore.html0000664000175000017500000021636013710700534020605 0ustar mclasenmclasen GtkTreeStore: GTK 4 Reference Manual

GtkTreeStore

GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView

Types and Values

struct GtkTreeStore

Object Hierarchy

    GObject
    ╰── GtkTreeStore

Implemented Interfaces

GtkTreeStore implements GtkTreeModel, GtkTreeDragSource, GtkTreeDragDest, GtkTreeSortable and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

The GtkTreeStore object is a list model for use with a GtkTreeView widget. It implements the GtkTreeModel interface, and consequentially, can use all of the methods available there. It also implements the GtkTreeSortable interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces.

GtkTreeStore as GtkBuildable

The GtkTreeStore implementation of the GtkBuildable interface allows to specify the model columns with a <columns> element that may contain multiple <column> elements, each specifying one model column. The “type” attribute specifies the data type for the column.

An example of a UI Definition fragment for a tree store:

1
2
3
4
5
6
7
<object class="GtkTreeStore">
  <columns>
    <column type="gchararray"/>
    <column type="gchararray"/>
    <column type="gint"/>
  </columns>
</object>

Functions

gtk_tree_store_new ()

GtkTreeStore *
gtk_tree_store_new (int n_columns,
                    ...);

Creates a new tree store as with n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported.

As an example, gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE); will create a new GtkTreeStore with three columns, of type int, gchararray, and GdkTexture respectively.

Parameters

n_columns

number of columns in the tree store

 

...

all GType types for the columns, from first to last

 

Returns

a new GtkTreeStore


gtk_tree_store_newv ()

GtkTreeStore *
gtk_tree_store_newv (int n_columns,
                     GType *types);

Non vararg creation function. Used primarily by language bindings.

[rename-to gtk_tree_store_new]

Parameters

n_columns

number of columns in the tree store

 

types

an array of GType types for the columns, from first to last.

[array length=n_columns]

Returns

a new GtkTreeStore.

[transfer full]


gtk_tree_store_set_column_types ()

void
gtk_tree_store_set_column_types (GtkTreeStore *tree_store,
                                 int n_columns,
                                 GType *types);

This function is meant primarily for GObjects that inherit from GtkTreeStore, and should only be used when constructing a new GtkTreeStore. It will not function after a row has been added, or a method on the GtkTreeModel interface is called.

Parameters

tree_store

A GtkTreeStore

 

n_columns

Number of columns for the tree store

 

types

An array of GType types, one for each column.

[array length=n_columns]

gtk_tree_store_set_value ()

void
gtk_tree_store_set_value (GtkTreeStore *tree_store,
                          GtkTreeIter *iter,
                          int column,
                          GValue *value);

Sets the data in the cell specified by iter and column . The type of value must be convertible to the type of the column.

Parameters

tree_store

a GtkTreeStore

 

iter

A valid GtkTreeIter for the row being modified

 

column

column number to modify

 

value

new value for the cell

 

gtk_tree_store_set ()

void
gtk_tree_store_set (GtkTreeStore *tree_store,
                    GtkTreeIter *iter,
                    ...);

Sets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type G_TYPE_STRING to “Foo”, you would write gtk_tree_store_set (store, iter, 0, "Foo", -1).

The value will be referenced by the store if it is a G_TYPE_OBJECT, and it will be copied if it is a G_TYPE_STRING or G_TYPE_BOXED.

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter for the row being modified

 

...

pairs of column number and value, terminated with -1

 

gtk_tree_store_set_valist ()

void
gtk_tree_store_set_valist (GtkTreeStore *tree_store,
                           GtkTreeIter *iter,
                           va_list var_args);

See gtk_tree_store_set(); this version takes a va_list for use by language bindings.

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter for the row being modified

 

var_args

va_list of column/value pairs

 

gtk_tree_store_set_valuesv ()

void
gtk_tree_store_set_valuesv (GtkTreeStore *tree_store,
                            GtkTreeIter *iter,
                            int *columns,
                            GValue *values,
                            int n_values);

A variant of gtk_tree_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings or in case the number of columns to change is not known until run-time.

[rename-to gtk_tree_store_set]

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter for the row being modified

 

columns

an array of column numbers.

[array length=n_values]

values

an array of GValues.

[array length=n_values]

n_values

the length of the columns and values arrays

 

gtk_tree_store_remove ()

gboolean
gtk_tree_store_remove (GtkTreeStore *tree_store,
                       GtkTreeIter *iter);

Removes iter from tree_store . After being removed, iter is set to the next valid row at that level, or invalidated if it previously pointed to the last one.

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter

 

Returns

TRUE if iter is still valid, FALSE if not.


gtk_tree_store_insert ()

void
gtk_tree_store_insert (GtkTreeStore *tree_store,
                       GtkTreeIter *iter,
                       GtkTreeIter *parent,
                       int position);

Creates a new row at position . If parent is non-NULL, then the row will be made a child of parent . Otherwise, the row will be created at the toplevel. If position is -1 or is larger than the number of rows at that level, then the new row will be inserted to the end of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

position

position to insert the new row, or -1 for last

 

gtk_tree_store_insert_before ()

void
gtk_tree_store_insert_before (GtkTreeStore *tree_store,
                              GtkTreeIter *iter,
                              GtkTreeIter *parent,
                              GtkTreeIter *sibling);

Inserts a new row before sibling . If sibling is NULL, then the row will be appended to parent ’s children. If parent and sibling are NULL, then the row will be appended to the toplevel. If both sibling and parent are set, then parent must be the parent of sibling . When sibling is set, parent is optional.

iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

sibling

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_tree_store_insert_after ()

void
gtk_tree_store_insert_after (GtkTreeStore *tree_store,
                             GtkTreeIter *iter,
                             GtkTreeIter *parent,
                             GtkTreeIter *sibling);

Inserts a new row after sibling . If sibling is NULL, then the row will be prepended to parent ’s children. If parent and sibling are NULL, then the row will be prepended to the toplevel. If both sibling and parent are set, then parent must be the parent of sibling . When sibling is set, parent is optional.

iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set to the new row.

[out]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

sibling

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_tree_store_insert_with_values ()

void
gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
                                   GtkTreeIter *iter,
                                   GtkTreeIter *parent,
                                   int position,
                                   ...);

Creates a new row at position . iter will be changed to point to this new row. If position is -1, or larger than the number of rows on the list, then the new row will be appended to the list. The row will be filled with the values given to this function.

Calling gtk_tree_store_insert_with_values (tree_store, iter, position, ...) has the same effect as calling

1
2
gtk_tree_store_insert (tree_store, iter, position);
gtk_tree_store_set (tree_store, iter, ...);

with the different that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and if the tree store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_tree_store_insert_with_values() should generally be preferred when inserting rows in a sorted tree store.

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set the new row, or NULL.

[out][allow-none]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

position

position to insert the new row, or -1 to append after existing rows

 

...

pairs of column number and value, terminated with -1

 

gtk_tree_store_insert_with_valuesv ()

void
gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
                                    GtkTreeIter *iter,
                                    GtkTreeIter *parent,
                                    int position,
                                    int *columns,
                                    GValue *values,
                                    int n_values);

A variant of gtk_tree_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings.

[rename-to gtk_tree_store_insert_with_values]

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set the new row, or NULL.

[out][allow-none]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

position

position to insert the new row, or -1 for last

 

columns

an array of column numbers.

[array length=n_values]

values

an array of GValues.

[array length=n_values]

n_values

the length of the columns and values arrays

 

gtk_tree_store_prepend ()

void
gtk_tree_store_prepend (GtkTreeStore *tree_store,
                        GtkTreeIter *iter,
                        GtkTreeIter *parent);

Prepends a new row to tree_store . If parent is non-NULL, then it will prepend the new row before the first child of parent , otherwise it will prepend a row to the top level. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set to the prepended row.

[out]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_tree_store_append ()

void
gtk_tree_store_append (GtkTreeStore *tree_store,
                       GtkTreeIter *iter,
                       GtkTreeIter *parent);

Appends a new row to tree_store . If parent is non-NULL, then it will append the new row after the last child of parent , otherwise it will append a row to the top level. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

Parameters

tree_store

A GtkTreeStore

 

iter

An unset GtkTreeIter to set to the appended row.

[out]

parent

A valid GtkTreeIter, or NULL.

[allow-none]

gtk_tree_store_is_ancestor ()

gboolean
gtk_tree_store_is_ancestor (GtkTreeStore *tree_store,
                            GtkTreeIter *iter,
                            GtkTreeIter *descendant);

Returns TRUE if iter is an ancestor of descendant . That is, iter is the parent (or grandparent or great-grandparent) of descendant .

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter

 

descendant

A valid GtkTreeIter

 

Returns

TRUE, if iter is an ancestor of descendant


gtk_tree_store_iter_depth ()

int
gtk_tree_store_iter_depth (GtkTreeStore *tree_store,
                           GtkTreeIter *iter);

Returns the depth of iter . This will be 0 for anything on the root level, 1 for anything down a level, etc.

Parameters

tree_store

A GtkTreeStore

 

iter

A valid GtkTreeIter

 

Returns

The depth of iter


gtk_tree_store_clear ()

void
gtk_tree_store_clear (GtkTreeStore *tree_store);

Removes all rows from tree_store

Parameters

tree_store

a GtkTreeStore

 

gtk_tree_store_iter_is_valid ()

gboolean
gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store,
                              GtkTreeIter *iter);

WARNING: This function is slow. Only use it for debugging and/or testing purposes.

Checks if the given iter is a valid iter for this GtkTreeStore.

Parameters

tree_store

A GtkTreeStore.

 

iter

A GtkTreeIter.

 

Returns

TRUE if the iter is valid, FALSE if the iter is invalid.


gtk_tree_store_reorder ()

void
gtk_tree_store_reorder (GtkTreeStore *tree_store,
                        GtkTreeIter *parent,
                        int *new_order);

Reorders the children of parent in tree_store to follow the order indicated by new_order . Note that this function only works with unsorted stores.

[skip]

Parameters

tree_store

A GtkTreeStore

 

parent

A GtkTreeIter, or NULL.

[nullable]

new_order

an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos.

[array]

gtk_tree_store_swap ()

void
gtk_tree_store_swap (GtkTreeStore *tree_store,
                     GtkTreeIter *a,
                     GtkTreeIter *b);

Swaps a and b in the same level of tree_store . Note that this function only works with unsorted stores.

Parameters

tree_store

A GtkTreeStore.

 

a

A GtkTreeIter.

 

b

Another GtkTreeIter.

 

gtk_tree_store_move_before ()

void
gtk_tree_store_move_before (GtkTreeStore *tree_store,
                            GtkTreeIter *iter,
                            GtkTreeIter *position);

Moves iter in tree_store to the position before position . iter and position should be in the same level. Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the end of the level.

Parameters

tree_store

A GtkTreeStore.

 

iter

A GtkTreeIter.

 

position

A GtkTreeIter or NULL.

[allow-none]

gtk_tree_store_move_after ()

void
gtk_tree_store_move_after (GtkTreeStore *tree_store,
                           GtkTreeIter *iter,
                           GtkTreeIter *position);

Moves iter in tree_store to the position after position . iter and position should be in the same level. Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the start of the level.

Parameters

tree_store

A GtkTreeStore.

 

iter

A GtkTreeIter.

 

position

A GtkTreeIter.

[allow-none]

Types and Values

struct GtkTreeStore

struct GtkTreeStore;

See Also

GtkTreeModel

docs/reference/gtk/html/GtkWindowGroup.html0000664000175000017500000002576113710700534021160 0ustar mclasenmclasen GtkWindowGroup: GTK 4 Reference Manual

GtkWindowGroup

GtkWindowGroup — Limit the effect of grabs

Types and Values

Object Hierarchy

    GObject
    ╰── GtkWindowGroup

Includes

#include <gtk/gtk.h>

Description

A GtkWindowGroup restricts the effect of grabs to windows in the same group, thereby making window groups almost behave like separate applications.

A window can be a member in at most one window group at a time. Windows that have not been explicitly assigned to a group are implicitly treated like windows of the default window group.

GtkWindowGroup objects are referenced by each window in the group, so once you have added all windows to a GtkWindowGroup, you can drop the initial reference to the window group with g_object_unref(). If the windows in the window group are subsequently destroyed, then they will be removed from the window group and drop their references on the window group; when all window have been removed, the window group will be freed.

Functions

gtk_window_group_new ()

GtkWindowGroup *
gtk_window_group_new (void);

Creates a new GtkWindowGroup object.

Modality of windows only affects windows within the same GtkWindowGroup.

Returns

a new GtkWindowGroup.


gtk_window_group_add_window ()

void
gtk_window_group_add_window (GtkWindowGroup *window_group,
                             GtkWindow *window);

Adds a window to a GtkWindowGroup.

Parameters

window_group

a GtkWindowGroup

 

window

the GtkWindow to add

 

gtk_window_group_remove_window ()

void
gtk_window_group_remove_window (GtkWindowGroup *window_group,
                                GtkWindow *window);

Removes a window from a GtkWindowGroup.

Parameters

window_group

a GtkWindowGroup

 

window

the GtkWindow to remove

 

gtk_window_group_list_windows ()

GList *
gtk_window_group_list_windows (GtkWindowGroup *window_group);

Returns a list of the GtkWindows that belong to window_group .

Parameters

window_group

a GtkWindowGroup

 

Returns

A newly-allocated list of windows inside the group.

[element-type GtkWindow][transfer container]

Types and Values

GtkWindowGroup

typedef struct _GtkWindowGroup GtkWindowGroup;
docs/reference/gtk/html/TreeWidgetObjects.html0000664000175000017500000005174513710700534021604 0ustar mclasenmclasen Tree, List and Icon Grid Widgets: GTK 4 Reference Manual

Tree, List and Icon Grid Widgets

Tree and List Widget Overview
Creating a model
Creating the view component
Colums and cell renderers
Selection handling
Simple Example
GtkTreeModel — The tree interface used by GtkTreeView
GtkTreeSelection — The selection object for GtkTreeView
GtkTreeViewColumn — A visible column in a GtkTreeView widget
GtkTreeView — A widget for displaying both trees and lists
GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView
GtkCellView — A widget displaying a single row of a GtkTreeModel
GtkIconView — A widget which displays a list of icons in a grid
GtkTreeSortable — The interface for sortable models used by GtkTreeView
GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable
GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model
GtkCellLayout — An interface for packing cells
GtkCellArea — An abstract class for laying out GtkCellRenderers
GtkCellAreaBox — A cell area that renders GtkCellRenderers into a row or a column
GtkCellAreaContext — Stores geometrical information for a series of rows in a GtkCellArea
GtkCellRenderer — An object for rendering a single cell
GtkCellEditable — Interface for widgets that can be used for editing cells
GtkCellRendererAccel — Renders a keyboard accelerator in a cell
GtkCellRendererCombo — Renders a combobox in a cell
GtkCellRendererPixbuf — Renders a pixbuf in a cell
GtkCellRendererProgress — Renders numbers as progress bars
GtkCellRendererSpin — Renders a spin button in a cell
GtkCellRendererText — Renders text in a cell
GtkCellRendererToggle — Renders a toggle button in a cell
GtkCellRendererSpinner — Renders a spinning animation in a cell
GtkListStore — A list-like data structure that can be used with the GtkTreeView
GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView

Tree and List Widget Overview

To create a tree or list in GTK, use the GtkTreeModel interface in conjunction with the GtkTreeView widget. This widget is designed around a Model/View/Controller design and consists of four major parts:

  • The tree view widget (GtkTreeView)

  • The view column (GtkTreeViewColumn)

  • The cell renderers (GtkCellRenderer etc.)

  • The model interface (GtkTreeModel)

The View is composed of the first three objects, while the last is the Model. One of the prime benefits of the MVC design is that multiple views can be created of a single model. For example, a model mapping the file system could be created for a file manager. Many views could be created to display various parts of the file system, but only one copy need be kept in memory.

The purpose of the cell renderers is to provide extensibility to the widget and to allow multiple ways of rendering the same type of data. For example, consider how to render a boolean variable. Should it render it as a string of True or False, On or Off, or should it be rendered as a checkbox?

Creating a model

GTK provides two simple models that can be used: the GtkListStore and the GtkTreeStore. GtkListStore is used to model list widgets, while the GtkTreeStore models trees. It is possible to develop a new type of model, but the existing models should be satisfactory for all but the most specialized of situations. Creating the model is quite

GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN);

This creates a list store with two columns: a string column and a boolean column. Typically the 2 is never passed directly like that; usually an enum is created wherein the different columns are enumerated, followed by a token that represents the total number of columns. The next example will illustrate this, only using a tree store instead of a list store. Creating a tree store operates almost exactly the same.

enum
{
   TITLE_COLUMN,
   AUTHOR_COLUMN,
   CHECKED_COLUMN,
   N_COLUMNS
};

GtkTreeStore *store = gtk_tree_store_new (N_COLUMNS,       /* Total number of columns */
                                          G_TYPE_STRING,   /* Book title              */
                                          G_TYPE_STRING,   /* Author                  */
                                          G_TYPE_BOOLEAN); /* Is checked out?         */

Adding data to the model is done using gtk_tree_store_set() or gtk_list_store_set(), depending upon which sort of model was created. To do this, a GtkTreeIter must be acquired. The iterator points to the location where data will be added.

Once an iterator has been acquired, gtk_tree_store_set() is used to apply data to the part of the model that the iterator points to. Consider the following example:

GtkTreeIter iter;

gtk_tree_store_append (store, &iter, NULL);  /* Acquire an iterator */

gtk_tree_store_set (store, &iter,
                    TITLE_COLUMN, "The Principle of Reason",
                    AUTHOR_COLUMN, "Martin Heidegger",
                    CHECKED_COLUMN, FALSE,
                    -1);

Notice that the last argument is -1. This is always done because this is a variable-argument function and it needs to know when to stop processing arguments. It can be used to set the data in any or all columns in a given row.

The third argument to gtk_tree_store_append() is the parent iterator. It is used to add a row to a GtkTreeStore as a child of an existing row. This means that the new row will only be visible when its parent is visible and in its expanded state. Consider the following example:

GtkTreeIter iter1;  /* Parent iter */
GtkTreeIter iter2;  /* Child iter  */

gtk_tree_store_append (store, &iter1, NULL);  /* Acquire a top-level iterator */
gtk_tree_store_set (store, &iter1,
                    TITLE_COLUMN, "The Art of Computer Programming",
                    AUTHOR_COLUMN, "Donald E. Knuth",
                    CHECKED_COLUMN, FALSE,
                    -1);

gtk_tree_store_append (store, &iter2, &iter1);  /* Acquire a child iterator */
gtk_tree_store_set (store, &iter2,
                    TITLE_COLUMN, "Volume 1: Fundamental Algorithms",
                    -1);

gtk_tree_store_append (store, &iter2, &iter1);
gtk_tree_store_set (store, &iter2,
                    TITLE_COLUMN, "Volume 2: Seminumerical Algorithms",
                    -1);

gtk_tree_store_append (store, &iter2, &iter1);
gtk_tree_store_set (store, &iter2,
                    TITLE_COLUMN, "Volume 3: Sorting and Searching",
                    -1);

Creating the view component

While there are several different models to choose from, there is only one view widget to deal with. It works with either the list or the tree store. Setting up a GtkTreeView is not a difficult matter. It needs a GtkTreeModel to know where to retrieve its data from.

GtkWidget *tree;

tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));

Colums and cell renderers

Once the GtkTreeView widget has a model, it will need to know how to display the model. It does this with columns and cell renderers.

Cell renderers are used to draw the data in the tree model in a way. There are a number of cell renderers that come with GTK, including the GtkCellRendererText, GtkCellRendererPixbuf and the GtkCellRendererToggle. It is relatively easy to write a custom renderer.

A GtkTreeViewColumn is the object that GtkTreeView uses to organize the vertical columns in the tree view. It needs to know the name of the column to label for the user, what type of cell renderer to use, and which piece of data to retrieve from the model for a given row.

GtkCellRenderer *renderer;
GtkTreeViewColumn *column;

renderer = gtk_cell_renderer_text_new (<!-- -->);
column = gtk_tree_view_column_new_with_attributes ("Author",
                                                   renderer,
                                                   "text", AUTHOR_COLUMN,
                                                   NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);

At this point, all the steps in creating a displayable tree have been covered. The model is created, data is stored in it, a tree view is created and columns are added to it.

Selection handling

Most applications will need to not only deal with displaying data, but also receiving input events from users. To do this, simply get a reference to a selection object and connect to the “changed” signal.

/* Prototype for selection handler callback */
static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data);

/* Setup the selection handler */
GtkTreeSelection *select;

select = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree));
gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE);
g_signal_connect (G_OBJECT (select), "changed",
                  G_CALLBACK (tree_selection_changed_cb),
                  NULL);

Then to retrieve data for the row selected:

static void
tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data)
{
  GtkTreeIter iter;
  GtkTreeModel *model;
  char *author;

  if (gtk_tree_selection_get_selected (selection, &model, &iter))
    {
      gtk_tree_model_get (model, &iter, AUTHOR_COLUMN, &author, -1);

      g_print ("You selected a book by s\n", author);

      g_free (author);
    }
}

Simple Example

Here is a simple example of using a GtkTreeView widget in context of the other widgets. It simply creates a simple model and view, and puts them together. Note that the model is never populated with data — that is left as an exercise for the reader. More information can be found on this in the GtkTreeModel section.

enum
{
   TITLE_COLUMN,
   AUTHOR_COLUMN,
   CHECKED_COLUMN,
   N_COLUMNS
};

void
setup_tree (void)
{
   GtkTreeStore *store;
   GtkWidget *tree;
   GtkTreeViewColumn *column;
   GtkCellRenderer *renderer;

   /* Create a model.  We are using the store model for now, though we
    * could use any other GtkTreeModel */
   store = gtk_tree_store_new (N_COLUMNS,
                               G_TYPE_STRING,
                               G_TYPE_STRING,
                               G_TYPE_BOOLEAN);

   /* custom function to fill the model with data */
   populate_tree_model (store);

   /* Create a view */
   tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));

   /* The view now holds a reference.  We can get rid of our own
    * reference */
   g_object_unref (G_OBJECT (store));

   /* Create a cell render and arbitrarily make it red for demonstration
    * purposes */
   renderer = gtk_cell_renderer_text_new (<!-- -->);
   g_object_set (G_OBJECT (renderer),
                 "foreground", "red",
                 NULL);

   /* Create a column, associating the "text" attribute of the
    * cell_renderer to the first column of the model */
   column = gtk_tree_view_column_new_with_attributes ("Author", renderer,
                                                      "text", AUTHOR_COLUMN,
                                                      NULL);

   /* Add the column to the view. */
   gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);

   /* Second column.. title of the book. */
   renderer = gtk_cell_renderer_text_new (<!-- -->);
   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                      renderer,
                                                      "text", TITLE_COLUMN,
                                                      NULL);
   gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);

   /* Last column.. whether a book is checked out. */
   renderer = gtk_cell_renderer_toggle_new (<!-- -->);
   column = gtk_tree_view_column_new_with_attributes ("Checked out",
                                                      renderer,
                                                      "active", CHECKED_COLUMN,
                                                      NULL);
   gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);

   /* Now we can manipulate the view just like any other GTK widget */
   ...
}
docs/reference/gtk/html/ch05s05.html0000664000175000017500000000716513710700534017313 0ustar mclasenmclasen Gesture states: GTK 4 Reference Manual

Gesture states

Gestures have a notion of state for each individual touch sequence. When events from a touch sequence are first received, the touch sequence will have none state, this means the touch sequence is being handled by the gesture to possibly trigger actions, but the event propagation will not be stopped.

When the gesture enters recognition, or at a later point in time, the widget may choose to claim the touch sequences (individually or as a group), hence stopping event propagation after the event is run through every gesture in that widget and propagation phase. Anytime this happens, the touch sequences are cancelled downwards the propagation chain, to let these know that no further events will be sent.

Alternatively, or at a later point in time, the widget may choose to deny the touch sequences, thus letting those go through again in event propagation. When this happens in the capture phase, and if there are no other claiming gestures in the widget, a GDK_TOUCH_BEGIN/GDK_BUTTON_PRESS event will be emulated and propagated downwards, in order to preserve consistency.

Grouped gestures always share the same state for a given touch sequence, so setting the state on one does transfer the state to the others. They also are mutually exclusive, within a widget where may be only one gesture group claiming a given sequence. If another gesture group claims later that same sequence, the first group will deny the sequence:

docs/reference/gtk/html/GtkPopoverMenu.html0000664000175000017500000006371213710700534021151 0ustar mclasenmclasen GtkPopoverMenu: GTK 4 Reference Manual

GtkPopoverMenu

GtkPopoverMenu — Popovers to use as menus

Properties

GMenuModel * menu-model Read / Write
gchar * visible-submenu Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPopover
                ╰── GtkPopoverMenu

Implemented Interfaces

GtkPopoverMenu implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative.

Includes

#include <gtk/gtk.h>

Description

GtkPopoverMenu is a subclass of GtkPopover that treats its children like menus and allows switching between them. It can open submenus as traditional, nested submenus, or in a more touch-friendly sliding fashion.

GtkPopoverMenu is meant to be used primarily with menu models, using gtk_popover_menu_new_from_model(). If you need to put other widgets such as GtkSpinButton or GtkSwitch into a popover, use a plain GtkPopover.

Menu models

The XML format understood by GtkBuilder for GMenuModel consists of a toplevel <menu> element, which contains one or more <item> elements. Each <item> element contains <attribute> and <link> elements with a mandatory name attribute. <link> elements have the same content model as <menu>. Instead of <link name="submenu> or <link name="section">, you can use <submenu> or <section> elements.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<menu id='app-menu'>
  <section>
    <item>
      <attribute name='label' translatable='yes'>_New Window</attribute>
      <attribute name='action'>app.new</attribute>
    </item>
    <item>
      <attribute name='label' translatable='yes'>_About Sunny</attribute>
      <attribute name='action'>app.about</attribute>
    </item>
    <item>
      <attribute name='label' translatable='yes'>_Quit</attribute>
      <attribute name='action'>app.quit</attribute>
    </item>
  </section>
</menu>

Attribute values can be translated using gettext, like other GtkBuilder content. <attribute> elements can be marked for translation with a translatable="yes" attribute. It is also possible to specify message context and translator comments, using the context and comments attributes. To make use of this, the GtkBuilder must have been given the gettext domain to use.

The following attributes are used when constructing menu items:

  • "label": a user-visible string to display

  • "action": the prefixed name of the action to trigger

  • "target": the parameter to use when activating the action

  • "icon" and "verb-icon": names of icons that may be displayed

  • "submenu-action": name of an action that may be used to determine if a submenu can be opened

  • "hidden-when": a string used to determine when the item will be hidden. Possible values include "action-disabled", "action-missing", "macos-menubar". This is mainly useful for exported menus, see gtk_application_set_menubar().

The following attributes are used when constructing sections:

  • "label": a user-visible string to use as section heading

  • "display-hint": a string used to determine special formatting for the section. Possible values include "horizontal-buttons", "circular-buttons" and "inline-buttons". They all indicate that section should be displayed as a horizontal row of buttons.

  • "text-direction": a string used to determine the GtkTextDirection to use when "display-hint" is set to "horizontal-buttons". Possible values include "rtl", "ltr", and "none".

The following attributes are used when constructing submenus:

  • "label": a user-visible string to display

  • "icon": icon name to display

Menu items will also show accelerators, which are usually associated with actions via gtk_application_set_accels_for_action(), gtk_widget_class_add_binding_action() or gtk_shortcut_controller_add_shortcut().

CSS Nodes

GtkPopoverMenu is just a subclass of GtkPopover that adds custom content to it, therefore it has the same CSS nodes. It is one of the cases that add a .menu style class to the popover's main node.

Functions

gtk_popover_menu_new_from_model ()

GtkWidget *
gtk_popover_menu_new_from_model (GMenuModel *model);

Creates a GtkPopoverMenu and populates it according to model .

The created buttons are connected to actions found in the GtkApplicationWindow to which the popover belongs - typically by means of being attached to a widget that is contained within the GtkApplicationWindows widget hierarchy.

Actions can also be added using gtk_widget_insert_action_group() on the menus attach widget or on any of its parent widgets.

This function creates menus with sliding submenus. See gtk_popover_menu_new_from_model_full() for a way to control this.

Parameters

model

a GMenuModel, or NULL.

[allow-none]

Returns

the new GtkPopoverMenu


gtk_popover_menu_new_from_model_full ()

GtkWidget *
gtk_popover_menu_new_from_model_full (GMenuModel *model,
                                      GtkPopoverMenuFlags flags);

Creates a GtkPopoverMenu and populates it according to model .

The created buttons are connected to actions found in the action groups that are accessible from the parent widget. This includes the GtkApplicationWindow to which the popover belongs. Actions can also be added using gtk_widget_insert_action_group() on the parent widget or on any of its parent widgets.

The only flag that is supported currently is GTK_POPOVER_MENU_NESTED, which makes GTK create traditional, nested submenus instead of the default sliding submenus.

Parameters

model

a GMenuModel

 

flags

flags that affect how the menu is created

 

Returns

the new GtkPopoverMenu.

[transfer full]


gtk_popover_menu_set_menu_model ()

void
gtk_popover_menu_set_menu_model (GtkPopoverMenu *popover,
                                 GMenuModel *model);

Sets a new menu model on popover .

The existing contents of popover are removed, and the popover is populated with new contents according to model .

Parameters

popover

a GtkPopoverMenu

 

model

a GMenuModel, or NULL.

[nullable]

gtk_popover_menu_get_menu_model ()

GMenuModel *
gtk_popover_menu_get_menu_model (GtkPopoverMenu *popover);

Returns the menu model used to populate the popover.

Parameters

popover

a GtkPopoverMenu

 

Returns

the menu model of popover .

[transfer none]

Types and Values

GtkPopoverMenu

typedef struct _GtkPopoverMenu GtkPopoverMenu;

enum GtkPopoverMenuFlags

Flags that affect how popover menus are created from a menu model.

Members

GTK_POPOVER_MENU_NESTED

Create submenus as nested popovers. Without this flag, submenus are created as sliding pages that replace the main menu.

 

Property Details

The “menu-model” property

  “menu-model”               GMenuModel *

The model from which the menu is made.

Owner: GtkPopoverMenu

Flags: Read / Write


The “visible-submenu” property

  “visible-submenu”          gchar *

The name of the visible submenu.

Owner: GtkPopoverMenu

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/GtkPopoverMenuBar.html0000664000175000017500000003112513710700534021567 0ustar mclasenmclasen GtkPopoverMenuBar: GTK 4 Reference Manual

GtkPopoverMenuBar

GtkPopoverMenuBar — A menu bar with popovers

Properties

GMenuModel * menu-model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPopoverMenuBar

Implemented Interfaces

GtkPopoverMenuBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkPopoverMenuBar presents a horizontal bar of items that pop up popover menus when clicked.

The only way to create instances of GtkPopoverMenuBar is from a GMenuModel.

CSS nodes

1
2
3
4
5
menubar
├── item[.active]
   ╰── popover
╰── item
    ╰── popover

GtkPopoverMenuBar has a single CSS node with name menubar, below which each item has its CSS node, and below that the corresponding popover.

The item whose popover is currently open gets the .active style class.

Functions

gtk_popover_menu_bar_new_from_model ()

GtkWidget *
gtk_popover_menu_bar_new_from_model (GMenuModel *model);

Creates a GtkPopoverMenuBar from a GMenuModel.

Parameters

model

a GMenuModel, or NULL.

[allow-none]

Returns

a new GtkPopoverMenuBar


gtk_popover_menu_bar_set_menu_model ()

void
gtk_popover_menu_bar_set_menu_model (GtkPopoverMenuBar *bar,
                                     GMenuModel *model);

Sets a menu model from which bar should take its contents.

Parameters

bar

a GtkPopoverMenuBar

 

model

a GMenuModel, or NULL.

[allow-none]

gtk_popover_menu_bar_get_menu_model ()

GMenuModel *
gtk_popover_menu_bar_get_menu_model (GtkPopoverMenuBar *bar);

Returns the model from which the contents of bar are taken.

Parameters

Returns

a GMenuModel.

[transfer none]

Types and Values

GtkPopoverMenuBar

typedef struct _GtkPopoverMenuBar GtkPopoverMenuBar;

Property Details

The “menu-model” property

  “menu-model”               GMenuModel *

The GMenuModel from which the menu bar is created.

The model should only contain submenus as toplevel elements.

Owner: GtkPopoverMenuBar

Flags: Read / Write

See Also

GtkPopover, GtkPopoverMenu, GMenuModel

docs/reference/gtk/html/GtkSelectionFilterModel.html0000664000175000017500000003215713710700534022745 0ustar mclasenmclasen GtkSelectionFilterModel: GTK 4 Reference Manual

GtkSelectionFilterModel

GtkSelectionFilterModel — A list model that turns a selection in a model

Properties

GtkSelectionModel * model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSelectionFilterModel

Implemented Interfaces

GtkSelectionFilterModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkSelectionFilterModel is a list model that presents the selected items in a GtkSelectionModel as its own list model.

Functions

gtk_selection_filter_model_new ()

GtkSelectionFilterModel *
gtk_selection_filter_model_new (GtkSelectionModel *model);

Creates a new GtkSelectionFilterModel that will include the selected items from the underlying selection model.

Parameters

model

the selection model to filter, or NULL.

[allow-none][transfer none]

Returns

a new GtkSelectionFilterModel


gtk_selection_filter_model_new_for_type ()

GtkSelectionFilterModel *
gtk_selection_filter_model_new_for_type
                               (GType item_type);

gtk_selection_filter_model_set_model ()

void
gtk_selection_filter_model_set_model (GtkSelectionFilterModel *self,
                                      GtkSelectionModel *model);

Sets the model to be filtered.

Note that GTK makes no effort to ensure that model conforms to the item type of self . It assumes that the caller knows what they are doing and have set up an appropriate filter to ensure that item types match.

Parameters

self

a GtkSelectionFilterModel

 

model

The model to be filtered.

[allow-none]

gtk_selection_filter_model_get_model ()

GtkSelectionModel *
gtk_selection_filter_model_get_model (GtkSelectionFilterModel *self);

Gets the model currently filtered or NULL if none.

Parameters

Returns

The model that gets filtered.

[nullable][transfer none]

Types and Values

GtkSelectionFilterModel

typedef struct _GtkSelectionFilterModel GtkSelectionFilterModel;

Property Details

The “model” property

  “model”                    GtkSelectionModel *

The model being filtered

Owner: GtkSelectionFilterModel

Flags: Read / Write

docs/reference/gtk/html/GtkTreeView.html0000664000175000017500000107255313710700534020430 0ustar mclasenmclasen GtkTreeView: GTK 4 Reference Manual

GtkTreeView

GtkTreeView — A widget for displaying both trees and lists

Functions

gboolean (*GtkTreeViewColumnDropFunc) ()
void (*GtkTreeViewMappingFunc) ()
gboolean (*GtkTreeViewSearchEqualFunc) ()
GtkWidget * gtk_tree_view_new ()
int gtk_tree_view_get_level_indentation ()
gboolean gtk_tree_view_get_show_expanders ()
void gtk_tree_view_set_level_indentation ()
void gtk_tree_view_set_show_expanders ()
GtkWidget * gtk_tree_view_new_with_model ()
GtkTreeModel * gtk_tree_view_get_model ()
void gtk_tree_view_set_model ()
GtkTreeSelection * gtk_tree_view_get_selection ()
gboolean gtk_tree_view_get_headers_visible ()
void gtk_tree_view_set_headers_visible ()
void gtk_tree_view_columns_autosize ()
gboolean gtk_tree_view_get_headers_clickable ()
void gtk_tree_view_set_headers_clickable ()
void gtk_tree_view_set_activate_on_single_click ()
gboolean gtk_tree_view_get_activate_on_single_click ()
int gtk_tree_view_append_column ()
int gtk_tree_view_remove_column ()
int gtk_tree_view_insert_column ()
int gtk_tree_view_insert_column_with_attributes ()
int gtk_tree_view_insert_column_with_data_func ()
guint gtk_tree_view_get_n_columns ()
GtkTreeViewColumn * gtk_tree_view_get_column ()
GList * gtk_tree_view_get_columns ()
void gtk_tree_view_move_column_after ()
void gtk_tree_view_set_expander_column ()
GtkTreeViewColumn * gtk_tree_view_get_expander_column ()
void gtk_tree_view_set_column_drag_function ()
void gtk_tree_view_scroll_to_point ()
void gtk_tree_view_scroll_to_cell ()
void gtk_tree_view_set_cursor ()
void gtk_tree_view_set_cursor_on_cell ()
void gtk_tree_view_get_cursor ()
void gtk_tree_view_row_activated ()
void gtk_tree_view_expand_all ()
void gtk_tree_view_collapse_all ()
void gtk_tree_view_expand_to_path ()
gboolean gtk_tree_view_expand_row ()
gboolean gtk_tree_view_collapse_row ()
void gtk_tree_view_map_expanded_rows ()
gboolean gtk_tree_view_row_expanded ()
void gtk_tree_view_set_reorderable ()
gboolean gtk_tree_view_get_reorderable ()
gboolean gtk_tree_view_get_path_at_pos ()
gboolean gtk_tree_view_is_blank_at_pos ()
void gtk_tree_view_get_cell_area ()
void gtk_tree_view_get_background_area ()
void gtk_tree_view_get_visible_rect ()
gboolean gtk_tree_view_get_visible_range ()
void gtk_tree_view_convert_bin_window_to_tree_coords ()
void gtk_tree_view_convert_bin_window_to_widget_coords ()
void gtk_tree_view_convert_tree_to_bin_window_coords ()
void gtk_tree_view_convert_tree_to_widget_coords ()
void gtk_tree_view_convert_widget_to_bin_window_coords ()
void gtk_tree_view_convert_widget_to_tree_coords ()
void gtk_tree_view_enable_model_drag_dest ()
void gtk_tree_view_enable_model_drag_source ()
void gtk_tree_view_unset_rows_drag_source ()
void gtk_tree_view_unset_rows_drag_dest ()
void gtk_tree_view_set_drag_dest_row ()
void gtk_tree_view_get_drag_dest_row ()
gboolean gtk_tree_view_get_dest_row_at_pos ()
GdkPaintable * gtk_tree_view_create_row_drag_icon ()
void gtk_tree_view_set_enable_search ()
gboolean gtk_tree_view_get_enable_search ()
int gtk_tree_view_get_search_column ()
void gtk_tree_view_set_search_column ()
GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func ()
void gtk_tree_view_set_search_equal_func ()
GtkEditable * gtk_tree_view_get_search_entry ()
void gtk_tree_view_set_search_entry ()
gboolean gtk_tree_view_get_fixed_height_mode ()
void gtk_tree_view_set_fixed_height_mode ()
gboolean gtk_tree_view_get_hover_selection ()
void gtk_tree_view_set_hover_selection ()
gboolean gtk_tree_view_get_hover_expand ()
void gtk_tree_view_set_hover_expand ()
gboolean (*GtkTreeViewRowSeparatorFunc) ()
GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func ()
void gtk_tree_view_set_row_separator_func ()
gboolean gtk_tree_view_get_rubber_banding ()
void gtk_tree_view_set_rubber_banding ()
gboolean gtk_tree_view_is_rubber_banding_active ()
gboolean gtk_tree_view_get_enable_tree_lines ()
void gtk_tree_view_set_enable_tree_lines ()
GtkTreeViewGridLines gtk_tree_view_get_grid_lines ()
void gtk_tree_view_set_grid_lines ()
void gtk_tree_view_set_tooltip_row ()
void gtk_tree_view_set_tooltip_cell ()
gboolean gtk_tree_view_get_tooltip_context ()
int gtk_tree_view_get_tooltip_column ()
void gtk_tree_view_set_tooltip_column ()

Properties

gboolean activate-on-single-click Read / Write
GtkTreeViewGridLines enable-grid-lines Read / Write
gboolean enable-search Read / Write
gboolean enable-tree-lines Read / Write
GtkTreeViewColumn * expander-column Read / Write
gboolean fixed-height-mode Read / Write
gboolean headers-clickable Read / Write
gboolean headers-visible Read / Write
gboolean hover-expand Read / Write
gboolean hover-selection Read / Write
gint level-indentation Read / Write
GtkTreeModel * model Read / Write
gboolean reorderable Read / Write
gboolean rubber-banding Read / Write
gint search-column Read / Write
gboolean show-expanders Read / Write
gint tooltip-column Read / Write

Signals

void columns-changed Run Last
void cursor-changed Run Last
gboolean expand-collapse-cursor-row Action
gboolean move-cursor Action
void row-activated Action
void row-collapsed Run Last
void row-expanded Run Last
gboolean select-all Action
gboolean select-cursor-parent Action
gboolean select-cursor-row Action
gboolean start-interactive-search Action
gboolean test-collapse-row Run Last
gboolean test-expand-row Run Last
gboolean toggle-cursor-row Action
gboolean unselect-all Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkTreeView

Implemented Interfaces

GtkTreeView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

Widget that displays any object that implements the GtkTreeModel interface.

Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together.

Several different coordinate systems are exposed in the GtkTreeView API. These are:

Coordinate systems in GtkTreeView API:

  • Widget coordinates: Coordinates relative to the widget (usually widget->window).

  • Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.

  • Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These coordinates start at (0, 0) for row 0 of the tree.

Several functions are available for converting between the different coordinate systems. The most common translations are between widget and bin window coordinates and between bin window and tree coordinates. For the former you can use gtk_tree_view_convert_widget_to_bin_window_coords() (and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords() (and vice versa).

GtkTreeView as GtkBuildable

The GtkTreeView implementation of the GtkBuildable interface accepts GtkTreeViewColumn objects as <child> elements and exposes the internal GtkTreeSelection in UI definitions.

An example of a UI definition fragment with GtkTreeView:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<object class="GtkTreeView" id="treeview">
  <property name="model">liststore1</property>
  <child>
    <object class="GtkTreeViewColumn" id="test-column">
      <property name="title">Test</property>
      <child>
        <object class="GtkCellRendererText" id="test-renderer"/>
        <attributes>
          <attribute name="text">1</attribute>
        </attributes>
      </child>
    </object>
  </child>
  <child internal-child="selection">
    <object class="GtkTreeSelection" id="selection">
      <signal name="changed" handler="on_treeview_selection_changed"/>
    </object>
  </child>
</object>


CSS nodes

1
2
3
4
5
6
7
8
treeview.view
├── header
   ├── <column header>
   
   ╰── <column header>

├── [rubberband]
╰── [dndtarget]

GtkTreeView has a main CSS node with name treeview and style class .view. It has a subnode with name header, which is the parent for all the column header widgets' CSS nodes.

For rubberband selection, a subnode with name rubberband is used.

For the drop target location during DND, a subnode with name dndtarget is used.

Functions

GtkTreeViewColumnDropFunc ()

gboolean
(*GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view,
                              GtkTreeViewColumn *column,
                              GtkTreeViewColumn *prev_column,
                              GtkTreeViewColumn *next_column,
                              gpointer data);

Function type for determining whether column can be dropped in a particular spot (as determined by prev_column and next_column ). In left to right locales, prev_column is on the left of the potential drop spot, and next_column is on the right. In right to left mode, this is reversed. This function should return TRUE if the spot is a valid drop spot. Please note that returning TRUE does not actually indicate that the column drop was made, but is meant only to indicate a possible drop spot to the user.

Parameters

tree_view

A GtkTreeView

 

column

The GtkTreeViewColumn being dragged

 

prev_column

A GtkTreeViewColumn on one side of column

 

next_column

A GtkTreeViewColumn on the other side of column

 

data

user data.

[closure]

Returns

TRUE, if column can be dropped in this spot


GtkTreeViewMappingFunc ()

void
(*GtkTreeViewMappingFunc) (GtkTreeView *tree_view,
                           GtkTreePath *path,
                           gpointer user_data);

Function used for gtk_tree_view_map_expanded_rows().

Parameters

tree_view

A GtkTreeView

 

path

The path that’s expanded

 

user_data

user data

 

GtkTreeViewSearchEqualFunc ()

gboolean
(*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model,
                               int column,
                               const char *key,
                               GtkTreeIter *iter,
                               gpointer search_data);

A function used for checking whether a row in model matches a search key string entered by the user. Note the return value is reversed from what you would normally expect, though it has some similarity to strcmp() returning 0 for equal strings.

Parameters

model

the GtkTreeModel being searched

 

column

the search column set by gtk_tree_view_set_search_column()

 

key

the key string to compare with

 

iter

a GtkTreeIter pointing the row of model that should be compared with key .

 

search_data

user data from gtk_tree_view_set_search_equal_func().

[closure]

Returns

FALSE if the row matches, TRUE otherwise.


gtk_tree_view_new ()

GtkWidget *
gtk_tree_view_new (void);

Creates a new GtkTreeView widget.

Returns

A newly created GtkTreeView widget.


gtk_tree_view_get_level_indentation ()

int
gtk_tree_view_get_level_indentation (GtkTreeView *tree_view);

Returns the amount, in pixels, of extra indentation for child levels in tree_view .

Parameters

tree_view

a GtkTreeView.

 

Returns

the amount of extra indentation for child levels in tree_view . A return value of 0 means that this feature is disabled.


gtk_tree_view_get_show_expanders ()

gboolean
gtk_tree_view_get_show_expanders (GtkTreeView *tree_view);

Returns whether or not expanders are drawn in tree_view .

Parameters

tree_view

a GtkTreeView.

 

Returns

TRUE if expanders are drawn in tree_view , FALSE otherwise.


gtk_tree_view_set_level_indentation ()

void
gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,
                                     int indentation);

Sets the amount of extra indentation for child levels to use in tree_view in addition to the default indentation. The value should be specified in pixels, a value of 0 disables this feature and in this case only the default indentation will be used. This does not have any visible effects for lists.

Parameters

tree_view

a GtkTreeView

 

indentation

the amount, in pixels, of extra indentation in tree_view .

 

gtk_tree_view_set_show_expanders ()

void
gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,
                                  gboolean enabled);

Sets whether to draw and enable expanders and indent child rows in tree_view . When disabled there will be no expanders visible in trees and there will be no way to expand and collapse rows by default. Also note that hiding the expanders will disable the default indentation. You can set a custom indentation in this case using gtk_tree_view_set_level_indentation(). This does not have any visible effects for lists.

Parameters

tree_view

a GtkTreeView

 

enabled

TRUE to enable expander drawing, FALSE otherwise.

 

gtk_tree_view_new_with_model ()

GtkWidget *
gtk_tree_view_new_with_model (GtkTreeModel *model);

Creates a new GtkTreeView widget with the model initialized to model .

Parameters

model

the model.

 

Returns

A newly created GtkTreeView widget.


gtk_tree_view_get_model ()

GtkTreeModel *
gtk_tree_view_get_model (GtkTreeView *tree_view);

Returns the model the GtkTreeView is based on. Returns NULL if the model is unset.

Parameters

tree_view

a GtkTreeView

 

Returns

A GtkTreeModel, or NULL if none is currently being used.

[transfer none][nullable]


gtk_tree_view_set_model ()

void
gtk_tree_view_set_model (GtkTreeView *tree_view,
                         GtkTreeModel *model);

Sets the model for a GtkTreeView. If the tree_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model.

Parameters

tree_view

A GtkTreeView.

 

model

The model.

[allow-none]

gtk_tree_view_get_selection ()

GtkTreeSelection *
gtk_tree_view_get_selection (GtkTreeView *tree_view);

Gets the GtkTreeSelection associated with tree_view .

Parameters

tree_view

A GtkTreeView.

 

Returns

A GtkTreeSelection object.

[transfer none]


gtk_tree_view_get_headers_visible ()

gboolean
gtk_tree_view_get_headers_visible (GtkTreeView *tree_view);

Returns TRUE if the headers on the tree_view are visible.

Parameters

tree_view

A GtkTreeView.

 

Returns

Whether the headers are visible or not.


gtk_tree_view_set_headers_visible ()

void
gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
                                   gboolean headers_visible);

Sets the visibility state of the headers.

Parameters

tree_view

A GtkTreeView.

 

headers_visible

TRUE if the headers are visible

 

gtk_tree_view_columns_autosize ()

void
gtk_tree_view_columns_autosize (GtkTreeView *tree_view);

Resizes all columns to their optimal width. Only works after the treeview has been realized.

Parameters

tree_view

A GtkTreeView.

 

gtk_tree_view_get_headers_clickable ()

gboolean
gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view);

Returns whether all header columns are clickable.

Parameters

tree_view

A GtkTreeView.

 

Returns

TRUE if all header columns are clickable, otherwise FALSE


gtk_tree_view_set_headers_clickable ()

void
gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
                                     gboolean setting);

Allow the column title buttons to be clicked.

Parameters

tree_view

A GtkTreeView.

 

setting

TRUE if the columns are clickable.

 

gtk_tree_view_set_activate_on_single_click ()

void
gtk_tree_view_set_activate_on_single_click
                               (GtkTreeView *tree_view,
                                gboolean single);

Cause the “row-activated” signal to be emitted on a single click instead of a double click.

Parameters

tree_view

a GtkTreeView

 

single

TRUE to emit row-activated on a single click

 

gtk_tree_view_get_activate_on_single_click ()

gboolean
gtk_tree_view_get_activate_on_single_click
                               (GtkTreeView *tree_view);

Gets the setting set by gtk_tree_view_set_activate_on_single_click().

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if row-activated will be emitted on a single click


gtk_tree_view_append_column ()

int
gtk_tree_view_append_column (GtkTreeView *tree_view,
                             GtkTreeViewColumn *column);

Appends column to the list of columns. If tree_view has “fixed_height” mode enabled, then column must have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters

tree_view

A GtkTreeView.

 

column

The GtkTreeViewColumn to add.

 

Returns

The number of columns in tree_view after appending.


gtk_tree_view_remove_column ()

int
gtk_tree_view_remove_column (GtkTreeView *tree_view,
                             GtkTreeViewColumn *column);

Removes column from tree_view .

Parameters

tree_view

A GtkTreeView.

 

column

The GtkTreeViewColumn to remove.

 

Returns

The number of columns in tree_view after removing.


gtk_tree_view_insert_column ()

int
gtk_tree_view_insert_column (GtkTreeView *tree_view,
                             GtkTreeViewColumn *column,
                             int position);

This inserts the column into the tree_view at position . If position is -1, then the column is inserted at the end. If tree_view has “fixed_height” mode enabled, then column must have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters

tree_view

A GtkTreeView.

 

column

The GtkTreeViewColumn to be inserted.

 

position

The position to insert column in.

 

Returns

The number of columns in tree_view after insertion.


gtk_tree_view_insert_column_with_attributes ()

int
gtk_tree_view_insert_column_with_attributes
                               (GtkTreeView *tree_view,
                                int position,
                                const char *title,
                                GtkCellRenderer *cell,
                                ...);

Creates a new GtkTreeViewColumn and inserts it into the tree_view at position . If position is -1, then the newly created column is inserted at the end. The column is initialized with the attributes given. If tree_view has “fixed_height” mode enabled, then the new column will have its sizing property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters

tree_view

A GtkTreeView

 

position

The position to insert the new column in

 

title

The title to set the header to

 

cell

The GtkCellRenderer

 

...

A NULL-terminated list of attributes

 

Returns

The number of columns in tree_view after insertion.


gtk_tree_view_insert_column_with_data_func ()

int
gtk_tree_view_insert_column_with_data_func
                               (GtkTreeView *tree_view,
                                int position,
                                const char *title,
                                GtkCellRenderer *cell,
                                GtkTreeCellDataFunc func,
                                gpointer data,
                                GDestroyNotify dnotify);

Convenience function that inserts a new column into the GtkTreeView with the given cell renderer and a GtkTreeCellDataFunc to set cell renderer attributes (normally using data from the model). See also gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). If tree_view has “fixed_height” mode enabled, then the new column will have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters

tree_view

a GtkTreeView

 

position

Position to insert, -1 for append

 

title

column title

 

cell

cell renderer for column

 

func

function to set attributes of cell renderer

 

data

data for func

 

dnotify

destroy notifier for data

 

Returns

number of columns in the tree view post-insert


gtk_tree_view_get_n_columns ()

guint
gtk_tree_view_get_n_columns (GtkTreeView *tree_view);

Queries the number of columns in the given tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

The number of columns in the tree_view


gtk_tree_view_get_column ()

GtkTreeViewColumn *
gtk_tree_view_get_column (GtkTreeView *tree_view,
                          int n);

Gets the GtkTreeViewColumn at the given position in the tree_view.

Parameters

tree_view

A GtkTreeView.

 

n

The position of the column, counting from 0.

 

Returns

The GtkTreeViewColumn, or NULL if the position is outside the range of columns.

[nullable][transfer none]


gtk_tree_view_get_columns ()

GList *
gtk_tree_view_get_columns (GtkTreeView *tree_view);

Returns a GList of all the GtkTreeViewColumn s currently in tree_view . The returned list must be freed with g_list_free().

Parameters

tree_view

A GtkTreeView

 

Returns

A list of GtkTreeViewColumn s.

[element-type GtkTreeViewColumn][transfer container]


gtk_tree_view_move_column_after ()

void
gtk_tree_view_move_column_after (GtkTreeView *tree_view,
                                 GtkTreeViewColumn *column,
                                 GtkTreeViewColumn *base_column);

Moves column to be after to base_column . If base_column is NULL, then column is placed in the first position.

Parameters

tree_view

A GtkTreeView

 

column

The GtkTreeViewColumn to be moved.

 

base_column

The GtkTreeViewColumn to be moved relative to, or NULL.

[allow-none]

gtk_tree_view_set_expander_column ()

void
gtk_tree_view_set_expander_column (GtkTreeView *tree_view,
                                   GtkTreeViewColumn *column);

Sets the column to draw the expander arrow at. It must be in tree_view . If column is NULL, then the expander arrow is always at the first visible column.

If you do not want expander arrow to appear in your tree, set the expander column to a hidden column.

Parameters

tree_view

A GtkTreeView

 

column

NULL, or the column to draw the expander arrow at.

[nullable]

gtk_tree_view_get_expander_column ()

GtkTreeViewColumn *
gtk_tree_view_get_expander_column (GtkTreeView *tree_view);

Returns the column that is the current expander column. This column has the expander arrow drawn next to it.

Parameters

tree_view

A GtkTreeView

 

Returns

The expander column.

[transfer none]


gtk_tree_view_set_column_drag_function ()

void
gtk_tree_view_set_column_drag_function
                               (GtkTreeView *tree_view,
                                GtkTreeViewColumnDropFunc func,
                                gpointer user_data,
                                GDestroyNotify destroy);

Sets a user function for determining where a column may be dropped when dragged. This function is called on every column pair in turn at the beginning of a column drag to determine where a drop can take place. The arguments passed to func are: the tree_view , the GtkTreeViewColumn being dragged, the two GtkTreeViewColumn s determining the drop spot, and user_data . If either of the GtkTreeViewColumn arguments for the drop spot are NULL, then they indicate an edge. If func is set to be NULL, then tree_view reverts to the default behavior of allowing all columns to be dropped everywhere.

Parameters

tree_view

A GtkTreeView.

 

func

A function to determine which columns are reorderable, or NULL.

[allow-none]

user_data

User data to be passed to func , or NULL.

[closure]

destroy

Destroy notifier for user_data , or NULL.

[allow-none]

gtk_tree_view_scroll_to_point ()

void
gtk_tree_view_scroll_to_point (GtkTreeView *tree_view,
                               int tree_x,
                               int tree_y);

Scrolls the tree view such that the top-left corner of the visible area is tree_x , tree_y , where tree_x and tree_y are specified in tree coordinates. The tree_view must be realized before this function is called. If it isn't, you probably want to be using gtk_tree_view_scroll_to_cell().

If either tree_x or tree_y are -1, then that direction isn’t scrolled.

Parameters

tree_view

a GtkTreeView

 

tree_x

X coordinate of new top-left pixel of visible area, or -1

 

tree_y

Y coordinate of new top-left pixel of visible area, or -1

 

gtk_tree_view_scroll_to_cell ()

void
gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view,
                              GtkTreePath *path,
                              GtkTreeViewColumn *column,
                              gboolean use_align,
                              float row_align,
                              float col_align);

Moves the alignments of tree_view to the position specified by column and path . If column is NULL, then no horizontal scrolling occurs. Likewise, if path is NULL no vertical scrolling occurs. At a minimum, one of column or path need to be non-NULL. row_align determines where the row is placed, and col_align determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center.

If use_align is FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the cell onto the screen. This means that the cell will be scrolled to the edge closest to its current position. If the cell is currently visible on the screen, nothing is done.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree_view is realized, the centered path will be modified to reflect this change.

Parameters

tree_view

A GtkTreeView.

 

path

The path of the row to move to, or NULL.

[allow-none]

column

The GtkTreeViewColumn to move horizontally to, or NULL.

[allow-none]

use_align

whether to use alignment arguments, or FALSE.

 

row_align

The vertical alignment of the row specified by path .

 

col_align

The horizontal alignment of the column specified by column .

 

gtk_tree_view_set_cursor ()

void
gtk_tree_view_set_cursor (GtkTreeView *tree_view,
                          GtkTreePath *path,
                          GtkTreeViewColumn *focus_column,
                          gboolean start_editing);

Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular row. If focus_column is not NULL, then focus is given to the column specified by it. Additionally, if focus_column is specified, and start_editing is TRUE, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus (tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

If path is invalid for model , the current cursor (if any) will be unset and the function will return without failing.

Parameters

tree_view

A GtkTreeView

 

path

A GtkTreePath

 

focus_column

A GtkTreeViewColumn, or NULL.

[allow-none]

start_editing

TRUE if the specified cell should start being edited.

 

gtk_tree_view_set_cursor_on_cell ()

void
gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view,
                                  GtkTreePath *path,
                                  GtkTreeViewColumn *focus_column,
                                  GtkCellRenderer *focus_cell,
                                  gboolean start_editing);

Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular row. If focus_column is not NULL, then focus is given to the column specified by it. If focus_column and focus_cell are not NULL, and focus_column contains 2 or more editable or activatable cells, then focus is given to the cell specified by focus_cell . Additionally, if focus_column is specified, and start_editing is TRUE, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus (tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

If path is invalid for model , the current cursor (if any) will be unset and the function will return without failing.

Parameters

tree_view

A GtkTreeView

 

path

A GtkTreePath

 

focus_column

A GtkTreeViewColumn, or NULL.

[allow-none]

focus_cell

A GtkCellRenderer, or NULL.

[allow-none]

start_editing

TRUE if the specified cell should start being edited.

 

gtk_tree_view_get_cursor ()

void
gtk_tree_view_get_cursor (GtkTreeView *tree_view,
                          GtkTreePath **path,
                          GtkTreeViewColumn **focus_column);

Fills in path and focus_column with the current path and focus column. If the cursor isn’t currently set, then *path will be NULL. If no column currently has focus, then *focus_column will be NULL.

The returned GtkTreePath must be freed with gtk_tree_path_free() when you are done with it.

Parameters

tree_view

A GtkTreeView

 

path

A pointer to be filled with the current cursor path, or NULL.

[out][transfer full][optional][nullable]

focus_column

A pointer to be filled with the current focus column, or NULL.

[out][transfer none][optional][nullable]

gtk_tree_view_row_activated ()

void
gtk_tree_view_row_activated (GtkTreeView *tree_view,
                             GtkTreePath *path,
                             GtkTreeViewColumn *column);

Activates the cell determined by path and column .

Parameters

tree_view

A GtkTreeView

 

path

The GtkTreePath to be activated.

 

column

The GtkTreeViewColumn to be activated.

 

gtk_tree_view_expand_all ()

void
gtk_tree_view_expand_all (GtkTreeView *tree_view);

Recursively expands all nodes in the tree_view .

Parameters

tree_view

A GtkTreeView.

 

gtk_tree_view_collapse_all ()

void
gtk_tree_view_collapse_all (GtkTreeView *tree_view);

Recursively collapses all visible, expanded nodes in tree_view .

Parameters

tree_view

A GtkTreeView.

 

gtk_tree_view_expand_to_path ()

void
gtk_tree_view_expand_to_path (GtkTreeView *tree_view,
                              GtkTreePath *path);

Expands the row at path . This will also expand all parent rows of path as necessary.

Parameters

tree_view

A GtkTreeView.

 

path

path to a row.

 

gtk_tree_view_expand_row ()

gboolean
gtk_tree_view_expand_row (GtkTreeView *tree_view,
                          GtkTreePath *path,
                          gboolean open_all);

Opens the row so its children are visible.

Parameters

tree_view

a GtkTreeView

 

path

path to a row

 

open_all

whether to recursively expand, or just expand immediate children

 

Returns

TRUE if the row existed and had children


gtk_tree_view_collapse_row ()

gboolean
gtk_tree_view_collapse_row (GtkTreeView *tree_view,
                            GtkTreePath *path);

Collapses a row (hides its child rows, if they exist).

Parameters

tree_view

a GtkTreeView

 

path

path to a row in the tree_view

 

Returns

TRUE if the row was collapsed.


gtk_tree_view_map_expanded_rows ()

void
gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view,
                                 GtkTreeViewMappingFunc func,
                                 gpointer data);

Calls func on all expanded rows.

Parameters

tree_view

A GtkTreeView

 

func

A function to be called.

[scope call]

data

User data to be passed to the function.

 

gtk_tree_view_row_expanded ()

gboolean
gtk_tree_view_row_expanded (GtkTreeView *tree_view,
                            GtkTreePath *path);

Returns TRUE if the node pointed to by path is expanded in tree_view .

Parameters

tree_view

A GtkTreeView.

 

path

A GtkTreePath to test expansion state.

 

Returns

TRUE if path is expanded.


gtk_tree_view_set_reorderable ()

void
gtk_tree_view_set_reorderable (GtkTreeView *tree_view,
                               gboolean reorderable);

This function is a convenience function to allow you to reorder models that support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both GtkTreeStore and GtkListStore support these. If reorderable is TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model’s “row-inserted” and “row-deleted” signals. The reordering is implemented by setting up the tree view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose.

This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually.

Parameters

tree_view

A GtkTreeView.

 

reorderable

TRUE, if the tree can be reordered.

 

gtk_tree_view_get_reorderable ()

gboolean
gtk_tree_view_get_reorderable (GtkTreeView *tree_view);

Retrieves whether the user can reorder the tree via drag-and-drop. See gtk_tree_view_set_reorderable().

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if the tree can be reordered.


gtk_tree_view_get_path_at_pos ()

gboolean
gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view,
                               int x,
                               int y,
                               GtkTreePath **path,
                               GtkTreeViewColumn **column,
                               int *cell_x,
                               int *cell_y);

Finds the path at the point (x , y ), relative to bin_window coordinates. That is, x and y are relative to an events coordinates. Widget-relative coordinates must be converted using gtk_tree_view_convert_widget_to_bin_window_coords(). It is primarily for things like popup menus. If path is non-NULL, then it will be filled with the GtkTreePath at that point. This path should be freed with gtk_tree_path_free(). If column is non-NULL, then it will be filled with the column at that point. cell_x and cell_y return the coordinates relative to the cell background (i.e. the background_area passed to gtk_cell_renderer_render()). This function is only meaningful if tree_view is realized. Therefore this function will always return FALSE if tree_view is not realized or does not have a model.

For converting widget coordinates (eg. the ones you get from GtkWidget::query-tooltip), please see gtk_tree_view_convert_widget_to_bin_window_coords().

Parameters

tree_view

A GtkTreeView.

 

x

The x position to be identified (relative to bin_window).

 

y

The y position to be identified (relative to bin_window).

 

path

A pointer to a GtkTreePath pointer to be filled in, or NULL.

[out][optional][nullable]

column

A pointer to a GtkTreeViewColumn pointer to be filled in, or NULL.

[out][transfer none][optional][nullable]

cell_x

A pointer where the X coordinate relative to the cell can be placed, or NULL.

[out][optional]

cell_y

A pointer where the Y coordinate relative to the cell can be placed, or NULL.

[out][optional]

Returns

TRUE if a row exists at that coordinate.


gtk_tree_view_is_blank_at_pos ()

gboolean
gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view,
                               int x,
                               int y,
                               GtkTreePath **path,
                               GtkTreeViewColumn **column,
                               int *cell_x,
                               int *cell_y);

Determine whether the point (x , y ) in tree_view is blank, that is no cell content nor an expander arrow is drawn at the location. If so, the location can be considered as the background. You might wish to take special action on clicks on the background, such as clearing a current selection, having a custom context menu or starting rubber banding.

The x and y coordinate that are provided must be relative to bin_window coordinates. Widget-relative coordinates must be converted using gtk_tree_view_convert_widget_to_bin_window_coords().

For converting widget coordinates (eg. the ones you get from GtkWidget::query-tooltip), please see gtk_tree_view_convert_widget_to_bin_window_coords().

The path , column , cell_x and cell_y arguments will be filled in likewise as for gtk_tree_view_get_path_at_pos(). Please see gtk_tree_view_get_path_at_pos() for more information.

Parameters

tree_view

A GtkTreeView

 

x

The x position to be identified (relative to bin_window)

 

y

The y position to be identified (relative to bin_window)

 

path

A pointer to a GtkTreePath pointer to be filled in, or NULL.

[out][optional][nullable]

column

A pointer to a GtkTreeViewColumn pointer to be filled in, or NULL.

[out][transfer none][optional][nullable]

cell_x

A pointer where the X coordinate relative to the cell can be placed, or NULL.

[out][optional]

cell_y

A pointer where the Y coordinate relative to the cell can be placed, or NULL.

[out][optional]

Returns

TRUE if the area at the given coordinates is blank, FALSE otherwise.


gtk_tree_view_get_cell_area ()

void
gtk_tree_view_get_cell_area (GtkTreeView *tree_view,
                             GtkTreePath *path,
                             GtkTreeViewColumn *column,
                             GdkRectangle *rect);

Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by path and the column specified by column . If path is NULL, or points to a path not currently displayed, the y and height fields of the rectangle will be filled with 0. If column is NULL, the x and width fields will be filled with 0. The sum of all cell rects does not cover the entire tree; there are extra pixels in between rows, for example. The returned rectangle is equivalent to the cell_area passed to gtk_cell_renderer_render(). This function is only valid if tree_view is realized.

Parameters

tree_view

a GtkTreeView

 

path

a GtkTreePath for the row, or NULL to get only horizontal coordinates.

[allow-none]

column

a GtkTreeViewColumn for the column, or NULL to get only vertical coordinates.

[allow-none]

rect

rectangle to fill with cell rect.

[out]

gtk_tree_view_get_background_area ()

void
gtk_tree_view_get_background_area (GtkTreeView *tree_view,
                                   GtkTreePath *path,
                                   GtkTreeViewColumn *column,
                                   GdkRectangle *rect);

Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by path and the column specified by column . If path is NULL, or points to a node not found in the tree, the y and height fields of the rectangle will be filled with 0. If column is NULL, the x and width fields will be filled with 0. The returned rectangle is equivalent to the background_area passed to gtk_cell_renderer_render(). These background areas tile to cover the entire bin window. Contrast with the cell_area , returned by gtk_tree_view_get_cell_area(), which returns only the cell itself, excluding surrounding borders and the tree expander area.

Parameters

tree_view

a GtkTreeView

 

path

a GtkTreePath for the row, or NULL to get only horizontal coordinates.

[allow-none]

column

a GtkTreeViewColumn for the column, or NULL to get only vertical coordinates.

[allow-none]

rect

rectangle to fill with cell background rect.

[out]

gtk_tree_view_get_visible_rect ()

void
gtk_tree_view_get_visible_rect (GtkTreeView *tree_view,
                                GdkRectangle *visible_rect);

Fills visible_rect with the currently-visible region of the buffer, in tree coordinates. Convert to bin_window coordinates with gtk_tree_view_convert_tree_to_bin_window_coords(). Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire scrollable area of the tree.

Parameters

tree_view

a GtkTreeView

 

visible_rect

rectangle to fill.

[out]

gtk_tree_view_get_visible_range ()

gboolean
gtk_tree_view_get_visible_range (GtkTreeView *tree_view,
                                 GtkTreePath **start_path,
                                 GtkTreePath **end_path);

Sets start_path and end_path to be the first and last visible path. Note that there may be invisible paths in between.

The paths should be freed with gtk_tree_path_free() after use.

Parameters

tree_view

A GtkTreeView

 

start_path

Return location for start of region, or NULL.

[out][allow-none]

end_path

Return location for end of region, or NULL.

[out][allow-none]

Returns

TRUE, if valid paths were placed in start_path and end_path .


gtk_tree_view_convert_bin_window_to_tree_coords ()

void
gtk_tree_view_convert_bin_window_to_tree_coords
                               (GtkTreeView *tree_view,
                                int bx,
                                int by,
                                int *tx,
                                int *ty);

Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).

Parameters

tree_view

a GtkTreeView

 

bx

X coordinate relative to bin_window

 

by

Y coordinate relative to bin_window

 

tx

return location for tree X coordinate.

[out]

ty

return location for tree Y coordinate.

[out]

gtk_tree_view_convert_bin_window_to_widget_coords ()

void
gtk_tree_view_convert_bin_window_to_widget_coords
                               (GtkTreeView *tree_view,
                                int bx,
                                int by,
                                int *wx,
                                int *wy);

Converts bin_window coordinates to widget relative coordinates.

Parameters

tree_view

a GtkTreeView

 

bx

bin_window X coordinate

 

by

bin_window Y coordinate

 

wx

return location for widget X coordinate.

[out]

wy

return location for widget Y coordinate.

[out]

gtk_tree_view_convert_tree_to_bin_window_coords ()

void
gtk_tree_view_convert_tree_to_bin_window_coords
                               (GtkTreeView *tree_view,
                                int tx,
                                int ty,
                                int *bx,
                                int *by);

Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.

Parameters

tree_view

a GtkTreeView

 

tx

tree X coordinate

 

ty

tree Y coordinate

 

bx

return location for X coordinate relative to bin_window.

[out]

by

return location for Y coordinate relative to bin_window.

[out]

gtk_tree_view_convert_tree_to_widget_coords ()

void
gtk_tree_view_convert_tree_to_widget_coords
                               (GtkTreeView *tree_view,
                                int tx,
                                int ty,
                                int *wx,
                                int *wy);

Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.

Parameters

tree_view

a GtkTreeView

 

tx

X coordinate relative to the tree

 

ty

Y coordinate relative to the tree

 

wx

return location for widget X coordinate.

[out]

wy

return location for widget Y coordinate.

[out]

gtk_tree_view_convert_widget_to_bin_window_coords ()

void
gtk_tree_view_convert_widget_to_bin_window_coords
                               (GtkTreeView *tree_view,
                                int wx,
                                int wy,
                                int *bx,
                                int *by);

Converts widget coordinates to coordinates for the bin_window.

Parameters

tree_view

a GtkTreeView

 

wx

X coordinate relative to the widget

 

wy

Y coordinate relative to the widget

 

bx

return location for bin_window X coordinate.

[out]

by

return location for bin_window Y coordinate.

[out]

gtk_tree_view_convert_widget_to_tree_coords ()

void
gtk_tree_view_convert_widget_to_tree_coords
                               (GtkTreeView *tree_view,
                                int wx,
                                int wy,
                                int *tx,
                                int *ty);

Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).

Parameters

tree_view

a GtkTreeView

 

wx

X coordinate relative to the widget

 

wy

Y coordinate relative to the widget

 

tx

return location for tree X coordinate.

[out]

ty

return location for tree Y coordinate.

[out]

gtk_tree_view_enable_model_drag_dest ()

void
gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,
                                      GdkContentFormats *formats,
                                      GdkDragAction actions);

Turns tree_view into a drop destination for automatic DND. Calling this method sets “reorderable” to FALSE.

Parameters

tree_view

a GtkTreeView

 

formats

the target formats that the drag will support

 

actions

the bitmask of possible actions for a drag from this widget

 

gtk_tree_view_enable_model_drag_source ()

void
gtk_tree_view_enable_model_drag_source
                               (GtkTreeView *tree_view,
                                GdkModifierType start_button_mask,
                                GdkContentFormats *formats,
                                GdkDragAction actions);

Turns tree_view into a drag source for automatic DND. Calling this method sets “reorderable” to FALSE.

Parameters

tree_view

a GtkTreeView

 

start_button_mask

Mask of allowed buttons to start drag

 

formats

the target formats that the drag will support

 

actions

the bitmask of possible actions for a drag from this widget

 

gtk_tree_view_unset_rows_drag_source ()

void
gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view);

Undoes the effect of gtk_tree_view_enable_model_drag_source(). Calling this method sets “reorderable” to FALSE.

Parameters

tree_view

a GtkTreeView

 

gtk_tree_view_unset_rows_drag_dest ()

void
gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view);

Undoes the effect of gtk_tree_view_enable_model_drag_dest(). Calling this method sets “reorderable” to FALSE.

Parameters

tree_view

a GtkTreeView

 

gtk_tree_view_set_drag_dest_row ()

void
gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view,
                                 GtkTreePath *path,
                                 GtkTreeViewDropPosition pos);

Sets the row that is highlighted for feedback. If path is NULL, an existing highlight is removed.

Parameters

tree_view

a GtkTreeView

 

path

The path of the row to highlight, or NULL.

[allow-none]

pos

Specifies whether to drop before, after or into the row

 

gtk_tree_view_get_drag_dest_row ()

void
gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view,
                                 GtkTreePath **path,
                                 GtkTreeViewDropPosition *pos);

Gets information about the row that is highlighted for feedback.

Parameters

tree_view

a GtkTreeView

 

path

Return location for the path of the highlighted row, or NULL.

[out][optional][nullable]

pos

Return location for the drop position, or NULL.

[out][optional]

gtk_tree_view_get_dest_row_at_pos ()

gboolean
gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view,
                                   int drag_x,
                                   int drag_y,
                                   GtkTreePath **path,
                                   GtkTreeViewDropPosition *pos);

Determines the destination row for a given position. drag_x and drag_y are expected to be in widget coordinates. This function is only meaningful if tree_view is realized. Therefore this function will always return FALSE if tree_view is not realized or does not have a model.

Parameters

tree_view

a GtkTreeView

 

drag_x

the position to determine the destination row for

 

drag_y

the position to determine the destination row for

 

path

Return location for the path of the highlighted row, or NULL.

[out][optional][nullable]

pos

Return location for the drop position, or NULL.

[out][optional]

Returns

whether there is a row at the given position, TRUE if this is indeed the case.


gtk_tree_view_create_row_drag_icon ()

GdkPaintable *
gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,
                                    GtkTreePath *path);

Creates a cairo_surface_t representation of the row at path . This image is used for a drag icon.

Parameters

tree_view

a GtkTreeView

 

path

a GtkTreePath in tree_view

 

Returns

a newly-allocated surface of the drag icon.

[transfer full]


gtk_tree_view_set_enable_search ()

void
gtk_tree_view_set_enable_search (GtkTreeView *tree_view,
                                 gboolean enable_search);

If enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find").

Note that even if this is FALSE, the user can still initiate a search using the “start-interactive-search” key binding.

Parameters

tree_view

A GtkTreeView

 

enable_search

TRUE, if the user can search interactively

 

gtk_tree_view_get_enable_search ()

gboolean
gtk_tree_view_get_enable_search (GtkTreeView *tree_view);

Returns whether or not the tree allows to start interactive searching by typing in text.

Parameters

tree_view

A GtkTreeView

 

Returns

whether or not to let the user search interactively


gtk_tree_view_get_search_column ()

int
gtk_tree_view_get_search_column (GtkTreeView *tree_view);

Gets the column searched on by the interactive search code.

Parameters

tree_view

A GtkTreeView

 

Returns

the column the interactive search code searches in.


gtk_tree_view_set_search_column ()

void
gtk_tree_view_set_search_column (GtkTreeView *tree_view,
                                 int column);

Sets column as the column where the interactive search code should search in for the current model.

If the search column is set, users can use the “start-interactive-search” key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search.

Note that column refers to a column of the current model. The search column is reset to -1 when the model is changed.

Parameters

tree_view

A GtkTreeView

 

column

the column of the model to search in, or -1 to disable searching

 

gtk_tree_view_get_search_equal_func ()

GtkTreeViewSearchEqualFunc
gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view);

Returns the compare function currently in use.

[skip]

Parameters

tree_view

A GtkTreeView

 

Returns

the currently used compare function for the search code.


gtk_tree_view_set_search_equal_func ()

void
gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view,
                                     GtkTreeViewSearchEqualFunc search_equal_func,
                                     gpointer search_user_data,
                                     GDestroyNotify search_destroy);

Sets the compare function for the interactive search capabilities; note that somewhat like strcmp() returning 0 for equality GtkTreeViewSearchEqualFunc returns FALSE on matches.

Parameters

tree_view

A GtkTreeView

 

search_equal_func

the compare function to use during the search

 

search_user_data

user data to pass to search_equal_func , or NULL.

[allow-none]

search_destroy

Destroy notifier for search_user_data , or NULL.

[allow-none]

gtk_tree_view_get_search_entry ()

GtkEditable *
gtk_tree_view_get_search_entry (GtkTreeView *tree_view);

Returns the GtkEntry which is currently in use as interactive search entry for tree_view . In case the built-in entry is being used, NULL will be returned.

Parameters

tree_view

A GtkTreeView

 

Returns

the entry currently in use as search entry.

[transfer none]


gtk_tree_view_set_search_entry ()

void
gtk_tree_view_set_search_entry (GtkTreeView *tree_view,
                                GtkEditable *entry);

Sets the entry which the interactive search code will use for this tree_view . This is useful when you want to provide a search entry in our interface at all time at a fixed position. Passing NULL for entry will make the interactive search code use the built-in popup entry again.

Parameters

tree_view

A GtkTreeView

 

entry

the entry the interactive search code of tree_view should use or NULL.

[allow-none]

gtk_tree_view_get_fixed_height_mode ()

gboolean
gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view);

Returns whether fixed height mode is turned on for tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if tree_view is in fixed height mode


gtk_tree_view_set_fixed_height_mode ()

void
gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
                                     gboolean enable);

Enables or disables the fixed height mode of tree_view . Fixed height mode speeds up GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height and all columns are of type GTK_TREE_VIEW_COLUMN_FIXED.

Parameters

tree_view

a GtkTreeView

 

enable

TRUE to enable fixed height mode

 

gtk_tree_view_get_hover_selection ()

gboolean
gtk_tree_view_get_hover_selection (GtkTreeView *tree_view);

Returns whether hover selection mode is turned on for tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if tree_view is in hover selection mode


gtk_tree_view_set_hover_selection ()

void
gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,
                                   gboolean hover);

Enables or disables the hover selection mode of tree_view . Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes GTK_SELECTION_SINGLE and GTK_SELECTION_BROWSE.

Parameters

tree_view

a GtkTreeView

 

hover

TRUE to enable hover selection mode

 

gtk_tree_view_get_hover_expand ()

gboolean
gtk_tree_view_get_hover_expand (GtkTreeView *tree_view);

Returns whether hover expansion mode is turned on for tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if tree_view is in hover expansion mode


gtk_tree_view_set_hover_expand ()

void
gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,
                                gboolean expand);

Enables or disables the hover expansion mode of tree_view . Hover expansion makes rows expand or collapse if the pointer moves over them.

Parameters

tree_view

a GtkTreeView

 

expand

TRUE to enable hover selection mode

 

GtkTreeViewRowSeparatorFunc ()

gboolean
(*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model,
                                GtkTreeIter *iter,
                                gpointer data);

Function type for determining whether the row pointed to by iter should be rendered as a separator. A common way to implement this is to have a boolean column in the model, whose values the GtkTreeViewRowSeparatorFunc returns.

Parameters

model

the GtkTreeModel

 

iter

a GtkTreeIter pointing at a row in model

 

data

user data.

[closure]

Returns

TRUE if the row is a separator


gtk_tree_view_get_row_separator_func ()

GtkTreeViewRowSeparatorFunc
gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view);

Returns the current row separator function.

[skip]

Parameters

tree_view

a GtkTreeView

 

Returns

the current row separator function.


gtk_tree_view_set_row_separator_func ()

void
gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view,
                                      GtkTreeViewRowSeparatorFunc func,
                                      gpointer data,
                                      GDestroyNotify destroy);

Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is NULL, no separators are drawn. This is the default value.

Parameters

tree_view

a GtkTreeView

 

func

a GtkTreeViewRowSeparatorFunc.

[allow-none]

data

user data to pass to func , or NULL.

[allow-none]

destroy

destroy notifier for data , or NULL.

[allow-none]

gtk_tree_view_get_rubber_banding ()

gboolean
gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view);

Returns whether rubber banding is turned on for tree_view . If the selection mode is GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse.

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if rubber banding in tree_view is enabled.


gtk_tree_view_set_rubber_banding ()

void
gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,
                                  gboolean enable);

Enables or disables rubber banding in tree_view . If the selection mode is GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse.

Parameters

tree_view

a GtkTreeView

 

enable

TRUE to enable rubber banding

 

gtk_tree_view_is_rubber_banding_active ()

gboolean
gtk_tree_view_is_rubber_banding_active
                               (GtkTreeView *tree_view);

Returns whether a rubber banding operation is currently being done in tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

TRUE if a rubber banding operation is currently being done in tree_view .


gtk_tree_view_get_enable_tree_lines ()

gboolean
gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view);

Returns whether or not tree lines are drawn in tree_view .

Parameters

tree_view

a GtkTreeView.

 

Returns

TRUE if tree lines are drawn in tree_view , FALSE otherwise.


gtk_tree_view_set_enable_tree_lines ()

void
gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,
                                     gboolean enabled);

Sets whether to draw lines interconnecting the expanders in tree_view . This does not have any visible effects for lists.

Parameters

tree_view

a GtkTreeView

 

enabled

TRUE to enable tree line drawing, FALSE otherwise.

 

gtk_tree_view_get_grid_lines ()

GtkTreeViewGridLines
gtk_tree_view_get_grid_lines (GtkTreeView *tree_view);

Returns which grid lines are enabled in tree_view .

Parameters

tree_view

a GtkTreeView

 

Returns

a GtkTreeViewGridLines value indicating which grid lines are enabled.


gtk_tree_view_set_grid_lines ()

void
gtk_tree_view_set_grid_lines (GtkTreeView *tree_view,
                              GtkTreeViewGridLines grid_lines);

Sets which grid lines to draw in tree_view .

Parameters

tree_view

a GtkTreeView

 

grid_lines

a GtkTreeViewGridLines value indicating which grid lines to enable.

 

gtk_tree_view_set_tooltip_row ()

void
gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,
                               GtkTooltip *tooltip,
                               GtkTreePath *path);

Sets the tip area of tooltip to be the area covered by the row at path . See also gtk_tree_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area().

Parameters

tree_view

a GtkTreeView

 

tooltip

a GtkTooltip

 

path

a GtkTreePath

 

gtk_tree_view_set_tooltip_cell ()

void
gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view,
                                GtkTooltip *tooltip,
                                GtkTreePath *path,
                                GtkTreeViewColumn *column,
                                GtkCellRenderer *cell);

Sets the tip area of tooltip to the area path , column and cell have in common. For example if path is NULL and column is set, the tip area will be set to the full area covered by column . See also gtk_tooltip_set_tip_area().

Note that if path is not specified and cell is set and part of a column containing the expander, the tooltip might not show and hide at the correct position. In such cases path must be set to the current node under the mouse cursor for this function to operate correctly.

See also gtk_tree_view_set_tooltip_column() for a simpler alternative.

Parameters

tree_view

a GtkTreeView

 

tooltip

a GtkTooltip

 

path

a GtkTreePath or NULL.

[allow-none]

column

a GtkTreeViewColumn or NULL.

[allow-none]

cell

a GtkCellRenderer or NULL.

[allow-none]

gtk_tree_view_get_tooltip_context ()

gboolean
gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view,
                                   int *x,
                                   int *y,
                                   gboolean keyboard_tip,
                                   GtkTreeModel **model,
                                   GtkTreePath **path,
                                   GtkTreeIter *iter);

This function is supposed to be used in a “query-tooltip” signal handler for GtkTreeView. The x , y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification.

The return value indicates whether there is a tree view row at the given coordinates (TRUE) or not (FALSE) for mouse tooltips. For keyboard tooltips the row returned will be the cursor row. When TRUE, then any of model , path and iter which have been provided will be set to point to that row and the corresponding model. x and y will always be converted to be relative to tree_view ’s bin_window if keyboard_tooltip is FALSE.

Parameters

tree_view

a GtkTreeView

 

x

the x coordinate (relative to widget coordinates).

[inout]

y

the y coordinate (relative to widget coordinates).

[inout]

keyboard_tip

whether this is a keyboard tooltip or not

 

model

a pointer to receive a GtkTreeModel or NULL.

[out][optional][nullable][transfer none]

path

a pointer to receive a GtkTreePath or NULL.

[out][optional]

iter

a pointer to receive a GtkTreeIter or NULL.

[out][optional]

Returns

whether or not the given tooltip context points to a row.


gtk_tree_view_get_tooltip_column ()

int
gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view);

Returns the column of tree_view ’s model which is being used for displaying tooltips on tree_view ’s rows.

Parameters

tree_view

a GtkTreeView

 

Returns

the index of the tooltip column that is currently being used, or -1 if this is disabled.


gtk_tree_view_set_tooltip_column ()

void
gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
                                  int column);

If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have GtkTreeView handle these automatically for you. column should be set to the column in tree_view ’s model containing the tooltip texts, or -1 to disable this feature.

When enabled, “has-tooltip” will be set to TRUE and tree_view will connect a “query-tooltip” signal handler.

Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text.

Parameters

tree_view

a GtkTreeView

 

column

an integer, which is a valid column number for tree_view ’s model

 

Types and Values

struct GtkTreeView

struct GtkTreeView;

enum GtkTreeViewDropPosition

An enum for determining where a dropped row goes.

Members

GTK_TREE_VIEW_DROP_BEFORE

dropped row is inserted before

 

GTK_TREE_VIEW_DROP_AFTER

dropped row is inserted after

 

GTK_TREE_VIEW_DROP_INTO_OR_BEFORE

dropped row becomes a child or is inserted before

 

GTK_TREE_VIEW_DROP_INTO_OR_AFTER

dropped row becomes a child or is inserted after

 

enum GtkTreeViewGridLines

Used to indicate which grid lines to draw in a tree view.

Members

GTK_TREE_VIEW_GRID_LINES_NONE

No grid lines.

 

GTK_TREE_VIEW_GRID_LINES_HORIZONTAL

Horizontal grid lines.

 

GTK_TREE_VIEW_GRID_LINES_VERTICAL

Vertical grid lines.

 

GTK_TREE_VIEW_GRID_LINES_BOTH

Horizontal and vertical grid lines.

 

Property Details

The “activate-on-single-click” property

  “activate-on-single-click” gboolean

The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “enable-grid-lines” property

  “enable-grid-lines”        GtkTreeViewGridLines

Whether grid lines should be drawn in the tree view.

Owner: GtkTreeView

Flags: Read / Write

Default value: GTK_TREE_VIEW_GRID_LINES_NONE


The “enable-search” property

  “enable-search”            gboolean

View allows user to search through columns interactively.

Owner: GtkTreeView

Flags: Read / Write

Default value: TRUE


The “enable-tree-lines” property

  “enable-tree-lines”        gboolean

Whether tree lines should be drawn in the tree view.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “expander-column” property

  “expander-column”          GtkTreeViewColumn *

Set the column for the expander column.

Owner: GtkTreeView

Flags: Read / Write


The “fixed-height-mode” property

  “fixed-height-mode”        gboolean

Setting the ::fixed-height-mode property to TRUE speeds up GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height. Please see gtk_tree_view_set_fixed_height_mode() for more information on this option.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “headers-clickable” property

  “headers-clickable”        gboolean

Column headers respond to click events.

Owner: GtkTreeView

Flags: Read / Write

Default value: TRUE


The “headers-visible” property

  “headers-visible”          gboolean

Show the column header buttons.

Owner: GtkTreeView

Flags: Read / Write

Default value: TRUE


The “hover-expand” property

  “hover-expand”             gboolean

Enables or disables the hover expansion mode of tree_view . Hover expansion makes rows expand or collapse if the pointer moves over them.

This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “hover-selection” property

  “hover-selection”          gboolean

Enables or disables the hover selection mode of tree_view . Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes GTK_SELECTION_SINGLE and GTK_SELECTION_BROWSE.

This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “level-indentation” property

  “level-indentation”        gint

Extra indentation for each level.

Owner: GtkTreeView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “model” property

  “model”                    GtkTreeModel *

The model for the tree view.

Owner: GtkTreeView

Flags: Read / Write


The “reorderable” property

  “reorderable”              gboolean

View is reorderable.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “rubber-banding” property

  “rubber-banding”           gboolean

Whether to enable selection of multiple items by dragging the mouse pointer.

Owner: GtkTreeView

Flags: Read / Write

Default value: FALSE


The “search-column” property

  “search-column”            gint

Model column to search through during interactive search.

Owner: GtkTreeView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “show-expanders” property

  “show-expanders”           gboolean

TRUE if the view has expanders.

Owner: GtkTreeView

Flags: Read / Write

Default value: TRUE


The “tooltip-column” property

  “tooltip-column”           gint

The column in the model containing the tooltip texts for the rows.

Owner: GtkTreeView

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “columns-changed” signal

void
user_function (GtkTreeView *tree_view,
               gpointer     user_data)

The number of columns of the treeview has changed.

Parameters

tree_view

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “cursor-changed” signal

void
user_function (GtkTreeView *tree_view,
               gpointer     user_data)

The position of the cursor (focused cell) has changed.

Parameters

tree_view

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “expand-collapse-cursor-row” signal

gboolean
user_function (GtkTreeView *treeview,
               gboolean     arg1,
               gboolean     arg2,
               gboolean     arg3,
               gpointer     user_data)

Flags: Action


The “move-cursor” signal

gboolean
user_function (GtkTreeView    *tree_view,
               GtkMovementStep step,
               gint            direction,
               gboolean        extend,
               gboolean        modify,
               gpointer        user_data)

The “move-cursor” signal is a keybinding signal which gets emitted when the user presses one of the cursor keys.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. In contrast to gtk_tree_view_set_cursor() and gtk_tree_view_set_cursor_on_cell() when moving horizontally “move-cursor” does not reset the current selection.

Parameters

tree_view

the object on which the signal is emitted.

 

step

the granularity of the move, as a GtkMovementStep. GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS, GTK_MOVEMENT_DISPLAY_LINES, GTK_MOVEMENT_PAGES and GTK_MOVEMENT_BUFFER_ENDS are supported. GTK_MOVEMENT_LOGICAL_POSITIONS and GTK_MOVEMENT_VISUAL_POSITIONS are treated identically.

 

direction

the direction to move: +1 to move forwards; -1 to move backwards. The resulting movement is undefined for all other values.

 

extend

whether to extend the selection

 

modify

whether to modify the selection

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if step is supported, FALSE otherwise.

Flags: Action


The “row-activated” signal

void
user_function (GtkTreeView       *tree_view,
               GtkTreePath       *path,
               GtkTreeViewColumn *column,
               gpointer           user_data)

The "row-activated" signal is emitted when the method gtk_tree_view_row_activated() is called, when the user double clicks a treeview row with the "activate-on-single-click" property set to FALSE, or when the user single clicks a row when the "activate-on-single-click" property set to TRUE. It is also emitted when a non-editable row is selected and one of the keys: Space, Shift+Space, Return or Enter is pressed.

For selection handling refer to the tree widget conceptual overview as well as GtkTreeSelection.

Parameters

tree_view

the object on which the signal is emitted

 

path

the GtkTreePath for the activated row

 

column

the GtkTreeViewColumn in which the activation occurred

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “row-collapsed” signal

void
user_function (GtkTreeView *tree_view,
               GtkTreeIter *iter,
               GtkTreePath *path,
               gpointer     user_data)

The given row has been collapsed (child nodes are hidden).

Parameters

tree_view

the object on which the signal is emitted

 

iter

the tree iter of the collapsed row

 

path

a tree path that points to the row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “row-expanded” signal

void
user_function (GtkTreeView *tree_view,
               GtkTreeIter *iter,
               GtkTreePath *path,
               gpointer     user_data)

The given row has been expanded (child nodes are shown).

Parameters

tree_view

the object on which the signal is emitted

 

iter

the tree iter of the expanded row

 

path

a tree path that points to the row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “select-all” signal

gboolean
user_function (GtkTreeView *treeview,
               gpointer     user_data)

Flags: Action


The “select-cursor-parent” signal

gboolean
user_function (GtkTreeView *treeview,
               gpointer     user_data)

Flags: Action


The “select-cursor-row” signal

gboolean
user_function (GtkTreeView *treeview,
               gboolean     arg1,
               gpointer     user_data)

Flags: Action


The “start-interactive-search” signal

gboolean
user_function (GtkTreeView *treeview,
               gpointer     user_data)

Flags: Action


The “test-collapse-row” signal

gboolean
user_function (GtkTreeView *tree_view,
               GtkTreeIter *iter,
               GtkTreePath *path,
               gpointer     user_data)

The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows.

Parameters

tree_view

the object on which the signal is emitted

 

iter

the tree iter of the row to collapse

 

path

a tree path that points to the row

 

user_data

user data set when the signal handler was connected.

 

Returns

FALSE to allow collapsing, TRUE to reject

Flags: Run Last


The “test-expand-row” signal

gboolean
user_function (GtkTreeView *tree_view,
               GtkTreeIter *iter,
               GtkTreePath *path,
               gpointer     user_data)

The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows.

Parameters

tree_view

the object on which the signal is emitted

 

iter

the tree iter of the row to expand

 

path

a tree path that points to the row

 

user_data

user data set when the signal handler was connected.

 

Returns

FALSE to allow expansion, TRUE to reject

Flags: Run Last


The “toggle-cursor-row” signal

gboolean
user_function (GtkTreeView *treeview,
               gpointer     user_data)

Flags: Action


The “unselect-all” signal

gboolean
user_function (GtkTreeView *treeview,
               gpointer     user_data)

Flags: Action

docs/reference/gtk/html/MenusAndCombos.html0000664000175000017500000000520713710700534021074 0ustar mclasenmclasen Menus, Combo Box: GTK 4 Reference Manual

Menus, Combo Box

GtkComboBox — A widget used to choose from a list of items
GtkComboBoxText — A simple, text-only combo box
GtkPopover — Context dependent bubbles
GtkPopoverMenu — Popovers to use as menus
GtkPopoverMenuBar — A menu bar with popovers
GtkDropDown — Choose an item from a list
docs/reference/gtk/html/ch06s02.html0000664000175000017500000001534213710700534017305 0ustar mclasenmclasen Action state and parameters: GTK 4 Reference Manual

Action state and parameters

Most actions in your application will be stateless actions with no parameters. These typically appear as menu items with no special decoration. An example is quit.

Stateful actions are used to represent an action which has a closely-associated state of some kind. A good example is a fullscreen action. For this case, you would expect to see a checkmark next to the menu item when the fullscreen option is active. This is usually called a toggle action, and it has a boolean state. By convention, toggle actions have no parameter type for activation: activating the action always toggles the state.

Another common case is to have an action representing a enumeration of possible values of a given type (typically string). This is often called a radio action and is usually represented in the user interface with radio buttons or radio menu items, or sometimes a combobox. A good example is text-justify with possible values left, center, and right. By convention, these types of actions have a parameter type equal to their state type, and activating them with a particular parameter value is equivalent to changing their state to that value.

This approach to handling radio buttons is different than many other action systems such as GtkAction. With GAction, there is only one action for text-justify and left, center and right are possible states on that action. There are not three separate justify-left, justify-center and justify-right actions.

The final common type of action is a stateless action with a parameter. This is typically used for actions like open-bookmark where the parameter to the action would be the identifier of the bookmark to open.

Because some types of actions cannot be invoked without a parameter, it is often important to specify a parameter when referring to the action from a place where it will be invoked (such as from a radio button that sets the state to a particular value or from a menu item that opens a specific bookmark). In these contexts, the value used for the action parameter is typically called the target of the action.

Even though toggle actions have a state, they do not have a parameter. Therefore, a target value is not needed when referring to them — they will always be toggled on activation.

Most APIs that allow using a GAction (such as GMenuModel and GtkActionable) allow use of detailed action names. This is a convenient way of specifying an action name and an action target with a single string.

In the case that the action target is a string with no unusual characters (ie: only alpha-numeric, plus - and .) then you can use a detailed action name of the form justify::left to specify the justify action with a target of left.

In the case that the action target is not a string, or contains unusual characters, you can use the more general format action-name(5), where the 5 here is any valid text-format GVariant (ie: a string that can be parsed by g_variant_parse()). Another example is open-bookmark(http://gnome.org/).

You can convert between detailed action names and split-out action names and target values using g_action_parse_detailed_name() and g_action_print_detailed_name() but usually you will not need to. Most APIs will provide both ways of specifying actions with targets.

docs/reference/gtk/html/GtkMediaControls.html0000664000175000017500000003014313710700534021425 0ustar mclasenmclasen GtkMediaControls: GTK 4 Reference Manual

GtkMediaControls

GtkMediaControls — A widget showing controls for a media stream

Properties

GtkMediaStream * media-stream Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkMediaControls

Implemented Interfaces

GtkMediaControls implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkMediaControls is a widget to show controls for a GtkMediaStream and giving users a way to use it.

Functions

gtk_media_controls_new ()

GtkWidget *
gtk_media_controls_new (GtkMediaStream *stream);

Creates a new GtkMediaControls managing the stream passed to it.

Parameters

stream

a GtkMediaStream to manage or NULL for none.

[allow-none][transfer none]

Returns

a new GtkMediaControls


gtk_media_controls_get_media_stream ()

GtkMediaStream *
gtk_media_controls_get_media_stream (GtkMediaControls *controls);

Gets the media stream managed by controls or NULL if none.

Parameters

controls

a GtkMediaControls

 

Returns

The media stream managed by controls .

[nullable][transfer none]


gtk_media_controls_set_media_stream ()

void
gtk_media_controls_set_media_stream (GtkMediaControls *controls,
                                     GtkMediaStream *stream);

Sets the stream that is controlled by controls .

Parameters

controls

a GtkMediaControls widget

 

stream

a GtkMediaStream, or NULL.

[nullable]

Types and Values

GtkMediaControls

typedef struct _GtkMediaControls GtkMediaControls;

Property Details

The “media-stream” property

  “media-stream”             GtkMediaStream *

The media-stream managed by this object or NULL if none.

Owner: GtkMediaControls

Flags: Read / Write

See Also

GtkVideo

docs/reference/gtk/html/GtkMessageDialog.html0000664000175000017500000012014113710700534021364 0ustar mclasenmclasen GtkMessageDialog: GTK 4 Reference Manual

GtkMessageDialog

GtkMessageDialog — A convenient message window

Properties

GtkButtonsType buttons Write / Construct Only
GtkWidget * message-area Read
GtkMessageType message-type Read / Write / Construct
gchar * secondary-text Read / Write
gboolean secondary-use-markup Read / Write
gchar * text Read / Write
gboolean use-markup Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkMessageDialog

Implemented Interfaces

GtkMessageDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

GtkMessageDialog presents a dialog with some message text. It’s simply a convenience widget; you could construct the equivalent of GtkMessageDialog from GtkDialog without too much effort, but GtkMessageDialog saves typing.

The easiest way to do a modal message dialog is to use the GTK_DIALOG_MODAL flag, which will call gtk_window_set_modal() internally. The dialog will prevent interaction with the parent window until it's hidden or destroyed. You can use the “response” signal to know when the user dismissed the dialog.

An example for using a modal dialog:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL;
dialog = gtk_message_dialog_new (parent_window,
                                 flags,
                                 GTK_MESSAGE_ERROR,
                                 GTK_BUTTONS_CLOSE,
                                 "Error reading “%s”: %s",
                                 filename,
                                 g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)

g_signal_connect (dialog, "response",
                  G_CALLBACK (gtk_window_destroy),
                  NULL);

You might do a non-modal GtkMessageDialog simply by omitting the GTK_DIALOG_MODAL flag:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
                                 flags,
                                 GTK_MESSAGE_ERROR,
                                 GTK_BUTTONS_CLOSE,
                                 "Error reading “%s”: %s",
                                 filename,
                                 g_strerror (errno));

// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
                  G_CALLBACK (gtk_window_destroy),
                  NULL);

GtkMessageDialog as GtkBuildable

The GtkMessageDialog implementation of the GtkBuildable interface exposes the message area as an internal child with the name “message_area”.

Functions

gtk_message_dialog_new ()

GtkWidget *
gtk_message_dialog_new (GtkWindow *parent,
                        GtkDialogFlags flags,
                        GtkMessageType type,
                        GtkButtonsType buttons,
                        const char *message_format,
                        ...);

Creates a new message dialog, which is a simple dialog with some text the user may want to see. When the user clicks a button a “response” signal is emitted with response IDs from GtkResponseType. See GtkDialog for more details.

Parameters

parent

transient parent, or NULL for none.

[allow-none]

flags

flags

 

type

type of message

 

buttons

set of buttons to use

 

message_format

printf()-style format string, or NULL.

[allow-none]

...

arguments for message_format

 

Returns

a new GtkMessageDialog.

[transfer none]


gtk_message_dialog_new_with_markup ()

GtkWidget *
gtk_message_dialog_new_with_markup (GtkWindow *parent,
                                    GtkDialogFlags flags,
                                    GtkMessageType type,
                                    GtkButtonsType buttons,
                                    const char *message_format,
                                    ...);

Creates a new message dialog, which is a simple dialog with some text that is marked up with the Pango text markup language. When the user clicks a button a “response” signal is emitted with response IDs from GtkResponseType. See GtkDialog for more details.

Special XML characters in the printf() arguments passed to this function will automatically be escaped as necessary. (See g_markup_printf_escaped() for how this is implemented.) Usually this is what you want, but if you have an existing Pango markup string that you want to use literally as the label, then you need to use gtk_message_dialog_set_markup() instead, since you can’t pass the markup string either as the format (it might contain “%” characters) or as a string argument.

1
2
3
4
5
6
7
8
9
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_message_dialog_new (parent_window,
                                 flags,
                                 GTK_MESSAGE_ERROR,
                                 GTK_BUTTONS_CLOSE,
                                 NULL);
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog),
                               markup);

Parameters

parent

transient parent, or NULL for none.

[allow-none]

flags

flags

 

type

type of message

 

buttons

set of buttons to use

 

message_format

printf()-style format string, or NULL.

[allow-none]

...

arguments for message_format

 

Returns

a new GtkMessageDialog


gtk_message_dialog_set_markup ()

void
gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,
                               const char *str);

Sets the text of the message dialog to be str , which is marked up with the Pango text markup language.

Parameters

message_dialog

a GtkMessageDialog

 

str

markup string (see Pango markup format)

 

gtk_message_dialog_format_secondary_text ()

void
gtk_message_dialog_format_secondary_text
                               (GtkMessageDialog *message_dialog,
                                const char *message_format,
                                ...);

Sets the secondary text of the message dialog to be message_format (with printf()-style).

Parameters

message_dialog

a GtkMessageDialog

 

message_format

printf()-style format string, or NULL.

[allow-none]

...

arguments for message_format

 

gtk_message_dialog_format_secondary_markup ()

void
gtk_message_dialog_format_secondary_markup
                               (GtkMessageDialog *message_dialog,
                                const char *message_format,
                                ...);

Sets the secondary text of the message dialog to be message_format (with printf()-style), which is marked up with the Pango text markup language.

Due to an oversight, this function does not escape special XML characters like gtk_message_dialog_new_with_markup() does. Thus, if the arguments may contain special XML characters, you should use g_markup_printf_escaped() to escape it.

1
2
3
4
5
6
char *msg;

msg = g_markup_printf_escaped (message_format, ...);
gtk_message_dialog_format_secondary_markup (message_dialog,
                                            "%s", msg);
g_free (msg);

Parameters

message_dialog

a GtkMessageDialog

 

message_format

printf()-style markup string (see Pango markup format), or NULL

 

...

arguments for message_format

 

gtk_message_dialog_get_message_area ()

GtkWidget *
gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog);

Returns the message area of the dialog. This is the box where the dialog’s primary and secondary labels are packed. You can add your own extra content to that box and it will appear below those labels. See gtk_dialog_get_content_area() for the corresponding function in the parent GtkDialog.

Parameters

message_dialog

a GtkMessageDialog

 

Returns

A GtkBox corresponding to the “message area” in the message_dialog .

[transfer none]

Types and Values

struct GtkMessageDialog

struct GtkMessageDialog;

enum GtkMessageType

The type of message being displayed in the dialog.

Members

GTK_MESSAGE_INFO

Informational message

 

GTK_MESSAGE_WARNING

Non-fatal warning message

 

GTK_MESSAGE_QUESTION

Question requiring a choice

 

GTK_MESSAGE_ERROR

Fatal error message

 

GTK_MESSAGE_OTHER

None of the above

 

enum GtkButtonsType

Prebuilt sets of buttons for the dialog. If none of these choices are appropriate, simply use GTK_BUTTONS_NONE then call gtk_dialog_add_buttons().

Members

GTK_BUTTONS_NONE

no buttons at all

 

GTK_BUTTONS_OK

an OK button

 

GTK_BUTTONS_CLOSE

a Close button

 

GTK_BUTTONS_CANCEL

a Cancel button

 

GTK_BUTTONS_YES_NO

Yes and No buttons

 

GTK_BUTTONS_OK_CANCEL

OK and Cancel buttons

 

Property Details

The “buttons” property

  “buttons”                  GtkButtonsType

The buttons shown in the message dialog.

Owner: GtkMessageDialog

Flags: Write / Construct Only

Default value: GTK_BUTTONS_NONE


The “message-area” property

  “message-area”             GtkWidget *

The GtkBox that corresponds to the message area of this dialog. See gtk_message_dialog_get_message_area() for a detailed description of this area.

Owner: GtkMessageDialog

Flags: Read


The “message-type” property

  “message-type”             GtkMessageType

The type of the message.

Owner: GtkMessageDialog

Flags: Read / Write / Construct

Default value: GTK_MESSAGE_INFO


The “secondary-text” property

  “secondary-text”           gchar *

The secondary text of the message dialog.

Owner: GtkMessageDialog

Flags: Read / Write

Default value: NULL


The “secondary-use-markup” property

  “secondary-use-markup”     gboolean

TRUE if the secondary text of the dialog includes Pango markup. See pango_parse_markup().

Owner: GtkMessageDialog

Flags: Read / Write

Default value: FALSE


The “text” property

  “text”                     gchar *

The primary text of the message dialog. If the dialog has a secondary text, this will appear as the title.

Owner: GtkMessageDialog

Flags: Read / Write

Default value: ""


The “use-markup” property

  “use-markup”               gboolean

TRUE if the primary text of the dialog includes Pango markup. See pango_parse_markup().

Owner: GtkMessageDialog

Flags: Read / Write

Default value: FALSE

See Also

GtkDialog

docs/reference/gtk/html/GtkNoSelection.html0000664000175000017500000002635313710700534021114 0ustar mclasenmclasen GtkNoSelection: GTK 4 Reference Manual

GtkNoSelection

GtkNoSelection — A selection model that does not allow selecting anything

Properties

GListModel * model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkNoSelection

Implemented Interfaces

GtkNoSelection implements GListModel and GtkSelectionModel.

Includes

#include <gtk/gtk.h>

Description

GtkNoSelection is an implementation of the GtkSelectionModel interface that does not allow selecting anything.

This model is meant to be used as a simple wrapper to GListModels when a GtkSelectionModel is required.

Functions

gtk_no_selection_new ()

GtkNoSelection *
gtk_no_selection_new (GListModel *model);

Creates a new selection to handle model .

Parameters

model

the GListModel to manage, or NULL.

[allow-none][transfer full]

Returns

a new GtkNoSelection.

[transfer full][type GtkNoSelection]


gtk_no_selection_get_model ()

GListModel *
gtk_no_selection_get_model (GtkNoSelection *self);

Gets the model that self is wrapping.

Parameters

self

a GtkNoSelection

 

Returns

The model being wrapped.

[transfer none]


gtk_no_selection_set_model ()

void
gtk_no_selection_set_model (GtkNoSelection *self,
                            GListModel *model);

Sets the model that self should wrap. If model is NULL, this model will be empty.

Parameters

self

a GtkNoSelection

 

model

A GListModel to wrap.

[allow-none]

Types and Values

GtkNoSelection

typedef struct _GtkNoSelection GtkNoSelection;

Property Details

The “model” property

  “model”                    GListModel *

The model being managed

Owner: GtkNoSelection

Flags: Read / Write

docs/reference/gtk/html/GtkRadioButton.html0000664000175000017500000011603713710700534021123 0ustar mclasenmclasen GtkRadioButton: GTK 4 Reference Manual

GtkRadioButton

GtkRadioButton — A choice from multiple check buttons

Properties

Signals

void group-changed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ╰── GtkToggleButton
                    ╰── GtkCheckButton
                        ╰── GtkRadioButton

Implemented Interfaces

GtkRadioButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

A single radio button performs the same basic function as a GtkCheckButton, 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.

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 GtkRadioButton is one way of giving the user a choice from many options.

Radio button widgets are created with gtk_radio_button_new(), passing NULL as the argument if this is the first radio button in a group. In subsequent calls, the group you wish to add this button to should be passed as an argument. Optionally, gtk_radio_button_new_with_label() can be used if you want a text label on the radio button.

Alternatively, when adding widgets to an existing group of radio buttons, use gtk_radio_button_new_from_widget() with a GtkRadioButton that already has a group assigned to it. The convenience function gtk_radio_button_new_with_label_from_widget() is also provided.

To retrieve the group a GtkRadioButton is assigned to, use gtk_radio_button_get_group().

To remove a GtkRadioButton from one group and make it part of a new one, use gtk_radio_button_set_group().

The group list does not need to be freed, as each GtkRadioButton will remove itself and its list item when it is destroyed.

How to create a group of two radio buttons.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void create_radio_buttons (void) {

   GtkWidget *window, *radio1, *radio2, *box, *entry;
   window = gtk_window_new ();
   box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
   gtk_box_set_homogeneous (GTK_BOX (box), TRUE);

   // Create a radio button with a GtkEntry widget
   radio1 = gtk_radio_button_new (NULL);
   entry = gtk_entry_new ();
   gtk_box_append (GTK_BOX (radio1), entry);


   // Create a radio button with a label
   radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
                                                         "I’m the second radio button.");

   // Pack them into a box, then show all the widgets
   gtk_box_append (GTK_BOX (box), radio1);
   gtk_box_append (GTK_BOX (box), radio2);
      gtk_window_set_child (GTK_WINDOW (window),box);
   gtk_widget_show (window);
   return;
}

When an unselected button in the group is clicked the clicked button receives the “toggled” signal, as does the previously selected button. Inside the “toggled” handler, gtk_toggle_button_get_active() can be used to determine if the button has been selected or deselected.

CSS nodes

1
2
3
radiobutton
├── radio
╰── <child>

A GtkRadioButton with indicator (see gtk_check_button_set_draw_indicator())) has a main CSS node with name radiobutton and a subnode with name radio.

1
2
3
button.radio
├── radio
╰── <child>

A GtkRadioButton without indicator changes the name of its main node to button and adds a .radio style class to it. The subnode is invisible in this case.


Accessibility

GtkRadioButton uses the GTK_ACCESSIBLE_ROLE_RADIO role.

Functions

gtk_radio_button_new ()

GtkWidget *
gtk_radio_button_new (GSList *group);

Creates a new GtkRadioButton. To be of any practical value, a widget should then be packed into the radio button.

Parameters

group

an existing radio button group, or NULL if you are creating a new group.

[element-type GtkRadioButton][allow-none]

Returns

a new radio button


gtk_radio_button_new_from_widget ()

GtkWidget *
gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member);

Creates a new GtkRadioButton, adding it to the same group as radio_group_member . As with gtk_radio_button_new(), a widget should be packed into the radio button.

[constructor]

Parameters

radio_group_member

an existing GtkRadioButton.

[allow-none]

Returns

a new radio button.

[transfer none]


gtk_radio_button_new_with_label ()

GtkWidget *
gtk_radio_button_new_with_label (GSList *group,
                                 const char *label);

Creates a new GtkRadioButton with a text label.

Parameters

group

an existing radio button group, or NULL if you are creating a new group.

[element-type GtkRadioButton][allow-none]

label

the text label to display next to the radio button.

 

Returns

a new radio button.


gtk_radio_button_new_with_label_from_widget ()

GtkWidget *
gtk_radio_button_new_with_label_from_widget
                               (GtkRadioButton *radio_group_member,
                                const char *label);

Creates a new GtkRadioButton with a text label, adding it to the same group as radio_group_member .

[constructor]

Parameters

radio_group_member

widget to get radio group from or NULL.

[allow-none]

label

a text string to display next to the radio button.

 

Returns

a new radio button.

[transfer none]


gtk_radio_button_new_with_mnemonic ()

GtkWidget *
gtk_radio_button_new_with_mnemonic (GSList *group,
                                    const char *label);

Creates a new GtkRadioButton containing a label, adding it to the same group as group . The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button.

Parameters

group

the radio button group, or NULL.

[element-type GtkRadioButton][allow-none]

label

the text of the button, with an underscore in front of the mnemonic character

 

Returns

a new GtkRadioButton


gtk_radio_button_new_with_mnemonic_from_widget ()

GtkWidget *
gtk_radio_button_new_with_mnemonic_from_widget
                               (GtkRadioButton *radio_group_member,
                                const char *label);

Creates a new GtkRadioButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button.

[constructor]

Parameters

radio_group_member

widget to get radio group from or NULL.

[allow-none]

label

the text of the button, with an underscore in front of the mnemonic character

 

Returns

a new GtkRadioButton.

[transfer none]


gtk_radio_button_set_group ()

void
gtk_radio_button_set_group (GtkRadioButton *radio_button,
                            GSList *group);

Sets a GtkRadioButton’s group. It should be noted that this does not change the layout of your interface in any way, so if you are changing the group, it is likely you will need to re-arrange the user interface to reflect these changes.

Parameters

radio_button

a GtkRadioButton.

 

group

an existing radio button group, such as one returned from gtk_radio_button_get_group(), or NULL.

[element-type GtkRadioButton][allow-none]

gtk_radio_button_get_group ()

GSList *
gtk_radio_button_get_group (GtkRadioButton *radio_button);

Retrieves the group assigned to a radio button.

Parameters

radio_button

a GtkRadioButton.

 

Returns

a linked list containing all the radio buttons in the same group as radio_button . The returned list is owned by the radio button and must not be modified or freed.

[element-type GtkRadioButton][transfer none]


gtk_radio_button_join_group ()

void
gtk_radio_button_join_group (GtkRadioButton *radio_button,
                             GtkRadioButton *group_source);

Joins a GtkRadioButton object to the group of another GtkRadioButton object

Use this in language bindings instead of the gtk_radio_button_get_group() and gtk_radio_button_set_group() methods

A common way to set up a group of radio buttons is the following:

1
2
3
4
5
6
7
8
9
10
GtkRadioButton *radio_button;
GtkRadioButton *last_button;

while (some_condition)
  {
     radio_button = GTK_RADIO_BUTTON (gtk_radio_button_new (NULL));

     gtk_radio_button_join_group (radio_button, last_button);
     last_button = radio_button;
  }

Parameters

radio_button

the GtkRadioButton object

 

group_source

a radio button object whos group we are joining, or NULL to remove the radio button from its group.

[allow-none]

Types and Values

GtkRadioButton

typedef struct _GtkRadioButton GtkRadioButton;

Property Details

The “group” property

  “group”                    GtkRadioButton *

Sets a new group for a radio button.

Owner: GtkRadioButton

Flags: Write

Signal Details

The “group-changed” signal

void
user_function (GtkRadioButton *button,
               gpointer        user_data)

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.

Parameters

button

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkComboBox

docs/reference/gtk/html/GtkStackSwitcher.html0000664000175000017500000002741613710700534021451 0ustar mclasenmclasen GtkStackSwitcher: GTK 4 Reference Manual

GtkStackSwitcher

GtkStackSwitcher — A controller for GtkStack

Properties

GtkStack * stack Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkStackSwitcher

Implemented Interfaces

GtkStackSwitcher implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkStackSwitcher widget acts as a controller for a GtkStack; it shows a row of buttons to switch between the various pages of the associated stack widget.

All the content for the buttons comes from the child properties of the GtkStack; the button visibility in a GtkStackSwitcher widget is controlled by the visibility of the child in the GtkStack.

It is possible to associate multiple GtkStackSwitcher widgets with the same GtkStack widget.

The GtkStackSwitcher widget was added in 3.10.

CSS nodes

GtkStackSwitcher has a single CSS node named stackswitcher and style class .stack-switcher.

When circumstances require it, GtkStackSwitcher adds the .needs-attention style class to the widgets representing the stack pages.

Functions

gtk_stack_switcher_new ()

GtkWidget *
gtk_stack_switcher_new (void);

Create a new GtkStackSwitcher.

Returns

a new GtkStackSwitcher.


gtk_stack_switcher_set_stack ()

void
gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher,
                              GtkStack *stack);

Sets the stack to control.

Parameters

switcher

a GtkStackSwitcher

 

stack

a GtkStack.

[allow-none]

gtk_stack_switcher_get_stack ()

GtkStack *
gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher);

Retrieves the stack. See gtk_stack_switcher_set_stack().

Parameters

switcher

a GtkStackSwitcher

 

Returns

the stack, or NULL if none has been set explicitly.

[nullable][transfer none]

Types and Values

GtkStackSwitcher

typedef struct _GtkStackSwitcher GtkStackSwitcher;

Property Details

The “stack” property

  “stack”                    GtkStack *

Stack.

Owner: GtkStackSwitcher

Flags: Read / Write / Construct

See Also

GtkStack

docs/reference/gtk/html/ch03s04.html0000664000175000017500000001034713710700534017304 0ustar mclasenmclasen GtkTextView questions: GTK 4 Reference Manual

GtkTextView questions

  1. How do I get the contents of the entire text widget as a string?

    See gtk_text_buffer_get_bounds() and gtk_text_buffer_get_text() or gtk_text_iter_get_text().

    GtkTextIter start, end;
    GtkTextBuffer *buffer;
    char *text;
    
    buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
    gtk_text_buffer_get_bounds (buffer, &start, &end);
    text = gtk_text_iter_get_text (&start, &end);
    /* use text */
    g_free (text);
    
  2. How do I make a text widget display its complete contents in a specific font?

    If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select the font, the inserted text will have the desired appearance, but text typed in by the user before or after the tagged block will appear in the default style.

    To ensure that all text has the desired appearance, use gtk_widget_override_font() to change the default font for the widget.

  3. How do I make a text view scroll to the end of the buffer automatically ?

    A good way to keep a text buffer scrolled to the end is to place a mark at the end of the buffer, and give it right gravity. The gravity has the effect that text inserted at the mark gets inserted before, keeping the mark at the end.

    To ensure that the end of the buffer remains visible, use gtk_text_view_scroll_to_mark() to scroll to the mark after inserting new text.

    The gtk-demo application contains an example of this technique.

docs/reference/gtk/html/gtk4-GtkFileChooserNative.html0000664000175000017500000007072713710700534023116 0ustar mclasenmclasen GtkFileChooserNative: GTK 4 Reference Manual

GtkFileChooserNative

GtkFileChooserNative — A native file chooser dialog, suitable for “File Open” or “File Save” commands

Types and Values

Includes

#include <gtk/gtk.h>

Description

GtkFileChooserNative is an abstraction of a dialog box suitable for use with “File Open” or “File Save as” commands. By default, this just uses a GtkFileChooserDialog to implement the actual dialog. However, on certain platforms, such as Windows and macOS, the native platform file chooser is used instead. When the application is running in a sandboxed environment without direct filesystem access (such as Flatpak), GtkFileChooserNative may call the proper APIs (portals) to let the user choose a file and make it available to the application.

While the API of GtkFileChooserNative closely mirrors GtkFileChooserDialog, the main difference is that there is no access to any GtkWindow or GtkWidget for the dialog. This is required, as there may not be one in the case of a platform native dialog.

Showing, hiding and running the dialog is handled by the GtkNativeDialog functions.

Typical usage

In the simplest of cases, you can the following code to use GtkFileChooserDialog to select a file for opening:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static void
on_response (GtkNativeDialog *dialog,
             int              response)
{
  if (response == GTK_RESPONSE_ACCEPT)
    {
      GtkFileChooser *chooser = GTK_FILE_CHOOSER (native);
      GFile *file = gtk_file_chooser_get_file (chooser);

      open_file (file);

      g_object_unref (file);
    }

  g_object_unref (native);
}

  // ...
  GtkFileChooserNative *native;
  GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;

  native = gtk_file_chooser_native_new ("Open File",
                                        parent_window,
                                        action,
                                        "_Open",
                                        "_Cancel");

  g_signal_connect (native, "response", G_CALLBACK (on_response), NULL);
  gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));

To use a dialog for saving, you can use this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
static void
on_response (GtkNativeDialog *dialog,
             int              response)
{
  if (response == GTK_RESPONSE_ACCEPT)
    {
      GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog);
      GFile *file = gtk_file_chooser_get_file (chooser);

      save_to_file (file);

      g_object_unref (file);
    }

  g_object_unref (native);
}

  // ...
  GtkFileChooserNative *native;
  GtkFileChooser *chooser;
  GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;

  native = gtk_file_chooser_native_new ("Save File",
                                        parent_window,
                                        action,
                                        "_Save",
                                        "_Cancel");
  chooser = GTK_FILE_CHOOSER (native);

  if (user_edited_a_new_document)
    gtk_file_chooser_set_current_name (chooser,
                                     _("Untitled document"));
  else
    gtk_file_chooser_set_filename (chooser,
                                   existing_filename);

  g_signal_connect (native, "response", G_CALLBACK (on_response), NULL);
  gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));

For more information on how to best set up a file dialog, see GtkFileChooserDialog.

Response Codes

GtkFileChooserNative inherits from GtkNativeDialog, which means it will return GTK_RESPONSE_ACCEPT if the user accepted, and GTK_RESPONSE_CANCEL if he pressed cancel. It can also return GTK_RESPONSE_DELETE_EVENT if the window was unexpectedly closed.

Differences from GtkFileChooserDialog

There are a few things in the GtkFileChooser API that are not possible to use with GtkFileChooserNative, as such use would prohibit the use of a native dialog.

No operations that change the dialog work while the dialog is visible. Set all the properties that are required before showing the dialog.

Win32 details

On windows the IFileDialog implementation (added in Windows Vista) is used. It supports many of the features that GtkFileChooserDialog does, but there are some things it does not handle:

If any of these features are used the regular GtkFileChooserDialog will be used in place of the native one.

Portal details

When the org.freedesktop.portal.FileChooser portal is available on the session bus, it is used to bring up an out-of-process file chooser. Depending on the kind of session the application is running in, this may or may not be a GTK file chooser.

macOS details

On macOS the NSSavePanel and NSOpenPanel classes are used to provide native file chooser dialogs. Some features provided by GtkFileChooserDialog are not supported:

  • Shortcut folders.

Functions

gtk_file_chooser_native_new ()

GtkFileChooserNative *
gtk_file_chooser_native_new (const char *title,
                             GtkWindow *parent,
                             GtkFileChooserAction action,
                             const char *accept_label,
                             const char *cancel_label);

Creates a new GtkFileChooserNative.

Parameters

title

Title of the native, or NULL.

[allow-none]

parent

Transient parent of the native, or NULL.

[allow-none]

action

Open or save mode for the dialog

 

accept_label

text to go in the accept button, or NULL for the default.

[allow-none]

cancel_label

text to go in the cancel button, or NULL for the default.

[allow-none]

Returns

a new GtkFileChooserNative


gtk_file_chooser_native_get_accept_label ()

const char *
gtk_file_chooser_native_get_accept_label
                               (GtkFileChooserNative *self);

Retrieves the custom label text for the accept button.

Parameters

Returns

The custom label, or NULL for the default. This string is owned by GTK+ and should not be modified or freed.

[nullable]


gtk_file_chooser_native_set_accept_label ()

void
gtk_file_chooser_native_set_accept_label
                               (GtkFileChooserNative *self,
                                const char *accept_label);

Sets the custom label text for the accept button.

If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters

self

a GtkFileChooserNative

 

accept_label

custom label or NULL for the default.

[allow-none]

gtk_file_chooser_native_get_cancel_label ()

const char *
gtk_file_chooser_native_get_cancel_label
                               (GtkFileChooserNative *self);

Retrieves the custom label text for the cancel button.

Parameters

Returns

The custom label, or NULL for the default. This string is owned by GTK+ and should not be modified or freed.

[nullable]


gtk_file_chooser_native_set_cancel_label ()

void
gtk_file_chooser_native_set_cancel_label
                               (GtkFileChooserNative *self,
                                const char *cancel_label);

Sets the custom label text for the cancel button.

If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters

self

a GtkFileChooserNative

 

cancel_label

custom label or NULL for the default.

[allow-none]

Types and Values

GtkFileChooserNative

typedef struct _GtkFileChooserNative GtkFileChooserNative;
docs/reference/gtk/html/GtkListItem.html0000664000175000017500000006217713710700534020430 0ustar mclasenmclasen GtkListItem: GTK 4 Reference Manual

GtkListItem

GtkListItem — Object used to represent items of a list model

Properties

gboolean activatable Read / Write
GtkWidget * child Read / Write
GObject * item Read
guint position Read
gboolean selectable Read / Write
gboolean selected Read

Types and Values

Object Hierarchy

    GObject
    ╰── GtkListItem

Includes

#include <gtk/gtk.h>

Description

GtkListItem is the object that list-handling containers such as GtkListView use to represent items in a GListModel. They are managed by the container and cannot be created by application code.

GtkListItems need to be populated by application code. This is done by calling gtk_list_item_set_child().

GtkListItems exist in 2 stages:

  1. The unbound stage where the listitem is not currently connected to an item in the list. In that case, the “item” property is set to NULL.

  2. The bound stage where the listitem references an item from the list. The “item” property is not NULL.

Functions

gtk_list_item_get_item ()

gpointer
gtk_list_item_get_item (GtkListItem *self);

Gets the item that is currently displayed in model that self is currently bound to or NULL if self is unbound.

Parameters

self

a GtkListItem

 

Returns

The item displayed.

[nullable][transfer none][type GObject]


gtk_list_item_get_position ()

guint
gtk_list_item_get_position (GtkListItem *self);

Gets the position in the model that self currently displays. If self is unbound, GTK_INVALID_LIST_POSITION is returned.

Parameters

self

a GtkListItem

 

Returns

The position of this item


gtk_list_item_get_child ()

GtkWidget *
gtk_list_item_get_child (GtkListItem *self);

Gets the child previously set via gtk_list_item_set_child() or NULL if none was set.

Parameters

self

a GtkListItem

 

Returns

The child.

[transfer none][nullable]


gtk_list_item_set_child ()

void
gtk_list_item_set_child (GtkListItem *self,
                         GtkWidget *child);

Sets the child to be used for this listitem.

This function is typically called by applications when setting up a listitem so that the widget can be reused when binding it multiple times.

Parameters

self

a GtkListItem

 

child

The list item's child or NULL to unset.

[nullable]

gtk_list_item_get_selected ()

gboolean
gtk_list_item_get_selected (GtkListItem *self);

Checks if the item is displayed as selected. The selected state is maintained by the container and its list model and cannot be set otherwise.

Parameters

self

a GtkListItem

 

Returns

TRUE if the item is selected.


gtk_list_item_get_selectable ()

gboolean
gtk_list_item_get_selectable (GtkListItem *self);

Checks if a list item has been set to be selectable via gtk_list_item_set_selectable().

Do not confuse this function with gtk_list_item_get_selected().

Parameters

self

a GtkListItem

 

Returns

TRUE if the item is selectable


gtk_list_item_set_selectable ()

void
gtk_list_item_set_selectable (GtkListItem *self,
                              gboolean selectable);

Sets self to be selectable. If an item is selectable, clicking on the item or using the keyboard will try to select or unselect the item. If this succeeds is up to the model to determine, as it is managing the selected state.

Note that this means that making an item non-selectable has no influence on the selected state at all. A non-selectable item may still be selected.

By default, list items are selectable. When rebinding them to a new item, they will also be reset to be selectable by GTK.

Parameters

self

a GtkListItem

 

selectable

if the item should be selectable

 

gtk_list_item_get_activatable ()

gboolean
gtk_list_item_get_activatable (GtkListItem *self);

Checks if a list item has been set to be activatable via gtk_list_item_set_activatable().

Parameters

self

a GtkListItem

 

Returns

TRUE if the item is activatable


gtk_list_item_set_activatable ()

void
gtk_list_item_set_activatable (GtkListItem *self,
                               gboolean activatable);

Sets self to be activatable.

If an item is activatable, double-clicking on the item, using the Return key or calling gtk_widget_activate() will activate the item. Activating instructs the containing view to handle activation. GtkListView for example will be emitting the “activate” signal.

By default, list items are activatable

Parameters

self

a GtkListItem

 

activatable

if the item should be activatable

 

Types and Values

GtkListItem

typedef struct _GtkListItem GtkListItem;

Property Details

The “activatable” property

  “activatable”              gboolean

If the item can be activated by the user

Owner: GtkListItem

Flags: Read / Write

Default value: TRUE


The “child” property

  “child”                    GtkWidget *

Widget used for display

Owner: GtkListItem

Flags: Read / Write


The “item” property

  “item”                     GObject *

Displayed item

Owner: GtkListItem

Flags: Read


The “position” property

  “position”                 guint

Position of the item

Owner: GtkListItem

Flags: Read

Default value: 4294967295


The “selectable” property

  “selectable”               gboolean

If the item can be selected by the user

Owner: GtkListItem

Flags: Read / Write

Default value: TRUE


The “selected” property

  “selected”                 gboolean

If the item is currently selected

Owner: GtkListItem

Flags: Read

Default value: FALSE

See Also

GtkListView, GListModel

docs/reference/gtk/html/GtkLockButton.html0000664000175000017500000004045013710700534020750 0ustar mclasenmclasen GtkLockButton: GTK 4 Reference Manual

GtkLockButton

GtkLockButton — A widget to unlock or lock privileged operations

Properties

GPermission * permission Read / Write
gchar * text-lock Read / Write / Construct
gchar * text-unlock Read / Write / Construct
gchar * tooltip-lock Read / Write / Construct
gchar * tooltip-not-authorized Read / Write / Construct
gchar * tooltip-unlock Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ╰── GtkLockButton

Implemented Interfaces

GtkLockButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

GtkLockButton is a widget that can be used in control panels or preference dialogs to allow users to obtain and revoke authorizations needed to operate the controls. The required authorization is represented by a GPermission object. Concrete implementations of GPermission may use PolicyKit or some other authorization framework. To obtain a PolicyKit-based GPermission, use polkit_permission_new().

If the user is not currently allowed to perform the action, but can obtain the permission, the widget looks like this:

and the user can click the button to request the permission. Depending on the platform, this may pop up an authentication dialog or ask the user to authenticate in some other way. Once the user has obtained the permission, the widget changes to this:

and the permission can be dropped again by clicking the button. If the user is not able to obtain the permission at all, the widget looks like this:

If the user has the permission and cannot drop it, the button is hidden.

The text (and tooltips) that are shown in the various cases can be adjusted with the “text-lock”, “text-unlock”, “tooltip-lock”, “tooltip-unlock” and “tooltip-not-authorized” properties.

Functions

gtk_lock_button_new ()

GtkWidget *
gtk_lock_button_new (GPermission *permission);

Creates a new lock button which reflects the permission .

Parameters

permission

a GPermission.

[allow-none]

Returns

a new GtkLockButton


gtk_lock_button_get_permission ()

GPermission *
gtk_lock_button_get_permission (GtkLockButton *button);

Obtains the GPermission object that controls button .

Parameters

button

a GtkLockButton

 

Returns

the GPermission of button .

[transfer none]


gtk_lock_button_set_permission ()

void
gtk_lock_button_set_permission (GtkLockButton *button,
                                GPermission *permission);

Sets the GPermission object that controls button .

Parameters

button

a GtkLockButton

 

permission

a GPermission object, or NULL.

[allow-none]

Types and Values

GtkLockButton

typedef struct _GtkLockButton GtkLockButton;

Property Details

The “permission” property

  “permission”               GPermission *

The GPermission object controlling this button.

Owner: GtkLockButton

Flags: Read / Write


The “text-lock” property

  “text-lock”                gchar *

The text to display when prompting the user to lock.

Owner: GtkLockButton

Flags: Read / Write / Construct

Default value: "Lock"


The “text-unlock” property

  “text-unlock”              gchar *

The text to display when prompting the user to unlock.

Owner: GtkLockButton

Flags: Read / Write / Construct

Default value: "Unlock"


The “tooltip-lock” property

  “tooltip-lock”             gchar *

The tooltip to display when prompting the user to lock.

Owner: GtkLockButton

Flags: Read / Write / Construct

Default value: "Dialog is unlocked.\nClick to prevent further changes"


The “tooltip-not-authorized” property

  “tooltip-not-authorized”   gchar *

The tooltip to display when prompting the user cannot obtain authorization.

Owner: GtkLockButton

Flags: Read / Write / Construct

Default value: "System policy prevents changes.\nContact your system administrator"


The “tooltip-unlock” property

  “tooltip-unlock”           gchar *

The tooltip to display when prompting the user to unlock.

Owner: GtkLockButton

Flags: Read / Write / Construct

Default value: "Dialog is locked.\nClick to make changes"

docs/reference/gtk/html/GtkMediaStream.html0000664000175000017500000021455013710700534021063 0ustar mclasenmclasen GtkMediaStream: GTK 4 Reference Manual

GtkMediaStream

GtkMediaStream — Display media in GTK

Properties

gint64 duration Read
gboolean ended Read
GError * error Read
gboolean has-audio Read
gboolean has-video Read
gboolean loop Read / Write
gboolean muted Read / Write
gboolean playing Read / Write
gboolean prepared Read / Write
gboolean seekable Read
gboolean seeking Read
gint64 timestamp Read
gdouble volume Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkMediaStream
        ╰── GtkMediaFile

Implemented Interfaces

GtkMediaStream implements GdkPaintable.

Includes

#include <gtk/gtk.h>

Description

GtkMediaStream is the integration point for media playback inside GTK.

Apart from application-facing API for stream playback, GtkMediaStream has a number of APIs that are only useful for implementations and should not be used in applications: gtk_media_stream_prepared(), gtk_media_stream_unprepared(), gtk_media_stream_update(), gtk_media_stream_ended(), gtk_media_stream_seek_success(), gtk_media_stream_seek_failed(), gtk_media_stream_gerror(), gtk_media_stream_error(), gtk_media_stream_error_valist().

Functions

gtk_media_stream_is_prepared ()

gboolean
gtk_media_stream_is_prepared (GtkMediaStream *self);

Returns whether the stream has finished initializing and existence of audio and video is known.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream is prepared


gtk_media_stream_get_error ()

const GError *
gtk_media_stream_get_error (GtkMediaStream *self);

If the stream is in an error state, returns the GError explaining that state. Any type of error can be reported here depending on the implementation of the media stream.

A media stream in an error cannot be operated on, calls like gtk_media_stream_play() or gtk_media_stream_seek() will not have any effect.

GtkMediaStream itself does not provide a way to unset an error, but implementations may provide options. For example, a GtkMediaFile will unset errors when a new source is set with ie gtk_media_file_set_file().

Parameters

self

a GtkMediaStream

 

Returns

NULL if not in an error state or the GError of the stream.

[nullable][transfer none]


gtk_media_stream_has_audio ()

gboolean
gtk_media_stream_has_audio (GtkMediaStream *self);

Returns whether the stream has audio.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream has audio


gtk_media_stream_has_video ()

gboolean
gtk_media_stream_has_video (GtkMediaStream *self);

Returns whether the stream has video.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream has video


gtk_media_stream_play ()

void
gtk_media_stream_play (GtkMediaStream *self);

Starts playing the stream. If the stream is in error or already playing, do nothing.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_pause ()

void
gtk_media_stream_pause (GtkMediaStream *self);

Pauses playback of the stream. If the stream is not playing, do nothing.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_get_playing ()

gboolean
gtk_media_stream_get_playing (GtkMediaStream *self);

Return whether the stream is currently playing.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream is playing


gtk_media_stream_set_playing ()

void
gtk_media_stream_set_playing (GtkMediaStream *self,
                              gboolean playing);

Starts or pauses playback of the stream.

Parameters

self

a GtkMediaStream

 

playing

whether to start or pause playback

 

gtk_media_stream_get_ended ()

gboolean
gtk_media_stream_get_ended (GtkMediaStream *self);

Returns whether the streams playback is finished.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if playback is finished


gtk_media_stream_get_timestamp ()

gint64
gtk_media_stream_get_timestamp (GtkMediaStream *self);

Returns the current presentation timestamp in microseconds.

Parameters

self

a GtkMediaStream

 

Returns

the timestamp in microseconds


gtk_media_stream_get_duration ()

gint64
gtk_media_stream_get_duration (GtkMediaStream *self);

Gets the duration of the stream. If the duration is not known, 0 will be returned.

Parameters

self

a GtkMediaStream

 

Returns

the duration of the stream or 0 if not known.


gtk_media_stream_is_seekable ()

gboolean
gtk_media_stream_is_seekable (GtkMediaStream *self);

Checks if a stream may be seekable.

This is meant to be a hint. Streams may not allow seeking even if this function returns TRUE. However, if this function returns FALSE, streams are guaranteed to not be seekable and user interfaces may hide controls that allow seeking.

It is allowed to call gtk_media_stream_seek() on a non-seekable stream, though it will not do anything.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream may support seeking


gtk_media_stream_is_seeking ()

gboolean
gtk_media_stream_is_seeking (GtkMediaStream *self);

Checks if there is currently a seek operation going on.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if a seek operation is ongoing.


gtk_media_stream_seek ()

void
gtk_media_stream_seek (GtkMediaStream *self,
                       gint64 timestamp);

Start a seek operation on self to timestamp . If timestamp is out of range, it will be clamped.

Seek operations may not finish instantly. While a seek operation is in process, the GtkMediaStream:seeking property will be set.

When calling gtk_media_stream_seek() during an ongoing seek operation, the new seek wil override any pending seek.

Parameters

self

a GtkMediaStream

 

timestamp

timestamp to seek to.

 

gtk_media_stream_get_loop ()

gboolean
gtk_media_stream_get_loop (GtkMediaStream *self);

Returns whether the stream is set to loop. See gtk_media_stream_set_loop() for details.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream should loop


gtk_media_stream_set_loop ()

void
gtk_media_stream_set_loop (GtkMediaStream *self,
                           gboolean loop);

Sets whether the stream should loop, ie restart playback from the beginning instead of stopping at the end.

Not all streams may support looping, in particular non-seekable streams. Those streams will ignore the loop setting and just end.

Parameters

self

a GtkMediaStream

 

loop

TRUE if the stream should loop

 

gtk_media_stream_get_muted ()

gboolean
gtk_media_stream_get_muted (GtkMediaStream *self);

Returns whether the audio for the stream is muted. See gtk_media_stream_set_muted() for details.

Parameters

self

a GtkMediaStream

 

Returns

TRUE if the stream is muted


gtk_media_stream_set_muted ()

void
gtk_media_stream_set_muted (GtkMediaStream *self,
                            gboolean muted);

Sets whether the audio stream should be muted. Muting a stream will cause no audio to be played, but it does not modify the volume. This means that muting and then unmuting the stream will restore the volume settings.

If the stream has no audio, calling this function will still work but it will not have an audible effect.

Parameters

self

a GtkMediaStream

 

muted

TRUE if the stream should be muted

 

gtk_media_stream_get_volume ()

double
gtk_media_stream_get_volume (GtkMediaStream *self);

Returns the volume of the audio for the stream. See gtk_media_stream_set_volume() for details.

Parameters

self

a GtkMediaStream

 

Returns

volume of the stream from 0.0 to 1.0


gtk_media_stream_set_volume ()

void
gtk_media_stream_set_volume (GtkMediaStream *self,
                             double volume);

Sets the volume of the audio stream. This function call will work even if the stream is muted.

The given volume should range from 0.0 for silence to 1.0 for as loud as possible. Values outside of this range will be clamped to the nearest value.

If the stream has no audio or is muted, calling this function will still work but it will not have an immediate audible effect. When the stream is unmuted, the new volume setting will take effect.

Parameters

self

a GtkMediaStream

 

volume

New volume of the stream from 0.0 to 1.0

 

gtk_media_stream_realize ()

void
gtk_media_stream_realize (GtkMediaStream *self,
                          GdkSurface *surface);

Called by users to attach the media stream to a GdkSurface they manage. The stream can then access the resources of surface for its rendering purposes. In particular, media streams might want to create GdkGLContexts or sync to the GdkFrameClock.

Whoever calls this function is responsible for calling gtk_media_stream_unrealize() before either the stream or surface get destroyed.

Multiple calls to this function may happen from different users of the video, even with the same surface . Each of these calls must be followed by its own call to gtk_media_stream_unrealize().

It is not required to call this function to make a media stream work.

Parameters

self

a GtkMediaStream

 

surface

a GdkSurface

 

gtk_media_stream_unrealize ()

void
gtk_media_stream_unrealize (GtkMediaStream *self,
                            GdkSurface *surface);

Undoes a previous call to gtk_media_stream_realize() and causes the stream to release all resources it had allocated from surface .

Parameters

self

a GtkMediaStream previously realized

 

surface

the GdkSurface the stream was realized with

 

gtk_media_stream_prepared ()

void
gtk_media_stream_prepared (GtkMediaStream *self,
                           gboolean has_audio,
                           gboolean has_video,
                           gboolean seekable,
                           gint64 duration);

Called by GtkMediaStream implementations to advertise the stream being ready to play and providing details about the stream.

Note that the arguments are hints. If the stream implementation cannot determine the correct values, it is better to err on the side of caution and return TRUE. User interfaces will use those values to determine what controls to show.

This function may not be called again until the stream has been reset via gtk_media_stream_unprepared().

Parameters

self

a GtkMediaStream

 

has_audio

TRUE if the stream should advertise audio support

 

has_video

TRUE if the stream should advertise video support

 

seekable

TRUE if the stream should advertise seekability

 

duration

The duration of the stream or 0 if unknown

 

gtk_media_stream_unprepared ()

void
gtk_media_stream_unprepared (GtkMediaStream *self);

Resets a given media stream implementation. gtk_media_stream_prepared() can now be called again.

This function will also reset any error state the stream was in.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_update ()

void
gtk_media_stream_update (GtkMediaStream *self,
                         gint64 timestamp);

Media stream implementations should regularly call this function to update the timestamp reported by the stream. It is up to implementations to call this at the frequency they deem appropriate.

Parameters

self

a GtkMediaStream

 

timestamp

the new timestamp

 

gtk_media_stream_ended ()

void
gtk_media_stream_ended (GtkMediaStream *self);

Pauses the media stream and marks it as ended. This is a hint only, calls to GtkMediaStream.play() may still happen.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_seek_success ()

void
gtk_media_stream_seek_success (GtkMediaStream *self);

Ends a seek operation started via GtkMediaStream.seek() successfully. This function will unset the GtkMediaStream:ended property if it was set.

See gtk_media_stream_seek_failed() for the other way of ending a seek.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_seek_failed ()

void
gtk_media_stream_seek_failed (GtkMediaStream *self);

Ends a seek operation started via GtkMediaStream.seek() as a failure. This will not cause an error on the stream and will assume that playback continues as if no seek had happened.

See gtk_media_stream_seek_success() for the other way of ending a seek.

Parameters

self

a GtkMediaStream

 

gtk_media_stream_gerror ()

void
gtk_media_stream_gerror (GtkMediaStream *self,
                         GError *error);

Sets self into an error state. This will pause the stream (you can check for an error via gtk_media_stream_get_error() in your GtkMediaStream.pause() implementation), abort pending seeks and mark the stream as prepared.

if the stream is already in an error state, this call will be ignored and the existing error will be retained. FIXME: Or do we want to set the new error?

To unset an error, the stream must be reset via a call to gtk_media_stream_unprepared().

Parameters

self

a GtkMediaStream

 

error

the GError to set.

[transfer full]

gtk_media_stream_error ()

void
gtk_media_stream_error (GtkMediaStream *self,
                        GQuark domain,
                        int code,
                        const char *format,
                        ...);

Sets self into an error state using a printf()-style format string.

This is a utility function that calls gtk_media_stream_gerror(). See that function for details.

Parameters

self

a GtkMediaStream

 

domain

error domain

 

code

error code

 

format

printf()-style format for error message

 

...

parameters for message format

 

gtk_media_stream_error_valist ()

void
gtk_media_stream_error_valist (GtkMediaStream *self,
                               GQuark domain,
                               int code,
                               const char *format,
                               va_list args);

Sets self into an error state using a printf()-style format string.

This is a utility function that calls gtk_media_stream_gerror(). See that function for details.

Parameters

self

a GtkMediaStream

 

domain

error domain

 

code

error code

 

format

printf()-style format for error message

 

args

va_list of parameters for the message format

 

Types and Values

GtkMediaStream

typedef struct _GtkMediaStream GtkMediaStream;

struct GtkMediaStreamClass

struct GtkMediaStreamClass {
  GObjectClass parent_class;

  gboolean              (* play)                                (GtkMediaStream *self);
  void                  (* pause)                               (GtkMediaStream *self);
  void                  (* seek)                                (GtkMediaStream *self,
                                                                 gint64          timestamp);
  void                  (* update_audio)                        (GtkMediaStream *self,
                                                                 gboolean        muted,
                                                                 double          volume);
  void                  (* realize)                             (GtkMediaStream *self,
                                                                 GdkSurface      *surface);
  void                  (* unrealize)                           (GtkMediaStream *self,
                                                                 GdkSurface      *surface);

  /* Padding for future expansion */
  void (*_gtk_reserved1) (void);
  void (*_gtk_reserved2) (void);
  void (*_gtk_reserved3) (void);
  void (*_gtk_reserved4) (void);
  void (*_gtk_reserved5) (void);
  void (*_gtk_reserved6) (void);
  void (*_gtk_reserved7) (void);
  void (*_gtk_reserved8) (void);
};

Property Details

The “duration” property

  “duration”                 gint64

The stream's duration in microseconds or 0 if unknown.

Owner: GtkMediaStream

Flags: Read

Allowed values: >= 0

Default value: 0


The “ended” property

  “ended”                    gboolean

Set when playback has finished.

Owner: GtkMediaStream

Flags: Read

Default value: FALSE


The “error” property

  “error”                    GError *

NULL for a properly working stream or the GError that the stream is in.

Owner: GtkMediaStream

Flags: Read


The “has-audio” property

  “has-audio”                gboolean

Whether the stream contains audio

Owner: GtkMediaStream

Flags: Read

Default value: FALSE


The “has-video” property

  “has-video”                gboolean

Whether the stream contains video

Owner: GtkMediaStream

Flags: Read

Default value: FALSE


The “loop” property

  “loop”                     gboolean

Try to restart the media from the beginning once it ended.

Owner: GtkMediaStream

Flags: Read / Write

Default value: FALSE


The “muted” property

  “muted”                    gboolean

Whether the audio stream should be muted.

Owner: GtkMediaStream

Flags: Read / Write

Default value: FALSE


The “playing” property

  “playing”                  gboolean

Whether the stream is currently playing.

Owner: GtkMediaStream

Flags: Read / Write

Default value: FALSE


The “prepared” property

  “prepared”                 gboolean

Whether the stream has finished initializing and existence of audio and video is known.

Owner: GtkMediaStream

Flags: Read / Write

Default value: FALSE


The “seekable” property

  “seekable”                 gboolean

Set unless the stream is known to not support seeking.

Owner: GtkMediaStream

Flags: Read

Default value: TRUE


The “seeking” property

  “seeking”                  gboolean

Set while a seek is in progress.

Owner: GtkMediaStream

Flags: Read

Default value: FALSE


The “timestamp” property

  “timestamp”                gint64

The current presentation timestamp in microseconds.

Owner: GtkMediaStream

Flags: Read

Allowed values: >= 0

Default value: 0


The “volume” property

  “volume”                   gdouble

Volume of the audio stream.

Owner: GtkMediaStream

Flags: Read / Write

Allowed values: [0,1]

Default value: 1

See Also

GdkPaintable

docs/reference/gtk/html/GtkMultiSorter.html0000664000175000017500000002173413710700534021161 0ustar mclasenmclasen GtkMultiSorter: GTK 4 Reference Manual

GtkMultiSorter

GtkMultiSorter — Combining multiple sorters

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ╰── GtkMultiSorter

Implemented Interfaces

GtkMultiSorter implements GListModel and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkMultiSorter combines multiple sorters by trying them in turn. If the first sorter compares two items as equal, the second is tried next, and so on.

Functions

gtk_multi_sorter_new ()

GtkSorter *
gtk_multi_sorter_new (void);

Creates a new multi sorter.

This sorter compares items by trying each of the sorters in turn, until one returns non-zero. In particular, if no sorter has been added to it, it will always compare items as equal.

Returns

a new GtkSorter


gtk_multi_sorter_append ()

void
gtk_multi_sorter_append (GtkMultiSorter *self,
                         GtkSorter *sorter);

Add sorter to self to use for sorting at the end. self will consult all existing sorters before it will sort with the given sorter .

Parameters

self

a GtkMultiSorter

 

sorter

a sorter to add.

[transfer full]

gtk_multi_sorter_remove ()

void
gtk_multi_sorter_remove (GtkMultiSorter *self,
                         guint position);

Removes the sorter at the given position from the list of sorter used by self .

If position is larger than the number of sorters, nothing happens.

Parameters

self

a GtkMultiSorter

 

position

position of sorter to remove

 

Types and Values

GtkMultiSorter

typedef struct _GtkMultiSorter GtkMultiSorter;
docs/reference/gtk/html/GtkNumericSorter.html0000664000175000017500000003777713710700534021507 0ustar mclasenmclasen GtkNumericSorter: GTK 4 Reference Manual

GtkNumericSorter

GtkNumericSorter — Sort by comparing numbers

Properties

GtkExpression * expression Read / Write
GtkSortType sort-order Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ╰── GtkNumericSorter

Includes

#include <gtk/gtk.h>

Description

GtkNumericSorter is a GtkSorter that compares numbers.

To obtain the numbers to compare, this sorter evaluates a GtkExpression.

Functions

gtk_numeric_sorter_new ()

GtkSorter *
gtk_numeric_sorter_new (GtkExpression *expression);

Creates a new numeric sorter using the given expression .

Smaller numbers will be sorted first. You can call gtk_numeric_sorter_set_sort_order() to change this.

Parameters

expression

The expression to evaluate.

[transfer full][nullable]

Returns

a new GtkSorter


gtk_numeric_sorter_get_expression ()

GtkExpression *
gtk_numeric_sorter_get_expression (GtkNumericSorter *self);

Gets the expression that is evaluated to obtain numbers from items.

Parameters

self

a GtkNumericSorter

 

Returns

a GtkExpression, or NULL.

[transfer none][nullable]


gtk_numeric_sorter_set_expression ()

void
gtk_numeric_sorter_set_expression (GtkNumericSorter *self,
                                   GtkExpression *expression);

Sets the expression that is evaluated to obtain numbers from items.

Unless an expression is set on self , the sorter will always compare items as invalid.

The expression must have a return type that can be compared numerically, such as G_TYPE_INT or G_TYPE_DOUBLE.

Parameters

self

a GtkNumericSorter

 

expression

a GtkExpression, or NULL.

[nullable][transfer none]

gtk_numeric_sorter_get_sort_order ()

GtkSortType
gtk_numeric_sorter_get_sort_order (GtkNumericSorter *self);

Gets whether this sorter will sort smaller numbers first.

Parameters

self

a GtkNumericSorter

 

Returns

the order of the numbers


gtk_numeric_sorter_set_sort_order ()

void
gtk_numeric_sorter_set_sort_order (GtkNumericSorter *self,
                                   GtkSortType sort_order);

Sets whether to sort smaller numbers before larger ones.

Parameters

self

a GtkNumericSorter

 

sort_order

whether to sort smaller numbers first

 

Types and Values

GtkNumericSorter

typedef struct _GtkNumericSorter GtkNumericSorter;

Property Details

The “expression” property

  “expression”               GtkExpression *

The expression to evalute on items to get a number to compare with

[type GtkExpression]

Owner: GtkNumericSorter

Flags: Read / Write


The “sort-order” property

  “sort-order”               GtkSortType

Whether the sorter will sort smaller numbers first

Owner: GtkNumericSorter

Flags: Read / Write

Default value: GTK_SORT_ASCENDING

See Also

GtkExpression

docs/reference/gtk/html/GtkSignalListItemFactory.html0000664000175000017500000004470013710700534023106 0ustar mclasenmclasen GtkSignalListItemFactory: GTK 4 Reference Manual

GtkSignalListItemFactory

GtkSignalListItemFactory — A listitem factory providing signals

Signals

void bind Run First
void setup Run First
void teardown Run First
void unbind Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkListItemFactory
        ╰── GtkSignalListItemFactory

Includes

#include <gtk/gtk.h>

Description

GtkSignalListItemFactory is a GtkListItemFactory that provides signals that user code can connect to to manage listitems. Signals are emitted for every listitem in the same order:

  1. “setup” is emitted to set up permanent things on the listitem. This usually means constructing the widgets used in the row and adding them to the listitem.

  2. “bind” is emitted to bind the item passed via “item” to the widgets that have been created in step 1 or to add item-specific widgets. Signals are connected to listen to changes - both to changes in the item to update the widgets or to changes in the widgets to update the item. After this signal has been called, the listitem may be shown in a list widget.

  3. “unbind” is emitted to undo everything done in step 2. Usually this means disconnecting signal handlers. Once this signal has been called, the listitem will no longer be used in a list widget.

  4. “bind” and “unbind” may be emitted multiple times again to bind the listitem for use with new items. By reusing listitems, potentially costly setup can be avoided. However, it means code needs to make sure to properly clean up the listitem in step 3 so that no information from the previous use leaks into the next use.

    1. “teardown” is emitted to allow undoing the

effects of “setup”. After this signal was emitted on a listitem, the listitem will be destroyed and not be used again.

Note that during the signal emissions, changing properties on the GtkListItems passed will not trigger notify signals as the listitem's notifications are frozen. See g_object_freeze_notify() for details.

For tracking changes in other properties in the GtkListItem, the “notify” signal is recommended. The signal can be connected in the “setup” signal and removed again during “teardown”.

Functions

gtk_signal_list_item_factory_new ()

GtkListItemFactory *
gtk_signal_list_item_factory_new (void);

Creates a new GtkSignalListItemFactory. You need to connect signal handlers before you use it.

Returns

a new GtkSignalListItemFactory

Types and Values

GtkSignalListItemFactory

typedef struct _GtkSignalListItemFactory GtkSignalListItemFactory;

The object for the GtkSignalListItemFactory.

Signal Details

The “bind” signal

void
user_function (GtkSignalListItemFactory *self,
               GtkListItem              *listitem,
               gpointer                  user_data)

The ::bind signal is emitted when a new GtkListItem:item has been set on the listitem and should be bound for use.

After this signal was emitted, the listitem might be shown in a GtkListView or other list widget.

The GtkSignalListItemFactory::unbind signal is the opposite of this signal and can be used to undo everything done in this signal.

Parameters

self

The GtkSignalListItemFactory

 

listitem

The GtkListItem to bind

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “setup” signal

void
user_function (GtkSignalListItemFactory *self,
               GtkListItem              *listitem,
               gpointer                  user_data)

The ::setup signal is emitted when a new listitem has been created and needs to be setup for use. It is the first signal emitted for every listitem.

The GtkSignalListItemFactory::teardown signal is the opposite of this signal and can be used to undo everything done in this signal.

Parameters

self

The GtkSignalListItemFactory

 

listitem

The GtkListItem to set up

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “teardown” signal

void
user_function (GtkSignalListItemFactory *self,
               GtkListItem              *listitem,
               gpointer                  user_data)

The ::teardown signal is emitted when a listitem is about to be destroyed. It is the last signal ever emitted for this listitem .

This signal is the opposite of the GtkSignalListItemFactory::setup signal and should be used to undo everything done in that signal.

Parameters

self

The GtkSignalListItemFactory

 

listitem

The GtkListItem to teardown

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “unbind” signal

void
user_function (GtkSignalListItemFactory *self,
               GtkListItem              *listitem,
               gpointer                  user_data)

The ::unbind signal is emitted when a listitem has been removed from use in a list widget and its new GtkListItem:item is about to be unset.

This signal is the opposite of the GtkSignalListItemFactory::bind signal and should be used to undo everything done in that signal.

Parameters

self

The GtkSignalListItemFactory

 

listitem

The GtkListItem to unbind

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/SelectorWidgets.html0000664000175000017500000001051013710700534021317 0ustar mclasenmclasen Selector Widgets and Dialogs: GTK 4 Reference Manual

Selector Widgets and Dialogs

GtkColorChooser — Interface implemented by widgets for choosing colors
GtkColorButton — A button to launch a color selection dialog
GtkColorChooserWidget — A widget for choosing colors
GtkColorChooserDialog — A dialog for choosing colors
GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
GtkFileChooserButton — A button to launch a file chooser dialog
GtkFileChooserNative — A native file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserDialog — A file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserWidget — A file chooser widget
GtkFontChooser — Interface implemented by widgets displaying fonts
GtkFontButton — A button to launch a font chooser dialog
GtkFontChooserWidget — A widget for selecting fonts
GtkFontChooserDialog — A dialog for selecting fonts
GtkEmojiChooser — A popover to choose an Emoji character
docs/reference/gtk/html/actions-overview.html0000664000175000017500000001413613710700534021524 0ustar mclasenmclasen Overview of actions in GTK: GTK 4 Reference Manual

Overview of actions in GTK

This chapter describes in detail how GTK uses actions to connect activatable UI elements to callbacks. GTK inherits the underlying architecture of GAction and GMe:u for describing abstract actions and menus from the GIO library.

Basics about actions

A GAction is essentially a way to tell the toolkit about a piece of functionality in your program, and to give it a name.

Actions are purely functional. They do not contain any presentational information.

An action has four pieces of information associated with it:

  • a name as an identifier (usually all-lowercase, untranslated English string)

  • an enabled flag indicating if the action can be activated or not (like the sensitive property on widgets)

  • an optional state value, for stateful actions (like a boolean for toggles)

  • an optional parameter type, used when activating the action

An action supports two operations. You can activate it, which requires passing a parameter of the correct type And you can request to change the actions state (for stateful actions) to a new state value of the correct type.

Here are some rules about an action:

  • the name is immutable (in the sense that it will never change) and it is never NULL

  • the enabled flag can change

  • the parameter type is immutable

  • the parameter type is optional: it can be NULL

  • if the parameter type is NULL then action activation must be done without a parameter (ie: a NULL GVariant pointer)

  • if the parameter type is non-NULL then the parameter must have this type

  • the state can change, but it cannot change type

  • if the action was stateful when it was created, it will always have a state and it will always have exactly the same type (such as boolean or string)

  • if the action was stateless when it was created, it can never have a state

  • you can only request state changes on stateful actions and it is only possible to request that the state change to a value of the same type as the existing state

An action does not have any sort of presentational information such as a label, an icon or a way of creating a widget from it.

docs/reference/gtk/html/GtkOverlay.html0000664000175000017500000006702013710700534020307 0ustar mclasenmclasen GtkOverlay: GTK 4 Reference Manual

GtkOverlay

GtkOverlay — A container which overlays widgets on top of each other

Properties

GtkWidget * child Read / Write

Signals

gboolean get-child-position Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkOverlay

Implemented Interfaces

GtkOverlay implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkOverlay is a container which contains a single main child, on top of which it can place “overlay” widgets. The position of each overlay widget is determined by its “halign” and “valign” properties. E.g. a widget with both alignments set to GTK_ALIGN_START will be placed at the top left corner of the GtkOverlay container, whereas an overlay with halign set to GTK_ALIGN_CENTER and valign set to GTK_ALIGN_END will be placed a the bottom edge of the GtkOverlay, horizontally centered. The position can be adjusted by setting the margin properties of the child to non-zero values.

More complicated placement of overlays is possible by connecting to the “get-child-position” signal.

An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes.

GtkOverlay as GtkBuildable

The GtkOverlay implementation of the GtkBuildable interface supports placing a child as an overlay by specifying “overlay” as the “type” attribute of a <child> element.


CSS nodes

GtkOverlay has a single CSS node with the name “overlay”. Overlay children whose alignments cause them to be positioned at an edge get the style classes “.left”, “.right”, “.top”, and/or “.bottom” according to their position.

Functions

gtk_overlay_new ()

GtkWidget *
gtk_overlay_new (void);

Creates a new GtkOverlay.

Returns

a new GtkOverlay object.


gtk_overlay_set_child ()

void
gtk_overlay_set_child (GtkOverlay *overlay,
                       GtkWidget *child);

Sets the child widget of overlay .

Parameters

overlay

a GtkOverlay

 

child

the child widget.

[allow-none]

gtk_overlay_get_child ()

GtkWidget *
gtk_overlay_get_child (GtkOverlay *overlay);

Gets the child widget of overlay .

Parameters

overlay

a GtkOverlay

 

Returns

the child widget of overlay .

[nullable][transfer none]


gtk_overlay_add_overlay ()

void
gtk_overlay_add_overlay (GtkOverlay *overlay,
                         GtkWidget *widget);

Adds widget to overlay .

The widget will be stacked on top of the main widget added with gtk_container_add().

The position at which widget is placed is determined from its “halign” and “valign” properties.

Parameters

overlay

a GtkOverlay

 

widget

a GtkWidget to be added to the container

 

gtk_overlay_remove_overlay ()

void
gtk_overlay_remove_overlay (GtkOverlay *overlay,
                            GtkWidget *widget);

Removes an overlay that was added with gtk_overlay_add_overlay().

Parameters

overlay

a GtkOverlay

 

widget

a GtkWidget to be removed

 

gtk_overlay_get_measure_overlay ()

gboolean
gtk_overlay_get_measure_overlay (GtkOverlay *overlay,
                                 GtkWidget *widget);

Gets whether widget 's size is included in the measurement of overlay .

Parameters

overlay

a GtkOverlay

 

widget

an overlay child of GtkOverlay

 

Returns

whether the widget is measured


gtk_overlay_set_measure_overlay ()

void
gtk_overlay_set_measure_overlay (GtkOverlay *overlay,
                                 GtkWidget *widget,
                                 gboolean measure);

Sets whether widget is included in the measured size of overlay .

The overlay will request the size of the largest child that has this property set to TRUE. Children who are not included may be drawn outside of overlay 's allocation if they are too large.

Parameters

overlay

a GtkOverlay

 

widget

an overlay child of GtkOverlay

 

measure

whether the child should be measured

 

gtk_overlay_get_clip_overlay ()

gboolean
gtk_overlay_get_clip_overlay (GtkOverlay *overlay,
                              GtkWidget *widget);

Gets whether widget should be clipped within the parent.

Parameters

overlay

a GtkOverlay

 

widget

an overlay child of GtkOverlay

 

Returns

whether the widget is clipped within the parent.


gtk_overlay_set_clip_overlay ()

void
gtk_overlay_set_clip_overlay (GtkOverlay *overlay,
                              GtkWidget *widget,
                              gboolean clip_overlay);

Sets whether widget should be clipped within the parent.

Parameters

overlay

a GtkOverlay

 

widget

an overlay child of GtkOverlay

 

clip_overlay

whether the child should be clipped

 

Types and Values

GtkOverlay

typedef struct _GtkOverlay GtkOverlay;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkOverlay

Flags: Read / Write

Signal Details

The “get-child-position” signal

gboolean
user_function (GtkOverlay   *overlay,
               GtkWidget    *widget,
               GdkRectangle *allocation,
               gpointer      user_data)

The ::get-child-position signal is emitted to determine the position and size of any overlay child widgets. A handler for this signal should fill allocation with the desired position and size for widget , relative to the 'main' child of overlay .

The default handler for this signal uses the widget 's halign and valign properties to determine the position and gives the widget its natural size (except that an alignment of GTK_ALIGN_FILL will cause the overlay to be full-width/height). If the main child is a GtkScrolledWindow, the overlays are placed relative to its contents.

Parameters

overlay

the GtkOverlay

 

widget

the child widget to position

 

allocation

return location for the allocation.

[type Gdk.Rectangle][out caller-allocates]

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the allocation has been filled

Flags: Run Last

docs/reference/gtk/html/GtkSelectionModel.html0000664000175000017500000011021713710700534021571 0ustar mclasenmclasen GtkSelectionModel: GTK 4 Reference Manual

GtkSelectionModel

GtkSelectionModel — An extension of the list model interface that handles selections

Signals

void selection-changed Run Last

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkSelectionModel

Prerequisites

GtkSelectionModel requires GListModel and GObject.

Known Implementations

GtkSelectionModel is implemented by GtkMultiSelection, GtkNoSelection and GtkSingleSelection.

Includes

#include <gtk/gtk.h>

Description

GtkSelectionModel is an interface that extends the GListModel interface by adding support for selections. This support is then used by widgets using list models to add the ability to select and unselect various items.

GTK provides default implementations of the mode common selection modes such as GtkSingleSelection, so you will only need to implement this interface if you want detailed control about how selections should be handled.

A GtkSelectionModel supports a single boolean per item indicating if an item is selected or not. This can be queried via gtk_selection_model_is_selected(). When the selected state of one or more items changes, the model will emit the “selection-changed” signal by calling the gtk_selection_model_selection_changed() function. The positions given in that signal may have their selection state changed, though that is not a requirement. If new items added to the model via the “items-changed” signal are selected or not is up to the implementation.

Note that items added via “items-changed” may already be selected and no “selection-changed” will be emitted for them. So to track which items are selected, it is necessary to listen to both signals.

Additionally, the interface can expose functionality to select and unselect items. If these functions are implemented, GTK's list widgets will allow users to select and unselect items. However, GtkSelectionModels are free to only implement them partially or not at all. In that case the widgets will not support the unimplemented operations.

When selecting or unselecting is supported by a model, the return values of the selection functions do NOT indicate if selection or unselection happened. They are only meant to indicate complete failure, like when this mode of selecting is not supported by the model.

Selections may happen asynchronously, so the only reliable way to find out when an item was selected is to listen to the signals that indicate selection.

Functions

gtk_selection_model_is_selected ()

gboolean
gtk_selection_model_is_selected (GtkSelectionModel *model,
                                 guint position);

Checks if the given item is selected.

Parameters

model

a GtkSelectionModel

 

position

the position of the item to query

 

Returns

TRUE if the item is selected


gtk_selection_model_get_selection ()

GtkBitset *
gtk_selection_model_get_selection (GtkSelectionModel *model);

Gets the set containing all currently selected items in the model.

This function may be slow, so if you are only interested in single item, consider using gtk_selection_model_is_selected() or if you are only interested in a few consider gtk_selection_model_get_selection_in_range().

Parameters

model

a GtkSelectionModel

 

Returns

a GtkBitset containing all the values currently selected in model . If no items are selected, the bitset is empty. The bitset must not be modified.

[transfer full]


gtk_selection_model_get_selection_in_range ()

GtkBitset *
gtk_selection_model_get_selection_in_range
                               (GtkSelectionModel *model,
                                guint position,
                                guint n_items);

Gets a set containing a set where the values in the range [position, position + n_items) match the selected state of the items in that range. All values outside that range are undefined.

This function is an optimization for gtk_selection_model_get_selection() when you are only interested in part of the model's selected state. A common use case is in response to the :selection-changed signal.

Parameters

model

a GtkSelectionModel

 

position

start of the queired range

 

n_items

number of items in the queried range

 

Returns

A GtkBitset that matches the selection state for the given state with all other values being undefined. The bitset must not be modified.


gtk_selection_model_select_item ()

gboolean
gtk_selection_model_select_item (GtkSelectionModel *model,
                                 guint position,
                                 gboolean unselect_rest);

Requests to select an item in the model.

Parameters

model

a GtkSelectionModel

 

position

the position of the item to select

 

unselect_rest

whether previously selected items should be unselected

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean the item was selected.


gtk_selection_model_unselect_item ()

gboolean
gtk_selection_model_unselect_item (GtkSelectionModel *model,
                                   guint position);

Requests to unselect an item in the model.

Parameters

model

a GtkSelectionModel

 

position

the position of the item to unselect

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean the item was unselected.


gtk_selection_model_select_range ()

gboolean
gtk_selection_model_select_range (GtkSelectionModel *model,
                                  guint position,
                                  guint n_items,
                                  gboolean unselect_rest);

Requests to select a range of items in the model.

Parameters

model

a GtkSelectionModel

 

position

the first item to select

 

n_items

the number of items to select

 

unselect_rest

whether previously selected items should be unselected

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean the range was selected.


gtk_selection_model_unselect_range ()

gboolean
gtk_selection_model_unselect_range (GtkSelectionModel *model,
                                    guint position,
                                    guint n_items);

Requests to unselect a range of items in the model.

Parameters

model

a GtkSelectionModel

 

position

the first item to unselect

 

n_items

the number of items to unselect

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean the range was unselected.


gtk_selection_model_select_all ()

gboolean
gtk_selection_model_select_all (GtkSelectionModel *model);

Requests to select all items in the model.

Parameters

model

a GtkSelectionModel

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean that all items are now selected.


gtk_selection_model_unselect_all ()

gboolean
gtk_selection_model_unselect_all (GtkSelectionModel *model);

Requests to unselect all items in the model.

Parameters

model

a GtkSelectionModel

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean that all items are now unselected.


gtk_selection_model_set_selection ()

gboolean
gtk_selection_model_set_selection (GtkSelectionModel *model,
                                   GtkBitset *selected,
                                   GtkBitset *mask);

This is the most advanced selection updating method that allows the most fine-grained control over selection changes. If you can, you should try the simpler versions, as implementations are more likely to implement support for those.

Requests that the selection state of all positions set in mask be updated to the respecitve value in the selected bitmask.

In pseudocode, it would look something like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
for (i = 0; i < n_items; i++)
  {
    // don't change values not in the mask
    if (!gtk_bitset_contains (mask, i))
      continue;

    if (gtk_bitset_contains (selected, i))
      select_item (i);
    else
      unselect_item (i);
  }

gtk_selection_model_selection_changed (model, first_changed_item, n_changed_items);

mask and selected must not be modified. They may refer to the same bitset, which would mean that every item in the set should be selected.

Parameters

model

a GtkSelectionModel

 

selected

bitmask specifying if items should be selected or unselected

 

mask

bitmask specifying which items should be updated

 

Returns

TRUE if this action was supported and no fallback should be tried. This does not mean that all items were updated according to the inputs.


gtk_selection_model_selection_changed ()

void
gtk_selection_model_selection_changed (GtkSelectionModel *model,
                                       guint position,
                                       guint n_items);

Helper function for implementations of GtkSelectionModel. Call this when a the selection changes to emit the ::selection-changed signal.

Parameters

model

a GtkSelectionModel

 

position

the first changed item

 

n_items

the number of changed items

 

Types and Values

GtkSelectionModel

typedef struct _GtkSelectionModel GtkSelectionModel;

Signal Details

The “selection-changed” signal

void
user_function (GtkSelectionModel *model,
               guint              position,
               guint              n_items,
               gpointer           user_data)

Emitted when the selection state of some of the items in model changes.

Note that this signal does not specify the new selection state of the items, they need to be queried manually. It is also not necessary for a model to change the selection state of any of the items in the selection model, though it would be rather useless to emit such a signal.

Parameters

model

a GtkSelectionModel

 

position

The first item that may have changed

 

n_items

number of items with changes

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GListModel, GtkSingleSelection

docs/reference/gtk/html/GtkSingleSelection.html0000664000175000017500000006665013710700534021765 0ustar mclasenmclasen GtkSingleSelection: GTK 4 Reference Manual

GtkSingleSelection

GtkSingleSelection — A selection model that allows selecting a single item

Properties

gboolean autoselect Read / Write
gboolean can-unselect Read / Write
GListModel * model Read / Write
guint selected Read / Write
GObject * selected-item Read

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSingleSelection

Implemented Interfaces

GtkSingleSelection implements GListModel and GtkSelectionModel.

Includes

#include <gtk/gtk.h>

Description

GtkSingleSelection is an implementation of the GtkSelectionModel interface that allows selecting a single element. It is the default selection method used by list widgets in GTK.

Note that the selection is *persistent* -- if the selected item is removed and re-added in the same ::items-changed emission, it stays selected. In particular, this means that changing the sort order of an underlying sort model will preserve the selection.

Functions

gtk_single_selection_new ()

GtkSingleSelection *
gtk_single_selection_new (GListModel *model);

Creates a new selection to handle model .

Parameters

model

the GListModel to manage, or NULL.

[allow-none][transfer full]

Returns

a new GtkSingleSelection.

[transfer full][type GtkSingleSelection]


gtk_single_selection_get_model ()

GListModel *
gtk_single_selection_get_model (GtkSingleSelection *self);

Gets the model that self is wrapping.

Parameters

self

a GtkSingleSelection

 

Returns

The model being wrapped.

[transfer none]


gtk_single_selection_set_model ()

void
gtk_single_selection_set_model (GtkSingleSelection *self,
                                GListModel *model);

Sets the model that self should wrap. If model is NULL, self will be empty.

Parameters

self

a GtkSingleSelection

 

model

A GListModel to wrap.

[allow-none]

gtk_single_selection_get_selected ()

guint
gtk_single_selection_get_selected (GtkSingleSelection *self);

Gets the position of the selected item. If no item is selected, GTK_INVALID_LIST_POSITION is returned.

Parameters

self

a GtkSingleSelection

 

Returns

The position of the selected item


gtk_single_selection_set_selected ()

void
gtk_single_selection_set_selected (GtkSingleSelection *self,
                                   guint position);

Selects the item at the given position. If the list does not have an item at position or GTK_INVALID_LIST_POSITION is given, the behavior depends on the value of the GtkSingleSelection:autoselect property: If it is set, no change will occur and the old item will stay selected. If it is unset, the selection will be unset and no item will be selected.

Parameters

self

a GtkSingleSelection

 

position

the item to select or GTK_INVALID_LIST_POSITION

 

gtk_single_selection_get_selected_item ()

gpointer
gtk_single_selection_get_selected_item
                               (GtkSingleSelection *self);

Gets the selected item. If no item is selected, NULL is returned.

Parameters

self

a GtkSingleSelection

 

Returns

The selected item.

[transfer none]


gtk_single_selection_get_autoselect ()

gboolean
gtk_single_selection_get_autoselect (GtkSingleSelection *self);

Checks if autoselect has been enabled or disabled via gtk_single_selection_set_autoselect().

Parameters

self

a GtkSingleSelection

 

Returns

TRUE if autoselect is enabled


gtk_single_selection_set_autoselect ()

void
gtk_single_selection_set_autoselect (GtkSingleSelection *self,
                                     gboolean autoselect);

If autoselect is TRUE, self will enforce that an item is always selected. It will select a new item when the currently selected item is deleted and it will disallow unselecting the current item.

Parameters

self

a GtkSingleSelection

 

autoselect

TRUE to always select an item

 

gtk_single_selection_get_can_unselect ()

gboolean
gtk_single_selection_get_can_unselect (GtkSingleSelection *self);

If TRUE, gtk_selection_model_unselect_item() is supported and allows unselecting the selected item.

Parameters

self

a GtkSingleSelection

 

Returns

TRUE to support unselecting


gtk_single_selection_set_can_unselect ()

void
gtk_single_selection_set_can_unselect (GtkSingleSelection *self,
                                       gboolean can_unselect);

If TRUE, unselecting the current item via gtk_selection_model_unselect_item() is supported.

Note that setting GtkSingleSelection:autoselect will cause the unselecting to not work, so it practically makes no sense to set both at the same time the same time..

Parameters

self

a GtkSingleSelection

 

can_unselect

TRUE to allow unselecting

 

Types and Values

GtkSingleSelection

typedef struct _GtkSingleSelection GtkSingleSelection;

GTK_INVALID_LIST_POSITION

#define GTK_INVALID_LIST_POSITION (G_MAXUINT)

The value used to refer to a guaranteed invalid position in a GListModel. This value may be returned from some functions, others may accept it as input. Its interpretation may differ for different functions.

Refer to each function's documentation for if this value is allowed and what it does.

Property Details

The “autoselect” property

  “autoselect”               gboolean

If the selection will always select an item

Owner: GtkSingleSelection

Flags: Read / Write

Default value: TRUE


The “can-unselect” property

  “can-unselect”             gboolean

If unselecting the selected item is allowed

Owner: GtkSingleSelection

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GListModel *

The model being managed

Owner: GtkSingleSelection

Flags: Read / Write


The “selected” property

  “selected”                 guint

Position of the selected item

Owner: GtkSingleSelection

Flags: Read / Write

Default value: 4294967295


The “selected-item” property

  “selected-item”            GObject *

The selected item

Owner: GtkSingleSelection

Flags: Read

docs/reference/gtk/html/LayoutContainers.html0000664000175000017500000001122613710700534021520 0ustar mclasenmclasen Layout Containers: GTK 4 Reference Manual

Layout Containers

GtkBox — A container for packing widgets in a single row or column
GtkCenterBox — A centering container
GtkGrid — Pack widgets in rows and columns
GtkRevealer — Hide and show with animation
GtkListBox — A list container
GtkFlowBox — A container that allows reflowing its children
GtkStack — A stacking container
GtkStackSwitcher — A controller for GtkStack
GtkStackSidebar — An automatic sidebar widget
GtkActionBar — A full width bar for presenting contextual actions
GtkHeaderBar — A box with a centered child
GtkOverlay — A container which overlays widgets on top of each other
GtkPaned — A widget with two adjustable panes
GtkNotebook — A tabbed notebook container
GtkExpander — A container which can hide its child
GtkOrientable — An interface for flippable widgets
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
GtkFixed — A container which allows you to position widgets at fixed coordinates
docs/reference/gtk/html/ch01s02.html0000664000175000017500000001734213710700534017302 0ustar mclasenmclasen Hello, World: GTK 4 Reference Manual

Hello, World

In the long tradition of programming languages and libraries, this example is called Hello, World.

Figure 2. Hello, world

Hello, world

Hello World in C

Create a new file with the following content named example-1.c.

#include <gtk/gtk.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *button;
  GtkWidget *box;

  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);

  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
  gtk_window_set_child (GTK_WINDOW (window), box);

  button = gtk_button_new_with_label ("Hello World");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window);
  gtk_box_append (GTK_BOX (box), button);

  gtk_widget_show (window);
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

You can compile the program above with GCC using:

gcc `pkg-config --cflags gtk4` -o example-1 example-1.c `pkg-config --libs gtk4`

As seen above, example-1.c builds further upon example-0.c by adding a button to our window, with the label Hello World. Two new GtkWidget pointers are declared to accomplish this, button and box. The box variable is created to store a GtkBox, which is GTK’s way of controlling the size and layout of buttons.

The GtkBox is created with gtk_box_new() which takes a GtkOrientation enum as parameter. The buttons which this box will contain can either be layed out horizontally or vertically. This does not matter in this particular case, as we are dealing with only one button. After initializing box with the newly created GtkBox, the code adds the box widget to the window widget using gtk_window_set_child().

Next the button variable is initialized in similar manner. gtk_button_new_with_label() is called which returns a GtkButton to be stored in button. Afterwards button is added to our box.

Using g_signal_connect(), the button is connected to a function in our app called print_hello(), so that when the button is clicked, GTK will call this function. As the print_hello() function does not use any data as input, NULL is passed to it. print_hello() calls g_print() with the string Hello World which will print Hello World in a terminal if the GTK application was started from one.

After connecting print_hello(), another signal is connected to the clicked state of the button using g_signal_connect_swapped(). This functions is similar to a g_signal_connect() with the difference lying in how the callback function is treated. g_signal_connect_swapped() allows you to specify what the callback function should take as parameter by letting you pass it as data. In this case the function being called back is gtk_window_destroy() and the window pointer is passed to it. This has the effect that when the button is clicked, the whole GTK window is destroyed. In contrast if a normal g_signal_connect() were used to connect the clicked signal with gtk_window_destroy(), then the function would be called on button (which would not go well, since the function expects a GtkWindow as argument).

More information about creating buttons can be found here.

The rest of the code in example-1.c is identical to example-0.c. The next section will elaborate further on how to add several GtkWidgets to your GTK application.

docs/reference/gtk/html/GtkScrolledWindow.html0000664000175000017500000031354213710700534021630 0ustar mclasenmclasen GtkScrolledWindow: GTK 4 Reference Manual

GtkScrolledWindow

GtkScrolledWindow — Adds scrollbars to its child widget

Functions

GtkWidget * gtk_scrolled_window_new ()
GtkWidget * gtk_scrolled_window_get_child ()
void gtk_scrolled_window_set_child ()
GtkAdjustment * gtk_scrolled_window_get_hadjustment ()
void gtk_scrolled_window_set_hadjustment ()
GtkAdjustment * gtk_scrolled_window_get_vadjustment ()
void gtk_scrolled_window_set_vadjustment ()
GtkWidget * gtk_scrolled_window_get_hscrollbar ()
GtkWidget * gtk_scrolled_window_get_vscrollbar ()
void gtk_scrolled_window_get_policy ()
void gtk_scrolled_window_set_policy ()
GtkCornerType gtk_scrolled_window_get_placement ()
void gtk_scrolled_window_set_placement ()
void gtk_scrolled_window_unset_placement ()
gboolean gtk_scrolled_window_get_has_frame ()
void gtk_scrolled_window_set_has_frame ()
gboolean gtk_scrolled_window_get_kinetic_scrolling ()
void gtk_scrolled_window_set_kinetic_scrolling ()
gboolean gtk_scrolled_window_get_capture_button_press ()
void gtk_scrolled_window_set_capture_button_press ()
gboolean gtk_scrolled_window_get_overlay_scrolling ()
void gtk_scrolled_window_set_overlay_scrolling ()
int gtk_scrolled_window_get_min_content_width ()
void gtk_scrolled_window_set_min_content_width ()
int gtk_scrolled_window_get_min_content_height ()
void gtk_scrolled_window_set_min_content_height ()
int gtk_scrolled_window_get_max_content_width ()
void gtk_scrolled_window_set_max_content_width ()
int gtk_scrolled_window_get_max_content_height ()
void gtk_scrolled_window_set_max_content_height ()
gboolean gtk_scrolled_window_get_propagate_natural_width ()
void gtk_scrolled_window_set_propagate_natural_width ()
gboolean gtk_scrolled_window_get_propagate_natural_height ()
void gtk_scrolled_window_set_propagate_natural_height ()

Properties

GtkWidget * child Read / Write
GtkAdjustment * hadjustment Read / Write / Construct
gboolean has-frame Read / Write
GtkPolicyType hscrollbar-policy Read / Write
gboolean kinetic-scrolling Read / Write
gint max-content-height Read / Write
gint max-content-width Read / Write
gint min-content-height Read / Write
gint min-content-width Read / Write
gboolean overlay-scrolling Read / Write
gboolean propagate-natural-height Read / Write
gboolean propagate-natural-width Read / Write
GtkAdjustment * vadjustment Read / Write / Construct
GtkPolicyType vscrollbar-policy Read / Write
GtkCornerType window-placement Read / Write

Signals

void edge-overshot Run Last
void edge-reached Run Last
void move-focus-out Action
gboolean scroll-child Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkScrolledWindow

Implemented Interfaces

GtkScrolledWindow implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkScrolledWindow is a container that accepts a single child widget, makes that child scrollable using either internally added scrollbars or externally associated adjustments, and optionally draws a frame around the child.

Widgets with native scrolling support, i.e. those whose classes implement the GtkScrollable interface, are added directly. For other types of widget, the class GtkViewport acts as an adaptor, giving scrollability to other widgets. GtkScrolledWindow’s implementation of gtk_container_add() intelligently accounts for whether or not the added child is a GtkScrollable. If it isn’t, GtkScrolledWindow wraps the child in a GtkViewport and adds that for you. Therefore, you can just add any child widget and not worry about the details.

If gtk_container_add() has added a GtkViewport for you, you can remove both your added child widget from the GtkViewport, and the GtkViewport from the GtkScrolledWindow, like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
GtkWidget *scrolled_window = gtk_scrolled_window_new ();
GtkWidget *child_widget = gtk_button_new ();

// GtkButton is not a GtkScrollable, so GtkScrolledWindow will automatically
// add a GtkViewport.
gtk_box_append (GTK_BOX (scrolled_window),
                   child_widget);

// Either of these will result in child_widget being unparented:
gtk_box_remove (GTK_BOX (scrolled_window),
                      child_widget);
// or
gtk_box_remove (GTK_BOX (scrolled_window),
                      gtk_bin_get_child (GTK_BIN (scrolled_window)));

Unless “hscrollbar-policy” and “vscrollbar-policy” are GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL, GtkScrolledWindow adds internal GtkScrollbar widgets around its child. The scroll position of the child, and if applicable the scrollbars, is controlled by the “hadjustment” and “vadjustment” that are associated with the GtkScrolledWindow. See the docs on GtkScrollbar for the details, but note that the “step_increment” and “page_increment” fields are only effective if the policy causes scrollbars to be present.

If a GtkScrolledWindow doesn’t behave quite as you would like, or doesn’t have exactly the right layout, it’s very possible to set up your own scrolling with GtkScrollbar and for example a GtkGrid.

Touch support

GtkScrolledWindow has built-in support for touch devices. When a touchscreen is used, swiping will move the scrolled window, and will expose 'kinetic' behavior. This can be turned off with the “kinetic-scrolling” property if it is undesired.

GtkScrolledWindow also displays visual 'overshoot' indication when the content is pulled beyond the end, and this situation can be captured with the “edge-overshot” signal.

If no mouse device is present, the scrollbars will overlayed as narrow, auto-hiding indicators over the content. If traditional scrollbars are desired although no mouse is present, this behaviour can be turned off with the “overlay-scrolling” property.


CSS nodes

GtkScrolledWindow has a main CSS node with name scrolledwindow. It gets a .frame style class added when “has-frame” is TRUE.

It uses subnodes with names overshoot and undershoot to draw the overflow and underflow indications. These nodes get the .left, .right, .top or .bottom style class added depending on where the indication is drawn.

GtkScrolledWindow also sets the positional style classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering) on its scrollbars.

If both scrollbars are visible, the area where they meet is drawn with a subnode named junction.

Functions

gtk_scrolled_window_new ()

GtkWidget *
gtk_scrolled_window_new (void);

Creates a new scrolled window.

Returns

a new scrolled window


gtk_scrolled_window_get_child ()

GtkWidget *
gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled_window);

Gets the child widget of scrolled_window .

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the child widget of scrolled_window .

[nullable][transfer none]


gtk_scrolled_window_set_child ()

void
gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
                               GtkWidget *child);

Sets the child widget of scrolled_window .

Parameters

scrolled_window

a GtkScrolledWindow

 

child

the child widget.

[allow-none]

gtk_scrolled_window_get_hadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);

Returns the horizontal scrollbar’s adjustment, used to connect the horizontal scrollbar to the child widget’s horizontal scroll functionality.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the horizontal GtkAdjustment.

[transfer none]


gtk_scrolled_window_set_hadjustment ()

void
gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window,
                                     GtkAdjustment *hadjustment);

Sets the GtkAdjustment for the horizontal scrollbar.

Parameters

scrolled_window

a GtkScrolledWindow

 

hadjustment

the GtkAdjustment to use, or NULL to create a new one.

[nullable]

gtk_scrolled_window_get_vadjustment ()

GtkAdjustment *
gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);

Returns the vertical scrollbar’s adjustment, used to connect the vertical scrollbar to the child widget’s vertical scroll functionality.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the vertical GtkAdjustment.

[transfer none]


gtk_scrolled_window_set_vadjustment ()

void
gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window,
                                     GtkAdjustment *vadjustment);

Sets the GtkAdjustment for the vertical scrollbar.

Parameters

scrolled_window

a GtkScrolledWindow

 

vadjustment

the GtkAdjustment to use, or NULL to create a new one.

[nullable]

gtk_scrolled_window_get_hscrollbar ()

GtkWidget *
gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window);

Returns the horizontal scrollbar of scrolled_window .

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the horizontal scrollbar of the scrolled window.

[transfer none]


gtk_scrolled_window_get_vscrollbar ()

GtkWidget *
gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window);

Returns the vertical scrollbar of scrolled_window .

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the vertical scrollbar of the scrolled window.

[transfer none]


gtk_scrolled_window_get_policy ()

void
gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolled_window,
                                GtkPolicyType *hscrollbar_policy,
                                GtkPolicyType *vscrollbar_policy);

Retrieves the current policy values for the horizontal and vertical scrollbars. See gtk_scrolled_window_set_policy().

Parameters

scrolled_window

a GtkScrolledWindow

 

hscrollbar_policy

location to store the policy for the horizontal scrollbar, or NULL.

[out][optional]

vscrollbar_policy

location to store the policy for the vertical scrollbar, or NULL.

[out][optional]

gtk_scrolled_window_set_policy ()

void
gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window,
                                GtkPolicyType hscrollbar_policy,
                                GtkPolicyType vscrollbar_policy);

Sets the scrollbar policy for the horizontal and vertical scrollbars.

The policy determines when the scrollbar should appear; it is a value from the GtkPolicyType enumeration. If GTK_POLICY_ALWAYS, the scrollbar is always present; if GTK_POLICY_NEVER, the scrollbar is never present; if GTK_POLICY_AUTOMATIC, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough — the display is larger than the page size).

Parameters

scrolled_window

a GtkScrolledWindow

 

hscrollbar_policy

policy for horizontal bar

 

vscrollbar_policy

policy for vertical bar

 

gtk_scrolled_window_get_placement ()

GtkCornerType
gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window);

Gets the placement of the contents with respect to the scrollbars for the scrolled window. See gtk_scrolled_window_set_placement().

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the current placement value.

See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_unset_placement().


gtk_scrolled_window_set_placement ()

void
gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window,
                                   GtkCornerType window_placement);

Sets the placement of the contents with respect to the scrollbars for the scrolled window.

The default is GTK_CORNER_TOP_LEFT, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in GtkCornerType are GTK_CORNER_TOP_RIGHT, GTK_CORNER_BOTTOM_LEFT, and GTK_CORNER_BOTTOM_RIGHT.

See also gtk_scrolled_window_get_placement() and gtk_scrolled_window_unset_placement().

Parameters

scrolled_window

a GtkScrolledWindow

 

window_placement

position of the child window

 

gtk_scrolled_window_unset_placement ()

void
gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window);

Unsets the placement of the contents with respect to the scrollbars for the scrolled window. If no window placement is set for a scrolled window, it defaults to GTK_CORNER_TOP_LEFT.

See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_get_placement().

Parameters

scrolled_window

a GtkScrolledWindow

 

gtk_scrolled_window_get_has_frame ()

gboolean
gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window);

Gets whether the scrolled window draws a frame. See gtk_scrolled_window_set_has_frame().

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

TRUE if the scrolled_window has a frame


gtk_scrolled_window_set_has_frame ()

void
gtk_scrolled_window_set_has_frame (GtkScrolledWindow *scrolled_window,
                                   gboolean has_frame);

Changes the frame drawn around the contents of scrolled_window .

Parameters

scrolled_window

a GtkScrolledWindow

 

has_frame

whether to draw a frame around scrolled window contents

 

gtk_scrolled_window_get_kinetic_scrolling ()

gboolean
gtk_scrolled_window_get_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window);

Returns the specified kinetic scrolling behavior.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the scrolling behavior flags.


gtk_scrolled_window_set_kinetic_scrolling ()

void
gtk_scrolled_window_set_kinetic_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean kinetic_scrolling);

Turns kinetic scrolling on or off. Kinetic scrolling only applies to devices with source GDK_SOURCE_TOUCHSCREEN.

Parameters

scrolled_window

a GtkScrolledWindow

 

kinetic_scrolling

TRUE to enable kinetic scrolling

 

gtk_scrolled_window_get_capture_button_press ()

gboolean
gtk_scrolled_window_get_capture_button_press
                               (GtkScrolledWindow *scrolled_window);

Return whether button presses are captured during kinetic scrolling. See gtk_scrolled_window_set_capture_button_press().

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

TRUE if button presses are captured during kinetic scrolling


gtk_scrolled_window_set_capture_button_press ()

void
gtk_scrolled_window_set_capture_button_press
                               (GtkScrolledWindow *scrolled_window,
                                gboolean capture_button_press);

Changes the behaviour of scrolled_window with regard to the initial event that possibly starts kinetic scrolling. When capture_button_press is set to TRUE, the event is captured by the scrolled window, and then later replayed if it is meant to go to the child widget.

This should be enabled if any child widgets perform non-reversible actions on button press events. If they don't, and additionally handle “grab-broken-event”, it might be better to set capture_button_press to FALSE.

This setting only has an effect if kinetic scrolling is enabled.

Parameters

scrolled_window

a GtkScrolledWindow

 

capture_button_press

TRUE to capture button presses

 

gtk_scrolled_window_get_overlay_scrolling ()

gboolean
gtk_scrolled_window_get_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window);

Returns whether overlay scrolling is enabled for this scrolled window.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

TRUE if overlay scrolling is enabled


gtk_scrolled_window_set_overlay_scrolling ()

void
gtk_scrolled_window_set_overlay_scrolling
                               (GtkScrolledWindow *scrolled_window,
                                gboolean overlay_scrolling);

Enables or disables overlay scrolling for this scrolled window.

Parameters

scrolled_window

a GtkScrolledWindow

 

overlay_scrolling

whether to enable overlay scrolling

 

gtk_scrolled_window_get_min_content_width ()

int
gtk_scrolled_window_get_min_content_width
                               (GtkScrolledWindow *scrolled_window);

Gets the minimum content width of scrolled_window , or -1 if not set.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the minimum content width


gtk_scrolled_window_set_min_content_width ()

void
gtk_scrolled_window_set_min_content_width
                               (GtkScrolledWindow *scrolled_window,
                                int width);

Sets the minimum width that scrolled_window should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content.

It is a programming error to set the minimum content width to a value greater than “max-content-width”.

Parameters

scrolled_window

a GtkScrolledWindow

 

width

the minimal content width

 

gtk_scrolled_window_get_min_content_height ()

int
gtk_scrolled_window_get_min_content_height
                               (GtkScrolledWindow *scrolled_window);

Gets the minimal content height of scrolled_window , or -1 if not set.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the minimal content height


gtk_scrolled_window_set_min_content_height ()

void
gtk_scrolled_window_set_min_content_height
                               (GtkScrolledWindow *scrolled_window,
                                int height);

Sets the minimum height that scrolled_window should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content.

It is a programming error to set the minimum content height to a value greater than “max-content-height”.

Parameters

scrolled_window

a GtkScrolledWindow

 

height

the minimal content height

 

gtk_scrolled_window_get_max_content_width ()

int
gtk_scrolled_window_get_max_content_width
                               (GtkScrolledWindow *scrolled_window);

Returns the maximum content width set.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the maximum content width, or -1


gtk_scrolled_window_set_max_content_width ()

void
gtk_scrolled_window_set_max_content_width
                               (GtkScrolledWindow *scrolled_window,
                                int width);

Sets the maximum width that scrolled_window should keep visible. The scrolled_window will grow up to this width before it starts scrolling the content.

It is a programming error to set the maximum content width to a value smaller than “min-content-width”.

Parameters

scrolled_window

a GtkScrolledWindow

 

width

the maximum content width

 

gtk_scrolled_window_get_max_content_height ()

int
gtk_scrolled_window_get_max_content_height
                               (GtkScrolledWindow *scrolled_window);

Returns the maximum content height set.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

the maximum content height, or -1


gtk_scrolled_window_set_max_content_height ()

void
gtk_scrolled_window_set_max_content_height
                               (GtkScrolledWindow *scrolled_window,
                                int height);

Sets the maximum height that scrolled_window should keep visible. The scrolled_window will grow up to this height before it starts scrolling the content.

It is a programming error to set the maximum content height to a value smaller than “min-content-height”.

Parameters

scrolled_window

a GtkScrolledWindow

 

height

the maximum content height

 

gtk_scrolled_window_get_propagate_natural_width ()

gboolean
gtk_scrolled_window_get_propagate_natural_width
                               (GtkScrolledWindow *scrolled_window);

Reports whether the natural width of the child will be calculated and propagated through the scrolled window’s requested natural width.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

whether natural width propagation is enabled.


gtk_scrolled_window_set_propagate_natural_width ()

void
gtk_scrolled_window_set_propagate_natural_width
                               (GtkScrolledWindow *scrolled_window,
                                gboolean propagate);

Sets whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.

Parameters

scrolled_window

a GtkScrolledWindow

 

propagate

whether to propagate natural width

 

gtk_scrolled_window_get_propagate_natural_height ()

gboolean
gtk_scrolled_window_get_propagate_natural_height
                               (GtkScrolledWindow *scrolled_window);

Reports whether the natural height of the child will be calculated and propagated through the scrolled window’s requested natural height.

Parameters

scrolled_window

a GtkScrolledWindow

 

Returns

whether natural height propagation is enabled.


gtk_scrolled_window_set_propagate_natural_height ()

void
gtk_scrolled_window_set_propagate_natural_height
                               (GtkScrolledWindow *scrolled_window,
                                gboolean propagate);

Sets whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.

Parameters

scrolled_window

a GtkScrolledWindow

 

propagate

whether to propagate natural height

 

Types and Values

GtkScrolledWindow

typedef struct _GtkScrolledWindow GtkScrolledWindow;

enum GtkPolicyType

Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars.

Members

GTK_POLICY_ALWAYS

The scrollbar is always visible. The view size is independent of the content.

 

GTK_POLICY_AUTOMATIC

The scrollbar will appear and disappear as necessary. For example, when all of a GtkTreeView can not be seen.

 

GTK_POLICY_NEVER

The scrollbar should never appear. In this mode the content determines the size.

 

GTK_POLICY_EXTERNAL

Don't show a scrollbar, but don't force the size to follow the content. This can be used e.g. to make multiple scrolled windows share a scrollbar.

 

enum GtkCornerType

Specifies which corner a child widget should be placed in when packed into a GtkScrolledWindow. This is effectively the opposite of where the scroll bars are placed.

Members

GTK_CORNER_TOP_LEFT

Place the scrollbars on the right and bottom of the widget (default behaviour).

 

GTK_CORNER_BOTTOM_LEFT

Place the scrollbars on the top and right of the widget.

 

GTK_CORNER_TOP_RIGHT

Place the scrollbars on the left and bottom of the widget.

 

GTK_CORNER_BOTTOM_RIGHT

Place the scrollbars on the top and left of the widget.

 

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkScrolledWindow

Flags: Read / Write


The “hadjustment” property

  “hadjustment”              GtkAdjustment *

The GtkAdjustment for the horizontal position.

Owner: GtkScrolledWindow

Flags: Read / Write / Construct


The “has-frame” property

  “has-frame”                gboolean

Whether to draw a frame around the contents.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: FALSE


The “hscrollbar-policy” property

  “hscrollbar-policy”        GtkPolicyType

When the horizontal scrollbar is displayed.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: GTK_POLICY_AUTOMATIC


The “kinetic-scrolling” property

  “kinetic-scrolling”        gboolean

Whether kinetic scrolling is enabled or not. Kinetic scrolling only applies to devices with source GDK_SOURCE_TOUCHSCREEN.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: TRUE


The “max-content-height” property

  “max-content-height”       gint

The maximum content height of scrolled_window , or -1 if not set.

Owner: GtkScrolledWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “max-content-width” property

  “max-content-width”        gint

The maximum content width of scrolled_window , or -1 if not set.

Owner: GtkScrolledWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “min-content-height” property

  “min-content-height”       gint

The minimum content height of scrolled_window , or -1 if not set.

Owner: GtkScrolledWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “min-content-width” property

  “min-content-width”        gint

The minimum content width of scrolled_window , or -1 if not set.

Owner: GtkScrolledWindow

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “overlay-scrolling” property

  “overlay-scrolling”        gboolean

Whether overlay scrolling is enabled or not. If it is, the scrollbars are only added as traditional widgets when a mouse is present. Otherwise, they are overlayed on top of the content, as narrow indicators.

Note that overlay scrolling can also be globally disabled, with the “gtk-overlay-scrolling” setting.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: TRUE


The “propagate-natural-height” property

  “propagate-natural-height” gboolean

Whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.

This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: FALSE


The “propagate-natural-width” property

  “propagate-natural-width”  gboolean

Whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.

This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: FALSE


The “vadjustment” property

  “vadjustment”              GtkAdjustment *

The GtkAdjustment for the vertical position.

Owner: GtkScrolledWindow

Flags: Read / Write / Construct


The “vscrollbar-policy” property

  “vscrollbar-policy”        GtkPolicyType

When the vertical scrollbar is displayed.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: GTK_POLICY_AUTOMATIC


The “window-placement” property

  “window-placement”         GtkCornerType

Where the contents are located with respect to the scrollbars.

Owner: GtkScrolledWindow

Flags: Read / Write

Default value: GTK_CORNER_TOP_LEFT

Signal Details

The “edge-overshot” signal

void
user_function (GtkScrolledWindow *scrolled_window,
               GtkPositionType    pos,
               gpointer           user_data)

The ::edge-overshot signal is emitted whenever user initiated scrolling makes the scrolled window firmly surpass (i.e. with some edge resistance) the lower or upper limits defined by the adjustment in that orientation.

A similar behavior without edge resistance is provided by the “edge-reached” signal.

Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.

Parameters

scrolled_window

a GtkScrolledWindow

 

pos

edge side that was hit

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “edge-reached” signal

void
user_function (GtkScrolledWindow *scrolled_window,
               GtkPositionType    pos,
               gpointer           user_data)

The ::edge-reached signal is emitted whenever user-initiated scrolling makes the scrolled window exactly reach the lower or upper limits defined by the adjustment in that orientation.

A similar behavior with edge resistance is provided by the “edge-overshot” signal.

Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.

Parameters

scrolled_window

a GtkScrolledWindow

 

pos

edge side that was reached

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “move-focus-out” signal

void
user_function (GtkScrolledWindow *scrolled_window,
               GtkDirectionType   direction_type,
               gpointer           user_data)

The ::move-focus-out signal is a keybinding signal which gets emitted when focus is moved away from the scrolled window by a keybinding. The “move-focus” signal is emitted with direction_type on this scrolled window’s toplevel parent in the container hierarchy. The default bindings for this signal are Ctrl + Tab to move forward and Ctrl + Shift + Tab to move backward.

Parameters

scrolled_window

a GtkScrolledWindow

 

direction_type

either GTK_DIR_TAB_FORWARD or GTK_DIR_TAB_BACKWARD

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “scroll-child” signal

gboolean
user_function (GtkScrolledWindow *scrolled_window,
               GtkScrollType      scroll,
               gboolean           horizontal,
               gpointer           user_data)

The ::scroll-child signal is a keybinding signal which gets emitted when a keybinding that scrolls is pressed. The horizontal or vertical adjustment is updated which triggers a signal that the scrolled window’s child may listen to and scroll itself.

Parameters

scrolled_window

a GtkScrolledWindow

 

scroll

a GtkScrollType describing how much to scroll

 

horizontal

whether the keybinding scrolls the child horizontally or not

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkTreeModel.html0000664000175000017500000053323213710700534020551 0ustar mclasenmclasen GtkTreeModel: GTK 4 Reference Manual

GtkTreeModel

GtkTreeModel — The tree interface used by GtkTreeView

Functions

gboolean (*GtkTreeModelForeachFunc) ()
GtkTreePath * gtk_tree_path_new ()
GtkTreePath * gtk_tree_path_new_from_string ()
GtkTreePath * gtk_tree_path_new_from_indices ()
GtkTreePath * gtk_tree_path_new_from_indicesv ()
char * gtk_tree_path_to_string ()
GtkTreePath * gtk_tree_path_new_first ()
void gtk_tree_path_append_index ()
void gtk_tree_path_prepend_index ()
int gtk_tree_path_get_depth ()
int * gtk_tree_path_get_indices ()
int * gtk_tree_path_get_indices_with_depth ()
void gtk_tree_path_free ()
GtkTreePath * gtk_tree_path_copy ()
int gtk_tree_path_compare ()
void gtk_tree_path_next ()
gboolean gtk_tree_path_prev ()
gboolean gtk_tree_path_up ()
void gtk_tree_path_down ()
gboolean gtk_tree_path_is_ancestor ()
gboolean gtk_tree_path_is_descendant ()
GtkTreeRowReference * gtk_tree_row_reference_new ()
GtkTreeRowReference * gtk_tree_row_reference_new_proxy ()
GtkTreeModel * gtk_tree_row_reference_get_model ()
GtkTreePath * gtk_tree_row_reference_get_path ()
gboolean gtk_tree_row_reference_valid ()
void gtk_tree_row_reference_free ()
GtkTreeRowReference * gtk_tree_row_reference_copy ()
void gtk_tree_row_reference_inserted ()
void gtk_tree_row_reference_deleted ()
void gtk_tree_row_reference_reordered ()
GtkTreeIter * gtk_tree_iter_copy ()
void gtk_tree_iter_free ()
GtkTreeModelFlags gtk_tree_model_get_flags ()
int gtk_tree_model_get_n_columns ()
GType gtk_tree_model_get_column_type ()
gboolean gtk_tree_model_get_iter ()
gboolean gtk_tree_model_get_iter_from_string ()
gboolean gtk_tree_model_get_iter_first ()
GtkTreePath * gtk_tree_model_get_path ()
void gtk_tree_model_get_value ()
gboolean gtk_tree_model_iter_next ()
gboolean gtk_tree_model_iter_previous ()
gboolean gtk_tree_model_iter_children ()
gboolean gtk_tree_model_iter_has_child ()
int gtk_tree_model_iter_n_children ()
gboolean gtk_tree_model_iter_nth_child ()
gboolean gtk_tree_model_iter_parent ()
char * gtk_tree_model_get_string_from_iter ()
void gtk_tree_model_ref_node ()
void gtk_tree_model_unref_node ()
void gtk_tree_model_get ()
void gtk_tree_model_get_valist ()
void gtk_tree_model_foreach ()
void gtk_tree_model_row_changed ()
void gtk_tree_model_row_inserted ()
void gtk_tree_model_row_has_child_toggled ()
void gtk_tree_model_row_deleted ()
void gtk_tree_model_rows_reordered ()
void gtk_tree_model_rows_reordered_with_length ()

Signals

void row-changed Run Last
void row-deleted Run First
void row-has-child-toggled Run Last
void row-inserted Run First
void rows-reordered Run First

Object Hierarchy

    GBoxed
    ├── GtkTreeIter
    ╰── GtkTreePath
    GInterface
    ╰── GtkTreeModel

Prerequisites

GtkTreeModel requires GObject.

Known Derived Interfaces

GtkTreeModel is required by GtkTreeSortable.

Known Implementations

GtkTreeModel is implemented by GtkListStore, GtkTreeModelFilter, GtkTreeModelSort and GtkTreeStore.

Includes

#include <gtk/gtk.h>

Description

The GtkTreeModel interface defines a generic tree interface for use by the GtkTreeView widget. It is an abstract interface, and is designed to be usable with any appropriate data structure. The programmer just has to implement this interface on their own data type for it to be viewable by a GtkTreeView widget.

The model is represented as a hierarchical tree of strongly-typed, columned data. In other words, the model can be seen as a tree where every node has different values depending on which column is being queried. The type of data found in a column is determined by using the GType system (ie. G_TYPE_INT, GTK_TYPE_BUTTON, G_TYPE_POINTER, etc). The types are homogeneous per column across all nodes. It is important to note that this interface only provides a way of examining a model and observing changes. The implementation of each individual model decides how and if changes are made.

In order to make life simpler for programmers who do not need to write their own specialized model, two generic models are provided — the GtkTreeStore and the GtkListStore. To use these, the developer simply pushes data into these models as necessary. These models provide the data structure as well as all appropriate tree interfaces. As a result, implementing drag and drop, sorting, and storing data is trivial. For the vast majority of trees and lists, these two models are sufficient.

Models are accessed on a node/column level of granularity. One can query for the value of a model at a certain node and a certain column on that node. There are two structures used to reference a particular node in a model. They are the GtkTreePath and the GtkTreeIter (“iter” is short for iterator). Most of the interface consists of operations on a GtkTreeIter.

A path is essentially a potential node. It is a location on a model that may or may not actually correspond to a node on a specific model. The GtkTreePath can be converted into either an array of unsigned integers or a string. The string form is a list of numbers separated by a colon. Each number refers to the offset at that level. Thus, the path 0 refers to the root node and the path 2:4 refers to the fifth child of the third node.

By contrast, a GtkTreeIter is a reference to a specific node on a specific model. It is a generic struct with an integer and three generic pointers. These are filled in by the model in a model-specific way. One can convert a path to an iterator by calling gtk_tree_model_get_iter(). These iterators are the primary way of accessing a model and are similar to the iterators used by GtkTextBuffer. They are generally statically allocated on the stack and only used for a short time. The model interface defines a set of operations using them for navigating the model.

It is expected that models fill in the iterator with private data. For example, the GtkListStore model, which is internally a simple linked list, stores a list node in one of the pointers. The GtkTreeModelSort stores an array and an offset in two of the pointers. Additionally, there is an integer field. This field is generally filled with a unique stamp per model. This stamp is for catching errors resulting from using invalid iterators with a model.

The lifecycle of an iterator can be a little confusing at first. Iterators are expected to always be valid for as long as the model is unchanged (and doesn’t emit a signal). The model is considered to own all outstanding iterators and nothing needs to be done to free them from the user’s point of view. Additionally, some models guarantee that an iterator is valid for as long as the node it refers to is valid (most notably the GtkTreeStore and GtkListStore). Although generally uninteresting, as one always has to allow for the case where iterators do not persist beyond a signal, some very important performance enhancements were made in the sort model. As a result, the GTK_TREE_MODEL_ITERS_PERSIST flag was added to indicate this behavior.

To help show some common operation of a model, some examples are provided. The first example shows three ways of getting the iter at the location 3:2:5. While the first method shown is easier, the second is much more common, as you often get paths from callbacks.

Acquiring a GtkTreeIter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Three ways of getting the iter pointing to the location
GtkTreePath *path;
GtkTreeIter iter;
GtkTreeIter parent_iter;

// get the iterator from a string
gtk_tree_model_get_iter_from_string (model,
                                     &iter,
                                     "3:2:5");

// get the iterator from a path
path = gtk_tree_path_new_from_string ("3:2:5");
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_path_free (path);

// walk the tree to find the iterator
gtk_tree_model_iter_nth_child (model, &iter,
                               NULL, 3);
parent_iter = iter;
gtk_tree_model_iter_nth_child (model, &iter,
                               &parent_iter, 2);
parent_iter = iter;
gtk_tree_model_iter_nth_child (model, &iter,
                               &parent_iter, 5);

This second example shows a quick way of iterating through a list and getting a string and an integer from each row. The populate_model() function used below is not shown, as it is specific to the GtkListStore. For information on how to write such a function, see the GtkListStore documentation.

Reading data from a GtkTreeModel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
enum
{
  STRING_COLUMN,
  INT_COLUMN,
  N_COLUMNS
};

...

GtkTreeModel *list_store;
GtkTreeIter iter;
gboolean valid;
int row_count = 0;

// make a new list_store
list_store = gtk_list_store_new (N_COLUMNS,
                                 G_TYPE_STRING,
                                 G_TYPE_INT);

// Fill the list store with data
populate_model (list_store);

// Get the first iter in the list, check it is valid and walk
// through the list, reading each row.

valid = gtk_tree_model_get_iter_first (list_store,
                                       &iter);
while (valid)
 {
   char *str_data;
   int    int_data;

   // Make sure you terminate calls to gtk_tree_model_get() with a “-1” value
   gtk_tree_model_get (list_store, &iter,
                       STRING_COLUMN, &str_data,
                       INT_COLUMN, &int_data,
                       -1);

   // Do something with the data
   g_print ("Row %d: (%s,%d)\n",
            row_count, str_data, int_data);
   g_free (str_data);

   valid = gtk_tree_model_iter_next (list_store,
                                     &iter);
   row_count++;
 }

The GtkTreeModel interface contains two methods for reference counting: gtk_tree_model_ref_node() and gtk_tree_model_unref_node(). These two methods are optional to implement. The reference counting is meant as a way for views to let models know when nodes are being displayed. GtkTreeView will take a reference on a node when it is visible, which means the node is either in the toplevel or expanded. Being displayed does not mean that the node is currently directly visible to the user in the viewport. Based on this reference counting scheme a caching model, for example, can decide whether or not to cache a node based on the reference count. A file-system based model would not want to keep the entire file hierarchy in memory, but just the folders that are currently expanded in every current view.

When working with reference counting, the following rules must be taken into account:

  • Never take a reference on a node without owning a reference on its parent. This means that all parent nodes of a referenced node must be referenced as well.

  • Outstanding references on a deleted node are not released. This is not possible because the node has already been deleted by the time the row-deleted signal is received.

  • Models are not obligated to emit a signal on rows of which none of its siblings are referenced. To phrase this differently, signals are only required for levels in which nodes are referenced. For the root level however, signals must be emitted at all times (however the root level is always referenced when any view is attached).

Functions

GtkTreeModelForeachFunc ()

gboolean
(*GtkTreeModelForeachFunc) (GtkTreeModel *model,
                            GtkTreePath *path,
                            GtkTreeIter *iter,
                            gpointer data);

Type of the callback passed to gtk_tree_model_foreach() to iterate over the rows in a tree model.

Parameters

model

the GtkTreeModel being iterated

 

path

the current GtkTreePath

 

iter

the current GtkTreeIter

 

data

The user data passed to gtk_tree_model_foreach().

[closure]

Returns

TRUE to stop iterating, FALSE to continue


gtk_tree_path_new ()

GtkTreePath *
gtk_tree_path_new (void);

Creates a new GtkTreePath. This refers to a row.

Returns

A newly created GtkTreePath.


gtk_tree_path_new_from_string ()

GtkTreePath *
gtk_tree_path_new_from_string (const char *path);

Creates a new GtkTreePath initialized to path .

path is expected to be a colon separated list of numbers. For example, the string “10:4:0” would create a path of depth 3 pointing to the 11th child of the root node, the 5th child of that 11th child, and the 1st child of that 5th child. If an invalid path string is passed in, NULL is returned.

Parameters

path

The string representation of a path

 

Returns

A newly-created GtkTreePath, or NULL


gtk_tree_path_new_from_indices ()

GtkTreePath *
gtk_tree_path_new_from_indices (int first_index,
                                ...);

Creates a new path with first_index and varargs as indices.

Parameters

first_index

first integer

 

...

list of integers terminated by -1

 

Returns

A newly created GtkTreePath


gtk_tree_path_new_from_indicesv ()

GtkTreePath *
gtk_tree_path_new_from_indicesv (int *indices,
                                 gsize length);

Creates a new path with the given indices array of length .

[rename-to gtk_tree_path_new_from_indices]

Parameters

indices

array of indices.

[array length=length]

length

length of indices array

 

Returns

A newly created GtkTreePath


gtk_tree_path_to_string ()

char *
gtk_tree_path_to_string (GtkTreePath *path);

Generates a string representation of the path.

This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string.

Parameters

path

A GtkTreePath

 

Returns

A newly-allocated string. Must be freed with g_free().


gtk_tree_path_new_first ()

GtkTreePath *
gtk_tree_path_new_first (void);

Creates a new GtkTreePath.

The string representation of this path is “0”.

Returns

A new GtkTreePath


gtk_tree_path_append_index ()

void
gtk_tree_path_append_index (GtkTreePath *path,
                            int index_);

Appends a new index to a path.

As a result, the depth of the path is increased.

Parameters

path

a GtkTreePath

 

index_

the index

 

gtk_tree_path_prepend_index ()

void
gtk_tree_path_prepend_index (GtkTreePath *path,
                             int index_);

Prepends a new index to a path.

As a result, the depth of the path is increased.

Parameters

path

a GtkTreePath

 

index_

the index

 

gtk_tree_path_get_depth ()

int
gtk_tree_path_get_depth (GtkTreePath *path);

Returns the current depth of path .

Parameters

path

a GtkTreePath

 

Returns

The depth of path


gtk_tree_path_get_indices ()

int *
gtk_tree_path_get_indices (GtkTreePath *path);

Returns the current indices of path .

This is an array of integers, each representing a node in a tree. This value should not be freed.

The length of the array can be obtained with gtk_tree_path_get_depth().

[skip]

Parameters

path

a GtkTreePath

 

Returns

The current indices, or NULL


gtk_tree_path_get_indices_with_depth ()

int *
gtk_tree_path_get_indices_with_depth (GtkTreePath *path,
                                      int *depth);

Returns the current indices of path .

This is an array of integers, each representing a node in a tree. It also returns the number of elements in the array. The array should not be freed.

[rename-to gtk_tree_path_get_indices]

Parameters

path

a GtkTreePath

 

depth

return location for number of elements returned in the integer array, or NULL.

[out][allow-none]

Returns

The current indices, or NULL.

[array length=depth][transfer none]


gtk_tree_path_free ()

void
gtk_tree_path_free (GtkTreePath *path);

Frees path . If path is NULL, it simply returns.

Parameters

path

a GtkTreePath.

[allow-none]

gtk_tree_path_copy ()

GtkTreePath *
gtk_tree_path_copy (const GtkTreePath *path);

Creates a new GtkTreePath as a copy of path .

Parameters

path

a GtkTreePath

 

Returns

a new GtkTreePath


gtk_tree_path_compare ()

int
gtk_tree_path_compare (const GtkTreePath *a,
                       const GtkTreePath *b);

Compares two paths.

If a appears before b in a tree, then -1 is returned. If b appears before a , then 1 is returned. If the two nodes are equal, then 0 is returned.

Parameters

a

a GtkTreePath

 

b

a GtkTreePath to compare with

 

Returns

the relative positions of a and b


gtk_tree_path_next ()

void
gtk_tree_path_next (GtkTreePath *path);

Moves the path to point to the next node at the current depth.

Parameters

path

a GtkTreePath

 

gtk_tree_path_prev ()

gboolean
gtk_tree_path_prev (GtkTreePath *path);

Moves the path to point to the previous node at the current depth, if it exists.

Parameters

path

a GtkTreePath

 

Returns

TRUE if path has a previous node, and the move was made


gtk_tree_path_up ()

gboolean
gtk_tree_path_up (GtkTreePath *path);

Moves the path to point to its parent node, if it has a parent.

Parameters

path

a GtkTreePath

 

Returns

TRUE if path has a parent, and the move was made


gtk_tree_path_down ()

void
gtk_tree_path_down (GtkTreePath *path);

Moves path to point to the first child of the current path.

Parameters

path

a GtkTreePath

 

gtk_tree_path_is_ancestor ()

gboolean
gtk_tree_path_is_ancestor (GtkTreePath *path,
                           GtkTreePath *descendant);

Returns TRUE if descendant is a descendant of path .

Parameters

path

a GtkTreePath

 

descendant

another GtkTreePath

 

Returns

TRUE if descendant is contained inside path


gtk_tree_path_is_descendant ()

gboolean
gtk_tree_path_is_descendant (GtkTreePath *path,
                             GtkTreePath *ancestor);

Returns TRUE if path is a descendant of ancestor .

Parameters

path

a GtkTreePath

 

ancestor

another GtkTreePath

 

Returns

TRUE if ancestor contains path somewhere below it


gtk_tree_row_reference_new ()

GtkTreeRowReference *
gtk_tree_row_reference_new (GtkTreeModel *model,
                            GtkTreePath *path);

Creates a row reference based on path .

This reference will keep pointing to the node pointed to by path , so long as it exists. Any changes that occur on model are propagated, and the path is updated appropriately. If path isn’t a valid path in model , then NULL is returned.

Parameters

model

a GtkTreeModel

 

path

a valid GtkTreePath to monitor

 

Returns

a newly allocated GtkTreeRowReference, or NULL


gtk_tree_row_reference_new_proxy ()

GtkTreeRowReference *
gtk_tree_row_reference_new_proxy (GObject *proxy,
                                  GtkTreeModel *model,
                                  GtkTreePath *path);

You do not need to use this function.

Creates a row reference based on path .

This reference will keep pointing to the node pointed to by path , so long as it exists. If path isn’t a valid path in model , then NULL is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), gtk_tree_row_reference_reordered().

These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK+ objects like GtkTreeView already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object as model and proxy doesn’t work for reasons of internal implementation.

This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications.

Parameters

proxy

a proxy GObject

 

model

a GtkTreeModel

 

path

a valid GtkTreePath to monitor

 

Returns

a newly allocated GtkTreeRowReference, or NULL


gtk_tree_row_reference_get_model ()

GtkTreeModel *
gtk_tree_row_reference_get_model (GtkTreeRowReference *reference);

Returns the model that the row reference is monitoring.

Parameters

reference

a GtkTreeRowReference

 

Returns

the model.

[transfer none]


gtk_tree_row_reference_get_path ()

GtkTreePath *
gtk_tree_row_reference_get_path (GtkTreeRowReference *reference);

Returns a path that the row reference currently points to, or NULL if the path pointed to is no longer valid.

Parameters

reference

a GtkTreeRowReference

 

Returns

a current path, or NULL.

[nullable][transfer full]


gtk_tree_row_reference_valid ()

gboolean
gtk_tree_row_reference_valid (GtkTreeRowReference *reference);

Returns TRUE if the reference is non-NULL and refers to a current valid path.

Parameters

reference

a GtkTreeRowReference, or NULL.

[allow-none]

Returns

TRUE if reference points to a valid path


gtk_tree_row_reference_free ()

void
gtk_tree_row_reference_free (GtkTreeRowReference *reference);

Free’s reference . reference may be NULL

Parameters

reference

a GtkTreeRowReference, or NULL.

[allow-none]

gtk_tree_row_reference_copy ()

GtkTreeRowReference *
gtk_tree_row_reference_copy (GtkTreeRowReference *reference);

Copies a GtkTreeRowReference.

Parameters

reference

a GtkTreeRowReference

 

Returns

a copy of reference


gtk_tree_row_reference_inserted ()

void
gtk_tree_row_reference_inserted (GObject *proxy,
                                 GtkTreePath *path);

Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “row-inserted” signal.

Parameters

proxy

a GObject

 

path

the row position that was inserted

 

gtk_tree_row_reference_deleted ()

void
gtk_tree_row_reference_deleted (GObject *proxy,
                                GtkTreePath *path);

Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “row-deleted” signal.

Parameters

proxy

a GObject

 

path

the path position that was deleted

 

gtk_tree_row_reference_reordered ()

void
gtk_tree_row_reference_reordered (GObject *proxy,
                                  GtkTreePath *path,
                                  GtkTreeIter *iter,
                                  int *new_order);

Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “rows-reordered” signal.

[skip]

Parameters

proxy

a GObject

 

path

the parent path of the reordered signal

 

iter

the iter pointing to the parent of the reordered

 

new_order

the new order of rows.

[array]

gtk_tree_iter_copy ()

GtkTreeIter *
gtk_tree_iter_copy (GtkTreeIter *iter);

Creates a dynamically allocated tree iterator as a copy of iter .

This function is not intended for use in applications, because you can just copy the structs by value (GtkTreeIter new_iter = iter;). You must free this iter with gtk_tree_iter_free().

Parameters

iter

a GtkTreeIter

 

Returns

a newly-allocated copy of iter


gtk_tree_iter_free ()

void
gtk_tree_iter_free (GtkTreeIter *iter);

Frees an iterator that has been allocated by gtk_tree_iter_copy().

This function is mainly used for language bindings.

Parameters

iter

a dynamically allocated tree iterator

 

gtk_tree_model_get_flags ()

GtkTreeModelFlags
gtk_tree_model_get_flags (GtkTreeModel *tree_model);

Returns a set of flags supported by this interface.

The flags are a bitwise combination of GtkTreeModelFlags. The flags supported should not change during the lifetime of the tree_model .

Parameters

tree_model

a GtkTreeModel

 

Returns

the flags supported by this interface


gtk_tree_model_get_n_columns ()

int
gtk_tree_model_get_n_columns (GtkTreeModel *tree_model);

Returns the number of columns supported by tree_model .

Parameters

tree_model

a GtkTreeModel

 

Returns

the number of columns


gtk_tree_model_get_column_type ()

GType
gtk_tree_model_get_column_type (GtkTreeModel *tree_model,
                                int index_);

Returns the type of the column.

Parameters

tree_model

a GtkTreeModel

 

index_

the column index

 

Returns

the type of the column


gtk_tree_model_get_iter ()

gboolean
gtk_tree_model_get_iter (GtkTreeModel *tree_model,
                         GtkTreeIter *iter,
                         GtkTreePath *path);

Sets iter to a valid iterator pointing to path . If path does not exist, iter is set to an invalid iterator and FALSE is returned.

Parameters

tree_model

a GtkTreeModel

 

iter

the uninitialized GtkTreeIter.

[out]

path

the GtkTreePath

 

Returns

TRUE, if iter was set


gtk_tree_model_get_iter_from_string ()

gboolean
gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model,
                                     GtkTreeIter *iter,
                                     const char *path_string);

Sets iter to a valid iterator pointing to path_string , if it exists. Otherwise, iter is left invalid and FALSE is returned.

Parameters

tree_model

a GtkTreeModel

 

iter

an uninitialized GtkTreeIter.

[out]

path_string

a string representation of a GtkTreePath

 

Returns

TRUE, if iter was set


gtk_tree_model_get_iter_first ()

gboolean
gtk_tree_model_get_iter_first (GtkTreeModel *tree_model,
                               GtkTreeIter *iter);

Initializes iter with the first iterator in the tree (the one at the path "0") and returns TRUE. Returns FALSE if the tree is empty.

Parameters

tree_model

a GtkTreeModel

 

iter

the uninitialized GtkTreeIter.

[out]

Returns

TRUE, if iter was set


gtk_tree_model_get_path ()

GtkTreePath *
gtk_tree_model_get_path (GtkTreeModel *tree_model,
                         GtkTreeIter *iter);

Returns a newly-created GtkTreePath referenced by iter .

This path should be freed with gtk_tree_path_free().

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter

 

Returns

a newly-created GtkTreePath


gtk_tree_model_get_value ()

void
gtk_tree_model_get_value (GtkTreeModel *tree_model,
                          GtkTreeIter *iter,
                          int column,
                          GValue *value);

Initializes and sets value to that at column .

When done with value , g_value_unset() needs to be called to free any allocated memory.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter

 

column

the column to lookup the value at

 

value

an empty GValue to set.

[out][transfer none]

gtk_tree_model_iter_next ()

gboolean
gtk_tree_model_iter_next (GtkTreeModel *tree_model,
                          GtkTreeIter *iter);

Sets iter to point to the node following it at the current level.

If there is no next iter , FALSE is returned and iter is set to be invalid.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter.

[in]

Returns

TRUE if iter has been changed to the next node


gtk_tree_model_iter_previous ()

gboolean
gtk_tree_model_iter_previous (GtkTreeModel *tree_model,
                              GtkTreeIter *iter);

Sets iter to point to the previous node at the current level.

If there is no previous iter , FALSE is returned and iter is set to be invalid.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter.

[in]

Returns

TRUE if iter has been changed to the previous node


gtk_tree_model_iter_children ()

gboolean
gtk_tree_model_iter_children (GtkTreeModel *tree_model,
                              GtkTreeIter *iter,
                              GtkTreeIter *parent);

Sets iter to point to the first child of parent .

If parent has no children, FALSE is returned and iter is set to be invalid. parent will remain a valid node after this function has been called.

If parent is NULL returns the first node, equivalent to gtk_tree_model_get_iter_first (tree_model, iter);

Parameters

tree_model

a GtkTreeModel

 

iter

the new GtkTreeIter to be set to the child.

[out]

parent

the GtkTreeIter, or NULL.

[allow-none]

Returns

TRUE, if iter has been set to the first child


gtk_tree_model_iter_has_child ()

gboolean
gtk_tree_model_iter_has_child (GtkTreeModel *tree_model,
                               GtkTreeIter *iter);

Returns TRUE if iter has children, FALSE otherwise.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter to test for children

 

Returns

TRUE if iter has children


gtk_tree_model_iter_n_children ()

int
gtk_tree_model_iter_n_children (GtkTreeModel *tree_model,
                                GtkTreeIter *iter);

Returns the number of children that iter has.

As a special case, if iter is NULL, then the number of toplevel nodes is returned.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter, or NULL.

[allow-none]

Returns

the number of children of iter


gtk_tree_model_iter_nth_child ()

gboolean
gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model,
                               GtkTreeIter *iter,
                               GtkTreeIter *parent,
                               int n);

Sets iter to be the child of parent , using the given index.

The first index is 0. If n is too big, or parent has no children, iter is set to an invalid iterator and FALSE is returned. parent will remain a valid node after this function has been called. As a special case, if parent is NULL, then the n -th root node is set.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter to set to the nth child.

[out]

parent

the GtkTreeIter to get the child from, or NULL.

[allow-none]

n

the index of the desired child

 

Returns

TRUE, if parent has an n -th child


gtk_tree_model_iter_parent ()

gboolean
gtk_tree_model_iter_parent (GtkTreeModel *tree_model,
                            GtkTreeIter *iter,
                            GtkTreeIter *child);

Sets iter to be the parent of child .

If child is at the toplevel, and doesn’t have a parent, then iter is set to an invalid iterator and FALSE is returned. child will remain a valid node after this function has been called.

iter will be initialized before the lookup is performed, so child and iter cannot point to the same memory location.

Parameters

tree_model

a GtkTreeModel

 

iter

the new GtkTreeIter to set to the parent.

[out]

child

the GtkTreeIter

 

Returns

TRUE, if iter is set to the parent of child


gtk_tree_model_get_string_from_iter ()

char *
gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model,
                                     GtkTreeIter *iter);

Generates a string representation of the iter.

This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string.

Parameters

tree_model

a GtkTreeModel

 

iter

a GtkTreeIter

 

Returns

a newly-allocated string. Must be freed with g_free().


gtk_tree_model_ref_node ()

void
gtk_tree_model_ref_node (GtkTreeModel *tree_model,
                         GtkTreeIter *iter);

Lets the tree ref the node.

This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons.

This function is primarily meant as a way for views to let caching models know when nodes are being displayed (and hence, whether or not to cache that node). Being displayed means a node is in an expanded branch, regardless of whether the node is currently visible in the viewport. For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view.

A model should be expected to be able to get an iter independent of its reffed state.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter

 

gtk_tree_model_unref_node ()

void
gtk_tree_model_unref_node (GtkTreeModel *tree_model,
                           GtkTreeIter *iter);

Lets the tree unref the node.

This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. For more information on what this means, see gtk_tree_model_ref_node().

Please note that nodes that are deleted are not unreffed.

Parameters

tree_model

a GtkTreeModel

 

iter

the GtkTreeIter

 

gtk_tree_model_get ()

void
gtk_tree_model_get (GtkTreeModel *tree_model,
                    GtkTreeIter *iter,
                    ...);

Gets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by a place to store the value being retrieved. The list is terminated by a -1. For example, to get a value from column 0 with type G_TYPE_STRING, you would write: gtk_tree_model_get (model, iter, 0, &amp;place_string_here, -1), where place_string_here is a gchararray to be filled with the string.

Returned values with type G_TYPE_OBJECT have to be unreferenced, values with type G_TYPE_STRING or G_TYPE_BOXED have to be freed. Other values are passed by value.

Parameters

tree_model

a GtkTreeModel

 

iter

a row in tree_model

 

...

pairs of column number and value return locations, terminated by -1

 

gtk_tree_model_get_valist ()

void
gtk_tree_model_get_valist (GtkTreeModel *tree_model,
                           GtkTreeIter *iter,
                           va_list var_args);

See gtk_tree_model_get(), this version takes a va_list for language bindings to use.

Parameters

tree_model

a GtkTreeModel

 

iter

a row in tree_model

 

var_args

va_list of column/return location pairs

 

gtk_tree_model_foreach ()

void
gtk_tree_model_foreach (GtkTreeModel *model,
                        GtkTreeModelForeachFunc func,
                        gpointer user_data);

Calls func on each node in model in a depth-first fashion.

If func returns TRUE, then the tree ceases to be walked, and gtk_tree_model_foreach() returns.

Parameters

model

a GtkTreeModel

 

func

a function to be called on each row.

[scope call]

user_data

user data to passed to func .

[closure]

gtk_tree_model_row_changed ()

void
gtk_tree_model_row_changed (GtkTreeModel *tree_model,
                            GtkTreePath *path,
                            GtkTreeIter *iter);

Emits the “row-changed” signal on tree_model .

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the changed row

 

iter

a valid GtkTreeIter pointing to the changed row

 

gtk_tree_model_row_inserted ()

void
gtk_tree_model_row_inserted (GtkTreeModel *tree_model,
                             GtkTreePath *path,
                             GtkTreeIter *iter);

Emits the “row-inserted” signal on tree_model .

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the inserted row

 

iter

a valid GtkTreeIter pointing to the inserted row

 

gtk_tree_model_row_has_child_toggled ()

void
gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model,
                                      GtkTreePath *path,
                                      GtkTreeIter *iter);

Emits the “row-has-child-toggled” signal on tree_model . This should be called by models after the child state of a node changes.

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the changed row

 

iter

a valid GtkTreeIter pointing to the changed row

 

gtk_tree_model_row_deleted ()

void
gtk_tree_model_row_deleted (GtkTreeModel *tree_model,
                            GtkTreePath *path);

Emits the “row-deleted” signal on tree_model .

This should be called by models after a row has been removed. The location pointed to by path should be the location that the row previously was at. It may not be a valid location anymore.

Nodes that are deleted are not unreffed, this means that any outstanding references on the deleted node should not be released.

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the previous location of the deleted row

 

gtk_tree_model_rows_reordered ()

void
gtk_tree_model_rows_reordered (GtkTreeModel *tree_model,
                               GtkTreePath *path,
                               GtkTreeIter *iter,
                               int *new_order);

Emits the “rows-reordered” signal on tree_model .

This should be called by models when their rows have been reordered.

[skip]

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the tree node whose children have been reordered

 

iter

a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0

 

new_order

an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos

 

gtk_tree_model_rows_reordered_with_length ()

void
gtk_tree_model_rows_reordered_with_length
                               (GtkTreeModel *tree_model,
                                GtkTreePath *path,
                                GtkTreeIter *iter,
                                int *new_order,
                                int length);

Emits the “rows-reordered” signal on tree_model .

This should be called by models when their rows have been reordered.

[rename-to gtk_tree_model_rows_reordered]

Parameters

tree_model

a GtkTreeModel

 

path

a GtkTreePath pointing to the tree node whose children have been reordered

 

iter

a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0.

[allow-none]

new_order

an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos.

[array length=length]

length

length of new_order array

 

Types and Values

GtkTreeModel

typedef struct _GtkTreeModel GtkTreeModel;

struct GtkTreeIter

struct GtkTreeIter {
  int stamp;
  gpointer user_data;
  gpointer user_data2;
  gpointer user_data3;
};

The GtkTreeIter is the primary structure for accessing a GtkTreeModel. Models are expected to put a unique integer in the stamp member, and put model-specific data in the three user_data members.

Members

int stamp;

a unique stamp to catch invalid iterators

 

gpointer user_data;

model-specific data

 

gpointer user_data2;

model-specific data

 

gpointer user_data3;

model-specific data

 

GtkTreePath

typedef struct _GtkTreePath GtkTreePath;

GtkTreeRowReference

typedef struct _GtkTreeRowReference GtkTreeRowReference;

A GtkTreeRowReference tracks model changes so that it always refers to the same row (a GtkTreePath refers to a position, not a fixed row). Create a new GtkTreeRowReference with gtk_tree_row_reference_new().


struct GtkTreeModelIface

struct GtkTreeModelIface {
  /* Signals */
  void         (* row_changed)           (GtkTreeModel *tree_model,
					  GtkTreePath  *path,
					  GtkTreeIter  *iter);
  void         (* row_inserted)          (GtkTreeModel *tree_model,
					  GtkTreePath  *path,
					  GtkTreeIter  *iter);
  void         (* row_has_child_toggled) (GtkTreeModel *tree_model,
					  GtkTreePath  *path,
					  GtkTreeIter  *iter);
  void         (* row_deleted)           (GtkTreeModel *tree_model,
					  GtkTreePath  *path);
  void         (* rows_reordered)        (GtkTreeModel *tree_model,
					  GtkTreePath  *path,
					  GtkTreeIter  *iter,
					  int          *new_order);

  /* Virtual Table */
  GtkTreeModelFlags (* get_flags)  (GtkTreeModel *tree_model);

  int          (* get_n_columns)   (GtkTreeModel *tree_model);
  GType        (* get_column_type) (GtkTreeModel *tree_model,
				    int           index_);
  gboolean     (* get_iter)        (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter,
				    GtkTreePath  *path);
  GtkTreePath *(* get_path)        (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  void         (* get_value)       (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter,
				    int           column,
				    GValue       *value);
  gboolean     (* iter_next)       (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  gboolean     (* iter_previous)   (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  gboolean     (* iter_children)   (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter,
				    GtkTreeIter  *parent);
  gboolean     (* iter_has_child)  (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  int          (* iter_n_children) (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  gboolean     (* iter_nth_child)  (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter,
				    GtkTreeIter  *parent,
				    int           n);
  gboolean     (* iter_parent)     (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter,
				    GtkTreeIter  *child);
  void         (* ref_node)        (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
  void         (* unref_node)      (GtkTreeModel *tree_model,
				    GtkTreeIter  *iter);
};

Members

row_changed ()

Signal emitted when a row in the model has changed.

 

row_inserted ()

Signal emitted when a new row has been inserted in the model.

 

row_has_child_toggled ()

Signal emitted when a row has gotten the first child row or lost its last child row.

 

row_deleted ()

Signal emitted when a row has been deleted.

 

rows_reordered ()

Signal emitted when the children of a node in the GtkTreeModel have been reordered.

 

get_flags ()

Get GtkTreeModelFlags supported by this interface.

 

get_n_columns ()

Get the number of columns supported by the model.

 

get_column_type ()

Get the type of the column.

 

get_iter ()

Sets iter to a valid iterator pointing to path.

 

get_path ()

Gets a newly-created GtkTreePath referenced by iter.

 

get_value ()

Initializes and sets value to that at column.

 

iter_next ()

Sets iter to point to the node following it at the current level.

 

iter_previous ()

Sets iter to point to the previous node at the current level.

 

iter_children ()

Sets iter to point to the first child of parent.

 

iter_has_child ()

TRUE if iter has children, FALSE otherwise.

 

iter_n_children ()

Gets the number of children that iter has.

 

iter_nth_child ()

Sets iter to be the child of parent, using the given index.

 

iter_parent ()

Sets iter to be the parent of child.

 

ref_node ()

Lets the tree ref the node.

 

unref_node ()

Lets the tree unref the node.

 

enum GtkTreeModelFlags

These flags indicate various properties of a GtkTreeModel.

They are returned by gtk_tree_model_get_flags(), and must be static for the lifetime of the object. A more complete description of GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of this section.

Members

GTK_TREE_MODEL_ITERS_PERSIST

iterators survive all signals emitted by the tree

 

GTK_TREE_MODEL_LIST_ONLY

the model is a list only, and never has children

 

Signal Details

The “row-changed” signal

void
user_function (GtkTreeModel *tree_model,
               GtkTreePath  *path,
               GtkTreeIter  *iter,
               gpointer      user_data)

This signal is emitted when a row in the model has changed.

Parameters

tree_model

the GtkTreeModel on which the signal is emitted

 

path

a GtkTreePath identifying the changed row

 

iter

a valid GtkTreeIter pointing to the changed row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “row-deleted” signal

void
user_function (GtkTreeModel *tree_model,
               GtkTreePath  *path,
               gpointer      user_data)

This signal is emitted when a row has been deleted.

Note that no iterator is passed to the signal handler, since the row is already deleted.

This should be called by models after a row has been removed. The location pointed to by path should be the location that the row previously was at. It may not be a valid location anymore.

Parameters

tree_model

the GtkTreeModel on which the signal is emitted

 

path

a GtkTreePath identifying the row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “row-has-child-toggled” signal

void
user_function (GtkTreeModel *tree_model,
               GtkTreePath  *path,
               GtkTreeIter  *iter,
               gpointer      user_data)

This signal is emitted when a row has gotten the first child row or lost its last child row.

Parameters

tree_model

the GtkTreeModel on which the signal is emitted

 

path

a GtkTreePath identifying the row

 

iter

a valid GtkTreeIter pointing to the row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “row-inserted” signal

void
user_function (GtkTreeModel *tree_model,
               GtkTreePath  *path,
               GtkTreeIter  *iter,
               gpointer      user_data)

This signal is emitted when a new row has been inserted in the model.

Note that the row may still be empty at this point, since it is a common pattern to first insert an empty row, and then fill it with the desired values.

Parameters

tree_model

the GtkTreeModel on which the signal is emitted

 

path

a GtkTreePath identifying the new row

 

iter

a valid GtkTreeIter pointing to the new row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “rows-reordered” signal

void
user_function (GtkTreeModel *tree_model,
               GtkTreePath  *path,
               GtkTreeIter  *iter,
               gpointer      new_order,
               gpointer      user_data)

This signal is emitted when the children of a node in the GtkTreeModel have been reordered.

Note that this signal is not emitted when rows are reordered by DND, since this is implemented by removing and then reinserting the row.

[skip]

Parameters

tree_model

the GtkTreeModel on which the signal is emitted

 

path

a GtkTreePath identifying the tree node whose children have been reordered

 

iter

a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0

 

new_order

an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkTreeView, GtkTreeStore, GtkListStore, GtkTreeView drag-and-drop GtkTreeSortable

docs/reference/gtk/html/GtkVolumeButton.html0000664000175000017500000001671513710700534021336 0ustar mclasenmclasen GtkVolumeButton: GTK 4 Reference Manual

GtkVolumeButton

GtkVolumeButton — A button which pops up a volume control

Functions

Properties

gboolean use-symbolic Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkScaleButton
                ╰── GtkVolumeButton

Implemented Interfaces

GtkVolumeButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkVolumeButton is a subclass of GtkScaleButton that has been tailored for use as a volume control widget with suitable icons, tooltips and accessible labels.

Functions

gtk_volume_button_new ()

GtkWidget *
gtk_volume_button_new (void);

Creates a GtkVolumeButton, with a range between 0.0 and 1.0, with a stepping of 0.02. Volume values can be obtained and modified using the functions from GtkScaleButton.

Returns

a new GtkVolumeButton

Types and Values

struct GtkVolumeButton

struct GtkVolumeButton;

Property Details

The “use-symbolic” property

  “use-symbolic”             gboolean

Whether to use symbolic icons as the icons. Note that if the symbolic icons are not available in your installed theme, then the normal (potentially colorful) icons will be used.

Owner: GtkVolumeButton

Flags: Read / Write / Construct

Default value: TRUE

docs/reference/gtk/html/ch03s05.html0000664000175000017500000002012413710700534017277 0ustar mclasenmclasen GtkTreeView questions: GTK 4 Reference Manual

GtkTreeView questions

  1. How do I associate some data with a row in the tree?

    Remember that the GtkTreeModel columns don’t necessarily have to be displayed. So you can put non-user-visible data in your model just like any other data, and retrieve it with gtk_tree_model_get(). See the tree widget overview.

  2. How do I put an image and some text in the same column?

    You can pack more than one GtkCellRenderer into a single GtkTreeViewColumn using gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). So pack both a GtkCellRendererPixbuf and a GtkCellRendererText into the column.

  3. I can set data easily on my GtkTreeStore/#GtkListStore models using gtk_list_store_set() and gtk_tree_store_set(), but can’t read it back?

    Both the GtkTreeStore and the GtkListStore implement the GtkTreeModel interface. Consequentially, you can use any function this interface implements. The easiest way to read a set of data back is to use gtk_tree_model_get().

  4. How do I change the way that numbers are formatted by GtkTreeView?

    Use gtk_tree_view_insert_column_with_data_func() or gtk_tree_view_column_set_cell_data_func() and do the conversion from number to string yourself (with, say, g_strdup_printf()).

    The following example demonstrates this:

    enum
    {
      DOUBLE_COLUMN,
      N_COLUMNS
    };
    
    GtkListStore *mycolumns;
    
    GtkTreeView *treeview;
    
    void
    my_cell_double_to_text (GtkTreeViewColumn *tree_column,
                            GtkCellRenderer   *cell,
                            GtkTreeModel      *tree_model,
                            GtkTreeIter       *iter,
                            gpointer           data)
    {
      GtkCellRendererText *cell_text = (GtkCellRendererText *)cell;
      double d;
      char *text;
    
      /* Get the double value from the model. */
      gtk_tree_model_get (tree_model, iter, (int)data, &d, -1);
      /* Now we can format the value ourselves. */
      text = g_strdup_printf ("%.2f", d);
      g_object_set (cell, "text", text, NULL);
      g_free (text);
    }
    
    void
    set_up_new_columns (GtkTreeView *myview)
    {
      GtkCellRendererText *renderer;
      GtkTreeViewColumn *column;
      GtkListStore *mycolumns;
    
      /* Create the data model and associate it with the given TreeView */
      mycolumns = gtk_list_store_new (N_COLUMNS, G_TYPE_DOUBLE);
      gtk_tree_view_set_model (myview, GTK_TREE_MODEL (mycolumns));
    
      /* Create a GtkCellRendererText */
      renderer = gtk_cell_renderer_text_new();
    
      /* Create a new column that has a title ("Example column"),
       * uses the above created renderer that will render the double
       * value into text from the associated model's rows.
       */
      column = gtk_tree_view_column_new();
      gtk_tree_view_column_set_title  (column, "Example column");
      renderer = gtk_cell_renderer_text_new();
      gtk_tree_view_column_pack_start (column, renderer, TRUE);
    
      /* Append the new column after the GtkTreeView's previous columns. */
      gtk_tree_view_append_column (GTK_TREE_VIEW (myview), column);
      /* Since we created the column by hand, we can set it up for our
       * needs, e.g. set its minimum and maximum width, etc.
       */
      /* Set up a custom function that will be called when the column content
       * is rendered. We use the func_data pointer as an index into our
       * model. This is convenient when using multi column lists.
       */
      gtk_tree_view_column_set_cell_data_func (column, renderer,
                                               my_cell_double_to_text,
                                               (gpointer)DOUBLE_COLUMN, NULL);
    }
    
  5. How do I hide the expander arrows in my tree view?

    Set the expander-column property of the tree view to a hidden column. See gtk_tree_view_set_expander_column() and gtk_tree_view_column_set_visible().

docs/reference/gtk/html/ScrollingWidgets.html0000664000175000017500000000447413710700534021507 0ustar mclasenmclasen Scrolling: GTK 4 Reference Manual

Scrolling

GtkScrollbar — A Scrollbar
GtkScrolledWindow — Adds scrollbars to its child widget
GtkScrollable — An interface for scrollable widgets
GtkViewport — An adapter which makes widgets scrollable
docs/reference/gtk/html/gtk4-High-level-Printing-API.html0000664000175000017500000051647413710700534023266 0ustar mclasenmclasen GtkPrintOperation: GTK 4 Reference Manual

GtkPrintOperation

GtkPrintOperation — High-level Printing API

Functions

GtkPrintOperation * gtk_print_operation_new ()
void gtk_print_operation_set_allow_async ()
void gtk_print_operation_get_error ()
void gtk_print_operation_set_default_page_setup ()
GtkPageSetup * gtk_print_operation_get_default_page_setup ()
void gtk_print_operation_set_print_settings ()
GtkPrintSettings * gtk_print_operation_get_print_settings ()
void gtk_print_operation_set_job_name ()
void gtk_print_operation_set_n_pages ()
int gtk_print_operation_get_n_pages_to_print ()
void gtk_print_operation_set_current_page ()
void gtk_print_operation_set_use_full_page ()
void gtk_print_operation_set_unit ()
void gtk_print_operation_set_export_filename ()
void gtk_print_operation_set_show_progress ()
void gtk_print_operation_set_track_print_status ()
void gtk_print_operation_set_custom_tab_label ()
GtkPrintOperationResult gtk_print_operation_run ()
void gtk_print_operation_cancel ()
void gtk_print_operation_draw_page_finish ()
void gtk_print_operation_set_defer_drawing ()
GtkPrintStatus gtk_print_operation_get_status ()
const char * gtk_print_operation_get_status_string ()
gboolean gtk_print_operation_is_finished ()
void gtk_print_operation_set_support_selection ()
gboolean gtk_print_operation_get_support_selection ()
void gtk_print_operation_set_has_selection ()
gboolean gtk_print_operation_get_has_selection ()
void gtk_print_operation_set_embed_page_setup ()
gboolean gtk_print_operation_get_embed_page_setup ()
GtkPageSetup * gtk_print_run_page_setup_dialog ()
void (*GtkPageSetupDoneFunc) ()
void gtk_print_run_page_setup_dialog_async ()
void gtk_print_operation_preview_end_preview ()
gboolean gtk_print_operation_preview_is_selected ()
void gtk_print_operation_preview_render_page ()

Properties

gboolean allow-async Read / Write
gint current-page Read / Write
gchar * custom-tab-label Read / Write
GtkPageSetup * default-page-setup Read / Write
gboolean embed-page-setup Read / Write
gchar * export-filename Read / Write
gboolean has-selection Read / Write
gchar * job-name Read / Write
gint n-pages Read / Write
gint n-pages-to-print Read
GtkPrintSettings * print-settings Read / Write
gboolean show-progress Read / Write
GtkPrintStatus status Read
gchar * status-string Read
gboolean support-selection Read / Write
gboolean track-print-status Read / Write
GtkUnit unit Read / Write
gboolean use-full-page Read / Write

Signals

void begin-print Run Last
GObject* create-custom-widget Run Last
void custom-widget-apply Run Last
void done Run Last
void draw-page Run Last
void end-print Run Last
gboolean paginate Run Last
gboolean preview Run Last
void request-page-setup Run Last
void status-changed Run Last
void update-custom-widget Run Last
void got-page-size Run Last
void ready Run Last

Object Hierarchy

    GInterface
    ╰── GtkPrintOperationPreview
    GObject
    ╰── GtkPrintOperation

Prerequisites

GtkPrintOperationPreview requires GObject.

Implemented Interfaces

GtkPrintOperation implements GtkPrintOperationPreview.

Known Implementations

GtkPrintOperationPreview is implemented by GtkPrintOperation.

Includes

#include <gtk/gtk.h>

Description

GtkPrintOperation is the high-level, portable printing API. It looks a bit different than other GTK+ dialogs such as the GtkFileChooser, since some platforms don’t expose enough infrastructure to implement a good print dialog. On such platforms, GtkPrintOperation uses the native print dialog. On platforms which do not provide a native print dialog, GTK+ uses its own, see GtkPrintUnixDialog.

The typical way to use the high-level printing API is to create a GtkPrintOperation object with gtk_print_operation_new() when the user selects to print. Then you set some properties on it, e.g. the page size, any GtkPrintSettings from previous print operations, the number of pages, the current page, etc.

Then you start the print operation by calling gtk_print_operation_run(). It will then show a dialog, let the user select a printer and options. When the user finished the dialog various signals will be emitted on the GtkPrintOperation, the main one being “draw-page”, which you are supposed to catch and render the page on the provided GtkPrintContext using Cairo.

The high-level printing API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static GtkPrintSettings *settings = NULL;

static void
do_print (void)
{
  GtkPrintOperation *print;
  GtkPrintOperationResult res;

  print = gtk_print_operation_new ();

  if (settings != NULL)
    gtk_print_operation_set_print_settings (print, settings);

  g_signal_connect (print, "begin_print", G_CALLBACK (begin_print), NULL);
  g_signal_connect (print, "draw_page", G_CALLBACK (draw_page), NULL);

  res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
                                 GTK_WINDOW (main_window), NULL);

  if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
    {
      if (settings != NULL)
        g_object_unref (settings);
      settings = g_object_ref (gtk_print_operation_get_print_settings (print));
    }

  g_object_unref (print);
}

By default GtkPrintOperation uses an external application to do print preview. To implement a custom print preview, an application must connect to the preview signal. The functions gtk_print_operation_preview_render_page(), gtk_print_operation_preview_end_preview() and gtk_print_operation_preview_is_selected() are useful when implementing a print preview.

Functions

gtk_print_operation_new ()

GtkPrintOperation *
gtk_print_operation_new (void);

Creates a new GtkPrintOperation.

Returns

a new GtkPrintOperation


gtk_print_operation_set_allow_async ()

void
gtk_print_operation_set_allow_async (GtkPrintOperation *op,
                                     gboolean allow_async);

Sets whether the gtk_print_operation_run() may return before the print operation is completed. Note that some platforms may not allow asynchronous operation.

Parameters

op

a GtkPrintOperation

 

allow_async

TRUE to allow asynchronous operation

 

gtk_print_operation_get_error ()

void
gtk_print_operation_get_error (GtkPrintOperation *op,
                               GError **error);

Call this when the result of a print operation is GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by gtk_print_operation_run(), or in the “done” signal handler. The returned GError will contain more details on what went wrong.

Parameters

op

a GtkPrintOperation

 

error

return location for the error

 

gtk_print_operation_set_default_page_setup ()

void
gtk_print_operation_set_default_page_setup
                               (GtkPrintOperation *op,
                                GtkPageSetup *default_page_setup);

Makes default_page_setup the default page setup for op .

This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the “request-page-setup” signal.

Parameters

op

a GtkPrintOperation

 

default_page_setup

a GtkPageSetup, or NULL.

[allow-none]

gtk_print_operation_get_default_page_setup ()

GtkPageSetup *
gtk_print_operation_get_default_page_setup
                               (GtkPrintOperation *op);

Returns the default page setup, see gtk_print_operation_set_default_page_setup().

Parameters

Returns

the default page setup.

[transfer none]


gtk_print_operation_set_print_settings ()

void
gtk_print_operation_set_print_settings
                               (GtkPrintOperation *op,
                                GtkPrintSettings *print_settings);

Sets the print settings for op . This is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run().

Parameters

op

a GtkPrintOperation

 

print_settings

GtkPrintSettings.

[allow-none]

gtk_print_operation_get_print_settings ()

GtkPrintSettings *
gtk_print_operation_get_print_settings
                               (GtkPrintOperation *op);

Returns the current print settings.

Note that the return value is NULL until either gtk_print_operation_set_print_settings() or gtk_print_operation_run() have been called.

Parameters

Returns

the current print settings of op .

[transfer none]


gtk_print_operation_set_job_name ()

void
gtk_print_operation_set_job_name (GtkPrintOperation *op,
                                  const char *job_name);

Sets the name of the print job. The name is used to identify the job (e.g. in monitoring applications like eggcups).

If you don’t set a job name, GTK+ picks a default one by numbering successive print jobs.

Parameters

op

a GtkPrintOperation

 

job_name

a string that identifies the print job

 

gtk_print_operation_set_n_pages ()

void
gtk_print_operation_set_n_pages (GtkPrintOperation *op,
                                 int n_pages);

Sets the number of pages in the document.

This must be set to a positive number before the rendering starts. It may be set in a “begin-print” signal hander.

Note that the page numbers passed to the “request-page-setup” and “draw-page” signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page n_pages - 1.

Parameters

op

a GtkPrintOperation

 

n_pages

the number of pages

 

gtk_print_operation_get_n_pages_to_print ()

int
gtk_print_operation_get_n_pages_to_print
                               (GtkPrintOperation *op);

Returns the number of pages that will be printed.

Note that this value is set during print preparation phase (GTK_PRINT_STATUS_PREPARING), so this function should never be called before the data generation phase (GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the “status-changed” signal and call gtk_print_operation_get_n_pages_to_print() when print status is GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation.

Parameters

Returns

the number of pages that will be printed


gtk_print_operation_set_current_page ()

void
gtk_print_operation_set_current_page (GtkPrintOperation *op,
                                      int current_page);

Sets the current page.

If this is called before gtk_print_operation_run(), the user will be able to select to print only the current page.

Note that this only makes sense for pre-paginated documents.

Parameters

op

a GtkPrintOperation

 

current_page

the current page, 0-based

 

gtk_print_operation_set_use_full_page ()

void
gtk_print_operation_set_use_full_page (GtkPrintOperation *op,
                                       gboolean full_page);

If full_page is TRUE, the transformation for the cairo context obtained from GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins).

Parameters

op

a GtkPrintOperation

 

full_page

TRUE to set up the GtkPrintContext for the full page

 

gtk_print_operation_set_unit ()

void
gtk_print_operation_set_unit (GtkPrintOperation *op,
                              GtkUnit unit);

Sets up the transformation for the cairo context obtained from GtkPrintContext in such a way that distances are measured in units of unit .

Parameters

op

a GtkPrintOperation

 

unit

the unit to use

 

gtk_print_operation_set_export_filename ()

void
gtk_print_operation_set_export_filename
                               (GtkPrintOperation *op,
                                const char *filename);

Sets up the GtkPrintOperation to generate a file instead of showing the print dialog. The indended use of this function is for implementing “Export to PDF” actions. Currently, PDF is the only supported format.

“Print to PDF” support is independent of this and is done by letting the user pick the “Print to PDF” item from the list of printers in the print dialog.

Parameters

op

a GtkPrintOperation

 

filename

the filename for the exported file.

[type filename]

gtk_print_operation_set_show_progress ()

void
gtk_print_operation_set_show_progress (GtkPrintOperation *op,
                                       gboolean show_progress);

If show_progress is TRUE, the print operation will show a progress dialog during the print operation.

Parameters

op

a GtkPrintOperation

 

show_progress

TRUE to show a progress dialog

 

gtk_print_operation_set_track_print_status ()

void
gtk_print_operation_set_track_print_status
                               (GtkPrintOperation *op,
                                gboolean track_status);

If track_status is TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer.

This function is often implemented using some form of polling, so it should not be enabled unless needed.

Parameters

op

a GtkPrintOperation

 

track_status

TRUE to track status after printing

 

gtk_print_operation_set_custom_tab_label ()

void
gtk_print_operation_set_custom_tab_label
                               (GtkPrintOperation *op,
                                const char *label);

Sets the label for the tab holding custom widgets.

Parameters

op

a GtkPrintOperation

 

label

the label to use, or NULL to use the default label.

[allow-none]

gtk_print_operation_run ()

GtkPrintOperationResult
gtk_print_operation_run (GtkPrintOperation *op,
                         GtkPrintOperationAction action,
                         GtkWindow *parent,
                         GError **error);

Runs the print operation, by first letting the user modify print settings in the print dialog, and then print the document.

Normally that this function does not return until the rendering of all pages is complete. You can connect to the “status-changed” signal on op to obtain some information about the progress of the print operation. Furthermore, it may use a recursive mainloop to show the print dialog.

If you call gtk_print_operation_set_allow_async() or set the “allow-async” property the operation will run asynchronously if this is supported on the platform. The “done” signal will be emitted with the result of the operation when the it is done (i.e. when the dialog is canceled, or when the print succeeds or fails).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if (settings != NULL)
  gtk_print_operation_set_print_settings (print, settings);
  
if (page_setup != NULL)
  gtk_print_operation_set_default_page_setup (print, page_setup);
  
g_signal_connect (print, "begin-print", 
                  G_CALLBACK (begin_print), &data);
g_signal_connect (print, "draw-page", 
                  G_CALLBACK (draw_page), &data);
 
res = gtk_print_operation_run (print, 
                               GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, 
                               parent, 
                               &error);
 
if (res == GTK_PRINT_OPERATION_RESULT_ERROR)
 {
   error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
  			                     GTK_DIALOG_DESTROY_WITH_PARENT,
					     GTK_MESSAGE_ERROR,
					     GTK_BUTTONS_CLOSE,
					     "Error printing file:\n%s",
					     error->message);
   g_signal_connect (error_dialog, "response", 
                     G_CALLBACK (gtk_window_destroy), NULL);
   gtk_widget_show (error_dialog);
   g_error_free (error);
 }
else if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
 {
   if (settings != NULL)
g_object_unref (settings);
   settings = g_object_ref (gtk_print_operation_get_print_settings (print));
 }

Note that gtk_print_operation_run() can only be called once on a given GtkPrintOperation.

Parameters

op

a GtkPrintOperation

 

action

the action to start

 

parent

Transient parent of the dialog.

[allow-none]

error

Return location for errors, or NULL.

[allow-none]

Returns

the result of the print operation. A return value of GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was completed successfully. In this case, it is a good idea to obtain the used print settings with gtk_print_operation_get_print_settings() and store them for reuse with the next print operation. A value of GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running asynchronously, and will emit the “done” signal when done.


gtk_print_operation_cancel ()

void
gtk_print_operation_cancel (GtkPrintOperation *op);

Cancels a running print operation. This function may be called from a “begin-print”, “paginate” or “draw-page” signal handler to stop the currently running print operation.

Parameters


gtk_print_operation_draw_page_finish ()

void
gtk_print_operation_draw_page_finish (GtkPrintOperation *op);

Signalize that drawing of particular page is complete.

It is called after completion of page drawing (e.g. drawing in another thread). If gtk_print_operation_set_defer_drawing() was called before, then this function has to be called by application. In another case it is called by the library itself.

Parameters


gtk_print_operation_set_defer_drawing ()

void
gtk_print_operation_set_defer_drawing (GtkPrintOperation *op);

Sets up the GtkPrintOperation to wait for calling of gtk_print_operation_draw_page_finish() from application. It can be used for drawing page in another thread.

This function must be called in the callback of “draw-page” signal.

Parameters


gtk_print_operation_get_status ()

GtkPrintStatus
gtk_print_operation_get_status (GtkPrintOperation *op);

Returns the status of the print operation. Also see gtk_print_operation_get_status_string().

Parameters

Returns

the status of the print operation


gtk_print_operation_get_status_string ()

const char *
gtk_print_operation_get_status_string (GtkPrintOperation *op);

Returns a string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a GtkStatusbar.

Use gtk_print_operation_get_status() to obtain a status value that is suitable for programmatic use.

Parameters

Returns

a string representation of the status of the print operation


gtk_print_operation_is_finished ()

gboolean
gtk_print_operation_is_finished (GtkPrintOperation *op);

A convenience function to find out if the print operation is finished, either successfully (GTK_PRINT_STATUS_FINISHED) or unsuccessfully (GTK_PRINT_STATUS_FINISHED_ABORTED).

Note: when you enable print status tracking the print operation can be in a non-finished state even after done has been called, as the operation status then tracks the print job status on the printer.

Parameters

Returns

TRUE, if the print operation is finished.


gtk_print_operation_set_support_selection ()

void
gtk_print_operation_set_support_selection
                               (GtkPrintOperation *op,
                                gboolean support_selection);

Sets whether selection is supported by GtkPrintOperation.

Parameters

op

a GtkPrintOperation

 

support_selection

TRUE to support selection

 

gtk_print_operation_get_support_selection ()

gboolean
gtk_print_operation_get_support_selection
                               (GtkPrintOperation *op);

Gets the value of “support-selection” property.

Parameters

Returns

whether the application supports print of selection


gtk_print_operation_set_has_selection ()

void
gtk_print_operation_set_has_selection (GtkPrintOperation *op,
                                       gboolean has_selection);

Sets whether there is a selection to print.

Application has to set number of pages to which the selection will draw by gtk_print_operation_set_n_pages() in a callback of “begin-print”.

Parameters

op

a GtkPrintOperation

 

has_selection

TRUE indicates that a selection exists

 

gtk_print_operation_get_has_selection ()

gboolean
gtk_print_operation_get_has_selection (GtkPrintOperation *op);

Gets the value of “has-selection” property.

Parameters

Returns

whether there is a selection


gtk_print_operation_set_embed_page_setup ()

void
gtk_print_operation_set_embed_page_setup
                               (GtkPrintOperation *op,
                                gboolean embed);

Embed page size combo box and orientation combo box into page setup page. Selected page setup is stored as default page setup in GtkPrintOperation.

Parameters

op

a GtkPrintOperation

 

embed

TRUE to embed page setup selection in the GtkPrintUnixDialog

 

gtk_print_operation_get_embed_page_setup ()

gboolean
gtk_print_operation_get_embed_page_setup
                               (GtkPrintOperation *op);

Gets the value of “embed-page-setup” property.

Parameters

Returns

whether page setup selection combos are embedded


gtk_print_run_page_setup_dialog ()

GtkPageSetup *
gtk_print_run_page_setup_dialog (GtkWindow *parent,
                                 GtkPageSetup *page_setup,
                                 GtkPrintSettings *settings);

Runs a page setup dialog, letting the user modify the values from page_setup . If the user cancels the dialog, the returned GtkPageSetup is identical to the passed in page_setup , otherwise it contains the modifications done in the dialog.

Note that this function may use a recursive mainloop to show the page setup dialog. See gtk_print_run_page_setup_dialog_async() if this is a problem.

Parameters

parent

transient parent.

[allow-none]

page_setup

an existing GtkPageSetup.

[allow-none]

settings

a GtkPrintSettings

 

Returns

a new GtkPageSetup.

[transfer full]


GtkPageSetupDoneFunc ()

void
(*GtkPageSetupDoneFunc) (GtkPageSetup *page_setup,
                         gpointer data);

The type of function that is passed to gtk_print_run_page_setup_dialog_async().

This function will be called when the page setup dialog is dismissed, and also serves as destroy notify for data .

Parameters

page_setup

the GtkPageSetup that has been

 

data

user data that has been passed to gtk_print_run_page_setup_dialog_async().

[closure]

gtk_print_run_page_setup_dialog_async ()

void
gtk_print_run_page_setup_dialog_async (GtkWindow *parent,
                                       GtkPageSetup *page_setup,
                                       GtkPrintSettings *settings,
                                       GtkPageSetupDoneFunc done_cb,
                                       gpointer data);

Runs a page setup dialog, letting the user modify the values from page_setup .

In contrast to gtk_print_run_page_setup_dialog(), this function returns after showing the page setup dialog on platforms that support this, and calls done_cb from a signal handler for the ::response signal of the dialog.

Parameters

parent

transient parent, or NULL.

[allow-none]

page_setup

an existing GtkPageSetup, or NULL.

[allow-none]

settings

a GtkPrintSettings

 

done_cb

a function to call when the user saves the modified page setup.

[scope async]

data

user data to pass to done_cb

 

gtk_print_operation_preview_end_preview ()

void
gtk_print_operation_preview_end_preview
                               (GtkPrintOperationPreview *preview);

Ends a preview.

This function must be called to finish a custom print preview.

Parameters


gtk_print_operation_preview_is_selected ()

gboolean
gtk_print_operation_preview_is_selected
                               (GtkPrintOperationPreview *preview,
                                int page_nr);

Returns whether the given page is included in the set of pages that have been selected for printing.

Parameters

preview

a GtkPrintOperationPreview

 

page_nr

a page number

 

Returns

TRUE if the page has been selected for printing


gtk_print_operation_preview_render_page ()

void
gtk_print_operation_preview_render_page
                               (GtkPrintOperationPreview *preview,
                                int page_nr);

Renders a page to the preview, using the print context that was passed to the “preview” handler together with preview .

A custom iprint preview should use this function in its ::expose handler to render the currently selected page.

Note that this function requires a suitable cairo context to be associated with the print context.

Parameters

preview

a GtkPrintOperationPreview

 

page_nr

the page to render

 

Types and Values

struct GtkPrintOperation

struct GtkPrintOperation;

struct GtkPrintOperationClass

struct GtkPrintOperationClass {
  GObjectClass parent_class;

  void     (*done)               (GtkPrintOperation *operation,
                                  GtkPrintOperationResult result);
  void     (*begin_print)        (GtkPrintOperation *operation,
                                  GtkPrintContext   *context);
  gboolean (*paginate)           (GtkPrintOperation *operation,
                                  GtkPrintContext   *context);
  void     (*request_page_setup) (GtkPrintOperation *operation,
                                  GtkPrintContext   *context,
                                  int                page_nr,
                                  GtkPageSetup      *setup);
  void     (*draw_page)          (GtkPrintOperation *operation,
                                  GtkPrintContext   *context,
                                  int                page_nr);
  void     (*end_print)          (GtkPrintOperation *operation,
                                  GtkPrintContext   *context);
  void     (*status_changed)     (GtkPrintOperation *operation);

  GtkWidget *(*create_custom_widget) (GtkPrintOperation *operation);
  void       (*custom_widget_apply)  (GtkPrintOperation *operation,
                                      GtkWidget         *widget);

  gboolean (*preview)        (GtkPrintOperation        *operation,
                              GtkPrintOperationPreview *preview,
                              GtkPrintContext          *context,
                              GtkWindow                *parent);

  void     (*update_custom_widget) (GtkPrintOperation *operation,
                                    GtkWidget         *widget,
                                    GtkPageSetup      *setup,
                                    GtkPrintSettings  *settings);
};

Members

done ()

Signal emitted when the print operation run has finished doing everything required for printing.

 

begin_print ()

Signal emitted after the user has finished changing print settings in the dialog, before the actual rendering starts.

 

paginate ()

Signal emitted after the “begin-print” signal, but before the actual rendering starts.

 

request_page_setup ()

Emitted once for every page that is printed, to give the application a chance to modify the page setup.

 

draw_page ()

Signal emitted for every page that is printed.

 

end_print ()

Signal emitted after all pages have been rendered.

 

status_changed ()

Emitted at between the various phases of the print operation.

 

create_custom_widget ()

Signal emitted when displaying the print dialog.

 

custom_widget_apply ()

Signal emitted right before “begin-print” if you added a custom widget in the “create-custom-widget” handler.

 

preview ()

Signal emitted when a preview is requested from the native dialog.

 

update_custom_widget ()

Emitted after change of selected printer.

 

enum GtkPrintStatus

The status gives a rough indication of the completion of a running print operation.

Members

GTK_PRINT_STATUS_INITIAL

The printing has not started yet; this status is set initially, and while the print dialog is shown.

 

GTK_PRINT_STATUS_PREPARING

This status is set while the begin-print signal is emitted and during pagination.

 

GTK_PRINT_STATUS_GENERATING_DATA

This status is set while the pages are being rendered.

 

GTK_PRINT_STATUS_SENDING_DATA

The print job is being sent off to the printer.

 

GTK_PRINT_STATUS_PENDING

The print job has been sent to the printer, but is not printed for some reason, e.g. the printer may be stopped.

 

GTK_PRINT_STATUS_PENDING_ISSUE

Some problem has occurred during printing, e.g. a paper jam.

 

GTK_PRINT_STATUS_PRINTING

The printer is processing the print job.

 

GTK_PRINT_STATUS_FINISHED

The printing has been completed successfully.

 

GTK_PRINT_STATUS_FINISHED_ABORTED

The printing has been aborted.

 

enum GtkPrintOperationAction

The action parameter to gtk_print_operation_run() determines what action the print operation should perform.

Members

GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG

Show the print dialog.

 

GTK_PRINT_OPERATION_ACTION_PRINT

Start to print without showing the print dialog, based on the current print settings.

 

GTK_PRINT_OPERATION_ACTION_PREVIEW

Show the print preview.

 

GTK_PRINT_OPERATION_ACTION_EXPORT

Export to a file. This requires the export-filename property to be set.

 

enum GtkPrintOperationResult

A value of this type is returned by gtk_print_operation_run().

Members

GTK_PRINT_OPERATION_RESULT_ERROR

An error has occurred.

 

GTK_PRINT_OPERATION_RESULT_APPLY

The print settings should be stored.

 

GTK_PRINT_OPERATION_RESULT_CANCEL

The print operation has been canceled, the print settings should not be stored.

 

GTK_PRINT_OPERATION_RESULT_IN_PROGRESS

The print operation is not complete yet. This value will only be returned when running asynchronously.

 

enum GtkPrintError

Error codes that identify various errors that can occur while using the GTK+ printing support.

Members

GTK_PRINT_ERROR_GENERAL

An unspecified error occurred.

 

GTK_PRINT_ERROR_INTERNAL_ERROR

An internal error occurred.

 

GTK_PRINT_ERROR_NOMEM

A memory allocation failed.

 

GTK_PRINT_ERROR_INVALID_FILE

An error occurred while loading a page setup or paper size from a key file.

 

GTK_PRINT_ERROR

#define GTK_PRINT_ERROR gtk_print_error_quark ()

The error domain for GtkPrintError errors.


GtkPrintOperationPreview

typedef struct _GtkPrintOperationPreview GtkPrintOperationPreview;

Property Details

The “allow-async” property

  “allow-async”              gboolean

Determines whether the print operation may run asynchronously or not.

Some systems don't support asynchronous printing, but those that do will return GTK_PRINT_OPERATION_RESULT_IN_PROGRESS as the status, and emit the “done” signal when the operation is actually done.

The Windows port does not support asynchronous operation at all (this is unlikely to change). On other platforms, all actions except for GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “current-page” property

  “current-page”             gint

The current page in the document.

If this is set before gtk_print_operation_run(), the user will be able to select to print only the current page.

Note that this only makes sense for pre-paginated documents.

Owner: GtkPrintOperation

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “custom-tab-label” property

  “custom-tab-label”         gchar *

Used as the label of the tab containing custom widgets. Note that this property may be ignored on some platforms.

If this is NULL, GTK+ uses a default label.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: NULL


The “default-page-setup” property

  “default-page-setup”       GtkPageSetup *

The GtkPageSetup used by default.

This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the “request-page-setup” signal.

Owner: GtkPrintOperation

Flags: Read / Write


The “embed-page-setup” property

  “embed-page-setup”         gboolean

If TRUE, page size combo box and orientation combo box are embedded into page setup page.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “export-filename” property

  “export-filename”          gchar *

The name of a file to generate instead of showing the print dialog. Currently, PDF is the only supported format.

The intended use of this property is for implementing “Export to PDF” actions.

“Print to PDF” support is independent of this and is done by letting the user pick the “Print to PDF” item from the list of printers in the print dialog.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: NULL


The “has-selection” property

  “has-selection”            gboolean

Determines whether there is a selection in your application. This can allow your application to print the selection. This is typically used to make a "Selection" button sensitive.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “job-name” property

  “job-name”                 gchar *

A string used to identify the job (e.g. in monitoring applications like eggcups).

If you don't set a job name, GTK+ picks a default one by numbering successive print jobs.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: ""


The “n-pages” property

  “n-pages”                  gint

The number of pages in the document.

This must be set to a positive number before the rendering starts. It may be set in a “begin-print” signal hander.

Note that the page numbers passed to the “request-page-setup” and “draw-page” signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page n_pages - 1.

Owner: GtkPrintOperation

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “n-pages-to-print” property

  “n-pages-to-print”         gint

The number of pages that will be printed.

Note that this value is set during print preparation phase (GTK_PRINT_STATUS_PREPARING), so this value should never be get before the data generation phase (GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the “status-changed” signal and call gtk_print_operation_get_n_pages_to_print() when print status is GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation.

Owner: GtkPrintOperation

Flags: Read

Allowed values: >= -1

Default value: -1


The “print-settings” property

  “print-settings”           GtkPrintSettings *

The GtkPrintSettings used for initializing the dialog.

Setting this property is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run().

Owner: GtkPrintOperation

Flags: Read / Write


The “show-progress” property

  “show-progress”            gboolean

Determines whether to show a progress dialog during the print operation.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “status” property

  “status”                   GtkPrintStatus

The status of the print operation.

Owner: GtkPrintOperation

Flags: Read

Default value: GTK_PRINT_STATUS_INITIAL


The “status-string” property

  “status-string”            gchar *

A string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a GtkStatusbar.

See the “status” property for a status value that is suitable for programmatic use.

Owner: GtkPrintOperation

Flags: Read

Default value: ""


The “support-selection” property

  “support-selection”        gboolean

If TRUE, the print operation will support print of selection. This allows the print dialog to show a "Selection" button.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “track-print-status” property

  “track-print-status”       gboolean

If TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer. However, this is often implemented using polling, and should not be enabled unless needed.

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE


The “unit” property

  “unit”                     GtkUnit

The transformation for the cairo context obtained from GtkPrintContext is set up in such a way that distances are measured in units of unit .

Owner: GtkPrintOperation

Flags: Read / Write

Default value: GTK_UNIT_NONE


The “use-full-page” property

  “use-full-page”            gboolean

If TRUE, the transformation for the cairo context obtained from GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins).

Owner: GtkPrintOperation

Flags: Read / Write

Default value: FALSE

Signal Details

The “begin-print” signal

void
user_function (GtkPrintOperation *operation,
               GtkPrintContext   *context,
               gpointer           user_data)

Emitted after the user has finished changing print settings in the dialog, before the actual rendering starts.

A typical use for ::begin-print is to use the parameters from the GtkPrintContext and paginate the document accordingly, and then set the number of pages with gtk_print_operation_set_n_pages().

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

context

the GtkPrintContext for the current operation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “create-custom-widget” signal

GObject*
user_function (GtkPrintOperation *operation,
               gpointer           user_data)

Emitted when displaying the print dialog. If you return a widget in a handler for this signal it will be added to a custom tab in the print dialog. You typically return a container widget with multiple widgets in it.

The print dialog owns the returned widget, and its lifetime is not controlled by the application. However, the widget is guaranteed to stay around until the “custom-widget-apply” signal is emitted on the operation. Then you can read out any information you need from the widgets.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Returns

A custom widget that gets embedded in the print dialog, or NULL.

[transfer none]

Flags: Run Last


The “custom-widget-apply” signal

void
user_function (GtkPrintOperation *operation,
               GtkWidget         *widget,
               gpointer           user_data)

Emitted right before “begin-print” if you added a custom widget in the “create-custom-widget” handler. When you get this signal you should read the information from the custom widgets, as the widgets are not guaraneed to be around at a later time.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

widget

the custom widget added in create-custom-widget

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “done” signal

void
user_function (GtkPrintOperation      *operation,
               GtkPrintOperationResult result,
               gpointer                user_data)

Emitted when the print operation run has finished doing everything required for printing.

result gives you information about what happened during the run. If result is GTK_PRINT_OPERATION_RESULT_ERROR then you can call gtk_print_operation_get_error() for more information.

If you enabled print status tracking then gtk_print_operation_is_finished() may still return FALSE after “done” was emitted.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

result

the result of the print operation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “draw-page” signal

void
user_function (GtkPrintOperation *operation,
               GtkPrintContext   *context,
               gint               page_nr,
               gpointer           user_data)

Emitted for every page that is printed. The signal handler must render the page_nr 's page onto the cairo context obtained from context using gtk_print_context_get_cairo_context().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
static void
draw_page (GtkPrintOperation *operation,
           GtkPrintContext   *context,
           int                page_nr,
           gpointer           user_data)
{
  cairo_t *cr;
  PangoLayout *layout;
  double width, text_height;
  int layout_height;
  PangoFontDescription *desc;

  cr = gtk_print_context_get_cairo_context (context);
  width = gtk_print_context_get_width (context);

  cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT);

  cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
  cairo_fill (cr);

  layout = gtk_print_context_create_pango_layout (context);

  desc = pango_font_description_from_string ("sans 14");
  pango_layout_set_font_description (layout, desc);
  pango_font_description_free (desc);

  pango_layout_set_text (layout, "some text", -1);
  pango_layout_set_width (layout, width * PANGO_SCALE);
  pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);

  pango_layout_get_size (layout, NULL, &layout_height);
  text_height = (double)layout_height / PANGO_SCALE;

  cairo_move_to (cr, width / 2,  (HEADER_HEIGHT - text_height) / 2);
  pango_cairo_show_layout (cr, layout);

  g_object_unref (layout);
}

Use gtk_print_operation_set_use_full_page() and gtk_print_operation_set_unit() before starting the print operation to set up the transformation of the cairo context according to your needs.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

context

the GtkPrintContext for the current operation

 

page_nr

the number of the currently printed page (0-based)

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “end-print” signal

void
user_function (GtkPrintOperation *operation,
               GtkPrintContext   *context,
               gpointer           user_data)

Emitted after all pages have been rendered. A handler for this signal can clean up any resources that have been allocated in the “begin-print” handler.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

context

the GtkPrintContext for the current operation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “paginate” signal

gboolean
user_function (GtkPrintOperation *operation,
               GtkPrintContext   *context,
               gpointer           user_data)

Emitted after the “begin-print” signal, but before the actual rendering starts. It keeps getting emitted until a connected signal handler returns TRUE.

The ::paginate signal is intended to be used for paginating a document in small chunks, to avoid blocking the user interface for a long time. The signal handler should update the number of pages using gtk_print_operation_set_n_pages(), and return TRUE if the document has been completely paginated.

If you don't need to do pagination in chunks, you can simply do it all in the ::begin-print handler, and set the number of pages from there.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

context

the GtkPrintContext for the current operation

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if pagination is complete

Flags: Run Last


The “preview” signal

gboolean
user_function (GtkPrintOperation        *operation,
               GtkPrintOperationPreview *preview,
               GtkPrintContext          *context,
               GtkWindow                *parent,
               gpointer                  user_data)

Gets emitted when a preview is requested from the native dialog.

The default handler for this signal uses an external viewer application to preview.

To implement a custom print preview, an application must return TRUE from its handler for this signal. In order to use the provided context for the preview implementation, it must be given a suitable cairo context with gtk_print_context_set_cairo_context().

The custom preview implementation can use gtk_print_operation_preview_is_selected() and gtk_print_operation_preview_render_page() to find pages which are selected for print and render them. The preview must be finished by calling gtk_print_operation_preview_end_preview() (typically in response to the user clicking a close button).

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

preview

the GtkPrintOperationPreview for the current operation

 

context

the GtkPrintContext that will be used

 

parent

the GtkWindow to use as window parent, or NULL.

[allow-none]

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the listener wants to take over control of the preview

Flags: Run Last


The “request-page-setup” signal

void
user_function (GtkPrintOperation *operation,
               GtkPrintContext   *context,
               gint               page_nr,
               GtkPageSetup      *setup,
               gpointer           user_data)

Emitted once for every page that is printed, to give the application a chance to modify the page setup. Any changes done to setup will be in force only for printing this page.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

context

the GtkPrintContext for the current operation

 

page_nr

the number of the currently printed page (0-based)

 

setup

the GtkPageSetup

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “status-changed” signal

void
user_function (GtkPrintOperation *operation,
               gpointer           user_data)

Emitted at between the various phases of the print operation. See GtkPrintStatus for the phases that are being discriminated. Use gtk_print_operation_get_status() to find out the current status.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “update-custom-widget” signal

void
user_function (GtkPrintOperation *operation,
               GtkWidget         *widget,
               GtkPageSetup      *setup,
               GtkPrintSettings  *settings,
               gpointer           user_data)

Emitted after change of selected printer. The actual page setup and print settings are passed to the custom widget, which can actualize itself according to this change.

Parameters

operation

the GtkPrintOperation on which the signal was emitted

 

widget

the custom widget added in create-custom-widget

 

setup

actual page setup

 

settings

actual print settings

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “got-page-size” signal

void
user_function (GtkPrintOperationPreview *preview,
               GtkPrintContext          *context,
               GtkPageSetup             *page_setup,
               gpointer                  user_data)

The ::got-page-size signal is emitted once for each page that gets rendered to the preview.

A handler for this signal should update the context according to page_setup and set up a suitable cairo context, using gtk_print_context_set_cairo_context().

Parameters

preview

the object on which the signal is emitted

 

context

the current GtkPrintContext

 

page_setup

the GtkPageSetup for the current page

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “ready” signal

void
user_function (GtkPrintOperationPreview *preview,
               GtkPrintContext          *context,
               gpointer                  user_data)

The ::ready signal gets emitted once per preview operation, before the first page is rendered.

A handler for this signal can be used for setup tasks.

Parameters

preview

the object on which the signal is emitted

 

context

the current GtkPrintContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkPrintContext.html0000664000175000017500000010322413710700534021324 0ustar mclasenmclasen GtkPrintContext: GTK 4 Reference Manual

GtkPrintContext

GtkPrintContext — Encapsulates context for drawing pages

Types and Values

Object Hierarchy

    GObject
    ╰── GtkPrintContext

Includes

#include <gtk/gtk.h>

Description

A GtkPrintContext encapsulates context information that is required when drawing pages for printing, such as the cairo context and important parameters like page size and resolution. It also lets you easily create PangoLayout and PangoContext objects that match the font metrics of the cairo surface.

GtkPrintContext objects gets passed to the “begin-print”, “end-print”, “request-page-setup” and “draw-page” signals on the GtkPrintOperation.

Using GtkPrintContext in a “draw-page” callback

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
static void
draw_page (GtkPrintOperation *operation,
	   GtkPrintContext   *context,
	   int                page_nr)
{
  cairo_t *cr;
  PangoLayout *layout;
  PangoFontDescription *desc;

  cr = gtk_print_context_get_cairo_context (context);

  // Draw a red rectangle, as wide as the paper (inside the margins)
  cairo_set_source_rgb (cr, 1.0, 0, 0);
  cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50);

  cairo_fill (cr);

  // Draw some lines
  cairo_move_to (cr, 20, 10);
  cairo_line_to (cr, 40, 20);
  cairo_arc (cr, 60, 60, 20, 0, M_PI);
  cairo_line_to (cr, 80, 20);

  cairo_set_source_rgb (cr, 0, 0, 0);
  cairo_set_line_width (cr, 5);
  cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
  cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);

  cairo_stroke (cr);

  // Draw some text
  layout = gtk_print_context_create_pango_layout (context);
  pango_layout_set_text (layout, "Hello World! Printing is easy", -1);
  desc = pango_font_description_from_string ("sans 28");
  pango_layout_set_font_description (layout, desc);
  pango_font_description_free (desc);

  cairo_move_to (cr, 30, 20);
  pango_cairo_layout_path (cr, layout);

  // Font Outline
  cairo_set_source_rgb (cr, 0.93, 1.0, 0.47);
  cairo_set_line_width (cr, 0.5);
  cairo_stroke_preserve (cr);

  // Font Fill
  cairo_set_source_rgb (cr, 0, 0.0, 1.0);
  cairo_fill (cr);

  g_object_unref (layout);
}

Printing support was added in GTK+ 2.10.

Functions

gtk_print_context_get_cairo_context ()

cairo_t *
gtk_print_context_get_cairo_context (GtkPrintContext *context);

Obtains the cairo context that is associated with the GtkPrintContext.

Parameters

context

a GtkPrintContext

 

Returns

the cairo context of context .

[transfer none]


gtk_print_context_set_cairo_context ()

void
gtk_print_context_set_cairo_context (GtkPrintContext *context,
                                     cairo_t *cr,
                                     double dpi_x,
                                     double dpi_y);

Sets a new cairo context on a print context.

This function is intended to be used when implementing an internal print preview, it is not needed for printing, since GTK+ itself creates a suitable cairo context in that case.

Parameters

context

a GtkPrintContext

 

cr

the cairo context

 

dpi_x

the horizontal resolution to use with cr

 

dpi_y

the vertical resolution to use with cr

 

gtk_print_context_get_page_setup ()

GtkPageSetup *
gtk_print_context_get_page_setup (GtkPrintContext *context);

Obtains the GtkPageSetup that determines the page dimensions of the GtkPrintContext.

Parameters

context

a GtkPrintContext

 

Returns

the page setup of context .

[transfer none]


gtk_print_context_get_width ()

double
gtk_print_context_get_width (GtkPrintContext *context);

Obtains the width of the GtkPrintContext, in pixels.

Parameters

context

a GtkPrintContext

 

Returns

the width of context


gtk_print_context_get_height ()

double
gtk_print_context_get_height (GtkPrintContext *context);

Obtains the height of the GtkPrintContext, in pixels.

Parameters

context

a GtkPrintContext

 

Returns

the height of context


gtk_print_context_get_dpi_x ()

double
gtk_print_context_get_dpi_x (GtkPrintContext *context);

Obtains the horizontal resolution of the GtkPrintContext, in dots per inch.

Parameters

context

a GtkPrintContext

 

Returns

the horizontal resolution of context


gtk_print_context_get_dpi_y ()

double
gtk_print_context_get_dpi_y (GtkPrintContext *context);

Obtains the vertical resolution of the GtkPrintContext, in dots per inch.

Parameters

context

a GtkPrintContext

 

Returns

the vertical resolution of context


gtk_print_context_get_pango_fontmap ()

PangoFontMap *
gtk_print_context_get_pango_fontmap (GtkPrintContext *context);

Returns a PangoFontMap that is suitable for use with the GtkPrintContext.

Parameters

context

a GtkPrintContext

 

Returns

the font map of context .

[transfer none]


gtk_print_context_create_pango_context ()

PangoContext *
gtk_print_context_create_pango_context
                               (GtkPrintContext *context);

Creates a new PangoContext that can be used with the GtkPrintContext.

Parameters

context

a GtkPrintContext

 

Returns

a new Pango context for context .

[transfer full]


gtk_print_context_create_pango_layout ()

PangoLayout *
gtk_print_context_create_pango_layout (GtkPrintContext *context);

Creates a new PangoLayout that is suitable for use with the GtkPrintContext.

Parameters

context

a GtkPrintContext

 

Returns

a new Pango layout for context .

[transfer full]


gtk_print_context_get_hard_margins ()

gboolean
gtk_print_context_get_hard_margins (GtkPrintContext *context,
                                    double *top,
                                    double *bottom,
                                    double *left,
                                    double *right);

Obtains the hardware printer margins of the GtkPrintContext, in units.

Parameters

context

a GtkPrintContext

 

top

top hardware printer margin.

[out]

bottom

bottom hardware printer margin.

[out]

left

left hardware printer margin.

[out]

right

right hardware printer margin.

[out]

Returns

TRUE if the hard margins were retrieved

Types and Values

GtkPrintContext

typedef struct _GtkPrintContext GtkPrintContext;
docs/reference/gtk/html/GtkPrintSettings.html0000664000175000017500000052460113710700534021506 0ustar mclasenmclasen GtkPrintSettings: GTK 4 Reference Manual

GtkPrintSettings

GtkPrintSettings — Stores print settings

Functions

void (*GtkPrintSettingsFunc) ()
GtkPrintSettings * gtk_print_settings_new ()
GtkPrintSettings * gtk_print_settings_copy ()
gboolean gtk_print_settings_has_key ()
const char * gtk_print_settings_get ()
void gtk_print_settings_set ()
void gtk_print_settings_unset ()
void gtk_print_settings_foreach ()
gboolean gtk_print_settings_get_bool ()
void gtk_print_settings_set_bool ()
double gtk_print_settings_get_double ()
double gtk_print_settings_get_double_with_default ()
void gtk_print_settings_set_double ()
double gtk_print_settings_get_length ()
void gtk_print_settings_set_length ()
int gtk_print_settings_get_int ()
int gtk_print_settings_get_int_with_default ()
void gtk_print_settings_set_int ()
const char * gtk_print_settings_get_printer ()
void gtk_print_settings_set_printer ()
GtkPageOrientation gtk_print_settings_get_orientation ()
void gtk_print_settings_set_orientation ()
GtkPaperSize * gtk_print_settings_get_paper_size ()
void gtk_print_settings_set_paper_size ()
double gtk_print_settings_get_paper_width ()
void gtk_print_settings_set_paper_width ()
double gtk_print_settings_get_paper_height ()
void gtk_print_settings_set_paper_height ()
gboolean gtk_print_settings_get_use_color ()
void gtk_print_settings_set_use_color ()
gboolean gtk_print_settings_get_collate ()
void gtk_print_settings_set_collate ()
gboolean gtk_print_settings_get_reverse ()
void gtk_print_settings_set_reverse ()
GtkPrintDuplex gtk_print_settings_get_duplex ()
void gtk_print_settings_set_duplex ()
GtkPrintQuality gtk_print_settings_get_quality ()
void gtk_print_settings_set_quality ()
int gtk_print_settings_get_n_copies ()
void gtk_print_settings_set_n_copies ()
int gtk_print_settings_get_number_up ()
void gtk_print_settings_set_number_up ()
GtkNumberUpLayout gtk_print_settings_get_number_up_layout ()
void gtk_print_settings_set_number_up_layout ()
int gtk_print_settings_get_resolution ()
void gtk_print_settings_set_resolution ()
void gtk_print_settings_set_resolution_xy ()
int gtk_print_settings_get_resolution_x ()
int gtk_print_settings_get_resolution_y ()
double gtk_print_settings_get_printer_lpi ()
void gtk_print_settings_set_printer_lpi ()
double gtk_print_settings_get_scale ()
void gtk_print_settings_set_scale ()
GtkPrintPages gtk_print_settings_get_print_pages ()
void gtk_print_settings_set_print_pages ()
GtkPageRange * gtk_print_settings_get_page_ranges ()
void gtk_print_settings_set_page_ranges ()
GtkPageSet gtk_print_settings_get_page_set ()
void gtk_print_settings_set_page_set ()
const char * gtk_print_settings_get_default_source ()
void gtk_print_settings_set_default_source ()
const char * gtk_print_settings_get_media_type ()
void gtk_print_settings_set_media_type ()
const char * gtk_print_settings_get_dither ()
void gtk_print_settings_set_dither ()
const char * gtk_print_settings_get_finishings ()
void gtk_print_settings_set_finishings ()
const char * gtk_print_settings_get_output_bin ()
void gtk_print_settings_set_output_bin ()
GtkPrintSettings * gtk_print_settings_new_from_file ()
GtkPrintSettings * gtk_print_settings_new_from_key_file ()
GtkPrintSettings * gtk_print_settings_new_from_gvariant ()
gboolean gtk_print_settings_load_file ()
gboolean gtk_print_settings_load_key_file ()
gboolean gtk_print_settings_to_file ()
void gtk_print_settings_to_key_file ()
GVariant * gtk_print_settings_to_gvariant ()

Object Hierarchy

    GObject
    ╰── GtkPrintSettings

Includes

#include <gtk/gtk.h>

Description

A GtkPrintSettings object represents the settings of a print dialog in a system-independent way. The main use for this object is that once you’ve printed you can get a settings object that represents the settings the user chose, and the next time you print you can pass that object in so that the user doesn’t have to re-set all his settings.

Its also possible to enumerate the settings so that you can easily save the settings for the next time your app runs, or even store them in a document. The predefined keys try to use shared values as much as possible so that moving such a document between systems still works.

Printing support was added in GTK+ 2.10.

Functions

GtkPrintSettingsFunc ()

void
(*GtkPrintSettingsFunc) (const char *key,
                         const char *value,
                         gpointer user_data);

gtk_print_settings_new ()

GtkPrintSettings *
gtk_print_settings_new (void);

Creates a new GtkPrintSettings object.

Returns

a new GtkPrintSettings object


gtk_print_settings_copy ()

GtkPrintSettings *
gtk_print_settings_copy (GtkPrintSettings *other);

Copies a GtkPrintSettings object.

Parameters

other

a GtkPrintSettings

 

Returns

a newly allocated copy of other .

[transfer full]


gtk_print_settings_has_key ()

gboolean
gtk_print_settings_has_key (GtkPrintSettings *settings,
                            const char *key);

Returns TRUE, if a value is associated with key .

Parameters

settings

a GtkPrintSettings

 

key

a key

 

Returns

TRUE, if key has a value


gtk_print_settings_get ()

const char *
gtk_print_settings_get (GtkPrintSettings *settings,
                        const char *key);

Looks up the string value associated with key .

Parameters

settings

a GtkPrintSettings

 

key

a key

 

Returns

the string value for key


gtk_print_settings_set ()

void
gtk_print_settings_set (GtkPrintSettings *settings,
                        const char *key,
                        const char *value);

Associates value with key .

Parameters

settings

a GtkPrintSettings

 

key

a key

 

value

a string value, or NULL.

[allow-none]

gtk_print_settings_unset ()

void
gtk_print_settings_unset (GtkPrintSettings *settings,
                          const char *key);

Removes any value associated with key . This has the same effect as setting the value to NULL.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

gtk_print_settings_foreach ()

void
gtk_print_settings_foreach (GtkPrintSettings *settings,
                            GtkPrintSettingsFunc func,
                            gpointer user_data);

Calls func for each key-value pair of settings .

Parameters

settings

a GtkPrintSettings

 

func

the function to call.

[scope call]

user_data

user data for func .

[closure]

gtk_print_settings_get_bool ()

gboolean
gtk_print_settings_get_bool (GtkPrintSettings *settings,
                             const char *key);

Returns the boolean represented by the value that is associated with key .

The string “true” represents TRUE, any other string FALSE.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

Returns

TRUE, if key maps to a true value.


gtk_print_settings_set_bool ()

void
gtk_print_settings_set_bool (GtkPrintSettings *settings,
                             const char *key,
                             gboolean value);

Sets key to a boolean value.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

value

a boolean

 

gtk_print_settings_get_double ()

double
gtk_print_settings_get_double (GtkPrintSettings *settings,
                               const char *key);

Returns the double value associated with key , or 0.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

Returns

the double value of key


gtk_print_settings_get_double_with_default ()

double
gtk_print_settings_get_double_with_default
                               (GtkPrintSettings *settings,
                                const char *key,
                                double def);

Returns the floating point number represented by the value that is associated with key , or default_val if the value does not represent a floating point number.

Floating point numbers are parsed with g_ascii_strtod().

Parameters

settings

a GtkPrintSettings

 

key

a key

 

def

the default value

 

Returns

the floating point number associated with key


gtk_print_settings_set_double ()

void
gtk_print_settings_set_double (GtkPrintSettings *settings,
                               const char *key,
                               double value);

Sets key to a double value.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

value

a double value

 

gtk_print_settings_get_length ()

double
gtk_print_settings_get_length (GtkPrintSettings *settings,
                               const char *key,
                               GtkUnit unit);

Returns the value associated with key , interpreted as a length. The returned value is converted to units .

Parameters

settings

a GtkPrintSettings

 

key

a key

 

unit

the unit of the return value

 

Returns

the length value of key , converted to unit


gtk_print_settings_set_length ()

void
gtk_print_settings_set_length (GtkPrintSettings *settings,
                               const char *key,
                               double value,
                               GtkUnit unit);

Associates a length in units of unit with key .

Parameters

settings

a GtkPrintSettings

 

key

a key

 

value

a length

 

unit

the unit of length

 

gtk_print_settings_get_int ()

int
gtk_print_settings_get_int (GtkPrintSettings *settings,
                            const char *key);

Returns the integer value of key , or 0.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

Returns

the integer value of key


gtk_print_settings_get_int_with_default ()

int
gtk_print_settings_get_int_with_default
                               (GtkPrintSettings *settings,
                                const char *key,
                                int def);

Returns the value of key , interpreted as an integer, or the default value.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

def

the default value

 

Returns

the integer value of key


gtk_print_settings_set_int ()

void
gtk_print_settings_set_int (GtkPrintSettings *settings,
                            const char *key,
                            int value);

Sets key to an integer value.

Parameters

settings

a GtkPrintSettings

 

key

a key

 

value

an integer

 

gtk_print_settings_get_printer ()

const char *
gtk_print_settings_get_printer (GtkPrintSettings *settings);

Convenience function to obtain the value of GTK_PRINT_SETTINGS_PRINTER.

Parameters

settings

a GtkPrintSettings

 

Returns

the printer name


gtk_print_settings_set_printer ()

void
gtk_print_settings_set_printer (GtkPrintSettings *settings,
                                const char *printer);

Convenience function to set GTK_PRINT_SETTINGS_PRINTER to printer .

Parameters

settings

a GtkPrintSettings

 

printer

the printer name

 

gtk_print_settings_get_orientation ()

GtkPageOrientation
gtk_print_settings_get_orientation (GtkPrintSettings *settings);

Get the value of GTK_PRINT_SETTINGS_ORIENTATION, converted to a GtkPageOrientation.

Parameters

settings

a GtkPrintSettings

 

Returns

the orientation


gtk_print_settings_set_orientation ()

void
gtk_print_settings_set_orientation (GtkPrintSettings *settings,
                                    GtkPageOrientation orientation);

Sets the value of GTK_PRINT_SETTINGS_ORIENTATION.

Parameters

settings

a GtkPrintSettings

 

orientation

a page orientation

 

gtk_print_settings_get_paper_size ()

GtkPaperSize *
gtk_print_settings_get_paper_size (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT, converted to a GtkPaperSize.

Parameters

settings

a GtkPrintSettings

 

Returns

the paper size


gtk_print_settings_set_paper_size ()

void
gtk_print_settings_set_paper_size (GtkPrintSettings *settings,
                                   GtkPaperSize *paper_size);

Sets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT, GTK_PRINT_SETTINGS_PAPER_WIDTH and GTK_PRINT_SETTINGS_PAPER_HEIGHT.

Parameters

settings

a GtkPrintSettings

 

paper_size

a paper size

 

gtk_print_settings_get_paper_width ()

double
gtk_print_settings_get_paper_width (GtkPrintSettings *settings,
                                    GtkUnit unit);

Gets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH, converted to unit .

Parameters

settings

a GtkPrintSettings

 

unit

the unit for the return value

 

Returns

the paper width, in units of unit


gtk_print_settings_set_paper_width ()

void
gtk_print_settings_set_paper_width (GtkPrintSettings *settings,
                                    double width,
                                    GtkUnit unit);

Sets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH.

Parameters

settings

a GtkPrintSettings

 

width

the paper width

 

unit

the units of width

 

gtk_print_settings_get_paper_height ()

double
gtk_print_settings_get_paper_height (GtkPrintSettings *settings,
                                     GtkUnit unit);

Gets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT, converted to unit .

Parameters

settings

a GtkPrintSettings

 

unit

the unit for the return value

 

Returns

the paper height, in units of unit


gtk_print_settings_set_paper_height ()

void
gtk_print_settings_set_paper_height (GtkPrintSettings *settings,
                                     double height,
                                     GtkUnit unit);

Sets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT.

Parameters

settings

a GtkPrintSettings

 

height

the paper height

 

unit

the units of height

 

gtk_print_settings_get_use_color ()

gboolean
gtk_print_settings_get_use_color (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_USE_COLOR.

Parameters

settings

a GtkPrintSettings

 

Returns

whether to use color


gtk_print_settings_set_use_color ()

void
gtk_print_settings_set_use_color (GtkPrintSettings *settings,
                                  gboolean use_color);

Sets the value of GTK_PRINT_SETTINGS_USE_COLOR.

Parameters

settings

a GtkPrintSettings

 

use_color

whether to use color

 

gtk_print_settings_get_collate ()

gboolean
gtk_print_settings_get_collate (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_COLLATE.

Parameters

settings

a GtkPrintSettings

 

Returns

whether to collate the printed pages


gtk_print_settings_set_collate ()

void
gtk_print_settings_set_collate (GtkPrintSettings *settings,
                                gboolean collate);

Sets the value of GTK_PRINT_SETTINGS_COLLATE.

Parameters

settings

a GtkPrintSettings

 

collate

whether to collate the output

 

gtk_print_settings_get_reverse ()

gboolean
gtk_print_settings_get_reverse (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_REVERSE.

Parameters

settings

a GtkPrintSettings

 

Returns

whether to reverse the order of the printed pages


gtk_print_settings_set_reverse ()

void
gtk_print_settings_set_reverse (GtkPrintSettings *settings,
                                gboolean reverse);

Sets the value of GTK_PRINT_SETTINGS_REVERSE.

Parameters

settings

a GtkPrintSettings

 

reverse

whether to reverse the output

 

gtk_print_settings_get_duplex ()

GtkPrintDuplex
gtk_print_settings_get_duplex (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_DUPLEX.

Parameters

settings

a GtkPrintSettings

 

Returns

whether to print the output in duplex.


gtk_print_settings_set_duplex ()

void
gtk_print_settings_set_duplex (GtkPrintSettings *settings,
                               GtkPrintDuplex duplex);

Sets the value of GTK_PRINT_SETTINGS_DUPLEX.

Parameters

settings

a GtkPrintSettings

 

duplex

a GtkPrintDuplex value

 

gtk_print_settings_get_quality ()

GtkPrintQuality
gtk_print_settings_get_quality (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_QUALITY.

Parameters

settings

a GtkPrintSettings

 

Returns

the print quality


gtk_print_settings_set_quality ()

void
gtk_print_settings_set_quality (GtkPrintSettings *settings,
                                GtkPrintQuality quality);

Sets the value of GTK_PRINT_SETTINGS_QUALITY.

Parameters

settings

a GtkPrintSettings

 

quality

a GtkPrintQuality value

 

gtk_print_settings_get_n_copies ()

int
gtk_print_settings_get_n_copies (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_N_COPIES.

Parameters

settings

a GtkPrintSettings

 

Returns

the number of copies to print


gtk_print_settings_set_n_copies ()

void
gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
                                 int num_copies);

Sets the value of GTK_PRINT_SETTINGS_N_COPIES.

Parameters

settings

a GtkPrintSettings

 

num_copies

the number of copies

 

gtk_print_settings_get_number_up ()

int
gtk_print_settings_get_number_up (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP.

Parameters

settings

a GtkPrintSettings

 

Returns

the number of pages per sheet


gtk_print_settings_set_number_up ()

void
gtk_print_settings_set_number_up (GtkPrintSettings *settings,
                                  int number_up);

Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP.

Parameters

settings

a GtkPrintSettings

 

number_up

the number of pages per sheet

 

gtk_print_settings_get_number_up_layout ()

GtkNumberUpLayout
gtk_print_settings_get_number_up_layout
                               (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.

Parameters

settings

a GtkPrintSettings

 

Returns

layout of page in number-up mode


gtk_print_settings_set_number_up_layout ()

void
gtk_print_settings_set_number_up_layout
                               (GtkPrintSettings *settings,
                                GtkNumberUpLayout number_up_layout);

Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.

Parameters

settings

a GtkPrintSettings

 

number_up_layout

a GtkNumberUpLayout value

 

gtk_print_settings_get_resolution ()

int
gtk_print_settings_get_resolution (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_RESOLUTION.

Parameters

settings

a GtkPrintSettings

 

Returns

the resolution in dpi


gtk_print_settings_set_resolution ()

void
gtk_print_settings_set_resolution (GtkPrintSettings *settings,
                                   int resolution);

Sets the values of GTK_PRINT_SETTINGS_RESOLUTION, GTK_PRINT_SETTINGS_RESOLUTION_X and GTK_PRINT_SETTINGS_RESOLUTION_Y.

Parameters

settings

a GtkPrintSettings

 

resolution

the resolution in dpi

 

gtk_print_settings_set_resolution_xy ()

void
gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings,
                                      int resolution_x,
                                      int resolution_y);

Sets the values of GTK_PRINT_SETTINGS_RESOLUTION, GTK_PRINT_SETTINGS_RESOLUTION_X and GTK_PRINT_SETTINGS_RESOLUTION_Y.

Parameters

settings

a GtkPrintSettings

 

resolution_x

the horizontal resolution in dpi

 

resolution_y

the vertical resolution in dpi

 

gtk_print_settings_get_resolution_x ()

int
gtk_print_settings_get_resolution_x (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_X.

Parameters

settings

a GtkPrintSettings

 

Returns

the horizontal resolution in dpi


gtk_print_settings_get_resolution_y ()

int
gtk_print_settings_get_resolution_y (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_Y.

Parameters

settings

a GtkPrintSettings

 

Returns

the vertical resolution in dpi


gtk_print_settings_get_printer_lpi ()

double
gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_PRINTER_LPI.

Parameters

settings

a GtkPrintSettings

 

Returns

the resolution in lpi (lines per inch)


gtk_print_settings_set_printer_lpi ()

void
gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings,
                                    double lpi);

Sets the value of GTK_PRINT_SETTINGS_PRINTER_LPI.

Parameters

settings

a GtkPrintSettings

 

lpi

the resolution in lpi (lines per inch)

 

gtk_print_settings_get_scale ()

double
gtk_print_settings_get_scale (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_SCALE.

Parameters

settings

a GtkPrintSettings

 

Returns

the scale in percent


gtk_print_settings_set_scale ()

void
gtk_print_settings_set_scale (GtkPrintSettings *settings,
                              double scale);

Sets the value of GTK_PRINT_SETTINGS_SCALE.

Parameters

settings

a GtkPrintSettings

 

scale

the scale in percent

 

gtk_print_settings_get_print_pages ()

GtkPrintPages
gtk_print_settings_get_print_pages (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_PRINT_PAGES.

Parameters

settings

a GtkPrintSettings

 

Returns

which pages to print


gtk_print_settings_set_print_pages ()

void
gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
                                    GtkPrintPages pages);

Sets the value of GTK_PRINT_SETTINGS_PRINT_PAGES.

Parameters

settings

a GtkPrintSettings

 

pages

a GtkPrintPages value

 

gtk_print_settings_get_page_ranges ()

GtkPageRange *
gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
                                    int *num_ranges);

Gets the value of GTK_PRINT_SETTINGS_PAGE_RANGES.

Parameters

settings

a GtkPrintSettings

 

num_ranges

return location for the length of the returned array.

[out]

Returns

an array of GtkPageRanges. Use g_free() to free the array when it is no longer needed.

[array length=num_ranges][transfer full]


gtk_print_settings_set_page_ranges ()

void
gtk_print_settings_set_page_ranges (GtkPrintSettings *settings,
                                    GtkPageRange *page_ranges,
                                    int num_ranges);

Sets the value of GTK_PRINT_SETTINGS_PAGE_RANGES.

Parameters

settings

a GtkPrintSettings

 

page_ranges

an array of GtkPageRanges.

[array length=num_ranges]

num_ranges

the length of page_ranges

 

gtk_print_settings_get_page_set ()

GtkPageSet
gtk_print_settings_get_page_set (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_PAGE_SET.

Parameters

settings

a GtkPrintSettings

 

Returns

the set of pages to print


gtk_print_settings_set_page_set ()

void
gtk_print_settings_set_page_set (GtkPrintSettings *settings,
                                 GtkPageSet page_set);

Sets the value of GTK_PRINT_SETTINGS_PAGE_SET.

Parameters

settings

a GtkPrintSettings

 

page_set

a GtkPageSet value

 

gtk_print_settings_get_default_source ()

const char *
gtk_print_settings_get_default_source (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE.

Parameters

settings

a GtkPrintSettings

 

Returns

the default source


gtk_print_settings_set_default_source ()

void
gtk_print_settings_set_default_source (GtkPrintSettings *settings,
                                       const char *default_source);

Sets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE.

Parameters

settings

a GtkPrintSettings

 

default_source

the default source

 

gtk_print_settings_get_media_type ()

const char *
gtk_print_settings_get_media_type (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE.

The set of media types is defined in PWG 5101.1-2002 PWG.

Parameters

settings

a GtkPrintSettings

 

Returns

the media type


gtk_print_settings_set_media_type ()

void
gtk_print_settings_set_media_type (GtkPrintSettings *settings,
                                   const char *media_type);

Sets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE.

The set of media types is defined in PWG 5101.1-2002 PWG.

Parameters

settings

a GtkPrintSettings

 

media_type

the media type

 

gtk_print_settings_get_dither ()

const char *
gtk_print_settings_get_dither (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_DITHER.

Parameters

settings

a GtkPrintSettings

 

Returns

the dithering that is used


gtk_print_settings_set_dither ()

void
gtk_print_settings_set_dither (GtkPrintSettings *settings,
                               const char *dither);

Sets the value of GTK_PRINT_SETTINGS_DITHER.

Parameters

settings

a GtkPrintSettings

 

dither

the dithering that is used

 

gtk_print_settings_get_finishings ()

const char *
gtk_print_settings_get_finishings (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_FINISHINGS.

Parameters

settings

a GtkPrintSettings

 

Returns

the finishings


gtk_print_settings_set_finishings ()

void
gtk_print_settings_set_finishings (GtkPrintSettings *settings,
                                   const char *finishings);

Sets the value of GTK_PRINT_SETTINGS_FINISHINGS.

Parameters

settings

a GtkPrintSettings

 

finishings

the finishings

 

gtk_print_settings_get_output_bin ()

const char *
gtk_print_settings_get_output_bin (GtkPrintSettings *settings);

Gets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN.

Parameters

settings

a GtkPrintSettings

 

Returns

the output bin


gtk_print_settings_set_output_bin ()

void
gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
                                   const char *output_bin);

Sets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN.

Parameters

settings

a GtkPrintSettings

 

output_bin

the output bin

 

gtk_print_settings_new_from_file ()

GtkPrintSettings *
gtk_print_settings_new_from_file (const char *file_name,
                                  GError **error);

Reads the print settings from file_name . Returns a new GtkPrintSettings object with the restored settings, or NULL if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file().

Parameters

file_name

the filename to read the settings from.

[type filename]

error

return location for errors, or NULL.

[allow-none]

Returns

the restored GtkPrintSettings


gtk_print_settings_new_from_key_file ()

GtkPrintSettings *
gtk_print_settings_new_from_key_file (GKeyFile *key_file,
                                      const char *group_name,
                                      GError **error);

Reads the print settings from the group group_name in key_file . Returns a new GtkPrintSettings object with the restored settings, or NULL if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError.

Parameters

key_file

the GKeyFile to retrieve the settings from

 

group_name

the name of the group to use, or NULL to use the default “Print Settings”.

[allow-none]

error

return location for errors, or NULL.

[allow-none]

Returns

the restored GtkPrintSettings


gtk_print_settings_new_from_gvariant ()

GtkPrintSettings *
gtk_print_settings_new_from_gvariant (GVariant *variant);

Deserialize print settings from an a{sv} variant in the format produced by gtk_print_settings_to_gvariant().

Parameters

variant

an a{sv} GVariant

 

Returns

a new GtkPrintSettings object.

[transfer full]


gtk_print_settings_load_file ()

gboolean
gtk_print_settings_load_file (GtkPrintSettings *settings,
                              const char *file_name,
                              GError **error);

Reads the print settings from file_name . If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file().

Parameters

settings

a GtkPrintSettings

 

file_name

the filename to read the settings from.

[type filename]

error

return location for errors, or NULL.

[allow-none]

Returns

TRUE on success


gtk_print_settings_load_key_file ()

gboolean
gtk_print_settings_load_key_file (GtkPrintSettings *settings,
                                  GKeyFile *key_file,
                                  const char *group_name,
                                  GError **error);

Reads the print settings from the group group_name in key_file . If the file could not be loaded then error is set to either a GFileError or GKeyFileError.

Parameters

settings

a GtkPrintSettings

 

key_file

the GKeyFile to retrieve the settings from

 

group_name

the name of the group to use, or NULL to use the default “Print Settings”.

[allow-none]

error

return location for errors, or NULL.

[allow-none]

Returns

TRUE on success


gtk_print_settings_to_file ()

gboolean
gtk_print_settings_to_file (GtkPrintSettings *settings,
                            const char *file_name,
                            GError **error);

This function saves the print settings from settings to file_name . If the file could not be loaded then error is set to either a GFileError or GKeyFileError.

Parameters

settings

a GtkPrintSettings

 

file_name

the file to save to.

[type filename]

error

return location for errors, or NULL.

[allow-none]

Returns

TRUE on success


gtk_print_settings_to_key_file ()

void
gtk_print_settings_to_key_file (GtkPrintSettings *settings,
                                GKeyFile *key_file,
                                const char *group_name);

This function adds the print settings from settings to key_file .

Parameters

settings

a GtkPrintSettings

 

key_file

the GKeyFile to save the print settings to

 

group_name

the group to add the settings to in key_file , or NULL to use the default “Print Settings”.

[nullable]

gtk_print_settings_to_gvariant ()

GVariant *
gtk_print_settings_to_gvariant (GtkPrintSettings *settings);

Serialize print settings to an a{sv} variant.

Parameters

settings

a GtkPrintSettings

 

Returns

a new, floating, GVariant.

[transfer none]

Types and Values

GtkPrintSettings

typedef struct _GtkPrintSettings GtkPrintSettings;

GTK_PRINT_SETTINGS_PRINTER

#define GTK_PRINT_SETTINGS_PRINTER          "printer"

enum GtkPageOrientation

See also gtk_print_settings_set_orientation().

Members

GTK_PAGE_ORIENTATION_PORTRAIT

Portrait mode.

 

GTK_PAGE_ORIENTATION_LANDSCAPE

Landscape mode.

 

GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT

Reverse portrait mode.

 

GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE

Reverse landscape mode.

 

GTK_PRINT_SETTINGS_ORIENTATION

#define GTK_PRINT_SETTINGS_ORIENTATION      "orientation"

GTK_PRINT_SETTINGS_PAPER_FORMAT

#define GTK_PRINT_SETTINGS_PAPER_FORMAT     "paper-format"

GTK_PRINT_SETTINGS_PAPER_WIDTH

#define GTK_PRINT_SETTINGS_PAPER_WIDTH      "paper-width"

GTK_PRINT_SETTINGS_PAPER_HEIGHT

#define GTK_PRINT_SETTINGS_PAPER_HEIGHT     "paper-height"

GTK_PRINT_SETTINGS_USE_COLOR

#define GTK_PRINT_SETTINGS_USE_COLOR        "use-color"

GTK_PRINT_SETTINGS_COLLATE

#define GTK_PRINT_SETTINGS_COLLATE          "collate"

GTK_PRINT_SETTINGS_REVERSE

#define GTK_PRINT_SETTINGS_REVERSE          "reverse"

enum GtkPrintDuplex

See also gtk_print_settings_set_duplex().

Members

GTK_PRINT_DUPLEX_SIMPLEX

No duplex.

 

GTK_PRINT_DUPLEX_HORIZONTAL

Horizontal duplex.

 

GTK_PRINT_DUPLEX_VERTICAL

Vertical duplex.

 

GTK_PRINT_SETTINGS_DUPLEX

#define GTK_PRINT_SETTINGS_DUPLEX           "duplex"

enum GtkPrintQuality

See also gtk_print_settings_set_quality().

Members

GTK_PRINT_QUALITY_LOW

Low quality.

 

GTK_PRINT_QUALITY_NORMAL

Normal quality.

 

GTK_PRINT_QUALITY_HIGH

High quality.

 

GTK_PRINT_QUALITY_DRAFT

Draft quality.

 

GTK_PRINT_SETTINGS_QUALITY

#define GTK_PRINT_SETTINGS_QUALITY          "quality"

GTK_PRINT_SETTINGS_N_COPIES

#define GTK_PRINT_SETTINGS_N_COPIES         "n-copies"

GTK_PRINT_SETTINGS_NUMBER_UP

#define GTK_PRINT_SETTINGS_NUMBER_UP        "number-up"

enum GtkNumberUpLayout

Used to determine the layout of pages on a sheet when printing multiple pages per sheet.

Members

GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM

 

GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP

 

GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM

 

GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP

 

GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT

 

GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT

 

GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT

 

GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT

 

GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT

#define GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT "number-up-layout"

GTK_PRINT_SETTINGS_RESOLUTION

#define GTK_PRINT_SETTINGS_RESOLUTION       "resolution"

GTK_PRINT_SETTINGS_RESOLUTION_X

#define GTK_PRINT_SETTINGS_RESOLUTION_X     "resolution-x"

GTK_PRINT_SETTINGS_RESOLUTION_Y

#define GTK_PRINT_SETTINGS_RESOLUTION_Y     "resolution-y"

GTK_PRINT_SETTINGS_PRINTER_LPI

#define GTK_PRINT_SETTINGS_PRINTER_LPI      "printer-lpi"

GTK_PRINT_SETTINGS_SCALE

#define GTK_PRINT_SETTINGS_SCALE            "scale"

enum GtkPrintPages

See also gtk_print_job_set_pages()

Members

GTK_PRINT_PAGES_ALL

All pages.

 

GTK_PRINT_PAGES_CURRENT

Current page.

 

GTK_PRINT_PAGES_RANGES

Range of pages.

 

GTK_PRINT_PAGES_SELECTION

Selected pages.

 

GTK_PRINT_SETTINGS_PRINT_PAGES

#define GTK_PRINT_SETTINGS_PRINT_PAGES      "print-pages"

struct GtkPageRange

struct GtkPageRange {
  int start;
  int end;
};

See also gtk_print_settings_set_page_ranges().

Members

int start;

start of page range.

 

int end;

end of page range.

 

GTK_PRINT_SETTINGS_PAGE_RANGES

#define GTK_PRINT_SETTINGS_PAGE_RANGES      "page-ranges"

enum GtkPageSet

See also gtk_print_job_set_page_set().

Members

GTK_PAGE_SET_ALL

All pages.

 

GTK_PAGE_SET_EVEN

Even pages.

 

GTK_PAGE_SET_ODD

Odd pages.

 

GTK_PRINT_SETTINGS_PAGE_SET

#define GTK_PRINT_SETTINGS_PAGE_SET         "page-set"

GTK_PRINT_SETTINGS_DEFAULT_SOURCE

#define GTK_PRINT_SETTINGS_DEFAULT_SOURCE   "default-source"

GTK_PRINT_SETTINGS_MEDIA_TYPE

#define GTK_PRINT_SETTINGS_MEDIA_TYPE       "media-type"

GTK_PRINT_SETTINGS_DITHER

#define GTK_PRINT_SETTINGS_DITHER           "dither"

GTK_PRINT_SETTINGS_FINISHINGS

#define GTK_PRINT_SETTINGS_FINISHINGS       "finishings"

GTK_PRINT_SETTINGS_OUTPUT_BIN

#define GTK_PRINT_SETTINGS_OUTPUT_BIN       "output-bin"

GTK_PRINT_SETTINGS_OUTPUT_DIR

#define GTK_PRINT_SETTINGS_OUTPUT_DIR       "output-dir"

The key used by the “Print to file” printer to store the directory to which the output should be written.


GTK_PRINT_SETTINGS_OUTPUT_BASENAME

#define GTK_PRINT_SETTINGS_OUTPUT_BASENAME  "output-basename"

The key used by the “Print to file” printer to store the file name of the output without the path to the directory and the file extension.


GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT

#define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT  "output-file-format"

The key used by the “Print to file” printer to store the format of the output. The supported values are “PS” and “PDF”.


GTK_PRINT_SETTINGS_OUTPUT_URI

#define GTK_PRINT_SETTINGS_OUTPUT_URI          "output-uri"

The key used by the “Print to file” printer to store the URI to which the output should be written. GTK+ itself supports only “file://” URIs.


GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA

#define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA   "win32-driver-extra"

GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION

#define GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION "win32-driver-version"
docs/reference/gtk/html/GtkPageSetup.html0000664000175000017500000016702013710700534020564 0ustar mclasenmclasen GtkPageSetup: GTK 4 Reference Manual

GtkPageSetup

GtkPageSetup — Stores page setup information

Types and Values

Object Hierarchy

    GObject
    ╰── GtkPageSetup

Includes

#include <gtk/gtk.h>

Description

A GtkPageSetup object stores the page size, orientation and margins. The idea is that you can get one of these from the page setup dialog and then pass it to the GtkPrintOperation when printing. The benefit of splitting this out of the GtkPrintSettings is that these affect the actual layout of the page, and thus need to be set long before user prints.

Margins

The margins specified in this object are the “print margins”, i.e. the parts of the page that the printer cannot print on. These are different from the layout margins that a word processor uses; they are typically used to determine the minimal size for the layout margins.

To obtain a GtkPageSetup use gtk_page_setup_new() to get the defaults, or use gtk_print_run_page_setup_dialog() to show the page setup dialog and receive the resulting page setup.

A page setup dialog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static GtkPrintSettings *settings = NULL;
static GtkPageSetup *page_setup = NULL;

static void
do_page_setup (void)
{
  GtkPageSetup *new_page_setup;

  if (settings == NULL)
    settings = gtk_print_settings_new ();

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
                                                    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);

  page_setup = new_page_setup;
}

Printing support was added in GTK+ 2.10.

Functions

gtk_page_setup_new ()

GtkPageSetup *
gtk_page_setup_new (void);

Creates a new GtkPageSetup.

Returns

a new GtkPageSetup.


gtk_page_setup_copy ()

GtkPageSetup *
gtk_page_setup_copy (GtkPageSetup *other);

Copies a GtkPageSetup.

Parameters

other

the GtkPageSetup to copy

 

Returns

a copy of other .

[transfer full]


gtk_page_setup_get_orientation ()

GtkPageOrientation
gtk_page_setup_get_orientation (GtkPageSetup *setup);

Gets the page orientation of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

Returns

the page orientation


gtk_page_setup_set_orientation ()

void
gtk_page_setup_set_orientation (GtkPageSetup *setup,
                                GtkPageOrientation orientation);

Sets the page orientation of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

orientation

a GtkPageOrientation value

 

gtk_page_setup_get_paper_size ()

GtkPaperSize *
gtk_page_setup_get_paper_size (GtkPageSetup *setup);

Gets the paper size of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

Returns

the paper size.

[transfer none]


gtk_page_setup_set_paper_size ()

void
gtk_page_setup_set_paper_size (GtkPageSetup *setup,
                               GtkPaperSize *size);

Sets the paper size of the GtkPageSetup without changing the margins. See gtk_page_setup_set_paper_size_and_default_margins().

Parameters

setup

a GtkPageSetup

 

size

a GtkPaperSize

 

gtk_page_setup_get_top_margin ()

double
gtk_page_setup_get_top_margin (GtkPageSetup *setup,
                               GtkUnit unit);

Gets the top margin in units of unit .

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the top margin


gtk_page_setup_set_top_margin ()

void
gtk_page_setup_set_top_margin (GtkPageSetup *setup,
                               double margin,
                               GtkUnit unit);

Sets the top margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

margin

the new top margin in units of unit

 

unit

the units for margin

 

gtk_page_setup_get_bottom_margin ()

double
gtk_page_setup_get_bottom_margin (GtkPageSetup *setup,
                                  GtkUnit unit);

Gets the bottom margin in units of unit .

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the bottom margin


gtk_page_setup_set_bottom_margin ()

void
gtk_page_setup_set_bottom_margin (GtkPageSetup *setup,
                                  double margin,
                                  GtkUnit unit);

Sets the bottom margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

margin

the new bottom margin in units of unit

 

unit

the units for margin

 

gtk_page_setup_get_left_margin ()

double
gtk_page_setup_get_left_margin (GtkPageSetup *setup,
                                GtkUnit unit);

Gets the left margin in units of unit .

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the left margin


gtk_page_setup_set_left_margin ()

void
gtk_page_setup_set_left_margin (GtkPageSetup *setup,
                                double margin,
                                GtkUnit unit);

Sets the left margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

margin

the new left margin in units of unit

 

unit

the units for margin

 

gtk_page_setup_get_right_margin ()

double
gtk_page_setup_get_right_margin (GtkPageSetup *setup,
                                 GtkUnit unit);

Gets the right margin in units of unit .

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the right margin


gtk_page_setup_set_right_margin ()

void
gtk_page_setup_set_right_margin (GtkPageSetup *setup,
                                 double margin,
                                 GtkUnit unit);

Sets the right margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

 

margin

the new right margin in units of unit

 

unit

the units for margin

 

gtk_page_setup_set_paper_size_and_default_margins ()

void
gtk_page_setup_set_paper_size_and_default_margins
                               (GtkPageSetup *setup,
                                GtkPaperSize *size);

Sets the paper size of the GtkPageSetup and modifies the margins according to the new paper size.

Parameters

setup

a GtkPageSetup

 

size

a GtkPaperSize

 

gtk_page_setup_get_paper_width ()

double
gtk_page_setup_get_paper_width (GtkPageSetup *setup,
                                GtkUnit unit);

Returns the paper width in units of unit .

Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_width().

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the paper width.


gtk_page_setup_get_paper_height ()

double
gtk_page_setup_get_paper_height (GtkPageSetup *setup,
                                 GtkUnit unit);

Returns the paper height in units of unit .

Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_height().

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the paper height.


gtk_page_setup_get_page_width ()

double
gtk_page_setup_get_page_width (GtkPageSetup *setup,
                               GtkUnit unit);

Returns the page width in units of unit .

Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_width().

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the page width.


gtk_page_setup_get_page_height ()

double
gtk_page_setup_get_page_height (GtkPageSetup *setup,
                                GtkUnit unit);

Returns the page height in units of unit .

Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_height().

Parameters

setup

a GtkPageSetup

 

unit

the unit for the return value

 

Returns

the page height.


gtk_page_setup_new_from_file ()

GtkPageSetup *
gtk_page_setup_new_from_file (const char *file_name,
                              GError **error);

Reads the page setup from the file file_name . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred. See gtk_page_setup_to_file().

Parameters

file_name

the filename to read the page setup from.

[type filename]

error

return location for an error, or NULL.

[allow-none]

Returns

the restored GtkPageSetup


gtk_page_setup_new_from_key_file ()

GtkPageSetup *
gtk_page_setup_new_from_key_file (GKeyFile *key_file,
                                  const char *group_name,
                                  GError **error);

Reads the page setup from the group group_name in the key file key_file . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred.

Parameters

key_file

the GKeyFile to retrieve the page_setup from

 

group_name

the name of the group in the key_file to read, or NULL to use the default name “Page Setup”.

[allow-none]

error

return location for an error, or NULL.

[allow-none]

Returns

the restored GtkPageSetup


gtk_page_setup_new_from_gvariant ()

GtkPageSetup *
gtk_page_setup_new_from_gvariant (GVariant *variant);

Desrialize a page setup from an a{sv} variant in the format produced by gtk_page_setup_to_gvariant().

Parameters

variant

an a{sv} GVariant

 

Returns

a new GtkPageSetup object.

[transfer full]


gtk_page_setup_load_file ()

gboolean
gtk_page_setup_load_file (GtkPageSetup *setup,
                          const char *file_name,
                          GError **error);

Reads the page setup from the file file_name . See gtk_page_setup_to_file().

Parameters

setup

a GtkPageSetup

 

file_name

the filename to read the page setup from.

[type filename]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success


gtk_page_setup_load_key_file ()

gboolean
gtk_page_setup_load_key_file (GtkPageSetup *setup,
                              GKeyFile *key_file,
                              const char *group_name,
                              GError **error);

Reads the page setup from the group group_name in the key file key_file .

Parameters

setup

a GtkPageSetup

 

key_file

the GKeyFile to retrieve the page_setup from

 

group_name

the name of the group in the key_file to read, or NULL to use the default name “Page Setup”.

[allow-none]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success


gtk_page_setup_to_file ()

gboolean
gtk_page_setup_to_file (GtkPageSetup *setup,
                        const char *file_name,
                        GError **error);

This function saves the information from setup to file_name .

Parameters

setup

a GtkPageSetup

 

file_name

the file to save to.

[type filename]

error

return location for errors, or NULL.

[allow-none]

Returns

TRUE on success


gtk_page_setup_to_key_file ()

void
gtk_page_setup_to_key_file (GtkPageSetup *setup,
                            GKeyFile *key_file,
                            const char *group_name);

This function adds the page setup from setup to key_file .

Parameters

setup

a GtkPageSetup

 

key_file

the GKeyFile to save the page setup to

 

group_name

the group to add the settings to in key_file , or NULL to use the default name “Page Setup”.

[nullable]

gtk_page_setup_to_gvariant ()

GVariant *
gtk_page_setup_to_gvariant (GtkPageSetup *setup);

Serialize page setup to an a{sv} variant.

Return: (transfer none): a new, floating, GVariant

Parameters

setup

a GtkPageSetup

 

Types and Values

GtkPageSetup

typedef struct _GtkPageSetup GtkPageSetup;
docs/reference/gtk/html/GtkPaperSize.html0000664000175000017500000016023713710700534020574 0ustar mclasenmclasen GtkPaperSize: GTK 4 Reference Manual

GtkPaperSize

GtkPaperSize — Support for named paper sizes

Object Hierarchy

    GBoxed
    ╰── GtkPaperSize

Includes

#include <gtk/gtk.h>

Description

GtkPaperSize handles paper sizes. It uses the standard called PWG 5101.1-2002 PWG: Standard for Media Standardized Names to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, GtkPaperSize allows to construct custom paper sizes with arbitrary dimensions.

The GtkPaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides default print margins.

Printing support has been added in GTK 2.10.

Functions

gtk_paper_size_new ()

GtkPaperSize *
gtk_paper_size_new (const char *name);

Creates a new GtkPaperSize object by parsing a PWG 5101.1-2002 paper name.

If name is NULL, the default paper size is returned, see gtk_paper_size_get_default().

Parameters

name

a paper size name, or NULL.

[allow-none]

Returns

a new GtkPaperSize, use gtk_paper_size_free() to free it


gtk_paper_size_new_from_ppd ()

GtkPaperSize *
gtk_paper_size_new_from_ppd (const char *ppd_name,
                             const char *ppd_display_name,
                             double width,
                             double height);

Creates a new GtkPaperSize object by using PPD information.

If ppd_name is not a recognized PPD paper name, ppd_display_name , width and height are used to construct a custom GtkPaperSize object.

Parameters

ppd_name

a PPD paper name

 

ppd_display_name

the corresponding human-readable name

 

width

the paper width, in points

 

height

the paper height in points

 

Returns

a new GtkPaperSize, use gtk_paper_size_free() to free it


gtk_paper_size_new_from_ipp ()

GtkPaperSize *
gtk_paper_size_new_from_ipp (const char *ipp_name,
                             double width,
                             double height);

Creates a new GtkPaperSize object by using IPP information.

If ipp_name is not a recognized paper name, width and height are used to construct a custom GtkPaperSize object.

Parameters

ipp_name

an IPP paper name

 

width

the paper width, in points

 

height

the paper height in points

 

Returns

a new GtkPaperSize, use gtk_paper_size_free() to free it


gtk_paper_size_new_custom ()

GtkPaperSize *
gtk_paper_size_new_custom (const char *name,
                           const char *display_name,
                           double width,
                           double height,
                           GtkUnit unit);

Creates a new GtkPaperSize object with the given parameters.

Parameters

name

the paper name

 

display_name

the human-readable name

 

width

the paper width, in units of unit

 

height

the paper height, in units of unit

 

unit

the unit for width and height . not GTK_UNIT_NONE.

 

Returns

a new GtkPaperSize object, use gtk_paper_size_free() to free it


gtk_paper_size_copy ()

GtkPaperSize *
gtk_paper_size_copy (GtkPaperSize *other);

Copies an existing GtkPaperSize.

Parameters

other

a GtkPaperSize

 

Returns

a copy of other


gtk_paper_size_free ()

void
gtk_paper_size_free (GtkPaperSize *size);

Free the given GtkPaperSize object.

Parameters

size

a GtkPaperSize

 

gtk_paper_size_is_equal ()

gboolean
gtk_paper_size_is_equal (GtkPaperSize *size1,
                         GtkPaperSize *size2);

Compares two GtkPaperSize objects.

Parameters

size1

a GtkPaperSize object

 

size2

another GtkPaperSize object

 

Returns

TRUE, if size1 and size2 represent the same paper size


gtk_paper_size_get_paper_sizes ()

GList *
gtk_paper_size_get_paper_sizes (gboolean include_custom);

Creates a list of known paper sizes.

Parameters

include_custom

whether to include custom paper sizes as defined in the page setup dialog

 

Returns

a newly allocated list of newly allocated GtkPaperSize objects.

[element-type GtkPaperSize][transfer full]


gtk_paper_size_get_name ()

const char *
gtk_paper_size_get_name (GtkPaperSize *size);

Gets the name of the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

Returns

the name of size


gtk_paper_size_get_display_name ()

const char *
gtk_paper_size_get_display_name (GtkPaperSize *size);

Gets the human-readable name of the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

Returns

the human-readable name of size


gtk_paper_size_get_ppd_name ()

const char *
gtk_paper_size_get_ppd_name (GtkPaperSize *size);

Gets the PPD name of the GtkPaperSize, which may be NULL.

Parameters

size

a GtkPaperSize object

 

Returns

the PPD name of size


gtk_paper_size_get_width ()

double
gtk_paper_size_get_width (GtkPaperSize *size,
                          GtkUnit unit);

Gets the paper width of the GtkPaperSize, in units of unit .

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the paper width


gtk_paper_size_get_height ()

double
gtk_paper_size_get_height (GtkPaperSize *size,
                           GtkUnit unit);

Gets the paper height of the GtkPaperSize, in units of unit .

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the paper height


gtk_paper_size_is_ipp ()

gboolean
gtk_paper_size_is_ipp (GtkPaperSize *size);

Returns TRUE if size is an IPP standard paper size.

Parameters

size

a GtkPaperSize object

 

Returns

whether size is not an IPP custom paper size.


gtk_paper_size_is_custom ()

gboolean
gtk_paper_size_is_custom (GtkPaperSize *size);

Returns TRUE if size is not a standard paper size.

Parameters

size

a GtkPaperSize object

 

Returns

whether size is a custom paper size.


gtk_paper_size_set_size ()

void
gtk_paper_size_set_size (GtkPaperSize *size,
                         double width,
                         double height,
                         GtkUnit unit);

Changes the dimensions of a size to width x height .

Parameters

size

a custom GtkPaperSize object

 

width

the new width in units of unit

 

height

the new height in units of unit

 

unit

the unit for width and height

 

gtk_paper_size_get_default_top_margin ()

double
gtk_paper_size_get_default_top_margin (GtkPaperSize *size,
                                       GtkUnit unit);

Gets the default top margin for the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the default top margin


gtk_paper_size_get_default_bottom_margin ()

double
gtk_paper_size_get_default_bottom_margin
                               (GtkPaperSize *size,
                                GtkUnit unit);

Gets the default bottom margin for the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the default bottom margin


gtk_paper_size_get_default_left_margin ()

double
gtk_paper_size_get_default_left_margin
                               (GtkPaperSize *size,
                                GtkUnit unit);

Gets the default left margin for the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the default left margin


gtk_paper_size_get_default_right_margin ()

double
gtk_paper_size_get_default_right_margin
                               (GtkPaperSize *size,
                                GtkUnit unit);

Gets the default right margin for the GtkPaperSize.

Parameters

size

a GtkPaperSize object

 

unit

the unit for the return value, not GTK_UNIT_NONE

 

Returns

the default right margin


gtk_paper_size_get_default ()

const char *
gtk_paper_size_get_default (void);

Returns the name of the default paper size, which depends on the current locale.

Returns

the name of the default paper size. The string is owned by GTK and should not be modified.


gtk_paper_size_new_from_key_file ()

GtkPaperSize *
gtk_paper_size_new_from_key_file (GKeyFile *key_file,
                                  const char *group_name,
                                  GError **error);

Reads a paper size from the group group_name in the key file key_file .

Parameters

key_file

the GKeyFile to retrieve the papersize from

 

group_name

the name of the group in the key file to read, or NULL to read the first group.

[nullable]

error

return location for an error, or NULL.

[allow-none]

Returns

a new GtkPaperSize object with the restored paper size, or NULL if an error occurred


gtk_paper_size_new_from_gvariant ()

GtkPaperSize *
gtk_paper_size_new_from_gvariant (GVariant *variant);

Deserialize a paper size from an a{sv} variant in the format produced by gtk_paper_size_to_gvariant().

Parameters

variant

an a{sv} GVariant

 

Returns

a new GtkPaperSize object.

[transfer full]


gtk_paper_size_to_key_file ()

void
gtk_paper_size_to_key_file (GtkPaperSize *size,
                            GKeyFile *key_file,
                            const char *group_name);

This function adds the paper size from size to key_file .

Parameters

size

a GtkPaperSize

 

key_file

the GKeyFile to save the paper size to

 

group_name

the group to add the settings to in key_file

 

gtk_paper_size_to_gvariant ()

GVariant *
gtk_paper_size_to_gvariant (GtkPaperSize *paper_size);

Serialize a paper size to an a{sv} variant.

Parameters

paper_size

a GtkPaperSize

 

Returns

a new, floating, GVariant.

[transfer none]

Types and Values

GtkPaperSize

typedef struct _GtkPaperSize GtkPaperSize;

enum GtkUnit

See also gtk_print_settings_set_paper_width().

Members

GTK_UNIT_NONE

No units.

 

GTK_UNIT_POINTS

Dimensions in points.

 

GTK_UNIT_INCH

Dimensions in inches.

 

GTK_UNIT_MM

Dimensions in millimeters

 

GTK_UNIT_PIXEL

#define GTK_UNIT_PIXEL GTK_UNIT_NONE

GTK_PAPER_NAME_A3

#define GTK_PAPER_NAME_A3 "iso_a3"

Name for the A3 paper size.


GTK_PAPER_NAME_A4

#define GTK_PAPER_NAME_A4 "iso_a4"

Name for the A4 paper size.


GTK_PAPER_NAME_A5

#define GTK_PAPER_NAME_A5 "iso_a5"

Name for the A5 paper size.


GTK_PAPER_NAME_B5

#define GTK_PAPER_NAME_B5 "iso_b5"

Name for the B5 paper size.


GTK_PAPER_NAME_LETTER

#define GTK_PAPER_NAME_LETTER "na_letter"

Name for the Letter paper size.


GTK_PAPER_NAME_EXECUTIVE

#define GTK_PAPER_NAME_EXECUTIVE "na_executive"

Name for the Executive paper size.


GTK_PAPER_NAME_LEGAL

#define GTK_PAPER_NAME_LEGAL "na_legal"

Name for the Legal paper size.

See Also

GtkPageSetup

docs/reference/gtk/html/GtkPrinter.html0000664000175000017500000016652513710700534020323 0ustar mclasenmclasen GtkPrinter: GTK 4 Reference Manual

GtkPrinter

GtkPrinter — Represents a printer

Properties

gboolean accepting-jobs Read
gboolean accepts-pdf Read / Write / Construct Only
gboolean accepts-ps Read / Write / Construct Only
GtkPrintBackend * backend Read / Write / Construct Only
gchar * icon-name Read
gboolean is-virtual Read / Write / Construct Only
gint job-count Read
gchar * location Read
gchar * name Read / Write / Construct Only
gboolean paused Read
gchar * state-message Read

Signals

void details-acquired Run Last

Types and Values

Object Hierarchy

    GObject
    ├── GtkPrintBackend
    ╰── GtkPrinter

Includes

#include <gtk/gtk.h>

Description

A GtkPrinter object represents a printer. You only need to deal directly with printers if you use the non-portable GtkPrintUnixDialog API.

A GtkPrinter allows to get status information about the printer, such as its description, its location, the number of queued jobs, etc. Most importantly, a GtkPrinter object can be used to create a GtkPrintJob object, which lets you print to the printer.

Printing support was added in GTK+ 2.10.

Functions

gtk_printer_new ()

GtkPrinter *
gtk_printer_new (const char *name,
                 GtkPrintBackend *backend,
                 gboolean virtual_);

Creates a new GtkPrinter.

Parameters

name

the name of the printer

 

backend

a GtkPrintBackend

 

virtual_

whether the printer is virtual

 

Returns

a new GtkPrinter


gtk_printer_get_backend ()

GtkPrintBackend *
gtk_printer_get_backend (GtkPrinter *printer);

Returns the backend of the printer.

Parameters

printer

a GtkPrinter

 

Returns

the backend of printer .

[transfer none]


gtk_printer_get_name ()

const char *
gtk_printer_get_name (GtkPrinter *printer);

Returns the name of the printer.

Parameters

printer

a GtkPrinter

 

Returns

the name of printer


gtk_printer_get_state_message ()

const char *
gtk_printer_get_state_message (GtkPrinter *printer);

Returns the state message describing the current state of the printer.

Parameters

printer

a GtkPrinter

 

Returns

the state message of printer


gtk_printer_get_description ()

const char *
gtk_printer_get_description (GtkPrinter *printer);

Gets the description of the printer.

Parameters

printer

a GtkPrinter

 

Returns

the description of printer


gtk_printer_get_location ()

const char *
gtk_printer_get_location (GtkPrinter *printer);

Returns a description of the location of the printer.

Parameters

printer

a GtkPrinter

 

Returns

the location of printer


gtk_printer_get_icon_name ()

const char *
gtk_printer_get_icon_name (GtkPrinter *printer);

Gets the name of the icon to use for the printer.

Parameters

printer

a GtkPrinter

 

Returns

the icon name for printer


gtk_printer_get_job_count ()

int
gtk_printer_get_job_count (GtkPrinter *printer);

Gets the number of jobs currently queued on the printer.

Parameters

printer

a GtkPrinter

 

Returns

the number of jobs on printer


gtk_printer_is_active ()

gboolean
gtk_printer_is_active (GtkPrinter *printer);

Returns whether the printer is currently active (i.e. accepts new jobs).

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer is active


gtk_printer_is_paused ()

gboolean
gtk_printer_is_paused (GtkPrinter *printer);

Returns whether the printer is currently paused. A paused printer still accepts jobs, but it is not printing them.

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer is paused


gtk_printer_is_accepting_jobs ()

gboolean
gtk_printer_is_accepting_jobs (GtkPrinter *printer);

Returns whether the printer is accepting jobs

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer is accepting jobs


gtk_printer_is_virtual ()

gboolean
gtk_printer_is_virtual (GtkPrinter *printer);

Returns whether the printer is virtual (i.e. does not represent actual printer hardware, but something like a CUPS class).

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer is virtual


gtk_printer_is_default ()

gboolean
gtk_printer_is_default (GtkPrinter *printer);

Returns whether the printer is the default printer.

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer is the default


gtk_printer_accepts_ps ()

gboolean
gtk_printer_accepts_ps (GtkPrinter *printer);

Returns whether the printer accepts input in PostScript format.

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer accepts PostScript


gtk_printer_accepts_pdf ()

gboolean
gtk_printer_accepts_pdf (GtkPrinter *printer);

Returns whether the printer accepts input in PDF format.

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer accepts PDF


gtk_printer_list_papers ()

GList *
gtk_printer_list_papers (GtkPrinter *printer);

Lists all the paper sizes printer supports. This will return and empty list unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details().

Parameters

printer

a GtkPrinter

 

Returns

a newly allocated list of newly allocated GtkPageSetup s.

[element-type GtkPageSetup][transfer full]


gtk_printer_compare ()

int
gtk_printer_compare (GtkPrinter *a,
                     GtkPrinter *b);

Compares two printers.

Parameters

a

a GtkPrinter

 

b

another GtkPrinter

 

Returns

0 if the printer match, a negative value if a < b , or a positive value if a > b


gtk_printer_has_details ()

gboolean
gtk_printer_has_details (GtkPrinter *printer);

Returns whether the printer details are available.

Parameters

printer

a GtkPrinter

 

Returns

TRUE if printer details are available


gtk_printer_request_details ()

void
gtk_printer_request_details (GtkPrinter *printer);

Requests the printer details. When the details are available, the “details-acquired” signal will be emitted on printer .

Parameters

printer

a GtkPrinter

 

gtk_printer_get_capabilities ()

GtkPrintCapabilities
gtk_printer_get_capabilities (GtkPrinter *printer);

Returns the printer’s capabilities.

This is useful when you’re using GtkPrintUnixDialog’s manual-capabilities setting and need to know which settings the printer can handle and which you must handle yourself.

This will return 0 unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details().

Parameters

printer

a GtkPrinter

 

Returns

the printer’s capabilities


gtk_printer_get_default_page_size ()

GtkPageSetup *
gtk_printer_get_default_page_size (GtkPrinter *printer);

Returns default page size of printer .

Parameters

printer

a GtkPrinter

 

Returns

a newly allocated GtkPageSetup with default page size of the printer.


gtk_printer_get_hard_margins ()

gboolean
gtk_printer_get_hard_margins (GtkPrinter *printer,
                              double *top,
                              double *bottom,
                              double *left,
                              double *right);

Retrieve the hard margins of printer , i.e. the margins that define the area at the borders of the paper that the printer cannot print to.

Note: This will not succeed unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details().

Parameters

printer

a GtkPrinter

 

top

a location to store the top margin in.

[out]

bottom

a location to store the bottom margin in.

[out]

left

a location to store the left margin in.

[out]

right

a location to store the right margin in.

[out]

Returns

TRUE iff the hard margins were retrieved


gtk_printer_get_hard_margins_for_paper_size ()

gboolean
gtk_printer_get_hard_margins_for_paper_size
                               (GtkPrinter *printer,
                                GtkPaperSize *paper_size,
                                double *top,
                                double *bottom,
                                double *left,
                                double *right);

Retrieve the hard margins of printer for paper_size , i.e. the margins that define the area at the borders of the paper that the printer cannot print to.

Note: This will not succeed unless the printer's details are available, see gtk_printer_has_details() and gtk_printer_request_details().

Parameters

printer

a GtkPrinter

 

paper_size

a GtkPaperSize

 

top

a location to store the top margin in.

[out]

bottom

a location to store the bottom margin in.

[out]

left

a location to store the left margin in.

[out]

right

a location to store the right margin in.

[out]

Returns

TRUE iff the hard margins were retrieved


GtkPrinterFunc ()

gboolean
(*GtkPrinterFunc) (GtkPrinter *printer,
                   gpointer data);

The type of function passed to gtk_enumerate_printers(). Note that you need to ref printer , if you want to keep a reference to it after the function has returned.

Parameters

printer

a GtkPrinter

 

data

user data passed to gtk_enumerate_printers().

[closure]

Returns

TRUE to stop the enumeration, FALSE to continue


gtk_enumerate_printers ()

void
gtk_enumerate_printers (GtkPrinterFunc func,
                        gpointer data,
                        GDestroyNotify destroy,
                        gboolean wait);

Calls a function for all GtkPrinters. If func returns TRUE, the enumeration is stopped.

Parameters

func

a function to call for each printer

 

data

user data to pass to func

 

destroy

function to call if data is no longer needed

 

wait

if TRUE, wait in a recursive mainloop until all printers are enumerated; otherwise return early

 

Types and Values

GtkPrinter

typedef struct _GtkPrinter GtkPrinter;

GtkPrintBackend

typedef struct _GtkPrintBackend GtkPrintBackend;

Property Details

The “accepting-jobs” property

  “accepting-jobs”           gboolean

This property is TRUE if the printer is accepting jobs.

Owner: GtkPrinter

Flags: Read

Default value: TRUE


The “accepts-pdf” property

  “accepts-pdf”              gboolean

TRUE if this printer can accept PDF.

Owner: GtkPrinter

Flags: Read / Write / Construct Only

Default value: FALSE


The “accepts-ps” property

  “accepts-ps”               gboolean

TRUE if this printer can accept PostScript.

Owner: GtkPrinter

Flags: Read / Write / Construct Only

Default value: TRUE


The “backend” property

  “backend”                  GtkPrintBackend *

Backend for the printer.

Owner: GtkPrinter

Flags: Read / Write / Construct Only


The “icon-name” property

  “icon-name”                gchar *

The icon name to use for the printer.

Owner: GtkPrinter

Flags: Read

Default value: "printer"


The “is-virtual” property

  “is-virtual”               gboolean

FALSE if this represents a real hardware printer.

Owner: GtkPrinter

Flags: Read / Write / Construct Only

Default value: FALSE


The “job-count” property

  “job-count”                gint

Number of jobs queued in the printer.

Owner: GtkPrinter

Flags: Read

Allowed values: >= 0

Default value: 0


The “location” property

  “location”                 gchar *

The location of the printer.

Owner: GtkPrinter

Flags: Read

Default value: ""


The “name” property

  “name”                     gchar *

Name of the printer.

Owner: GtkPrinter

Flags: Read / Write / Construct Only

Default value: ""


The “paused” property

  “paused”                   gboolean

This property is TRUE if this printer is paused. A paused printer still accepts jobs, but it does not print them.

Owner: GtkPrinter

Flags: Read

Default value: FALSE


The “state-message” property

  “state-message”            gchar *

String giving the current state of the printer.

Owner: GtkPrinter

Flags: Read

Default value: ""

Signal Details

The “details-acquired” signal

void
user_function (GtkPrinter *printer,
               gboolean    success,
               gpointer    user_data)

Gets emitted in response to a request for detailed information about a printer from the print backend. The success parameter indicates if the information was actually obtained.

Parameters

printer

the GtkPrinter on which the signal is emitted

 

success

TRUE if the details were successfully acquired

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkPrintJob.html0000664000175000017500000020365513710700534020423 0ustar mclasenmclasen GtkPrintJob: GTK 4 Reference Manual

GtkPrintJob

GtkPrintJob — Represents a print job

Properties

GtkPageSetup * page-setup Read / Write / Construct Only
GtkPrinter * printer Read / Write / Construct Only
GtkPrintSettings * settings Read / Write / Construct Only
gchar * title Read / Write / Construct Only
gboolean track-print-status Read / Write

Signals

void status-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkPrintJob

Includes

#include <gtk/gtkunixprint.h>

Description

A GtkPrintJob object represents a job that is sent to a printer. You only need to deal directly with print jobs if you use the non-portable GtkPrintUnixDialog API.

Use gtk_print_job_get_surface() to obtain the cairo surface onto which the pages must be drawn. Use gtk_print_job_send() to send the finished job to the printer. If you don’t use cairo GtkPrintJob also supports printing of manually generated postscript, via gtk_print_job_set_source_file().

Functions

GtkPrintJobCompleteFunc ()

void
(*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job,
                            gpointer user_data,
                            const GError *error);

The type of callback that is passed to gtk_print_job_send(). It is called when the print job has been completely sent.

Parameters

print_job

the GtkPrintJob

 

user_data

user data that has been passed to gtk_print_job_send()

 

error

a GError that contains error information if the sending of the print job failed, otherwise NULL

 

gtk_print_job_new ()

GtkPrintJob *
gtk_print_job_new (const char *title,
                   GtkPrinter *printer,
                   GtkPrintSettings *settings,
                   GtkPageSetup *page_setup);

Creates a new GtkPrintJob.

Parameters

title

the job title

 

printer

a GtkPrinter

 

settings

a GtkPrintSettings

 

page_setup

a GtkPageSetup

 

Returns

a new GtkPrintJob


gtk_print_job_get_settings ()

GtkPrintSettings *
gtk_print_job_get_settings (GtkPrintJob *job);

Gets the GtkPrintSettings of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the settings of job .

[transfer none]


gtk_print_job_get_printer ()

GtkPrinter *
gtk_print_job_get_printer (GtkPrintJob *job);

Gets the GtkPrinter of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the printer of job .

[transfer none]


gtk_print_job_get_title ()

const char *
gtk_print_job_get_title (GtkPrintJob *job);

Gets the job title.

Parameters

job

a GtkPrintJob

 

Returns

the title of job


gtk_print_job_get_status ()

GtkPrintStatus
gtk_print_job_get_status (GtkPrintJob *job);

Gets the status of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the status of job


gtk_print_job_set_source_file ()

gboolean
gtk_print_job_set_source_file (GtkPrintJob *job,
                               const char *filename,
                               GError **error);

Make the GtkPrintJob send an existing document to the printing system. The file can be in any format understood by the platforms printing system (typically PostScript, but on many platforms PDF may work too). See gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().

Parameters

job

a GtkPrintJob

 

filename

the file to be printed.

[type filename]

error

return location for errors

 

Returns

FALSE if an error occurred


gtk_print_job_set_source_fd ()

gboolean
gtk_print_job_set_source_fd (GtkPrintJob *job,
                             int fd,
                             GError **error);

Make the GtkPrintJob send an existing document to the printing system. The file can be in any format understood by the platforms printing system (typically PostScript, but on many platforms PDF may work too). See gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().

This is similar to gtk_print_job_set_source_file(), but takes expects an open file descriptor for the file, instead of a filename.

Parameters

job

a GtkPrintJob

 

fd

a file descriptor

 

error

return location for errors

 

Returns

FALSE if an error occurred


gtk_print_job_get_surface ()

cairo_surface_t *
gtk_print_job_get_surface (GtkPrintJob *job,
                           GError **error);

Gets a cairo surface onto which the pages of the print job should be rendered.

Parameters

job

a GtkPrintJob

 

error

return location for errors, or NULL.

[allow-none]

Returns

the cairo surface of job .

[transfer none]


gtk_print_job_send ()

void
gtk_print_job_send (GtkPrintJob *job,
                    GtkPrintJobCompleteFunc callback,
                    gpointer user_data,
                    GDestroyNotify dnotify);

Sends the print job off to the printer.

Parameters

job

a GtkPrintJob

 

callback

function to call when the job completes or an error occurs

 

user_data

user data that gets passed to callback .

[closure]

dnotify

destroy notify for user_data

 

gtk_print_job_set_track_print_status ()

void
gtk_print_job_set_track_print_status (GtkPrintJob *job,
                                      gboolean track_status);

If track_status is TRUE, the print job will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer.

This function is often implemented using some form of polling, so it should not be enabled unless needed.

Parameters

job

a GtkPrintJob

 

track_status

TRUE to track status after printing

 

gtk_print_job_get_track_print_status ()

gboolean
gtk_print_job_get_track_print_status (GtkPrintJob *job);

Returns wheter jobs will be tracked after printing. For details, see gtk_print_job_set_track_print_status().

Parameters

job

a GtkPrintJob

 

Returns

TRUE if print job status will be reported after printing


gtk_print_job_get_pages ()

GtkPrintPages
gtk_print_job_get_pages (GtkPrintJob *job);

Gets the GtkPrintPages setting for this job.

Parameters

job

a GtkPrintJob

 

Returns

the GtkPrintPages setting


gtk_print_job_set_pages ()

void
gtk_print_job_set_pages (GtkPrintJob *job,
                         GtkPrintPages pages);

Sets the GtkPrintPages setting for this job.

Parameters

job

a GtkPrintJob

 

pages

the GtkPrintPages setting

 

gtk_print_job_get_page_ranges ()

GtkPageRange *
gtk_print_job_get_page_ranges (GtkPrintJob *job,
                               int *n_ranges);

Gets the page ranges for this job.

Parameters

job

a GtkPrintJob

 

n_ranges

return location for the number of ranges.

[out]

Returns

a pointer to an array of GtkPageRange structs.

[array length=n_ranges][transfer none]


gtk_print_job_set_page_ranges ()

void
gtk_print_job_set_page_ranges (GtkPrintJob *job,
                               GtkPageRange *ranges,
                               int n_ranges);

Sets the page ranges for this job.

Parameters

job

a GtkPrintJob

 

ranges

pointer to an array of GtkPageRange structs.

[array length=n_ranges][transfer full]

n_ranges

the length of the ranges array

 

gtk_print_job_get_page_set ()

GtkPageSet
gtk_print_job_get_page_set (GtkPrintJob *job);

Gets the GtkPageSet setting for this job.

Parameters

job

a GtkPrintJob

 

Returns

the GtkPageSet setting


gtk_print_job_set_page_set ()

void
gtk_print_job_set_page_set (GtkPrintJob *job,
                            GtkPageSet page_set);

Sets the GtkPageSet setting for this job.

Parameters

job

a GtkPrintJob

 

page_set

a GtkPageSet setting

 

gtk_print_job_get_num_copies ()

int
gtk_print_job_get_num_copies (GtkPrintJob *job);

Gets the number of copies of this job.

Parameters

job

a GtkPrintJob

 

Returns

the number of copies


gtk_print_job_set_num_copies ()

void
gtk_print_job_set_num_copies (GtkPrintJob *job,
                              int num_copies);

Sets the number of copies for this job.

Parameters

job

a GtkPrintJob

 

num_copies

the number of copies

 

gtk_print_job_get_scale ()

double
gtk_print_job_get_scale (GtkPrintJob *job);

Gets the scale for this job (where 1.0 means unscaled).

Parameters

job

a GtkPrintJob

 

Returns

the scale


gtk_print_job_set_scale ()

void
gtk_print_job_set_scale (GtkPrintJob *job,
                         double scale);

Sets the scale for this job (where 1.0 means unscaled).

Parameters

job

a GtkPrintJob

 

scale

the scale

 

gtk_print_job_get_n_up ()

guint
gtk_print_job_get_n_up (GtkPrintJob *job);

Gets the n-up setting for this job.

Parameters

job

a GtkPrintJob

 

Returns

the n-up setting


gtk_print_job_set_n_up ()

void
gtk_print_job_set_n_up (GtkPrintJob *job,
                        guint n_up);

Sets the n-up setting for this job.

Parameters

job

a GtkPrintJob

 

n_up

the n-up value

 

gtk_print_job_get_n_up_layout ()

GtkNumberUpLayout
gtk_print_job_get_n_up_layout (GtkPrintJob *job);

Gets the n-up layout setting for this job.

Parameters

job

a GtkPrintJob

 

Returns

the n-up layout


gtk_print_job_set_n_up_layout ()

void
gtk_print_job_set_n_up_layout (GtkPrintJob *job,
                               GtkNumberUpLayout layout);

Sets the n-up layout setting for this job.

Parameters

job

a GtkPrintJob

 

layout

the n-up layout setting

 

gtk_print_job_get_rotate ()

gboolean
gtk_print_job_get_rotate (GtkPrintJob *job);

Gets whether the job is printed rotated.

Parameters

job

a GtkPrintJob

 

Returns

whether the job is printed rotated


gtk_print_job_set_rotate ()

void
gtk_print_job_set_rotate (GtkPrintJob *job,
                          gboolean rotate);

Sets whether this job is printed rotated.

Parameters

job

a GtkPrintJob

 

rotate

whether to print rotated

 

gtk_print_job_get_collate ()

gboolean
gtk_print_job_get_collate (GtkPrintJob *job);

Gets whether this job is printed collated.

Parameters

job

a GtkPrintJob

 

Returns

whether the job is printed collated


gtk_print_job_set_collate ()

void
gtk_print_job_set_collate (GtkPrintJob *job,
                           gboolean collate);

Sets whether this job is printed collated.

Parameters

job

a GtkPrintJob

 

collate

whether the job is printed collated

 

gtk_print_job_get_reverse ()

gboolean
gtk_print_job_get_reverse (GtkPrintJob *job);

Gets whether this job is printed reversed.

Parameters

job

a GtkPrintJob

 

Returns

whether the job is printed reversed.


gtk_print_job_set_reverse ()

void
gtk_print_job_set_reverse (GtkPrintJob *job,
                           gboolean reverse);

Sets whether this job is printed reversed.

Parameters

job

a GtkPrintJob

 

reverse

whether the job is printed reversed

 

Types and Values

GtkPrintJob

typedef struct _GtkPrintJob GtkPrintJob;

Property Details

The “page-setup” property

  “page-setup”               GtkPageSetup *

Page Setup.

Owner: GtkPrintJob

Flags: Read / Write / Construct Only


The “printer” property

  “printer”                  GtkPrinter *

Printer to print the job to.

Owner: GtkPrintJob

Flags: Read / Write / Construct Only


The “settings” property

  “settings”                 GtkPrintSettings *

Printer settings.

Owner: GtkPrintJob

Flags: Read / Write / Construct Only


The “title” property

  “title”                    gchar *

Title of the print job.

Owner: GtkPrintJob

Flags: Read / Write / Construct Only

Default value: NULL


The “track-print-status” property

  “track-print-status”       gboolean

TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server.

Owner: GtkPrintJob

Flags: Read / Write

Default value: FALSE

Signal Details

The “status-changed” signal

void
user_function (GtkPrintJob *job,
               gpointer     user_data)

Gets emitted when the status of a job changes. The signal handler can use gtk_print_job_get_status() to obtain the new status.

Parameters

job

the GtkPrintJob object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkPrintUnixDialog.html0000664000175000017500000015536213710700534021755 0ustar mclasenmclasen GtkPrintUnixDialog: GTK 4 Reference Manual

GtkPrintUnixDialog

GtkPrintUnixDialog — A print dialog

Properties

gint current-page Read / Write
gboolean embed-page-setup Read / Write
gboolean has-selection Read / Write
GtkPrintCapabilities manual-capabilities Read / Write
GtkPageSetup * page-setup Read / Write
GtkPrintSettings * print-settings Read / Write
GtkPrinter * selected-printer Read
gboolean support-selection Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkPrintUnixDialog

Implemented Interfaces

GtkPrintUnixDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtkunixprint.h>

Description

GtkPrintUnixDialog implements a print dialog for platforms which don’t provide a native print dialog, like Unix. It can be used very much like any other GTK dialog, at the cost of the portability offered by the high-level printing API

In order to print something with GtkPrintUnixDialog, you need to use gtk_print_unix_dialog_get_selected_printer() to obtain a GtkPrinter object and use it to construct a GtkPrintJob using gtk_print_job_new().

GtkPrintUnixDialog uses the following response values:

GtkPrintUnixDialog as GtkBuildable

The GtkPrintUnixDialog implementation of the GtkBuildable interface exposes its notebook internal children with the name “notebook”.

An example of a GtkPrintUnixDialog UI definition fragment:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<object class="GtkPrintUnixDialog" id="dialog1">
  <child internal-child="notebook">
    <object class="GtkNotebook" id="notebook">
      <child>
        <object type="GtkNotebookPage">
          <property name="tab_expand">False</property>
          <property name="tab_fill">False</property>
          <property name="tab">
            <object class="GtkLabel" id="tablabel">
              <property name="label">Tab label</property>
            </object>
          </property>
          <property name="child">
            <object class="GtkLabel" id="tabcontent">
              <property name="label">Content on notebook tab</property>
            </object>
          </property>
        </object>
      </child>
    </object>
  </child>
</object>


CSS nodes

GtkPrintUnixDialog has a single CSS node with name window. The style classes dialog and print are added.

Functions

gtk_print_unix_dialog_new ()

GtkWidget *
gtk_print_unix_dialog_new (const char *title,
                           GtkWindow *parent);

Creates a new GtkPrintUnixDialog.

Parameters

title

Title of the dialog, or NULL.

[allow-none]

parent

Transient parent of the dialog, or NULL.

[allow-none]

Returns

a new GtkPrintUnixDialog


gtk_print_unix_dialog_set_page_setup ()

void
gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog,
                                      GtkPageSetup *page_setup);

Sets the page setup of the GtkPrintUnixDialog.

Parameters

dialog

a GtkPrintUnixDialog

 

page_setup

a GtkPageSetup

 

gtk_print_unix_dialog_get_page_setup ()

GtkPageSetup *
gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);

Gets the page setup that is used by the GtkPrintUnixDialog.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

the page setup of dialog .

[transfer none]


gtk_print_unix_dialog_set_current_page ()

void
gtk_print_unix_dialog_set_current_page
                               (GtkPrintUnixDialog *dialog,
                                int current_page);

Sets the current page number. If current_page is not -1, this enables the current page choice for the range of pages to print.

Parameters

dialog

a GtkPrintUnixDialog

 

current_page

the current page number.

 

gtk_print_unix_dialog_get_current_page ()

int
gtk_print_unix_dialog_get_current_page
                               (GtkPrintUnixDialog *dialog);

Gets the current page of the GtkPrintUnixDialog.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

the current page of dialog


gtk_print_unix_dialog_set_settings ()

void
gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
                                    GtkPrintSettings *settings);

Sets the GtkPrintSettings for the GtkPrintUnixDialog. Typically, this is used to restore saved print settings from a previous print operation before the print dialog is shown.

Parameters

dialog

a GtkPrintUnixDialog

 

settings

a GtkPrintSettings, or NULL.

[allow-none]

gtk_print_unix_dialog_get_settings ()

GtkPrintSettings *
gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);

Gets a new GtkPrintSettings object that represents the current values in the print dialog. Note that this creates a new object, and you need to unref it if don’t want to keep it.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

a new GtkPrintSettings object with the values from dialog


gtk_print_unix_dialog_get_selected_printer ()

GtkPrinter *
gtk_print_unix_dialog_get_selected_printer
                               (GtkPrintUnixDialog *dialog);

Gets the currently selected printer.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

the currently selected printer.

[transfer none]


gtk_print_unix_dialog_add_custom_tab ()

void
gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog,
                                      GtkWidget *child,
                                      GtkWidget *tab_label);

Adds a custom tab to the print dialog.

Parameters

dialog

a GtkPrintUnixDialog

 

child

the widget to put in the custom tab

 

tab_label

the widget to use as tab label

 

gtk_print_unix_dialog_set_support_selection ()

void
gtk_print_unix_dialog_set_support_selection
                               (GtkPrintUnixDialog *dialog,
                                gboolean support_selection);

Sets whether the print dialog allows user to print a selection.

Parameters

dialog

a GtkPrintUnixDialog

 

support_selection

TRUE to allow print selection

 

gtk_print_unix_dialog_get_support_selection ()

gboolean
gtk_print_unix_dialog_get_support_selection
                               (GtkPrintUnixDialog *dialog);

Gets the value of “support-selection” property.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

whether the application supports print of selection


gtk_print_unix_dialog_set_has_selection ()

void
gtk_print_unix_dialog_set_has_selection
                               (GtkPrintUnixDialog *dialog,
                                gboolean has_selection);

Sets whether a selection exists.

Parameters

dialog

a GtkPrintUnixDialog

 

has_selection

TRUE indicates that a selection exists

 

gtk_print_unix_dialog_get_has_selection ()

gboolean
gtk_print_unix_dialog_get_has_selection
                               (GtkPrintUnixDialog *dialog);

Gets the value of “has-selection” property.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

whether there is a selection


gtk_print_unix_dialog_set_embed_page_setup ()

void
gtk_print_unix_dialog_set_embed_page_setup
                               (GtkPrintUnixDialog *dialog,
                                gboolean embed);

Embed page size combo box and orientation combo box into page setup page.

Parameters

dialog

a GtkPrintUnixDialog

 

embed

embed page setup selection

 

gtk_print_unix_dialog_get_embed_page_setup ()

gboolean
gtk_print_unix_dialog_get_embed_page_setup
                               (GtkPrintUnixDialog *dialog);

Gets the value of “embed-page-setup” property.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

whether there is a selection


gtk_print_unix_dialog_get_page_setup_set ()

gboolean
gtk_print_unix_dialog_get_page_setup_set
                               (GtkPrintUnixDialog *dialog);

Gets the page setup that is used by the GtkPrintUnixDialog.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

whether a page setup was set by user.


gtk_print_unix_dialog_set_manual_capabilities ()

void
gtk_print_unix_dialog_set_manual_capabilities
                               (GtkPrintUnixDialog *dialog,
                                GtkPrintCapabilities capabilities);

This lets you specify the printing capabilities your application supports. For instance, if you can handle scaling the output then you pass GTK_PRINT_CAPABILITY_SCALE. If you don’t pass that, then the dialog will only let you select the scale if the printing system automatically handles scaling.

Parameters

dialog

a GtkPrintUnixDialog

 

capabilities

the printing capabilities of your application

 

gtk_print_unix_dialog_get_manual_capabilities ()

GtkPrintCapabilities
gtk_print_unix_dialog_get_manual_capabilities
                               (GtkPrintUnixDialog *dialog);

Gets the value of “manual-capabilities” property.

Parameters

dialog

a GtkPrintUnixDialog

 

Returns

the printing capabilities

Types and Values

GtkPrintUnixDialog

typedef struct _GtkPrintUnixDialog GtkPrintUnixDialog;

enum GtkPrintCapabilities

An enum for specifying which features the print dialog should offer. If neither GTK_PRINT_CAPABILITY_GENERATE_PDF nor GTK_PRINT_CAPABILITY_GENERATE_PS is specified, GTK+ assumes that all formats are supported.

Members

GTK_PRINT_CAPABILITY_PAGE_SET

Print dialog will offer printing even/odd pages.

 

GTK_PRINT_CAPABILITY_COPIES

Print dialog will allow to print multiple copies.

 

GTK_PRINT_CAPABILITY_COLLATE

Print dialog will allow to collate multiple copies.

 

GTK_PRINT_CAPABILITY_REVERSE

Print dialog will allow to print pages in reverse order.

 

GTK_PRINT_CAPABILITY_SCALE

Print dialog will allow to scale the output.

 

GTK_PRINT_CAPABILITY_GENERATE_PDF

The program will send the document to the printer in PDF format

 

GTK_PRINT_CAPABILITY_GENERATE_PS

The program will send the document to the printer in Postscript format

 

GTK_PRINT_CAPABILITY_PREVIEW

Print dialog will offer a preview

 

GTK_PRINT_CAPABILITY_NUMBER_UP

Print dialog will offer printing multiple pages per sheet

 

GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT

Print dialog will allow to rearrange pages when printing multiple pages per sheet

 

Property Details

The “current-page” property

  “current-page”             gint

The current page in the document.

Owner: GtkPrintUnixDialog

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “embed-page-setup” property

  “embed-page-setup”         gboolean

TRUE if page setup combos are embedded in GtkPrintUnixDialog.

Owner: GtkPrintUnixDialog

Flags: Read / Write

Default value: FALSE


The “has-selection” property

  “has-selection”            gboolean

Whether the application has a selection.

Owner: GtkPrintUnixDialog

Flags: Read / Write

Default value: FALSE


The “manual-capabilities” property

  “manual-capabilities”      GtkPrintCapabilities

Capabilities the application can handle.

Owner: GtkPrintUnixDialog

Flags: Read / Write


The “page-setup” property

  “page-setup”               GtkPageSetup *

The GtkPageSetup to use.

Owner: GtkPrintUnixDialog

Flags: Read / Write


The “print-settings” property

  “print-settings”           GtkPrintSettings *

The GtkPrintSettings used for initializing the dialog.

Owner: GtkPrintUnixDialog

Flags: Read / Write


The “selected-printer” property

  “selected-printer”         GtkPrinter *

The GtkPrinter which is selected.

Owner: GtkPrintUnixDialog

Flags: Read


The “support-selection” property

  “support-selection”        gboolean

Whether the dialog supports selection.

Owner: GtkPrintUnixDialog

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkPageSetupUnixDialog.html0000664000175000017500000003630213710700534022546 0ustar mclasenmclasen GtkPageSetupUnixDialog: GTK 4 Reference Manual

GtkPageSetupUnixDialog

GtkPageSetupUnixDialog — A page setup dialog

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkPageSetupUnixDialog

Implemented Interfaces

GtkPageSetupUnixDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtkunixprint.h>

Description

GtkPageSetupUnixDialog implements a page setup dialog for platforms which don’t provide a native page setup dialog, like Unix. It can be used very much like any other GTK dialog, at the cost of the portability offered by the high-level printing API

Functions

gtk_page_setup_unix_dialog_new ()

GtkWidget *
gtk_page_setup_unix_dialog_new (const char *title,
                                GtkWindow *parent);

Creates a new page setup dialog.

Parameters

title

the title of the dialog, or NULL.

[allow-none]

parent

transient parent of the dialog, or NULL.

[allow-none]

Returns

the new GtkPageSetupUnixDialog


gtk_page_setup_unix_dialog_set_page_setup ()

void
gtk_page_setup_unix_dialog_set_page_setup
                               (GtkPageSetupUnixDialog *dialog,
                                GtkPageSetup *page_setup);

Sets the GtkPageSetup from which the page setup dialog takes its values.

Parameters

dialog

a GtkPageSetupUnixDialog

 

page_setup

a GtkPageSetup

 

gtk_page_setup_unix_dialog_get_page_setup ()

GtkPageSetup *
gtk_page_setup_unix_dialog_get_page_setup
                               (GtkPageSetupUnixDialog *dialog);

Gets the currently selected page setup from the dialog.

Parameters

Returns

the current page setup.

[transfer none]


gtk_page_setup_unix_dialog_set_print_settings ()

void
gtk_page_setup_unix_dialog_set_print_settings
                               (GtkPageSetupUnixDialog *dialog,
                                GtkPrintSettings *print_settings);

Sets the GtkPrintSettings from which the page setup dialog takes its values.

Parameters

dialog

a GtkPageSetupUnixDialog

 

print_settings

a GtkPrintSettings

 

gtk_page_setup_unix_dialog_get_print_settings ()

GtkPrintSettings *
gtk_page_setup_unix_dialog_get_print_settings
                               (GtkPageSetupUnixDialog *dialog);

Gets the current print settings from the dialog.

Parameters

Returns

the current print settings.

[transfer none]

Types and Values

GtkPageSetupUnixDialog

typedef struct _GtkPageSetupUnixDialog GtkPageSetupUnixDialog;
docs/reference/gtk/html/Printing.html0000664000175000017500000000620713710700534020012 0ustar mclasenmclasen Printing: GTK 4 Reference Manual

Printing

GtkPrintOperation — High-level Printing API
GtkPrintContext — Encapsulates context for drawing pages
GtkPrintSettings — Stores print settings
GtkPageSetup — Stores page setup information
GtkPaperSize — Support for named paper sizes
GtkPrinter — Represents a printer
GtkPrintJob — Represents a print job
GtkPrintUnixDialog — A print dialog
GtkPageSetupUnixDialog — A page setup dialog
docs/reference/gtk/html/GtkShortcutsWindow.html0000664000175000017500000003164513710700534022060 0ustar mclasenmclasen GtkShortcutsWindow: GTK 4 Reference Manual

GtkShortcutsWindow

GtkShortcutsWindow — Toplevel which shows help for shortcuts

Properties

gchar * section-name Read / Write
gchar * view-name Read / Write

Signals

void close Action
void search Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkShortcutsWindow

Implemented Interfaces

GtkShortcutsWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

A GtkShortcutsWindow shows brief information about the keyboard shortcuts and gestures of an application. The shortcuts can be grouped, and you can have multiple sections in this window, corresponding to the major modes of your application.

Additionally, the shortcuts can be filtered by the current view, to avoid showing information that is not relevant in the current application context.

The recommended way to construct a GtkShortcutsWindow is with GtkBuilder, by populating a GtkShortcutsWindow with one or more GtkShortcutsSection objects, which contain GtkShortcutsGroups that in turn contain objects of class GtkShortcutsShortcut.

A simple example:

This example has as single section. As you can see, the shortcut groups are arranged in columns, and spread across several pages if there are too many to find on a single page.

The .ui file for this example can be found here.


An example with multiple views:

This example shows a GtkShortcutsWindow that has been configured to show only the shortcuts relevant to the "stopwatch" view.

The .ui file for this example can be found here.


An example with multiple sections:

This example shows a GtkShortcutsWindow with two sections, "Editor Shortcuts" and "Terminal Shortcuts".

The .ui file for this example can be found here.

Functions

Types and Values

struct GtkShortcutsWindow

struct GtkShortcutsWindow;

Property Details

The “section-name” property

  “section-name”             gchar *

The name of the section to show.

This should be the section-name of one of the GtkShortcutsSection objects that are in this shortcuts window.

Owner: GtkShortcutsWindow

Flags: Read / Write

Default value: "internal-search"


The “view-name” property

  “view-name”                gchar *

The view name by which to filter the contents.

This should correspond to the “view” property of some of the GtkShortcutsGroup objects that are inside this shortcuts window.

Set this to NULL to show all groups.

Owner: GtkShortcutsWindow

Flags: Read / Write

Default value: NULL

Signal Details

The “close” signal

void
user_function (GtkShortcutsWindow *shortcutswindow,
               gpointer            user_data)

The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the window.

The default binding for this signal is the Escape key.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “search” signal

void
user_function (GtkShortcutsWindow *shortcutswindow,
               gpointer            user_data)

The ::search signal is a keybinding signal which gets emitted when the user uses a keybinding to start a search.

The default binding for this signal is Control-F.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkShortcutsSection.html0000664000175000017500000002506713710700534022216 0ustar mclasenmclasen GtkShortcutsSection: GTK 4 Reference Manual

GtkShortcutsSection

GtkShortcutsSection — Represents an application mode in a GtkShortcutsWindow

Properties

guint max-height Read / Write
gchar * section-name Read / Write
gchar * title Read / Write
gchar * view-name Read / Write

Signals

gboolean change-current-page Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkBox
                ╰── GtkShortcutsSection

Implemented Interfaces

GtkShortcutsSection implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

A GtkShortcutsSection collects all the keyboard shortcuts and gestures for a major application mode. If your application needs multiple sections, you should give each section a unique “section-name” and a “title” that can be shown in the section selector of the GtkShortcutsWindow.

The “max-height” property can be used to influence how the groups in the section are distributed over pages and columns.

This widget is only meant to be used with GtkShortcutsWindow.

Functions

Types and Values

GtkShortcutsSection

typedef struct _GtkShortcutsSection GtkShortcutsSection;

Property Details

The “max-height” property

  “max-height”               guint

The maximum number of lines to allow per column. This property can be used to influence how the groups in this section are distributed across pages and columns. The default value of 15 should work in most cases.

Owner: GtkShortcutsSection

Flags: Read / Write

Default value: 15


The “section-name” property

  “section-name”             gchar *

A unique name to identify this section among the sections added to the GtkShortcutsWindow. Setting the “section-name” property to this string will make this section shown in the GtkShortcutsWindow.

Owner: GtkShortcutsSection

Flags: Read / Write

Default value: NULL


The “title” property

  “title”                    gchar *

The string to show in the section selector of the GtkShortcutsWindow for this section. If there is only one section, you don't need to set a title, since the section selector will not be shown in this case.

Owner: GtkShortcutsSection

Flags: Read / Write

Default value: NULL


The “view-name” property

  “view-name”                gchar *

A view name to filter the groups in this section by. See “view”.

Applications are expected to use the “view-name” property for this purpose.

Owner: GtkShortcutsSection

Flags: Read / Write

Default value: NULL

Signal Details

The “change-current-page” signal

gboolean
user_function (GtkShortcutsSection *shortcutssection,
               gint                 arg1,
               gpointer             user_data)

Flags: Action

docs/reference/gtk/html/GtkShortcutsGroup.html0000664000175000017500000002222613710700534021700 0ustar mclasenmclasen GtkShortcutsGroup: GTK 4 Reference Manual

GtkShortcutsGroup

GtkShortcutsGroup — Represents a group of shortcuts in a GtkShortcutsWindow

Properties

GtkSizeGroup * accel-size-group Write
guint height Read
gchar * title Read / Write
GtkSizeGroup * title-size-group Write
gchar * view Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkBox
                ╰── GtkShortcutsGroup

Implemented Interfaces

GtkShortcutsGroup implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

A GtkShortcutsGroup represents a group of related keyboard shortcuts or gestures. The group has a title. It may optionally be associated with a view of the application, which can be used to show only relevant shortcuts depending on the application context.

This widget is only meant to be used with GtkShortcutsWindow.

Functions

Types and Values

GtkShortcutsGroup

typedef struct _GtkShortcutsGroup GtkShortcutsGroup;

Property Details

The “accel-size-group” property

  “accel-size-group”         GtkSizeGroup *

The size group for the accelerator portion of shortcuts in this group.

This is used internally by GTK+, and must not be modified by applications.

Owner: GtkShortcutsGroup

Flags: Write


The “height” property

  “height”                   guint

A rough measure for the number of lines in this group.

This is used internally by GTK+, and is not useful for applications.

Owner: GtkShortcutsGroup

Flags: Read

Default value: 1


The “title” property

  “title”                    gchar *

The title for this group of shortcuts.

Owner: GtkShortcutsGroup

Flags: Read / Write

Default value: ""


The “title-size-group” property

  “title-size-group”         GtkSizeGroup *

The size group for the textual portion of shortcuts in this group.

This is used internally by GTK+, and must not be modified by applications.

Owner: GtkShortcutsGroup

Flags: Write


The “view” property

  “view”                     gchar *

An optional view that the shortcuts in this group are relevant for. The group will be hidden if the “view-name” property does not match the view of this group.

Set this to NULL to make the group always visible.

Owner: GtkShortcutsGroup

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/GtkShortcutsShortcut.html0000664000175000017500000004640113710700534022420 0ustar mclasenmclasen GtkShortcutsShortcut: GTK 4 Reference Manual

GtkShortcutsShortcut

GtkShortcutsShortcut — Represents a keyboard shortcut in a GtkShortcutsWindow

Properties

GtkSizeGroup * accel-size-group Write
gchar * accelerator Read / Write
gchar * action-name Read / Write
GtkTextDirection direction Read / Write
GIcon * icon Read / Write
gboolean icon-set Read / Write
GtkShortcutType shortcut-type Read / Write
gchar * subtitle Read / Write
gboolean subtitle-set Read / Write
gchar * title Read / Write
GtkSizeGroup * title-size-group Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkShortcutsShortcut

Implemented Interfaces

GtkShortcutsShortcut implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkShortcutsShortcut represents a single keyboard shortcut or gesture with a short text. This widget is only meant to be used with GtkShortcutsWindow.

Functions

Types and Values

GtkShortcutsShortcut

typedef struct _GtkShortcutsShortcut GtkShortcutsShortcut;

enum GtkShortcutType

GtkShortcutType specifies the kind of shortcut that is being described. More values may be added to this enumeration over time.

Members

GTK_SHORTCUT_ACCELERATOR

The shortcut is a keyboard accelerator. The “accelerator” property will be used.

 

GTK_SHORTCUT_GESTURE_PINCH

The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_STRETCH

The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE

The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE

The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT

The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT

The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE

The shortcut is a gesture. The “icon” property will be used.

 

GTK_SHORTCUT_GESTURE_SWIPE_LEFT

The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.

 

GTK_SHORTCUT_GESTURE_SWIPE_RIGHT

The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.

 

Property Details

The “accel-size-group” property

  “accel-size-group”         GtkSizeGroup *

The size group for the accelerator portion of this shortcut.

This is used internally by GTK+, and must not be modified by applications.

Owner: GtkShortcutsShortcut

Flags: Write


The “accelerator” property

  “accelerator”              gchar *

The accelerator(s) represented by this object. This property is used if “shortcut-type” is set to GTK_SHORTCUT_ACCELERATOR.

The syntax of this property is (an extension of) the syntax understood by gtk_accelerator_parse(). Multiple accelerators can be specified by separating them with a space, but keep in mind that the available width is limited. It is also possible to specify ranges of shortcuts, using ... between the keys. Sequences of keys can be specified using a + or & between the keys.

Examples:

  • A single shortcut: <ctl><alt>delete

  • Two alternative shortcuts: <shift>a Home

  • A range of shortcuts: <alt>1...<alt>9

  • Several keys pressed together: Control_L&Control_R

  • A sequence of shortcuts or keys: <ctl>c+<ctl>x

Use + instead of & when the keys may (or have to be) pressed sequentially (e.g use t+t for 'press the t key twice').

Note that <, > and & need to be escaped as <, > and & when used in .ui files.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: NULL


The “action-name” property

  “action-name”              gchar *

A detailed action name. If this is set for a shortcut of type GTK_SHORTCUT_ACCELERATOR, then GTK+ will use the accelerators that are associated with the action via gtk_application_set_accels_for_action(), and setting “accelerator” is not necessary.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: NULL


The “direction” property

  “direction”                GtkTextDirection

The text direction for which this shortcut is active. If the shortcut is used regardless of the text direction, set this property to GTK_TEXT_DIR_NONE.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: GTK_TEXT_DIR_NONE


The “icon” property

  “icon”                     GIcon *

An icon to represent the shortcut or gesture. This property is used if “shortcut-type” is set to GTK_SHORTCUT_GESTURE. For the other predefined gesture types, GTK+ provides an icon on its own.

Owner: GtkShortcutsShortcut

Flags: Read / Write


The “icon-set” property

  “icon-set”                 gboolean

TRUE if an icon has been set.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: FALSE


The “shortcut-type” property

  “shortcut-type”            GtkShortcutType

The type of shortcut that is represented.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: GTK_SHORTCUT_ACCELERATOR


The “subtitle” property

  “subtitle”                 gchar *

The subtitle for the shortcut or gesture.

This is typically used for gestures and should be a short, one-line text that describes the gesture itself. For the predefined gesture types, GTK+ provides a subtitle on its own.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: ""


The “subtitle-set” property

  “subtitle-set”             gboolean

TRUE if a subtitle has been set.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: FALSE


The “title” property

  “title”                    gchar *

The textual description for the shortcut or gesture represented by this object. This should be a short string that can fit in a single line.

Owner: GtkShortcutsShortcut

Flags: Read / Write

Default value: ""


The “title-size-group” property

  “title-size-group”         GtkSizeGroup *

The size group for the textual portion of this shortcut.

This is used internally by GTK+, and must not be modified by applications.

Owner: GtkShortcutsShortcut

Flags: Write

docs/reference/gtk/html/GtkShortcutLabel.html0000664000175000017500000003671013710700534021443 0ustar mclasenmclasen GtkShortcutLabel: GTK 4 Reference Manual

GtkShortcutLabel

GtkShortcutLabel — Displays a keyboard shortcut

Properties

gchar * accelerator Read / Write
gchar * disabled-text Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkShortcutLabel

Implemented Interfaces

GtkShortcutLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkShortcutLabel is a widget that represents a single keyboard shortcut or gesture in the user interface.

Functions

gtk_shortcut_label_new ()

GtkWidget *
gtk_shortcut_label_new (const char *accelerator);

Creates a new GtkShortcutLabel with accelerator set.

Parameters

accelerator

the initial accelerator

 

Returns

a newly-allocated GtkShortcutLabel.

[transfer full]


gtk_shortcut_label_get_accelerator ()

const char *
gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self);

Retrieves the current accelerator of self .

Parameters

self

a GtkShortcutLabel

 

Returns

the current accelerator.

[transfer none][nullable]


gtk_shortcut_label_set_accelerator ()

void
gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self,
                                    const char *accelerator);

Sets the accelerator to be displayed by self .

Parameters

self

a GtkShortcutLabel

 

accelerator

the new accelerator

 

gtk_shortcut_label_get_disabled_text ()

const char *
gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self);

Retrieves the text that is displayed when no accelerator is set.

Parameters

self

a GtkShortcutLabel

 

Returns

the current text displayed when no accelerator is set.

[transfer none][nullable]


gtk_shortcut_label_set_disabled_text ()

void
gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self,
                                      const char *disabled_text);

Sets the text to be displayed by self when no accelerator is set.

Parameters

self

a GtkShortcutLabel

 

disabled_text

the text to be displayed when no accelerator is set

 

Types and Values

GtkShortcutLabel

typedef struct _GtkShortcutLabel GtkShortcutLabel;

Property Details

The “accelerator” property

  “accelerator”              gchar *

The accelerator that self displays. See “accelerator” for the accepted syntax.

Owner: GtkShortcutLabel

Flags: Read / Write

Default value: NULL


The “disabled-text” property

  “disabled-text”            gchar *

The text that is displayed when no accelerator is set.

Owner: GtkShortcutLabel

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/ShortcutsOverview.html0000664000175000017500000000524413710700534021745 0ustar mclasenmclasen Shortcuts Overview: GTK 4 Reference Manual

Shortcuts Overview

GtkShortcutsWindow — Toplevel which shows help for shortcuts
GtkShortcutsSection — Represents an application mode in a GtkShortcutsWindow
GtkShortcutsGroup — Represents a group of shortcuts in a GtkShortcutsWindow
GtkShortcutsShortcut — Represents a keyboard shortcut in a GtkShortcutsWindow
GtkShortcutLabel — Displays a keyboard shortcut
docs/reference/gtk/html/GtkFlattenListModel.html0000664000175000017500000003312013710700533022071 0ustar mclasenmclasen GtkFlattenListModel: GTK 4 Reference Manual

GtkFlattenListModel

GtkFlattenListModel — A list model that flattens a list of lists

Properties

GListModel * model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFlattenListModel

Implemented Interfaces

GtkFlattenListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkFlattenListModel is a list model that takes a list model containing list models and flattens it into a single model.

Another term for this is concatenation: GtkFlattenListModel takes a list of lists and concatenates them into a single list.

Functions

gtk_flatten_list_model_new ()

GtkFlattenListModel *
gtk_flatten_list_model_new (GListModel *model);

Creates a new GtkFlattenListModel that flattens list .

Parameters

model

the model to be flattened.

[nullable][transfer full]

Returns

a new GtkFlattenListModel


gtk_flatten_list_model_set_model ()

void
gtk_flatten_list_model_set_model (GtkFlattenListModel *self,
                                  GListModel *model);

Sets a new model to be flattened.

Parameters

self

a GtkFlattenListModel

 

model

the new model or NULL.

[nullable][transfer none]

gtk_flatten_list_model_get_model ()

GListModel *
gtk_flatten_list_model_get_model (GtkFlattenListModel *self);

Gets the model set via gtk_flatten_list_model_set_model().

Parameters

Returns

The model flattened by self .

[nullable][transfer none]


gtk_flatten_list_model_get_model_for_item ()

GListModel *
gtk_flatten_list_model_get_model_for_item
                               (GtkFlattenListModel *self,
                                guint position);

Returns the model containing the item at the given position.

Parameters

self

a GtkFlattenListModel

 

position

a position

 

Returns

the model containing the item at position .

[transfer none]

Types and Values

GtkFlattenListModel

typedef struct _GtkFlattenListModel GtkFlattenListModel;

Property Details

The “model” property

  “model”                    GListModel *

The model being flattened

Owner: GtkFlattenListModel

Flags: Read / Write

See Also

GListModel

docs/reference/gtk/html/GtkFontChooserWidget.html0000664000175000017500000002113413710700533022256 0ustar mclasenmclasen GtkFontChooserWidget: GTK 4 Reference Manual

GtkFontChooserWidget

GtkFontChooserWidget — A widget for selecting fonts

Properties

GAction * tweak-action Read

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFontChooserWidget

Implemented Interfaces

GtkFontChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFontChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkFontChooserWidget widget lists the available fonts, styles and sizes, allowing the user to select a font. It is used in the GtkFontChooserDialog widget to provide a dialog box for selecting fonts.

To set the font which is initially selected, use gtk_font_chooser_set_font() or gtk_font_chooser_set_font_desc().

To get the selected font use gtk_font_chooser_get_font() or gtk_font_chooser_get_font_desc().

To change the text which is shown in the preview area, use gtk_font_chooser_set_preview_text().

CSS nodes

GtkFontChooserWidget has a single CSS node with name fontchooser.

Functions

gtk_font_chooser_widget_new ()

GtkWidget *
gtk_font_chooser_widget_new (void);

Creates a new GtkFontChooserWidget.

Returns

a new GtkFontChooserWidget

Types and Values

GtkFontChooserWidget

typedef struct _GtkFontChooserWidget GtkFontChooserWidget;

Property Details

The “tweak-action” property

  “tweak-action”             GAction *

A toggle action that can be used to switch to the tweak page of the font chooser widget, which lets the user tweak the OpenType features and variation axes of the selected font.

The action will be enabled or disabled depending on whether the selected font has any features or axes.

Owner: GtkFontChooserWidget

Flags: Read

docs/reference/gtk/html/GtkGestureClick.html0000664000175000017500000003644513710700534021261 0ustar mclasenmclasen GtkGestureClick: GTK 4 Reference Manual

GtkGestureClick

GtkGestureClick — Multipress gesture

Signals

void pressed Run Last
void released Run Last
void stopped Run Last
void unpaired-release Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureClick

Includes

#include <gtk/gtk.h>

Description

GtkGestureClick is a GtkGesture implementation able to recognize multiple clicks on a nearby zone, which can be listened for through the “pressed” signal. Whenever time or distance between clicks exceed the GTK+ defaults, “stopped” is emitted, and the click counter is reset.

Callers may also restrict the area that is considered valid for a >1 touch/button press through gtk_gesture_click_set_area(), so any click happening outside that area is considered to be a first click of its own.

Functions

gtk_gesture_click_new ()

GtkGesture *
gtk_gesture_click_new (void);

Returns a newly created GtkGesture that recognizes single and multiple presses.

Returns

a newly created GtkGestureClick

Types and Values

GtkGestureClick

typedef struct _GtkGestureClick GtkGestureClick;

Signal Details

The “pressed” signal

void
user_function (GtkGestureClick *gesture,
               gint             n_press,
               gdouble          x,
               gdouble          y,
               gpointer         user_data)

This signal is emitted whenever a button or touch press happens.

Parameters

gesture

the object which received the signal

 

n_press

how many touch/button presses happened with this one

 

x

The X coordinate, in widget allocation coordinates

 

y

The Y coordinate, in widget allocation coordinates

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “released” signal

void
user_function (GtkGestureClick *gesture,
               gint             n_press,
               gdouble          x,
               gdouble          y,
               gpointer         user_data)

This signal is emitted when a button or touch is released. n_press will report the number of press that is paired to this event, note that “stopped” may have been emitted between the press and its release, n_press will only start over at the next press.

Parameters

gesture

the object which received the signal

 

n_press

number of press that is paired with this release

 

x

The X coordinate, in widget allocation coordinates

 

y

The Y coordinate, in widget allocation coordinates

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “stopped” signal

void
user_function (GtkGestureClick *gesture,
               gpointer         user_data)

This signal is emitted whenever any time/distance threshold has been exceeded.

Parameters

gesture

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “unpaired-release” signal

void
user_function (GtkGestureClick  *gesture,
               gdouble           x,
               gdouble           y,
               guint             button,
               GdkEventSequence *sequence,
               gpointer          user_data)

This signal is emitted whenever the gesture receives a release event that had no previous corresponding press. Due to implicit grabs, this can only happen on situations where input is grabbed elsewhere mid-press or the pressed widget voluntarily relinquishes its implicit grab.

Parameters

gesture

the object which received the signal

 

x

X coordinate of the event

 

y

Y coordinate of the event

 

button

Button being released

 

sequence

Sequence being released

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkIMContextSimple.html0000664000175000017500000002546713710700534021723 0ustar mclasenmclasen GtkIMContextSimple: GTK 4 Reference Manual

GtkIMContextSimple

GtkIMContextSimple — An input method context supporting table-based input methods

Types and Values

Object Hierarchy

    GObject
    ╰── GtkIMContext
        ╰── GtkIMContextSimple

Includes

#include <gtk/gtk.h>

Description

GtkIMContextSimple is a simple input method context supporting table-based input methods. It has a built-in table of compose sequences that is derived from the X11 Compose files.

GtkIMContextSimple reads additional compose sequences from the first of the following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). The syntax of these files is described in the Compose(5) manual page.

Unicode characters

GtkIMContextSimple also supports numeric entry of Unicode characters by typing Ctrl-Shift-u, followed by a hexadecimal Unicode codepoint. For example, Ctrl-Shift-u 1 2 3 Enter yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ.

Functions

gtk_im_context_simple_new ()

GtkIMContext *
gtk_im_context_simple_new (void);

Creates a new GtkIMContextSimple.

Returns

a new GtkIMContextSimple.


gtk_im_context_simple_add_table ()

void
gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple,
                                 guint16 *data,
                                 int max_seq_len,
                                 int n_seqs);

Adds an additional table to search to the input context. Each row of the table consists of max_seq_len key symbols followed by two guint16 interpreted as the high and low words of a gunicode value. Tables are searched starting from the last added.

The table must be sorted in dictionary order on the numeric value of the key symbol fields. (Values beyond the length of the sequence should be zero.)

[skip]

Parameters

context_simple

A GtkIMContextSimple

 

data

the table.

[array]

max_seq_len

Maximum length of a sequence in the table (cannot be greater than GTK_MAX_COMPOSE_LEN)

 

n_seqs

number of sequences in the table

 

gtk_im_context_simple_add_compose_file ()

void
gtk_im_context_simple_add_compose_file
                               (GtkIMContextSimple *context_simple,
                                const char *compose_file);

Adds an additional table from the X11 compose file.

Parameters

context_simple

A GtkIMContextSimple

 

compose_file

The path of compose file

 

Types and Values

struct GtkIMContextSimple

struct GtkIMContextSimple;

GTK_MAX_COMPOSE_LEN

#define GTK_MAX_COMPOSE_LEN 7

The maximum length of sequences in compose tables.

docs/reference/gtk/html/GtkIMMulticontext.html0000664000175000017500000002027613710700534021615 0ustar mclasenmclasen GtkIMMulticontext: GTK 4 Reference Manual

GtkIMMulticontext

GtkIMMulticontext — An input method context supporting multiple, loadable input methods

Types and Values

Object Hierarchy

    GObject
    ╰── GtkIMContext
        ╰── GtkIMMulticontext

Includes

#include <gtk/gtk.h>

Description

Functions

gtk_im_multicontext_new ()

GtkIMContext *
gtk_im_multicontext_new (void);

Creates a new GtkIMMulticontext.

Returns

a new GtkIMMulticontext.


gtk_im_multicontext_get_context_id ()

const char *
gtk_im_multicontext_get_context_id (GtkIMMulticontext *context);

Gets the id of the currently active delegate of the context .

Parameters

context

a GtkIMMulticontext

 

Returns

the id of the currently active delegate


gtk_im_multicontext_set_context_id ()

void
gtk_im_multicontext_set_context_id (GtkIMMulticontext *context,
                                    const char *context_id);

Sets the context id for context .

This causes the currently active delegate of context to be replaced by the delegate corresponding to the new context id.

Parameters

context

a GtkIMMulticontext

 

context_id

the id to use

 

Types and Values

struct GtkIMMulticontext

struct GtkIMMulticontext;
docs/reference/gtk/html/GtkSizeGroup.html0000664000175000017500000005724713710700534020627 0ustar mclasenmclasen GtkSizeGroup: GTK 4 Reference Manual

GtkSizeGroup

GtkSizeGroup — Grouping widgets so they request the same size

Properties

GtkSizeGroupMode mode Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSizeGroup

Implemented Interfaces

GtkSizeGroup implements GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkSizeGroup provides a mechanism for grouping a number of widgets together so they all request the same amount of space. This is typically useful when you want a column of widgets to have the same size, but you can’t use a GtkGrid widget.

In detail, the size requested for each widget in a GtkSizeGroup is the maximum of the sizes that would have been requested for each widget in the size group if they were not in the size group. The mode of the size group (see gtk_size_group_set_mode()) determines whether this applies to the horizontal size, the vertical size, or both sizes.

Note that size groups only affect the amount of space requested, not the size that the widgets finally receive. If you want the widgets in a GtkSizeGroup to actually be the same size, you need to pack them in such a way that they get the size they request and not more. For example, if you are packing your widgets into a table, you would not include the GTK_FILL flag.

GtkSizeGroup objects are referenced by each widget in the size group, so once you have added all widgets to a GtkSizeGroup, you can drop the initial reference to the size group with g_object_unref(). If the widgets in the size group are subsequently destroyed, then they will be removed from the size group and drop their references on the size group; when all widgets have been removed, the size group will be freed.

Widgets can be part of multiple size groups; GTK+ will compute the horizontal size of a widget from the horizontal requisition of all widgets that can be reached from the widget by a chain of size groups of type GTK_SIZE_GROUP_HORIZONTAL or GTK_SIZE_GROUP_BOTH, and the vertical size from the vertical requisition of all widgets that can be reached from the widget by a chain of size groups of type GTK_SIZE_GROUP_VERTICAL or GTK_SIZE_GROUP_BOTH.

Note that only non-contextual sizes of every widget are ever consulted by size groups (since size groups have no knowledge of what size a widget will be allocated in one dimension, it cannot derive how much height a widget will receive for a given width). When grouping widgets that trade height for width in mode GTK_SIZE_GROUP_VERTICAL or GTK_SIZE_GROUP_BOTH: the height for the minimum width will be the requested height for all widgets in the group. The same is of course true when horizontally grouping width for height widgets.

Widgets that trade height-for-width should set a reasonably large minimum width by way of “width-chars” for instance. Widgets with static sizes as well as widgets that grow (such as ellipsizing text) need no such considerations.

GtkSizeGroup as GtkBuildable

Size groups can be specified in a UI definition by placing an <object> element with class="GtkSizeGroup" somewhere in the UI definition. The widgets that belong to the size group are specified by a <widgets> element that may contain multiple <widget> elements, one for each member of the size group. The ”name” attribute gives the id of the widget.

An example of a UI definition fragment with GtkSizeGroup:

1
2
3
4
5
6
7
<object class="GtkSizeGroup">
  <property name="mode">horizontal</property>
  <widgets>
    <widget name="radio1"/>
    <widget name="radio2"/>
  </widgets>
</object>

Functions

gtk_size_group_new ()

GtkSizeGroup *
gtk_size_group_new (GtkSizeGroupMode mode);

Create a new GtkSizeGroup.

Parameters

mode

the mode for the new size group.

 

Returns

a newly created GtkSizeGroup


gtk_size_group_set_mode ()

void
gtk_size_group_set_mode (GtkSizeGroup *size_group,
                         GtkSizeGroupMode mode);

Sets the GtkSizeGroupMode of the size group. The mode of the size group determines whether the widgets in the size group should all have the same horizontal requisition (GTK_SIZE_GROUP_HORIZONTAL) all have the same vertical requisition (GTK_SIZE_GROUP_VERTICAL), or should all have the same requisition in both directions (GTK_SIZE_GROUP_BOTH).

Parameters

size_group

a GtkSizeGroup

 

mode

the mode to set for the size group.

 

gtk_size_group_get_mode ()

GtkSizeGroupMode
gtk_size_group_get_mode (GtkSizeGroup *size_group);

Gets the current mode of the size group. See gtk_size_group_set_mode().

Parameters

size_group

a GtkSizeGroup

 

Returns

the current mode of the size group.


gtk_size_group_add_widget ()

void
gtk_size_group_add_widget (GtkSizeGroup *size_group,
                           GtkWidget *widget);

Adds a widget to a GtkSizeGroup. In the future, the requisition of the widget will be determined as the maximum of its requisition and the requisition of the other widgets in the size group. Whether this applies horizontally, vertically, or in both directions depends on the mode of the size group. See gtk_size_group_set_mode().

When the widget is destroyed or no longer referenced elsewhere, it will be removed from the size group.

Parameters

size_group

a GtkSizeGroup

 

widget

the GtkWidget to add

 

gtk_size_group_remove_widget ()

void
gtk_size_group_remove_widget (GtkSizeGroup *size_group,
                              GtkWidget *widget);

Removes a widget from a GtkSizeGroup.

Parameters

size_group

a GtkSizeGroup

 

widget

the GtkWidget to remove

 

gtk_size_group_get_widgets ()

GSList *
gtk_size_group_get_widgets (GtkSizeGroup *size_group);

Returns the list of widgets associated with size_group .

Parameters

size_group

a GtkSizeGroup

 

Returns

a GSList of widgets. The list is owned by GTK+ and should not be modified.

[element-type GtkWidget][transfer none]

Types and Values

struct GtkSizeGroup

struct GtkSizeGroup;

enum GtkSizeGroupMode

The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets.

Members

GTK_SIZE_GROUP_NONE

group has no effect

 

GTK_SIZE_GROUP_HORIZONTAL

group affects horizontal requisition

 

GTK_SIZE_GROUP_VERTICAL

group affects vertical requisition

 

GTK_SIZE_GROUP_BOTH

group affects both horizontal and vertical requisition

 

Property Details

The “mode” property

  “mode”                     GtkSizeGroupMode

The directions in which the size group affects the requested sizes of its component widgets.

Owner: GtkSizeGroup

Flags: Read / Write

Default value: GTK_SIZE_GROUP_HORIZONTAL

docs/reference/gtk/html/GtkSnapshot.html0000664000175000017500000030053613710700534020467 0ustar mclasenmclasen GtkSnapshot: GTK 4 Reference Manual

GtkSnapshot

GtkSnapshot — Auxiliary object for snapshots

Functions

GtkSnapshot * gtk_snapshot_new ()
GskRenderNode * gtk_snapshot_to_node ()
GdkPaintable * gtk_snapshot_to_paintable ()
GskRenderNode * gtk_snapshot_free_to_node ()
GdkPaintable * gtk_snapshot_free_to_paintable ()
void gtk_snapshot_push_opacity ()
void gtk_snapshot_push_color_matrix ()
void gtk_snapshot_push_repeat ()
void gtk_snapshot_push_clip ()
void gtk_snapshot_push_rounded_clip ()
void gtk_snapshot_push_cross_fade ()
void gtk_snapshot_push_blend ()
void gtk_snapshot_push_blur ()
void gtk_snapshot_push_shadow ()
void gtk_snapshot_push_debug ()
void gtk_snapshot_pop ()
void gtk_snapshot_save ()
void gtk_snapshot_restore ()
void gtk_snapshot_transform ()
void gtk_snapshot_transform_matrix ()
void gtk_snapshot_translate ()
void gtk_snapshot_translate_3d ()
void gtk_snapshot_rotate ()
void gtk_snapshot_rotate_3d ()
void gtk_snapshot_scale ()
void gtk_snapshot_scale_3d ()
void gtk_snapshot_perspective ()
void gtk_snapshot_append_node ()
cairo_t * gtk_snapshot_append_cairo ()
void gtk_snapshot_append_texture ()
void gtk_snapshot_append_color ()
void gtk_snapshot_append_layout ()
void gtk_snapshot_append_linear_gradient ()
void gtk_snapshot_append_repeating_linear_gradient ()
void gtk_snapshot_append_border ()
void gtk_snapshot_append_inset_shadow ()
void gtk_snapshot_append_outset_shadow ()
void gtk_snapshot_render_background ()
void gtk_snapshot_render_frame ()
void gtk_snapshot_render_focus ()
void gtk_snapshot_render_layout ()
void gtk_snapshot_render_insertion_cursor ()

Types and Values

typedef GtkSnapshot

Object Hierarchy

    GObject
    ╰── GdkSnapshot
        ╰── GtkSnapshot

Includes

#include <gtk/gtk.h>

Description

GtkSnapshot is an auxiliary object that assists in creating GskRenderNodes in the GdkPaintableInterface.snapshot() vfunc. It functions in a similar way to a cairo context, and maintains a stack of render nodes and their associated transformations.

The node at the top of the stack is the the one that gtk_snapshot_append_… functions operate on. Use the gtk_snapshot_push_… functions and gtk_snapshot_pop() to change the current node.

The typical way to obtain a GtkSnapshot object is as an argument to the GtkWidgetClass.snapshot() vfunc. If you need to create your own GtkSnapshot, use gtk_snapshot_new().

Functions

gtk_snapshot_new ()

GtkSnapshot *
gtk_snapshot_new (void);

Creates a new GtkSnapshot.

Returns

a newly-allocated GtkSnapshot


gtk_snapshot_to_node ()

GskRenderNode *
gtk_snapshot_to_node (GtkSnapshot *snapshot);

Returns the render node that was constructed by snapshot . After calling this function, it is no longer possible to add more nodes to snapshot . The only function that should be called after this is g_object_unref().

Parameters

snapshot

a GtkSnapshot

 

Returns

the constructed GskRenderNode.

[transfer full]


gtk_snapshot_to_paintable ()

GdkPaintable *
gtk_snapshot_to_paintable (GtkSnapshot *snapshot,
                           const graphene_size_t *size);

Returns a paintable encapsulating the render node that was constructed by snapshot . After calling this function, it is no longer possible to add more nodes to snapshot . The only function that should be called after this is g_object_unref().

Parameters

snapshot

a GtkSnapshot

 

size

The size of the resulting paintable or NULL to use the bounds of the snapshot.

[allow-none]

Returns

a new GdkPaintable.

[transfer full]


gtk_snapshot_free_to_node ()

GskRenderNode *
gtk_snapshot_free_to_node (GtkSnapshot *snapshot);

Returns the node that was constructed by snapshot and frees snapshot .

[skip]

Parameters

snapshot

a GtkSnapshot.

[transfer full]

Returns

a newly-created GskRenderNode.

[transfer full]


gtk_snapshot_free_to_paintable ()

GdkPaintable *
gtk_snapshot_free_to_paintable (GtkSnapshot *snapshot,
                                const graphene_size_t *size);

Returns a paintable for the node that was constructed by snapshot and frees snapshot .

[skip]

Parameters

snapshot

a GtkSnapshot.

[transfer full]

size

The size of the resulting paintable or NULL to use the bounds of the snapshot.

[allow-none]

Returns

a newly-created GdkPaintable.

[transfer full]


gtk_snapshot_push_opacity ()

void
gtk_snapshot_push_opacity (GtkSnapshot *snapshot,
                           double opacity);

Modifies the opacity of an image.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

opacity

the opacity to use

 

gtk_snapshot_push_color_matrix ()

void
gtk_snapshot_push_color_matrix (GtkSnapshot *snapshot,
                                const graphene_matrix_t *color_matrix,
                                const graphene_vec4_t *color_offset);

Modifies the colors of an image by applying an affine transformation in RGB space.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

color_matrix

the color matrix to use

 

color_offset

the color offset to use

 

gtk_snapshot_push_repeat ()

void
gtk_snapshot_push_repeat (GtkSnapshot *snapshot,
                          const graphene_rect_t *bounds,
                          const graphene_rect_t *child_bounds);

Creates a node that repeats the child node.

The child is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

bounds

the bounds within which to repeat

 

child_bounds

the bounds of the child or NULL to use the full size of the collected child node.

[nullable]

gtk_snapshot_push_clip ()

void
gtk_snapshot_push_clip (GtkSnapshot *snapshot,
                        const graphene_rect_t *bounds);

Clips an image to a rectangle.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

bounds

the rectangle to clip to

 

gtk_snapshot_push_rounded_clip ()

void
gtk_snapshot_push_rounded_clip (GtkSnapshot *snapshot,
                                const GskRoundedRect *bounds);

Clips an image to a rounded rectangle.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

bounds

the rounded rectangle to clip to

 

gtk_snapshot_push_cross_fade ()

void
gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot,
                              double progress);

Snapshots a cross-fade operation between two images with the given progress .

Until the first call to gtk_snapshot_pop(), the start image will be snapshot. After that call, the end image will be recorded until the second call to gtk_snapshot_pop().

Calling this function requires 2 calls to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

progress

progress between 0.0 and 1.0

 

gtk_snapshot_push_blend ()

void
gtk_snapshot_push_blend (GtkSnapshot *snapshot,
                         GskBlendMode blend_mode);

Blends together 2 images with the given blend mode.

Until the first call to gtk_snapshot_pop(), the bottom image for the blend operation will be recorded. After that call, the top image to be blended will be recorded until the second call to gtk_snapshot_pop().

Calling this function requires 2 subsequent calls to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

blend_mode

blend mode to use

 

gtk_snapshot_push_blur ()

void
gtk_snapshot_push_blur (GtkSnapshot *snapshot,
                        double radius);

Blurs an image.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

radius

the blur radius to use

 

gtk_snapshot_push_shadow ()

void
gtk_snapshot_push_shadow (GtkSnapshot *snapshot,
                          const GskShadow *shadow,
                          gsize n_shadows);

Applies a shadow to an image.

The image is recorded until the next call to gtk_snapshot_pop().

Parameters

snapshot

a GtkSnapshot

 

shadow

the first shadow specification

 

n_shadows

number of shadow specifications

 

gtk_snapshot_push_debug ()

void
gtk_snapshot_push_debug (GtkSnapshot *snapshot,
                         const char *message,
                         ...);

Inserts a debug node with a message. Debug nodes don't affect the rendering at all, but can be helpful in identifying parts of a render node tree dump, for example in the GTK inspector.

Parameters

snapshot

a GtkSnapshot

 

message

a printf-style format string

 

...

arguments for message

 

gtk_snapshot_pop ()

void
gtk_snapshot_pop (GtkSnapshot *snapshot);

Removes the top element from the stack of render nodes, and appends it to the node underneath it.

Parameters

snapshot

a GtkSnapshot

 

gtk_snapshot_save ()

void
gtk_snapshot_save (GtkSnapshot *snapshot);

Makes a copy of the current state of snapshot and saves it on an internal stack of saved states for snapshot . When gtk_snapshot_restore() is called, snapshot will be restored to the saved state. Multiple calls to gtk_snapshot_save() and gtk_snapshot_restore() can be nested; each call to gtk_snapshot_restore() restores the state from the matching paired gtk_snapshot_save().

It is necessary to clear all saved states with corresponding calls to gtk_snapshot_restore().

Parameters

snapshot

a GtkSnapshot

 

gtk_snapshot_restore ()

void
gtk_snapshot_restore (GtkSnapshot *snapshot);

Restores snapshot to the state saved by a preceding call to gtk_snapshot_save() and removes that state from the stack of saved states.

Parameters

snapshot

a GtkSnapshot

 

gtk_snapshot_transform ()

void
gtk_snapshot_transform (GtkSnapshot *snapshot,
                        GskTransform *transform);

Transforms snapshot 's coordinate system with the given transform .

Parameters

snapshot

a GtkSnapshot

 

transform

the transform to apply.

[allow-none]

gtk_snapshot_transform_matrix ()

void
gtk_snapshot_transform_matrix (GtkSnapshot *snapshot,
                               const graphene_matrix_t *matrix);

Transforms snapshot 's coordinate system with the given matrix .

Parameters

snapshot

a GtkSnapshot

 

matrix

the matrix to multiply the transform with

 

gtk_snapshot_translate ()

void
gtk_snapshot_translate (GtkSnapshot *snapshot,
                        const graphene_point_t *point);

Translates snapshot 's coordinate system by point in 2-dimensional space.

Parameters

snapshot

a GtkSnapshot

 

point

the point to translate the snapshot by

 

gtk_snapshot_translate_3d ()

void
gtk_snapshot_translate_3d (GtkSnapshot *snapshot,
                           const graphene_point3d_t *point);

Translates snapshot 's coordinate system by point .

Parameters

snapshot

a GtkSnapshot

 

point

the point to translate the snapshot by

 

gtk_snapshot_rotate ()

void
gtk_snapshot_rotate (GtkSnapshot *snapshot,
                     float angle);

Rotates @snapshot 's coordinate system by angle degrees in 2D space - or in 3D speak, rotates around the z axis.

Parameters

snapshot

a GtkSnapshot

 

angle

the rotation angle, in degrees (clockwise)

 

gtk_snapshot_rotate_3d ()

void
gtk_snapshot_rotate_3d (GtkSnapshot *snapshot,
                        float angle,
                        const graphene_vec3_t *axis);

Rotates snapshot 's coordinate system by angle degrees around axis .

For a rotation in 2D space, use gsk_transform_rotate().

Parameters

snapshot

a GtkSnapshot

 

angle

the rotation angle, in degrees (clockwise)

 

axis

The rotation axis

 

gtk_snapshot_scale ()

void
gtk_snapshot_scale (GtkSnapshot *snapshot,
                    float factor_x,
                    float factor_y);

Scales snapshot 's coordinate system in 2-dimensional space by the given factors.

Use gtk_snapshot_scale_3d() to scale in all 3 dimensions.

Parameters

snapshot

a GtkSnapshot

 

factor_x

scaling factor on the X axis

 

factor_y

scaling factor on the Y axis

 

gtk_snapshot_scale_3d ()

void
gtk_snapshot_scale_3d (GtkSnapshot *snapshot,
                       float factor_x,
                       float factor_y,
                       float factor_z);

Scales snapshot 's coordinate system by the given factors.

Parameters

snapshot

a GtkSnapshot

 

factor_x

scaling factor on the X axis

 

factor_y

scaling factor on the Y axis

 

factor_z

scaling factor on the Z axis

 

gtk_snapshot_perspective ()

void
gtk_snapshot_perspective (GtkSnapshot *snapshot,
                          float depth);

Applies a perspective projection transform.

See gsk_transform_perspective() for a discussion on the details.

Parameters

snapshot

a GtkSnapshot

 

depth

distance of the z=0 plane

 

gtk_snapshot_append_node ()

void
gtk_snapshot_append_node (GtkSnapshot *snapshot,
                          GskRenderNode *node);

Appends node to the current render node of snapshot , without changing the current node. If snapshot does not have a current node yet, node will become the initial node.

Parameters

snapshot

a GtkSnapshot

 

node

a GskRenderNode

 

gtk_snapshot_append_cairo ()

cairo_t *
gtk_snapshot_append_cairo (GtkSnapshot *snapshot,
                           const graphene_rect_t *bounds);

Creates a new render node and appends it to the current render node of snapshot , without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

bounds

the bounds for the new node

 

Returns

a cairo_t suitable for drawing the contents of the newly created render node


gtk_snapshot_append_texture ()

void
gtk_snapshot_append_texture (GtkSnapshot *snapshot,
                             GdkTexture *texture,
                             const graphene_rect_t *bounds);

Creates a new render node drawing the texture into the given bounds and appends it to the current render node of snapshot .

Parameters

snapshot

a GtkSnapshot

 

texture

the GdkTexture to render

 

bounds

the bounds for the new node

 

gtk_snapshot_append_color ()

void
gtk_snapshot_append_color (GtkSnapshot *snapshot,
                           const GdkRGBA *color,
                           const graphene_rect_t *bounds);

Creates a new render node drawing the color into the given bounds and appends it to the current render node of snapshot .

You should try to avoid calling this function if color is transparent.

Parameters

snapshot

a GtkSnapshot

 

color

the GdkRGBA to draw

 

bounds

the bounds for the new node

 

gtk_snapshot_append_layout ()

void
gtk_snapshot_append_layout (GtkSnapshot *snapshot,
                            PangoLayout *layout,
                            const GdkRGBA *color);

Creates render nodes for rendering layout in the given foregound color and appends them to the current node of snapshot without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

layout

the PangoLayout to render

 

color

the foreground color to render the layout in

 

gtk_snapshot_append_linear_gradient ()

void
gtk_snapshot_append_linear_gradient (GtkSnapshot *snapshot,
                                     const graphene_rect_t *bounds,
                                     const graphene_point_t *start_point,
                                     const graphene_point_t *end_point,
                                     const GskColorStop *stops,
                                     gsize n_stops);

Appends a linear gradient node with the given stops to snapshot .

Parameters

snapshot

a GtkSnapshot

 

bounds

the rectangle to render the linear gradient into

 

start_point

the point at which the linear gradient will begin

 

end_point

the point at which the linear gradient will finish

 

stops

a pointer to an array of GskColorStop defining the gradient.

[array length=n_stops]

n_stops

the number of elements in stops

 

gtk_snapshot_append_repeating_linear_gradient ()

void
gtk_snapshot_append_repeating_linear_gradient
                               (GtkSnapshot *snapshot,
                                const graphene_rect_t *bounds,
                                const graphene_point_t *start_point,
                                const graphene_point_t *end_point,
                                const GskColorStop *stops,
                                gsize n_stops);

Appends a repeating linear gradient node with the given stops to snapshot .

Parameters

snapshot

a GtkSnapshot

 

bounds

the rectangle to render the linear gradient into

 

start_point

the point at which the linear gradient will begin

 

end_point

the point at which the linear gradient will finish

 

stops

a pointer to an array of GskColorStop defining the gradient.

[array length=n_stops]

n_stops

the number of elements in stops

 

gtk_snapshot_append_border ()

void
gtk_snapshot_append_border (GtkSnapshot *snapshot,
                            const GskRoundedRect *outline,
                            const float border_width[4],
                            const GdkRGBA border_color[4]);

Appends a stroked border rectangle inside the given outline . The 4 sides of the border can have different widths and colors.

Parameters

snapshot

a GtkSnapshot

 

outline

a GskRoundedRect describing the outline of the border

 

border_width

the stroke width of the border on the top, right, bottom and left side respectively.

[array fixed-size=4]

border_color

the color used on the top, right, bottom and left side.

[array fixed-size=4]

gtk_snapshot_append_inset_shadow ()

void
gtk_snapshot_append_inset_shadow (GtkSnapshot *snapshot,
                                  const GskRoundedRect *outline,
                                  const GdkRGBA *color,
                                  float dx,
                                  float dy,
                                  float spread,
                                  float blur_radius);

Appends an inset shadow into the box given by outline .

Parameters

snapshot

a GtkSnapshot

 

outline

outline of the region surrounded by shadow

 

color

color of the shadow

 

dx

horizontal offset of shadow

 

dy

vertical offset of shadow

 

spread

how far the shadow spreads towards the inside

 

blur_radius

how much blur to apply to the shadow

 

gtk_snapshot_append_outset_shadow ()

void
gtk_snapshot_append_outset_shadow (GtkSnapshot *snapshot,
                                   const GskRoundedRect *outline,
                                   const GdkRGBA *color,
                                   float dx,
                                   float dy,
                                   float spread,
                                   float blur_radius);

Appends an outset shadow node around the box given by outline .

Parameters

snapshot

a GtkSnapshot

 

outline

outline of the region surrounded by shadow

 

color

color of the shadow

 

dx

horizontal offset of shadow

 

dy

vertical offset of shadow

 

spread

how far the shadow spreads towards the outside

 

blur_radius

how much blur to apply to the shadow

 

gtk_snapshot_render_background ()

void
gtk_snapshot_render_background (GtkSnapshot *snapshot,
                                GtkStyleContext *context,
                                double x,
                                double y,
                                double width,
                                double height);

Creates a render node for the CSS background according to context , and appends it to the current node of snapshot , without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

context

the GtkStyleContext to use

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_snapshot_render_frame ()

void
gtk_snapshot_render_frame (GtkSnapshot *snapshot,
                           GtkStyleContext *context,
                           double x,
                           double y,
                           double width,
                           double height);

Creates a render node for the CSS border according to context , and appends it to the current node of snapshot , without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

context

the GtkStyleContext to use

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_snapshot_render_focus ()

void
gtk_snapshot_render_focus (GtkSnapshot *snapshot,
                           GtkStyleContext *context,
                           double x,
                           double y,
                           double width,
                           double height);

Creates a render node for the focus outline according to context , and appends it to the current node of snapshot , without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

context

the GtkStyleContext to use

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_snapshot_render_layout ()

void
gtk_snapshot_render_layout (GtkSnapshot *snapshot,
                            GtkStyleContext *context,
                            double x,
                            double y,
                            PangoLayout *layout);

Creates a render node for rendering layout according to the style information in context , and appends it to the current node of snapshot , without changing the current node.

Parameters

snapshot

a GtkSnapshot

 

context

the GtkStyleContext to use

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

layout

the PangoLayout to render

 

gtk_snapshot_render_insertion_cursor ()

void
gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
                                      GtkStyleContext *context,
                                      double x,
                                      double y,
                                      PangoLayout *layout,
                                      int index,
                                      PangoDirection direction);

Draws a text caret using snapshot at the specified index of layout .

Parameters

snapshot

snapshot to render to

 

context

a GtkStyleContext

 

x

X origin

 

y

Y origin

 

layout

the PangoLayout of the text

 

index

the index in the PangoLayout

 

direction

the PangoDirection of the text

 

Types and Values

GtkSnapshot

typedef GdkSnapshot                    GtkSnapshot;
docs/reference/gtk/html/GtkTooltip.html0000664000175000017500000005240713710700534020323 0ustar mclasenmclasen GtkTooltip: GTK 4 Reference Manual

GtkTooltip

GtkTooltip — Add tips to your widgets

Types and Values

Object Hierarchy

    GObject
    ╰── GtkTooltip

Includes

#include <gtk/gtk.h>

Description

Basic tooltips can be realized simply by using gtk_widget_set_tooltip_text() or gtk_widget_set_tooltip_markup() without any explicit tooltip object.

When you need a tooltip with a little more fancy contents, like adding an image, or you want the tooltip to have different contents per GtkTreeView row or cell, you will have to do a little more work:

  • Set the “has-tooltip” property to TRUE, this will make GTK+ monitor the widget for motion and related events which are needed to determine when and where to show a tooltip.

  • Connect to the “query-tooltip” signal. This signal will be emitted when a tooltip is supposed to be shown. One of the arguments passed to the signal handler is a GtkTooltip object. This is the object that we are about to display as a tooltip, and can be manipulated in your callback using functions like gtk_tooltip_set_icon(). There are functions for setting the tooltip’s markup, setting an image from a named icon, or even putting in a custom widget.

    Return TRUE from your query-tooltip handler. This causes the tooltip to be show. If you return FALSE, it will not be shown.

In the probably rare case where you want to have even more control over the tooltip that is about to be shown, you can set your own GtkWindow which will be used as tooltip window. This works as follows:

  • Set “has-tooltip” and connect to “query-tooltip” as before. Use gtk_widget_set_tooltip_window() to set a GtkWindow created by you as tooltip window.

  • In the “query-tooltip” callback you can access your window using gtk_widget_get_tooltip_window() and manipulate as you wish. The semantics of the return value are exactly as before, return TRUE to show the window, FALSE to not show it.

Functions

gtk_tooltip_set_markup ()

void
gtk_tooltip_set_markup (GtkTooltip *tooltip,
                        const char *markup);

Sets the text of the tooltip to be markup , which is marked up with the Pango text markup language. If markup is NULL, the label will be hidden.

Parameters

tooltip

a GtkTooltip

 

markup

a markup string (see Pango markup format) or NULL.

[allow-none]

gtk_tooltip_set_text ()

void
gtk_tooltip_set_text (GtkTooltip *tooltip,
                      const char *text);

Sets the text of the tooltip to be text . If text is NULL, the label will be hidden. See also gtk_tooltip_set_markup().

Parameters

tooltip

a GtkTooltip

 

text

a text string or NULL.

[allow-none]

gtk_tooltip_set_icon ()

void
gtk_tooltip_set_icon (GtkTooltip *tooltip,
                      GdkPaintable *paintable);

Sets the icon of the tooltip (which is in front of the text) to be paintable . If paintable is NULL, the image will be hidden.

Parameters

tooltip

a GtkTooltip

 

paintable

a GdkPaintable, or NULL.

[allow-none]

gtk_tooltip_set_icon_from_icon_name ()

void
gtk_tooltip_set_icon_from_icon_name (GtkTooltip *tooltip,
                                     const char *icon_name);

Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by icon_name with the size indicated by size . If icon_name is NULL, the image will be hidden.

Parameters

tooltip

a GtkTooltip

 

icon_name

an icon name, or NULL.

[allow-none]

gtk_tooltip_set_icon_from_gicon ()

void
gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip,
                                 GIcon *gicon);

Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by gicon with the size indicated by size . If gicon is NULL, the image will be hidden.

Parameters

tooltip

a GtkTooltip

 

gicon

a GIcon representing the icon, or NULL.

[allow-none]

gtk_tooltip_set_custom ()

void
gtk_tooltip_set_custom (GtkTooltip *tooltip,
                        GtkWidget *custom_widget);

Replaces the widget packed into the tooltip with custom_widget . custom_widget does not get destroyed when the tooltip goes away. By default a box with a GtkImage and GtkLabel is embedded in the tooltip, which can be configured using gtk_tooltip_set_markup() and gtk_tooltip_set_icon().

Parameters

tooltip

a GtkTooltip

 

custom_widget

a GtkWidget, or NULL to unset the old custom widget.

[allow-none]

gtk_tooltip_set_tip_area ()

void
gtk_tooltip_set_tip_area (GtkTooltip *tooltip,
                          const GdkRectangle *rect);

Sets the area of the widget, where the contents of this tooltip apply, to be rect (in widget coordinates). This is especially useful for properly setting tooltips on GtkTreeView rows and cells, GtkIconViews, etc.

For setting tooltips on GtkTreeView, please refer to the convenience functions for this: gtk_tree_view_set_tooltip_row() and gtk_tree_view_set_tooltip_cell().

Parameters

tooltip

a GtkTooltip

 

rect

a GdkRectangle

 

Types and Values

GtkTooltip

typedef struct _GtkTooltip GtkTooltip;
docs/reference/gtk/html/gtk4-GtkWidgetPaintable.html0000664000175000017500000002632213710700534022600 0ustar mclasenmclasen GtkWidgetPaintable: GTK 4 Reference Manual

GtkWidgetPaintable

GtkWidgetPaintable — Drawing a widget elsewhere

Types and Values

Includes

#include <gtk/gtk.h>

Description

GtkWidgetPaintable is an implementation of the GdkPaintable interface that allows displaying the contents of a GtkWidget.

GtkWidgetPaintable will also take care of the widget not being in a state where it can be drawn (like when it isn't shown) and just draw nothing or where it does not have a size (like when it is hidden) and report no size in that case.

Of course, GtkWidgetPaintable allows you to monitor widgets for size changes by emitting the “invalidate-size” signal whenever the size of the widget changes as well as for visual changes by emitting the “invalidate-contents” signal whenever the widget changes.

You can of course use a GtkWidgetPaintable everywhere a GdkPaintable is allowed, including using it on a GtkPicture (or one of its parents) that it was set on itself via gtk_picture_set_paintable(). The paintable will take care of recursion when this happens. If you do this however, ensure the “can-shrink” property is set to TRUE or you might end up with an infinitely growing widget.

Functions

gtk_widget_paintable_new ()

GdkPaintable *
gtk_widget_paintable_new (GtkWidget *widget);

Creates a new widget paintable observing the given widget.

Parameters

widget

a GtkWidget or NULL.

[allow-none][transfer none]

Returns

a new GtkWidgetPaintable.

[transfer full][type GtkWidgetPaintable]


gtk_widget_paintable_get_widget ()

GtkWidget *
gtk_widget_paintable_get_widget (GtkWidgetPaintable *self);

Returns the widget that is observed or NULL if none.

Parameters

self

a GtkWidgetPaintable

 

Returns

the observed widget.

[transfer none][nullable]


gtk_widget_paintable_set_widget ()

void
gtk_widget_paintable_set_widget (GtkWidgetPaintable *self,
                                 GtkWidget *widget);

Sets the widget that should be observed.

Parameters

self

a GtkWidgetPaintable

 

widget

the widget to observe or NULL.

[allow-none]

Types and Values

GtkWidgetPaintable

typedef struct _GtkWidgetPaintable GtkWidgetPaintable;
docs/reference/gtk/html/GtkWindowControls.html0000664000175000017500000005556213710700534021671 0ustar mclasenmclasen GtkWindowControls: GTK 4 Reference Manual

GtkWindowControls

GtkWindowControls — A widget displaying window buttons

Properties

gchar * decoration-layout Read / Write
gboolean empty Read
GtkPackType side Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindowControls

Implemented Interfaces

GtkWindowControls implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkWindowControls shows window frame controls, such as minimize, maximize and close buttons, and the window icon.

GtkWindowControls only displays start or end side of the controls (see “side”), so it's intended to be always used in pair with another GtkWindowControls using the opposite side, for example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<object class="GtkBox">
  <child>
    <object class="GtkWindowControls">
      <property name="side">start</property>
    </object>
  </child>

  ...

  <child>
    <object class="GtkWindowControls">
      <property name="side">end</property>
    </object>
  </child>
</object>

CSS nodes

1
2
3
4
5
windowcontrols
├── [image.icon]
├── [button.minimize]
├── [button.maximize]
╰── [button.close]

A GtkWindowControls' CSS node is called windowcontrols. It contains subnodes corresponding to each title button. Which of the title buttons exist and where they are placed exactly depends on the desktop environment and “decoration-layout” value.

When “empty” is TRUE, it gets the .empty style class.

Functions

gtk_window_controls_new ()

GtkWidget *
gtk_window_controls_new (GtkPackType side);

Creates a new GtkWindowControls.

Parameters

side

the side

 

Returns

a new GtkWindowControls.


gtk_window_controls_get_side ()

GtkPackType
gtk_window_controls_get_side (GtkWindowControls *self);

Gets the side set with gtk_window_controls_set_side().

Parameters

self

a GtkWindowControls

 

Returns

the side


gtk_window_controls_set_side ()

void
gtk_window_controls_set_side (GtkWindowControls *self,
                              GtkPackType side);

Sets the side for self , determining which part of decoration layout it uses.

See gtk_window_controls_set_decoration_layout()

Parameters

self

a GtkWindowControls

 

side

a side

 

gtk_window_controls_get_decoration_layout ()

const char *
gtk_window_controls_get_decoration_layout
                               (GtkWindowControls *self);

Gets the decoration layout set with gtk_window_controls_set_decoration_layout().

Parameters

self

a GtkWindowControls

 

Returns

the decoration layout


gtk_window_controls_set_decoration_layout ()

void
gtk_window_controls_set_decoration_layout
                               (GtkWindowControls *self,
                                const char *layout);

Sets the decoration layout for the title buttons, overriding the “gtk-decoration-layout” setting.

The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close and icon (the window icon).

For example, “icon:minimize,maximize,close” specifies a icon on the left, and minimize, maximize and close buttons on the right.

If “side” value is GTK_PACK_START , self will display the part before the colon, otherwise after that.

Parameters

self

a GtkWindowControls

 

layout

a decoration layout, or NULL to unset the layout.

[allow-none]

gtk_window_controls_get_empty ()

gboolean
gtk_window_controls_get_empty (GtkWindowControls *self);

Gets whether the widget has any window buttons.

Parameters

self

a GtkWindowControls

 

Returns

TRUE if the widget has window buttons, otherwise FALSE

Types and Values

GtkWindowControls

typedef struct _GtkWindowControls GtkWindowControls;

Property Details

The “decoration-layout” property

  “decoration-layout”        gchar *

The decoration layout for window buttons. If this property is not set, the “gtk-decoration-layout” setting is used.

See gtk_window_controls_set_decoration_layout() for information about the format of this string.

Owner: GtkWindowControls

Flags: Read / Write

Default value: NULL


The “empty” property

  “empty”                    gboolean

Whether the widget has any window buttons.

Owner: GtkWindowControls

Flags: Read

Default value: TRUE


The “side” property

  “side”                     GtkPackType

Whether the widget shows start or end side of the decoration layout.

See gtk_window_controls_set_decoration_layout().

Owner: GtkWindowControls

Flags: Read / Write

Default value: GTK_PACK_START

See Also

GtkHeaderBar

docs/reference/gtk/html/GtkWindowHandle.html0000664000175000017500000002547713710700534021263 0ustar mclasenmclasen GtkWindowHandle: GTK 4 Reference Manual

GtkWindowHandle

GtkWindowHandle — A titlebar area widget

Properties

GtkWidget * child Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindowHandle

Implemented Interfaces

GtkWindowHandle implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkWindowHandle is a titlebar area widget. When added into a window, it can be dragged to move the window, and handles right click double click and middle click as expected of a titlebar.

CSS nodes

GtkWindowHandle has a single CSS node with the name windowhandle.

Functions

gtk_window_handle_new ()

GtkWidget *
gtk_window_handle_new (void);

Creates a new GtkWindowHandle.

Returns

a new GtkWindowHandle.


gtk_window_handle_get_child ()

GtkWidget *
gtk_window_handle_get_child (GtkWindowHandle *self);

Gets the child widget of self .

Parameters

self

a GtkWindowHandle

 

Returns

the child widget of self .

[nullable][transfer none]


gtk_window_handle_set_child ()

void
gtk_window_handle_set_child (GtkWindowHandle *self,
                             GtkWidget *child);

Sets the child widget of self .

Parameters

self

a GtkWindowHandle

 

child

the child widget.

[allow-none]

Types and Values

GtkWindowHandle

typedef struct _GtkWindowHandle GtkWindowHandle;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkWindowHandle

Flags: Read / Write

docs/reference/gtk/html/MiscObjects.html0000664000175000017500000000637013710700534020426 0ustar mclasenmclasen Miscellaneous: GTK 4 Reference Manual

Miscellaneous

GtkAdjustment — A representation of an adjustable bounded value
GtkIMContextSimple — An input method context supporting table-based input methods
GtkIMMulticontext — An input method context supporting multiple, loadable input methods
GtkSizeGroup — Grouping widgets so they request the same size
GtkSnapshot — Auxiliary object for snapshots
GtkTooltip — Add tips to your widgets
GtkWidgetPaintable — Drawing a widget elsewhere
GtkWindowControls — A widget displaying window buttons
GtkWindowHandle — A titlebar area widget
docs/reference/gtk/html/GtkWidget.html0000664000175000017500000202155413710700534020115 0ustar mclasenmclasen GtkWidget: GTK 4 Reference Manual

GtkWidget

GtkWidget — Base class for all widgets

Functions

void (*GtkCallback) ()
GtkWidget * gtk_widget_new ()
gboolean gtk_widget_in_destruction ()
void gtk_widget_unparent ()
void gtk_widget_show ()
void gtk_widget_hide ()
void gtk_widget_map ()
void gtk_widget_unmap ()
void gtk_widget_realize ()
void gtk_widget_unrealize ()
void gtk_widget_queue_draw ()
void gtk_widget_queue_resize ()
void gtk_widget_queue_allocate ()
GdkFrameClock * gtk_widget_get_frame_clock ()
int gtk_widget_get_scale_factor ()
gboolean (*GtkTickCallback) ()
guint gtk_widget_add_tick_callback ()
void gtk_widget_remove_tick_callback ()
void gtk_widget_size_allocate ()
void gtk_widget_allocate ()
void gtk_widget_class_add_shortcut ()
void gtk_widget_class_add_binding ()
void gtk_widget_class_add_binding_signal ()
void gtk_widget_class_add_binding_action ()
void gtk_widget_class_set_layout_manager_type ()
GType gtk_widget_class_get_layout_manager_type ()
gboolean gtk_widget_activate ()
gboolean gtk_widget_is_focus ()
gboolean gtk_widget_grab_focus ()
void gtk_widget_set_name ()
const char * gtk_widget_get_name ()
void gtk_widget_set_sensitive ()
void gtk_widget_set_parent ()
GtkRoot * gtk_widget_get_root ()
GtkNative * gtk_widget_get_native ()
GtkWidget * gtk_widget_get_ancestor ()
gboolean gtk_widget_is_ancestor ()
gboolean gtk_widget_translate_coordinates ()
void gtk_widget_add_controller ()
void gtk_widget_remove_controller ()
void gtk_widget_set_direction ()
GtkTextDirection gtk_widget_get_direction ()
void gtk_widget_set_default_direction ()
GtkTextDirection gtk_widget_get_default_direction ()
PangoContext * gtk_widget_create_pango_context ()
PangoContext * gtk_widget_get_pango_context ()
void gtk_widget_set_font_options ()
const cairo_font_options_t * gtk_widget_get_font_options ()
void gtk_widget_set_font_map ()
PangoFontMap * gtk_widget_get_font_map ()
PangoLayout * gtk_widget_create_pango_layout ()
GdkCursor * gtk_widget_get_cursor ()
void gtk_widget_set_cursor ()
void gtk_widget_set_cursor_from_name ()
gboolean gtk_widget_mnemonic_activate ()
void gtk_widget_class_set_accessible_role ()
gboolean gtk_widget_child_focus ()
gboolean gtk_widget_get_child_visible ()
GtkWidget * gtk_widget_get_parent ()
GtkSettings * gtk_widget_get_settings ()
GdkClipboard * gtk_widget_get_clipboard ()
GdkClipboard * gtk_widget_get_primary_clipboard ()
GdkDisplay * gtk_widget_get_display ()
void gtk_widget_get_size_request ()
void gtk_widget_set_child_visible ()
void gtk_widget_set_size_request ()
GList * gtk_widget_list_mnemonic_labels ()
void gtk_widget_add_mnemonic_label ()
void gtk_widget_remove_mnemonic_label ()
void gtk_widget_error_bell ()
gboolean gtk_widget_keynav_failed ()
const char * gtk_widget_get_tooltip_markup ()
void gtk_widget_set_tooltip_markup ()
const char * gtk_widget_get_tooltip_text ()
void gtk_widget_set_tooltip_text ()
gboolean gtk_widget_get_has_tooltip ()
void gtk_widget_set_has_tooltip ()
void gtk_widget_trigger_tooltip_query ()
int gtk_widget_get_allocated_width ()
int gtk_widget_get_allocated_height ()
void gtk_widget_get_allocation ()
int gtk_widget_get_allocated_baseline ()
int gtk_widget_get_width ()
int gtk_widget_get_height ()
int gtk_widget_get_size ()
gboolean gtk_widget_compute_bounds ()
gboolean gtk_widget_compute_transform ()
gboolean gtk_widget_compute_point ()
gboolean gtk_widget_contains ()
GtkWidget * gtk_widget_pick ()
gboolean gtk_widget_get_can_focus ()
void gtk_widget_set_can_focus ()
gboolean gtk_widget_get_focusable ()
void gtk_widget_set_focusable ()
gboolean gtk_widget_get_focus_on_click ()
void gtk_widget_set_focus_on_click ()
void gtk_widget_set_focus_child ()
gboolean gtk_widget_get_can_target ()
void gtk_widget_set_can_target ()
gboolean gtk_widget_get_sensitive ()
gboolean gtk_widget_is_sensitive ()
gboolean gtk_widget_get_visible ()
gboolean gtk_widget_is_visible ()
void gtk_widget_set_visible ()
void gtk_widget_set_state_flags ()
void gtk_widget_unset_state_flags ()
GtkStateFlags gtk_widget_get_state_flags ()
gboolean gtk_widget_has_default ()
gboolean gtk_widget_has_focus ()
gboolean gtk_widget_has_visible_focus ()
gboolean gtk_widget_is_drawable ()
void gtk_widget_set_receives_default ()
gboolean gtk_widget_get_receives_default ()
gboolean gtk_widget_get_realized ()
gboolean gtk_widget_get_mapped ()
double gtk_widget_get_opacity ()
void gtk_widget_set_opacity ()
GtkOverflow gtk_widget_get_overflow ()
void gtk_widget_set_overflow ()
void gtk_widget_measure ()
void gtk_widget_snapshot_child ()
GtkWidget * gtk_widget_get_next_sibling ()
GtkWidget * gtk_widget_get_prev_sibling ()
GtkWidget * gtk_widget_get_first_child ()
GtkWidget * gtk_widget_get_last_child ()
void gtk_widget_insert_before ()
void gtk_widget_insert_after ()
void gtk_widget_set_layout_manager ()
GtkLayoutManager * gtk_widget_get_layout_manager ()
gboolean gtk_widget_should_layout ()
const char * gtk_widget_get_css_name ()
void gtk_widget_add_css_class ()
void gtk_widget_remove_css_class ()
gboolean gtk_widget_has_css_class ()
char ** gtk_widget_get_css_classes ()
void gtk_widget_set_css_classes ()
GtkStyleContext * gtk_widget_get_style_context ()
const char * gtk_widget_class_get_css_name ()
void gtk_widget_class_set_css_name ()
GtkRequisition * gtk_requisition_new ()
GtkRequisition * gtk_requisition_copy ()
void gtk_requisition_free ()
GtkSizeRequestMode gtk_widget_get_request_mode ()
void gtk_widget_get_preferred_size ()
int gtk_distribute_natural_allocation ()
GtkAlign gtk_widget_get_halign ()
void gtk_widget_set_halign ()
GtkAlign gtk_widget_get_valign ()
void gtk_widget_set_valign ()
int gtk_widget_get_margin_start ()
void gtk_widget_set_margin_start ()
int gtk_widget_get_margin_end ()
void gtk_widget_set_margin_end ()
int gtk_widget_get_margin_top ()
void gtk_widget_set_margin_top ()
int gtk_widget_get_margin_bottom ()
void gtk_widget_set_margin_bottom ()
gboolean gtk_widget_get_hexpand ()
void gtk_widget_set_hexpand ()
gboolean gtk_widget_get_hexpand_set ()
void gtk_widget_set_hexpand_set ()
gboolean gtk_widget_get_vexpand ()
void gtk_widget_set_vexpand ()
gboolean gtk_widget_get_vexpand_set ()
void gtk_widget_set_vexpand_set ()
gboolean gtk_widget_compute_expand ()
void gtk_widget_init_template ()
void gtk_widget_class_set_template ()
void gtk_widget_class_set_template_from_resource ()
GObject * gtk_widget_get_template_child ()
#define gtk_widget_class_bind_template_child()
#define gtk_widget_class_bind_template_child_internal()
#define gtk_widget_class_bind_template_child_private()
#define gtk_widget_class_bind_template_child_internal_private()
void gtk_widget_class_bind_template_child_full ()
#define gtk_widget_class_bind_template_callback()
void gtk_widget_class_bind_template_callback_full ()
void gtk_widget_class_set_template_scope ()
GListModel * gtk_widget_observe_children ()
GListModel * gtk_widget_observe_controllers ()
void gtk_widget_insert_action_group ()
gboolean gtk_widget_activate_action ()
gboolean gtk_widget_activate_action_variant ()
void gtk_widget_activate_default ()
void (*GtkWidgetActionActivateFunc) ()
void gtk_widget_class_install_action ()
void gtk_widget_class_install_property_action ()
gboolean gtk_widget_class_query_action ()
void gtk_widget_action_set_enabled ()

Properties

gboolean can-focus Read / Write
gboolean can-target Read / Write
GStrv css-classes Read / Write
gchar * css-name Read / Write / Construct Only
GdkCursor * cursor Read / Write
gboolean focus-on-click Read / Write
gboolean focusable Read / Write
GtkAlign halign Read / Write
gboolean has-default Read
gboolean has-focus Read
gboolean has-tooltip Read / Write
gint height-request Read / Write
gboolean hexpand Read / Write
gboolean hexpand-set Read / Write
GtkLayoutManager * layout-manager Read / Write
gint margin-bottom Read / Write
gint margin-end Read / Write
gint margin-start Read / Write
gint margin-top Read / Write
gchar * name Read / Write
gdouble opacity Read / Write
GtkOverflow overflow Read / Write
GtkWidget * parent Read
gboolean receives-default Read / Write
GtkRoot * root Read
gint scale-factor Read
gboolean sensitive Read / Write
gchar * tooltip-markup Read / Write
gchar * tooltip-text Read / Write
GtkAlign valign Read / Write
gboolean vexpand Read / Write
gboolean vexpand-set Read / Write
gboolean visible Read / Write
gint width-request Read / Write

Signals

void destroy No Hooks
void direction-changed Run First
void hide Run First
gboolean keynav-failed Run Last
void map Run First
gboolean mnemonic-activate Run Last
void move-focus Action
gboolean query-tooltip Run Last
void realize Run First
void show Run First
void state-flags-changed Run First
void unmap Run First
void unrealize Run Last

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ├── GtkWindow
            ├── GtkAccelLabel
            ├── GtkActionBar
            ├── GtkAppChooserButton
            ├── GtkAppChooserWidget
            ├── GtkAspectFrame
            ├── GtkBox
            ├── GtkButton
            ├── GtkCalendar
            ├── GtkCellView
            ├── GtkColorButton
            ├── GtkColorChooserWidget
            ├── GtkColumnView
            ├── GtkComboBox
            ├── GtkDragIcon
            ├── GtkDrawingArea
            ├── GtkDropDown
            ├── GtkEditableLabel
            ├── GtkPopover
            ├── GtkEntry
            ├── GtkExpander
            ├── GtkFileChooserButton
            ├── GtkFileChooserWidget
            ├── GtkFixed
            ├── GtkFlowBox
            ├── GtkFlowBoxChild
            ├── GtkFontButton
            ├── GtkFontChooserWidget
            ├── GtkFrame
            ├── GtkGLArea
            ├── GtkGrid
            ├── GtkListBase
            ├── GtkHeaderBar
            ├── GtkIconView
            ├── GtkImage
            ├── GtkInfoBar
            ├── GtkLabel
            ├── GtkListBox
            ├── GtkListBoxRow
            ├── GtkMediaControls
            ├── GtkMenuButton
            ├── GtkNotebook
            ├── GtkOverlay
            ├── GtkPaned
            ├── GtkPasswordEntry
            ├── GtkPicture
            ├── GtkPopoverMenuBar
            ├── GtkProgressBar
            ├── GtkRange
            ├── GtkRevealer
            ├── GtkScaleButton
            ├── GtkScrollbar
            ├── GtkScrolledWindow
            ├── GtkSearchBar
            ├── GtkSearchEntry
            ├── GtkSeparator
            ├── GtkShortcutLabel
            ├── GtkShortcutsShortcut
            ├── GtkSpinButton
            ├── GtkSpinner
            ├── GtkStack
            ├── GtkStackSidebar
            ├── GtkStackSwitcher
            ├── GtkStatusbar
            ├── GtkSwitch
            ├── GtkLevelBar
            ├── GtkText
            ├── GtkTextView
            ├── GtkTreeExpander
            ├── GtkTreeView
            ├── GtkVideo
            ├── GtkViewport
            ├── GtkWindowControls
            ╰── GtkWindowHandle

Known Derived Interfaces

GtkWidget is required by GtkActionable, GtkAppChooser, GtkCellEditable, GtkEditable, GtkNative and GtkRoot.

Implemented Interfaces

GtkWidget implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkWidget is the base class all widgets in GTK+ derive from. It manages the widget lifecycle, states and style.

Height-for-width Geometry Management

GTK+ uses a height-for-width (and width-for-height) geometry management system. Height-for-width means that a widget can change how much vertical space it needs, depending on the amount of horizontal space that it is given (and similar for width-for-height). The most common example is a label that reflows to fill up the available width, wraps to fewer lines, and therefore needs less height.

Height-for-width geometry management is implemented in GTK+ by way of two virtual methods:

There are some important things to keep in mind when implementing height-for-width and when using it in widget implementations.

If you implement a direct GtkWidget subclass that supports height-for-width or width-for-height geometry management for itself or its child widgets, the GtkWidgetClass.get_request_mode() virtual function must be implemented as well and return the widget's preferred request mode. The default implementation of this virtual function returns GTK_SIZE_REQUEST_CONSTANT_SIZE, which means that the widget will only ever get -1 passed as the for_size value to its GtkWidgetClass.measure() implementation.

The geometry management system will query a widget hierarchy in only one orientation at a time. When widgets are initially queried for their minimum sizes it is generally done in two initial passes in the GtkSizeRequestMode chosen by the toplevel.

For example, when queried in the normal GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH mode: First, the default minimum and natural width for each widget in the interface will be computed using gtk_widget_measure() with an orientation of GTK_ORIENTATION_HORIZONTAL and a for_size of -1. Because the preferred widths for each widget depend on the preferred widths of their children, this information propagates up the hierarchy, and finally a minimum and natural width is determined for the entire toplevel. Next, the toplevel will use the minimum width to query for the minimum height contextual to that width using gtk_widget_measure() with an orientation of GTK_ORIENTATION_VERTICAL and a for_size of the just computed width. This will also be a highly recursive operation. The minimum height for the minimum width is normally used to set the minimum size constraint on the toplevel (unless gtk_window_set_geometry_hints() is explicitly used instead).

After the toplevel window has initially requested its size in both dimensions it can go on to allocate itself a reasonable size (or a size previously specified with gtk_window_set_default_size()). During the recursive allocation process it’s important to note that request cycles will be recursively executed while widgets allocate their children. Each widget, once allocated a size, will go on to first share the space in one orientation among its children and then request each child's height for its target allocated width or its width for allocated height, depending. In this way a GtkWidget will typically be requested its size a number of times before actually being allocated a size. The size a widget is finally allocated can of course differ from the size it has requested. For this reason, GtkWidget caches a small number of results to avoid re-querying for the same sizes in one allocation cycle.

If a widget does move content around to intelligently use up the allocated size then it must support the request in both GtkSizeRequestModes even if the widget in question only trades sizes in a single orientation.

For instance, a GtkLabel that does height-for-width word wrapping will not expect to have GtkWidgetClass.measure() with an orientation of GTK_ORIENTATION_VERTICAL called because that call is specific to a width-for-height request. In this case the label must return the height required for its own minimum possible width. By following this rule any widget that handles height-for-width or width-for-height requests will always be allocated at least enough space to fit its own content.

Here are some examples of how a GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH widget generally deals with width-for-height requests:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
static void
foo_widget_measure (GtkWidget      *widget,
                    GtkOrientation  orientation,
                    int             for_size,
                    int            *minimum_size,
                    int            *natural_size,
                    int            *minimum_baseline,
                    int            *natural_baseline)
{
  if (orientation == GTK_ORIENTATION_HORIZONTAL)
    {
      // Calculate minimum and natural width
    }
  else // VERTICAL
    {
       if (i_am_in_height_for_width_mode)
         {
           int min_width, dummy;

           // First, get the minimum width of our widget
           GTK_WIDGET_GET_CLASS (widget)->measure (widget, GTK_ORIENTATION_HORIZONTAL, -1,
                                                   &min_width, &dummy, &dummy, &dummy);

           // Now use the minimum width to retrieve the minimum and natural height to display
           // that width.
           GTK_WIDGET_GET_CLASS (widget)->measure (widget, GTK_ORIENTATION_VERTICAL, min_width,
                                                   minimum_size, natural_size, &dummy, &dummy);
         }
       else
         {
           // ... some widgets do both.
         }
   }
}

Often a widget needs to get its own request during size request or allocation. For example, when computing height it may need to also compute width. Or when deciding how to use an allocation, the widget may need to know its natural size. In these cases, the widget should be careful to call its virtual methods directly, like in the code example above.

It will not work to use the wrapper function gtk_widget_measure() inside your own GtkWidgetClass.size-allocate() implementation. These return a request adjusted by GtkSizeGroup, the widget's align and expand flags as well as its CSS style. If a widget used the wrappers inside its virtual method implementations, then the adjustments (such as widget margins) would be applied twice. GTK+ therefore does not allow this and will warn if you try to do it.

Of course if you are getting the size request for another widget, such as a child widget, you must use gtk_widget_measure(). Otherwise, you would not properly consider widget margins, GtkSizeGroup, and so forth.

GTK+ also supports baseline vertical alignment of widgets. This means that widgets are positioned such that the typographical baseline of widgets in the same row are aligned. This happens if a widget supports baselines, has a vertical alignment of GTK_ALIGN_BASELINE, and is inside a widget that supports baselines and has a natural “row” that it aligns to the baseline, or a baseline assigned to it by the grandparent.

Baseline alignment support for a widget is also done by the GtkWidgetClass.measure() virtual function. It allows you to report both a minimum and natural size.

If a widget ends up baseline aligned it will be allocated all the space in the parent as if it was GTK_ALIGN_FILL, but the selected baseline can be found via gtk_widget_get_allocated_baseline(). If this has a value other than -1 you need to align the widget such that the baseline appears at the position.


GtkWidget as GtkBuildable

The GtkWidget implementation of the GtkBuildable interface supports a custom <accelerator> element, which has attributes named ”key”, ”modifiers” and ”signal” and allows to specify accelerators.

An example of a UI definition fragment specifying an accelerator:

1
2
3
<object class="GtkButton">
  <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
</object>

If the parent widget uses a GtkLayoutManager, GtkWidget supports a custom <layout> element, used to define layout properties:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<object class="MyGrid" id="grid1">
  <child>
    <object class="GtkLabel" id="label1">
      <property name="label">Description</property>
      <layout>
        <property name="left-attach">0</property>
        <property name="top-attach">0</property>
        <property name="row-span">1</property>
        <property name="col-span">1</property>
      </layout>
    </object>
  </child>
  <child>
    <object class="GtkEntry" id="description_entry">
      <layout>
        <property name="left-attach">1</property>
        <property name="top-attach">0</property>
        <property name="row-span">1</property>
        <property name="col-span">1</property>
      </layout>
    </object>
  </child>
</object>

Finally, GtkWidget allows style information such as style classes to be associated with widgets, using the custom <style> element:

1
2
3
4
5
6
<object class="GtkButton" id="button1">
  <style>
    <class name="my-special-button-class"/>
    <class name="dark-button"/>
  </style>
</object>


Building composite widgets from template XML

GtkWidget exposes some facilities to automate the procedure of creating composite widgets using GtkBuilder interface description language.

To create composite widgets with GtkBuilder XML, one must associate the interface description with the widget class at class initialization time using gtk_widget_class_set_template().

The interface description semantics expected in composite template descriptions is slightly different from regular GtkBuilder XML.

Unlike regular interface descriptions, gtk_widget_class_set_template() will expect a <template> tag as a direct child of the toplevel <interface> tag. The <template> tag must specify the “class” attribute which must be the type name of the widget. Optionally, the “parent” attribute may be specified to specify the direct parent type of the widget type, this is ignored by the GtkBuilder but required for Glade to introspect what kind of properties and internal children exist for a given type when the actual type does not exist.

The XML which is contained inside the <template> tag behaves as if it were added to the <object> tag defining widget itself. You may set properties on widget by inserting <property> tags into the <template> tag, and also add <child> tags to add children and extend widget in the normal way you would with <object> tags.

Additionally, <object> tags can also be added before and after the initial <template> tag in the normal way, allowing one to define auxiliary objects which might be referenced by other widgets declared as children of the <template> tag.

An example of a GtkBuilder Template Definition:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<interface>
  <template class="FooWidget" parent="GtkBox">
    <property name="orientation">horizontal</property>
    <property name="spacing">4</property>
    <child>
      <object class="GtkButton" id="hello_button">
        <property name="label">Hello World</property>
        <signal name="clicked" handler="hello_button_clicked" object="FooWidget" swapped="yes"/>
      </object>
    </child>
    <child>
      <object class="GtkButton" id="goodbye_button">
        <property name="label">Goodbye World</property>
      </object>
    </child>
  </template>
</interface>

Typically, you'll place the template fragment into a file that is bundled with your project, using GResource. In order to load the template, you need to call gtk_widget_class_set_template_from_resource() from the class initialization of your GtkWidget type:

1
2
3
4
5
6
7
8
static void
foo_widget_class_init (FooWidgetClass *klass)
{
  // ...

  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                               "/com/example/ui/foowidget.ui");
}

You will also need to call gtk_widget_init_template() from the instance initialization function:

1
2
3
4
5
6
static void
foo_widget_init (FooWidget *self)
{
  // ...
  gtk_widget_init_template (GTK_WIDGET (self));
}

You can access widgets defined in the template using the gtk_widget_get_template_child() function, but you will typically declare a pointer in the instance private data structure of your type using the same name as the widget in the template definition, and call gtk_widget_class_bind_template_child_private() with that name, e.g.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
typedef struct {
  GtkWidget *hello_button;
  GtkWidget *goodbye_button;
} FooWidgetPrivate;

G_DEFINE_TYPE_WITH_PRIVATE (FooWidget, foo_widget, GTK_TYPE_BOX)

static void
foo_widget_class_init (FooWidgetClass *klass)
{
  // ...
  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                               "/com/example/ui/foowidget.ui");
  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
                                                FooWidget, hello_button);
  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
                                                FooWidget, goodbye_button);
}

static void
foo_widget_init (FooWidget *widget)
{

}

You can also use gtk_widget_class_bind_template_callback() to connect a signal callback defined in the template with a function visible in the scope of the class, e.g.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// the signal handler has the instance and user data swapped
// because of the swapped="yes" attribute in the template XML
static void
hello_button_clicked (FooWidget *self,
                      GtkButton *button)
{
  g_print ("Hello, world!\n");
}

static void
foo_widget_class_init (FooWidgetClass *klass)
{
  // ...
  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                               "/com/example/ui/foowidget.ui");
  gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), hello_button_clicked);
}

Functions

GtkCallback ()

void
(*GtkCallback) (GtkWidget *widget,
                gpointer data);

The type of the callback functions used for e.g. iterating over the children of a container, see gtk_container_foreach().

Parameters

widget

the widget to operate on

 

data

user-supplied data.

[closure]

gtk_widget_new ()

GtkWidget *
gtk_widget_new (GType type,
                const char *first_property_name,
                ...);

This is a convenience function for creating a widget and setting its properties in one go. For example you might write: gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", 0.0, NULL) to create a left-aligned label. Equivalent to g_object_new(), but returns a widget so you don’t have to cast the object yourself.

Parameters

type

type ID of the widget to create

 

first_property_name

name of first property to set

 

...

value of first property, followed by more properties, NULL-terminated

 

Returns

a new GtkWidget of type widget_type


gtk_widget_in_destruction ()

gboolean
gtk_widget_in_destruction (GtkWidget *widget);

Returns whether the widget is currently being destroyed. This information can sometimes be used to avoid doing unnecessary work.

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget is being destroyed


gtk_widget_unparent ()

void
gtk_widget_unparent (GtkWidget *widget);

This function is only for use in widget implementations. Should be called by parent widgets to dissociate widget from the parent.

Parameters

widget

a GtkWidget

 

gtk_widget_show ()

void
gtk_widget_show (GtkWidget *widget);

Flags a widget to be displayed. Any widget that isn’t shown will not appear on the screen.

Remember that you have to show the containers containing a widget, in addition to the widget itself, before it will appear onscreen.

When a toplevel container is shown, it is immediately realized and mapped; other shown widgets are realized and mapped when their toplevel container is realized and mapped.

Parameters

widget

a GtkWidget

 

gtk_widget_hide ()

void
gtk_widget_hide (GtkWidget *widget);

Reverses the effects of gtk_widget_show(), causing the widget to be hidden (invisible to the user).

Parameters

widget

a GtkWidget

 

gtk_widget_map ()

void
gtk_widget_map (GtkWidget *widget);

This function is only for use in widget implementations. Causes a widget to be mapped if it isn’t already.

Parameters

widget

a GtkWidget

 

gtk_widget_unmap ()

void
gtk_widget_unmap (GtkWidget *widget);

This function is only for use in widget implementations. Causes a widget to be unmapped if it’s currently mapped.

Parameters

widget

a GtkWidget

 

gtk_widget_realize ()

void
gtk_widget_realize (GtkWidget *widget);

Creates the GDK (windowing system) resources associated with a widget. Normally realization happens implicitly; if you show a widget and all its parent containers, then the widget will be realized and mapped automatically.

Realizing a widget requires all the widget’s parent widgets to be realized; calling gtk_widget_realize() realizes the widget’s parents in addition to widget itself. If a widget is not yet inside a toplevel window when you realize it, bad things will happen.

This function is primarily used in widget implementations, and isn’t very useful otherwise. Many times when you think you might need it, a better approach is to connect to a signal that will be called after the widget is realized automatically, such as “realize”.

Parameters

widget

a GtkWidget

 

gtk_widget_unrealize ()

void
gtk_widget_unrealize (GtkWidget *widget);

This function is only useful in widget implementations. Causes a widget to be unrealized (frees all GDK resources associated with the widget).

Parameters

widget

a GtkWidget

 

gtk_widget_queue_draw ()

void
gtk_widget_queue_draw (GtkWidget *widget);

Schedules this widget to be redrawn in paint phase of the current or the next frame. This means widget 's GtkWidgetClass.snapshot() implementation will be called.

Parameters

widget

a GtkWidget

 

gtk_widget_queue_resize ()

void
gtk_widget_queue_resize (GtkWidget *widget);

This function is only for use in widget implementations. Flags a widget to have its size renegotiated; should be called when a widget for some reason has a new size request. For example, when you change the text in a GtkLabel, GtkLabel queues a resize to ensure there’s enough space for the new text.

Note that you cannot call gtk_widget_queue_resize() on a widget from inside its implementation of the GtkWidgetClass::size_allocate virtual method. Calls to gtk_widget_queue_resize() from inside GtkWidgetClass::size_allocate will be silently ignored.

Parameters

widget

a GtkWidget

 

gtk_widget_queue_allocate ()

void
gtk_widget_queue_allocate (GtkWidget *widget);

This function is only for use in widget implementations.

Flags the widget for a rerun of the GtkWidgetClass::size_allocate function. Use this function instead of gtk_widget_queue_resize() when the widget 's size request didn't change but it wants to reposition its contents.

An example user of this function is gtk_widget_set_halign().

Parameters

widget

a GtkWidget

 

gtk_widget_get_frame_clock ()

GdkFrameClock *
gtk_widget_get_frame_clock (GtkWidget *widget);

Obtains the frame clock for a widget. The frame clock is a global “ticker” that can be used to drive animations and repaints. The most common reason to get the frame clock is to call gdk_frame_clock_get_frame_time(), in order to get a time to use for animating. For example you might record the start of the animation with an initial value from gdk_frame_clock_get_frame_time(), and then update the animation by calling gdk_frame_clock_get_frame_time() again during each repaint.

gdk_frame_clock_request_phase() will result in a new frame on the clock, but won’t necessarily repaint any widgets. To repaint a widget, you have to use gtk_widget_queue_draw() which invalidates the widget (thus scheduling it to receive a draw on the next frame). gtk_widget_queue_draw() will also end up requesting a frame on the appropriate frame clock.

A widget’s frame clock will not change while the widget is mapped. Reparenting a widget (which implies a temporary unmap) can change the widget’s frame clock.

Unrealized widgets do not have a frame clock.

Parameters

widget

a GtkWidget

 

Returns

a GdkFrameClock, or NULL if widget is unrealized.

[nullable][transfer none]


gtk_widget_get_scale_factor ()

int
gtk_widget_get_scale_factor (GtkWidget *widget);

Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. On traditional systems this is 1, on high density outputs, it can be a higher value (typically 2).

See gdk_surface_get_scale_factor().

Parameters

widget

a GtkWidget

 

Returns

the scale factor for widget


GtkTickCallback ()

gboolean
(*GtkTickCallback) (GtkWidget *widget,
                    GdkFrameClock *frame_clock,
                    gpointer user_data);

Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().

Parameters

widget

the widget

 

frame_clock

the frame clock for the widget (same as calling gtk_widget_get_frame_clock())

 

user_data

user data passed to gtk_widget_add_tick_callback().

 

Returns

G_SOURCE_CONTINUE if the tick callback should continue to be called, G_SOURCE_REMOVE if the tick callback should be removed.


gtk_widget_add_tick_callback ()

guint
gtk_widget_add_tick_callback (GtkWidget *widget,
                              GtkTickCallback callback,
                              gpointer user_data,
                              GDestroyNotify notify);

Queues an animation frame update and adds a callback to be called before each frame. Until the tick callback is removed, it will be called frequently (usually at the frame rate of the output device or as quickly as the application can be repainted, whichever is slower). For this reason, is most suitable for handling graphics that change every frame or every few frames. The tick callback does not automatically imply a relayout or repaint. If you want a repaint or relayout, and aren’t changing widget properties that would trigger that (for example, changing the text of a GtkLabel), then you will have to call gtk_widget_queue_resize() or gtk_widget_queue_draw() yourself.

gdk_frame_clock_get_frame_time() should generally be used for timing continuous animations and gdk_frame_timings_get_predicted_presentation_time() if you are trying to display isolated frames at particular times.

This is a more convenient alternative to connecting directly to the “update” signal of GdkFrameClock, since you don't have to worry about when a GdkFrameClock is assigned to a widget.

Parameters

widget

a GtkWidget

 

callback

function to call for updating animations

 

user_data

data to pass to callback .

[closure]

notify

function to call to free user_data when the callback is removed.

 

Returns

an id for the connection of this callback. Remove the callback by passing the id returned from this function to gtk_widget_remove_tick_callback()


gtk_widget_remove_tick_callback ()

void
gtk_widget_remove_tick_callback (GtkWidget *widget,
                                 guint id);

Removes a tick callback previously registered with gtk_widget_add_tick_callback().

Parameters

widget

a GtkWidget

 

id

an id returned by gtk_widget_add_tick_callback()

 

gtk_widget_size_allocate ()

void
gtk_widget_size_allocate (GtkWidget *widget,
                          const GtkAllocation *allocation,
                          int baseline);

This is a simple form of gtk_widget_allocate() that takes the new position of widget as part of allocation .

Parameters

widget

a GtkWidget

 

allocation

position and size to be allocated to widget

 

baseline

The baseline of the child, or -1

 

gtk_widget_allocate ()

void
gtk_widget_allocate (GtkWidget *widget,
                     int width,
                     int height,
                     int baseline,
                     GskTransform *transform);

This function is only used by GtkWidget subclasses, to assign a size, position and (optionally) baseline to their child widgets.

In this function, the allocation and baseline may be adjusted. The given allocation will be forced to be bigger than the widget's minimum size, as well as at least 0×0 in size.

For a version that does not take a transform, see gtk_widget_size_allocate()

Parameters

widget

A GtkWidget

 

width

New width of widget

 

height

New height of widget

 

baseline

New baseline of widget , or -1

 

transform

Transformation to be applied to widget .

[transfer full][allow-none]

gtk_widget_class_add_shortcut ()

void
gtk_widget_class_add_shortcut (GtkWidgetClass *widget_class,
                               GtkShortcut *shortcut);

Installs a shortcut in widget_class . Every instance created for widget_class or its subclasses will inherit this shortcut and trigger it.

Shortcuts added this way will be triggered in the GTK_PHASE_BUBBLE phase, which means they may also trigger if child widgets have focus.

This function must only be used in class initialization functions otherwise it is not guaranteed that the shortcut will be installed.

Parameters

widget_class

the class to add the shortcut to

 

shortcut

the GtkShortcut to add.

[transfer none]

gtk_widget_class_add_binding ()

void
gtk_widget_class_add_binding (GtkWidgetClass *widget_class,
                              guint keyval,
                              GdkModifierType mods,
                              GtkShortcutFunc callback,
                              const char *format_string,
                              ...);

Creates a new shortcut for widget_class that calls the given callback with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new().

This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization. It does not provide for user_data, if you need that, you will have to use gtk_widget_class_add_shortcut() with a custom shortcut.

[skip]

Parameters

widget_class

the class to add the binding to

 

keyval

key value of binding to install

 

mods

key modifier of binding to install

 

callback

the callback to call upon activation

 

format_string

GVariant format string for arguments or NULL for no arguments

 

...

arguments, as given by format string.

 

gtk_widget_class_add_binding_signal ()

void
gtk_widget_class_add_binding_signal (GtkWidgetClass *widget_class,
                                     guint keyval,
                                     GdkModifierType mods,
                                     const char *signal,
                                     const char *format_string,
                                     ...);

Creates a new shortcut for widget_class that emits the given action signal with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new().

This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization.

[skip]

Parameters

widget_class

the class to add the binding to

 

keyval

key value of binding to install

 

mods

key modifier of binding to install

 

signal

the signal to execute

 

format_string

GVariant format string for arguments or NULL for no arguments

 

...

arguments, as given by format string.

 

gtk_widget_class_add_binding_action ()

void
gtk_widget_class_add_binding_action (GtkWidgetClass *widget_class,
                                     guint keyval,
                                     GdkModifierType mods,
                                     const char *action_name,
                                     const char *format_string,
                                     ...);

Creates a new shortcut for widget_class that activates the given action_name with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new().

This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization.

[skip]

Parameters

widget_class

the class to add the binding to

 

keyval

key value of binding to install

 

mods

key modifier of binding to install

 

action_name

the action to activate

 

format_string

GVariant format string for arguments or NULL for no arguments

 

...

arguments, as given by format string.

 

gtk_widget_class_set_layout_manager_type ()

void
gtk_widget_class_set_layout_manager_type
                               (GtkWidgetClass *widget_class,
                                GType type);

Sets the type to be used for creating layout managers for widgets of widget_class . The given type must be a subtype of GtkLayoutManager.

This function should only be called from class init functions of widgets.

Parameters

widget_class

class to set the layout manager type for

 

type

The object type that implements the GtkLayoutManager for widget_class

 

gtk_widget_class_get_layout_manager_type ()

GType
gtk_widget_class_get_layout_manager_type
                               (GtkWidgetClass *widget_class);

Retrieves the type of the GtkLayoutManager used by the GtkWidget class.

See also: gtk_widget_class_set_layout_manager_type()

Parameters

widget_class

a GtkWidgetClass

 

Returns

a GtkLayoutManager subclass, or G_TYPE_INVALID


gtk_widget_activate ()

gboolean
gtk_widget_activate (GtkWidget *widget);

For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. Activation is what happens when you press Enter on a widget during key navigation. If widget isn't activatable, the function returns FALSE.

Parameters

widget

a GtkWidget that’s activatable

 

Returns

TRUE if the widget was activatable


gtk_widget_is_focus ()

gboolean
gtk_widget_is_focus (GtkWidget *widget);

Determines if the widget is the focus widget within its toplevel. (This does not mean that the “has-focus” property is necessarily set; “has-focus” will only be set if the toplevel widget additionally has the global input focus.)

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is the focus widget.


gtk_widget_grab_focus ()

gboolean
gtk_widget_grab_focus (GtkWidget *widget);

Causes widget (or one of its descendents) to have the keyboard focus for the GtkWindow it's inside.

If widget is not focusable, or its ::grab_focus implementation cannot transfer the focus to a descendant of widget that is focusable, it will not take focus and FALSE will be returned.

Calling gtk_widget_grab_focus() on an already focused widget is allowed, should not have an effect, and return TRUE.

Parameters

widget

a GtkWidget

 

Returns

TRUE if focus is now inside widget .


gtk_widget_set_name ()

void
gtk_widget_set_name (GtkWidget *widget,
                     const char *name);

Widgets can be named, which allows you to refer to them from a CSS file. You can apply a style to widgets with a particular name in the CSS file. See the documentation for the CSS syntax (on the same page as the docs for GtkStyleContext).

Note that the CSS syntax has certain special characters to delimit and represent elements in a selector (period, #, >, *...), so using these will make your widget impossible to match by name. Any combination of alphanumeric symbols, dashes and underscores will suffice.

Parameters

widget

a GtkWidget

 

name

name for the widget

 

gtk_widget_get_name ()

const char *
gtk_widget_get_name (GtkWidget *widget);

Retrieves the name of a widget. See gtk_widget_set_name() for the significance of widget names.

Parameters

widget

a GtkWidget

 

Returns

name of the widget. This string is owned by GTK+ and should not be modified or freed


gtk_widget_set_sensitive ()

void
gtk_widget_set_sensitive (GtkWidget *widget,
                          gboolean sensitive);

Sets the sensitivity of a widget. A widget is sensitive if the user can interact with it. Insensitive widgets are “grayed out” and the user can’t interact with them. Insensitive widgets are known as “inactive”, “disabled”, or “ghosted” in some other toolkits.

Parameters

widget

a GtkWidget

 

sensitive

TRUE to make the widget sensitive

 

gtk_widget_set_parent ()

void
gtk_widget_set_parent (GtkWidget *widget,
                       GtkWidget *parent);

This function is useful only when implementing subclasses of GtkWidget. Sets parent as the parent widget of widget , and takes care of some details such as updating the state and style of the child to reflect its new location and resizing the parent. The opposite function is gtk_widget_unparent().

Parameters

widget

a GtkWidget

 

parent

parent widget

 

gtk_widget_get_root ()

GtkRoot *
gtk_widget_get_root (GtkWidget *widget);

Returns the GtkRoot widget of widget or NULL if the widget is not contained inside a widget tree with a root widget.

GtkRoot widgets will return themselves here.

Parameters

widget

a GtkWidget

 

Returns

the root widget of widget , or NULL.

[transfer none][nullable]


gtk_widget_get_native ()

GtkNative *
gtk_widget_get_native (GtkWidget *widget);

Returns the GtkNative widget that contains widget , or NULL if the widget is not contained inside a widget tree with a native ancestor.

GtkNative widgets will return themselves here.

Parameters

widget

a GtkWidget

 

Returns

the GtkNative widget of widget , or NULL.

[transfer none][nullable]


gtk_widget_get_ancestor ()

GtkWidget *
gtk_widget_get_ancestor (GtkWidget *widget,
                         GType widget_type);

Gets the first ancestor of widget with type widget_type . For example, gtk_widget_get_ancestor (widget, GTK_TYPE_BOX) gets the first GtkBox that’s an ancestor of widget . No reference will be added to the returned widget; it should not be unreferenced.

Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() considers widget to be an ancestor of itself.

Parameters

widget

a GtkWidget

 

widget_type

ancestor type

 

Returns

the ancestor widget, or NULL if not found.

[transfer none][nullable]


gtk_widget_is_ancestor ()

gboolean
gtk_widget_is_ancestor (GtkWidget *widget,
                        GtkWidget *ancestor);

Determines whether widget is somewhere inside ancestor , possibly with intermediate containers.

Parameters

widget

a GtkWidget

 

ancestor

another GtkWidget

 

Returns

TRUE if ancestor contains widget as a child, grandchild, great grandchild, etc.


gtk_widget_translate_coordinates ()

gboolean
gtk_widget_translate_coordinates (GtkWidget *src_widget,
                                  GtkWidget *dest_widget,
                                  double src_x,
                                  double src_y,
                                  double *dest_x,
                                  double *dest_y);

Translate coordinates relative to src_widget ’s allocation to coordinates relative to dest_widget ’s allocations. In order to perform this operation, both widget must share a common toplevel.

Parameters

src_widget

a GtkWidget

 

dest_widget

a GtkWidget

 

src_x

X position relative to src_widget

 

src_y

Y position relative to src_widget

 

dest_x

location to store X position relative to dest_widget .

[out][optional]

dest_y

location to store Y position relative to dest_widget .

[out][optional]

Returns

FALSE if src_widget and dest_widget have no common ancestor. In this case, 0 is stored in *dest_x and *dest_y . Otherwise TRUE.


gtk_widget_add_controller ()

void
gtk_widget_add_controller (GtkWidget *widget,
                           GtkEventController *controller);

Adds controller to widget so that it will receive events. You will usually want to call this function right after creating any kind of GtkEventController.

Parameters

widget

a GtkWidget

 

controller

a GtkEventController that hasn't been added to a widget yet.

[transfer full]

gtk_widget_remove_controller ()

void
gtk_widget_remove_controller (GtkWidget *widget,
                              GtkEventController *controller);

Removes controller from widget , so that it doesn't process events anymore. It should not be used again.

Widgets will remove all event controllers automatically when they are destroyed, there is normally no need to call this function.

Parameters

widget

a GtkWidget

 

controller

a GtkEventController.

[transfer none]

gtk_widget_set_direction ()

void
gtk_widget_set_direction (GtkWidget *widget,
                          GtkTextDirection dir);

Sets the reading direction on a particular widget. This direction controls the primary direction for widgets containing text, and also the direction in which the children of a container are packed. The ability to set the direction is present in order so that correct localization into languages with right-to-left reading directions can be done. Generally, applications will let the default reading direction present, except for containers where the containers are arranged in an order that is explicitly visual rather than logical (such as buttons for text justification).

If the direction is set to GTK_TEXT_DIR_NONE, then the value set by gtk_widget_set_default_direction() will be used.

Parameters

widget

a GtkWidget

 

dir

the new direction

 

gtk_widget_get_direction ()

GtkTextDirection
gtk_widget_get_direction (GtkWidget *widget);

Gets the reading direction for a particular widget. See gtk_widget_set_direction().

Parameters

widget

a GtkWidget

 

Returns

the reading direction for the widget.


gtk_widget_set_default_direction ()

void
gtk_widget_set_default_direction (GtkTextDirection dir);

Sets the default reading direction for widgets where the direction has not been explicitly set by gtk_widget_set_direction().

Parameters

dir

the new default direction. This cannot be GTK_TEXT_DIR_NONE.

 

gtk_widget_get_default_direction ()

GtkTextDirection
gtk_widget_get_default_direction (void);

Obtains the current default reading direction. See gtk_widget_set_default_direction().

Returns

the current default direction.


gtk_widget_create_pango_context ()

PangoContext *
gtk_widget_create_pango_context (GtkWidget *widget);

Creates a new PangoContext with the appropriate font map, font options, font description, and base direction for drawing text for this widget. See also gtk_widget_get_pango_context().

Parameters

widget

a GtkWidget

 

Returns

the new PangoContext.

[transfer full]


gtk_widget_get_pango_context ()

PangoContext *
gtk_widget_get_pango_context (GtkWidget *widget);

Gets a PangoContext with the appropriate font map, font description, and base direction for this widget. Unlike the context returned by gtk_widget_create_pango_context(), this context is owned by the widget (it can be used until the screen for the widget changes or the widget is removed from its toplevel), and will be updated to match any changes to the widget’s attributes. This can be tracked by listening to changes of the “root” property on the widget.

Parameters

widget

a GtkWidget

 

Returns

the PangoContext for the widget.

[transfer none]


gtk_widget_set_font_options ()

void
gtk_widget_set_font_options (GtkWidget *widget,
                             const cairo_font_options_t *options);

Sets the cairo_font_options_t used for Pango rendering in this widget. When not set, the default font options for the GdkDisplay will be used.

Parameters

widget

a GtkWidget

 

options

a cairo_font_options_t, or NULL to unset any previously set default font options.

[allow-none]

gtk_widget_get_font_options ()

const cairo_font_options_t *
gtk_widget_get_font_options (GtkWidget *widget);

Returns the cairo_font_options_t used for Pango rendering. When not set, the defaults font options for the GdkDisplay will be used.

Parameters

widget

a GtkWidget

 

Returns

the cairo_font_options_t or NULL if not set.

[transfer none][nullable]


gtk_widget_set_font_map ()

void
gtk_widget_set_font_map (GtkWidget *widget,
                         PangoFontMap *font_map);

Sets the font map to use for Pango rendering. When not set, the widget will inherit the font map from its parent.

Parameters

widget

a GtkWidget

 

font_map

a PangoFontMap, or NULL to unset any previously set font map.

[allow-none]

gtk_widget_get_font_map ()

PangoFontMap *
gtk_widget_get_font_map (GtkWidget *widget);

Gets the font map that has been set with gtk_widget_set_font_map().

Parameters

widget

a GtkWidget

 

Returns

A PangoFontMap, or NULL.

[transfer none][nullable]


gtk_widget_create_pango_layout ()

PangoLayout *
gtk_widget_create_pango_layout (GtkWidget *widget,
                                const char *text);

Creates a new PangoLayout with the appropriate font map, font description, and base direction for drawing text for this widget.

If you keep a PangoLayout created in this way around, you need to re-create it when the widget PangoContext is replaced. This can be tracked by listening to changes of the “root” property on the widget.

Parameters

widget

a GtkWidget

 

text

text to set on the layout (can be NULL).

[nullable]

Returns

the new PangoLayout.

[transfer full]


gtk_widget_get_cursor ()

GdkCursor *
gtk_widget_get_cursor (GtkWidget *widget);

Queries the cursor set via gtk_widget_set_cursor(). See that function for details.

Parameters

widget

a GtkWidget

 

Returns

the cursor currently in use or NULL to use the default.

[nullable][transfer none]


gtk_widget_set_cursor ()

void
gtk_widget_set_cursor (GtkWidget *widget,
                       GdkCursor *cursor);

Sets the cursor to be shown when pointer devices point towards widget .

If the cursor is NULL, widget will use the cursor inherited from the parent widget.

Parameters

widget

a GtkWidget

 

cursor

the new cursor or NULL to use the default cursor.

[allow-none]

gtk_widget_set_cursor_from_name ()

void
gtk_widget_set_cursor_from_name (GtkWidget *widget,
                                 const char *name);

Sets a named cursor to be shown when pointer devices point towards widget .

This is a utility function that creates a cursor via gdk_cursor_new_from_name() and then sets it on widget with gtk_widget_set_cursor(). See those 2 functions for details.

On top of that, this function allows name to be NULL, which will do the same as calling gtk_widget_set_cursor() with a NULL cursor.

Parameters

widget

a GtkWidget

 

name

The name of the cursor or NULL to use the default cursor.

[nullable]

gtk_widget_mnemonic_activate ()

gboolean
gtk_widget_mnemonic_activate (GtkWidget *widget,
                              gboolean group_cycling);

Emits the “mnemonic-activate” signal.

Parameters

widget

a GtkWidget

 

group_cycling

TRUE if there are other widgets with the same mnemonic

 

Returns

TRUE if the signal has been handled


gtk_widget_class_set_accessible_role ()

void
gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
                                      GtkAccessibleRole accessible_role);

Sets the accessible role used by the given GtkWidget class.

Different accessible roles have different states, and are rendered differently by assistive technologies.

Parameters

widget_class

a GtkWidgetClass

 

accessible_role

the GtkAccessibleRole used by the widget_class

 

gtk_widget_child_focus ()

gboolean
gtk_widget_child_focus (GtkWidget *widget,
                        GtkDirectionType direction);

This function is used by custom widget implementations; if you're writing an app, you’d use gtk_widget_grab_focus() to move the focus to a particular widget.

gtk_widget_child_focus() is called by widgets as the user moves around the window using keyboard shortcuts. direction indicates what kind of motion is taking place (up, down, left, right, tab forward, tab backward). gtk_widget_child_focus() emits the “focus” signal; widgets override the default handler for this signal in order to implement appropriate focus behavior.

The default ::focus handler for a widget should return TRUE if moving in direction left the focus on a focusable location inside that widget, and FALSE if moving in direction moved the focus outside the widget. If returning TRUE, widgets normally call gtk_widget_grab_focus() to place the focus accordingly; if returning FALSE, they don’t modify the current focus location.

Parameters

widget

a GtkWidget

 

direction

direction of focus movement

 

Returns

TRUE if focus ended up inside widget


gtk_widget_get_child_visible ()

gboolean
gtk_widget_get_child_visible (GtkWidget *widget);

Gets the value set with gtk_widget_set_child_visible(). If you feel a need to use this function, your code probably needs reorganization.

This function is only useful for container implementations and never should be called by an application.

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is mapped with the parent.


gtk_widget_get_parent ()

GtkWidget *
gtk_widget_get_parent (GtkWidget *widget);

Returns the parent widget of widget .

Parameters

widget

a GtkWidget

 

Returns

the parent widget of widget , or NULL.

[transfer none][nullable]


gtk_widget_get_settings ()

GtkSettings *
gtk_widget_get_settings (GtkWidget *widget);

Gets the settings object holding the settings used for this widget.

Note that this function can only be called when the GtkWidget is attached to a toplevel, since the settings object is specific to a particular GdkDisplay. If you want to monitor the widget for changes in its settings, connect to notify::display.

Parameters

widget

a GtkWidget

 

Returns

the relevant GtkSettings object.

[transfer none]


gtk_widget_get_clipboard ()

GdkClipboard *
gtk_widget_get_clipboard (GtkWidget *widget);

This is a utility function to get the clipboard object for the GdkDisplay that widget is using.

Note that this function always works, even when widget is not realized yet.

Parameters

widget

a GtkWidget

 

Returns

the appropriate clipboard object.

[transfer none]


gtk_widget_get_primary_clipboard ()

GdkClipboard *
gtk_widget_get_primary_clipboard (GtkWidget *widget);

This is a utility function to get the primary clipboard object for the GdkDisplay that widget is using.

Note that this function always works, even when widget is not realized yet.

Parameters

widget

a GtkWidget

 

Returns

the appropriate clipboard object.

[transfer none]


gtk_widget_get_display ()

GdkDisplay *
gtk_widget_get_display (GtkWidget *widget);

Get the GdkDisplay for the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a GtkWindow at the top.

In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized.

Parameters

widget

a GtkWidget

 

Returns

the GdkDisplay for the toplevel for this widget.

[transfer none]


gtk_widget_get_size_request ()

void
gtk_widget_get_size_request (GtkWidget *widget,
                             int *width,
                             int *height);

Gets the size request that was explicitly set for the widget using gtk_widget_set_size_request(). A value of -1 stored in width or height indicates that that dimension has not been set explicitly and the natural requisition of the widget will be used instead. See gtk_widget_set_size_request(). To get the size a widget will actually request, call gtk_widget_measure() instead of this function.

Parameters

widget

a GtkWidget

 

width

return location for width, or NULL.

[out][allow-none]

height

return location for height, or NULL.

[out][allow-none]

gtk_widget_set_child_visible ()

void
gtk_widget_set_child_visible (GtkWidget *widget,
                              gboolean child_visible);

Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with gtk_widget_show().

The child visibility can be set for widget before it is added to a container with gtk_widget_set_parent(), to avoid mapping children unnecessary before immediately unmapping them. However it will be reset to its default state of TRUE when the widget is removed from a container.

Note that changing the child visibility of a widget does not queue a resize on the widget. Most of the time, the size of a widget is computed from all visible children, whether or not they are mapped. If this is not the case, the container can queue a resize itself.

This function is only useful for container implementations and never should be called by an application.

Parameters

widget

a GtkWidget

 

child_visible

if TRUE, widget should be mapped along with its parent.

 

gtk_widget_set_size_request ()

void
gtk_widget_set_size_request (GtkWidget *widget,
                             int width,
                             int height);

Sets the minimum size of a widget; that is, the widget’s size request will be at least width by height . You can use this function to force a widget to be larger than it normally would be.

In most cases, gtk_window_set_default_size() is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the size request will force them to leave the window at least as large as the size request. When dealing with window sizes, gtk_window_set_geometry_hints() can be a useful function as well.

Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can all change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct.

The size request of a widget is the smallest size a widget can accept while still functioning well and drawing itself correctly. However in some strange cases a widget may be allocated less than its requested size, and in many cases a widget may be allocated more space than it requested.

If the size request in a given direction is -1 (unset), then the “natural” size request of the widget will be used instead.

The size request set here does not include any margin from the GtkWidget properties margin-left, margin-right, margin-top, and margin-bottom, but it does include pretty much all other padding or border properties set by any subclass of GtkWidget.

Parameters

widget

a GtkWidget

 

width

width widget should request, or -1 to unset

 

height

height widget should request, or -1 to unset

 

gtk_widget_list_mnemonic_labels ()

GList *
gtk_widget_list_mnemonic_labels (GtkWidget *widget);

Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, gtk_label_set_mnemonic_widget()).

The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call g_list_foreach (result, (GFunc)g_object_ref, NULL) first, and then unref all the widgets afterwards.

Parameters

widget

a GtkWidget

 

Returns

the list of mnemonic labels; free this list with g_list_free() when you are done with it.

[element-type GtkWidget][transfer container]


gtk_widget_add_mnemonic_label ()

void
gtk_widget_add_mnemonic_label (GtkWidget *widget,
                               GtkWidget *label);

Adds a widget to the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). Note the list of mnemonic labels for the widget is cleared when the widget is destroyed, so the caller must make sure to update its internal state at this point as well, by using a connection to the “destroy” signal or a weak notifier.

Parameters

widget

a GtkWidget

 

label

a GtkWidget that acts as a mnemonic label for widget

 

gtk_widget_remove_mnemonic_label ()

void
gtk_widget_remove_mnemonic_label (GtkWidget *widget,
                                  GtkWidget *label);

Removes a widget from the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). The widget must have previously been added to the list with gtk_widget_add_mnemonic_label().

Parameters

widget

a GtkWidget

 

label

a GtkWidget that was previously set as a mnemonic label for widget with gtk_widget_add_mnemonic_label().

 

gtk_widget_error_bell ()

void
gtk_widget_error_bell (GtkWidget *widget);

Notifies the user about an input-related error on this widget. If the “gtk-error-bell” setting is TRUE, it calls gdk_surface_beep(), otherwise it does nothing.

Note that the effect of gdk_surface_beep() can be configured in many ways, depending on the windowing backend and the desktop environment or window manager that is used.

Parameters

widget

a GtkWidget

 

gtk_widget_keynav_failed ()

gboolean
gtk_widget_keynav_failed (GtkWidget *widget,
                          GtkDirectionType direction);

This function should be called whenever keyboard navigation within a single widget hits a boundary. The function emits the “keynav-failed” signal on the widget and its return value should be interpreted in a way similar to the return value of gtk_widget_child_focus():

When TRUE is returned, stay in the widget, the failed keyboard navigation is OK and/or there is nowhere we can/should move the focus to.

When FALSE is returned, the caller should continue with keyboard navigation outside the widget, e.g. by calling gtk_widget_child_focus() on the widget’s toplevel.

The default ::keynav-failed handler returns FALSE for GTK_DIR_TAB_FORWARD and GTK_DIR_TAB_BACKWARD. For the other values of GtkDirectionType it returns TRUE.

Whenever the default handler returns TRUE, it also calls gtk_widget_error_bell() to notify the user of the failed keyboard navigation.

A use case for providing an own implementation of ::keynav-failed (either by connecting to it or by overriding it) would be a row of GtkEntry widgets where the user should be able to navigate the entire row with the cursor keys, as e.g. known from user interfaces that require entering license keys.

Parameters

widget

a GtkWidget

 

direction

direction of focus movement

 

Returns

TRUE if stopping keyboard navigation is fine, FALSE if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s).


gtk_widget_get_tooltip_markup ()

const char *
gtk_widget_get_tooltip_markup (GtkWidget *widget);

Gets the contents of the tooltip for widget set using gtk_widget_set_tooltip_markup().

Parameters

widget

a GtkWidget

 

Returns

the tooltip text.

[nullable]


gtk_widget_set_tooltip_markup ()

void
gtk_widget_set_tooltip_markup (GtkWidget *widget,
                               const char *markup);

Sets markup as the contents of the tooltip, which is marked up with the Pango text markup language.

This function will take care of setting the “has-tooltip” as a side effect, and of the default handler for the “query-tooltip” signal.

See also the “tooltip-markup” property and gtk_tooltip_set_markup().

Parameters

widget

a GtkWidget

 

markup

the contents of the tooltip for widget .

[nullable]

gtk_widget_get_tooltip_text ()

const char *
gtk_widget_get_tooltip_text (GtkWidget *widget);

Gets the contents of the tooltip for widget .

If the widget 's tooltip was set using gtk_widget_set_tooltip_markup(), this function will return the escaped text.

Parameters

widget

a GtkWidget

 

Returns

the tooltip text.

[nullable]


gtk_widget_set_tooltip_text ()

void
gtk_widget_set_tooltip_text (GtkWidget *widget,
                             const char *text);

Sets text as the contents of the tooltip.

If text contains any markup, it will be escaped.

This function will take care of setting “has-tooltip” as a side effect, and of the default handler for the “query-tooltip” signal.

See also the “tooltip-text” property and gtk_tooltip_set_text().

Parameters

widget

a GtkWidget

 

text

the contents of the tooltip for widget .

[nullable]

gtk_widget_get_has_tooltip ()

gboolean
gtk_widget_get_has_tooltip (GtkWidget *widget);

Returns the current value of the has-tooltip property. See “has-tooltip” for more information.

Parameters

widget

a GtkWidget

 

Returns

current value of has-tooltip on widget .


gtk_widget_set_has_tooltip ()

void
gtk_widget_set_has_tooltip (GtkWidget *widget,
                            gboolean has_tooltip);

Sets the has-tooltip property on widget to has_tooltip . See “has-tooltip” for more information.

Parameters

widget

a GtkWidget

 

has_tooltip

whether or not widget has a tooltip.

 

gtk_widget_trigger_tooltip_query ()

void
gtk_widget_trigger_tooltip_query (GtkWidget *widget);

Triggers a tooltip query on the display where the toplevel of widget is located. See gtk_tooltip_trigger_tooltip_query() for more information.

Parameters

widget

a GtkWidget

 

gtk_widget_get_allocated_width ()

int
gtk_widget_get_allocated_width (GtkWidget *widget);

Returns the width that has currently been allocated to widget .

Parameters

widget

the widget to query

 

Returns

the width of the widget


gtk_widget_get_allocated_height ()

int
gtk_widget_get_allocated_height (GtkWidget *widget);

Returns the height that has currently been allocated to widget .

Parameters

widget

the widget to query

 

Returns

the height of the widget


gtk_widget_get_allocation ()

void
gtk_widget_get_allocation (GtkWidget *widget,
                           GtkAllocation *allocation);

Retrieves the widget’s allocation.

Note, when implementing a GtkContainer: a widget’s allocation will be its “adjusted” allocation, that is, the widget’s parent container typically calls gtk_widget_size_allocate() with an allocation, and that allocation is then adjusted (to handle margin and alignment for example) before assignment to the widget. gtk_widget_get_allocation() returns the adjusted allocation that was actually assigned to the widget. The adjusted allocation is guaranteed to be completely contained within the gtk_widget_size_allocate() allocation, however. So a GtkContainer is guaranteed that its children stay inside the assigned bounds, but not that they have exactly the bounds the container assigned.

Parameters

widget

a GtkWidget

 

allocation

a pointer to a GtkAllocation to copy to.

[out]

gtk_widget_get_allocated_baseline ()

int
gtk_widget_get_allocated_baseline (GtkWidget *widget);

Returns the baseline that has currently been allocated to widget . This function is intended to be used when implementing handlers for the GtkWidgetClass.snapshot() function, and when allocating child widgets in “size_allocate”.

Parameters

widget

the widget to query

 

Returns

the baseline of the widget , or -1 if none


gtk_widget_get_width ()

int
gtk_widget_get_width (GtkWidget *widget);

Returns the content width of the widget, as passed to its size-allocate implementation. This is the size you should be using in GtkWidgetClass.snapshot(). For pointer events, see gtk_widget_contains().

Parameters

widget

a GtkWidget

 

Returns

The width of widget


gtk_widget_get_height ()

int
gtk_widget_get_height (GtkWidget *widget);

Returns the content height of the widget, as passed to its size-allocate implementation. This is the size you should be using in GtkWidgetClass.snapshot(). For pointer events, see gtk_widget_contains().

Parameters

widget

a GtkWidget

 

Returns

The height of widget


gtk_widget_get_size ()

int
gtk_widget_get_size (GtkWidget *widget,
                     GtkOrientation orientation);

Returns the content width or height of the widget, depending on orientation . This is equivalent to calling gtk_widget_get_width() for GTK_ORIENTATION_HORIZONTAL or gtk_widget_get_height() for GTK_ORIENTATION_VERTICAL, but can be used when writing orientation-independent code, such as when implementing GtkOrientable widgets.

Parameters

widget

a GtkWidget

 

orientation

the orientation to query

 

Returns

The size of widget in orientation .


gtk_widget_compute_bounds ()

gboolean
gtk_widget_compute_bounds (GtkWidget *widget,
                           GtkWidget *target,
                           graphene_rect_t *out_bounds);

Computes the bounds for widget in the coordinate space of target . FIXME: Explain what "bounds" are.

If the operation is successful, TRUE is returned. If widget has no bounds or the bounds cannot be expressed in target 's coordinate space (for example if both widgets are in different windows), FALSE is returned and bounds is set to the zero rectangle.

It is valid for widget and target to be the same widget.

Parameters

widget

the GtkWidget to query

 

target

the GtkWidget

 

out_bounds

the rectangle taking the bounds.

[out caller-allocates]

Returns

TRUE if the bounds could be computed


gtk_widget_compute_transform ()

gboolean
gtk_widget_compute_transform (GtkWidget *widget,
                              GtkWidget *target,
                              graphene_matrix_t *out_transform);

Computes a matrix suitable to describe a transformation from widget 's coordinate system into target 's coordinate system.

Parameters

widget

a GtkWidget

 

target

the target widget that the matrix will transform to

 

out_transform

location to store the final transformation.

[out caller-allocates]

Returns

TRUE if the transform could be computed, FALSE otherwise. The transform can not be computed in certain cases, for example when widget and target do not share a common ancestor. In that case out_transform gets set to the identity matrix.


gtk_widget_compute_point ()

gboolean
gtk_widget_compute_point (GtkWidget *widget,
                          GtkWidget *target,
                          const graphene_point_t *point,
                          graphene_point_t *out_point);

Translates the given point in widget 's coordinates to coordinates relative to target ’s coordinate system. In order to perform this operation, both widgets must share a common root.

Parameters

widget

the GtkWidget to query

 

target

the GtkWidget to transform into

 

point

a point in widget 's coordinate system

 

out_point

Set to the corresponding coordinates in target 's coordinate system.

[out caller-allocates]

Returns

TRUE if the point could be determined, FALSE on failure. In this case, 0 is stored in out_point .


gtk_widget_contains ()

gboolean
gtk_widget_contains (GtkWidget *widget,
                     double x,
                     double y);

Tests if the point at (x , y ) is contained in widget .

The coordinates for (x , y ) must be in widget coordinates, so (0, 0) is assumed to be the top left of widget 's content area.

Parameters

widget

the widget to query

 

x

X coordinate to test, relative to widget 's origin

 

y

Y coordinate to test, relative to widget 's origin

 

Returns

TRUE if widget contains (x , y ).


gtk_widget_pick ()

GtkWidget *
gtk_widget_pick (GtkWidget *widget,
                 double x,
                 double y,
                 GtkPickFlags flags);

Finds the descendant of widget (including widget itself) closest to the screen at the point (x , y ). The point must be given in widget coordinates, so (0, 0) is assumed to be the top left of widget 's content area.

Usually widgets will return NULL if the given coordinate is not contained in widget checked via gtk_widget_contains(). Otherwise they will recursively try to find a child that does not return NULL. Widgets are however free to customize their picking algorithm.

This function is used on the toplevel to determine the widget below the mouse cursor for purposes of hover hilighting and delivering events.

Parameters

widget

the widget to query

 

x

X coordinate to test, relative to widget 's origin

 

y

Y coordinate to test, relative to widget 's origin

 

flags

Flags to influence what is picked

 

Returns

The widget descendant at the given coordinate or NULL if none.

[nullable][transfer none]


gtk_widget_get_can_focus ()

gboolean
gtk_widget_get_can_focus (GtkWidget *widget);

Determines whether the input focus can enter widget or any of its children.

See gtk_widget_set_focusable().

Parameters

widget

a GtkWidget

 

Returns

TRUE if the input focus can enter widget , FALSE otherwise


gtk_widget_set_can_focus ()

void
gtk_widget_set_can_focus (GtkWidget *widget,
                          gboolean can_focus);

Specifies whether the input focus can enter the widget or any of its children.

Applications should set can_focus to FALSE to mark a widget as for pointer/touch use only.

Note that having can_focus be TRUE is only one of the necessary conditions for being focusable. A widget must also be sensitive and focusable and not have an ancestor that is marked as not can-focus in order to receive input focus.

See gtk_widget_grab_focus() for actually setting the input focus on a widget.

Parameters

widget

a GtkWidget

 

can_focus

whether or not the input focus can enter the widget or any of its children

 

gtk_widget_get_focusable ()

gboolean
gtk_widget_get_focusable (GtkWidget *widget);

Determines whether widget can own the input focus. See gtk_widget_set_focusable().

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget can own the input focus, FALSE otherwise


gtk_widget_set_focusable ()

void
gtk_widget_set_focusable (GtkWidget *widget,
                          gboolean focusable);

Specifies whether widget can own the input focus.

Widget implementations should set focusable to TRUE in their init() function if they want to receive keyboard input.

Note that having focusable be TRUE is only one of the necessary conditions for being focusable. A widget must also be sensitive and can-focus and not have an ancestor that is marked as not can-focus in order to receive input focus.

See gtk_widget_grab_focus() for actually setting the input focus on a widget.

Parameters

widget

a GtkWidget

 

focusable

whether or not widget can own the input focus

 

gtk_widget_get_focus_on_click ()

gboolean
gtk_widget_get_focus_on_click (GtkWidget *widget);

Returns whether the widget should grab focus when it is clicked with the mouse. See gtk_widget_set_focus_on_click().

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget should grab focus when it is clicked with the mouse.


gtk_widget_set_focus_on_click ()

void
gtk_widget_set_focus_on_click (GtkWidget *widget,
                               gboolean focus_on_click);

Sets whether the widget should grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.

Parameters

widget

a GtkWidget

 

focus_on_click

whether the widget should grab focus when clicked with the mouse

 

gtk_widget_set_focus_child ()

void
gtk_widget_set_focus_child (GtkWidget *widget,
                            GtkWidget *child);

Set child as the current focus child of widget . The previous focus child will be unset.

This function is only suitable for widget implementations. If you want a certain widget to get the input focus, call gtk_widget_grab_focus() on it.

Parameters

widget

a GtkWidget

 

child

a direct child widget of widget or NULL to unset the focus child of widget .

[nullable]

gtk_widget_get_can_target ()

gboolean
gtk_widget_get_can_target (GtkWidget *widget);

Queries whether widget can be the target of pointer events.

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget can receive pointer events


gtk_widget_set_can_target ()

void
gtk_widget_set_can_target (GtkWidget *widget,
                           gboolean can_target);

Sets whether widget can be the target of pointer events.

Parameters

widget

a GtkWidget

 

can_target

whether this widget should be able to receive pointer events

 

gtk_widget_get_sensitive ()

gboolean
gtk_widget_get_sensitive (GtkWidget *widget);

Returns the widget’s sensitivity (in the sense of returning the value that has been set using gtk_widget_set_sensitive()).

The effective sensitivity of a widget is however determined by both its own and its parent widget’s sensitivity. See gtk_widget_is_sensitive().

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is sensitive


gtk_widget_is_sensitive ()

gboolean
gtk_widget_is_sensitive (GtkWidget *widget);

Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is effectively sensitive


gtk_widget_get_visible ()

gboolean
gtk_widget_get_visible (GtkWidget *widget);

Determines whether the widget is visible. If you want to take into account whether the widget’s parent is also marked as visible, use gtk_widget_is_visible() instead.

This function does not check if the widget is obscured in any way.

See gtk_widget_set_visible().

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is visible


gtk_widget_is_visible ()

gboolean
gtk_widget_is_visible (GtkWidget *widget);

Determines whether the widget and all its parents are marked as visible.

This function does not check if the widget is obscured in any way.

See also gtk_widget_get_visible() and gtk_widget_set_visible()

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget and all its parents are visible


gtk_widget_set_visible ()

void
gtk_widget_set_visible (GtkWidget *widget,
                        gboolean visible);

Sets the visibility state of widget . Note that setting this to TRUE doesn’t mean the widget is actually viewable, see gtk_widget_get_visible().

This function simply calls gtk_widget_show() or gtk_widget_hide() but is nicer to use when the visibility of the widget depends on some condition.

Parameters

widget

a GtkWidget

 

visible

whether the widget should be shown or not

 

gtk_widget_set_state_flags ()

void
gtk_widget_set_state_flags (GtkWidget *widget,
                            GtkStateFlags flags,
                            gboolean clear);

This function is for use in widget implementations. Turns on flag values in the current widget state (insensitive, prelighted, etc.).

This function accepts the values GTK_STATE_FLAG_DIR_LTR and GTK_STATE_FLAG_DIR_RTL but ignores them. If you want to set the widget's direction, use gtk_widget_set_direction().

It is worth mentioning that any other state than GTK_STATE_FLAG_INSENSITIVE, will be propagated down to all non-internal children if widget is a GtkContainer, while GTK_STATE_FLAG_INSENSITIVE itself will be propagated down to all GtkContainer children by different means than turning on the state flag down the hierarchy, both gtk_widget_get_state_flags() and gtk_widget_is_sensitive() will make use of these.

Parameters

widget

a GtkWidget

 

flags

State flags to turn on

 

clear

Whether to clear state before turning on flags

 

gtk_widget_unset_state_flags ()

void
gtk_widget_unset_state_flags (GtkWidget *widget,
                              GtkStateFlags flags);

This function is for use in widget implementations. Turns off flag values for the current widget state (insensitive, prelighted, etc.). See gtk_widget_set_state_flags().

Parameters

widget

a GtkWidget

 

flags

State flags to turn off

 

gtk_widget_get_state_flags ()

GtkStateFlags
gtk_widget_get_state_flags (GtkWidget *widget);

Returns the widget state as a flag set. It is worth mentioning that the effective GTK_STATE_FLAG_INSENSITIVE state will be returned, that is, also based on parent insensitivity, even if widget itself is sensitive.

Also note that if you are looking for a way to obtain the GtkStateFlags to pass to a GtkStyleContext method, you should look at gtk_style_context_get_state().

Parameters

widget

a GtkWidget

 

Returns

The state flags for widget


gtk_widget_has_default ()

gboolean
gtk_widget_has_default (GtkWidget *widget);

Determines whether widget is the current default widget within its toplevel.

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget is the current default widget within its toplevel, FALSE otherwise


gtk_widget_has_focus ()

gboolean
gtk_widget_has_focus (GtkWidget *widget);

Determines if the widget has the global input focus. See gtk_widget_is_focus() for the difference between having the global input focus, and only having the focus within a toplevel.

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget has the global input focus.


gtk_widget_has_visible_focus ()

gboolean
gtk_widget_has_visible_focus (GtkWidget *widget);

Determines if the widget should show a visible indication that it has the global input focus. This is a convenience function that takes into account whether focus indication should currently be shown in the toplevel window of widget . See gtk_window_get_focus_visible() for more information about focus indication.

To find out if the widget has the global input focus, use gtk_widget_has_focus().

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget should display a “focus rectangle”


gtk_widget_is_drawable ()

gboolean
gtk_widget_is_drawable (GtkWidget *widget);

Determines whether widget can be drawn to. A widget can be drawn if it is mapped and visible.

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget is drawable, FALSE otherwise


gtk_widget_set_receives_default ()

void
gtk_widget_set_receives_default (GtkWidget *widget,
                                 gboolean receives_default);

Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.

Parameters

widget

a GtkWidget

 

receives_default

whether or not widget can be a default widget.

 

gtk_widget_get_receives_default ()

gboolean
gtk_widget_get_receives_default (GtkWidget *widget);

Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.

See gtk_widget_set_receives_default().

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget acts as the default widget when focused, FALSE otherwise


gtk_widget_get_realized ()

gboolean
gtk_widget_get_realized (GtkWidget *widget);

Determines whether widget is realized.

Parameters

widget

a GtkWidget

 

Returns

TRUE if widget is realized, FALSE otherwise


gtk_widget_get_mapped ()

gboolean
gtk_widget_get_mapped (GtkWidget *widget);

Whether the widget is mapped.

Parameters

widget

a GtkWidget

 

Returns

TRUE if the widget is mapped, FALSE otherwise.


gtk_widget_get_opacity ()

double
gtk_widget_get_opacity (GtkWidget *widget);

Fetches the requested opacity for this widget. See gtk_widget_set_opacity().

Parameters

widget

a GtkWidget

 

Returns

the requested opacity for this widget.


gtk_widget_set_opacity ()

void
gtk_widget_set_opacity (GtkWidget *widget,
                        double opacity);

Request the widget to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Opacity values are clamped to the [0,1] range.). This works on both toplevel widget, and child widgets, although there are some limitations:

For toplevel widgets this depends on the capabilities of the windowing system. On X11 this has any effect only on X displays with a compositing manager running. See gdk_display_is_composited(). On Windows it should work always, although setting a window’s opacity after the window has been shown causes it to flicker once on Windows.

For child widgets it doesn’t work if any affected widget has a native window.

Parameters

widget

a GtkWidget

 

opacity

desired opacity, between 0 and 1

 

gtk_widget_get_overflow ()

GtkOverflow
gtk_widget_get_overflow (GtkWidget *widget);

Returns the value set via gtk_widget_set_overflow().

Parameters

widget

a GtkWidget

 

Returns

The widget's overflow.


gtk_widget_set_overflow ()

void
gtk_widget_set_overflow (GtkWidget *widget,
                         GtkOverflow overflow);

Sets how widget treats content that is drawn outside the widget's content area. See the definition of GtkOverflow for details.

This setting is provided for widget implementations and should not be used by application code.

The default value is GTK_OVERFLOW_VISIBLE.

Parameters

widget

a GtkWidget

 

overflow

desired overflow

 

gtk_widget_measure ()

void
gtk_widget_measure (GtkWidget *widget,
                    GtkOrientation orientation,
                    int for_size,
                    int *minimum,
                    int *natural,
                    int *minimum_baseline,
                    int *natural_baseline);

Measures widget in the orientation orientation and for the given for_size . As an example, if orientation is GTK_ORIENTATION_HORIZONTAL and for_size is 300, this functions will compute the minimum and natural width of widget if it is allocated at a height of 300 pixels.

See GtkWidget’s geometry management section for a more details on implementing GtkWidgetClass.measure().

Parameters

widget

A GtkWidget instance

 

orientation

the orientation to measure

 

for_size

Size for the opposite of orientation , i.e. if orientation is GTK_ORIENTATION_HORIZONTAL, this is the height the widget should be measured with. The GTK_ORIENTATION_VERTICAL case is analogous. This way, both height-for-width and width-for-height requests can be implemented. If no size is known, -1 can be passed.

 

minimum

location to store the minimum size, or NULL.

[out][optional]

natural

location to store the natural size, or NULL.

[out][optional]

minimum_baseline

location to store the baseline position for the minimum size, or NULL.

[out][optional]

natural_baseline

location to store the baseline position for the natural size, or NULL.

[out][optional]

gtk_widget_snapshot_child ()

void
gtk_widget_snapshot_child (GtkWidget *widget,
                           GtkWidget *child,
                           GtkSnapshot *snapshot);

When a widget receives a call to the snapshot function, it must send synthetic GtkWidgetClass.snapshot() calls to all children. This function provides a convenient way of doing this. A widget, when it receives a call to its GtkWidgetClass.snapshot() function, calls gtk_widget_snapshot_child() once for each child, passing in the snapshot the widget received.

gtk_widget_snapshot_child() takes care of translating the origin of snapshot , and deciding whether the child needs to be snapshot.

This function does nothing for children that implement GtkNative.

Parameters

widget

a GtkWidget

 

child

a child of widget

 

snapshot

GtkSnapshot as passed to the widget. In particular, no calls to gtk_snapshot_translate() or other transform calls should have been made.

 

gtk_widget_get_next_sibling ()

GtkWidget *
gtk_widget_get_next_sibling (GtkWidget *widget);

Returns the widgets next sibling.

Parameters

widget

a GtkWidget

 

Returns

The widget's next sibling.

[transfer none][nullable]


gtk_widget_get_prev_sibling ()

GtkWidget *
gtk_widget_get_prev_sibling (GtkWidget *widget);

Returns the widgets previous sibling.

Parameters

widget

a GtkWidget

 

Returns

The widget's previous sibling.

[transfer none][nullable]


gtk_widget_get_first_child ()

GtkWidget *
gtk_widget_get_first_child (GtkWidget *widget);

Returns the widgets first child.

Parameters

widget

a GtkWidget

 

Returns

The widget's first child.

[transfer none][nullable]


gtk_widget_get_last_child ()

GtkWidget *
gtk_widget_get_last_child (GtkWidget *widget);

Returns the widgets last child.

Parameters

widget

a GtkWidget

 

Returns

The widget's last child.

[transfer none][nullable]


gtk_widget_insert_before ()

void
gtk_widget_insert_before (GtkWidget *widget,
                          GtkWidget *parent,
                          GtkWidget *next_sibling);

Inserts widget into the child widget list of parent . It will be placed before next_sibling , or at the end if next_sibling is NULL.

After calling this function, gtk_widget_get_next_sibling(widget) will return next_sibling .

If parent is already set as the parent widget of widget , this function can also be used to reorder widget in the child widget list of parent .

Parameters

widget

a GtkWidget

 

parent

the parent GtkWidget to insert widget into

 

next_sibling

the new next sibling of widget or NULL.

[nullable]

gtk_widget_insert_after ()

void
gtk_widget_insert_after (GtkWidget *widget,
                         GtkWidget *parent,
                         GtkWidget *previous_sibling);

Inserts widget into the child widget list of parent . It will be placed after previous_sibling , or at the beginning if previous_sibling is NULL.

After calling this function, gtk_widget_get_prev_sibling(widget) will return previous_sibling .

If parent is already set as the parent widget of widget , this function can also be used to reorder widget in the child widget list of parent .

Parameters

widget

a GtkWidget

 

parent

the parent GtkWidget to insert widget into

 

previous_sibling

the new previous sibling of widget or NULL.

[nullable]

gtk_widget_set_layout_manager ()

void
gtk_widget_set_layout_manager (GtkWidget *widget,
                               GtkLayoutManager *layout_manager);

Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of widget .

Parameters

widget

a GtkWidget

 

layout_manager

a GtkLayoutManager.

[nullable][transfer full]

gtk_widget_get_layout_manager ()

GtkLayoutManager *
gtk_widget_get_layout_manager (GtkWidget *widget);

Retrieves the layout manager set using gtk_widget_set_layout_manager().

Parameters

widget

a GtkWidget

 

Returns

a GtkLayoutManager.

[transfer none][nullable]


gtk_widget_should_layout ()

gboolean
gtk_widget_should_layout (GtkWidget *widget);

Returns whether widget should contribute to the measuring and allocation of its parent. This is FALSE for invisible children, but also for children that have their own surface.

Parameters

widget

a widget

 

Returns

TRUE if child should be included in measuring and allocating


gtk_widget_get_css_name ()

const char *
gtk_widget_get_css_name (GtkWidget *self);

Returns the CSS name that is used for self .

Parameters

self

a GtkWidget

 

Returns

the CSS name.

[transfer none]


gtk_widget_add_css_class ()

void
gtk_widget_add_css_class (GtkWidget *widget,
                          const char *css_class);

Adds css_class to widget . After calling this function, widget 's style will match for css_class , after the CSS matching rules.

Parameters

widget

a GtkWidget

 

css_class

The style class to add to widget , without the leading '.' used for notation of style classes

 

gtk_widget_remove_css_class ()

void
gtk_widget_remove_css_class (GtkWidget *widget,
                             const char *css_class);

Removes css_class from widget . After this, the style of widget will stop matching for css_class .

Parameters

widget

a GtkWidget

 

css_class

The style class to remove from widget , without the leading '.' used for notation of style classes

 

gtk_widget_has_css_class ()

gboolean
gtk_widget_has_css_class (GtkWidget *widget,
                          const char *css_class);

Returns whether css_class is currently applied to widget .

Parameters

widget

a GtkWidget

 

css_class

A CSS style class, without the leading '.' used for notation of style classes

 

Returns

TRUE if css_class is currently applied to widget , FALSE otherwise.


gtk_widget_get_css_classes ()

char **
gtk_widget_get_css_classes (GtkWidget *widget);

Returns the list of css classes applied to widget .

Parameters

widget

a GtkWidget

 

Returns

a NULL-terminated list of css classes currently applied to widget . The returned list can be freed using g_strfreev().

[transfer full]


gtk_widget_set_css_classes ()

void
gtk_widget_set_css_classes (GtkWidget *widget,
                            const char **classes);

Will clear all css classes applied to widget and replace them with classes .

Parameters

widget

a GtkWidget

 

classes

NULL-terminated list of css classes to apply to widget .

[transfer none][array zero-terminated=1]

gtk_widget_get_style_context ()

GtkStyleContext *
gtk_widget_get_style_context (GtkWidget *widget);

Returns the style context associated to widget . The returned object is guaranteed to be the same for the lifetime of widget .

Parameters

widget

a GtkWidget

 

Returns

a GtkStyleContext. This memory is owned by widget and must not be freed.

[transfer none]


gtk_widget_class_get_css_name ()

const char *
gtk_widget_class_get_css_name (GtkWidgetClass *widget_class);

Gets the name used by this class for matching in CSS code. See gtk_widget_class_set_css_name() for details.

Parameters

widget_class

class to set the name on

 

Returns

the CSS name of the given class


gtk_widget_class_set_css_name ()

void
gtk_widget_class_set_css_name (GtkWidgetClass *widget_class,
                               const char *name);

Sets the name to be used for CSS matching of widgets.

If this function is not called for a given class, the name of the parent class is used.

Parameters

widget_class

class to set the name on

 

name

name to use

 

gtk_requisition_new ()

GtkRequisition *
gtk_requisition_new (void);

Allocates a new GtkRequisition and initializes its elements to zero.

Returns

a new empty GtkRequisition. The newly allocated GtkRequisition should be freed with gtk_requisition_free().


gtk_requisition_copy ()

GtkRequisition *
gtk_requisition_copy (const GtkRequisition *requisition);

Copies a GtkRequisition.

Parameters

requisition

a GtkRequisition

 

Returns

a copy of requisition


gtk_requisition_free ()

void
gtk_requisition_free (GtkRequisition *requisition);

Frees a GtkRequisition.

Parameters

requisition

a GtkRequisition

 

gtk_widget_get_request_mode ()

GtkSizeRequestMode
gtk_widget_get_request_mode (GtkWidget *widget);

Gets whether the widget prefers a height-for-width layout or a width-for-height layout.

GtkBin widgets generally propagate the preference of their child, container widgets need to request something either in context of their children or in context of their allocation capabilities.

Parameters

widget

a GtkWidget instance

 

Returns

The GtkSizeRequestMode preferred by widget .


gtk_widget_get_preferred_size ()

void
gtk_widget_get_preferred_size (GtkWidget *widget,
                               GtkRequisition *minimum_size,
                               GtkRequisition *natural_size);

Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.

This is used to retrieve a suitable size by container widgets which do not impose any restrictions on the child placement. It can be used to deduce toplevel window and menu sizes as well as child widgets in free-form containers such as GtkLayout.

Handle with care. Note that the natural height of a height-for-width widget will generally be a smaller size than the minimum height, since the required height for the natural width is generally smaller than the required height for the minimum width.

Use gtk_widget_measure() if you want to support baseline alignment.

Parameters

widget

a GtkWidget instance

 

minimum_size

location for storing the minimum size, or NULL.

[out][allow-none]

natural_size

location for storing the natural size, or NULL.

[out][allow-none]

gtk_distribute_natural_allocation ()

int
gtk_distribute_natural_allocation (int extra_space,
                                   guint n_requested_sizes,
                                   GtkRequestedSize *sizes);

Distributes extra_space to child sizes by bringing smaller children up to natural size first.

The remaining space will be added to the minimum_size member of the GtkRequestedSize struct. If all sizes reach their natural size then the remaining space is returned.

Parameters

extra_space

Extra space to redistribute among children after subtracting minimum sizes and any child padding from the overall allocation

 

n_requested_sizes

Number of requests to fit into the allocation

 

sizes

An array of structs with a client pointer and a minimum/natural size in the orientation of the allocation.

 

Returns

The remainder of extra_space after redistributing space to sizes .


gtk_widget_get_halign ()

GtkAlign
gtk_widget_get_halign (GtkWidget *widget);

Gets the value of the “halign” property.

For backwards compatibility reasons this method will never return GTK_ALIGN_BASELINE, but instead it will convert it to GTK_ALIGN_FILL. Baselines are not supported for horizontal alignment.

Parameters

widget

a GtkWidget

 

Returns

the horizontal alignment of widget


gtk_widget_set_halign ()

void
gtk_widget_set_halign (GtkWidget *widget,
                       GtkAlign align);

Sets the horizontal alignment of widget . See the “halign” property.

Parameters

widget

a GtkWidget

 

align

the horizontal alignment

 

gtk_widget_get_valign ()

GtkAlign
gtk_widget_get_valign (GtkWidget *widget);

Gets the value of the “valign” property.

Parameters

widget

a GtkWidget

 

Returns

the vertical alignment of widget


gtk_widget_set_valign ()

void
gtk_widget_set_valign (GtkWidget *widget,
                       GtkAlign align);

Sets the vertical alignment of widget . See the “valign” property.

Parameters

widget

a GtkWidget

 

align

the vertical alignment

 

gtk_widget_get_margin_start ()

int
gtk_widget_get_margin_start (GtkWidget *widget);

Gets the value of the “margin-start” property.

Parameters

widget

a GtkWidget

 

Returns

The start margin of widget


gtk_widget_set_margin_start ()

void
gtk_widget_set_margin_start (GtkWidget *widget,
                             int margin);

Sets the start margin of widget . See the “margin-start” property.

Parameters

widget

a GtkWidget

 

margin

the start margin

 

gtk_widget_get_margin_end ()

int
gtk_widget_get_margin_end (GtkWidget *widget);

Gets the value of the “margin-end” property.

Parameters

widget

a GtkWidget

 

Returns

The end margin of widget


gtk_widget_set_margin_end ()

void
gtk_widget_set_margin_end (GtkWidget *widget,
                           int margin);

Sets the end margin of widget . See the “margin-end” property.

Parameters

widget

a GtkWidget

 

margin

the end margin

 

gtk_widget_get_margin_top ()

int
gtk_widget_get_margin_top (GtkWidget *widget);

Gets the value of the “margin-top” property.

Parameters

widget

a GtkWidget

 

Returns

The top margin of widget


gtk_widget_set_margin_top ()

void
gtk_widget_set_margin_top (GtkWidget *widget,
                           int margin);

Sets the top margin of widget . See the “margin-top” property.

Parameters

widget

a GtkWidget

 

margin

the top margin

 

gtk_widget_get_margin_bottom ()

int
gtk_widget_get_margin_bottom (GtkWidget *widget);

Gets the value of the “margin-bottom” property.

Parameters

widget

a GtkWidget

 

Returns

The bottom margin of widget


gtk_widget_set_margin_bottom ()

void
gtk_widget_set_margin_bottom (GtkWidget *widget,
                              int margin);

Sets the bottom margin of widget . See the “margin-bottom” property.

Parameters

widget

a GtkWidget

 

margin

the bottom margin

 

gtk_widget_get_hexpand ()

gboolean
gtk_widget_get_hexpand (GtkWidget *widget);

Gets whether the widget would like any available extra horizontal space. When a user resizes a GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand.

Containers should use gtk_widget_compute_expand() rather than this function, to see whether a widget, or any of its children, has the expand flag set. If any child of a widget wants to expand, the parent may ask to expand also.

This function only looks at the widget’s own hexpand flag, rather than computing whether the entire widget tree rooted at this widget wants to expand.

Parameters

widget

the widget

 

Returns

whether hexpand flag is set


gtk_widget_set_hexpand ()

void
gtk_widget_set_hexpand (GtkWidget *widget,
                        gboolean expand);

Sets whether the widget would like any available extra horizontal space. When a user resizes a GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand.

Call this function to set the expand flag if you would like your widget to become larger horizontally when the window has extra room.

By default, widgets automatically expand if any of their children want to expand. (To see if a widget will automatically expand given its current children and state, call gtk_widget_compute_expand(). A container can decide how the expandability of children affects the expansion of the container by overriding the compute_expand virtual method on GtkWidget.).

Setting hexpand explicitly with this function will override the automatic expand behavior.

This function forces the widget to expand or not to expand, regardless of children. The override occurs because gtk_widget_set_hexpand() sets the hexpand-set property (see gtk_widget_set_hexpand_set()) which causes the widget’s hexpand value to be used, rather than looking at children and widget state.

Parameters

widget

the widget

 

expand

whether to expand

 

gtk_widget_get_hexpand_set ()

gboolean
gtk_widget_get_hexpand_set (GtkWidget *widget);

Gets whether gtk_widget_set_hexpand() has been used to explicitly set the expand flag on this widget.

If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand.

There are few reasons to use this function, but it’s here for completeness and consistency.

Parameters

widget

the widget

 

Returns

whether hexpand has been explicitly set


gtk_widget_set_hexpand_set ()

void
gtk_widget_set_hexpand_set (GtkWidget *widget,
                            gboolean set);

Sets whether the hexpand flag (see gtk_widget_get_hexpand()) will be used.

The hexpand-set property will be set automatically when you call gtk_widget_set_hexpand() to set hexpand, so the most likely reason to use this function would be to unset an explicit expand flag.

If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand.

There are few reasons to use this function, but it’s here for completeness and consistency.

Parameters

widget

the widget

 

set

value for hexpand-set property

 

gtk_widget_get_vexpand ()

gboolean
gtk_widget_get_vexpand (GtkWidget *widget);

Gets whether the widget would like any available extra vertical space.

See gtk_widget_get_hexpand() for more detail.

Parameters

widget

the widget

 

Returns

whether vexpand flag is set


gtk_widget_set_vexpand ()

void
gtk_widget_set_vexpand (GtkWidget *widget,
                        gboolean expand);

Sets whether the widget would like any available extra vertical space.

See gtk_widget_set_hexpand() for more detail.

Parameters

widget

the widget

 

expand

whether to expand

 

gtk_widget_get_vexpand_set ()

gboolean
gtk_widget_get_vexpand_set (GtkWidget *widget);

Gets whether gtk_widget_set_vexpand() has been used to explicitly set the expand flag on this widget.

See gtk_widget_get_hexpand_set() for more detail.

Parameters

widget

the widget

 

Returns

whether vexpand has been explicitly set


gtk_widget_set_vexpand_set ()

void
gtk_widget_set_vexpand_set (GtkWidget *widget,
                            gboolean set);

Sets whether the vexpand flag (see gtk_widget_get_vexpand()) will be used.

See gtk_widget_set_hexpand_set() for more detail.

Parameters

widget

the widget

 

set

value for vexpand-set property

 

gtk_widget_compute_expand ()

gboolean
gtk_widget_compute_expand (GtkWidget *widget,
                           GtkOrientation orientation);

Computes whether a container should give this widget extra space when possible. Containers should check this, rather than looking at gtk_widget_get_hexpand() or gtk_widget_get_vexpand().

This function already checks whether the widget is visible, so visibility does not need to be checked separately. Non-visible widgets are not expanded.

The computed expand value uses either the expand setting explicitly set on the widget itself, or, if none has been explicitly set, the widget may expand if some of its children do.

Parameters

widget

the widget

 

orientation

expand direction

 

Returns

whether widget tree rooted here should be expanded


gtk_widget_init_template ()

void
gtk_widget_init_template (GtkWidget *widget);

Creates and initializes child widgets defined in templates. This function must be called in the instance initializer for any class which assigned itself a template using gtk_widget_class_set_template()

It is important to call this function in the instance initializer of a GtkWidget subclass and not in GObject.constructed() or GObject.constructor() for two reasons.

One reason is that generally derived widgets will assume that parent class composite widgets have been created in their instance initializers.

Another reason is that when calling g_object_new() on a widget with composite templates, it’s important to build the composite widgets before the construct properties are set. Properties passed to g_object_new() should take precedence over properties set in the private template XML.

Parameters

widget

a GtkWidget

 

gtk_widget_class_set_template ()

void
gtk_widget_class_set_template (GtkWidgetClass *widget_class,
                               GBytes *template_bytes);

This should be called at class initialization time to specify the GtkBuilder XML to be used to extend a widget.

For convenience, gtk_widget_class_set_template_from_resource() is also provided.

Note that any class that installs templates must call gtk_widget_init_template() in the widget’s instance initializer.

Parameters

widget_class

A GtkWidgetClass

 

template_bytes

A GBytes holding the GtkBuilder XML

 

gtk_widget_class_set_template_from_resource ()

void
gtk_widget_class_set_template_from_resource
                               (GtkWidgetClass *widget_class,
                                const char *resource_name);

A convenience function to call gtk_widget_class_set_template().

Note that any class that installs templates must call gtk_widget_init_template() in the widget’s instance initializer.

Parameters

widget_class

A GtkWidgetClass

 

resource_name

The name of the resource to load the template from

 

gtk_widget_get_template_child ()

GObject *
gtk_widget_get_template_child (GtkWidget *widget,
                               GType widget_type,
                               const char *name);

Fetch an object build from the template XML for widget_type in this widget instance.

This will only report children which were previously declared with gtk_widget_class_bind_template_child_full() or one of its variants.

This function is only meant to be called for code which is private to the widget_type which declared the child and is meant for language bindings which cannot easily make use of the GObject structure offsets.

Parameters

widget

A GtkWidget

 

widget_type

The GType to get a template child for

 

name

The “id” of the child defined in the template XML

 

Returns

The object built in the template XML with the id name .

[transfer none]


gtk_widget_class_bind_template_child()

#define             gtk_widget_class_bind_template_child(widget_class, TypeName, member_name)

Binds a child widget defined in a template to the widget_class .

This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the member_name inside the TypeName instance structure.

Parameters

widget_class

a GtkWidgetClass

 

TypeName

the type name of this widget

 

member_name

name of the instance member in the instance struct for data_type

 

gtk_widget_class_bind_template_child_internal()

#define             gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name)

Binds a child widget defined in a template to the widget_class , and also makes it available as an internal child in GtkBuilder, under the name member_name .

This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the member_name inside the TypeName instance structure.

Parameters

widget_class

a GtkWidgetClass

 

TypeName

the type name, in CamelCase

 

member_name

name of the instance member in the instance struct for data_type

 

gtk_widget_class_bind_template_child_private()

#define             gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name)

Binds a child widget defined in a template to the widget_class .

This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the member_name inside the TypeName private data structure (it uses G_PRIVATE_OFFSET(), so the private struct must be added with G_ADD_PRIVATE()).

Parameters

widget_class

a GtkWidgetClass

 

TypeName

the type name of this widget

 

member_name

name of the instance private member in the private struct for data_type

 

gtk_widget_class_bind_template_child_internal_private()

#define             gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name)

Binds a child widget defined in a template to the widget_class , and also makes it available as an internal child in GtkBuilder, under the name member_name .

This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function.

This macro will use the offset of the member_name inside the TypeName private data structure.

Parameters

widget_class

a GtkWidgetClass

 

TypeName

the type name, in CamelCase

 

member_name

name of the instance private member on the private struct for data_type

 

gtk_widget_class_bind_template_child_full ()

void
gtk_widget_class_bind_template_child_full
                               (GtkWidgetClass *widget_class,
                                const char *name,
                                gboolean internal_child,
                                gssize struct_offset);

Automatically assign an object declared in the class template XML to be set to a location on a freshly built instance’s private data, or alternatively accessible via gtk_widget_get_template_child().

The struct can point either into the public instance, then you should use G_STRUCT_OFFSET(WidgetType, member) for struct_offset , or in the private struct, then you should use G_PRIVATE_OFFSET(WidgetType, member).

An explicit strong reference will be held automatically for the duration of your instance’s life cycle, it will be released automatically when GObjectClass.dispose() runs on your instance and if a struct_offset that is != 0 is specified, then the automatic location in your instance public or private data will be set to NULL. You can however access an automated child pointer the first time your classes GObjectClass.dispose() runs, or alternatively in GtkWidgetClass.destroy().

If internal_child is specified, GtkBuildableIface.get_internal_child() will be automatically implemented by the GtkWidget class so there is no need to implement it manually.

The wrapper macros gtk_widget_class_bind_template_child(), gtk_widget_class_bind_template_child_internal(), gtk_widget_class_bind_template_child_private() and gtk_widget_class_bind_template_child_internal_private() might be more convenient to use.

Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template().

Parameters

widget_class

A GtkWidgetClass

 

name

The “id” of the child defined in the template XML

 

internal_child

Whether the child should be accessible as an “internal-child” when this class is used in GtkBuilder XML

 

struct_offset

The structure offset into the composite widget’s instance public or private structure where the automated child pointer should be set, or 0 to not assign the pointer.

 

gtk_widget_class_bind_template_callback()

#define             gtk_widget_class_bind_template_callback(widget_class, callback)

Binds a callback function defined in a template to the widget_class .

This macro is a convenience wrapper around the gtk_widget_class_bind_template_callback_full() function. It is not supported after gtk_widget_class_set_template_scope() has been used on widget_class .

Parameters

widget_class

a GtkWidgetClass

 

callback

the callback symbol

 

gtk_widget_class_bind_template_callback_full ()

void
gtk_widget_class_bind_template_callback_full
                               (GtkWidgetClass *widget_class,
                                const char *callback_name,
                                GCallback callback_symbol);

Declares a callback_symbol to handle callback_name from the template XML defined for widget_type . This function is not supported after gtk_widget_class_set_template_scope() has been used on widget_class . See gtk_builder_cscope_add_callback_symbol().

Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template().

Parameters

widget_class

A GtkWidgetClass

 

callback_name

The name of the callback as expected in the template XML

 

callback_symbol

The callback symbol.

[scope async]

gtk_widget_class_set_template_scope ()

void
gtk_widget_class_set_template_scope (GtkWidgetClass *widget_class,
                                     GtkBuilderScope *scope);

For use in language bindings, this will override the default GtkBuilderScope to be used when parsing GtkBuilder XML from this class’s template data.

Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template().

Parameters

widget_class

A GtkWidgetClass

 

scope

The GtkBuilderScope to use when loading the class template.

[transfer none]

gtk_widget_observe_children ()

GListModel *
gtk_widget_observe_children (GtkWidget *widget);

Returns a GListModel to track the children of widget .

Calling this function will enable extra internal bookkeeping to track children and emit signals on the returned listmodel. It may slow down operations a lot.

Applications should try hard to avoid calling this function because of the slowdowns.

Parameters

widget

a GtkWidget

 

Returns

a GListModel tracking widget 's children.

[transfer full][attributes element-type=GtkWidget]


gtk_widget_observe_controllers ()

GListModel *
gtk_widget_observe_controllers (GtkWidget *widget);

Returns a GListModel to track the GtkEventControllers of widget .

Calling this function will enable extra internal bookkeeping to track controllers and emit signals on the returned listmodel. It may slow down operations a lot.

Applications should try hard to avoid calling this function because of the slowdowns.

Parameters

widget

a GtkWidget

 

Returns

a GListModel tracking widget 's controllers.

[transfer full][attributes element-type=GtkEventController]


gtk_widget_insert_action_group ()

void
gtk_widget_insert_action_group (GtkWidget *widget,
                                const char *name,
                                GActionGroup *group);

Inserts group into widget . Children of widget that implement GtkActionable can then be associated with actions in group by setting their “action-name” to prefix .action-name.

Note that inheritance is defined for individual actions. I.e. even if you insert a group with prefix prefix , actions with the same prefix will still be inherited from the parent, unless the group contains an action with the same name.

If group is NULL, a previously inserted group for name is removed from widget .

Parameters

widget

a GtkWidget

 

name

the prefix for actions in group

 

group

a GActionGroup, or NULL.

[allow-none]

gtk_widget_activate_action ()

gboolean
gtk_widget_activate_action (GtkWidget *widget,
                            const char *name,
                            const char *format_string,
                            ...);

Looks up the action in the action groups associated with widget and its ancestors, and activates it.

This is a wrapper around gtk_widget_activate_action_variant() that constructs the args variant according to format_string .

Parameters

widget

a GtkWidget

 

name

the name of the action to activate

 

format_string

GVariant format string for arguments or NULL for no arguments

 

...

arguments, as given by format string

 

Returns

TRUE if the action was activated, FALSE if the action does not exist.


gtk_widget_activate_action_variant ()

gboolean
gtk_widget_activate_action_variant (GtkWidget *widget,
                                    const char *name,
                                    GVariant *args);

Looks up the action in the action groups associated with widget and its ancestors, and activates it.

If the action is in an action group added with gtk_widget_insert_action_group(), the name is expected to be prefixed with the prefix that was used when the group was inserted.

The arguments must match the actions expected parameter type, as returned by g_action_get_parameter_type().

[rename-to gtk_widget_activate_action]

Parameters

widget

a GtkWidget

 

name

the name of the action to activate

 

args

parameters to use, or NULL.

[allow-none]

Returns

TRUE if the action was activated, FALSE if the action does not exist.


gtk_widget_activate_default ()

void
gtk_widget_activate_default (GtkWidget *widget);

Activate the default.activate action from widget .

Parameters

widget

a GtkWidget

 

GtkWidgetActionActivateFunc ()

void
(*GtkWidgetActionActivateFunc) (GtkWidget *widget,
                                const char *action_name,
                                GVariant *parameter);

The type of the callback functions used for activating actions installed with gtk_widget_class_install_action().

The parameter must match the parameter_type of the action.

Parameters

widget

the widget to which the action belongs

 

action_name

the action name

 

parameter

parameter for activation

 

gtk_widget_class_install_action ()

void
gtk_widget_class_install_action (GtkWidgetClass *widget_class,
                                 const char *action_name,
                                 const char *parameter_type,
                                 GtkWidgetActionActivateFunc activate);

This should be called at class initialization time to specify actions to be added for all instances of this class.

Actions installed by this function are stateless. The only state they have is whether they are enabled or not.

Parameters

widget_class

a GtkWidgetClass

 

action_name

a prefixed action name, such as "clipboard.paste"

 

parameter_type

the parameter type, or NULL.

[nullable]

activate

callback to use when the action is activated.

[scope call]

gtk_widget_class_install_property_action ()

void
gtk_widget_class_install_property_action
                               (GtkWidgetClass *widget_class,
                                const char *action_name,
                                const char *property_name);

Installs an action called action_name on widget_class and binds its state to the value of the property_name property.

This function will perform a few santity checks on the property selected via property_name . Namely, the property must exist, must be readable, writable and must not be construct-only. There are also restrictions on the type of the given property, it must be boolean, int, unsigned int, double or string. If any of these conditions are not met, a critical warning will be printed and no action will be added.

The state type of the action matches the property type.

If the property is boolean, the action will have no parameter and toggle the property value. Otherwise, the action will have a parameter of the same type as the property.

Parameters

widget_class

a GtkWidgetClass

 

action_name

name of the action

 

property_name

name of the property in instances of widget_class or any parent class.

 

gtk_widget_class_query_action ()

gboolean
gtk_widget_class_query_action (GtkWidgetClass *widget_class,
                               guint index_,
                               GType *owner,
                               const char **action_name,
                               const GVariantType **parameter_type,
                               const char **property_name);

Queries the actions that have been installed for a widget class using gtk_widget_class_install_action() during class initialization.

Note that this function will also return actions defined by parent classes. You can identify those by looking at owner .

Parameters

widget_class

a GtkWidgetClass

 

index_

position of the action to query

 

owner

return location for the type where the action was defined.

[out]

action_name

return location for the action name.

[out]

parameter_type

return location for the parameter type.

[out]

property_name

return location for the property name.

[out]

Returns

TRUE if the action was found, FALSE if index_ is out of range


gtk_widget_action_set_enabled ()

void
gtk_widget_action_set_enabled (GtkWidget *widget,
                               const char *action_name,
                               gboolean enabled);

Enable or disable an action installed with gtk_widget_class_install_action().

Parameters

widget

a GtkWidget

 

action_name

action name, such as "clipboard.paste"

 

enabled

whether the action is now enabled

 

Types and Values

GtkWidget

typedef struct _GtkWidget GtkWidget;

struct GtkWidgetClass

struct GtkWidgetClass {
  GInitiallyUnownedClass parent_class;

  guint activate_signal;

  /* basics */
  void (* show)                (GtkWidget        *widget);
  void (* hide)                (GtkWidget        *widget);
  void (* map)                 (GtkWidget        *widget);
  void (* unmap)               (GtkWidget        *widget);
  void (* realize)             (GtkWidget        *widget);
  void (* unrealize)           (GtkWidget        *widget);
  void (* root)                (GtkWidget        *widget);
  void (* unroot)              (GtkWidget        *widget);
  void (* size_allocate)       (GtkWidget           *widget,
                                int                  width,
                                int                  height,
                                int                  baseline);
  void (* state_flags_changed) (GtkWidget        *widget,
                                GtkStateFlags     previous_state_flags);
  void (* direction_changed)   (GtkWidget        *widget,
                                GtkTextDirection  previous_direction);

  /* size requests */
  GtkSizeRequestMode (* get_request_mode)               (GtkWidget      *widget);
  void              (* measure) (GtkWidget      *widget,
                                 GtkOrientation  orientation,
                                 int             for_size,
                                 int            *minimum,
                                 int            *natural,
                                 int            *minimum_baseline,
                                 int            *natural_baseline);

  /* Mnemonics */
  gboolean (* mnemonic_activate)        (GtkWidget           *widget,
                                         gboolean             group_cycling);

  /* explicit focus */
  gboolean (* grab_focus)               (GtkWidget           *widget);
  gboolean (* focus)                    (GtkWidget           *widget,
                                         GtkDirectionType     direction);
  void     (* set_focus_child)          (GtkWidget           *widget,
                                         GtkWidget           *child);

  /* keyboard navigation */
  void     (* move_focus)               (GtkWidget           *widget,
                                         GtkDirectionType     direction);
  gboolean (* keynav_failed)            (GtkWidget           *widget,
                                         GtkDirectionType     direction);

  gboolean     (* query_tooltip)      (GtkWidget  *widget,
                                       int         x,
                                       int         y,
                                       gboolean    keyboard_tooltip,
                                       GtkTooltip *tooltip);

  void         (* compute_expand)     (GtkWidget  *widget,
                                       gboolean   *hexpand_p,
                                       gboolean   *vexpand_p);

  void         (* css_changed)                 (GtkWidget            *widget,
                                                GtkCssStyleChange    *change);

  void         (* system_setting_changed)      (GtkWidget            *widget,
                                                GtkSystemSetting      settings);

  void         (* snapshot)                    (GtkWidget            *widget,
                                                GtkSnapshot          *snapshot);

  gboolean     (* contains)                    (GtkWidget *widget,
                                                double     x,
                                                double     y);
};

Members

guint activate_signal;

The signal to emit when a widget of this class is activated, gtk_widget_activate() handles the emission. Implementation of this signal is optional.

 

show ()

Signal emitted when widget is shown

 

hide ()

Signal emitted when widget is hidden.

 

map ()

Signal emitted when widget is going to be mapped, that is when the widget is visible (which is controlled with gtk_widget_set_visible()) and all its parents up to the toplevel widget are also visible.

 

unmap ()

Signal emitted when widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden.

 

realize ()

Signal emitted when widget is associated with a GdkSurface, which means that gtk_widget_realize() has been called or the widget has been mapped (that is, it is going to be drawn).

 

unrealize ()

Signal emitted when the GdkSurface associated with widget is destroyed, which means that gtk_widget_unrealize() has been called or the widget has been unmapped (that is, it is going to be hidden).

 

root ()

Called when the widget gets added to a GtkRoot widget. Must chain up

 

unroot ()

Called when the widget is about to be removed from its GtkRoot widget. Must chain up

 

size_allocate ()

Signal emitted to get the widget allocation.

 

state_flags_changed ()

Signal emitted when the widget state changes, see gtk_widget_get_state_flags().

 

direction_changed ()

Signal emitted when the text direction of a widget changes.

 

get_request_mode ()

This allows a widget to tell its parent container whether it prefers to be allocated in GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to have GtkWidgetClass.measure() called first to get the default width (passing a for_size of -1), then again to get the height for said default width. GTK_SIZE_REQUEST_CONSTANT_SIZE disables any height-for-width or width-for-height geometry management for said widget and is the default return. It’s important to note that any widget which trades height-for-width or width-for-height must respond properly to a for_size value >= -1 passed to GtkWidgetClass.measure, for both possible orientations.

 

measure ()

This is called by containers to obtain the minimum and natural size of the widget. Depending on the orientation parameter, the passed for_size can be interpreted as width or height. A widget will never be allocated less than its minimum size.

 

mnemonic_activate ()

Activates the widget if group_cycling is FALSE, and just grabs the focus if group_cycling is TRUE.

 

grab_focus ()

Causes widget to have the keyboard focus for the GtkWindow it’s inside.

 

focus ()

Vfunc for gtk_widget_child_focus()

 

set_focus_child ()

Sets the focused child of a widget. Must chain up

 

move_focus ()

Signal emitted when a change of focus is requested

 

keynav_failed ()

Signal emitted if keyboard navigation fails.

 

query_tooltip ()

Signal emitted when “has-tooltip” is TRUE and the hover timeout has expired with the cursor hovering “above” widget; or emitted when widget got focus in keyboard mode.

 

compute_expand ()

Computes whether a container should give this widget extra space when possible.

 

css_changed ()

Vfunc called when the CSS used by widget was changed. Widgets should then discard their caches that depend on CSS and queue resizes or redraws accordingly. The default implementation will take care of this for all the default CSS properties, so implementations must chain up.

 

system_setting_changed ()

Emitted when a system setting was changed. Must chain up.

 

snapshot ()

Vfunc called when a new snapshot of the widget has to be taken.

 

contains ()

Vfunc for gtk_widget_contains().

 

GtkRequisition

typedef struct {
  int width;
  int height;
} GtkRequisition;

A GtkRequisition represents the desired size of a widget. See GtkWidget’s geometry management section for more information.

Members

int width;

the widget’s desired width

 

int height;

the widget’s desired height

 

GtkAllocation

typedef         GdkRectangle       GtkAllocation;

A GtkAllocation of a widget represents region which has been allocated to the widget by its parent. It is a subregion of its parents allocation. See GtkWidget’s geometry management section for more information.


enum GtkTextDirection

Reading directions for text.

Members

GTK_TEXT_DIR_NONE

No direction.

 

GTK_TEXT_DIR_LTR

Left to right text direction.

 

GTK_TEXT_DIR_RTL

Right to left text direction.

 

enum GtkPickFlags

Flags that influence the behavior of gtk_widget_pick()

Members

GTK_PICK_DEFAULT

The default behavior, include widgets that are receiving events

 

GTK_PICK_INSENSITIVE

Include widgets that are insensitive

 

GTK_PICK_NON_TARGETABLE

Include widgets that are marked as non-targetable. See “can-target”

 

enum GtkOverflow

Defines how content overflowing a given area should be handled, such as with gtk_widget_set_overflow(). This property is modeled after the CSS overflow property, but implements it only partially.

Members

GTK_OVERFLOW_VISIBLE

No change is applied. Content is drawn at the specified position.

 

GTK_OVERFLOW_HIDDEN

Content is clipped to the bounds of the area. Content outside the area is not drawn and cannot be interacted with.

 

enum GtkSizeRequestMode

Specifies a preference for height-for-width or width-for-height geometry management.

Members

GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH

Prefer height-for-width geometry management

 

GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT

Prefer width-for-height geometry management

 

GTK_SIZE_REQUEST_CONSTANT_SIZE

Don’t trade height-for-width or width-for-height

 

struct GtkRequestedSize

struct GtkRequestedSize {
  gpointer data;
  int      minimum_size;
  int      natural_size;
};

Represents a request of a screen object in a given orientation. These are primarily used in container implementations when allocating a natural size for children calling. See gtk_distribute_natural_allocation().

Members

gpointer data;

A client pointer

 

int minimum_size;

The minimum size needed for allocation in a given orientation

 

int natural_size;

The natural size for allocation in a given orientation

 

enum GtkAlign

Controls how a widget deals with extra space in a single (x or y) dimension.

Alignment only matters if the widget receives a “too large” allocation, for example if you packed the widget with the “expand” flag inside a GtkBox, then the widget might get extra space. If you have for example a 16x16 icon inside a 32x32 space, the icon could be scaled and stretched, it could be centered, or it could be positioned to one side of the space.

Note that in horizontal context GTK_ALIGN_START and GTK_ALIGN_END are interpreted relative to text direction.

GTK_ALIGN_BASELINE support is optional for containers and widgets, and it is only supported for vertical alignment. When it's not supported by a child or a container it is treated as GTK_ALIGN_FILL .

Members

GTK_ALIGN_FILL

stretch to fill all space if possible, center if no meaningful way to stretch

 

GTK_ALIGN_START

snap to left or top side, leaving space on right or bottom

 

GTK_ALIGN_END

snap to right or bottom side, leaving space on left or top

 

GTK_ALIGN_CENTER

center natural width of widget inside the allocation

 

GTK_ALIGN_BASELINE

align the widget according to the baseline. See GtkWidget

 

Property Details

The “can-focus” property

  “can-focus”                gboolean

Whether the widget or any of its descendents can accept the input focus.

Owner: GtkWidget

Flags: Read / Write

Default value: TRUE


The “can-target” property

  “can-target”               gboolean

Whether the widget can receive pointer events.

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “css-classes” property

  “css-classes”              GStrv

A list of css classes applied to this widget.

Owner: GtkWidget

Flags: Read / Write


The “css-name” property

  “css-name”                 gchar *

The name of this widget in the CSS tree.

Owner: GtkWidget

Flags: Read / Write / Construct Only

Default value: NULL


The “cursor” property

  “cursor”                   GdkCursor *

The cursor used by widget . See gtk_widget_set_cursor() for details.

Owner: GtkWidget

Flags: Read / Write


The “focus-on-click” property

  “focus-on-click”           gboolean

Whether the widget should grab focus when it is clicked with the mouse.

This property is only relevant for widgets that can take focus.

Owner: GtkWidget

Flags: Read / Write

Default value: TRUE


The “focusable” property

  “focusable”                gboolean

Whether this widget itself will accept the input focus.

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “halign” property

  “halign”                   GtkAlign

How to distribute horizontal space if widget gets extra space, see GtkAlign

Owner: GtkWidget

Flags: Read / Write

Default value: GTK_ALIGN_FILL


The “has-default” property

  “has-default”              gboolean

Whether the widget is the default widget.

Owner: GtkWidget

Flags: Read

Default value: FALSE


The “has-focus” property

  “has-focus”                gboolean

Whether the widget has the input focus.

Owner: GtkWidget

Flags: Read

Default value: FALSE


The “has-tooltip” property

  “has-tooltip”              gboolean

Enables or disables the emission of “query-tooltip” on widget . A value of TRUE indicates that widget can have a tooltip, in this case the widget will be queried using “query-tooltip” to determine whether it will provide a tooltip or not.

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “height-request” property

  “height-request”           gint

Override for height request of the widget, or -1 if natural request should be used.

Owner: GtkWidget

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “hexpand” property

  “hexpand”                  gboolean

Whether to expand horizontally. See gtk_widget_set_hexpand().

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “hexpand-set” property

  “hexpand-set”              gboolean

Whether to use the “hexpand” property. See gtk_widget_get_hexpand_set().

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “layout-manager” property

  “layout-manager”           GtkLayoutManager *

The GtkLayoutManager instance to use to compute the preferred size of the widget, and allocate its children.

Owner: GtkWidget

Flags: Read / Write


The “margin-bottom” property

  “margin-bottom”            gint

Margin on bottom side of widget.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Owner: GtkWidget

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “margin-end” property

  “margin-end”               gint

Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Owner: GtkWidget

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “margin-start” property

  “margin-start”             gint

Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Owner: GtkWidget

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “margin-top” property

  “margin-top”               gint

Margin on top side of widget.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Owner: GtkWidget

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “name” property

  “name”                     gchar *

The name of the widget.

Owner: GtkWidget

Flags: Read / Write

Default value: NULL


The “opacity” property

  “opacity”                  gdouble

The requested opacity of the widget. See gtk_widget_set_opacity() for more details about window opacity.

Before 3.8 this was only available in GtkWindow

Owner: GtkWidget

Flags: Read / Write

Allowed values: [0,1]

Default value: 1


The “overflow” property

  “overflow”                 GtkOverflow

How content outside the widget's content area is treated.

Owner: GtkWidget

Flags: Read / Write

Default value: GTK_OVERFLOW_VISIBLE


The “parent” property

  “parent”                   GtkWidget *

The parent widget of this widget.

Owner: GtkWidget

Flags: Read


The “receives-default” property

  “receives-default”         gboolean

If TRUE, the widget will receive the default action when it is focused.

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “root” property

  “root”                     GtkRoot *

The GtkRoot widget of the widget tree containing this widget or NULL if the widget is not contained in a root widget.

Owner: GtkWidget

Flags: Read


The “scale-factor” property

  “scale-factor”             gint

The scale factor of the widget. See gtk_widget_get_scale_factor() for more details about widget scaling.

Owner: GtkWidget

Flags: Read

Allowed values: >= 1

Default value: 1


The “sensitive” property

  “sensitive”                gboolean

Whether the widget responds to input.

Owner: GtkWidget

Flags: Read / Write

Default value: TRUE


The “tooltip-markup” property

  “tooltip-markup”           gchar *

Sets the text of tooltip to be the given string, which is marked up with the Pango text markup language. Also see gtk_tooltip_set_markup().

This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: “has-tooltip” will automatically be set to TRUE and there will be taken care of “query-tooltip” in the default signal handler.

Note that if both “tooltip-text” and “tooltip-markup” are set, the last one wins.

Owner: GtkWidget

Flags: Read / Write

Default value: NULL


The “tooltip-text” property

  “tooltip-text”             gchar *

Sets the text of tooltip to be the given string.

Also see gtk_tooltip_set_text().

This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: “has-tooltip” will automatically be set to TRUE and there will be taken care of “query-tooltip” in the default signal handler.

Note that if both “tooltip-text” and “tooltip-markup” are set, the last one wins.

Owner: GtkWidget

Flags: Read / Write

Default value: NULL


The “valign” property

  “valign”                   GtkAlign

How to distribute vertical space if widget gets extra space, see GtkAlign

Owner: GtkWidget

Flags: Read / Write

Default value: GTK_ALIGN_FILL


The “vexpand” property

  “vexpand”                  gboolean

Whether to expand vertically. See gtk_widget_set_vexpand().

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “vexpand-set” property

  “vexpand-set”              gboolean

Whether to use the “vexpand” property. See gtk_widget_get_vexpand_set().

Owner: GtkWidget

Flags: Read / Write

Default value: FALSE


The “visible” property

  “visible”                  gboolean

Whether the widget is visible.

Owner: GtkWidget

Flags: Read / Write

Default value: TRUE


The “width-request” property

  “width-request”            gint

Override for width request of the widget, or -1 if natural request should be used.

Owner: GtkWidget

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “destroy” signal

void
user_function (GtkWidget *object,
               gpointer   user_data)

Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.

This signal is not suitable for saving widget state.

Parameters

object

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: No Hooks


The “direction-changed” signal

void
user_function (GtkWidget       *widget,
               GtkTextDirection previous_direction,
               gpointer         user_data)

The ::direction-changed signal is emitted when the text direction of a widget changes.

Parameters

widget

the object on which the signal is emitted

 

previous_direction

the previous text direction of widget

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “hide” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::hide signal is emitted when widget is hidden, for example with gtk_widget_hide().

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “keynav-failed” signal

gboolean
user_function (GtkWidget       *widget,
               GtkDirectionType direction,
               gpointer         user_data)

Gets emitted if keyboard navigation fails. See gtk_widget_keynav_failed() for details.

Parameters

widget

the object which received the signal

 

direction

the direction of movement

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if stopping keyboard navigation is fine, FALSE if the emitting widget should try to handle the keyboard navigation attempt in its parent widget(s).

Flags: Run Last


The “map” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::map signal is emitted when widget is going to be mapped, that is when the widget is visible (which is controlled with gtk_widget_set_visible()) and all its parents up to the toplevel widget are also visible.

The ::map signal can be used to determine whether a widget will be drawn, for instance it can resume an animation that was stopped during the emission of “unmap”.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “mnemonic-activate” signal

gboolean
user_function (GtkWidget *widget,
               gboolean   group_cycling,
               gpointer   user_data)

The default handler for this signal activates widget if group_cycling is FALSE, or just makes widget grab focus if group_cycling is TRUE.

Parameters

widget

the object which received the signal.

 

group_cycling

TRUE if there are other widgets with the same mnemonic

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.

Flags: Run Last


The “move-focus” signal

void
user_function (GtkWidget       *widget,
               GtkDirectionType direction,
               gpointer         user_data)

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “query-tooltip” signal

gboolean
user_function (GtkWidget  *widget,
               gint        x,
               gint        y,
               gboolean    keyboard_mode,
               GtkTooltip *tooltip,
               gpointer    user_data)

Emitted when “has-tooltip” is TRUE and the hover timeout has expired with the cursor hovering "above" widget ; or emitted when widget got focus in keyboard mode.

Using the given coordinates, the signal handler should determine whether a tooltip should be shown for widget . If this is the case TRUE should be returned, FALSE otherwise. Note that if keyboard_mode is TRUE, the values of x and y are undefined and should not be used.

The signal handler is free to manipulate tooltip with the therefore destined function calls.

Parameters

widget

the object which received the signal

 

x

the x coordinate of the cursor position where the request has been emitted, relative to widget 's left side

 

y

the y coordinate of the cursor position where the request has been emitted, relative to widget 's top

 

keyboard_mode

TRUE if the tooltip was triggered using the keyboard

 

tooltip

a GtkTooltip

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if tooltip should be shown right now, FALSE otherwise.

Flags: Run Last


The “realize” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::realize signal is emitted when widget is associated with a GdkSurface, which means that gtk_widget_realize() has been called or the widget has been mapped (that is, it is going to be drawn).

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “show” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::show signal is emitted when widget is shown, for example with gtk_widget_show().

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “state-flags-changed” signal

void
user_function (GtkWidget    *widget,
               GtkStateFlags flags,
               gpointer      user_data)

The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().

Parameters

widget

the object which received the signal.

 

flags

The previous state flags.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “unmap” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::unmap signal is emitted when widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden.

As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “unrealize” signal

void
user_function (GtkWidget *widget,
               gpointer   user_data)

The ::unrealize signal is emitted when the GdkSurface associated with widget is destroyed, which means that gtk_widget_unrealize() has been called or the widget has been unmapped (that is, it is going to be hidden).

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkRange.html0000664000175000017500000016167213710700534017732 0ustar mclasenmclasen GtkRange: GTK 4 Reference Manual

GtkRange

GtkRange — Base class for widgets which visualize an adjustment

Properties

GtkAdjustment * adjustment Read / Write / Construct
gdouble fill-level Read / Write
gboolean inverted Read / Write
gboolean restrict-to-fill-level Read / Write
gint round-digits Read / Write
gboolean show-fill-level Read / Write

Signals

void adjust-bounds Run Last
gboolean change-value Run Last
void move-slider Action
void value-changed Run Last

Types and Values

struct GtkRange

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkRange
                ╰── GtkScale

Implemented Interfaces

GtkRange implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkRange is the common base class for widgets which visualize an adjustment, e.g GtkScale or GtkScrollbar.

Apart from signals for monitoring the parameters of the adjustment, GtkRange provides properties and methods for setting a “fill level” on range widgets. See gtk_range_set_fill_level().

Functions

gtk_range_get_fill_level ()

double
gtk_range_get_fill_level (GtkRange *range);

Gets the current position of the fill level indicator.

Parameters

range

A GtkRange

 

Returns

The current fill level


gtk_range_get_restrict_to_fill_level ()

gboolean
gtk_range_get_restrict_to_fill_level (GtkRange *range);

Gets whether the range is restricted to the fill level.

Parameters

range

A GtkRange

 

Returns

TRUE if range is restricted to the fill level.


gtk_range_get_show_fill_level ()

gboolean
gtk_range_get_show_fill_level (GtkRange *range);

Gets whether the range displays the fill level graphically.

Parameters

range

A GtkRange

 

Returns

TRUE if range shows the fill level.


gtk_range_set_fill_level ()

void
gtk_range_set_fill_level (GtkRange *range,
                          double fill_level);

Set the new position of the fill level indicator.

The “fill level” is probably best described by its most prominent use case, which is an indicator for the amount of pre-buffering in a streaming media player. In that use case, the value of the range would indicate the current play position, and the fill level would be the position up to which the file/stream has been downloaded.

This amount of prebuffering can be displayed on the range’s trough and is themeable separately from the trough. To enable fill level display, use gtk_range_set_show_fill_level(). The range defaults to not showing the fill level.

Additionally, it’s possible to restrict the range’s slider position to values which are smaller than the fill level. This is controller by gtk_range_set_restrict_to_fill_level() and is by default enabled.

Parameters

range

a GtkRange

 

fill_level

the new position of the fill level indicator

 

gtk_range_set_restrict_to_fill_level ()

void
gtk_range_set_restrict_to_fill_level (GtkRange *range,
                                      gboolean restrict_to_fill_level);

Sets whether the slider is restricted to the fill level. See gtk_range_set_fill_level() for a general description of the fill level concept.

Parameters

range

A GtkRange

 

restrict_to_fill_level

Whether the fill level restricts slider movement.

 

gtk_range_set_show_fill_level ()

void
gtk_range_set_show_fill_level (GtkRange *range,
                               gboolean show_fill_level);

Sets whether a graphical fill level is show on the trough. See gtk_range_set_fill_level() for a general description of the fill level concept.

Parameters

range

A GtkRange

 

show_fill_level

Whether a fill level indicator graphics is shown.

 

gtk_range_get_adjustment ()

GtkAdjustment *
gtk_range_get_adjustment (GtkRange *range);

Get the GtkAdjustment which is the “model” object for GtkRange. See gtk_range_set_adjustment() for details. The return value does not have a reference added, so should not be unreferenced.

Parameters

range

a GtkRange

 

Returns

a GtkAdjustment.

[transfer none]


gtk_range_set_adjustment ()

void
gtk_range_set_adjustment (GtkRange *range,
                          GtkAdjustment *adjustment);

Sets the adjustment to be used as the “model” object for this range widget. The adjustment indicates the current range value, the minimum and maximum range values, the step/page increments used for keybindings and scrolling, and the page size. The page size is normally 0 for GtkScale and nonzero for GtkScrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider.

Parameters

range

a GtkRange

 

adjustment

a GtkAdjustment

 

gtk_range_get_inverted ()

gboolean
gtk_range_get_inverted (GtkRange *range);

Gets the value set by gtk_range_set_inverted().

Parameters

range

a GtkRange

 

Returns

TRUE if the range is inverted


gtk_range_set_inverted ()

void
gtk_range_set_inverted (GtkRange *range,
                        gboolean setting);

Ranges normally move from lower to higher values as the slider moves from top to bottom or left to right. Inverted ranges have higher values at the top or on the right rather than on the bottom or left.

Parameters

range

a GtkRange

 

setting

TRUE to invert the range

 

gtk_range_get_value ()

double
gtk_range_get_value (GtkRange *range);

Gets the current value of the range.

Parameters

range

a GtkRange

 

Returns

current value of the range.


gtk_range_set_value ()

void
gtk_range_set_value (GtkRange *range,
                     double value);

Sets the current value of the range; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The range emits the “value-changed” signal if the value changes.

Parameters

range

a GtkRange

 

value

new value of the range

 

gtk_range_set_increments ()

void
gtk_range_set_increments (GtkRange *range,
                          double step,
                          double page);

Sets the step and page sizes for the range. The step size is used when the user clicks the GtkScrollbar arrows or moves GtkScale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys.

Parameters

range

a GtkRange

 

step

step size

 

page

page size

 

gtk_range_set_range ()

void
gtk_range_set_range (GtkRange *range,
                     double min,
                     double max);

Sets the allowable values in the GtkRange, and clamps the range value to be between min and max . (If the range has a non-zero page size, it is clamped between min and max - page-size.)

Parameters

range

a GtkRange

 

min

minimum range value

 

max

maximum range value

 

gtk_range_get_round_digits ()

int
gtk_range_get_round_digits (GtkRange *range);

Gets the number of digits to round the value to when it changes. See “change-value”.

Parameters

range

a GtkRange

 

Returns

the number of digits to round to


gtk_range_set_round_digits ()

void
gtk_range_set_round_digits (GtkRange *range,
                            int round_digits);

Sets the number of digits to round the value to when it changes. See “change-value”.

Parameters

range

a GtkRange

 

round_digits

the precision in digits, or -1

 

gtk_range_get_flippable ()

gboolean
gtk_range_get_flippable (GtkRange *range);

Gets the value set by gtk_range_set_flippable().

Parameters

range

a GtkRange

 

Returns

TRUE if the range is flippable


gtk_range_set_flippable ()

void
gtk_range_set_flippable (GtkRange *range,
                         gboolean flippable);

If a range is flippable, it will switch its direction if it is horizontal and its direction is GTK_TEXT_DIR_RTL.

See gtk_widget_get_direction().

Parameters

range

a GtkRange

 

flippable

TRUE to make the range flippable

 

gtk_range_get_range_rect ()

void
gtk_range_get_range_rect (GtkRange *range,
                          GdkRectangle *range_rect);

This function returns the area that contains the range’s trough, in coordinates relative to range 's origin.

This function is useful mainly for GtkRange subclasses.

Parameters

range

a GtkRange

 

range_rect

return location for the range rectangle.

[out]

gtk_range_get_slider_range ()

void
gtk_range_get_slider_range (GtkRange *range,
                            int *slider_start,
                            int *slider_end);

This function returns sliders range along the long dimension, in widget->window coordinates.

This function is useful mainly for GtkRange subclasses.

Parameters

range

a GtkRange

 

slider_start

return location for the slider's start, or NULL.

[out][allow-none]

slider_end

return location for the slider's end, or NULL.

[out][allow-none]

gtk_range_get_slider_size_fixed ()

gboolean
gtk_range_get_slider_size_fixed (GtkRange *range);

This function is useful mainly for GtkRange subclasses.

See gtk_range_set_slider_size_fixed().

Parameters

range

a GtkRange

 

Returns

whether the range’s slider has a fixed size.


gtk_range_set_slider_size_fixed ()

void
gtk_range_set_slider_size_fixed (GtkRange *range,
                                 gboolean size_fixed);

Sets whether the range’s slider has a fixed size, or a size that depends on its adjustment’s page size.

This function is useful mainly for GtkRange subclasses.

Parameters

range

a GtkRange

 

size_fixed

TRUE to make the slider size constant

 

Types and Values

struct GtkRange

struct GtkRange;

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The GtkAdjustment that contains the current value of this range object.

Owner: GtkRange

Flags: Read / Write / Construct


The “fill-level” property

  “fill-level”               gdouble

The fill level (e.g. prebuffering of a network stream). See gtk_range_set_fill_level().

Owner: GtkRange

Flags: Read / Write

Default value: 1.79769e+308


The “inverted” property

  “inverted”                 gboolean

Invert direction slider moves to increase range value.

Owner: GtkRange

Flags: Read / Write

Default value: FALSE


The “restrict-to-fill-level” property

  “restrict-to-fill-level”   gboolean

The restrict-to-fill-level property controls whether slider movement is restricted to an upper boundary set by the fill level. See gtk_range_set_restrict_to_fill_level().

Owner: GtkRange

Flags: Read / Write

Default value: TRUE


The “round-digits” property

  “round-digits”             gint

The number of digits to round the value to when it changes, or -1. See “change-value”.

Owner: GtkRange

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “show-fill-level” property

  “show-fill-level”          gboolean

The show-fill-level property controls whether fill level indicator graphics are displayed on the trough. See gtk_range_set_show_fill_level().

Owner: GtkRange

Flags: Read / Write

Default value: FALSE

Signal Details

The “adjust-bounds” signal

void
user_function (GtkRange *range,
               gdouble   value,
               gpointer  user_data)

Emitted before clamping a value, to give the application a chance to adjust the bounds.

Parameters

range

the GtkRange that received the signal

 

value

the value before we clamp

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “change-value” signal

gboolean
user_function (GtkRange     *range,
               GtkScrollType scroll,
               gdouble       value,
               gpointer      user_data)

The “change-value” signal is emitted when a scroll action is performed on a range. It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return TRUE to prevent further processing. Or, by returning FALSE, it can pass the event to other handlers until the default GTK+ handler is reached.

The value parameter is unrounded. An application that overrides the GtkRange::change-value signal is responsible for clamping the value to the desired number of decimal digits; the default GTK+ handler clamps the value based on “round-digits”.

Parameters

range

the GtkRange that received the signal

 

scroll

the type of scroll action that was performed

 

value

the new value resulting from the scroll action

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to prevent other handlers from being invoked for the signal, FALSE to propagate the signal further

Flags: Run Last


The “move-slider” signal

void
user_function (GtkRange     *range,
               GtkScrollType step,
               gpointer      user_data)

Virtual function that moves the slider. Used for keybindings.

Parameters

range

the GtkRange that received the signal

 

step

how to move the slider

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “value-changed” signal

void
user_function (GtkRange *range,
               gpointer  user_data)

Emitted when the range value changes.

Parameters

range

the GtkRange that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkIconTheme.html0000664000175000017500000017144213710700534020545 0ustar mclasenmclasen GtkIconTheme: GTK 4 Reference Manual

GtkIconTheme

GtkIconTheme — Looking up icons by name

Properties

GdkDisplay * display Read / Write
GStrv icon-names Read
GStrv resource-path Read / Write
GStrv search-path Read / Write
gchar * theme-name Read / Write

Signals

void changed Run Last

Object Hierarchy

    GObject
    ╰── GtkIconTheme

Includes

#include <gtk/gtk.h>

Description

GtkIconTheme provides a facility for looking up icons by name and size. The main reason for using a name rather than simply providing a filename is to allow different icons to be used depending on what “icon theme” is selected by the user. The operation of icon themes on Linux and Unix follows the Icon Theme Specification There is a fallback icon theme, named hicolor, where applications should install their icons, but additional icon themes can be installed as operating system vendors and users choose.

In many cases, named themes are used indirectly, via GtkImage rather than directly, but looking up icons directly is also simple. The GtkIconTheme object acts as a database of all the icons in the current theme. You can create new GtkIconTheme objects, but it’s much more efficient to use the standard icon theme of the GtkWidget so that the icon information is shared with other people looking up icons.

1
2
3
4
5
6
7
8
9
10
11
12
13
GtkIconTheme *icon_theme;
GtkIconPaintable *icon;
GdkPaintable *paintable;

icon_theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (my_widget));
icon = gtk_icon_theme_lookup_icon (icon_theme,
                                   "my-icon-name", // icon name
                                   48, // icon size
                                   1,  // scale
                                   0,  // flags);
 paintable = GDK_PAINTABLE (icon);
 // Use the paintable
 g_object_unref (icon);

Functions

gtk_icon_theme_new ()

GtkIconTheme *
gtk_icon_theme_new (void);

Creates a new icon theme object. Icon theme objects are used to lookup up an icon by name in a particular icon theme. Usually, you’ll want to use gtk_icon_theme_get_for_display() rather than creating a new icon theme object for scratch.

Returns

the newly created GtkIconTheme object.


gtk_icon_theme_get_for_display ()

GtkIconTheme *
gtk_icon_theme_get_for_display (GdkDisplay *display);

Gets the icon theme object associated with display ; if this function has not previously been called for the given display, a new icon theme object will be created and associated with the display. Icon theme objects are fairly expensive to create, so using this function is usually a better choice than calling than gtk_icon_theme_new() and setting the display yourself; by using this function a single icon theme object will be shared between users.

Parameters

display

a GdkDisplay

 

Returns

A unique GtkIconTheme associated with the given display. This icon theme is associated with the display and can be used as long as the display is open. Do not ref or unref it.

[transfer none]


gtk_icon_theme_set_search_path ()

void
gtk_icon_theme_set_search_path (GtkIconTheme *self,
                                const char * const *path);

Sets the search path for the icon theme object. When looking for an icon theme, GTK will search for a subdirectory of one or more of the directories in path with the same name as the icon theme containing an index.theme file. (Themes from multiple of the path elements are combined to allow themes to be extended by adding icons in the user’s home directory.)

In addition if an icon found isn’t found either in the current icon theme or the default icon theme, and an image file with the right name is found directly in one of the elements of path , then that image will be used for the icon name. (This is legacy feature, and new icons should be put into the fallback icon theme, which is called hicolor, rather than directly on the icon path.)

Parameters

self

a GtkIconTheme

 

path

NULL-terminated array of directories that are searched for icon themes.

[array zero-terminated=1][element-type filename][nullable]

gtk_icon_theme_get_search_path ()

char **
gtk_icon_theme_get_search_path (GtkIconTheme *self);

Gets the current search path. See gtk_icon_theme_set_search_path().

Parameters

self

a GtkIconTheme

 

Returns

a list of icon theme path directories or NULL. The returned value should be freed with g_strfreev().

[transfer full][array zero-terminated=1][element-type filename][nullable]


gtk_icon_theme_add_search_path ()

void
gtk_icon_theme_add_search_path (GtkIconTheme *self,
                                const char *path);

Appends a directory to the search path. See gtk_icon_theme_set_search_path().

Parameters

self

a GtkIconTheme

 

path

directory name to append to the icon path.

[type filename]

gtk_icon_theme_set_resource_path ()

void
gtk_icon_theme_set_resource_path (GtkIconTheme *self,
                                  const char * const *path);

Sets the resource paths that will be looked at when looking for icons, similar to search paths.

The resources are considered as part of the hicolor icon theme and must be located in subdirectories that are defined in the hicolor icon theme, such as @path/16x16/actions/run.png. Icons that are directly placed in the resource path instead of a subdirectory are also considered as ultimate fallback.

Parameters

self

a GtkIconTheme

 

path

NULL-terminated array of resource paths that are searched for icons

 

gtk_icon_theme_get_resource_path ()

char **
gtk_icon_theme_get_resource_path (GtkIconTheme *self);

Gets the current resource path.

See gtk_icon_theme_set_resource_path().

Parameters

self

a GtkIconTheme

 

Returns

A list of resource paths or NULL. The returned value should be freed with g_strfreev().

[transfer full][array zero-terminated=1][element-type utf8][nullable]


gtk_icon_theme_add_resource_path ()

void
gtk_icon_theme_add_resource_path (GtkIconTheme *self,
                                  const char *path);

Adds a resource path that will be looked at when looking for icons, similar to search paths.

See gtk_icon_theme_set_resource_path().

This function should be used to make application-specific icons available as part of the icon theme.

Parameters

self

a GtkIconTheme

 

path

a resource path

 

gtk_icon_theme_set_theme_name ()

void
gtk_icon_theme_set_theme_name (GtkIconTheme *self,
                               const char *theme_name);

Sets the name of the icon theme that the GtkIconTheme object uses overriding system configuration. This function cannot be called on the icon theme objects returned from gtk_icon_theme_get_for_display().

Parameters

self

a GtkIconTheme

 

theme_name

name of icon theme to use instead of configured theme, or NULL to unset a previously set custom theme.

[allow-none]

gtk_icon_theme_get_theme_name ()

char *
gtk_icon_theme_get_theme_name (GtkIconTheme *self);

Gets the current icon theme name.

Returns (transfer full): the current icon theme name,

Parameters

self

a GtkIconTheme

 

gtk_icon_theme_has_icon ()

gboolean
gtk_icon_theme_has_icon (GtkIconTheme *self,
                         const char *icon_name);

Checks whether an icon theme includes an icon for a particular name.

Parameters

self

a GtkIconTheme

 

icon_name

the name of an icon

 

Returns

TRUE if self includes an icon for icon_name .


gtk_icon_theme_lookup_icon ()

GtkIconPaintable *
gtk_icon_theme_lookup_icon (GtkIconTheme *self,
                            const char *icon_name,
                            const char *fallbacks[],
                            int size,
                            int scale,
                            GtkTextDirection direction,
                            GtkIconLookupFlags flags);

Looks up a named icon for a desired size and window scale, returning a GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable, or you can get information such as the filename and size.

If the available icon_name is not available and fallbacks are provided, they will be tried in order.

If no matching icon is found, then a paintable that renders the "missing icon" icon is returned. If you need to do something else for missing icons you need to use gtk_icon_theme_has_icon().

Note that you probably want to listen for icon theme changes and update the icon. This is usually done by overriding the GtkWidgetClass.css-changed() function.

Parameters

self

a GtkIconTheme

 

icon_name

the name of the icon to lookup

 

fallbacks

.

[nullable][array zero-terminated=1]

size

desired icon size.

 

scale

the window scale this will be displayed on

 

direction

text direction the icon will be displayed in

 

flags

flags modifying the behavior of the icon lookup

 

Returns

a GtkIconPaintable object containing the icon.

[transfer full]


gtk_icon_theme_lookup_by_gicon ()

GtkIconPaintable *
gtk_icon_theme_lookup_by_gicon (GtkIconTheme *self,
                                GIcon *icon,
                                int size,
                                int scale,
                                GtkTextDirection direction,
                                GtkIconLookupFlags flags);

Looks up a icon for a desired size and window scale, returning a GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable, or you can get information such as the filename and size.

Parameters

self

a GtkIconTheme

 

icon

the GIcon to look up

 

size

desired icon size

 

scale

the desired scale

 

direction

text direction the icon will be displayed in

 

flags

flags modifying the behavior of the icon lookup

 

Returns

a GtkIconPaintable containing information about the icon. Unref with g_object_unref().

[transfer full]


gtk_icon_theme_get_icon_names ()

char **
gtk_icon_theme_get_icon_names (GtkIconTheme *self);

Lists the names of icons in the current icon theme.

Parameters

self

a GtkIconTheme

 

Returns

a string array holding the names of all the icons in the theme. You must free the array using g_strfreev().

[element-type utf8][transfer full]


gtk_icon_theme_get_icon_sizes ()

int *
gtk_icon_theme_get_icon_sizes (GtkIconTheme *self,
                               const char *icon_name);

Returns an array of integers describing the sizes at which the icon is available without scaling. A size of -1 means that the icon is available in a scalable format. The array is zero-terminated.

Parameters

self

a GtkIconTheme

 

icon_name

the name of an icon

 

Returns

A newly allocated array describing the sizes at which the icon is available. The array should be freed with g_free() when it is no longer needed.

[array zero-terminated=1][transfer full]


gtk_icon_paintable_new_for_file ()

GtkIconPaintable *
gtk_icon_paintable_new_for_file (GFile *file,
                                 int size,
                                 int scale);

Creates a GtkIconPaintable for a file with a given size and scale GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable.

Parameters

file

a GFile

 

size

desired icon size

 

scale

the desired scale

 

Returns

a GtkIconPaintable containing for the icon. Unref with g_object_unref().

[transfer full]


gtk_icon_paintable_get_file ()

GFile *
gtk_icon_paintable_get_file (GtkIconPaintable *self);

Gets the GFile that was used to load the icon, or NULL if the icon was not loaded from a file.

Parameters

self

a GtkIconPaintable

 

Returns

the GFile for the icon, or NULL. Free with g_object_unref().

[nullable][transfer full]


gtk_icon_paintable_get_icon_name ()

const char *
gtk_icon_paintable_get_icon_name (GtkIconPaintable *self);

Get the icon name being used for this icon.

When an icon looked up in the icon theme was not available, the icon theme may use fallback icons - either those specified to gtk_icon_theme_lookup_icon() or the always-available "image-missing". The icon chosen is returned by this function.

If the icon was created without an icon theme, this function returns NULL.

Parameters

self

a GtkIconPaintable

 

Returns

the themed icon-name for the icon, or NULL if its not a themed icon.

[nullable][type filename]


gtk_icon_paintable_is_symbolic ()

gboolean
gtk_icon_paintable_is_symbolic (GtkIconPaintable *self);

Checks if the icon is symbolic or not. This currently uses only the file name and not the file contents for determining this. This behaviour may change in the future.

Parameters

self

a GtkIconPaintable

 

Returns

TRUE if the icon is symbolic, FALSE otherwise

Types and Values

GtkIconPaintable

typedef struct _GtkIconPaintable GtkIconPaintable;

Contains information found when looking up an icon in an icon theme and supports painting it as a GdkPaintable.


GtkIconTheme

typedef struct _GtkIconTheme GtkIconTheme;

Acts as a database of information about an icon theme. Normally, you retrieve the icon theme for a particular display using gtk_icon_theme_get_for_display() and it will contain information about current icon theme for that display, but you can also create a new GtkIconTheme object and set the icon theme name explicitly using gtk_icon_theme_set_theme_name().


enum GtkIconLookupFlags

Used to specify options for gtk_icon_theme_lookup_icon()

Members

GTK_ICON_LOOKUP_FORCE_REGULAR

Try to always load regular icons, even when symbolic icon names are given

 

GTK_ICON_LOOKUP_FORCE_SYMBOLIC

Try to always load symbolic icons, even when regular icon names are given

 

GTK_ICON_LOOKUP_PRELOAD

Starts loading the texture in the background so it is ready when later needed.

 

GTK_ICON_THEME_ERROR

#define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark ()

The GQuark used for GtkIconThemeError errors.


GTK_TYPE_ICON_THEME_ERROR

#define GTK_TYPE_ICON_THEME_ERROR (gtk_icon_theme_error_get_type ())

GTK_TYPE_ICON_LOOKUP_FLAGS

#define GTK_TYPE_ICON_LOOKUP_FLAGS (gtk_icon_lookup_flags_get_type ())

enum GtkIconThemeError

Error codes for GtkIconTheme operations.

Members

GTK_ICON_THEME_NOT_FOUND

The icon specified does not exist in the theme

 

GTK_ICON_THEME_FAILED

An unspecified error occurred.

 

Property Details

The “display” property

  “display”                  GdkDisplay *

The display that this icon theme object is attached to.

Owner: GtkIconTheme

Flags: Read / Write


The “icon-names” property

  “icon-names”               GStrv

The icon names that are supported by the icon theme.

Owner: GtkIconTheme

Flags: Read


The “resource-path” property

  “resource-path”            GStrv

Resource paths that will be looked at when looking for icons, similar to search paths.

The resources are considered as part of the hicolor icon theme and must be located in subdirectories that are defined in the hicolor icon theme, such as @path/16x16/actions/run.png. Icons that are directly placed in the resource path instead of a subdirectory are also considered as ultimate fallback.

Owner: GtkIconTheme

Flags: Read / Write


The “search-path” property

  “search-path”              GStrv

The search path for this icon theme.

When looking for icons, GTK will search for a subdirectory of one or more of the directories in the search path with the same name as the icon theme containing an index.theme file. (Themes from multiple of the path elements are combined to allow themes to be extended by adding icons in the user’s home directory.)

Owner: GtkIconTheme

Flags: Read / Write


The “theme-name” property

  “theme-name”               gchar *

The name of the icon theme that is being used.

Unless set to a different value, this will be the value of the “gtk-icon-theme-name” property of the GtkSettings object associated to the display of the icontheme object.

Owner: GtkIconTheme

Flags: Read / Write

Default value: NULL

Signal Details

The “changed” signal

void
user_function (GtkIconTheme *self,
               gpointer      user_data)

Emitted when the current icon theme is switched or GTK+ detects that a change has occurred in the contents of the current icon theme.

Parameters

self

the icon theme

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkGridView.html0000664000175000017500000011723513710700534020412 0ustar mclasenmclasen GtkGridView: GTK 4 Reference Manual

GtkGridView

GtkGridView — A widget for displaying grids

Properties

gboolean enable-rubberband Read / Write
GtkListItemFactory * factory Read / Write
guint max-columns Read / Write
guint min-columns Read / Write
GListModel * model Read / Write
gboolean single-click-activate Read / Write

Signals

void activate Run Last

Actions

  list.activate-item u

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkListBase
                ╰── GtkGridView

Implemented Interfaces

GtkGridView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

GtkGridView is a widget to present a view into a large dynamic grid of items.

GtkGridView uses its factory to generate one child widget for each visible item and shows them in a grid. The orientation of the grid view determines if the grid reflows vertically or horizontally.

GtkGridView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkGridView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on _rubberband selection_, using “enable-rubberband”.

To learn more about the list widget framework, see the overview.

CSS nodes

1
2
3
4
5
6
7
gridview
├── child

├── child


╰── [rubberband]

GtkGridView uses a single CSS node with name gridview. Each child uses a single CSS node with name child. For rubberband selection, a subnode with name rubberband is used.

Functions

gtk_grid_view_new ()

GtkWidget *
gtk_grid_view_new (GListModel *model);

Creates a new GtkGridView.

You most likely want to call gtk_grid_view_set_factory() to set up a way to map its items to widgets next.

Parameters

model

the model to use, or NULL.

[allow-none][transfer full]

Returns

a new GtkGridView


gtk_grid_view_new_with_factory ()

GtkWidget *
gtk_grid_view_new_with_factory (GListModel *model,
                                GtkListItemFactory *factory);

Creates a new GtkGridView that uses the given factory for mapping items to widgets.

The function takes ownership of the argument, so you can write code like grid_view = gtk_grid_view_new_with_factory (create_model(), gtk_builder_list_item_factory_new_from_resource ("/resource.ui"));

Parameters

model

the model to use, or NULL.

[allow-none][transfer full]

factory

The factory to populate items with, or NULL.

[allow-none][transfer full]

Returns

a new GtkGridView using the given factory


gtk_grid_view_set_model ()

void
gtk_grid_view_set_model (GtkGridView *self,
                         GListModel *model);

Sets the GListModel to use for

Parameters

self

a GtkGridView

 

model

the model to use or NULL for none.

[allow-none][transfer none]

gtk_grid_view_get_model ()

GListModel *
gtk_grid_view_get_model (GtkGridView *self);

Gets the model that's currently used to read the items displayed.

Parameters

self

a GtkGridView

 

Returns

The model in use.

[nullable][transfer none]


gtk_grid_view_set_max_columns ()

void
gtk_grid_view_set_max_columns (GtkGridView *self,
                               guint max_columns);

Sets the maximum number of columns to use. This number must be at least 1.

If max_columns is smaller than the minimum set via gtk_grid_view_set_min_columns(), that value is used instead.

Parameters

self

a GtkGridView

 

max_columns

The maximum number of columns

 

gtk_grid_view_get_max_columns ()

guint
gtk_grid_view_get_max_columns (GtkGridView *self);

Gets the maximum number of columns that the grid will use.

Parameters

self

a GtkGridView

 

Returns

The maximum number of columns


gtk_grid_view_set_min_columns ()

void
gtk_grid_view_set_min_columns (GtkGridView *self,
                               guint min_columns);

Sets the minimum number of columns to use. This number must be at least 1.

If min_columns is smaller than the minimum set via gtk_grid_view_set_max_columns(), that value is ignored.

Parameters

self

a GtkGridView

 

min_columns

The minimum number of columns

 

gtk_grid_view_get_min_columns ()

guint
gtk_grid_view_get_min_columns (GtkGridView *self);

Gets the minimum number of columns that the grid will use.

Parameters

self

a GtkGridView

 

Returns

The minimum number of columns


gtk_grid_view_set_single_click_activate ()

void
gtk_grid_view_set_single_click_activate
                               (GtkGridView *self,
                                gboolean single_click_activate);

Sets whether items should be activated on single click and selected on hover.

Parameters

self

a GtkGridView

 

single_click_activate

TRUE to activate items on single click

 

gtk_grid_view_get_single_click_activate ()

gboolean
gtk_grid_view_get_single_click_activate
                               (GtkGridView *self);

Returns whether items will be activated on single click and selected on hover.

Parameters

self

a GtkListView

 

Returns

TRUE if items are activated on single click


gtk_grid_view_set_enable_rubberband ()

void
gtk_grid_view_set_enable_rubberband (GtkGridView *self,
                                     gboolean enable_rubberband);

Sets whether selections can be changed by dragging with the mouse.

Parameters

self

a GtkGridView

 

enable_rubberband

TRUE to enable rubberband selection

 

gtk_grid_view_get_enable_rubberband ()

gboolean
gtk_grid_view_get_enable_rubberband (GtkGridView *self);

Returns whether rows can be selected by dragging with the mouse.

Parameters

self

a GtkGridView

 

Returns

TRUE if rubberband selection is enabled


gtk_grid_view_set_factory ()

void
gtk_grid_view_set_factory (GtkGridView *self,
                           GtkListItemFactory *factory);

Sets the GtkListItemFactory to use for populating list items.

Parameters

self

a GtkGridView

 

factory

the factory to use or NULL for none.

[allow-none][transfer none]

gtk_grid_view_get_factory ()

GtkListItemFactory *
gtk_grid_view_get_factory (GtkGridView *self);

Gets the factory that's currently used to populate list items.

Parameters

self

a GtkGridView

 

Returns

The factory in use.

[nullable][transfer none]

Types and Values

GtkGridView

typedef struct _GtkGridView GtkGridView;

GtkGridView is a list widget implementation that arranges its items in a grid.

Property Details

The “enable-rubberband” property

  “enable-rubberband”        gboolean

Allow rubberband selection

Owner: GtkGridView

Flags: Read / Write

Default value: FALSE


The “factory” property

  “factory”                  GtkListItemFactory *

Factory for populating list items

Owner: GtkGridView

Flags: Read / Write


The “max-columns” property

  “max-columns”              guint

Maximum number of columns per row

If this number is smaller than GtkGridView:min-columns, that value is used instead.

Owner: GtkGridView

Flags: Read / Write

Allowed values: >= 1

Default value: 7


The “min-columns” property

  “min-columns”              guint

Minimum number of columns per row

Owner: GtkGridView

Flags: Read / Write

Allowed values: >= 1

Default value: 1


The “model” property

  “model”                    GListModel *

Model for the items displayed

Owner: GtkGridView

Flags: Read / Write


The “single-click-activate” property

  “single-click-activate”    gboolean

Activate rows on single click and select them on hover

Owner: GtkGridView

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate” signal

void
user_function (GtkGridView *self,
               guint        position,
               gpointer     user_data)

The ::activate signal is emitted when a cell has been activated by the user, usually via activating the GtkGridView|list.activate-item action.

This allows for a convenient way to handle activation in a gridview. See GtkListItem:activatable for details on how to use this signal.

Parameters

self

The GtkGridView

 

position

position of item to activate

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Action Details

The “list.activate-item” action

Activates the item given in position by emitting the GtkGridView::activate signal.

Parameter type: u

Parameters

position

position of item to activate

 

See Also

GListModel, GtkListView, GtkColumnView

docs/reference/gtk/html/GtkRecentManager.html0000664000175000017500000025632213710700534021406 0ustar mclasenmclasen GtkRecentManager: GTK 4 Reference Manual

GtkRecentManager

GtkRecentManager — Managing recently used files

Properties

gchar * filename Read / Write / Construct Only
gint size Read

Signals

void changed Run First

Object Hierarchy

    GObject
    ╰── GtkRecentManager

Includes

#include <gtk/gtk.h>

Description

GtkRecentManager provides a facility for adding, removing and looking up recently used files. Each recently used file is identified by its URI, and has meta-data associated to it, like the names and command lines of the applications that have registered it, the number of time each application has registered the same file, the mime type of the file and whether the file should be displayed only by the applications that have registered it.

The recently used files list is per user.

The GtkRecentManager acts like a database of all the recently used files. You can create new GtkRecentManager objects, but it is more efficient to use the default manager created by GTK+.

Adding a new recently used file is as simple as:

1
2
3
4
GtkRecentManager *manager;

manager = gtk_recent_manager_get_default ();
gtk_recent_manager_add_item (manager, file_uri);

The GtkRecentManager will try to gather all the needed information from the file itself through GIO.

Looking up the meta-data associated with a recently used file given its URI requires calling gtk_recent_manager_lookup_item():

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GtkRecentManager *manager;
GtkRecentInfo *info;
GError *error = NULL;

manager = gtk_recent_manager_get_default ();
info = gtk_recent_manager_lookup_item (manager, file_uri, &error);
if (error)
  {
    g_warning ("Could not find the file: %s", error->message);
    g_error_free (error);
  }
else
 {
   // Use the info object
   gtk_recent_info_unref (info);
 }

In order to retrieve the list of recently used files, you can use gtk_recent_manager_get_items(), which returns a list of GtkRecentInfo.

A GtkRecentManager is the model used to populate the contents of one, or more GtkRecentChooser implementations.

Note that the maximum age of the recently used files list is controllable through the “gtk-recent-files-max-age” property.

Recently used files are supported since GTK+ 2.10.

Functions

gtk_recent_manager_new ()

GtkRecentManager *
gtk_recent_manager_new (void);

Creates a new recent manager object. Recent manager objects are used to handle the list of recently used resources. A GtkRecentManager object monitors the recently used resources list, and emits the “changed” signal each time something inside the list changes.

GtkRecentManager objects are expensive: be sure to create them only when needed. You should use gtk_recent_manager_get_default() instead.

Returns

A newly created GtkRecentManager object


gtk_recent_manager_get_default ()

GtkRecentManager *
gtk_recent_manager_get_default (void);

Gets a unique instance of GtkRecentManager, that you can share in your application without caring about memory management.

Returns

A unique GtkRecentManager. Do not ref or unref it.

[transfer none]


gtk_recent_manager_add_item ()

gboolean
gtk_recent_manager_add_item (GtkRecentManager *manager,
                             const char *uri);

Adds a new resource, pointed by uri , into the recently used resources list.

This function automatically retrieves some of the needed metadata and setting other metadata to common default values; it then feeds the data to gtk_recent_manager_add_full().

See gtk_recent_manager_add_full() if you want to explicitly define the metadata for the resource pointed by uri .

Parameters

manager

a GtkRecentManager

 

uri

a valid URI

 

Returns

TRUE if the new item was successfully added to the recently used resources list


gtk_recent_manager_add_full ()

gboolean
gtk_recent_manager_add_full (GtkRecentManager *manager,
                             const char *uri,
                             const GtkRecentData *recent_data);

Adds a new resource, pointed by uri , into the recently used resources list, using the metadata specified inside the GtkRecentData passed in recent_data .

The passed URI will be used to identify this resource inside the list.

In order to register the new recently used resource, metadata about the resource must be passed as well as the URI; the metadata is stored in a GtkRecentData, which must contain the MIME type of the resource pointed by the URI; the name of the application that is registering the item, and a command line to be used when launching the item.

Optionally, a GtkRecentData might contain a UTF-8 string to be used when viewing the item instead of the last component of the URI; a short description of the item; whether the item should be considered private - that is, should be displayed only by the applications that have registered it.

Parameters

manager

a GtkRecentManager

 

uri

a valid URI

 

recent_data

metadata of the resource

 

Returns

TRUE if the new item was successfully added to the recently used resources list, FALSE otherwise


gtk_recent_manager_remove_item ()

gboolean
gtk_recent_manager_remove_item (GtkRecentManager *manager,
                                const char *uri,
                                GError **error);

Removes a resource pointed by uri from the recently used resources list handled by a recent manager.

Parameters

manager

a GtkRecentManager

 

uri

the URI of the item you wish to remove

 

error

return location for a GError, or NULL.

[allow-none]

Returns

TRUE if the item pointed by uri has been successfully removed by the recently used resources list, and FALSE otherwise


gtk_recent_manager_lookup_item ()

GtkRecentInfo *
gtk_recent_manager_lookup_item (GtkRecentManager *manager,
                                const char *uri,
                                GError **error);

Searches for a URI inside the recently used resources list, and returns a GtkRecentInfo containing informations about the resource like its MIME type, or its display name.

Parameters

manager

a GtkRecentManager

 

uri

a URI

 

error

a return location for a GError, or NULL.

[allow-none]

Returns

a GtkRecentInfo containing information about the resource pointed by uri , or NULL if the URI was not registered in the recently used resources list. Free with gtk_recent_info_unref().

[nullable]


gtk_recent_manager_has_item ()

gboolean
gtk_recent_manager_has_item (GtkRecentManager *manager,
                             const char *uri);

Checks whether there is a recently used resource registered with uri inside the recent manager.

Parameters

manager

a GtkRecentManager

 

uri

a URI

 

Returns

TRUE if the resource was found, FALSE otherwise


gtk_recent_manager_move_item ()

gboolean
gtk_recent_manager_move_item (GtkRecentManager *manager,
                              const char *uri,
                              const char *new_uri,
                              GError **error);

Changes the location of a recently used resource from uri to new_uri .

Please note that this function will not affect the resource pointed by the URIs, but only the URI used in the recently used resources list.

Parameters

manager

a GtkRecentManager

 

uri

the URI of a recently used resource

 

new_uri

the new URI of the recently used resource, or NULL to remove the item pointed by uri in the list.

[allow-none]

error

a return location for a GError, or NULL.

[allow-none]

Returns

TRUE on success


gtk_recent_manager_get_items ()

GList *
gtk_recent_manager_get_items (GtkRecentManager *manager);

Gets the list of recently used resources.

Parameters

manager

a GtkRecentManager

 

Returns

a list of newly allocated GtkRecentInfo objects. Use gtk_recent_info_unref() on each item inside the list, and then free the list itself using g_list_free().

[element-type GtkRecentInfo][transfer full]


gtk_recent_manager_purge_items ()

int
gtk_recent_manager_purge_items (GtkRecentManager *manager,
                                GError **error);

Purges every item from the recently used resources list.

Parameters

manager

a GtkRecentManager

 

error

a return location for a GError, or NULL.

[allow-none]

Returns

the number of items that have been removed from the recently used resources list


gtk_recent_info_ref ()

GtkRecentInfo *
gtk_recent_info_ref (GtkRecentInfo *info);

Increases the reference count of recent_info by one.

Parameters

info

a GtkRecentInfo

 

Returns

the recent info object with its reference count increased by one


gtk_recent_info_unref ()

void
gtk_recent_info_unref (GtkRecentInfo *info);

Decreases the reference count of info by one. If the reference count reaches zero, info is deallocated, and the memory freed.

Parameters

info

a GtkRecentInfo

 

gtk_recent_info_get_uri ()

const char *
gtk_recent_info_get_uri (GtkRecentInfo *info);

Gets the URI of the resource.

Parameters

info

a GtkRecentInfo

 

Returns

the URI of the resource. The returned string is owned by the recent manager, and should not be freed.


gtk_recent_info_get_display_name ()

const char *
gtk_recent_info_get_display_name (GtkRecentInfo *info);

Gets the name of the resource. If none has been defined, the basename of the resource is obtained.

Parameters

info

a GtkRecentInfo

 

Returns

the display name of the resource. The returned string is owned by the recent manager, and should not be freed.


gtk_recent_info_get_description ()

const char *
gtk_recent_info_get_description (GtkRecentInfo *info);

Gets the (short) description of the resource.

Parameters

info

a GtkRecentInfo

 

Returns

the description of the resource. The returned string is owned by the recent manager, and should not be freed.


gtk_recent_info_get_mime_type ()

const char *
gtk_recent_info_get_mime_type (GtkRecentInfo *info);

Gets the MIME type of the resource.

Parameters

info

a GtkRecentInfo

 

Returns

the MIME type of the resource. The returned string is owned by the recent manager, and should not be freed.


gtk_recent_info_get_added ()

time_t
gtk_recent_info_get_added (GtkRecentInfo *info);

Gets the timestamp (seconds from system’s Epoch) when the resource was added to the recently used resources list.

Parameters

info

a GtkRecentInfo

 

Returns

the number of seconds elapsed from system’s Epoch when the resource was added to the list, or -1 on failure.


gtk_recent_info_get_modified ()

time_t
gtk_recent_info_get_modified (GtkRecentInfo *info);

Gets the timestamp (seconds from system’s Epoch) when the meta-data for the resource was last modified.

Parameters

info

a GtkRecentInfo

 

Returns

the number of seconds elapsed from system’s Epoch when the resource was last modified, or -1 on failure.


gtk_recent_info_get_visited ()

time_t
gtk_recent_info_get_visited (GtkRecentInfo *info);

Gets the timestamp (seconds from system’s Epoch) when the meta-data for the resource was last visited.

Parameters

info

a GtkRecentInfo

 

Returns

the number of seconds elapsed from system’s Epoch when the resource was last visited, or -1 on failure.


gtk_recent_info_get_private_hint ()

gboolean
gtk_recent_info_get_private_hint (GtkRecentInfo *info);

Gets the value of the “private” flag. Resources in the recently used list that have this flag set to TRUE should only be displayed by the applications that have registered them.

Parameters

info

a GtkRecentInfo

 

Returns

TRUE if the private flag was found, FALSE otherwise


gtk_recent_info_get_application_info ()

gboolean
gtk_recent_info_get_application_info (GtkRecentInfo *info,
                                      const char *app_name,
                                      const char **app_exec,
                                      guint *count,
                                      time_t *time_);

Gets the data regarding the application that has registered the resource pointed by info .

If the command line contains any escape characters defined inside the storage specification, they will be expanded.

Parameters

info

a GtkRecentInfo

 

app_name

the name of the application that has registered this item

 

app_exec

return location for the string containing the command line.

[transfer none][out]

count

return location for the number of times this item was registered.

[out]

time_

return location for the timestamp this item was last registered for this application.

[out]

Returns

TRUE if an application with app_name has registered this resource inside the recently used list, or FALSE otherwise. The app_exec string is owned by the GtkRecentInfo and should not be modified or freed


gtk_recent_info_get_applications ()

char **
gtk_recent_info_get_applications (GtkRecentInfo *info,
                                  gsize *length);

Retrieves the list of applications that have registered this resource.

Parameters

info

a GtkRecentInfo

 

length

return location for the length of the returned list.

[out][allow-none]

Returns

a newly allocated NULL-terminated array of strings. Use g_strfreev() to free it.

[array length=length zero-terminated=1][transfer full]


gtk_recent_info_last_application ()

char *
gtk_recent_info_last_application (GtkRecentInfo *info);

Gets the name of the last application that have registered the recently used resource represented by info .

Parameters

info

a GtkRecentInfo

 

Returns

an application name. Use g_free() to free it.


gtk_recent_info_has_application ()

gboolean
gtk_recent_info_has_application (GtkRecentInfo *info,
                                 const char *app_name);

Checks whether an application registered this resource using app_name .

Parameters

info

a GtkRecentInfo

 

app_name

a string containing an application name

 

Returns

TRUE if an application with name app_name was found, FALSE otherwise


gtk_recent_info_create_app_info ()

GAppInfo *
gtk_recent_info_create_app_info (GtkRecentInfo *info,
                                 const char *app_name,
                                 GError **error);

Creates a GAppInfo for the specified GtkRecentInfo

Parameters

info

a GtkRecentInfo

 

app_name

the name of the application that should be mapped to a GAppInfo; if NULL is used then the default application for the MIME type is used.

[allow-none]

error

return location for a GError, or NULL.

[allow-none]

Returns

the newly created GAppInfo, or NULL. In case of error, error will be set either with a GTK_RECENT_MANAGER_ERROR or a G_IO_ERROR.

[nullable][transfer full]


gtk_recent_info_get_groups ()

char **
gtk_recent_info_get_groups (GtkRecentInfo *info,
                            gsize *length);

Returns all groups registered for the recently used item info . The array of returned group names will be NULL terminated, so length might optionally be NULL.

Parameters

info

a GtkRecentInfo

 

length

return location for the number of groups returned.

[out][allow-none]

Returns

a newly allocated NULL terminated array of strings. Use g_strfreev() to free it.

[array length=length zero-terminated=1][transfer full]


gtk_recent_info_has_group ()

gboolean
gtk_recent_info_has_group (GtkRecentInfo *info,
                           const char *group_name);

Checks whether group_name appears inside the groups registered for the recently used item info .

Parameters

info

a GtkRecentInfo

 

group_name

name of a group

 

Returns

TRUE if the group was found


gtk_recent_info_get_gicon ()

GIcon *
gtk_recent_info_get_gicon (GtkRecentInfo *info);

Retrieves the icon associated to the resource MIME type.

Parameters

info

a GtkRecentInfo

 

Returns

a GIcon containing the icon, or NULL. Use g_object_unref() when finished using the icon.

[nullable][transfer full]


gtk_recent_info_get_short_name ()

char *
gtk_recent_info_get_short_name (GtkRecentInfo *info);

Computes a valid UTF-8 string that can be used as the name of the item in a menu or list. For example, calling this function on an item that refers to “file:///foo/bar.txt” will yield “bar.txt”.

Parameters

info

an GtkRecentInfo

 

Returns

A newly-allocated string in UTF-8 encoding free it with g_free()


gtk_recent_info_get_uri_display ()

char *
gtk_recent_info_get_uri_display (GtkRecentInfo *info);

Gets a displayable version of the resource’s URI. If the resource is local, it returns a local path; if the resource is not local, it returns the UTF-8 encoded content of gtk_recent_info_get_uri().

Parameters

info

a GtkRecentInfo

 

Returns

a newly allocated UTF-8 string containing the resource’s URI or NULL. Use g_free() when done using it.

[nullable]


gtk_recent_info_get_age ()

int
gtk_recent_info_get_age (GtkRecentInfo *info);

Gets the number of days elapsed since the last update of the resource pointed by info .

Parameters

info

a GtkRecentInfo

 

Returns

a positive integer containing the number of days elapsed since the time this resource was last modified


gtk_recent_info_is_local ()

gboolean
gtk_recent_info_is_local (GtkRecentInfo *info);

Checks whether the resource is local or not by looking at the scheme of its URI.

Parameters

info

a GtkRecentInfo

 

Returns

TRUE if the resource is local


gtk_recent_info_exists ()

gboolean
gtk_recent_info_exists (GtkRecentInfo *info);

Checks whether the resource pointed by info still exists. At the moment this check is done only on resources pointing to local files.

Parameters

info

a GtkRecentInfo

 

Returns

TRUE if the resource exists


gtk_recent_info_match ()

gboolean
gtk_recent_info_match (GtkRecentInfo *info_a,
                       GtkRecentInfo *info_b);

Checks whether two GtkRecentInfo point to the same resource.

Parameters

info_a

a GtkRecentInfo

 

info_b

a GtkRecentInfo

 

Returns

TRUE if both GtkRecentInfo point to the same resource, FALSE otherwise

Types and Values

struct GtkRecentManager

struct GtkRecentManager;

GtkRecentManager contains only private data and should be accessed using the provided API.


GtkRecentInfo

typedef struct _GtkRecentInfo GtkRecentInfo;

GtkRecentInfo contains private data only, and should be accessed using the provided API.

GtkRecentInfo contains all the meta-data associated with an entry in the recently used files list.


struct GtkRecentData

struct GtkRecentData {
  char *display_name;
  char *description;

  char *mime_type;

  char *app_name;
  char *app_exec;

  char **groups;

  gboolean is_private;
};

Meta-data to be passed to gtk_recent_manager_add_full() when registering a recently used resource.

Members

char *display_name;

a UTF-8 encoded string, containing the name of the recently used resource to be displayed, or NULL;

 

char *description;

a UTF-8 encoded string, containing a short description of the resource, or NULL;

 

char *mime_type;

the MIME type of the resource;

 

char *app_name;

the name of the application that is registering this recently used resource;

 

char *app_exec;

command line used to launch this resource; may contain the “%f” and “%u” escape characters which will be expanded to the resource file path and URI respectively when the command line is retrieved;

 

char **groups;

a vector of strings containing groups names;.

[array zero-terminated=1]

gboolean is_private;

whether this resource should be displayed only by the applications that have registered it or not.

 

GTK_RECENT_MANAGER_ERROR

#define GTK_RECENT_MANAGER_ERROR (gtk_recent_manager_error_quark ())

The GError domain for GtkRecentManager errors.


enum GtkRecentManagerError

Error codes for GtkRecentManager operations

Members

GTK_RECENT_MANAGER_ERROR_NOT_FOUND

the URI specified does not exists in the recently used resources list.

 

GTK_RECENT_MANAGER_ERROR_INVALID_URI

the URI specified is not valid.

 

GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING

the supplied string is not UTF-8 encoded.

 

GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED

no application has registered the specified item.

 

GTK_RECENT_MANAGER_ERROR_READ

failure while reading the recently used resources file.

 

GTK_RECENT_MANAGER_ERROR_WRITE

failure while writing the recently used resources file.

 

GTK_RECENT_MANAGER_ERROR_UNKNOWN

unspecified error.

 

Property Details

The “filename” property

  “filename”                 gchar *

The full path to the file to be used to store and read the recently used resources list

Owner: GtkRecentManager

Flags: Read / Write / Construct Only

Default value: NULL


The “size” property

  “size”                     gint

The size of the recently used resources list.

Owner: GtkRecentManager

Flags: Read

Allowed values: >= -1

Default value: 0

Signal Details

The “changed” signal

void
user_function (GtkRecentManager *recent_manager,
               gpointer          user_data)

Emitted when the current recently used resources manager changes its contents, either by calling gtk_recent_manager_add_item() or by another application.

Parameters

recent_manager

the recent manager

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GBookmarkFile, GtkSettings, GtkRecentChooser

docs/reference/gtk/html/RecentDocuments.html0000664000175000017500000000355713710700534021327 0ustar mclasenmclasen Recently Used Documents: GTK 4 Reference Manual

Recently Used Documents

GtkRecentManager — Managing recently used files
docs/reference/gtk/html/GtkEventControllerFocus.html0000664000175000017500000003765713710700533023027 0ustar mclasenmclasen GtkEventControllerFocus: GTK 4 Reference Manual

GtkEventControllerFocus

GtkEventControllerFocus — Event controller for focus

Properties

gboolean contains-focus Read
gboolean is-focus Read

Signals

void enter Run Last
void leave Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerFocus

Includes

#include <gtk/gtk.h>

Description

GtkEventControllerFocus is an event controller meant for situations where you need to know where the focus is.

Functions

gtk_event_controller_focus_new ()

GtkEventController *
gtk_event_controller_focus_new (void);

Creates a new event controller that will handle focus events.

Returns

a new GtkEventControllerFocus


gtk_event_controller_focus_contains_focus ()

gboolean
gtk_event_controller_focus_contains_focus
                               (GtkEventControllerFocus *self);

Returns the value of the GtkEventControllerFocus:contains-focus property.

Parameters

Returns

TRUE if focus is within self or one of its children


gtk_event_controller_focus_is_focus ()

gboolean
gtk_event_controller_focus_is_focus (GtkEventControllerFocus *self);

Returns the value of the GtkEventControllerFocus:is-focus property.

Parameters

Returns

TRUE if focus is within self but not one of its children

Types and Values

GtkEventControllerFocus

typedef struct _GtkEventControllerFocus GtkEventControllerFocus;

Property Details

The “contains-focus” property

  “contains-focus”           gboolean

Whether focus is contain in the controllers widget. See See “is-focus” for whether the focus is in the widget itself or inside a descendent.

When handling focus events, this property is updated before “enter” or “leave” are emitted.

Owner: GtkEventControllerFocus

Flags: Read

Default value: FALSE


The “is-focus” property

  “is-focus”                 gboolean

Whether focus is in the controllers widget itself, opposed to in a descendent widget. See also “contains-focus”.

When handling focus events, this property is updated before “focus-in” or “focus-out” are emitted.

Owner: GtkEventControllerFocus

Flags: Read

Default value: FALSE

Signal Details

The “enter” signal

void
user_function (GtkEventControllerFocus *controller,
               gpointer                 user_data)

This signal is emitted whenever the focus enters into the widget or one of its descendents.

Note that this means you may not get an ::enter signal even though the widget becomes the focus location, in certain cases (such as when the focus moves from a descendent of the widget to the widget itself). If you are interested in these cases, you can monitor the “is-focus” property for changes.

Parameters

controller

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “leave” signal

void
user_function (GtkEventControllerFocus *controller,
               gpointer                 user_data)

This signal is emitted whenever the focus leaves the widget hierarchy that is rooted at the widget that the controller is attached to.

Note that this means you may not get a ::leave signal even though the focus moves away from the widget, in certain cases (such as when the focus moves from the widget to a descendent). If you are interested in these cases, you can monitor the “is-focus” property for changes.

Parameters

controller

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkEventControllerKey.html0000664000175000017500000005545613710700533022475 0ustar mclasenmclasen GtkEventControllerKey: GTK 4 Reference Manual

GtkEventControllerKey

GtkEventControllerKey — Event controller for key events

Signals

void im-update Run Last
gboolean key-pressed Run Last
void key-released Run Last
gboolean modifiers Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerKey

Includes

#include <gtk/gtk.h>

Description

GtkEventControllerKey is an event controller meant for situations where you need access to key events.

Functions

gtk_event_controller_key_new ()

GtkEventController *
gtk_event_controller_key_new (void);

Creates a new event controller that will handle key events.

Returns

a new GtkEventControllerKey


gtk_event_controller_key_set_im_context ()

void
gtk_event_controller_key_set_im_context
                               (GtkEventControllerKey *controller,
                                GtkIMContext *im_context);

Sets the input method context of the key controller .

Parameters

controller

a GtkEventControllerKey

 

im_context

a GtkIMContext

 

gtk_event_controller_key_get_im_context ()

GtkIMContext *
gtk_event_controller_key_get_im_context
                               (GtkEventControllerKey *controller);

Gets the input method context of the key controller .

Parameters

controller

a GtkEventControllerKey

 

Returns

the GtkIMContext.

[transfer none]


gtk_event_controller_key_forward ()

gboolean
gtk_event_controller_key_forward (GtkEventControllerKey *controller,
                                  GtkWidget *widget);

Forwards the current event of this controller to a widget .

This function can only be used in handlers for the “key-pressed”, “key-released” or “modifiers” signals.

Parameters

controller

a GtkEventControllerKey

 

widget

a GtkWidget

 

Returns

whether the widget handled the event


gtk_event_controller_key_get_group ()

guint
gtk_event_controller_key_get_group (GtkEventControllerKey *controller);

Gets the key group of the current event of this controller . See gdk_key_event_get_group().

Parameters

controller

a GtkEventControllerKey

 

Returns

the key group

Types and Values

GtkEventControllerKey

typedef struct _GtkEventControllerKey GtkEventControllerKey;

Signal Details

The “im-update” signal

void
user_function (GtkEventControllerKey *controller,
               gpointer               user_data)

This signal is emitted whenever the input method context filters away a keypress and prevents the controller receiving it. See gtk_event_controller_key_set_im_context() and gtk_im_context_filter_keypress().

Parameters

controller

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “key-pressed” signal

gboolean
user_function (GtkEventControllerKey *controller,
               guint                  keyval,
               guint                  keycode,
               GdkModifierType        state,
               gpointer               user_data)

This signal is emitted whenever a key is pressed.

Parameters

controller

the object which received the signal.

 

keyval

the pressed key.

 

keycode

the raw code of the pressed key.

 

state

the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType.

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the key press was handled, FALSE otherwise.

Flags: Run Last


The “key-released” signal

void
user_function (GtkEventControllerKey *controller,
               guint                  keyval,
               guint                  keycode,
               GdkModifierType        state,
               gpointer               user_data)

This signal is emitted whenever a key is released.

Parameters

controller

the object which received the signal.

 

keyval

the released key.

 

keycode

the raw code of the released key.

 

state

the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “modifiers” signal

gboolean
user_function (GtkEventControllerKey *controller,
               GdkModifierType        keyval,
               gpointer               user_data)

This signal is emitted whenever the state of modifier keys and pointer buttons change.

Parameters

controller

the object which received the signal.

 

keyval

the released key.

 

state

the bitmask, representing the new state of modifier keys and pointer buttons. See GdkModifierType.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkEventControllerLegacy.html0000664000175000017500000002052013710700533023131 0ustar mclasenmclasen GtkEventControllerLegacy: GTK 4 Reference Manual

GtkEventControllerLegacy

GtkEventControllerLegacy — Event controller for miscellaneous events

Signals

gboolean event Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerLegacy

Includes

#include <gtk/gtk.h>

Description

GtkEventControllerLegacy is an event controller that gives you direct access to the event stream. It should only be used as a last resort if none of the other event controllers or gestures do the job.

Functions

gtk_event_controller_legacy_new ()

GtkEventController *
gtk_event_controller_legacy_new (void);

Creates a new legacy event controller.

Returns

the newly created event controller.

Types and Values

GtkEventControllerLegacy

typedef struct _GtkEventControllerLegacy GtkEventControllerLegacy;

Signal Details

The “event” signal

gboolean
user_function (GtkEventControllerLegacy *controller,
               GdkEvent                 *event,
               gpointer                  user_data)

Emitted for each GDK event delivered to controller .

Parameters

controller

the object which received the signal.

 

event

the GdkEvent which triggered this signal

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to stop other handlers from being invoked for the event and the emission of this signal. FALSE to propagate the event further.

Flags: Run Last

docs/reference/gtk/html/GtkEventControllerMotion.html0000664000175000017500000004331713710700533023203 0ustar mclasenmclasen GtkEventControllerMotion: GTK 4 Reference Manual

GtkEventControllerMotion

GtkEventControllerMotion — Event controller for motion events

Properties

gboolean contains-pointer Read
gboolean is-pointer Read

Signals

void enter Run Last
void leave Run Last
void motion Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerMotion

Includes

#include <gtk/gtk.h>

Description

GtkEventControllerMotion is an event controller meant for situations where you need to track the position of the pointer.

Functions

gtk_event_controller_motion_new ()

GtkEventController *
gtk_event_controller_motion_new (void);

Creates a new event controller that will handle motion events.

Returns

a new GtkEventControllerMotion


gtk_event_controller_motion_contains_pointer ()

gboolean
gtk_event_controller_motion_contains_pointer
                               (GtkEventControllerMotion *self);

Returns the value of the GtkEventControllerMotion:contains-pointer property.

Parameters

Returns

TRUE if a pointer is within self or one of its children


gtk_event_controller_motion_is_pointer ()

gboolean
gtk_event_controller_motion_is_pointer
                               (GtkEventControllerMotion *self);

Returns the value of the GtkEventControllerMotion:is-pointer property.

Parameters

Returns

TRUE if a pointer is within self but not one of its children

Types and Values

GtkEventControllerMotion

typedef struct _GtkEventControllerMotion GtkEventControllerMotion;

Property Details

The “contains-pointer” property

  “contains-pointer”         gboolean

Whether the pointer is in the controllers widget or a descendant. See also “is-pointer”.

When handling crossing events, this property is updated before “enter” but after “leave” is emitted.

Owner: GtkEventControllerMotion

Flags: Read

Default value: FALSE


The “is-pointer” property

  “is-pointer”               gboolean

Whether the pointer is in the controllers widget itself, as opposed to in a descendent widget. See also “contains-pointer”.

When handling crossing events, this property is updated before “enter” but after “leave” is emitted.

Owner: GtkEventControllerMotion

Flags: Read

Default value: FALSE

Signal Details

The “enter” signal

void
user_function (GtkEventControllerMotion *controller,
               gdouble                   x,
               gdouble                   y,
               gpointer                  user_data)

Signals that the pointer has entered the widget.

Parameters

controller

the object which received the signal

 

x

coordinates of pointer location

 

y

coordinates of pointer location

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “leave” signal

void
user_function (GtkEventControllerMotion *controller,
               gpointer                  user_data)

Signals that the pointer has left the widget.

Parameters

controller

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “motion” signal

void
user_function (GtkEventControllerMotion *controller,
               gdouble                   x,
               gdouble                   y,
               gpointer                  user_data)

Emitted when the pointer moves inside the widget.

Parameters

controller

The object that received the signal

 

x

the x coordinate

 

y

the y coordinate

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkEventControllerScroll.html0000664000175000017500000006130513710700533023171 0ustar mclasenmclasen GtkEventControllerScroll: GTK 4 Reference Manual

GtkEventControllerScroll

GtkEventControllerScroll — Event controller for scroll events

Properties

Signals

void decelerate Run First
gboolean scroll Run Last
void scroll-begin Run First
void scroll-end Run First

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerScroll

Includes

#include <gtk/gtk.h>

Description

GtkEventControllerScroll is an event controller meant to handle scroll events from mice and touchpads. It is capable of handling both discrete and continuous scroll events, abstracting them both on the “scroll” signal (deltas in the discrete case are multiples of 1).

In the case of continuous scroll events, GtkEventControllerScroll encloses all “scroll” events between two “scroll-begin” and “scroll-end” signals.

The behavior of the event controller can be modified by the flags given at creation time, or modified at a later point through gtk_event_controller_scroll_set_flags() (e.g. because the scrolling conditions of the widget changed).

The controller can be set up to emit motion for either/both vertical and horizontal scroll events through GTK_EVENT_CONTROLLER_SCROLL_VERTICAL, GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL and GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES. If any axis is disabled, the respective “scroll” delta will be 0. Vertical scroll events will be translated to horizontal motion for the devices incapable of horizontal scrolling.

The event controller can also be forced to emit discrete events on all devices through GTK_EVENT_CONTROLLER_SCROLL_DISCRETE. This can be used to implement discrete actions triggered through scroll events (e.g. switching across combobox options).

The GTK_EVENT_CONTROLLER_SCROLL_KINETIC flag toggles the emission of the “decelerate” signal, emitted at the end of scrolling with two X/Y velocity arguments that are consistent with the motion that was received.

Functions

gtk_event_controller_scroll_new ()

GtkEventController *
gtk_event_controller_scroll_new (GtkEventControllerScrollFlags flags);

Creates a new event controller that will handle scroll events.

Parameters

flags

behavior flags

 

Returns

a new GtkEventControllerScroll


gtk_event_controller_scroll_set_flags ()

void
gtk_event_controller_scroll_set_flags (GtkEventControllerScroll *scroll,
                                       GtkEventControllerScrollFlags flags);

Sets the flags conditioning scroll controller behavior.

Parameters

scroll

a GtkEventControllerScroll

 

flags

behavior flags

 

gtk_event_controller_scroll_get_flags ()

GtkEventControllerScrollFlags
gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *scroll);

Gets the flags conditioning the scroll controller behavior.

Parameters

Returns

the controller flags.

Types and Values

GtkEventControllerScroll

typedef struct _GtkEventControllerScroll GtkEventControllerScroll;

enum GtkEventControllerScrollFlags

Describes the behavior of a GtkEventControllerScroll.

Members

GTK_EVENT_CONTROLLER_SCROLL_NONE

Don't emit scroll.

 

GTK_EVENT_CONTROLLER_SCROLL_VERTICAL

Emit scroll with vertical deltas.

 

GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL

Emit scroll with horizontal deltas.

 

GTK_EVENT_CONTROLLER_SCROLL_DISCRETE

Only emit deltas that are multiples of 1.

 

GTK_EVENT_CONTROLLER_SCROLL_KINETIC

Emit “decelerate” after continuous scroll finishes.

 

GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES

Emit scroll on both axes.

 

Property Details

The “flags” property

  “flags”                    GtkEventControllerScrollFlags

The flags affecting event controller behavior

Owner: GtkEventControllerScroll

Flags: Read / Write

Signal Details

The “decelerate” signal

void
user_function (GtkEventControllerScroll *controller,
               gdouble                   vel_x,
               gdouble                   vel_y,
               gpointer                  user_data)

Emitted after scroll is finished if the GTK_EVENT_CONTROLLER_SCROLL_KINETIC flag is set. vel_x and vel_y express the initial velocity that was imprinted by the scroll events. vel_x and vel_y are expressed in pixels/ms.

Parameters

controller

The object that received the signal

 

vel_x

X velocity

 

vel_y

Y velocity

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “scroll” signal

gboolean
user_function (GtkEventControllerScroll *controller,
               gdouble                   dx,
               gdouble                   dy,
               gpointer                  user_data)

Signals that the widget should scroll by the amount specified by dx and dy .

Parameters

controller

The object that received the signal

 

dx

X delta

 

dy

Y delta

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the scroll event was handled, FALSE otherwise.

Flags: Run Last


The “scroll-begin” signal

void
user_function (GtkEventControllerScroll *controller,
               gpointer                  user_data)

Signals that a new scrolling operation has begun. It will only be emitted on devices capable of it.

Parameters

controller

The object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “scroll-end” signal

void
user_function (GtkEventControllerScroll *controller,
               gpointer                  user_data)

Signals that a new scrolling operation has finished. It will only be emitted on devices capable of it.

Parameters

controller

The object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkFileChooserButton.html0000664000175000017500000006761113710700533022271 0ustar mclasenmclasen GtkFileChooserButton: GTK 4 Reference Manual

GtkFileChooserButton

GtkFileChooserButton — A button to launch a file chooser dialog

Properties

GtkFileChooser * dialog Write / Construct Only
gboolean modal Read / Write
gchar * title Read / Write
gint width-chars Read / Write

Signals

void file-set Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFileChooserButton

Implemented Interfaces

GtkFileChooserButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFileChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkFileChooserButton is a widget that lets the user select a file. It implements the GtkFileChooser interface. Visually, it is a file name with a button to bring up a GtkFileChooserDialog. The user can then use that dialog to change the file associated with that button. This widget does not support setting the “select-multiple” property to TRUE.

Create a button to let the user select a file in /etc

1
2
3
4
5
6
7
8
9
{
  GtkWidget *button;
  GFile *cwd = g_file_new_for_path ("/etc");

  button = gtk_file_chooser_button_new (_("Select a file"),
                                        GTK_FILE_CHOOSER_ACTION_OPEN);
  gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button), cwd);
  g_object_unref (cwd);
}

The GtkFileChooserButton supports the GtkFileChooserActions GTK_FILE_CHOOSER_ACTION_OPEN and GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.

The GtkFileChooserButton will ellipsize the label, and will thus request little horizontal space. To give the button more space, you should call gtk_widget_get_preferred_size(), gtk_file_chooser_button_set_width_chars(), or pack the button in such a way that other interface elements give space to the widget.

CSS nodes

GtkFileChooserButton has a single CSS node with the name “filechooserbutton”.

Functions

gtk_file_chooser_button_new ()

GtkWidget *
gtk_file_chooser_button_new (const char *title,
                             GtkFileChooserAction action);

Creates a new file-selecting button widget.

Parameters

title

the title of the browse dialog.

 

action

the open mode for the widget.

 

Returns

a new button widget.


gtk_file_chooser_button_new_with_dialog ()

GtkWidget *
gtk_file_chooser_button_new_with_dialog
                               (GtkWidget *dialog);

Creates a GtkFileChooserButton widget which uses dialog as its file-picking window.

Note that dialog must be a GtkDialog (or subclass) which implements the GtkFileChooser interface and must not have GTK_DIALOG_DESTROY_WITH_PARENT set.

Also note that the dialog needs to have its confirmative button added with response GTK_RESPONSE_ACCEPT or GTK_RESPONSE_OK in order for the button to take over the file selected in the dialog.

Parameters

dialog

the widget to use as dialog.

[type Gtk.Dialog]

Returns

a new button widget.


gtk_file_chooser_button_get_title ()

const char *
gtk_file_chooser_button_get_title (GtkFileChooserButton *button);

Retrieves the title of the browse dialog used by button . The returned value should not be modified or freed.

Parameters

button

the button widget to examine.

 

Returns

a pointer to the browse dialog’s title.


gtk_file_chooser_button_set_title ()

void
gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
                                   const char *title);

Modifies the title of the browse dialog used by button .

Parameters

button

the button widget to modify.

 

title

the new browse dialog title.

 

gtk_file_chooser_button_get_width_chars ()

int
gtk_file_chooser_button_get_width_chars
                               (GtkFileChooserButton *button);

Retrieves the width in characters of the button widget’s entry and/or label.

Parameters

button

the button widget to examine.

 

Returns

an integer width (in characters) that the button will use to size itself.


gtk_file_chooser_button_set_width_chars ()

void
gtk_file_chooser_button_set_width_chars
                               (GtkFileChooserButton *button,
                                int n_chars);

Sets the width (in characters) that button will use to n_chars .

Parameters

button

the button widget to examine.

 

n_chars

the new width, in characters.

 

gtk_file_chooser_button_get_modal ()

gboolean
gtk_file_chooser_button_get_modal (GtkFileChooserButton *button);

Gets whether the dialog is modal.

Parameters

button

a GtkFileChooserButton

 

Returns

TRUE if the dialog is modal


gtk_file_chooser_button_set_modal ()

void
gtk_file_chooser_button_set_modal (GtkFileChooserButton *button,
                                   gboolean modal);

Sets whether the dialog should be modal.

Parameters

button

a GtkFileChooserButton

 

modal

TRUE to make the dialog modal

 

Types and Values

GtkFileChooserButton

typedef struct _GtkFileChooserButton GtkFileChooserButton;

Property Details

The “dialog” property

  “dialog”                   GtkFileChooser *

Instance of the GtkFileChooserDialog associated with the button.

Owner: GtkFileChooserButton

Flags: Write / Construct Only


The “modal” property

  “modal”                    gboolean

Whether to make the dialog modal.

Owner: GtkFileChooserButton

Flags: Read / Write

Default value: TRUE


The “title” property

  “title”                    gchar *

Title to put on the GtkFileChooserDialog associated with the button.

Owner: GtkFileChooserButton

Flags: Read / Write

Default value: "Select a File"


The “width-chars” property

  “width-chars”              gint

The width of the entry and label inside the button, in characters.

Owner: GtkFileChooserButton

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “file-set” signal

void
user_function (GtkFileChooserButton *widget,
               gpointer              user_data)

The ::file-set signal is emitted when the user selects a file.

Note that this signal is only emitted when the user changes the file.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkFileChooserDialog.html0000664000175000017500000006446513710700533022221 0ustar mclasenmclasen GtkFileChooserDialog: GTK 4 Reference Manual

GtkFileChooserDialog

GtkFileChooserDialog — A file chooser dialog, suitable for “File Open” or “File Save” commands

Actions

  response.activate  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkFileChooserDialog

Implemented Interfaces

GtkFileChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkFileChooser.

Includes

#include <gtk/gtk.h>

Description

GtkFileChooserDialog is a dialog box suitable for use with “File Open” or “File Save” commands. This widget works by putting a GtkFileChooserWidget inside a GtkDialog. It exposes the GtkFileChooser interface, so you can use all of the GtkFileChooser functions on the file chooser dialog as well as those for GtkDialog.

Note that GtkFileChooserDialog does not have any methods of its own. Instead, you should use the functions that work on a GtkFileChooser.

If you want to integrate well with the platform you should use the GtkFileChooserNative API, which will use a platform-specific dialog if available and fall back to GtkFileChooserDialog otherwise.

Typical usage

In the simplest of cases, you can the following code to use GtkFileChooserDialog to select a file for opening:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
static void
on_open_response (GtkDialog *dialog,
                  int        response)
{
  if (response == GTK_RESPONSE_ACCEPT)
    {
      GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog);

      g_autoptr(GFile) file = gtk_file_chooser_get_file (chooser);

      open_file (file);
    }

  gtk_window_destroy (GTK_WINDOW (dialog));
}

  // ...
  GtkWidget *dialog;
  GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;

  dialog = gtk_file_chooser_dialog_new ("Open File",
                                        parent_window,
                                        action,
                                        _("_Cancel"),
                                        GTK_RESPONSE_CANCEL,
                                        _("_Open"),
                                        GTK_RESPONSE_ACCEPT,
                                        NULL);

  gtk_widget_show (dialog);

  g_signal_connect (dialog, "response",
                    G_CALLBACK (on_open_response),
                    NULL);

To use a dialog for saving, you can use this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
static void
on_save_response (GtkDialog *dialog,
                  int        response)
{
  if (response == GTK_RESPONSE_ACCEPT)
    {
      GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog);

      g_autoptr(GFile) file = gtk_file_chooser_get_file (chooser);

      save_to_file (file);
    }

  gtk_window_destroy (GTK_WINDOW (dialog));
}

  // ...
  GtkWidget *dialog;
  GtkFileChooser *chooser;
  GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;

  dialog = gtk_file_chooser_dialog_new ("Save File",
                                        parent_window,
                                        action,
                                        _("_Cancel"),
                                        GTK_RESPONSE_CANCEL,
                                        _("_Save"),
                                        GTK_RESPONSE_ACCEPT,
                                        NULL);
  chooser = GTK_FILE_CHOOSER (dialog);

  if (user_edited_a_new_document)
    gtk_file_chooser_set_current_name (chooser, _("Untitled document"));
  else
    gtk_file_chooser_set_file (chooser, existing_filename);

  gtk_widget_show (dialog);

  g_signal_connect (dialog, "response",
                    G_CALLBACK (on_save_response),
                    NULL);

Setting up a file chooser dialog

There are various cases in which you may need to use a GtkFileChooserDialog:

Note that old versions of the file chooser’s documentation suggested using gtk_file_chooser_set_current_folder() in various situations, with the intention of letting the application suggest a reasonable default folder. This is no longer considered to be a good policy, as now the file chooser is able to make good suggestions on its own. In general, you should only cause the file chooser to show a specific folder when it is appropriate to use gtk_file_chooser_set_file(), i.e. when you are doing a Save As command and you already have a file saved somewhere.

Response Codes

GtkFileChooserDialog inherits from GtkDialog, so buttons that go in its action area have response codes such as GTK_RESPONSE_ACCEPT and GTK_RESPONSE_CANCEL. For example, you could call gtk_file_chooser_dialog_new() as follows:

1
2
3
4
5
6
7
8
9
10
11
GtkWidget *dialog;
GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;

dialog = gtk_file_chooser_dialog_new ("Open File",
                                      parent_window,
                                      action,
                                      _("_Cancel"),
                                      GTK_RESPONSE_CANCEL,
                                      _("_Open"),
                                      GTK_RESPONSE_ACCEPT,
                                      NULL);

This will create buttons for “Cancel” and “Open” that use predefined response identifiers from GtkResponseType. For most dialog boxes you can use your own custom response codes rather than the ones in GtkResponseType, but GtkFileChooserDialog assumes that its “accept”-type action, e.g. an “Open” or “Save” button, will have one of the following response codes:

This is because GtkFileChooserDialog must intercept responses and switch to folders if appropriate, rather than letting the dialog terminate — the implementation uses these known response codes to know which responses can be blocked if appropriate.

To summarize, make sure you use a predefined response code when you use GtkFileChooserDialog to ensure proper operation.

Functions

gtk_file_chooser_dialog_new ()

GtkWidget *
gtk_file_chooser_dialog_new (const char *title,
                             GtkWindow *parent,
                             GtkFileChooserAction action,
                             const char *first_button_text,
                             ...);

Creates a new GtkFileChooserDialog. This function is analogous to gtk_dialog_new_with_buttons().

Parameters

title

Title of the dialog, or NULL.

[allow-none]

parent

Transient parent of the dialog, or NULL.

[allow-none]

action

Open or save mode for the dialog

 

first_button_text

text to go in the first button, or NULL.

[allow-none]

...

response ID for the first button, then additional (button, id) pairs, ending with NULL

 

Returns

a new GtkFileChooserDialog

Types and Values

GtkFileChooserDialog

typedef struct _GtkFileChooserDialog GtkFileChooserDialog;

Action Details

The “response.activate” action

Activate the default response of the dialog.

docs/reference/gtk/html/GtkFileChooserWidget.html0000664000175000017500000007756413710700533022251 0ustar mclasenmclasen GtkFileChooserWidget: GTK 4 Reference Manual

GtkFileChooserWidget

GtkFileChooserWidget — A file chooser widget

Properties

gboolean search-mode Read / Write
gchar * subtitle Read

Signals

void desktop-folder Action
void down-folder Action
void home-folder Action
void location-popup Action
void location-popup-on-paste Action
void location-toggle-popup Action
void places-shortcut Action
void quick-bookmark Action
void recent-shortcut Action
void search-shortcut Action
void show-hidden Action
void up-folder Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFileChooserWidget

Implemented Interfaces

GtkFileChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFileChooser.

Includes

#include <gtk/gtk.h>

Description

GtkFileChooserWidget is a widget for choosing files. It exposes the GtkFileChooser interface, and you should use the methods of this interface to interact with the widget.

CSS nodes

GtkFileChooserWidget has a single CSS node with name filechooser.

Functions

gtk_file_chooser_widget_new ()

GtkWidget *
gtk_file_chooser_widget_new (GtkFileChooserAction action);

Creates a new GtkFileChooserWidget. This is a file chooser widget that can be embedded in custom windows, and it is the same widget that is used by GtkFileChooserDialog.

Parameters

action

Open or save mode for the widget

 

Returns

a new GtkFileChooserWidget

Types and Values

GtkFileChooserWidget

typedef struct _GtkFileChooserWidget GtkFileChooserWidget;

Property Details

The “search-mode” property

  “search-mode”              gboolean

Search mode.

Owner: GtkFileChooserWidget

Flags: Read / Write

Default value: FALSE


The “subtitle” property

  “subtitle”                 gchar *

Subtitle.

Owner: GtkFileChooserWidget

Flags: Read

Default value: ""

Signal Details

The “desktop-folder” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::desktop-folder signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show the user's Desktop folder in the file list.

The default binding for this signal is Alt + D.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “down-folder” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::down-folder signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser go to a child of the current folder in the file hierarchy. The subfolder that will be used is displayed in the path bar widget of the file chooser. For example, if the path bar is showing "/foo/bar/baz", with bar currently displayed, then this will cause the file chooser to switch to the "baz" subfolder.

The default binding for this signal is Alt + Down.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “home-folder” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::home-folder signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show the user's home folder in the file list.

The default binding for this signal is Alt + Home.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “location-popup” signal

void
user_function (GtkFileChooserWidget *widget,
               gchar                *path,
               gpointer              user_data)

The ::location-popup signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show a "Location" prompt which the user can use to manually type the name of the file he wishes to select.

The default bindings for this signal are Control + L with a path string of "" (the empty string). It is also bound to / with a path string of "/" (a slash): this lets you type / and immediately type a path name. On Unix systems, this is bound to ~ (tilde) with a path string of "~" itself for access to home directories.

Parameters

widget

the object which received the signal

 

path

a string that gets put in the text entry for the file name

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “location-popup-on-paste” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::location-popup-on-paste signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show a "Location" prompt when the user pastes into a GtkFileChooserWidget.

The default binding for this signal is Control + V.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “location-toggle-popup” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::location-toggle-popup signal is a keybinding signal which gets emitted when the user asks for it.

This is used to toggle the visibility of a "Location" prompt which the user can use to manually type the name of the file he wishes to select.

The default binding for this signal is Control + L.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “places-shortcut” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::places-shortcut signal is a keybinding signal which gets emitted when the user asks for it.

This is used to move the focus to the places sidebar.

The default binding for this signal is Alt + P.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “quick-bookmark” signal

void
user_function (GtkFileChooserWidget *widget,
               gint                  bookmark_index,
               gpointer              user_data)

The ::quick-bookmark signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser switch to the bookmark specified in the bookmark_index parameter. For example, if you have three bookmarks, you can pass 0, 1, 2 to this signal to switch to each of them, respectively.

The default binding for this signal is Alt + 1, Alt + 2, etc. until Alt + 0. Note that in the default binding, that Alt + 1 is actually defined to switch to the bookmark at index 0, and so on successively; Alt + 0 is defined to switch to the bookmark at index 10.

Parameters

widget

the object which received the signal

 

bookmark_index

the number of the bookmark to switch to

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “recent-shortcut” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::recent-shortcut signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show the Recent location.

The default binding for this signal is Alt + R.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “search-shortcut” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::search-shortcut signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser show the search entry.

The default binding for this signal is Alt + S.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “show-hidden” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::show-hidden signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser display hidden files.

The default binding for this signal is Control + H.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “up-folder” signal

void
user_function (GtkFileChooserWidget *widget,
               gpointer              user_data)

The ::up-folder signal is a keybinding signal which gets emitted when the user asks for it.

This is used to make the file chooser go to the parent of the current folder in the file hierarchy.

The default binding for this signal is Alt + Up.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkFontChooser.html0000664000175000017500000016004213710700533021114 0ustar mclasenmclasen GtkFontChooser: GTK 4 Reference Manual

GtkFontChooser

GtkFontChooser — Interface implemented by widgets displaying fonts

Properties

gchar * font Read / Write
PangoFontDescription * font-desc Read / Write
gchar * font-features Read
gchar * language Read / Write
GtkFontChooserLevel level Read / Write
gchar * preview-text Read / Write
gboolean show-preview-entry Read / Write

Signals

void font-activated Run First

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkFontChooser

Prerequisites

GtkFontChooser requires GObject.

Known Implementations

GtkFontChooser is implemented by GtkFontButton, GtkFontChooserDialog and GtkFontChooserWidget.

Includes

#include <gtk/gtk.h>

Description

GtkFontChooser is an interface that can be implemented by widgets displaying the list of fonts. In GTK+, the main objects that implement this interface are GtkFontChooserWidget, GtkFontChooserDialog and GtkFontButton. The GtkFontChooser interface has been introduced in GTK+ 3.2.

Functions

gtk_font_chooser_get_font_family ()

PangoFontFamily *
gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser);

Gets the PangoFontFamily representing the selected font family. Font families are a collection of font faces.

If the selected font is not installed, returns NULL.

Parameters

fontchooser

a GtkFontChooser

 

Returns

A PangoFontFamily representing the selected font family, or NULL. The returned object is owned by fontchooser and must not be modified or freed.

[nullable][transfer none]


gtk_font_chooser_get_font_face ()

PangoFontFace *
gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser);

Gets the PangoFontFace representing the selected font group details (i.e. family, slant, weight, width, etc).

If the selected font is not installed, returns NULL.

Parameters

fontchooser

a GtkFontChooser

 

Returns

A PangoFontFace representing the selected font group details, or NULL. The returned object is owned by fontchooser and must not be modified or freed.

[nullable][transfer none]


gtk_font_chooser_get_font_size ()

int
gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser);

The selected font size.

Parameters

fontchooser

a GtkFontChooser

 

Returns

A n integer representing the selected font size, or -1 if no font size is selected.


gtk_font_chooser_get_font ()

char *
gtk_font_chooser_get_font (GtkFontChooser *fontchooser);

Gets the currently-selected font name.

Note that this can be a different string than what you set with gtk_font_chooser_set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two font descriptions.

Parameters

fontchooser

a GtkFontChooser

 

Returns

A string with the name of the current font, or NULL if no font is selected. You must free this string with g_free().

[nullable][transfer full]


gtk_font_chooser_set_font ()

void
gtk_font_chooser_set_font (GtkFontChooser *fontchooser,
                           const char *fontname);

Sets the currently-selected font.

Parameters

fontchooser

a GtkFontChooser

 

fontname

a font name like “Helvetica 12” or “Times Bold 18”

 

gtk_font_chooser_get_font_desc ()

PangoFontDescription *
gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser);

Gets the currently-selected font.

Note that this can be a different string than what you set with gtk_font_chooser_set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two font descriptions.

Parameters

fontchooser

a GtkFontChooser

 

Returns

A PangoFontDescription for the current font, or NULL if no font is selected.

[nullable][transfer full]


gtk_font_chooser_set_font_desc ()

void
gtk_font_chooser_set_font_desc (GtkFontChooser *fontchooser,
                                const PangoFontDescription *font_desc);

Sets the currently-selected font from font_desc .

Parameters

fontchooser

a GtkFontChooser

 

font_desc

a PangoFontDescription

 

gtk_font_chooser_get_font_features ()

char *
gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser);

Gets the currently-selected font features.

Parameters

fontchooser

a GtkFontChooser

 

Returns

the currently selected font features


gtk_font_chooser_get_language ()

char *
gtk_font_chooser_get_language (GtkFontChooser *fontchooser);

Gets the language that is used for font features.

Parameters

fontchooser

a GtkFontChooser

 

Returns

the currently selected language


gtk_font_chooser_set_language ()

void
gtk_font_chooser_set_language (GtkFontChooser *fontchooser,
                               const char *language);

Sets the language to use for font features.

Parameters

fontchooser

a GtkFontChooser

 

language

a language

 

gtk_font_chooser_get_preview_text ()

char *
gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser);

Gets the text displayed in the preview area.

Parameters

fontchooser

a GtkFontChooser

 

Returns

the text displayed in the preview area.

[transfer full]


gtk_font_chooser_set_preview_text ()

void
gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser,
                                   const char *text);

Sets the text displayed in the preview area. The text is used to show how the selected font looks.

Parameters

fontchooser

a GtkFontChooser

 

text

the text to display in the preview area.

[transfer none]

gtk_font_chooser_get_show_preview_entry ()

gboolean
gtk_font_chooser_get_show_preview_entry
                               (GtkFontChooser *fontchooser);

Returns whether the preview entry is shown or not.

Parameters

fontchooser

a GtkFontChooser

 

Returns

TRUE if the preview entry is shown or FALSE if it is hidden.


gtk_font_chooser_set_show_preview_entry ()

void
gtk_font_chooser_set_show_preview_entry
                               (GtkFontChooser *fontchooser,
                                gboolean show_preview_entry);

Shows or hides the editable preview entry.

Parameters

fontchooser

a GtkFontChooser

 

show_preview_entry

whether to show the editable preview entry or not

 

gtk_font_chooser_get_level ()

GtkFontChooserLevel
gtk_font_chooser_get_level (GtkFontChooser *fontchooser);

Returns the current level of granularity for selecting fonts.

Parameters

fontchooser

a GtkFontChooser

 

Returns

the current granularity level


gtk_font_chooser_set_level ()

void
gtk_font_chooser_set_level (GtkFontChooser *fontchooser,
                            GtkFontChooserLevel level);

Sets the desired level of granularity for selecting fonts.

Parameters

fontchooser

a GtkFontChooser

 

level

the desired level of granularity

 

GtkFontFilterFunc ()

gboolean
(*GtkFontFilterFunc) (const PangoFontFamily *family,
                      const PangoFontFace *face,
                      gpointer data);

The type of function that is used for deciding what fonts get shown in a GtkFontChooser. See gtk_font_chooser_set_filter_func().

Parameters

family

a PangoFontFamily

 

face

a PangoFontFace belonging to family

 

data

user data passed to gtk_font_chooser_set_filter_func().

[closure]

Returns

TRUE if the font should be displayed


gtk_font_chooser_set_filter_func ()

void
gtk_font_chooser_set_filter_func (GtkFontChooser *fontchooser,
                                  GtkFontFilterFunc filter,
                                  gpointer user_data,
                                  GDestroyNotify destroy);

Adds a filter function that decides which fonts to display in the font chooser.

Parameters

fontchooser

a GtkFontChooser

 

filter

a GtkFontFilterFunc, or NULL.

[allow-none]

user_data

data to pass to filter .

[closure]

destroy

function to call to free data when it is no longer needed

 

gtk_font_chooser_set_font_map ()

void
gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser,
                               PangoFontMap *fontmap);

Sets a custom font map to use for this font chooser widget. A custom font map can be used to present application-specific fonts instead of or in addition to the normal system fonts.

1
2
3
4
5
6
7
8
9
10
FcConfig *config;
PangoFontMap *fontmap;

config = FcInitLoadConfigAndFonts ();
FcConfigAppFontAddFile (config, my_app_font_file);

fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config);

gtk_font_chooser_set_font_map (font_chooser, fontmap);

Note that other GTK+ widgets will only be able to use the application-specific font if it is present in the font map they use:

1
2
context = gtk_widget_get_pango_context (label);
pango_context_set_font_map (context, fontmap);

Parameters

fontchooser

a GtkFontChooser

 

fontmap

a PangoFontMap.

[allow-none]

gtk_font_chooser_get_font_map ()

PangoFontMap *
gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser);

Gets the custom font map of this font chooser widget, or NULL if it does not have one.

Parameters

fontchooser

a GtkFontChooser

 

Returns

a PangoFontMap, or NULL.

[nullable][transfer full]

Types and Values

GtkFontChooser

typedef struct _GtkFontChooser GtkFontChooser;

enum GtkFontChooserLevel

This enumeration specifies the granularity of font selection that is desired in a font chooser.

This enumeration may be extended in the future; applications should ignore unknown values.

Members

GTK_FONT_CHOOSER_LEVEL_FAMILY

Allow selecting a font family

 

GTK_FONT_CHOOSER_LEVEL_STYLE

Allow selecting a specific font face

 

GTK_FONT_CHOOSER_LEVEL_SIZE

Allow selecting a specific font size

 

GTK_FONT_CHOOSER_LEVEL_VARIATIONS

Allow changing OpenType font variation axes

 

GTK_FONT_CHOOSER_LEVEL_FEATURES

Allow selecting specific OpenType font features

 

Property Details

The “font” property

  “font”                     gchar *

The font description as a string, e.g. "Sans Italic 12".

Owner: GtkFontChooser

Flags: Read / Write

Default value: "Sans 10"


The “font-desc” property

  “font-desc”                PangoFontDescription *

The font description as a PangoFontDescription.

Owner: GtkFontChooser

Flags: Read / Write


The “font-features” property

  “font-features”            gchar *

The selected font features, in a format that is compatible with CSS and with Pango attributes.

Owner: GtkFontChooser

Flags: Read

Default value: ""


The “language” property

  “language”                 gchar *

The language for which the “font-features” were selected, in a format that is compatible with CSS and with Pango attributes.

Owner: GtkFontChooser

Flags: Read / Write

Default value: ""


The “level” property

  “level”                    GtkFontChooserLevel

The level of granularity to offer for selecting fonts.

Owner: GtkFontChooser

Flags: Read / Write

Default value: GTK_FONT_CHOOSER_LEVEL_STYLE | GTK_FONT_CHOOSER_LEVEL_SIZE


The “preview-text” property

  “preview-text”             gchar *

The string with which to preview the font.

Owner: GtkFontChooser

Flags: Read / Write

Default value: "The quick brown fox jumps over the lazy dog."


The “show-preview-entry” property

  “show-preview-entry”       gboolean

Whether to show an entry to change the preview text.

Owner: GtkFontChooser

Flags: Read / Write

Default value: TRUE

Signal Details

The “font-activated” signal

void
user_function (GtkFontChooser *self,
               gchar          *fontname,
               gpointer        user_data)

Emitted when a font is activated. This usually happens when the user double clicks an item, or an item is selected and the user presses one of the keys Space, Shift+Space, Return or Enter.

Parameters

self

the object which received the signal

 

fontname

the font name

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkFrame.html0000664000175000017500000006633613710700533017730 0ustar mclasenmclasen GtkFrame: GTK 4 Reference Manual

GtkFrame

GtkFrame — A widget with a decorative frame and optional label

Properties

GtkWidget * child Read / Write
gchar * label Read / Write
GtkWidget * label-widget Read / Write
gfloat label-xalign Read / Write

Types and Values

struct GtkFrame
struct GtkFrameClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFrame

Implemented Interfaces

GtkFrame implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The frame widget is a widget that surrounds its child with a decorative frame and an optional label. If present, the label is drawn inside the top edge of the frame. The horizontal position of the label can be controlled with gtk_frame_set_label_align().

GtkFrame as GtkBuildable

The GtkFrame implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute.

An example of a UI definition fragment with GtkFrame:

1
2
3
4
5
6
7
8
<object class="GtkFrame">
  <child type="label">
    <object class="GtkLabel" id="frame_label"/>
  </child>
  <child>
    <object class="GtkEntry" id="frame_content"/>
  </child>
</object>


CSS nodes

1
2
3
frame
├── <label widget>
╰── <child>

GtkFrame has a main CSS node with name “frame”, which is used to draw the visible border. You can set the appearance of the border using CSS properties like “border-style” on this node.

Functions

gtk_frame_new ()

GtkWidget *
gtk_frame_new (const char *label);

Creates a new GtkFrame, with optional label label . If label is NULL, the label is omitted.

Parameters

label

the text to use as the label of the frame.

[allow-none]

Returns

a new GtkFrame widget


gtk_frame_set_child ()

void
gtk_frame_set_child (GtkFrame *frame,
                     GtkWidget *child);

Sets the child widget of frame .

Parameters

frame

a GtkFrame

 

child

the child widget.

[allow-none]

gtk_frame_get_child ()

GtkWidget *
gtk_frame_get_child (GtkFrame *frame);

Gets the child widget of frame .

Parameters

frame

a GtkFrame

 

Returns

the child widget of frame .

[nullable][transfer none]


gtk_frame_set_label ()

void
gtk_frame_set_label (GtkFrame *frame,
                     const char *label);

Removes the current “label-widget”. If label is not NULL, creates a new GtkLabel with that text and adds it as the “label-widget”.

Parameters

frame

a GtkFrame

 

label

the text to use as the label of the frame.

[allow-none]

gtk_frame_get_label ()

const char *
gtk_frame_get_label (GtkFrame *frame);

If the frame’s label widget is a GtkLabel, returns the text in the label widget. (The frame will have a GtkLabel for the label widget if a non-NULL argument was passed to gtk_frame_new().)

Parameters

frame

a GtkFrame

 

Returns

the text in the label, or NULL if there was no label widget or the lable widget was not a GtkLabel. This string is owned by GTK+ and must not be modified or freed.

[nullable]


gtk_frame_set_label_widget ()

void
gtk_frame_set_label_widget (GtkFrame *frame,
                            GtkWidget *label_widget);

Sets the “label-widget” for the frame. This is the widget that will appear embedded in the top edge of the frame as a title.

Parameters

frame

a GtkFrame

 

label_widget

the new label widget.

[nullable]

gtk_frame_get_label_widget ()

GtkWidget *
gtk_frame_get_label_widget (GtkFrame *frame);

Retrieves the label widget for the frame. See gtk_frame_set_label_widget().

Parameters

frame

a GtkFrame

 

Returns

the label widget, or NULL if there is none.

[nullable][transfer none]


gtk_frame_set_label_align ()

void
gtk_frame_set_label_align (GtkFrame *frame,
                           float xalign);

Sets the X alignment of the frame widget’s label. The default value for a newly created frame is 0.0.

Parameters

frame

a GtkFrame

 

xalign

The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment.

 

gtk_frame_get_label_align ()

float
gtk_frame_get_label_align (GtkFrame *frame);

Retrieves the X alignment of the frame’s label. See gtk_frame_set_label_align().

Parameters

frame

a GtkFrame

 

Types and Values

struct GtkFrame

struct GtkFrame;

struct GtkFrameClass

struct GtkFrameClass {
  GtkWidgetClass parent_class;

  void (*compute_child_allocation) (GtkFrame *frame,
                                    GtkAllocation *allocation);
};

Members

compute_child_allocation ()

   

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkFrame

Flags: Read / Write


The “label” property

  “label”                    gchar *

Text of the frame’s label.

Owner: GtkFrame

Flags: Read / Write

Default value: NULL


The “label-widget” property

  “label-widget”             GtkWidget *

A widget to display in place of the usual frame label.

Owner: GtkFrame

Flags: Read / Write


The “label-xalign” property

  “label-xalign”             gfloat

The horizontal alignment of the label.

Owner: GtkFrame

Flags: Read / Write

Allowed values: [0,1]

Default value: 0

docs/reference/gtk/html/GtkGesture.html0000664000175000017500000020666013710700534020311 0ustar mclasenmclasen GtkGesture: GTK 4 Reference Manual

GtkGesture

GtkGesture — Base class for gestures

Properties

guint n-points Read / Write / Construct Only

Signals

void begin Run Last
void cancel Run Last
void end Run Last
void sequence-state-changed Run Last
void update Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ├── GtkGestureSingle
            ├── GtkGestureRotate
            ╰── GtkGestureZoom

Includes

#include <gtk/gtk.h>

Description

GtkGesture is the base object for gesture recognition, although this object is quite generalized to serve as a base for multi-touch gestures, it is suitable to implement single-touch and pointer-based gestures (using the special NULL GdkEventSequence value for these).

The number of touches that a GtkGesture need to be recognized is controlled by the “n-points” property, if a gesture is keeping track of less or more than that number of sequences, it won't check wether the gesture is recognized.

As soon as the gesture has the expected number of touches, the gesture will run the “check” signal regularly on input events until the gesture is recognized, the criteria to consider a gesture as "recognized" is left to GtkGesture subclasses.

A recognized gesture will then emit the following signals:

  • “begin” when the gesture is recognized.

  • A number of “update”, whenever an input event is processed.

  • “end” when the gesture is no longer recognized.

Event propagation

In order to receive events, a gesture needs to either set a propagation phase through gtk_event_controller_set_propagation_phase(), or feed those manually through gtk_event_controller_handle_event().

In the capture phase, events are propagated from the toplevel down to the target widget, and gestures that are attached to containers above the widget get a chance to interact with the event before it reaches the target.

After the capture phase, GTK+ emits the traditional “event” signal. Gestures with the GTK_PHASE_TARGET phase are fed events from the default “event” handlers.

In the bubble phase, events are propagated up from the target widget to the toplevel, and gestures that are attached to containers above the widget get a chance to interact with events that have not been handled yet.

States of a sequence

Whenever input interaction happens, a single event may trigger a cascade of GtkGestures, both across the parents of the widget receiving the event and in parallel within an individual widget. It is a responsibility of the widgets using those gestures to set the state of touch sequences accordingly in order to enable cooperation of gestures around the GdkEventSequences triggering those.

Within a widget, gestures can be grouped through gtk_gesture_group(), grouped gestures synchronize the state of sequences, so calling gtk_gesture_set_sequence_state() on one will effectively propagate the state throughout the group.

By default, all sequences start out in the GTK_EVENT_SEQUENCE_NONE state, sequences in this state trigger the gesture event handler, but event propagation will continue unstopped by gestures.

If a sequence enters into the GTK_EVENT_SEQUENCE_DENIED state, the gesture group will effectively ignore the sequence, letting events go unstopped through the gesture, but the "slot" will still remain occupied while the touch is active.

If a sequence enters in the GTK_EVENT_SEQUENCE_CLAIMED state, the gesture group will grab all interaction on the sequence, by:

  • Setting the same sequence to GTK_EVENT_SEQUENCE_DENIED on every other gesture group within the widget, and every gesture on parent widgets in the propagation chain.

  • calling “cancel” on every gesture in widgets underneath in the propagation chain.

  • Stopping event propagation after the gesture group handles the event.

Note: if a sequence is set early to GTK_EVENT_SEQUENCE_CLAIMED on GDK_TOUCH_BEGIN/GDK_BUTTON_PRESS (so those events are captured before reaching the event widget, this implies GTK_PHASE_CAPTURE), one similar event will emulated if the sequence changes to GTK_EVENT_SEQUENCE_DENIED. This way event coherence is preserved before event propagation is unstopped again.

Sequence states can't be changed freely, see gtk_gesture_set_sequence_state() to know about the possible lifetimes of a GdkEventSequence.

Touchpad gestures

On the platforms that support it, GtkGesture will handle transparently touchpad gesture events. The only precautions users of GtkGesture should do to enable this support are:

Functions

gtk_gesture_get_device ()

GdkDevice *
gtk_gesture_get_device (GtkGesture *gesture);

Returns the logical GdkDevice that is currently operating on gesture , or NULL if the gesture is not being interacted.

Parameters

gesture

a GtkGesture

 

Returns

a GdkDevice, or NULL.

[nullable][transfer none]


gtk_gesture_is_active ()

gboolean
gtk_gesture_is_active (GtkGesture *gesture);

Returns TRUE if the gesture is currently active. A gesture is active meanwhile there are touch sequences interacting with it.

Parameters

gesture

a GtkGesture

 

Returns

TRUE if gesture is active


gtk_gesture_is_recognized ()

gboolean
gtk_gesture_is_recognized (GtkGesture *gesture);

Returns TRUE if the gesture is currently recognized. A gesture is recognized if there are as many interacting touch sequences as required by gesture , and “check” returned TRUE for the sequences being currently interpreted.

Parameters

gesture

a GtkGesture

 

Returns

TRUE if gesture is recognized


gtk_gesture_get_sequence_state ()

GtkEventSequenceState
gtk_gesture_get_sequence_state (GtkGesture *gesture,
                                GdkEventSequence *sequence);

Returns the sequence state, as seen by gesture .

Parameters

gesture

a GtkGesture

 

sequence

a GdkEventSequence

 

Returns

The sequence state in gesture


gtk_gesture_set_sequence_state ()

gboolean
gtk_gesture_set_sequence_state (GtkGesture *gesture,
                                GdkEventSequence *sequence,
                                GtkEventSequenceState state);

Sets the state of sequence in gesture . Sequences start in state GTK_EVENT_SEQUENCE_NONE, and whenever they change state, they can never go back to that state. Likewise, sequences in state GTK_EVENT_SEQUENCE_DENIED cannot turn back to a not denied state. With these rules, the lifetime of an event sequence is constrained to the next four:

  • None

  • None → Denied

  • None → Claimed

  • None → Claimed → Denied

Note: Due to event handling ordering, it may be unsafe to set the state on another gesture within a “begin” signal handler, as the callback might be executed before the other gesture knows about the sequence. A safe way to perform this could be:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static void
first_gesture_begin_cb (GtkGesture       *first_gesture,
                        GdkEventSequence *sequence,
                        gpointer          user_data)
{
  gtk_gesture_set_sequence_state (first_gesture, sequence, GTK_EVENT_SEQUENCE_CLAIMED);
  gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
}

static void
second_gesture_begin_cb (GtkGesture       *second_gesture,
                         GdkEventSequence *sequence,
                         gpointer          user_data)
{
  if (gtk_gesture_get_sequence_state (first_gesture, sequence) == GTK_EVENT_SEQUENCE_CLAIMED)
    gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
}

If both gestures are in the same group, just set the state on the gesture emitting the event, the sequence will be already be initialized to the group's global state when the second gesture processes the event.

Parameters

gesture

a GtkGesture

 

sequence

a GdkEventSequence

 

state

the sequence state

 

Returns

TRUE if sequence is handled by gesture , and the state is changed successfully


gtk_gesture_set_state ()

gboolean
gtk_gesture_set_state (GtkGesture *gesture,
                       GtkEventSequenceState state);

Sets the state of all sequences that gesture is currently interacting with. See gtk_gesture_set_sequence_state() for more details on sequence states.

Parameters

gesture

a GtkGesture

 

state

the sequence state

 

Returns

TRUE if the state of at least one sequence was changed successfully


gtk_gesture_get_sequences ()

GList *
gtk_gesture_get_sequences (GtkGesture *gesture);

Returns the list of GdkEventSequences currently being interpreted by gesture .

Parameters

gesture

a GtkGesture

 

Returns

A list of GdkEventSequences, the list elements are owned by GTK+ and must not be freed or modified, the list itself must be deleted through g_list_free().

[transfer container][element-type GdkEventSequence]


gtk_gesture_handles_sequence ()

gboolean
gtk_gesture_handles_sequence (GtkGesture *gesture,
                              GdkEventSequence *sequence);

Returns TRUE if gesture is currently handling events corresponding to sequence .

Parameters

gesture

a GtkGesture

 

sequence

a GdkEventSequence or NULL.

[nullable]

Returns

TRUE if gesture is handling sequence , FALSE otherwise


gtk_gesture_get_last_updated_sequence ()

GdkEventSequence *
gtk_gesture_get_last_updated_sequence (GtkGesture *gesture);

Returns the GdkEventSequence that was last updated on gesture .

Parameters

gesture

a GtkGesture

 

Returns

The last updated sequence.

[transfer none][nullable]


gtk_gesture_get_last_event ()

GdkEvent *
gtk_gesture_get_last_event (GtkGesture *gesture,
                            GdkEventSequence *sequence);

Returns the last event that was processed for sequence .

Note that the returned pointer is only valid as long as the sequence is still interpreted by the gesture . If in doubt, you should make a copy of the event.

Parameters

gesture

a GtkGesture

 

sequence

a GdkEventSequence.

[nullable]

Returns

The last event from sequence .

[transfer none][nullable]


gtk_gesture_get_point ()

gboolean
gtk_gesture_get_point (GtkGesture *gesture,
                       GdkEventSequence *sequence,
                       double *x,
                       double *y);

If sequence is currently being interpreted by gesture , this function returns TRUE and fills in x and y with the last coordinates stored for that event sequence. The coordinates are always relative to the widget allocation.

Parameters

gesture

a GtkGesture

 

sequence

a GdkEventSequence, or NULL for pointer events.

[allow-none]

x

return location for X axis of the sequence coordinates.

[out][allow-none]

y

return location for Y axis of the sequence coordinates.

[out][allow-none]

Returns

TRUE if sequence is currently interpreted


gtk_gesture_get_bounding_box ()

gboolean
gtk_gesture_get_bounding_box (GtkGesture *gesture,
                              GdkRectangle *rect);

If there are touch sequences being currently handled by gesture , this function returns TRUE and fills in rect with the bounding box containing all active touches. Otherwise, FALSE will be returned.

Note: This function will yield unexpected results on touchpad gestures. Since there is no correlation between physical and pixel distances, these will look as if constrained in an infinitely small area, rect width and height will thus be 0 regardless of the number of touchpoints.

Parameters

gesture

a GtkGesture

 

rect

bounding box containing all active touches.

[out]

Returns

TRUE if there are active touches, FALSE otherwise


gtk_gesture_get_bounding_box_center ()

gboolean
gtk_gesture_get_bounding_box_center (GtkGesture *gesture,
                                     double *x,
                                     double *y);

If there are touch sequences being currently handled by gesture , this function returns TRUE and fills in x and y with the center of the bounding box containing all active touches. Otherwise, FALSE will be returned.

Parameters

gesture

a GtkGesture

 

x

X coordinate for the bounding box center.

[out]

y

Y coordinate for the bounding box center.

[out]

Returns

FALSE if no active touches are present, TRUE otherwise


gtk_gesture_group ()

void
gtk_gesture_group (GtkGesture *group_gesture,
                   GtkGesture *gesture);

Adds gesture to the same group than group_gesture . Gestures are by default isolated in their own groups.

Both gestures must have been added to the same widget before they can be grouped.

When gestures are grouped, the state of GdkEventSequences is kept in sync for all of those, so calling gtk_gesture_set_sequence_state(), on one will transfer the same value to the others.

Groups also perform an "implicit grabbing" of sequences, if a GdkEventSequence state is set to GTK_EVENT_SEQUENCE_CLAIMED on one group, every other gesture group attached to the same GtkWidget will switch the state for that sequence to GTK_EVENT_SEQUENCE_DENIED.

Parameters

gesture

a GtkGesture

 

group_gesture

GtkGesture to group gesture with

 

gtk_gesture_ungroup ()

void
gtk_gesture_ungroup (GtkGesture *gesture);

Separates gesture into an isolated group.

Parameters

gesture

a GtkGesture

 

gtk_gesture_get_group ()

GList *
gtk_gesture_get_group (GtkGesture *gesture);

Returns all gestures in the group of gesture

Parameters

gesture

a GtkGesture

 

Returns

The list of GtkGestures, free with g_list_free().

[element-type GtkGesture][transfer container]


gtk_gesture_is_grouped_with ()

gboolean
gtk_gesture_is_grouped_with (GtkGesture *gesture,
                             GtkGesture *other);

Returns TRUE if both gestures pertain to the same group.

Parameters

gesture

a GtkGesture

 

other

another GtkGesture

 

Returns

whether the gestures are grouped

Types and Values

GtkGesture

typedef struct _GtkGesture GtkGesture;

enum GtkEventSequenceState

Describes the state of a GdkEventSequence in a GtkGesture.

Members

GTK_EVENT_SEQUENCE_NONE

The sequence is handled, but not grabbed.

 

GTK_EVENT_SEQUENCE_CLAIMED

The sequence is handled and grabbed.

 

GTK_EVENT_SEQUENCE_DENIED

The sequence is denied.

 

Property Details

The “n-points” property

  “n-points”                 guint

The number of touch points that trigger recognition on this gesture,

Owner: GtkGesture

Flags: Read / Write / Construct Only

Allowed values: >= 1

Default value: 1

Signal Details

The “begin” signal

void
user_function (GtkGesture       *gesture,
               GdkEventSequence *sequence,
               gpointer          user_data)

This signal is emitted when the gesture is recognized. This means the number of touch sequences matches “n-points”, and the “check” handler(s) returned TRUE.

Note: These conditions may also happen when an extra touch (eg. a third touch on a 2-touches gesture) is lifted, in that situation sequence won't pertain to the current set of active touches, so don't rely on this being true.

Parameters

gesture

the object which received the signal

 

sequence

the GdkEventSequence that made the gesture to be recognized

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “cancel” signal

void
user_function (GtkGesture       *gesture,
               GdkEventSequence *sequence,
               gpointer          user_data)

This signal is emitted whenever a sequence is cancelled. This usually happens on active touches when gtk_event_controller_reset() is called on gesture (manually, due to grabs...), or the individual sequence was claimed by parent widgets' controllers (see gtk_gesture_set_sequence_state()).

gesture must forget everything about sequence as a reaction to this signal.

Parameters

gesture

the object which received the signal

 

sequence

the GdkEventSequence that was cancelled

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “end” signal

void
user_function (GtkGesture       *gesture,
               GdkEventSequence *sequence,
               gpointer          user_data)

This signal is emitted when gesture either stopped recognizing the event sequences as something to be handled (the “check” handler returned FALSE), or the number of touch sequences became higher or lower than “n-points”.

Note: sequence might not pertain to the group of sequences that were previously triggering recognition on gesture (ie. a just pressed touch sequence that exceeds “n-points”). This situation may be detected by checking through gtk_gesture_handles_sequence().

Parameters

gesture

the object which received the signal

 

sequence

the GdkEventSequence that made gesture recognition to finish

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “sequence-state-changed” signal

void
user_function (GtkGesture           *gesture,
               GdkEventSequence     *sequence,
               GtkEventSequenceState state,
               gpointer              user_data)

This signal is emitted whenever a sequence state changes. See gtk_gesture_set_sequence_state() to know more about the expectable sequence lifetimes.

Parameters

gesture

the object which received the signal

 

sequence

the GdkEventSequence that was cancelled

 

state

the new sequence state

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “update” signal

void
user_function (GtkGesture       *gesture,
               GdkEventSequence *sequence,
               gpointer          user_data)

This signal is emitted whenever an event is handled while the gesture is recognized. sequence is guaranteed to pertain to the set of active touches.

Parameters

gesture

the object which received the signal

 

sequence

the GdkEventSequence that was updated

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkGestureDrag.html0000664000175000017500000004422213710700534021101 0ustar mclasenmclasen GtkGestureDrag: GTK 4 Reference Manual

GtkGestureDrag

GtkGestureDrag — Drag gesture

Signals

void drag-begin Run Last
void drag-end Run Last
void drag-update Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureDrag
                    ╰── GtkGesturePan

Includes

#include <gtk/gtk.h>

Description

GtkGestureDrag is a GtkGesture implementation that recognizes drag operations. The drag operation itself can be tracked throught the “drag-begin”, “drag-update” and “drag-end” signals, or the relevant coordinates be extracted through gtk_gesture_drag_get_offset() and gtk_gesture_drag_get_start_point().

Functions

gtk_gesture_drag_new ()

GtkGesture *
gtk_gesture_drag_new (void);

Returns a newly created GtkGesture that recognizes drags.

Returns

a newly created GtkGestureDrag


gtk_gesture_drag_get_start_point ()

gboolean
gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture,
                                  double *x,
                                  double *y);

If the gesture is active, this function returns TRUE and fills in x and y with the drag start coordinates, in window-relative coordinates.

Parameters

gesture

a GtkGesture

 

x

X coordinate for the drag start point.

[out][nullable]

y

Y coordinate for the drag start point.

[out][nullable]

Returns

TRUE if the gesture is active


gtk_gesture_drag_get_offset ()

gboolean
gtk_gesture_drag_get_offset (GtkGestureDrag *gesture,
                             double *x,
                             double *y);

If the gesture is active, this function returns TRUE and fills in x and y with the coordinates of the current point, as an offset to the starting drag point.

Parameters

gesture

a GtkGesture

 

x

X offset for the current point.

[out][nullable]

y

Y offset for the current point.

[out][nullable]

Returns

TRUE if the gesture is active

Types and Values

GtkGestureDrag

typedef struct _GtkGestureDrag GtkGestureDrag;

Signal Details

The “drag-begin” signal

void
user_function (GtkGestureDrag *gesture,
               gdouble         start_x,
               gdouble         start_y,
               gpointer        user_data)

This signal is emitted whenever dragging starts.

Parameters

gesture

the object which received the signal

 

start_x

X coordinate, relative to the widget allocation

 

start_y

Y coordinate, relative to the widget allocation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “drag-end” signal

void
user_function (GtkGestureDrag *gesture,
               gdouble         offset_x,
               gdouble         offset_y,
               gpointer        user_data)

This signal is emitted whenever the dragging is finished.

Parameters

gesture

the object which received the signal

 

offset_x

X offset, relative to the start point

 

offset_y

Y offset, relative to the start point

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “drag-update” signal

void
user_function (GtkGestureDrag *gesture,
               gdouble         offset_x,
               gdouble         offset_y,
               gpointer        user_data)

This signal is emitted whenever the dragging point moves.

Parameters

gesture

the object which received the signal

 

offset_x

X offset, relative to the start point

 

offset_y

Y offset, relative to the start point

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkGestureSwipe

docs/reference/gtk/html/GtkGestureSingle.html0000664000175000017500000005503613710700534021452 0ustar mclasenmclasen GtkGestureSingle: GTK 4 Reference Manual

GtkGestureSingle

GtkGestureSingle — Base class for mouse/single-touch gestures

Properties

guint button Read / Write
gboolean exclusive Read / Write
gboolean touch-only Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ├── GtkDragSource
                ├── GtkGestureClick
                ├── GtkGestureDrag
                ├── GtkGestureLongPress
                ├── GtkGestureStylus
                ╰── GtkGestureSwipe

Includes

#include <gtk/gtk.h>

Description

GtkGestureSingle is a subclass of GtkGesture, optimized (although not restricted) for dealing with mouse and single-touch gestures. Under interaction, these gestures stick to the first interacting sequence, which is accessible through gtk_gesture_single_get_current_sequence() while the gesture is being interacted with.

By default gestures react to both GDK_BUTTON_PRIMARY and touch events, gtk_gesture_single_set_touch_only() can be used to change the touch behavior. Callers may also specify a different mouse button number to interact with through gtk_gesture_single_set_button(), or react to any mouse button by setting 0. While the gesture is active, the button being currently pressed can be known through gtk_gesture_single_get_current_button().

Functions

gtk_gesture_single_get_exclusive ()

gboolean
gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture);

Gets whether a gesture is exclusive. For more information, see gtk_gesture_single_set_exclusive().

Parameters

gesture

a GtkGestureSingle

 

Returns

Whether the gesture is exclusive


gtk_gesture_single_set_exclusive ()

void
gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture,
                                  gboolean exclusive);

Sets whether gesture is exclusive. An exclusive gesture will only handle pointer and "pointer emulated" touch events, so at any given time, there is only one sequence able to interact with those.

Parameters

gesture

a GtkGestureSingle

 

exclusive

TRUE to make gesture exclusive

 

gtk_gesture_single_get_touch_only ()

gboolean
gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture);

Returns TRUE if the gesture is only triggered by touch events.

Parameters

gesture

a GtkGestureSingle

 

Returns

TRUE if the gesture only handles touch events


gtk_gesture_single_set_touch_only ()

void
gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture,
                                   gboolean touch_only);

If touch_only is TRUE, gesture will only handle events of type GDK_TOUCH_BEGIN, GDK_TOUCH_UPDATE or GDK_TOUCH_END. If FALSE, mouse events will be handled too.

Parameters

gesture

a GtkGestureSingle

 

touch_only

whether gesture handles only touch events

 

gtk_gesture_single_get_button ()

guint
gtk_gesture_single_get_button (GtkGestureSingle *gesture);

Returns the button number gesture listens for, or 0 if gesture reacts to any button press.

Parameters

gesture

a GtkGestureSingle

 

Returns

The button number, or 0 for any button


gtk_gesture_single_set_button ()

void
gtk_gesture_single_set_button (GtkGestureSingle *gesture,
                               guint button);

Sets the button number gesture listens to. If non-0, every button press from a different button number will be ignored. Touch events implicitly match with button 1.

Parameters

gesture

a GtkGestureSingle

 

button

button number to listen to, or 0 for any button

 

gtk_gesture_single_get_current_button ()

guint
gtk_gesture_single_get_current_button (GtkGestureSingle *gesture);

Returns the button number currently interacting with gesture , or 0 if there is none.

Parameters

gesture

a GtkGestureSingle

 

Returns

The current button number


gtk_gesture_single_get_current_sequence ()

GdkEventSequence *
gtk_gesture_single_get_current_sequence
                               (GtkGestureSingle *gesture);

Returns the event sequence currently interacting with gesture . This is only meaningful if gtk_gesture_is_active() returns TRUE.

Parameters

gesture

a GtkGestureSingle

 

Returns

the current sequence.

[nullable]

Types and Values

GtkGestureSingle

typedef struct _GtkGestureSingle GtkGestureSingle;

Property Details

The “button” property

  “button”                   guint

Mouse button number to listen to, or 0 to listen for any button.

Owner: GtkGestureSingle

Flags: Read / Write

Default value: 1


The “exclusive” property

  “exclusive”                gboolean

Whether the gesture is exclusive. Exclusive gestures only listen to pointer and pointer emulated events.

Owner: GtkGestureSingle

Flags: Read / Write

Default value: FALSE


The “touch-only” property

  “touch-only”               gboolean

Whether the gesture handles only touch events.

Owner: GtkGestureSingle

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/GtkGestureLongPress.html0000664000175000017500000003533313710700534022143 0ustar mclasenmclasen GtkGestureLongPress: GTK 4 Reference Manual

GtkGestureLongPress

GtkGestureLongPress — "Press and Hold" gesture

Properties

gdouble delay-factor Read / Write

Signals

void cancelled Run Last
void pressed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureLongPress

Includes

#include <gtk/gtk.h>

Description

GtkGestureLongPress is a GtkGesture implementation able to recognize long presses, triggering the “pressed” after the timeout is exceeded.

If the touchpoint is lifted before the timeout passes, or if it drifts too far of the initial press point, the “cancelled” signal will be emitted.

Functions

gtk_gesture_long_press_new ()

GtkGesture *
gtk_gesture_long_press_new (void);

Returns a newly created GtkGesture that recognizes long presses.

Returns

a newly created GtkGestureLongPress


gtk_gesture_long_press_set_delay_factor ()

void
gtk_gesture_long_press_set_delay_factor
                               (GtkGestureLongPress *gesture,
                                double delay_factor);

Applies the given delay factor. The default long press time will be multiplied by this value. Valid values are in the range [0.5..2.0].

Parameters

gesture

A GtkGestureLongPress

 

delay_factor

The delay factor to apply

 

gtk_gesture_long_press_get_delay_factor ()

double
gtk_gesture_long_press_get_delay_factor
                               (GtkGestureLongPress *gesture);

Returns the delay factor as set by gtk_gesture_long_press_set_delay_factor().

Parameters

gesture

A GtkGestureLongPress

 

Returns

the delay factor

Types and Values

GtkGestureLongPress

typedef struct _GtkGestureLongPress GtkGestureLongPress;

Property Details

The “delay-factor” property

  “delay-factor”             gdouble

Factor by which to modify the default timeout.

Owner: GtkGestureLongPress

Flags: Read / Write

Allowed values: [0.5,2]

Default value: 1

Signal Details

The “cancelled” signal

void
user_function (GtkGestureLongPress *gesture,
               gpointer             user_data)

This signal is emitted whenever a press moved too far, or was released before “pressed” happened.

Parameters

gesture

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “pressed” signal

void
user_function (GtkGestureLongPress *gesture,
               gdouble              x,
               gdouble              y,
               gpointer             user_data)

This signal is emitted whenever a press goes unmoved/unreleased longer than what the GTK+ defaults tell.

Parameters

gesture

the object which received the signal

 

x

the X coordinate where the press happened, relative to the widget allocation

 

y

the Y coordinate where the press happened, relative to the widget allocation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkGesturePan.html0000664000175000017500000003703313710700534020744 0ustar mclasenmclasen GtkGesturePan: GTK 4 Reference Manual

GtkGesturePan

GtkGesturePan — Pan gesture

Properties

Signals

void pan Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureDrag
                    ╰── GtkGesturePan

Includes

#include <gtk/gtk.h>

Description

GtkGesturePan is a GtkGesture implementation able to recognize pan gestures, those are drags that are locked to happen along one axis. The axis that a GtkGesturePan handles is defined at construct time, and can be changed through gtk_gesture_pan_set_orientation().

When the gesture starts to be recognized, GtkGesturePan will attempt to determine as early as possible whether the sequence is moving in the expected direction, and denying the sequence if this does not happen.

Once a panning gesture along the expected axis is recognized, the “pan” signal will be emitted as input events are received, containing the offset in the given axis.

Functions

gtk_gesture_pan_new ()

GtkGesture *
gtk_gesture_pan_new (GtkOrientation orientation);

Returns a newly created GtkGesture that recognizes pan gestures.

Parameters

orientation

expected orientation

 

Returns

a newly created GtkGesturePan


gtk_gesture_pan_get_orientation ()

GtkOrientation
gtk_gesture_pan_get_orientation (GtkGesturePan *gesture);

Returns the orientation of the pan gestures that this gesture expects.

Parameters

gesture

A GtkGesturePan

 

Returns

the expected orientation for pan gestures


gtk_gesture_pan_set_orientation ()

void
gtk_gesture_pan_set_orientation (GtkGesturePan *gesture,
                                 GtkOrientation orientation);

Sets the orientation to be expected on pan gestures.

Parameters

gesture

A GtkGesturePan

 

orientation

expected orientation

 

Types and Values

GtkGesturePan

typedef struct _GtkGesturePan GtkGesturePan;

enum GtkPanDirection

Describes the panning direction of a GtkGesturePan

Members

GTK_PAN_DIRECTION_LEFT

panned towards the left

 

GTK_PAN_DIRECTION_RIGHT

panned towards the right

 

GTK_PAN_DIRECTION_UP

panned upwards

 

GTK_PAN_DIRECTION_DOWN

panned downwards

 

Property Details

The “orientation” property

  “orientation”              GtkOrientation

The expected orientation of pan gestures.

Owner: GtkGesturePan

Flags: Read / Write

Default value: GTK_ORIENTATION_HORIZONTAL

Signal Details

The “pan” signal

void
user_function (GtkGesturePan  *gesture,
               GtkPanDirection direction,
               gdouble         offset,
               gpointer        user_data)

This signal is emitted once a panning gesture along the expected axis is detected.

Parameters

gesture

The object which received the signal

 

direction

current direction of the pan gesture

 

offset

Offset along the gesture orientation

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkGestureRotate.html0000664000175000017500000002341213710700534021460 0ustar mclasenmclasen GtkGestureRotate: GTK 4 Reference Manual

GtkGestureRotate

GtkGestureRotate — Rotate gesture

Signals

void angle-changed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureRotate

Includes

#include <gtk/gtk.h>

Description

GtkGestureRotate is a GtkGesture implementation able to recognize 2-finger rotations, whenever the angle between both handled sequences changes, the “angle-changed” signal is emitted.

Functions

gtk_gesture_rotate_new ()

GtkGesture *
gtk_gesture_rotate_new (void);

Returns a newly created GtkGesture that recognizes 2-touch rotation gestures.

Returns

a newly created GtkGestureRotate


gtk_gesture_rotate_get_angle_delta ()

double
gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture);

If gesture is active, this function returns the angle difference in radians since the gesture was first recognized. If gesture is not active, 0 is returned.

Parameters

gesture

a GtkGestureRotate

 

Returns

the angle delta in radians

Types and Values

GtkGestureRotate

typedef struct _GtkGestureRotate GtkGestureRotate;

Signal Details

The “angle-changed” signal

void
user_function (GtkGestureRotate *gesture,
               gdouble           angle,
               gdouble           angle_delta,
               gpointer          user_data)

This signal is emitted when the angle between both tracked points changes.

Parameters

gesture

the object on which the signal is emitted

 

angle

Current angle in radians

 

angle_delta

Difference with the starting angle, in radians

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkGestureZoom

docs/reference/gtk/html/GtkGestureSwipe.html0000664000175000017500000002600513710700534021312 0ustar mclasenmclasen GtkGestureSwipe: GTK 4 Reference Manual

GtkGestureSwipe

GtkGestureSwipe — Swipe gesture

Signals

void swipe Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureSwipe

Includes

#include <gtk/gtk.h>

Description

GtkGestureSwipe is a GtkGesture implementation able to recognize swipes, after a press/move/.../move/release sequence happens, the “swipe” signal will be emitted, providing the velocity and directionality of the sequence at the time it was lifted.

If the velocity is desired in intermediate points, gtk_gesture_swipe_get_velocity() can be called on eg. a “update” handler.

All velocities are reported in pixels/sec units.

Functions

gtk_gesture_swipe_new ()

GtkGesture *
gtk_gesture_swipe_new (void);

Returns a newly created GtkGesture that recognizes swipes.

Returns

a newly created GtkGestureSwipe


gtk_gesture_swipe_get_velocity ()

gboolean
gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture,
                                double *velocity_x,
                                double *velocity_y);

If the gesture is recognized, this function returns TRUE and fill in velocity_x and velocity_y with the recorded velocity, as per the last event(s) processed.

Parameters

gesture

a GtkGestureSwipe

 

velocity_x

return value for the velocity in the X axis, in pixels/sec.

[out]

velocity_y

return value for the velocity in the Y axis, in pixels/sec.

[out]

Returns

whether velocity could be calculated

Types and Values

GtkGestureSwipe

typedef struct _GtkGestureSwipe GtkGestureSwipe;

Signal Details

The “swipe” signal

void
user_function (GtkGestureSwipe *gesture,
               gdouble          velocity_x,
               gdouble          velocity_y,
               gpointer         user_data)

This signal is emitted when the recognized gesture is finished, velocity and direction are a product of previously recorded events.

Parameters

gesture

object which received the signal

 

velocity_x

velocity in the X axis, in pixels/sec

 

velocity_y

velocity in the Y axis, in pixels/sec

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkRoot.html0000664000175000017500000002727013710700534017614 0ustar mclasenmclasen GtkRoot: GTK 4 Reference Manual

GtkRoot

GtkRoot — Interface for root widgets

Types and Values

  GtkRoot

Object Hierarchy

    GInterface
    ╰── GtkRoot

Prerequisites

GtkRoot requires GtkNative and GtkWidget.

Includes

#include <gtk/gtk.h>

Description

GtkRoot is the interface implemented by all widgets that can act as a toplevel widget to a hierarchy of widgets. The root widget takes care of providing the connection to the windowing system and manages layout, drawing and event delivery for its widget hierarchy.

The obvious example of a GtkRoot is GtkWindow.

Functions

gtk_root_get_display ()

GdkDisplay *
gtk_root_get_display (GtkRoot *self);

Returns the display that this GtkRoot is on.

Parameters

self

a GtkRoot

 

Returns

the display of root .

[transfer none]


gtk_root_get_focus ()

GtkWidget *
gtk_root_get_focus (GtkRoot *self);

Retrieves the current focused widget within the root.

Note that this is the widget that would have the focus if the root is active; if the root is not focused then gtk_widget_has_focus (widget) will be FALSE for the widget.

Parameters

self

a GtkRoot

 

Returns

the currently focused widget, or NULL if there is none.

[nullable][transfer none]


gtk_root_set_focus ()

void
gtk_root_set_focus (GtkRoot *self,
                    GtkWidget *focus);

If focus is not the current focus widget, and is focusable, sets it as the focus widget for the root. If focus is NULL, unsets the focus widget for the root.

To set the focus to a particular widget in the root, it is usually more convenient to use gtk_widget_grab_focus() instead of this function.

Parameters

self

a GtkRoot

 

focus

widget to be the new focus widget, or NULL to unset the focus widget.

[allow-none]

Types and Values

GtkRoot

typedef struct _GtkRoot GtkRoot;

See Also

GtkWindow

docs/reference/gtk/html/GtkGestureStylus.html0000664000175000017500000005072713710700534021536 0ustar mclasenmclasen GtkGestureStylus: GTK 4 Reference Manual

GtkGestureStylus

GtkGestureStylus — Gesture for stylus input

Signals

void down Run Last
void motion Run Last
void proximity Run Last
void up Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkGestureStylus

Includes

#include <gtk/gtk.h>

Description

GtkGestureStylus is a GtkGesture implementation specific to stylus input. The provided signals just provide the basic information

Functions

gtk_gesture_stylus_new ()

GtkGesture *
gtk_gesture_stylus_new (void);

Creates a new GtkGestureStylus.

Returns

a newly created stylus gesture


gtk_gesture_stylus_get_axis ()

gboolean
gtk_gesture_stylus_get_axis (GtkGestureStylus *gesture,
                             GdkAxisUse axis,
                             double *value);

Returns the current value for the requested axis . This function must be called from either the “down”, “motion”, “up” or “proximity” signals.

Parameters

gesture

a GtkGestureStylus

 

axis

requested device axis

 

value

return location for the axis value.

[out]

Returns

TRUE if there is a current value for the axis


gtk_gesture_stylus_get_axes ()

gboolean
gtk_gesture_stylus_get_axes (GtkGestureStylus *gesture,
                             GdkAxisUse axes[],
                             double **values);

Returns the current values for the requested axes . This function must be called from either the “down”, “motion”, “up” or “proximity” signals.

Parameters

gesture

a GtkGestureStylus

 

axes

array of requested axes, terminated with GDK_AXIS_IGNORE.

[array]

values

return location for the axis values.

[out][array]

Returns

TRUE if there is a current value for the axes


gtk_gesture_stylus_get_backlog ()

gboolean
gtk_gesture_stylus_get_backlog (GtkGestureStylus *gesture,
                                GdkTimeCoord **backlog,
                                guint *n_elems);

By default, GTK+ will limit rate of input events. On stylus input where accuracy of strokes is paramount, this function returns the accumulated coordinate/timing state before the emission of the current “motion” signal.

This function may only be called within a “motion” signal handler, the state given in this signal and obtainable through gtk_gesture_stylus_get_axis() call express the latest (most up-to-date) state in motion history.

backlog is provided in chronological order.

Parameters

gesture

a GtkGestureStylus

 

backlog

coordinates and times for the backlog events.

[out][array length=n_elems]

n_elems

return location for the number of elements.

[out]

Returns

TRUE if there is a backlog to unfold in the current state.


gtk_gesture_stylus_get_device_tool ()

GdkDeviceTool *
gtk_gesture_stylus_get_device_tool (GtkGestureStylus *gesture);

Returns the GdkDeviceTool currently driving input through this gesture. This function must be called from either the “down”, “motion”, “up” or “proximity” signal handlers.

Parameters

gesture

a GtkGestureStylus

 

Returns

The current stylus tool.

[nullable][transfer none]

Types and Values

GtkGestureStylus

typedef struct _GtkGestureStylus GtkGestureStylus;

Signal Details

The “down” signal

void
user_function (GtkGestureStylus *gesturestylus,
               gdouble           arg1,
               gdouble           arg2,
               gpointer          user_data)

Flags: Run Last


The “motion” signal

void
user_function (GtkGestureStylus *gesturestylus,
               gdouble           arg1,
               gdouble           arg2,
               gpointer          user_data)

Flags: Run Last


The “proximity” signal

void
user_function (GtkGestureStylus *gesturestylus,
               gdouble           arg1,
               gdouble           arg2,
               gpointer          user_data)

Flags: Run Last


The “up” signal

void
user_function (GtkGestureStylus *gesturestylus,
               gdouble           arg1,
               gdouble           arg2,
               gpointer          user_data)

Flags: Run Last

docs/reference/gtk/html/GtkGestureZoom.html0000664000175000017500000002277113710700534021155 0ustar mclasenmclasen GtkGestureZoom: GTK 4 Reference Manual

GtkGestureZoom

GtkGestureZoom — Zoom gesture

Signals

void scale-changed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureZoom

Includes

#include <gtk/gtk.h>

Description

GtkGestureZoom is a GtkGesture implementation able to recognize pinch/zoom gestures, whenever the distance between both tracked sequences changes, the “scale-changed” signal is emitted to report the scale factor.

Functions

gtk_gesture_zoom_new ()

GtkGesture *
gtk_gesture_zoom_new (void);

Returns a newly created GtkGesture that recognizes zoom in/out gestures (usually known as pinch/zoom).

Returns

a newly created GtkGestureZoom


gtk_gesture_zoom_get_scale_delta ()

double
gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture);

If gesture is active, this function returns the zooming difference since the gesture was recognized (hence the starting point is considered 1:1). If gesture is not active, 1 is returned.

Parameters

gesture

a GtkGestureZoom

 

Returns

the scale delta

Types and Values

GtkGestureZoom

typedef struct _GtkGestureZoom GtkGestureZoom;

Signal Details

The “scale-changed” signal

void
user_function (GtkGestureZoom *controller,
               gdouble         scale,
               gpointer        user_data)

This signal is emitted whenever the distance between both tracked sequences changes.

Parameters

controller

the object on which the signal is emitted

 

scale

Scale delta, taking the initial state as 1:1

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkGestureRotate

docs/reference/gtk/html/GtkGridLayout.html0000664000175000017500000013412413710700534020751 0ustar mclasenmclasen GtkGridLayout: GTK 4 Reference Manual

GtkGridLayout

GtkGridLayout — Layout manager for grid-like widgets

Properties

gint baseline-row Read / Write
gboolean column-homogeneous Read / Write
gint column-spacing Read / Write
gboolean row-homogeneous Read / Write
gint row-spacing Read / Write
gint column-span Read / Write
gint left-attach Read / Write
gint row-span Read / Write
gint top-attach Read / Write

Types and Values

Object Hierarchy

    GObject
    ├── GtkLayoutChild
       ╰── GtkGridLayoutChild
    ╰── GtkLayoutManager
        ╰── GtkGridLayout

Includes

#include <gtk/gtk.h>

Description

GtkGridLayout is a layout manager which arranges child widgets in rows and columns, with arbitrary positions and horizontal/vertical spans.

Children have an "attach point" defined by the horizontal and vertical index of the cell they occupy; children can span multiple rows or columns. The layout properties for setting the attach points and spans are set using the GtkGridLayoutChild associated to each child widget.

The behaviour of GtkGrid when several children occupy the same grid cell is undefined.

GtkGridLayout can be used like a GtkBoxLayout if all children are attached to the same row or column; however, if you only ever need a single row or column, you should consider using GtkBoxLayout.

Functions

gtk_grid_layout_new ()

GtkLayoutManager *
gtk_grid_layout_new (void);

Creates a new GtkGridLayout.

Returns

the newly created GtkGridLayout


gtk_grid_layout_set_row_homogeneous ()

void
gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid,
                                     gboolean homogeneous);

Sets whether all rows of grid should have the same height.

Parameters

grid

a GtkGridLayout

 

homogeneous

TRUE to make rows homogeneous

 

gtk_grid_layout_get_row_homogeneous ()

gboolean
gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid);

Checks whether all rows of grid should have the same height.

Parameters

grid

a GtkGridLayout

 

Returns

TRUE if the rows are homogeneous, and FALSE otherwise


gtk_grid_layout_set_row_spacing ()

void
gtk_grid_layout_set_row_spacing (GtkGridLayout *grid,
                                 guint spacing);

Sets the amount of space to insert between consecutive rows.

Parameters

grid

a GtkGridLayout

 

spacing

the amount of space between rows, in pixels

 

gtk_grid_layout_get_row_spacing ()

guint
gtk_grid_layout_get_row_spacing (GtkGridLayout *grid);

Retrieves the spacing set with gtk_grid_layout_set_row_spacing().

Parameters

grid

a GtkGridLayout

 

Returns

the spacing between consecutive rows


gtk_grid_layout_set_column_homogeneous ()

void
gtk_grid_layout_set_column_homogeneous
                               (GtkGridLayout *grid,
                                gboolean homogeneous);

Sets whether all columns of grid should have the same width.

Parameters

grid

a GtkGridLayout

 

homogeneous

TRUE to make columns homogeneous

 

gtk_grid_layout_get_column_homogeneous ()

gboolean
gtk_grid_layout_get_column_homogeneous
                               (GtkGridLayout *grid);

Checks whether all columns of grid should have the same width.

Parameters

grid

a GtkGridLayout

 

Returns

TRUE if the columns are homogeneous, and FALSE otherwise


gtk_grid_layout_set_column_spacing ()

void
gtk_grid_layout_set_column_spacing (GtkGridLayout *grid,
                                    guint spacing);

Sets the amount of space to insert between consecutive columns.

Parameters

grid

a GtkGridLayout

 

spacing

the amount of space between columns, in pixels

 

gtk_grid_layout_get_column_spacing ()

guint
gtk_grid_layout_get_column_spacing (GtkGridLayout *grid);

Retrieves the spacing set with gtk_grid_layout_set_column_spacing().

Parameters

grid

a GtkGridLayout

 

Returns

the spacing between consecutive columns


gtk_grid_layout_set_row_baseline_position ()

void
gtk_grid_layout_set_row_baseline_position
                               (GtkGridLayout *grid,
                                int row,
                                GtkBaselinePosition pos);

Sets how the baseline should be positioned on row of the grid, in case that row is assigned more space than is requested.

Parameters

grid

a GtkGridLayout

 

row

a row index

 

pos

a GtkBaselinePosition

 

gtk_grid_layout_get_row_baseline_position ()

GtkBaselinePosition
gtk_grid_layout_get_row_baseline_position
                               (GtkGridLayout *grid,
                                int row);

Returns the baseline position of row as set by gtk_grid_layout_set_row_baseline_position(), or the default value of GTK_BASELINE_POSITION_CENTER.

Parameters

grid

a GtkGridLayout

 

row

a row index

 

Returns

the baseline position of row


gtk_grid_layout_set_baseline_row ()

void
gtk_grid_layout_set_baseline_row (GtkGridLayout *grid,
                                  int row);

Sets which row defines the global baseline for the entire grid.

Each row in the grid can have its own local baseline, but only one of those is global, meaning it will be the baseline in the parent of the grid .

Parameters

grid

a GtkGridLayout

 

row

the row index

 

gtk_grid_layout_get_baseline_row ()

int
gtk_grid_layout_get_baseline_row (GtkGridLayout *grid);

Retrieves the row set with gtk_grid_layout_set_baseline_row().

Parameters

grid

a GtkGridLayout

 

Returns

the global baseline row


gtk_grid_layout_child_set_top_attach ()

void
gtk_grid_layout_child_set_top_attach (GtkGridLayoutChild *child,
                                      int attach);

Sets the row number to attach the top side of child .

Parameters

child

a GtkGridLayoutChild

 

attach

the attach point for child

 

gtk_grid_layout_child_get_top_attach ()

int
gtk_grid_layout_child_get_top_attach (GtkGridLayoutChild *child);

Retrieves the row number to which child attaches its top side.

Parameters

child

a GtkGridLayoutChild

 

Returns

the row number


gtk_grid_layout_child_set_left_attach ()

void
gtk_grid_layout_child_set_left_attach (GtkGridLayoutChild *child,
                                       int attach);

Sets the column number to attach the left side of child .

Parameters

child

a GtkGridLayoutChild

 

attach

the attach point for child

 

gtk_grid_layout_child_get_left_attach ()

int
gtk_grid_layout_child_get_left_attach (GtkGridLayoutChild *child);

Retrieves the column number to which child attaches its left side.

Parameters

child

a GtkGridLayoutChild

 

Returns

the column number


gtk_grid_layout_child_set_column_span ()

void
gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child,
                                       int span);

Sets the number of columns child spans to.

Parameters

child

a GtkGridLayoutChild

 

span

the span of child

 

gtk_grid_layout_child_get_column_span ()

int
gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child);

Retrieves the number of columns that child spans to.

Parameters

child

a GtkGridLayoutChild

 

Returns

the number of columns


gtk_grid_layout_child_set_row_span ()

void
gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child,
                                    int span);

Sets the number of rows child spans to.

Parameters

child

a GtkGridLayoutChild

 

span

the span of child

 

gtk_grid_layout_child_get_row_span ()

int
gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child);

Retrieves the number of rows that child spans to.

Parameters

child

a GtkGridLayoutChild

 

Returns

the number of row

Types and Values

GtkGridLayout

typedef struct _GtkGridLayout GtkGridLayout;

Layout manager for grid-like widgets.


GtkGridLayoutChild

typedef struct _GtkGridLayoutChild GtkGridLayoutChild;

Layout properties for children of GtkGridLayout.

Property Details

The “baseline-row” property

  “baseline-row”             gint

The row to align to the baseline, when “valign” is set to GTK_ALIGN_BASELINE.

Owner: GtkGridLayout

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “column-homogeneous” property

  “column-homogeneous”       gboolean

Whether all the columns in the grid have the same width.

Owner: GtkGridLayout

Flags: Read / Write

Default value: FALSE


The “column-spacing” property

  “column-spacing”           gint

The amount of space between to consecutive columns.

Owner: GtkGridLayout

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “row-homogeneous” property

  “row-homogeneous”          gboolean

Whether all the rows in the grid have the same height.

Owner: GtkGridLayout

Flags: Read / Write

Default value: FALSE


The “row-spacing” property

  “row-spacing”              gint

The amount of space between to consecutive rows.

Owner: GtkGridLayout

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “column-span” property

  “column-span”              gint

The number of columns the child spans to.

Owner: GtkGridLayoutChild

Flags: Read / Write

Allowed values: >= 1

Default value: 1


The “left-attach” property

  “left-attach”              gint

The column number to attach the left side of the child to.

Owner: GtkGridLayoutChild

Flags: Read / Write

Default value: 0


The “row-span” property

  “row-span”                 gint

The number of rows the child spans to.

Owner: GtkGridLayoutChild

Flags: Read / Write

Allowed values: >= 1

Default value: 1


The “top-attach” property

  “top-attach”               gint

The row number to attach the top side of the child to.

Owner: GtkGridLayoutChild

Flags: Read / Write

Default value: 0

See Also

GtkBoxLayout

docs/reference/gtk/html/GtkPadController.html0000664000175000017500000005725013710700534021442 0ustar mclasenmclasen GtkPadController: GTK 4 Reference Manual

GtkPadController

GtkPadController — Controller for drawing tablet pads

Properties

GActionGroup * action-group Read / Write / Construct Only
GdkDevice * pad Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkPadController

Includes

#include <gtk/gtk.h>

Description

GtkPadController is an event controller for the pads found in drawing tablets (The collection of buttons and tactile sensors often found around the stylus-sensitive area).

These buttons and sensors have no implicit meaning, and by default they perform no action, this event controller is provided to map those to GAction objects, thus letting the application give those a more semantic meaning.

Buttons and sensors are not constrained to triggering a single action, some GDK_SOURCE_TABLET_PAD devices feature multiple "modes", all these input elements have one current mode, which may determine the final action being triggered. Pad devices often divide buttons and sensors into groups, all elements in a group share the same current mode, but different groups may have different modes. See gdk_device_pad_get_n_groups() and gdk_device_pad_get_group_n_modes().

Each of the actions that a given button/strip/ring performs for a given mode is defined by GtkPadActionEntry, it contains an action name that will be looked up in the given GActionGroup and activated whenever the specified input element and mode are triggered.

A simple example of GtkPadController usage, assigning button 1 in all modes and pad devices to an "invert-selection" action:

1
2
3
4
5
6
7
8
9
10
11
12
GtkPadActionEntry *pad_actions[] = {
  { GTK_PAD_ACTION_BUTTON, 1, -1, "Invert selection", "pad-actions.invert-selection" },
  
};


action_group = g_simple_action_group_new ();
action = g_simple_action_new ("pad-actions.invert-selection", NULL);
g_signal_connect (action, "activate", on_invert_selection_activated, NULL);
g_action_map_add_action (G_ACTION_MAP (action_group), action);

pad_controller = gtk_pad_controller_new (action_group, NULL);

The actions belonging to rings/strips will be activated with a parameter of type G_VARIANT_TYPE_DOUBLE bearing the value of the given axis, it is required that those are made stateful and accepting this GVariantType.

Functions

gtk_pad_controller_new ()

GtkPadController *
gtk_pad_controller_new (GActionGroup *group,
                        GdkDevice *pad);

Creates a new GtkPadController that will associate events from pad to actions. A NULL pad may be provided so the controller manages all pad devices generically, it is discouraged to mix GtkPadController objects with NULL and non-NULL pad argument on the same toplevel window, as execution order is not guaranteed.

The GtkPadController is created with no mapped actions. In order to map pad events to actions, use gtk_pad_controller_set_action_entries() or gtk_pad_controller_set_action().

Be aware that pad events will only be delivered to GtkWindows, so adding a pad controller to any other type of widget will not have an effect.

Parameters

group

GActionGroup to trigger actions from

 

pad

A GDK_SOURCE_TABLET_PAD device, or NULL to handle all pads.

[nullable]

Returns

A newly created GtkPadController


gtk_pad_controller_set_action_entries ()

void
gtk_pad_controller_set_action_entries (GtkPadController *controller,
                                       const GtkPadActionEntry *entries,
                                       int n_entries);

This is a convenience function to add a group of action entries on controller . See GtkPadActionEntry and gtk_pad_controller_set_action().

Parameters

controller

a GtkPadController

 

entries

the action entries to set on controller .

[array length=n_entries]

n_entries

the number of elements in entries

 

gtk_pad_controller_set_action ()

void
gtk_pad_controller_set_action (GtkPadController *controller,
                               GtkPadActionType type,
                               int index,
                               int mode,
                               const char *label,
                               const char *action_name);

Adds an individual action to controller . This action will only be activated if the given button/ring/strip number in index is interacted while the current mode is mode . -1 may be used for simple cases, so the action is triggered on all modes.

The given label should be considered user-visible, so internationalization rules apply. Some windowing systems may be able to use those for user feedback.

Parameters

controller

a GtkPadController

 

type

the type of pad feature that will trigger this action

 

index

the 0-indexed button/ring/strip number that will trigger this action

 

mode

the mode that will trigger this action, or -1 for all modes.

 

label

Human readable description of this action, this string should be deemed user-visible.

 

action_name

action name that will be activated in the GActionGroup

 

Types and Values

GtkPadController

typedef struct _GtkPadController GtkPadController;

enum GtkPadActionType

The type of a pad action.

Members

GTK_PAD_ACTION_BUTTON

Action is triggered by a pad button

 

GTK_PAD_ACTION_RING

Action is triggered by a pad ring

 

GTK_PAD_ACTION_STRIP

Action is triggered by a pad strip

 

struct GtkPadActionEntry

struct GtkPadActionEntry {
  GtkPadActionType type;
  int index;
  int mode;
  const char *label;
  const char *action_name;
};

Struct defining a pad action entry.

Members

GtkPadActionType type;

the type of pad feature that will trigger this action entry.

 

int index;

the 0-indexed button/ring/strip number that will trigger this action entry.

 

int mode;

the mode that will trigger this action entry, or -1 for all modes.

 

const char *label;

Human readable description of this action entry, this string should be deemed user-visible.

 

const char *action_name;

action name that will be activated in the GActionGroup.

 

Property Details

The “action-group” property

  “action-group”             GActionGroup *

Action group to launch actions from.

Owner: GtkPadController

Flags: Read / Write / Construct Only


The “pad” property

  “pad”                      GdkDevice *

Pad device to control.

Owner: GtkPadController

Flags: Read / Write / Construct Only

docs/reference/gtk/html/GtkShortcutController.html0000664000175000017500000010116513710700534022544 0ustar mclasenmclasen GtkShortcutController: GTK 4 Reference Manual

GtkShortcutController

GtkShortcutController — Event controller for shortcuts

Properties

GdkModifierType mnemonic-modifiers Read / Write
GListModel * model Write / Construct Only
GtkShortcutScope scope Read / Write

Object Hierarchy

    GInterface
    ╰── GtkShortcutManager
    GObject
    ╰── GtkEventController
        ╰── GtkShortcutController

Prerequisites

GtkShortcutManager requires GObject.

Implemented Interfaces

GtkShortcutController implements GListModel and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkShortcutController is an event controller that manages shortcuts.

Most common shortcuts are using this controller implicitly, e.g. by adding a mnemonic underline to a GtkLabel, or by installing a key binding using gtk_widget_class_add_binding(), or by adding accelerators to global actions using gtk_application_set_accels_for_action().

But it is possible to create your own shortcut controller, and add shortcuts to it.

GtkShortcutController implements GListModel for querying the shortcuts that have been added to it.

GtkShortcutController as a GtkBuildable

GtkShortcutControllers can be creates in ui files to set up shortcuts in the same place as the widgets.

An example of a UI definition fragment with GtkShortcutController:

1
2
3
4
5
6
7
8
9
10
11
12
13
<object class='GtkButton'>
  <child>
    <object class='GtkShortcutController'>
      <property name='scope'>managed</property>
      <child>
        <object class='GtkShortcut'>
          <property name='trigger'>&lt;Control&gt;k</property>
          <property name='action'>activate</property>
        </object>
      </child>
    </object>
  </child>
</object>

This example creates a GtkActivateAction for triggering the activate signal of the GtkButton. See gtk_shortcut_action_parse_string() for the syntax for other kinds of GtkShortcutAction. See gtk_shortcut_trigger_parse_string() to learn more about the syntax for triggers.

Functions

gtk_shortcut_controller_new ()

GtkEventController *
gtk_shortcut_controller_new (void);

Creates a new shortcut controller.

Returns

a newly created shortcut controller


gtk_shortcut_controller_new_for_model ()

GtkEventController *
gtk_shortcut_controller_new_for_model (GListModel *model);

Creates a new shortcut controller that takes its shortcuts from the given list model.

A controller created by this function does not let you add or remove individual shortcuts using the shortcut controller api, but you can change the contents of the model.

Parameters

model

a GListModel containing shortcuts

 

Returns

a newly created shortcut controller


gtk_shortcut_controller_set_mnemonics_modifiers ()

void
gtk_shortcut_controller_set_mnemonics_modifiers
                               (GtkShortcutController *self,
                                GdkModifierType modifiers);

Sets the controller to have the given mnemonics_modifiers .

The mnemonics modifiers determines which modifiers need to be pressed to allow activation of shortcuts with mnemonics triggers.

GTK normally uses the Alt modifier for mnemonics, except in GtkPopoverMenus, where mnemonics can be triggered without any modifiers. It should be very rarely necessary to change this, and doing so is likely to interfere with other shortcuts.

This value is only relevant for local shortcut controllers. Global and managed shortcut controllers will have their shortcuts activated from other places which have their own modifiers for activating mnemonics.

Parameters

self

a GtkShortcutController

 

modifiers

the new mnemonics_modifiers to use

 

gtk_shortcut_controller_get_mnemonics_modifiers ()

GdkModifierType
gtk_shortcut_controller_get_mnemonics_modifiers
                               (GtkShortcutController *self);

Gets the mnemonics modifiers for when this controller activates its shortcuts. See gtk_shortcut_controller_set_mnemonics_modifiers() for details.

Parameters

Returns

the controller's mnemonics modifiers


gtk_shortcut_controller_set_scope ()

void
gtk_shortcut_controller_set_scope (GtkShortcutController *self,
                                   GtkShortcutScope scope);

Sets the controller to have the given scope .

The scope allows shortcuts to be activated outside of the normal event propagation. In particular, it allows installing global keyboard shortcuts that can be activated even when a widget does not have focus.

With GTK_SHORTCUT_SCOPE_LOCAL, shortcuts will only be activated when the widget has focus.

Parameters

self

a GtkShortcutController

 

scope

the new scope to use

 

gtk_shortcut_controller_get_scope ()

GtkShortcutScope
gtk_shortcut_controller_get_scope (GtkShortcutController *self);

Gets the scope for when this controller activates its shortcuts. See gtk_shortcut_controller_set_scope() for details.

Parameters

Returns

the controller's scope


gtk_shortcut_controller_add_shortcut ()

void
gtk_shortcut_controller_add_shortcut (GtkShortcutController *self,
                                      GtkShortcut *shortcut);

Adds shortcut to the list of shortcuts handled by self .

If this controller uses an external shortcut list, this function does nothing.

Parameters

self

the controller

 

shortcut

a GtkShortcut.

[transfer full]

gtk_shortcut_controller_remove_shortcut ()

void
gtk_shortcut_controller_remove_shortcut
                               (GtkShortcutController *self,
                                GtkShortcut *shortcut);

Removes shortcut from the list of shortcuts handled by self .

If shortcut had not been added to controller or this controller uses an external shortcut list, this function does nothing.

Parameters

self

the controller

 

shortcut

a GtkShortcut

 

Types and Values

GtkShortcutController

typedef struct _GtkShortcutController GtkShortcutController;

enum GtkShortcutScope

Describes where GtkShortcuts added to a GtkShortcutController get handled.

Members

GTK_SHORTCUT_SCOPE_LOCAL

Shortcuts are handled inside the widget the controller belongs to.

 

GTK_SHORTCUT_SCOPE_MANAGED

Shortcuts are handled by the first ancestor that is a GtkShortcutManager

 

GTK_SHORTCUT_SCOPE_GLOBAL

Shortcuts are handled by the root widget.

 

GtkShortcutManager

typedef struct _GtkShortcutManager GtkShortcutManager;

This object is used to implement support for GtkShortcutScopes. Every widget that implements GtkShortcutManager will be used as a GTK_SHORTCUT_SCOPE_MANAGED.


struct GtkShortcutManagerInterface

struct GtkShortcutManagerInterface {
  void                  (* add_controller)              (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
  void                  (* remove_controller)           (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
};

The list of functions that can be implemented for the GtkShortcutManager interface.

Note that no function is mandatory to implement, the default implementation will work fine.

Property Details

The “mnemonic-modifiers” property

  “mnemonic-modifiers”       GdkModifierType

The modifiers that need to be pressed to allow mnemonics activation.

Owner: GtkShortcutController

Flags: Read / Write

Default value: GDK_ALT_MASK


The “model” property

  “model”                    GListModel *

A list model to take shortcuts from

Owner: GtkShortcutController

Flags: Write / Construct Only


The “scope” property

  “scope”                    GtkShortcutScope

What scope the shortcuts will be handled in.

Owner: GtkShortcutController

Flags: Read / Write

Default value: GTK_SHORTCUT_SCOPE_LOCAL

docs/reference/gtk/html/GtkHeaderBar.html0000664000175000017500000007750213710700534020511 0ustar mclasenmclasen GtkHeaderBar: GTK 4 Reference Manual

GtkHeaderBar

GtkHeaderBar — A box with a centered child

Properties

gchar * decoration-layout Read / Write
gboolean show-title-buttons Read / Write
GtkWidget * title-widget Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkHeaderBar

Implemented Interfaces

GtkHeaderBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkHeaderBar is similar to a horizontal GtkBox. It allows children to be placed at the start or the end. In addition, it allows the window title to be displayed. The title will be centered with respect to the width of the box, even if the children at either side take up different amounts of space.

GtkHeaderBar can add typical window frame controls, such as minimize, maximize and close buttons, or the window icon.

For these reasons, GtkHeaderBar is the natural choice for use as the custom titlebar widget of a GtkWindow (see gtk_window_set_titlebar()), as it gives features typical of titlebars while allowing the addition of child widgets.

The GtkHeaderBar implementation of the GtkBuildable interface supports adding children at the start or end sides by specifying “start” or “end” as the “type” attribute of a <child> element, or setting the title widget by specifying “title” value.

By default the GtkHeaderBar uses a GtkLabel displaying the title of the window it is contained in as the title widget, equivalent to the following UI definition:

1
2
3
4
5
6
7
8
9
10
11
12
13
<object class="GtkHeaderBar">
  <property name="title-widget">
    <object class="GtkLabel">
      <property name="label" translatable="yes">Label</property>
      <property name="single-line-mode">True</property>
      <property name="ellipsize">end</property>
      <property name="width-chars">5</property>
      <style>
        <class name="title"/>
      </style>
    </object>
  </property>
</object>

CSS nodes

1
2
3
4
5
6
7
8
9
10
headerbar
╰── windowhandle
    ╰── box
        ├── box.start
           ├── windowcontrols.start
           ╰── [other children]
        ├── [Title Widget]
        ╰── box.end
            ├── [other children]
            ╰── windowcontrols.end

A GtkHeaderBar's CSS node is called headerbar. It contains a windowhandle subnode, which contains a box subnode, which contains two box subnodes at the start and end of the headerbar, as well as a center node that represents the title.

Each of the boxes contains a windowcontrols subnode, see GtkWindowControls for details, as well as other children.

Functions

gtk_header_bar_new ()

GtkWidget *
gtk_header_bar_new (void);

Creates a new GtkHeaderBar widget.

Returns

a new GtkHeaderBar


gtk_header_bar_set_title_widget ()

void
gtk_header_bar_set_title_widget (GtkHeaderBar *bar,
                                 GtkWidget *title_widget);

Sets the title for the GtkHeaderBar.

When set to NULL, the headerbar will display the title of the window it is contained in.

The title should help a user identify the current view. To achieve the same style as the builtin title, use the “title” style class.

You should set the title widget to NULL, for the window title label to be visible again.

Parameters

bar

a GtkHeaderBar

 

title_widget

a widget to use for a title.

[allow-none]

gtk_header_bar_get_title_widget ()

GtkWidget *
gtk_header_bar_get_title_widget (GtkHeaderBar *bar);

Retrieves the title widget of the header. See gtk_header_bar_set_title_widget().

Parameters

bar

a GtkHeaderBar

 

Returns

the title widget of the header, or NULL if none has been set explicitly.

[nullable][transfer none]


gtk_header_bar_pack_start ()

void
gtk_header_bar_pack_start (GtkHeaderBar *bar,
                           GtkWidget *child);

Adds child to bar , packed with reference to the start of the bar .

Parameters

bar

A GtkHeaderBar

 

child

the GtkWidget to be added to bar

 

gtk_header_bar_pack_end ()

void
gtk_header_bar_pack_end (GtkHeaderBar *bar,
                         GtkWidget *child);

Adds child to bar , packed with reference to the end of the bar .

Parameters

bar

A GtkHeaderBar

 

child

the GtkWidget to be added to bar

 

gtk_header_bar_remove ()

void
gtk_header_bar_remove (GtkHeaderBar *bar,
                       GtkWidget *child);

Removes a child from bar , after it has been added with gtk_header_bar_pack_start(), gtk_header_bar_pack_end() or gtk_header_bar_set_title_widget().

Parameters

bar

a GtkHeaderBar

 

child

the child to remove

 

gtk_header_bar_set_show_title_buttons ()

void
gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar,
                                       gboolean setting);

Sets whether this header bar shows the standard window title buttons including close, maximize, and minimize.

Parameters

bar

a GtkHeaderBar

 

setting

TRUE to show standard title buttons

 

gtk_header_bar_get_show_title_buttons ()

gboolean
gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar);

Returns whether this header bar shows the standard window title buttons.

Parameters

bar

a GtkHeaderBar

 

Returns

TRUE if title buttons are shown


gtk_header_bar_set_decoration_layout ()

void
gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar,
                                      const char *layout);

Sets the decoration layout for this header bar, overriding the “gtk-decoration-layout” setting.

There can be valid reasons for overriding the setting, such as a header bar design that does not allow for buttons to take room on the right, or only offers room for a single close button. Split header bars are another example for overriding the setting.

The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close and icon (the window icon).

For example, “icon:minimize,maximize,close” specifies a icon on the left, and minimize, maximize and close buttons on the right.

Parameters

bar

a GtkHeaderBar

 

layout

a decoration layout, or NULL to unset the layout.

[allow-none]

gtk_header_bar_get_decoration_layout ()

const char *
gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar);

Gets the decoration layout set with gtk_header_bar_set_decoration_layout().

Parameters

bar

a GtkHeaderBar

 

Returns

the decoration layout

Types and Values

GtkHeaderBar

typedef struct _GtkHeaderBar GtkHeaderBar;

Property Details

The “decoration-layout” property

  “decoration-layout”        gchar *

The decoration layout for buttons. If this property is not set, the “gtk-decoration-layout” setting is used.

See gtk_header_bar_set_decoration_layout() for information about the format of this string.

Owner: GtkHeaderBar

Flags: Read / Write

Default value: NULL


The “show-title-buttons” property

  “show-title-buttons”       gboolean

Whether to show title buttons like close, minimize, maximize.

Which buttons are actually shown and where is determined by the “decoration-layout” property, and by the state of the window (e.g. a close button will not be shown if the window can't be closed).

Owner: GtkHeaderBar

Flags: Read / Write

Default value: TRUE


The “title-widget” property

  “title-widget”             GtkWidget *

Title widget to display.

Owner: GtkHeaderBar

Flags: Read / Write

See Also

GtkBox, GtkActionBar

docs/reference/gtk/html/gtk4-Keyboard-Accelerators.html0000664000175000017500000006041213710700534023232 0ustar mclasenmclasen Keyboard Accelerators: GTK 4 Reference Manual

Keyboard Accelerators

Keyboard Accelerators — Utilities for accelerators

Includes

#include <gtk/gtk.h>

Description

We have various utility functions to parse and generate textual representations of keyboard accelerators.

If you want to set up keyboard accelerators for widgets, GtkShortcutTrigger is probably more convenient than the functions in this section.

Functions

gtk_accelerator_valid ()

gboolean
gtk_accelerator_valid (guint keyval,
                       GdkModifierType modifiers);

Determines whether a given keyval and modifier mask constitute a valid keyboard accelerator. For example, the GDK_KEY_a keyval plus GDK_CONTROL_MASK is valid - this is a “Ctrl+a” accelerator. But, you can't, for instance, use the GDK_KEY_Control_L keyval as an accelerator.

Parameters

keyval

a GDK keyval

 

modifiers

modifier mask

 

Returns

TRUE if the accelerator is valid


gtk_accelerator_parse ()

gboolean
gtk_accelerator_parse (const char *accelerator,
                       guint *accelerator_key,
                       GdkModifierType *accelerator_mods);

Parses a string representing an accelerator. The format looks like “<Control>a” or “<Shift><Alt>F1”.

The parser is fairly liberal and allows lower or upper case, and also abbreviations such as “<Ctl>” and “<Ctrl>”. Key names are parsed using gdk_keyval_from_name(). For character keys the name is not the symbol, but the lowercase name, e.g. one would use “<Ctrl>minus” instead of “<Ctrl>-”.

If the parse fails, accelerator_key and accelerator_mods will be set to 0 (zero).

Parameters

accelerator

string representing an accelerator

 

accelerator_key

return location for accelerator keyval, or NULL.

[out][allow-none]

accelerator_mods

return location for accelerator modifier mask, NULL.

[out][allow-none]

gtk_accelerator_name ()

char *
gtk_accelerator_name (guint accelerator_key,
                      GdkModifierType accelerator_mods);

Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse(). For example, if you pass in GDK_KEY_q and GDK_CONTROL_MASK, this function returns “<Control>q”.

If you need to display accelerators in the user interface, see gtk_accelerator_get_label().

Parameters

accelerator_key

accelerator keyval

 

accelerator_mods

accelerator modifier mask

 

Returns

a newly-allocated accelerator name


gtk_accelerator_get_label ()

char *
gtk_accelerator_get_label (guint accelerator_key,
                           GdkModifierType accelerator_mods);

Converts an accelerator keyval and modifier mask into a string which can be used to represent the accelerator to the user.

Parameters

accelerator_key

accelerator keyval

 

accelerator_mods

accelerator modifier mask

 

Returns

a newly-allocated string representing the accelerator.


gtk_accelerator_parse_with_keycode ()

gboolean
gtk_accelerator_parse_with_keycode (const char *accelerator,
                                    GdkDisplay *display,
                                    guint *accelerator_key,
                                    guint **accelerator_codes,
                                    GdkModifierType *accelerator_mods);

Parses a string representing an accelerator, similarly to gtk_accelerator_parse() but handles keycodes as well. This is only useful for system-level components, applications should use gtk_accelerator_parse() instead.

If accelerator_codes is given and the result stored in it is non-NULL, the result must be freed with g_free().

If a keycode is present in the accelerator and no accelerator_codes is given, the parse will fail.

If the parse fails, accelerator_key , accelerator_mods and accelerator_codes will be set to 0 (zero).

Parameters

accelerator

string representing an accelerator

 

display

the GdkDisplay to look up accelerator_codes in.

[allow-none]

accelerator_key

return location for accelerator keyval, or NULL.

[out][allow-none]

accelerator_codes

return location for accelerator keycodes, or NULL.

[out][array zero-terminated=1][transfer full][allow-none]

accelerator_mods

return location for accelerator modifier mask, NULL.

[out][allow-none]

Returns

TRUE if parsing succeeded


gtk_accelerator_name_with_keycode ()

char *
gtk_accelerator_name_with_keycode (GdkDisplay *display,
                                   guint accelerator_key,
                                   guint keycode,
                                   GdkModifierType accelerator_mods);

Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse_with_keycode(), similarly to gtk_accelerator_name() but handling keycodes. This is only useful for system-level components, applications should use gtk_accelerator_parse() instead.

Parameters

display

a GdkDisplay or NULL to use the default display.

[allow-none]

accelerator_key

accelerator keyval

 

keycode

accelerator keycode

 

accelerator_mods

accelerator modifier mask

 

Returns

a newly allocated accelerator name.


gtk_accelerator_get_label_with_keycode ()

char *
gtk_accelerator_get_label_with_keycode
                               (GdkDisplay *display,
                                guint accelerator_key,
                                guint keycode,
                                GdkModifierType accelerator_mods);

Converts an accelerator keyval and modifier mask into a (possibly translated) string that can be displayed to a user, similarly to gtk_accelerator_get_label(), but handling keycodes.

This is only useful for system-level components, applications should use gtk_accelerator_parse() instead.

Parameters

display

a GdkDisplay or NULL to use the default display.

[allow-none]

accelerator_key

accelerator keyval

 

keycode

accelerator keycode

 

accelerator_mods

accelerator modifier mask

 

Returns

a newly-allocated string representing the accelerator.


gtk_accelerator_get_default_mod_mask ()

GdkModifierType
gtk_accelerator_get_default_mod_mask (void);

Gets the modifier mask.

The modifier mask determines which modifiers are considered significant for keyboard accelerators. This includes all keyboard modifiers except for GDK_LOCK_MASK.

Returns

the modifier mask for accelerators

docs/reference/gtk/html/GtkShortcut.html0000664000175000017500000006113513710700534020502 0ustar mclasenmclasen GtkShortcut: GTK 4 Reference Manual

GtkShortcut

GtkShortcut — An object describing a keyboard shortcut

Properties

GtkShortcutAction * action Read / Write
GVariant * arguments Read / Write
GtkShortcutTrigger * trigger Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkShortcut

Includes

#include <gtk/gtk.h>

Description

GtkShortcut is the low level object used for managing keyboard shortcuts.

It contains a description of how to trigger the shortcut via a GtkShortcutTrigger and a way to activate the shortcut on a widget via GtkShortcutAction.

The actual work is usually done via GtkShortcutController, which decides if and when to activate a shortcut. Using that controller directly however is rarely necessary as various higher level convenience APIs exist on GtkWidgets that make it easier to use shortcuts in GTK.

GtkShortcut does provide functionality to make it easy for users to work with shortcuts, either by providing informational strings for display purposes or by allowing shortcuts to be configured.

Functions

gtk_shortcut_new ()

GtkShortcut *
gtk_shortcut_new (GtkShortcutTrigger *trigger,
                  GtkShortcutAction *action);

Creates a new GtkShortcut that is triggered by trigger and then activates action .

Parameters

trigger

The trigger that will trigger the shortcut.

[transfer full][nullable]

action

The action that will be activated upon triggering.

[transfer full][nullable]

Returns

a new GtkShortcut


gtk_shortcut_new_with_arguments ()

GtkShortcut *
gtk_shortcut_new_with_arguments (GtkShortcutTrigger *trigger,
                                 GtkShortcutAction *action,
                                 const char *format_string,
                                 ...);

Creates a new GtkShortcut that is triggered by trigger and then activates action with arguments given by format_string .

[skip]

Parameters

trigger

The trigger that will trigger the shortcut.

[transfer full][nullable]

action

The action that will be activated upon triggering.

[transfer full][nullable]

format_string

GVariant format string for arguments or NULL for no arguments.

[allow-none]

...

arguments, as given by format string.

 

Returns

a new GtkShortcut


gtk_shortcut_get_trigger ()

GtkShortcutTrigger *
gtk_shortcut_get_trigger (GtkShortcut *self);

Gets the trigger used to trigger self .

Parameters

self

a GtkShortcut

 

Returns

the trigger used.

[transfer none]


gtk_shortcut_set_trigger ()

void
gtk_shortcut_set_trigger (GtkShortcut *self,
                          GtkShortcutTrigger *trigger);

Sets the new trigger for self to be trigger .

Parameters

self

a GtkShortcut

 

trigger

The new trigger. If the trigger is NULL, the never trigger will be used.

[transfer full][nullable]

gtk_shortcut_get_action ()

GtkShortcutAction *
gtk_shortcut_get_action (GtkShortcut *self);

Gets the action that is activated by this shortcut.

Parameters

self

a GtkShortcut

 

Returns

the action.

[transfer none]


gtk_shortcut_set_action ()

void
gtk_shortcut_set_action (GtkShortcut *self,
                         GtkShortcutAction *action);

Sets the new action for self to be action .

Parameters

self

a GtkShortcut

 

action

The new action. If the action is NULL, the nothing action will be used.

[transfer full][nullable]

gtk_shortcut_get_arguments ()

GVariant *
gtk_shortcut_get_arguments (GtkShortcut *self);

Gets the arguments that are passed when activating the shortcut.

Parameters

self

a GtkShortcut

 

Returns

the arguments.

[transfer none][nullable]


gtk_shortcut_set_arguments ()

void
gtk_shortcut_set_arguments (GtkShortcut *self,
                            GVariant *args);

Sets the arguments to pass when activating the shortcut.

Parameters

self

a GtkShortcut

 

args

arguments to pass when activating self .

[nullable]

Types and Values

GtkShortcut

typedef struct _GtkShortcut GtkShortcut;

Property Details

The “action” property

  “action”                   GtkShortcutAction *

The action that gets activated by this shortcut.

Owner: GtkShortcut

Flags: Read / Write


The “arguments” property

  “arguments”                GVariant *

Arguments passed to activation.

Owner: GtkShortcut

Flags: Read / Write

Allowed values: GVariant<*>

Default value: NULL


The “trigger” property

  “trigger”                  GtkShortcutTrigger *

The trigger that triggers this shortcut.

Owner: GtkShortcut

Flags: Read / Write

docs/reference/gtk/html/GtkShortcutTrigger.html0000664000175000017500000013310513710700534022023 0ustar mclasenmclasen GtkShortcutTrigger: GTK 4 Reference Manual

GtkShortcutTrigger

GtkShortcutTrigger — Triggers to track if shortcuts should be activated

Object Hierarchy

    GObject
    ╰── GtkShortcutTrigger
        ├── GtkKeyvalTrigger
        ├── GtkNeverTrigger
        ╰── GtkAlternativeTrigger

Includes

#include <gtk/gtk.h>

Description

GtkShortcutTrigger is the object used to track if a GtkShortcut should be activated. For this purpose, gtk_shortcut_trigger_trigger() can be called on a GdkEvent.

GtkShortcutTriggers contain functions that allow easy presentation to end users as well as being printed for debugging.

All GtkShortcutTriggers are immutable, you can only specify their properties during construction. If you want to change a trigger, you have to replace it with a new one.

Functions

gtk_shortcut_trigger_trigger ()

GdkKeyMatch
gtk_shortcut_trigger_trigger (GtkShortcutTrigger *self,
                              GdkEvent *event,
                              gboolean enable_mnemonics);

Checks if the given event triggers self .

Parameters

self

a GtkShortcutTrigger

 

event

the event to check

 

enable_mnemonics

TRUE if mnemonics should trigger. Usually the value of this property is determined by checking that the passed in event is a Key event and has the right modifiers set.

 

Returns

Whether the event triggered the shortcut


gtk_shortcut_trigger_hash ()

guint
gtk_shortcut_trigger_hash (gconstpointer trigger);

Generates a hash value for a GtkShortcutTrigger.

The output of this function is guaranteed to be the same for a given value only per-process. It may change between different processor architectures or even different versions of GTK. Do not use this function as a basis for building protocols or file formats.

The types of trigger is gconstpointer only to allow use of this function with GHashTable. They must each be a GtkShortcutTrigger.

Parameters

trigger

a GtkShortcutTrigger.

[type GtkShortcutTrigger]

Returns

a hash value corresponding to trigger


gtk_shortcut_trigger_equal ()

gboolean
gtk_shortcut_trigger_equal (gconstpointer trigger1,
                            gconstpointer trigger2);

Checks if trigger1 and trigger2 trigger under the same conditions.

The types of one and two are gconstpointer only to allow use of this function with GHashTable. They must each be a GtkShortcutTrigger.

Parameters

trigger1

a GtkShortcutTrigger.

[type GtkShortcutTrigger]

trigger2

a GtkShortcutTrigger.

[type GtkShortcutTrigger]

Returns

TRUE if trigger1 and trigger2 are equal


gtk_shortcut_trigger_compare ()

int
gtk_shortcut_trigger_compare (gconstpointer trigger1,
                              gconstpointer trigger2);

The types of trigger1 and trigger2 are gconstpointer only to allow use of this function as a GCompareFunc. They must each be a GtkShortcutTrigger.

Parameters

trigger1

a GtkShortcutTrigger.

[type GtkShortcutTrigger]

trigger2

a GtkShortcutTrigger.

[type GtkShortcutTrigger]

Returns

An integer less than, equal to, or greater than zero if trigger1 is found, respectively, to be less than, to match, or be greater than trigger2 .


gtk_shortcut_trigger_to_string ()

char *
gtk_shortcut_trigger_to_string (GtkShortcutTrigger *self);

Prints the given trigger into a human-readable string. This is a small wrapper around gtk_shortcut_trigger_print() to help when debugging.

Parameters

self

a GtkShortcutTrigger

 

Returns

a new string.

[transfer full]


gtk_shortcut_trigger_print ()

void
gtk_shortcut_trigger_print (GtkShortcutTrigger *self,
                            GString *string);

Prints the given trigger into a string for the developer. This is meant for debugging and logging.

The form of the representation may change at any time and is not guaranteed to stay identical.

Parameters

self

a GtkShortcutTrigger

 

string

a GString to print into

 

gtk_shortcut_trigger_to_label ()

char *
gtk_shortcut_trigger_to_label (GtkShortcutTrigger *self,
                               GdkDisplay *display);

Gets textual representation for the given trigger. This function is returning a translated string for presentation to end users for example in menu items or in help texts.

The display in use may influence the resulting string in various forms, such as resolving hardware keycodes or by causing display-specific modifier names.

The form of the representation may change at any time and is not guaranteed to stay identical.

Parameters

self

a GtkShortcutTrigger

 

display

GdkDisplay to print for

 

Returns

a new string.

[transfer full]


gtk_shortcut_trigger_print_label ()

gboolean
gtk_shortcut_trigger_print_label (GtkShortcutTrigger *self,
                                  GdkDisplay *display,
                                  GString *string);

Prints the given trigger into a string. This function is returning a translated string for presentation to end users for example in menu items or in help texts.

The display in use may influence the resulting string in various forms, such as resolving hardware keycodes or by causing display-specific modifier names.

The form of the representation may change at any time and is not guaranteed to stay identical.

Parameters

self

a GtkShortcutTrigger

 

display

GdkDisplay to print for

 

string

a GString to print into

 

Returns

TRUE if something was printed or FALSE if the trigger did not have a textual representation suitable for end users.


gtk_shortcut_trigger_parse_string ()

GtkShortcutTrigger *
gtk_shortcut_trigger_parse_string (const char *string);

Tries to parse the given string into a trigger. On success, the parsed trigger is returned. When parsing failed, NULL is returned.

The accepted strings are:

Note that you will have to escape the < and &gt; characters when specifying triggers in XML files, such as GtkBuilder ui files. Use &lt; instead of < and &gt; instead of &gt;.

[constructor]

Parameters

string

the string to parse

 

Returns

a new GtkShortcutTrigger or NULL on error.

[nullable][transfer full]


gtk_keyval_trigger_new ()

GtkShortcutTrigger *
gtk_keyval_trigger_new (guint keyval,
                        GdkModifierType modifiers);

Creates a GtkShortcutTrigger that will trigger whenever the key with the given keyval and modifiers is pressed.

Parameters

keyval

The keyval to trigger for

 

modifiers

the modifiers that need to be present

 

Returns

A new GtkShortcutTrigger


gtk_keyval_trigger_get_modifiers ()

GdkModifierType
gtk_keyval_trigger_get_modifiers (GtkKeyvalTrigger *self);

Gets the modifiers that must be present to succeed triggering self .

Parameters

self

a keyval GtkShortcutTrigger

 

Returns

the modifiers


gtk_keyval_trigger_get_keyval ()

guint
gtk_keyval_trigger_get_keyval (GtkKeyvalTrigger *self);

Gets the keyval that must be pressed to succeed triggering self .

Parameters

self

a keyval GtkShortcutTrigger

 

Returns

the keyval


gtk_mnemonic_trigger_new ()

GtkShortcutTrigger *
gtk_mnemonic_trigger_new (guint keyval);

Creates a GtkShortcutTrigger that will trigger whenever the key with the given keyval is pressed and mnemonics have been activated.

Mnemonics are activated by calling code when a key event with the right modifiers is detected.

Parameters

keyval

The keyval to trigger for

 

Returns

A new GtkShortcutTrigger.

[transfer full][type GtkMnemonicTrigger]


gtk_mnemonic_trigger_get_keyval ()

guint
gtk_mnemonic_trigger_get_keyval (GtkMnemonicTrigger *self);

Gets the keyval that must be pressed to succeed triggering self .

Parameters

self

a mnemonic GtkShortcutTrigger

 

Returns

the keyval


gtk_alternative_trigger_new ()

GtkShortcutTrigger *
gtk_alternative_trigger_new (GtkShortcutTrigger *first,
                             GtkShortcutTrigger *second);

Creates a GtkShortcutTrigger that will trigger whenever either of the two given triggers gets triggered.

Note that nesting is allowed, so if you want more than two alternative, create a new alternative trigger for each option.

Parameters

first

The first trigger that may trigger.

[transfer full]

second

The second trigger that may trigger.

[transfer full]

Returns

a new GtkShortcutTrigger


gtk_alternative_trigger_get_first ()

GtkShortcutTrigger *
gtk_alternative_trigger_get_first (GtkAlternativeTrigger *self);

Gets the first of the two alternative triggers that may trigger self . gtk_alternative_trigger_get_second() will return the other one.

Parameters

self

an alternative GtkShortcutTrigger

 

Returns

the first alternative trigger.

[transfer none]


gtk_alternative_trigger_get_second ()

GtkShortcutTrigger *
gtk_alternative_trigger_get_second (GtkAlternativeTrigger *self);

Gets the second of the two alternative triggers that may trigger self . gtk_alternative_trigger_get_first() will return the other one.

Parameters

self

an alternative GtkShortcutTrigger

 

Returns

the second alternative trigger.

[transfer none]


gtk_never_trigger_get ()

GtkShortcutTrigger *
gtk_never_trigger_get (void);

Gets the never trigger. This is a singleton for a trigger that never triggers. Use this trigger instead of NULL because it implements all virtual functions.

Returns

The never trigger.

[type GtkNeverTrigger][transfer none]

Types and Values

GtkShortcutTrigger

typedef struct _GtkShortcutTrigger GtkShortcutTrigger;

A trigger for a key shortcut.


GtkKeyvalTrigger

typedef struct _GtkKeyvalTrigger GtkKeyvalTrigger;

A GtkShortcutTrigger that triggers when a specific keyval and (optionally) modifiers are pressed.


GtkMnemonicTrigger

typedef struct _GtkMnemonicTrigger GtkMnemonicTrigger;

A GtkShortcutTrigger that triggers when a specific mnemonic is pressed.


GtkAlternativeTrigger

typedef struct _GtkAlternativeTrigger GtkAlternativeTrigger;

A GtkShortcutTrigger that triggers when either of two GtkShortcutTriggers trigger.


GtkNeverTrigger

typedef struct _GtkNeverTrigger GtkNeverTrigger;

A GtkShortcutTrigger that never triggers.

See Also

GtkShortcut

docs/reference/gtk/html/GtkShortcutAction.html0000664000175000017500000010674013710700534021642 0ustar mclasenmclasen GtkShortcutAction: GTK 4 Reference Manual

GtkShortcutAction

GtkShortcutAction — Tracking if shortcuts should be activated

Object Hierarchy

    GObject
    ╰── GtkShortcutAction
        ├── GtkSignalAction
        ├── GtkNothingAction
        ├── GtkNamedAction
        ╰── GtkCallbackAction

Includes

#include <gtk/gtk.h>

Description

GtkShortcutAction is the object used to describe what a GtkShortcut should do when triggered. To activate a GtkShortcutAction manually, gtk_shortcut_action_activate() can be called.

GtkShortcutActions contain functions that allow easy presentation to end users as well as being printed for debugging.

All GtkShortcutActions are immutable, you can only specify their properties during construction. If you want to change a action, you have to replace it with a new one. If you need to pass arguments to an action, these are specified by the higher-level GtkShortcut object.

GTK provides various actions:

GtkShortcutAction as GtkBuildable

GtkShortcut

Functions

GtkShortcutFunc ()

gboolean
(*GtkShortcutFunc) (GtkWidget *widget,
                    GVariant *args,
                    gpointer user_data);

Prototype for shortcuts based on user callbacks.

Parameters

widget

The widget passed to the activation

 

args

The arguments passed to the activation

 

user_data

The user data provided when activating the action

 

gtk_shortcut_action_to_string ()

char *
gtk_shortcut_action_to_string (GtkShortcutAction *self);

Prints the given action into a human-readable string. This is a small wrapper around gtk_shortcut_action_print() to help when debugging.

Parameters

self

a GtkShortcutAction

 

Returns

a new string.

[transfer full]


gtk_shortcut_action_print ()

void
gtk_shortcut_action_print (GtkShortcutAction *self,
                           GString *string);

Prints the given action into a string for the developer. This is meant for debugging and logging.

The form of the representation may change at any time and is not guaranteed to stay identical.

Parameters

self

a GtkShortcutAction

 

string

a GString to print into

 

gtk_shortcut_action_parse_string ()

GtkShortcutAction *
gtk_shortcut_action_parse_string (const char *string);

Tries to parse the given string into an action. On success, the parsed action is returned. When parsing failed, NULL is returned.

The accepted strings are:

[constructor]

Parameters

string

the string to parse

 

Returns

a new GtkShortcutAction or NULL on error.

[nullable][transfer full]


gtk_shortcut_action_activate ()

gboolean
gtk_shortcut_action_activate (GtkShortcutAction *self,
                              GtkShortcutActionFlags flags,
                              GtkWidget *widget,
                              GVariant *args);

Activates the action on the widget with the given args .

Note that some actions ignore the passed in flags , widget or args .

Activation of an action can fail for various reasons. If the action is not supported by the widget , if the args don't match the action or if the activation otherwise had no effect, FALSE will be returned.

Parameters

self

a GtkShortcutAction

 

flags

flags to activate with

 

widget

Target of the activation

 

args

arguments to pass.

[allow-none]

Returns

TRUE if this action was activated successfully


gtk_nothing_action_get ()

GtkShortcutAction *
gtk_nothing_action_get (void);

Gets the nothing action. This is an action that does nothing and where activating it always fails.

Returns

The nothing action.

[transfer none]


gtk_callback_action_new ()

GtkShortcutAction *
gtk_callback_action_new (GtkShortcutFunc callback,
                         gpointer data,
                         GDestroyNotify destroy);

Create a custom action that calls the given callback when activated.

Parameters

callback

the callback to call.

[scope notified]

data

the data to be passed to callback .

[closure callback]

destroy

the function to be called when the callback action is finalized.

[destroy data]

Returns

A new shortcut action.

[transfer full]


gtk_mnemonic_action_get ()

GtkShortcutAction *
gtk_mnemonic_action_get (void);

Gets the mnemonic action. This is an action that calls gtk_widget_mnemonic_activate() on the given widget upon activation.

Returns

The mnemonic action.

[transfer none]


gtk_activate_action_get ()

GtkShortcutAction *
gtk_activate_action_get (void);

Gets the activate action. This is an action that calls gtk_widget_activate() on the given widget upon activation.

Returns

The activate action.

[transfer none]


gtk_signal_action_new ()

GtkShortcutAction *
gtk_signal_action_new (const char *signal_name);

Creates an action that when activated, emits the given action signal on the provided widget unpacking the given args into arguments passed to the signal.

Parameters

signal_name

name of the signal to emit

 

Returns

a new GtkShortcutAction.

[transfer full][type GtkSignalAction]


gtk_signal_action_get_signal_name ()

const char *
gtk_signal_action_get_signal_name (GtkSignalAction *self);

Returns the name of the signal that will be emitted.

Parameters

self

a signal action

 

Returns

the name of the signal to emit.

[transfer none]


gtk_named_action_new ()

GtkShortcutAction *
gtk_named_action_new (const char *name);

Creates an action that when activated, activates the action given by the detailed name on the widget passing the given arguments to it.

See gtk_widget_insert_action_group() for how to add actions to widgets.

Parameters

name

the detailed name of the action

 

Returns

a new GtkShortcutAction.

[transfer full][type GtkNamedAction]


gtk_named_action_get_action_name ()

const char *
gtk_named_action_get_action_name (GtkNamedAction *self);

Returns the name of the action that will be activated.

Parameters

self

a named action

 

Returns

the name of the action to activate

Types and Values

GtkShortcutAction

typedef struct _GtkShortcutAction GtkShortcutAction;

enum GtkShortcutActionFlags

List of flags that can be passed to action activation. More flags may be added in the future.

Members

GTK_SHORTCUT_ACTION_EXCLUSIVE

The action is the only action that can be activated. If this flag is not set, a future activation may select a different action.

 

GtkNothingAction

typedef struct _GtkNothingAction GtkNothingAction;

A GtkShortcutAction that does nothing.


GtkCallbackAction

typedef struct _GtkCallbackAction GtkCallbackAction;

A GtkShortcutAction that invokes a callback.


GtkMnemonicAction

typedef struct _GtkMnemonicAction GtkMnemonicAction;

A GtkShortcutAction that calls gtk_widget_mnemonic_activate().


GtkActivateAction

typedef struct _GtkActivateAction GtkActivateAction;

A GtkShortcutAction that calls gtk_widget_activate().


GtkSignalAction

typedef struct _GtkSignalAction GtkSignalAction;

A GtkShortcutAction that emits a signal.


GtkNamedAction

typedef struct _GtkNamedAction GtkNamedAction;

A GtkShortcutAction that activates an action by name.

See Also

GtkShortcut

docs/reference/gtk/html/GtkShortcutManager.html0000664000175000017500000002125713710700534021776 0ustar mclasenmclasen GtkShortcutManager: GTK 4 Reference Manual

GtkShortcutManager

GtkShortcutManager — Interface for managing shortcuts

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkShortcutManager

Prerequisites

GtkShortcutManager requires GObject.

Includes

#include <gtk/gtk.h>

Description

The GtkShortcutManager interface is used to implement shortcut scopes.

This is important for GtkNative widgets that have their own surface, since the event controllers that are used to implement managed and global scopes are limited to the same native.

Examples for widgets implementing GtkShortcutManager are GtkWindow and GtkPopover.

Functions

Types and Values

GtkShortcutManager

typedef struct _GtkShortcutManager GtkShortcutManager;

This object is used to implement support for GtkShortcutScopes. Every widget that implements GtkShortcutManager will be used as a GTK_SHORTCUT_SCOPE_MANAGED.


struct GtkShortcutManagerInterface

struct GtkShortcutManagerInterface {
  void                  (* add_controller)              (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
  void                  (* remove_controller)           (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
};

The list of functions that can be implemented for the GtkShortcutManager interface.

Note that no function is mandatory to implement, the default implementation will work fine.

Members

add_controller ()

Add a GtkShortcutController to be managed.

 

remove_controller ()

Remove a GtkShortcutController that had previously been added.

 
docs/reference/gtk/html/ch36.html0000664000175000017500000000517613710700534016767 0ustar mclasenmclasen Keyboard shortcuts: GTK 4 Reference Manual

Keyboard shortcuts

Keyboard Accelerators — Utilities for accelerators
GtkShortcut — An object describing a keyboard shortcut
GtkShortcutTrigger — Triggers to track if shortcuts should be activated
GtkShortcutAction — Tracking if shortcuts should be activated
GtkShortcutManager — Interface for managing shortcuts
docs/reference/gtk/html/GtkFilterListModel.html0000664000175000017500000006135413710700533021733 0ustar mclasenmclasen GtkFilterListModel: GTK 4 Reference Manual

GtkFilterListModel

GtkFilterListModel — A list model that filters its items

Properties

GtkFilter * filter Read / Write
gboolean incremental Read / Write
GListModel * model Read / Write
guint pending Read

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilterListModel

Implemented Interfaces

GtkFilterListModel implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkFilterListModel is a list model that filters a given other listmodel. It hides some elements from the other model according to criteria given by a GtkFilter.

The model can be set up to do incremental searching, so that filtering long lists doesn't block the UI. See gtk_filter_list_model_set_incremental() for details.

Functions

gtk_filter_list_model_new ()

GtkFilterListModel *
gtk_filter_list_model_new (GListModel *model,
                           GtkFilter *filter);

Creates a new GtkFilterListModel that will filter model using the given filter .

Parameters

model

the model to sort, or NULL.

[allow-none][transfer full]

filter

filter or NULL to not filter items.

[allow-none][transfer full]

Returns

a new GtkFilterListModel


gtk_filter_list_model_set_model ()

void
gtk_filter_list_model_set_model (GtkFilterListModel *self,
                                 GListModel *model);

Sets the model to be filtered.

Note that GTK makes no effort to ensure that model conforms to the item type of self . It assumes that the caller knows what they are doing and have set up an appropriate filter to ensure that item types match.

Parameters

self

a GtkFilterListModel

 

model

The model to be filtered.

[allow-none]

gtk_filter_list_model_get_model ()

GListModel *
gtk_filter_list_model_get_model (GtkFilterListModel *self);

Gets the model currently filtered or NULL if none.

Parameters

self

a GtkFilterListModel

 

Returns

The model that gets filtered.

[nullable][transfer none]


gtk_filter_list_model_set_filter ()

void
gtk_filter_list_model_set_filter (GtkFilterListModel *self,
                                  GtkFilter *filter);

Sets the filter used to filter items.

Parameters

self

a GtkFilterListModel

 

filter

filter to use or NULL to not filter items.

[allow-none][transfer none]

gtk_filter_list_model_get_filter ()

GtkFilter *
gtk_filter_list_model_get_filter (GtkFilterListModel *self);

Gets the GtkFilter currently set on self .

Parameters

self

a GtkFilterListModel

 

Returns

The filter currently in use or NULL if the list isn't filtered.

[nullable][transfer none]


gtk_filter_list_model_set_incremental ()

void
gtk_filter_list_model_set_incremental (GtkFilterListModel *self,
                                       gboolean incremental);

When incremental filtering is enabled, the GtkFilterListModel will not run filters immediately, but will instead queue an idle handler that incrementally filters the items and adds them to the list. This of course means that items are not instantly added to the list, but only appear incrementally.

When your filter blocks the UI while filtering, you might consider turning this on. Depending on your model and filters, this may become interesting around 10,000 to 100,000 items.

By default, incremental filtering is disabled.

Parameters

self

a GtkFilterListModel

 

incremental

TRUE to enable incremental filtering

 

gtk_filter_list_model_get_incremental ()

gboolean
gtk_filter_list_model_get_incremental (GtkFilterListModel *self);

Returns whether incremental filtering was enabled via gtk_filter_list_model_set_incremental().

Parameters

self

a GtkFilterListModel

 

Returns

TRUE if incremental filtering is enabled


gtk_filter_list_model_get_pending ()

guint
gtk_filter_list_model_get_pending (GtkFilterListModel *self);

Returns the number of items that have not been filtered yet.

When incremental filtering is not enabled, this always returns 0.

You can use this value to check if self is busy filtering by comparing the return value to 0 or you can compute the percentage of the filter remaining by dividing the return value by the total number of items in the underlying model:

1
2
3
pending = gtk_filter_list_model_get_pending (self);
model = gtk_filter_list_model_get_model (self);
percentage = pending / (double) g_list_model_get_n_items (model);

Parameters

self

a GtkFilterListModel

 

Returns

The number of items not yet filtered

Types and Values

GtkFilterListModel

typedef struct _GtkFilterListModel GtkFilterListModel;

Property Details

The “filter” property

  “filter”                   GtkFilter *

The filter for this model

Owner: GtkFilterListModel

Flags: Read / Write


The “incremental” property

  “incremental”              gboolean

If the model should filter items incrementally

Owner: GtkFilterListModel

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GListModel *

The model being filtered

Owner: GtkFilterListModel

Flags: Read / Write


The “pending” property

  “pending”                  guint

Number of items not yet filtered

Owner: GtkFilterListModel

Flags: Read

Default value: 0

See Also

GListModel, GtkFilter

docs/reference/gtk/html/GtkFontChooserDialog.html0000664000175000017500000002032613710700533022234 0ustar mclasenmclasen GtkFontChooserDialog: GTK 4 Reference Manual

GtkFontChooserDialog

GtkFontChooserDialog — A dialog for selecting fonts

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkFontChooserDialog

Implemented Interfaces

GtkFontChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkFontChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkFontChooserDialog widget is a dialog for selecting a font. It implements the GtkFontChooser interface.

GtkFontChooserDialog as GtkBuildable

The GtkFontChooserDialog implementation of the GtkBuildable interface exposes the buttons with the names “select_button” and “cancel_button”.

Functions

gtk_font_chooser_dialog_new ()

GtkWidget *
gtk_font_chooser_dialog_new (const char *title,
                             GtkWindow *parent);

Creates a new GtkFontChooserDialog.

Parameters

title

Title of the dialog, or NULL.

[allow-none]

parent

Transient parent of the dialog, or NULL.

[allow-none]

Returns

a new GtkFontChooserDialog

Types and Values

GtkFontChooserDialog

typedef struct _GtkFontChooserDialog GtkFontChooserDialog;
docs/reference/gtk/html/GtkGLArea.html0000664000175000017500000016276713710700533017776 0ustar mclasenmclasen GtkGLArea: GTK 4 Reference Manual

GtkGLArea

GtkGLArea — A widget for custom drawing with OpenGL

Properties

gboolean auto-render Read / Write
GdkGLContext * context Read
gboolean has-depth-buffer Read / Write
gboolean has-stencil-buffer Read / Write
gboolean use-es Read / Write

Signals

GdkGLContext* create-context Run Last
gboolean render Run Last
void resize Run Last

Types and Values

struct GtkGLArea
struct GtkGLAreaClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkGLArea

Implemented Interfaces

GtkGLArea implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkGLArea is a widget that allows drawing with OpenGL.

GtkGLArea sets up its own GdkGLContext for the window it creates, and creates a custom GL framebuffer that the widget will do GL rendering onto. It also ensures that this framebuffer is the default GL rendering target when rendering.

In order to draw, you have to connect to the “render” signal, or subclass GtkGLArea and override the GtkGLAreaClass.render() virtual function.

The GtkGLArea widget ensures that the GdkGLContext is associated with the widget's drawing area, and it is kept updated when the size and position of the drawing area changes.

Drawing with GtkGLArea

The simplest way to draw using OpenGL commands in a GtkGLArea is to create a widget instance and connect to the “render” signal:

1

The render() function will be called when the GtkGLArea is ready for you to draw its content:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static gboolean
render (GtkGLArea *area, GdkGLContext *context)
{
  // inside this function it's safe to use GL; the given
  // #GdkGLContext has been made current to the drawable
  // surface used by the #GtkGLArea and the viewport has
  // already been set to be the size of the allocation

  // we can start by clearing the buffer
  glClearColor (0, 0, 0, 0);
  glClear (GL_COLOR_BUFFER_BIT);

  // draw your object
  // draw_an_object ();

  // we completed our drawing; the draw commands will be
  // flushed at the end of the signal emission chain, and
  // the buffers will be drawn on the window
  return TRUE;
}

void setup_glarea (void)
{
  // create a GtkGLArea instance
  GtkWidget *gl_area = gtk_gl_area_new ();

  // connect to the "render" signal
  g_signal_connect (gl_area, "render", G_CALLBACK (render), NULL);
}

If you need to initialize OpenGL state, e.g. buffer objects or shaders, you should use the “realize” signal; you can use the “unrealize” signal to clean up. Since the GdkGLContext creation and initialization may fail, you will need to check for errors, using gtk_gl_area_get_error(). An example of how to safely initialize the GL state is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
static void
on_realize (GtkGLarea *area)
{
  // We need to make the context current if we want to
  // call GL API
  gtk_gl_area_make_current (area);

  // If there were errors during the initialization or
  // when trying to make the context current, this
  // function will return a #GError for you to catch
  if (gtk_gl_area_get_error (area) != NULL)
    return;

  // You can also use gtk_gl_area_set_error() in order
  // to show eventual initialization errors on the
  // GtkGLArea widget itself
  GError *internal_error = NULL;
  init_buffer_objects (&error);
  if (error != NULL)
    {
      gtk_gl_area_set_error (area, error);
      g_error_free (error);
      return;
    }

  init_shaders (&error);
  if (error != NULL)
    {
      gtk_gl_area_set_error (area, error);
      g_error_free (error);
      return;
    }
}

If you need to change the options for creating the GdkGLContext you should use the “create-context” signal.

Functions

gtk_gl_area_new ()

GtkWidget *
gtk_gl_area_new (void);

Creates a new GtkGLArea widget.

Returns

a new GtkGLArea


gtk_gl_area_get_context ()

GdkGLContext *
gtk_gl_area_get_context (GtkGLArea *area);

Retrieves the GdkGLContext used by area .

Parameters

area

a GtkGLArea

 

Returns

the GdkGLContext.

[transfer none]


gtk_gl_area_make_current ()

void
gtk_gl_area_make_current (GtkGLArea *area);

Ensures that the GdkGLContext used by area is associated with the GtkGLArea.

This function is automatically called before emitting the “render” signal, and doesn't normally need to be called by application code.

Parameters

area

a GtkGLArea

 

gtk_gl_area_queue_render ()

void
gtk_gl_area_queue_render (GtkGLArea *area);

Marks the currently rendered data (if any) as invalid, and queues a redraw of the widget, ensuring that the “render” signal is emitted during the draw.

This is only needed when the gtk_gl_area_set_auto_render() has been called with a FALSE value. The default behaviour is to emit “render” on each draw.

Parameters

area

a GtkGLArea

 

gtk_gl_area_attach_buffers ()

void
gtk_gl_area_attach_buffers (GtkGLArea *area);

Ensures that the area framebuffer object is made the current draw and read target, and that all the required buffers for the area are created and bound to the frambuffer.

This function is automatically called before emitting the “render” signal, and doesn't normally need to be called by application code.

Parameters

area

a GtkGLArea

 

gtk_gl_area_set_error ()

void
gtk_gl_area_set_error (GtkGLArea *area,
                       const GError *error);

Sets an error on the area which will be shown instead of the GL rendering. This is useful in the “create-context” signal if GL context creation fails.

Parameters

area

a GtkGLArea

 

error

a new GError, or NULL to unset the error.

[allow-none]

gtk_gl_area_get_error ()

GError *
gtk_gl_area_get_error (GtkGLArea *area);

Gets the current error set on the area .

Parameters

area

a GtkGLArea

 

Returns

the GError or NULL.

[nullable][transfer none]


gtk_gl_area_set_has_depth_buffer ()

void
gtk_gl_area_set_has_depth_buffer (GtkGLArea *area,
                                  gboolean has_depth_buffer);

If has_depth_buffer is TRUE the widget will allocate and enable a depth buffer for the target framebuffer. Otherwise there will be none.

Parameters

area

a GtkGLArea

 

has_depth_buffer

TRUE to add a depth buffer

 

gtk_gl_area_get_has_depth_buffer ()

gboolean
gtk_gl_area_get_has_depth_buffer (GtkGLArea *area);

Returns whether the area has a depth buffer.

Parameters

area

a GtkGLArea

 

Returns

TRUE if the area has a depth buffer, FALSE otherwise


gtk_gl_area_set_has_stencil_buffer ()

void
gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area,
                                    gboolean has_stencil_buffer);

If has_stencil_buffer is TRUE the widget will allocate and enable a stencil buffer for the target framebuffer. Otherwise there will be none.

Parameters

area

a GtkGLArea

 

has_stencil_buffer

TRUE to add a stencil buffer

 

gtk_gl_area_get_has_stencil_buffer ()

gboolean
gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area);

Returns whether the area has a stencil buffer.

Parameters

area

a GtkGLArea

 

Returns

TRUE if the area has a stencil buffer, FALSE otherwise


gtk_gl_area_set_auto_render ()

void
gtk_gl_area_set_auto_render (GtkGLArea *area,
                             gboolean auto_render);

If auto_render is TRUE the “render” signal will be emitted every time the widget draws. This is the default and is useful if drawing the widget is faster.

If auto_render is FALSE the data from previous rendering is kept around and will be used for drawing the widget the next time, unless the window is resized. In order to force a rendering gtk_gl_area_queue_render() must be called. This mode is useful when the scene changes seldomly, but takes a long time to redraw.

Parameters

area

a GtkGLArea

 

auto_render

a boolean

 

gtk_gl_area_get_auto_render ()

gboolean
gtk_gl_area_get_auto_render (GtkGLArea *area);

Returns whether the area is in auto render mode or not.

Parameters

area

a GtkGLArea

 

Returns

TRUE if the area is auto rendering, FALSE otherwise


gtk_gl_area_get_required_version ()

void
gtk_gl_area_get_required_version (GtkGLArea *area,
                                  int *major,
                                  int *minor);

Retrieves the required version of OpenGL set using gtk_gl_area_set_required_version().

Parameters

area

a GtkGLArea

 

major

return location for the required major version.

[out]

minor

return location for the required minor version.

[out]

gtk_gl_area_set_required_version ()

void
gtk_gl_area_set_required_version (GtkGLArea *area,
                                  int major,
                                  int minor);

Sets the required version of OpenGL to be used when creating the context for the widget.

This function must be called before the area has been realized.

Parameters

area

a GtkGLArea

 

major

the major version

 

minor

the minor version

 

gtk_gl_area_set_use_es ()

void
gtk_gl_area_set_use_es (GtkGLArea *area,
                        gboolean use_es);

Sets whether the area should create an OpenGL or an OpenGL ES context.

You should check the capabilities of the GdkGLContext before drawing with either API.

Parameters

area

a GtkGLArea

 

use_es

whether to use OpenGL or OpenGL ES

 

gtk_gl_area_get_use_es ()

gboolean
gtk_gl_area_get_use_es (GtkGLArea *area);

Retrieves the value set by gtk_gl_area_set_use_es().

Parameters

area

a GtkGLArea

 

Returns

TRUE if the GtkGLArea should create an OpenGL ES context and FALSE otherwise

Types and Values

struct GtkGLArea

struct GtkGLArea;

A GtkWidget used for drawing with OpenGL.


struct GtkGLAreaClass

struct GtkGLAreaClass {
  gboolean       (* render)         (GtkGLArea        *area,
                                     GdkGLContext     *context);
  void           (* resize)         (GtkGLArea        *area,
                                     int               width,
                                     int               height);
  GdkGLContext * (* create_context) (GtkGLArea        *area);
};

The GtkGLAreaClass structure contains only private data.

Members

render ()

class closure for the “render” signal

 

resize ()

class closeure for the “resize” signal

 

create_context ()

class closure for the “create-context” signal

 

Property Details

The “auto-render” property

  “auto-render”              gboolean

If set to TRUE the “render” signal will be emitted every time the widget draws. This is the default and is useful if drawing the widget is faster.

If set to FALSE the data from previous rendering is kept around and will be used for drawing the widget the next time, unless the window is resized. In order to force a rendering gtk_gl_area_queue_render() must be called. This mode is useful when the scene changes seldomly, but takes a long time to redraw.

Owner: GtkGLArea

Flags: Read / Write

Default value: TRUE


The “context” property

  “context”                  GdkGLContext *

The GdkGLContext used by the GtkGLArea widget.

The GtkGLArea widget is responsible for creating the GdkGLContext instance. If you need to render with other kinds of buffers (stencil, depth, etc), use render buffers.

Owner: GtkGLArea

Flags: Read


The “has-depth-buffer” property

  “has-depth-buffer”         gboolean

If set to TRUE the widget will allocate and enable a depth buffer for the target framebuffer.

Owner: GtkGLArea

Flags: Read / Write

Default value: FALSE


The “has-stencil-buffer” property

  “has-stencil-buffer”       gboolean

If set to TRUE the widget will allocate and enable a stencil buffer for the target framebuffer.

Owner: GtkGLArea

Flags: Read / Write

Default value: FALSE


The “use-es” property

  “use-es”                   gboolean

If set to TRUE the widget will try to create a GdkGLContext using OpenGL ES instead of OpenGL.

See also: gdk_gl_context_set_use_es()

Owner: GtkGLArea

Flags: Read / Write

Default value: FALSE

Signal Details

The “create-context” signal

GdkGLContext*
user_function (GtkGLArea *area,
               gpointer   user_data)

The ::create-context signal is emitted when the widget is being realized, and allows you to override how the GL context is created. This is useful when you want to reuse an existing GL context, or if you want to try creating different kinds of GL options.

If context creation fails then the signal handler can use gtk_gl_area_set_error() to register a more detailed error of how the construction failed.

Parameters

area

the GtkGLArea that emitted the signal

 

error

location to store error information on failure.

[allow-none]

user_data

user data set when the signal handler was connected.

 

Returns

a newly created GdkGLContext; the GtkGLArea widget will take ownership of the returned value.

[transfer full]

Flags: Run Last


The “render” signal

gboolean
user_function (GtkGLArea    *area,
               GdkGLContext *context,
               gpointer      user_data)

The ::render signal is emitted every time the contents of the GtkGLArea should be redrawn.

The context is bound to the area prior to emitting this function, and the buffers are painted to the window once the emission terminates.

Parameters

area

the GtkGLArea that emitted the signal

 

context

the GdkGLContext used by area

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.

Flags: Run Last


The “resize” signal

void
user_function (GtkGLArea *area,
               gint       width,
               gint       height,
               gpointer   user_data)

The ::resize signal is emitted once when the widget is realized, and then each time the widget is changed while realized. This is useful in order to keep GL state up to date with the widget size, like for instance camera properties which may depend on the width/height ratio.

The GL context for the area is guaranteed to be current when this signal is emitted.

The default handler sets up the GL viewport.

Parameters

area

the GtkGLArea that emitted the signal

 

width

the width of the viewport

 

height

the height of the viewport

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkText.html0000664000175000017500000027653413710700534017626 0ustar mclasenmclasen GtkText: GTK 4 Reference Manual

GtkText

GtkText — A simple single-line text entry field

Properties

gboolean activates-default Read / Write
PangoAttrList * attributes Read / Write
GtkEntryBuffer * buffer Read / Write / Construct
gboolean enable-emoji-completion Read / Write
GMenuModel * extra-menu Read / Write
gchar * im-module Read / Write
GtkInputHints input-hints Read / Write
GtkInputPurpose input-purpose Read / Write
guint invisible-char Read / Write
gboolean invisible-char-set Read / Write
gint max-length Read / Write
gboolean overwrite-mode Read / Write
gchar * placeholder-text Read / Write
gboolean propagate-text-width Read / Write
gint scroll-offset Read
PangoTabArray * tabs Read / Write
gboolean truncate-multiline Read / Write
gboolean visibility Read / Write

Signals

void activate Action
void backspace Action
void copy-clipboard Action
void cut-clipboard Action
void delete-from-cursor Action
void insert-at-cursor Action
void insert-emoji Action
void move-cursor Action
void paste-clipboard Action
void preedit-changed Action
void toggle-overwrite Action

Actions

  menu.popup  
  text.redo  
  text.undo  
  misc.toggle-visibility  
  misc.insert-emoji  
  selection.select-all  
  selection.delete  
  clipboard.paste  
  clipboard.copy  
  clipboard.cut  

Types and Values

struct GtkText
struct GtkTextClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkText

Implemented Interfaces

GtkText implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable.

Includes

#include <gtk/gtk.h>

Description

The GtkText widget is a single line text entry widget.

A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible.

When using an entry for passwords and other sensitive information, it can be put into “password mode” using gtk_text_set_visibility(). In this mode, entered text is displayed using a “invisible” character. By default, GTK picks the best invisible character that is available in the current font, but it can be changed with gtk_text_set_invisible_char().

If you are looking to add icons or progress display in an entry, look at GtkEntry. There other alternatives for more specialized use cases, such as GtkSearchEntry.

If you need multi-line editable text, look at GtkTextView.

CSS nodes

1
2
3
4
5
6
7
text[.read-only]
├── placeholder
├── undershoot.left
├── undershoot.right
├── [selection]
├── [block-cursor]
╰── [window.popup]

GtkText has a main node with the name text. Depending on the properties of the widget, the .read-only style class may appear.

When the entry has a selection, it adds a subnode with the name selection.

When the entry is in overwrite mode, it adds a subnode with the name block-cursor that determines how the block cursor is drawn.

The CSS node for a context menu is added as a subnode below text as well.

The undershoot nodes are used to draw the underflow indication when content is scrolled out of view. These nodes get the .left and .right style classes added depending on where the indication is drawn.

When touch is used and touch selection handles are shown, they are using CSS nodes with name cursor-handle. They get the .top or .bottom style class depending on where they are shown in relation to the selection. If there is just a single handle for the text cursor, it gets the style class .insertion-cursor.

Functions

gtk_text_new ()

GtkWidget *
gtk_text_new (void);

Creates a new self.

Returns

a new GtkText.


gtk_text_new_with_buffer ()

GtkWidget *
gtk_text_new_with_buffer (GtkEntryBuffer *buffer);

Creates a new self with the specified text buffer.

Parameters

buffer

The buffer to use for the new GtkText.

 

Returns

a new GtkText


gtk_text_set_buffer ()

void
gtk_text_set_buffer (GtkText *self,
                     GtkEntryBuffer *buffer);

Set the GtkEntryBuffer object which holds the text for this widget.

Parameters

self

a GtkText

 

buffer

a GtkEntryBuffer

 

gtk_text_get_buffer ()

GtkEntryBuffer *
gtk_text_get_buffer (GtkText *self);

Get the GtkEntryBuffer object which holds the text for this self.

Parameters

self

a GtkText

 

Returns

A GtkEntryBuffer object.

[transfer none]


gtk_text_set_visibility ()

void
gtk_text_set_visibility (GtkText *self,
                         gboolean visible);

Sets whether the contents of the self are visible or not. When visibility is set to FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the self widget is copied to the clipboard.

By default, GTK picks the best invisible character available in the current font, but it can be changed with gtk_text_set_invisible_char().

Note that you probably want to set “input-purpose” to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN to inform input methods about the purpose of this self, in addition to setting visibility to FALSE.

Parameters

self

a GtkText

 

visible

TRUE if the contents of the self are displayed as plaintext

 

gtk_text_get_visibility ()

gboolean
gtk_text_get_visibility (GtkText *self);

Retrieves whether the text in self is visible. See gtk_text_set_visibility().

Parameters

self

a GtkText

 

Returns

TRUE if the text is currently visible


gtk_text_set_invisible_char ()

void
gtk_text_set_invisible_char (GtkText *self,
                             gunichar ch);

Sets the character to use in place of the actual text when gtk_text_set_visibility() has been called to set text visibility to FALSE. i.e. this is the character used in “password mode” to show the user how many characters have been typed.

By default, GTK picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type.

Parameters

self

a GtkText

 

ch

a Unicode character

 

gtk_text_get_invisible_char ()

gunichar
gtk_text_get_invisible_char (GtkText *self);

Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_text_set_invisible_char().

Parameters

self

a GtkText

 

Returns

the current invisible char, or 0, if the self does not show invisible text at all.


gtk_text_unset_invisible_char ()

void
gtk_text_unset_invisible_char (GtkText *self);

Unsets the invisible char previously set with gtk_text_set_invisible_char(). So that the default invisible char is used again.

Parameters

self

a GtkText

 

gtk_text_set_overwrite_mode ()

void
gtk_text_set_overwrite_mode (GtkText *self,
                             gboolean overwrite);

Sets whether the text is overwritten when typing in the GtkText.

Parameters

self

a GtkText

 

overwrite

new value

 

gtk_text_get_overwrite_mode ()

gboolean
gtk_text_get_overwrite_mode (GtkText *self);

Gets the value set by gtk_text_set_overwrite_mode().

Parameters

self

a GtkText

 

Returns

whether the text is overwritten when typing.


gtk_text_set_max_length ()

void
gtk_text_set_max_length (GtkText *self,
                         int length);

Sets the maximum allowed length of the contents of the widget.

If the current contents are longer than the given length, then they will be truncated to fit.

This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_set_max_length() on it. ]|

Parameters

self

a GtkText

 

length

the maximum length of the self, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536.

 

gtk_text_get_max_length ()

int
gtk_text_get_max_length (GtkText *self);

Retrieves the maximum allowed length of the text in self . See gtk_text_set_max_length().

This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_get_max_length() on it.

Parameters

self

a GtkText

 

Returns

the maximum allowed number of characters in GtkText, or 0 if there is no maximum.


gtk_text_get_text_length ()

guint16
gtk_text_get_text_length (GtkText *self);

Retrieves the current length of the text in self .

This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_get_length() on it.

Parameters

self

a GtkText

 

Returns

the current number of characters in GtkText, or 0 if there are none.


gtk_text_set_activates_default ()

void
gtk_text_set_activates_default (GtkText *self,
                                gboolean activates);

If activates is TRUE, pressing Enter in the self will activate the default widget for the window containing the self. This usually means that the dialog box containing the self will be closed, since the default widget is usually one of the dialog buttons.

Parameters

self

a GtkText

 

activates

TRUE to activate window’s default widget on Enter keypress

 

gtk_text_get_activates_default ()

gboolean
gtk_text_get_activates_default (GtkText *self);

Retrieves the value set by gtk_text_set_activates_default().

Parameters

self

a GtkText

 

Returns

TRUE if the self will activate the default widget


gtk_text_set_placeholder_text ()

void
gtk_text_set_placeholder_text (GtkText *self,
                               const char *text);

Sets text to be displayed in self when it is empty.

This can be used to give a visual hint of the expected contents of the self.

Parameters

self

a GtkText

 

text

a string to be displayed when self is empty and unfocused, or NULL.

[nullable]

gtk_text_get_placeholder_text ()

const char *
gtk_text_get_placeholder_text (GtkText *self);

Retrieves the text that will be displayed when self is empty and unfocused

Parameters

self

a GtkText

 

Returns

a pointer to the placeholder text as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. If no placeholder text has been set, NULL will be returned.

[nullable][transfer none]


gtk_text_set_input_purpose ()

void
gtk_text_set_input_purpose (GtkText *self,
                            GtkInputPurpose purpose);

Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour.

Parameters

self

a GtkText

 

purpose

the purpose

 

gtk_text_get_input_purpose ()

GtkInputPurpose
gtk_text_get_input_purpose (GtkText *self);

Gets the value of the “input-purpose” property.

Parameters

self

a GtkText

 

gtk_text_set_input_hints ()

void
gtk_text_set_input_hints (GtkText *self,
                          GtkInputHints hints);

Sets the “input-hints” property, which allows input methods to fine-tune their behaviour.

Parameters

self

a GtkText

 

hints

the hints

 

gtk_text_get_input_hints ()

GtkInputHints
gtk_text_get_input_hints (GtkText *self);

Gets the value of the “input-hints” property.

Parameters

self

a GtkText

 

gtk_text_set_attributes ()

void
gtk_text_set_attributes (GtkText *self,
                         PangoAttrList *attrs);

Sets a PangoAttrList; the attributes in the list are applied to the text.

Parameters

self

a GtkText

 

attrs

a PangoAttrList or NULL to unset.

[nullable]

gtk_text_get_attributes ()

PangoAttrList *
gtk_text_get_attributes (GtkText *self);

Gets the attribute list that was set on the self using gtk_text_set_attributes(), if any.

Parameters

self

a GtkText

 

Returns

the attribute list, or NULL if none was set.

[transfer none][nullable]


gtk_text_set_tabs ()

void
gtk_text_set_tabs (GtkText *self,
                   PangoTabArray *tabs);

Sets a PangoTabArray; the tabstops in the array are applied to the self text.

Parameters

self

a GtkText

 

tabs

a PangoTabArray.

[nullable]

gtk_text_get_tabs ()

PangoTabArray *
gtk_text_get_tabs (GtkText *self);

Gets the tabstops that were set on the self using gtk_text_set_tabs(), if any.

Parameters

self

a GtkText

 

Returns

the tabstops, or NULL if none was set.

[nullable][transfer none]


gtk_text_grab_focus_without_selecting ()

gboolean
gtk_text_grab_focus_without_selecting (GtkText *self);

Causes self to have keyboard focus.

It behaves like gtk_widget_grab_focus(), except that it doesn't select the contents of the self. You only want to call this on some special entries which the user usually doesn't want to replace all text in, such as search-as-you-type entries.

Parameters

self

a GtkText

 

Returns

TRUE if focus is now inside self


gtk_text_set_extra_menu ()

void
gtk_text_set_extra_menu (GtkText *self,
                         GMenuModel *model);

Sets a menu model to add when constructing the context menu for self .

Parameters

self

a GtkText

 

model

a GMenuModel.

[allow-none]

gtk_text_get_extra_menu ()

GMenuModel *
gtk_text_get_extra_menu (GtkText *self);

Gets the menu model set with gtk_text_set_extra_menu().

Parameters

self

a GtkText

 

Returns

(nullable): the menu model.

[transfer none]

Types and Values

struct GtkText

struct GtkText;

struct GtkTextClass

struct GtkTextClass {
  GtkWidgetClass parent_class;

  /* Action signals
   */
  void (* activate)           (GtkText         *self);
  void (* move_cursor)        (GtkText         *self,
                               GtkMovementStep  step,
                               int              count,
                               gboolean         extend);
  void (* insert_at_cursor)   (GtkText         *self,
                               const char      *str);
  void (* delete_from_cursor) (GtkText         *self,
                               GtkDeleteType    type,
                               int              count);
  void (* backspace)          (GtkText         *self);
  void (* cut_clipboard)      (GtkText         *self);
  void (* copy_clipboard)     (GtkText         *self);
  void (* paste_clipboard)    (GtkText         *self);
  void (* toggle_overwrite)   (GtkText         *self);
  void (* insert_emoji)       (GtkText         *self);
  void (* undo)               (GtkText         *self);
  void (* redo)               (GtkText         *self);
};

Property Details

The “activates-default” property

  “activates-default”        gboolean

Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “attributes” property

  “attributes”               PangoAttrList *

A list of Pango attributes to apply to the text of the self.

This is mainly useful to change the size or weight of the text.

The PangoAttribute's start_index and end_index must refer to the GtkEntryBuffer text, i.e. without the preedit string.

Owner: GtkText

Flags: Read / Write


The “buffer” property

  “buffer”                   GtkEntryBuffer *

Text buffer object which actually stores self text.

Owner: GtkText

Flags: Read / Write / Construct


The “enable-emoji-completion” property

  “enable-emoji-completion”  gboolean

Whether to suggest Emoji replacements.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “extra-menu” property

  “extra-menu”               GMenuModel *

A menu model whose contents will be appended to the context menu.

Owner: GtkText

Flags: Read / Write


The “im-module” property

  “im-module”                gchar *

Which IM (input method) module should be used for this self. See GtkIMContext.

Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property.

Owner: GtkText

Flags: Read / Write

Default value: NULL


The “input-hints” property

  “input-hints”              GtkInputHints

Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour.

Owner: GtkText

Flags: Read / Write


The “input-purpose” property

  “input-purpose”            GtkInputPurpose

The purpose of this text field.

This property can be used by on-screen keyboards and other input methods to adjust their behaviour.

Note that setting the purpose to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN is independent from setting “visibility”.

Owner: GtkText

Flags: Read / Write

Default value: GTK_INPUT_PURPOSE_FREE_FORM


The “invisible-char” property

  “invisible-char”           guint

The character to use when masking self contents (in “password mode”).

Owner: GtkText

Flags: Read / Write

Default value: '*'


The “invisible-char-set” property

  “invisible-char-set”       gboolean

Whether the invisible char has been set for the GtkText.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “max-length” property

  “max-length”               gint

Maximum number of characters for this self. Zero if no maximum.

Owner: GtkText

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0


The “overwrite-mode” property

  “overwrite-mode”           gboolean

If text is overwritten when typing in the GtkText.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “placeholder-text” property

  “placeholder-text”         gchar *

The text that will be displayed in the GtkText when it is empty and unfocused.

Owner: GtkText

Flags: Read / Write

Default value: NULL


The “propagate-text-width” property

  “propagate-text-width”     gboolean

Whether the entry should grow and shrink with the content.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “scroll-offset” property

  “scroll-offset”            gint

Number of pixels of the self scrolled off the screen to the left.

Owner: GtkText

Flags: Read

Allowed values: >= 0

Default value: 0


The “tabs” property

  “tabs”                     PangoTabArray *

A list of tabstops to apply to the text of the self.

Owner: GtkText

Flags: Read / Write


The “truncate-multiline” property

  “truncate-multiline”       gboolean

When TRUE, pasted multi-line text is truncated to the first line.

Owner: GtkText

Flags: Read / Write

Default value: FALSE


The “visibility” property

  “visibility”               gboolean

FALSE displays the “invisible char” instead of the actual text (password mode).

Owner: GtkText

Flags: Read / Write

Default value: TRUE

Signal Details

The “activate” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::activate signal is emitted when the user hits the Enter key.

The default bindings for this signal are all forms of the Enter key.

Parameters

self

The self on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “backspace” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::backspace signal is a keybinding signal which gets emitted when the user asks for it.

The default bindings for this signal are Backspace and Shift-Backspace.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “copy-clipboard” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are Ctrl-c and Ctrl-Insert.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “cut-clipboard” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::cut-clipboard signal is a keybinding signal which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are Ctrl-x and Shift-Delete.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “delete-from-cursor” signal

void
user_function (GtkText      *self,
               GtkDeleteType type,
               gint          count,
               gpointer      user_data)

The ::delete-from-cursor signal is a keybinding signal which gets emitted when the user initiates a text deletion.

If the type is GTK_DELETE_CHARS, GTK deletes the selection if there is one, otherwise it deletes the requested number of characters.

The default bindings for this signal are Delete for deleting a character and Ctrl-Delete for deleting a word.

Parameters

self

the object which received the signal

 

type

the granularity of the deletion, as a GtkDeleteType

 

count

the number of type units to delete

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “insert-at-cursor” signal

void
user_function (GtkText *self,
               gchar   *string,
               gpointer user_data)

The ::insert-at-cursor signal is a keybinding signal which gets emitted when the user initiates the insertion of a fixed string at the cursor.

This signal has no default bindings.

Parameters

self

the object which received the signal

 

string

the string to insert

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “insert-emoji” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::insert-emoji signal is a keybinding signal which gets emitted to present the Emoji chooser for the self .

The default bindings for this signal are Ctrl-. and Ctrl-;

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “move-cursor” signal

void
user_function (GtkText        *self,
               GtkMovementStep step,
               gint            count,
               gboolean        extend,
               gpointer        user_data)

The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. If the cursor is not visible in self , this signal causes the viewport to be moved instead.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.

  • Arrow keys move by individual characters/lines

  • Ctrl-arrow key combinations move by words/paragraphs

  • Home/End keys move to the ends of the buffer

Parameters

self

the object which received the signal

 

step

the granularity of the move, as a GtkMovementStep

 

count

the number of step units to move

 

extend

TRUE if the move should extend the selection

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “paste-clipboard” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::paste-clipboard signal is a keybinding signal which gets emitted to paste the contents of the clipboard into the text view.

The default bindings for this signal are Ctrl-v and Shift-Insert.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “preedit-changed” signal

void
user_function (GtkText *self,
               gchar   *preedit,
               gpointer user_data)

If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal.

Parameters

self

the object which received the signal

 

preedit

the current preedit string

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “toggle-overwrite” signal

void
user_function (GtkText *self,
               gpointer user_data)

The ::toggle-overwrite signal is a keybinding signal which gets emitted to toggle the overwrite mode of the self.

The default bindings for this signal is Insert.

Parameters

self

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Action Details

The “menu.popup” action

Opens the context menu.


The “text.redo” action

Redoes the last change to the contents.


The “text.undo” action

Undoes the last change to the contents.


The “misc.toggle-visibility” action

Toggles the “visibility” property.


The “misc.insert-emoji” action

Opens the Emoji chooser.


The “selection.select-all” action

Selects all of the widgets content.


The “selection.delete” action

Deletes the current selection.


The “clipboard.paste” action

Inserts the contents of the clipboard into the widget.


The “clipboard.copy” action

Copies the contents to the clipboard.


The “clipboard.cut” action

Copies the contents to the clipboard and deletes it from the widget.

See Also

GtkEntry, GtkTextView

docs/reference/gtk/html/gtk4-GtkDropControllerMotion.html0000664000175000017500000002616713710700534023702 0ustar mclasenmclasen GtkDropControllerMotion: GTK 4 Reference Manual

GtkDropControllerMotion

GtkDropControllerMotion — Event controller for motion events during a drop

Types and Values

Includes

#include <gtk/gtk.h>

Description

GtkDropControllerMotion is an event controller meant for tracking the pointer hovering over a widget during a drag and drop operation.

It is modeled after GtkEventControllerMotion so if you have used that, this should feel really familiar.

The drop controller is not able to accept drops, use GtkDropTarget for that purpose.

Functions

gtk_drop_controller_motion_new ()

GtkEventController *
gtk_drop_controller_motion_new (void);

Creates a new event controller that will handle pointer motion events during drag and drop.

Returns

a new GtkDropControllerMotion


gtk_drop_controller_motion_contains_pointer ()

gboolean
gtk_drop_controller_motion_contains_pointer
                               (GtkDropControllerMotion *self);

Returns the value of the GtkDropControllerMotion:contains-pointer property.

Parameters

Returns

TRUE if a dragging pointer is within self or one of its children.


gtk_drop_controller_motion_is_pointer ()

gboolean
gtk_drop_controller_motion_is_pointer (GtkDropControllerMotion *self);

Returns the value of the GtkDropControllerMotion:is-pointer property.

Parameters

Returns

TRUE if a dragging pointer is within self but not one of its children


gtk_drop_controller_motion_get_drop ()

GdkDrop *
gtk_drop_controller_motion_get_drop (GtkDropControllerMotion *self);

Returns the value of the GtkDropControllerMotion:drop property.

Parameters

Returns

The GdkDrop currently happening within self or NULL if none.

[transfer none][nullable]

Types and Values

GtkDropControllerMotion

typedef struct _GtkDropControllerMotion GtkDropControllerMotion;
docs/reference/gtk/html/ch37.html0000664000175000017500000000517513710700534016767 0ustar mclasenmclasen Data exchange, clipboards and Drag-and-Drop: GTK 4 Reference Manual

Data exchange, clipboards and Drag-and-Drop

GtkDragSource — Event controller to initiate DND operations
GtkDragIcon — A toplevel to use as drag icon
GtkDropTarget — Event controller to receive DND drops
GtkDropTargetAsync — Event controller to receive DND drops
GtkDropControllerMotion — Event controller for motion events during a drop
docs/reference/gtk/html/gtkobjects.html0000664000175000017500000014011113710700534020350 0ustar mclasenmclasen Part III. GTK Widgets and Objects: GTK 4 Reference Manual

Part III. GTK Widgets and Objects

Table of Contents

Object Hierarchy
Widget Gallery
GListModel support
GtkBitset — Sets of integers
GtkExpression — Expressions to values
GtkFilterListModel — A list model that filters its items
GtkFilter — Filtering items
GtkCustomFilter — Filtering with callbacks
GtkMultiFilter — Combining multiple filters
GtkBoolFilter — Filtering by boolean expressions
GtkStringFilter — Filtering by strings
GtkFileFilter — Filtering files
GtkFlattenListModel — A list model that flattens a list of lists
GtkMapListModel — A list model that transforms its items
GtkSliceListModel — A list model that presents a slice out of a larger list
GtkSortListModel — A list model that sorts its items
GtkSorter — Sorting items
GtkCustomSorter — Sorting with a callbacks
GtkMultiSorter — Combining multiple sorters
GtkStringSorter — Sort by comparing strings
GtkNumericSorter — Sort by comparing numbers
GtkSelectionModel — An extension of the list model interface that handles selections
GtkNoSelection — A selection model that does not allow selecting anything
GtkSingleSelection — A selection model that allows selecting a single item
GtkMultiSelection — A selection model that allows selecting multiple items
GtkSelectionFilterModel — A list model that turns a selection in a model
GtkBookmarkList — A list model for recently used files
GtkDirectoryList — A list model for directory listings
GtkStringList — A list model for strings
List-based Widgets
List Widget Overview
Terminology
Behind the scenes
Choosing the right model
Displaying trees
Comparison to GtkTreeView
GtkListItem — Object used to represent items of a list model
GtkListItemFactory — Mapping list items to widgets
GtkSignalListItemFactory — A listitem factory providing signals
GtkBuilderListItemFactory — A listitem factory using ui files
GtkListView — A widget for displaying lists
GtkGridView — A widget for displaying grids
GtkColumnView — A widget for displaying lists in multiple columns
GtkColumnViewColumn — The column added to GtkColumnView
GtkDropDown — Choose an item from a list
Tree support
GtkTreeListModel — A list model that can create child models on demand
GtkTreeListRow — A row in a GtkTreeListModel
GtkTreeListRowSorter — Sort trees by levels
GtkTreeExpander — An indenting expander button for use in a tree list
Application support
GtkApplication — Application class
GtkApplicationWindow — GtkWindow subclass with GtkApplication support
GtkActionable — An interface for widgets that can be associated with actions
Interface builder
GtkBuilder — Build an interface from an XML UI definition
GtkBuildable — Interface for objects that can be built by GtkBuilder
GtkBuilderScope — Bindings for GtkBuilder
Windows
GtkRoot — Interface for root widgets
GtkNative — Interface for widgets having surfaces
GtkWindow — Toplevel which can contain other widgets
GtkDialog — Create popup windows
GtkMessageDialog — A convenient message window
GtkAboutDialog — Display information about an application
GtkAssistant — A widget used to guide users through multi-step operations
GtkWindowGroup — Limit the effect of grabs
GtkNativeDialog — Integrate with native dialogs
Layout Containers
GtkBox — A container for packing widgets in a single row or column
GtkCenterBox — A centering container
GtkGrid — Pack widgets in rows and columns
GtkRevealer — Hide and show with animation
GtkListBox — A list container
GtkFlowBox — A container that allows reflowing its children
GtkStack — A stacking container
GtkStackSwitcher — A controller for GtkStack
GtkStackSidebar — An automatic sidebar widget
GtkActionBar — A full width bar for presenting contextual actions
GtkHeaderBar — A box with a centered child
GtkOverlay — A container which overlays widgets on top of each other
GtkPaned — A widget with two adjustable panes
GtkNotebook — A tabbed notebook container
GtkExpander — A container which can hide its child
GtkOrientable — An interface for flippable widgets
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
GtkFixed — A container which allows you to position widgets at fixed coordinates
Layout Managers
GtkLayoutManager — Base class for layout manager
GtkLayoutChild — An object containing layout properties
GtkBinLayout — A layout manager for bin-like widgets
GtkBoxLayout — Layout manager for placing all children in a single row or column
GtkCenterLayout — A centering layout
GtkFixedLayout — A layout manager that allows positioning at fixed coordinates
GtkGridLayout — Layout manager for grid-like widgets
GtkOverlayLayout — Layout manager that places widgets as overlays
GtkCustomLayout — A convenience layout manager
GtkConstraintLayout — A layout manager using constraints
GtkConstraint — The description of a constraint
GtkConstraintGuide — An invisible constraint target
Display Widgets
GtkLabel — A widget that displays a small to medium amount of text
GtkImage — A widget displaying an image
GtkPicture — A widget displaying a GdkPaintable
GtkSpinner — Show a spinner animation
GtkInfoBar — Report important messages to the user
GtkProgressBar — A widget which indicates progress visually
GtkLevelBar — A bar that can used as a level indicator
GtkStatusbar — Report messages of minor importance to the user
GtkAccelLabel — A label which displays an accelerator key on the right of the text
GtkCalendar — Displays a calendar and allows the user to select a date
Media Support
GtkVideo — A widget for displaying video
GtkMediaControls — A widget showing controls for a media stream
GtkMediaStream — Display media in GTK
GtkMediaFile — Open media files for use in GTK
Buttons and Toggles
GtkButton — A widget that emits a signal when clicked on
GtkCheckButton — Create widgets with a discrete toggle button
GtkRadioButton — A choice from multiple check buttons
GtkToggleButton — Create buttons which retain their state
GtkLinkButton — Create buttons bound to a URL
GtkMenuButton — A widget that shows a popup when clicked on
GtkSwitch — A “light switch” style toggle
GtkScaleButton — A button which pops up a scale
GtkVolumeButton — A button which pops up a volume control
GtkLockButton — A widget to unlock or lock privileged operations
Numeric and Text Data Entry
GtkEditable — Interface for text-editing widgets
GtkEntryBuffer — Text buffer for GtkEntry
GtkText — A simple single-line text entry field
GtkEntry — A single line text entry field
GtkEntryCompletion — Completion functionality for GtkEntry
GtkPasswordEntry — An entry for secrets
GtkScale — A slider widget for selecting a value from a range
GtkSpinButton — Retrieve an integer or floating-point number from the user
GtkSearchEntry — An entry which shows a search icon
GtkSearchBar — A toolbar to integrate a search entry with
GtkEditableLabel — A label that can be edited
Multiline Text Editor
Text Widget Overview
Simple Example
Example of Changing Text Attributes
GtkTextIter — Text buffer iterator
GtkTextMark — A position in the buffer preserved across buffer modifications
GtkTextBuffer — Stores attributed text for display in a GtkTextView
GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
GtkTextTagTable — Collection of tags that can be used together
GtkTextView — Widget that displays a GtkTextBuffer
Tree, List and Icon Grid Widgets
Tree and List Widget Overview
Creating a model
Creating the view component
Colums and cell renderers
Selection handling
Simple Example
GtkTreeModel — The tree interface used by GtkTreeView
GtkTreeSelection — The selection object for GtkTreeView
GtkTreeViewColumn — A visible column in a GtkTreeView widget
GtkTreeView — A widget for displaying both trees and lists
GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView
GtkCellView — A widget displaying a single row of a GtkTreeModel
GtkIconView — A widget which displays a list of icons in a grid
GtkTreeSortable — The interface for sortable models used by GtkTreeView
GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable
GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model
GtkCellLayout — An interface for packing cells
GtkCellArea — An abstract class for laying out GtkCellRenderers
GtkCellAreaBox — A cell area that renders GtkCellRenderers into a row or a column
GtkCellAreaContext — Stores geometrical information for a series of rows in a GtkCellArea
GtkCellRenderer — An object for rendering a single cell
GtkCellEditable — Interface for widgets that can be used for editing cells
GtkCellRendererAccel — Renders a keyboard accelerator in a cell
GtkCellRendererCombo — Renders a combobox in a cell
GtkCellRendererPixbuf — Renders a pixbuf in a cell
GtkCellRendererProgress — Renders numbers as progress bars
GtkCellRendererSpin — Renders a spin button in a cell
GtkCellRendererText — Renders text in a cell
GtkCellRendererToggle — Renders a toggle button in a cell
GtkCellRendererSpinner — Renders a spinning animation in a cell
GtkListStore — A list-like data structure that can be used with the GtkTreeView
GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView
Menus, Combo Box
GtkComboBox — A widget used to choose from a list of items
GtkComboBoxText — A simple, text-only combo box
GtkPopover — Context dependent bubbles
GtkPopoverMenu — Popovers to use as menus
GtkPopoverMenuBar — A menu bar with popovers
GtkDropDown — Choose an item from a list
Selector Widgets and Dialogs
GtkColorChooser — Interface implemented by widgets for choosing colors
GtkColorButton — A button to launch a color selection dialog
GtkColorChooserWidget — A widget for choosing colors
GtkColorChooserDialog — A dialog for choosing colors
GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
GtkFileChooserButton — A button to launch a file chooser dialog
GtkFileChooserNative — A native file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserDialog — A file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserWidget — A file chooser widget
GtkFontChooser — Interface implemented by widgets displaying fonts
GtkFontButton — A button to launch a font chooser dialog
GtkFontChooserWidget — A widget for selecting fonts
GtkFontChooserDialog — A dialog for selecting fonts
GtkEmojiChooser — A popover to choose an Emoji character
Widgets for custom drawing
GtkDrawingArea — A simple widget for drawing with cairo
GtkGLArea — A widget for custom drawing with OpenGL
Ornaments
GtkFrame — A widget with a decorative frame and optional label
GtkSeparator — A separator widget
Scrolling
GtkScrollbar — A Scrollbar
GtkScrolledWindow — Adds scrollbars to its child widget
GtkScrollable — An interface for scrollable widgets
GtkViewport — An adapter which makes widgets scrollable
Printing
GtkPrintOperation — High-level Printing API
GtkPrintContext — Encapsulates context for drawing pages
GtkPrintSettings — Stores print settings
GtkPageSetup — Stores page setup information
GtkPaperSize — Support for named paper sizes
GtkPrinter — Represents a printer
GtkPrintJob — Represents a print job
GtkPrintUnixDialog — A print dialog
GtkPageSetupUnixDialog — A page setup dialog
Shortcuts Overview
GtkShortcutsWindow — Toplevel which shows help for shortcuts
GtkShortcutsSection — Represents an application mode in a GtkShortcutsWindow
GtkShortcutsGroup — Represents a group of shortcuts in a GtkShortcutsWindow
GtkShortcutsShortcut — Represents a keyboard shortcut in a GtkShortcutsWindow
GtkShortcutLabel — Displays a keyboard shortcut
Accessibility
GTK Accessibility
The standard accessibility interface
Accessible roles and attributes
Application development rules
Implementations
GtkAccessible — Accessible interface
GtkATContext — An object communicating to Assistive Technologies
Miscellaneous
GtkAdjustment — A representation of an adjustable bounded value
GtkIMContextSimple — An input method context supporting table-based input methods
GtkIMMulticontext — An input method context supporting multiple, loadable input methods
GtkSizeGroup — Grouping widgets so they request the same size
GtkSnapshot — Auxiliary object for snapshots
GtkTooltip — Add tips to your widgets
GtkWidgetPaintable — Drawing a widget elsewhere
GtkWindowControls — A widget displaying window buttons
GtkWindowHandle — A titlebar area widget
Abstract Base Classes
GtkWidget — Base class for all widgets
GtkRange — Base class for widgets which visualize an adjustment
GtkIMContext — Base class for input method contexts
GtkNativeDialog — Integrate with native dialogs
GtkAccessible — Accessible interface
Recently Used Documents
GtkRecentManager — Managing recently used files
Choosing from installed applications
GtkAppChooser — Interface implemented by widgets for choosing an application
GtkAppChooserButton — A button to launch an application chooser dialog
GtkAppChooserDialog — An application chooser dialog
GtkAppChooserWidget — Application chooser widget that can be embedded in other widgets
Gestures and event handling
GtkEventController — Self-contained handler of series of events
GtkEventControllerKey — Event controller for key events
GtkEventControllerFocus — Event controller for focus
GtkEventControllerLegacy — Event controller for miscellaneous events
GtkEventControllerScroll — Event controller for scroll events
GtkEventControllerMotion — Event controller for motion events
GtkGesture — Base class for gestures
GtkGestureSingle — Base class for mouse/single-touch gestures
GtkGestureDrag — Drag gesture
GtkGestureLongPress — "Press and Hold" gesture
GtkGestureClick — Multipress gesture
GtkGesturePan — Pan gesture
GtkGestureSwipe — Swipe gesture
GtkGestureRotate — Rotate gesture
GtkGestureZoom — Zoom gesture
GtkGestureStylus — Gesture for stylus input
GtkPadController — Controller for drawing tablet pads
GtkShortcutController — Event controller for shortcuts
Keyboard shortcuts
Keyboard Accelerators — Utilities for accelerators
GtkShortcut — An object describing a keyboard shortcut
GtkShortcutTrigger — Triggers to track if shortcuts should be activated
GtkShortcutAction — Tracking if shortcuts should be activated
GtkShortcutManager — Interface for managing shortcuts
Data exchange, clipboards and Drag-and-Drop
GtkDragSource — Event controller to initiate DND operations
GtkDragIcon — A toplevel to use as drag icon
GtkDropTarget — Event controller to receive DND drops
GtkDropTargetAsync — Event controller to receive DND drops
GtkDropControllerMotion — Event controller for motion events during a drop
docs/reference/gtk/html/gtk4-General.html0000664000175000017500000004005213710700534020440 0ustar mclasenmclasen Initialization: GTK 4 Reference Manual

Initialization

Initialization — Library initialization and main loop

Types and Values

Includes

#include <gtk/gtk.h>

Description

Before using GTK, you need to initialize it using gtk_init(); this connects to the windowing system, sets up the locale and performs other initialization tasks. gtk_init() exits the application if errors occur; to avoid this, you can use gtk_init_check(), which allows you to recover from a failed GTK initialization - you might start up your application in text mode instead.

Like all GUI toolkits, GTK uses an event-driven programming model. When the user is doing nothing, GTK sits in the “main loop” and waits for input. If the user performs some action - say, a mouse click - then the main loop “wakes up” and delivers an event to GTK. GTK forwards the event to one or more widgets.

When widgets receive an event, they frequently emit one or more “signals”. Signals notify your program that "something interesting happened" by invoking functions you’ve connected to the signal with g_signal_connect(). Functions connected to a signal are often called “callbacks”.

When your callbacks are invoked, you would typically take some action - for example, when an Open button is clicked you might display a GtkFileChooserDialog. After a callback finishes, GTK will return to the main loop and await more user input.

Typical main() function for a GTK application

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int
main (int argc, char **argv)
{
 GtkWidget *window;
  // Initialize i18n support with bindtextdomain(), etc.

  // ...

  // Initialize the widget set
  gtk_init ();

  // Create the main window
  window = gtk_window_new ();

  // Set up our GUI elements

  // ...

  // Show the application window
  gtk_widget_show (window);

  // Enter the main event loop, and wait for user interaction
  while (!done)
    g_main_context_iteration (NULL, TRUE);

  // The user lost interest
  return 0;
}

See GMainLoop in the GLib documentation to learn more about main loops and their features.

Functions

gtk_disable_setlocale ()

void
gtk_disable_setlocale (void);

Prevents gtk_init(), gtk_init_check() and gtk_parse_args() from automatically calling setlocale (LC_ALL, ""). You would want to use this function if you wanted to set the locale for your program to something other than the user’s locale, or if you wanted to set different values for different locale categories.

Most programs should not need to call this function.


gtk_get_default_language ()

PangoLanguage *
gtk_get_default_language (void);

Returns the PangoLanguage for the default language currently in effect. (Note that this can change over the life of an application.) The default language is derived from the current locale. It determines, for example, whether GTK uses the right-to-left or left-to-right text direction.

This function is equivalent to pango_language_get_default(). See that function for details.

Returns

the default language as a PangoLanguage, must not be freed.

[transfer none]


gtk_get_locale_direction ()

GtkTextDirection
gtk_get_locale_direction (void);

Get the direction of the current locale. This is the expected reading direction for text and UI.

This function depends on the current locale being set with setlocale() and will default to setting the GTK_TEXT_DIR_LTR direction otherwise. GTK_TEXT_DIR_NONE will never be returned.

GTK sets the default text direction according to the locale during gtk_init(), and you should normally use gtk_widget_get_direction() or gtk_widget_get_default_direction() to obtain the current direction.

This function is only needed rare cases when the locale is changed after GTK has already been initialized. In this case, you can use it to update the default text direction as follows:

1
2
3
setlocale (LC_ALL, new_locale);
direction = gtk_get_locale_direction ();
gtk_widget_set_default_direction (direction);

Returns

the GtkTextDirection of the current locale


gtk_init ()

void
gtk_init (void);

Call this function before using any other GTK functions in your GUI applications. It will initialize everything needed to operate the toolkit and parses some standard command line options.

If you are using GtkApplication, you don't have to call gtk_init() or gtk_init_check(); the “startup” handler does it for you.

This function will terminate your program if it was unable to initialize the windowing system for some reason. If you want your program to fall back to a textual interface you want to call gtk_init_check() instead.

GTK calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore SIGPIPE signals, since these are almost never wanted in graphical applications. If you do need to handle SIGPIPE for some reason, reset the handler after gtk_init(), but notice that other libraries (e.g. libdbus or gvfs) might do similar things.


gtk_init_check ()

gboolean
gtk_init_check (void);

This function does the same work as gtk_init() with only a single change: It does not terminate the program if the windowing system can’t be initialized. Instead it returns FALSE on failure.

This way the application can fall back to some other means of communication with the user - for example a curses or command line interface.

Returns

TRUE if the windowing system has been successfully initialized, FALSE otherwise

Types and Values

GTK_PRIORITY_RESIZE

#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10)

Use this priority for functionality related to size allocation.

It is used internally by GTK+ to compute the sizes of widgets. This priority is higher than GDK_PRIORITY_REDRAW to avoid resizing a widget which was just redrawn.

See Also

See the GLib manual, especially GMainLoop and signal-related functions such as g_signal_connect()

docs/reference/gtk/html/gtk4-Feature-Test-Macros.html0000664000175000017500000004045713710700534022626 0ustar mclasenmclasen Version Information: GTK 4 Reference Manual

Version Information

Version Information — Variables and functions to check the GTK version

Functions

Types and Values

Includes

#include <gtk/gtk.h>

Description

GTK provides version information, primarily useful in configure checks for builds that have a configure script. Applications will not typically use the features described here.

Functions

gtk_get_major_version ()

guint
gtk_get_major_version (void);

Returns the major version number of the GTK library. (e.g. in GTK version 3.1.5 this is 3.)

This function is in the library, so it represents the GTK library your code is running against. Contrast with the GTK_MAJOR_VERSION macro, which represents the major version of the GTK headers you have included when compiling your code.

Returns

the major version number of the GTK library


gtk_get_minor_version ()

guint
gtk_get_minor_version (void);

Returns the minor version number of the GTK library. (e.g. in GTK version 3.1.5 this is 1.)

This function is in the library, so it represents the GTK library your code is are running against. Contrast with the GTK_MINOR_VERSION macro, which represents the minor version of the GTK headers you have included when compiling your code.

Returns

the minor version number of the GTK library


gtk_get_micro_version ()

guint
gtk_get_micro_version (void);

Returns the micro version number of the GTK library. (e.g. in GTK version 3.1.5 this is 5.)

This function is in the library, so it represents the GTK library your code is are running against. Contrast with the GTK_MICRO_VERSION macro, which represents the micro version of the GTK headers you have included when compiling your code.

Returns

the micro version number of the GTK library


gtk_get_binary_age ()

guint
gtk_get_binary_age (void);

Returns the binary age as passed to libtool when building the GTK library the process is running against. If libtool means nothing to you, don't worry about it.

Returns

the binary age of the GTK library


gtk_get_interface_age ()

guint
gtk_get_interface_age (void);

Returns the interface age as passed to libtool when building the GTK library the process is running against. If libtool means nothing to you, don't worry about it.

Returns

the interface age of the GTK library


gtk_check_version ()

const char *
gtk_check_version (guint required_major,
                   guint required_minor,
                   guint required_micro);

Checks that the GTK library in use is compatible with the given version. Generally you would pass in the constants GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION as the three arguments to this function; that produces a check that the library in use is compatible with the version of GTK the application or module was compiled against.

Compatibility is defined by two things: first the version of the running library is newer than the version required_major.required_minor .required_micro . Second the running library must be binary compatible with the version required_major.required_minor .required_micro (same major version.)

This function is primarily for GTK modules; the module can call this function to check that it wasn’t loaded into an incompatible version of GTK. However, such a check isn’t completely reliable, since the module may be linked against an old version of GTK and calling the old version of gtk_check_version(), but still get loaded into an application using a newer version of GTK.

Parameters

required_major

the required major version

 

required_minor

the required minor version

 

required_micro

the required micro version

 

Returns

NULL if the GTK library is compatible with the given version, or a string describing the version mismatch. The returned string is owned by GTK and should not be modified or freed.

[nullable]


GTK_CHECK_VERSION()

#define             GTK_CHECK_VERSION(major,minor,micro)

Returns TRUE if the version of the GTK+ header files is the same as or newer than the passed-in version.

Parameters

major

major version (e.g. 1 for version 1.2.5)

 

minor

minor version (e.g. 2 for version 1.2.5)

 

micro

micro version (e.g. 5 for version 1.2.5)

 

Returns

TRUE if GTK+ headers are new enough

Types and Values

GTK_MAJOR_VERSION

#define GTK_MAJOR_VERSION (3)

Like gtk_get_major_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.


GTK_MINOR_VERSION

#define GTK_MINOR_VERSION (99)

Like gtk_get_minor_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.


GTK_MICRO_VERSION

#define GTK_MICRO_VERSION (0)

Like gtk_get_micro_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.


GTK_BINARY_AGE

#define GTK_BINARY_AGE    (9900)

Like gtk_get_binary_age(), but from the headers used at application compile time, rather than from the library linked against at application run time.


GTK_INTERFACE_AGE

#define GTK_INTERFACE_AGE (0)

Like gtk_get_interface_age(), but from the headers used at application compile time, rather than from the library linked against at application run time.

docs/reference/gtk/html/GtkSettings.html0000664000175000017500000015376313710700534020500 0ustar mclasenmclasen Settings: GTK 4 Reference Manual

Settings

Settings — Sharing settings between applications

Properties

gboolean gtk-alternative-button-order Read / Write
gboolean gtk-alternative-sort-arrows Read / Write
gboolean gtk-application-prefer-dark-theme Read / Write
gfloat gtk-cursor-aspect-ratio Read / Write
gboolean gtk-cursor-blink Read / Write
gint gtk-cursor-blink-time Read / Write
gint gtk-cursor-blink-timeout Read / Write
gchar * gtk-cursor-theme-name Read / Write
gint gtk-cursor-theme-size Read / Write
gchar * gtk-decoration-layout Read / Write
gboolean gtk-dialogs-use-header Read / Write
gint gtk-dnd-drag-threshold Read / Write
gint gtk-double-click-distance Read / Write
gint gtk-double-click-time Read / Write
gboolean gtk-enable-accels Read / Write
gboolean gtk-enable-animations Read / Write
gboolean gtk-enable-event-sounds Read / Write
gboolean gtk-enable-input-feedback-sounds Read / Write
gboolean gtk-enable-primary-paste Read / Write
guint gtk-entry-password-hint-timeout Read / Write
gboolean gtk-entry-select-on-focus Read / Write
gboolean gtk-error-bell Read / Write
gchar * gtk-font-name Read / Write
guint gtk-fontconfig-timestamp Read / Write
gchar * gtk-icon-theme-name Read / Write
gchar * gtk-im-module Read / Write
gboolean gtk-keynav-use-caret Read / Write
gboolean gtk-label-select-on-focus Read / Write
guint gtk-long-press-time Read / Write
gboolean gtk-overlay-scrolling Read / Write
gboolean gtk-primary-button-warps-slider Read / Write
gchar * gtk-print-backends Read / Write
gchar * gtk-print-preview-command Read / Write
gboolean gtk-recent-files-enabled Read / Write
gint gtk-recent-files-max-age Read / Write
gboolean gtk-shell-shows-app-menu Read / Write
gboolean gtk-shell-shows-desktop Read / Write
gboolean gtk-shell-shows-menubar Read / Write
gchar * gtk-sound-theme-name Read / Write
gboolean gtk-split-cursor Read / Write
gchar * gtk-theme-name Read / Write
gchar * gtk-titlebar-double-click Read / Write
gchar * gtk-titlebar-middle-click Read / Write
gchar * gtk-titlebar-right-click Read / Write
gint gtk-xft-antialias Read / Write
gint gtk-xft-dpi Read / Write
gint gtk-xft-hinting Read / Write
gchar * gtk-xft-hintstyle Read / Write
gchar * gtk-xft-rgba Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSettings

Implemented Interfaces

GtkSettings implements GtkStyleProvider.

Includes

#include <gtk/gtk.h>

Description

GtkSettings provide a mechanism to share global settings between applications.

On the X window system, this sharing is realized by an XSettings manager that is usually part of the desktop environment, along with utilities that let the user change these settings.

On Wayland, the settings are obtained either via a settings portal, or by reading desktop settings from DConf.

In the absence of these sharing mechanisms, GTK reads default values for settings from settings.ini files in /etc/gtk-4.0, $XDG_CONFIG_DIRS/gtk-4.0 and $XDG_CONFIG_HOME/gtk-4.0. These files must be valid key files (see GKeyFile), and have a section called Settings. Themes can also provide default values for settings by installing a settings.ini file next to their gtk.css file.

Applications can override system-wide settings by setting the property of the GtkSettings object with g_object_set(). This should be restricted to special cases though; GtkSettings are not meant as an application configuration facility.

There is one GtkSettings instance per display. It can be obtained with gtk_settings_get_for_display(), but in many cases, it is more convenient to use gtk_widget_get_settings().

Functions

gtk_settings_get_default ()

GtkSettings *
gtk_settings_get_default (void);

Gets the GtkSettings object for the default display, creating it if necessary. See gtk_settings_get_for_display().

Returns

a GtkSettings object. If there is no default display, then returns NULL.

[nullable][transfer none]


gtk_settings_get_for_display ()

GtkSettings *
gtk_settings_get_for_display (GdkDisplay *display);

Gets the GtkSettings object for display , creating it if necessary.

Parameters

display

a GdkDisplay.

 

Returns

a GtkSettings object.

[transfer none]


gtk_settings_reset_property ()

void
gtk_settings_reset_property (GtkSettings *settings,
                             const char *name);

Undoes the effect of calling g_object_set() to install an application-specific value for a setting. After this call, the setting will again follow the session-wide value for this setting.

Parameters

settings

a GtkSettings object

 

name

the name of the setting to reset

 

Types and Values

GtkSettings

typedef struct _GtkSettings GtkSettings;

struct GtkSettingsValue

struct GtkSettingsValue {
  /* origin should be something like "filename:linenumber" for rc files,
   * or e.g. "XProperty" for other sources
   */
  char *origin;

  /* valid types are LONG, DOUBLE and STRING corresponding to the token parsed,
   * or a GSTRING holding an unparsed statement
   */
  GValue value;
};

Members

char *origin;

Origin should be something like “filename:linenumber” for rc files, or e.g. “XProperty” for other sources.

 

GValue value;

Valid types are LONG, DOUBLE and STRING corresponding to the token parsed, or a GSTRING holding an unparsed statement

 

enum GtkSystemSetting

Values that can be passed to the GtkWidgetClass.system_setting_changed vfunc to indicate that a system setting has changed and widgets may need to drop caches, or react otherwise.

Most of the values correspond to GtkSettings properties.

More values may be added over time.

Members

GTK_SYSTEM_SETTING_DPI

the “gtk-xft-dpi” setting has changed

 

GTK_SYSTEM_SETTING_FONT_NAME

The “gtk-font-name” setting has changed

 

GTK_SYSTEM_SETTING_FONT_CONFIG

The font configuration has changed in a way that requires text to be redrawn. This can be any of the “gtk-xft-antialias”, “gtk-xft-hinting”, “gtk-xft-hintstyle”, “gtk-xft-rgba” or “gtk-fontconfig-timestamp” settings

 

GTK_SYSTEM_SETTING_DISPLAY

The display has changed

 

GTK_SYSTEM_SETTING_ICON_THEME

The icon theme has changed in a way that requires icons to be looked up again

 

Property Details

The “gtk-alternative-button-order” property

  “gtk-alternative-button-order” gboolean

Whether buttons in dialogs should use the alternative button order.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-alternative-sort-arrows” property

  “gtk-alternative-sort-arrows” gboolean

Controls the direction of the sort indicators in sorted list and tree views. By default an arrow pointing down means the column is sorted in ascending order. When set to TRUE, this order will be inverted.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-application-prefer-dark-theme” property

  “gtk-application-prefer-dark-theme” gboolean

Whether the application prefers to use a dark theme. If a GTK theme includes a dark variant, it will be used instead of the configured theme.

Some applications benefit from minimizing the amount of light pollution that interferes with the content. Good candidates for dark themes are photo and video editors that make the actual content get all the attention and minimize the distraction of the chrome.

Dark themes should not be used for documents, where large spaces are white/light and the dark chrome creates too much contrast (web browser, text editor...).

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-cursor-aspect-ratio” property

  “gtk-cursor-aspect-ratio”  gfloat

The aspect ratio of the text caret.

Owner: GtkSettings

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.04


The “gtk-cursor-blink” property

  “gtk-cursor-blink”         gboolean

Whether the cursor should blink.

Also see the “gtk-cursor-blink-timeout” setting, which allows more flexible control over cursor blinking.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-cursor-blink-time” property

  “gtk-cursor-blink-time”    gint

Length of the cursor blink cycle, in milliseconds.

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= 100

Default value: 1200


The “gtk-cursor-blink-timeout” property

  “gtk-cursor-blink-timeout” gint

Time after which the cursor stops blinking, in seconds. The timer is reset after each user interaction.

Setting this to zero has the same effect as setting “gtk-cursor-blink” to FALSE.

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= 1

Default value: 10


The “gtk-cursor-theme-name” property

  “gtk-cursor-theme-name”    gchar *

Name of the cursor theme to use, or NULL to use the default theme.

Owner: GtkSettings

Flags: Read / Write

Default value: NULL


The “gtk-cursor-theme-size” property

  “gtk-cursor-theme-size”    gint

Size to use for cursors, or 0 to use the default size.

Owner: GtkSettings

Flags: Read / Write

Allowed values: [0,128]

Default value: 0


The “gtk-decoration-layout” property

  “gtk-decoration-layout”    gchar *

This setting determines which buttons should be put in the titlebar of client-side decorated windows, and whether they should be placed at the left of right.

The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close, icon (the window icon) and menu (a menu button for the fallback app menu).

For example, "menu:minimize,maximize,close" specifies a menu on the left, and minimize, maximize and close buttons on the right.

Note that buttons will only be shown when they are meaningful. E.g. a menu button only appears when the desktop shell does not show the app menu, and a close button only appears on a window that can be closed.

Also note that the setting can be overridden with the “decoration-layout” property.

Owner: GtkSettings

Flags: Read / Write

Default value: "menu:minimize,maximize,close"


The “gtk-dialogs-use-header” property

  “gtk-dialogs-use-header”   gboolean

Whether builtin GTK dialogs such as the file chooser, the color chooser or the font chooser will use a header bar at the top to show action widgets, or an action area at the bottom.

This setting does not affect custom dialogs using GtkDialog directly, or message dialogs.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-dnd-drag-threshold” property

  “gtk-dnd-drag-threshold”   gint

Number of pixels the cursor can move before dragging.

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= 1

Default value: 8


The “gtk-double-click-distance” property

  “gtk-double-click-distance” gint

Maximum distance allowed between two clicks for them to be considered a double click (in pixels).

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= 0

Default value: 5


The “gtk-double-click-time” property

  “gtk-double-click-time”    gint

Maximum time allowed between two clicks for them to be considered a double click (in milliseconds).

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= 0

Default value: 400


The “gtk-enable-accels” property

  “gtk-enable-accels”        gboolean

Whether menu items should have visible accelerators which can be activated.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-enable-animations” property

  “gtk-enable-animations”    gboolean

Whether to enable toolkit-wide animations.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-enable-event-sounds” property

  “gtk-enable-event-sounds”  gboolean

Whether to play any event sounds at all.

See the Sound Theme Specifications for more information on event sounds and sound themes.

GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-enable-input-feedback-sounds” property

  “gtk-enable-input-feedback-sounds” gboolean

Whether to play event sounds as feedback to user input.

See the Sound Theme Specifications for more information on event sounds and sound themes.

GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-enable-primary-paste” property

  “gtk-enable-primary-paste” gboolean

Whether a middle click on a mouse should paste the 'PRIMARY' clipboard content at the cursor location.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-entry-password-hint-timeout” property

  “gtk-entry-password-hint-timeout” guint

How long to show the last input character in hidden entries. This value is in milliseconds. 0 disables showing the last char. 600 is a good value for enabling it.

Owner: GtkSettings

Flags: Read / Write

Default value: 0


The “gtk-entry-select-on-focus” property

  “gtk-entry-select-on-focus” gboolean

Whether to select the contents of an entry when it is focused.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-error-bell” property

  “gtk-error-bell”           gboolean

When TRUE, keyboard navigation and other input-related errors will cause a beep. Since the error bell is implemented using gdk_surface_beep(), the windowing system may offer ways to configure the error bell in many ways, such as flashing the window or similar visual effects.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-font-name” property

  “gtk-font-name”            gchar *

The default font to use. GTK uses the family name and size from this string.

Owner: GtkSettings

Flags: Read / Write

Default value: "Sans 10"


The “gtk-fontconfig-timestamp” property

  “gtk-fontconfig-timestamp” guint

Timestamp of current fontconfig configuration.

Owner: GtkSettings

Flags: Read / Write

Default value: 0


The “gtk-icon-theme-name” property

  “gtk-icon-theme-name”      gchar *

Name of icon theme to use.

Owner: GtkSettings

Flags: Read / Write

Default value: "Adwaita"


The “gtk-im-module” property

  “gtk-im-module”            gchar *

Which IM (input method) module should be used by default. This is the input method that will be used if the user has not explicitly chosen another input method from the IM context menu. This also can be a colon-separated list of input methods, which GTK will try in turn until it finds one available on the system.

See GtkIMContext.

Owner: GtkSettings

Flags: Read / Write

Default value: NULL


The “gtk-keynav-use-caret” property

  “gtk-keynav-use-caret”     gboolean

Whether GTK should make sure that text can be navigated with a caret, even if it is not editable. This is useful when using a screen reader.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-label-select-on-focus” property

  “gtk-label-select-on-focus” gboolean

Whether to select the contents of a selectable label when it is focused.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-long-press-time” property

  “gtk-long-press-time”      guint

The time for a button or touch press to be considered a "long press".

Owner: GtkSettings

Flags: Read / Write

Allowed values: <= G_MAXINT

Default value: 500


The “gtk-overlay-scrolling” property

  “gtk-overlay-scrolling”    gboolean

Whether scrolled windows may use overlayed scrolling indicators. If this is set to FALSE, scrolled windows will have permanent scrollbars.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-primary-button-warps-slider” property

  “gtk-primary-button-warps-slider” gboolean

If the value of this setting is TRUE, clicking the primary button in a GtkRange trough will move the slider, and hence set the range’s value, to the point that you clicked. If it is FALSE, a primary click will cause the slider/value to move by the range’s page-size towards the point clicked.

Whichever action you choose for the primary button, the other action will be available by holding Shift and primary-clicking, or (since GTK 3.22.25) clicking the middle mouse button.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-print-backends” property

  “gtk-print-backends”       gchar *

A comma-separated list of print backends to use in the print dialog. Available print backends depend on the GTK installation, and may include "file", "cups", "lpr" or "papi".

Owner: GtkSettings

Flags: Read / Write

Default value: "file,cups"


The “gtk-print-preview-command” property

  “gtk-print-preview-command” gchar *

A command to run for displaying the print preview. The command should contain a %f placeholder, which will get replaced by the path to the pdf file. The command may also contain a %s placeholder, which will get replaced by the path to a file containing the print settings in the format produced by gtk_print_settings_to_file().

The preview application is responsible for removing the pdf file and the print settings file when it is done.

Owner: GtkSettings

Flags: Read / Write

Default value: "evince --unlink-tempfile --preview --print-settings %s %f"


The “gtk-recent-files-enabled” property

  “gtk-recent-files-enabled” gboolean

Whether GTK should keep track of items inside the recently used resources list. If set to FALSE, the list will always be empty.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-recent-files-max-age” property

  “gtk-recent-files-max-age” gint

The maximum age, in days, of the items inside the recently used resources list. Items older than this setting will be excised from the list. If set to 0, the list will always be empty; if set to -1, no item will be removed.

Owner: GtkSettings

Flags: Read / Write

Allowed values: >= -1

Default value: 30


The “gtk-shell-shows-app-menu” property

  “gtk-shell-shows-app-menu” gboolean

Set to TRUE if the desktop environment is displaying the app menu, FALSE if the app should display it itself.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-shell-shows-desktop” property

  “gtk-shell-shows-desktop”  gboolean

Set to TRUE if the desktop environment is displaying the desktop folder, FALSE if not.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-shell-shows-menubar” property

  “gtk-shell-shows-menubar”  gboolean

Set to TRUE if the desktop environment is displaying the menubar, FALSE if the app should display it itself.

Owner: GtkSettings

Flags: Read / Write

Default value: FALSE


The “gtk-sound-theme-name” property

  “gtk-sound-theme-name”     gchar *

The XDG sound theme to use for event sounds.

See the Sound Theme Specifications for more information on event sounds and sound themes.

GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra.

Owner: GtkSettings

Flags: Read / Write

Default value: "freedesktop"


The “gtk-split-cursor” property

  “gtk-split-cursor”         gboolean

Whether two cursors should be displayed for mixed left-to-right and right-to-left text.

Owner: GtkSettings

Flags: Read / Write

Default value: TRUE


The “gtk-theme-name” property

  “gtk-theme-name”           gchar *

Name of theme to load.

Owner: GtkSettings

Flags: Read / Write

Default value: "Adwaita"


The “gtk-titlebar-double-click” property

  “gtk-titlebar-double-click” gchar *

This setting determines the action to take when a double-click occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower or none.

Owner: GtkSettings

Flags: Read / Write

Default value: "toggle-maximize"


The “gtk-titlebar-middle-click” property

  “gtk-titlebar-middle-click” gchar *

This setting determines the action to take when a middle-click occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower or none.

Owner: GtkSettings

Flags: Read / Write

Default value: "none"


The “gtk-titlebar-right-click” property

  “gtk-titlebar-right-click” gchar *

This setting determines the action to take when a right-click occurs on the titlebar of client-side decorated windows.

Recognized actions are minimize, toggle-maximize, menu, lower or none.

Owner: GtkSettings

Flags: Read / Write

Default value: "menu"


The “gtk-xft-antialias” property

  “gtk-xft-antialias”        gint

Whether to antialias Xft fonts; 0=no, 1=yes, -1=default.

Owner: GtkSettings

Flags: Read / Write

Allowed values: [-1,1]

Default value: -1


The “gtk-xft-dpi” property

  “gtk-xft-dpi”              gint

Resolution for Xft, in 1024 * dots/inch. -1 to use default value.

Owner: GtkSettings

Flags: Read / Write

Allowed values: [-1,1048576]

Default value: -1


The “gtk-xft-hinting” property

  “gtk-xft-hinting”          gint

Whether to hint Xft fonts; 0=no, 1=yes, -1=default.

Owner: GtkSettings

Flags: Read / Write

Allowed values: [-1,1]

Default value: -1


The “gtk-xft-hintstyle” property

  “gtk-xft-hintstyle”        gchar *

What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull.

Owner: GtkSettings

Flags: Read / Write

Default value: NULL


The “gtk-xft-rgba” property

  “gtk-xft-rgba”             gchar *

Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr.

Owner: GtkSettings

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/gtk4-Standard-Enumerations.html0000664000175000017500000011321613710700534023275 0ustar mclasenmclasen Standard Enumerations: GTK 4 Reference Manual

Standard Enumerations

Standard Enumerations — Public enumerated types used throughout GTK+

Includes

#include <gtk/gtk.h>

Description

Functions

gtk_ordering_from_cmpfunc ()

GtkOrdering
gtk_ordering_from_cmpfunc (int cmpfunc_result);

Converts the result of a GCompareFunc like strcmp() to a GtkOrdering.

Parameters

cmpfunc_result

Result of a comparison function

 

Returns

the corresponding GtkOrdering

Types and Values

enum GtkBaselinePosition

Whenever a container has some form of natural row it may align children in that row along a common typographical baseline. If the amount of vertical space in the row is taller than the total requested height of the baseline-aligned children then it can use a GtkBaselinePosition to select where to put the baseline inside the extra available space.

Members

GTK_BASELINE_POSITION_TOP

Align the baseline at the top

 

GTK_BASELINE_POSITION_CENTER

Center the baseline

 

GTK_BASELINE_POSITION_BOTTOM

Align the baseline at the bottom

 

enum GtkDeleteType

See also: “delete-from-cursor”.

Members

GTK_DELETE_CHARS

Delete characters.

 

GTK_DELETE_WORD_ENDS

Delete only the portion of the word to the left/right of cursor if we’re in the middle of a word.

 

GTK_DELETE_WORDS

Delete words.

 

GTK_DELETE_DISPLAY_LINES

Delete display-lines. Display-lines refers to the visible lines, with respect to the current line breaks. As opposed to paragraphs, which are defined by line breaks in the input.

 

GTK_DELETE_DISPLAY_LINE_ENDS

Delete only the portion of the display-line to the left/right of cursor.

 

GTK_DELETE_PARAGRAPH_ENDS

Delete to the end of the paragraph. Like C-k in Emacs (or its reverse).

 

GTK_DELETE_PARAGRAPHS

Delete entire line. Like C-k in pico.

 

GTK_DELETE_WHITESPACE

Delete only whitespace. Like M-\ in Emacs.

 

enum GtkDirectionType

Focus movement types.

Members

GTK_DIR_TAB_FORWARD

Move forward.

 

GTK_DIR_TAB_BACKWARD

Move backward.

 

GTK_DIR_UP

Move up.

 

GTK_DIR_DOWN

Move down.

 

GTK_DIR_LEFT

Move left.

 

GTK_DIR_RIGHT

Move right.

 

enum GtkJustification

Used for justifying the text inside a GtkLabel widget. (See also GtkAlignment).

Members

GTK_JUSTIFY_LEFT

The text is placed at the left edge of the label.

 

GTK_JUSTIFY_RIGHT

The text is placed at the right edge of the label.

 

GTK_JUSTIFY_CENTER

The text is placed in the center of the label.

 

GTK_JUSTIFY_FILL

The text is placed is distributed across the label.

 

enum GtkMovementStep

Members

GTK_MOVEMENT_LOGICAL_POSITIONS

Move forward or back by graphemes

 

GTK_MOVEMENT_VISUAL_POSITIONS

Move left or right by graphemes

 

GTK_MOVEMENT_WORDS

Move forward or back by words

 

GTK_MOVEMENT_DISPLAY_LINES

Move up or down lines (wrapped lines)

 

GTK_MOVEMENT_DISPLAY_LINE_ENDS

Move to either end of a line

 

GTK_MOVEMENT_PARAGRAPHS

Move up or down paragraphs (newline-ended lines)

 

GTK_MOVEMENT_PARAGRAPH_ENDS

Move to either end of a paragraph

 

GTK_MOVEMENT_PAGES

Move by pages

 

GTK_MOVEMENT_BUFFER_ENDS

Move to ends of the buffer

 

GTK_MOVEMENT_HORIZONTAL_PAGES

Move horizontally by pages

 

enum GtkOrdering

Describes the way two values can be compared.

These values can be used with a GCompareFunc. However, a GCompareFunc is allowed to return any integer values. For converting such a value to a GtkOrdering, use gtk_ordering_from_cmpfunc().

Members

GTK_ORDERING_SMALLER

the first value is smaller than the second

 

GTK_ORDERING_EQUAL

the two values are equal

 

GTK_ORDERING_LARGER

the first value is larger than the second

 

enum GtkOrientation

Represents the orientation of widgets and other objects which can be switched between horizontal and vertical orientation on the fly, like GtkBox or GtkGesturePan.

Members

GTK_ORIENTATION_HORIZONTAL

The element is in horizontal orientation.

 

GTK_ORIENTATION_VERTICAL

The element is in vertical orientation.

 

enum GtkPackType

Represents the packing location GtkBox children

Members

GTK_PACK_START

The child is packed into the start of the box

 

GTK_PACK_END

The child is packed into the end of the box

 

enum GtkPositionType

Describes which edge of a widget a certain feature is positioned at, e.g. the tabs of a GtkNotebook, the handle of a GtkHandleBox or the label of a GtkScale.

Members

GTK_POS_LEFT

The feature is at the left edge.

 

GTK_POS_RIGHT

The feature is at the right edge.

 

GTK_POS_TOP

The feature is at the top edge.

 

GTK_POS_BOTTOM

The feature is at the bottom edge.

 

enum GtkScrollStep

Members

GTK_SCROLL_STEPS

Scroll in steps.

 

GTK_SCROLL_PAGES

Scroll by pages.

 

GTK_SCROLL_ENDS

Scroll to ends.

 

GTK_SCROLL_HORIZONTAL_STEPS

Scroll in horizontal steps.

 

GTK_SCROLL_HORIZONTAL_PAGES

Scroll by horizontal pages.

 

GTK_SCROLL_HORIZONTAL_ENDS

Scroll to the horizontal ends.

 

enum GtkScrollType

Scrolling types.

Members

GTK_SCROLL_NONE

No scrolling.

 

GTK_SCROLL_JUMP

Jump to new location.

 

GTK_SCROLL_STEP_BACKWARD

Step backward.

 

GTK_SCROLL_STEP_FORWARD

Step forward.

 

GTK_SCROLL_PAGE_BACKWARD

Page backward.

 

GTK_SCROLL_PAGE_FORWARD

Page forward.

 

GTK_SCROLL_STEP_UP

Step up.

 

GTK_SCROLL_STEP_DOWN

Step down.

 

GTK_SCROLL_PAGE_UP

Page up.

 

GTK_SCROLL_PAGE_DOWN

Page down.

 

GTK_SCROLL_STEP_LEFT

Step to the left.

 

GTK_SCROLL_STEP_RIGHT

Step to the right.

 

GTK_SCROLL_PAGE_LEFT

Page to the left.

 

GTK_SCROLL_PAGE_RIGHT

Page to the right.

 

GTK_SCROLL_START

Scroll to start.

 

GTK_SCROLL_END

Scroll to end.

 

enum GtkSelectionMode

Used to control what selections users are allowed to make.

Members

GTK_SELECTION_NONE

No selection is possible.

 

GTK_SELECTION_SINGLE

Zero or one element may be selected.

 

GTK_SELECTION_BROWSE

Exactly one element is selected. In some circumstances, such as initially or during a search operation, it’s possible for no element to be selected with GTK_SELECTION_BROWSE. What is really enforced is that the user can’t deselect a currently selected element except by selecting another element.

 

GTK_SELECTION_MULTIPLE

Any number of elements may be selected. The Ctrl key may be used to enlarge the selection, and Shift key to select between the focus and the child pointed to. Some widgets may also allow Click-drag to select a range of elements.

 

enum GtkStateFlags

Describes a widget state. Widget states are used to match the widget against CSS pseudo-classes. Note that GTK extends the regular CSS classes and sometimes uses different names.

Members

GTK_STATE_FLAG_NORMAL

State during normal operation

 

GTK_STATE_FLAG_ACTIVE

Widget is active

 

GTK_STATE_FLAG_PRELIGHT

Widget has a mouse pointer over it

 

GTK_STATE_FLAG_SELECTED

Widget is selected

 

GTK_STATE_FLAG_INSENSITIVE

Widget is insensitive

 

GTK_STATE_FLAG_INCONSISTENT

Widget is inconsistent

 

GTK_STATE_FLAG_FOCUSED

Widget has the keyboard focus

 

GTK_STATE_FLAG_BACKDROP

Widget is in a background toplevel window

 

GTK_STATE_FLAG_DIR_LTR

Widget is in left-to-right text direction

 

GTK_STATE_FLAG_DIR_RTL

Widget is in right-to-left text direction

 

GTK_STATE_FLAG_LINK

Widget is a link

 

GTK_STATE_FLAG_VISITED

The location the widget points to has already been visited

 

GTK_STATE_FLAG_CHECKED

Widget is checked

 

GTK_STATE_FLAG_DROP_ACTIVE

Widget is highlighted as a drop target for DND

 

GTK_STATE_FLAG_FOCUS_VISIBLE

Widget has the visible focus

 

GTK_STATE_FLAG_FOCUS_WITHIN

Widget contains the keyboard focus

 

enum GtkSortType

Determines the direction of a sort.

Members

GTK_SORT_ASCENDING

Sorting is in ascending order.

 

GTK_SORT_DESCENDING

Sorting is in descending order.

 

enum GtkIconSize

Built-in icon sizes.

Icon sizes default to being inherited. Where they cannot be inherited, text size is the default.

All widgets which use GtkIconSize set the normal-icons or large-icons style classes correspondingly, and let themes determine the actual size to be used with the -gtk-icon-size CSS property.

Members

GTK_ICON_SIZE_INHERIT

Keep the size of the parent element

 

GTK_ICON_SIZE_NORMAL

Size similar to text size

 

GTK_ICON_SIZE_LARGE

Large size, for example in an icon view

 
docs/reference/gtk/html/gtk4-Testing.html0000664000175000017500000002265413710700534020510 0ustar mclasenmclasen Testing: GTK 4 Reference Manual

Testing

Testing — Utilities for testing GTK+ applications

Includes

#include <gtk/gtk.h>

Description

Functions

gtk_test_init ()

void
gtk_test_init (int *argcp,
               char ***argvp,
               ...);

This function is used to initialize a GTK+ test program.

It will in turn call g_test_init() and gtk_init() to properly initialize the testing framework and graphical toolkit. It’ll also set the program’s locale to “C”. This is done to make test program environments as deterministic as possible.

Like gtk_init() and g_test_init(), any known arguments will be processed and stripped from argc and argv .

Parameters

argcp

Address of the argc parameter of the main() function. Changed if any arguments were handled.

 

argvp

Address of the argv parameter of main(). Any parameters understood by g_test_init() or gtk_init() are stripped before return.

[inout][array length=argcp]

...

currently unused

 

gtk_test_list_all_types ()

const GType *
gtk_test_list_all_types (guint *n_types);

Return the type ids that have been registered after calling gtk_test_register_all_types().

Parameters

n_types

location to store number of types

 

Returns

0-terminated array of type ids.

[array length=n_types zero-terminated=1][transfer none]


gtk_test_register_all_types ()

void
gtk_test_register_all_types (void);

Force registration of all core Gtk+ and Gdk object types. This allowes to refer to any of those object types via g_type_from_name() after calling this function.


gtk_test_widget_wait_for_draw ()

void
gtk_test_widget_wait_for_draw (GtkWidget *widget);

Enters the main loop and waits for widget to be “drawn”. In this context that means it waits for the frame clock of widget to have run a full styling, layout and drawing cycle.

This function is intended to be used for syncing with actions that depend on widget relayouting or on interaction with the display server.

Parameters

widget

the widget to wait for

 
docs/reference/gtk/html/gtk4-Filesystem-utilities.html0000664000175000017500000007062113710700534023225 0ustar mclasenmclasen Filesystem utilities: GTK 4 Reference Manual

Filesystem utilities

Filesystem utilities — Functions for working with GIO

Properties

GdkDisplay * display Read / Write
gboolean is-showing Read
GtkWindow * parent Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GMountOperation
        ╰── GtkMountOperation

Includes

#include <gtk/gtk.h>

Description

The functions and objects described here make working with GTK+ and GIO more convenient.

GtkMountOperation is needed when mounting volumes: It is an implementation of GMountOperation that can be used with GIO functions for mounting volumes such as g_file_mount_enclosing_volume(), g_file_mount_mountable(), g_volume_mount(), g_mount_unmount_with_operation() and others.

When necessary, GtkMountOperation shows dialogs to ask for passwords, questions or show processes blocking unmount.

gtk_show_uri_on_window() is a convenient way to launch applications for URIs.

Another object that is worth mentioning in this context is GdkAppLaunchContext, which provides visual feedback when lauching applications.

Functions

gtk_mount_operation_new ()

GMountOperation *
gtk_mount_operation_new (GtkWindow *parent);

Creates a new GtkMountOperation

Parameters

parent

transient parent of the window, or NULL.

[allow-none]

Returns

a new GtkMountOperation


gtk_mount_operation_is_showing ()

gboolean
gtk_mount_operation_is_showing (GtkMountOperation *op);

Returns whether the GtkMountOperation is currently displaying a window.

Parameters

Returns

TRUE if op is currently displaying a window


gtk_mount_operation_set_parent ()

void
gtk_mount_operation_set_parent (GtkMountOperation *op,
                                GtkWindow *parent);

Sets the transient parent for windows shown by the GtkMountOperation.

Parameters

op

a GtkMountOperation

 

parent

transient parent of the window, or NULL.

[allow-none]

gtk_mount_operation_get_parent ()

GtkWindow *
gtk_mount_operation_get_parent (GtkMountOperation *op);

Gets the transient parent used by the GtkMountOperation

Parameters

Returns

the transient parent for windows shown by op .

[transfer none]


gtk_mount_operation_set_display ()

void
gtk_mount_operation_set_display (GtkMountOperation *op,
                                 GdkDisplay *display);

Sets the display to show windows of the GtkMountOperation on.

Parameters

op

a GtkMountOperation

 

display

a GdkDisplay

 

gtk_mount_operation_get_display ()

GdkDisplay *
gtk_mount_operation_get_display (GtkMountOperation *op);

Gets the display on which windows of the GtkMountOperation will be shown.

Parameters

Returns

the display on which windows of op are shown.

[transfer none]


gtk_show_uri_full ()

void
gtk_show_uri_full (GtkWindow *parent,
                   const char *uri,
                   guint32 timestamp,
                   GCancellable *cancellable,
                   GAsyncReadyCallback callback,
                   gpointer user_data);

This function launches the default application for showing a given uri.

The uri must be of a form understood by GIO (i.e. you need to install gvfs to get support for uri schemes such as http:// or ftp://, as only local files are handled by GIO itself). Typical examples are

  • file:///home/gnome/pict.jpg

  • http://www.gnome.org

  • mailto:me@gnome.org

The callback will be called when the launch is completed. It should call gtk_show_uri_full_finish() to obtain the result.

This is the recommended call to be used as it passes information necessary for sandbox helpers to parent their dialogs properly.

Parameters

parent

parent window.

[nullable]

uri

the uri to show

 

timestamp

timestamp from the event that triggered this call, or GDK_CURRENT_TIME

 

cancellable

a GCancellable to cancel the launch.

[nullable]

callback

a callback to call when the action is complete.

[scope async]

user_data

data to pass to callback .

[closure callback]

gtk_show_uri_full_finish ()

gboolean
gtk_show_uri_full_finish (GtkWindow *parent,
                          GAsyncResult *result,
                          GError **error);

Finished the gtk_show_uri() call and returns the result of the operation.

Parameters

parent

the GtkWindow passed to gtk_show_uri()

 

result

GAsyncResult that was passed to callback

 

error

return location for an error

 

Returns

TRUE if the URI was shown successfully. Otherwise, FALSE is returned and error is set


gtk_show_uri ()

void
gtk_show_uri (GtkWindow *parent,
              const char *uri,
              guint32 timestamp);

This function launches the default application for showing a given uri, or shows an error dialog if that fails.

The uri must be of a form understood by GIO (i.e. you need to install gvfs to get support for uri schemes such as http:// or ftp://, as only local files are handled by GIO itself). Typical examples are

  • file:///home/gnome/pict.jpg

  • http://www.gnome.org

  • mailto:me@gnome.org

Parameters

parent

parent window.

[allow-none]

uri

the uri to show

 

timestamp

timestamp from the event that triggered this call, or GDK_CURRENT_TIME

 

Types and Values

struct GtkMountOperation

struct GtkMountOperation;

This should not be accessed directly. Use the accessor functions below.


struct GtkMountOperationClass

struct GtkMountOperationClass {
  GMountOperationClass parent_class;
};

Members

Property Details

The “display” property

  “display”                  GdkDisplay *

The display where this window will be displayed.

Owner: GtkMountOperation

Flags: Read / Write


The “is-showing” property

  “is-showing”               gboolean

Are we showing a dialog.

Owner: GtkMountOperation

Flags: Read

Default value: FALSE


The “parent” property

  “parent”                   GtkWindow *

The parent window.

Owner: GtkMountOperation

Flags: Read / Write

docs/reference/gtk/html/pt07.html0000664000175000017500000000647613710700534017022 0ustar mclasenmclasen Part VII. GTK Tools: GTK 4 Reference Manual

Part VII. GTK Tools

Table of Contents

gtk4-demo — Demonstrate GTK widgets
gtk4-demo-application — Demonstrate GtkApplication
gtk4-widget-factory — Demonstrate GTK widgets
gtk4-icon-browser — List themed icons
gtk4-update-icon-cache — Icon theme caching utility
gtk4-encode-symbolic-svg — Symbolic icon conversion utility
gtk4-builder-tool — GtkBuilder file utility
gtk4-launch — Launch an application
gtk4-query-settings — Utility to print name and value of all GtkSettings properties
gtk4-broadwayd — Broadway display server
docs/reference/gtk/html/ch38s02.html0000664000175000017500000002123513710700534017310 0ustar mclasenmclasen Selectors: GTK 4 Reference Manual

Selectors

Selectors work very similar to the way they do on the web.

All widgets have one or more CSS nodes with element names and style classes. When style classes are used in selectors, they have to be prefixed with a period. Widget names can be used in selectors like IDs. When used in a selector, widget names must be prefixed with a # character.

GTK CSS Selectors

Pattern Reference Notes
* CSS Selector Level 3
E CSS Selector Level 3
E.class CSS Selector Level 3
E#id CSS Selector Level 3
E:nth-child(n) CSS Selector Level 3
E:nth-last-child(n) CSS Selector Level 3
E:first-child CSS Selector Level 3
E:last-child CSS Selector Level 3
E:only-child CSS Selector Level 3
E:link, E:visited CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_LINK and GTK_STATE_FLAGS_VISITED
E:active, E:hover, E:focus CSS Selector Level 3 Correspond to GTK_STATE_FLAG_ACTIVE, GTK_STATE_FLAG_PRELIGHT, GTK_STATE_FLAGS_FOCUSED
E:focus-within CSS Selector Level 4 Set on all ancestors of the focus widget, unlike CSS
E:focus-visible CSS Selector Level 4 Set on focus widget and all ancestors, unlike CSS
E:disabled CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_INSENSITIVE
E:disabled CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_CHECKED
E:indeterminate CSS Selector Level 3 Corresponds to GTK_STATE_FLAG_INCONSISTENT
E:backdrop, E:selected Corresponds to GTK_STATE_FLAG_BACKDROP, GTK_STATE_FLAG_SELECTED
E:not(selector) CSS Selector Level 3
E:dir(ltr), E:dir(rtl) CSS Selector Level 4
E:drop(active) CSS Selector Level 4
E F CSS Selector Level 3
E > F CSS Selector Level 3
E ~ F CSS Selector Level 3
E + F CSS Selector Level 3
docs/reference/gtk/html/gtk.html0000664000175000017500000001677313710700534017016 0ustar mclasenmclasen Part I. Introduction: GTK 4 Reference Manual

Part I. Introduction

GTK is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and OS X. GTK is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. GTK has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for many other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel. The GTK library itself contains widgets, that is, GUI components such as GtkButton or GtkTextView.

GTK depends on the following libraries:

GLib

A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.

GObject

A library that provides a type system, a collection of fundamental types including an object type, a signal system.

GIO

A modern, easy-to-use VFS API including abstractions for files, drives, volumes, stream IO, as well as network programming and DBus communication.

cairo

Cairo is a 2D graphics library with support for multiple output devices.

Pango

Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text.

GdkPixbuf

This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images.

graphene

This is a small library which provides vector and matrix datatypes and operations. graphene provides optimized implementations using various SIMD instruction sets such as SSE.

GDK

GDK is the abstraction layer that allows GTK to support multiple windowing systems. GDK provides window system facilities on Wayland, X11, Windows, and OS X.

GSK

GSK is a library for creating a scene graph from render nodes, and rendering it using different rendering APIs. GSK provides renderers for OpenGL, Vulkan and cairo.

docs/reference/gtk/html/ch39s02.html0000664000175000017500000000742013710700534017311 0ustar mclasenmclasen Colors: GTK 4 Reference Manual

Colors

GTK extends the CSS syntax with several additional ways to specify colors.

The first is a reference to a color defined via a define-color rule in CSS. The syntax for define-color rules is as follows:

define-color Name Color

To refer to the color defined by a define-color rule, prefix the name with @.

GTK also supports color expressions, which allow colors to be transformed to new ones. Color expressions can be nested, providing a rich language to define colors. Color expressions resemble functions, taking 1 or more colors and in some cases a number as arguments.

lighter(Color)

produces a brigher variant of Color

darker(Color)

produces a darker variant of Color

shade(Color, Number)

changes the lightness of Color. The number ranges from 0 for black to 2 for white.

alpha(Color, Number)

replaces the alpha value of color with number (between 0 and 1)

mix(Color1, Color2, Number)

interpolates between the two colors

docs/reference/gtk/html/ch39s03.html0000664000175000017500000000665313710700534017321 0ustar mclasenmclasen Images: GTK 4 Reference Manual

Images

GTK extends the CSS syntax for images and also uses it for specifying icons. To load a themed icon, use

-gtk-icontheme(Name)

The specified icon name is used to look up a themed icon, while taking into account the values of the -gtk-icon-palette property. This kind of image is mainly used as value of the -gtk-icon-source property.

Symbolic icons from the icon theme are recolored according to the -gtk-icon-palette property, which defines a list of named colors. The recognized names for colors in symbolic icons are error, warning and success. The default palette maps these three names to symbolic colors with the names error_color, warning_color and success_color respectively. The syntax for defining a custom palette is a comma-separated list of name-color pairs, e.g.

success blue, warning fc3, error magenta

Recoloring is sometimes needed for images that are not part of an icon theme, and the

-gtk-recolor(uri, palette)

syntax makes this available. -gtk-recolor requires a url as first argument. The remaining arguments specify the color palette to use. If the palette is not explicitly specified, the current value of the -gtk-icon-palette property is used.

GTK supports scaled rendering on hi-resolution displays. This works best if images can specify normal and hi-resolution variants. From CSS, this can be done with

-gtk-scaled(Image1, Image2)
docs/reference/gtk/html/ch39s04.html0000664000175000017500000007272013710700534017320 0ustar mclasenmclasen GTK CSS Properties: GTK 4 Reference Manual

GTK CSS Properties

Property Reference Notes
color CSS Color Level 3
opacity CSS Color Level 3
filter CSS Filter Effect Level 1
font-family CSS Fonts Level 3 defaults to gtk-font-name setting
font-size CSS Fonts Level 3 defaults to gtk-font-name setting
font-style CSS Fonts Level 3
font-variant CSS Fonts Level 3 only CSS2 values supported
font-weight CSS Fonts Level 3
font-stretch CSS Fonts Level 3
font-kerning CSS Fonts Level 3
font-variant-ligatures CSS Fonts Level 3
font-variant-position CSS Fonts Level 3
font-variant-caps CSS Fonts Level 3
font-variant-numeric CSS Fonts Level 3
font-variant-alternates CSS Fonts Level 3
font-variant-east-asian CSS Fonts Level 3
font-feature-settings CSS Fonts Level 3
font-variation-settings CSS Fonts Level 4
-gtk-dpi Number defaults to screen resolution
font CSS Fonts Level 3 CSS allows line-height, etc
font-variant CSS Fonts Level 3
caret-color CSS Basic User Interface Level 3 CSS allows an auto value
-gtk-secondary-caret-color Color used for the secondary caret in bidirectional text
letter-spacing CSS Text Level 3
text-decoration-line CSS Text Decoration Level 3 CSS allows overline
text-decoration-color CSS Text Decoration Level 3
text-decoration-style CSS Text Decoration Level 3 CSS allows dashed and dotted
text-shadow CSS Text Decoration Level 3
text-decoration CSS Text Decoration Level 3
-gtk-icon-source Image, builtin or none used for builtin icons in buttons and expanders
-gtk-icon-size Length size used for builtin icons in buttons and expanders
-gtk-icon-style requested, regular or symbolic preferred style for application-loaded icons
-gtk-icon-transform Transform list or none applied to builtin and application-loaded icons
-gtk-icon-palette Color palette, as explained above used to recolor symbolic icons
-gtk-icon-shadow Shadow or none applied to builtin and application-loaded icons
-gtk-icon-filter Filter value list or none applied to builtin and application-loaded icons
transform CSS Transforms Level 2
min-width CSS Box Model Level 3 CSS allows percentages
min-height CSS Box Model Level 3 CSS allows percentages
margin-top CSS Box Model Level 3 CSS allows percentages or auto
margin-right CSS Box Model Level 3 CSS allows percentages or auto
margin-bottom CSS Box Model Level 3 CSS allows percentages or auto
margin-left CSS Box Model Level 3 CSS allows percentages or auto
padding-top CSS Box Model Level 3 CSS allows percentages
padding-right CSS Box Model Level 3 CSS allows percentages
padding-bottom CSS Box Model Level 3 CSS allows percentages
padding-left CSS Box Model Level 3 CSS allows percentages
margin CSS Box Model Level 3 a four sides property
padding CSS Box Model Level 3 a four sides property
border-top-width CSS Backgrounds and Borders Level 3 CSS allows other values
border-right-width CSS Backgrounds and Borders Level 3 CSS allows other values
border-bottom-width CSS Backgrounds and Borders Level 3 CSS allows other values
border-left-width CSS Backgrounds and Borders Level 3 CSS allows other values
border-top-style CSS Backgrounds and Borders Level 3
border-right-style CSS Backgrounds and Borders Level 3
border-bottom-style CSS Backgrounds and Borders Level 3
border-left-style CSS Backgrounds and Borders Level 3
border-top-right-radius CSS Backgrounds and Borders Level 3
border-bottom-right-radius CSS Backgrounds and Borders Level 3
border-bottom-left-radius CSS Backgrounds and Borders Level 3
border-top-left-radius CSS Backgrounds and Borders Level 3
border-top-color CSS Backgrounds and Borders Level 3
border-right-color CSS Backgrounds and Borders Level 3
border-bottom-color CSS Backgrounds and Borders Level 3
border-left-color CSS Backgrounds and Borders Level 3
border-image-source CSS Backgrounds and Borders Level 3
border-image-repeat CSS Backgrounds and Borders Level 3
border-image-slice CSS Backgrounds and Borders Level 3 a four sides property
border-image-width CSS Backgrounds and Borders Level 3 a four sides property
border-width CSS Backgrounds and Borders Level 3 a four sides property
border-style CSS Backgrounds and Borders Level 3 a four sides property
border-color CSS Backgrounds and Borders Level 3 a four sides property
border-top CSS Backgrounds and Borders Level 3
border-right CSS Backgrounds and Borders Level 3
border-bottom CSS Backgrounds and Borders Level 3
border-left CSS Backgrounds and Borders Level 3
border CSS Backgrounds and Borders Level 3
border-radius CSS Backgrounds and Borders Level 3
border-image CSS Backgrounds and Borders Level 3
outline-style CSS Basic User Interface Level 3 initial value is none, auto is not supported
outline-width CSS Basic User Interface Level 3
outline-color CSS Basic User Interface Level 3 initial value is currentColor, invert is not supported
outline-offset CSS Basic User Interface Level 3
outline CSS Basic User Interface Level 3
background-color CSS Backgrounds and Borders Level 3
background-clip CSS Backgrounds and Borders Level 3
background-origin CSS Backgrounds and Borders Level 3
background-size CSS Backgrounds and Borders Level 3
background-position CSS Backgrounds and Borders Level 3
background-repeat CSS Backgrounds and Borders Level 3
background-image CSS Backgrounds and Borders Level 3 not supported: urls without quotes, colors in crossfades
box-shadow CSS Backgrounds and Borders Level 3
background-blend-mode CSS Compositing and Blending Level 1 only affects multiple backgrounds
background CSS Backgrounds and Borders Level 3
transition-property CSS Transitions
transition-duration CSS Transitions
transition-timing-function CSS Transitions
transition-delay CSS Transitions
transition CSS Transitions
animation-name CSS Animations Level 1
animation-duration CSS Animations Level 1
animation-timing-function CSS Animations Level 1
animation-iteration-count CSS Animations Level 1
animation-direction CSS Animations Level 1
animation-play-state CSS Animations Level 1
animation-delay CSS Animations Level 1
animation-fill-mode CSS Animations Level 1
animation CSS Animations Level 1
border-spacing CSS Table Level 3 respected by GtkBox and GtkGrid
docs/reference/gtk/html/ch39.html0000664000175000017500000001254713710700534016772 0ustar mclasenmclasen GTK CSS Properties: GTK 4 Reference Manual

GTK CSS Properties

GTK supports CSS properties and shorthands as far as they can be applied in the context of widgets, and adds its own properties only when needed. All GTK-specific properties have a -gtk prefix.

Basic types

All properties support the following keywords: inherit, initial, unset, with the same meaning as defined in the CSS Cascading and Inheritance spec.

The following units are supported for basic datatypes:

Length

px, pt, em, ex, rem, pc, in, cm, mm, calc()

Percentage

%, calc()

Angle

deg | grad | turn, calc()

Time

s | ms, calc()

Length values with the em or ex units are resolved using the font size value, unless they occur in setting the font-size itself, in which case they are resolved using the inherited font size value.

The rem unit is resolved using the initial font size value, which is not quite the same as the CSS definition of rem.

The calc() notation adds considerable expressive power. There are limits on what types can be combined in such an expression (e.g. it does not make sense to add a number and a time). For the full details, see the CSS3 VAlues and Units spec.

A common pattern among shorthand properties (called four sides) is one where one to four values can be specified, to determine a value for each side of an area. In this case, the specified values are interpreted as follows:

4 values:

top right bottom left

3 values:

top horizontal bottom

2 values:

vertical horizontal

1 value:

all

docs/reference/gtk/html/GtkStyleContext.html0000664000175000017500000043245413710700534021342 0ustar mclasenmclasen GtkStyleContext: GTK 4 Reference Manual

GtkStyleContext

GtkStyleContext — Rendering UI elements

Properties

GdkDisplay * display Read / Write

Types and Values

enum GtkBorderStyle
#define GTK_STYLE_CLASS_ACCELERATOR
#define GTK_STYLE_CLASS_ARROW
#define GTK_STYLE_CLASS_BACKGROUND
#define GTK_STYLE_CLASS_BOTTOM
#define GTK_STYLE_CLASS_BUTTON
#define GTK_STYLE_CLASS_CALENDAR
#define GTK_STYLE_CLASS_CELL
#define GTK_STYLE_CLASS_COMBOBOX_ENTRY
#define GTK_STYLE_CLASS_CONTEXT_MENU
#define GTK_STYLE_CLASS_CHECK
#define GTK_STYLE_CLASS_CSD
#define GTK_STYLE_CLASS_CURSOR_HANDLE
#define GTK_STYLE_CLASS_DEFAULT
#define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION
#define GTK_STYLE_CLASS_DIM_LABEL
#define GTK_STYLE_CLASS_DND
#define GTK_STYLE_CLASS_DOCK
#define GTK_STYLE_CLASS_ENTRY
#define GTK_STYLE_CLASS_ERROR
#define GTK_STYLE_CLASS_EXPANDER
#define GTK_STYLE_CLASS_FRAME
#define GTK_STYLE_CLASS_FLAT
#define GTK_STYLE_CLASS_HEADER
#define GTK_STYLE_CLASS_HIGHLIGHT
#define GTK_STYLE_CLASS_HORIZONTAL
#define GTK_STYLE_CLASS_IMAGE
#define GTK_STYLE_CLASS_INFO
#define GTK_STYLE_CLASS_INSERTION_CURSOR
#define GTK_STYLE_CLASS_LABEL
#define GTK_STYLE_CLASS_LEFT
#define GTK_STYLE_CLASS_LEVEL_BAR
#define GTK_STYLE_CLASS_LINKED
#define GTK_STYLE_CLASS_LIST
#define GTK_STYLE_CLASS_LIST_ROW
#define GTK_STYLE_CLASS_MARK
#define GTK_STYLE_CLASS_MENU
#define GTK_STYLE_CLASS_MENUBAR
#define GTK_STYLE_CLASS_MENUITEM
#define GTK_STYLE_CLASS_MESSAGE_DIALOG
#define GTK_STYLE_CLASS_MONOSPACE
#define GTK_STYLE_CLASS_NEEDS_ATTENTION
#define GTK_STYLE_CLASS_NOTEBOOK
#define GTK_STYLE_CLASS_OSD
#define GTK_STYLE_CLASS_OVERSHOOT
#define GTK_STYLE_CLASS_PANE_SEPARATOR
#define GTK_STYLE_CLASS_PAPER
#define GTK_STYLE_CLASS_POPUP
#define GTK_STYLE_CLASS_POPOVER
#define GTK_STYLE_CLASS_PROGRESSBAR
#define GTK_STYLE_CLASS_PULSE
#define GTK_STYLE_CLASS_QUESTION
#define GTK_STYLE_CLASS_RADIO
#define GTK_STYLE_CLASS_RAISED
#define GTK_STYLE_CLASS_READ_ONLY
#define GTK_STYLE_CLASS_RIGHT
#define GTK_STYLE_CLASS_RUBBERBAND
#define GTK_STYLE_CLASS_SCALE
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW
#define GTK_STYLE_CLASS_SCROLLBAR
#define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION
#define GTK_STYLE_CLASS_SEPARATOR
#define GTK_STYLE_CLASS_SIDEBAR
#define GTK_STYLE_CLASS_SLIDER
#define GTK_STYLE_CLASS_SPINBUTTON
#define GTK_STYLE_CLASS_SPINNER
#define GTK_STYLE_CLASS_STATUSBAR
#define GTK_STYLE_CLASS_SUBTITLE
#define GTK_STYLE_CLASS_SUGGESTED_ACTION
#define GTK_STYLE_CLASS_TITLE
#define GTK_STYLE_CLASS_TITLEBAR
#define GTK_STYLE_CLASS_TOOLBAR
#define GTK_STYLE_CLASS_TOOLTIP
#define GTK_STYLE_CLASS_TOUCH_SELECTION
#define GTK_STYLE_CLASS_TOP
#define GTK_STYLE_CLASS_TROUGH
#define GTK_STYLE_CLASS_UNDERSHOOT
#define GTK_STYLE_CLASS_VERTICAL
#define GTK_STYLE_CLASS_VIEW
#define GTK_STYLE_CLASS_WARNING
#define GTK_STYLE_CLASS_WIDE
  GtkStyleContext
enum GtkStyleContextPrintFlags
struct GtkBorder

Object Hierarchy

    GObject
    ╰── GtkStyleContext

Includes

#include <gtk/gtk.h>

Description

GtkStyleContext is an object that stores styling information affecting a widget.

In order to construct the final style information, GtkStyleContext queries information from all attached GtkStyleProviders. Style providers can be either attached explicitly to the context through gtk_style_context_add_provider(), or to the display through gtk_style_context_add_provider_for_display(). The resulting style is a combination of all providers’ information in priority order.

For GTK+ widgets, any GtkStyleContext returned by gtk_widget_get_style_context() will already have a GdkDisplay and RTL/LTR information set. The style context will also be updated automatically if any of these settings change on the widget.

Style Classes

Widgets can add style classes to their context, which can be used to associate different styles by class. The documentation for individual widgets lists which style classes it uses itself, and which style classes may be added by applications to affect their appearance.

GTK+ defines macros for a number of style classes.


Custom styling in UI libraries and applications

If you are developing a library with custom GtkWidgets that render differently than standard components, you may need to add a GtkStyleProvider yourself with the GTK_STYLE_PROVIDER_PRIORITY_FALLBACK priority, either a GtkCssProvider or a custom object implementing the GtkStyleProvider interface. This way themes may still attempt to style your UI elements in a different way if needed so.

If you are using custom styling on an applications, you probably want then to make your style information prevail to the theme’s, so you must use a GtkStyleProvider with the GTK_STYLE_PROVIDER_PRIORITY_APPLICATION priority, keep in mind that the user settings in XDG_CONFIG_HOME/gtk-4.0/gtk.css will still take precedence over your changes, as it uses the GTK_STYLE_PROVIDER_PRIORITY_USER priority.

Functions

gtk_style_context_add_provider ()

void
gtk_style_context_add_provider (GtkStyleContext *context,
                                GtkStyleProvider *provider,
                                guint priority);

Adds a style provider to context , to be used in style construction. Note that a style provider added by this function only affects the style of the widget to which context belongs. If you want to affect the style of all widgets, use gtk_style_context_add_provider_for_display().

Note: If both priorities are the same, a GtkStyleProvider added through this function takes precedence over another added through gtk_style_context_add_provider_for_display().

Parameters

context

a GtkStyleContext

 

provider

a GtkStyleProvider

 

priority

the priority of the style provider. The lower it is, the earlier it will be used in the style construction. Typically this will be in the range between GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and GTK_STYLE_PROVIDER_PRIORITY_USER

 

gtk_style_context_add_provider_for_display ()

void
gtk_style_context_add_provider_for_display
                               (GdkDisplay *display,
                                GtkStyleProvider *provider,
                                guint priority);

Adds a global style provider to display , which will be used in style construction for all GtkStyleContexts under display .

GTK+ uses this to make styling information from GtkSettings available.

Note: If both priorities are the same, A GtkStyleProvider added through gtk_style_context_add_provider() takes precedence over another added through this function.

Parameters

display

a GdkDisplay

 

provider

a GtkStyleProvider

 

priority

the priority of the style provider. The lower it is, the earlier it will be used in the style construction. Typically this will be in the range between GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and GTK_STYLE_PROVIDER_PRIORITY_USER

 

gtk_style_context_get_display ()

GdkDisplay *
gtk_style_context_get_display (GtkStyleContext *context);

Returns the GdkDisplay to which context is attached.

Parameters

context

a GtkStyleContext

 

Returns

a GdkDisplay.

[transfer none]


gtk_style_context_get_state ()

GtkStateFlags
gtk_style_context_get_state (GtkStyleContext *context);

Returns the state used for style matching.

This method should only be used to retrieve the GtkStateFlags to pass to GtkStyleContext methods, like gtk_style_context_get_padding(). If you need to retrieve the current state of a GtkWidget, use gtk_widget_get_state_flags().

Parameters

context

a GtkStyleContext

 

Returns

the state flags


gtk_style_context_get_color ()

void
gtk_style_context_get_color (GtkStyleContext *context,
                             GdkRGBA *color);

Gets the foreground color for a given state.

See gtk_style_context_get_property() and GTK_STYLE_PROPERTY_COLOR for details.

Parameters

context

a GtkStyleContext

 

color

return value for the foreground color.

[out]

gtk_style_context_get_border ()

void
gtk_style_context_get_border (GtkStyleContext *context,
                              GtkBorder *border);

Gets the border for a given state as a GtkBorder.

See gtk_style_context_get_property() and GTK_STYLE_PROPERTY_BORDER_WIDTH for details.

Parameters

context

a GtkStyleContext

 

border

return value for the border settings.

[out]

gtk_style_context_get_padding ()

void
gtk_style_context_get_padding (GtkStyleContext *context,
                               GtkBorder *padding);

Gets the padding for a given state as a GtkBorder. See gtk_style_context_get() and GTK_STYLE_PROPERTY_PADDING for details.

Parameters

context

a GtkStyleContext

 

padding

return value for the padding settings.

[out]

gtk_style_context_get_margin ()

void
gtk_style_context_get_margin (GtkStyleContext *context,
                              GtkBorder *margin);

Gets the margin for a given state as a GtkBorder. See gtk_style_property_get() and GTK_STYLE_PROPERTY_MARGIN for details.

Parameters

context

a GtkStyleContext

 

margin

return value for the margin settings.

[out]

gtk_style_context_lookup_color ()

gboolean
gtk_style_context_lookup_color (GtkStyleContext *context,
                                const char *color_name,
                                GdkRGBA *color);

Looks up and resolves a color name in the context color map.

Parameters

context

a GtkStyleContext

 

color_name

color name to lookup

 

color

Return location for the looked up color.

[out]

Returns

TRUE if color_name was found and resolved, FALSE otherwise


gtk_style_context_remove_provider ()

void
gtk_style_context_remove_provider (GtkStyleContext *context,
                                   GtkStyleProvider *provider);

Removes provider from the style providers list in context .

Parameters

context

a GtkStyleContext

 

provider

a GtkStyleProvider

 

gtk_style_context_remove_provider_for_display ()

void
gtk_style_context_remove_provider_for_display
                               (GdkDisplay *display,
                                GtkStyleProvider *provider);

Removes provider from the global style providers list in display .

Parameters

display

a GdkDisplay

 

provider

a GtkStyleProvider

 

gtk_style_context_restore ()

void
gtk_style_context_restore (GtkStyleContext *context);

Restores context state to a previous stage. See gtk_style_context_save().

Parameters

context

a GtkStyleContext

 

gtk_style_context_save ()

void
gtk_style_context_save (GtkStyleContext *context);

Saves the context state, so temporary modifications done through gtk_style_context_add_class(), gtk_style_context_remove_class(), gtk_style_context_set_state(), etc. can quickly be reverted in one go through gtk_style_context_restore().

The matching call to gtk_style_context_restore() must be done before GTK returns to the main loop.

Parameters

context

a GtkStyleContext

 

gtk_style_context_add_class ()

void
gtk_style_context_add_class (GtkStyleContext *context,
                             const char *class_name);

Adds a style class to context , so posterior calls to gtk_style_context_get() or any of the gtk_render_*() functions will make use of this new class for styling.

In the CSS file format, a GtkEntry defining a “search” class, would be matched by:

1
entry.search { ... }

While any widget defining a “search” class would be matched by:

1
.search { ... }

Parameters

context

a GtkStyleContext

 

class_name

class name to use in styling

 

gtk_style_context_remove_class ()

void
gtk_style_context_remove_class (GtkStyleContext *context,
                                const char *class_name);

Removes class_name from context .

Parameters

context

a GtkStyleContext

 

class_name

class name to remove

 

gtk_style_context_has_class ()

gboolean
gtk_style_context_has_class (GtkStyleContext *context,
                             const char *class_name);

Returns TRUE if context currently has defined the given class name.

Parameters

context

a GtkStyleContext

 

class_name

a class name

 

Returns

TRUE if context has class_name defined


gtk_style_context_set_display ()

void
gtk_style_context_set_display (GtkStyleContext *context,
                               GdkDisplay *display);

Attaches context to the given display.

The display is used to add style information from “global” style providers, such as the display's GtkSettings instance.

If you are using a GtkStyleContext returned from gtk_widget_get_style_context(), you do not need to call this yourself.

Parameters

context

a GtkStyleContext

 

display

a GdkDisplay

 

gtk_style_context_set_state ()

void
gtk_style_context_set_state (GtkStyleContext *context,
                             GtkStateFlags flags);

Sets the state to be used for style matching.

Parameters

context

a GtkStyleContext

 

flags

state to represent

 

gtk_style_context_set_scale ()

void
gtk_style_context_set_scale (GtkStyleContext *context,
                             int scale);

Sets the scale to use when getting image assets for the style.

Parameters

context

a GtkStyleContext

 

scale

scale

 

gtk_style_context_get_scale ()

int
gtk_style_context_get_scale (GtkStyleContext *context);

Returns the scale used for assets.

Parameters

context

a GtkStyleContext

 

Returns

the scale


gtk_style_context_to_string ()

char *
gtk_style_context_to_string (GtkStyleContext *context,
                             GtkStyleContextPrintFlags flags);

Converts the style context into a string representation.

The string representation always includes information about the name, state, id, visibility and style classes of the CSS node that is backing context . Depending on the flags, more information may be included.

This function is intended for testing and debugging of the CSS implementation in GTK+. There are no guarantees about the format of the returned string, it may change.

Parameters

context

a GtkStyleContext

 

flags

Flags that determine what to print

 

Returns

a newly allocated string representing context


gtk_border_new ()

GtkBorder *
gtk_border_new (void);

Allocates a new GtkBorder and initializes its elements to zero.

Returns

a newly allocated GtkBorder. Free with gtk_border_free().

[transfer full]


gtk_border_copy ()

GtkBorder *
gtk_border_copy (const GtkBorder *border_);

Copies a GtkBorder.

Parameters

border_

a GtkBorder

 

Returns

a copy of border_ .

[transfer full]


gtk_border_free ()

void
gtk_border_free (GtkBorder *border_);

Frees a GtkBorder.

Parameters

border_

a GtkBorder

 

gtk_render_arrow ()

void
gtk_render_arrow (GtkStyleContext *context,
                  cairo_t *cr,
                  double angle,
                  double x,
                  double y,
                  double size);

Renders an arrow pointing to angle .

Typical arrow rendering at 0, 1⁄2 π;, π; and 3⁄2 π:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

angle

arrow angle from 0 to 2 * G_PI, being 0 the arrow pointing to the north

 

x

X origin of the render area

 

y

Y origin of the render area

 

size

square side for render area

 

gtk_render_background ()

void
gtk_render_background (GtkStyleContext *context,
                       cairo_t *cr,
                       double x,
                       double y,
                       double width,
                       double height);

Renders the background of an element.

Typical background rendering, showing the effect of background-image, border-width and border-radius:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_check ()

void
gtk_render_check (GtkStyleContext *context,
                  cairo_t *cr,
                  double x,
                  double y,
                  double width,
                  double height);

Renders a checkmark (as in a GtkCheckButton).

The GTK_STATE_FLAG_CHECKED state determines whether the check is on or off, and GTK_STATE_FLAG_INCONSISTENT determines whether it should be marked as undefined.

Typical checkmark rendering:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_expander ()

void
gtk_render_expander (GtkStyleContext *context,
                     cairo_t *cr,
                     double x,
                     double y,
                     double width,
                     double height);

Renders an expander (as used in GtkTreeView and GtkExpander) in the area defined by x , y , width , height . The state GTK_STATE_FLAG_CHECKED determines whether the expander is collapsed or expanded.

Typical expander rendering:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_focus ()

void
gtk_render_focus (GtkStyleContext *context,
                  cairo_t *cr,
                  double x,
                  double y,
                  double width,
                  double height);

Renders a focus indicator on the rectangle determined by x , y , width , height .

Typical focus rendering:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_frame ()

void
gtk_render_frame (GtkStyleContext *context,
                  cairo_t *cr,
                  double x,
                  double y,
                  double width,
                  double height);

Renders a frame around the rectangle defined by x , y , width , height .

Examples of frame rendering, showing the effect of border-image, border-color, border-width, border-radius and junctions:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_handle ()

void
gtk_render_handle (GtkStyleContext *context,
                   cairo_t *cr,
                   double x,
                   double y,
                   double width,
                   double height);

Renders a handle (as in GtkPaned and GtkWindow’s resize grip), in the rectangle determined by x , y , width , height .

Handles rendered for the paned and grip classes:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_layout ()

void
gtk_render_layout (GtkStyleContext *context,
                   cairo_t *cr,
                   double x,
                   double y,
                   PangoLayout *layout);

Renders layout on the coordinates x , y

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin

 

y

Y origin

 

layout

the PangoLayout to render

 

gtk_render_line ()

void
gtk_render_line (GtkStyleContext *context,
                 cairo_t *cr,
                 double x0,
                 double y0,
                 double x1,
                 double y1);

Renders a line from (x0, y0) to (x1, y1).

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x0

X coordinate for the origin of the line

 

y0

Y coordinate for the origin of the line

 

x1

X coordinate for the end of the line

 

y1

Y coordinate for the end of the line

 

gtk_render_option ()

void
gtk_render_option (GtkStyleContext *context,
                   cairo_t *cr,
                   double x,
                   double y,
                   double width,
                   double height);

Renders an option mark (as in a GtkRadioButton), the GTK_STATE_FLAG_CHECKED state will determine whether the option is on or off, and GTK_STATE_FLAG_INCONSISTENT whether it should be marked as undefined.

Typical option mark rendering:

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_activity ()

void
gtk_render_activity (GtkStyleContext *context,
                     cairo_t *cr,
                     double x,
                     double y,
                     double width,
                     double height);

Renders an activity indicator (such as in GtkSpinner). The state GTK_STATE_FLAG_CHECKED determines whether there is activity going on.

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin of the rectangle

 

y

Y origin of the rectangle

 

width

rectangle width

 

height

rectangle height

 

gtk_render_icon ()

void
gtk_render_icon (GtkStyleContext *context,
                 cairo_t *cr,
                 GdkTexture *texture,
                 double x,
                 double y);

Renders the icon in texture at the specified x and y coordinates.

This function will render the icon in texture at exactly its size, regardless of scaling factors, which may not be appropriate when drawing on displays with high pixel densities.

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

texture

a GdkTexture containing the icon to draw

 

x

X position for the texture

 

y

Y position for the texture

 

gtk_render_insertion_cursor ()

void
gtk_render_insertion_cursor (GtkStyleContext *context,
                             cairo_t *cr,
                             double x,
                             double y,
                             PangoLayout *layout,
                             int index,
                             PangoDirection direction);

Draws a text caret on cr at the specified index of layout .

Parameters

context

a GtkStyleContext

 

cr

a cairo_t

 

x

X origin

 

y

Y origin

 

layout

the PangoLayout of the text

 

index

the index in the PangoLayout

 

direction

the PangoDirection of the text

 

Types and Values

enum GtkBorderStyle

Describes how the border of a UI element should be rendered.

Members

GTK_BORDER_STYLE_NONE

No visible border

 

GTK_BORDER_STYLE_HIDDEN

Same as GTK_BORDER_STYLE_NONE

 

GTK_BORDER_STYLE_SOLID

A single line segment

 

GTK_BORDER_STYLE_INSET

Looks as if the content is sunken into the canvas

 

GTK_BORDER_STYLE_OUTSET

Looks as if the content is coming out of the canvas

 

GTK_BORDER_STYLE_DOTTED

A series of round dots

 

GTK_BORDER_STYLE_DASHED

A series of square-ended dashes

 

GTK_BORDER_STYLE_DOUBLE

Two parallel lines with some space between them

 

GTK_BORDER_STYLE_GROOVE

Looks as if it were carved in the canvas

 

GTK_BORDER_STYLE_RIDGE

Looks as if it were coming out of the canvas

 

GTK_STYLE_CLASS_ACCELERATOR

#define GTK_STYLE_CLASS_ACCELERATOR "accelerator"

A CSS class to match an accelerator.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_ARROW

#define GTK_STYLE_CLASS_ARROW "arrow"

A CSS class used when rendering an arrow element.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_BACKGROUND

#define GTK_STYLE_CLASS_BACKGROUND "background"

A CSS class to match the window background.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_BOTTOM

#define GTK_STYLE_CLASS_BOTTOM "bottom"

A CSS class to indicate an area at the bottom of a widget.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_BUTTON

#define GTK_STYLE_CLASS_BUTTON "button"

A CSS class to match buttons.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CALENDAR

#define GTK_STYLE_CLASS_CALENDAR "calendar"

A CSS class to match calendars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CELL

#define GTK_STYLE_CLASS_CELL "cell"

A CSS class to match content rendered in cell views.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_COMBOBOX_ENTRY

#define GTK_STYLE_CLASS_COMBOBOX_ENTRY "combobox-entry"

A CSS class to match combobox entries.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CONTEXT_MENU

#define GTK_STYLE_CLASS_CONTEXT_MENU "context-menu"

A CSS class to match context menus.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CHECK

#define GTK_STYLE_CLASS_CHECK "check"

A CSS class to match check boxes.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CSD

#define GTK_STYLE_CLASS_CSD "csd"

A CSS class that gets added to windows which have client-side decorations.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_CURSOR_HANDLE

#define GTK_STYLE_CLASS_CURSOR_HANDLE "cursor-handle"

A CSS class used when rendering a drag handle for text selection.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_DEFAULT

#define GTK_STYLE_CLASS_DEFAULT "default"

A CSS class to match the default widget.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_DESTRUCTIVE_ACTION

#define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action"

A CSS class used when an action (usually a button) is one that is expected to remove or destroy something visible to the user.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_DIM_LABEL

#define GTK_STYLE_CLASS_DIM_LABEL "dim-label"

A CSS class to match dimmed labels.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_DND

#define GTK_STYLE_CLASS_DND "dnd"

A CSS class for a drag-and-drop indicator.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_DOCK

#define GTK_STYLE_CLASS_DOCK "dock"

A CSS class defining a dock area.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_ENTRY

#define GTK_STYLE_CLASS_ENTRY "entry"

A CSS class to match text entries.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_ERROR

#define GTK_STYLE_CLASS_ERROR "error"

A CSS class for an area displaying an error message, such as those in infobars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_EXPANDER

#define GTK_STYLE_CLASS_EXPANDER "expander"

A CSS class defining an expander, such as those in treeviews.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_FRAME

#define GTK_STYLE_CLASS_FRAME "frame"

A CSS class defining a frame delimiting content, such as GtkFrame or the scrolled window frame around the scrollable area.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_FLAT

#define GTK_STYLE_CLASS_FLAT "flat"

A CSS class that is added when widgets that usually have a frame or border (like buttons or entries) should appear without it.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_HEADER

#define GTK_STYLE_CLASS_HEADER "header"

A CSS class to match a header element.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_HIGHLIGHT

#define GTK_STYLE_CLASS_HIGHLIGHT "highlight"

A CSS class defining a highlighted area, such as headings in assistants and calendars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_HORIZONTAL

#define GTK_STYLE_CLASS_HORIZONTAL "horizontal"

A CSS class for horizontally layered widgets.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_IMAGE

#define GTK_STYLE_CLASS_IMAGE "image"

A CSS class defining an image, such as the icon in an entry.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_INFO

#define GTK_STYLE_CLASS_INFO "info"

A CSS class for an area displaying an informational message, such as those in infobars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_INSERTION_CURSOR

#define GTK_STYLE_CLASS_INSERTION_CURSOR "insertion-cursor"

A CSS class used when rendering a drag handle for the insertion cursor position.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LABEL

#define GTK_STYLE_CLASS_LABEL "label"

A CSS class to match labels.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LEFT

#define GTK_STYLE_CLASS_LEFT "left"

A CSS class to indicate an area at the left of a widget.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LEVEL_BAR

#define GTK_STYLE_CLASS_LEVEL_BAR "level-bar"

A CSS class used when rendering a level indicator, such as a battery charge level, or a password strength.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LINKED

#define GTK_STYLE_CLASS_LINKED "linked"

A CSS class to match a linked area, such as a box containing buttons belonging to the same control.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LIST

#define GTK_STYLE_CLASS_LIST "list"

A CSS class to match lists.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_LIST_ROW

#define GTK_STYLE_CLASS_LIST_ROW "list-row"

A CSS class to match list rows.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MARK

#define GTK_STYLE_CLASS_MARK "mark"

A CSS class defining marks in a widget, such as in scales.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MENU

#define GTK_STYLE_CLASS_MENU "menu"

A CSS class to match menus.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MENUBAR

#define GTK_STYLE_CLASS_MENUBAR "menubar"

A CSS class to menubars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MENUITEM

#define GTK_STYLE_CLASS_MENUITEM "menuitem"

A CSS class to match menu items.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MESSAGE_DIALOG

#define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog"

A CSS class that is added to message dialogs.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_MONOSPACE

#define GTK_STYLE_CLASS_MONOSPACE "monospace"

A CSS class that is added to text view that should use a monospace font.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_NEEDS_ATTENTION

#define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention"

A CSS class used when an element needs the user attention, for instance a button in a stack switcher corresponding to a hidden page that changed state.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_NOTEBOOK

#define GTK_STYLE_CLASS_NOTEBOOK "notebook"

A CSS class defining a notebook.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_OSD

#define GTK_STYLE_CLASS_OSD "osd"

A CSS class used when rendering an OSD (On Screen Display) element, on top of another container.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_OVERSHOOT

#define GTK_STYLE_CLASS_OVERSHOOT "overshoot"

A CSS class that is added on the visual hints that happen when scrolling is attempted past the limits of a scrollable area.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_PANE_SEPARATOR

#define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator"

A CSS class for a pane separator, such as those in GtkPaned.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_PAPER

#define GTK_STYLE_CLASS_PAPER "paper"

A CSS class that is added to areas that should look like paper.

This is used in print previews and themes are encouraged to style it as black text on white background.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_POPUP

#define GTK_STYLE_CLASS_POPUP "popup"

A CSS class that is added to the toplevel windows used for menus.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_POPOVER

#define GTK_STYLE_CLASS_POPOVER "popover"

A CSS class that matches popovers.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_PROGRESSBAR

#define GTK_STYLE_CLASS_PROGRESSBAR "progressbar"

A CSS class to use when rendering activity as a progressbar.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_PULSE

#define GTK_STYLE_CLASS_PULSE "pulse"

A CSS class to use when rendering a pulse in an indeterminate progress bar.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_QUESTION

#define GTK_STYLE_CLASS_QUESTION "question"

A CSS class for an area displaying a question to the user, such as those in infobars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_RADIO

#define GTK_STYLE_CLASS_RADIO "radio"

A CSS class to match radio buttons.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_RAISED

#define GTK_STYLE_CLASS_RAISED "raised"

A CSS class to match a raised control, such as a raised button on a toolbar.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_READ_ONLY

#define GTK_STYLE_CLASS_READ_ONLY "read-only"

A CSS class used to indicate a read-only state.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_RIGHT

#define GTK_STYLE_CLASS_RIGHT "right"

A CSS class to indicate an area at the right of a widget.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_RUBBERBAND

#define GTK_STYLE_CLASS_RUBBERBAND "rubberband"

A CSS class to match the rubberband selection rectangle.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SCALE

#define GTK_STYLE_CLASS_SCALE "scale"

A CSS class to match scale widgets.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE

#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above"

A CSS class to match scale widgets with marks attached, all the marks are above for horizontal GtkScale. left for vertical GtkScale.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW

#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below"

A CSS class to match scale widgets with marks attached, all the marks are below for horizontal GtkScale, right for vertical GtkScale.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SCROLLBAR

#define GTK_STYLE_CLASS_SCROLLBAR "scrollbar"

A CSS class to match scrollbars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SCROLLBARS_JUNCTION

#define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION "scrollbars-junction"

A CSS class to match the junction area between a horizontal and vertical scrollbar, when they’re both shown.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SEPARATOR

#define GTK_STYLE_CLASS_SEPARATOR "separator"

A CSS class for a separator.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SIDEBAR

#define GTK_STYLE_CLASS_SIDEBAR "sidebar"

A CSS class defining a sidebar, such as the left side in a file chooser.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SLIDER

#define GTK_STYLE_CLASS_SLIDER "slider"

A CSS class to match sliders.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SPINBUTTON

#define GTK_STYLE_CLASS_SPINBUTTON "spinbutton"

A CSS class defining a spinbutton.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SPINNER

#define GTK_STYLE_CLASS_SPINNER "spinner"

A CSS class to use when rendering activity as a “spinner”.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_STATUSBAR

#define GTK_STYLE_CLASS_STATUSBAR "statusbar"

A CSS class to match statusbars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SUBTITLE

#define GTK_STYLE_CLASS_SUBTITLE "subtitle"

A CSS class used for the subtitle label in a titlebar in a toplevel window.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_SUGGESTED_ACTION

#define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action"

A CSS class used when an action (usually a button) is the primary suggested action in a specific context.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TITLE

#define GTK_STYLE_CLASS_TITLE "title"

A CSS class used for the title label in a titlebar in a toplevel window.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TITLEBAR

#define GTK_STYLE_CLASS_TITLEBAR "titlebar"

A CSS class used when rendering a titlebar in a toplevel window.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TOOLBAR

#define GTK_STYLE_CLASS_TOOLBAR "toolbar"

A CSS class to match toolbars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TOOLTIP

#define GTK_STYLE_CLASS_TOOLTIP "tooltip"

A CSS class to match tooltip windows.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TOUCH_SELECTION

#define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection"

A CSS class for touch selection popups on entries and text views.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TOP

#define GTK_STYLE_CLASS_TOP "top"

A CSS class to indicate an area at the top of a widget.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_TROUGH

#define GTK_STYLE_CLASS_TROUGH "trough"

A CSS class to match troughs, as in scrollbars and progressbars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_UNDERSHOOT

#define GTK_STYLE_CLASS_UNDERSHOOT "undershoot"

A CSS class that is added on the visual hints that happen where content is 'scrolled off' and can be made visible by scrolling.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_VERTICAL

#define GTK_STYLE_CLASS_VERTICAL "vertical"

A CSS class for vertically layered widgets.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_VIEW

#define GTK_STYLE_CLASS_VIEW "view"

A CSS class defining a view, such as iconviews or treeviews.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_WARNING

#define GTK_STYLE_CLASS_WARNING "warning"

A CSS class for an area displaying a warning message, such as those in infobars.

Refer to individual widget documentation for used style classes.


GTK_STYLE_CLASS_WIDE

#define GTK_STYLE_CLASS_WIDE "wide"

A CSS class to indicate that a UI element should be 'wide'. Used by GtkPaned.

Refer to individual widget documentation for used style classes.


GtkStyleContext

typedef struct _GtkStyleContext GtkStyleContext;

enum GtkStyleContextPrintFlags

Flags that modify the behavior of gtk_style_context_to_string(). New values may be added to this enumeration.

Members

GTK_STYLE_CONTEXT_PRINT_NONE

Default value.

 

GTK_STYLE_CONTEXT_PRINT_RECURSE

Print the entire tree of CSS nodes starting at the style context's node

 

GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE

Show the values of the CSS properties for each node

 

GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE

Show information about what changes affect the styles

 

struct GtkBorder

struct GtkBorder {
  gint16 left;
  gint16 right;
  gint16 top;
  gint16 bottom;
};

A struct that specifies a border around a rectangular area that can be of different width on each side.

Members

gint16 left;

The width of the left border

 

gint16 right;

The width of the right border

 

gint16 top;

The width of the top border

 

gint16 bottom;

The width of the bottom border

 

Property Details

The “display” property

  “display”                  GdkDisplay *

The associated GdkDisplay.

Owner: GtkStyleContext

Flags: Read / Write

docs/reference/gtk/html/GtkIMContext.html0000664000175000017500000017320613710700534020544 0ustar mclasenmclasen GtkIMContext: GTK 4 Reference Manual

GtkIMContext

GtkIMContext — Base class for input method contexts

Properties

Signals

void commit Run Last
gboolean delete-surrounding Run Last
void preedit-changed Run Last
void preedit-end Run Last
void preedit-start Run Last
gboolean retrieve-surrounding Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkIMContext
        ├── GtkIMContextSimple
        ╰── GtkIMMulticontext

Includes

#include <gtk/gtk.h>
#include <gtk/gtkimmodule.h>

Description

GtkIMContext defines the interface for GTK+ input methods. An input method is used by GTK+ text input widgets like GtkEntry to map from key events to Unicode character strings.

The default input method can be set programmatically via the “gtk-im-module” GtkSettings property. Alternatively, you may set the GTK_IM_MODULE environment variable as documented in Running GTK+ Applications.

The GtkEntry “im-module” and GtkTextView “im-module” properties may also be used to set input methods for specific widget instances. For instance, a certain entry widget might be expected to contain certain characters which would be easier to input with a certain input method.

An input method may consume multiple key events in sequence and finally output the composed result. This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text. For instance, the default GTK+ input method implements the input of arbitrary Unicode code points by holding down the Control and Shift keys and then typing “U” followed by the hexadecimal digits of the code point. When releasing the Control and Shift keys, preediting ends and the character is inserted as text. Ctrl+Shift+u20AC for example results in the € sign.

Additional input methods can be made available for use by GTK+ widgets as loadable modules. An input method module is a small shared library which implements a subclass of GtkIMContext or GtkIMContextSimple and exports these four functions:

1
void im_module_init(GTypeModule *module);

This function should register the GType of the GtkIMContext subclass which implements the input method by means of g_type_module_register_type(). Note that g_type_register_static() cannot be used as the type needs to be registered dynamically.

1
void im_module_exit(void);

Here goes any cleanup code your input method might require on module unload.

1
2
3
4
5
void im_module_list(const GtkIMContextInfo ***contexts, int *n_contexts)
{
  *contexts = info_list;
  *n_contexts = G_N_ELEMENTS (info_list);
}

This function returns the list of input methods provided by the module. The example implementation above shows a common solution and simply returns a pointer to statically defined array of GtkIMContextInfo items for each provided input method.

1
GtkIMContext * im_module_create(const char *context_id);

This function should return a pointer to a newly created instance of the GtkIMContext subclass identified by context_id . The context ID is the same as specified in the GtkIMContextInfo array returned by im_module_list().

After a new loadable input method module has been installed on the system, the configuration file gtk.immodules needs to be regenerated by gtk-query-immodules-3.0, in order for the new input method to become available to GTK+ applications.

Functions

gtk_im_context_get_preedit_string ()

void
gtk_im_context_get_preedit_string (GtkIMContext *context,
                                   char **str,
                                   PangoAttrList **attrs,
                                   int *cursor_pos);

Retrieve the current preedit string for the input context, and a list of attributes to apply to the string. This string should be displayed inserted at the insertion point.

Parameters

context

a GtkIMContext

 

str

location to store the retrieved string. The string retrieved must be freed with g_free().

[out][transfer full]

attrs

location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref().

[out][transfer full]

cursor_pos

location to store position of cursor (in characters) within the preedit string.

[out]

gtk_im_context_filter_keypress ()

gboolean
gtk_im_context_filter_keypress (GtkIMContext *context,
                                GdkEvent *event);

Allow an input method to internally handle key press and release events. If this function returns TRUE, then no further processing should be done for this key event.

Parameters

context

a GtkIMContext

 

event

the key event

 

Returns

TRUE if the input method handled the key event.


gtk_im_context_filter_key ()

gboolean
gtk_im_context_filter_key (GtkIMContext *context,
                           gboolean press,
                           GdkSurface *surface,
                           GdkDevice *device,
                           guint32 time,
                           guint keycode,
                           GdkModifierType state,
                           int group);

Allow an input method to forward key press and release events to another input method, without necessarily having a GdkEvent available.

Parameters

context

a GtkIMContext

 

press

whether to forward a key press or release event

 

surface

the surface the event is for

 

device

the device that the event is for

 

time

the timestamp for the event

 

keycode

the keycode for the event

 

state

modifier state for the event

 

group

the active keyboard group for the event

 

Returns

TRUE if the input method handled the key event.


gtk_im_context_focus_in ()

void
gtk_im_context_focus_in (GtkIMContext *context);

Notify the input method that the widget to which this input context corresponds has gained focus. The input method may, for example, change the displayed feedback to reflect this change.

Parameters

context

a GtkIMContext

 

gtk_im_context_focus_out ()

void
gtk_im_context_focus_out (GtkIMContext *context);

Notify the input method that the widget to which this input context corresponds has lost focus. The input method may, for example, change the displayed feedback or reset the contexts state to reflect this change.

Parameters

context

a GtkIMContext

 

gtk_im_context_reset ()

void
gtk_im_context_reset (GtkIMContext *context);

Notify the input method that a change such as a change in cursor position has been made. This will typically cause the input method to clear the preedit state.

Parameters

context

a GtkIMContext

 

gtk_im_context_set_client_widget ()

void
gtk_im_context_set_client_widget (GtkIMContext *context,
                                  GtkWidget *widget);

Set the client window for the input context; this is the GtkWidget holding the input focus. This widget is used in order to correctly position status windows, and may also be used for purposes internal to the input method.

Parameters

context

a GtkIMContext

 

widget

the client widget. This may be NULL to indicate that the previous client widget no longer exists.

[allow-none]

gtk_im_context_set_cursor_location ()

void
gtk_im_context_set_cursor_location (GtkIMContext *context,
                                    const GdkRectangle *area);

Notify the input method that a change in cursor position has been made. The location is relative to the client window.

Parameters

context

a GtkIMContext

 

area

new location

 

gtk_im_context_set_use_preedit ()

void
gtk_im_context_set_use_preedit (GtkIMContext *context,
                                gboolean use_preedit);

Sets whether the IM context should use the preedit string to display feedback. If use_preedit is FALSE (default is TRUE), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window.

Parameters

context

a GtkIMContext

 

use_preedit

whether the IM context should use the preedit string.

 

gtk_im_context_set_surrounding ()

void
gtk_im_context_set_surrounding (GtkIMContext *context,
                                const char *text,
                                int len,
                                int cursor_index);

Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the GtkIMContext::retrieve_surrounding signal, and will likely have no effect if called at other times.

Parameters

context

a GtkIMContext

 

text

text surrounding the insertion point, as UTF-8. the preedit string should not be included within text .

 

len

the length of text , or -1 if text is nul-terminated

 

cursor_index

the byte index of the insertion cursor within text .

 

gtk_im_context_get_surrounding ()

gboolean
gtk_im_context_get_surrounding (GtkIMContext *context,
                                char **text,
                                int *cursor_index);

Retrieves context around the insertion point. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.

This function is implemented by emitting the GtkIMContext::retrieve_surrounding signal on the input method; in response to this signal, a widget should provide as much context as is available, up to an entire paragraph, by calling gtk_im_context_set_surrounding(). Note that there is no obligation for a widget to respond to the ::retrieve_surrounding signal, so input methods must be prepared to function without context.

Parameters

context

a GtkIMContext

 

text

location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns TRUE, then you must free the result stored in this location with g_free().

[out][transfer full]

cursor_index

location to store byte index of the insertion cursor within text .

[out]

Returns

TRUE if surrounding text was provided; in this case you must free the result stored in *text.


gtk_im_context_delete_surrounding ()

gboolean
gtk_im_context_delete_surrounding (GtkIMContext *context,
                                   int offset,
                                   int n_chars);

Asks the widget that the input context is attached to delete characters around the cursor position by emitting the GtkIMContext::delete_surrounding signal. Note that offset and n_chars are in characters not in bytes which differs from the usage other places in GtkIMContext.

In order to use this function, you should first call gtk_im_context_get_surrounding() to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted.

This function is used by an input method that wants to make subsitutions in the existing text in response to new input. It is not useful for applications.

Parameters

context

a GtkIMContext

 

offset

offset from cursor position in chars; a negative value means start before the cursor.

 

n_chars

number of characters to delete.

 

Returns

TRUE if the signal was handled.

Types and Values

struct GtkIMContext

struct GtkIMContext;

struct GtkIMContextClass

struct GtkIMContextClass {
  /* Signals */
  void     (*preedit_start)        (GtkIMContext *context);
  void     (*preedit_end)          (GtkIMContext *context);
  void     (*preedit_changed)      (GtkIMContext *context);
  void     (*commit)               (GtkIMContext *context, const char *str);
  gboolean (*retrieve_surrounding) (GtkIMContext *context);
  gboolean (*delete_surrounding)   (GtkIMContext *context,
				    int           offset,
				    int           n_chars);

  /* Virtual functions */
  void     (*set_client_widget)   (GtkIMContext   *context,
				   GtkWidget      *widget);
  void     (*get_preedit_string)  (GtkIMContext   *context,
				   char          **str,
				   PangoAttrList **attrs,
				   int            *cursor_pos);
  gboolean (*filter_keypress)     (GtkIMContext   *context,
			           GdkEvent       *event);
  void     (*focus_in)            (GtkIMContext   *context);
  void     (*focus_out)           (GtkIMContext   *context);
  void     (*reset)               (GtkIMContext   *context);
  void     (*set_cursor_location) (GtkIMContext   *context,
				   GdkRectangle   *area);
  void     (*set_use_preedit)     (GtkIMContext   *context,
				   gboolean        use_preedit);
  void     (*set_surrounding)     (GtkIMContext   *context,
				   const char     *text,
				   int             len,
				   int             cursor_index);
  gboolean (*get_surrounding)     (GtkIMContext   *context,
				   char          **text,
				   int            *cursor_index);
};

Members

preedit_start ()

Default handler of the “preedit-start” signal.

 

preedit_end ()

Default handler of the “preedit-end” signal.

 

preedit_changed ()

Default handler of the “preedit-changed” signal.

 

commit ()

Default handler of the “commit” signal.

 

retrieve_surrounding ()

Default handler of the “retrieve-surrounding” signal.

 

delete_surrounding ()

Default handler of the “delete-surrounding” signal.

 

set_client_widget ()

Called via gtk_im_context_set_client_widget() when the input window where the entered text will appear changes. Override this to keep track of the current input window, for instance for the purpose of positioning a status display of your input method.

 

get_preedit_string ()

Called via gtk_im_context_get_preedit_string() to retrieve the text currently being preedited for display at the cursor position. Any input method which composes complex characters or any other compositions from multiple sequential key presses should override this method to provide feedback.

 

filter_keypress ()

Called via gtk_im_context_filter_keypress() on every key press or release event. Every non-trivial input method needs to override this in order to implement the mapping from key events to text. A return value of TRUE indicates to the caller that the event was consumed by the input method. In that case, the “commit” signal should be emitted upon completion of a key sequence to pass the resulting text back to the input widget. Alternatively, FALSE may be returned to indicate that the event wasn’t handled by the input method. If a builtin mapping exists for the key, it is used to produce a character.

 

focus_in ()

Called via gtk_im_context_focus_in() when the input widget has gained focus. May be overridden to keep track of the current focus.

 

focus_out ()

Called via gtk_im_context_focus_out() when the input widget has lost focus. May be overridden to keep track of the current focus.

 

reset ()

Called via gtk_im_context_reset() to signal a change such as a change in cursor position. An input method that implements preediting should override this method to clear the preedit state on reset.

 

set_cursor_location ()

Called via gtk_im_context_set_cursor_location() to inform the input method of the current cursor location relative to the client window. May be overridden to implement the display of popup windows at the cursor position.

 

set_use_preedit ()

Called via gtk_im_context_set_use_preedit() to control the use of the preedit string. Override this to display feedback by some other means if turned off.

 

set_surrounding ()

Called via gtk_im_context_set_surrounding() in response to signal “retrieve-surrounding” to update the input method’s idea of the context around the cursor. It is not necessary to override this method even with input methods which implement context-dependent behavior. The base implementation is sufficient for gtk_im_context_get_surrounding() to work.

 

get_surrounding ()

Called via gtk_im_context_get_surrounding() to update the context around the cursor location. It is not necessary to override this method even with input methods which implement context-dependent behavior. The base implementation emits “retrieve-surrounding” and records the context received by the subsequent invocation of get_surrounding .

 

Property Details

The “input-hints” property

  “input-hints”              GtkInputHints

Hints for the text field behaviour.

Owner: GtkIMContext

Flags: Read / Write


The “input-purpose” property

  “input-purpose”            GtkInputPurpose

Purpose of the text field.

Owner: GtkIMContext

Flags: Read / Write

Default value: GTK_INPUT_PURPOSE_FREE_FORM

Signal Details

The “commit” signal

void
user_function (GtkIMContext *context,
               gchar        *str,
               gpointer      user_data)

The ::commit signal is emitted when a complete input sequence has been entered by the user. This can be a single character immediately after a key press or the final result of preediting.

Parameters

context

the object on which the signal is emitted

 

str

the completed character(s) entered by the user

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “delete-surrounding” signal

gboolean
user_function (GtkIMContext *context,
               gint          offset,
               gint          n_chars,
               gpointer      user_data)

The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.

Parameters

context

the object on which the signal is emitted

 

offset

the character offset from the cursor position of the text to be deleted. A negative value indicates a position before the cursor.

 

n_chars

the number of characters to be deleted

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal was handled.

Flags: Run Last


The “preedit-changed” signal

void
user_function (GtkIMContext *context,
               gpointer      user_data)

The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed. It is also emitted at the end of a preedit sequence, in which case gtk_im_context_get_preedit_string() returns the empty string.

Parameters

context

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “preedit-end” signal

void
user_function (GtkIMContext *context,
               gpointer      user_data)

The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled.

Parameters

context

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “preedit-start” signal

void
user_function (GtkIMContext *context,
               gpointer      user_data)

The ::preedit-start signal is emitted when a new preediting sequence starts.

Parameters

context

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “retrieve-surrounding” signal

gboolean
user_function (GtkIMContext *context,
               gpointer      user_data)

The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor. The callback should set the input method surrounding context by calling the gtk_im_context_set_surrounding() method.

Parameters

context

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal was handled.

Flags: Run Last

docs/reference/gtk/html/GtkStyleProvider.html0000664000175000017500000002271513710700534021503 0ustar mclasenmclasen GtkStyleProvider: GTK 4 Reference Manual

GtkStyleProvider

GtkStyleProvider — Interface to provide style information to GtkStyleContext

Signals

void gtk-private-changed Run Last

Object Hierarchy

    GInterface
    ╰── GtkStyleProvider

Prerequisites

GtkStyleProvider requires GObject.

Known Implementations

GtkStyleProvider is implemented by GtkCssProvider and GtkSettings.

Includes

#include <gtk/gtk.h>

Description

GtkStyleProvider is an interface used to provide style information to a GtkStyleContext. See gtk_style_context_add_provider() and gtk_style_context_add_provider_for_display().

Functions

Types and Values

GtkStyleProvider

typedef struct _GtkStyleProvider GtkStyleProvider;

GTK_STYLE_PROVIDER_PRIORITY_FALLBACK

#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK      1

The priority used for default style information that is used in the absence of themes.

Note that this is not very useful for providing default styling for custom style classes - themes are likely to override styling provided at this priority with catch-all * {...} rules.


GTK_STYLE_PROVIDER_PRIORITY_THEME

#define GTK_STYLE_PROVIDER_PRIORITY_THEME     200

The priority used for style information provided by themes.


GTK_STYLE_PROVIDER_PRIORITY_SETTINGS

#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS    400

The priority used for style information provided via GtkSettings.

This priority is higher than GTK_STYLE_PROVIDER_PRIORITY_THEME to let settings override themes.


GTK_STYLE_PROVIDER_PRIORITY_APPLICATION

#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600

A priority that can be used when adding a GtkStyleProvider for application-specific style information.


GTK_STYLE_PROVIDER_PRIORITY_USER

#define GTK_STYLE_PROVIDER_PRIORITY_USER        800

The priority used for the style information from $XDG_CONFIG_HOME/gtk-4.0/gtk.css.

You should not use priorities higher than this, to give the user the last word.

Signal Details

The “gtk-private-changed” signal

void
user_function (GtkStyleProvider *styleprovider,
               gpointer          user_data)

Flags: Run Last

docs/reference/gtk/html/GtkIconView.html0000664000175000017500000052020013710700534020403 0ustar mclasenmclasen GtkIconView: GTK 4 Reference Manual

GtkIconView

GtkIconView — A widget which displays a list of icons in a grid

Functions

void (*GtkIconViewForeachFunc) ()
GtkWidget * gtk_icon_view_new ()
GtkWidget * gtk_icon_view_new_with_area ()
GtkWidget * gtk_icon_view_new_with_model ()
void gtk_icon_view_set_model ()
GtkTreeModel * gtk_icon_view_get_model ()
void gtk_icon_view_set_text_column ()
int gtk_icon_view_get_text_column ()
void gtk_icon_view_set_markup_column ()
int gtk_icon_view_get_markup_column ()
void gtk_icon_view_set_pixbuf_column ()
int gtk_icon_view_get_pixbuf_column ()
GtkTreePath * gtk_icon_view_get_path_at_pos ()
gboolean gtk_icon_view_get_item_at_pos ()
void gtk_icon_view_set_cursor ()
gboolean gtk_icon_view_get_cursor ()
void gtk_icon_view_selected_foreach ()
void gtk_icon_view_set_selection_mode ()
GtkSelectionMode gtk_icon_view_get_selection_mode ()
void gtk_icon_view_set_item_orientation ()
GtkOrientation gtk_icon_view_get_item_orientation ()
void gtk_icon_view_set_columns ()
int gtk_icon_view_get_columns ()
void gtk_icon_view_set_item_width ()
int gtk_icon_view_get_item_width ()
void gtk_icon_view_set_spacing ()
int gtk_icon_view_get_spacing ()
void gtk_icon_view_set_row_spacing ()
int gtk_icon_view_get_row_spacing ()
void gtk_icon_view_set_column_spacing ()
int gtk_icon_view_get_column_spacing ()
void gtk_icon_view_set_margin ()
int gtk_icon_view_get_margin ()
void gtk_icon_view_set_item_padding ()
int gtk_icon_view_get_item_padding ()
void gtk_icon_view_set_activate_on_single_click ()
gboolean gtk_icon_view_get_activate_on_single_click ()
gboolean gtk_icon_view_get_cell_rect ()
void gtk_icon_view_select_path ()
void gtk_icon_view_unselect_path ()
gboolean gtk_icon_view_path_is_selected ()
GList * gtk_icon_view_get_selected_items ()
void gtk_icon_view_select_all ()
void gtk_icon_view_unselect_all ()
void gtk_icon_view_item_activated ()
void gtk_icon_view_scroll_to_path ()
gboolean gtk_icon_view_get_visible_range ()
void gtk_icon_view_set_tooltip_item ()
void gtk_icon_view_set_tooltip_cell ()
gboolean gtk_icon_view_get_tooltip_context ()
void gtk_icon_view_set_tooltip_column ()
int gtk_icon_view_get_tooltip_column ()
int gtk_icon_view_get_item_row ()
int gtk_icon_view_get_item_column ()
void gtk_icon_view_enable_model_drag_source ()
void gtk_icon_view_enable_model_drag_dest ()
void gtk_icon_view_unset_model_drag_source ()
void gtk_icon_view_unset_model_drag_dest ()
void gtk_icon_view_set_reorderable ()
gboolean gtk_icon_view_get_reorderable ()
void gtk_icon_view_set_drag_dest_item ()
void gtk_icon_view_get_drag_dest_item ()
gboolean gtk_icon_view_get_dest_item_at_pos ()
GdkPaintable * gtk_icon_view_create_drag_icon ()

Properties

gboolean activate-on-single-click Read / Write
GtkCellArea * cell-area Read / Write / Construct Only
gint column-spacing Read / Write
gint columns Read / Write
GtkOrientation item-orientation Read / Write
gint item-padding Read / Write
gint item-width Read / Write
gint margin Read / Write
gint markup-column Read / Write
GtkTreeModel * model Read / Write
gint pixbuf-column Read / Write
gboolean reorderable Read / Write
gint row-spacing Read / Write
GtkSelectionMode selection-mode Read / Write
gint spacing Read / Write
gint text-column Read / Write
gint tooltip-column Read / Write

Signals

gboolean activate-cursor-item Action
void item-activated Run Last
gboolean move-cursor Action
void select-all Action
void select-cursor-item Action
void selection-changed Run First
void toggle-cursor-item Action
void unselect-all Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkIconView

Implemented Interfaces

GtkIconView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

GtkIconView provides an alternative view on a GtkTreeModel. It displays the model as a grid of icons with labels. Like GtkTreeView, it allows to select one or multiple items (depending on the selection mode, see gtk_icon_view_set_selection_mode()). In addition to selection with the arrow keys, GtkIconView supports rubberband selection, which is controlled by dragging the pointer.

Note that if the tree model is backed by an actual tree store (as opposed to a flat list where the mapping to icons is obvious), GtkIconView will only display the first level of the tree and ignore the tree’s branches.

CSS nodes

1
2
iconview.view
╰── [rubberband]

GtkIconView has a single CSS node with name iconview and style class .view. For rubberband selection, a subnode with name rubberband is used.

Functions

GtkIconViewForeachFunc ()

void
(*GtkIconViewForeachFunc) (GtkIconView *icon_view,
                           GtkTreePath *path,
                           gpointer data);

A function used by gtk_icon_view_selected_foreach() to map all selected rows. It will be called on every selected row in the view.

Parameters

icon_view

a GtkIconView

 

path

The GtkTreePath of a selected row

 

data

user data.

[closure]

gtk_icon_view_new ()

GtkWidget *
gtk_icon_view_new (void);

Creates a new GtkIconView widget

Returns

A newly created GtkIconView widget


gtk_icon_view_new_with_area ()

GtkWidget *
gtk_icon_view_new_with_area (GtkCellArea *area);

Creates a new GtkIconView widget using the specified area to layout cells inside the icons.

Parameters

area

the GtkCellArea to use to layout cells

 

Returns

A newly created GtkIconView widget


gtk_icon_view_new_with_model ()

GtkWidget *
gtk_icon_view_new_with_model (GtkTreeModel *model);

Creates a new GtkIconView widget with the model model .

Parameters

model

The model.

 

Returns

A newly created GtkIconView widget.


gtk_icon_view_set_model ()

void
gtk_icon_view_set_model (GtkIconView *icon_view,
                         GtkTreeModel *model);

Sets the model for a GtkIconView. If the icon_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model.

Parameters

icon_view

A GtkIconView.

 

model

The model.

[allow-none]

gtk_icon_view_get_model ()

GtkTreeModel *
gtk_icon_view_get_model (GtkIconView *icon_view);

Returns the model the GtkIconView is based on. Returns NULL if the model is unset.

Parameters

icon_view

a GtkIconView

 

Returns

A GtkTreeModel, or NULL if none is currently being used.

[nullable][transfer none]


gtk_icon_view_set_text_column ()

void
gtk_icon_view_set_text_column (GtkIconView *icon_view,
                               int column);

Sets the column with text for icon_view to be column . The text column must be of type G_TYPE_STRING.

Parameters

icon_view

A GtkIconView.

 

column

A column in the currently used model, or -1 to display no text

 

gtk_icon_view_get_text_column ()

int
gtk_icon_view_get_text_column (GtkIconView *icon_view);

Returns the column with text for icon_view .

Parameters

icon_view

A GtkIconView.

 

Returns

the text column, or -1 if it’s unset.


gtk_icon_view_set_markup_column ()

void
gtk_icon_view_set_markup_column (GtkIconView *icon_view,
                                 int column);

Sets the column with markup information for icon_view to be column . The markup column must be of type G_TYPE_STRING. If the markup column is set to something, it overrides the text column set by gtk_icon_view_set_text_column().

Parameters

icon_view

A GtkIconView.

 

column

A column in the currently used model, or -1 to display no text

 

gtk_icon_view_get_markup_column ()

int
gtk_icon_view_get_markup_column (GtkIconView *icon_view);

Returns the column with markup text for icon_view .

Parameters

icon_view

A GtkIconView.

 

Returns

the markup column, or -1 if it’s unset.


gtk_icon_view_set_pixbuf_column ()

void
gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
                                 int column);

Sets the column with pixbufs for icon_view to be column . The pixbuf column must be of type GDK_TYPE_PIXBUF

Parameters

icon_view

A GtkIconView.

 

column

A column in the currently used model, or -1 to disable

 

gtk_icon_view_get_pixbuf_column ()

int
gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view);

Returns the column with pixbufs for icon_view .

Parameters

icon_view

A GtkIconView.

 

Returns

the pixbuf column, or -1 if it’s unset.


gtk_icon_view_get_path_at_pos ()

GtkTreePath *
gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
                               int x,
                               int y);

Parameters

icon_view

A GtkIconView.

 

x

The x position to be identified

 

y

The y position to be identified

 

Returns

The GtkTreePath corresponding to the icon or NULL if no icon exists at that position.

[nullable][transfer full]


gtk_icon_view_get_item_at_pos ()

gboolean
gtk_icon_view_get_item_at_pos (GtkIconView *icon_view,
                               int x,
                               int y,
                               GtkTreePath **path,
                               GtkCellRenderer **cell);

Parameters

icon_view

A GtkIconView.

 

x

The x position to be identified

 

y

The y position to be identified

 

path

Return location for the path, or NULL.

[out][allow-none]

cell

Return location for the renderer responsible for the cell at (x , y ), or NULL.

[out][allow-none][transfer none]

Returns

TRUE if an item exists at the specified position


gtk_icon_view_set_cursor ()

void
gtk_icon_view_set_cursor (GtkIconView *icon_view,
                          GtkTreePath *path,
                          GtkCellRenderer *cell,
                          gboolean start_editing);

Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular item. If cell is not NULL, then focus is given to the cell specified by it. Additionally, if start_editing is TRUE, then editing should be started in the specified cell.

This function is often followed by gtk_widget_grab_focus (icon_view) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

Parameters

icon_view

A GtkIconView

 

path

A GtkTreePath

 

cell

One of the cell renderers of icon_view , or NULL.

[allow-none]

start_editing

TRUE if the specified cell should start being edited.

 

gtk_icon_view_get_cursor ()

gboolean
gtk_icon_view_get_cursor (GtkIconView *icon_view,
                          GtkTreePath **path,
                          GtkCellRenderer **cell);

Fills in path and cell with the current cursor path and cell. If the cursor isn’t currently set, then *path will be NULL. If no cell currently has focus, then *cell will be NULL.

The returned GtkTreePath must be freed with gtk_tree_path_free().

Parameters

icon_view

A GtkIconView

 

path

Return location for the current cursor path, or NULL.

[out][allow-none][transfer full]

cell

Return location the current focus cell, or NULL.

[out][allow-none][transfer none]

Returns

TRUE if the cursor is set.


gtk_icon_view_selected_foreach ()

void
gtk_icon_view_selected_foreach (GtkIconView *icon_view,
                                GtkIconViewForeachFunc func,
                                gpointer data);

Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function.

Parameters

icon_view

A GtkIconView.

 

func

The function to call for each selected icon.

[scope call]

data

User data to pass to the function.

 

gtk_icon_view_set_selection_mode ()

void
gtk_icon_view_set_selection_mode (GtkIconView *icon_view,
                                  GtkSelectionMode mode);

Sets the selection mode of the icon_view .

Parameters

icon_view

A GtkIconView.

 

mode

The selection mode

 

gtk_icon_view_get_selection_mode ()

GtkSelectionMode
gtk_icon_view_get_selection_mode (GtkIconView *icon_view);

Gets the selection mode of the icon_view .

Parameters

icon_view

A GtkIconView.

 

Returns

the current selection mode


gtk_icon_view_set_item_orientation ()

void
gtk_icon_view_set_item_orientation (GtkIconView *icon_view,
                                    GtkOrientation orientation);

Sets the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below.

Parameters

icon_view

a GtkIconView

 

orientation

the relative position of texts and icons

 

gtk_icon_view_get_item_orientation ()

GtkOrientation
gtk_icon_view_get_item_orientation (GtkIconView *icon_view);

Returns the value of the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below.

Parameters

icon_view

a GtkIconView

 

Returns

the relative position of texts and icons


gtk_icon_view_set_columns ()

void
gtk_icon_view_set_columns (GtkIconView *icon_view,
                           int columns);

Sets the ::columns property which determines in how many columns the icons are arranged. If columns is -1, the number of columns will be chosen automatically to fill the available area.

Parameters

icon_view

a GtkIconView

 

columns

the number of columns

 

gtk_icon_view_get_columns ()

int
gtk_icon_view_get_columns (GtkIconView *icon_view);

Returns the value of the ::columns property.

Parameters

icon_view

a GtkIconView

 

Returns

the number of columns, or -1


gtk_icon_view_set_item_width ()

void
gtk_icon_view_set_item_width (GtkIconView *icon_view,
                              int item_width);

Sets the ::item-width property which specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size.

Parameters

icon_view

a GtkIconView

 

item_width

the width for each item

 

gtk_icon_view_get_item_width ()

int
gtk_icon_view_get_item_width (GtkIconView *icon_view);

Returns the value of the ::item-width property.

Parameters

icon_view

a GtkIconView

 

Returns

the width of a single item, or -1


gtk_icon_view_set_spacing ()

void
gtk_icon_view_set_spacing (GtkIconView *icon_view,
                           int spacing);

Sets the ::spacing property which specifies the space which is inserted between the cells (i.e. the icon and the text) of an item.

Parameters

icon_view

a GtkIconView

 

spacing

the spacing

 

gtk_icon_view_get_spacing ()

int
gtk_icon_view_get_spacing (GtkIconView *icon_view);

Returns the value of the ::spacing property.

Parameters

icon_view

a GtkIconView

 

Returns

the space between cells


gtk_icon_view_set_row_spacing ()

void
gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
                               int row_spacing);

Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view.

Parameters

icon_view

a GtkIconView

 

row_spacing

the row spacing

 

gtk_icon_view_get_row_spacing ()

int
gtk_icon_view_get_row_spacing (GtkIconView *icon_view);

Returns the value of the ::row-spacing property.

Parameters

icon_view

a GtkIconView

 

Returns

the space between rows


gtk_icon_view_set_column_spacing ()

void
gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
                                  int column_spacing);

Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view.

Parameters

icon_view

a GtkIconView

 

column_spacing

the column spacing

 

gtk_icon_view_get_column_spacing ()

int
gtk_icon_view_get_column_spacing (GtkIconView *icon_view);

Returns the value of the ::column-spacing property.

Parameters

icon_view

a GtkIconView

 

Returns

the space between columns


gtk_icon_view_set_margin ()

void
gtk_icon_view_set_margin (GtkIconView *icon_view,
                          int margin);

Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view.

Parameters

icon_view

a GtkIconView

 

margin

the margin

 

gtk_icon_view_get_margin ()

int
gtk_icon_view_get_margin (GtkIconView *icon_view);

Returns the value of the ::margin property.

Parameters

icon_view

a GtkIconView

 

Returns

the space at the borders


gtk_icon_view_set_item_padding ()

void
gtk_icon_view_set_item_padding (GtkIconView *icon_view,
                                int item_padding);

Sets the “item-padding” property which specifies the padding around each of the icon view’s items.

Parameters

icon_view

a GtkIconView

 

item_padding

the item padding

 

gtk_icon_view_get_item_padding ()

int
gtk_icon_view_get_item_padding (GtkIconView *icon_view);

Returns the value of the ::item-padding property.

Parameters

icon_view

a GtkIconView

 

Returns

the padding around items


gtk_icon_view_set_activate_on_single_click ()

void
gtk_icon_view_set_activate_on_single_click
                               (GtkIconView *icon_view,
                                gboolean single);

Causes the “item-activated” signal to be emitted on a single click instead of a double click.

Parameters

icon_view

a GtkIconView

 

single

TRUE to emit item-activated on a single click

 

gtk_icon_view_get_activate_on_single_click ()

gboolean
gtk_icon_view_get_activate_on_single_click
                               (GtkIconView *icon_view);

Gets the setting set by gtk_icon_view_set_activate_on_single_click().

Parameters

icon_view

a GtkIconView

 

Returns

TRUE if item-activated will be emitted on a single click


gtk_icon_view_get_cell_rect ()

gboolean
gtk_icon_view_get_cell_rect (GtkIconView *icon_view,
                             GtkTreePath *path,
                             GtkCellRenderer *cell,
                             GdkRectangle *rect);

Fills the bounding rectangle in widget coordinates for the cell specified by path and cell . If cell is NULL the main cell area is used.

This function is only valid if icon_view is realized.

Parameters

icon_view

a GtkIconView

 

path

a GtkTreePath

 

cell

a GtkCellRenderer or NULL.

[allow-none]

rect

rectangle to fill with cell rect.

[out]

Returns

FALSE if there is no such item, TRUE otherwise


gtk_icon_view_select_path ()

void
gtk_icon_view_select_path (GtkIconView *icon_view,
                           GtkTreePath *path);

Selects the row at path .

Parameters

icon_view

A GtkIconView.

 

path

The GtkTreePath to be selected.

 

gtk_icon_view_unselect_path ()

void
gtk_icon_view_unselect_path (GtkIconView *icon_view,
                             GtkTreePath *path);

Unselects the row at path .

Parameters

icon_view

A GtkIconView.

 

path

The GtkTreePath to be unselected.

 

gtk_icon_view_path_is_selected ()

gboolean
gtk_icon_view_path_is_selected (GtkIconView *icon_view,
                                GtkTreePath *path);

Returns TRUE if the icon pointed to by path is currently selected. If path does not point to a valid location, FALSE is returned.

Parameters

icon_view

A GtkIconView.

 

path

A GtkTreePath to check selection on.

 

Returns

TRUE if path is selected.


gtk_icon_view_get_selected_items ()

GList *
gtk_icon_view_get_selected_items (GtkIconView *icon_view);

Creates a list of paths of all selected items. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of GtkTreeRowReferences. To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:

1
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);

Parameters

icon_view

A GtkIconView.

 

Returns

A GList containing a GtkTreePath for each selected row.

[element-type GtkTreePath][transfer full]


gtk_icon_view_select_all ()

void
gtk_icon_view_select_all (GtkIconView *icon_view);

Selects all the icons. icon_view must has its selection mode set to GTK_SELECTION_MULTIPLE.

Parameters

icon_view

A GtkIconView.

 

gtk_icon_view_unselect_all ()

void
gtk_icon_view_unselect_all (GtkIconView *icon_view);

Unselects all the icons.

Parameters

icon_view

A GtkIconView.

 

gtk_icon_view_item_activated ()

void
gtk_icon_view_item_activated (GtkIconView *icon_view,
                              GtkTreePath *path);

Activates the item determined by path .

Parameters

icon_view

A GtkIconView

 

path

The GtkTreePath to be activated

 

gtk_icon_view_scroll_to_path ()

void
gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
                              GtkTreePath *path,
                              gboolean use_align,
                              float row_align,
                              float col_align);

Moves the alignments of icon_view to the position specified by path . row_align determines where the row is placed, and col_align determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center.

If use_align is FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the item onto the screen. This means that the item will be scrolled to the edge closest to its current position. If the item is currently visible on the screen, nothing is done.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the icon_view is realized, the centered path will be modified to reflect this change.

Parameters

icon_view

A GtkIconView.

 

path

The path of the item to move to.

 

use_align

whether to use alignment arguments, or FALSE.

 

row_align

The vertical alignment of the item specified by path .

 

col_align

The horizontal alignment of the item specified by path .

 

gtk_icon_view_get_visible_range ()

gboolean
gtk_icon_view_get_visible_range (GtkIconView *icon_view,
                                 GtkTreePath **start_path,
                                 GtkTreePath **end_path);

Sets start_path and end_path to be the first and last visible path. Note that there may be invisible paths in between.

Both paths should be freed with gtk_tree_path_free() after use.

Parameters

icon_view

A GtkIconView

 

start_path

Return location for start of region, or NULL.

[out][allow-none]

end_path

Return location for end of region, or NULL.

[out][allow-none]

Returns

TRUE, if valid paths were placed in start_path and end_path


gtk_icon_view_set_tooltip_item ()

void
gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
                                GtkTooltip *tooltip,
                                GtkTreePath *path);

Sets the tip area of tooltip to be the area covered by the item at path . See also gtk_icon_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area().

Parameters

icon_view

a GtkIconView

 

tooltip

a GtkTooltip

 

path

a GtkTreePath

 

gtk_icon_view_set_tooltip_cell ()

void
gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
                                GtkTooltip *tooltip,
                                GtkTreePath *path,
                                GtkCellRenderer *cell);

Sets the tip area of tooltip to the area which cell occupies in the item pointed to by path . See also gtk_tooltip_set_tip_area().

See also gtk_icon_view_set_tooltip_column() for a simpler alternative.

Parameters

icon_view

a GtkIconView

 

tooltip

a GtkTooltip

 

path

a GtkTreePath

 

cell

a GtkCellRenderer or NULL.

[allow-none]

gtk_icon_view_get_tooltip_context ()

gboolean
gtk_icon_view_get_tooltip_context (GtkIconView *icon_view,
                                   int *x,
                                   int *y,
                                   gboolean keyboard_tip,
                                   GtkTreeModel **model,
                                   GtkTreePath **path,
                                   GtkTreeIter *iter);

This function is supposed to be used in a “query-tooltip” signal handler for GtkIconView. The x , y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification.

The return value indicates whether there is an icon view item at the given coordinates (TRUE) or not (FALSE) for mouse tooltips. For keyboard tooltips the item returned will be the cursor item. When TRUE, then any of model , path and iter which have been provided will be set to point to that row and the corresponding model.

Parameters

icon_view

an GtkIconView

 

x

the x coordinate (relative to widget coordinates).

[inout]

y

the y coordinate (relative to widget coordinates).

[inout]

keyboard_tip

whether this is a keyboard tooltip or not

 

model

a pointer to receive a GtkTreeModel or NULL.

[out][allow-none][transfer none]

path

a pointer to receive a GtkTreePath or NULL.

[out][allow-none]

iter

a pointer to receive a GtkTreeIter or NULL.

[out][allow-none]

Returns

whether or not the given tooltip context points to an item


gtk_icon_view_set_tooltip_column ()

void
gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
                                  int column);

If you only plan to have simple (text-only) tooltips on full items, you can use this function to have GtkIconView handle these automatically for you. column should be set to the column in icon_view ’s model containing the tooltip texts, or -1 to disable this feature.

When enabled, “has-tooltip” will be set to TRUE and icon_view will connect a “query-tooltip” signal handler.

Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text.

Parameters

icon_view

a GtkIconView

 

column

an integer, which is a valid column number for icon_view ’s model

 

gtk_icon_view_get_tooltip_column ()

int
gtk_icon_view_get_tooltip_column (GtkIconView *icon_view);

Returns the column of icon_view ’s model which is being used for displaying tooltips on icon_view ’s rows.

Parameters

icon_view

a GtkIconView

 

Returns

the index of the tooltip column that is currently being used, or -1 if this is disabled.


gtk_icon_view_get_item_row ()

int
gtk_icon_view_get_item_row (GtkIconView *icon_view,
                            GtkTreePath *path);

Gets the row in which the item path is currently displayed. Row numbers start at 0.

Parameters

icon_view

a GtkIconView

 

path

the GtkTreePath of the item

 

Returns

The row in which the item is displayed


gtk_icon_view_get_item_column ()

int
gtk_icon_view_get_item_column (GtkIconView *icon_view,
                               GtkTreePath *path);

Gets the column in which the item path is currently displayed. Column numbers start at 0.

Parameters

icon_view

a GtkIconView

 

path

the GtkTreePath of the item

 

Returns

The column in which the item is displayed


gtk_icon_view_enable_model_drag_source ()

void
gtk_icon_view_enable_model_drag_source
                               (GtkIconView *icon_view,
                                GdkModifierType start_button_mask,
                                GdkContentFormats *formats,
                                GdkDragAction actions);

Turns icon_view into a drag source for automatic DND. Calling this method sets “reorderable” to FALSE.

Parameters

icon_view

a GtkIconView

 

start_button_mask

Mask of allowed buttons to start drag

 

formats

the formats that the drag will support

 

actions

the bitmask of possible actions for a drag from this widget

 

gtk_icon_view_enable_model_drag_dest ()

void
gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
                                      GdkContentFormats *formats,
                                      GdkDragAction actions);

Turns icon_view into a drop destination for automatic DND. Calling this method sets “reorderable” to FALSE.

Parameters

icon_view

a GtkIconView

 

formats

the formats that the drag will support

 

actions

the bitmask of possible actions for a drag to this widget

 

gtk_icon_view_unset_model_drag_source ()

void
gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view);

Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this method sets “reorderable” to FALSE.

Parameters

icon_view

a GtkIconView

 

gtk_icon_view_unset_model_drag_dest ()

void
gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view);

Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this method sets “reorderable” to FALSE.

Parameters

icon_view

a GtkIconView

 

gtk_icon_view_set_reorderable ()

void
gtk_icon_view_set_reorderable (GtkIconView *icon_view,
                               gboolean reorderable);

This function is a convenience function to allow you to reorder models that support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both GtkTreeStore and GtkListStore support these. If reorderable is TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals. The reordering is implemented by setting up the icon view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose.

This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually.

Parameters

icon_view

A GtkIconView.

 

reorderable

TRUE, if the list of items can be reordered.

 

gtk_icon_view_get_reorderable ()

gboolean
gtk_icon_view_get_reorderable (GtkIconView *icon_view);

Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable().

Parameters

icon_view

a GtkIconView

 

Returns

TRUE if the list can be reordered.


gtk_icon_view_set_drag_dest_item ()

void
gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view,
                                  GtkTreePath *path,
                                  GtkIconViewDropPosition pos);

Sets the item that is highlighted for feedback.

Parameters

icon_view

a GtkIconView

 

path

The path of the item to highlight, or NULL.

[allow-none]

pos

Specifies where to drop, relative to the item

 

gtk_icon_view_get_drag_dest_item ()

void
gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view,
                                  GtkTreePath **path,
                                  GtkIconViewDropPosition *pos);

Gets information about the item that is highlighted for feedback.

Parameters

icon_view

a GtkIconView

 

path

Return location for the path of the highlighted item, or NULL.

[out][allow-none]

pos

Return location for the drop position, or NULL.

[out][allow-none]

gtk_icon_view_get_dest_item_at_pos ()

gboolean
gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view,
                                    int drag_x,
                                    int drag_y,
                                    GtkTreePath **path,
                                    GtkIconViewDropPosition *pos);

Determines the destination item for a given position.

Parameters

icon_view

a GtkIconView

 

drag_x

the position to determine the destination item for

 

drag_y

the position to determine the destination item for

 

path

Return location for the path of the item, or NULL.

[out][allow-none]

pos

Return location for the drop position, or NULL.

[out][allow-none]

Returns

whether there is an item at the given position.


gtk_icon_view_create_drag_icon ()

GdkPaintable *
gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
                                GtkTreePath *path);

Creates a cairo_surface_t representation of the item at path . This image is used for a drag icon.

Parameters

icon_view

a GtkIconView

 

path

a GtkTreePath in icon_view

 

Returns

a newly-allocated surface of the drag icon.

[transfer full]

Types and Values

GtkIconView

typedef struct _GtkIconView GtkIconView;

enum GtkIconViewDropPosition

An enum for determining where a dropped item goes.

Members

GTK_ICON_VIEW_NO_DROP

no drop possible

 

GTK_ICON_VIEW_DROP_INTO

dropped item replaces the item

 

GTK_ICON_VIEW_DROP_LEFT

droppped item is inserted to the left

 

GTK_ICON_VIEW_DROP_RIGHT

dropped item is inserted to the right

 

GTK_ICON_VIEW_DROP_ABOVE

dropped item is inserted above

 

GTK_ICON_VIEW_DROP_BELOW

dropped item is inserted below

 

Property Details

The “activate-on-single-click” property

  “activate-on-single-click” gboolean

The activate-on-single-click property specifies whether the "item-activated" signal will be emitted after a single click.

Owner: GtkIconView

Flags: Read / Write

Default value: FALSE


The “cell-area” property

  “cell-area”                GtkCellArea *

The GtkCellArea used to layout cell renderers for this view.

If no area is specified when creating the icon view with gtk_icon_view_new_with_area() a GtkCellAreaBox will be used.

Owner: GtkIconView

Flags: Read / Write / Construct Only


The “column-spacing” property

  “column-spacing”           gint

The column-spacing property specifies the space which is inserted between the columns of the icon view.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= 0

Default value: 6


The “columns” property

  “columns”                  gint

The columns property contains the number of the columns in which the items should be displayed. If it is -1, the number of columns will be chosen automatically to fill the available area.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “item-orientation” property

  “item-orientation”         GtkOrientation

The item-orientation property specifies how the cells (i.e. the icon and the text) of the item are positioned relative to each other.

Owner: GtkIconView

Flags: Read / Write

Default value: GTK_ORIENTATION_VERTICAL


The “item-padding” property

  “item-padding”             gint

The item-padding property specifies the padding around each of the icon view's item.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= 0

Default value: 6


The “item-width” property

  “item-width”               gint

The item-width property specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “margin” property

  “margin”                   gint

The margin property specifies the space which is inserted at the edges of the icon view.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= 0

Default value: 6


The “markup-column” property

  “markup-column”            gint

The ::markup-column property contains the number of the model column containing markup information to be displayed. The markup column must be of type G_TYPE_STRING. If this property and the :text-column property are both set to column numbers, it overrides the text column. If both are set to -1, no texts are displayed.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “model” property

  “model”                    GtkTreeModel *

The model for the icon view.

Owner: GtkIconView

Flags: Read / Write


The “pixbuf-column” property

  “pixbuf-column”            gint

The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displayed. The pixbuf column must be of type GDK_TYPE_PIXBUF. Setting this property to -1 turns off the display of pixbufs.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “reorderable” property

  “reorderable”              gboolean

The reorderable property specifies if the items can be reordered by DND.

Owner: GtkIconView

Flags: Read / Write

Default value: FALSE


The “row-spacing” property

  “row-spacing”              gint

The row-spacing property specifies the space which is inserted between the rows of the icon view.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= 0

Default value: 6


The “selection-mode” property

  “selection-mode”           GtkSelectionMode

The ::selection-mode property specifies the selection mode of icon view. If the mode is GTK_SELECTION_MULTIPLE, rubberband selection is enabled, for the other modes, only keyboard selection is possible.

Owner: GtkIconView

Flags: Read / Write

Default value: GTK_SELECTION_SINGLE


The “spacing” property

  “spacing”                  gint

The spacing property specifies the space which is inserted between the cells (i.e. the icon and the text) of an item.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “text-column” property

  “text-column”              gint

The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type G_TYPE_STRING. If this property and the :markup-column property are both set to -1, no texts are displayed.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “tooltip-column” property

  “tooltip-column”           gint

The column in the model containing the tooltip texts for the items.

Owner: GtkIconView

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “activate-cursor-item” signal

gboolean
user_function (GtkIconView *iconview,
               gpointer     user_data)

A keybinding signal which gets emitted when the user activates the currently focused item.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control activation programmatically.

The default bindings for this signal are Space, Return and Enter.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “item-activated” signal

void
user_function (GtkIconView *iconview,
               GtkTreePath *path,
               gpointer     user_data)

The ::item-activated signal is emitted when the method gtk_icon_view_item_activated() is called, when the user double clicks an item with the "activate-on-single-click" property set to FALSE, or when the user single clicks an item when the "activate-on-single-click" property set to TRUE. It is also emitted when a non-editable item is selected and one of the keys: Space, Return or Enter is pressed.

Parameters

iconview

the object on which the signal is emitted

 

path

the GtkTreePath for the activated item

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “move-cursor” signal

gboolean
user_function (GtkIconView    *iconview,
               GtkMovementStep step,
               gint            count,
               gboolean        extend,
               gboolean        modify,
               gpointer        user_data)

The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal include

  • Arrow keys which move by individual steps

  • Home/End keys which move to the first/last item

  • PageUp/PageDown which move by "pages" All of these will extend the selection when combined with the Shift modifier.

Parameters

iconview

the object which received the signal

 

step

the granularity of the move, as a GtkMovementStep

 

count

the number of step units to move

 

extend

whether to extend the selection

 

modify

whether to modify the selection

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “select-all” signal

void
user_function (GtkIconView *iconview,
               gpointer     user_data)

A keybinding signal which gets emitted when the user selects all items.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

The default binding for this signal is Ctrl-a.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “select-cursor-item” signal

void
user_function (GtkIconView *iconview,
               gpointer     user_data)

A keybinding signal which gets emitted when the user selects the item that is currently focused.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

There is no default binding for this signal.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “selection-changed” signal

void
user_function (GtkIconView *iconview,
               gpointer     user_data)

The ::selection-changed signal is emitted when the selection (i.e. the set of selected items) changes.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “toggle-cursor-item” signal

void
user_function (GtkIconView *iconview,
               gpointer     user_data)

A keybinding signal which gets emitted when the user toggles whether the currently focused item is selected or not. The exact effect of this depend on the selection mode.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

There is no default binding for this signal is Ctrl-Space.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “unselect-all” signal

void
user_function (GtkIconView *iconview,
               gpointer     user_data)

A keybinding signal which gets emitted when the user unselects all items.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically.

The default binding for this signal is Ctrl-Shift-a.

Parameters

iconview

the object on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/gtk-migrating-2-to-4.html0000664000175000017500000000373113710700534021703 0ustar mclasenmclasen Migrating from GTK 2.x to GTK 4: GTK 4 Reference Manual

Migrating from GTK 2.x to GTK 4

If your application is still using GTK 2, you should first convert it to GTK 3, by following the migration guide in the GTK 3 documentation, and then follow these instructions.

docs/reference/gtk/html/ch41s02.html0000664000175000017500000022350113710700534017302 0ustar mclasenmclasen Changes that need to be done at the time of the switch: GTK 4 Reference Manual

Changes that need to be done at the time of the switch

This section outlines porting tasks that you need to tackle when you get to the point that you actually build your application against GTK 4. Making it possible to prepare for these in GTK 3 would have been either impossible or impractical.

Stop using GdkScreen

The GdkScreen object has been removed in GTK 4. Most of its APIs already had replacements in GTK 3 and were deprecated, a few remaining replacements have been added to GdkDisplay.

Stop using the root window

The root window is an X11-centric concept that is no longer exposed in the backend-neutral GDK API. If you need to interact with the X11 root window, you can use gdk_x11_display_get_xrootwindow() to get its XID.

Stop using GdkVisual

This object is not useful with current GTK drawing APIs and has been removed without replacement.

Stop using GdkDeviceManager

The GdkDeviceManager object has been removed in GTK 4. Most of its APIs already had replacements in GTK 3 and were deprecated in favor of GdkSeat.

Adapt to GdkWindow API changes

GdkWindow has been renamed to GdkSurface.

In GTK 4, the two roles of a standalone toplevel window and of a popup that is placed relative to a parent window have been separated out into two interfaces, GdkToplevel and GdkPopup. Surfaces implementing these interfaces are created with gdk_surface_new_toplevel() and gdk_surface_new_popup(), respectively, and they are presented on screen using gdk_toplevel_present() and gdk_popup_present(). The present() functions take parameters in the form of an auxiliary layout struct, GdkPopupLayout or GdkToplevelLayout. If your code is dealing directly with surfaces, you may have to change it to call the API in these interfaces, depending on whether the surface you are dealing with is a toplevel or a popup.

As part of this reorganization, X11-only concepts such as sticky or keep-below have been removed. If you need to use them on your X11 windows, you will have to set the corresponding X11 properties (as specified in the EWMH) yourself. Subsurfaces are only supported with the Wayland backend, using gdk_wayland_surface_new_subsurface(). Native and foreign subwindows are no longer supported. These concepts were complicating the code and could not be supported across backends.

gdk_window_reparent() is no longer available.

A number of minor API cleanups have happened in GdkSurface as well. For example, gdk_surface_input_shape_combine_region() has been renamed to gdk_surface_set_input_region(), and gdk_surface_begin_resize_drag() has been renamed to gdk_toplevel_begin_resize().

The iconified window state has been renamed to minimized

The GDK_SURFACE_STATE_ICONIFIED value of the GdkSurfaceState enumeration is now GDK_SURFACE_STATE_MINIMIZED.

The GdkWindow functions <function>gdk_window_iconify()</function> and <function>gdk_window_deiconify()</function> have been renamed to gdk_toplevel_minimize() and gdk_toplevel_present(), respectively.

The behavior of the minimization and unminimization operations have not been changed, and they still require support from the underlying windowing system.

Adapt to GdkEvent API changes

Direct access to GdkEvent structs is no longer possible in GTK 4. GdkEvent is now a strictly read-only type, and you can no longer change any of its fields, or construct new events. All event fields have accessors that you will have to use.

Event compression is always enabled in GTK 4. If you need to see the uncoalesced motion history, use gdk_motion_event_get_history() on the latest motion event.

Stop using grabs

GTK 4 no longer provides the gdk_device_grab() or gdk_seat_grab() apis. If you need to dismiss a popup when the user clicks outside (the most common use for grabs), you can use the GdkPopup “autohide” property instead. GtkPopover also has a “autohide” property for this. If you need to prevent the user from interacting with a window while a dialog is open, use the “modal” property of the dialog.

Adapt to coordinate API changes

A number of coordinate APIs in GTK 3 had _double variants: gdk_device_get_surface_at_position(), gdk_surface_get_device_position(). These have been changed to use doubles, and the _double variants have been removed. Update your code accordingly.

Any APIs that deal with global (or root) coordinates have been removed in GTK 4, since not all backends support them. You should replace your use of such APIs with surface-relative equivalents. Examples of this are gdk_surface_get_origin(), gdk_surface_move() or gdk_event_get_root_coords().

Adapt to GdkKeymap API changes

GdkKeymap no longer exists as an independent object.

If you need access to keymap state, it is now exposed as properties on the GdkDevice representing the keyboard: “direction”, “has-bidi-layouts”, “caps-lock-state”, “num-lock-state”, “scroll-lock-state” and “modifier-state”. To obtain the keyboard device, you can use gdk_seat_get_keyboard (gdk_display_get_default_seat (display).

If you need access to translated keys for event handling, GdkEvent now includes all of the translated key state, including consumed modifiers, group and shift level, so there should be no need to manually call gdk_keymap_translate_keyboard_state() (which has been removed).

If you need to do forward or backward mapping between key codes and key values, use gdk_display_map_keycode() and gdk_display_map_keyval(), which are the replacements for gdk_keymap_get_entries_for_keycode() and gdk_keymap_get_entries_for_keyval().

Adapt to changes in keyboard modifier handling

GTK 3 has the idea that use of modifiers may differ between different platforms, and has a GdkModifierIntent api to let platforms provide hint about how modifiers are expected to be used. It also promoted the use of <Primary> instead of <Control> to specify accelerators that adapt to platform conventions.

In GTK 4, the meaning of modifiers has been fixed, and backends are expected to map the platform conventions to the existing modifiers. The expected use of modifiers in GTK 4 is:

GDK_CONTROL_MASK

Primary accelerators

GDK_ALT_MASK

Mnemonics

GDK_SHIFT_MASK

Extending selections

GDK_CONTROL_MASK

Modifying selections

GDK_CONTROL_MASK|GDK_ALT_MASK

Prevent text input

Consequently, GdkModifierIntent and related APIs have been removed, and <Control> is preferred over <Primary> in accelerators.

A related change is that GTK 4 no longer supports the use of archaic X11 real modifiers with the names Mod1,…, Mod5, and GDK_MOD1_MASK has been renamed to GDK_ALT_MASK.

Stop using gtk_get_current_… APIs

The function gtk_get_current_event() and its variants have been replaced by equivalent event controller APIs: gtk_event_controller_get_current_event(), etc.

Convert your ui files

A number of the changes outlined below affect .ui files. The gtk4-builder-tool simplify command can perform many of the necessary changes automatically, when called with the –3to4 option. You should always review the resulting changes.

Adapt to event controller API changes

A few changes to the event controller and GtkGesture APIs did not make it back to GTK 3, and have to be taken into account when moving to GTK 4. One is that the “enter” and “leave” signals have gained new arguments. Another is that GtkGestureMultiPress has been renamed to GtkGestureClick, and has lost its area property. A GtkEventControllerFocus has been split off from GtkEventcontrollerKey.

Focus handling changes

The semantics of the “can-focus” property have changed. In GTK 3, this property only meant that the widget itself would not accept keyboard input, but its children still might (in the case of containers). In GTK 4, if :can-focus is FALSE, the focus cannot enter the widget or any of its descendents, and the default value has changed from FALSE to TRUE. In addition, there is a “focusable” property, which controls whether an individual widget can receive the input focus.

The feature to automatically keep the focus widget scrolled into view with gtk_container_set_focus_vadjustment() has been removed together with GtkContainer, and is provided by scrollable widgets instead. In the common case that the scrollable is a GtkViewport, use “scroll-to-focus”.

Use the new apis for keyboard shortcuts

The APIs for keyboard shortcuts and accelerators have changed in GTK 4.

Instead of GtkAccelGroup, you now use a GtkShortcutController with global scope, and instead of GtkBindingSet, you now use gtk_widget_class_add_shortcut(), gtk_widget_class_add_binding() and its variants. In both cases, you probably want to add actions that can be triggered by your shortcuts.

There is no direct replacement for loading and saving accelerators with GtkAccelMap. But since GtkShortcutController implements GListModel and both GtkShortcutTrigger and GtkShortcutAction can be serialized to strings, it is relatively easy to implement saving and loading yourself.

Stop using GtkEventBox

GtkEventBox is no longer needed and has been removed. All widgets receive all events.

Stop using GtkButtonBox

GtkButtonBox has been removed. Use a GtkBox instead.

Adapt to GtkBox API changes

The GtkBox pack-start and -end methods have been replaced by gtk_box_prepend() and gtk_box_append(). You can also reorder box children as necessary.

Adapt to GtkHeaderBar and GtkActionBar API changes

The gtk_header_bar_set_show_close_button() function has been renamed to the more accurate name gtk_header_bar_set_show_title_buttons(). The corresponding getter and the property itself have also been renamed. The default value of the property is now TRUE instead of FALSE.

The gtk_header_bar_set_custom_title() function has been renamed to the more accurate name gtk_header_bar_set_title_widget(). The corresponding getter and the property itself have also been renamed.

The gtk_header_bar_set_title() function has been removed along with its corresponding getter and the property. By default GtkHeaderBar shows the title of the window, so if you were setting the title of the header bar, consider setting the window title instead. If you need to show a title that’s different from the window title, use the “title-widget” property to add a GtkLabel as shown in the example in GtkHeaderBar documentation.

The gtk_header_bar_set_subtitle() function has been removed along with its corresponding getter and the property. The old subtitle behavior can be replicated by setting the “title-widget” property to a GtkBox with two labels inside, with the title label matching the example in GtkHeaderBar documentation, and the subtitle label being similar, but with subtitle style class instead of title.

The gtk_header_bar_set_has_subtitle() function has been removed along with its corresponding getter and the property. Its behavior can be replicated by setting the “title-widget” property to a GtkStack with “vhomogeneous” property set to TRUE and two pages, each with a GtkBox with title and subtitle as described above.

The ::pack-type child properties of GtkHeaderBar and GtkActionBar have been removed. If you need to programmatically place children, use the pack_start() and pack_end() APIs. In ui files, use the type attribute on the child element.

gtk4-builder-tool can help with this conversion, with the –3to4 option of the simplify command.

Adapt to GtkStack, GtkAssistant and GtkNotebook API changes

The child properties of GtkStack, GtkAssistant and GtkNotebook have been converted into child meta objects. Instead of gtk_container_child_set (stack, child, …), you can now use g_object_set (gtk_stack_get_page (stack, child), …). In .ui files, the GtkStackPage objects must be created explicitly, and take the child widget as property. GtkNotebook and GtkAssistant are similar.

gtk4-builder-tool can help with this conversion, with the –3to4 option of the simplify command.

Adapt to GtkScrolledWindow API changes

The constructor for GtkScrolledWindow no longer takes the adjustments as arguments - these were almost always NULL.

Adapt to GtkBin removal

The abstract base class GtkBin for single-child containers has been removed. The former subclasses are now derived directly from GtkWidget, and have a child property for their child widget. To add a child, use the setter for the child property (e.g. gtk_frame_set_child()) instead of gtk_container_add(). Adding a child in a ui file with <child> still works.

The affected classes are:

  • GtkAspectFrame

  • GtkButton (and subclasses)

  • GtkComboBox

  • GtkFlowBoxChild

  • GtkFrame

  • GtkListBoxRow

  • GtkOverlay

  • GtkPopover

  • GtkRevealer

  • GtkScrolledWindow

  • GtkSearchBar

  • GtkViewport

  • GtkWindow (and subclasses)

If you have custom widgets that were derived from GtkBin, you should port them to derive from GtkWidget. Notable vfuncs that you will have to implement include dispose() (to unparent your child), compute_expand() (if you want your container to propagate expand flags) and get_request_mode() (if you want your container to support height-for-width.

You may also want to implement the GtkBuildable interface, to support adding children with <child> in ui files.

Adapt to GtkContainer removal

The abstract base class GtkContainer for general containers has been removed. The former subclasses are now derived directly from GtkWidget, and have class-specific add() and remove() functions. The most noticable change is the use of gtk_box_append() or gtk_box_prepend() instead of gtk_container_add() for adding children to GtkBox, and the change to use container-specific remove functions, such as gtk_stack_remove() instead of gtk_container_remove(). Adding a child in a ui file with <child> still works.

The affected classes are:

  • GtkActionBar

  • GtkBox (and subclasses)

  • GtkExpander

  • GtkFixed

  • GtkFlowBox

  • GtkGrid

  • GtkHeaderBar

  • GtkIconView

  • GtkInfoBar

  • GtkListBox

  • GtkNotebook

  • GtkPaned

  • GtkStack

  • GtkTextView

  • GtkTreeView

Without GtkContainer, there are no longer facilities for defining and using child properties. If you have custom widgets using child properties, they will have to be converted either to layout properties provided by a layout manager (if they are layout-related), or handled in some other way. One possibility is to use child meta objects, as seen with GtkAssistantPage, GtkStackPage and the like.

The replacements for gtk_container_add() are:

Stop using GtkContainer::border-width

GTK 4 has removed the “border-width” property (together with the rest of GtkContainer). Use other means to influence the spacing of your containers, such as the CSS margin and padding properties on child widgets.

Adapt to gtk_widget_destroy() removal

The function gtk_widget_destroy() has been removed. To explicitly destroy a toplevel window, use gtk_window_destroy(). To destroy a widget that is part of a hierarchy, remove it from its parent using a container-specific remove api, such as gtk_box_remove() or gtk_stack_remove(). To destroy a freestanding non-toplevel widget, use g_object_unref() to drop your reference.

Adapt to coordinate API changes

A number of APIs that are accepting or returning coordinates have been changed from ints to doubles: gtk_widget_translate_coordinates(), gtk_fixed_put(), gtk_fixed_move(). This change is mostly transparent, except for cases where out parameters are involved: you need to pass double* now, instead of int*.

Adapt to GtkStyleContext API changes

The getters in the GtkStyleContext API, such as gtk_style_context_get_property(), gtk_style_context_get(), or gtk_style_context_get_color() have lost their state argument, and always use the context’s current state. Update all callers to omit the state argument.

The most commonly used GtkStyleContext API, gtk_style_context_add_class(), has been moved to GtkWidget as gtk_widget_add_css_class(), as have the corresponding gtk_style_context_remove_class() and gtk_style_context_has_class() APIs.

Adapt to GtkCssProvider API changes

In GTK 4, the various GtkCssProvider load functions have lost their GError argument. If you want to handle CSS loading errors, use the “parsing-error” signal instead. gtk_css_provider_get_named() has been replaced by gtk_css_provider_load_named().

Stop using GtkShadowType and GtkRelief properties

The shadow-type properties in GtkScrolledWindow, GtkViewport, and GtkFrame, as well as the relief properties in GtkButton and its subclasses have been removed. GtkScrolledWindow, GtkButton and GtkMenuButton have instead gained a boolean has-frame property.

Adapt to GtkWidget’s size request changes

GTK 3 used five different virtual functions in GtkWidget to implement size requisition, namely the gtk_widget_get_preferred_width() family of functions. To simplify widget implementations, GTK 4 uses only one virtual function, GtkWidgetClass::measure() that widgets have to implement. gtk_widget_measure() replaces the various gtk_widget_get_preferred_ functions for querying sizes.

Adapt to GtkWidget’s size allocation changes

The GtkWidget.size_allocate() vfunc takes the baseline as an argument now, so you no longer need to call gtk_widget_get_allocated_baseline() to get it.

The ::size-allocate signal has been removed, since it is easy to misuse. If you need to learn about sizing changes of custom drawing widgets, use the “resize” or “resize” signals.

Switch to GtkWidget’s children APIs

In GTK 4, any widget can have children (and GtkContainer is gone). There is new API to navigate the widget tree, for use in widget implementations: gtk_widget_get_first_child(), gtk_widget_get_last_child(), gtk_widget_get_next_sibling(), gtk_widget_get_prev_sibling().

Don’t use -gtk-gradient in your CSS

GTK now supports standard CSS syntax for both linear and radial gradients, just use those.

Don’t use -gtk-icon-effect in your CSS

GTK now supports a more versatile -gtk-icon-filter instead. Replace -gtk-icon-effect: dim; with -gtk-icon-filter: opacity(0.5); and -gtk-icon-effect: hilight; with -gtk-icon-filter: brightness(1.2);.

Don’t use -gtk-icon-theme in your CSS

GTK now uses the current icon theme, without a way to change this.

Don’t use -gtk-outline-…-radius in your CSS

These non-standard properties have been removed from GTK CSS. Just use regular border radius.

Adapt to drawing model changes

This area has seen the most radical changes in the transition from GTK 3 to GTK 4. Widgets no longer use a draw() function to render their contents to a cairo surface. Instead, they have a snapshot() function that creates one or more GskRenderNodes to represent their content. Third-party widgets that use a draw() function or a “draw” signal handler for custom drawing will need to be converted to use gtk_snapshot_append_cairo().

The auxiliary GtkSnapshot object has APIs to help with creating render nodes.

If you are using a GtkDrawingArea for custom drawing, you need to switch to using gtk_drawing_area_set_draw_func() to set a draw function instead of connecting a handler to the “draw” signal.

Stop using APIs to query GdkSurfaces

A number of APIs for querying special-purpose windows have been removed, since these windows are no longer publically available: gtk_tree_view_get_bin_window(), gtk_viewport_get_bin_window(), gtk_viewport_get_view_window().

Widgets are now visible by default

The default value of “visible” in GTK 4 is TRUE, so you no longer need to explicitly show all your widgets. On the flip side, you need to hide widgets that are not meant to be visible from the start. The only widgets that still need to be explicitly shown are toplevel windows, dialogs and popovers.

A convenient way to remove unnecessary property assignments like this from ui files it run the command gtk4-builder-tool simplify --replace on them.

The function gtk_widget_show_all(), the “no-show-all” property and its getter and setter have been removed in GTK 4, so you should stop using them.

Adapt to changes in animated hiding and showing of widgets

Widgets that appear and disappear with an animation, such as GtkPopover, GtkInfoBar, GtkRevealer no longer use gtk_widget_show() and gtk_widget_hide() for this, but have gained dedicated APIs for this purpose that you should use.

Stop passing commandline arguments to gtk_init

The gtk_init() and gtk_init_check() functions no longer accept commandline arguments. Just call them without arguments. Other initialization functions that were purely related to commandline argument handling, such as gtk_parse_args() and gtk_get_option_group(), are gone. The APIs to initialize GDK separately are also gone, but it is very unlikely that you are affected by that.

GdkPixbuf is deemphasized

A number of GdkPixbuf-based APIs have been removed. The available replacements are either using GIcon, or the newly introduced GdkTexture or GdkPaintable classes instead. If you are dealing with pixbufs, you can use gdk_texture_new_for_pixbuf() to convert them to texture objects where needed.

GtkWidget event signals are removed

Event controllers and GtkGestures have already been introduced in GTK 3 to handle input for many cases. In GTK 4, the traditional widget signals for handling input, such as “motion-event” or “event” have been removed.

Invalidation handling has changed

Only gtk_widget_queue_draw() is left to mark a widget as needing redraw. Variations like gtk_widget_queue_draw_rectangle() or gtk_widget_queue_draw_region() are no longer available.

Stop using GtkWidget::draw

The “draw” signal has been removed. Widgets need to implement the GtkWidgetClass.snapshot() function now. Connecting draw signal handlers is no longer possible. If you want to keep using cairo for drawing, use gtk_snaphot_append_cairo().

Window content observation has changed

Observing widget contents and widget size is now done by using the GtkWidgetPaintable object instead of connecting to widget signals.

Monitor handling has changed

Instead of a monitor number, GdkMonitor is now used throughout. gdk_display_get_monitors() returns the list of monitors that can be queried or observed for monitors to pass to APIs like gtk_window_fullscreen_on_monitor().

Adapt to monitor API changes

The gdk_monitor_get_workarea() API is gone. Individual backends can still provide this information, for example with gdk_x11_monitor_get_workarea().

If you use this information, your code should check which backend is in use and then call the appropriate backend API.

Adapt to cursor API changes

Use the new gtk_widget_set_cursor() function to set cursors, instead of setting the cursor on the underlying window directly. This is necessary because most widgets don’t have their own window anymore, turning any such calls into global cursor changes.

For creating standard cursors, gdk_cursor_new_for_display() has been removed, you have to use cursor names instead of GdkCursorType. For creating custom cursors, use gdk_cursor_new_from_texture(). The ability to get cursor images has been removed.

Adapt to icon size API changes

Instead of the existing extensible set of symbolic icon sizes, GTK now only supports normal and large icons with the GtkIconSize enumeration. The actual sizes can be defined by themes via the CSS property -gtk-icon-size.

GtkImage setters like gtk_image_set_from_icon_name() no longer take a GtkIconSize argument. You can use the separate gtk_image_set_icon_size() setter if you need to override the icon size.

The :stock-size property of GtkCellRendererPixbuf has been renamed to “icon-size”.

Adapt to changes in the GtkAssistant API

The :has-padding property is gone, and GtkAssistant no longer adds padding to pages. You can easily do that yourself.

Adapt to changes in the API of GtkEntry, GtkSearchEntry and GtkSpinButton

The GtkEditable interface has been made more useful, and the core functionality of GtkEntry has been broken out as a GtkText widget. GtkEntry, GtkSearchEntry, GtkSpinButton and the new GtkPasswordEntry now use a GtkText widget internally and implement GtkEditable. In particular, this means that it is no longer possible to use GtkEntry API such as gtk_entry_grab_focus_without_selecting() on a search entry.

Use GtkEditable API for editable functionality, and widget-specific APIs for things that go beyond the common interface. For password entries, use GtkPasswordEntry. As an example, gtk_spin_button_set_max_width_chars() has been removed in favor of gtk_editable_set_max_width_chars().

Adapt to changes in GtkOverlay API

The GtkOverlay :pass-through child property has been replaced by the “can-target” property. Note that they have the opposite sense: pass-through == !can-target.

Use GtkFixed instead of GtkLayout

Since GtkScrolledWindow can deal with widgets that do not implement the GtkScrollable interface by automatically wrapping them into a GtkViewport, GtkLayout is redundant, and has been removed in favor of the existing GtkFixed container widget.

Adapt to search entry changes

The way search entries are connected to global events has changed; gtk_search_entry_handle_event() has been dropped and replaced by gtk_search_entry_set_key_capture_widget() and gtk_event_controller_key_forward().

Stop using gtk_window_activate_default()

The handling of default widgets has been changed, and activating the default now works by calling gtk_widget_activate_default() on the widget that caused the activation. If you have a custom widget that wants to override the default handling, you can provide an implementation of the default.activate action in your widgets’ action groups.

Stop setting ::has-default and ::has-focus in .ui files

The special handling for the ::has-default and ::has-focus properties has been removed. If you want to define the initial focus or the the default widget in a .ui file, set the ::default-widget or ::focus-widget properties of the toplevel window.

Stop using the GtkWidget::display-changed signal

To track the current display, use the “root” property instead.

GtkPopover::modal has been renamed to autohide

The modal property has been renamed to autohide. gtk-builder-tool can assist with the rename in ui files.

gtk_widget_get_surface has been removed

gtk_widget_get_surface() has been removed. Use gtk_native_get_surface() in combination with gtk_widget_get_native() instead.

gtk_widget_is_toplevel has been removed

gtk_widget_is_toplevel() has been removed. Use GTK_IS_ROOT, GTK_IS_NATIVE or GTK_IS_WINDOW instead, as appropriate.

gtk_widget_get_toplevel has been removed

gtk_widget_get_toplevel() has been removed. Use gtk_widget_get_root() or gtk_widget_get_native() instead, as appropriate.

GtkEntryBuffer ::deleted-text has changed

To allow signal handlers to access the deleted text before it has been deleted “deleted-text” has changed from G_SIGNAL_RUN_FIRST to G_SIGNAL_RUN_LAST. The default handler removes the text from the GtkEntryBuffer.

To adapt existing code, use g_signal_connect_after() or G_CONNECT_AFTER when using g_signal_connect_data() or g_signal_connect_object().

GtkMenu, GtkMenuBar and GtkMenuItem are gone

These widgets were heavily relying on X11-centric concepts such as override-redirect windows and grabs, and were hard to adjust to other windowing systems.

Menus can already be replaced using GtkPopoverMenu in GTK 3. Additionally, GTK 4 introduces GtkPopoverMenuBar to replace menubars. These new widgets can only be constructed from menu models, so the porting effort involves switching to menu models and actions.

Tabular menus were rarely used and complicated the menu code, so they have not been brought over to GtkPopoverMenu. If you need complex layout in menu-like popups, consider directly using a GtkPopover instead.

Since menus are gone, GtkMenuButton also lost its ability to show menus, and needs to be used with popovers in GTK 4.

GtkToolbar has been removed

Toolbars were using outdated concepts such as requiring special toolitem widgets. Toolbars should be replaced by using a GtkBox with regular widgets instead and the toolbar style class.

GtkAspectFrame is no longer a frame

GtkAspectFrame is no longer derived from GtkFrame and does not place a label and frame around its child anymore. It still lets you control the aspect ratio of its child.

Stop using custom tooltip windows

Tooltips no longer use GtkWindows in GTK 4, and it is no longer possible to provide a custom window for tooltips. Replacing the content of the tooltip with a custom widget is still possible, with gtk_tooltip_set_custom().

Switch to the new Drag-and-Drop api

The source-side Drag-and-Drop apis in GTK 4 have been changed to use an event controller, GtkDragSource. Instead of calling gtk_drag_source_set() and connecting to GtkWidget signals, you create a GtkDragSource object, attach it to the widget with gtk_widget_add_controller(), and connect to GtkDragSource signals. Instead of calling gtk_drag_begin() on a widget to start a drag manually, call gdk_drag_begin(). The ::drag-data-get signal has been replaced by the “prepare” signal, which returns a GdkContentProvider for the drag operation.

The destination-side Drag-and-Drop apis in GTK 4 have also been changed to use an event controller, GtkDropTarget. Instead of calling gtk_drag_dest_set() and connecting to GtkWidget signals, you create a GtkDropTarget object, attach it to the widget with gtk_widget_add_controller(), and connect to GtkDropTarget signals. The ::drag-motion signal has been renamed to “accept”, and instead of ::drag-data-received, you need to use async read methods on the GdkDrop object, such as gdk_drop_read_async() or gdk_drop_read_value_async().

Adapt to GtkIconTheme API changes

gtk_icon_theme_lookup_icon() returns a GtkIconPaintable object now, instead of a GtkIconInfo. It always returns a paintable in the requested size, and never fails. A number of no-longer-relevant lookup flags and API variants have been removed.

Update to GtkFileChooser API changes

GtkFileChooser moved to a GFile-based API. If you need to convert a path or a URI, use g_file_new_for_path(), g_file_new_for_commandline_arg(), or g_file_new_for_uri(); similarly, if you need to get a path or a URI from a GFile, use g_file_get_path(), or g_file_get_uri(). With the removal or path and URI-based functions, the local-only property has been removed; GFile can be used to access non-local as well as local resources.

The GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER action has been removed. Use GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, instead. If a new folder is needed, the user can create one.

The confirm-overwrite signal, and the do-overwrite-confirmation property have been removed from GtkFileChooser. The file chooser widgets will automatically handle the confirmation of overwriting a file when using GTK_FILE_CHOOSER_ACTION_SAVE.

GtkFileChooser does not support a custom extra widget any more. If you need to add extra widgets, use gtk_file_chooser_add_choice() instead.

GtkFileChooser does not support a custom preview widget any more. If you need to show a custom preview, you can create your own GtkDialog with a GtkFileChooserWidget and your own preview widget that you update whenever the “selection-changed” signal is emitted.

Stop using blocking dialog functions

GtkDialog, GtkNativeDialog, and GtkPrintOperation removed their blocking API using nested main loops. Nested main loops present re-entrancy issues and other hard to debug issues when coupled with other event sources (IPC, accessibility, network operations) that are not under the toolkit or the application developer’s control. Additionally, stop-the-world functions do not fit the event-driven programming model of GTK.

You can replace calls to <function>gtk_dialog_run()</function> by specifying that the GtkDialog must be modal using gtk_window_set_modal() or the GTK_DIALOG_MODAL flag, and connecting to the “response” signal.

docs/reference/gtk/html/ch41s03.html0000664000175000017500000000502613710700534017303 0ustar mclasenmclasen Changes to consider after the switch: GTK 4 Reference Manual

Changes to consider after the switch

GTK 4 has a number of new features that you may want to take advantage of once the dust has settled over the initial migration.

Consider porting to the new list widgets

In GTK 2 and 3, GtkTreeModel and GtkCellRenderer and widgets using these were the primary way of displaying data and lists. GTK 4 brings a new family of widgets for this purpose that uses list models instead of tree models, and widgets instead of cell renderers.

To learn more about the new list widgets, you can read the List Widget Overview.

docs/reference/gtk/html/gtk-migrating-3-to-4.html0000664000175000017500000010313213710700534021700 0ustar mclasenmclasen Migrating from GTK 3.x to GTK 4: GTK 4 Reference Manual

Migrating from GTK 3.x to GTK 4

Preparation in GTK 3.x
Do not use deprecated symbols
Enable diagnostic warnings
Do not use widget style properties
Review your window creation flags
Stop using direct access to GdkEvent structs
Stop using gdk_pointer_warp()
Stop using non-RGBA visuals
Stop using GtkBox padding, fill and expand child properties
Stop using the state argument of GtkStyleContext getters
Stop using gdk_pixbuf_get_from_window() and gdk_cairo_set_source_surface()
Stop using GtkWidget event signals
Set a proper application ID
Stop using gtk_main() and related APIs
Reduce the use of gtk_widget_destroy()
Reduce the use of generic container APIs
Changes that need to be done at the time of the switch
Stop using GdkScreen
Stop using the root window
Stop using GdkVisual
Stop using GdkDeviceManager
Adapt to GdkWindow API changes
The iconified window state has been renamed to minimized
Adapt to GdkEvent API changes
Stop using grabs
Adapt to coordinate API changes
Adapt to GdkKeymap API changes
Adapt to changes in keyboard modifier handling
Stop using gtk_get_current_… APIs
Convert your ui files
Adapt to event controller API changes
Focus handling changes
Use the new apis for keyboard shortcuts
Stop using GtkEventBox
Stop using GtkButtonBox
Adapt to GtkBox API changes
Adapt to GtkHeaderBar and GtkActionBar API changes
Adapt to GtkStack, GtkAssistant and GtkNotebook API changes
Adapt to GtkScrolledWindow API changes
Adapt to GtkBin removal
Adapt to GtkContainer removal
Stop using GtkContainer::border-width
Adapt to gtk_widget_destroy() removal
Adapt to coordinate API changes
Adapt to GtkStyleContext API changes
Adapt to GtkCssProvider API changes
Stop using GtkShadowType and GtkRelief properties
Adapt to GtkWidget’s size request changes
Adapt to GtkWidget’s size allocation changes
Switch to GtkWidget’s children APIs
Don’t use -gtk-gradient in your CSS
Don’t use -gtk-icon-effect in your CSS
Don’t use -gtk-icon-theme in your CSS
Don’t use -gtk-outline-…-radius in your CSS
Adapt to drawing model changes
Stop using APIs to query GdkSurfaces
Widgets are now visible by default
Adapt to changes in animated hiding and showing of widgets
Stop passing commandline arguments to gtk_init
GdkPixbuf is deemphasized
GtkWidget event signals are removed
Invalidation handling has changed
Stop using GtkWidget::draw
Window content observation has changed
Monitor handling has changed
Adapt to monitor API changes
Adapt to cursor API changes
Adapt to icon size API changes
Adapt to changes in the GtkAssistant API
Adapt to changes in the API of GtkEntry, GtkSearchEntry and GtkSpinButton
Adapt to changes in GtkOverlay API
Use GtkFixed instead of GtkLayout
Adapt to search entry changes
Stop using gtk_window_activate_default()
Stop setting ::has-default and ::has-focus in .ui files
Stop using the GtkWidget::display-changed signal
GtkPopover::modal has been renamed to autohide
gtk_widget_get_surface has been removed
gtk_widget_is_toplevel has been removed
gtk_widget_get_toplevel has been removed
GtkEntryBuffer ::deleted-text has changed
GtkMenu, GtkMenuBar and GtkMenuItem are gone
GtkToolbar has been removed
GtkAspectFrame is no longer a frame
Stop using custom tooltip windows
Switch to the new Drag-and-Drop api
Adapt to GtkIconTheme API changes
Update to GtkFileChooser API changes
Stop using blocking dialog functions
Changes to consider after the switch
Consider porting to the new list widgets

GTK 4 is a major new version of GTK that breaks both API and ABI compared to GTK 3.x. Thankfully, most of the changes are not hard to adapt to and there are a number of steps that you can take to prepare your GTK 3.x application for the switch to GTK 4. After that, there’s a number of adjustments that you may have to do when you actually switch your application to build against GTK 4.

Preparation in GTK 3.x

The steps outlined in the following sections assume that your application is working with GTK 3.24, which is the final stable release of GTK 3.x. It includes all the necessary APIs and tools to help you port your application to GTK 4. If you are using an older version of GTK 3.x, you should first get your application to build and work with the latest minor release in the 3.24 series.

Do not use deprecated symbols

Over the years, a number of functions, and in some cases, entire widgets have been deprecated. These deprecations are clearly spelled out in the API reference, with hints about the recommended replacements. The API reference for GTK 3 also includes an index of all deprecated symbols.

To verify that your program does not use any deprecated symbols, you can use defines to remove deprecated symbols from the header files, as follows:

make CFLAGS+="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"

Note that some parts of our API, such as enumeration values, are not well covered by the deprecation warnings. In most cases, using them will require you to also use deprecated functions, which will trigger warnings.

Enable diagnostic warnings

Deprecations of properties and signals cannot be caught at compile time, as both properties and signals are installed and used after types have been instantiated. In order to catch deprecations and changes in the run time components, you should use the G_ENABLE_DIAGNOSTIC environment variable when running your application, e.g.:

G_ENABLE_DIAGNOSTIC=1 ./your-app

Do not use widget style properties

Style properties do not exist in GTK 4. You should stop using them in your custom CSS and in your code.

Review your window creation flags

GTK 4 removes the GDK_WA_CURSOR flag. Instead, just use gdk_window_set_cursor() to set a cursor on the window after creating it. GTK 4 also removes the GDK_WA_VISUAL flag, and always uses an RGBA visual for windows. To prepare your code for this, use gdk_window_set_visual (gdk_screen_get_rgba_visual()) after creating your window. GTK 4 also removes the GDK_WA_WMCLASS flag. If you need this X11-specific functionality, use XSetClassHint() directly.

Stop using direct access to GdkEvent structs

In GTK 4, event structs are opaque and immutable. Many fields already have accessors in GTK 3, and you should use those to reduce the amount of porting work you have to do at the time of the switch.

Stop using gdk_pointer_warp()

Warping the pointer is disorienting and unfriendly to users. GTK 4 does not support it. In special circumstances (such as when implementing remote connection UIs) it can be necessary to warp the pointer; in this case, use platform APIs such as XWarpPointer() directly.

Stop using non-RGBA visuals

GTK 4 always uses RGBA visuals for its windows; you should make sure that your code works with such visuals. At the same time, you should stop using GdkVisual APIs, since this object not longer exists in GTK 4. Most of its APIs are deprecated already and not useful when dealing with RGBA visuals.

Stop using GtkBox padding, fill and expand child properties

GTK 4 removes these GtkBox child properties, so you should stop using them. You can replace GtkBox:padding using the “margin” properties on your GtkBox child widgets.

The fill child property can be replaced by setting appropriate values for the “halign” and “valign” properties of the child widgets. If you previously set the fill child property to TRUE, you can achieve the same effect by setting the halign or valign properties to GTK_ALIGN_FILL, depending on the parent box – halign for a horizontal box, valign for a vertical one.

GtkBox also uses the expand child property. It can be replaced by setting “hexpand” or “vexpand” on the child widgets. To match the old behavior of the GtkBox’s expand child property, you need to set “hexpand” on the child widgets of a horizontal GtkBox and “vexpand” on the child widgets of a vertical GtkBox.

Note that there’s a subtle but important difference between GtkBox’s expand and fill child properties and the ones in GtkWidget: setting “hexpand” or “vexpand” to TRUE will propagate up the widget hierarchy, so a pixel-perfect port might require you to reset the expansion flags to FALSE in a parent widget higher up the hierarchy.

Stop using the state argument of GtkStyleContext getters

The getters in the GtkStyleContext API, such as gtk_style_context_get_property(), gtk_style_context_get(), or gtk_style_context_get_color() only accept the context’s current state for their state argument. You should update all callers to pass the current state.

Stop using gdk_pixbuf_get_from_window() and gdk_cairo_set_source_surface()

These functions are not supported in GTK 4. Instead, either use backend-specific APIs, or render your widgets using GtkWidgetClass.snapshot() (once you are using GTK 4).

Stop using GtkButton’s image-related API

The functions and properties related to automatically add a GtkImage to a GtkButton, and using a GtkSetting to control its visibility, are not supported in GTK 4. Instead, you can just pack a GtkImage inside a GtkButton, and control its visibility like you would for any other widget. If you only want to add a named icon to a GtkButton, you can use gtk_button_new_from_icon_name().

Stop using GtkWidget event signals

Event controllers and gestures replace event signals in GTK 4.

Most of them have been backported to GTK 3.x so you can prepare for this change.

Signal Event controller
::event GtkEventControllerLegacy
::event-after GtkEventControllerLegacy
::button-press-event GtkGestureClick
::button-release-event GtkGestureClick
::touch-event various touch gestures
::scroll-event GtkEventControllerScroll
::motion-notify-event GtkEventControllerMotion
::delete-event -
::key-press-event GtkEventControllerKey
::key-release-event GtkEventControllerKey
::enter-notify-event GtkEventControllerMotion
::leave-notify-event GtkEventControllerMotion
::configure-event replaced by “size-changed”
::focus-in-event GtkEventControllerFocus
::focus-out-event GtkEventControllerFocus
::map-event replaced by “mapped”
::unmap-event replaced by “mapped”
::property-notify-event replaced by GdkClipboard
::selection-clear-event replaced by GdkClipboard
::selection-request-event replaced by GdkClipboard
::selection-notify-event replaced by GdkClipboard
Drag-and-Drop signals GtkDragSource, GtkDropTarget
::proximity-in-event GtkGestureStylus
::proximity-out-event GtkGestureStylus
::visibility-notify-event -
::window-state-event replaced by “state”
::damage-event -
::grab-broken-event -

Set a proper application ID

In GTK 4 we want the application’s GApplication application-id (and therefore the D-Bus name), the desktop file basename and Wayland’s xdg-shell app_id to match. In order to achieve this with GTK 3.x call g_set_prgname() with the same application ID you passed to GtkApplication. Rename your desktop files to match the application ID if needed.

The call to g_set_prgname() can be removed once you fully migrated to GTK 4.

You should be aware that changing the application ID makes your application appear as a new, different app to application installers. You should consult the appstream documentation for best practices around renaming applications.

Stop using gtk_main() and related APIs

GTK 4 removes the gtk_main_ family of APIs. The recommended replacement is GtkApplication, but you can also iterate the GLib mainloop directly, using GMainContext APIs. The replacement for gtk_events_pending() is g_main_context_pending(), the replacement for gtk_main_iteration() is g_main_context_iteration().

Reduce the use of gtk_widget_destroy()

GTK 4 introduces a gtk_window_destroy() api. While that is not available in GTK 3, you can prepare for the switch by using gtk_widget_destroy() only on toplevel windows, and replace all other uses with gtk_container_remove() or g_object_unref().

Reduce the use of generic container APIs

GTK 4 removes gtk_container_add() and gtk_container_remove(). While there is not always a replacement for gtk_container_remove() in GTK 3, you can replace many uses of gtk_container_add() with equivalent container-specific APIs such as gtk_box_pack_start() or gtk_grid_attach(), and thereby reduce the amount of work you have to do at the time of the switch.

docs/reference/gtk/html/migrating.html0000664000175000017500000003241613710700534020202 0ustar mclasenmclasen Part VI. Migrating from Previous Versions of GTK: GTK 4 Reference Manual

Part VI. Migrating from Previous Versions of GTK

This part describes what you need to change in programs use older versions of GTK so that they can use the new features. It also mentions how to convert applications using widgets found in the libgnomeui library to use their counterparts in GTK.

Table of Contents

Migrating from GTK 2.x to GTK 4
Migrating from GTK 3.x to GTK 4
Preparation in GTK 3.x
Do not use deprecated symbols
Enable diagnostic warnings
Do not use widget style properties
Review your window creation flags
Stop using direct access to GdkEvent structs
Stop using gdk_pointer_warp()
Stop using non-RGBA visuals
Stop using GtkBox padding, fill and expand child properties
Stop using the state argument of GtkStyleContext getters
Stop using gdk_pixbuf_get_from_window() and gdk_cairo_set_source_surface()
Stop using GtkWidget event signals
Set a proper application ID
Stop using gtk_main() and related APIs
Reduce the use of gtk_widget_destroy()
Reduce the use of generic container APIs
Changes that need to be done at the time of the switch
Stop using GdkScreen
Stop using the root window
Stop using GdkVisual
Stop using GdkDeviceManager
Adapt to GdkWindow API changes
The iconified window state has been renamed to minimized
Adapt to GdkEvent API changes
Stop using grabs
Adapt to coordinate API changes
Adapt to GdkKeymap API changes
Adapt to changes in keyboard modifier handling
Stop using gtk_get_current_… APIs
Convert your ui files
Adapt to event controller API changes
Focus handling changes
Use the new apis for keyboard shortcuts
Stop using GtkEventBox
Stop using GtkButtonBox
Adapt to GtkBox API changes
Adapt to GtkHeaderBar and GtkActionBar API changes
Adapt to GtkStack, GtkAssistant and GtkNotebook API changes
Adapt to GtkScrolledWindow API changes
Adapt to GtkBin removal
Adapt to GtkContainer removal
Stop using GtkContainer::border-width
Adapt to gtk_widget_destroy() removal
Adapt to coordinate API changes
Adapt to GtkStyleContext API changes
Adapt to GtkCssProvider API changes
Stop using GtkShadowType and GtkRelief properties
Adapt to GtkWidget’s size request changes
Adapt to GtkWidget’s size allocation changes
Switch to GtkWidget’s children APIs
Don’t use -gtk-gradient in your CSS
Don’t use -gtk-icon-effect in your CSS
Don’t use -gtk-icon-theme in your CSS
Don’t use -gtk-outline-…-radius in your CSS
Adapt to drawing model changes
Stop using APIs to query GdkSurfaces
Widgets are now visible by default
Adapt to changes in animated hiding and showing of widgets
Stop passing commandline arguments to gtk_init
GdkPixbuf is deemphasized
GtkWidget event signals are removed
Invalidation handling has changed
Stop using GtkWidget::draw
Window content observation has changed
Monitor handling has changed
Adapt to monitor API changes
Adapt to cursor API changes
Adapt to icon size API changes
Adapt to changes in the GtkAssistant API
Adapt to changes in the API of GtkEntry, GtkSearchEntry and GtkSpinButton
Adapt to changes in GtkOverlay API
Use GtkFixed instead of GtkLayout
Adapt to search entry changes
Stop using gtk_window_activate_default()
Stop setting ::has-default and ::has-focus in .ui files
Stop using the GtkWidget::display-changed signal
GtkPopover::modal has been renamed to autohide
gtk_widget_get_surface has been removed
gtk_widget_is_toplevel has been removed
gtk_widget_get_toplevel has been removed
GtkEntryBuffer ::deleted-text has changed
GtkMenu, GtkMenuBar and GtkMenuItem are gone
GtkToolbar has been removed
GtkAspectFrame is no longer a frame
Stop using custom tooltip windows
Switch to the new Drag-and-Drop api
Adapt to GtkIconTheme API changes
Update to GtkFileChooser API changes
Stop using blocking dialog functions
Changes to consider after the switch
Consider porting to the new list widgets
docs/reference/gtk/html/gtk4-demo.html0000664000175000017500000000662513710700534020017 0ustar mclasenmclasen gtk4-demo: GTK 4 Reference Manual

gtk4-demo

gtk4-demo — Demonstrate GTK widgets

Synopsis

gtk4-demo [--help] [--list] [--run EXAMPLE] [--autoquit]

Description

gtk4-demo is a collection of examples. Its purpose is to demonstrate many GTK widgets in a form that is useful to application developers.

The application shows the source code for each example, as well as other used resources, such as ui files and icons.

Options

The following options are understood:

-h, --help

Show help options

--list

List available examples.

-run EXAMPLE

Run the named example. Use --list to see the available examples.

--autoquit

Quit after a short timeout. This is intended for use with --run, e.g. when profiling.

docs/reference/gtk/html/gtk4-demo-application.html0000664000175000017500000000436013710700534022312 0ustar mclasenmclasen gtk4-demo-application: GTK 4 Reference Manual

gtk4-demo-application

gtk4-demo-application — Demonstrate GtkApplication

Synopsis

gtk4-demo-application

Description

gtk4-demo-application is an example application used by gtk4-demo. There is no need to call it manually.

docs/reference/gtk/html/gtk4-widget-factory.html0000664000175000017500000000540713710700534022020 0ustar mclasenmclasen gtk4-widget-factory: GTK 4 Reference Manual

gtk4-widget-factory

gtk4-widget-factory — Demonstrate GTK widgets

Synopsis

gtk4-widget-factory [--help]

Description

gtk4-widget-factory is a collection of examples. Its purpose is to demonstrate many GTK widgets in a form that is useful to GTK theme developers.

The application shows widgets in different, typical combinations and states.

Options

The following options are understood:

-h, --help

Show help options

docs/reference/gtk/html/gtk4-icon-browser.html0000664000175000017500000000534713710700534021504 0ustar mclasenmclasen gtk4-icon-browser: GTK 4 Reference Manual

gtk4-icon-browser

gtk4-icon-browser — List themed icons

Synopsis

gtk4-icon-browser [--help]

Description

gtk4-icon-browser is a utility to explore the icons in the current icon theme. It shows icons in various sizes, their symbolic variants where available, as well as a description of the icon and its context.

Options

The following options are understood:

-h, --help

Show help options

docs/reference/gtk/html/gtk4-update-icon-cache.html0000664000175000017500000001143313710700534022335 0ustar mclasenmclasen gtk4-update-icon-cache: GTK 4 Reference Manual

gtk4-update-icon-cache

gtk4-update-icon-cache — Icon theme caching utility

Synopsis

gtk4-update-icon-cache [--force] [--ignore-theme-index] [ --index-only | --include-image-data ] [--source NAME ] [--quiet] [--validate] PATH

Description

gtk4-update-icon-cache creates mmapable cache files for icon themes.

It expects to be given the PATH to an icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.cache containing cached information about the icons in the directory tree below the given directory.

GTK can use the cache files created by gtk4-update-icon-cache to avoid a lot of system call and disk seek overhead when the application starts. Since the format of the cache files allows them to be mmaped shared between multiple applications, the overall memory consumption is reduced as well.

Options

--force, -f

Overwrite an existing cache file even if it appears to be uptodate.

--ignore-theme-index, -t

Don't check for the existence of index.theme in the icon theme directory. Without this option, gtk4-update-icon-cache refuses to create an icon cache in a directory which does not appear to be the toplevel directory of an icon theme.

--index-only, -i

Don't include image data in the cache.

--include-image-data

Include image data in the cache.

--source, -c

Output a C header file declaring a constant NAME with the contents of the icon cache.

--quiet, -q

Turn off verbose output.

--validate, -v

Validate existing icon cache.

docs/reference/gtk/html/gtk4-encode-symbolic-svg.html0000664000175000017500000000664213710700534022743 0ustar mclasenmclasen gtk4-encode-symbolic-svg: GTK 4 Reference Manual

gtk4-encode-symbolic-svg

gtk4-encode-symbolic-svg — Symbolic icon conversion utility

Synopsis

gtk4-encode-symbolic-svg [OPTION...] PATH WIDTHxHEIGHT

Description

gtk4-encode-symbolic-svg converts symbolic svg icons into specially prepared png files. GTK can load and recolor these pngs, just like original svgs, but loading them is much faster.

PATH is the name of a symbolic svg file, WIDTHxHEIGHT are the desired dimensions for the generated png file.

To distinguish them from ordinary pngs, the generated files have the extension .symbolic.png.

Options

-o DIRECTORY, --output DIRECTORY

Write png files to DIRECTORY instead of the current working directory.

docs/reference/gtk/html/gtk4-builder-tool.html0000664000175000017500000001151313710700534021464 0ustar mclasenmclasen gtk4-builder-tool: GTK 4 Reference Manual

gtk4-builder-tool

gtk4-builder-tool — GtkBuilder file utility

Synopsis

gtk4-builder-tool [COMMAND] [OPTION...] FILE

Description

gtk4-builder-tool can perform various operations on GtkBuilder .ui files.

You should always test the modified .ui files produced by gtk4-builder-tool before using them in production.

Commands

The following commands are understood:

validate

Validates the .ui file and report errors to stderr.

simplify

Simplifies the .ui file by removing properties that are set to their default values and write the resulting XML to stdout, or back to the input file.

enumerate

Lists all the named objects that are created in the .ui file.

preview

Preview the .ui file. This command accepts options to specify the ID of an object and a .css file to use.

Simplify Options

The simplify command accepts the following options:

--replace

Write the content back to the .ui file instead of stdout.

--3to4

Transform a GTK 3 ui file to GTK 4

Preview Options

The preview command accepts the following options:

--id= ID

The ID of the object to preview. If not specified, gtk4-builder-tool will choose a suitable object on its own.

--css= FILE

Load style information from the given .css file.

docs/reference/gtk/html/gtk4-launch.html0000664000175000017500000000665713710700534020352 0ustar mclasenmclasen gtk4-launch: GTK 4 Reference Manual

gtk4-launch

gtk4-launch — Launch an application

Synopsis

gtk4-launch [OPTION...] APPLICATION [URI...]

Description

gtk4-launch launches an application using the given name. The application is started with proper startup notification on a default display, unless specified otherwise.

gtk4-launch takes at least one argument, the name of the application to launch. The name should match application desktop file name, as residing in /usr/share/application, with or without the '.desktop' suffix.

If called with more than one argument, the rest of them besides the application name are considered URI locations and are passed as arguments to the launched application.

Options

The following options are understood:

-?, --help

Prints a short help text and exits.

--version

Prints the program version and exits.

docs/reference/gtk/html/gtk4-query-settings.html0000664000175000017500000000452613710700534022074 0ustar mclasenmclasen gtk4-query-settings: GTK 4 Reference Manual

gtk4-query-settings

gtk4-query-settings — Utility to print name and value of all GtkSettings properties

Synopsis

gtk4-query-settings [PATTERN]

Description

gtk4-query-settings prints both name and value of all properties available in the GtkSettings class. Optionally, you can filter which properties to list by specifying a PATTERN.

docs/reference/gtk/html/gtk4-broadwayd.html0000664000175000017500000000775013710700534021047 0ustar mclasenmclasen gtk4-broadwayd: GTK 4 Reference Manual

gtk4-broadwayd

gtk4-broadwayd — Broadway display server

Synopsis

gtk4-broadwayd [--port PORT] [--address ADDRESS] [--unixsocket ADDRESS] [:DISPLAY]

Description

gtk4-broadwayd is a display server for the Broadway GDK backend. It allows multiple GTK applications to display their windows in the same web browser, by connecting to gtk4-broadwayd.

When using gtk4-broadwayd, specify the display number to use, prefixed with a colon, similar to X. The default display number is 0.

gtk4-broadwayd :5

Then point your web browser at http://127.0.0.1:8085. Start your applications like this:

GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo

Options

--port

Use PORT as the HTTP port, instead of the default 8080 + (DISPLAY - 1).

--address

Use ADDRESS as the HTTP address, instead of the default http://127.0.0.1:PORT.

--unixsocket

Use ADDRESS as the unix domain socket address. This option overrides --address and --port. It is available only on Unix-like systems.

docs/reference/gtk/html/theming.html0000664000175000017500000000632213710700534017651 0ustar mclasenmclasen Part V. Theming in GTK: GTK 4 Reference Manual

Part V. Theming in GTK

Table of Contents

CSS in GTK
CSS nodes
The CSS nodes of a GtkScale
Selectors
GTK CSS Selectors
GTK CSS Properties
Basic types
Colors
Images
GTK CSS Properties
GtkStyleContext — Rendering UI elements
GtkCssProvider — CSS-like styling for widgets
GtkStyleProvider — Interface to provide style information to GtkStyleContext
GtkIconTheme — Looking up icons by name
docs/reference/gtk/html/build-types.html0000664000175000017500000000743513710700534020465 0ustar mclasenmclasen Build types: GTK 4 Reference Manual

Build types

Meson has different build types, exposed by the buildtype configuration option. GTK enables and disables functionality depending on the build type used when calling meson to configure the build.

Debug builds

GTK will enable debugging code paths in both the debug and debugoptimized build types. Builds with buildtype set to debug will additionally enable consistency checks on the internal state of the toolkit.

It is recommended to use the debug or debugoptimized build types when developing GTK itself. Additionally, debug builds of GTK are recommended for profiling and debugging GTK applications, as they include additional validation of the internal state.

The debugoptimized build type is the default for GTK if no build type is specified when calling meson.

Release builds

The release build type will disable debugging code paths and additional run time safeties, like checked casts for object instances.

The plain build type provided by Meson should only be used when packaging GTK, and it’s expected that packagers will provide their own compiler flags when building GTK. See the previous section for the list of environment variables to be used to define compiler and linker flags.

docs/reference/gtk/html/dependencies.html0000664000175000017500000001442613710700534020650 0ustar mclasenmclasen Dependencies: GTK 4 Reference Manual

Dependencies

Before you can compile the GTK widget toolkit, you need to have various other tools and libraries installed on your system. Dependencies of GTK have their own build systems, so you will need to refer to their own installation instructions.

A particular important tool used by GTK to find its dependencies is pkg-config.

pkg-config is a tool for tracking the compilation flags needed for libraries that are used by the GTK libraries. (For each library, a small .pc text file is installed in a standard location that contains the compilation flags needed for that library along with version number information.)

Some of the libraries that GTK depends on are maintained by the GTK team: GLib, GdkPixbuf, Pango, and GObject Introspection. Other libraries are maintained separately.

  • The GLib library provides core non-graphical functionality such as high level data types, Unicode manipulation, and an object and type system to C programs. It is available from here.

  • The GdkPixbuf library provides facilities for loading images in a variety of file formats. It is available here.

  • Pango is a library for internationalized text handling. It is available here.

  • GObject Introspection is a framework for making introspection data available to language bindings. It is available here.

  • The GNU libiconv library is needed to build GLib if your system doesn’t have the iconv() function for doing conversion between character encodings. Most modern systems should have iconv().

  • The libintl library from the GNU gettext package is needed if your system doesn’t have the gettext() functionality for handling message translation databases.

  • The libraries from the X window system are needed to build Pango and GTK. You should already have these installed on your system, but it’s possible that you’ll need to install the development environment for these libraries that your operating system vendor provides.

  • The fontconfig library provides Pango with a standard way of locating fonts and matching them against font names.

  • Cairo is a graphics library that supports vector graphics and image compositing. Both Pango and GTK use Cairo for drawing.

  • libepoxy is a library that abstracts the differences between different OpenGL libraries. GTK uses it for cross-platform GL support and for its own drawing.

  • Graphene is a library that provides vector and matrix types for 2D and 3D transformations. GTK uses it internally for drawing.

  • The Wayland libraries are needed to build GTK with the Wayland backend.

  • The shared-mime-info package is not a hard dependency of GTK, but it contains definitions for mime types that are used by GIO and, indirectly, by GTK. gdk-pixbuf will use GIO for mime type detection if possible. For this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS set accordingly at configure time. Otherwise, gdk-pixbuf falls back to its built-in mime type detection.

docs/reference/gtk/html/building.html0000664000175000017500000000647413710700534020023 0ustar mclasenmclasen Building and testing GTK: GTK 4 Reference Manual

Building and testing GTK

First make sure that you have the necessary external dependencies installed: pkg-config, Meson, Ninja, the JPEG, PNG, and TIFF libraries, FreeType, and, if necessary, libiconv and libintl. To get detailed information about building these packages, see the documentation provided with the individual packages. On any average Linux system, it’s quite likely you’ll have all of these installed already, or they will be easily accessible through your operating system package repositories.

Then build and install the GTK libraries in the order: GLib, Cairo, Pango, then GTK. For each library, follow the instructions they provide, and make sure to share common settings between them and the GTK build; if you are using a separate prefix for GTK, for instance, you will need to use the same prefix for all its dependencies you build. If you’re lucky, this will all go smoothly, and you’ll be ready to start compiling your own GTK applications. You can test your GTK installation by running the gtk4-demo program that GTK installs.

If one of the projects you’re configuring or building fails, look closely at the error messages printed; these will often provide useful information as to what went wrong. Every build system has its own log that can help you understand the issue you’re encountering. If all else fails, you can ask for help on the GTK forums.

docs/reference/gtk/html/extra-configuration-options.html0000664000175000017500000001405413710700534023700 0ustar mclasenmclasen Extra Configuration Options: GTK 4 Reference Manual

Extra Configuration Options

In addition to the normal options provided by Meson, GTK defines various arguments that modify what should be built. All of these options are passed to meson as -Doption=value. Most of the time, the value can be true or false. To see a summary of all supported options and their allowed values, run

meson configure builddir

xinerama

By default GTK will try to link against the Xinerama libraries if they are found. This option can be used to explicitly control whether Xinerama should be used.

gtk_doc and man-pages

The gtk-doc package is used to generate the reference documentation included with GTK. By default support for gtk-doc is disabled because it requires various extra dependencies to be installed. If you have gtk-doc and pandoc installed and are modifying GTK, you may want to enable gtk-doc support by passing in -Dgtk_doc=true.

Additionally, some tools provided by GTK have their own manual pages generated using a similar set of dependencies; if you have xsltproc then you can generate manual pages by passing -Dman-pages=true when configuring the build.

print-backends

By default, GTK will try to build various print backends if their dependencies are found. This option can be used to explicitly control which print backends should be built.

x11-backend, win32-backend, broadway-backend, wayland-backend and quartz-backend

Enable specific backends for GDK. If none of these options are given, the Wayland backend will be enabled by default, if the platform is Linux; the X11 backend will also be enabled by default, unless the platform is Windows, in which case the default is win32, or the platform is macOS, in which case the default is quartz. If any backend is explicitly enabled or disabled, no other platform will be enabled automatically.

introspection

Allows to disable building introspection support. This is option is mainly useful for shortening turnaround times on developer systems. Installed builds of GTK should always have introspection support.

build-tests, install-tests, demos

By default, GTK will build quite a few tests and demos. While these are useful on a developer system, they are not needed when GTK is built e.g. for a flatpak runtime. These options allow to disable building tests and demos.

docs/reference/gtk/html/gtk-building.html0000664000175000017500000001663313710700534020604 0ustar mclasenmclasen Compiling the GTK Libraries: GTK 4 Reference Manual

Compiling the GTK Libraries

Building GTK

Before we get into the details of how to compile GTK, we should mention that in many cases, binary packages of GTK prebuilt for your operating system will be available, either from your operating system vendor or from independent sources. If such a set of packages is available, installing it will get you programming with GTK much faster than building it yourself. In fact, you may well already have GTK installed on your system already.

In order to build GTK, you will need meson installed on your system. On Linux, and other UNIX-like operating systems, you will also need ninja. This guide does not cover how to install these two requirements, but you can refer to the Meson website for more information. The Ninja build tool is also usable on various operating systems, so we will refer to it in the examples.

If you are building GTK from a source distribution or from a Git clone, you will need to use meson to configure the project. The most commonly useful argument is the --prefix one, which determines where the files will go once installed. To install GTK under a prefix like /opt/gtk you would run Meson as:

meson setup --prefix /opt/gtk builddir

Meson will create the builddir directory and place all the build artefacts there.

You can get a list of all available options for the build by running meson configure.

After Meson successfully configured the build directory, you then can run the build, using Ninja:

cd builddir
ninja
ninja install

If you don’t have permission to write to the directory you are installing in, you may have to change to root temporarily before running ninja install.

Several environment variables are useful to pass to set before running meson. CPPFLAGS contains options to pass to the C compiler, and is used to tell the compiler where to look for include files. The LDFLAGS variable is used in a similar fashion for the linker. Finally the PKG_CONFIG_PATH environment variable contains a search path that pkg-config (see below) uses when looking for files describing how to compile programs using different libraries. If you were installing GTK and it’s dependencies into /opt/gtk, you might want to set these variables as:

CPPFLAGS="-I/opt/gtk/include"
LDFLAGS="-L/opt/gtk/lib"
PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH

You may also need to set the LD_LIBRARY_PATH environment variable so the systems dynamic linker can find the newly installed libraries, and the PATH environment program so that utility binaries installed by the various libraries will be found.

LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH
docs/reference/gtk/html/gtk-compiling.html0000664000175000017500000001232113710700534020756 0ustar mclasenmclasen Compiling GTK Applications on UNIX: GTK 4 Reference Manual

Compiling GTK Applications on UNIX

To compile a GTK application, you need to tell the compiler where to find the GTK header files and libraries. This is done with the pkg-config utility.

The following interactive shell session demonstrates how pkg-config is used (the actual output on your system may be different):

$ pkg-config --cflags gtk4
 -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
$ pkg-config --libs gtk4
 -pthread -lgtk-4 -lgdk-4 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

The simplest way to compile a program is to use the backticks feature of the shell. If you enclose a command in backticks (not single quotes), then its output will be substituted into the command line before execution. So to compile a GTK Hello, World, you would type the following:

$ cc `pkg-config --cflags gtk4` hello.c -o hello `pkg-config --libs gtk4`

Deprecated GTK functions are annotated to make the compiler emit warnings when they are used (e.g. with gcc, you need to use the -Wdeprecated-declarations option). If these warnings are problematic, they can be turned off by defining the preprocessor symbol GDK_DISABLE_DEPRECATION_WARNINGS by using the commandline option -DGDK_DISABLE_DEPRECATION_WARNINGS.

GTK deprecation annotations are versioned; by defining the macros GDK_VERSION_MIN_REQUIRED and GDK_VERSION_MAX_ALLOWED, you can specify the range of GTK versions whose API you want to use. APIs that were deprecated before or introduced after this range will trigger compiler warnings.

Here is how you would compile hello.c if you want to allow it to use symbols that were not deprecated in 4.2:

$ cc `pkg-config --cflags gtk4` -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_2 hello.c -o hello `pkg-config --libs gtk4`

And here is how you would compile hello.c if you don’t want it to use any symbols that were introduced after 4.2:

$ cc `pkg-config --cflags gtk4` -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_2 hello.c -o hello `pkg-config --libs gtk4`

The older deprecation mechanism of hiding deprecated interfaces entirely from the compiler by using the preprocessor symbol GTK_DISABLE_DEPRECATED is still used for deprecated macros, enumeration values, etc. To detect uses of these in your code, use the commandline option -DGTK_DISABLE_DEPRECATED. There are similar symbols GDK_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED and G_DISABLE_DEPRECATED for GDK, GdkPixbuf and GLib.

docs/reference/gtk/html/interactive-debugging.html0000664000175000017500000000677313710700534022476 0ustar mclasenmclasen Interactive debugging: GTK 4 Reference Manual

Interactive debugging

Figure 15. The inspector

The inspector

GTK includes an interactive debugger, called the GTK Inspector, which lets you explore the widget tree of any GTK application at runtime, as well as tweak the theme and trigger visual debugging aids. You can easily try out changes at runtime before putting them into the code.

Note that the GTK inspector can only show GTK internals. It can not understand the application-specific logic of a GTK application. Also, the fact that the GTK inspector is running in the application process limits what it can do. It is meant as a complement to full-blown debuggers and system tracing facilities such as DTrace, not as a replacement.

To enable the GTK inspector, you can use the Control-Shift-I or Control-Shift-D keyboard shortcuts, or set the GTK_DEBUG=interactive environment variable.

There are a few more environment variables that can be set to influence how the inspector renders its UI. GTK_INSPECTOR_DISPLAY and GTK_INSPECTOR_RENDERER determine the GDK display and the GSK renderer that the inspector is using.

In some situations, it may be inappropriate to give users access to the GTK inspector. The keyboard shortcuts can be disabled with the enable-inspector-keybinding key in the org.gtk.Settings.Debug GSettings schema.

docs/reference/gtk/html/profiling.html0000664000175000017500000000507313710700534020211 0ustar mclasenmclasen Profiling: GTK 4 Reference Manual

Profiling

GTK supports profiling with sysprof. It exports timing information about frameclock phases and various characteristics of GskRenders in a format that can be displayed by sysprof or GNOME Builder.

A simple way to capture data is to set the GTK_TRACE environment variable. When it is set, GTK will write profiling data to a file called gtk.PID.syscap.

When launching the application from sysprof, it will set the SYSPROF_TRACE_FD environment variable to point GTK at a file descriptor to write profiling data to.

When GtkApplication registers with D-Bus, it exports the org.gnome.Sysprof2.Profiler D-Bus interface that lets sysprof request profiling data at runtime.

docs/reference/gtk/html/gtk-running.html0000664000175000017500000006743313710700534020473 0ustar mclasenmclasen Running and debugging GTK Applications: GTK 4 Reference Manual

Running and debugging GTK Applications

Environment variables

GTK inspects a number of environment variables in addition to standard variables like LANG, PATH, HOME or DISPLAY; mostly to determine paths to look for certain files. The X11, Wayland, Windows and Broadway GDK backends use some additional environment variables.

GTK_DEBUG

Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GTK to print out different types of debugging information.

actions

Actions and menu models

builder

GtkBuilder support

geometry

Size allocation

icontheme

Icon themes

keybindings

Keybindings

modules

Loading of modules

printing

Printing support

size-request

Size requests

text

Text widget internals

tree

Tree widget internals

A number of keys are influencing behavior instead of just logging:

interactive

Open the interactive debugger

no-css-cache

Bypass caching for CSS style properties

touchscreen

Pretend the pointer is a touchscreen device

updates

Visual feedback about window updates

resize

Highlight resizing widgets

layout

Show layout borders

snapshot

Include debug render nodes in the generated snapshots

The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.

GTK_PATH

Specifies a list of directories to search when GTK is looking for dynamically loaded objects such as input method modules and print backends. If the path to the dynamically loaded object is given as an absolute path name, then GTK loads it directly. Otherwise, GTK goes in turn through the directories in GTK_PATH, followed by the directory .gtk-4.0 in the user’s home directory, followed by the system default directory, which is libdir/gtk-4.0/modules. (If GTK_EXE_PREFIX is defined, libdir is $GTK_EXE_PREFIX/lib. Otherwise it is the libdir specified when GTK was configured, usually /usr/lib, or /usr/local/lib.)

For each directory in this list, GTK actually looks in a subdirectory directory/version/host/type. Where version is derived from the version of GTK (use pkg-config --variable=gtk_binary_version gtk4 to determine this from a script), host is the architecture on which GTK was built. (use pkg-config --variable=gtk_host gtk4 to determine this from a script), and type is a directory specific to the type of modules; currently it can be modules, immodules or printbackends, corresponding to the types of modules mentioned above. Either version, host, or both may be omitted. GTK looks first in the most specific directory, then in directories with fewer components. The components of GTK_PATH are separated by the : character on Linux and Unix, and the ; character on Windows.

Note that this environment variable is read by GTK 2.x and GTK 3.x too, which makes it unsuitable for setting it system-wide (or session-wide), since doing so will cause applications using different GTK versions to see incompatible modules.

GTK_IM_MODULE

Specifies an IM module to use in preference to the one determined from the locale. If this isn’t set and you are running on the system that enables XSETTINGS and has a value in Gtk/IMModule, that will be used for the default IM module. This also can be a colon-separated list of input-methods, which GTK will try in turn until it finds one available on the system.

GTK_EXE_PREFIX

If set, GTK uses $GTK_EXE_PREFIX/lib instead of the libdir configured when GTK was compiled.

GTK_DATA_PREFIX

If set, GTK uses $GTK_DATA_PREFIX instead of the prefix configured when GTK was compiled.

GTK_THEME

If set, makes GTK use the named theme instead of the theme that is specified by the gtk-theme-name setting. This is intended mainly for easy debugging of theme issues.

It is also possible to specify a theme variant to load, by appending the variant name with a colon, like this: GTK_THEME=Adwaita:dark.

The following environment variables are used by GdkPixbuf, GDK or Pango, not by GTK itself, but we list them here for completeness nevertheless.

GDK_PIXBUF_MODULE_FILE

Specifies the file listing the GdkPixbuf loader modules to load. This environment variable overrides the default value libdir/gtk-4.0/4.0.0/loaders.cache (libdir is the sysconfdir specified when GTK was configured, usually /usr/lib.)

The loaders.cache file is generated by the gdk-pixbuf-query-loaders utility.

GDK_DEBUG

Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GDK to print out different types of debugging information.

cursor

Information about cursor objects (only win32)

eventloop

Information about event loop operation (mostly Quartz)

misc

Miscellaneous information

frames

Information about the frame clock

settings

Information about xsettings

selection

Information about selections

clipboard

Information about clipboards

dnd

Information about drag-and-drop

opengl

Information about OpenGL

vulkan

Information about Vulkan

A number of options affect behavior instead of logging:

nograbs

Turn off all pointer and keyboard grabs

gl-disable

Disable OpenGL support

gl-software

Force OpenGL software rendering

gl-texture-rect

Use the OpenGL texture rectangle extension, if available

gl-legacy

Use a legacy OpenGL context

gl-gles

Use a GLES OpenGL context

vulkan-disable

Disable Vulkan support

vulkan-validate

Load the Vulkan validation layer, if available

The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.

GSK_DEBUG

Unless GTK has been configured with -Ddebug=false, this variable can be set to a list of debug options, which cause GSK to print out different types of debugging information.

renderer

General renderer information

cairo

cairo renderer information

opengl

OpenGL renderer information

shaders

Shaders

surface

Surfaces

vulkan

Vulkan renderer information

fallback

Information about fallbacks

glyphcache

Information about glyph caching

A number of options affect behavior instead of logging:

diff

Show differences

geometry

Show borders

full-redraw

Force full redraws for every frame

sync

Sync after each frame

vulkan-staging-image

Use a staging image for Vulkan texture upload

vulkan-staging-buffer

Use a staging buffer for Vulkan texture upload

The special value all can be used to turn on all debug options. The special value help can be used to obtain a list of all supported debug options.

GDK_BACKEND

If set, selects the GDK backend to use. Selecting a backend requires that GTK is compiled with support for that backend. The following backends can be selected, provided they are included in the GDK libraries you are using:

quartz

Selects the native Quartz backend

win32

Selects the native backend for Microsoft Windows

x11

Selects the native backend for connecting to X11 servers

broadway

Selects the Broadway backend for display in web browsers

wayland

Selects the Wayland backend for connecting to Wayland compositors

This environment variable can contain a comma-separated list of backend names, which are tried in order. The list may also contain a *, which means: try all remaining backends. The special value help can be used to make GDK print out a list of all available backends. For more information about selecting backends, see the gdk_display_manager_get() function.

GDK_VULKAN_DEVICE

This variable can be set to the index of a Vulkan device to override the default selection of the device that is used for Vulkan rendering. The special value list can be used to obtain a list of all Vulkan devices.

GSK_RENDERER

If set, selects the GSK renderer to use. The following renderers can be selected, provided they are included in the GTK library you are using and the GDK backend supports them:

help

Prints information about available options

broadway

Selects the Broadway-backend specific renderer

cairo

Selects the fallback Cairo renderer

gl

Selects the default OpenGL renderer

vulkan

Selects the Vulkan renderer

GTK_CSD

The default value of this environment variable is 1. If changed to 0, this disables the default use of client-side decorations on GTK windows, thus making the window manager responsible for drawing the decorations of windows that do not have a custom titlebar widget.

CSD is always used for windows with a custom titlebar widget set, as the WM should not draw another titlebar or other decorations around the custom one.

XDG_DTA_HOME, XDG_DATA_DIRS

GTK uses these environment variables to locate icon themes and MIME information. For more information, see the Icon Theme Specification the Shared MIME-Info Database and the Base Directory Specification.

DESKTOP_STARTUP_ID

GTK uses this environment variable to provide startup notification according to the Startup Notification Spec. Following the specification, GTK unsets this variable after reading it (to keep it from leaking to child processes). So, if you need its value for your own purposes, you have to read it before calling gtk_init().

docs/reference/gtk/html/gtk-X11-arch.html0000664000175000017500000001073013710700534020263 0ustar mclasenmclasen Understanding the X11 architecture: GTK 4 Reference Manual

Understanding the X11 architecture

People coming from a Windows or MacOS background often find certain aspects of the X Window System surprising. This section introduces some basic X concepts at a high level. For more details, the book most people use is called the Xlib Programming Manual by Adrian Nye; this book is volume one in the O’Reilly X Window System series.

Standards are another important resource if you’re poking in low-level X11 details, in particular the ICCCM and the Extended Window Manager Hints specifications. freedesktop.org has links to many relevant specifications.

The GDK manual covers using Xlib in a GTK program.

Server, client, window manager

Other window systems typically put all their functionality in the application itself. With X, each application involves three different programs: the X server, the application (called a client because it’s a client of the X server), and a special client called the window manager.

The X server is in charge of managing resources, processing drawing requests, and dispatching events such as keyboard and mouse events to interested applications. So client applications can ask the X server to create a window, draw a circle, or move windows around.

The window manager is in charge of rendering the frame or borders around windows; it also has final say on the size of each window, and window states such as minimized, maximized, and so forth. On Windows and MacOS the application handles most of this. On X11, if you wish to modify the window’s state, or change its frame, you must ask the window manager to do so on your behalf, using an established convention.

GTK has functions for asking the window manager to do various things; see for example gtk_window_minimize() or gtk_window_maximize(). Keep in mind that most window managers will ignore certain requests from time to time, in the interests of good user interface.

docs/reference/gtk/html/gtkbase.html0000664000175000017500000000540713710700534017641 0ustar mclasenmclasen Part IV. GTK Core Reference: GTK 4 Reference Manual

Part IV. GTK Core Reference

Table of Contents

Initialization — Library initialization and main loop
Version Information — Variables and functions to check the GTK version
Settings — Sharing settings between applications
Standard Enumerations — Public enumerated types used throughout GTK+
Testing — Utilities for testing GTK+ applications
Filesystem utilities — Functions for working with GIO
docs/reference/gtk/html/win32-cursors.html0000664000175000017500000000555713710700534020667 0ustar mclasenmclasen Windows-specific handling of cursors: GTK 4 Reference Manual

Windows-specific handling of cursors

By default the system cursor theme is used. This makes GTK prefer cursors that Windows currently uses, falling back to Adwaita cursors and (as the last resort) built-in X cursors.

When any other cursor theme is used, GTK will prefer cursors from that theme, falling back to Windows cursors and built-in X cursors.

Theme can be changed by setting gtk-cursor-theme-name GTK setting. Users can override GTK settings in the settings.ini file or at runtime in the GTK Inspector.

Themes are loaded from normal Windows variants of the XDG locations: HOME%/icons/THEME/cursors, APPDATA%/icons/THEME/cursors, RUNTIME_PREFIX/share/icons/THEME/cursors

The gtk-cursor-theme-size setting is ignored, GTK will use the cursor size that Windows tells it to use.

docs/reference/gtk/html/gtk-windows.html0000664000175000017500000000652613710700534020501 0ustar mclasenmclasen Using GTK on Windows: GTK 4 Reference Manual

Using GTK on Windows

The Windows port of GTK is an implementation of GDK (and therefore GTK) on top of the Win32 API. When compiling GTK on Windows, this backend is the default.

More information about GTK on Windows, including detailed build instructions, binary downloads, etc, can be found online.

Windows-specific environment variables

The Win32 GDK backend can be influenced with some additional environment variables.

GDK_IGNORE_WINTAB

If this variable is set, GTK doesn’t use the Wintab API for tablet support.

GDK_USE_WINTAB

If this variable is set, GTK uses the Wintab API for tablet support. This is the default.

docs/reference/gtk/html/gtk-x11.html0000664000175000017500000000744313710700534017417 0ustar mclasenmclasen GTK for the X Window System: GTK 4 Reference Manual

GTK for the X Window System

On UNIX, the X backend is enabled by default, so you don’t need to do anything special when compiling it, and everything should just work.

To mix low-level Xlib routines into a GTK program, see GDK X Window System interaction in the GDK manual.

X11-specific environment variables

: The X11 GDK backend can be influenced with some additional environment variables.

GDK_SYNCHRONIZE

If set, GDK makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably.

GDK_SCALE

Must be set to an integer, typically 2. If set, GDK will scale all windows by the specified factor. Scaled output is meant to be used on high-dpi displays. Normally, GDK will pick up a suitable scale factor for each monitor from the display system. This environment variable allows to override that.

docs/reference/gtk/html/gtk-broadway.html0000664000175000017500000000735513710700534020620 0ustar mclasenmclasen Using GTK with Broadway: GTK 4 Reference Manual

Using GTK with Broadway

The GDK Broadway backend provides support for displaying GTK applications in a web browser, using HTML5 and web sockets. To run your application in this way, select the Broadway backend by setting GDK_BACKEND=broadway. Then you can make your application appear in a web browser by pointing it at http://127.0.0.1:8080. Note that you need to enable web sockets in your web browser.

You can choose a different port from the default 8080 by setting the BROADWAY_DISPLAY environment variable to the port that you want to use.

It is also possible to use multiple GTK applications in the same web browser window, by using the Broadway server, broadwayd, that ships with GTK. To use broadwayd, start it like this:

broadwayd :5

Then point your web browser at http://127.0.0.1:8085. Start your applications like this:

GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo

Broadway-specific environment variables

BROADWAY_DISPLAY

Specifies the Broadway display number. The default display is 0. The display number determines the port to use when connecting to a Broadway application via the following formula: port = 8080 + display

docs/reference/gtk/html/gtk-wayland.html0000664000175000017500000000631513710700534020442 0ustar mclasenmclasen Using GTK with Wayland: GTK 4 Reference Manual

Using GTK with Wayland

The GDK Wayland backend provides support for running GTK applications under a Wayland compositor. To run your application in this way, select the Wayland backend by setting GDK_BACKEND=wayland.

On UNIX, the Wayland backend is enabled by default, so you don’t need to do anything special when compiling it, and everything should just work.

Wayland-specific environment variables

WAYLAND_DISPLAY

Specifies the name of the Wayland display to use. Typically, wayland-0 or wayland-1.

XDG_RUNTIME_DIR

Used to locate the Wayland socket to use.

docs/reference/gtk/html/platform-support.html0000664000175000017500000001726713710700534021566 0ustar mclasenmclasen Part VIII. GTK Platform Support: GTK 4 Reference Manual docs/reference/gtk/html/api-index-full.html0000664000175000017500000374321213710700534021045 0ustar mclasenmclasen Index of all symbols: GTK 4 Reference Manual

Index of all symbols

A

GtkAboutDialog, struct in GtkAboutDialog
GtkAboutDialog::activate-link, object signal in GtkAboutDialog
GtkAboutDialog:artists, object property in GtkAboutDialog
GtkAboutDialog:authors, object property in GtkAboutDialog
GtkAboutDialog:comments, object property in GtkAboutDialog
GtkAboutDialog:copyright, object property in GtkAboutDialog
GtkAboutDialog:documenters, object property in GtkAboutDialog
GtkAboutDialog:license, object property in GtkAboutDialog
GtkAboutDialog:license-type, object property in GtkAboutDialog
GtkAboutDialog:logo, object property in GtkAboutDialog
GtkAboutDialog:logo-icon-name, object property in GtkAboutDialog
GtkAboutDialog:program-name, object property in GtkAboutDialog
GtkAboutDialog:system-information, object property in GtkAboutDialog
GtkAboutDialog:translator-credits, object property in GtkAboutDialog
GtkAboutDialog:version, object property in GtkAboutDialog
GtkAboutDialog:website, object property in GtkAboutDialog
GtkAboutDialog:website-label, object property in GtkAboutDialog
GtkAboutDialog:wrap-license, object property in GtkAboutDialog
gtk_about_dialog_add_credit_section, function in GtkAboutDialog
gtk_about_dialog_get_artists, function in GtkAboutDialog
gtk_about_dialog_get_authors, function in GtkAboutDialog
gtk_about_dialog_get_comments, function in GtkAboutDialog
gtk_about_dialog_get_copyright, function in GtkAboutDialog
gtk_about_dialog_get_documenters, function in GtkAboutDialog
gtk_about_dialog_get_license, function in GtkAboutDialog
gtk_about_dialog_get_license_type, function in GtkAboutDialog
gtk_about_dialog_get_logo, function in GtkAboutDialog
gtk_about_dialog_get_logo_icon_name, function in GtkAboutDialog
gtk_about_dialog_get_program_name, function in GtkAboutDialog
gtk_about_dialog_get_system_information, function in GtkAboutDialog
gtk_about_dialog_get_translator_credits, function in GtkAboutDialog
gtk_about_dialog_get_version, function in GtkAboutDialog
gtk_about_dialog_get_website, function in GtkAboutDialog
gtk_about_dialog_get_website_label, function in GtkAboutDialog
gtk_about_dialog_get_wrap_license, function in GtkAboutDialog
gtk_about_dialog_new, function in GtkAboutDialog
gtk_about_dialog_set_artists, function in GtkAboutDialog
gtk_about_dialog_set_authors, function in GtkAboutDialog
gtk_about_dialog_set_comments, function in GtkAboutDialog
gtk_about_dialog_set_copyright, function in GtkAboutDialog
gtk_about_dialog_set_documenters, function in GtkAboutDialog
gtk_about_dialog_set_license, function in GtkAboutDialog
gtk_about_dialog_set_license_type, function in GtkAboutDialog
gtk_about_dialog_set_logo, function in GtkAboutDialog
gtk_about_dialog_set_logo_icon_name, function in GtkAboutDialog
gtk_about_dialog_set_program_name, function in GtkAboutDialog
gtk_about_dialog_set_system_information, function in GtkAboutDialog
gtk_about_dialog_set_translator_credits, function in GtkAboutDialog
gtk_about_dialog_set_version, function in GtkAboutDialog
gtk_about_dialog_set_website, function in GtkAboutDialog
gtk_about_dialog_set_website_label, function in GtkAboutDialog
gtk_about_dialog_set_wrap_license, function in GtkAboutDialog
gtk_accelerator_get_default_mod_mask, function in Keyboard Accelerators
gtk_accelerator_get_label, function in Keyboard Accelerators
gtk_accelerator_get_label_with_keycode, function in Keyboard Accelerators
gtk_accelerator_name, function in Keyboard Accelerators
gtk_accelerator_name_with_keycode, function in Keyboard Accelerators
gtk_accelerator_parse, function in Keyboard Accelerators
gtk_accelerator_parse_with_keycode, function in Keyboard Accelerators
gtk_accelerator_valid, function in Keyboard Accelerators
GtkAccelLabel, struct in GtkAccelLabel
GtkAccelLabel:label, object property in GtkAccelLabel
GtkAccelLabel:use-underline, object property in GtkAccelLabel
gtk_accel_label_get_accel, function in GtkAccelLabel
gtk_accel_label_get_accel_width, function in GtkAccelLabel
gtk_accel_label_get_label, function in GtkAccelLabel
gtk_accel_label_get_use_underline, function in GtkAccelLabel
gtk_accel_label_new, function in GtkAccelLabel
gtk_accel_label_refetch, function in GtkAccelLabel
gtk_accel_label_set_accel, function in GtkAccelLabel
gtk_accel_label_set_label, function in GtkAccelLabel
gtk_accel_label_set_use_underline, function in GtkAccelLabel
GtkAccessible, struct in GtkAccessible
GtkAccessible:accessible-role, object property in GtkAccessible
GtkAccessibleAutocomplete, enum in GtkAccessible
GtkAccessibleInvalidState, enum in GtkAccessible
GtkAccessibleProperty, enum in GtkAccessible
GtkAccessibleRelation, enum in GtkAccessible
GtkAccessibleRole, enum in GtkAccessible
GtkAccessibleSort, enum in GtkAccessible
GtkAccessibleState, enum in GtkAccessible
GtkAccessibleTristate, enum in GtkAccessible
gtk_accessible_get_accessible_role, function in GtkAccessible
gtk_accessible_reset_property, function in GtkAccessible
gtk_accessible_reset_relation, function in GtkAccessible
gtk_accessible_reset_state, function in GtkAccessible
gtk_accessible_update_property, function in GtkAccessible
gtk_accessible_update_property_value, function in GtkAccessible
gtk_accessible_update_relation, function in GtkAccessible
gtk_accessible_update_relation_value, function in GtkAccessible
gtk_accessible_update_state, function in GtkAccessible
gtk_accessible_update_state_value, function in GtkAccessible
GtkActionable, struct in GtkActionable
GtkActionable:action-name, object property in GtkActionable
GtkActionable:action-target, object property in GtkActionable
GtkActionableInterface, struct in GtkActionable
gtk_actionable_get_action_name, function in GtkActionable
gtk_actionable_get_action_target_value, function in GtkActionable
gtk_actionable_set_action_name, function in GtkActionable
gtk_actionable_set_action_target, function in GtkActionable
gtk_actionable_set_action_target_value, function in GtkActionable
gtk_actionable_set_detailed_action_name, function in GtkActionable
GtkActionBar, struct in GtkActionBar
GtkActionBar:revealed, object property in GtkActionBar
gtk_action_bar_get_center_widget, function in GtkActionBar
gtk_action_bar_get_revealed, function in GtkActionBar
gtk_action_bar_new, function in GtkActionBar
gtk_action_bar_pack_end, function in GtkActionBar
gtk_action_bar_pack_start, function in GtkActionBar
gtk_action_bar_remove, function in GtkActionBar
gtk_action_bar_set_center_widget, function in GtkActionBar
gtk_action_bar_set_revealed, function in GtkActionBar
GtkActivateAction, struct in GtkShortcutAction
gtk_activate_action_get, function in GtkShortcutAction
GtkAdjustment, struct in GtkAdjustment
GtkAdjustment::changed, object signal in GtkAdjustment
GtkAdjustment::value-changed, object signal in GtkAdjustment
GtkAdjustment:lower, object property in GtkAdjustment
GtkAdjustment:page-increment, object property in GtkAdjustment
GtkAdjustment:page-size, object property in GtkAdjustment
GtkAdjustment:step-increment, object property in GtkAdjustment
GtkAdjustment:upper, object property in GtkAdjustment
GtkAdjustment:value, object property in GtkAdjustment
gtk_adjustment_clamp_page, function in GtkAdjustment
gtk_adjustment_configure, function in GtkAdjustment
gtk_adjustment_get_lower, function in GtkAdjustment
gtk_adjustment_get_minimum_increment, function in GtkAdjustment
gtk_adjustment_get_page_increment, function in GtkAdjustment
gtk_adjustment_get_page_size, function in GtkAdjustment
gtk_adjustment_get_step_increment, function in GtkAdjustment
gtk_adjustment_get_upper, function in GtkAdjustment
gtk_adjustment_get_value, function in GtkAdjustment
gtk_adjustment_new, function in GtkAdjustment
gtk_adjustment_set_lower, function in GtkAdjustment
gtk_adjustment_set_page_increment, function in GtkAdjustment
gtk_adjustment_set_page_size, function in GtkAdjustment
gtk_adjustment_set_step_increment, function in GtkAdjustment
gtk_adjustment_set_upper, function in GtkAdjustment
gtk_adjustment_set_value, function in GtkAdjustment
GtkAlign, enum in GtkWidget
GtkAllocation, typedef in GtkWidget
GtkAlternativeTrigger, struct in GtkShortcutTrigger
gtk_alternative_trigger_get_first, function in GtkShortcutTrigger
gtk_alternative_trigger_get_second, function in GtkShortcutTrigger
gtk_alternative_trigger_new, function in GtkShortcutTrigger
GtkAnyFilter, struct in GtkMultiFilter
gtk_any_filter_new, function in GtkMultiFilter
GtkAppChooser, struct in GtkAppChooser
GtkAppChooser:content-type, object property in GtkAppChooser
GtkAppChooserButton, struct in GtkAppChooserButton
GtkAppChooserButton::changed, object signal in GtkAppChooserButton
GtkAppChooserButton::custom-item-activated, object signal in GtkAppChooserButton
GtkAppChooserButton:heading, object property in GtkAppChooserButton
GtkAppChooserButton:modal, object property in GtkAppChooserButton
GtkAppChooserButton:show-default-item, object property in GtkAppChooserButton
GtkAppChooserButton:show-dialog-item, object property in GtkAppChooserButton
GtkAppChooserDialog, struct in GtkAppChooserDialog
GtkAppChooserDialog:gfile, object property in GtkAppChooserDialog
GtkAppChooserDialog:heading, object property in GtkAppChooserDialog
GtkAppChooserWidget, struct in GtkAppChooserWidget
GtkAppChooserWidget::application-activated, object signal in GtkAppChooserWidget
GtkAppChooserWidget::application-selected, object signal in GtkAppChooserWidget
GtkAppChooserWidget:default-text, object property in GtkAppChooserWidget
GtkAppChooserWidget:show-all, object property in GtkAppChooserWidget
GtkAppChooserWidget:show-default, object property in GtkAppChooserWidget
GtkAppChooserWidget:show-fallback, object property in GtkAppChooserWidget
GtkAppChooserWidget:show-other, object property in GtkAppChooserWidget
GtkAppChooserWidget:show-recommended, object property in GtkAppChooserWidget
GtkApplication, struct in GtkApplication
GtkApplication::query-end, object signal in GtkApplication
GtkApplication::window-added, object signal in GtkApplication
GtkApplication::window-removed, object signal in GtkApplication
GtkApplication:active-window, object property in GtkApplication
GtkApplication:menubar, object property in GtkApplication
GtkApplication:register-session, object property in GtkApplication
GtkApplication:screensaver-active, object property in GtkApplication
GtkApplicationClass, struct in GtkApplication
GtkApplicationInhibitFlags, enum in GtkApplication
GtkApplicationWindow, struct in GtkApplicationWindow
GtkApplicationWindow:show-menubar, object property in GtkApplicationWindow
GtkApplicationWindowClass, struct in GtkApplicationWindow
gtk_application_add_window, function in GtkApplication
gtk_application_get_accels_for_action, function in GtkApplication
gtk_application_get_actions_for_accel, function in GtkApplication
gtk_application_get_active_window, function in GtkApplication
gtk_application_get_menubar, function in GtkApplication
gtk_application_get_menu_by_id, function in GtkApplication
gtk_application_get_windows, function in GtkApplication
gtk_application_get_window_by_id, function in GtkApplication
gtk_application_inhibit, function in GtkApplication
gtk_application_list_action_descriptions, function in GtkApplication
gtk_application_new, function in GtkApplication
gtk_application_remove_window, function in GtkApplication
gtk_application_set_accels_for_action, function in GtkApplication
gtk_application_set_menubar, function in GtkApplication
gtk_application_uninhibit, function in GtkApplication
gtk_application_window_get_help_overlay, function in GtkApplicationWindow
gtk_application_window_get_id, function in GtkApplicationWindow
gtk_application_window_get_show_menubar, function in GtkApplicationWindow
gtk_application_window_new, function in GtkApplicationWindow
gtk_application_window_set_help_overlay, function in GtkApplicationWindow
gtk_application_window_set_show_menubar, function in GtkApplicationWindow
gtk_app_chooser_button_append_custom_item, function in GtkAppChooserButton
gtk_app_chooser_button_append_separator, function in GtkAppChooserButton
gtk_app_chooser_button_get_heading, function in GtkAppChooserButton
gtk_app_chooser_button_get_modal, function in GtkAppChooserButton
gtk_app_chooser_button_get_show_default_item, function in GtkAppChooserButton
gtk_app_chooser_button_get_show_dialog_item, function in GtkAppChooserButton
gtk_app_chooser_button_new, function in GtkAppChooserButton
gtk_app_chooser_button_set_active_custom_item, function in GtkAppChooserButton
gtk_app_chooser_button_set_heading, function in GtkAppChooserButton
gtk_app_chooser_button_set_modal, function in GtkAppChooserButton
gtk_app_chooser_button_set_show_default_item, function in GtkAppChooserButton
gtk_app_chooser_button_set_show_dialog_item, function in GtkAppChooserButton
gtk_app_chooser_dialog_get_heading, function in GtkAppChooserDialog
gtk_app_chooser_dialog_get_widget, function in GtkAppChooserDialog
gtk_app_chooser_dialog_new, function in GtkAppChooserDialog
gtk_app_chooser_dialog_new_for_content_type, function in GtkAppChooserDialog
gtk_app_chooser_dialog_set_heading, function in GtkAppChooserDialog
gtk_app_chooser_get_app_info, function in GtkAppChooser
gtk_app_chooser_get_content_type, function in GtkAppChooser
gtk_app_chooser_refresh, function in GtkAppChooser
gtk_app_chooser_widget_get_default_text, function in GtkAppChooserWidget
gtk_app_chooser_widget_get_show_all, function in GtkAppChooserWidget
gtk_app_chooser_widget_get_show_default, function in GtkAppChooserWidget
gtk_app_chooser_widget_get_show_fallback, function in GtkAppChooserWidget
gtk_app_chooser_widget_get_show_other, function in GtkAppChooserWidget
gtk_app_chooser_widget_get_show_recommended, function in GtkAppChooserWidget
gtk_app_chooser_widget_new, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_default_text, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_show_all, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_show_default, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_show_fallback, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_show_other, function in GtkAppChooserWidget
gtk_app_chooser_widget_set_show_recommended, function in GtkAppChooserWidget
GtkArrowType, enum in GtkMenuButton
GtkAspectFrame, struct in GtkAspectFrame
GtkAspectFrame:child, object property in GtkAspectFrame
GtkAspectFrame:obey-child, object property in GtkAspectFrame
GtkAspectFrame:ratio, object property in GtkAspectFrame
GtkAspectFrame:xalign, object property in GtkAspectFrame
GtkAspectFrame:yalign, object property in GtkAspectFrame
gtk_aspect_frame_get_child, function in GtkAspectFrame
gtk_aspect_frame_get_obey_child, function in GtkAspectFrame
gtk_aspect_frame_get_ratio, function in GtkAspectFrame
gtk_aspect_frame_get_xalign, function in GtkAspectFrame
gtk_aspect_frame_get_yalign, function in GtkAspectFrame
gtk_aspect_frame_new, function in GtkAspectFrame
gtk_aspect_frame_set_child, function in GtkAspectFrame
gtk_aspect_frame_set_obey_child, function in GtkAspectFrame
gtk_aspect_frame_set_ratio, function in GtkAspectFrame
gtk_aspect_frame_set_xalign, function in GtkAspectFrame
gtk_aspect_frame_set_yalign, function in GtkAspectFrame
GtkAssistant, struct in GtkAssistant
GtkAssistant::apply, object signal in GtkAssistant
GtkAssistant::cancel, object signal in GtkAssistant
GtkAssistant::close, object signal in GtkAssistant
GtkAssistant::escape, object signal in GtkAssistant
GtkAssistant::prepare, object signal in GtkAssistant
GtkAssistant:pages, object property in GtkAssistant
GtkAssistant:use-header-bar, object property in GtkAssistant
GtkAssistantPage, struct in GtkAssistant
GtkAssistantPage:child, object property in GtkAssistant
GtkAssistantPage:complete, object property in GtkAssistant
GtkAssistantPage:page-type, object property in GtkAssistant
GtkAssistantPage:title, object property in GtkAssistant
GtkAssistantPageFunc, user_function in GtkAssistant
GtkAssistantPageType, enum in GtkAssistant
gtk_assistant_add_action_widget, function in GtkAssistant
gtk_assistant_append_page, function in GtkAssistant
gtk_assistant_commit, function in GtkAssistant
gtk_assistant_get_current_page, function in GtkAssistant
gtk_assistant_get_nth_page, function in GtkAssistant
gtk_assistant_get_n_pages, function in GtkAssistant
gtk_assistant_get_page, function in GtkAssistant
gtk_assistant_get_pages, function in GtkAssistant
gtk_assistant_get_page_complete, function in GtkAssistant
gtk_assistant_get_page_title, function in GtkAssistant
gtk_assistant_get_page_type, function in GtkAssistant
gtk_assistant_insert_page, function in GtkAssistant
gtk_assistant_new, function in GtkAssistant
gtk_assistant_next_page, function in GtkAssistant
gtk_assistant_page_get_child, function in GtkAssistant
gtk_assistant_prepend_page, function in GtkAssistant
gtk_assistant_previous_page, function in GtkAssistant
gtk_assistant_remove_action_widget, function in GtkAssistant
gtk_assistant_remove_page, function in GtkAssistant
gtk_assistant_set_current_page, function in GtkAssistant
gtk_assistant_set_forward_page_func, function in GtkAssistant
gtk_assistant_set_page_complete, function in GtkAssistant
gtk_assistant_set_page_title, function in GtkAssistant
gtk_assistant_set_page_type, function in GtkAssistant
gtk_assistant_update_buttons_state, function in GtkAssistant
GtkATContext, struct in GtkATContext
GtkATContext::state-change, object signal in GtkATContext
GtkATContext:accessible, object property in GtkATContext
GtkATContext:accessible-role, object property in GtkATContext
gtk_at_context_create, function in GtkATContext
gtk_at_context_get_accessible, function in GtkATContext
gtk_at_context_get_accessible_role, function in GtkATContext

B

GtkBaselinePosition, enum in Standard Enumerations
GTK_BINARY_AGE, macro in Feature Test Macros
GtkBinLayout, struct in GtkBinLayout
gtk_bin_layout_new, function in GtkBinLayout
GtkBitset, struct in GtkBitset
GtkBitsetIter, struct in GtkBitset
gtk_bitset_add, function in GtkBitset
gtk_bitset_add_range, function in GtkBitset
gtk_bitset_add_range_closed, function in GtkBitset
gtk_bitset_add_rectangle, function in GtkBitset
gtk_bitset_contains, function in GtkBitset
gtk_bitset_copy, function in GtkBitset
gtk_bitset_difference, function in GtkBitset
gtk_bitset_equals, function in GtkBitset
gtk_bitset_get_maximum, function in GtkBitset
gtk_bitset_get_minimum, function in GtkBitset
gtk_bitset_get_nth, function in GtkBitset
gtk_bitset_get_size, function in GtkBitset
gtk_bitset_get_size_in_range, function in GtkBitset
gtk_bitset_intersect, function in GtkBitset
gtk_bitset_is_empty, function in GtkBitset
gtk_bitset_iter_get_value, function in GtkBitset
gtk_bitset_iter_init_at, function in GtkBitset
gtk_bitset_iter_init_first, function in GtkBitset
gtk_bitset_iter_init_last, function in GtkBitset
gtk_bitset_iter_is_valid, function in GtkBitset
gtk_bitset_iter_next, function in GtkBitset
gtk_bitset_iter_previous, function in GtkBitset
gtk_bitset_new_empty, function in GtkBitset
gtk_bitset_new_range, function in GtkBitset
gtk_bitset_ref, function in GtkBitset
gtk_bitset_remove, function in GtkBitset
gtk_bitset_remove_all, function in GtkBitset
gtk_bitset_remove_range, function in GtkBitset
gtk_bitset_remove_range_closed, function in GtkBitset
gtk_bitset_remove_rectangle, function in GtkBitset
gtk_bitset_shift_left, function in GtkBitset
gtk_bitset_shift_right, function in GtkBitset
gtk_bitset_splice, function in GtkBitset
gtk_bitset_subtract, function in GtkBitset
gtk_bitset_union, function in GtkBitset
gtk_bitset_unref, function in GtkBitset
GtkBookmarkList, struct in GtkBookmarkList
GtkBookmarkList:attributes, object property in GtkBookmarkList
GtkBookmarkList:filename, object property in GtkBookmarkList
GtkBookmarkList:io-priority, object property in GtkBookmarkList
GtkBookmarkList:loading, object property in GtkBookmarkList
gtk_bookmark_list_get_attributes, function in GtkBookmarkList
gtk_bookmark_list_get_filename, function in GtkBookmarkList
gtk_bookmark_list_get_io_priority, function in GtkBookmarkList
gtk_bookmark_list_is_loading, function in GtkBookmarkList
gtk_bookmark_list_new, function in GtkBookmarkList
gtk_bookmark_list_set_attributes, function in GtkBookmarkList
gtk_bookmark_list_set_io_priority, function in GtkBookmarkList
GtkBoolFilter, struct in GtkBoolFilter
gtk_bool_filter_get_expression, function in GtkBoolFilter
gtk_bool_filter_get_invert, function in GtkBoolFilter
gtk_bool_filter_new, function in GtkBoolFilter
gtk_bool_filter_set_expression, function in GtkBoolFilter
gtk_bool_filter_set_invert, function in GtkBoolFilter
GtkBorder, struct in GtkStyleContext
GtkBorderStyle, enum in GtkStyleContext
gtk_border_copy, function in GtkStyleContext
gtk_border_free, function in GtkStyleContext
gtk_border_new, function in GtkStyleContext
GtkBox, struct in GtkBox
GtkBox:baseline-position, object property in GtkBox
GtkBox:homogeneous, object property in GtkBox
GtkBox:spacing, object property in GtkBox
GtkBoxClass, struct in GtkBox
GtkBoxLayout, struct in GtkBoxLayout
GtkBoxLayout:baseline-position, object property in GtkBoxLayout
GtkBoxLayout:homogeneous, object property in GtkBoxLayout
GtkBoxLayout:spacing, object property in GtkBoxLayout
gtk_box_append, function in GtkBox
gtk_box_get_baseline_position, function in GtkBox
gtk_box_get_homogeneous, function in GtkBox
gtk_box_get_spacing, function in GtkBox
gtk_box_insert_child_after, function in GtkBox
gtk_box_layout_get_baseline_position, function in GtkBoxLayout
gtk_box_layout_get_homogeneous, function in GtkBoxLayout
gtk_box_layout_get_spacing, function in GtkBoxLayout
gtk_box_layout_new, function in GtkBoxLayout
gtk_box_layout_set_baseline_position, function in GtkBoxLayout
gtk_box_layout_set_homogeneous, function in GtkBoxLayout
gtk_box_layout_set_spacing, function in GtkBoxLayout
gtk_box_new, function in GtkBox
gtk_box_prepend, function in GtkBox
gtk_box_remove, function in GtkBox
gtk_box_reorder_child_after, function in GtkBox
gtk_box_set_baseline_position, function in GtkBox
gtk_box_set_homogeneous, function in GtkBox
gtk_box_set_spacing, function in GtkBox
GtkBuildable, struct in GtkBuildable
GtkBuildableIface, struct in GtkBuildable
gtk_buildable_add_child, function in GtkBuildable
gtk_buildable_construct_child, function in GtkBuildable
gtk_buildable_custom_finished, function in GtkBuildable
gtk_buildable_custom_tag_end, function in GtkBuildable
gtk_buildable_custom_tag_start, function in GtkBuildable
gtk_buildable_get_internal_child, function in GtkBuildable
gtk_buildable_get_name, function in GtkBuildable
gtk_buildable_parser_finished, function in GtkBuildable
gtk_buildable_set_buildable_property, function in GtkBuildable
gtk_buildable_set_name, function in GtkBuildable
GtkBuilder, struct in GtkBuilder
GtkBuilder:current-object, object property in GtkBuilder
GtkBuilder:scope, object property in GtkBuilder
GtkBuilder:translation-domain, object property in GtkBuilder
GtkBuilderClosureFlags, enum in GtkBuilder
GtkBuilderError, enum in GtkBuilder
GtkBuilderListItemFactory, struct in GtkBuilderListItemFactory
GtkBuilderListItemFactory:bytes, object property in GtkBuilderListItemFactory
GtkBuilderListItemFactory:resource, object property in GtkBuilderListItemFactory
GtkBuilderListItemFactory:scope, object property in GtkBuilderListItemFactory
gtk_builder_add_from_file, function in GtkBuilder
gtk_builder_add_from_resource, function in GtkBuilder
gtk_builder_add_from_string, function in GtkBuilder
gtk_builder_add_objects_from_file, function in GtkBuilder
gtk_builder_add_objects_from_resource, function in GtkBuilder
gtk_builder_add_objects_from_string, function in GtkBuilder
gtk_builder_create_closure, function in GtkBuilder
gtk_builder_cscope_add_callback_symbol, function in GtkBuilderScope
gtk_builder_cscope_add_callback_symbols, function in GtkBuilderScope
gtk_builder_cscope_lookup_callback_symbol, function in GtkBuilderScope
gtk_builder_cscope_new, function in GtkBuilderScope
GTK_BUILDER_ERROR, macro in GtkBuilder
gtk_builder_expose_object, function in GtkBuilder
gtk_builder_extend_with_template, function in GtkBuilder
gtk_builder_get_current_object, function in GtkBuilder
gtk_builder_get_object, function in GtkBuilder
gtk_builder_get_objects, function in GtkBuilder
gtk_builder_get_scope, function in GtkBuilder
gtk_builder_get_translation_domain, function in GtkBuilder
gtk_builder_get_type_from_name, function in GtkBuilder
gtk_builder_list_item_factory_get_bytes, function in GtkBuilderListItemFactory
gtk_builder_list_item_factory_get_resource, function in GtkBuilderListItemFactory
gtk_builder_list_item_factory_get_scope, function in GtkBuilderListItemFactory
gtk_builder_list_item_factory_new_from_bytes, function in GtkBuilderListItemFactory
gtk_builder_list_item_factory_new_from_resource, function in GtkBuilderListItemFactory
gtk_builder_new, function in GtkBuilder
gtk_builder_new_from_file, function in GtkBuilder
gtk_builder_new_from_resource, function in GtkBuilder
gtk_builder_new_from_string, function in GtkBuilder
gtk_builder_set_current_object, function in GtkBuilder
gtk_builder_set_scope, function in GtkBuilder
gtk_builder_set_translation_domain, function in GtkBuilder
gtk_builder_value_from_string, function in GtkBuilder
gtk_builder_value_from_string_type, function in GtkBuilder
GTK_BUILDER_WARN_INVALID_CHILD_TYPE, macro in GtkBuilder
GtkButton, struct in GtkButton
GtkButton::activate, object signal in GtkButton
GtkButton::clicked, object signal in GtkButton
GtkButton:child, object property in GtkButton
GtkButton:has-frame, object property in GtkButton
GtkButton:icon-name, object property in GtkButton
GtkButton:label, object property in GtkButton
GtkButton:use-underline, object property in GtkButton
GtkButtonClass, struct in GtkButton
GtkButtonsType, enum in GtkMessageDialog
gtk_button_get_child, function in GtkButton
gtk_button_get_has_frame, function in GtkButton
gtk_button_get_icon_name, function in GtkButton
gtk_button_get_label, function in GtkButton
gtk_button_get_use_underline, function in GtkButton
gtk_button_new, function in GtkButton
gtk_button_new_from_icon_name, function in GtkButton
gtk_button_new_with_label, function in GtkButton
gtk_button_new_with_mnemonic, function in GtkButton
gtk_button_set_child, function in GtkButton
gtk_button_set_has_frame, function in GtkButton
gtk_button_set_icon_name, function in GtkButton
gtk_button_set_label, function in GtkButton
gtk_button_set_use_underline, function in GtkButton

C

GtkCalendar, struct in GtkCalendar
GtkCalendar::day-selected, object signal in GtkCalendar
GtkCalendar::next-month, object signal in GtkCalendar
GtkCalendar::next-year, object signal in GtkCalendar
GtkCalendar::prev-month, object signal in GtkCalendar
GtkCalendar::prev-year, object signal in GtkCalendar
GtkCalendar:day, object property in GtkCalendar
GtkCalendar:month, object property in GtkCalendar
GtkCalendar:show-day-names, object property in GtkCalendar
GtkCalendar:show-heading, object property in GtkCalendar
GtkCalendar:show-week-numbers, object property in GtkCalendar
GtkCalendar:year, object property in GtkCalendar
gtk_calendar_clear_marks, function in GtkCalendar
gtk_calendar_get_date, function in GtkCalendar
gtk_calendar_get_day_is_marked, function in GtkCalendar
gtk_calendar_get_show_day_names, function in GtkCalendar
gtk_calendar_get_show_heading, function in GtkCalendar
gtk_calendar_get_show_week_numbers, function in GtkCalendar
gtk_calendar_mark_day, function in GtkCalendar
gtk_calendar_new, function in GtkCalendar
gtk_calendar_select_day, function in GtkCalendar
gtk_calendar_set_show_day_names, function in GtkCalendar
gtk_calendar_set_show_heading, function in GtkCalendar
gtk_calendar_set_show_week_numbers, function in GtkCalendar
gtk_calendar_unmark_day, function in GtkCalendar
GtkCallback, user_function in GtkWidget
GtkCallbackAction, struct in GtkShortcutAction
gtk_callback_action_new, function in GtkShortcutAction
gtk_cclosure_expression_new, function in GtkExpression
GtkCellAllocCallback, user_function in GtkCellArea
GtkCellArea, struct in GtkCellArea
GtkCellArea::add-editable, object signal in GtkCellArea
GtkCellArea::apply-attributes, object signal in GtkCellArea
GtkCellArea::focus-changed, object signal in GtkCellArea
GtkCellArea::remove-editable, object signal in GtkCellArea
GtkCellArea:edit-widget, object property in GtkCellArea
GtkCellArea:edited-cell, object property in GtkCellArea
GtkCellArea:focus-cell, object property in GtkCellArea
GtkCellAreaBox, struct in GtkCellAreaBox
GtkCellAreaBox:align, object property in GtkCellAreaBox
GtkCellAreaBox:expand, object property in GtkCellAreaBox
GtkCellAreaBox:fixed-size, object property in GtkCellAreaBox
GtkCellAreaBox:pack-type, object property in GtkCellAreaBox
GtkCellAreaBox:spacing, object property in GtkCellAreaBox
GtkCellAreaClass, struct in GtkCellArea
GtkCellAreaContext, struct in GtkCellAreaContext
GtkCellAreaContext:area, object property in GtkCellAreaContext
GtkCellAreaContext:minimum-height, object property in GtkCellAreaContext
GtkCellAreaContext:minimum-width, object property in GtkCellAreaContext
GtkCellAreaContext:natural-height, object property in GtkCellAreaContext
GtkCellAreaContext:natural-width, object property in GtkCellAreaContext
GtkCellAreaContextClass, struct in GtkCellAreaContext
GtkCellCallback, user_function in GtkCellArea
GtkCellEditable, struct in GtkCellEditable
GtkCellEditable::editing-done, object signal in GtkCellEditable
GtkCellEditable::remove-widget, object signal in GtkCellEditable
GtkCellEditable:editing-canceled, object property in GtkCellEditable
GtkCellEditableIface, struct in GtkCellEditable
GtkCellLayout, struct in GtkCellLayout
GtkCellLayoutDataFunc, user_function in GtkCellLayout
GtkCellLayoutIface, struct in GtkCellLayout
GtkCellRenderer, struct in GtkCellRenderer
GtkCellRenderer::editing-canceled, object signal in GtkCellRenderer
GtkCellRenderer::editing-started, object signal in GtkCellRenderer
GtkCellRenderer:cell-background, object property in GtkCellRenderer
GtkCellRenderer:cell-background-rgba, object property in GtkCellRenderer
GtkCellRenderer:cell-background-set, object property in GtkCellRenderer
GtkCellRenderer:editing, object property in GtkCellRenderer
GtkCellRenderer:height, object property in GtkCellRenderer
GtkCellRenderer:is-expanded, object property in GtkCellRenderer
GtkCellRenderer:is-expander, object property in GtkCellRenderer
GtkCellRenderer:mode, object property in GtkCellRenderer
GtkCellRenderer:sensitive, object property in GtkCellRenderer
GtkCellRenderer:visible, object property in GtkCellRenderer
GtkCellRenderer:width, object property in GtkCellRenderer
GtkCellRenderer:xalign, object property in GtkCellRenderer
GtkCellRenderer:xpad, object property in GtkCellRenderer
GtkCellRenderer:yalign, object property in GtkCellRenderer
GtkCellRenderer:ypad, object property in GtkCellRenderer
GtkCellRendererAccel, struct in GtkCellRendererAccel
GtkCellRendererAccel::accel-cleared, object signal in GtkCellRendererAccel
GtkCellRendererAccel::accel-edited, object signal in GtkCellRendererAccel
GtkCellRendererAccel:accel-key, object property in GtkCellRendererAccel
GtkCellRendererAccel:accel-mode, object property in GtkCellRendererAccel
GtkCellRendererAccel:accel-mods, object property in GtkCellRendererAccel
GtkCellRendererAccel:keycode, object property in GtkCellRendererAccel
GtkCellRendererAccelMode, enum in GtkCellRendererAccel
GtkCellRendererClass, struct in GtkCellRenderer
GtkCellRendererCombo, struct in GtkCellRendererCombo
GtkCellRendererCombo::changed, object signal in GtkCellRendererCombo
GtkCellRendererCombo:has-entry, object property in GtkCellRendererCombo
GtkCellRendererCombo:model, object property in GtkCellRendererCombo
GtkCellRendererCombo:text-column, object property in GtkCellRendererCombo
GtkCellRendererMode, enum in GtkCellRenderer
GtkCellRendererPixbuf, struct in GtkCellRendererPixbuf
GtkCellRendererPixbuf:gicon, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:icon-name, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:icon-size, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:pixbuf, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:pixbuf-expander-closed, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:pixbuf-expander-open, object property in GtkCellRendererPixbuf
GtkCellRendererPixbuf:texture, object property in GtkCellRendererPixbuf
GtkCellRendererProgress, struct in GtkCellRendererProgress
GtkCellRendererProgress:inverted, object property in GtkCellRendererProgress
GtkCellRendererProgress:pulse, object property in GtkCellRendererProgress
GtkCellRendererProgress:text, object property in GtkCellRendererProgress
GtkCellRendererProgress:text-xalign, object property in GtkCellRendererProgress
GtkCellRendererProgress:text-yalign, object property in GtkCellRendererProgress
GtkCellRendererProgress:value, object property in GtkCellRendererProgress
GtkCellRendererSpin, struct in GtkCellRendererSpin
GtkCellRendererSpin:adjustment, object property in GtkCellRendererSpin
GtkCellRendererSpin:climb-rate, object property in GtkCellRendererSpin
GtkCellRendererSpin:digits, object property in GtkCellRendererSpin
GtkCellRendererSpinner, struct in GtkCellRendererSpinner
GtkCellRendererSpinner:active, object property in GtkCellRendererSpinner
GtkCellRendererSpinner:pulse, object property in GtkCellRendererSpinner
GtkCellRendererSpinner:size, object property in GtkCellRendererSpinner
GtkCellRendererState, enum in GtkCellRenderer
GtkCellRendererText, struct in GtkCellRendererText
GtkCellRendererText::edited, object signal in GtkCellRendererText
GtkCellRendererText:align-set, object property in GtkCellRendererText
GtkCellRendererText:alignment, object property in GtkCellRendererText
GtkCellRendererText:attributes, object property in GtkCellRendererText
GtkCellRendererText:background, object property in GtkCellRendererText
GtkCellRendererText:background-rgba, object property in GtkCellRendererText
GtkCellRendererText:background-set, object property in GtkCellRendererText
GtkCellRendererText:editable, object property in GtkCellRendererText
GtkCellRendererText:editable-set, object property in GtkCellRendererText
GtkCellRendererText:ellipsize, object property in GtkCellRendererText
GtkCellRendererText:ellipsize-set, object property in GtkCellRendererText
GtkCellRendererText:family, object property in GtkCellRendererText
GtkCellRendererText:family-set, object property in GtkCellRendererText
GtkCellRendererText:font, object property in GtkCellRendererText
GtkCellRendererText:font-desc, object property in GtkCellRendererText
GtkCellRendererText:foreground, object property in GtkCellRendererText
GtkCellRendererText:foreground-rgba, object property in GtkCellRendererText
GtkCellRendererText:foreground-set, object property in GtkCellRendererText
GtkCellRendererText:language, object property in GtkCellRendererText
GtkCellRendererText:language-set, object property in GtkCellRendererText
GtkCellRendererText:markup, object property in GtkCellRendererText
GtkCellRendererText:max-width-chars, object property in GtkCellRendererText
GtkCellRendererText:placeholder-text, object property in GtkCellRendererText
GtkCellRendererText:rise, object property in GtkCellRendererText
GtkCellRendererText:rise-set, object property in GtkCellRendererText
GtkCellRendererText:scale, object property in GtkCellRendererText
GtkCellRendererText:scale-set, object property in GtkCellRendererText
GtkCellRendererText:single-paragraph-mode, object property in GtkCellRendererText
GtkCellRendererText:size, object property in GtkCellRendererText
GtkCellRendererText:size-points, object property in GtkCellRendererText
GtkCellRendererText:size-set, object property in GtkCellRendererText
GtkCellRendererText:stretch, object property in GtkCellRendererText
GtkCellRendererText:stretch-set, object property in GtkCellRendererText
GtkCellRendererText:strikethrough, object property in GtkCellRendererText
GtkCellRendererText:strikethrough-set, object property in GtkCellRendererText
GtkCellRendererText:style, object property in GtkCellRendererText
GtkCellRendererText:style-set, object property in GtkCellRendererText
GtkCellRendererText:text, object property in GtkCellRendererText
GtkCellRendererText:underline, object property in GtkCellRendererText
GtkCellRendererText:underline-set, object property in GtkCellRendererText
GtkCellRendererText:variant, object property in GtkCellRendererText
GtkCellRendererText:variant-set, object property in GtkCellRendererText
GtkCellRendererText:weight, object property in GtkCellRendererText
GtkCellRendererText:weight-set, object property in GtkCellRendererText
GtkCellRendererText:width-chars, object property in GtkCellRendererText
GtkCellRendererText:wrap-mode, object property in GtkCellRendererText
GtkCellRendererText:wrap-width, object property in GtkCellRendererText
GtkCellRendererToggle, struct in GtkCellRendererToggle
GtkCellRendererToggle::toggled, object signal in GtkCellRendererToggle
GtkCellRendererToggle:activatable, object property in GtkCellRendererToggle
GtkCellRendererToggle:active, object property in GtkCellRendererToggle
GtkCellRendererToggle:inconsistent, object property in GtkCellRendererToggle
GtkCellRendererToggle:radio, object property in GtkCellRendererToggle
GtkCellView, struct in GtkCellView
GtkCellView:cell-area, object property in GtkCellView
GtkCellView:cell-area-context, object property in GtkCellView
GtkCellView:draw-sensitive, object property in GtkCellView
GtkCellView:fit-model, object property in GtkCellView
GtkCellView:model, object property in GtkCellView
gtk_cell_area_activate, function in GtkCellArea
gtk_cell_area_activate_cell, function in GtkCellArea
gtk_cell_area_add, function in GtkCellArea
gtk_cell_area_add_focus_sibling, function in GtkCellArea
gtk_cell_area_add_with_properties, function in GtkCellArea
gtk_cell_area_apply_attributes, function in GtkCellArea
gtk_cell_area_attribute_connect, function in GtkCellArea
gtk_cell_area_attribute_disconnect, function in GtkCellArea
gtk_cell_area_attribute_get_column, function in GtkCellArea
gtk_cell_area_box_get_spacing, function in GtkCellAreaBox
gtk_cell_area_box_new, function in GtkCellAreaBox
gtk_cell_area_box_pack_end, function in GtkCellAreaBox
gtk_cell_area_box_pack_start, function in GtkCellAreaBox
gtk_cell_area_box_set_spacing, function in GtkCellAreaBox
gtk_cell_area_cell_get, function in GtkCellArea
gtk_cell_area_cell_get_property, function in GtkCellArea
gtk_cell_area_cell_get_valist, function in GtkCellArea
gtk_cell_area_cell_set, function in GtkCellArea
gtk_cell_area_cell_set_property, function in GtkCellArea
gtk_cell_area_cell_set_valist, function in GtkCellArea
gtk_cell_area_class_find_cell_property, function in GtkCellArea
gtk_cell_area_class_install_cell_property, function in GtkCellArea
gtk_cell_area_class_list_cell_properties, function in GtkCellArea
gtk_cell_area_context_allocate, function in GtkCellAreaContext
gtk_cell_area_context_get_allocation, function in GtkCellAreaContext
gtk_cell_area_context_get_area, function in GtkCellAreaContext
gtk_cell_area_context_get_preferred_height, function in GtkCellAreaContext
gtk_cell_area_context_get_preferred_height_for_width, function in GtkCellAreaContext
gtk_cell_area_context_get_preferred_width, function in GtkCellAreaContext
gtk_cell_area_context_get_preferred_width_for_height, function in GtkCellAreaContext
gtk_cell_area_context_push_preferred_height, function in GtkCellAreaContext
gtk_cell_area_context_push_preferred_width, function in GtkCellAreaContext
gtk_cell_area_context_reset, function in GtkCellAreaContext
gtk_cell_area_copy_context, function in GtkCellArea
gtk_cell_area_create_context, function in GtkCellArea
gtk_cell_area_event, function in GtkCellArea
gtk_cell_area_focus, function in GtkCellArea
gtk_cell_area_foreach, function in GtkCellArea
gtk_cell_area_foreach_alloc, function in GtkCellArea
gtk_cell_area_get_cell_allocation, function in GtkCellArea
gtk_cell_area_get_cell_at_position, function in GtkCellArea
gtk_cell_area_get_current_path_string, function in GtkCellArea
gtk_cell_area_get_edited_cell, function in GtkCellArea
gtk_cell_area_get_edit_widget, function in GtkCellArea
gtk_cell_area_get_focus_cell, function in GtkCellArea
gtk_cell_area_get_focus_from_sibling, function in GtkCellArea
gtk_cell_area_get_focus_siblings, function in GtkCellArea
gtk_cell_area_get_preferred_height, function in GtkCellArea
gtk_cell_area_get_preferred_height_for_width, function in GtkCellArea
gtk_cell_area_get_preferred_width, function in GtkCellArea
gtk_cell_area_get_preferred_width_for_height, function in GtkCellArea
gtk_cell_area_get_request_mode, function in GtkCellArea
gtk_cell_area_has_renderer, function in GtkCellArea
gtk_cell_area_inner_cell_area, function in GtkCellArea
gtk_cell_area_is_activatable, function in GtkCellArea
gtk_cell_area_is_focus_sibling, function in GtkCellArea
gtk_cell_area_remove, function in GtkCellArea
gtk_cell_area_remove_focus_sibling, function in GtkCellArea
gtk_cell_area_request_renderer, function in GtkCellArea
gtk_cell_area_set_focus_cell, function in GtkCellArea
gtk_cell_area_snapshot, function in GtkCellArea
gtk_cell_area_stop_editing, function in GtkCellArea
GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID, macro in GtkCellArea
gtk_cell_editable_editing_done, function in GtkCellEditable
gtk_cell_editable_remove_widget, function in GtkCellEditable
gtk_cell_editable_start_editing, function in GtkCellEditable
gtk_cell_layout_add_attribute, function in GtkCellLayout
gtk_cell_layout_clear, function in GtkCellLayout
gtk_cell_layout_clear_attributes, function in GtkCellLayout
gtk_cell_layout_get_area, function in GtkCellLayout
gtk_cell_layout_get_cells, function in GtkCellLayout
gtk_cell_layout_pack_end, function in GtkCellLayout
gtk_cell_layout_pack_start, function in GtkCellLayout
gtk_cell_layout_reorder, function in GtkCellLayout
gtk_cell_layout_set_attributes, function in GtkCellLayout
gtk_cell_layout_set_cell_data_func, function in GtkCellLayout
gtk_cell_renderer_accel_new, function in GtkCellRendererAccel
gtk_cell_renderer_activate, function in GtkCellRenderer
gtk_cell_renderer_combo_new, function in GtkCellRendererCombo
gtk_cell_renderer_get_aligned_area, function in GtkCellRenderer
gtk_cell_renderer_get_alignment, function in GtkCellRenderer
gtk_cell_renderer_get_fixed_size, function in GtkCellRenderer
gtk_cell_renderer_get_padding, function in GtkCellRenderer
gtk_cell_renderer_get_preferred_height, function in GtkCellRenderer
gtk_cell_renderer_get_preferred_height_for_width, function in GtkCellRenderer
gtk_cell_renderer_get_preferred_size, function in GtkCellRenderer
gtk_cell_renderer_get_preferred_width, function in GtkCellRenderer
gtk_cell_renderer_get_preferred_width_for_height, function in GtkCellRenderer
gtk_cell_renderer_get_request_mode, function in GtkCellRenderer
gtk_cell_renderer_get_sensitive, function in GtkCellRenderer
gtk_cell_renderer_get_state, function in GtkCellRenderer
gtk_cell_renderer_get_visible, function in GtkCellRenderer
gtk_cell_renderer_is_activatable, function in GtkCellRenderer
gtk_cell_renderer_pixbuf_new, function in GtkCellRendererPixbuf
gtk_cell_renderer_progress_new, function in GtkCellRendererProgress
gtk_cell_renderer_set_alignment, function in GtkCellRenderer
gtk_cell_renderer_set_fixed_size, function in GtkCellRenderer
gtk_cell_renderer_set_padding, function in GtkCellRenderer
gtk_cell_renderer_set_sensitive, function in GtkCellRenderer
gtk_cell_renderer_set_visible, function in GtkCellRenderer
gtk_cell_renderer_snapshot, function in GtkCellRenderer
gtk_cell_renderer_spinner_new, function in GtkCellRendererSpinner
gtk_cell_renderer_spin_new, function in GtkCellRendererSpin
gtk_cell_renderer_start_editing, function in GtkCellRenderer
gtk_cell_renderer_stop_editing, function in GtkCellRenderer
gtk_cell_renderer_text_new, function in GtkCellRendererText
gtk_cell_renderer_text_set_fixed_height_from_font, function in GtkCellRendererText
gtk_cell_renderer_toggle_get_activatable, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_get_active, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_get_radio, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_new, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_set_activatable, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_set_active, function in GtkCellRendererToggle
gtk_cell_renderer_toggle_set_radio, function in GtkCellRendererToggle
gtk_cell_view_get_displayed_row, function in GtkCellView
gtk_cell_view_get_draw_sensitive, function in GtkCellView
gtk_cell_view_get_fit_model, function in GtkCellView
gtk_cell_view_get_model, function in GtkCellView
gtk_cell_view_new, function in GtkCellView
gtk_cell_view_new_with_context, function in GtkCellView
gtk_cell_view_new_with_markup, function in GtkCellView
gtk_cell_view_new_with_text, function in GtkCellView
gtk_cell_view_new_with_texture, function in GtkCellView
gtk_cell_view_set_displayed_row, function in GtkCellView
gtk_cell_view_set_draw_sensitive, function in GtkCellView
gtk_cell_view_set_fit_model, function in GtkCellView
gtk_cell_view_set_model, function in GtkCellView
GtkCenterBox, struct in GtkCenterBox
GtkCenterLayout, struct in GtkCenterLayout
gtk_center_box_get_baseline_position, function in GtkCenterBox
gtk_center_box_get_center_widget, function in GtkCenterBox
gtk_center_box_get_end_widget, function in GtkCenterBox
gtk_center_box_get_start_widget, function in GtkCenterBox
gtk_center_box_new, function in GtkCenterBox
gtk_center_box_set_baseline_position, function in GtkCenterBox
gtk_center_box_set_center_widget, function in GtkCenterBox
gtk_center_box_set_end_widget, function in GtkCenterBox
gtk_center_box_set_start_widget, function in GtkCenterBox
gtk_center_layout_get_baseline_position, function in GtkCenterLayout
gtk_center_layout_get_center_widget, function in GtkCenterLayout
gtk_center_layout_get_end_widget, function in GtkCenterLayout
gtk_center_layout_get_orientation, function in GtkCenterLayout
gtk_center_layout_get_start_widget, function in GtkCenterLayout
gtk_center_layout_new, function in GtkCenterLayout
gtk_center_layout_set_baseline_position, function in GtkCenterLayout
gtk_center_layout_set_center_widget, function in GtkCenterLayout
gtk_center_layout_set_end_widget, function in GtkCenterLayout
gtk_center_layout_set_orientation, function in GtkCenterLayout
gtk_center_layout_set_start_widget, function in GtkCenterLayout
GtkCheckButton, struct in GtkCheckButton
GtkCheckButton:draw-indicator, object property in GtkCheckButton
GtkCheckButton:inconsistent, object property in GtkCheckButton
gtk_check_button_get_draw_indicator, function in GtkCheckButton
gtk_check_button_get_inconsistent, function in GtkCheckButton
gtk_check_button_new, function in GtkCheckButton
gtk_check_button_new_with_label, function in GtkCheckButton
gtk_check_button_new_with_mnemonic, function in GtkCheckButton
gtk_check_button_set_draw_indicator, function in GtkCheckButton
gtk_check_button_set_inconsistent, function in GtkCheckButton
GTK_CHECK_VERSION, macro in Feature Test Macros
gtk_check_version, function in Feature Test Macros
gtk_closure_expression_new, function in GtkExpression
GtkColorButton, struct in GtkColorButton
GtkColorButton::color-set, object signal in GtkColorButton
GtkColorButton:modal, object property in GtkColorButton
GtkColorButton:rgba, object property in GtkColorButton
GtkColorButton:show-editor, object property in GtkColorButton
GtkColorButton:title, object property in GtkColorButton
GtkColorButton:use-alpha, object property in GtkColorButton
GtkColorChooser, struct in GtkColorChooser
GtkColorChooser::color-activated, object signal in GtkColorChooser
GtkColorChooser:rgba, object property in GtkColorChooser
GtkColorChooser:use-alpha, object property in GtkColorChooser
GtkColorChooserDialog, struct in GtkColorChooserDialog
GtkColorChooserDialog:show-editor, object property in GtkColorChooserDialog
GtkColorChooserWidget, struct in GtkColorChooserWidget
GtkColorChooserWidget:show-editor, object property in GtkColorChooserWidget
GtkColorChooserWidget|color.customize, action in GtkColorChooserWidget
GtkColorChooserWidget|color.select, action in GtkColorChooserWidget
gtk_color_button_get_modal, function in GtkColorButton
gtk_color_button_get_title, function in GtkColorButton
gtk_color_button_new, function in GtkColorButton
gtk_color_button_new_with_rgba, function in GtkColorButton
gtk_color_button_set_modal, function in GtkColorButton
gtk_color_button_set_title, function in GtkColorButton
gtk_color_chooser_add_palette, function in GtkColorChooser
gtk_color_chooser_dialog_new, function in GtkColorChooserDialog
gtk_color_chooser_get_rgba, function in GtkColorChooser
gtk_color_chooser_get_use_alpha, function in GtkColorChooser
gtk_color_chooser_set_rgba, function in GtkColorChooser
gtk_color_chooser_set_use_alpha, function in GtkColorChooser
gtk_color_chooser_widget_new, function in GtkColorChooserWidget
GtkColumnView, struct in GtkColumnView
GtkColumnView::activate, object signal in GtkColumnView
GtkColumnView:columns, object property in GtkColumnView
GtkColumnView:enable-rubberband, object property in GtkColumnView
GtkColumnView:model, object property in GtkColumnView
GtkColumnView:reorderable, object property in GtkColumnView
GtkColumnView:show-column-separators, object property in GtkColumnView
GtkColumnView:show-row-separators, object property in GtkColumnView
GtkColumnView:single-click-activate, object property in GtkColumnView
GtkColumnView:sorter, object property in GtkColumnView
GtkColumnViewColumn, struct in GtkColumnViewColumn
GtkColumnViewColumn:column-view, object property in GtkColumnViewColumn
GtkColumnViewColumn:expand, object property in GtkColumnViewColumn
GtkColumnViewColumn:factory, object property in GtkColumnViewColumn
GtkColumnViewColumn:fixed-width, object property in GtkColumnViewColumn
GtkColumnViewColumn:header-menu, object property in GtkColumnViewColumn
GtkColumnViewColumn:resizable, object property in GtkColumnViewColumn
GtkColumnViewColumn:sorter, object property in GtkColumnViewColumn
GtkColumnViewColumn:title, object property in GtkColumnViewColumn
GtkColumnViewColumn:visible, object property in GtkColumnViewColumn
gtk_column_view_append_column, function in GtkColumnView
gtk_column_view_column_get_column_view, function in GtkColumnViewColumn
gtk_column_view_column_get_expand, function in GtkColumnViewColumn
gtk_column_view_column_get_factory, function in GtkColumnViewColumn
gtk_column_view_column_get_fixed_width, function in GtkColumnViewColumn
gtk_column_view_column_get_header_menu, function in GtkColumnViewColumn
gtk_column_view_column_get_resizable, function in GtkColumnViewColumn
gtk_column_view_column_get_sorter, function in GtkColumnViewColumn
gtk_column_view_column_get_title, function in GtkColumnViewColumn
gtk_column_view_column_get_visible, function in GtkColumnViewColumn
gtk_column_view_column_new, function in GtkColumnViewColumn
gtk_column_view_column_new_with_factory, function in GtkColumnViewColumn
gtk_column_view_column_set_expand, function in GtkColumnViewColumn
gtk_column_view_column_set_factory, function in GtkColumnViewColumn
gtk_column_view_column_set_fixed_width, function in GtkColumnViewColumn
gtk_column_view_column_set_header_menu, function in GtkColumnViewColumn
gtk_column_view_column_set_resizable, function in GtkColumnViewColumn
gtk_column_view_column_set_sorter, function in GtkColumnViewColumn
gtk_column_view_column_set_title, function in GtkColumnViewColumn
gtk_column_view_column_set_visible, function in GtkColumnViewColumn
gtk_column_view_get_columns, function in GtkColumnView
gtk_column_view_get_enable_rubberband, function in GtkColumnView
gtk_column_view_get_model, function in GtkColumnView
gtk_column_view_get_reorderable, function in GtkColumnView
gtk_column_view_get_show_column_separators, function in GtkColumnView
gtk_column_view_get_show_row_separators, function in GtkColumnView
gtk_column_view_get_single_click_activate, function in GtkColumnView
gtk_column_view_get_sorter, function in GtkColumnView
gtk_column_view_insert_column, function in GtkColumnView
gtk_column_view_new, function in GtkColumnView
gtk_column_view_remove_column, function in GtkColumnView
gtk_column_view_set_enable_rubberband, function in GtkColumnView
gtk_column_view_set_model, function in GtkColumnView
gtk_column_view_set_reorderable, function in GtkColumnView
gtk_column_view_set_show_column_separators, function in GtkColumnView
gtk_column_view_set_show_row_separators, function in GtkColumnView
gtk_column_view_set_single_click_activate, function in GtkColumnView
gtk_column_view_sort_by_column, function in GtkColumnView
GtkComboBox, struct in GtkComboBox
GtkComboBox::changed, object signal in GtkComboBox
GtkComboBox::format-entry-text, object signal in GtkComboBox
GtkComboBox::move-active, object signal in GtkComboBox
GtkComboBox::popdown, object signal in GtkComboBox
GtkComboBox::popup, object signal in GtkComboBox
GtkComboBox:active, object property in GtkComboBox
GtkComboBox:active-id, object property in GtkComboBox
GtkComboBox:button-sensitivity, object property in GtkComboBox
GtkComboBox:child, object property in GtkComboBox
GtkComboBox:entry-text-column, object property in GtkComboBox
GtkComboBox:has-entry, object property in GtkComboBox
GtkComboBox:has-frame, object property in GtkComboBox
GtkComboBox:id-column, object property in GtkComboBox
GtkComboBox:model, object property in GtkComboBox
GtkComboBox:popup-fixed-width, object property in GtkComboBox
GtkComboBox:popup-shown, object property in GtkComboBox
GtkComboBoxClass, struct in GtkComboBox
GtkComboBoxText, struct in GtkComboBoxText
gtk_combo_box_get_active, function in GtkComboBox
gtk_combo_box_get_active_id, function in GtkComboBox
gtk_combo_box_get_active_iter, function in GtkComboBox
gtk_combo_box_get_button_sensitivity, function in GtkComboBox
gtk_combo_box_get_child, function in GtkComboBox
gtk_combo_box_get_entry_text_column, function in GtkComboBox
gtk_combo_box_get_has_entry, function in GtkComboBox
gtk_combo_box_get_id_column, function in GtkComboBox
gtk_combo_box_get_model, function in GtkComboBox
gtk_combo_box_get_popup_fixed_width, function in GtkComboBox
gtk_combo_box_get_row_separator_func, function in GtkComboBox
gtk_combo_box_new, function in GtkComboBox
gtk_combo_box_new_with_entry, function in GtkComboBox
gtk_combo_box_new_with_model, function in GtkComboBox
gtk_combo_box_new_with_model_and_entry, function in GtkComboBox
gtk_combo_box_popdown, function in GtkComboBox
gtk_combo_box_set_active, function in GtkComboBox
gtk_combo_box_set_active_id, function in GtkComboBox
gtk_combo_box_set_active_iter, function in GtkComboBox
gtk_combo_box_set_button_sensitivity, function in GtkComboBox
gtk_combo_box_set_child, function in GtkComboBox
gtk_combo_box_set_entry_text_column, function in GtkComboBox
gtk_combo_box_set_id_column, function in GtkComboBox
gtk_combo_box_set_model, function in GtkComboBox
gtk_combo_box_set_popup_fixed_width, function in GtkComboBox
gtk_combo_box_set_row_separator_func, function in GtkComboBox
gtk_combo_box_text_append, function in GtkComboBoxText
gtk_combo_box_text_append_text, function in GtkComboBoxText
gtk_combo_box_text_get_active_text, function in GtkComboBoxText
gtk_combo_box_text_insert, function in GtkComboBoxText
gtk_combo_box_text_insert_text, function in GtkComboBoxText
gtk_combo_box_text_new, function in GtkComboBoxText
gtk_combo_box_text_new_with_entry, function in GtkComboBoxText
gtk_combo_box_text_prepend, function in GtkComboBoxText
gtk_combo_box_text_prepend_text, function in GtkComboBoxText
gtk_combo_box_text_remove, function in GtkComboBoxText
gtk_combo_box_text_remove_all, function in GtkComboBoxText
gtk_constant_expression_get_value, function in GtkExpression
gtk_constant_expression_new, function in GtkExpression
gtk_constant_expression_new_for_value, function in GtkExpression
GtkConstraint, struct in GtkConstraint
GtkConstraint:constant, object property in GtkConstraint
GtkConstraint:multiplier, object property in GtkConstraint
GtkConstraint:relation, object property in GtkConstraint
GtkConstraint:source, object property in GtkConstraint
GtkConstraint:source-attribute, object property in GtkConstraint
GtkConstraint:strength, object property in GtkConstraint
GtkConstraint:target, object property in GtkConstraint
GtkConstraint:target-attribute, object property in GtkConstraint
GtkConstraintAttribute, enum in GtkConstraint
GtkConstraintGuide, struct in GtkConstraintGuide
GtkConstraintGuide:max-height, object property in GtkConstraintGuide
GtkConstraintGuide:max-width, object property in GtkConstraintGuide
GtkConstraintGuide:min-height, object property in GtkConstraintGuide
GtkConstraintGuide:min-width, object property in GtkConstraintGuide
GtkConstraintGuide:name, object property in GtkConstraintGuide
GtkConstraintGuide:nat-height, object property in GtkConstraintGuide
GtkConstraintGuide:nat-width, object property in GtkConstraintGuide
GtkConstraintGuide:strength, object property in GtkConstraintGuide
GtkConstraintLayout, struct in GtkConstraintLayout
GtkConstraintLayoutChild, struct in GtkConstraintLayout
GtkConstraintRelation, enum in GtkConstraint
GtkConstraintStrength, enum in GtkConstraint
GtkConstraintTarget, struct in GtkConstraint
GtkConstraintVflParserError, enum in GtkConstraintLayout
gtk_constraint_get_constant, function in GtkConstraint
gtk_constraint_get_multiplier, function in GtkConstraint
gtk_constraint_get_relation, function in GtkConstraint
gtk_constraint_get_source, function in GtkConstraint
gtk_constraint_get_source_attribute, function in GtkConstraint
gtk_constraint_get_strength, function in GtkConstraint
gtk_constraint_get_target, function in GtkConstraint
gtk_constraint_get_target_attribute, function in GtkConstraint
gtk_constraint_guide_get_max_size, function in GtkConstraintGuide
gtk_constraint_guide_get_min_size, function in GtkConstraintGuide
gtk_constraint_guide_get_name, function in GtkConstraintGuide
gtk_constraint_guide_get_nat_size, function in GtkConstraintGuide
gtk_constraint_guide_get_strength, function in GtkConstraintGuide
gtk_constraint_guide_new, function in GtkConstraintGuide
gtk_constraint_guide_set_max_size, function in GtkConstraintGuide
gtk_constraint_guide_set_min_size, function in GtkConstraintGuide
gtk_constraint_guide_set_name, function in GtkConstraintGuide
gtk_constraint_guide_set_nat_size, function in GtkConstraintGuide
gtk_constraint_guide_set_strength, function in GtkConstraintGuide
gtk_constraint_is_attached, function in GtkConstraint
gtk_constraint_is_constant, function in GtkConstraint
gtk_constraint_is_required, function in GtkConstraint
gtk_constraint_layout_add_constraint, function in GtkConstraintLayout
gtk_constraint_layout_add_constraints_from_description, function in GtkConstraintLayout
gtk_constraint_layout_add_constraints_from_descriptionv, function in GtkConstraintLayout
gtk_constraint_layout_add_guide, function in GtkConstraintLayout
gtk_constraint_layout_new, function in GtkConstraintLayout
gtk_constraint_layout_observe_constraints, function in GtkConstraintLayout
gtk_constraint_layout_observe_guides, function in GtkConstraintLayout
gtk_constraint_layout_remove_all_constraints, function in GtkConstraintLayout
gtk_constraint_layout_remove_constraint, function in GtkConstraintLayout
gtk_constraint_layout_remove_guide, function in GtkConstraintLayout
gtk_constraint_new, function in GtkConstraint
gtk_constraint_new_constant, function in GtkConstraint
GtkCornerType, enum in GtkScrolledWindow
GtkCssLocation, struct in GtkCssProvider
GtkCssParserError, enum in GtkCssProvider
GtkCssParserWarning, enum in GtkCssProvider
GtkCssProvider, struct in GtkCssProvider
GtkCssProvider::parsing-error, object signal in GtkCssProvider
GtkCssSection, struct in GtkCssProvider
GTK_CSS_PARSER_ERROR, macro in GtkCssProvider
gtk_css_provider_load_from_data, function in GtkCssProvider
gtk_css_provider_load_from_file, function in GtkCssProvider
gtk_css_provider_load_from_path, function in GtkCssProvider
gtk_css_provider_load_from_resource, function in GtkCssProvider
gtk_css_provider_load_named, function in GtkCssProvider
gtk_css_provider_new, function in GtkCssProvider
gtk_css_provider_to_string, function in GtkCssProvider
gtk_css_section_get_end_location, function in GtkCssProvider
gtk_css_section_get_file, function in GtkCssProvider
gtk_css_section_get_parent, function in GtkCssProvider
gtk_css_section_get_start_location, function in GtkCssProvider
gtk_css_section_new, function in GtkCssProvider
gtk_css_section_print, function in GtkCssProvider
gtk_css_section_ref, function in GtkCssProvider
gtk_css_section_to_string, function in GtkCssProvider
gtk_css_section_unref, function in GtkCssProvider
GtkCustomAllocateFunc, user_function in GtkCustomLayout
GtkCustomFilter, struct in GtkCustomFilter
GtkCustomFilterFunc, user_function in GtkCustomFilter
GtkCustomLayout, struct in GtkCustomLayout
GtkCustomMeasureFunc, user_function in GtkCustomLayout
GtkCustomRequestModeFunc, user_function in GtkCustomLayout
GtkCustomSorter, struct in GtkCustomSorter
gtk_custom_filter_new, function in GtkCustomFilter
gtk_custom_filter_set_filter_func, function in GtkCustomFilter
gtk_custom_layout_new, function in GtkCustomLayout
gtk_custom_sorter_new, function in GtkCustomSorter
gtk_custom_sorter_set_sort_func, function in GtkCustomSorter

D

GtkDeleteType, enum in Standard Enumerations
GtkDialog, struct in GtkDialog
GtkDialog::close, object signal in GtkDialog
GtkDialog::response, object signal in GtkDialog
GtkDialog:use-header-bar, object property in GtkDialog
GtkDialogClass, struct in GtkDialog
GtkDialogFlags, enum in GtkDialog
gtk_dialog_add_action_widget, function in GtkDialog
gtk_dialog_add_button, function in GtkDialog
gtk_dialog_add_buttons, function in GtkDialog
gtk_dialog_get_content_area, function in GtkDialog
gtk_dialog_get_header_bar, function in GtkDialog
gtk_dialog_get_response_for_widget, function in GtkDialog
gtk_dialog_get_widget_for_response, function in GtkDialog
gtk_dialog_new, function in GtkDialog
gtk_dialog_new_with_buttons, function in GtkDialog
gtk_dialog_response, function in GtkDialog
gtk_dialog_set_default_response, function in GtkDialog
gtk_dialog_set_response_sensitive, function in GtkDialog
GtkDirectionType, enum in Standard Enumerations
GtkDirectoryList, struct in GtkDirectoryList
GtkDirectoryList:attributes, object property in GtkDirectoryList
GtkDirectoryList:error, object property in GtkDirectoryList
GtkDirectoryList:file, object property in GtkDirectoryList
GtkDirectoryList:io-priority, object property in GtkDirectoryList
GtkDirectoryList:item-type, object property in GtkDirectoryList
GtkDirectoryList:loading, object property in GtkDirectoryList
GtkDirectoryList:monitored, object property in GtkDirectoryList
gtk_directory_list_get_attributes, function in GtkDirectoryList
gtk_directory_list_get_error, function in GtkDirectoryList
gtk_directory_list_get_file, function in GtkDirectoryList
gtk_directory_list_get_io_priority, function in GtkDirectoryList
gtk_directory_list_get_monitored, function in GtkDirectoryList
gtk_directory_list_is_loading, function in GtkDirectoryList
gtk_directory_list_new, function in GtkDirectoryList
gtk_directory_list_set_attributes, function in GtkDirectoryList
gtk_directory_list_set_file, function in GtkDirectoryList
gtk_directory_list_set_io_priority, function in GtkDirectoryList
gtk_directory_list_set_monitored, function in GtkDirectoryList
gtk_disable_setlocale, function in General
gtk_distribute_natural_allocation, function in GtkWidget
GtkDragIcon, struct in GtkDragIcon
GtkDragIcon:child, object property in GtkDragIcon
GtkDragSource, struct in GtkDragSource
GtkDragSource::drag-begin, object signal in GtkDragSource
GtkDragSource::drag-cancel, object signal in GtkDragSource
GtkDragSource::drag-end, object signal in GtkDragSource
GtkDragSource::prepare, object signal in GtkDragSource
GtkDragSource:actions, object property in GtkDragSource
GtkDragSource:content, object property in GtkDragSource
gtk_drag_check_threshold, function in GtkDragSource
gtk_drag_icon_create_widget_for_value, function in GtkDragIcon
gtk_drag_icon_get_child, function in GtkDragIcon
gtk_drag_icon_get_for_drag, function in GtkDragIcon
gtk_drag_icon_set_child, function in GtkDragIcon
gtk_drag_icon_set_from_paintable, function in GtkDragIcon
gtk_drag_source_drag_cancel, function in GtkDragSource
gtk_drag_source_get_actions, function in GtkDragSource
gtk_drag_source_get_content, function in GtkDragSource
gtk_drag_source_get_drag, function in GtkDragSource
gtk_drag_source_new, function in GtkDragSource
gtk_drag_source_set_actions, function in GtkDragSource
gtk_drag_source_set_content, function in GtkDragSource
gtk_drag_source_set_icon, function in GtkDragSource
GtkDrawingArea, struct in GtkDrawingArea
GtkDrawingArea::resize, object signal in GtkDrawingArea
GtkDrawingArea:content-height, object property in GtkDrawingArea
GtkDrawingArea:content-width, object property in GtkDrawingArea
GtkDrawingAreaDrawFunc, user_function in GtkDrawingArea
gtk_drawing_area_get_content_height, function in GtkDrawingArea
gtk_drawing_area_get_content_width, function in GtkDrawingArea
gtk_drawing_area_new, function in GtkDrawingArea
gtk_drawing_area_set_content_height, function in GtkDrawingArea
gtk_drawing_area_set_content_width, function in GtkDrawingArea
gtk_drawing_area_set_draw_func, function in GtkDrawingArea
GtkDropControllerMotion, struct in GtkDropControllerMotion
GtkDropDown, struct in GtkDropDown
GtkDropDown:enable-search, object property in GtkDropDown
GtkDropDown:expression, object property in GtkDropDown
GtkDropDown:factory, object property in GtkDropDown
GtkDropDown:list-factory, object property in GtkDropDown
GtkDropDown:model, object property in GtkDropDown
GtkDropDown:selected, object property in GtkDropDown
GtkDropDown:selected-item, object property in GtkDropDown
GtkDropTarget, struct in GtkDropTarget
GtkDropTarget::accept, object signal in GtkDropTarget
GtkDropTarget::drop, object signal in GtkDropTarget
GtkDropTarget::enter, object signal in GtkDropTarget
GtkDropTarget::leave, object signal in GtkDropTarget
GtkDropTarget::motion, object signal in GtkDropTarget
GtkDropTarget:actions, object property in GtkDropTarget
GtkDropTarget:drop, object property in GtkDropTarget
GtkDropTarget:formats, object property in GtkDropTarget
GtkDropTarget:preload, object property in GtkDropTarget
GtkDropTarget:value, object property in GtkDropTarget
GtkDropTargetAsync, struct in GtkDropTargetAsync
GtkDropTargetAsync::accept, object signal in GtkDropTargetAsync
GtkDropTargetAsync::drag-enter, object signal in GtkDropTargetAsync
GtkDropTargetAsync::drag-leave, object signal in GtkDropTargetAsync
GtkDropTargetAsync::drag-motion, object signal in GtkDropTargetAsync
GtkDropTargetAsync::drop, object signal in GtkDropTargetAsync
GtkDropTargetAsync:actions, object property in GtkDropTargetAsync
GtkDropTargetAsync:formats, object property in GtkDropTargetAsync
gtk_drop_controller_motion_contains_pointer, function in GtkDropControllerMotion
gtk_drop_controller_motion_get_drop, function in GtkDropControllerMotion
gtk_drop_controller_motion_is_pointer, function in GtkDropControllerMotion
gtk_drop_controller_motion_new, function in GtkDropControllerMotion
gtk_drop_down_get_enable_search, function in GtkDropDown
gtk_drop_down_get_expression, function in GtkDropDown
gtk_drop_down_get_factory, function in GtkDropDown
gtk_drop_down_get_list_factory, function in GtkDropDown
gtk_drop_down_get_model, function in GtkDropDown
gtk_drop_down_get_selected, function in GtkDropDown
gtk_drop_down_get_selected_item, function in GtkDropDown
gtk_drop_down_new, function in GtkDropDown
gtk_drop_down_new_from_strings, function in GtkDropDown
gtk_drop_down_set_enable_search, function in GtkDropDown
gtk_drop_down_set_expression, function in GtkDropDown
gtk_drop_down_set_factory, function in GtkDropDown
gtk_drop_down_set_list_factory, function in GtkDropDown
gtk_drop_down_set_model, function in GtkDropDown
gtk_drop_down_set_selected, function in GtkDropDown
gtk_drop_target_async_get_actions, function in GtkDropTargetAsync
gtk_drop_target_async_get_formats, function in GtkDropTargetAsync
gtk_drop_target_async_new, function in GtkDropTargetAsync
gtk_drop_target_async_reject_drop, function in GtkDropTargetAsync
gtk_drop_target_async_set_actions, function in GtkDropTargetAsync
gtk_drop_target_async_set_formats, function in GtkDropTargetAsync
gtk_drop_target_get_actions, function in GtkDropTarget
gtk_drop_target_get_drop, function in GtkDropTarget
gtk_drop_target_get_formats, function in GtkDropTarget
gtk_drop_target_get_gtypes, function in GtkDropTarget
gtk_drop_target_get_preload, function in GtkDropTarget
gtk_drop_target_get_value, function in GtkDropTarget
gtk_drop_target_new, function in GtkDropTarget
gtk_drop_target_reject, function in GtkDropTarget
gtk_drop_target_set_actions, function in GtkDropTarget
gtk_drop_target_set_gtypes, function in GtkDropTarget
gtk_drop_target_set_preload, function in GtkDropTarget

E

GtkEditable, struct in GtkEditable
GtkEditable::changed, object signal in GtkEditable
GtkEditable::delete-text, object signal in GtkEditable
GtkEditable::insert-text, object signal in GtkEditable
GtkEditable:cursor-position, object property in GtkEditable
GtkEditable:editable, object property in GtkEditable
GtkEditable:enable-undo, object property in GtkEditable
GtkEditable:max-width-chars, object property in GtkEditable
GtkEditable:selection-bound, object property in GtkEditable
GtkEditable:text, object property in GtkEditable
GtkEditable:width-chars, object property in GtkEditable
GtkEditable:xalign, object property in GtkEditable
GtkEditableInterface, struct in GtkEditable
GtkEditableLabel, struct in GtkEditableLabel
GtkEditableLabel:editing, object property in GtkEditableLabel
GtkEditableLabel|editing.start, action in GtkEditableLabel
GtkEditableLabel|editing.stop, action in GtkEditableLabel
GtkEditableProperties, enum in GtkEditable
gtk_editable_delegate_get_property, function in GtkEditable
gtk_editable_delegate_set_property, function in GtkEditable
gtk_editable_delete_selection, function in GtkEditable
gtk_editable_delete_text, function in GtkEditable
gtk_editable_finish_delegate, function in GtkEditable
gtk_editable_get_alignment, function in GtkEditable
gtk_editable_get_chars, function in GtkEditable
gtk_editable_get_editable, function in GtkEditable
gtk_editable_get_enable_undo, function in GtkEditable
gtk_editable_get_max_width_chars, function in GtkEditable
gtk_editable_get_position, function in GtkEditable
gtk_editable_get_selection_bounds, function in GtkEditable
gtk_editable_get_text, function in GtkEditable
gtk_editable_get_width_chars, function in GtkEditable
gtk_editable_init_delegate, function in GtkEditable
gtk_editable_insert_text, function in GtkEditable
gtk_editable_install_properties, function in GtkEditable
gtk_editable_label_get_editing, function in GtkEditableLabel
gtk_editable_label_new, function in GtkEditableLabel
gtk_editable_label_start_editing, function in GtkEditableLabel
gtk_editable_label_stop_editing, function in GtkEditableLabel
gtk_editable_select_region, function in GtkEditable
gtk_editable_set_alignment, function in GtkEditable
gtk_editable_set_editable, function in GtkEditable
gtk_editable_set_enable_undo, function in GtkEditable
gtk_editable_set_max_width_chars, function in GtkEditable
gtk_editable_set_position, function in GtkEditable
gtk_editable_set_text, function in GtkEditable
gtk_editable_set_width_chars, function in GtkEditable
GtkEmojiChooser, struct in GtkEmojiChooser
GtkEmojiChooser::emoji-picked, object signal in GtkEmojiChooser
GtkEmojiChooser|scroll.section, action in GtkEmojiChooser
gtk_emoji_chooser_new, function in GtkEmojiChooser
GtkEntry, struct in GtkEntry
GtkEntry::activate, object signal in GtkEntry
GtkEntry::icon-press, object signal in GtkEntry
GtkEntry::icon-release, object signal in GtkEntry
GtkEntry:activates-default, object property in GtkEntry
GtkEntry:attributes, object property in GtkEntry
GtkEntry:buffer, object property in GtkEntry
GtkEntry:completion, object property in GtkEntry
GtkEntry:enable-emoji-completion, object property in GtkEntry
GtkEntry:extra-menu, object property in GtkEntry
GtkEntry:has-frame, object property in GtkEntry
GtkEntry:im-module, object property in GtkEntry
GtkEntry:input-hints, object property in GtkEntry
GtkEntry:input-purpose, object property in GtkEntry
GtkEntry:invisible-char, object property in GtkEntry
GtkEntry:invisible-char-set, object property in GtkEntry
GtkEntry:max-length, object property in GtkEntry
GtkEntry:overwrite-mode, object property in GtkEntry
GtkEntry:placeholder-text, object property in GtkEntry
GtkEntry:primary-icon-activatable, object property in GtkEntry
GtkEntry:primary-icon-gicon, object property in GtkEntry
GtkEntry:primary-icon-name, object property in GtkEntry
GtkEntry:primary-icon-paintable, object property in GtkEntry
GtkEntry:primary-icon-sensitive, object property in GtkEntry
GtkEntry:primary-icon-storage-type, object property in GtkEntry
GtkEntry:primary-icon-tooltip-markup, object property in GtkEntry
GtkEntry:primary-icon-tooltip-text, object property in GtkEntry
GtkEntry:progress-fraction, object property in GtkEntry
GtkEntry:progress-pulse-step, object property in GtkEntry
GtkEntry:scroll-offset, object property in GtkEntry
GtkEntry:secondary-icon-activatable, object property in GtkEntry
GtkEntry:secondary-icon-gicon, object property in GtkEntry
GtkEntry:secondary-icon-name, object property in GtkEntry
GtkEntry:secondary-icon-paintable, object property in GtkEntry
GtkEntry:secondary-icon-sensitive, object property in GtkEntry
GtkEntry:secondary-icon-storage-type, object property in GtkEntry
GtkEntry:secondary-icon-tooltip-markup, object property in GtkEntry
GtkEntry:secondary-icon-tooltip-text, object property in GtkEntry
GtkEntry:show-emoji-icon, object property in GtkEntry
GtkEntry:tabs, object property in GtkEntry
GtkEntry:text-length, object property in GtkEntry
GtkEntry:truncate-multiline, object property in GtkEntry
GtkEntry:visibility, object property in GtkEntry
GtkEntryBuffer, struct in GtkEntryBuffer
GtkEntryBuffer::deleted-text, object signal in GtkEntryBuffer
GtkEntryBuffer::inserted-text, object signal in GtkEntryBuffer
GtkEntryBuffer:length, object property in GtkEntryBuffer
GtkEntryBuffer:max-length, object property in GtkEntryBuffer
GtkEntryBuffer:text, object property in GtkEntryBuffer
GtkEntryClass, struct in GtkEntry
GtkEntryCompletion, struct in GtkEntryCompletion
GtkEntryCompletion::cursor-on-match, object signal in GtkEntryCompletion
GtkEntryCompletion::insert-prefix, object signal in GtkEntryCompletion
GtkEntryCompletion::match-selected, object signal in GtkEntryCompletion
GtkEntryCompletion::no-matches, object signal in GtkEntryCompletion
GtkEntryCompletion:cell-area, object property in GtkEntryCompletion
GtkEntryCompletion:inline-completion, object property in GtkEntryCompletion
GtkEntryCompletion:inline-selection, object property in GtkEntryCompletion
GtkEntryCompletion:minimum-key-length, object property in GtkEntryCompletion
GtkEntryCompletion:model, object property in GtkEntryCompletion
GtkEntryCompletion:popup-completion, object property in GtkEntryCompletion
GtkEntryCompletion:popup-set-width, object property in GtkEntryCompletion
GtkEntryCompletion:popup-single-match, object property in GtkEntryCompletion
GtkEntryCompletion:text-column, object property in GtkEntryCompletion
GtkEntryCompletionMatchFunc, user_function in GtkEntryCompletion
GtkEntryIconPosition, enum in GtkEntry
gtk_entry_buffer_delete_text, function in GtkEntryBuffer
gtk_entry_buffer_emit_deleted_text, function in GtkEntryBuffer
gtk_entry_buffer_emit_inserted_text, function in GtkEntryBuffer
gtk_entry_buffer_get_bytes, function in GtkEntryBuffer
gtk_entry_buffer_get_length, function in GtkEntryBuffer
gtk_entry_buffer_get_max_length, function in GtkEntryBuffer
gtk_entry_buffer_get_text, function in GtkEntryBuffer
gtk_entry_buffer_insert_text, function in GtkEntryBuffer
gtk_entry_buffer_new, function in GtkEntryBuffer
gtk_entry_buffer_set_max_length, function in GtkEntryBuffer
gtk_entry_buffer_set_text, function in GtkEntryBuffer
gtk_entry_completion_complete, function in GtkEntryCompletion
gtk_entry_completion_compute_prefix, function in GtkEntryCompletion
gtk_entry_completion_get_completion_prefix, function in GtkEntryCompletion
gtk_entry_completion_get_entry, function in GtkEntryCompletion
gtk_entry_completion_get_inline_completion, function in GtkEntryCompletion
gtk_entry_completion_get_inline_selection, function in GtkEntryCompletion
gtk_entry_completion_get_minimum_key_length, function in GtkEntryCompletion
gtk_entry_completion_get_model, function in GtkEntryCompletion
gtk_entry_completion_get_popup_completion, function in GtkEntryCompletion
gtk_entry_completion_get_popup_set_width, function in GtkEntryCompletion
gtk_entry_completion_get_popup_single_match, function in GtkEntryCompletion
gtk_entry_completion_get_text_column, function in GtkEntryCompletion
gtk_entry_completion_insert_prefix, function in GtkEntryCompletion
gtk_entry_completion_new, function in GtkEntryCompletion
gtk_entry_completion_new_with_area, function in GtkEntryCompletion
gtk_entry_completion_set_inline_completion, function in GtkEntryCompletion
gtk_entry_completion_set_inline_selection, function in GtkEntryCompletion
gtk_entry_completion_set_match_func, function in GtkEntryCompletion
gtk_entry_completion_set_minimum_key_length, function in GtkEntryCompletion
gtk_entry_completion_set_model, function in GtkEntryCompletion
gtk_entry_completion_set_popup_completion, function in GtkEntryCompletion
gtk_entry_completion_set_popup_set_width, function in GtkEntryCompletion
gtk_entry_completion_set_popup_single_match, function in GtkEntryCompletion
gtk_entry_completion_set_text_column, function in GtkEntryCompletion
gtk_entry_get_activates_default, function in GtkEntry
gtk_entry_get_alignment, function in GtkEntry
gtk_entry_get_attributes, function in GtkEntry
gtk_entry_get_buffer, function in GtkEntry
gtk_entry_get_completion, function in GtkEntry
gtk_entry_get_current_icon_drag_source, function in GtkEntry
gtk_entry_get_extra_menu, function in GtkEntry
gtk_entry_get_has_frame, function in GtkEntry
gtk_entry_get_icon_activatable, function in GtkEntry
gtk_entry_get_icon_area, function in GtkEntry
gtk_entry_get_icon_at_pos, function in GtkEntry
gtk_entry_get_icon_gicon, function in GtkEntry
gtk_entry_get_icon_name, function in GtkEntry
gtk_entry_get_icon_paintable, function in GtkEntry
gtk_entry_get_icon_sensitive, function in GtkEntry
gtk_entry_get_icon_storage_type, function in GtkEntry
gtk_entry_get_icon_tooltip_markup, function in GtkEntry
gtk_entry_get_icon_tooltip_text, function in GtkEntry
gtk_entry_get_input_hints, function in GtkEntry
gtk_entry_get_input_purpose, function in GtkEntry
gtk_entry_get_invisible_char, function in GtkEntry
gtk_entry_get_max_length, function in GtkEntry
gtk_entry_get_overwrite_mode, function in GtkEntry
gtk_entry_get_placeholder_text, function in GtkEntry
gtk_entry_get_progress_fraction, function in GtkEntry
gtk_entry_get_progress_pulse_step, function in GtkEntry
gtk_entry_get_tabs, function in GtkEntry
gtk_entry_get_text_length, function in GtkEntry
gtk_entry_get_visibility, function in GtkEntry
gtk_entry_grab_focus_without_selecting, function in GtkEntry
gtk_entry_new, function in GtkEntry
gtk_entry_new_with_buffer, function in GtkEntry
gtk_entry_progress_pulse, function in GtkEntry
gtk_entry_reset_im_context, function in GtkEntry
gtk_entry_set_activates_default, function in GtkEntry
gtk_entry_set_alignment, function in GtkEntry
gtk_entry_set_attributes, function in GtkEntry
gtk_entry_set_buffer, function in GtkEntry
gtk_entry_set_completion, function in GtkEntry
gtk_entry_set_extra_menu, function in GtkEntry
gtk_entry_set_has_frame, function in GtkEntry
gtk_entry_set_icon_activatable, function in GtkEntry
gtk_entry_set_icon_drag_source, function in GtkEntry
gtk_entry_set_icon_from_gicon, function in GtkEntry
gtk_entry_set_icon_from_icon_name, function in GtkEntry
gtk_entry_set_icon_from_paintable, function in GtkEntry
gtk_entry_set_icon_sensitive, function in GtkEntry
gtk_entry_set_icon_tooltip_markup, function in GtkEntry
gtk_entry_set_icon_tooltip_text, function in GtkEntry
gtk_entry_set_input_hints, function in GtkEntry
gtk_entry_set_input_purpose, function in GtkEntry
gtk_entry_set_invisible_char, function in GtkEntry
gtk_entry_set_max_length, function in GtkEntry
gtk_entry_set_overwrite_mode, function in GtkEntry
gtk_entry_set_placeholder_text, function in GtkEntry
gtk_entry_set_progress_fraction, function in GtkEntry
gtk_entry_set_progress_pulse_step, function in GtkEntry
gtk_entry_set_tabs, function in GtkEntry
gtk_entry_set_visibility, function in GtkEntry
gtk_entry_unset_invisible_char, function in GtkEntry
gtk_enumerate_printers, function in GtkPrinter
GtkEventController, struct in GtkEventController
GtkEventController:name, object property in GtkEventController
GtkEventController:propagation-limit, object property in GtkEventController
GtkEventController:propagation-phase, object property in GtkEventController
GtkEventController:widget, object property in GtkEventController
GtkEventControllerFocus, struct in GtkEventControllerFocus
GtkEventControllerFocus::enter, object signal in GtkEventControllerFocus
GtkEventControllerFocus::leave, object signal in GtkEventControllerFocus
GtkEventControllerFocus:contains-focus, object property in GtkEventControllerFocus
GtkEventControllerFocus:is-focus, object property in GtkEventControllerFocus
GtkEventControllerKey, struct in GtkEventControllerKey
GtkEventControllerKey::im-update, object signal in GtkEventControllerKey
GtkEventControllerKey::key-pressed, object signal in GtkEventControllerKey
GtkEventControllerKey::key-released, object signal in GtkEventControllerKey
GtkEventControllerKey::modifiers, object signal in GtkEventControllerKey
GtkEventControllerLegacy, struct in GtkEventControllerLegacy
GtkEventControllerLegacy::event, object signal in GtkEventControllerLegacy
GtkEventControllerMotion, struct in GtkEventControllerMotion
GtkEventControllerMotion::enter, object signal in GtkEventControllerMotion
GtkEventControllerMotion::leave, object signal in GtkEventControllerMotion
GtkEventControllerMotion::motion, object signal in GtkEventControllerMotion
GtkEventControllerMotion:contains-pointer, object property in GtkEventControllerMotion
GtkEventControllerMotion:is-pointer, object property in GtkEventControllerMotion
GtkEventControllerScroll, struct in GtkEventControllerScroll
GtkEventControllerScroll::decelerate, object signal in GtkEventControllerScroll
GtkEventControllerScroll::scroll, object signal in GtkEventControllerScroll
GtkEventControllerScroll::scroll-begin, object signal in GtkEventControllerScroll
GtkEventControllerScroll::scroll-end, object signal in GtkEventControllerScroll
GtkEventControllerScroll:flags, object property in GtkEventControllerScroll
GtkEventControllerScrollFlags, enum in GtkEventControllerScroll
GtkEventSequenceState, enum in GtkGesture
gtk_event_controller_focus_contains_focus, function in GtkEventControllerFocus
gtk_event_controller_focus_is_focus, function in GtkEventControllerFocus
gtk_event_controller_focus_new, function in GtkEventControllerFocus
gtk_event_controller_get_current_event, function in GtkEventController
gtk_event_controller_get_current_event_device, function in GtkEventController
gtk_event_controller_get_current_event_state, function in GtkEventController
gtk_event_controller_get_current_event_time, function in GtkEventController
gtk_event_controller_get_name, function in GtkEventController
gtk_event_controller_get_propagation_limit, function in GtkEventController
gtk_event_controller_get_propagation_phase, function in GtkEventController
gtk_event_controller_get_widget, function in GtkEventController
gtk_event_controller_key_forward, function in GtkEventControllerKey
gtk_event_controller_key_get_group, function in GtkEventControllerKey
gtk_event_controller_key_get_im_context, function in GtkEventControllerKey
gtk_event_controller_key_new, function in GtkEventControllerKey
gtk_event_controller_key_set_im_context, function in GtkEventControllerKey
gtk_event_controller_legacy_new, function in GtkEventControllerLegacy
gtk_event_controller_motion_contains_pointer, function in GtkEventControllerMotion
gtk_event_controller_motion_is_pointer, function in GtkEventControllerMotion
gtk_event_controller_motion_new, function in GtkEventControllerMotion
gtk_event_controller_reset, function in GtkEventController
gtk_event_controller_scroll_get_flags, function in GtkEventControllerScroll
gtk_event_controller_scroll_new, function in GtkEventControllerScroll
gtk_event_controller_scroll_set_flags, function in GtkEventControllerScroll
gtk_event_controller_set_name, function in GtkEventController
gtk_event_controller_set_propagation_limit, function in GtkEventController
gtk_event_controller_set_propagation_phase, function in GtkEventController
GtkEveryFilter, struct in GtkMultiFilter
gtk_every_filter_new, function in GtkMultiFilter
GtkExpander, struct in GtkExpander
GtkExpander::activate, object signal in GtkExpander
GtkExpander:child, object property in GtkExpander
GtkExpander:expanded, object property in GtkExpander
GtkExpander:label, object property in GtkExpander
GtkExpander:label-widget, object property in GtkExpander
GtkExpander:resize-toplevel, object property in GtkExpander
GtkExpander:use-markup, object property in GtkExpander
GtkExpander:use-underline, object property in GtkExpander
gtk_expander_get_child, function in GtkExpander
gtk_expander_get_expanded, function in GtkExpander
gtk_expander_get_label, function in GtkExpander
gtk_expander_get_label_widget, function in GtkExpander
gtk_expander_get_resize_toplevel, function in GtkExpander
gtk_expander_get_use_markup, function in GtkExpander
gtk_expander_get_use_underline, function in GtkExpander
gtk_expander_new, function in GtkExpander
gtk_expander_new_with_mnemonic, function in GtkExpander
gtk_expander_set_child, function in GtkExpander
gtk_expander_set_expanded, function in GtkExpander
gtk_expander_set_label, function in GtkExpander
gtk_expander_set_label_widget, function in GtkExpander
gtk_expander_set_resize_toplevel, function in GtkExpander
gtk_expander_set_use_markup, function in GtkExpander
gtk_expander_set_use_underline, function in GtkExpander
GtkExpression, struct in GtkExpression
GtkExpressionNotify, user_function in GtkExpression
GtkExpressionWatch, struct in GtkExpression
gtk_expression_bind, function in GtkExpression
gtk_expression_evaluate, function in GtkExpression
gtk_expression_get_value_type, function in GtkExpression
gtk_expression_is_static, function in GtkExpression
gtk_expression_ref, function in GtkExpression
gtk_expression_unref, function in GtkExpression
gtk_expression_watch, function in GtkExpression
gtk_expression_watch_evaluate, function in GtkExpression
gtk_expression_watch_ref, function in GtkExpression
gtk_expression_watch_unref, function in GtkExpression
gtk_expression_watch_unwatch, function in GtkExpression

F

GtkFileChooser, struct in GtkFileChooser
GtkFileChooser:action, object property in GtkFileChooser
GtkFileChooser:create-folders, object property in GtkFileChooser
GtkFileChooser:filter, object property in GtkFileChooser
GtkFileChooser:filters, object property in GtkFileChooser
GtkFileChooser:select-multiple, object property in GtkFileChooser
GtkFileChooser:shortcut-folders, object property in GtkFileChooser
GtkFileChooserAction, enum in GtkFileChooser
GtkFileChooserButton, struct in GtkFileChooserButton
GtkFileChooserButton::file-set, object signal in GtkFileChooserButton
GtkFileChooserButton:dialog, object property in GtkFileChooserButton
GtkFileChooserButton:modal, object property in GtkFileChooserButton
GtkFileChooserButton:title, object property in GtkFileChooserButton
GtkFileChooserButton:width-chars, object property in GtkFileChooserButton
GtkFileChooserDialog, struct in GtkFileChooserDialog
GtkFileChooserDialog|response.activate, action in GtkFileChooserDialog
GtkFileChooserError, enum in GtkFileChooser
GtkFileChooserNative, struct in GtkFileChooserNative
GtkFileChooserWidget, struct in GtkFileChooserWidget
GtkFileChooserWidget::desktop-folder, object signal in GtkFileChooserWidget
GtkFileChooserWidget::down-folder, object signal in GtkFileChooserWidget
GtkFileChooserWidget::home-folder, object signal in GtkFileChooserWidget
GtkFileChooserWidget::location-popup, object signal in GtkFileChooserWidget
GtkFileChooserWidget::location-popup-on-paste, object signal in GtkFileChooserWidget
GtkFileChooserWidget::location-toggle-popup, object signal in GtkFileChooserWidget
GtkFileChooserWidget::places-shortcut, object signal in GtkFileChooserWidget
GtkFileChooserWidget::quick-bookmark, object signal in GtkFileChooserWidget
GtkFileChooserWidget::recent-shortcut, object signal in GtkFileChooserWidget
GtkFileChooserWidget::search-shortcut, object signal in GtkFileChooserWidget
GtkFileChooserWidget::show-hidden, object signal in GtkFileChooserWidget
GtkFileChooserWidget::up-folder, object signal in GtkFileChooserWidget
GtkFileChooserWidget:search-mode, object property in GtkFileChooserWidget
GtkFileChooserWidget:subtitle, object property in GtkFileChooserWidget
GtkFileFilter, struct in GtkFileFilter
GtkFileFilter:name, object property in GtkFileFilter
gtk_file_chooser_add_choice, function in GtkFileChooser
gtk_file_chooser_add_filter, function in GtkFileChooser
gtk_file_chooser_add_shortcut_folder, function in GtkFileChooser
gtk_file_chooser_button_get_modal, function in GtkFileChooserButton
gtk_file_chooser_button_get_title, function in GtkFileChooserButton
gtk_file_chooser_button_get_width_chars, function in GtkFileChooserButton
gtk_file_chooser_button_new, function in GtkFileChooserButton
gtk_file_chooser_button_new_with_dialog, function in GtkFileChooserButton
gtk_file_chooser_button_set_modal, function in GtkFileChooserButton
gtk_file_chooser_button_set_title, function in GtkFileChooserButton
gtk_file_chooser_button_set_width_chars, function in GtkFileChooserButton
gtk_file_chooser_dialog_new, function in GtkFileChooserDialog
GTK_FILE_CHOOSER_ERROR, macro in GtkFileChooser
gtk_file_chooser_get_action, function in GtkFileChooser
gtk_file_chooser_get_choice, function in GtkFileChooser
gtk_file_chooser_get_create_folders, function in GtkFileChooser
gtk_file_chooser_get_current_folder, function in GtkFileChooser
gtk_file_chooser_get_current_name, function in GtkFileChooser
gtk_file_chooser_get_file, function in GtkFileChooser
gtk_file_chooser_get_files, function in GtkFileChooser
gtk_file_chooser_get_filter, function in GtkFileChooser
gtk_file_chooser_get_filters, function in GtkFileChooser
gtk_file_chooser_get_select_multiple, function in GtkFileChooser
gtk_file_chooser_get_shortcut_folders, function in GtkFileChooser
gtk_file_chooser_native_get_accept_label, function in GtkFileChooserNative
gtk_file_chooser_native_get_cancel_label, function in GtkFileChooserNative
gtk_file_chooser_native_new, function in GtkFileChooserNative
gtk_file_chooser_native_set_accept_label, function in GtkFileChooserNative
gtk_file_chooser_native_set_cancel_label, function in GtkFileChooserNative
gtk_file_chooser_remove_choice, function in GtkFileChooser
gtk_file_chooser_remove_filter, function in GtkFileChooser
gtk_file_chooser_remove_shortcut_folder, function in GtkFileChooser
gtk_file_chooser_set_action, function in GtkFileChooser
gtk_file_chooser_set_choice, function in GtkFileChooser
gtk_file_chooser_set_create_folders, function in GtkFileChooser
gtk_file_chooser_set_current_folder, function in GtkFileChooser
gtk_file_chooser_set_current_name, function in GtkFileChooser
gtk_file_chooser_set_file, function in GtkFileChooser
gtk_file_chooser_set_filter, function in GtkFileChooser
gtk_file_chooser_set_select_multiple, function in GtkFileChooser
gtk_file_chooser_widget_new, function in GtkFileChooserWidget
gtk_file_filter_add_mime_type, function in GtkFileFilter
gtk_file_filter_add_pattern, function in GtkFileFilter
gtk_file_filter_add_pixbuf_formats, function in GtkFileFilter
gtk_file_filter_get_attributes, function in GtkFileFilter
gtk_file_filter_get_name, function in GtkFileFilter
gtk_file_filter_new, function in GtkFileFilter
gtk_file_filter_new_from_gvariant, function in GtkFileFilter
gtk_file_filter_set_name, function in GtkFileFilter
gtk_file_filter_to_gvariant, function in GtkFileFilter
GtkFilter, struct in GtkFilter
GtkFilter::changed, object signal in GtkFilter
GtkFilterChange, enum in GtkFilter
GtkFilterListModel, struct in GtkFilterListModel
GtkFilterListModel:filter, object property in GtkFilterListModel
GtkFilterListModel:incremental, object property in GtkFilterListModel
GtkFilterListModel:model, object property in GtkFilterListModel
GtkFilterListModel:pending, object property in GtkFilterListModel
gtk_filter_changed, function in GtkFilter
gtk_filter_get_strictness, function in GtkFilter
gtk_filter_list_model_get_filter, function in GtkFilterListModel
gtk_filter_list_model_get_incremental, function in GtkFilterListModel
gtk_filter_list_model_get_model, function in GtkFilterListModel
gtk_filter_list_model_get_pending, function in GtkFilterListModel
gtk_filter_list_model_new, function in GtkFilterListModel
gtk_filter_list_model_set_filter, function in GtkFilterListModel
gtk_filter_list_model_set_incremental, function in GtkFilterListModel
gtk_filter_list_model_set_model, function in GtkFilterListModel
gtk_filter_match, function in GtkFilter
GtkFixed, struct in GtkFixed
GtkFixedLayout, struct in GtkFixedLayout
GtkFixedLayoutChild, struct in GtkFixedLayout
gtk_fixed_get_child_position, function in GtkFixed
gtk_fixed_get_child_transform, function in GtkFixed
gtk_fixed_layout_child_get_transform, function in GtkFixedLayout
gtk_fixed_layout_child_set_transform, function in GtkFixedLayout
gtk_fixed_layout_new, function in GtkFixedLayout
gtk_fixed_move, function in GtkFixed
gtk_fixed_new, function in GtkFixed
gtk_fixed_put, function in GtkFixed
gtk_fixed_remove, function in GtkFixed
gtk_fixed_set_child_transform, function in GtkFixed
GtkFlattenListModel, struct in GtkFlattenListModel
GtkFlattenListModel:model, object property in GtkFlattenListModel
gtk_flatten_list_model_get_model, function in GtkFlattenListModel
gtk_flatten_list_model_get_model_for_item, function in GtkFlattenListModel
gtk_flatten_list_model_new, function in GtkFlattenListModel
gtk_flatten_list_model_set_model, function in GtkFlattenListModel
GtkFlowBox, struct in GtkFlowBox
GtkFlowBox::activate-cursor-child, object signal in GtkFlowBox
GtkFlowBox::child-activated, object signal in GtkFlowBox
GtkFlowBox::move-cursor, object signal in GtkFlowBox
GtkFlowBox::select-all, object signal in GtkFlowBox
GtkFlowBox::selected-children-changed, object signal in GtkFlowBox
GtkFlowBox::toggle-cursor-child, object signal in GtkFlowBox
GtkFlowBox::unselect-all, object signal in GtkFlowBox
GtkFlowBox:accept-unpaired-release, object property in GtkFlowBox
GtkFlowBox:activate-on-single-click, object property in GtkFlowBox
GtkFlowBox:column-spacing, object property in GtkFlowBox
GtkFlowBox:homogeneous, object property in GtkFlowBox
GtkFlowBox:max-children-per-line, object property in GtkFlowBox
GtkFlowBox:min-children-per-line, object property in GtkFlowBox
GtkFlowBox:row-spacing, object property in GtkFlowBox
GtkFlowBox:selection-mode, object property in GtkFlowBox
GtkFlowBoxChild, struct in GtkFlowBox
GtkFlowBoxChild::activate, object signal in GtkFlowBox
GtkFlowBoxChild:child, object property in GtkFlowBox
GtkFlowBoxCreateWidgetFunc, user_function in GtkFlowBox
GtkFlowBoxFilterFunc, user_function in GtkFlowBox
GtkFlowBoxForeachFunc, user_function in GtkFlowBox
GtkFlowBoxSortFunc, user_function in GtkFlowBox
gtk_flow_box_bind_model, function in GtkFlowBox
gtk_flow_box_child_changed, function in GtkFlowBox
gtk_flow_box_child_get_child, function in GtkFlowBox
gtk_flow_box_child_get_index, function in GtkFlowBox
gtk_flow_box_child_is_selected, function in GtkFlowBox
gtk_flow_box_child_new, function in GtkFlowBox
gtk_flow_box_child_set_child, function in GtkFlowBox
gtk_flow_box_get_activate_on_single_click, function in GtkFlowBox
gtk_flow_box_get_child_at_index, function in GtkFlowBox
gtk_flow_box_get_child_at_pos, function in GtkFlowBox
gtk_flow_box_get_column_spacing, function in GtkFlowBox
gtk_flow_box_get_homogeneous, function in GtkFlowBox
gtk_flow_box_get_max_children_per_line, function in GtkFlowBox
gtk_flow_box_get_min_children_per_line, function in GtkFlowBox
gtk_flow_box_get_row_spacing, function in GtkFlowBox
gtk_flow_box_get_selected_children, function in GtkFlowBox
gtk_flow_box_get_selection_mode, function in GtkFlowBox
gtk_flow_box_insert, function in GtkFlowBox
gtk_flow_box_invalidate_filter, function in GtkFlowBox
gtk_flow_box_invalidate_sort, function in GtkFlowBox
gtk_flow_box_new, function in GtkFlowBox
gtk_flow_box_remove, function in GtkFlowBox
gtk_flow_box_selected_foreach, function in GtkFlowBox
gtk_flow_box_select_all, function in GtkFlowBox
gtk_flow_box_select_child, function in GtkFlowBox
gtk_flow_box_set_activate_on_single_click, function in GtkFlowBox
gtk_flow_box_set_column_spacing, function in GtkFlowBox
gtk_flow_box_set_filter_func, function in GtkFlowBox
gtk_flow_box_set_hadjustment, function in GtkFlowBox
gtk_flow_box_set_homogeneous, function in GtkFlowBox
gtk_flow_box_set_max_children_per_line, function in GtkFlowBox
gtk_flow_box_set_min_children_per_line, function in GtkFlowBox
gtk_flow_box_set_row_spacing, function in GtkFlowBox
gtk_flow_box_set_selection_mode, function in GtkFlowBox
gtk_flow_box_set_sort_func, function in GtkFlowBox
gtk_flow_box_set_vadjustment, function in GtkFlowBox
gtk_flow_box_unselect_all, function in GtkFlowBox
gtk_flow_box_unselect_child, function in GtkFlowBox
GtkFontButton, struct in GtkFontButton
GtkFontButton::font-set, object signal in GtkFontButton
GtkFontButton:modal, object property in GtkFontButton
GtkFontButton:title, object property in GtkFontButton
GtkFontButton:use-font, object property in GtkFontButton
GtkFontButton:use-size, object property in GtkFontButton
GtkFontChooser, struct in GtkFontChooser
GtkFontChooser::font-activated, object signal in GtkFontChooser
GtkFontChooser:font, object property in GtkFontChooser
GtkFontChooser:font-desc, object property in GtkFontChooser
GtkFontChooser:font-features, object property in GtkFontChooser
GtkFontChooser:language, object property in GtkFontChooser
GtkFontChooser:level, object property in GtkFontChooser
GtkFontChooser:preview-text, object property in GtkFontChooser
GtkFontChooser:show-preview-entry, object property in GtkFontChooser
GtkFontChooserDialog, struct in GtkFontChooserDialog
GtkFontChooserLevel, enum in GtkFontChooser
GtkFontChooserWidget, struct in GtkFontChooserWidget
GtkFontChooserWidget:tweak-action, object property in GtkFontChooserWidget
GtkFontFilterFunc, user_function in GtkFontChooser
gtk_font_button_get_modal, function in GtkFontButton
gtk_font_button_get_title, function in GtkFontButton
gtk_font_button_get_use_font, function in GtkFontButton
gtk_font_button_get_use_size, function in GtkFontButton
gtk_font_button_new, function in GtkFontButton
gtk_font_button_new_with_font, function in GtkFontButton
gtk_font_button_set_modal, function in GtkFontButton
gtk_font_button_set_title, function in GtkFontButton
gtk_font_button_set_use_font, function in GtkFontButton
gtk_font_button_set_use_size, function in GtkFontButton
gtk_font_chooser_dialog_new, function in GtkFontChooserDialog
gtk_font_chooser_get_font, function in GtkFontChooser
gtk_font_chooser_get_font_desc, function in GtkFontChooser
gtk_font_chooser_get_font_face, function in GtkFontChooser
gtk_font_chooser_get_font_family, function in GtkFontChooser
gtk_font_chooser_get_font_features, function in GtkFontChooser
gtk_font_chooser_get_font_map, function in GtkFontChooser
gtk_font_chooser_get_font_size, function in GtkFontChooser
gtk_font_chooser_get_language, function in GtkFontChooser
gtk_font_chooser_get_level, function in GtkFontChooser
gtk_font_chooser_get_preview_text, function in GtkFontChooser
gtk_font_chooser_get_show_preview_entry, function in GtkFontChooser
gtk_font_chooser_set_filter_func, function in GtkFontChooser
gtk_font_chooser_set_font, function in GtkFontChooser
gtk_font_chooser_set_font_desc, function in GtkFontChooser
gtk_font_chooser_set_font_map, function in GtkFontChooser
gtk_font_chooser_set_language, function in GtkFontChooser
gtk_font_chooser_set_level, function in GtkFontChooser
gtk_font_chooser_set_preview_text, function in GtkFontChooser
gtk_font_chooser_set_show_preview_entry, function in GtkFontChooser
gtk_font_chooser_widget_new, function in GtkFontChooserWidget
GtkFrame, struct in GtkFrame
GtkFrame:child, object property in GtkFrame
GtkFrame:label, object property in GtkFrame
GtkFrame:label-widget, object property in GtkFrame
GtkFrame:label-xalign, object property in GtkFrame
GtkFrameClass, struct in GtkFrame
gtk_frame_get_child, function in GtkFrame
gtk_frame_get_label, function in GtkFrame
gtk_frame_get_label_align, function in GtkFrame
gtk_frame_get_label_widget, function in GtkFrame
gtk_frame_new, function in GtkFrame
gtk_frame_set_child, function in GtkFrame
gtk_frame_set_label, function in GtkFrame
gtk_frame_set_label_align, function in GtkFrame
gtk_frame_set_label_widget, function in GtkFrame

G

GtkGesture, struct in GtkGesture
GtkGesture::begin, object signal in GtkGesture
GtkGesture::cancel, object signal in GtkGesture
GtkGesture::end, object signal in GtkGesture
GtkGesture::sequence-state-changed, object signal in GtkGesture
GtkGesture::update, object signal in GtkGesture
GtkGesture:n-points, object property in GtkGesture
GtkGestureClick, struct in GtkGestureClick
GtkGestureClick::pressed, object signal in GtkGestureClick
GtkGestureClick::released, object signal in GtkGestureClick
GtkGestureClick::stopped, object signal in GtkGestureClick
GtkGestureClick::unpaired-release, object signal in GtkGestureClick
GtkGestureDrag, struct in GtkGestureDrag
GtkGestureDrag::drag-begin, object signal in GtkGestureDrag
GtkGestureDrag::drag-end, object signal in GtkGestureDrag
GtkGestureDrag::drag-update, object signal in GtkGestureDrag
GtkGestureLongPress, struct in GtkGestureLongPress
GtkGestureLongPress::cancelled, object signal in GtkGestureLongPress
GtkGestureLongPress::pressed, object signal in GtkGestureLongPress
GtkGestureLongPress:delay-factor, object property in GtkGestureLongPress
GtkGesturePan, struct in GtkGesturePan
GtkGesturePan::pan, object signal in GtkGesturePan
GtkGesturePan:orientation, object property in GtkGesturePan
GtkGestureRotate, struct in GtkGestureRotate
GtkGestureRotate::angle-changed, object signal in GtkGestureRotate
GtkGestureSingle, struct in GtkGestureSingle
GtkGestureSingle:button, object property in GtkGestureSingle
GtkGestureSingle:exclusive, object property in GtkGestureSingle
GtkGestureSingle:touch-only, object property in GtkGestureSingle
GtkGestureStylus, struct in GtkGestureStylus
GtkGestureStylus::down, object signal in GtkGestureStylus
GtkGestureStylus::motion, object signal in GtkGestureStylus
GtkGestureStylus::proximity, object signal in GtkGestureStylus
GtkGestureStylus::up, object signal in GtkGestureStylus
GtkGestureSwipe, struct in GtkGestureSwipe
GtkGestureSwipe::swipe, object signal in GtkGestureSwipe
GtkGestureZoom, struct in GtkGestureZoom
GtkGestureZoom::scale-changed, object signal in GtkGestureZoom
gtk_gesture_click_new, function in GtkGestureClick
gtk_gesture_drag_get_offset, function in GtkGestureDrag
gtk_gesture_drag_get_start_point, function in GtkGestureDrag
gtk_gesture_drag_new, function in GtkGestureDrag
gtk_gesture_get_bounding_box, function in GtkGesture
gtk_gesture_get_bounding_box_center, function in GtkGesture
gtk_gesture_get_device, function in GtkGesture
gtk_gesture_get_group, function in GtkGesture
gtk_gesture_get_last_event, function in GtkGesture
gtk_gesture_get_last_updated_sequence, function in GtkGesture
gtk_gesture_get_point, function in GtkGesture
gtk_gesture_get_sequences, function in GtkGesture
gtk_gesture_get_sequence_state, function in GtkGesture
gtk_gesture_group, function in GtkGesture
gtk_gesture_handles_sequence, function in GtkGesture
gtk_gesture_is_active, function in GtkGesture
gtk_gesture_is_grouped_with, function in GtkGesture
gtk_gesture_is_recognized, function in GtkGesture
gtk_gesture_long_press_get_delay_factor, function in GtkGestureLongPress
gtk_gesture_long_press_new, function in GtkGestureLongPress
gtk_gesture_long_press_set_delay_factor, function in GtkGestureLongPress
gtk_gesture_pan_get_orientation, function in GtkGesturePan
gtk_gesture_pan_new, function in GtkGesturePan
gtk_gesture_pan_set_orientation, function in GtkGesturePan
gtk_gesture_rotate_get_angle_delta, function in GtkGestureRotate
gtk_gesture_rotate_new, function in GtkGestureRotate
gtk_gesture_set_sequence_state, function in GtkGesture
gtk_gesture_set_state, function in GtkGesture
gtk_gesture_single_get_button, function in GtkGestureSingle
gtk_gesture_single_get_current_button, function in GtkGestureSingle
gtk_gesture_single_get_current_sequence, function in GtkGestureSingle
gtk_gesture_single_get_exclusive, function in GtkGestureSingle
gtk_gesture_single_get_touch_only, function in GtkGestureSingle
gtk_gesture_single_set_button, function in GtkGestureSingle
gtk_gesture_single_set_exclusive, function in GtkGestureSingle
gtk_gesture_single_set_touch_only, function in GtkGestureSingle
gtk_gesture_stylus_get_axes, function in GtkGestureStylus
gtk_gesture_stylus_get_axis, function in GtkGestureStylus
gtk_gesture_stylus_get_backlog, function in GtkGestureStylus
gtk_gesture_stylus_get_device_tool, function in GtkGestureStylus
gtk_gesture_stylus_new, function in GtkGestureStylus
gtk_gesture_swipe_get_velocity, function in GtkGestureSwipe
gtk_gesture_swipe_new, function in GtkGestureSwipe
gtk_gesture_ungroup, function in GtkGesture
gtk_gesture_zoom_get_scale_delta, function in GtkGestureZoom
gtk_gesture_zoom_new, function in GtkGestureZoom
gtk_get_binary_age, function in Feature Test Macros
gtk_get_default_language, function in General
gtk_get_interface_age, function in Feature Test Macros
gtk_get_locale_direction, function in General
gtk_get_major_version, function in Feature Test Macros
gtk_get_micro_version, function in Feature Test Macros
gtk_get_minor_version, function in Feature Test Macros
GtkGLArea, struct in GtkGLArea
GtkGLArea::create-context, object signal in GtkGLArea
GtkGLArea::render, object signal in GtkGLArea
GtkGLArea::resize, object signal in GtkGLArea
GtkGLArea:auto-render, object property in GtkGLArea
GtkGLArea:context, object property in GtkGLArea
GtkGLArea:has-depth-buffer, object property in GtkGLArea
GtkGLArea:has-stencil-buffer, object property in GtkGLArea
GtkGLArea:use-es, object property in GtkGLArea
GtkGLAreaClass, struct in GtkGLArea
gtk_gl_area_attach_buffers, function in GtkGLArea
gtk_gl_area_get_auto_render, function in GtkGLArea
gtk_gl_area_get_context, function in GtkGLArea
gtk_gl_area_get_error, function in GtkGLArea
gtk_gl_area_get_has_depth_buffer, function in GtkGLArea
gtk_gl_area_get_has_stencil_buffer, function in GtkGLArea
gtk_gl_area_get_required_version, function in GtkGLArea
gtk_gl_area_get_use_es, function in GtkGLArea
gtk_gl_area_make_current, function in GtkGLArea
gtk_gl_area_new, function in GtkGLArea
gtk_gl_area_queue_render, function in GtkGLArea
gtk_gl_area_set_auto_render, function in GtkGLArea
gtk_gl_area_set_error, function in GtkGLArea
gtk_gl_area_set_has_depth_buffer, function in GtkGLArea
gtk_gl_area_set_has_stencil_buffer, function in GtkGLArea
gtk_gl_area_set_required_version, function in GtkGLArea
gtk_gl_area_set_use_es, function in GtkGLArea
GtkGrid, struct in GtkGrid
GtkGrid:baseline-row, object property in GtkGrid
GtkGrid:column-homogeneous, object property in GtkGrid
GtkGrid:column-spacing, object property in GtkGrid
GtkGrid:row-homogeneous, object property in GtkGrid
GtkGrid:row-spacing, object property in GtkGrid
GtkGridClass, struct in GtkGrid
GtkGridLayout, struct in GtkGridLayout
GtkGridLayout:baseline-row, object property in GtkGridLayout
GtkGridLayout:column-homogeneous, object property in GtkGridLayout
GtkGridLayout:column-spacing, object property in GtkGridLayout
GtkGridLayout:row-homogeneous, object property in GtkGridLayout
GtkGridLayout:row-spacing, object property in GtkGridLayout
GtkGridLayoutChild, struct in GtkGridLayout
GtkGridLayoutChild:column-span, object property in GtkGridLayout
GtkGridLayoutChild:left-attach, object property in GtkGridLayout
GtkGridLayoutChild:row-span, object property in GtkGridLayout
GtkGridLayoutChild:top-attach, object property in GtkGridLayout
GtkGridView, struct in GtkGridView
GtkGridView::activate, object signal in GtkGridView
GtkGridView:enable-rubberband, object property in GtkGridView
GtkGridView:factory, object property in GtkGridView
GtkGridView:max-columns, object property in GtkGridView
GtkGridView:min-columns, object property in GtkGridView
GtkGridView:model, object property in GtkGridView
GtkGridView:single-click-activate, object property in GtkGridView
GtkGridView|list.activate-item, action in GtkGridView
gtk_grid_attach, function in GtkGrid
gtk_grid_attach_next_to, function in GtkGrid
gtk_grid_get_baseline_row, function in GtkGrid
gtk_grid_get_child_at, function in GtkGrid
gtk_grid_get_column_homogeneous, function in GtkGrid
gtk_grid_get_column_spacing, function in GtkGrid
gtk_grid_get_row_baseline_position, function in GtkGrid
gtk_grid_get_row_homogeneous, function in GtkGrid
gtk_grid_get_row_spacing, function in GtkGrid
gtk_grid_insert_column, function in GtkGrid
gtk_grid_insert_next_to, function in GtkGrid
gtk_grid_insert_row, function in GtkGrid
gtk_grid_layout_child_get_column_span, function in GtkGridLayout
gtk_grid_layout_child_get_left_attach, function in GtkGridLayout
gtk_grid_layout_child_get_row_span, function in GtkGridLayout
gtk_grid_layout_child_get_top_attach, function in GtkGridLayout
gtk_grid_layout_child_set_column_span, function in GtkGridLayout
gtk_grid_layout_child_set_left_attach, function in GtkGridLayout
gtk_grid_layout_child_set_row_span, function in GtkGridLayout
gtk_grid_layout_child_set_top_attach, function in GtkGridLayout
gtk_grid_layout_get_baseline_row, function in GtkGridLayout
gtk_grid_layout_get_column_homogeneous, function in GtkGridLayout
gtk_grid_layout_get_column_spacing, function in GtkGridLayout
gtk_grid_layout_get_row_baseline_position, function in GtkGridLayout
gtk_grid_layout_get_row_homogeneous, function in GtkGridLayout
gtk_grid_layout_get_row_spacing, function in GtkGridLayout
gtk_grid_layout_new, function in GtkGridLayout
gtk_grid_layout_set_baseline_row, function in GtkGridLayout
gtk_grid_layout_set_column_homogeneous, function in GtkGridLayout
gtk_grid_layout_set_column_spacing, function in GtkGridLayout
gtk_grid_layout_set_row_baseline_position, function in GtkGridLayout
gtk_grid_layout_set_row_homogeneous, function in GtkGridLayout
gtk_grid_layout_set_row_spacing, function in GtkGridLayout
gtk_grid_new, function in GtkGrid
gtk_grid_remove, function in GtkGrid
gtk_grid_remove_column, function in GtkGrid
gtk_grid_remove_row, function in GtkGrid
gtk_grid_set_baseline_row, function in GtkGrid
gtk_grid_set_column_homogeneous, function in GtkGrid
gtk_grid_set_column_spacing, function in GtkGrid
gtk_grid_set_row_baseline_position, function in GtkGrid
gtk_grid_set_row_homogeneous, function in GtkGrid
gtk_grid_set_row_spacing, function in GtkGrid
gtk_grid_view_get_enable_rubberband, function in GtkGridView
gtk_grid_view_get_factory, function in GtkGridView
gtk_grid_view_get_max_columns, function in GtkGridView
gtk_grid_view_get_min_columns, function in GtkGridView
gtk_grid_view_get_model, function in GtkGridView
gtk_grid_view_get_single_click_activate, function in GtkGridView
gtk_grid_view_new, function in GtkGridView
gtk_grid_view_new_with_factory, function in GtkGridView
gtk_grid_view_set_enable_rubberband, function in GtkGridView
gtk_grid_view_set_factory, function in GtkGridView
gtk_grid_view_set_max_columns, function in GtkGridView
gtk_grid_view_set_min_columns, function in GtkGridView
gtk_grid_view_set_model, function in GtkGridView
gtk_grid_view_set_single_click_activate, function in GtkGridView

H

GtkHeaderBar, struct in GtkHeaderBar
GtkHeaderBar:decoration-layout, object property in GtkHeaderBar
GtkHeaderBar:show-title-buttons, object property in GtkHeaderBar
GtkHeaderBar:title-widget, object property in GtkHeaderBar
gtk_header_bar_get_decoration_layout, function in GtkHeaderBar
gtk_header_bar_get_show_title_buttons, function in GtkHeaderBar
gtk_header_bar_get_title_widget, function in GtkHeaderBar
gtk_header_bar_new, function in GtkHeaderBar
gtk_header_bar_pack_end, function in GtkHeaderBar
gtk_header_bar_pack_start, function in GtkHeaderBar
gtk_header_bar_remove, function in GtkHeaderBar
gtk_header_bar_set_decoration_layout, function in GtkHeaderBar
gtk_header_bar_set_show_title_buttons, function in GtkHeaderBar
gtk_header_bar_set_title_widget, function in GtkHeaderBar
gtk_hsv_to_rgb, function in GtkColorChooser

I

GtkIconLookupFlags, enum in GtkIconTheme
GtkIconPaintable, struct in GtkIconTheme
GtkIconSize, enum in Standard Enumerations
GtkIconTheme, struct in GtkIconTheme
GtkIconTheme::changed, object signal in GtkIconTheme
GtkIconTheme:display, object property in GtkIconTheme
GtkIconTheme:icon-names, object property in GtkIconTheme
GtkIconTheme:resource-path, object property in GtkIconTheme
GtkIconTheme:search-path, object property in GtkIconTheme
GtkIconTheme:theme-name, object property in GtkIconTheme
GtkIconThemeError, enum in GtkIconTheme
GtkIconView, struct in GtkIconView
GtkIconView::activate-cursor-item, object signal in GtkIconView
GtkIconView::item-activated, object signal in GtkIconView
GtkIconView::move-cursor, object signal in GtkIconView
GtkIconView::select-all, object signal in GtkIconView
GtkIconView::select-cursor-item, object signal in GtkIconView
GtkIconView::selection-changed, object signal in GtkIconView
GtkIconView::toggle-cursor-item, object signal in GtkIconView
GtkIconView::unselect-all, object signal in GtkIconView
GtkIconView:activate-on-single-click, object property in GtkIconView
GtkIconView:cell-area, object property in GtkIconView
GtkIconView:column-spacing, object property in GtkIconView
GtkIconView:columns, object property in GtkIconView
GtkIconView:item-orientation, object property in GtkIconView
GtkIconView:item-padding, object property in GtkIconView
GtkIconView:item-width, object property in GtkIconView
GtkIconView:margin, object property in GtkIconView
GtkIconView:markup-column, object property in GtkIconView
GtkIconView:model, object property in GtkIconView
GtkIconView:pixbuf-column, object property in GtkIconView
GtkIconView:reorderable, object property in GtkIconView
GtkIconView:row-spacing, object property in GtkIconView
GtkIconView:selection-mode, object property in GtkIconView
GtkIconView:spacing, object property in GtkIconView
GtkIconView:text-column, object property in GtkIconView
GtkIconView:tooltip-column, object property in GtkIconView
GtkIconViewDropPosition, enum in GtkIconView
GtkIconViewForeachFunc, user_function in GtkIconView
gtk_icon_paintable_get_file, function in GtkIconTheme
gtk_icon_paintable_get_icon_name, function in GtkIconTheme
gtk_icon_paintable_is_symbolic, function in GtkIconTheme
gtk_icon_paintable_new_for_file, function in GtkIconTheme
gtk_icon_theme_add_resource_path, function in GtkIconTheme
gtk_icon_theme_add_search_path, function in GtkIconTheme
GTK_ICON_THEME_ERROR, macro in GtkIconTheme
gtk_icon_theme_get_for_display, function in GtkIconTheme
gtk_icon_theme_get_icon_names, function in GtkIconTheme
gtk_icon_theme_get_icon_sizes, function in GtkIconTheme
gtk_icon_theme_get_resource_path, function in GtkIconTheme
gtk_icon_theme_get_search_path, function in GtkIconTheme
gtk_icon_theme_get_theme_name, function in GtkIconTheme
gtk_icon_theme_has_icon, function in GtkIconTheme
gtk_icon_theme_lookup_by_gicon, function in GtkIconTheme
gtk_icon_theme_lookup_icon, function in GtkIconTheme
gtk_icon_theme_new, function in GtkIconTheme
gtk_icon_theme_set_resource_path, function in GtkIconTheme
gtk_icon_theme_set_search_path, function in GtkIconTheme
gtk_icon_theme_set_theme_name, function in GtkIconTheme
gtk_icon_view_create_drag_icon, function in GtkIconView
gtk_icon_view_enable_model_drag_dest, function in GtkIconView
gtk_icon_view_enable_model_drag_source, function in GtkIconView
gtk_icon_view_get_activate_on_single_click, function in GtkIconView
gtk_icon_view_get_cell_rect, function in GtkIconView
gtk_icon_view_get_columns, function in GtkIconView
gtk_icon_view_get_column_spacing, function in GtkIconView
gtk_icon_view_get_cursor, function in GtkIconView
gtk_icon_view_get_dest_item_at_pos, function in GtkIconView
gtk_icon_view_get_drag_dest_item, function in GtkIconView
gtk_icon_view_get_item_at_pos, function in GtkIconView
gtk_icon_view_get_item_column, function in GtkIconView
gtk_icon_view_get_item_orientation, function in GtkIconView
gtk_icon_view_get_item_padding, function in GtkIconView
gtk_icon_view_get_item_row, function in GtkIconView
gtk_icon_view_get_item_width, function in GtkIconView
gtk_icon_view_get_margin, function in GtkIconView
gtk_icon_view_get_markup_column, function in GtkIconView
gtk_icon_view_get_model, function in GtkIconView
gtk_icon_view_get_path_at_pos, function in GtkIconView
gtk_icon_view_get_pixbuf_column, function in GtkIconView
gtk_icon_view_get_reorderable, function in GtkIconView
gtk_icon_view_get_row_spacing, function in GtkIconView
gtk_icon_view_get_selected_items, function in GtkIconView
gtk_icon_view_get_selection_mode, function in GtkIconView
gtk_icon_view_get_spacing, function in GtkIconView
gtk_icon_view_get_text_column, function in GtkIconView
gtk_icon_view_get_tooltip_column, function in GtkIconView
gtk_icon_view_get_tooltip_context, function in GtkIconView
gtk_icon_view_get_visible_range, function in GtkIconView
gtk_icon_view_item_activated, function in GtkIconView
gtk_icon_view_new, function in GtkIconView
gtk_icon_view_new_with_area, function in GtkIconView
gtk_icon_view_new_with_model, function in GtkIconView
gtk_icon_view_path_is_selected, function in GtkIconView
gtk_icon_view_scroll_to_path, function in GtkIconView
gtk_icon_view_selected_foreach, function in GtkIconView
gtk_icon_view_select_all, function in GtkIconView
gtk_icon_view_select_path, function in GtkIconView
gtk_icon_view_set_activate_on_single_click, function in GtkIconView
gtk_icon_view_set_columns, function in GtkIconView
gtk_icon_view_set_column_spacing, function in GtkIconView
gtk_icon_view_set_cursor, function in GtkIconView
gtk_icon_view_set_drag_dest_item, function in GtkIconView
gtk_icon_view_set_item_orientation, function in GtkIconView
gtk_icon_view_set_item_padding, function in GtkIconView
gtk_icon_view_set_item_width, function in GtkIconView
gtk_icon_view_set_margin, function in GtkIconView
gtk_icon_view_set_markup_column, function in GtkIconView
gtk_icon_view_set_model, function in GtkIconView
gtk_icon_view_set_pixbuf_column, function in GtkIconView
gtk_icon_view_set_reorderable, function in GtkIconView
gtk_icon_view_set_row_spacing, function in GtkIconView
gtk_icon_view_set_selection_mode, function in GtkIconView
gtk_icon_view_set_spacing, function in GtkIconView
gtk_icon_view_set_text_column, function in GtkIconView
gtk_icon_view_set_tooltip_cell, function in GtkIconView
gtk_icon_view_set_tooltip_column, function in GtkIconView
gtk_icon_view_set_tooltip_item, function in GtkIconView
gtk_icon_view_unselect_all, function in GtkIconView
gtk_icon_view_unselect_path, function in GtkIconView
gtk_icon_view_unset_model_drag_dest, function in GtkIconView
gtk_icon_view_unset_model_drag_source, function in GtkIconView
GtkImage, struct in GtkImage
GtkImage:file, object property in GtkImage
GtkImage:gicon, object property in GtkImage
GtkImage:icon-name, object property in GtkImage
GtkImage:icon-size, object property in GtkImage
GtkImage:paintable, object property in GtkImage
GtkImage:pixel-size, object property in GtkImage
GtkImage:resource, object property in GtkImage
GtkImage:storage-type, object property in GtkImage
GtkImage:use-fallback, object property in GtkImage
GtkImageType, enum in GtkImage
gtk_image_clear, function in GtkImage
gtk_image_get_gicon, function in GtkImage
gtk_image_get_icon_name, function in GtkImage
gtk_image_get_icon_size, function in GtkImage
gtk_image_get_paintable, function in GtkImage
gtk_image_get_pixel_size, function in GtkImage
gtk_image_get_storage_type, function in GtkImage
gtk_image_new, function in GtkImage
gtk_image_new_from_file, function in GtkImage
gtk_image_new_from_gicon, function in GtkImage
gtk_image_new_from_icon_name, function in GtkImage
gtk_image_new_from_paintable, function in GtkImage
gtk_image_new_from_pixbuf, function in GtkImage
gtk_image_new_from_resource, function in GtkImage
gtk_image_set_from_file, function in GtkImage
gtk_image_set_from_gicon, function in GtkImage
gtk_image_set_from_icon_name, function in GtkImage
gtk_image_set_from_paintable, function in GtkImage
gtk_image_set_from_pixbuf, function in GtkImage
gtk_image_set_from_resource, function in GtkImage
gtk_image_set_icon_size, function in GtkImage
gtk_image_set_pixel_size, function in GtkImage
GtkIMContext, struct in GtkIMContext
GtkIMContext::commit, object signal in GtkIMContext
GtkIMContext::delete-surrounding, object signal in GtkIMContext
GtkIMContext::preedit-changed, object signal in GtkIMContext
GtkIMContext::preedit-end, object signal in GtkIMContext
GtkIMContext::preedit-start, object signal in GtkIMContext
GtkIMContext::retrieve-surrounding, object signal in GtkIMContext
GtkIMContext:input-hints, object property in GtkIMContext
GtkIMContext:input-purpose, object property in GtkIMContext
GtkIMContextClass, struct in GtkIMContext
GtkIMContextSimple, struct in GtkIMContextSimple
GtkIMMulticontext, struct in GtkIMMulticontext
gtk_im_context_delete_surrounding, function in GtkIMContext
gtk_im_context_filter_key, function in GtkIMContext
gtk_im_context_filter_keypress, function in GtkIMContext
gtk_im_context_focus_in, function in GtkIMContext
gtk_im_context_focus_out, function in GtkIMContext
gtk_im_context_get_preedit_string, function in GtkIMContext
gtk_im_context_get_surrounding, function in GtkIMContext
gtk_im_context_reset, function in GtkIMContext
gtk_im_context_set_client_widget, function in GtkIMContext
gtk_im_context_set_cursor_location, function in GtkIMContext
gtk_im_context_set_surrounding, function in GtkIMContext
gtk_im_context_set_use_preedit, function in GtkIMContext
gtk_im_context_simple_add_compose_file, function in GtkIMContextSimple
gtk_im_context_simple_add_table, function in GtkIMContextSimple
gtk_im_context_simple_new, function in GtkIMContextSimple
gtk_im_multicontext_get_context_id, function in GtkIMMulticontext
gtk_im_multicontext_new, function in GtkIMMulticontext
gtk_im_multicontext_set_context_id, function in GtkIMMulticontext
GtkInfoBar, struct in GtkInfoBar
GtkInfoBar::close, object signal in GtkInfoBar
GtkInfoBar::response, object signal in GtkInfoBar
GtkInfoBar:message-type, object property in GtkInfoBar
GtkInfoBar:revealed, object property in GtkInfoBar
GtkInfoBar:show-close-button, object property in GtkInfoBar
gtk_info_bar_add_action_widget, function in GtkInfoBar
gtk_info_bar_add_button, function in GtkInfoBar
gtk_info_bar_add_buttons, function in GtkInfoBar
gtk_info_bar_add_child, function in GtkInfoBar
gtk_info_bar_get_message_type, function in GtkInfoBar
gtk_info_bar_get_revealed, function in GtkInfoBar
gtk_info_bar_get_show_close_button, function in GtkInfoBar
gtk_info_bar_new, function in GtkInfoBar
gtk_info_bar_new_with_buttons, function in GtkInfoBar
gtk_info_bar_remove_action_widget, function in GtkInfoBar
gtk_info_bar_remove_child, function in GtkInfoBar
gtk_info_bar_response, function in GtkInfoBar
gtk_info_bar_set_default_response, function in GtkInfoBar
gtk_info_bar_set_message_type, function in GtkInfoBar
gtk_info_bar_set_response_sensitive, function in GtkInfoBar
gtk_info_bar_set_revealed, function in GtkInfoBar
gtk_info_bar_set_show_close_button, function in GtkInfoBar
gtk_init, function in General
gtk_init_check, function in General
GtkInputHints, enum in GtkEntry
GtkInputPurpose, enum in GtkEntry
GTK_INPUT_ERROR, macro in GtkSpinButton
GTK_INTERFACE_AGE, macro in Feature Test Macros
GTK_INVALID_LIST_POSITION, macro in GtkSingleSelection

J

GtkJustification, enum in Standard Enumerations

K

GtkKeyvalTrigger, struct in GtkShortcutTrigger
gtk_keyval_trigger_get_keyval, function in GtkShortcutTrigger
gtk_keyval_trigger_get_modifiers, function in GtkShortcutTrigger
gtk_keyval_trigger_new, function in GtkShortcutTrigger

L

GtkLabel, struct in GtkLabel
GtkLabel::activate-current-link, object signal in GtkLabel
GtkLabel::activate-link, object signal in GtkLabel
GtkLabel::copy-clipboard, object signal in GtkLabel
GtkLabel::move-cursor, object signal in GtkLabel
GtkLabel:attributes, object property in GtkLabel
GtkLabel:ellipsize, object property in GtkLabel
GtkLabel:extra-menu, object property in GtkLabel
GtkLabel:justify, object property in GtkLabel
GtkLabel:label, object property in GtkLabel
GtkLabel:lines, object property in GtkLabel
GtkLabel:max-width-chars, object property in GtkLabel
GtkLabel:mnemonic-keyval, object property in GtkLabel
GtkLabel:mnemonic-widget, object property in GtkLabel
GtkLabel:selectable, object property in GtkLabel
GtkLabel:single-line-mode, object property in GtkLabel
GtkLabel:use-markup, object property in GtkLabel
GtkLabel:use-underline, object property in GtkLabel
GtkLabel:width-chars, object property in GtkLabel
GtkLabel:wrap, object property in GtkLabel
GtkLabel:wrap-mode, object property in GtkLabel
GtkLabel:xalign, object property in GtkLabel
GtkLabel:yalign, object property in GtkLabel
gtk_label_get_attributes, function in GtkLabel
gtk_label_get_current_uri, function in GtkLabel
gtk_label_get_ellipsize, function in GtkLabel
gtk_label_get_extra_menu, function in GtkLabel
gtk_label_get_justify, function in GtkLabel
gtk_label_get_label, function in GtkLabel
gtk_label_get_layout, function in GtkLabel
gtk_label_get_layout_offsets, function in GtkLabel
gtk_label_get_lines, function in GtkLabel
gtk_label_get_max_width_chars, function in GtkLabel
gtk_label_get_mnemonic_keyval, function in GtkLabel
gtk_label_get_mnemonic_widget, function in GtkLabel
gtk_label_get_selectable, function in GtkLabel
gtk_label_get_selection_bounds, function in GtkLabel
gtk_label_get_single_line_mode, function in GtkLabel
gtk_label_get_text, function in GtkLabel
gtk_label_get_use_markup, function in GtkLabel
gtk_label_get_use_underline, function in GtkLabel
gtk_label_get_width_chars, function in GtkLabel
gtk_label_get_wrap, function in GtkLabel
gtk_label_get_wrap_mode, function in GtkLabel
gtk_label_get_xalign, function in GtkLabel
gtk_label_get_yalign, function in GtkLabel
gtk_label_new, function in GtkLabel
gtk_label_new_with_mnemonic, function in GtkLabel
gtk_label_select_region, function in GtkLabel
gtk_label_set_attributes, function in GtkLabel
gtk_label_set_ellipsize, function in GtkLabel
gtk_label_set_extra_menu, function in GtkLabel
gtk_label_set_justify, function in GtkLabel
gtk_label_set_label, function in GtkLabel
gtk_label_set_lines, function in GtkLabel
gtk_label_set_markup, function in GtkLabel
gtk_label_set_markup_with_mnemonic, function in GtkLabel
gtk_label_set_max_width_chars, function in GtkLabel
gtk_label_set_mnemonic_widget, function in GtkLabel
gtk_label_set_selectable, function in GtkLabel
gtk_label_set_single_line_mode, function in GtkLabel
gtk_label_set_text, function in GtkLabel
gtk_label_set_text_with_mnemonic, function in GtkLabel
gtk_label_set_use_markup, function in GtkLabel
gtk_label_set_use_underline, function in GtkLabel
gtk_label_set_width_chars, function in GtkLabel
gtk_label_set_wrap, function in GtkLabel
gtk_label_set_wrap_mode, function in GtkLabel
gtk_label_set_xalign, function in GtkLabel
gtk_label_set_yalign, function in GtkLabel
GtkLabel|clipboard.copy, action in GtkLabel
GtkLabel|clipboard.cut, action in GtkLabel
GtkLabel|clipboard.paste, action in GtkLabel
GtkLabel|link.copy, action in GtkLabel
GtkLabel|link.open, action in GtkLabel
GtkLabel|menu.popup, action in GtkLabel
GtkLabel|selection.delete, action in GtkLabel
GtkLabel|selection.select-all, action in GtkLabel
GtkLayoutChild, struct in GtkLayoutChild
GtkLayoutChild:child-widget, object property in GtkLayoutChild
GtkLayoutChild:layout-manager, object property in GtkLayoutChild
GtkLayoutChildClass, struct in GtkLayoutChild
GtkLayoutManager, struct in GtkLayoutManager
GtkLayoutManagerClass, struct in GtkLayoutManager
gtk_layout_child_get_child_widget, function in GtkLayoutChild
gtk_layout_child_get_layout_manager, function in GtkLayoutChild
gtk_layout_manager_allocate, function in GtkLayoutManager
gtk_layout_manager_get_layout_child, function in GtkLayoutManager
gtk_layout_manager_get_request_mode, function in GtkLayoutManager
gtk_layout_manager_get_widget, function in GtkLayoutManager
gtk_layout_manager_layout_changed, function in GtkLayoutManager
gtk_layout_manager_measure, function in GtkLayoutManager
GtkLevelBar, struct in GtkLevelBar
GtkLevelBar::offset-changed, object signal in GtkLevelBar
GtkLevelBar:inverted, object property in GtkLevelBar
GtkLevelBar:max-value, object property in GtkLevelBar
GtkLevelBar:min-value, object property in GtkLevelBar
GtkLevelBar:mode, object property in GtkLevelBar
GtkLevelBar:value, object property in GtkLevelBar
GtkLevelBarMode, enum in GtkLevelBar
gtk_level_bar_add_offset_value, function in GtkLevelBar
gtk_level_bar_get_inverted, function in GtkLevelBar
gtk_level_bar_get_max_value, function in GtkLevelBar
gtk_level_bar_get_min_value, function in GtkLevelBar
gtk_level_bar_get_mode, function in GtkLevelBar
gtk_level_bar_get_offset_value, function in GtkLevelBar
gtk_level_bar_get_value, function in GtkLevelBar
gtk_level_bar_new, function in GtkLevelBar
gtk_level_bar_new_for_interval, function in GtkLevelBar
GTK_LEVEL_BAR_OFFSET_FULL, macro in GtkLevelBar
GTK_LEVEL_BAR_OFFSET_HIGH, macro in GtkLevelBar
GTK_LEVEL_BAR_OFFSET_LOW, macro in GtkLevelBar
gtk_level_bar_remove_offset_value, function in GtkLevelBar
gtk_level_bar_set_inverted, function in GtkLevelBar
gtk_level_bar_set_max_value, function in GtkLevelBar
gtk_level_bar_set_min_value, function in GtkLevelBar
gtk_level_bar_set_mode, function in GtkLevelBar
gtk_level_bar_set_value, function in GtkLevelBar
GtkLicense, enum in GtkAboutDialog
GtkLinkButton, struct in GtkLinkButton
GtkLinkButton::activate-link, object signal in GtkLinkButton
GtkLinkButton:uri, object property in GtkLinkButton
GtkLinkButton:visited, object property in GtkLinkButton
GtkLinkButton|clipboard.copy, action in GtkLinkButton
GtkLinkButton|menu.popup, action in GtkLinkButton
gtk_link_button_get_uri, function in GtkLinkButton
gtk_link_button_get_visited, function in GtkLinkButton
gtk_link_button_new, function in GtkLinkButton
gtk_link_button_new_with_label, function in GtkLinkButton
gtk_link_button_set_uri, function in GtkLinkButton
gtk_link_button_set_visited, function in GtkLinkButton
GtkListBox, struct in GtkListBox
GtkListBox::activate-cursor-row, object signal in GtkListBox
GtkListBox::move-cursor, object signal in GtkListBox
GtkListBox::row-activated, object signal in GtkListBox
GtkListBox::row-selected, object signal in GtkListBox
GtkListBox::select-all, object signal in GtkListBox
GtkListBox::selected-rows-changed, object signal in GtkListBox
GtkListBox::toggle-cursor-row, object signal in GtkListBox
GtkListBox::unselect-all, object signal in GtkListBox
GtkListBox:accept-unpaired-release, object property in GtkListBox
GtkListBox:activate-on-single-click, object property in GtkListBox
GtkListBox:selection-mode, object property in GtkListBox
GtkListBox:show-separators, object property in GtkListBox
GtkListBoxCreateWidgetFunc, user_function in GtkListBox
GtkListBoxFilterFunc, user_function in GtkListBox
GtkListBoxForeachFunc, user_function in GtkListBox
GtkListBoxRow, struct in GtkListBox
GtkListBoxRow::activate, object signal in GtkListBox
GtkListBoxRow:activatable, object property in GtkListBox
GtkListBoxRow:child, object property in GtkListBox
GtkListBoxRow:selectable, object property in GtkListBox
GtkListBoxRowClass, struct in GtkListBox
GtkListBoxSortFunc, user_function in GtkListBox
GtkListBoxUpdateHeaderFunc, user_function in GtkListBox
GtkListItem, struct in GtkListItem
GtkListItem:activatable, object property in GtkListItem
GtkListItem:child, object property in GtkListItem
GtkListItem:item, object property in GtkListItem
GtkListItem:position, object property in GtkListItem
GtkListItem:selectable, object property in GtkListItem
GtkListItem:selected, object property in GtkListItem
GtkListItemFactory, struct in GtkListItemFactory
GtkListStore, struct in GtkListStore
GtkListView, struct in GtkListView
GtkListView::activate, object signal in GtkListView
GtkListView:enable-rubberband, object property in GtkListView
GtkListView:factory, object property in GtkListView
GtkListView:model, object property in GtkListView
GtkListView:show-separators, object property in GtkListView
GtkListView:single-click-activate, object property in GtkListView
GtkListView|list.activate-item, action in GtkListView
gtk_list_box_bind_model, function in GtkListBox
gtk_list_box_drag_highlight_row, function in GtkListBox
gtk_list_box_drag_unhighlight_row, function in GtkListBox
gtk_list_box_get_activate_on_single_click, function in GtkListBox
gtk_list_box_get_adjustment, function in GtkListBox
gtk_list_box_get_row_at_index, function in GtkListBox
gtk_list_box_get_row_at_y, function in GtkListBox
gtk_list_box_get_selected_row, function in GtkListBox
gtk_list_box_get_selected_rows, function in GtkListBox
gtk_list_box_get_selection_mode, function in GtkListBox
gtk_list_box_get_show_separators, function in GtkListBox
gtk_list_box_insert, function in GtkListBox
gtk_list_box_invalidate_filter, function in GtkListBox
gtk_list_box_invalidate_headers, function in GtkListBox
gtk_list_box_invalidate_sort, function in GtkListBox
gtk_list_box_new, function in GtkListBox
gtk_list_box_prepend, function in GtkListBox
gtk_list_box_remove, function in GtkListBox
gtk_list_box_row_changed, function in GtkListBox
gtk_list_box_row_get_activatable, function in GtkListBox
gtk_list_box_row_get_child, function in GtkListBox
gtk_list_box_row_get_header, function in GtkListBox
gtk_list_box_row_get_index, function in GtkListBox
gtk_list_box_row_get_selectable, function in GtkListBox
gtk_list_box_row_is_selected, function in GtkListBox
gtk_list_box_row_new, function in GtkListBox
gtk_list_box_row_set_activatable, function in GtkListBox
gtk_list_box_row_set_child, function in GtkListBox
gtk_list_box_row_set_header, function in GtkListBox
gtk_list_box_row_set_selectable, function in GtkListBox
gtk_list_box_selected_foreach, function in GtkListBox
gtk_list_box_select_all, function in GtkListBox
gtk_list_box_select_row, function in GtkListBox
gtk_list_box_set_activate_on_single_click, function in GtkListBox
gtk_list_box_set_adjustment, function in GtkListBox
gtk_list_box_set_filter_func, function in GtkListBox
gtk_list_box_set_header_func, function in GtkListBox
gtk_list_box_set_placeholder, function in GtkListBox
gtk_list_box_set_selection_mode, function in GtkListBox
gtk_list_box_set_show_separators, function in GtkListBox
gtk_list_box_set_sort_func, function in GtkListBox
gtk_list_box_unselect_all, function in GtkListBox
gtk_list_box_unselect_row, function in GtkListBox
gtk_list_item_get_activatable, function in GtkListItem
gtk_list_item_get_child, function in GtkListItem
gtk_list_item_get_item, function in GtkListItem
gtk_list_item_get_position, function in GtkListItem
gtk_list_item_get_selectable, function in GtkListItem
gtk_list_item_get_selected, function in GtkListItem
gtk_list_item_set_activatable, function in GtkListItem
gtk_list_item_set_child, function in GtkListItem
gtk_list_item_set_selectable, function in GtkListItem
gtk_list_store_append, function in GtkListStore
gtk_list_store_clear, function in GtkListStore
gtk_list_store_insert, function in GtkListStore
gtk_list_store_insert_after, function in GtkListStore
gtk_list_store_insert_before, function in GtkListStore
gtk_list_store_insert_with_values, function in GtkListStore
gtk_list_store_insert_with_valuesv, function in GtkListStore
gtk_list_store_iter_is_valid, function in GtkListStore
gtk_list_store_move_after, function in GtkListStore
gtk_list_store_move_before, function in GtkListStore
gtk_list_store_new, function in GtkListStore
gtk_list_store_newv, function in GtkListStore
gtk_list_store_prepend, function in GtkListStore
gtk_list_store_remove, function in GtkListStore
gtk_list_store_reorder, function in GtkListStore
gtk_list_store_set, function in GtkListStore
gtk_list_store_set_column_types, function in GtkListStore
gtk_list_store_set_valist, function in GtkListStore
gtk_list_store_set_value, function in GtkListStore
gtk_list_store_set_valuesv, function in GtkListStore
gtk_list_store_swap, function in GtkListStore
gtk_list_view_get_enable_rubberband, function in GtkListView
gtk_list_view_get_factory, function in GtkListView
gtk_list_view_get_model, function in GtkListView
gtk_list_view_get_show_separators, function in GtkListView
gtk_list_view_get_single_click_activate, function in GtkListView
gtk_list_view_new, function in GtkListView
gtk_list_view_new_with_factory, function in GtkListView
gtk_list_view_set_enable_rubberband, function in GtkListView
gtk_list_view_set_factory, function in GtkListView
gtk_list_view_set_model, function in GtkListView
gtk_list_view_set_show_separators, function in GtkListView
gtk_list_view_set_single_click_activate, function in GtkListView
GtkLockButton, struct in GtkLockButton
GtkLockButton:permission, object property in GtkLockButton
GtkLockButton:text-lock, object property in GtkLockButton
GtkLockButton:text-unlock, object property in GtkLockButton
GtkLockButton:tooltip-lock, object property in GtkLockButton
GtkLockButton:tooltip-not-authorized, object property in GtkLockButton
GtkLockButton:tooltip-unlock, object property in GtkLockButton
gtk_lock_button_get_permission, function in GtkLockButton
gtk_lock_button_new, function in GtkLockButton
gtk_lock_button_set_permission, function in GtkLockButton

M

GTK_MAJOR_VERSION, macro in Feature Test Macros
GtkMapListModel, struct in GtkMapListModel
GtkMapListModel:has-map, object property in GtkMapListModel
GtkMapListModel:model, object property in GtkMapListModel
GtkMapListModelMapFunc, user_function in GtkMapListModel
gtk_map_list_model_get_model, function in GtkMapListModel
gtk_map_list_model_has_map, function in GtkMapListModel
gtk_map_list_model_new, function in GtkMapListModel
gtk_map_list_model_set_map_func, function in GtkMapListModel
gtk_map_list_model_set_model, function in GtkMapListModel
GTK_MAX_COMPOSE_LEN, macro in GtkIMContextSimple
GtkMediaControls, struct in GtkMediaControls
GtkMediaControls:media-stream, object property in GtkMediaControls
GtkMediaFile, struct in GtkMediaFile
GtkMediaFile:file, object property in GtkMediaFile
GtkMediaFile:input-stream, object property in GtkMediaFile
GtkMediaStream, struct in GtkMediaStream
GtkMediaStream:duration, object property in GtkMediaStream
GtkMediaStream:ended, object property in GtkMediaStream
GtkMediaStream:error, object property in GtkMediaStream
GtkMediaStream:has-audio, object property in GtkMediaStream
GtkMediaStream:has-video, object property in GtkMediaStream
GtkMediaStream:loop, object property in GtkMediaStream
GtkMediaStream:muted, object property in GtkMediaStream
GtkMediaStream:playing, object property in GtkMediaStream
GtkMediaStream:prepared, object property in GtkMediaStream
GtkMediaStream:seekable, object property in GtkMediaStream
GtkMediaStream:seeking, object property in GtkMediaStream
GtkMediaStream:timestamp, object property in GtkMediaStream
GtkMediaStream:volume, object property in GtkMediaStream
GtkMediaStreamClass, struct in GtkMediaStream
gtk_media_controls_get_media_stream, function in GtkMediaControls
gtk_media_controls_new, function in GtkMediaControls
gtk_media_controls_set_media_stream, function in GtkMediaControls
gtk_media_file_clear, function in GtkMediaFile
gtk_media_file_get_file, function in GtkMediaFile
gtk_media_file_get_input_stream, function in GtkMediaFile
gtk_media_file_new, function in GtkMediaFile
gtk_media_file_new_for_file, function in GtkMediaFile
gtk_media_file_new_for_filename, function in GtkMediaFile
gtk_media_file_new_for_input_stream, function in GtkMediaFile
gtk_media_file_new_for_resource, function in GtkMediaFile
gtk_media_file_set_file, function in GtkMediaFile
gtk_media_file_set_filename, function in GtkMediaFile
gtk_media_file_set_input_stream, function in GtkMediaFile
gtk_media_file_set_resource, function in GtkMediaFile
gtk_media_stream_ended, function in GtkMediaStream
gtk_media_stream_error, function in GtkMediaStream
gtk_media_stream_error_valist, function in GtkMediaStream
gtk_media_stream_gerror, function in GtkMediaStream
gtk_media_stream_get_duration, function in GtkMediaStream
gtk_media_stream_get_ended, function in GtkMediaStream
gtk_media_stream_get_error, function in GtkMediaStream
gtk_media_stream_get_loop, function in GtkMediaStream
gtk_media_stream_get_muted, function in GtkMediaStream
gtk_media_stream_get_playing, function in GtkMediaStream
gtk_media_stream_get_timestamp, function in GtkMediaStream
gtk_media_stream_get_volume, function in GtkMediaStream
gtk_media_stream_has_audio, function in GtkMediaStream
gtk_media_stream_has_video, function in GtkMediaStream
gtk_media_stream_is_prepared, function in GtkMediaStream
gtk_media_stream_is_seekable, function in GtkMediaStream
gtk_media_stream_is_seeking, function in GtkMediaStream
gtk_media_stream_pause, function in GtkMediaStream
gtk_media_stream_play, function in GtkMediaStream
gtk_media_stream_prepared, function in GtkMediaStream
gtk_media_stream_realize, function in GtkMediaStream
gtk_media_stream_seek, function in GtkMediaStream
gtk_media_stream_seek_failed, function in GtkMediaStream
gtk_media_stream_seek_success, function in GtkMediaStream
gtk_media_stream_set_loop, function in GtkMediaStream
gtk_media_stream_set_muted, function in GtkMediaStream
gtk_media_stream_set_playing, function in GtkMediaStream
gtk_media_stream_set_volume, function in GtkMediaStream
gtk_media_stream_unprepared, function in GtkMediaStream
gtk_media_stream_unrealize, function in GtkMediaStream
gtk_media_stream_update, function in GtkMediaStream
GtkMenuButton, struct in GtkMenuButton
GtkMenuButton:direction, object property in GtkMenuButton
GtkMenuButton:has-frame, object property in GtkMenuButton
GtkMenuButton:icon-name, object property in GtkMenuButton
GtkMenuButton:label, object property in GtkMenuButton
GtkMenuButton:menu-model, object property in GtkMenuButton
GtkMenuButton:popover, object property in GtkMenuButton
GtkMenuButton:use-underline, object property in GtkMenuButton
GtkMenuButtonCreatePopupFunc, user_function in GtkMenuButton
gtk_menu_button_get_direction, function in GtkMenuButton
gtk_menu_button_get_has_frame, function in GtkMenuButton
gtk_menu_button_get_icon_name, function in GtkMenuButton
gtk_menu_button_get_label, function in GtkMenuButton
gtk_menu_button_get_menu_model, function in GtkMenuButton
gtk_menu_button_get_popover, function in GtkMenuButton
gtk_menu_button_get_use_underline, function in GtkMenuButton
gtk_menu_button_new, function in GtkMenuButton
gtk_menu_button_popdown, function in GtkMenuButton
gtk_menu_button_popup, function in GtkMenuButton
gtk_menu_button_set_create_popup_func, function in GtkMenuButton
gtk_menu_button_set_direction, function in GtkMenuButton
gtk_menu_button_set_has_frame, function in GtkMenuButton
gtk_menu_button_set_icon_name, function in GtkMenuButton
gtk_menu_button_set_label, function in GtkMenuButton
gtk_menu_button_set_menu_model, function in GtkMenuButton
gtk_menu_button_set_popover, function in GtkMenuButton
gtk_menu_button_set_use_underline, function in GtkMenuButton
GtkMessageDialog, struct in GtkMessageDialog
GtkMessageDialog:buttons, object property in GtkMessageDialog
GtkMessageDialog:message-area, object property in GtkMessageDialog
GtkMessageDialog:message-type, object property in GtkMessageDialog
GtkMessageDialog:secondary-text, object property in GtkMessageDialog
GtkMessageDialog:secondary-use-markup, object property in GtkMessageDialog
GtkMessageDialog:text, object property in GtkMessageDialog
GtkMessageDialog:use-markup, object property in GtkMessageDialog
GtkMessageType, enum in GtkMessageDialog
gtk_message_dialog_format_secondary_markup, function in GtkMessageDialog
gtk_message_dialog_format_secondary_text, function in GtkMessageDialog
gtk_message_dialog_get_message_area, function in GtkMessageDialog
gtk_message_dialog_new, function in GtkMessageDialog
gtk_message_dialog_new_with_markup, function in GtkMessageDialog
gtk_message_dialog_set_markup, function in GtkMessageDialog
GTK_MICRO_VERSION, macro in Feature Test Macros
GTK_MINOR_VERSION, macro in Feature Test Macros
GtkMnemonicAction, struct in GtkShortcutAction
GtkMnemonicTrigger, struct in GtkShortcutTrigger
gtk_mnemonic_action_get, function in GtkShortcutAction
gtk_mnemonic_trigger_get_keyval, function in GtkShortcutTrigger
gtk_mnemonic_trigger_new, function in GtkShortcutTrigger
GtkMountOperation, struct in Filesystem utilities
GtkMountOperation:display, object property in Filesystem utilities
GtkMountOperation:is-showing, object property in Filesystem utilities
GtkMountOperation:parent, object property in Filesystem utilities
GtkMountOperationClass, struct in Filesystem utilities
gtk_mount_operation_get_display, function in Filesystem utilities
gtk_mount_operation_get_parent, function in Filesystem utilities
gtk_mount_operation_is_showing, function in Filesystem utilities
gtk_mount_operation_new, function in Filesystem utilities
gtk_mount_operation_set_display, function in Filesystem utilities
gtk_mount_operation_set_parent, function in Filesystem utilities
GtkMovementStep, enum in Standard Enumerations
GtkMultiFilter, struct in GtkMultiFilter
GtkMultiSelection, struct in GtkMultiSeledction
GtkMultiSelection:model, object property in GtkMultiSeledction
GtkMultiSorter, struct in GtkMultiSorter
gtk_multi_filter_append, function in GtkMultiFilter
gtk_multi_filter_remove, function in GtkMultiFilter
gtk_multi_selection_get_model, function in GtkMultiSeledction
gtk_multi_selection_new, function in GtkMultiSeledction
gtk_multi_selection_set_model, function in GtkMultiSeledction
gtk_multi_sorter_append, function in GtkMultiSorter
gtk_multi_sorter_new, function in GtkMultiSorter
gtk_multi_sorter_remove, function in GtkMultiSorter

N

GtkNamedAction, struct in GtkShortcutAction
gtk_named_action_get_action_name, function in GtkShortcutAction
gtk_named_action_new, function in GtkShortcutAction
GtkNative, struct in GtkNative
GtkNativeDialog, struct in GtkNativeDialog
GtkNativeDialog::response, object signal in GtkNativeDialog
GtkNativeDialog:modal, object property in GtkNativeDialog
GtkNativeDialog:title, object property in GtkNativeDialog
GtkNativeDialog:transient-for, object property in GtkNativeDialog
GtkNativeDialog:visible, object property in GtkNativeDialog
GtkNativeDialogClass, struct in GtkNativeDialog
GtkNativeInterface, struct in GtkNative
gtk_native_check_resize, function in GtkNative
gtk_native_dialog_destroy, function in GtkNativeDialog
gtk_native_dialog_get_modal, function in GtkNativeDialog
gtk_native_dialog_get_title, function in GtkNativeDialog
gtk_native_dialog_get_transient_for, function in GtkNativeDialog
gtk_native_dialog_get_visible, function in GtkNativeDialog
gtk_native_dialog_hide, function in GtkNativeDialog
gtk_native_dialog_set_modal, function in GtkNativeDialog
gtk_native_dialog_set_title, function in GtkNativeDialog
gtk_native_dialog_set_transient_for, function in GtkNativeDialog
gtk_native_dialog_show, function in GtkNativeDialog
gtk_native_get_for_surface, function in GtkNative
gtk_native_get_renderer, function in GtkNative
gtk_native_get_surface, function in GtkNative
gtk_native_get_surface_transform, function in GtkNative
GtkNeverTrigger, struct in GtkShortcutTrigger
gtk_never_trigger_get, function in GtkShortcutTrigger
GtkNoSelection, struct in GtkNoSelection
GtkNoSelection:model, object property in GtkNoSelection
GtkNotebook, struct in GtkNotebook
GtkNotebook::change-current-page, object signal in GtkNotebook
GtkNotebook::create-window, object signal in GtkNotebook
GtkNotebook::focus-tab, object signal in GtkNotebook
GtkNotebook::move-focus-out, object signal in GtkNotebook
GtkNotebook::page-added, object signal in GtkNotebook
GtkNotebook::page-removed, object signal in GtkNotebook
GtkNotebook::page-reordered, object signal in GtkNotebook
GtkNotebook::reorder-tab, object signal in GtkNotebook
GtkNotebook::select-page, object signal in GtkNotebook
GtkNotebook::switch-page, object signal in GtkNotebook
GtkNotebook:enable-popup, object property in GtkNotebook
GtkNotebook:group-name, object property in GtkNotebook
GtkNotebook:page, object property in GtkNotebook
GtkNotebook:pages, object property in GtkNotebook
GtkNotebook:scrollable, object property in GtkNotebook
GtkNotebook:show-border, object property in GtkNotebook
GtkNotebook:show-tabs, object property in GtkNotebook
GtkNotebook:tab-pos, object property in GtkNotebook
GtkNotebookPage, struct in GtkNotebook
GtkNotebookPage:child, object property in GtkNotebook
GtkNotebookPage:detachable, object property in GtkNotebook
GtkNotebookPage:menu, object property in GtkNotebook
GtkNotebookPage:menu-label, object property in GtkNotebook
GtkNotebookPage:position, object property in GtkNotebook
GtkNotebookPage:reorderable, object property in GtkNotebook
GtkNotebookPage:tab, object property in GtkNotebook
GtkNotebookPage:tab-expand, object property in GtkNotebook
GtkNotebookPage:tab-fill, object property in GtkNotebook
GtkNotebookPage:tab-label, object property in GtkNotebook
gtk_notebook_append_page, function in GtkNotebook
gtk_notebook_append_page_menu, function in GtkNotebook
gtk_notebook_detach_tab, function in GtkNotebook
gtk_notebook_get_action_widget, function in GtkNotebook
gtk_notebook_get_current_page, function in GtkNotebook
gtk_notebook_get_group_name, function in GtkNotebook
gtk_notebook_get_menu_label, function in GtkNotebook
gtk_notebook_get_menu_label_text, function in GtkNotebook
gtk_notebook_get_nth_page, function in GtkNotebook
gtk_notebook_get_n_pages, function in GtkNotebook
gtk_notebook_get_page, function in GtkNotebook
gtk_notebook_get_pages, function in GtkNotebook
gtk_notebook_get_scrollable, function in GtkNotebook
gtk_notebook_get_show_border, function in GtkNotebook
gtk_notebook_get_show_tabs, function in GtkNotebook
gtk_notebook_get_tab_detachable, function in GtkNotebook
gtk_notebook_get_tab_label, function in GtkNotebook
gtk_notebook_get_tab_label_text, function in GtkNotebook
gtk_notebook_get_tab_pos, function in GtkNotebook
gtk_notebook_get_tab_reorderable, function in GtkNotebook
gtk_notebook_insert_page, function in GtkNotebook
gtk_notebook_insert_page_menu, function in GtkNotebook
gtk_notebook_new, function in GtkNotebook
gtk_notebook_next_page, function in GtkNotebook
gtk_notebook_page_get_child, function in GtkNotebook
gtk_notebook_page_num, function in GtkNotebook
gtk_notebook_popup_disable, function in GtkNotebook
gtk_notebook_popup_enable, function in GtkNotebook
gtk_notebook_prepend_page, function in GtkNotebook
gtk_notebook_prepend_page_menu, function in GtkNotebook
gtk_notebook_prev_page, function in GtkNotebook
gtk_notebook_remove_page, function in GtkNotebook
gtk_notebook_reorder_child, function in GtkNotebook
gtk_notebook_set_action_widget, function in GtkNotebook
gtk_notebook_set_current_page, function in GtkNotebook
gtk_notebook_set_group_name, function in GtkNotebook
gtk_notebook_set_menu_label, function in GtkNotebook
gtk_notebook_set_menu_label_text, function in GtkNotebook
gtk_notebook_set_scrollable, function in GtkNotebook
gtk_notebook_set_show_border, function in GtkNotebook
gtk_notebook_set_show_tabs, function in GtkNotebook
gtk_notebook_set_tab_detachable, function in GtkNotebook
gtk_notebook_set_tab_label, function in GtkNotebook
gtk_notebook_set_tab_label_text, function in GtkNotebook
gtk_notebook_set_tab_pos, function in GtkNotebook
gtk_notebook_set_tab_reorderable, function in GtkNotebook
GtkNotebook|menu.popup, action in GtkNotebook
GtkNothingAction, struct in GtkShortcutAction
gtk_nothing_action_get, function in GtkShortcutAction
gtk_no_selection_get_model, function in GtkNoSelection
gtk_no_selection_new, function in GtkNoSelection
gtk_no_selection_set_model, function in GtkNoSelection
GtkNumberUpLayout, enum in GtkPrintSettings
GtkNumericSorter, struct in GtkNumericSorter
GtkNumericSorter:expression, object property in GtkNumericSorter
GtkNumericSorter:sort-order, object property in GtkNumericSorter
gtk_numeric_sorter_get_expression, function in GtkNumericSorter
gtk_numeric_sorter_get_sort_order, function in GtkNumericSorter
gtk_numeric_sorter_new, function in GtkNumericSorter
gtk_numeric_sorter_set_expression, function in GtkNumericSorter
gtk_numeric_sorter_set_sort_order, function in GtkNumericSorter

O

gtk_object_expression_get_object, function in GtkExpression
gtk_object_expression_new, function in GtkExpression
GtkOrdering, enum in Standard Enumerations
gtk_ordering_from_cmpfunc, function in Standard Enumerations
GtkOrientable, struct in Orientable
GtkOrientable:orientation, object property in Orientable
gtk_orientable_get_orientation, function in Orientable
gtk_orientable_set_orientation, function in Orientable
GtkOrientation, enum in Standard Enumerations
GtkOverflow, enum in GtkWidget
GtkOverlay, struct in GtkOverlay
GtkOverlay::get-child-position, object signal in GtkOverlay
GtkOverlay:child, object property in GtkOverlay
GtkOverlayLayout, struct in GtkOverlayLayout
GtkOverlayLayoutChild, struct in GtkOverlayLayout
GtkOverlayLayoutChild:clip-overlay, object property in GtkOverlayLayout
GtkOverlayLayoutChild:measure, object property in GtkOverlayLayout
gtk_overlay_add_overlay, function in GtkOverlay
gtk_overlay_get_child, function in GtkOverlay
gtk_overlay_get_clip_overlay, function in GtkOverlay
gtk_overlay_get_measure_overlay, function in GtkOverlay
gtk_overlay_layout_child_get_clip_overlay, function in GtkOverlayLayout
gtk_overlay_layout_child_get_measure, function in GtkOverlayLayout
gtk_overlay_layout_child_set_clip_overlay, function in GtkOverlayLayout
gtk_overlay_layout_child_set_measure, function in GtkOverlayLayout
gtk_overlay_layout_new, function in GtkOverlayLayout
gtk_overlay_new, function in GtkOverlay
gtk_overlay_remove_overlay, function in GtkOverlay
gtk_overlay_set_child, function in GtkOverlay
gtk_overlay_set_clip_overlay, function in GtkOverlay
gtk_overlay_set_measure_overlay, function in GtkOverlay

P

GtkPackType, enum in Standard Enumerations
GtkPadActionEntry, struct in GtkPadController
GtkPadActionType, enum in GtkPadController
GtkPadController, struct in GtkPadController
GtkPadController:action-group, object property in GtkPadController
GtkPadController:pad, object property in GtkPadController
gtk_pad_controller_new, function in GtkPadController
gtk_pad_controller_set_action, function in GtkPadController
gtk_pad_controller_set_action_entries, function in GtkPadController
GtkPageOrientation, enum in GtkPrintSettings
GtkPageRange, struct in GtkPrintSettings
GtkPageSet, enum in GtkPrintSettings
GtkPageSetup, struct in GtkPageSetup
GtkPageSetupDoneFunc, user_function in High-level Printing API
GtkPageSetupUnixDialog, struct in GtkPageSetupUnixDialog
gtk_page_setup_copy, function in GtkPageSetup
gtk_page_setup_get_bottom_margin, function in GtkPageSetup
gtk_page_setup_get_left_margin, function in GtkPageSetup
gtk_page_setup_get_orientation, function in GtkPageSetup
gtk_page_setup_get_page_height, function in GtkPageSetup
gtk_page_setup_get_page_width, function in GtkPageSetup
gtk_page_setup_get_paper_height, function in GtkPageSetup
gtk_page_setup_get_paper_size, function in GtkPageSetup
gtk_page_setup_get_paper_width, function in GtkPageSetup
gtk_page_setup_get_right_margin, function in GtkPageSetup
gtk_page_setup_get_top_margin, function in GtkPageSetup
gtk_page_setup_load_file, function in GtkPageSetup
gtk_page_setup_load_key_file, function in GtkPageSetup
gtk_page_setup_new, function in GtkPageSetup
gtk_page_setup_new_from_file, function in GtkPageSetup
gtk_page_setup_new_from_gvariant, function in GtkPageSetup
gtk_page_setup_new_from_key_file, function in GtkPageSetup
gtk_page_setup_set_bottom_margin, function in GtkPageSetup
gtk_page_setup_set_left_margin, function in GtkPageSetup
gtk_page_setup_set_orientation, function in GtkPageSetup
gtk_page_setup_set_paper_size, function in GtkPageSetup
gtk_page_setup_set_paper_size_and_default_margins, function in GtkPageSetup
gtk_page_setup_set_right_margin, function in GtkPageSetup
gtk_page_setup_set_top_margin, function in GtkPageSetup
gtk_page_setup_to_file, function in GtkPageSetup
gtk_page_setup_to_gvariant, function in GtkPageSetup
gtk_page_setup_to_key_file, function in GtkPageSetup
gtk_page_setup_unix_dialog_get_page_setup, function in GtkPageSetupUnixDialog
gtk_page_setup_unix_dialog_get_print_settings, function in GtkPageSetupUnixDialog
gtk_page_setup_unix_dialog_new, function in GtkPageSetupUnixDialog
gtk_page_setup_unix_dialog_set_page_setup, function in GtkPageSetupUnixDialog
gtk_page_setup_unix_dialog_set_print_settings, function in GtkPageSetupUnixDialog
GtkPanDirection, enum in GtkGesturePan
GtkPaned, struct in GtkPaned
GtkPaned::accept-position, object signal in GtkPaned
GtkPaned::cancel-position, object signal in GtkPaned
GtkPaned::cycle-child-focus, object signal in GtkPaned
GtkPaned::cycle-handle-focus, object signal in GtkPaned
GtkPaned::move-handle, object signal in GtkPaned
GtkPaned::toggle-handle-focus, object signal in GtkPaned
GtkPaned:end-child, object property in GtkPaned
GtkPaned:max-position, object property in GtkPaned
GtkPaned:min-position, object property in GtkPaned
GtkPaned:position, object property in GtkPaned
GtkPaned:position-set, object property in GtkPaned
GtkPaned:resize-end-child, object property in GtkPaned
GtkPaned:resize-start-child, object property in GtkPaned
GtkPaned:shrink-end-child, object property in GtkPaned
GtkPaned:shrink-start-child, object property in GtkPaned
GtkPaned:start-child, object property in GtkPaned
GtkPaned:wide-handle, object property in GtkPaned
gtk_paned_get_end_child, function in GtkPaned
gtk_paned_get_position, function in GtkPaned
gtk_paned_get_resize_end_child, function in GtkPaned
gtk_paned_get_resize_start_child, function in GtkPaned
gtk_paned_get_shrink_end_child, function in GtkPaned
gtk_paned_get_shrink_start_child, function in GtkPaned
gtk_paned_get_start_child, function in GtkPaned
gtk_paned_get_wide_handle, function in GtkPaned
gtk_paned_new, function in GtkPaned
gtk_paned_set_end_child, function in GtkPaned
gtk_paned_set_position, function in GtkPaned
gtk_paned_set_resize_end_child, function in GtkPaned
gtk_paned_set_resize_start_child, function in GtkPaned
gtk_paned_set_shrink_end_child, function in GtkPaned
gtk_paned_set_shrink_start_child, function in GtkPaned
gtk_paned_set_start_child, function in GtkPaned
gtk_paned_set_wide_handle, function in GtkPaned
GtkPaperSize, struct in GtkPaperSize
GTK_PAPER_NAME_A3, macro in GtkPaperSize
GTK_PAPER_NAME_A4, macro in GtkPaperSize
GTK_PAPER_NAME_A5, macro in GtkPaperSize
GTK_PAPER_NAME_B5, macro in GtkPaperSize
GTK_PAPER_NAME_EXECUTIVE, macro in GtkPaperSize
GTK_PAPER_NAME_LEGAL, macro in GtkPaperSize
GTK_PAPER_NAME_LETTER, macro in GtkPaperSize
gtk_paper_size_copy, function in GtkPaperSize
gtk_paper_size_free, function in GtkPaperSize
gtk_paper_size_get_default, function in GtkPaperSize
gtk_paper_size_get_default_bottom_margin, function in GtkPaperSize
gtk_paper_size_get_default_left_margin, function in GtkPaperSize
gtk_paper_size_get_default_right_margin, function in GtkPaperSize
gtk_paper_size_get_default_top_margin, function in GtkPaperSize
gtk_paper_size_get_display_name, function in GtkPaperSize
gtk_paper_size_get_height, function in GtkPaperSize
gtk_paper_size_get_name, function in GtkPaperSize
gtk_paper_size_get_paper_sizes, function in GtkPaperSize
gtk_paper_size_get_ppd_name, function in GtkPaperSize
gtk_paper_size_get_width, function in GtkPaperSize
gtk_paper_size_is_custom, function in GtkPaperSize
gtk_paper_size_is_equal, function in GtkPaperSize
gtk_paper_size_is_ipp, function in GtkPaperSize
gtk_paper_size_new, function in GtkPaperSize
gtk_paper_size_new_custom, function in GtkPaperSize
gtk_paper_size_new_from_gvariant, function in GtkPaperSize
gtk_paper_size_new_from_ipp, function in GtkPaperSize
gtk_paper_size_new_from_key_file, function in GtkPaperSize
gtk_paper_size_new_from_ppd, function in GtkPaperSize
gtk_paper_size_set_size, function in GtkPaperSize
gtk_paper_size_to_gvariant, function in GtkPaperSize
gtk_paper_size_to_key_file, function in GtkPaperSize
GtkParamSpecExpression, struct in GtkExpression
gtk_param_spec_expression, function in GtkExpression
GtkPasswordEntry, struct in GtkPasswordEntry
GtkPasswordEntry:activates-default, object property in GtkPasswordEntry
GtkPasswordEntry:extra-menu, object property in GtkPasswordEntry
GtkPasswordEntry:placeholder-text, object property in GtkPasswordEntry
GtkPasswordEntry:show-peek-icon, object property in GtkPasswordEntry
gtk_password_entry_get_extra_menu, function in GtkPasswordEntry
gtk_password_entry_get_show_peek_icon, function in GtkPasswordEntry
gtk_password_entry_new, function in GtkPasswordEntry
gtk_password_entry_set_extra_menu, function in GtkPasswordEntry
gtk_password_entry_set_show_peek_icon, function in GtkPasswordEntry
GtkPickFlags, enum in GtkWidget
GtkPicture, struct in GtkPicture
GtkPicture:alternative-text, object property in GtkPicture
GtkPicture:can-shrink, object property in GtkPicture
GtkPicture:file, object property in GtkPicture
GtkPicture:keep-aspect-ratio, object property in GtkPicture
GtkPicture:paintable, object property in GtkPicture
gtk_picture_get_alternative_text, function in GtkPicture
gtk_picture_get_can_shrink, function in GtkPicture
gtk_picture_get_file, function in GtkPicture
gtk_picture_get_keep_aspect_ratio, function in GtkPicture
gtk_picture_get_paintable, function in GtkPicture
gtk_picture_new, function in GtkPicture
gtk_picture_new_for_file, function in GtkPicture
gtk_picture_new_for_filename, function in GtkPicture
gtk_picture_new_for_paintable, function in GtkPicture
gtk_picture_new_for_pixbuf, function in GtkPicture
gtk_picture_new_for_resource, function in GtkPicture
gtk_picture_set_alternative_text, function in GtkPicture
gtk_picture_set_can_shrink, function in GtkPicture
gtk_picture_set_file, function in GtkPicture
gtk_picture_set_filename, function in GtkPicture
gtk_picture_set_keep_aspect_ratio, function in GtkPicture
gtk_picture_set_paintable, function in GtkPicture
gtk_picture_set_pixbuf, function in GtkPicture
gtk_picture_set_resource, function in GtkPicture
GtkPolicyType, enum in GtkScrolledWindow
GtkPopover, struct in GtkPopover
GtkPopover::activate-default, object signal in GtkPopover
GtkPopover::closed, object signal in GtkPopover
GtkPopover:autohide, object property in GtkPopover
GtkPopover:child, object property in GtkPopover
GtkPopover:default-widget, object property in GtkPopover
GtkPopover:has-arrow, object property in GtkPopover
GtkPopover:mnemonics-visible, object property in GtkPopover
GtkPopover:pointing-to, object property in GtkPopover
GtkPopover:position, object property in GtkPopover
GtkPopoverMenu, struct in GtkPopoverMenu
GtkPopoverMenu:menu-model, object property in GtkPopoverMenu
GtkPopoverMenu:visible-submenu, object property in GtkPopoverMenu
GtkPopoverMenuBar, struct in GtkPopoverMenuBar
GtkPopoverMenuBar:menu-model, object property in GtkPopoverMenuBar
GtkPopoverMenuFlags, enum in GtkPopoverMenu
gtk_popover_get_autohide, function in GtkPopover
gtk_popover_get_child, function in GtkPopover
gtk_popover_get_has_arrow, function in GtkPopover
gtk_popover_get_pointing_to, function in GtkPopover
gtk_popover_get_position, function in GtkPopover
gtk_popover_menu_bar_get_menu_model, function in GtkPopoverMenuBar
gtk_popover_menu_bar_new_from_model, function in GtkPopoverMenuBar
gtk_popover_menu_bar_set_menu_model, function in GtkPopoverMenuBar
gtk_popover_menu_get_menu_model, function in GtkPopoverMenu
gtk_popover_menu_new_from_model, function in GtkPopoverMenu
gtk_popover_menu_new_from_model_full, function in GtkPopoverMenu
gtk_popover_menu_set_menu_model, function in GtkPopoverMenu
gtk_popover_new, function in GtkPopover
gtk_popover_popdown, function in GtkPopover
gtk_popover_popup, function in GtkPopover
gtk_popover_set_autohide, function in GtkPopover
gtk_popover_set_child, function in GtkPopover
gtk_popover_set_default_widget, function in GtkPopover
gtk_popover_set_has_arrow, function in GtkPopover
gtk_popover_set_pointing_to, function in GtkPopover
gtk_popover_set_position, function in GtkPopover
GtkPositionType, enum in Standard Enumerations
GtkPrintBackend, struct in GtkPrinter
GtkPrintCapabilities, enum in GtkPrintUnixDialog
GtkPrintContext, struct in GtkPrintContext
GtkPrintDuplex, enum in GtkPrintSettings
GtkPrinter, struct in GtkPrinter
GtkPrinter::details-acquired, object signal in GtkPrinter
GtkPrinter:accepting-jobs, object property in GtkPrinter
GtkPrinter:accepts-pdf, object property in GtkPrinter
GtkPrinter:accepts-ps, object property in GtkPrinter
GtkPrinter:backend, object property in GtkPrinter
GtkPrinter:icon-name, object property in GtkPrinter
GtkPrinter:is-virtual, object property in GtkPrinter
GtkPrinter:job-count, object property in GtkPrinter
GtkPrinter:location, object property in GtkPrinter
GtkPrinter:name, object property in GtkPrinter
GtkPrinter:paused, object property in GtkPrinter
GtkPrinter:state-message, object property in GtkPrinter
GtkPrinterFunc, user_function in GtkPrinter
GtkPrintError, enum in High-level Printing API
gtk_printer_accepts_pdf, function in GtkPrinter
gtk_printer_accepts_ps, function in GtkPrinter
gtk_printer_compare, function in GtkPrinter
gtk_printer_get_backend, function in GtkPrinter
gtk_printer_get_capabilities, function in GtkPrinter
gtk_printer_get_default_page_size, function in GtkPrinter
gtk_printer_get_description, function in GtkPrinter
gtk_printer_get_hard_margins, function in GtkPrinter
gtk_printer_get_hard_margins_for_paper_size, function in GtkPrinter
gtk_printer_get_icon_name, function in GtkPrinter
gtk_printer_get_job_count, function in GtkPrinter
gtk_printer_get_location, function in GtkPrinter
gtk_printer_get_name, function in GtkPrinter
gtk_printer_get_state_message, function in GtkPrinter
gtk_printer_has_details, function in GtkPrinter
gtk_printer_is_accepting_jobs, function in GtkPrinter
gtk_printer_is_active, function in GtkPrinter
gtk_printer_is_default, function in GtkPrinter
gtk_printer_is_paused, function in GtkPrinter
gtk_printer_is_virtual, function in GtkPrinter
gtk_printer_list_papers, function in GtkPrinter
gtk_printer_new, function in GtkPrinter
gtk_printer_request_details, function in GtkPrinter
GtkPrintJob, struct in GtkPrintJob
GtkPrintJob::status-changed, object signal in GtkPrintJob
GtkPrintJob:page-setup, object property in GtkPrintJob
GtkPrintJob:printer, object property in GtkPrintJob
GtkPrintJob:settings, object property in GtkPrintJob
GtkPrintJob:title, object property in GtkPrintJob
GtkPrintJob:track-print-status, object property in GtkPrintJob
GtkPrintJobCompleteFunc, user_function in GtkPrintJob
GtkPrintOperation, struct in High-level Printing API
GtkPrintOperation::begin-print, object signal in High-level Printing API
GtkPrintOperation::create-custom-widget, object signal in High-level Printing API
GtkPrintOperation::custom-widget-apply, object signal in High-level Printing API
GtkPrintOperation::done, object signal in High-level Printing API
GtkPrintOperation::draw-page, object signal in High-level Printing API
GtkPrintOperation::end-print, object signal in High-level Printing API
GtkPrintOperation::paginate, object signal in High-level Printing API
GtkPrintOperation::preview, object signal in High-level Printing API
GtkPrintOperation::request-page-setup, object signal in High-level Printing API
GtkPrintOperation::status-changed, object signal in High-level Printing API
GtkPrintOperation::update-custom-widget, object signal in High-level Printing API
GtkPrintOperation:allow-async, object property in High-level Printing API
GtkPrintOperation:current-page, object property in High-level Printing API
GtkPrintOperation:custom-tab-label, object property in High-level Printing API
GtkPrintOperation:default-page-setup, object property in High-level Printing API
GtkPrintOperation:embed-page-setup, object property in High-level Printing API
GtkPrintOperation:export-filename, object property in High-level Printing API
GtkPrintOperation:has-selection, object property in High-level Printing API
GtkPrintOperation:job-name, object property in High-level Printing API
GtkPrintOperation:n-pages, object property in High-level Printing API
GtkPrintOperation:n-pages-to-print, object property in High-level Printing API
GtkPrintOperation:print-settings, object property in High-level Printing API
GtkPrintOperation:show-progress, object property in High-level Printing API
GtkPrintOperation:status, object property in High-level Printing API
GtkPrintOperation:status-string, object property in High-level Printing API
GtkPrintOperation:support-selection, object property in High-level Printing API
GtkPrintOperation:track-print-status, object property in High-level Printing API
GtkPrintOperation:unit, object property in High-level Printing API
GtkPrintOperation:use-full-page, object property in High-level Printing API
GtkPrintOperationAction, enum in High-level Printing API
GtkPrintOperationClass, struct in High-level Printing API
GtkPrintOperationPreview, struct in High-level Printing API
GtkPrintOperationPreview::got-page-size, object signal in High-level Printing API
GtkPrintOperationPreview::ready, object signal in High-level Printing API
GtkPrintOperationResult, enum in High-level Printing API
GtkPrintPages, enum in GtkPrintSettings
GtkPrintQuality, enum in GtkPrintSettings
GtkPrintSettings, struct in GtkPrintSettings
GtkPrintSettingsFunc, user_function in GtkPrintSettings
GtkPrintStatus, enum in High-level Printing API
GtkPrintUnixDialog, struct in GtkPrintUnixDialog
GtkPrintUnixDialog:current-page, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:embed-page-setup, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:has-selection, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:manual-capabilities, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:page-setup, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:print-settings, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:selected-printer, object property in GtkPrintUnixDialog
GtkPrintUnixDialog:support-selection, object property in GtkPrintUnixDialog
gtk_print_context_create_pango_context, function in GtkPrintContext
gtk_print_context_create_pango_layout, function in GtkPrintContext
gtk_print_context_get_cairo_context, function in GtkPrintContext
gtk_print_context_get_dpi_x, function in GtkPrintContext
gtk_print_context_get_dpi_y, function in GtkPrintContext
gtk_print_context_get_hard_margins, function in GtkPrintContext
gtk_print_context_get_height, function in GtkPrintContext
gtk_print_context_get_page_setup, function in GtkPrintContext
gtk_print_context_get_pango_fontmap, function in GtkPrintContext
gtk_print_context_get_width, function in GtkPrintContext
gtk_print_context_set_cairo_context, function in GtkPrintContext
GTK_PRINT_ERROR, macro in High-level Printing API
gtk_print_job_get_collate, function in GtkPrintJob
gtk_print_job_get_num_copies, function in GtkPrintJob
gtk_print_job_get_n_up, function in GtkPrintJob
gtk_print_job_get_n_up_layout, function in GtkPrintJob
gtk_print_job_get_pages, function in GtkPrintJob
gtk_print_job_get_page_ranges, function in GtkPrintJob
gtk_print_job_get_page_set, function in GtkPrintJob
gtk_print_job_get_printer, function in GtkPrintJob
gtk_print_job_get_reverse, function in GtkPrintJob
gtk_print_job_get_rotate, function in GtkPrintJob
gtk_print_job_get_scale, function in GtkPrintJob
gtk_print_job_get_settings, function in GtkPrintJob
gtk_print_job_get_status, function in GtkPrintJob
gtk_print_job_get_surface, function in GtkPrintJob
gtk_print_job_get_title, function in GtkPrintJob
gtk_print_job_get_track_print_status, function in GtkPrintJob
gtk_print_job_new, function in GtkPrintJob
gtk_print_job_send, function in GtkPrintJob
gtk_print_job_set_collate, function in GtkPrintJob
gtk_print_job_set_num_copies, function in GtkPrintJob
gtk_print_job_set_n_up, function in GtkPrintJob
gtk_print_job_set_n_up_layout, function in GtkPrintJob
gtk_print_job_set_pages, function in GtkPrintJob
gtk_print_job_set_page_ranges, function in GtkPrintJob
gtk_print_job_set_page_set, function in GtkPrintJob
gtk_print_job_set_reverse, function in GtkPrintJob
gtk_print_job_set_rotate, function in GtkPrintJob
gtk_print_job_set_scale, function in GtkPrintJob
gtk_print_job_set_source_fd, function in GtkPrintJob
gtk_print_job_set_source_file, function in GtkPrintJob
gtk_print_job_set_track_print_status, function in GtkPrintJob
gtk_print_operation_cancel, function in High-level Printing API
gtk_print_operation_draw_page_finish, function in High-level Printing API
gtk_print_operation_get_default_page_setup, function in High-level Printing API
gtk_print_operation_get_embed_page_setup, function in High-level Printing API
gtk_print_operation_get_error, function in High-level Printing API
gtk_print_operation_get_has_selection, function in High-level Printing API
gtk_print_operation_get_n_pages_to_print, function in High-level Printing API
gtk_print_operation_get_print_settings, function in High-level Printing API
gtk_print_operation_get_status, function in High-level Printing API
gtk_print_operation_get_status_string, function in High-level Printing API
gtk_print_operation_get_support_selection, function in High-level Printing API
gtk_print_operation_is_finished, function in High-level Printing API
gtk_print_operation_new, function in High-level Printing API
gtk_print_operation_preview_end_preview, function in High-level Printing API
gtk_print_operation_preview_is_selected, function in High-level Printing API
gtk_print_operation_preview_render_page, function in High-level Printing API
gtk_print_operation_run, function in High-level Printing API
gtk_print_operation_set_allow_async, function in High-level Printing API
gtk_print_operation_set_current_page, function in High-level Printing API
gtk_print_operation_set_custom_tab_label, function in High-level Printing API
gtk_print_operation_set_default_page_setup, function in High-level Printing API
gtk_print_operation_set_defer_drawing, function in High-level Printing API
gtk_print_operation_set_embed_page_setup, function in High-level Printing API
gtk_print_operation_set_export_filename, function in High-level Printing API
gtk_print_operation_set_has_selection, function in High-level Printing API
gtk_print_operation_set_job_name, function in High-level Printing API
gtk_print_operation_set_n_pages, function in High-level Printing API
gtk_print_operation_set_print_settings, function in High-level Printing API
gtk_print_operation_set_show_progress, function in High-level Printing API
gtk_print_operation_set_support_selection, function in High-level Printing API
gtk_print_operation_set_track_print_status, function in High-level Printing API
gtk_print_operation_set_unit, function in High-level Printing API
gtk_print_operation_set_use_full_page, function in High-level Printing API
gtk_print_run_page_setup_dialog, function in High-level Printing API
gtk_print_run_page_setup_dialog_async, function in High-level Printing API
GTK_PRINT_SETTINGS_COLLATE, macro in GtkPrintSettings
gtk_print_settings_copy, function in GtkPrintSettings
GTK_PRINT_SETTINGS_DEFAULT_SOURCE, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_DITHER, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_DUPLEX, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_FINISHINGS, macro in GtkPrintSettings
gtk_print_settings_foreach, function in GtkPrintSettings
gtk_print_settings_get, function in GtkPrintSettings
gtk_print_settings_get_bool, function in GtkPrintSettings
gtk_print_settings_get_collate, function in GtkPrintSettings
gtk_print_settings_get_default_source, function in GtkPrintSettings
gtk_print_settings_get_dither, function in GtkPrintSettings
gtk_print_settings_get_double, function in GtkPrintSettings
gtk_print_settings_get_double_with_default, function in GtkPrintSettings
gtk_print_settings_get_duplex, function in GtkPrintSettings
gtk_print_settings_get_finishings, function in GtkPrintSettings
gtk_print_settings_get_int, function in GtkPrintSettings
gtk_print_settings_get_int_with_default, function in GtkPrintSettings
gtk_print_settings_get_length, function in GtkPrintSettings
gtk_print_settings_get_media_type, function in GtkPrintSettings
gtk_print_settings_get_number_up, function in GtkPrintSettings
gtk_print_settings_get_number_up_layout, function in GtkPrintSettings
gtk_print_settings_get_n_copies, function in GtkPrintSettings
gtk_print_settings_get_orientation, function in GtkPrintSettings
gtk_print_settings_get_output_bin, function in GtkPrintSettings
gtk_print_settings_get_page_ranges, function in GtkPrintSettings
gtk_print_settings_get_page_set, function in GtkPrintSettings
gtk_print_settings_get_paper_height, function in GtkPrintSettings
gtk_print_settings_get_paper_size, function in GtkPrintSettings
gtk_print_settings_get_paper_width, function in GtkPrintSettings
gtk_print_settings_get_printer, function in GtkPrintSettings
gtk_print_settings_get_printer_lpi, function in GtkPrintSettings
gtk_print_settings_get_print_pages, function in GtkPrintSettings
gtk_print_settings_get_quality, function in GtkPrintSettings
gtk_print_settings_get_resolution, function in GtkPrintSettings
gtk_print_settings_get_resolution_x, function in GtkPrintSettings
gtk_print_settings_get_resolution_y, function in GtkPrintSettings
gtk_print_settings_get_reverse, function in GtkPrintSettings
gtk_print_settings_get_scale, function in GtkPrintSettings
gtk_print_settings_get_use_color, function in GtkPrintSettings
gtk_print_settings_has_key, function in GtkPrintSettings
gtk_print_settings_load_file, function in GtkPrintSettings
gtk_print_settings_load_key_file, function in GtkPrintSettings
GTK_PRINT_SETTINGS_MEDIA_TYPE, macro in GtkPrintSettings
gtk_print_settings_new, function in GtkPrintSettings
gtk_print_settings_new_from_file, function in GtkPrintSettings
gtk_print_settings_new_from_gvariant, function in GtkPrintSettings
gtk_print_settings_new_from_key_file, function in GtkPrintSettings
GTK_PRINT_SETTINGS_NUMBER_UP, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_N_COPIES, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_ORIENTATION, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_OUTPUT_BASENAME, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_OUTPUT_BIN, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_OUTPUT_DIR, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_OUTPUT_URI, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PAGE_RANGES, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PAGE_SET, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PAPER_FORMAT, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PAPER_HEIGHT, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PAPER_WIDTH, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PRINTER, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PRINTER_LPI, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_PRINT_PAGES, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_QUALITY, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_RESOLUTION, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_RESOLUTION_X, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_RESOLUTION_Y, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_REVERSE, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_SCALE, macro in GtkPrintSettings
gtk_print_settings_set, function in GtkPrintSettings
gtk_print_settings_set_bool, function in GtkPrintSettings
gtk_print_settings_set_collate, function in GtkPrintSettings
gtk_print_settings_set_default_source, function in GtkPrintSettings
gtk_print_settings_set_dither, function in GtkPrintSettings
gtk_print_settings_set_double, function in GtkPrintSettings
gtk_print_settings_set_duplex, function in GtkPrintSettings
gtk_print_settings_set_finishings, function in GtkPrintSettings
gtk_print_settings_set_int, function in GtkPrintSettings
gtk_print_settings_set_length, function in GtkPrintSettings
gtk_print_settings_set_media_type, function in GtkPrintSettings
gtk_print_settings_set_number_up, function in GtkPrintSettings
gtk_print_settings_set_number_up_layout, function in GtkPrintSettings
gtk_print_settings_set_n_copies, function in GtkPrintSettings
gtk_print_settings_set_orientation, function in GtkPrintSettings
gtk_print_settings_set_output_bin, function in GtkPrintSettings
gtk_print_settings_set_page_ranges, function in GtkPrintSettings
gtk_print_settings_set_page_set, function in GtkPrintSettings
gtk_print_settings_set_paper_height, function in GtkPrintSettings
gtk_print_settings_set_paper_size, function in GtkPrintSettings
gtk_print_settings_set_paper_width, function in GtkPrintSettings
gtk_print_settings_set_printer, function in GtkPrintSettings
gtk_print_settings_set_printer_lpi, function in GtkPrintSettings
gtk_print_settings_set_print_pages, function in GtkPrintSettings
gtk_print_settings_set_quality, function in GtkPrintSettings
gtk_print_settings_set_resolution, function in GtkPrintSettings
gtk_print_settings_set_resolution_xy, function in GtkPrintSettings
gtk_print_settings_set_reverse, function in GtkPrintSettings
gtk_print_settings_set_scale, function in GtkPrintSettings
gtk_print_settings_set_use_color, function in GtkPrintSettings
gtk_print_settings_to_file, function in GtkPrintSettings
gtk_print_settings_to_gvariant, function in GtkPrintSettings
gtk_print_settings_to_key_file, function in GtkPrintSettings
gtk_print_settings_unset, function in GtkPrintSettings
GTK_PRINT_SETTINGS_USE_COLOR, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA, macro in GtkPrintSettings
GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION, macro in GtkPrintSettings
gtk_print_unix_dialog_add_custom_tab, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_current_page, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_embed_page_setup, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_has_selection, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_manual_capabilities, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_page_setup, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_page_setup_set, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_selected_printer, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_settings, function in GtkPrintUnixDialog
gtk_print_unix_dialog_get_support_selection, function in GtkPrintUnixDialog
gtk_print_unix_dialog_new, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_current_page, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_embed_page_setup, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_has_selection, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_manual_capabilities, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_page_setup, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_settings, function in GtkPrintUnixDialog
gtk_print_unix_dialog_set_support_selection, function in GtkPrintUnixDialog
GTK_PRIORITY_RESIZE, macro in General
GtkProgressBar, struct in GtkProgressBar
GtkProgressBar:ellipsize, object property in GtkProgressBar
GtkProgressBar:fraction, object property in GtkProgressBar
GtkProgressBar:inverted, object property in GtkProgressBar
GtkProgressBar:pulse-step, object property in GtkProgressBar
GtkProgressBar:show-text, object property in GtkProgressBar
GtkProgressBar:text, object property in GtkProgressBar
gtk_progress_bar_get_ellipsize, function in GtkProgressBar
gtk_progress_bar_get_fraction, function in GtkProgressBar
gtk_progress_bar_get_inverted, function in GtkProgressBar
gtk_progress_bar_get_pulse_step, function in GtkProgressBar
gtk_progress_bar_get_show_text, function in GtkProgressBar
gtk_progress_bar_get_text, function in GtkProgressBar
gtk_progress_bar_new, function in GtkProgressBar
gtk_progress_bar_pulse, function in GtkProgressBar
gtk_progress_bar_set_ellipsize, function in GtkProgressBar
gtk_progress_bar_set_fraction, function in GtkProgressBar
gtk_progress_bar_set_inverted, function in GtkProgressBar
gtk_progress_bar_set_pulse_step, function in GtkProgressBar
gtk_progress_bar_set_show_text, function in GtkProgressBar
gtk_progress_bar_set_text, function in GtkProgressBar
GtkPropagationLimit, enum in GtkEventController
GtkPropagationPhase, enum in GtkEventController
gtk_property_expression_get_expression, function in GtkExpression
gtk_property_expression_get_pspec, function in GtkExpression
gtk_property_expression_new, function in GtkExpression
gtk_property_expression_new_for_pspec, function in GtkExpression

R

GtkRadioButton, struct in GtkRadioButton
GtkRadioButton::group-changed, object signal in GtkRadioButton
GtkRadioButton:group, object property in GtkRadioButton
gtk_radio_button_get_group, function in GtkRadioButton
gtk_radio_button_join_group, function in GtkRadioButton
gtk_radio_button_new, function in GtkRadioButton
gtk_radio_button_new_from_widget, function in GtkRadioButton
gtk_radio_button_new_with_label, function in GtkRadioButton
gtk_radio_button_new_with_label_from_widget, function in GtkRadioButton
gtk_radio_button_new_with_mnemonic, function in GtkRadioButton
gtk_radio_button_new_with_mnemonic_from_widget, function in GtkRadioButton
gtk_radio_button_set_group, function in GtkRadioButton
GtkRange, struct in GtkRange
GtkRange::adjust-bounds, object signal in GtkRange
GtkRange::change-value, object signal in GtkRange
GtkRange::move-slider, object signal in GtkRange
GtkRange::value-changed, object signal in GtkRange
GtkRange:adjustment, object property in GtkRange
GtkRange:fill-level, object property in GtkRange
GtkRange:inverted, object property in GtkRange
GtkRange:restrict-to-fill-level, object property in GtkRange
GtkRange:round-digits, object property in GtkRange
GtkRange:show-fill-level, object property in GtkRange
gtk_range_get_adjustment, function in GtkRange
gtk_range_get_fill_level, function in GtkRange
gtk_range_get_flippable, function in GtkRange
gtk_range_get_inverted, function in GtkRange
gtk_range_get_range_rect, function in GtkRange
gtk_range_get_restrict_to_fill_level, function in GtkRange
gtk_range_get_round_digits, function in GtkRange
gtk_range_get_show_fill_level, function in GtkRange
gtk_range_get_slider_range, function in GtkRange
gtk_range_get_slider_size_fixed, function in GtkRange
gtk_range_get_value, function in GtkRange
gtk_range_set_adjustment, function in GtkRange
gtk_range_set_fill_level, function in GtkRange
gtk_range_set_flippable, function in GtkRange
gtk_range_set_increments, function in GtkRange
gtk_range_set_inverted, function in GtkRange
gtk_range_set_range, function in GtkRange
gtk_range_set_restrict_to_fill_level, function in GtkRange
gtk_range_set_round_digits, function in GtkRange
gtk_range_set_show_fill_level, function in GtkRange
gtk_range_set_slider_size_fixed, function in GtkRange
gtk_range_set_value, function in GtkRange
GtkRecentData, struct in GtkRecentManager
GtkRecentInfo, struct in GtkRecentManager
GtkRecentManager, struct in GtkRecentManager
GtkRecentManager::changed, object signal in GtkRecentManager
GtkRecentManager:filename, object property in GtkRecentManager
GtkRecentManager:size, object property in GtkRecentManager
GtkRecentManagerError, enum in GtkRecentManager
gtk_recent_info_create_app_info, function in GtkRecentManager
gtk_recent_info_exists, function in GtkRecentManager
gtk_recent_info_get_added, function in GtkRecentManager
gtk_recent_info_get_age, function in GtkRecentManager
gtk_recent_info_get_applications, function in GtkRecentManager
gtk_recent_info_get_application_info, function in GtkRecentManager
gtk_recent_info_get_description, function in GtkRecentManager
gtk_recent_info_get_display_name, function in GtkRecentManager
gtk_recent_info_get_gicon, function in GtkRecentManager
gtk_recent_info_get_groups, function in GtkRecentManager
gtk_recent_info_get_mime_type, function in GtkRecentManager
gtk_recent_info_get_modified, function in GtkRecentManager
gtk_recent_info_get_private_hint, function in GtkRecentManager
gtk_recent_info_get_short_name, function in GtkRecentManager
gtk_recent_info_get_uri, function in GtkRecentManager
gtk_recent_info_get_uri_display, function in GtkRecentManager
gtk_recent_info_get_visited, function in GtkRecentManager
gtk_recent_info_has_application, function in GtkRecentManager
gtk_recent_info_has_group, function in GtkRecentManager
gtk_recent_info_is_local, function in GtkRecentManager
gtk_recent_info_last_application, function in GtkRecentManager
gtk_recent_info_match, function in GtkRecentManager
gtk_recent_info_ref, function in GtkRecentManager
gtk_recent_info_unref, function in GtkRecentManager
gtk_recent_manager_add_full, function in GtkRecentManager
gtk_recent_manager_add_item, function in GtkRecentManager
GTK_RECENT_MANAGER_ERROR, macro in GtkRecentManager
gtk_recent_manager_get_default, function in GtkRecentManager
gtk_recent_manager_get_items, function in GtkRecentManager
gtk_recent_manager_has_item, function in GtkRecentManager
gtk_recent_manager_lookup_item, function in GtkRecentManager
gtk_recent_manager_move_item, function in GtkRecentManager
gtk_recent_manager_new, function in GtkRecentManager
gtk_recent_manager_purge_items, function in GtkRecentManager
gtk_recent_manager_remove_item, function in GtkRecentManager
gtk_render_activity, function in GtkStyleContext
gtk_render_arrow, function in GtkStyleContext
gtk_render_background, function in GtkStyleContext
gtk_render_check, function in GtkStyleContext
gtk_render_expander, function in GtkStyleContext
gtk_render_focus, function in GtkStyleContext
gtk_render_frame, function in GtkStyleContext
gtk_render_handle, function in GtkStyleContext
gtk_render_icon, function in GtkStyleContext
gtk_render_insertion_cursor, function in GtkStyleContext
gtk_render_layout, function in GtkStyleContext
gtk_render_line, function in GtkStyleContext
gtk_render_option, function in GtkStyleContext
GtkRequestedSize, struct in GtkWidget
GtkRequisition, struct in GtkWidget
gtk_requisition_copy, function in GtkWidget
gtk_requisition_free, function in GtkWidget
gtk_requisition_new, function in GtkWidget
GtkResponseType, enum in GtkDialog
GtkRevealer, struct in GtkRevealer
GtkRevealer:child, object property in GtkRevealer
GtkRevealer:child-revealed, object property in GtkRevealer
GtkRevealer:reveal-child, object property in GtkRevealer
GtkRevealer:transition-duration, object property in GtkRevealer
GtkRevealer:transition-type, object property in GtkRevealer
GtkRevealerTransitionType, enum in GtkRevealer
gtk_revealer_get_child, function in GtkRevealer
gtk_revealer_get_child_revealed, function in GtkRevealer
gtk_revealer_get_reveal_child, function in GtkRevealer
gtk_revealer_get_transition_duration, function in GtkRevealer
gtk_revealer_get_transition_type, function in GtkRevealer
gtk_revealer_new, function in GtkRevealer
gtk_revealer_set_child, function in GtkRevealer
gtk_revealer_set_reveal_child, function in GtkRevealer
gtk_revealer_set_transition_duration, function in GtkRevealer
gtk_revealer_set_transition_type, function in GtkRevealer
gtk_rgb_to_hsv, function in GtkColorChooser
GtkRoot, struct in GtkRoot
gtk_root_get_display, function in GtkRoot
gtk_root_get_focus, function in GtkRoot
gtk_root_set_focus, function in GtkRoot

S

GtkScale, struct in GtkScale
GtkScale:digits, object property in GtkScale
GtkScale:draw-value, object property in GtkScale
GtkScale:has-origin, object property in GtkScale
GtkScale:value-pos, object property in GtkScale
GtkScaleButton, struct in GtkScaleButton
GtkScaleButton::popdown, object signal in GtkScaleButton
GtkScaleButton::popup, object signal in GtkScaleButton
GtkScaleButton::value-changed, object signal in GtkScaleButton
GtkScaleButton:adjustment, object property in GtkScaleButton
GtkScaleButton:icons, object property in GtkScaleButton
GtkScaleButton:value, object property in GtkScaleButton
GtkScaleFormatValueFunc, user_function in GtkScale
gtk_scale_add_mark, function in GtkScale
gtk_scale_button_get_adjustment, function in GtkScaleButton
gtk_scale_button_get_minus_button, function in GtkScaleButton
gtk_scale_button_get_plus_button, function in GtkScaleButton
gtk_scale_button_get_popup, function in GtkScaleButton
gtk_scale_button_get_value, function in GtkScaleButton
gtk_scale_button_new, function in GtkScaleButton
gtk_scale_button_set_adjustment, function in GtkScaleButton
gtk_scale_button_set_icons, function in GtkScaleButton
gtk_scale_button_set_value, function in GtkScaleButton
gtk_scale_clear_marks, function in GtkScale
gtk_scale_get_digits, function in GtkScale
gtk_scale_get_draw_value, function in GtkScale
gtk_scale_get_has_origin, function in GtkScale
gtk_scale_get_layout, function in GtkScale
gtk_scale_get_layout_offsets, function in GtkScale
gtk_scale_get_value_pos, function in GtkScale
gtk_scale_new, function in GtkScale
gtk_scale_new_with_range, function in GtkScale
gtk_scale_set_digits, function in GtkScale
gtk_scale_set_draw_value, function in GtkScale
gtk_scale_set_format_value_func, function in GtkScale
gtk_scale_set_has_origin, function in GtkScale
gtk_scale_set_value_pos, function in GtkScale
GtkScrollable, struct in GtkScrollable
GtkScrollable:hadjustment, object property in GtkScrollable
GtkScrollable:hscroll-policy, object property in GtkScrollable
GtkScrollable:vadjustment, object property in GtkScrollable
GtkScrollable:vscroll-policy, object property in GtkScrollable
GtkScrollablePolicy, enum in GtkScrollable
gtk_scrollable_get_border, function in GtkScrollable
gtk_scrollable_get_hadjustment, function in GtkScrollable
gtk_scrollable_get_hscroll_policy, function in GtkScrollable
gtk_scrollable_get_vadjustment, function in GtkScrollable
gtk_scrollable_get_vscroll_policy, function in GtkScrollable
gtk_scrollable_set_hadjustment, function in GtkScrollable
gtk_scrollable_set_hscroll_policy, function in GtkScrollable
gtk_scrollable_set_vadjustment, function in GtkScrollable
gtk_scrollable_set_vscroll_policy, function in GtkScrollable
GtkScrollbar, struct in GtkScrollbar
GtkScrollbar:adjustment, object property in GtkScrollbar
gtk_scrollbar_get_adjustment, function in GtkScrollbar
gtk_scrollbar_new, function in GtkScrollbar
gtk_scrollbar_set_adjustment, function in GtkScrollbar
GtkScrolledWindow, struct in GtkScrolledWindow
GtkScrolledWindow::edge-overshot, object signal in GtkScrolledWindow
GtkScrolledWindow::edge-reached, object signal in GtkScrolledWindow
GtkScrolledWindow::move-focus-out, object signal in GtkScrolledWindow
GtkScrolledWindow::scroll-child, object signal in GtkScrolledWindow
GtkScrolledWindow:child, object property in GtkScrolledWindow
GtkScrolledWindow:hadjustment, object property in GtkScrolledWindow
GtkScrolledWindow:has-frame, object property in GtkScrolledWindow
GtkScrolledWindow:hscrollbar-policy, object property in GtkScrolledWindow
GtkScrolledWindow:kinetic-scrolling, object property in GtkScrolledWindow
GtkScrolledWindow:max-content-height, object property in GtkScrolledWindow
GtkScrolledWindow:max-content-width, object property in GtkScrolledWindow
GtkScrolledWindow:min-content-height, object property in GtkScrolledWindow
GtkScrolledWindow:min-content-width, object property in GtkScrolledWindow
GtkScrolledWindow:overlay-scrolling, object property in GtkScrolledWindow
GtkScrolledWindow:propagate-natural-height, object property in GtkScrolledWindow
GtkScrolledWindow:propagate-natural-width, object property in GtkScrolledWindow
GtkScrolledWindow:vadjustment, object property in GtkScrolledWindow
GtkScrolledWindow:vscrollbar-policy, object property in GtkScrolledWindow
GtkScrolledWindow:window-placement, object property in GtkScrolledWindow
gtk_scrolled_window_get_capture_button_press, function in GtkScrolledWindow
gtk_scrolled_window_get_child, function in GtkScrolledWindow
gtk_scrolled_window_get_hadjustment, function in GtkScrolledWindow
gtk_scrolled_window_get_has_frame, function in GtkScrolledWindow
gtk_scrolled_window_get_hscrollbar, function in GtkScrolledWindow
gtk_scrolled_window_get_kinetic_scrolling, function in GtkScrolledWindow
gtk_scrolled_window_get_max_content_height, function in GtkScrolledWindow
gtk_scrolled_window_get_max_content_width, function in GtkScrolledWindow
gtk_scrolled_window_get_min_content_height, function in GtkScrolledWindow
gtk_scrolled_window_get_min_content_width, function in GtkScrolledWindow
gtk_scrolled_window_get_overlay_scrolling, function in GtkScrolledWindow
gtk_scrolled_window_get_placement, function in GtkScrolledWindow
gtk_scrolled_window_get_policy, function in GtkScrolledWindow
gtk_scrolled_window_get_propagate_natural_height, function in GtkScrolledWindow
gtk_scrolled_window_get_propagate_natural_width, function in GtkScrolledWindow
gtk_scrolled_window_get_vadjustment, function in GtkScrolledWindow
gtk_scrolled_window_get_vscrollbar, function in GtkScrolledWindow
gtk_scrolled_window_new, function in GtkScrolledWindow
gtk_scrolled_window_set_capture_button_press, function in GtkScrolledWindow
gtk_scrolled_window_set_child, function in GtkScrolledWindow
gtk_scrolled_window_set_hadjustment, function in GtkScrolledWindow
gtk_scrolled_window_set_has_frame, function in GtkScrolledWindow
gtk_scrolled_window_set_kinetic_scrolling, function in GtkScrolledWindow
gtk_scrolled_window_set_max_content_height, function in GtkScrolledWindow
gtk_scrolled_window_set_max_content_width, function in GtkScrolledWindow
gtk_scrolled_window_set_min_content_height, function in GtkScrolledWindow
gtk_scrolled_window_set_min_content_width, function in GtkScrolledWindow
gtk_scrolled_window_set_overlay_scrolling, function in GtkScrolledWindow
gtk_scrolled_window_set_placement, function in GtkScrolledWindow
gtk_scrolled_window_set_policy, function in GtkScrolledWindow
gtk_scrolled_window_set_propagate_natural_height, function in GtkScrolledWindow
gtk_scrolled_window_set_propagate_natural_width, function in GtkScrolledWindow
gtk_scrolled_window_set_vadjustment, function in GtkScrolledWindow
gtk_scrolled_window_unset_placement, function in GtkScrolledWindow
GtkScrollStep, enum in Standard Enumerations
GtkScrollType, enum in Standard Enumerations
GtkSearchBar, struct in GtkSearchBar
GtkSearchBar:child, object property in GtkSearchBar
GtkSearchBar:key-capture-widget, object property in GtkSearchBar
GtkSearchBar:search-mode-enabled, object property in GtkSearchBar
GtkSearchBar:show-close-button, object property in GtkSearchBar
GtkSearchEntry, struct in GtkSearchEntry
GtkSearchEntry::activate, object signal in GtkSearchEntry
GtkSearchEntry::next-match, object signal in GtkSearchEntry
GtkSearchEntry::previous-match, object signal in GtkSearchEntry
GtkSearchEntry::search-changed, object signal in GtkSearchEntry
GtkSearchEntry::search-started, object signal in GtkSearchEntry
GtkSearchEntry::stop-search, object signal in GtkSearchEntry
GtkSearchEntry:activates-default, object property in GtkSearchEntry
GtkSearchEntry:placeholder-text, object property in GtkSearchEntry
gtk_search_bar_connect_entry, function in GtkSearchBar
gtk_search_bar_get_child, function in GtkSearchBar
gtk_search_bar_get_key_capture_widget, function in GtkSearchBar
gtk_search_bar_get_search_mode, function in GtkSearchBar
gtk_search_bar_get_show_close_button, function in GtkSearchBar
gtk_search_bar_new, function in GtkSearchBar
gtk_search_bar_set_child, function in GtkSearchBar
gtk_search_bar_set_key_capture_widget, function in GtkSearchBar
gtk_search_bar_set_search_mode, function in GtkSearchBar
gtk_search_bar_set_show_close_button, function in GtkSearchBar
gtk_search_entry_get_key_capture_widget, function in GtkSearchEntry
gtk_search_entry_new, function in GtkSearchEntry
gtk_search_entry_set_key_capture_widget, function in GtkSearchEntry
GtkSelectionFilterModel, struct in GtkSelectionFilterModel
GtkSelectionFilterModel:model, object property in GtkSelectionFilterModel
GtkSelectionMode, enum in Standard Enumerations
GtkSelectionModel, struct in GtkSelectionModel
GtkSelectionModel::selection-changed, object signal in GtkSelectionModel
gtk_selection_filter_model_get_model, function in GtkSelectionFilterModel
gtk_selection_filter_model_new, function in GtkSelectionFilterModel
gtk_selection_filter_model_new_for_type, function in GtkSelectionFilterModel
gtk_selection_filter_model_set_model, function in GtkSelectionFilterModel
gtk_selection_model_get_selection, function in GtkSelectionModel
gtk_selection_model_get_selection_in_range, function in GtkSelectionModel
gtk_selection_model_is_selected, function in GtkSelectionModel
gtk_selection_model_selection_changed, function in GtkSelectionModel
gtk_selection_model_select_all, function in GtkSelectionModel
gtk_selection_model_select_item, function in GtkSelectionModel
gtk_selection_model_select_range, function in GtkSelectionModel
gtk_selection_model_set_selection, function in GtkSelectionModel
gtk_selection_model_unselect_all, function in GtkSelectionModel
gtk_selection_model_unselect_item, function in GtkSelectionModel
gtk_selection_model_unselect_range, function in GtkSelectionModel
GtkSensitivityType, enum in GtkComboBox
GtkSeparator, struct in GtkSeparator
gtk_separator_new, function in GtkSeparator
GtkSettings, struct in GtkSettings
GtkSettings:gtk-alternative-button-order, object property in GtkSettings
GtkSettings:gtk-alternative-sort-arrows, object property in GtkSettings
GtkSettings:gtk-application-prefer-dark-theme, object property in GtkSettings
GtkSettings:gtk-cursor-aspect-ratio, object property in GtkSettings
GtkSettings:gtk-cursor-blink, object property in GtkSettings
GtkSettings:gtk-cursor-blink-time, object property in GtkSettings
GtkSettings:gtk-cursor-blink-timeout, object property in GtkSettings
GtkSettings:gtk-cursor-theme-name, object property in GtkSettings
GtkSettings:gtk-cursor-theme-size, object property in GtkSettings
GtkSettings:gtk-decoration-layout, object property in GtkSettings
GtkSettings:gtk-dialogs-use-header, object property in GtkSettings
GtkSettings:gtk-dnd-drag-threshold, object property in GtkSettings
GtkSettings:gtk-double-click-distance, object property in GtkSettings
GtkSettings:gtk-double-click-time, object property in GtkSettings
GtkSettings:gtk-enable-accels, object property in GtkSettings
GtkSettings:gtk-enable-animations, object property in GtkSettings
GtkSettings:gtk-enable-event-sounds, object property in GtkSettings
GtkSettings:gtk-enable-input-feedback-sounds, object property in GtkSettings
GtkSettings:gtk-enable-primary-paste, object property in GtkSettings
GtkSettings:gtk-entry-password-hint-timeout, object property in GtkSettings
GtkSettings:gtk-entry-select-on-focus, object property in GtkSettings
GtkSettings:gtk-error-bell, object property in GtkSettings
GtkSettings:gtk-font-name, object property in GtkSettings
GtkSettings:gtk-fontconfig-timestamp, object property in GtkSettings
GtkSettings:gtk-icon-theme-name, object property in GtkSettings
GtkSettings:gtk-im-module, object property in GtkSettings
GtkSettings:gtk-keynav-use-caret, object property in GtkSettings
GtkSettings:gtk-label-select-on-focus, object property in GtkSettings
GtkSettings:gtk-long-press-time, object property in GtkSettings
GtkSettings:gtk-overlay-scrolling, object property in GtkSettings
GtkSettings:gtk-primary-button-warps-slider, object property in GtkSettings
GtkSettings:gtk-print-backends, object property in GtkSettings
GtkSettings:gtk-print-preview-command, object property in GtkSettings
GtkSettings:gtk-recent-files-enabled, object property in GtkSettings
GtkSettings:gtk-recent-files-max-age, object property in GtkSettings
GtkSettings:gtk-shell-shows-app-menu, object property in GtkSettings
GtkSettings:gtk-shell-shows-desktop, object property in GtkSettings
GtkSettings:gtk-shell-shows-menubar, object property in GtkSettings
GtkSettings:gtk-sound-theme-name, object property in GtkSettings
GtkSettings:gtk-split-cursor, object property in GtkSettings
GtkSettings:gtk-theme-name, object property in GtkSettings
GtkSettings:gtk-titlebar-double-click, object property in GtkSettings
GtkSettings:gtk-titlebar-middle-click, object property in GtkSettings
GtkSettings:gtk-titlebar-right-click, object property in GtkSettings
GtkSettings:gtk-xft-antialias, object property in GtkSettings
GtkSettings:gtk-xft-dpi, object property in GtkSettings
GtkSettings:gtk-xft-hinting, object property in GtkSettings
GtkSettings:gtk-xft-hintstyle, object property in GtkSettings
GtkSettings:gtk-xft-rgba, object property in GtkSettings
GtkSettingsValue, struct in GtkSettings
gtk_settings_get_default, function in GtkSettings
gtk_settings_get_for_display, function in GtkSettings
gtk_settings_reset_property, function in GtkSettings
GtkShortcut, struct in GtkShortcut
GtkShortcut:action, object property in GtkShortcut
GtkShortcut:arguments, object property in GtkShortcut
GtkShortcut:trigger, object property in GtkShortcut
GtkShortcutAction, struct in GtkShortcutAction
GtkShortcutActionFlags, enum in GtkShortcutAction
GtkShortcutController, struct in GtkShortcutController
GtkShortcutController:mnemonic-modifiers, object property in GtkShortcutController
GtkShortcutController:model, object property in GtkShortcutController
GtkShortcutController:scope, object property in GtkShortcutController
GtkShortcutFunc, user_function in GtkShortcutAction
GtkShortcutLabel, struct in GtkShortcutLabel
GtkShortcutLabel:accelerator, object property in GtkShortcutLabel
GtkShortcutLabel:disabled-text, object property in GtkShortcutLabel
GtkShortcutManager, struct in GtkShortcutController
GtkShortcutManagerInterface, struct in GtkShortcutController
GtkShortcutScope, enum in GtkShortcutController
GtkShortcutsGroup, struct in GtkShortcutsGroup
GtkShortcutsGroup:accel-size-group, object property in GtkShortcutsGroup
GtkShortcutsGroup:height, object property in GtkShortcutsGroup
GtkShortcutsGroup:title, object property in GtkShortcutsGroup
GtkShortcutsGroup:title-size-group, object property in GtkShortcutsGroup
GtkShortcutsGroup:view, object property in GtkShortcutsGroup
GtkShortcutsSection, struct in GtkShortcutsSection
GtkShortcutsSection::change-current-page, object signal in GtkShortcutsSection
GtkShortcutsSection:max-height, object property in GtkShortcutsSection
GtkShortcutsSection:section-name, object property in GtkShortcutsSection
GtkShortcutsSection:title, object property in GtkShortcutsSection
GtkShortcutsSection:view-name, object property in GtkShortcutsSection
GtkShortcutsShortcut, struct in GtkShortcutsShortcut
GtkShortcutsShortcut:accel-size-group, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:accelerator, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:action-name, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:direction, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:icon, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:icon-set, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:shortcut-type, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:subtitle, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:subtitle-set, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:title, object property in GtkShortcutsShortcut
GtkShortcutsShortcut:title-size-group, object property in GtkShortcutsShortcut
GtkShortcutsWindow, struct in GtkShortcutsWindow
GtkShortcutsWindow::close, object signal in GtkShortcutsWindow
GtkShortcutsWindow::search, object signal in GtkShortcutsWindow
GtkShortcutsWindow:section-name, object property in GtkShortcutsWindow
GtkShortcutsWindow:view-name, object property in GtkShortcutsWindow
GtkShortcutTrigger, struct in GtkShortcutTrigger
GtkShortcutType, enum in GtkShortcutsShortcut
gtk_shortcut_action_activate, function in GtkShortcutAction
gtk_shortcut_action_parse_string, function in GtkShortcutAction
gtk_shortcut_action_print, function in GtkShortcutAction
gtk_shortcut_action_to_string, function in GtkShortcutAction
gtk_shortcut_controller_add_shortcut, function in GtkShortcutController
gtk_shortcut_controller_get_mnemonics_modifiers, function in GtkShortcutController
gtk_shortcut_controller_get_scope, function in GtkShortcutController
gtk_shortcut_controller_new, function in GtkShortcutController
gtk_shortcut_controller_new_for_model, function in GtkShortcutController
gtk_shortcut_controller_remove_shortcut, function in GtkShortcutController
gtk_shortcut_controller_set_mnemonics_modifiers, function in GtkShortcutController
gtk_shortcut_controller_set_scope, function in GtkShortcutController
gtk_shortcut_get_action, function in GtkShortcut
gtk_shortcut_get_arguments, function in GtkShortcut
gtk_shortcut_get_trigger, function in GtkShortcut
gtk_shortcut_label_get_accelerator, function in GtkShortcutLabel
gtk_shortcut_label_get_disabled_text, function in GtkShortcutLabel
gtk_shortcut_label_new, function in GtkShortcutLabel
gtk_shortcut_label_set_accelerator, function in GtkShortcutLabel
gtk_shortcut_label_set_disabled_text, function in GtkShortcutLabel
gtk_shortcut_new, function in GtkShortcut
gtk_shortcut_new_with_arguments, function in GtkShortcut
gtk_shortcut_set_action, function in GtkShortcut
gtk_shortcut_set_arguments, function in GtkShortcut
gtk_shortcut_set_trigger, function in GtkShortcut
gtk_shortcut_trigger_compare, function in GtkShortcutTrigger
gtk_shortcut_trigger_equal, function in GtkShortcutTrigger
gtk_shortcut_trigger_hash, function in GtkShortcutTrigger
gtk_shortcut_trigger_parse_string, function in GtkShortcutTrigger
gtk_shortcut_trigger_print, function in GtkShortcutTrigger
gtk_shortcut_trigger_print_label, function in GtkShortcutTrigger
gtk_shortcut_trigger_to_label, function in GtkShortcutTrigger
gtk_shortcut_trigger_to_string, function in GtkShortcutTrigger
gtk_shortcut_trigger_trigger, function in GtkShortcutTrigger
gtk_show_about_dialog, function in GtkAboutDialog
gtk_show_uri, function in Filesystem utilities
gtk_show_uri_full, function in Filesystem utilities
gtk_show_uri_full_finish, function in Filesystem utilities
GtkSignalAction, struct in GtkShortcutAction
GtkSignalListItemFactory, struct in GtkSignalListItemFactory
GtkSignalListItemFactory::bind, object signal in GtkSignalListItemFactory
GtkSignalListItemFactory::setup, object signal in GtkSignalListItemFactory
GtkSignalListItemFactory::teardown, object signal in GtkSignalListItemFactory
GtkSignalListItemFactory::unbind, object signal in GtkSignalListItemFactory
gtk_signal_action_get_signal_name, function in GtkShortcutAction
gtk_signal_action_new, function in GtkShortcutAction
gtk_signal_list_item_factory_new, function in GtkSignalListItemFactory
GtkSingleSelection, struct in GtkSingleSelection
GtkSingleSelection:autoselect, object property in GtkSingleSelection
GtkSingleSelection:can-unselect, object property in GtkSingleSelection
GtkSingleSelection:model, object property in GtkSingleSelection
GtkSingleSelection:selected, object property in GtkSingleSelection
GtkSingleSelection:selected-item, object property in GtkSingleSelection
gtk_single_selection_get_autoselect, function in GtkSingleSelection
gtk_single_selection_get_can_unselect, function in GtkSingleSelection
gtk_single_selection_get_model, function in GtkSingleSelection
gtk_single_selection_get_selected, function in GtkSingleSelection
gtk_single_selection_get_selected_item, function in GtkSingleSelection
gtk_single_selection_new, function in GtkSingleSelection
gtk_single_selection_set_autoselect, function in GtkSingleSelection
gtk_single_selection_set_can_unselect, function in GtkSingleSelection
gtk_single_selection_set_model, function in GtkSingleSelection
gtk_single_selection_set_selected, function in GtkSingleSelection
GtkSizeGroup, struct in GtkSizeGroup
GtkSizeGroup:mode, object property in GtkSizeGroup
GtkSizeGroupMode, enum in GtkSizeGroup
GtkSizeRequestMode, enum in GtkWidget
gtk_size_group_add_widget, function in GtkSizeGroup
gtk_size_group_get_mode, function in GtkSizeGroup
gtk_size_group_get_widgets, function in GtkSizeGroup
gtk_size_group_new, function in GtkSizeGroup
gtk_size_group_remove_widget, function in GtkSizeGroup
gtk_size_group_set_mode, function in GtkSizeGroup
GtkSliceListModel, struct in GtkSliceListModel
GtkSliceListModel:model, object property in GtkSliceListModel
GtkSliceListModel:offset, object property in GtkSliceListModel
GtkSliceListModel:size, object property in GtkSliceListModel
gtk_slice_list_model_get_model, function in GtkSliceListModel
gtk_slice_list_model_get_offset, function in GtkSliceListModel
gtk_slice_list_model_get_size, function in GtkSliceListModel
gtk_slice_list_model_new, function in GtkSliceListModel
gtk_slice_list_model_set_model, function in GtkSliceListModel
gtk_slice_list_model_set_offset, function in GtkSliceListModel
gtk_slice_list_model_set_size, function in GtkSliceListModel
GtkSnapshot, typedef in GtkSnapshot
gtk_snapshot_append_border, function in GtkSnapshot
gtk_snapshot_append_cairo, function in GtkSnapshot
gtk_snapshot_append_color, function in GtkSnapshot
gtk_snapshot_append_inset_shadow, function in GtkSnapshot
gtk_snapshot_append_layout, function in GtkSnapshot
gtk_snapshot_append_linear_gradient, function in GtkSnapshot
gtk_snapshot_append_node, function in GtkSnapshot
gtk_snapshot_append_outset_shadow, function in GtkSnapshot
gtk_snapshot_append_repeating_linear_gradient, function in GtkSnapshot
gtk_snapshot_append_texture, function in GtkSnapshot
gtk_snapshot_free_to_node, function in GtkSnapshot
gtk_snapshot_free_to_paintable, function in GtkSnapshot
gtk_snapshot_new, function in GtkSnapshot
gtk_snapshot_perspective, function in GtkSnapshot
gtk_snapshot_pop, function in GtkSnapshot
gtk_snapshot_push_blend, function in GtkSnapshot
gtk_snapshot_push_blur, function in GtkSnapshot
gtk_snapshot_push_clip, function in GtkSnapshot
gtk_snapshot_push_color_matrix, function in GtkSnapshot
gtk_snapshot_push_cross_fade, function in GtkSnapshot
gtk_snapshot_push_debug, function in GtkSnapshot
gtk_snapshot_push_opacity, function in GtkSnapshot
gtk_snapshot_push_repeat, function in GtkSnapshot
gtk_snapshot_push_rounded_clip, function in GtkSnapshot
gtk_snapshot_push_shadow, function in GtkSnapshot
gtk_snapshot_render_background, function in GtkSnapshot
gtk_snapshot_render_focus, function in GtkSnapshot
gtk_snapshot_render_frame, function in GtkSnapshot
gtk_snapshot_render_insertion_cursor, function in GtkSnapshot
gtk_snapshot_render_layout, function in GtkSnapshot
gtk_snapshot_restore, function in GtkSnapshot
gtk_snapshot_rotate, function in GtkSnapshot
gtk_snapshot_rotate_3d, function in GtkSnapshot
gtk_snapshot_save, function in GtkSnapshot
gtk_snapshot_scale, function in GtkSnapshot
gtk_snapshot_scale_3d, function in GtkSnapshot
gtk_snapshot_to_node, function in GtkSnapshot
gtk_snapshot_to_paintable, function in GtkSnapshot
gtk_snapshot_transform, function in GtkSnapshot
gtk_snapshot_transform_matrix, function in GtkSnapshot
gtk_snapshot_translate, function in GtkSnapshot
gtk_snapshot_translate_3d, function in GtkSnapshot
GtkSorter, struct in GtkSorter
GtkSorter::changed, object signal in GtkSorter
GtkSorterChange, enum in GtkSorter
GtkSorterOrder, enum in GtkSorter
gtk_sorter_changed, function in GtkSorter
gtk_sorter_compare, function in GtkSorter
gtk_sorter_get_order, function in GtkSorter
GtkSortListModel, struct in GtkSortListModel
GtkSortListModel:incremental, object property in GtkSortListModel
GtkSortListModel:model, object property in GtkSortListModel
GtkSortListModel:pending, object property in GtkSortListModel
GtkSortListModel:sorter, object property in GtkSortListModel
GtkSortType, enum in Standard Enumerations
gtk_sort_list_model_get_incremental, function in GtkSortListModel
gtk_sort_list_model_get_model, function in GtkSortListModel
gtk_sort_list_model_get_pending, function in GtkSortListModel
gtk_sort_list_model_get_sorter, function in GtkSortListModel
gtk_sort_list_model_new, function in GtkSortListModel
gtk_sort_list_model_set_incremental, function in GtkSortListModel
gtk_sort_list_model_set_model, function in GtkSortListModel
gtk_sort_list_model_set_sorter, function in GtkSortListModel
GtkSpinButton, struct in GtkSpinButton
GtkSpinButton::change-value, object signal in GtkSpinButton
GtkSpinButton::input, object signal in GtkSpinButton
GtkSpinButton::output, object signal in GtkSpinButton
GtkSpinButton::value-changed, object signal in GtkSpinButton
GtkSpinButton::wrapped, object signal in GtkSpinButton
GtkSpinButton:adjustment, object property in GtkSpinButton
GtkSpinButton:climb-rate, object property in GtkSpinButton
GtkSpinButton:digits, object property in GtkSpinButton
GtkSpinButton:numeric, object property in GtkSpinButton
GtkSpinButton:snap-to-ticks, object property in GtkSpinButton
GtkSpinButton:update-policy, object property in GtkSpinButton
GtkSpinButton:value, object property in GtkSpinButton
GtkSpinButton:wrap, object property in GtkSpinButton
GtkSpinButtonUpdatePolicy, enum in GtkSpinButton
GtkSpinner, struct in GtkSpinner
GtkSpinner:spinning, object property in GtkSpinner
gtk_spinner_get_spinning, function in GtkSpinner
gtk_spinner_new, function in GtkSpinner
gtk_spinner_set_spinning, function in GtkSpinner
gtk_spinner_start, function in GtkSpinner
gtk_spinner_stop, function in GtkSpinner
GtkSpinType, enum in GtkSpinButton
gtk_spin_button_configure, function in GtkSpinButton
gtk_spin_button_get_adjustment, function in GtkSpinButton
gtk_spin_button_get_digits, function in GtkSpinButton
gtk_spin_button_get_increments, function in GtkSpinButton
gtk_spin_button_get_numeric, function in GtkSpinButton
gtk_spin_button_get_range, function in GtkSpinButton
gtk_spin_button_get_snap_to_ticks, function in GtkSpinButton
gtk_spin_button_get_update_policy, function in GtkSpinButton
gtk_spin_button_get_value, function in GtkSpinButton
gtk_spin_button_get_value_as_int, function in GtkSpinButton
gtk_spin_button_get_wrap, function in GtkSpinButton
gtk_spin_button_new, function in GtkSpinButton
gtk_spin_button_new_with_range, function in GtkSpinButton
gtk_spin_button_set_adjustment, function in GtkSpinButton
gtk_spin_button_set_digits, function in GtkSpinButton
gtk_spin_button_set_increments, function in GtkSpinButton
gtk_spin_button_set_numeric, function in GtkSpinButton
gtk_spin_button_set_range, function in GtkSpinButton
gtk_spin_button_set_snap_to_ticks, function in GtkSpinButton
gtk_spin_button_set_update_policy, function in GtkSpinButton
gtk_spin_button_set_value, function in GtkSpinButton
gtk_spin_button_set_wrap, function in GtkSpinButton
gtk_spin_button_spin, function in GtkSpinButton
gtk_spin_button_update, function in GtkSpinButton
GtkStack, struct in GtkStack
GtkStack:hhomogeneous, object property in GtkStack
GtkStack:interpolate-size, object property in GtkStack
GtkStack:pages, object property in GtkStack
GtkStack:transition-duration, object property in GtkStack
GtkStack:transition-running, object property in GtkStack
GtkStack:transition-type, object property in GtkStack
GtkStack:vhomogeneous, object property in GtkStack
GtkStack:visible-child, object property in GtkStack
GtkStack:visible-child-name, object property in GtkStack
GtkStackPage, struct in GtkStack
GtkStackPage:child, object property in GtkStack
GtkStackPage:icon-name, object property in GtkStack
GtkStackPage:name, object property in GtkStack
GtkStackPage:needs-attention, object property in GtkStack
GtkStackPage:title, object property in GtkStack
GtkStackPage:use-underline, object property in GtkStack
GtkStackPage:visible, object property in GtkStack
GtkStackSidebar, struct in GtkStackSidebar
GtkStackSidebar:stack, object property in GtkStackSidebar
GtkStackSwitcher, struct in GtkStackSwitcher
GtkStackSwitcher:stack, object property in GtkStackSwitcher
GtkStackTransitionType, enum in GtkStack
gtk_stack_add_named, function in GtkStack
gtk_stack_add_titled, function in GtkStack
gtk_stack_get_child_by_name, function in GtkStack
gtk_stack_get_hhomogeneous, function in GtkStack
gtk_stack_get_interpolate_size, function in GtkStack
gtk_stack_get_page, function in GtkStack
gtk_stack_get_pages, function in GtkStack
gtk_stack_get_transition_duration, function in GtkStack
gtk_stack_get_transition_running, function in GtkStack
gtk_stack_get_transition_type, function in GtkStack
gtk_stack_get_vhomogeneous, function in GtkStack
gtk_stack_get_visible_child, function in GtkStack
gtk_stack_get_visible_child_name, function in GtkStack
gtk_stack_new, function in GtkStack
gtk_stack_page_get_child, function in GtkStack
gtk_stack_page_get_icon_name, function in GtkStack
gtk_stack_page_get_name, function in GtkStack
gtk_stack_page_get_needs_attention, function in GtkStack
gtk_stack_page_get_title, function in GtkStack
gtk_stack_page_get_use_underline, function in GtkStack
gtk_stack_page_get_visible, function in GtkStack
gtk_stack_page_set_icon_name, function in GtkStack
gtk_stack_page_set_name, function in GtkStack
gtk_stack_page_set_needs_attention, function in GtkStack
gtk_stack_page_set_title, function in GtkStack
gtk_stack_page_set_use_underline, function in GtkStack
gtk_stack_page_set_visible, function in GtkStack
gtk_stack_remove, function in GtkStack
gtk_stack_set_hhomogeneous, function in GtkStack
gtk_stack_set_interpolate_size, function in GtkStack
gtk_stack_set_transition_duration, function in GtkStack
gtk_stack_set_transition_type, function in GtkStack
gtk_stack_set_vhomogeneous, function in GtkStack
gtk_stack_set_visible_child, function in GtkStack
gtk_stack_set_visible_child_full, function in GtkStack
gtk_stack_set_visible_child_name, function in GtkStack
gtk_stack_sidebar_get_stack, function in GtkStackSidebar
gtk_stack_sidebar_new, function in GtkStackSidebar
gtk_stack_sidebar_set_stack, function in GtkStackSidebar
gtk_stack_switcher_get_stack, function in GtkStackSwitcher
gtk_stack_switcher_new, function in GtkStackSwitcher
gtk_stack_switcher_set_stack, function in GtkStackSwitcher
GtkStateFlags, enum in Standard Enumerations
GtkStatusbar, struct in GtkStatusbar
GtkStatusbar::text-popped, object signal in GtkStatusbar
GtkStatusbar::text-pushed, object signal in GtkStatusbar
gtk_statusbar_get_context_id, function in GtkStatusbar
gtk_statusbar_new, function in GtkStatusbar
gtk_statusbar_pop, function in GtkStatusbar
gtk_statusbar_push, function in GtkStatusbar
gtk_statusbar_remove, function in GtkStatusbar
gtk_statusbar_remove_all, function in GtkStatusbar
GtkStringFilter, struct in GtkStringFilter
GtkStringFilter:expression, object property in GtkStringFilter
GtkStringFilter:ignore-case, object property in GtkStringFilter
GtkStringFilter:match-mode, object property in GtkStringFilter
GtkStringFilter:search, object property in GtkStringFilter
GtkStringFilterMatchMode, enum in GtkStringFilter
GtkStringList, struct in GtkStringList
GtkStringObject, struct in GtkStringList
GtkStringObject:string, object property in GtkStringList
GtkStringSorter, struct in GtkStringSorter
GtkStringSorter:expression, object property in GtkStringSorter
GtkStringSorter:ignore-case, object property in GtkStringSorter
gtk_string_filter_get_expression, function in GtkStringFilter
gtk_string_filter_get_ignore_case, function in GtkStringFilter
gtk_string_filter_get_match_mode, function in GtkStringFilter
gtk_string_filter_get_search, function in GtkStringFilter
gtk_string_filter_new, function in GtkStringFilter
gtk_string_filter_set_expression, function in GtkStringFilter
gtk_string_filter_set_ignore_case, function in GtkStringFilter
gtk_string_filter_set_match_mode, function in GtkStringFilter
gtk_string_filter_set_search, function in GtkStringFilter
gtk_string_list_append, function in GtkStringList
gtk_string_list_get_string, function in GtkStringList
gtk_string_list_new, function in GtkStringList
gtk_string_list_remove, function in GtkStringList
gtk_string_list_splice, function in GtkStringList
gtk_string_list_take, function in GtkStringList
gtk_string_object_get_string, function in GtkStringList
gtk_string_object_new, function in GtkStringList
gtk_string_sorter_get_expression, function in GtkStringSorter
gtk_string_sorter_get_ignore_case, function in GtkStringSorter
gtk_string_sorter_new, function in GtkStringSorter
gtk_string_sorter_set_expression, function in GtkStringSorter
gtk_string_sorter_set_ignore_case, function in GtkStringSorter
GtkStyleContext, struct in GtkStyleContext
GtkStyleContext:display, object property in GtkStyleContext
GtkStyleContextPrintFlags, enum in GtkStyleContext
GtkStyleProvider, struct in GtkStyleProvider
GtkStyleProvider::gtk-private-changed, object signal in GtkStyleProvider
GTK_STYLE_CLASS_ACCELERATOR, macro in GtkStyleContext
GTK_STYLE_CLASS_ARROW, macro in GtkStyleContext
GTK_STYLE_CLASS_BACKGROUND, macro in GtkStyleContext
GTK_STYLE_CLASS_BOTTOM, macro in GtkStyleContext
GTK_STYLE_CLASS_BUTTON, macro in GtkStyleContext
GTK_STYLE_CLASS_CALENDAR, macro in GtkStyleContext
GTK_STYLE_CLASS_CELL, macro in GtkStyleContext
GTK_STYLE_CLASS_CHECK, macro in GtkStyleContext
GTK_STYLE_CLASS_COMBOBOX_ENTRY, macro in GtkStyleContext
GTK_STYLE_CLASS_CONTEXT_MENU, macro in GtkStyleContext
GTK_STYLE_CLASS_CSD, macro in GtkStyleContext
GTK_STYLE_CLASS_CURSOR_HANDLE, macro in GtkStyleContext
GTK_STYLE_CLASS_DEFAULT, macro in GtkStyleContext
GTK_STYLE_CLASS_DESTRUCTIVE_ACTION, macro in GtkStyleContext
GTK_STYLE_CLASS_DIM_LABEL, macro in GtkStyleContext
GTK_STYLE_CLASS_DND, macro in GtkStyleContext
GTK_STYLE_CLASS_DOCK, macro in GtkStyleContext
GTK_STYLE_CLASS_ENTRY, macro in GtkStyleContext
GTK_STYLE_CLASS_ERROR, macro in GtkStyleContext
GTK_STYLE_CLASS_EXPANDER, macro in GtkStyleContext
GTK_STYLE_CLASS_FLAT, macro in GtkStyleContext
GTK_STYLE_CLASS_FRAME, macro in GtkStyleContext
GTK_STYLE_CLASS_HEADER, macro in GtkStyleContext
GTK_STYLE_CLASS_HIGHLIGHT, macro in GtkStyleContext
GTK_STYLE_CLASS_HORIZONTAL, macro in GtkStyleContext
GTK_STYLE_CLASS_IMAGE, macro in GtkStyleContext
GTK_STYLE_CLASS_INFO, macro in GtkStyleContext
GTK_STYLE_CLASS_INSERTION_CURSOR, macro in GtkStyleContext
GTK_STYLE_CLASS_LABEL, macro in GtkStyleContext
GTK_STYLE_CLASS_LEFT, macro in GtkStyleContext
GTK_STYLE_CLASS_LEVEL_BAR, macro in GtkStyleContext
GTK_STYLE_CLASS_LINKED, macro in GtkStyleContext
GTK_STYLE_CLASS_LIST, macro in GtkStyleContext
GTK_STYLE_CLASS_LIST_ROW, macro in GtkStyleContext
GTK_STYLE_CLASS_MARK, macro in GtkStyleContext
GTK_STYLE_CLASS_MENU, macro in GtkStyleContext
GTK_STYLE_CLASS_MENUBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_MENUITEM, macro in GtkStyleContext
GTK_STYLE_CLASS_MESSAGE_DIALOG, macro in GtkStyleContext
GTK_STYLE_CLASS_MONOSPACE, macro in GtkStyleContext
GTK_STYLE_CLASS_NEEDS_ATTENTION, macro in GtkStyleContext
GTK_STYLE_CLASS_NOTEBOOK, macro in GtkStyleContext
GTK_STYLE_CLASS_OSD, macro in GtkStyleContext
GTK_STYLE_CLASS_OVERSHOOT, macro in GtkStyleContext
GTK_STYLE_CLASS_PANE_SEPARATOR, macro in GtkStyleContext
GTK_STYLE_CLASS_PAPER, macro in GtkStyleContext
GTK_STYLE_CLASS_POPOVER, macro in GtkStyleContext
GTK_STYLE_CLASS_POPUP, macro in GtkStyleContext
GTK_STYLE_CLASS_PROGRESSBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_PULSE, macro in GtkStyleContext
GTK_STYLE_CLASS_QUESTION, macro in GtkStyleContext
GTK_STYLE_CLASS_RADIO, macro in GtkStyleContext
GTK_STYLE_CLASS_RAISED, macro in GtkStyleContext
GTK_STYLE_CLASS_READ_ONLY, macro in GtkStyleContext
GTK_STYLE_CLASS_RIGHT, macro in GtkStyleContext
GTK_STYLE_CLASS_RUBBERBAND, macro in GtkStyleContext
GTK_STYLE_CLASS_SCALE, macro in GtkStyleContext
GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE, macro in GtkStyleContext
GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW, macro in GtkStyleContext
GTK_STYLE_CLASS_SCROLLBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_SCROLLBARS_JUNCTION, macro in GtkStyleContext
GTK_STYLE_CLASS_SEPARATOR, macro in GtkStyleContext
GTK_STYLE_CLASS_SIDEBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_SLIDER, macro in GtkStyleContext
GTK_STYLE_CLASS_SPINBUTTON, macro in GtkStyleContext
GTK_STYLE_CLASS_SPINNER, macro in GtkStyleContext
GTK_STYLE_CLASS_STATUSBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_SUBTITLE, macro in GtkStyleContext
GTK_STYLE_CLASS_SUGGESTED_ACTION, macro in GtkStyleContext
GTK_STYLE_CLASS_TITLE, macro in GtkStyleContext
GTK_STYLE_CLASS_TITLEBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_TOOLBAR, macro in GtkStyleContext
GTK_STYLE_CLASS_TOOLTIP, macro in GtkStyleContext
GTK_STYLE_CLASS_TOP, macro in GtkStyleContext
GTK_STYLE_CLASS_TOUCH_SELECTION, macro in GtkStyleContext
GTK_STYLE_CLASS_TROUGH, macro in GtkStyleContext
GTK_STYLE_CLASS_UNDERSHOOT, macro in GtkStyleContext
GTK_STYLE_CLASS_VERTICAL, macro in GtkStyleContext
GTK_STYLE_CLASS_VIEW, macro in GtkStyleContext
GTK_STYLE_CLASS_WARNING, macro in GtkStyleContext
GTK_STYLE_CLASS_WIDE, macro in GtkStyleContext
gtk_style_context_add_class, function in GtkStyleContext
gtk_style_context_add_provider, function in GtkStyleContext
gtk_style_context_add_provider_for_display, function in GtkStyleContext
gtk_style_context_get_border, function in GtkStyleContext
gtk_style_context_get_color, function in GtkStyleContext
gtk_style_context_get_display, function in GtkStyleContext
gtk_style_context_get_margin, function in GtkStyleContext
gtk_style_context_get_padding, function in GtkStyleContext
gtk_style_context_get_scale, function in GtkStyleContext
gtk_style_context_get_state, function in GtkStyleContext
gtk_style_context_has_class, function in GtkStyleContext
gtk_style_context_lookup_color, function in GtkStyleContext
gtk_style_context_remove_class, function in GtkStyleContext
gtk_style_context_remove_provider, function in GtkStyleContext
gtk_style_context_remove_provider_for_display, function in GtkStyleContext
gtk_style_context_restore, function in GtkStyleContext
gtk_style_context_save, function in GtkStyleContext
gtk_style_context_set_display, function in GtkStyleContext
gtk_style_context_set_scale, function in GtkStyleContext
gtk_style_context_set_state, function in GtkStyleContext
gtk_style_context_to_string, function in GtkStyleContext
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION, macro in GtkStyleProvider
GTK_STYLE_PROVIDER_PRIORITY_FALLBACK, macro in GtkStyleProvider
GTK_STYLE_PROVIDER_PRIORITY_SETTINGS, macro in GtkStyleProvider
GTK_STYLE_PROVIDER_PRIORITY_THEME, macro in GtkStyleProvider
GTK_STYLE_PROVIDER_PRIORITY_USER, macro in GtkStyleProvider
GtkSwitch, struct in GtkSwitch
GtkSwitch::activate, object signal in GtkSwitch
GtkSwitch::state-set, object signal in GtkSwitch
GtkSwitch:active, object property in GtkSwitch
GtkSwitch:state, object property in GtkSwitch
gtk_switch_get_active, function in GtkSwitch
gtk_switch_get_state, function in GtkSwitch
gtk_switch_new, function in GtkSwitch
gtk_switch_set_active, function in GtkSwitch
gtk_switch_set_state, function in GtkSwitch
GtkSystemSetting, enum in GtkSettings

T

gtk_test_init, function in Testing
gtk_test_list_all_types, function in Testing
gtk_test_register_all_types, function in Testing
gtk_test_widget_wait_for_draw, function in Testing
GtkText, struct in GtkText
GtkText::activate, object signal in GtkText
GtkText::backspace, object signal in GtkText
GtkText::copy-clipboard, object signal in GtkText
GtkText::cut-clipboard, object signal in GtkText
GtkText::delete-from-cursor, object signal in GtkText
GtkText::insert-at-cursor, object signal in GtkText
GtkText::insert-emoji, object signal in GtkText
GtkText::move-cursor, object signal in GtkText
GtkText::paste-clipboard, object signal in GtkText
GtkText::preedit-changed, object signal in GtkText
GtkText::toggle-overwrite, object signal in GtkText
GtkText:activates-default, object property in GtkText
GtkText:attributes, object property in GtkText
GtkText:buffer, object property in GtkText
GtkText:enable-emoji-completion, object property in GtkText
GtkText:extra-menu, object property in GtkText
GtkText:im-module, object property in GtkText
GtkText:input-hints, object property in GtkText
GtkText:input-purpose, object property in GtkText
GtkText:invisible-char, object property in GtkText
GtkText:invisible-char-set, object property in GtkText
GtkText:max-length, object property in GtkText
GtkText:overwrite-mode, object property in GtkText
GtkText:placeholder-text, object property in GtkText
GtkText:propagate-text-width, object property in GtkText
GtkText:scroll-offset, object property in GtkText
GtkText:tabs, object property in GtkText
GtkText:truncate-multiline, object property in GtkText
GtkText:visibility, object property in GtkText
GtkTextBuffer, struct in GtkTextBuffer
GtkTextBuffer::apply-tag, object signal in GtkTextBuffer
GtkTextBuffer::begin-user-action, object signal in GtkTextBuffer
GtkTextBuffer::changed, object signal in GtkTextBuffer
GtkTextBuffer::delete-range, object signal in GtkTextBuffer
GtkTextBuffer::end-user-action, object signal in GtkTextBuffer
GtkTextBuffer::insert-child-anchor, object signal in GtkTextBuffer
GtkTextBuffer::insert-paintable, object signal in GtkTextBuffer
GtkTextBuffer::insert-text, object signal in GtkTextBuffer
GtkTextBuffer::mark-deleted, object signal in GtkTextBuffer
GtkTextBuffer::mark-set, object signal in GtkTextBuffer
GtkTextBuffer::modified-changed, object signal in GtkTextBuffer
GtkTextBuffer::paste-done, object signal in GtkTextBuffer
GtkTextBuffer::redo, object signal in GtkTextBuffer
GtkTextBuffer::remove-tag, object signal in GtkTextBuffer
GtkTextBuffer::undo, object signal in GtkTextBuffer
GtkTextBuffer:can-redo, object property in GtkTextBuffer
GtkTextBuffer:can-undo, object property in GtkTextBuffer
GtkTextBuffer:copy-target-list, object property in GtkTextBuffer
GtkTextBuffer:cursor-position, object property in GtkTextBuffer
GtkTextBuffer:enable-undo, object property in GtkTextBuffer
GtkTextBuffer:has-selection, object property in GtkTextBuffer
GtkTextBuffer:paste-target-list, object property in GtkTextBuffer
GtkTextBuffer:tag-table, object property in GtkTextBuffer
GtkTextBuffer:text, object property in GtkTextBuffer
GtkTextBufferClass, struct in GtkTextBuffer
GtkTextCharPredicate, user_function in GtkTextIter
GtkTextChildAnchor, struct in GtkTextView
GtkTextClass, struct in GtkText
GtkTextDirection, enum in GtkWidget
GtkTextExtendSelection, enum in GtkTextView
GtkTextIter, struct in GtkTextIter
GtkTextMark, struct in GtkTextMark
GtkTextMark:left-gravity, object property in GtkTextMark
GtkTextMark:name, object property in GtkTextMark
GtkTextSearchFlags, enum in GtkTextIter
GtkTextTag, struct in GtkTextTag
GtkTextTag:accumulative-margin, object property in GtkTextTag
GtkTextTag:allow-breaks, object property in GtkTextTag
GtkTextTag:allow-breaks-set, object property in GtkTextTag
GtkTextTag:background, object property in GtkTextTag
GtkTextTag:background-full-height, object property in GtkTextTag
GtkTextTag:background-full-height-set, object property in GtkTextTag
GtkTextTag:background-rgba, object property in GtkTextTag
GtkTextTag:background-set, object property in GtkTextTag
GtkTextTag:direction, object property in GtkTextTag
GtkTextTag:editable, object property in GtkTextTag
GtkTextTag:editable-set, object property in GtkTextTag
GtkTextTag:fallback, object property in GtkTextTag
GtkTextTag:fallback-set, object property in GtkTextTag
GtkTextTag:family, object property in GtkTextTag
GtkTextTag:family-set, object property in GtkTextTag
GtkTextTag:font, object property in GtkTextTag
GtkTextTag:font-desc, object property in GtkTextTag
GtkTextTag:font-features, object property in GtkTextTag
GtkTextTag:font-features-set, object property in GtkTextTag
GtkTextTag:foreground, object property in GtkTextTag
GtkTextTag:foreground-rgba, object property in GtkTextTag
GtkTextTag:foreground-set, object property in GtkTextTag
GtkTextTag:indent, object property in GtkTextTag
GtkTextTag:indent-set, object property in GtkTextTag
GtkTextTag:insert-hyphens, object property in GtkTextTag
GtkTextTag:insert-hyphens-set, object property in GtkTextTag
GtkTextTag:invisible, object property in GtkTextTag
GtkTextTag:invisible-set, object property in GtkTextTag
GtkTextTag:justification, object property in GtkTextTag
GtkTextTag:justification-set, object property in GtkTextTag
GtkTextTag:language, object property in GtkTextTag
GtkTextTag:language-set, object property in GtkTextTag
GtkTextTag:left-margin, object property in GtkTextTag
GtkTextTag:left-margin-set, object property in GtkTextTag
GtkTextTag:letter-spacing, object property in GtkTextTag
GtkTextTag:letter-spacing-set, object property in GtkTextTag
GtkTextTag:name, object property in GtkTextTag
GtkTextTag:overline, object property in GtkTextTag
GtkTextTag:overline-rgba, object property in GtkTextTag
GtkTextTag:overline-rgba-set, object property in GtkTextTag
GtkTextTag:overline-set, object property in GtkTextTag
GtkTextTag:paragraph-background, object property in GtkTextTag
GtkTextTag:paragraph-background-rgba, object property in GtkTextTag
GtkTextTag:paragraph-background-set, object property in GtkTextTag
GtkTextTag:pixels-above-lines, object property in GtkTextTag
GtkTextTag:pixels-above-lines-set, object property in GtkTextTag
GtkTextTag:pixels-below-lines, object property in GtkTextTag
GtkTextTag:pixels-below-lines-set, object property in GtkTextTag
GtkTextTag:pixels-inside-wrap, object property in GtkTextTag
GtkTextTag:pixels-inside-wrap-set, object property in GtkTextTag
GtkTextTag:right-margin, object property in GtkTextTag
GtkTextTag:right-margin-set, object property in GtkTextTag
GtkTextTag:rise, object property in GtkTextTag
GtkTextTag:rise-set, object property in GtkTextTag
GtkTextTag:scale, object property in GtkTextTag
GtkTextTag:scale-set, object property in GtkTextTag
GtkTextTag:show-spaces, object property in GtkTextTag
GtkTextTag:show-spaces-set, object property in GtkTextTag
GtkTextTag:size, object property in GtkTextTag
GtkTextTag:size-points, object property in GtkTextTag
GtkTextTag:size-set, object property in GtkTextTag
GtkTextTag:stretch, object property in GtkTextTag
GtkTextTag:stretch-set, object property in GtkTextTag
GtkTextTag:strikethrough, object property in GtkTextTag
GtkTextTag:strikethrough-rgba, object property in GtkTextTag
GtkTextTag:strikethrough-rgba-set, object property in GtkTextTag
GtkTextTag:strikethrough-set, object property in GtkTextTag
GtkTextTag:style, object property in GtkTextTag
GtkTextTag:style-set, object property in GtkTextTag
GtkTextTag:tabs, object property in GtkTextTag
GtkTextTag:tabs-set, object property in GtkTextTag
GtkTextTag:underline, object property in GtkTextTag
GtkTextTag:underline-rgba, object property in GtkTextTag
GtkTextTag:underline-rgba-set, object property in GtkTextTag
GtkTextTag:underline-set, object property in GtkTextTag
GtkTextTag:variant, object property in GtkTextTag
GtkTextTag:variant-set, object property in GtkTextTag
GtkTextTag:weight, object property in GtkTextTag
GtkTextTag:weight-set, object property in GtkTextTag
GtkTextTag:wrap-mode, object property in GtkTextTag
GtkTextTag:wrap-mode-set, object property in GtkTextTag
GtkTextTagTable, struct in GtkTextTagTable
GtkTextTagTable::tag-added, object signal in GtkTextTagTable
GtkTextTagTable::tag-changed, object signal in GtkTextTagTable
GtkTextTagTable::tag-removed, object signal in GtkTextTagTable
GtkTextTagTableForeach, user_function in GtkTextTagTable
GtkTextView, struct in GtkTextView
GtkTextView::backspace, object signal in GtkTextView
GtkTextView::copy-clipboard, object signal in GtkTextView
GtkTextView::cut-clipboard, object signal in GtkTextView
GtkTextView::delete-from-cursor, object signal in GtkTextView
GtkTextView::extend-selection, object signal in GtkTextView
GtkTextView::insert-at-cursor, object signal in GtkTextView
GtkTextView::insert-emoji, object signal in GtkTextView
GtkTextView::move-cursor, object signal in GtkTextView
GtkTextView::move-viewport, object signal in GtkTextView
GtkTextView::paste-clipboard, object signal in GtkTextView
GtkTextView::preedit-changed, object signal in GtkTextView
GtkTextView::select-all, object signal in GtkTextView
GtkTextView::set-anchor, object signal in GtkTextView
GtkTextView::toggle-cursor-visible, object signal in GtkTextView
GtkTextView::toggle-overwrite, object signal in GtkTextView
GtkTextView:accepts-tab, object property in GtkTextView
GtkTextView:bottom-margin, object property in GtkTextView
GtkTextView:buffer, object property in GtkTextView
GtkTextView:cursor-visible, object property in GtkTextView
GtkTextView:editable, object property in GtkTextView
GtkTextView:extra-menu, object property in GtkTextView
GtkTextView:im-module, object property in GtkTextView
GtkTextView:indent, object property in GtkTextView
GtkTextView:input-hints, object property in GtkTextView
GtkTextView:input-purpose, object property in GtkTextView
GtkTextView:justification, object property in GtkTextView
GtkTextView:left-margin, object property in GtkTextView
GtkTextView:monospace, object property in GtkTextView
GtkTextView:overwrite, object property in GtkTextView
GtkTextView:pixels-above-lines, object property in GtkTextView
GtkTextView:pixels-below-lines, object property in GtkTextView
GtkTextView:pixels-inside-wrap, object property in GtkTextView
GtkTextView:right-margin, object property in GtkTextView
GtkTextView:tabs, object property in GtkTextView
GtkTextView:top-margin, object property in GtkTextView
GtkTextView:wrap-mode, object property in GtkTextView
GtkTextViewClass, struct in GtkTextView
GtkTextViewLayer, enum in GtkTextView
GtkTextView|clipboard.copy, action in GtkTextView
GtkTextView|clipboard.cut, action in GtkTextView
GtkTextView|clipboard.paste, action in GtkTextView
GtkTextView|menu.popup, action in GtkTextView
GtkTextView|misc.insert-emoji, action in GtkTextView
GtkTextView|selection.delete, action in GtkTextView
GtkTextView|selection.select-all, action in GtkTextView
GtkTextView|text.redo, action in GtkTextView
GtkTextView|text.undo, action in GtkTextView
GtkTextWindowType, enum in GtkTextView
gtk_text_buffer_add_mark, function in GtkTextBuffer
gtk_text_buffer_add_selection_clipboard, function in GtkTextBuffer
gtk_text_buffer_apply_tag, function in GtkTextBuffer
gtk_text_buffer_apply_tag_by_name, function in GtkTextBuffer
gtk_text_buffer_backspace, function in GtkTextBuffer
gtk_text_buffer_begin_irreversible_action, function in GtkTextBuffer
gtk_text_buffer_begin_user_action, function in GtkTextBuffer
gtk_text_buffer_copy_clipboard, function in GtkTextBuffer
gtk_text_buffer_create_child_anchor, function in GtkTextBuffer
gtk_text_buffer_create_mark, function in GtkTextBuffer
gtk_text_buffer_create_tag, function in GtkTextBuffer
gtk_text_buffer_cut_clipboard, function in GtkTextBuffer
gtk_text_buffer_delete, function in GtkTextBuffer
gtk_text_buffer_delete_interactive, function in GtkTextBuffer
gtk_text_buffer_delete_mark, function in GtkTextBuffer
gtk_text_buffer_delete_mark_by_name, function in GtkTextBuffer
gtk_text_buffer_delete_selection, function in GtkTextBuffer
gtk_text_buffer_end_irreversible_action, function in GtkTextBuffer
gtk_text_buffer_end_user_action, function in GtkTextBuffer
gtk_text_buffer_get_bounds, function in GtkTextBuffer
gtk_text_buffer_get_can_redo, function in GtkTextBuffer
gtk_text_buffer_get_can_undo, function in GtkTextBuffer
gtk_text_buffer_get_char_count, function in GtkTextBuffer
gtk_text_buffer_get_enable_undo, function in GtkTextBuffer
gtk_text_buffer_get_end_iter, function in GtkTextBuffer
gtk_text_buffer_get_has_selection, function in GtkTextBuffer
gtk_text_buffer_get_insert, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_child_anchor, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_line, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_line_index, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_line_offset, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_mark, function in GtkTextBuffer
gtk_text_buffer_get_iter_at_offset, function in GtkTextBuffer
gtk_text_buffer_get_line_count, function in GtkTextBuffer
gtk_text_buffer_get_mark, function in GtkTextBuffer
gtk_text_buffer_get_max_undo_levels, function in GtkTextBuffer
gtk_text_buffer_get_modified, function in GtkTextBuffer
gtk_text_buffer_get_selection_bound, function in GtkTextBuffer
gtk_text_buffer_get_selection_bounds, function in GtkTextBuffer
gtk_text_buffer_get_selection_content, function in GtkTextBuffer
gtk_text_buffer_get_slice, function in GtkTextBuffer
gtk_text_buffer_get_start_iter, function in GtkTextBuffer
gtk_text_buffer_get_tag_table, function in GtkTextBuffer
gtk_text_buffer_get_text, function in GtkTextBuffer
gtk_text_buffer_insert, function in GtkTextBuffer
gtk_text_buffer_insert_at_cursor, function in GtkTextBuffer
gtk_text_buffer_insert_child_anchor, function in GtkTextBuffer
gtk_text_buffer_insert_interactive, function in GtkTextBuffer
gtk_text_buffer_insert_interactive_at_cursor, function in GtkTextBuffer
gtk_text_buffer_insert_markup, function in GtkTextBuffer
gtk_text_buffer_insert_paintable, function in GtkTextBuffer
gtk_text_buffer_insert_range, function in GtkTextBuffer
gtk_text_buffer_insert_range_interactive, function in GtkTextBuffer
gtk_text_buffer_insert_with_tags, function in GtkTextBuffer
gtk_text_buffer_insert_with_tags_by_name, function in GtkTextBuffer
gtk_text_buffer_move_mark, function in GtkTextBuffer
gtk_text_buffer_move_mark_by_name, function in GtkTextBuffer
gtk_text_buffer_new, function in GtkTextBuffer
gtk_text_buffer_paste_clipboard, function in GtkTextBuffer
gtk_text_buffer_place_cursor, function in GtkTextBuffer
gtk_text_buffer_redo, function in GtkTextBuffer
gtk_text_buffer_remove_all_tags, function in GtkTextBuffer
gtk_text_buffer_remove_selection_clipboard, function in GtkTextBuffer
gtk_text_buffer_remove_tag, function in GtkTextBuffer
gtk_text_buffer_remove_tag_by_name, function in GtkTextBuffer
gtk_text_buffer_select_range, function in GtkTextBuffer
gtk_text_buffer_set_enable_undo, function in GtkTextBuffer
gtk_text_buffer_set_max_undo_levels, function in GtkTextBuffer
gtk_text_buffer_set_modified, function in GtkTextBuffer
gtk_text_buffer_set_text, function in GtkTextBuffer
gtk_text_buffer_undo, function in GtkTextBuffer
gtk_text_child_anchor_get_deleted, function in GtkTextView
gtk_text_child_anchor_get_widgets, function in GtkTextView
gtk_text_child_anchor_new, function in GtkTextView
gtk_text_get_activates_default, function in GtkText
gtk_text_get_attributes, function in GtkText
gtk_text_get_buffer, function in GtkText
gtk_text_get_extra_menu, function in GtkText
gtk_text_get_input_hints, function in GtkText
gtk_text_get_input_purpose, function in GtkText
gtk_text_get_invisible_char, function in GtkText
gtk_text_get_max_length, function in GtkText
gtk_text_get_overwrite_mode, function in GtkText
gtk_text_get_placeholder_text, function in GtkText
gtk_text_get_tabs, function in GtkText
gtk_text_get_text_length, function in GtkText
gtk_text_get_visibility, function in GtkText
gtk_text_grab_focus_without_selecting, function in GtkText
gtk_text_iter_assign, function in GtkTextIter
gtk_text_iter_backward_char, function in GtkTextIter
gtk_text_iter_backward_chars, function in GtkTextIter
gtk_text_iter_backward_cursor_position, function in GtkTextIter
gtk_text_iter_backward_cursor_positions, function in GtkTextIter
gtk_text_iter_backward_find_char, function in GtkTextIter
gtk_text_iter_backward_line, function in GtkTextIter
gtk_text_iter_backward_lines, function in GtkTextIter
gtk_text_iter_backward_search, function in GtkTextIter
gtk_text_iter_backward_sentence_start, function in GtkTextIter
gtk_text_iter_backward_sentence_starts, function in GtkTextIter
gtk_text_iter_backward_to_tag_toggle, function in GtkTextIter
gtk_text_iter_backward_visible_cursor_position, function in GtkTextIter
gtk_text_iter_backward_visible_cursor_positions, function in GtkTextIter
gtk_text_iter_backward_visible_line, function in GtkTextIter
gtk_text_iter_backward_visible_lines, function in GtkTextIter
gtk_text_iter_backward_visible_word_start, function in GtkTextIter
gtk_text_iter_backward_visible_word_starts, function in GtkTextIter
gtk_text_iter_backward_word_start, function in GtkTextIter
gtk_text_iter_backward_word_starts, function in GtkTextIter
gtk_text_iter_can_insert, function in GtkTextIter
gtk_text_iter_compare, function in GtkTextIter
gtk_text_iter_copy, function in GtkTextIter
gtk_text_iter_editable, function in GtkTextIter
gtk_text_iter_ends_line, function in GtkTextIter
gtk_text_iter_ends_sentence, function in GtkTextIter
gtk_text_iter_ends_tag, function in GtkTextIter
gtk_text_iter_ends_word, function in GtkTextIter
gtk_text_iter_equal, function in GtkTextIter
gtk_text_iter_forward_char, function in GtkTextIter
gtk_text_iter_forward_chars, function in GtkTextIter
gtk_text_iter_forward_cursor_position, function in GtkTextIter
gtk_text_iter_forward_cursor_positions, function in GtkTextIter
gtk_text_iter_forward_find_char, function in GtkTextIter
gtk_text_iter_forward_line, function in GtkTextIter
gtk_text_iter_forward_lines, function in GtkTextIter
gtk_text_iter_forward_search, function in GtkTextIter
gtk_text_iter_forward_sentence_end, function in GtkTextIter
gtk_text_iter_forward_sentence_ends, function in GtkTextIter
gtk_text_iter_forward_to_end, function in GtkTextIter
gtk_text_iter_forward_to_line_end, function in GtkTextIter
gtk_text_iter_forward_to_tag_toggle, function in GtkTextIter
gtk_text_iter_forward_visible_cursor_position, function in GtkTextIter
gtk_text_iter_forward_visible_cursor_positions, function in GtkTextIter
gtk_text_iter_forward_visible_line, function in GtkTextIter
gtk_text_iter_forward_visible_lines, function in GtkTextIter
gtk_text_iter_forward_visible_word_end, function in GtkTextIter
gtk_text_iter_forward_visible_word_ends, function in GtkTextIter
gtk_text_iter_forward_word_end, function in GtkTextIter
gtk_text_iter_forward_word_ends, function in GtkTextIter
gtk_text_iter_free, function in GtkTextIter
gtk_text_iter_get_buffer, function in GtkTextIter
gtk_text_iter_get_bytes_in_line, function in GtkTextIter
gtk_text_iter_get_char, function in GtkTextIter
gtk_text_iter_get_chars_in_line, function in GtkTextIter
gtk_text_iter_get_child_anchor, function in GtkTextIter
gtk_text_iter_get_language, function in GtkTextIter
gtk_text_iter_get_line, function in GtkTextIter
gtk_text_iter_get_line_index, function in GtkTextIter
gtk_text_iter_get_line_offset, function in GtkTextIter
gtk_text_iter_get_marks, function in GtkTextIter
gtk_text_iter_get_offset, function in GtkTextIter
gtk_text_iter_get_slice, function in GtkTextIter
gtk_text_iter_get_tags, function in GtkTextIter
gtk_text_iter_get_text, function in GtkTextIter
gtk_text_iter_get_toggled_tags, function in GtkTextIter
gtk_text_iter_get_visible_line_index, function in GtkTextIter
gtk_text_iter_get_visible_line_offset, function in GtkTextIter
gtk_text_iter_get_visible_slice, function in GtkTextIter
gtk_text_iter_get_visible_text, function in GtkTextIter
gtk_text_iter_has_tag, function in GtkTextIter
gtk_text_iter_inside_sentence, function in GtkTextIter
gtk_text_iter_inside_word, function in GtkTextIter
gtk_text_iter_in_range, function in GtkTextIter
gtk_text_iter_is_cursor_position, function in GtkTextIter
gtk_text_iter_is_end, function in GtkTextIter
gtk_text_iter_is_start, function in GtkTextIter
gtk_text_iter_order, function in GtkTextIter
gtk_text_iter_set_line, function in GtkTextIter
gtk_text_iter_set_line_index, function in GtkTextIter
gtk_text_iter_set_line_offset, function in GtkTextIter
gtk_text_iter_set_offset, function in GtkTextIter
gtk_text_iter_set_visible_line_index, function in GtkTextIter
gtk_text_iter_set_visible_line_offset, function in GtkTextIter
gtk_text_iter_starts_line, function in GtkTextIter
gtk_text_iter_starts_sentence, function in GtkTextIter
gtk_text_iter_starts_tag, function in GtkTextIter
gtk_text_iter_starts_word, function in GtkTextIter
gtk_text_iter_toggles_tag, function in GtkTextIter
gtk_text_mark_get_buffer, function in GtkTextMark
gtk_text_mark_get_deleted, function in GtkTextMark
gtk_text_mark_get_left_gravity, function in GtkTextMark
gtk_text_mark_get_name, function in GtkTextMark
gtk_text_mark_get_visible, function in GtkTextMark
gtk_text_mark_new, function in GtkTextMark
gtk_text_mark_set_visible, function in GtkTextMark
gtk_text_new, function in GtkText
gtk_text_new_with_buffer, function in GtkText
gtk_text_set_activates_default, function in GtkText
gtk_text_set_attributes, function in GtkText
gtk_text_set_buffer, function in GtkText
gtk_text_set_extra_menu, function in GtkText
gtk_text_set_input_hints, function in GtkText
gtk_text_set_input_purpose, function in GtkText
gtk_text_set_invisible_char, function in GtkText
gtk_text_set_max_length, function in GtkText
gtk_text_set_overwrite_mode, function in GtkText
gtk_text_set_placeholder_text, function in GtkText
gtk_text_set_tabs, function in GtkText
gtk_text_set_visibility, function in GtkText
gtk_text_tag_changed, function in GtkTextTag
gtk_text_tag_get_priority, function in GtkTextTag
gtk_text_tag_new, function in GtkTextTag
gtk_text_tag_set_priority, function in GtkTextTag
gtk_text_tag_table_add, function in GtkTextTagTable
gtk_text_tag_table_foreach, function in GtkTextTagTable
gtk_text_tag_table_get_size, function in GtkTextTagTable
gtk_text_tag_table_lookup, function in GtkTextTagTable
gtk_text_tag_table_new, function in GtkTextTagTable
gtk_text_tag_table_remove, function in GtkTextTagTable
gtk_text_unset_invisible_char, function in GtkText
gtk_text_view_add_child_at_anchor, function in GtkTextView
gtk_text_view_add_overlay, function in GtkTextView
gtk_text_view_backward_display_line, function in GtkTextView
gtk_text_view_backward_display_line_start, function in GtkTextView
gtk_text_view_buffer_to_window_coords, function in GtkTextView
gtk_text_view_forward_display_line, function in GtkTextView
gtk_text_view_forward_display_line_end, function in GtkTextView
gtk_text_view_get_accepts_tab, function in GtkTextView
gtk_text_view_get_bottom_margin, function in GtkTextView
gtk_text_view_get_buffer, function in GtkTextView
gtk_text_view_get_cursor_locations, function in GtkTextView
gtk_text_view_get_cursor_visible, function in GtkTextView
gtk_text_view_get_editable, function in GtkTextView
gtk_text_view_get_extra_menu, function in GtkTextView
gtk_text_view_get_gutter, function in GtkTextView
gtk_text_view_get_indent, function in GtkTextView
gtk_text_view_get_input_hints, function in GtkTextView
gtk_text_view_get_input_purpose, function in GtkTextView
gtk_text_view_get_iter_at_location, function in GtkTextView
gtk_text_view_get_iter_at_position, function in GtkTextView
gtk_text_view_get_iter_location, function in GtkTextView
gtk_text_view_get_justification, function in GtkTextView
gtk_text_view_get_left_margin, function in GtkTextView
gtk_text_view_get_line_at_y, function in GtkTextView
gtk_text_view_get_line_yrange, function in GtkTextView
gtk_text_view_get_monospace, function in GtkTextView
gtk_text_view_get_overwrite, function in GtkTextView
gtk_text_view_get_pixels_above_lines, function in GtkTextView
gtk_text_view_get_pixels_below_lines, function in GtkTextView
gtk_text_view_get_pixels_inside_wrap, function in GtkTextView
gtk_text_view_get_right_margin, function in GtkTextView
gtk_text_view_get_tabs, function in GtkTextView
gtk_text_view_get_top_margin, function in GtkTextView
gtk_text_view_get_visible_rect, function in GtkTextView
gtk_text_view_get_wrap_mode, function in GtkTextView
gtk_text_view_im_context_filter_keypress, function in GtkTextView
gtk_text_view_move_mark_onscreen, function in GtkTextView
gtk_text_view_move_overlay, function in GtkTextView
gtk_text_view_move_visually, function in GtkTextView
gtk_text_view_new, function in GtkTextView
gtk_text_view_new_with_buffer, function in GtkTextView
gtk_text_view_place_cursor_onscreen, function in GtkTextView
GTK_TEXT_VIEW_PRIORITY_VALIDATE, macro in GtkTextView
gtk_text_view_remove, function in GtkTextView
gtk_text_view_reset_cursor_blink, function in GtkTextView
gtk_text_view_reset_im_context, function in GtkTextView
gtk_text_view_scroll_mark_onscreen, function in GtkTextView
gtk_text_view_scroll_to_iter, function in GtkTextView
gtk_text_view_scroll_to_mark, function in GtkTextView
gtk_text_view_set_accepts_tab, function in GtkTextView
gtk_text_view_set_bottom_margin, function in GtkTextView
gtk_text_view_set_buffer, function in GtkTextView
gtk_text_view_set_cursor_visible, function in GtkTextView
gtk_text_view_set_editable, function in GtkTextView
gtk_text_view_set_extra_menu, function in GtkTextView
gtk_text_view_set_gutter, function in GtkTextView
gtk_text_view_set_indent, function in GtkTextView
gtk_text_view_set_input_hints, function in GtkTextView
gtk_text_view_set_input_purpose, function in GtkTextView
gtk_text_view_set_justification, function in GtkTextView
gtk_text_view_set_left_margin, function in GtkTextView
gtk_text_view_set_monospace, function in GtkTextView
gtk_text_view_set_overwrite, function in GtkTextView
gtk_text_view_set_pixels_above_lines, function in GtkTextView
gtk_text_view_set_pixels_below_lines, function in GtkTextView
gtk_text_view_set_pixels_inside_wrap, function in GtkTextView
gtk_text_view_set_right_margin, function in GtkTextView
gtk_text_view_set_tabs, function in GtkTextView
gtk_text_view_set_top_margin, function in GtkTextView
gtk_text_view_set_wrap_mode, function in GtkTextView
gtk_text_view_starts_display_line, function in GtkTextView
gtk_text_view_window_to_buffer_coords, function in GtkTextView
GtkText|clipboard.copy, action in GtkText
GtkText|clipboard.cut, action in GtkText
GtkText|clipboard.paste, action in GtkText
GtkText|menu.popup, action in GtkText
GtkText|misc.insert-emoji, action in GtkText
GtkText|misc.toggle-visibility, action in GtkText
GtkText|selection.delete, action in GtkText
GtkText|selection.select-all, action in GtkText
GtkText|text.redo, action in GtkText
GtkText|text.undo, action in GtkText
GtkTickCallback, user_function in GtkWidget
GtkToggleButton, struct in GtkToggleButton
GtkToggleButton::toggled, object signal in GtkToggleButton
GtkToggleButton:active, object property in GtkToggleButton
gtk_toggle_button_get_active, function in GtkToggleButton
gtk_toggle_button_new, function in GtkToggleButton
gtk_toggle_button_new_with_label, function in GtkToggleButton
gtk_toggle_button_new_with_mnemonic, function in GtkToggleButton
gtk_toggle_button_set_active, function in GtkToggleButton
gtk_toggle_button_toggled, function in GtkToggleButton
GtkTooltip, struct in GtkTooltip
gtk_tooltip_set_custom, function in GtkTooltip
gtk_tooltip_set_icon, function in GtkTooltip
gtk_tooltip_set_icon_from_gicon, function in GtkTooltip
gtk_tooltip_set_icon_from_icon_name, function in GtkTooltip
gtk_tooltip_set_markup, function in GtkTooltip
gtk_tooltip_set_text, function in GtkTooltip
gtk_tooltip_set_tip_area, function in GtkTooltip
GtkTreeCellDataFunc, user_function in GtkTreeViewColumn
GtkTreeDragDest, struct in GtkTreeView drag-and-drop
GtkTreeDragDestIface, struct in GtkTreeView drag-and-drop
GtkTreeDragSource, struct in GtkTreeView drag-and-drop
GtkTreeDragSourceIface, struct in GtkTreeView drag-and-drop
GtkTreeExpander, struct in GtkTreeExpander
GtkTreeExpander:child, object property in GtkTreeExpander
GtkTreeExpander:item, object property in GtkTreeExpander
GtkTreeExpander:list-row, object property in GtkTreeExpander
GtkTreeExpander|listitem.collapse, action in GtkTreeExpander
GtkTreeExpander|listitem.expand, action in GtkTreeExpander
GtkTreeExpander|listitem.toggle-expand, action in GtkTreeExpander
GtkTreeIter, struct in GtkTreeModel
GtkTreeIterCompareFunc, user_function in GtkTreeSortable
GtkTreeListModel, struct in GtkTreeListModel
GtkTreeListModel:autoexpand, object property in GtkTreeListModel
GtkTreeListModel:model, object property in GtkTreeListModel
GtkTreeListModel:passthrough, object property in GtkTreeListModel
GtkTreeListModelCreateModelFunc, user_function in GtkTreeListModel
GtkTreeListRow, struct in GtkTreeListModel
GtkTreeListRow:children, object property in GtkTreeListModel
GtkTreeListRow:depth, object property in GtkTreeListModel
GtkTreeListRow:expandable, object property in GtkTreeListModel
GtkTreeListRow:expanded, object property in GtkTreeListModel
GtkTreeListRow:item, object property in GtkTreeListModel
GtkTreeListRowSorter, struct in GtkTreeListRowSorter
GtkTreeListRowSorter:sorter, object property in GtkTreeListRowSorter
GtkTreeModel, struct in GtkTreeModel
GtkTreeModel::row-changed, object signal in GtkTreeModel
GtkTreeModel::row-deleted, object signal in GtkTreeModel
GtkTreeModel::row-has-child-toggled, object signal in GtkTreeModel
GtkTreeModel::row-inserted, object signal in GtkTreeModel
GtkTreeModel::rows-reordered, object signal in GtkTreeModel
GtkTreeModelFilter, struct in GtkTreeModelFilter
GtkTreeModelFilter:child-model, object property in GtkTreeModelFilter
GtkTreeModelFilter:virtual-root, object property in GtkTreeModelFilter
GtkTreeModelFilterModifyFunc, user_function in GtkTreeModelFilter
GtkTreeModelFilterVisibleFunc, user_function in GtkTreeModelFilter
GtkTreeModelFlags, enum in GtkTreeModel
GtkTreeModelForeachFunc, user_function in GtkTreeModel
GtkTreeModelIface, struct in GtkTreeModel
GtkTreeModelSort, struct in GtkTreeModelSort
GtkTreeModelSort:model, object property in GtkTreeModelSort
GtkTreePath, struct in GtkTreeModel
GtkTreeRowReference, struct in GtkTreeModel
GtkTreeSelection, struct in GtkTreeSelection
GtkTreeSelection::changed, object signal in GtkTreeSelection
GtkTreeSelection:mode, object property in GtkTreeSelection
GtkTreeSelectionForeachFunc, user_function in GtkTreeSelection
GtkTreeSelectionFunc, user_function in GtkTreeSelection
GtkTreeSortable, struct in GtkTreeSortable
GtkTreeSortable::sort-column-changed, object signal in GtkTreeSortable
GtkTreeSortableIface, struct in GtkTreeSortable
GtkTreeStore, struct in GtkTreeStore
GtkTreeView, struct in GtkTreeView
GtkTreeView::columns-changed, object signal in GtkTreeView
GtkTreeView::cursor-changed, object signal in GtkTreeView
GtkTreeView::expand-collapse-cursor-row, object signal in GtkTreeView
GtkTreeView::move-cursor, object signal in GtkTreeView
GtkTreeView::row-activated, object signal in GtkTreeView
GtkTreeView::row-collapsed, object signal in GtkTreeView
GtkTreeView::row-expanded, object signal in GtkTreeView
GtkTreeView::select-all, object signal in GtkTreeView
GtkTreeView::select-cursor-parent, object signal in GtkTreeView
GtkTreeView::select-cursor-row, object signal in GtkTreeView
GtkTreeView::start-interactive-search, object signal in GtkTreeView
GtkTreeView::test-collapse-row, object signal in GtkTreeView
GtkTreeView::test-expand-row, object signal in GtkTreeView
GtkTreeView::toggle-cursor-row, object signal in GtkTreeView
GtkTreeView::unselect-all, object signal in GtkTreeView
GtkTreeView:activate-on-single-click, object property in GtkTreeView
GtkTreeView:enable-grid-lines, object property in GtkTreeView
GtkTreeView:enable-search, object property in GtkTreeView
GtkTreeView:enable-tree-lines, object property in GtkTreeView
GtkTreeView:expander-column, object property in GtkTreeView
GtkTreeView:fixed-height-mode, object property in GtkTreeView
GtkTreeView:headers-clickable, object property in GtkTreeView
GtkTreeView:headers-visible, object property in GtkTreeView
GtkTreeView:hover-expand, object property in GtkTreeView
GtkTreeView:hover-selection, object property in GtkTreeView
GtkTreeView:level-indentation, object property in GtkTreeView
GtkTreeView:model, object property in GtkTreeView
GtkTreeView:reorderable, object property in GtkTreeView
GtkTreeView:rubber-banding, object property in GtkTreeView
GtkTreeView:search-column, object property in GtkTreeView
GtkTreeView:show-expanders, object property in GtkTreeView
GtkTreeView:tooltip-column, object property in GtkTreeView
GtkTreeViewColumn, struct in GtkTreeViewColumn
GtkTreeViewColumn::clicked, object signal in GtkTreeViewColumn
GtkTreeViewColumn:alignment, object property in GtkTreeViewColumn
GtkTreeViewColumn:cell-area, object property in GtkTreeViewColumn
GtkTreeViewColumn:clickable, object property in GtkTreeViewColumn
GtkTreeViewColumn:expand, object property in GtkTreeViewColumn
GtkTreeViewColumn:fixed-width, object property in GtkTreeViewColumn
GtkTreeViewColumn:max-width, object property in GtkTreeViewColumn
GtkTreeViewColumn:min-width, object property in GtkTreeViewColumn
GtkTreeViewColumn:reorderable, object property in GtkTreeViewColumn
GtkTreeViewColumn:resizable, object property in GtkTreeViewColumn
GtkTreeViewColumn:sizing, object property in GtkTreeViewColumn
GtkTreeViewColumn:sort-column-id, object property in GtkTreeViewColumn
GtkTreeViewColumn:sort-indicator, object property in GtkTreeViewColumn
GtkTreeViewColumn:sort-order, object property in GtkTreeViewColumn
GtkTreeViewColumn:spacing, object property in GtkTreeViewColumn
GtkTreeViewColumn:title, object property in GtkTreeViewColumn
GtkTreeViewColumn:visible, object property in GtkTreeViewColumn
GtkTreeViewColumn:widget, object property in GtkTreeViewColumn
GtkTreeViewColumn:width, object property in GtkTreeViewColumn
GtkTreeViewColumn:x-offset, object property in GtkTreeViewColumn
GtkTreeViewColumnDropFunc, user_function in GtkTreeView
GtkTreeViewColumnSizing, enum in GtkTreeViewColumn
GtkTreeViewDropPosition, enum in GtkTreeView
GtkTreeViewGridLines, enum in GtkTreeView
GtkTreeViewMappingFunc, user_function in GtkTreeView
GtkTreeViewRowSeparatorFunc, user_function in GtkTreeView
GtkTreeViewSearchEqualFunc, user_function in GtkTreeView
gtk_tree_create_row_drag_content, function in GtkTreeView drag-and-drop
gtk_tree_drag_dest_drag_data_received, function in GtkTreeView drag-and-drop
gtk_tree_drag_dest_row_drop_possible, function in GtkTreeView drag-and-drop
gtk_tree_drag_source_drag_data_delete, function in GtkTreeView drag-and-drop
gtk_tree_drag_source_drag_data_get, function in GtkTreeView drag-and-drop
gtk_tree_drag_source_row_draggable, function in GtkTreeView drag-and-drop
gtk_tree_expander_get_child, function in GtkTreeExpander
gtk_tree_expander_get_item, function in GtkTreeExpander
gtk_tree_expander_get_list_row, function in GtkTreeExpander
gtk_tree_expander_new, function in GtkTreeExpander
gtk_tree_expander_set_child, function in GtkTreeExpander
gtk_tree_expander_set_list_row, function in GtkTreeExpander
gtk_tree_get_row_drag_data, function in GtkTreeView drag-and-drop
gtk_tree_iter_copy, function in GtkTreeModel
gtk_tree_iter_free, function in GtkTreeModel
gtk_tree_list_model_get_autoexpand, function in GtkTreeListModel
gtk_tree_list_model_get_child_row, function in GtkTreeListModel
gtk_tree_list_model_get_model, function in GtkTreeListModel
gtk_tree_list_model_get_passthrough, function in GtkTreeListModel
gtk_tree_list_model_get_row, function in GtkTreeListModel
gtk_tree_list_model_new, function in GtkTreeListModel
gtk_tree_list_model_set_autoexpand, function in GtkTreeListModel
gtk_tree_list_row_get_children, function in GtkTreeListRow
gtk_tree_list_row_get_child_row, function in GtkTreeListRow
gtk_tree_list_row_get_depth, function in GtkTreeListRow
gtk_tree_list_row_get_expanded, function in GtkTreeListRow
gtk_tree_list_row_get_item, function in GtkTreeListRow
gtk_tree_list_row_get_parent, function in GtkTreeListRow
gtk_tree_list_row_get_position, function in GtkTreeListRow
gtk_tree_list_row_is_expandable, function in GtkTreeListRow
gtk_tree_list_row_set_expanded, function in GtkTreeListRow
gtk_tree_list_row_sorter_get_sorter, function in GtkTreeListRowSorter
gtk_tree_list_row_sorter_new, function in GtkTreeListRowSorter
gtk_tree_list_row_sorter_set_sorter, function in GtkTreeListRowSorter
gtk_tree_model_filter_clear_cache, function in GtkTreeModelFilter
gtk_tree_model_filter_convert_child_iter_to_iter, function in GtkTreeModelFilter
gtk_tree_model_filter_convert_child_path_to_path, function in GtkTreeModelFilter
gtk_tree_model_filter_convert_iter_to_child_iter, function in GtkTreeModelFilter
gtk_tree_model_filter_convert_path_to_child_path, function in GtkTreeModelFilter
gtk_tree_model_filter_get_model, function in GtkTreeModelFilter
gtk_tree_model_filter_new, function in GtkTreeModelFilter
gtk_tree_model_filter_refilter, function in GtkTreeModelFilter
gtk_tree_model_filter_set_modify_func, function in GtkTreeModelFilter
gtk_tree_model_filter_set_visible_column, function in GtkTreeModelFilter
gtk_tree_model_filter_set_visible_func, function in GtkTreeModelFilter
gtk_tree_model_foreach, function in GtkTreeModel
gtk_tree_model_get, function in GtkTreeModel
gtk_tree_model_get_column_type, function in GtkTreeModel
gtk_tree_model_get_flags, function in GtkTreeModel
gtk_tree_model_get_iter, function in GtkTreeModel
gtk_tree_model_get_iter_first, function in GtkTreeModel
gtk_tree_model_get_iter_from_string, function in GtkTreeModel
gtk_tree_model_get_n_columns, function in GtkTreeModel
gtk_tree_model_get_path, function in GtkTreeModel
gtk_tree_model_get_string_from_iter, function in GtkTreeModel
gtk_tree_model_get_valist, function in GtkTreeModel
gtk_tree_model_get_value, function in GtkTreeModel
gtk_tree_model_iter_children, function in GtkTreeModel
gtk_tree_model_iter_has_child, function in GtkTreeModel
gtk_tree_model_iter_next, function in GtkTreeModel
gtk_tree_model_iter_nth_child, function in GtkTreeModel
gtk_tree_model_iter_n_children, function in GtkTreeModel
gtk_tree_model_iter_parent, function in GtkTreeModel
gtk_tree_model_iter_previous, function in GtkTreeModel
gtk_tree_model_ref_node, function in GtkTreeModel
gtk_tree_model_rows_reordered, function in GtkTreeModel
gtk_tree_model_rows_reordered_with_length, function in GtkTreeModel
gtk_tree_model_row_changed, function in GtkTreeModel
gtk_tree_model_row_deleted, function in GtkTreeModel
gtk_tree_model_row_has_child_toggled, function in GtkTreeModel
gtk_tree_model_row_inserted, function in GtkTreeModel
gtk_tree_model_sort_clear_cache, function in GtkTreeModelSort
gtk_tree_model_sort_convert_child_iter_to_iter, function in GtkTreeModelSort
gtk_tree_model_sort_convert_child_path_to_path, function in GtkTreeModelSort
gtk_tree_model_sort_convert_iter_to_child_iter, function in GtkTreeModelSort
gtk_tree_model_sort_convert_path_to_child_path, function in GtkTreeModelSort
gtk_tree_model_sort_get_model, function in GtkTreeModelSort
gtk_tree_model_sort_iter_is_valid, function in GtkTreeModelSort
gtk_tree_model_sort_new_with_model, function in GtkTreeModelSort
gtk_tree_model_sort_reset_default_sort_func, function in GtkTreeModelSort
gtk_tree_model_unref_node, function in GtkTreeModel
gtk_tree_path_append_index, function in GtkTreeModel
gtk_tree_path_compare, function in GtkTreeModel
gtk_tree_path_copy, function in GtkTreeModel
gtk_tree_path_down, function in GtkTreeModel
gtk_tree_path_free, function in GtkTreeModel
gtk_tree_path_get_depth, function in GtkTreeModel
gtk_tree_path_get_indices, function in GtkTreeModel
gtk_tree_path_get_indices_with_depth, function in GtkTreeModel
gtk_tree_path_is_ancestor, function in GtkTreeModel
gtk_tree_path_is_descendant, function in GtkTreeModel
gtk_tree_path_new, function in GtkTreeModel
gtk_tree_path_new_first, function in GtkTreeModel
gtk_tree_path_new_from_indices, function in GtkTreeModel
gtk_tree_path_new_from_indicesv, function in GtkTreeModel
gtk_tree_path_new_from_string, function in GtkTreeModel
gtk_tree_path_next, function in GtkTreeModel
gtk_tree_path_prepend_index, function in GtkTreeModel
gtk_tree_path_prev, function in GtkTreeModel
gtk_tree_path_to_string, function in GtkTreeModel
gtk_tree_path_up, function in GtkTreeModel
gtk_tree_row_reference_copy, function in GtkTreeModel
gtk_tree_row_reference_deleted, function in GtkTreeModel
gtk_tree_row_reference_free, function in GtkTreeModel
gtk_tree_row_reference_get_model, function in GtkTreeModel
gtk_tree_row_reference_get_path, function in GtkTreeModel
gtk_tree_row_reference_inserted, function in GtkTreeModel
gtk_tree_row_reference_new, function in GtkTreeModel
gtk_tree_row_reference_new_proxy, function in GtkTreeModel
gtk_tree_row_reference_reordered, function in GtkTreeModel
gtk_tree_row_reference_valid, function in GtkTreeModel
gtk_tree_selection_count_selected_rows, function in GtkTreeSelection
gtk_tree_selection_get_mode, function in GtkTreeSelection
gtk_tree_selection_get_selected, function in GtkTreeSelection
gtk_tree_selection_get_selected_rows, function in GtkTreeSelection
gtk_tree_selection_get_select_function, function in GtkTreeSelection
gtk_tree_selection_get_tree_view, function in GtkTreeSelection
gtk_tree_selection_get_user_data, function in GtkTreeSelection
gtk_tree_selection_iter_is_selected, function in GtkTreeSelection
gtk_tree_selection_path_is_selected, function in GtkTreeSelection
gtk_tree_selection_selected_foreach, function in GtkTreeSelection
gtk_tree_selection_select_all, function in GtkTreeSelection
gtk_tree_selection_select_iter, function in GtkTreeSelection
gtk_tree_selection_select_path, function in GtkTreeSelection
gtk_tree_selection_select_range, function in GtkTreeSelection
gtk_tree_selection_set_mode, function in GtkTreeSelection
gtk_tree_selection_set_select_function, function in GtkTreeSelection
gtk_tree_selection_unselect_all, function in GtkTreeSelection
gtk_tree_selection_unselect_iter, function in GtkTreeSelection
gtk_tree_selection_unselect_path, function in GtkTreeSelection
gtk_tree_selection_unselect_range, function in GtkTreeSelection
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, macro in GtkTreeSortable
gtk_tree_sortable_get_sort_column_id, function in GtkTreeSortable
gtk_tree_sortable_has_default_sort_func, function in GtkTreeSortable
gtk_tree_sortable_set_default_sort_func, function in GtkTreeSortable
gtk_tree_sortable_set_sort_column_id, function in GtkTreeSortable
gtk_tree_sortable_set_sort_func, function in GtkTreeSortable
gtk_tree_sortable_sort_column_changed, function in GtkTreeSortable
GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, macro in GtkTreeSortable
gtk_tree_store_append, function in GtkTreeStore
gtk_tree_store_clear, function in GtkTreeStore
gtk_tree_store_insert, function in GtkTreeStore
gtk_tree_store_insert_after, function in GtkTreeStore
gtk_tree_store_insert_before, function in GtkTreeStore
gtk_tree_store_insert_with_values, function in GtkTreeStore
gtk_tree_store_insert_with_valuesv, function in GtkTreeStore
gtk_tree_store_is_ancestor, function in GtkTreeStore
gtk_tree_store_iter_depth, function in GtkTreeStore
gtk_tree_store_iter_is_valid, function in GtkTreeStore
gtk_tree_store_move_after, function in GtkTreeStore
gtk_tree_store_move_before, function in GtkTreeStore
gtk_tree_store_new, function in GtkTreeStore
gtk_tree_store_newv, function in GtkTreeStore
gtk_tree_store_prepend, function in GtkTreeStore
gtk_tree_store_remove, function in GtkTreeStore
gtk_tree_store_reorder, function in GtkTreeStore
gtk_tree_store_set, function in GtkTreeStore
gtk_tree_store_set_column_types, function in GtkTreeStore
gtk_tree_store_set_valist, function in GtkTreeStore
gtk_tree_store_set_value, function in GtkTreeStore
gtk_tree_store_set_valuesv, function in GtkTreeStore
gtk_tree_store_swap, function in GtkTreeStore
gtk_tree_view_append_column, function in GtkTreeView
gtk_tree_view_collapse_all, function in GtkTreeView
gtk_tree_view_collapse_row, function in GtkTreeView
gtk_tree_view_columns_autosize, function in GtkTreeView
gtk_tree_view_column_add_attribute, function in GtkTreeViewColumn
gtk_tree_view_column_cell_get_position, function in GtkTreeViewColumn
gtk_tree_view_column_cell_get_size, function in GtkTreeViewColumn
gtk_tree_view_column_cell_is_visible, function in GtkTreeViewColumn
gtk_tree_view_column_cell_set_cell_data, function in GtkTreeViewColumn
gtk_tree_view_column_clear, function in GtkTreeViewColumn
gtk_tree_view_column_clear_attributes, function in GtkTreeViewColumn
gtk_tree_view_column_clicked, function in GtkTreeViewColumn
gtk_tree_view_column_focus_cell, function in GtkTreeViewColumn
gtk_tree_view_column_get_alignment, function in GtkTreeViewColumn
gtk_tree_view_column_get_button, function in GtkTreeViewColumn
gtk_tree_view_column_get_clickable, function in GtkTreeViewColumn
gtk_tree_view_column_get_expand, function in GtkTreeViewColumn
gtk_tree_view_column_get_fixed_width, function in GtkTreeViewColumn
gtk_tree_view_column_get_max_width, function in GtkTreeViewColumn
gtk_tree_view_column_get_min_width, function in GtkTreeViewColumn
gtk_tree_view_column_get_reorderable, function in GtkTreeViewColumn
gtk_tree_view_column_get_resizable, function in GtkTreeViewColumn
gtk_tree_view_column_get_sizing, function in GtkTreeViewColumn
gtk_tree_view_column_get_sort_column_id, function in GtkTreeViewColumn
gtk_tree_view_column_get_sort_indicator, function in GtkTreeViewColumn
gtk_tree_view_column_get_sort_order, function in GtkTreeViewColumn
gtk_tree_view_column_get_spacing, function in GtkTreeViewColumn
gtk_tree_view_column_get_title, function in GtkTreeViewColumn
gtk_tree_view_column_get_tree_view, function in GtkTreeViewColumn
gtk_tree_view_column_get_visible, function in GtkTreeViewColumn
gtk_tree_view_column_get_widget, function in GtkTreeViewColumn
gtk_tree_view_column_get_width, function in GtkTreeViewColumn
gtk_tree_view_column_get_x_offset, function in GtkTreeViewColumn
gtk_tree_view_column_new, function in GtkTreeViewColumn
gtk_tree_view_column_new_with_area, function in GtkTreeViewColumn
gtk_tree_view_column_new_with_attributes, function in GtkTreeViewColumn
gtk_tree_view_column_pack_end, function in GtkTreeViewColumn
gtk_tree_view_column_pack_start, function in GtkTreeViewColumn
gtk_tree_view_column_queue_resize, function in GtkTreeViewColumn
gtk_tree_view_column_set_alignment, function in GtkTreeViewColumn
gtk_tree_view_column_set_attributes, function in GtkTreeViewColumn
gtk_tree_view_column_set_cell_data_func, function in GtkTreeViewColumn
gtk_tree_view_column_set_clickable, function in GtkTreeViewColumn
gtk_tree_view_column_set_expand, function in GtkTreeViewColumn
gtk_tree_view_column_set_fixed_width, function in GtkTreeViewColumn
gtk_tree_view_column_set_max_width, function in GtkTreeViewColumn
gtk_tree_view_column_set_min_width, function in GtkTreeViewColumn
gtk_tree_view_column_set_reorderable, function in GtkTreeViewColumn
gtk_tree_view_column_set_resizable, function in GtkTreeViewColumn
gtk_tree_view_column_set_sizing, function in GtkTreeViewColumn
gtk_tree_view_column_set_sort_column_id, function in GtkTreeViewColumn
gtk_tree_view_column_set_sort_indicator, function in GtkTreeViewColumn
gtk_tree_view_column_set_sort_order, function in GtkTreeViewColumn
gtk_tree_view_column_set_spacing, function in GtkTreeViewColumn
gtk_tree_view_column_set_title, function in GtkTreeViewColumn
gtk_tree_view_column_set_visible, function in GtkTreeViewColumn
gtk_tree_view_column_set_widget, function in GtkTreeViewColumn
gtk_tree_view_convert_bin_window_to_tree_coords, function in GtkTreeView
gtk_tree_view_convert_bin_window_to_widget_coords, function in GtkTreeView
gtk_tree_view_convert_tree_to_bin_window_coords, function in GtkTreeView
gtk_tree_view_convert_tree_to_widget_coords, function in GtkTreeView
gtk_tree_view_convert_widget_to_bin_window_coords, function in GtkTreeView
gtk_tree_view_convert_widget_to_tree_coords, function in GtkTreeView
gtk_tree_view_create_row_drag_icon, function in GtkTreeView
gtk_tree_view_enable_model_drag_dest, function in GtkTreeView
gtk_tree_view_enable_model_drag_source, function in GtkTreeView
gtk_tree_view_expand_all, function in GtkTreeView
gtk_tree_view_expand_row, function in GtkTreeView
gtk_tree_view_expand_to_path, function in GtkTreeView
gtk_tree_view_get_activate_on_single_click, function in GtkTreeView
gtk_tree_view_get_background_area, function in GtkTreeView
gtk_tree_view_get_cell_area, function in GtkTreeView
gtk_tree_view_get_column, function in GtkTreeView
gtk_tree_view_get_columns, function in GtkTreeView
gtk_tree_view_get_cursor, function in GtkTreeView
gtk_tree_view_get_dest_row_at_pos, function in GtkTreeView
gtk_tree_view_get_drag_dest_row, function in GtkTreeView
gtk_tree_view_get_enable_search, function in GtkTreeView
gtk_tree_view_get_enable_tree_lines, function in GtkTreeView
gtk_tree_view_get_expander_column, function in GtkTreeView
gtk_tree_view_get_fixed_height_mode, function in GtkTreeView
gtk_tree_view_get_grid_lines, function in GtkTreeView
gtk_tree_view_get_headers_clickable, function in GtkTreeView
gtk_tree_view_get_headers_visible, function in GtkTreeView
gtk_tree_view_get_hover_expand, function in GtkTreeView
gtk_tree_view_get_hover_selection, function in GtkTreeView
gtk_tree_view_get_level_indentation, function in GtkTreeView
gtk_tree_view_get_model, function in GtkTreeView
gtk_tree_view_get_n_columns, function in GtkTreeView
gtk_tree_view_get_path_at_pos, function in GtkTreeView
gtk_tree_view_get_reorderable, function in GtkTreeView
gtk_tree_view_get_row_separator_func, function in GtkTreeView
gtk_tree_view_get_rubber_banding, function in GtkTreeView
gtk_tree_view_get_search_column, function in GtkTreeView
gtk_tree_view_get_search_entry, function in GtkTreeView
gtk_tree_view_get_search_equal_func, function in GtkTreeView
gtk_tree_view_get_selection, function in GtkTreeView
gtk_tree_view_get_show_expanders, function in GtkTreeView
gtk_tree_view_get_tooltip_column, function in GtkTreeView
gtk_tree_view_get_tooltip_context, function in GtkTreeView
gtk_tree_view_get_visible_range, function in GtkTreeView
gtk_tree_view_get_visible_rect, function in GtkTreeView
gtk_tree_view_insert_column, function in GtkTreeView
gtk_tree_view_insert_column_with_attributes, function in GtkTreeView
gtk_tree_view_insert_column_with_data_func, function in GtkTreeView
gtk_tree_view_is_blank_at_pos, function in GtkTreeView
gtk_tree_view_is_rubber_banding_active, function in GtkTreeView
gtk_tree_view_map_expanded_rows, function in GtkTreeView
gtk_tree_view_move_column_after, function in GtkTreeView
gtk_tree_view_new, function in GtkTreeView
gtk_tree_view_new_with_model, function in GtkTreeView
gtk_tree_view_remove_column, function in GtkTreeView
gtk_tree_view_row_activated, function in GtkTreeView
gtk_tree_view_row_expanded, function in GtkTreeView
gtk_tree_view_scroll_to_cell, function in GtkTreeView
gtk_tree_view_scroll_to_point, function in GtkTreeView
gtk_tree_view_set_activate_on_single_click, function in GtkTreeView
gtk_tree_view_set_column_drag_function, function in GtkTreeView
gtk_tree_view_set_cursor, function in GtkTreeView
gtk_tree_view_set_cursor_on_cell, function in GtkTreeView
gtk_tree_view_set_drag_dest_row, function in GtkTreeView
gtk_tree_view_set_enable_search, function in GtkTreeView
gtk_tree_view_set_enable_tree_lines, function in GtkTreeView
gtk_tree_view_set_expander_column, function in GtkTreeView
gtk_tree_view_set_fixed_height_mode, function in GtkTreeView
gtk_tree_view_set_grid_lines, function in GtkTreeView
gtk_tree_view_set_headers_clickable, function in GtkTreeView
gtk_tree_view_set_headers_visible, function in GtkTreeView
gtk_tree_view_set_hover_expand, function in GtkTreeView
gtk_tree_view_set_hover_selection, function in GtkTreeView
gtk_tree_view_set_level_indentation, function in GtkTreeView
gtk_tree_view_set_model, function in GtkTreeView
gtk_tree_view_set_reorderable, function in GtkTreeView
gtk_tree_view_set_row_separator_func, function in GtkTreeView
gtk_tree_view_set_rubber_banding, function in GtkTreeView
gtk_tree_view_set_search_column, function in GtkTreeView
gtk_tree_view_set_search_entry, function in GtkTreeView
gtk_tree_view_set_search_equal_func, function in GtkTreeView
gtk_tree_view_set_show_expanders, function in GtkTreeView
gtk_tree_view_set_tooltip_cell, function in GtkTreeView
gtk_tree_view_set_tooltip_column, function in GtkTreeView
gtk_tree_view_set_tooltip_row, function in GtkTreeView
gtk_tree_view_unset_rows_drag_dest, function in GtkTreeView
gtk_tree_view_unset_rows_drag_source, function in GtkTreeView
GTK_TYPE_ICON_LOOKUP_FLAGS, macro in GtkIconTheme
GTK_TYPE_ICON_THEME_ERROR, macro in GtkIconTheme
GTK_TYPE_TREE_ROW_DATA, macro in GtkTreeView drag-and-drop

U

GtkUnit, enum in GtkPaperSize
GTK_UNIT_PIXEL, macro in GtkPaperSize

V

gtk_value_dup_expression, function in GtkExpression
gtk_value_get_expression, function in GtkExpression
GTK_VALUE_HOLDS_EXPRESSION, macro in GtkExpression
gtk_value_set_expression, function in GtkExpression
gtk_value_take_expression, function in GtkExpression
GtkVideo, struct in GtkVideo
GtkVideo:autoplay, object property in GtkVideo
GtkVideo:file, object property in GtkVideo
GtkVideo:loop, object property in GtkVideo
GtkVideo:media-stream, object property in GtkVideo
gtk_video_get_autoplay, function in GtkVideo
gtk_video_get_file, function in GtkVideo
gtk_video_get_loop, function in GtkVideo
gtk_video_get_media_stream, function in GtkVideo
gtk_video_new, function in GtkVideo
gtk_video_new_for_file, function in GtkVideo
gtk_video_new_for_filename, function in GtkVideo
gtk_video_new_for_media_stream, function in GtkVideo
gtk_video_new_for_resource, function in GtkVideo
gtk_video_set_autoplay, function in GtkVideo
gtk_video_set_file, function in GtkVideo
gtk_video_set_filename, function in GtkVideo
gtk_video_set_loop, function in GtkVideo
gtk_video_set_media_stream, function in GtkVideo
gtk_video_set_resource, function in GtkVideo
GtkViewport, struct in GtkViewport
GtkViewport:child, object property in GtkViewport
GtkViewport:scroll-to-focus, object property in GtkViewport
gtk_viewport_get_child, function in GtkViewport
gtk_viewport_get_scroll_to_focus, function in GtkViewport
gtk_viewport_new, function in GtkViewport
gtk_viewport_set_child, function in GtkViewport
gtk_viewport_set_scroll_to_focus, function in GtkViewport
GtkVolumeButton, struct in GtkVolumeButton
GtkVolumeButton:use-symbolic, object property in GtkVolumeButton
gtk_volume_button_new, function in GtkVolumeButton

W

GtkWidget, struct in GtkWidget
GtkWidget::destroy, object signal in GtkWidget
GtkWidget::direction-changed, object signal in GtkWidget
GtkWidget::hide, object signal in GtkWidget
GtkWidget::keynav-failed, object signal in GtkWidget
GtkWidget::map, object signal in GtkWidget
GtkWidget::mnemonic-activate, object signal in GtkWidget
GtkWidget::move-focus, object signal in GtkWidget
GtkWidget::query-tooltip, object signal in GtkWidget
GtkWidget::realize, object signal in GtkWidget
GtkWidget::show, object signal in GtkWidget
GtkWidget::state-flags-changed, object signal in GtkWidget
GtkWidget::unmap, object signal in GtkWidget
GtkWidget::unrealize, object signal in GtkWidget
GtkWidget:can-focus, object property in GtkWidget
GtkWidget:can-target, object property in GtkWidget
GtkWidget:css-classes, object property in GtkWidget
GtkWidget:css-name, object property in GtkWidget
GtkWidget:cursor, object property in GtkWidget
GtkWidget:focus-on-click, object property in GtkWidget
GtkWidget:focusable, object property in GtkWidget
GtkWidget:halign, object property in GtkWidget
GtkWidget:has-default, object property in GtkWidget
GtkWidget:has-focus, object property in GtkWidget
GtkWidget:has-tooltip, object property in GtkWidget
GtkWidget:height-request, object property in GtkWidget
GtkWidget:hexpand, object property in GtkWidget
GtkWidget:hexpand-set, object property in GtkWidget
GtkWidget:layout-manager, object property in GtkWidget
GtkWidget:margin-bottom, object property in GtkWidget
GtkWidget:margin-end, object property in GtkWidget
GtkWidget:margin-start, object property in GtkWidget
GtkWidget:margin-top, object property in GtkWidget
GtkWidget:name, object property in GtkWidget
GtkWidget:opacity, object property in GtkWidget
GtkWidget:overflow, object property in GtkWidget
GtkWidget:parent, object property in GtkWidget
GtkWidget:receives-default, object property in GtkWidget
GtkWidget:root, object property in GtkWidget
GtkWidget:scale-factor, object property in GtkWidget
GtkWidget:sensitive, object property in GtkWidget
GtkWidget:tooltip-markup, object property in GtkWidget
GtkWidget:tooltip-text, object property in GtkWidget
GtkWidget:valign, object property in GtkWidget
GtkWidget:vexpand, object property in GtkWidget
GtkWidget:vexpand-set, object property in GtkWidget
GtkWidget:visible, object property in GtkWidget
GtkWidget:width-request, object property in GtkWidget
GtkWidgetActionActivateFunc, user_function in GtkWidget
GtkWidgetClass, struct in GtkWidget
GtkWidgetPaintable, struct in GtkWidgetPaintable
gtk_widget_action_set_enabled, function in GtkWidget
gtk_widget_activate, function in GtkWidget
gtk_widget_activate_action, function in GtkWidget
gtk_widget_activate_action_variant, function in GtkWidget
gtk_widget_activate_default, function in GtkWidget
gtk_widget_add_controller, function in GtkWidget
gtk_widget_add_css_class, function in GtkWidget
gtk_widget_add_mnemonic_label, function in GtkWidget
gtk_widget_add_tick_callback, function in GtkWidget
gtk_widget_allocate, function in GtkWidget
gtk_widget_child_focus, function in GtkWidget
gtk_widget_class_add_binding, function in GtkWidget
gtk_widget_class_add_binding_action, function in GtkWidget
gtk_widget_class_add_binding_signal, function in GtkWidget
gtk_widget_class_add_shortcut, function in GtkWidget
gtk_widget_class_bind_template_callback, macro in GtkWidget
gtk_widget_class_bind_template_callback_full, function in GtkWidget
gtk_widget_class_bind_template_child, macro in GtkWidget
gtk_widget_class_bind_template_child_full, function in GtkWidget
gtk_widget_class_bind_template_child_internal, macro in GtkWidget
gtk_widget_class_bind_template_child_internal_private, macro in GtkWidget
gtk_widget_class_bind_template_child_private, macro in GtkWidget
gtk_widget_class_get_css_name, function in GtkWidget
gtk_widget_class_get_layout_manager_type, function in GtkWidget
gtk_widget_class_install_action, function in GtkWidget
gtk_widget_class_install_property_action, function in GtkWidget
gtk_widget_class_query_action, function in GtkWidget
gtk_widget_class_set_accessible_role, function in GtkWidget
gtk_widget_class_set_css_name, function in GtkWidget
gtk_widget_class_set_layout_manager_type, function in GtkWidget
gtk_widget_class_set_template, function in GtkWidget
gtk_widget_class_set_template_from_resource, function in GtkWidget
gtk_widget_class_set_template_scope, function in GtkWidget
gtk_widget_compute_bounds, function in GtkWidget
gtk_widget_compute_expand, function in GtkWidget
gtk_widget_compute_point, function in GtkWidget
gtk_widget_compute_transform, function in GtkWidget
gtk_widget_contains, function in GtkWidget
gtk_widget_create_pango_context, function in GtkWidget
gtk_widget_create_pango_layout, function in GtkWidget
gtk_widget_error_bell, function in GtkWidget
gtk_widget_get_allocated_baseline, function in GtkWidget
gtk_widget_get_allocated_height, function in GtkWidget
gtk_widget_get_allocated_width, function in GtkWidget
gtk_widget_get_allocation, function in GtkWidget
gtk_widget_get_ancestor, function in GtkWidget
gtk_widget_get_can_focus, function in GtkWidget
gtk_widget_get_can_target, function in GtkWidget
gtk_widget_get_child_visible, function in GtkWidget
gtk_widget_get_clipboard, function in GtkWidget
gtk_widget_get_css_classes, function in GtkWidget
gtk_widget_get_css_name, function in GtkWidget
gtk_widget_get_cursor, function in GtkWidget
gtk_widget_get_default_direction, function in GtkWidget
gtk_widget_get_direction, function in GtkWidget
gtk_widget_get_display, function in GtkWidget
gtk_widget_get_first_child, function in GtkWidget
gtk_widget_get_focusable, function in GtkWidget
gtk_widget_get_focus_on_click, function in GtkWidget
gtk_widget_get_font_map, function in GtkWidget
gtk_widget_get_font_options, function in GtkWidget
gtk_widget_get_frame_clock, function in GtkWidget
gtk_widget_get_halign, function in GtkWidget
gtk_widget_get_has_tooltip, function in GtkWidget
gtk_widget_get_height, function in GtkWidget
gtk_widget_get_hexpand, function in GtkWidget
gtk_widget_get_hexpand_set, function in GtkWidget
gtk_widget_get_last_child, function in GtkWidget
gtk_widget_get_layout_manager, function in GtkWidget
gtk_widget_get_mapped, function in GtkWidget
gtk_widget_get_margin_bottom, function in GtkWidget
gtk_widget_get_margin_end, function in GtkWidget
gtk_widget_get_margin_start, function in GtkWidget
gtk_widget_get_margin_top, function in GtkWidget
gtk_widget_get_name, function in GtkWidget
gtk_widget_get_native, function in GtkWidget
gtk_widget_get_next_sibling, function in GtkWidget
gtk_widget_get_opacity, function in GtkWidget
gtk_widget_get_overflow, function in GtkWidget
gtk_widget_get_pango_context, function in GtkWidget
gtk_widget_get_parent, function in GtkWidget
gtk_widget_get_preferred_size, function in GtkWidget
gtk_widget_get_prev_sibling, function in GtkWidget
gtk_widget_get_primary_clipboard, function in GtkWidget
gtk_widget_get_realized, function in GtkWidget
gtk_widget_get_receives_default, function in GtkWidget
gtk_widget_get_request_mode, function in GtkWidget
gtk_widget_get_root, function in GtkWidget
gtk_widget_get_scale_factor, function in GtkWidget
gtk_widget_get_sensitive, function in GtkWidget
gtk_widget_get_settings, function in GtkWidget
gtk_widget_get_size, function in GtkWidget
gtk_widget_get_size_request, function in GtkWidget
gtk_widget_get_state_flags, function in GtkWidget
gtk_widget_get_style_context, function in GtkWidget
gtk_widget_get_template_child, function in GtkWidget
gtk_widget_get_tooltip_markup, function in GtkWidget
gtk_widget_get_tooltip_text, function in GtkWidget
gtk_widget_get_valign, function in GtkWidget
gtk_widget_get_vexpand, function in GtkWidget
gtk_widget_get_vexpand_set, function in GtkWidget
gtk_widget_get_visible, function in GtkWidget
gtk_widget_get_width, function in GtkWidget
gtk_widget_grab_focus, function in GtkWidget
gtk_widget_has_css_class, function in GtkWidget
gtk_widget_has_default, function in GtkWidget
gtk_widget_has_focus, function in GtkWidget
gtk_widget_has_visible_focus, function in GtkWidget
gtk_widget_hide, function in GtkWidget
gtk_widget_init_template, function in GtkWidget
gtk_widget_insert_action_group, function in GtkWidget
gtk_widget_insert_after, function in GtkWidget
gtk_widget_insert_before, function in GtkWidget
gtk_widget_in_destruction, function in GtkWidget
gtk_widget_is_ancestor, function in GtkWidget
gtk_widget_is_drawable, function in GtkWidget
gtk_widget_is_focus, function in GtkWidget
gtk_widget_is_sensitive, function in GtkWidget
gtk_widget_is_visible, function in GtkWidget
gtk_widget_keynav_failed, function in GtkWidget
gtk_widget_list_mnemonic_labels, function in GtkWidget
gtk_widget_map, function in GtkWidget
gtk_widget_measure, function in GtkWidget
gtk_widget_mnemonic_activate, function in GtkWidget
gtk_widget_new, function in GtkWidget
gtk_widget_observe_children, function in GtkWidget
gtk_widget_observe_controllers, function in GtkWidget
gtk_widget_paintable_get_widget, function in GtkWidgetPaintable
gtk_widget_paintable_new, function in GtkWidgetPaintable
gtk_widget_paintable_set_widget, function in GtkWidgetPaintable
gtk_widget_pick, function in GtkWidget
gtk_widget_queue_allocate, function in GtkWidget
gtk_widget_queue_draw, function in GtkWidget
gtk_widget_queue_resize, function in GtkWidget
gtk_widget_realize, function in GtkWidget
gtk_widget_remove_controller, function in GtkWidget
gtk_widget_remove_css_class, function in GtkWidget
gtk_widget_remove_mnemonic_label, function in GtkWidget
gtk_widget_remove_tick_callback, function in GtkWidget
gtk_widget_set_can_focus, function in GtkWidget
gtk_widget_set_can_target, function in GtkWidget
gtk_widget_set_child_visible, function in GtkWidget
gtk_widget_set_css_classes, function in GtkWidget
gtk_widget_set_cursor, function in GtkWidget
gtk_widget_set_cursor_from_name, function in GtkWidget
gtk_widget_set_default_direction, function in GtkWidget
gtk_widget_set_direction, function in GtkWidget
gtk_widget_set_focusable, function in GtkWidget
gtk_widget_set_focus_child, function in GtkWidget
gtk_widget_set_focus_on_click, function in GtkWidget
gtk_widget_set_font_map, function in GtkWidget
gtk_widget_set_font_options, function in GtkWidget
gtk_widget_set_halign, function in GtkWidget
gtk_widget_set_has_tooltip, function in GtkWidget
gtk_widget_set_hexpand, function in GtkWidget
gtk_widget_set_hexpand_set, function in GtkWidget
gtk_widget_set_layout_manager, function in GtkWidget
gtk_widget_set_margin_bottom, function in GtkWidget
gtk_widget_set_margin_end, function in GtkWidget
gtk_widget_set_margin_start, function in GtkWidget
gtk_widget_set_margin_top, function in GtkWidget
gtk_widget_set_name, function in GtkWidget
gtk_widget_set_opacity, function in GtkWidget
gtk_widget_set_overflow, function in GtkWidget
gtk_widget_set_parent, function in GtkWidget
gtk_widget_set_receives_default, function in GtkWidget
gtk_widget_set_sensitive, function in GtkWidget
gtk_widget_set_size_request, function in GtkWidget
gtk_widget_set_state_flags, function in GtkWidget
gtk_widget_set_tooltip_markup, function in GtkWidget
gtk_widget_set_tooltip_text, function in GtkWidget
gtk_widget_set_valign, function in GtkWidget
gtk_widget_set_vexpand, function in GtkWidget
gtk_widget_set_vexpand_set, function in GtkWidget
gtk_widget_set_visible, function in GtkWidget
gtk_widget_should_layout, function in GtkWidget
gtk_widget_show, function in GtkWidget
gtk_widget_size_allocate, function in GtkWidget
gtk_widget_snapshot_child, function in GtkWidget
gtk_widget_translate_coordinates, function in GtkWidget
gtk_widget_trigger_tooltip_query, function in GtkWidget
gtk_widget_unmap, function in GtkWidget
gtk_widget_unparent, function in GtkWidget
gtk_widget_unrealize, function in GtkWidget
gtk_widget_unset_state_flags, function in GtkWidget
GtkWindow, struct in GtkWindow
GtkWindow::activate-default, object signal in GtkWindow
GtkWindow::activate-focus, object signal in GtkWindow
GtkWindow::close-request, object signal in GtkWindow
GtkWindow::enable-debugging, object signal in GtkWindow
GtkWindow::keys-changed, object signal in GtkWindow
GtkWindow:application, object property in GtkWindow
GtkWindow:child, object property in GtkWindow
GtkWindow:decorated, object property in GtkWindow
GtkWindow:default-height, object property in GtkWindow
GtkWindow:default-widget, object property in GtkWindow
GtkWindow:default-width, object property in GtkWindow
GtkWindow:deletable, object property in GtkWindow
GtkWindow:destroy-with-parent, object property in GtkWindow
GtkWindow:display, object property in GtkWindow
GtkWindow:focus-visible, object property in GtkWindow
GtkWindow:focus-widget, object property in GtkWindow
GtkWindow:hide-on-close, object property in GtkWindow
GtkWindow:icon-name, object property in GtkWindow
GtkWindow:is-active, object property in GtkWindow
GtkWindow:is-maximized, object property in GtkWindow
GtkWindow:mnemonics-visible, object property in GtkWindow
GtkWindow:modal, object property in GtkWindow
GtkWindow:resizable, object property in GtkWindow
GtkWindow:startup-id, object property in GtkWindow
GtkWindow:title, object property in GtkWindow
GtkWindow:transient-for, object property in GtkWindow
GtkWindowClass, struct in GtkWindow
GtkWindowControls, struct in GtkWindowControls
GtkWindowControls:decoration-layout, object property in GtkWindowControls
GtkWindowControls:empty, object property in GtkWindowControls
GtkWindowControls:side, object property in GtkWindowControls
GtkWindowGroup, struct in GtkWindowGroup
GtkWindowHandle, struct in GtkWindowHandle
GtkWindowHandle:child, object property in GtkWindowHandle
gtk_window_close, function in GtkWindow
gtk_window_controls_get_decoration_layout, function in GtkWindowControls
gtk_window_controls_get_empty, function in GtkWindowControls
gtk_window_controls_get_side, function in GtkWindowControls
gtk_window_controls_new, function in GtkWindowControls
gtk_window_controls_set_decoration_layout, function in GtkWindowControls
gtk_window_controls_set_side, function in GtkWindowControls
gtk_window_destroy, function in GtkWindow
gtk_window_fullscreen, function in GtkWindow
gtk_window_fullscreen_on_monitor, function in GtkWindow
gtk_window_get_application, function in GtkWindow
gtk_window_get_child, function in GtkWindow
gtk_window_get_decorated, function in GtkWindow
gtk_window_get_default_icon_name, function in GtkWindow
gtk_window_get_default_size, function in GtkWindow
gtk_window_get_default_widget, function in GtkWindow
gtk_window_get_deletable, function in GtkWindow
gtk_window_get_destroy_with_parent, function in GtkWindow
gtk_window_get_focus, function in GtkWindow
gtk_window_get_focus_visible, function in GtkWindow
gtk_window_get_group, function in GtkWindow
gtk_window_get_hide_on_close, function in GtkWindow
gtk_window_get_icon_name, function in GtkWindow
gtk_window_get_mnemonics_visible, function in GtkWindow
gtk_window_get_modal, function in GtkWindow
gtk_window_get_resizable, function in GtkWindow
gtk_window_get_size, function in GtkWindow
gtk_window_get_title, function in GtkWindow
gtk_window_get_titlebar, function in GtkWindow
gtk_window_get_toplevels, function in GtkWindow
gtk_window_get_transient_for, function in GtkWindow
gtk_window_group_add_window, function in GtkWindowGroup
gtk_window_group_list_windows, function in GtkWindowGroup
gtk_window_group_new, function in GtkWindowGroup
gtk_window_group_remove_window, function in GtkWindowGroup
gtk_window_handle_get_child, function in GtkWindowHandle
gtk_window_handle_new, function in GtkWindowHandle
gtk_window_handle_set_child, function in GtkWindowHandle
gtk_window_has_group, function in GtkWindow
gtk_window_is_active, function in GtkWindow
gtk_window_is_maximized, function in GtkWindow
gtk_window_list_toplevels, function in GtkWindow
gtk_window_maximize, function in GtkWindow
gtk_window_minimize, function in GtkWindow
gtk_window_new, function in GtkWindow
gtk_window_present, function in GtkWindow
gtk_window_present_with_time, function in GtkWindow
gtk_window_resize, function in GtkWindow
gtk_window_set_application, function in GtkWindow
gtk_window_set_auto_startup_notification, function in GtkWindow
gtk_window_set_child, function in GtkWindow
gtk_window_set_decorated, function in GtkWindow
gtk_window_set_default_icon_name, function in GtkWindow
gtk_window_set_default_size, function in GtkWindow
gtk_window_set_default_widget, function in GtkWindow
gtk_window_set_deletable, function in GtkWindow
gtk_window_set_destroy_with_parent, function in GtkWindow
gtk_window_set_display, function in GtkWindow
gtk_window_set_focus, function in GtkWindow
gtk_window_set_focus_visible, function in GtkWindow
gtk_window_set_hide_on_close, function in GtkWindow
gtk_window_set_icon_name, function in GtkWindow
gtk_window_set_interactive_debugging, function in GtkWindow
gtk_window_set_mnemonics_visible, function in GtkWindow
gtk_window_set_modal, function in GtkWindow
gtk_window_set_resizable, function in GtkWindow
gtk_window_set_startup_id, function in GtkWindow
gtk_window_set_title, function in GtkWindow
gtk_window_set_titlebar, function in GtkWindow
gtk_window_set_transient_for, function in GtkWindow
gtk_window_unfullscreen, function in GtkWindow
gtk_window_unmaximize, function in GtkWindow
gtk_window_unminimize, function in GtkWindow
GtkWindow|default.activate, action in GtkWindow
GtkWindow|window.close, action in GtkWindow
GtkWindow|window.minimize, action in GtkWindow
GtkWindow|window.toggle-maximized, action in GtkWindow
GtkWrapMode, enum in GtkTextView
docs/reference/gtk/html/annotation-glossary.html0000664000175000017500000001763413710700534022241 0ustar mclasenmclasen Annotation Glossary: GTK 4 Reference Manual

Annotation Glossary

A

allow-none

NULL is OK, both for passing and for returning.

array

Parameter points to an array of items.

attributes

Free-form key-value pairs.

C

closure

This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.

constructor

This symbol is a constructor, not a static method.

D

destroy

This parameter is a 'destroy_data', for callbacks.

E

element-type

Generics and defining elements of containers and arrays.

I

in

Parameter for input. Default is transfer none.

inout

Parameter for input and for returning results. Default is transfer full.

M

method

This is a method

N

not nullable

NULL must not be passed as the value in, out, in-out; or as a return value.

nullable

NULL may be passed as the value in, out, in-out; or as a return value.

O

optional

NULL may be passed instead of a pointer to a location.

out

Parameter for returning results. Default is transfer full.

out caller-allocates

Out parameter, where caller must allocate storage.

R

rename-to

Rename the original symbol's name to SYMBOL.

S

scope async

The callback is valid until first called.

scope call

The callback is valid only during the call to the method.

scope notified

The callback is valid until the GDestroyNotify argument is called.

skip

Exposed in C code, not necessarily available in other languages.

T

transfer container

Free data container after the code is done.

transfer full

Free data after the code is done.

transfer none

Don't free data after the code is done.

type

Override the parsed C type with given type.

V

virtual

This is the invoker for a virtual method.

docs/reference/gtk/html/index.html0000664000175000017500000022530413710700534017330 0ustar mclasenmclasen GTK 4 Reference Manual: GTK 4 Reference Manual

This document is for the GTK 4 library, version 3.99.0 . The latest versions can be found online at https://developer.gnome.org/gtk4/. If you are looking for the older GTK 3 series of libraries, see https://developer.gnome.org/gtk3/.


I. Introduction
Getting Started with GTK
Basics
Hello, World
Hello World in C
Packing
Packing buttons
Custom Drawing
Drawing in response to input
Building user interfaces
Packing buttons with GtkBuilder
Building applications
A trivial application
Populating the window
Opening files
A menu
A preference dialog
Adding a search bar
Adding a side bar
Properties
Contact information and bug reports
Opening a bug or feature request
Working on GTK
Common Questions
General Questions
Which widget should I use…
Questions about GtkWidget
GtkTextView questions
GtkTreeView questions
Using cairo with GTK
II. GTK Concepts
Overview of the drawing model
Windows and events
The frame clock
The scene graph
Hierarchical drawing
Overview of GTK input and event handling
Devices and events
Event propagation
Keyboard input
Event controllers and gestures
Gesture states
Overview of actions in GTK
Basics about actions
Action state and parameters
Action scopes
Action groups and action maps
Connecting actions to widgets
Activation
Built-in Actions
III. GTK Widgets and Objects
Object Hierarchy
Widget Gallery
GListModel support
GtkBitset — Sets of integers
GtkExpression — Expressions to values
GtkFilterListModel — A list model that filters its items
GtkFilter — Filtering items
GtkCustomFilter — Filtering with callbacks
GtkMultiFilter — Combining multiple filters
GtkBoolFilter — Filtering by boolean expressions
GtkStringFilter — Filtering by strings
GtkFileFilter — Filtering files
GtkFlattenListModel — A list model that flattens a list of lists
GtkMapListModel — A list model that transforms its items
GtkSliceListModel — A list model that presents a slice out of a larger list
GtkSortListModel — A list model that sorts its items
GtkSorter — Sorting items
GtkCustomSorter — Sorting with a callbacks
GtkMultiSorter — Combining multiple sorters
GtkStringSorter — Sort by comparing strings
GtkNumericSorter — Sort by comparing numbers
GtkSelectionModel — An extension of the list model interface that handles selections
GtkNoSelection — A selection model that does not allow selecting anything
GtkSingleSelection — A selection model that allows selecting a single item
GtkMultiSelection — A selection model that allows selecting multiple items
GtkSelectionFilterModel — A list model that turns a selection in a model
GtkBookmarkList — A list model for recently used files
GtkDirectoryList — A list model for directory listings
GtkStringList — A list model for strings
List-based Widgets
List Widget Overview
Terminology
Behind the scenes
Choosing the right model
Displaying trees
Comparison to GtkTreeView
GtkListItem — Object used to represent items of a list model
GtkListItemFactory — Mapping list items to widgets
GtkSignalListItemFactory — A listitem factory providing signals
GtkBuilderListItemFactory — A listitem factory using ui files
GtkListView — A widget for displaying lists
GtkGridView — A widget for displaying grids
GtkColumnView — A widget for displaying lists in multiple columns
GtkColumnViewColumn — The column added to GtkColumnView
GtkDropDown — Choose an item from a list
Tree support
GtkTreeListModel — A list model that can create child models on demand
GtkTreeListRow — A row in a GtkTreeListModel
GtkTreeListRowSorter — Sort trees by levels
GtkTreeExpander — An indenting expander button for use in a tree list
Application support
GtkApplication — Application class
GtkApplicationWindow — GtkWindow subclass with GtkApplication support
GtkActionable — An interface for widgets that can be associated with actions
Interface builder
GtkBuilder — Build an interface from an XML UI definition
GtkBuildable — Interface for objects that can be built by GtkBuilder
GtkBuilderScope — Bindings for GtkBuilder
Windows
GtkRoot — Interface for root widgets
GtkNative — Interface for widgets having surfaces
GtkWindow — Toplevel which can contain other widgets
GtkDialog — Create popup windows
GtkMessageDialog — A convenient message window
GtkAboutDialog — Display information about an application
GtkAssistant — A widget used to guide users through multi-step operations
GtkWindowGroup — Limit the effect of grabs
GtkNativeDialog — Integrate with native dialogs
Layout Containers
GtkBox — A container for packing widgets in a single row or column
GtkCenterBox — A centering container
GtkGrid — Pack widgets in rows and columns
GtkRevealer — Hide and show with animation
GtkListBox — A list container
GtkFlowBox — A container that allows reflowing its children
GtkStack — A stacking container
GtkStackSwitcher — A controller for GtkStack
GtkStackSidebar — An automatic sidebar widget
GtkActionBar — A full width bar for presenting contextual actions
GtkHeaderBar — A box with a centered child
GtkOverlay — A container which overlays widgets on top of each other
GtkPaned — A widget with two adjustable panes
GtkNotebook — A tabbed notebook container
GtkExpander — A container which can hide its child
GtkOrientable — An interface for flippable widgets
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
GtkFixed — A container which allows you to position widgets at fixed coordinates
Layout Managers
GtkLayoutManager — Base class for layout manager
GtkLayoutChild — An object containing layout properties
GtkBinLayout — A layout manager for bin-like widgets
GtkBoxLayout — Layout manager for placing all children in a single row or column
GtkCenterLayout — A centering layout
GtkFixedLayout — A layout manager that allows positioning at fixed coordinates
GtkGridLayout — Layout manager for grid-like widgets
GtkOverlayLayout — Layout manager that places widgets as overlays
GtkCustomLayout — A convenience layout manager
GtkConstraintLayout — A layout manager using constraints
GtkConstraint — The description of a constraint
GtkConstraintGuide — An invisible constraint target
Display Widgets
GtkLabel — A widget that displays a small to medium amount of text
GtkImage — A widget displaying an image
GtkPicture — A widget displaying a GdkPaintable
GtkSpinner — Show a spinner animation
GtkInfoBar — Report important messages to the user
GtkProgressBar — A widget which indicates progress visually
GtkLevelBar — A bar that can used as a level indicator
GtkStatusbar — Report messages of minor importance to the user
GtkAccelLabel — A label which displays an accelerator key on the right of the text
GtkCalendar — Displays a calendar and allows the user to select a date
Media Support
GtkVideo — A widget for displaying video
GtkMediaControls — A widget showing controls for a media stream
GtkMediaStream — Display media in GTK
GtkMediaFile — Open media files for use in GTK
Buttons and Toggles
GtkButton — A widget that emits a signal when clicked on
GtkCheckButton — Create widgets with a discrete toggle button
GtkRadioButton — A choice from multiple check buttons
GtkToggleButton — Create buttons which retain their state
GtkLinkButton — Create buttons bound to a URL
GtkMenuButton — A widget that shows a popup when clicked on
GtkSwitch — A “light switch” style toggle
GtkScaleButton — A button which pops up a scale
GtkVolumeButton — A button which pops up a volume control
GtkLockButton — A widget to unlock or lock privileged operations
Numeric and Text Data Entry
GtkEditable — Interface for text-editing widgets
GtkEntryBuffer — Text buffer for GtkEntry
GtkText — A simple single-line text entry field
GtkEntry — A single line text entry field
GtkEntryCompletion — Completion functionality for GtkEntry
GtkPasswordEntry — An entry for secrets
GtkScale — A slider widget for selecting a value from a range
GtkSpinButton — Retrieve an integer or floating-point number from the user
GtkSearchEntry — An entry which shows a search icon
GtkSearchBar — A toolbar to integrate a search entry with
GtkEditableLabel — A label that can be edited
Multiline Text Editor
Text Widget Overview
Simple Example
Example of Changing Text Attributes
GtkTextIter — Text buffer iterator
GtkTextMark — A position in the buffer preserved across buffer modifications
GtkTextBuffer — Stores attributed text for display in a GtkTextView
GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
GtkTextTagTable — Collection of tags that can be used together
GtkTextView — Widget that displays a GtkTextBuffer
Tree, List and Icon Grid Widgets
Tree and List Widget Overview
Creating a model
Creating the view component
Colums and cell renderers
Selection handling
Simple Example
GtkTreeModel — The tree interface used by GtkTreeView
GtkTreeSelection — The selection object for GtkTreeView
GtkTreeViewColumn — A visible column in a GtkTreeView widget
GtkTreeView — A widget for displaying both trees and lists
GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView
GtkCellView — A widget displaying a single row of a GtkTreeModel
GtkIconView — A widget which displays a list of icons in a grid
GtkTreeSortable — The interface for sortable models used by GtkTreeView
GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable
GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model
GtkCellLayout — An interface for packing cells
GtkCellArea — An abstract class for laying out GtkCellRenderers
GtkCellAreaBox — A cell area that renders GtkCellRenderers into a row or a column
GtkCellAreaContext — Stores geometrical information for a series of rows in a GtkCellArea
GtkCellRenderer — An object for rendering a single cell
GtkCellEditable — Interface for widgets that can be used for editing cells
GtkCellRendererAccel — Renders a keyboard accelerator in a cell
GtkCellRendererCombo — Renders a combobox in a cell
GtkCellRendererPixbuf — Renders a pixbuf in a cell
GtkCellRendererProgress — Renders numbers as progress bars
GtkCellRendererSpin — Renders a spin button in a cell
GtkCellRendererText — Renders text in a cell
GtkCellRendererToggle — Renders a toggle button in a cell
GtkCellRendererSpinner — Renders a spinning animation in a cell
GtkListStore — A list-like data structure that can be used with the GtkTreeView
GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView
Menus, Combo Box
GtkComboBox — A widget used to choose from a list of items
GtkComboBoxText — A simple, text-only combo box
GtkPopover — Context dependent bubbles
GtkPopoverMenu — Popovers to use as menus
GtkPopoverMenuBar — A menu bar with popovers
GtkDropDown — Choose an item from a list
Selector Widgets and Dialogs
GtkColorChooser — Interface implemented by widgets for choosing colors
GtkColorButton — A button to launch a color selection dialog
GtkColorChooserWidget — A widget for choosing colors
GtkColorChooserDialog — A dialog for choosing colors
GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
GtkFileChooserButton — A button to launch a file chooser dialog
GtkFileChooserNative — A native file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserDialog — A file chooser dialog, suitable for “File Open” or “File Save” commands
GtkFileChooserWidget — A file chooser widget
GtkFontChooser — Interface implemented by widgets displaying fonts
GtkFontButton — A button to launch a font chooser dialog
GtkFontChooserWidget — A widget for selecting fonts
GtkFontChooserDialog — A dialog for selecting fonts
GtkEmojiChooser — A popover to choose an Emoji character
Widgets for custom drawing
GtkDrawingArea — A simple widget for drawing with cairo
GtkGLArea — A widget for custom drawing with OpenGL
Ornaments
GtkFrame — A widget with a decorative frame and optional label
GtkSeparator — A separator widget
Scrolling
GtkScrollbar — A Scrollbar
GtkScrolledWindow — Adds scrollbars to its child widget
GtkScrollable — An interface for scrollable widgets
GtkViewport — An adapter which makes widgets scrollable
Printing
GtkPrintOperation — High-level Printing API
GtkPrintContext — Encapsulates context for drawing pages
GtkPrintSettings — Stores print settings
GtkPageSetup — Stores page setup information
GtkPaperSize — Support for named paper sizes
GtkPrinter — Represents a printer
GtkPrintJob — Represents a print job
GtkPrintUnixDialog — A print dialog
GtkPageSetupUnixDialog — A page setup dialog
Shortcuts Overview
GtkShortcutsWindow — Toplevel which shows help for shortcuts
GtkShortcutsSection — Represents an application mode in a GtkShortcutsWindow
GtkShortcutsGroup — Represents a group of shortcuts in a GtkShortcutsWindow
GtkShortcutsShortcut — Represents a keyboard shortcut in a GtkShortcutsWindow
GtkShortcutLabel — Displays a keyboard shortcut
Accessibility
GTK Accessibility
The standard accessibility interface
Accessible roles and attributes
Application development rules
Implementations
GtkAccessible — Accessible interface
GtkATContext — An object communicating to Assistive Technologies
Miscellaneous
GtkAdjustment — A representation of an adjustable bounded value
GtkIMContextSimple — An input method context supporting table-based input methods
GtkIMMulticontext — An input method context supporting multiple, loadable input methods
GtkSizeGroup — Grouping widgets so they request the same size
GtkSnapshot — Auxiliary object for snapshots
GtkTooltip — Add tips to your widgets
GtkWidgetPaintable — Drawing a widget elsewhere
GtkWindowControls — A widget displaying window buttons
GtkWindowHandle — A titlebar area widget
Abstract Base Classes
GtkWidget — Base class for all widgets
GtkRange — Base class for widgets which visualize an adjustment
GtkIMContext — Base class for input method contexts
GtkNativeDialog — Integrate with native dialogs
GtkAccessible — Accessible interface
Recently Used Documents
GtkRecentManager — Managing recently used files
Choosing from installed applications
GtkAppChooser — Interface implemented by widgets for choosing an application
GtkAppChooserButton — A button to launch an application chooser dialog
GtkAppChooserDialog — An application chooser dialog
GtkAppChooserWidget — Application chooser widget that can be embedded in other widgets
Gestures and event handling
GtkEventController — Self-contained handler of series of events
GtkEventControllerKey — Event controller for key events
GtkEventControllerFocus — Event controller for focus
GtkEventControllerLegacy — Event controller for miscellaneous events
GtkEventControllerScroll — Event controller for scroll events
GtkEventControllerMotion — Event controller for motion events
GtkGesture — Base class for gestures
GtkGestureSingle — Base class for mouse/single-touch gestures
GtkGestureDrag — Drag gesture
GtkGestureLongPress — "Press and Hold" gesture
GtkGestureClick — Multipress gesture
GtkGesturePan — Pan gesture
GtkGestureSwipe — Swipe gesture
GtkGestureRotate — Rotate gesture
GtkGestureZoom — Zoom gesture
GtkGestureStylus — Gesture for stylus input
GtkPadController — Controller for drawing tablet pads
GtkShortcutController — Event controller for shortcuts
Keyboard shortcuts
Keyboard Accelerators — Utilities for accelerators
GtkShortcut — An object describing a keyboard shortcut
GtkShortcutTrigger — Triggers to track if shortcuts should be activated
GtkShortcutAction — Tracking if shortcuts should be activated
GtkShortcutManager — Interface for managing shortcuts
Data exchange, clipboards and Drag-and-Drop
GtkDragSource — Event controller to initiate DND operations
GtkDragIcon — A toplevel to use as drag icon
GtkDropTarget — Event controller to receive DND drops
GtkDropTargetAsync — Event controller to receive DND drops
GtkDropControllerMotion — Event controller for motion events during a drop
IV. GTK Core Reference
Initialization — Library initialization and main loop
Version Information — Variables and functions to check the GTK version
Settings — Sharing settings between applications
Standard Enumerations — Public enumerated types used throughout GTK+
Testing — Utilities for testing GTK+ applications
Filesystem utilities — Functions for working with GIO
V. Theming in GTK
CSS in GTK
CSS nodes
The CSS nodes of a GtkScale
Selectors
GTK CSS Selectors
GTK CSS Properties
Basic types
Colors
Images
GTK CSS Properties
GtkStyleContext — Rendering UI elements
GtkCssProvider — CSS-like styling for widgets
GtkStyleProvider — Interface to provide style information to GtkStyleContext
GtkIconTheme — Looking up icons by name
VI. Migrating from Previous Versions of GTK
Migrating from GTK 2.x to GTK 4
Migrating from GTK 3.x to GTK 4
Preparation in GTK 3.x
Do not use deprecated symbols
Enable diagnostic warnings
Do not use widget style properties
Review your window creation flags
Stop using direct access to GdkEvent structs
Stop using gdk_pointer_warp()
Stop using non-RGBA visuals
Stop using GtkBox padding, fill and expand child properties
Stop using the state argument of GtkStyleContext getters
Stop using gdk_pixbuf_get_from_window() and gdk_cairo_set_source_surface()
Stop using GtkWidget event signals
Set a proper application ID
Stop using gtk_main() and related APIs
Reduce the use of gtk_widget_destroy()
Reduce the use of generic container APIs
Changes that need to be done at the time of the switch
Stop using GdkScreen
Stop using the root window
Stop using GdkVisual
Stop using GdkDeviceManager
Adapt to GdkWindow API changes
The iconified window state has been renamed to minimized
Adapt to GdkEvent API changes
Stop using grabs
Adapt to coordinate API changes
Adapt to GdkKeymap API changes
Adapt to changes in keyboard modifier handling
Stop using gtk_get_current_… APIs
Convert your ui files
Adapt to event controller API changes
Focus handling changes
Use the new apis for keyboard shortcuts
Stop using GtkEventBox
Stop using GtkButtonBox
Adapt to GtkBox API changes
Adapt to GtkHeaderBar and GtkActionBar API changes
Adapt to GtkStack, GtkAssistant and GtkNotebook API changes
Adapt to GtkScrolledWindow API changes
Adapt to GtkBin removal
Adapt to GtkContainer removal
Stop using GtkContainer::border-width
Adapt to gtk_widget_destroy() removal
Adapt to coordinate API changes
Adapt to GtkStyleContext API changes
Adapt to GtkCssProvider API changes
Stop using GtkShadowType and GtkRelief properties
Adapt to GtkWidget’s size request changes
Adapt to GtkWidget’s size allocation changes
Switch to GtkWidget’s children APIs
Don’t use -gtk-gradient in your CSS
Don’t use -gtk-icon-effect in your CSS
Don’t use -gtk-icon-theme in your CSS
Don’t use -gtk-outline-…-radius in your CSS
Adapt to drawing model changes
Stop using APIs to query GdkSurfaces
Widgets are now visible by default
Adapt to changes in animated hiding and showing of widgets
Stop passing commandline arguments to gtk_init
GdkPixbuf is deemphasized
GtkWidget event signals are removed
Invalidation handling has changed
Stop using GtkWidget::draw
Window content observation has changed
Monitor handling has changed
Adapt to monitor API changes
Adapt to cursor API changes
Adapt to icon size API changes
Adapt to changes in the GtkAssistant API
Adapt to changes in the API of GtkEntry, GtkSearchEntry and GtkSpinButton
Adapt to changes in GtkOverlay API
Use GtkFixed instead of GtkLayout
Adapt to search entry changes
Stop using gtk_window_activate_default()
Stop setting ::has-default and ::has-focus in .ui files
Stop using the GtkWidget::display-changed signal
GtkPopover::modal has been renamed to autohide
gtk_widget_get_surface has been removed
gtk_widget_is_toplevel has been removed
gtk_widget_get_toplevel has been removed
GtkEntryBuffer ::deleted-text has changed
GtkMenu, GtkMenuBar and GtkMenuItem are gone
GtkToolbar has been removed
GtkAspectFrame is no longer a frame
Stop using custom tooltip windows
Switch to the new Drag-and-Drop api
Adapt to GtkIconTheme API changes
Update to GtkFileChooser API changes
Stop using blocking dialog functions
Changes to consider after the switch
Consider porting to the new list widgets
VII. GTK Tools
gtk4-demo — Demonstrate GTK widgets
gtk4-demo-application — Demonstrate GtkApplication
gtk4-widget-factory — Demonstrate GTK widgets
gtk4-icon-browser — List themed icons
gtk4-update-icon-cache — Icon theme caching utility
gtk4-encode-symbolic-svg — Symbolic icon conversion utility
gtk4-builder-tool — GtkBuilder file utility
gtk4-launch — Launch an application
gtk4-query-settings — Utility to print name and value of all GtkSettings properties
gtk4-broadwayd — Broadway display server
VIII. GTK Platform Support
Compiling the GTK Libraries
Building GTK
Build types
Debug builds
Release builds
Dependencies
Building and testing GTK
Extra Configuration Options
xinerama
gtk_doc and man-pages
print-backends
x11-backend, win32-backend, broadway-backend, wayland-backend and quartz-backend
introspection
build-tests, install-tests, demos
Compiling GTK Applications on UNIX
Running and debugging GTK Applications
Environment variables
GTK_DEBUG
GTK_PATH
GTK_IM_MODULE
GTK_EXE_PREFIX
GTK_DATA_PREFIX
GTK_THEME
GDK_PIXBUF_MODULE_FILE
GDK_DEBUG
GSK_DEBUG
GDK_BACKEND
GDK_VULKAN_DEVICE
GSK_RENDERER
GTK_CSD
XDG_DTA_HOME, XDG_DATA_DIRS
DESKTOP_STARTUP_ID
Interactive debugging
Profiling
GTK for the X Window System
X11-specific environment variables
GDK_SYNCHRONIZE
GDK_SCALE
Understanding the X11 architecture
Server, client, window manager
Using GTK on Windows
Windows-specific environment variables
GDK_IGNORE_WINTAB
GDK_USE_WINTAB
Windows-specific handling of cursors
Using GTK on Apple macOS
Using GTK with Broadway
Broadway-specific environment variables
BROADWAY_DISPLAY
Using GTK with Wayland
Wayland-specific environment variables
WAYLAND_DISPLAY
XDG_RUNTIME_DIR
Index of all symbols
Annotation Glossary
docs/reference/gtk/html/gtk4.devhelp20000664000175000017500000317125013710700532017640 0ustar mclasenmclasen docs/reference/gtk/html/up-insensitive.png0000644000175000017500000000056613710700533021021 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIMEwIIDAT8?/Qϙ?[u$VHTDۈBM+![/]_i03IENDB`docs/reference/gtk/html/left-insensitive.png0000644000175000017500000000061313710700533021320 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIMEƫqIDAT8͒NQ@pds`*4@W@ A!Ԇ@6^ 5hxIH R`sQp̙339B|sKEQTK@۝΁i^~Wʆ`0TJ6TcYn6A ƀ~߱>}ǭs; lYkwr 5U= /" "uU=ɲlArDzp5I4^E+P3Ɯq_p ̥iUYp=#IENDB`docs/reference/gtk/html/up.png0000644000175000017500000000040413710700533016452 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME IDAT81 @D{xa;$]r =JR1, Sd-}0̟oL:m-QO[ k TzMޠL,:ךu!tK; Pp Ot@l/̵*l}IENDB`docs/reference/gtk/html/home.png0000644000175000017500000000040013710700533016752 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME &IDAT8ҽ Aߞf`n v`6`/`Yܡ`f&k$,} 0b+ԸaQW~b O e{y N[L}.piBzmm o.I]7^[;%:VIENDB`docs/reference/gtk/html/right-insensitive.png0000644000175000017500000000056513710700533021511 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME ^IDAT8͒J` /S_$AqrW(>m"]\(49.Nd39{eM#MSIιEiHz|3{̲l3,KkV'@EEQlwyiq]Kh4:mĦ,;ts\aR5/7'Wps׭I,K1=0j0Wg> PU𻤝0 ]?qCҫιg~kA_IENDB`docs/reference/gtk/html/right.png0000644000175000017500000000040513710700533017144 0ustar mclasenmclasenPNG  IHDRabKGD pHYs B(xtIME!GIDAT8үa?MIdEr,-hAIl ry}sX6 !9#D r$-Br$G"$;WZ&!cq \`軀O=QoufIENDB`docs/reference/gtk/html/style.css0000644000175000017500000002645513710700534017211 0ustar mclasenmclasenbody { font-family: cantarell, sans-serif; } .synopsis, .classsynopsis { /* tango:aluminium 1/2 */ background: #eeeeec; background: rgba(238, 238, 236, 0.5); border: solid 1px rgb(238, 238, 236); padding: 0.5em; } .programlisting { /* tango:sky blue 0/1 */ /* fallback for no rgba support */ background: #e6f3ff; border: solid 1px #729fcf; background: rgba(114, 159, 207, 0.1); border: solid 1px rgba(114, 159, 207, 0.2); padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .variablelist td:first-child { vertical-align: top; } span.nowrap { white-space: nowrap; } div.gallery-float { float: left; padding: 10px; } div.gallery-float img { border-style: none; } div.gallery-spacer { clear: both; } a, a:visited { text-decoration: none; /* tango:sky blue 2 */ color: #3465a4; } a:hover { text-decoration: underline; /* tango:sky blue 1 */ color: #729fcf; } .function_type, .variable_type, .property_type, .signal_type, .parameter_name, .struct_member_name, .union_member_name, .define_keyword, .datatype_keyword, .typedef_keyword { text-align: right; } /* dim non-primary columns */ .c_punctuation, .function_type, .variable_type, .property_type, .signal_type, .define_keyword, .datatype_keyword, .typedef_keyword, .property_flags, .signal_flags, .parameter_annotations, .enum_member_annotations, .struct_member_annotations, .union_member_annotations { color: #888a85; } .function_type a, .function_type a:visited, .function_type a:hover, .property_type a, .property_type a:visited, .property_type a:hover, .signal_type a, .signal_type a:visited, .signal_type a:hover, .signal_flags a, .signal_flags a:visited, .signal_flags a:hover { color: #729fcf; } td p { margin: 0.25em; } div.informaltable table[border="1"], div.table table { border-collapse: collapse; border-spacing: 0px; /* tango:aluminium 3 */ border: solid 1px #babdb6; } div.informaltable table[border="1"] td, div.informaltable table th, div.table table td, div.table table th { /* tango:aluminium 3 */ border: solid 1px #babdb6; padding: 3px; vertical-align: top; } div.informaltable table[border="1"] th, div.table table th { /* tango:aluminium 2 */ background-color: #d3d7cf; } h4 { color: #555753; margin-top: 1em; margin-bottom: 1em; } hr { /* tango:aluminium 1 */ color: #d3d7cf; background: #d3d7cf; border: none 0px; height: 1px; clear: both; margin: 2.0em 0em 2.0em 0em; } dl.toc dt { padding-bottom: 0.25em; } dl.toc > dt { padding-top: 0.25em; padding-bottom: 0.25em; font-weight: bold; } dl.toc > dl { padding-bottom: 0.5em; } .parameter { font-style: normal; } .footer { padding-top: 3.5em; /* tango:aluminium 3 */ color: #babdb6; text-align: center; font-size: 80%; } .informalfigure, .figure { margin: 1em; } .informalexample, .example { margin-top: 1em; margin-bottom: 1em; } .warning { /* tango:orange 0/1 */ background: #ffeed9; background: rgba(252, 175, 62, 0.1); border-color: #ffb04f; border-color: rgba(252, 175, 62, 0.2); } .note { /* tango:chameleon 0/0.5 */ background: #d8ffb2; background: rgba(138, 226, 52, 0.1); border-color: #abf562; border-color: rgba(138, 226, 52, 0.2); } div.blockquote { border-color: #eeeeec; } .note, .warning, div.blockquote { padding: 0.5em; border-width: 1px; border-style: solid; margin: 2em; } .note p, .warning p { margin: 0; } div.warning h3.title, div.note h3.title { display: none; } p + div.section { margin-top: 1em; } div.refnamediv, div.refsynopsisdiv, div.refsect1, div.refsect2, div.toc, div.section { margin-bottom: 1em; } /* blob links */ h2 .extralinks, h3 .extralinks { float: right; /* tango:aluminium 3 */ color: #babdb6; font-size: 80%; font-weight: normal; } .lineart { color: #d3d7cf; font-weight: normal; } .annotation { /* tango:aluminium 5 */ color: #555753; font-weight: normal; } .structfield { font-style: normal; font-weight: normal; } acronym,abbr { border-bottom: 1px dotted gray; } .listing_frame { /* tango:sky blue 1 */ border: solid 1px #729fcf; border: solid 1px rgba(114, 159, 207, 0.2); padding: 0px; } .listing_lines, .listing_code { margin-top: 0px; margin-bottom: 0px; padding: 0.5em; } .listing_lines { /* tango:sky blue 0.5 */ background: #a6c5e3; background: rgba(114, 159, 207, 0.2); /* tango:aluminium 6 */ color: #2e3436; } .listing_code { /* tango:sky blue 0 */ background: #e6f3ff; background: rgba(114, 159, 207, 0.1); } .listing_code .programlisting { /* override from previous */ border: none 0px; padding: 0px; background: none; } .listing_lines pre, .listing_code pre { margin: 0px; } @media screen { /* these have a as a first child, but since there are no parent selectors * we can't use that. */ a.footnote { position: relative; top: 0em ! important; } /* this is needed so that the local anchors are displayed below the naviagtion */ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] { display: inline-block; position: relative; top:-5em; } /* this seems to be a bug in the xsl style sheets when generating indexes */ div.index div.index { top: 0em; } /* make space for the fixed navigation bar and add space at the bottom so that * link targets appear somewhat close to top */ body { padding-top: 2.5em; padding-bottom: 500px; max-width: 60em; } p { max-width: 60em; } /* style and size the navigation bar */ table.navigation#top { position: fixed; background: #e2e2e2; border-bottom: solid 1px #babdb6; border-spacing: 5px; margin-top: 0; margin-bottom: 0; top: 0; left: 0; z-index: 10; } table.navigation#top td { padding-left: 6px; padding-right: 6px; } .navigation a, .navigation a:visited { /* tango:sky blue 3 */ color: #204a87; } .navigation a:hover { /* tango:sky blue 2 */ color: #3465a4; } td.shortcuts { /* tango:sky blue 2 */ color: #3465a4; font-size: 80%; white-space: nowrap; } td.shortcuts .dim { color: #babdb6; } .navigation .title { font-size: 80%; max-width: none; margin: 0px; font-weight: normal; } } @media screen and (min-width: 60em) { /* screen larger than 60em */ body { margin: auto; } } @media screen and (max-width: 60em) { /* screen less than 60em */ #nav_hierarchy { display: none; } #nav_interfaces { display: none; } #nav_prerequisites { display: none; } #nav_derived_interfaces { display: none; } #nav_implementations { display: none; } #nav_child_properties { display: none; } #nav_style_properties { display: none; } #nav_index { display: none; } #nav_glossary { display: none; } .gallery_image { display: none; } .property_flags { display: none; } .signal_flags { display: none; } .parameter_annotations { display: none; } .enum_member_annotations { display: none; } .struct_member_annotations { display: none; } .union_member_annotations { display: none; } /* now that a column is hidden, optimize space */ col.parameters_name { width: auto; } col.parameters_description { width: auto; } col.struct_members_name { width: auto; } col.struct_members_description { width: auto; } col.enum_members_name { width: auto; } col.enum_members_description { width: auto; } col.union_members_name { width: auto; } col.union_members_description { width: auto; } .listing_lines { display: none; } } @media print { table.navigation { visibility: collapse; display: none; } div.titlepage table.navigation { visibility: visible; display: table; background: #e2e2e2; border: solid 1px #babdb6; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; } } .hll { background-color: #ffffcc } .c { color: #408080; font-style: italic } /* Comment */ .err { border: 1px solid #FF0000 } /* Error */ .k { color: #008000; font-weight: bold } /* Keyword */ .o { color: #666666 } /* Operator */ .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ .cm { color: #408080; font-style: italic } /* Comment.Multiline */ .cp { color: #BC7A00 } /* Comment.Preproc */ .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ .c1 { color: #408080; font-style: italic } /* Comment.Single */ .cs { color: #408080; font-style: italic } /* Comment.Special */ .gd { color: #A00000 } /* Generic.Deleted */ .ge { font-style: italic } /* Generic.Emph */ .gr { color: #FF0000 } /* Generic.Error */ .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .gi { color: #00A000 } /* Generic.Inserted */ .go { color: #888888 } /* Generic.Output */ .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ .gs { font-weight: bold } /* Generic.Strong */ .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ .gt { color: #0044DD } /* Generic.Traceback */ .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ .kp { color: #008000 } /* Keyword.Pseudo */ .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ .kt { color: #B00040 } /* Keyword.Type */ .m { color: #666666 } /* Literal.Number */ .s { color: #BA2121 } /* Literal.String */ .na { color: #7D9029 } /* Name.Attribute */ .nb { color: #008000 } /* Name.Builtin */ .nc { color: #0000FF; font-weight: bold } /* Name.Class */ .no { color: #880000 } /* Name.Constant */ .nd { color: #AA22FF } /* Name.Decorator */ .ni { color: #999999; font-weight: bold } /* Name.Entity */ .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ .nf { color: #0000FF } /* Name.Function */ .nl { color: #A0A000 } /* Name.Label */ .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ .nt { color: #008000; font-weight: bold } /* Name.Tag */ .nv { color: #19177C } /* Name.Variable */ .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ .w { color: #bbbbbb } /* Text.Whitespace */ .mb { color: #666666 } /* Literal.Number.Bin */ .mf { color: #666666 } /* Literal.Number.Float */ .mh { color: #666666 } /* Literal.Number.Hex */ .mi { color: #666666 } /* Literal.Number.Integer */ .mo { color: #666666 } /* Literal.Number.Oct */ .sa { color: #BA2121 } /* Literal.String.Affix */ .sb { color: #BA2121 } /* Literal.String.Backtick */ .sc { color: #BA2121 } /* Literal.String.Char */ .dl { color: #BA2121 } /* Literal.String.Delimiter */ .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ .s2 { color: #BA2121 } /* Literal.String.Double */ .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ .sh { color: #BA2121 } /* Literal.String.Heredoc */ .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ .sx { color: #008000 } /* Literal.String.Other */ .sr { color: #BB6688 } /* Literal.String.Regex */ .s1 { color: #BA2121 } /* Literal.String.Single */ .ss { color: #19177C } /* Literal.String.Symbol */ .bp { color: #008000 } /* Name.Builtin.Pseudo */ .fm { color: #0000FF } /* Name.Function.Magic */ .vc { color: #19177C } /* Name.Variable.Class */ .vg { color: #19177C } /* Name.Variable.Global */ .vi { color: #19177C } /* Name.Variable.Instance */ .vm { color: #19177C } /* Name.Variable.Magic */ .il { color: #666666 } /* Literal.Number.Integer.Long */docs/reference/gtk/html/GtkCheckButton.html0000664000175000017500000005201613710700533021075 0ustar mclasenmclasen GtkCheckButton: GTK 4 Reference Manual

GtkCheckButton

GtkCheckButton — Create widgets with a discrete toggle button

Properties

gboolean draw-indicator Read / Write
gboolean inconsistent Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ╰── GtkToggleButton
                    ╰── GtkCheckButton
                        ╰── GtkRadioButton

Implemented Interfaces

GtkCheckButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

A GtkCheckButton places a discrete GtkToggleButton next to a widget, (usually a GtkLabel). See the section on GtkToggleButton widgets for more information about toggle/check buttons.

The important signal ( “toggled” ) is also inherited from GtkToggleButton.

CSS nodes

1
2
3
checkbutton
├── check
╰── <child>

A GtkCheckButton with indicator (see gtk_check_button_set_draw_indicator()) has a main CSS node with name checkbutton and a subnode with name check.

1
2
3
button.check
├── check
╰── <child>

A GtkCheckButton without indicator changes the name of its main node to button and adds a .check style class to it. The subnode is invisible in this case.


Accessibility

GtkCheckButton uses the GTK_ACCESSIBLE_ROLE_CHECKBOX role.

Functions

gtk_check_button_new ()

GtkWidget *
gtk_check_button_new (void);

Creates a new GtkCheckButton.

Returns

a GtkWidget.


gtk_check_button_new_with_label ()

GtkWidget *
gtk_check_button_new_with_label (const char *label);

Creates a new GtkCheckButton with a GtkLabel to the right of it.

Parameters

label

the text for the check button.

 

Returns

a GtkWidget.


gtk_check_button_new_with_mnemonic ()

GtkWidget *
gtk_check_button_new_with_mnemonic (const char *label);

Creates a new GtkCheckButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the check button.

Parameters

label

The text of the button, with an underscore in front of the mnemonic character

 

Returns

a new GtkCheckButton


gtk_check_button_get_draw_indicator ()

gboolean
gtk_check_button_get_draw_indicator (GtkCheckButton *check_button);

Returns Whether or not the indicator part of the button gets drawn.

Parameters

check_button

a GtkCheckButton

 

Returns

The value of the GtkCheckButton:draw-indicator property.


gtk_check_button_set_draw_indicator ()

void
gtk_check_button_set_draw_indicator (GtkCheckButton *check_button,
                                     gboolean draw_indicator);

Sets whether the indicator part of the button is drawn. This is important for cases where the check button should have the functionality of a check button, but the visuals of a regular button, like in a GtkStackSwitcher.

Parameters

check_button

a GtkCheckButton

 

draw_indicator

Whether or not to draw the indicator part of the button

 

gtk_check_button_get_inconsistent ()

gboolean
gtk_check_button_get_inconsistent (GtkCheckButton *check_button);

Returns whether the check button is in an inconsistent state.

Parameters

check_button

a GtkCheckButton

 

Returns

TRUE if check_button is currently in an 'in between' state, FALSE otherwise.


gtk_check_button_set_inconsistent ()

void
gtk_check_button_set_inconsistent (GtkCheckButton *check_button,
                                   gboolean inconsistent);

If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a check button, and the current values in that range are inconsistent, you may want to display the toggle in an "in between" state. Normally you would turn off the inconsistent state again if the user checks the check button. This has to be done manually, gtk_check_button_set_inconsistent only affects visual appearance, not the semantics of the button.

Parameters

check_button

a GtkCheckButton

 

inconsistent

TRUE if state is inconsistent

 

Types and Values

struct GtkCheckButton

struct GtkCheckButton;

Property Details

The “draw-indicator” property

  “draw-indicator”           gboolean

If the indicator part of the button is displayed.

Owner: GtkCheckButton

Flags: Read / Write

Default value: TRUE


The “inconsistent” property

  “inconsistent”             gboolean

If the check button is in an “in between” state.

Owner: GtkCheckButton

Flags: Read / Write

Default value: FALSE

See Also

GtkCheckMenuItem, GtkButton, GtkToggleButton, GtkRadioButton

docs/reference/gtk/html/AbstractObjects.html0000664000175000017500000000476313710700533021301 0ustar mclasenmclasen Abstract Base Classes: GTK 4 Reference Manual

Abstract Base Classes

GtkWidget — Base class for all widgets
GtkRange — Base class for widgets which visualize an adjustment
GtkIMContext — Base class for input method contexts
GtkNativeDialog — Integrate with native dialogs
GtkAccessible — Accessible interface
docs/reference/gtk/html/GtkColorButton.html0000664000175000017500000005002513710700533021134 0ustar mclasenmclasen GtkColorButton: GTK 4 Reference Manual

GtkColorButton

GtkColorButton — A button to launch a color selection dialog

Properties

gboolean modal Read / Write
GdkRGBA * rgba Read / Write
gboolean show-editor Read / Write
gchar * title Read / Write
gboolean use-alpha Read / Write

Signals

void color-set Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkColorButton

Implemented Interfaces

GtkColorButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkColorChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkColorButton is a button which displays the currently selected color and allows to open a color selection dialog to change the color. It is suitable widget for selecting a color in a preference dialog.

CSS nodes

GtkColorButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .color style class.

Functions

gtk_color_button_new ()

GtkWidget *
gtk_color_button_new (void);

Creates a new color button.

This returns a widget in the form of a small button containing a swatch representing the current selected color. When the button is clicked, a color-selection dialog will open, allowing the user to select a color. The swatch will be updated to reflect the new color when the user finishes.

Returns

a new color button


gtk_color_button_new_with_rgba ()

GtkWidget *
gtk_color_button_new_with_rgba (const GdkRGBA *rgba);

Creates a new color button.

Parameters

rgba

A GdkRGBA to set the current color with

 

Returns

a new color button


gtk_color_button_set_title ()

void
gtk_color_button_set_title (GtkColorButton *button,
                            const char *title);

Sets the title for the color selection dialog.

Parameters

button

a GtkColorButton

 

title

String containing new window title

 

gtk_color_button_get_title ()

const char *
gtk_color_button_get_title (GtkColorButton *button);

Gets the title of the color selection dialog.

Parameters

button

a GtkColorButton

 

Returns

An internal string, do not free the return value


gtk_color_button_set_modal ()

void
gtk_color_button_set_modal (GtkColorButton *button,
                            gboolean modal);

Sets whether the dialog should be modal.

Parameters

button

a GtkColorButton

 

modal

TRUE to make the dialog modal

 

gtk_color_button_get_modal ()

gboolean
gtk_color_button_get_modal (GtkColorButton *button);

Gets whether the dialog is modal.

Parameters

button

a GtkColorButton

 

Returns

TRUE if the dialog is modal

Types and Values

GtkColorButton

typedef struct _GtkColorButton GtkColorButton;

Property Details

The “modal” property

  “modal”                    gboolean

Whether the dialog is modal.

Owner: GtkColorButton

Flags: Read / Write

Default value: TRUE


The “rgba” property

  “rgba”                     GdkRGBA *

The RGBA color.

Owner: GtkColorButton

Flags: Read / Write


The “show-editor” property

  “show-editor”              gboolean

Set this property to TRUE to skip the palette in the dialog and go directly to the color editor.

This property should be used in cases where the palette in the editor would be redundant, such as when the color button is already part of a palette.

Owner: GtkColorButton

Flags: Read / Write

Default value: FALSE


The “title” property

  “title”                    gchar *

The title of the color selection dialog

Owner: GtkColorButton

Flags: Read / Write

Default value: "Pick a Color"


The “use-alpha” property

  “use-alpha”                gboolean

If this property is set to TRUE, the color swatch on the button is rendered against a checkerboard background to show its opacity and the opacity slider is displayed in the color selection dialog.

Owner: GtkColorButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “color-set” signal

void
user_function (GtkColorButton *widget,
               gpointer        user_data)

The ::color-set signal is emitted when the user selects a color. When handling this signal, use gtk_color_chooser_get_rgba() to find out which color was just selected.

Note that this signal is only emitted when the user changes the color. If you need to react to programmatic color changes as well, use the notify::color signal.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkFontButton

docs/reference/gtk/html/Accessibility.html0000664000175000017500000012756613710700533021022 0ustar mclasenmclasen Accessibility: GTK 4 Reference Manual

Accessibility

GTK Accessibility

The standard accessibility interface

The GtkAccessible interface provides the accessibility information about an application’s user interface elements. Assistive technology (AT) applications, like Orca, convey this information to users with disabilities, or reduced abilities, to help them use the application.

Standard GTK controls implement the GtkAccessible interface and are thus accessible to ATs by default. This means that if you use GTK controls such as GtkButton, GtkEntry, or GtkListView, you only need to supply application-specific details when the defaults values are incomplete. You can do this by setting the appropriate properties in your GtkBuilder template and UI definition files, or by setting the properties defined by the GtkAccessible interface.

If you are implementing your own GtkWidget derived type, you will need to set the GtkAccessible properties yourself, and provide an implementation of the GtkAccessible virtual functions.

Accessible roles and attributes

The fundamental concepts of an accessible widget are roles and attributes; each GTK control has a role, while its functionality is described by a set of attributes.

Roles

Roles define the taxonomy and semantics of a UI control to any assistive technology application; for instance, a button will have a role of GTK_ACCESSIBLE_ROLE_BUTTON; an entry will have a role of GTK_ACCESSIBLE_ROLE_TEXTBOX; a toggle button will have a role of GTK_ACCESSIBLE_ROLE_CHECKBOX; etc.

Each role is part of the widget’s instance, and cannot be changed over time or as the result of a user action. Roles allows assistive technology applications to identify a UI control and decide how to present it to a user; if a part of the application’s UI changes role, the control needs to be removed and replaced with another one with the appropriate role.

List of accessible roles

Each role name is part of the GtkAccessibleRole enumeration.

Role name Description Related GTK widget
BUTTON A control that performs an action when pressed GtkButton, GtkLinkButton, GtkExpander
CHECKBOX A control that has three possible value: true, false, or undefined GtkCheckButton
COMBOBOX A control that can be expanded to show a list of possible values to select GtkComboBox
DIALOG A dialog that prompts the user to enter information or require a response GtkDialog and subclasses
IMG An image GtkImage, GtkPicture
LABEL A visible name or caption for a user interface component GtkLabel
METER Represents a value within a known range GtkLevelBar
PROGRESS_BAR An element that display progress GtkProgressBar
RADIO A checkable input in a group of radio roles GtkRadioButton
SCROLLBAR A graphical object controlling the scolling of content GtkScrollbar
SEARCH_BOX A text box for entering search criteria GtkSearchEntry
SEPARATOR A divider that separates sections of content or groups of items GtkSeparator
SPIN_BUTTON A range control that allows seelcting among discrete choices GtkSpinButton
SWITCH A control that represents on/off values GtkSwitch
TEXT_BOX A type of input that allows free-form text as its value. GtkEntry, GtkPasswordEntry, GtkTextView
WINDOW An application window GtkWindow
...

See the WAI-ARIA list of roles for additional information.

Attributes

Attributes provide specific information about an accessible UI control, and describe it for the assistive technology applications. GTK divides the accessible attributes into three categories:

Each attribute accepts a value of a specific type.

Unlike roles, attributes may change over time, or in response to user action; for instance:

See the WAI-ARIA list of attributes for additional information.

List of accessible properties

Each state name is part of the GtkAccessibleProperty enumeration.

State name ARIA attribute Value type Notes
GTK_ACCESSIBLE_STATE_BUSY aria-busy boolean
GTK_ACCESSIBLE_STATE_CHECKED aria-checked GtkAccessibleTristate Indicates the current state of a GtkCheckButton
GTK_ACCESSIBLE_STATE_DISABLED aria-disabled boolean Corresponds to the “sensitive” property on GtkWidget
GTK_ACCESSIBLE_STATE_EXPANDED aria-expanded boolean or undefined Corresponds to the “expanded” property on GtkExpander
GTK_ACCESSIBLE_STATE_HIDDEN aria-hidden boolean Corresponds to the “visible” property on GtkWidget
GTK_ACCESSIBLE_STATE_INVALID aria-invalid GtkAccessibleInvalidState Set when a widget is showing an error
GTK_ACCESSIBLE_STATE_PRESSED aria-pressed GtkAccessibleTristate Indicates the current state of a GtkToggleButton
GTK_ACCESSIBLE_STATE_SELECTED aria-selected boolean or undefined Set when a widget is selected
List of accessible relations

Each state name is part of the GtkAccessibleRelation enumeration.

State name ARIA attribute Value type
GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE aria-autocomplete GtkAccessibleAutocomplete
GTK_ACCESSIBLE_PROPERTY_DESCRIPTION aria-description translatable string
GTK_ACCESSIBLE_PROPERTY_HAS_POPUP aria-haspopup boolean
GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS aria-keyshortcuts string
GTK_ACCESSIBLE_PROPERTY_LABEL aria-label translatable string
GTK_ACCESSIBLE_PROPERTY_LEVEL aria-level integer
GTK_ACCESSIBLE_PROPERTY_MODAL aria-modal boolean
GTK_ACCESSIBLE_PROPERTY_MULTI_LINE aria-multiline boolean
GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE aria-multiselectable boolean
GTK_ACCESSIBLE_PROPERTY_ORIENTATION aria-orientation GtkOrientation
GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER aria-placeholder translatable string
GTK_ACCESSIBLE_PROPERTY_READ_ONLY aria-readonly boolean
GTK_ACCESSIBLE_PROPERTY_REQUIRED aria-required boolean
GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION aria-roledescription translatable string
GTK_ACCESSIBLE_PROPERTY_SORT aria-sort GtkAccessibleSort
GTK_ACCESSIBLE_PROPERTY_VALUE_MAX aria-valuemax double
GTK_ACCESSIBLE_PROPERTY_VALUE_MIN aria-valuemin double
GTK_ACCESSIBLE_PROPERTY_VALUE_NOW aria-valuenow double
GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT aria-valuetext translatable string
List of accessible states

Each state name is part of the GtkAccessibleState enumeration.

State name ARIA attribute Value type
GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT aria-activedescendant GtkAccessible
GTK_ACCESSIBLE_RELATION_COL_COUNT aria-colcount integer
GTK_ACCESSIBLE_RELATION_COL_INDEX aria-colindex integer
GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT aria-colindextext translatable string
GTK_ACCESSIBLE_RELATION_COL_SPAN aria-colspan integer
GTK_ACCESSIBLE_RELATION_CONTROLS aria-controls a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_DESCRIBED_BY aria-describedby a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_DETAILS aria-details a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE aria-errormessage GtkAccessible
GTK_ACCESSIBLE_RELATION_FLOW_TO aria-flowto a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_LABELLED_BY aria-labelledby a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_OWNS aria-owns a GList of GtkAccessible
GTK_ACCESSIBLE_RELATION_POS_IN_SET aria-posinset integer
GTK_ACCESSIBLE_RELATION_ROW_COUNT aria-rowcount integer
GTK_ACCESSIBLE_RELATION_ROW_INDEX aria-rowindex integer
GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT aria-rowindextext translatable string
GTK_ACCESSIBLE_RELATION_ROW_SPAN aria-rowspan integer
GTK_ACCESSIBLE_RELATION_SET_SIZE aria-setsize integer

Application development rules

Even if standard UI controls provided by GTK have accessibility information out of the box, there are some additional properties and considerations for application developers. For instance, if your application presents the user with a form to fill out, you should ensure that:

  • the container of the form has a GTK_ACCESSIBLE_ROLE_FORM role

  • each text entry widget in the form has the GTK_ACCESSIBLE_RELATION_LABELLED_BY relation pointing to the label widget that describes it

Another example: if you create a tool bar containing buttons with only icons, you should ensure that:

  • the container has a GTK_ACCESSIBLE_ROLE_TOOLBAR role

  • each button has a GTK_ACCESSIBLE_PROPERTY_LABEL property set with the user readable and localised action performed when pressed; for instance Copy, Paste, Add layer, or Remove

GTK will try to fill in some information by using ancillary UI control property, for instance the accessible label will be taken from the label or placeholder text used by the UI control, or from its tooltip, if the GTK_ACCESSIBLE_PROPERTY_LABEL property or the GTK_ACCESSIBLE_RELATION_LABELLED_BY relation are unset. Nevertheless, it is good practice and project hygiene to explicitly specify the accessible properties, just like it’s good practice to specify tooltips and style classes.

Application developers using GTK should ensure that their UI controls are accessible as part of the development process. When using GtkBuilder templates and UI definition files, GTK provides a validation tool that verifies that each UI element has a valid role and properties; this tool can be used as part of the application’s test suite to avoid regressions.

Implementations

Each UI control implements the GtkAccessible interface to allow widget and application developers to specify the roles, state, and relations between UI controls. This API is purely descriptive.

Each GtkAccessible implementation must provide a GtkATContext instance, which acts as a proxy to the specific platform’s accessibility API:

  • AT-SPI on Linux/BSD

  • NSAccessibility on macOS

  • Active Accessibility on Windows

Additionally, an ad hoc accessibility backend is available for the GTK testsuite, to ensure reproducibility of issues in the CI pipeline.

docs/reference/gtk/html/GtkExpander.html0000664000175000017500000013313513710700533020434 0ustar mclasenmclasen GtkExpander: GTK 4 Reference Manual

GtkExpander

GtkExpander — A container which can hide its child

Properties

GtkWidget * child Read / Write
gboolean expanded Read / Write / Construct
gchar * label Read / Write / Construct
GtkWidget * label-widget Read / Write
gboolean resize-toplevel Read / Write
gboolean use-markup Read / Write / Construct
gboolean use-underline Read / Write / Construct

Signals

void activate Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkExpander

Implemented Interfaces

GtkExpander implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkExpander allows the user to hide or show its child by clicking on an expander triangle similar to the triangles used in a GtkTreeView.

Normally you use an expander as you would use a frame; you create the child widget and use gtk_expander_set_child() to add it to the expander. When the expander is toggled, it will take care of showing and hiding the child automatically.

Special Usage

There are situations in which you may prefer to show and hide the expanded widget yourself, such as when you want to actually create the widget at expansion time. In this case, create a GtkExpander but do not add a child to it. The expander widget has an “expanded” property which can be used to monitor its expansion state. You should watch this property with a signal connection as follows:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static void
expander_callback (GObject    *object,
                   GParamSpec *param_spec,
                   gpointer    user_data)
{
  GtkExpander *expander;

  expander = GTK_EXPANDER (object);

  if (gtk_expander_get_expanded (expander))
    {
      // Show or create widgets
    }
  else
    {
      // Hide or destroy widgets
    }
}

static void
create_expander (void)
{
  GtkWidget *expander = gtk_expander_new_with_mnemonic ("_More Options");
  g_signal_connect (expander, "notify::expanded",
                    G_CALLBACK (expander_callback), NULL);

  // ...
}


GtkExpander as GtkBuildable

The GtkExpander implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute.

An example of a UI definition fragment with GtkExpander:

1
2
3
4
5
6
7
8
<object class="GtkExpander">
  <child type="label">
    <object class="GtkLabel" id="expander-label"/>
  </child>
  <child>
    <object class="GtkEntry" id="expander-content"/>
  </child>
</object>


CSS nodes

1
2
3
4
5
6
expander
╰── box
    ├── title
       ├── arrow
       ╰── <label widget>
    ╰── <child>

GtkExpander has three CSS nodes, the main node with the name expander, a subnode with name title and node below it with name arrow. The arrow of an expander that is showing its child gets the :checked pseudoclass added to it.


Accessibility

GtkExpander uses the GTK_ACCESSIBLE_ROLE_BUTTON role.

Functions

gtk_expander_new ()

GtkWidget *
gtk_expander_new (const char *label);

Creates a new expander using label as the text of the label.

Parameters

label

the text of the label.

[nullable]

Returns

a new GtkExpander widget.


gtk_expander_new_with_mnemonic ()

GtkWidget *
gtk_expander_new_with_mnemonic (const char *label);

Creates a new expander using label as the text of the label. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters

label

the text of the label with an underscore in front of the mnemonic character.

[nullable]

Returns

a new GtkExpander widget.


gtk_expander_set_expanded ()

void
gtk_expander_set_expanded (GtkExpander *expander,
                           gboolean expanded);

Sets the state of the expander. Set to TRUE, if you want the child widget to be revealed, and FALSE if you want the child widget to be hidden.

Parameters

expander

a GtkExpander

 

expanded

whether the child widget is revealed

 

gtk_expander_get_expanded ()

gboolean
gtk_expander_get_expanded (GtkExpander *expander);

Queries a GtkExpander and returns its current state. Returns TRUE if the child widget is revealed.

See gtk_expander_set_expanded().

Parameters

expander

a GtkExpander

 

Returns

the current state of the expander


gtk_expander_set_label ()

void
gtk_expander_set_label (GtkExpander *expander,
                        const char *label);

Sets the text of the label of the expander to label .

This will also clear any previously set labels.

Parameters

expander

a GtkExpander

 

label

a string.

[nullable]

gtk_expander_get_label ()

const char *
gtk_expander_get_label (GtkExpander *expander);

Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup, as set by gtk_expander_set_label(). If the label text has not been set the return value will be NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container.

Note that this function behaved differently in versions prior to 2.14 and used to return the label text stripped of embedded underlines indicating mnemonics and Pango markup. This problem can be avoided by fetching the label text directly from the label widget.

Parameters

expander

a GtkExpander

 

Returns

The text of the label widget. This string is owned by the widget and must not be modified or freed.

[nullable]


gtk_expander_set_use_underline ()

void
gtk_expander_set_use_underline (GtkExpander *expander,
                                gboolean use_underline);

If true, an underline in the text of the expander label indicates the next character should be used for the mnemonic accelerator key.

Parameters

expander

a GtkExpander

 

use_underline

TRUE if underlines in the text indicate mnemonics

 

gtk_expander_get_use_underline ()

gboolean
gtk_expander_get_use_underline (GtkExpander *expander);

Returns whether an embedded underline in the expander label indicates a mnemonic. See gtk_expander_set_use_underline().

Parameters

expander

a GtkExpander

 

Returns

TRUE if an embedded underline in the expander label indicates the mnemonic accelerator keys


gtk_expander_set_use_markup ()

void
gtk_expander_set_use_markup (GtkExpander *expander,
                             gboolean use_markup);

Sets whether the text of the label contains markup in Pango’s text markup language. See gtk_label_set_markup().

Parameters

expander

a GtkExpander

 

use_markup

TRUE if the label’s text should be parsed for markup

 

gtk_expander_get_use_markup ()

gboolean
gtk_expander_get_use_markup (GtkExpander *expander);

Returns whether the label’s text is interpreted as marked up with the Pango text markup language. See gtk_expander_set_use_markup().

Parameters

expander

a GtkExpander

 

Returns

TRUE if the label’s text will be parsed for markup


gtk_expander_set_label_widget ()

void
gtk_expander_set_label_widget (GtkExpander *expander,
                               GtkWidget *label_widget);

Set the label widget for the expander. This is the widget that will appear embedded alongside the expander arrow.

Parameters

expander

a GtkExpander

 

label_widget

the new label widget.

[nullable]

gtk_expander_get_label_widget ()

GtkWidget *
gtk_expander_get_label_widget (GtkExpander *expander);

Retrieves the label widget for the frame. See gtk_expander_set_label_widget().

Parameters

expander

a GtkExpander

 

Returns

the label widget, or NULL if there is none.

[nullable][transfer none]


gtk_expander_set_resize_toplevel ()

void
gtk_expander_set_resize_toplevel (GtkExpander *expander,
                                  gboolean resize_toplevel);

Sets whether the expander will resize the toplevel widget containing the expander upon resizing and collpasing.

Parameters

expander

a GtkExpander

 

resize_toplevel

whether to resize the toplevel

 

gtk_expander_get_resize_toplevel ()

gboolean
gtk_expander_get_resize_toplevel (GtkExpander *expander);

Returns whether the expander will resize the toplevel widget containing the expander upon resizing and collpasing.

Parameters

expander

a GtkExpander

 

Returns

the “resize toplevel” setting.


gtk_expander_set_child ()

void
gtk_expander_set_child (GtkExpander *expander,
                        GtkWidget *child);

Sets the child widget of expander .

Parameters

expander

a GtkExpander

 

child

the child widget.

[allow-none]

gtk_expander_get_child ()

GtkWidget *
gtk_expander_get_child (GtkExpander *expander);

Gets the child widget of expander .

Parameters

expander

a GtkExpander

 

Returns

the child widget of expander .

[nullable][transfer none]

Types and Values

GtkExpander

typedef struct _GtkExpander GtkExpander;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkExpander

Flags: Read / Write


The “expanded” property

  “expanded”                 gboolean

Whether the expander has been opened to reveal the child widget.

Owner: GtkExpander

Flags: Read / Write / Construct

Default value: FALSE


The “label” property

  “label”                    gchar *

Text of the expander’s label.

Owner: GtkExpander

Flags: Read / Write / Construct

Default value: NULL


The “label-widget” property

  “label-widget”             GtkWidget *

A widget to display in place of the usual expander label.

Owner: GtkExpander

Flags: Read / Write


The “resize-toplevel” property

  “resize-toplevel”          gboolean

When this property is TRUE, the expander will resize the toplevel widget containing the expander upon expanding and collapsing.

Owner: GtkExpander

Flags: Read / Write

Default value: FALSE


The “use-markup” property

  “use-markup”               gboolean

The text of the label includes XML markup. See pango_parse_markup().

Owner: GtkExpander

Flags: Read / Write / Construct

Default value: FALSE


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkExpander

Flags: Read / Write / Construct

Default value: FALSE

Signal Details

The “activate” signal

void
user_function (GtkExpander *expander,
               gpointer     user_data)

Flags: Action

docs/reference/gtk/html/Application.html0000664000175000017500000000434013710700533020456 0ustar mclasenmclasen Application support: GTK 4 Reference Manual

Application support

GtkApplication — Application class
GtkApplicationWindow — GtkWindow subclass with GtkApplication support
GtkActionable — An interface for widgets that can be associated with actions
docs/reference/gtk/html/GtkColorChooser.html0000664000175000017500000006600713710700533021272 0ustar mclasenmclasen GtkColorChooser: GTK 4 Reference Manual

GtkColorChooser

GtkColorChooser — Interface implemented by widgets for choosing colors

Properties

GdkRGBA * rgba Read / Write
gboolean use-alpha Read / Write

Signals

void color-activated Run First

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkColorChooser

Prerequisites

GtkColorChooser requires GObject.

Known Implementations

GtkColorChooser is implemented by GtkColorButton, GtkColorChooserDialog and GtkColorChooserWidget.

Includes

#include <gtk/gtk.h>

Description

GtkColorChooser is an interface that is implemented by widgets for choosing colors. Depending on the situation, colors may be allowed to have alpha (translucency).

In GTK+, the main widgets that implement this interface are GtkColorChooserWidget, GtkColorChooserDialog and GtkColorButton.

Functions

gtk_color_chooser_get_rgba ()

void
gtk_color_chooser_get_rgba (GtkColorChooser *chooser,
                            GdkRGBA *color);

Gets the currently-selected color.

Parameters

chooser

a GtkColorChooser

 

color

a GdkRGBA to fill in with the current color.

[out]

gtk_color_chooser_set_rgba ()

void
gtk_color_chooser_set_rgba (GtkColorChooser *chooser,
                            const GdkRGBA *color);

Sets the color.

Parameters

chooser

a GtkColorChooser

 

color

the new color

 

gtk_color_chooser_get_use_alpha ()

gboolean
gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser);

Returns whether the color chooser shows the alpha channel.

Parameters

chooser

a GtkColorChooser

 

Returns

TRUE if the color chooser uses the alpha channel, FALSE if not


gtk_color_chooser_set_use_alpha ()

void
gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser,
                                 gboolean use_alpha);

Sets whether or not the color chooser should use the alpha channel.

Parameters

chooser

a GtkColorChooser

 

use_alpha

TRUE if color chooser should use alpha channel, FALSE if not

 

gtk_color_chooser_add_palette ()

void
gtk_color_chooser_add_palette (GtkColorChooser *chooser,
                               GtkOrientation orientation,
                               int colors_per_line,
                               int n_colors,
                               GdkRGBA *colors);

Adds a palette to the color chooser. If orientation is horizontal, the colors are grouped in rows, with colors_per_line colors in each row. If horizontal is FALSE, the colors are grouped in columns instead.

The default color palette of GtkColorChooserWidget has 27 colors, organized in columns of 3 colors. The default gray palette has 9 grays in a single row.

The layout of the color chooser widget works best when the palettes have 9-10 columns.

Calling this function for the first time has the side effect of removing the default color and gray palettes from the color chooser.

If colors is NULL, removes all previously added palettes.

Parameters

chooser

a GtkColorChooser

 

orientation

GTK_ORIENTATION_HORIZONTAL if the palette should be displayed in rows, GTK_ORIENTATION_VERTICAL for columns

 

colors_per_line

the number of colors to show in each row/column

 

n_colors

the total number of elements in colors

 

colors

the colors of the palette, or NULL.

[allow-none][array length=n_colors]

gtk_hsv_to_rgb ()

void
gtk_hsv_to_rgb (float h,
                float s,
                float v,
                float *r,
                float *g,
                float *b);

Converts a color from HSV space to RGB.

Input values must be in the [0.0, 1.0] range; output values will be in the same range.

Parameters

h

Hue

 

s

Saturation

 

v

Value

 

r

Return value for the red component.

[out]

g

Return value for the green component.

[out]

b

Return value for the blue component.

[out]

gtk_rgb_to_hsv ()

void
gtk_rgb_to_hsv (float r,
                float g,
                float b,
                float *h,
                float *s,
                float *v);

Converts a color from RGB space to HSV.

Input values must be in the [0.0, 1.0] range; output values will be in the same range.

Parameters

r

Red

 

g

Green

 

b

Blue

 

h

Return value for the hue component.

[out]

s

Return value for the saturation component.

[out]

v

Return value for the value component.

[out]

Types and Values

GtkColorChooser

typedef struct _GtkColorChooser GtkColorChooser;

Property Details

The “rgba” property

  “rgba”                     GdkRGBA *

The ::rgba property contains the currently selected color, as a GdkRGBA struct. The property can be set to change the current selection programmatically.

Owner: GtkColorChooser

Flags: Read / Write


The “use-alpha” property

  “use-alpha”                gboolean

When ::use-alpha is TRUE, colors may have alpha (translucency) information. When it is FALSE, the GdkRGBA struct obtained via the “rgba” property will be forced to have alpha == 1.

Implementations are expected to show alpha by rendering the color over a non-uniform background (like a checkerboard pattern).

Owner: GtkColorChooser

Flags: Read / Write

Default value: TRUE

Signal Details

The “color-activated” signal

void
user_function (GtkColorChooser *chooser,
               GdkRGBA         *color,
               gpointer         user_data)

Emitted when a color is activated from the color chooser. This usually happens when the user clicks a color swatch, or a color is selected and the user presses one of the keys Space, Shift+Space, Return or Enter.

Parameters

chooser

the object which received the signal

 

color

the color

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/ApplicationChoosing.html0000664000175000017500000000476513710700533022163 0ustar mclasenmclasen Choosing from installed applications: GTK 4 Reference Manual

Choosing from installed applications

GtkAppChooser — Interface implemented by widgets for choosing an application
GtkAppChooserButton — A button to launch an application chooser dialog
GtkAppChooserDialog — An application chooser dialog
GtkAppChooserWidget — Application chooser widget that can be embedded in other widgets
docs/reference/gtk/html/GtkExpression.html0000664000175000017500000024306113710700533021025 0ustar mclasenmclasen GtkExpression: GTK 4 Reference Manual

GtkExpression

GtkExpression — Expressions to values

Object Hierarchy

    GtkExpression

Includes

#include <gtk/gtk.h>

Description

GtkExpression provides a way to describe references to values.

An important aspect of expressions is that the value can be obtained from a source that is several steps away. For example, an expression may describe ‘the value of property A of object1 , which is itself the value of a property of object2 ’. And object1 may not even exist yet at the time that the expression is created. This is contrast to GObject property bindings, which can only create direct connections between the properties of two objects that must both exist for the duration of the binding.

An expression needs to be "evaluated" to obtain the value that it currently refers to. An evaluation always happens in the context of a current object called this (it mirrors the behavior of object-oriented languages), which may or may not influence the result of the evaluation. Use gtk_expression_evaluate() for evaluating an expression.

Various methods for defining expressions exist, from simple constants via gtk_constant_expression_new() to looking up properties in a GObject (even recursively) via gtk_property_expression_new() or providing custom functions to transform and combine expressions via gtk_closure_expression_new().

Here is an example of a complex expression:

1
2
3
4
color_expr = gtk_property_expression_new (GTK_TYPE_LIST_ITEM,
                                          NULL, "item");
expression = gtk_property_expression_new (GTK_TYPE_COLOR,
                                          color_expr, "name");

when evaluated with this being a GtkListItem, it will obtain the "item" property from the GtkListItem, and then obtain the "name" property from the resulting object (which is assumed to be of type GTK_TYPE_COLOR).

A more concise way to describe this would be

1
this->item->name

The most likely place where you will encounter expressions is in the context of list models and list widgets using them. For example, GtkDropDown is evaluating a GtkExpression to obtain strings from the items in its model that it can then use to match against the contents of its search entry. GtkStringFilter is using a GtkExpression for similar reasons.

By default, expressions are not paying attention to changes and evaluation is just a snapshot of the current state at a given time. To get informed about changes, an expression needs to be "watched" via a GtkExpressionWatch, which will cause a callback to be called whenever the value of the expression may have changed. gtk_expression_watch() starts watching an expression, and gtk_expression_watch_unwatch() stops.

Watches can be created for automatically updating the propery of an object, similar to GObject's GBinding mechanism, by using gtk_expression_bind().

GtkExpression in GObject properties

In order to use a GtkExpression as a GObject property, you must use the gtk_param_spec_expression() when creating a GParamSpec to install in the GObject class being defined; for instance:

1
2
3
4
5
6
7
obj_props[PROP_EXPRESSION] =
  gtk_param_spec_expression ("expression",
                             "Expression",
                             "The expression used by the widget",
                             G_PARAM_READWRITE |
                             G_PARAM_STATIC_STRINGS |
                             G_PARAM_EXPLICIT_NOTIFY);

When implementing the GObjectClass.set_property() and GObjectClass.get_property() virtual functions, you must use gtk_value_get_expression(), to retrieve the stored GtkExpression from the GValue container, and gtk_value_set_expression(), to store the GtkExpression into the GValue; for instance:

1
2
3
4
5
6
7
8
9
// in set_property()...
case PROP_EXPRESSION:
  foo_widget_set_expression (foo, gtk_value_get_expression (value));
  break;

// in get_property()...
case PROP_EXPRESSION:
  gtk_value_set_expression (value, foo->expression);
  break;


GtkExpression in .ui files

GtkBuilder has support for creating expressions. The syntax here can be used where a GtkExpression object is needed like in a <property> tag for an expression property, or in a <binding> tag to bind a property to an expression.

To create an property expression, use the <lookup> element. It can have a type attribute to specify the object type, and a name attribute to specify the property to look up. The content of <lookup> can either be an element specfiying the expression to use the object, or a string that specifies the name of the object to use.

Example:

1
<lookup name='search'>string_filter</lookup>

To create a constant expression, use the <constant> element. If the type attribute is specified, the element content is interpreted as a value of that type. Otherwise, it is assumed to be an object.

Example:

1
2
<constant>string_filter</constant>
<constant type='gchararray'>Hello, world</constant>

To create a closure expression, use the <closure> element. The type and function attributes specify what function to use for the closure, the content of the element contains the expressions for the parameters.

Example:

1
2
3
4
<closure type='gchararray' function='combine_args_somehow'>
  <constant type='gchararray'>File size:</constant>
  <lookup type='GFile' name='size'>myfile</lookup>
</closure>

Functions

GtkExpressionNotify ()

void
(*GtkExpressionNotify) (gpointer user_data);

Callback called by gtk_expression_watch() when the expression value changes.

Parameters

user_data

data passed to gtk_expression_watch()

 

gtk_expression_ref ()

GtkExpression *
gtk_expression_ref (GtkExpression *self);

Acquires a reference on the given GtkExpression.

Parameters

self

a GtkExpression.

[allow-none]

Returns

the GtkExpression with an additional reference.

[transfer none]


gtk_expression_unref ()

void
gtk_expression_unref (GtkExpression *self);

Releases a reference on the given GtkExpression.

If the reference was the last, the resources associated to the self are freed.

Parameters

self

a GtkExpression.

[allow-none]

gtk_expression_get_value_type ()

GType
gtk_expression_get_value_type (GtkExpression *self);

Gets the GType that this expression evaluates to. This type is constant and will not change over the lifetime of this expression.

Parameters

self

a GtkExpression

 

Returns

The type returned from gtk_expression_evaluate()


gtk_expression_is_static ()

gboolean
gtk_expression_is_static (GtkExpression *self);

Checks if the expression is static.

A static expression will never change its result when gtk_expression_evaluate() is called on it with the same arguments.

That means a call to gtk_expression_watch() is not necessary because it will never trigger a notify.

Parameters

self

a GtkExpression

 

Returns

TRUE if the expression is static


gtk_expression_evaluate ()

gboolean
gtk_expression_evaluate (GtkExpression *self,
                         gpointer this_,
                         GValue *value);

Evaluates the given expression and on success stores the result in value . The GType of value will be the type given by gtk_expression_get_value_type().

It is possible that expressions cannot be evaluated - for example when the expression references objects that have been destroyed or set to NULL. In that case value will remain empty and FALSE will be returned.

Parameters

self

a GtkExpression

 

this_

the this argument for the evaluation.

[transfer none][type GObject][nullable]

value

an empty GValue

 

Returns

TRUE if the expression could be evaluated


gtk_expression_watch ()

GtkExpressionWatch *
gtk_expression_watch (GtkExpression *self,
                      gpointer this_,
                      GtkExpressionNotify notify,
                      gpointer user_data,
                      GDestroyNotify user_destroy);

Installs a watch for the given expression that calls the notify function whenever the evaluation of self may have changed.

GTK cannot guarantee that the evaluation did indeed change when the notify gets invoked, but it guarantees the opposite: When it did in fact change, the notify will be invoked.

Parameters

self

a GtkExpression

 

this_

the this argument to watch.

[transfer none][type GObject][nullable]

notify

callback to invoke when the expression changes.

[closure user_data]

user_data

user data to pass to notify callback

 

user_destroy

destroy notify for user_data

 

Returns

The newly installed watch. Note that the only reference held to the watch will be released when the watch is unwatched which can happen automatically, and not just via gtk_expression_watch_unwatch(). You should call gtk_expression_watch_ref() if you want to keep the watch around.

[transfer none]


gtk_expression_bind ()

GtkExpressionWatch *
gtk_expression_bind (GtkExpression *self,
                     gpointer target,
                     const char *property,
                     gpointer this_);

Bind target 's property named property to self .

The value that self evaluates to is set via g_object_set() on target . This is repeated whenever self changes to ensure that the object's property stays synchronized with self .

If self 's evaluation fails, target 's property is not updated. You can ensure that this doesn't happen by using a fallback expression.

Note that this function takes ownership of self . If you want to keep it around, you should gtk_expression_ref() it beforehand.

Parameters

self

a GtkExpression.

[transfer full]

target

the target object to bind to.

[transfer none][type GObject]

property

name of the property on target to bind to

 

this_

the this argument for the evaluation of self .

[transfer none][type GObject][nullable]

Returns

a GtkExpressionWatch.

[transfer none]


gtk_expression_watch_ref ()

GtkExpressionWatch *
gtk_expression_watch_ref (GtkExpressionWatch *watch);

Acquires a reference on the given GtkExpressionWatch.

Parameters

watch

a GtkExpressionWatch.

[allow-none]

Returns

the GtkExpression with an additional reference.

[transfer none]


gtk_expression_watch_unref ()

void
gtk_expression_watch_unref (GtkExpressionWatch *watch);

Releases a reference on the given GtkExpressionWatch.

If the reference was the last, the resources associated to self are freed.

Parameters

watch

a GtkExpressionWatch.

[allow-none]

gtk_expression_watch_evaluate ()

gboolean
gtk_expression_watch_evaluate (GtkExpressionWatch *watch,
                               GValue *value);

Evaluates the watched expression and on success stores the result in value .

This is equivalent to calling gtk_expression_evaluate() with the expression and this pointer originally used to create watch .

Parameters

watch

a GtkExpressionWatch

 

value

an empty GValue to be set

 

Returns

TRUE if the expression could be evaluated and value was set


gtk_expression_watch_unwatch ()

void
gtk_expression_watch_unwatch (GtkExpressionWatch *watch);

Stops watching an expression that was established via gtk_expression_watch().

Parameters

watch

watch to release.

[transfer none]

gtk_property_expression_new ()

GtkExpression *
gtk_property_expression_new (GType this_type,
                             GtkExpression *expression,
                             const char *property_name);

Creates an expression that looks up a property via the given expression or the this argument when expression is NULL.

If the resulting object conforms to this_type , its property named property_name will be queried. Otherwise, this expression's evaluation will fail.

The given this_type must have a property with property_name .

Parameters

this_type

The type to expect for the this type

 

expression

Expression to evaluate to get the object to query or NULL to query the this object.

[nullable][transfer full]

property_name

name of the property

 

Returns

a new GtkExpression


gtk_property_expression_new_for_pspec ()

GtkExpression *
gtk_property_expression_new_for_pspec (GtkExpression *expression,
                                       GParamSpec *pspec);

Creates an expression that looks up a property via the given expression or the this argument when expression is NULL.

If the resulting object conforms to this_type , its property specified by pspec will be queried. Otherwise, this expression's evaluation will fail.

Parameters

expression

Expression to evaluate to get the object to query or NULL to query the this object.

[nullable][transfer full]

pspec

the GParamSpec for the property to query

 

Returns

a new GtkExpression


gtk_property_expression_get_expression ()

GtkExpression *
gtk_property_expression_get_expression
                               (GtkExpression *expression);

Gets the expression specifying the object of a property expression.

Parameters

expression

a property GtkExpression.

[type GtkPropertyExpression]

Returns

the object expression.

[transfer none]


gtk_property_expression_get_pspec ()

GParamSpec *
gtk_property_expression_get_pspec (GtkExpression *expression);

Gets the GParamSpec specifying the property of a property expression.

Parameters

expression

a property GtkExpression.

[type GtkPropertyExpression]

Returns

the GParamSpec.

[transfer none]


gtk_constant_expression_new ()

GtkExpression *
gtk_constant_expression_new (GType value_type,
                             ...);

Creates a GtkExpression that evaluates to the object given by the arguments.

Parameters

value_type

The type of the object

 

...

arguments to create the object from

 

Returns

a new GtkExpression


gtk_constant_expression_new_for_value ()

GtkExpression *
gtk_constant_expression_new_for_value (const GValue *value);

Creates an expression that always evaluates to the given value .

Parameters

value

a GValue

 

Returns

a new GtkExpression


gtk_constant_expression_get_value ()

const GValue *
gtk_constant_expression_get_value (GtkExpression *expression);

Gets the value that a constant expression evaluates to.

Parameters

expression

a constant GtkExpression.

[type GtkConstantExpression]

Returns

the value.

[transfer none]


gtk_object_expression_new ()

GtkExpression *
gtk_object_expression_new (GObject *object);

Creates an expression evaluating to the given object with a weak reference. Once the object is disposed, it will fail to evaluate. This expression is meant to break reference cycles.

If you want to keep a reference to object , use gtk_constant_expression_new().

Parameters

object

object to watch.

[transfer none]

Returns

a new GtkExpression


gtk_object_expression_get_object ()

GObject *
gtk_object_expression_get_object (GtkExpression *expression);

Gets the object that the expression evaluates to.

Parameters

expression

an object GtkExpression.

[type GtkObjectExpression]

Returns

the object, or NULL.

[transfer none]


gtk_closure_expression_new ()

GtkExpression *
gtk_closure_expression_new (GType value_type,
                            GClosure *closure,
                            guint n_params,
                            GtkExpression **params);

Creates a GtkExpression that calls closure when it is evaluated. closure is called with the this object and the results of evaluating the params expressions.

Parameters

value_type

the type of the value that this expression evaluates to

 

closure

closure to call when evaluating this expression. If closure is floating, it is adopted

 

n_params

the number of params needed for evaluating closure

 

params

expressions for each parameter.

[array length=n_params][transfer full]

Returns

a new GtkExpression


gtk_cclosure_expression_new ()

GtkExpression *
gtk_cclosure_expression_new (GType value_type,
                             GClosureMarshal marshal,
                             guint n_params,
                             GtkExpression **params,
                             GCallback callback_func,
                             gpointer user_data,
                             GClosureNotify user_destroy);

This function is a variant of gtk_closure_expression_new() that creates a GClosure by calling gtk_cclosure_new() with the given callback_func , user_data and user_destroy .

Parameters

value_type

the type of the value that this expression evaluates to

 

marshal

marshaller used for creating a closure.

[scope call][nullable]

n_params

the number of params needed for evaluating closure

 

params

expressions for each parameter.

[array length=n_params][transfer full]

callback_func

callback used for creating a closure.

[scope notified][closure user_data][destroy user_destroy]

user_data

user data used for creating a closure.

[nullable]

user_destroy

destroy notify for user_data .

[nullable]

Returns

a new GtkExpression


GTK_VALUE_HOLDS_EXPRESSION()

#define GTK_VALUE_HOLDS_EXPRESSION(value)       (G_VALUE_HOLDS ((value), GTK_TYPE_EXPRESSION))

gtk_value_set_expression ()

void
gtk_value_set_expression (GValue *value,
                          GtkExpression *expression);

Stores the given GtkExpression inside value .

The GValue will acquire a reference to the expression .

Parameters

value

a GValue initialized with type GTK_TYPE_EXPRESSION

 

expression

a GtkExpression

 

gtk_value_take_expression ()

void
gtk_value_take_expression (GValue *value,
                           GtkExpression *expression);

Stores the given GtkExpression inside value .

This function transfers the ownership of the expression to the GValue.

Parameters

value

a GValue initialized with type GTK_TYPE_EXPRESSION

 

expression

a GtkExpression.

[transfer full][nullable]

gtk_value_get_expression ()

GtkExpression *
gtk_value_get_expression (const GValue *value);

Retrieves the GtkExpression stored inside the given value .

Parameters

value

a GValue initialized with type GTK_TYPE_EXPRESSION

 

Returns

a GtkExpression.

[transfer none][nullable]


gtk_value_dup_expression ()

GtkExpression *
gtk_value_dup_expression (const GValue *value);

Retrieves the GtkExpression stored inside the given value , and acquires a reference to it.

Parameters

value

a GValue initialized with type GTK_TYPE_EXPRESSION

 

Returns

a GtkExpression.

[transfer full][nullable]


gtk_param_spec_expression ()

GParamSpec *
gtk_param_spec_expression (const char *name,
                           const char *nick,
                           const char *blurb,
                           GParamFlags flags);

Creates a new GParamSpec instance for a property holding a GtkExpression.

See g_param_spec_internal() for details on the property strings.

Parameters

name

canonical name of the property

 

nick

a user-readable name for the property

 

blurb

a user-readable description of the property

 

flags

flags for the property

 

Returns

a newly created property specification.

[transfer full]

Types and Values

GtkExpression

typedef struct _GtkExpression GtkExpression;

The GtkExpression structure contains only private data.


GtkExpressionWatch

typedef struct _GtkExpressionWatch GtkExpressionWatch;

GtkParamSpecExpression

typedef struct {
} GtkParamSpecExpression;
docs/reference/gtk/html/Builder.html0000664000175000017500000000426413710700533017606 0ustar mclasenmclasen Interface builder: GTK 4 Reference Manual

Interface builder

GtkBuilder — Build an interface from an XML UI definition
GtkBuildable — Interface for objects that can be built by GtkBuilder
GtkBuilderScope — Bindings for GtkBuilder
docs/reference/gtk/html/GtkColorChooserDialog.html0000664000175000017500000002217313710700533022406 0ustar mclasenmclasen GtkColorChooserDialog: GTK 4 Reference Manual

GtkColorChooserDialog

GtkColorChooserDialog — A dialog for choosing colors

Properties

gboolean show-editor Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkColorChooserDialog

Implemented Interfaces

GtkColorChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkColorChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkColorChooserDialog widget is a dialog for choosing a color. It implements the GtkColorChooser interface.

Functions

gtk_color_chooser_dialog_new ()

GtkWidget *
gtk_color_chooser_dialog_new (const char *title,
                              GtkWindow *parent);

Creates a new GtkColorChooserDialog.

Parameters

title

Title of the dialog, or NULL.

[allow-none]

parent

Transient parent of the dialog, or NULL.

[allow-none]

Returns

a new GtkColorChooserDialog

Types and Values

GtkColorChooserDialog

typedef struct _GtkColorChooserDialog GtkColorChooserDialog;

Property Details

The “show-editor” property

  “show-editor”              gboolean

Show editor.

Owner: GtkColorChooserDialog

Flags: Read / Write

Default value: FALSE

docs/reference/gtk/html/ButtonWidgets.html0000664000175000017500000000657513710700533021031 0ustar mclasenmclasen Buttons and Toggles: GTK 4 Reference Manual

Buttons and Toggles

GtkButton — A widget that emits a signal when clicked on
GtkCheckButton — Create widgets with a discrete toggle button
GtkRadioButton — A choice from multiple check buttons
GtkToggleButton — Create buttons which retain their state
GtkLinkButton — Create buttons bound to a URL
GtkMenuButton — A widget that shows a popup when clicked on
GtkSwitch — A “light switch” style toggle
GtkScaleButton — A button which pops up a scale
GtkVolumeButton — A button which pops up a volume control
GtkLockButton — A widget to unlock or lock privileged operations
docs/reference/gtk/html/GtkColorChooserWidget.html0000664000175000017500000003013213710700533022424 0ustar mclasenmclasen GtkColorChooserWidget: GTK 4 Reference Manual

GtkColorChooserWidget

GtkColorChooserWidget — A widget for choosing colors

Properties

gboolean show-editor Read / Write

Actions

  color.customize (dddd)
  color.select (dddd)

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkColorChooserWidget

Implemented Interfaces

GtkColorChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkColorChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkColorChooserWidget widget lets the user select a color. By default, the chooser presents a predefined palette of colors, plus a small number of settable custom colors. It is also possible to select a different color with the single-color editor. To enter the single-color editing mode, use the context menu of any color of the palette, or use the '+' button to add a new custom color.

The chooser automatically remembers the last selection, as well as custom colors.

To change the initially selected color, use gtk_color_chooser_set_rgba(). To get the selected color use gtk_color_chooser_get_rgba().

The GtkColorChooserWidget is used in the GtkColorChooserDialog to provide a dialog for selecting colors.

CSS names

GtkColorChooserWidget has a single CSS node with name colorchooser.

Functions

gtk_color_chooser_widget_new ()

GtkWidget *
gtk_color_chooser_widget_new (void);

Creates a new GtkColorChooserWidget.

Returns

a new GtkColorChooserWidget

Types and Values

GtkColorChooserWidget

typedef struct _GtkColorChooserWidget GtkColorChooserWidget;

Property Details

The “show-editor” property

  “show-editor”              gboolean

The ::show-editor property is TRUE when the color chooser is showing the single-color editor. It can be set to switch the color chooser into single-color editing mode.

Owner: GtkColorChooserWidget

Flags: Read / Write

Default value: FALSE

Action Details

The “color.customize” action

Activates the color editor for the given color.

Parameter type: (dddd)

Parameters

red

the red value, between 0 and 1

 

green

the green value, between 0 and 1

 

blue

the blue value, between 0 and 1

 

alpha

the alpha value, between 0 and 1

 

The “color.select” action

Emits the “color-activated” signal for the given color.

Parameter type: (dddd)

Parameters

red

the red value, between 0 and 1

 

green

the green value, between 0 and 1

 

blue

the blue value, between 0 and 1

 

alpha

the alpha value, between 0 and 1

 
docs/reference/gtk/html/DisplayWidgets.html0000664000175000017500000000663713710700533021162 0ustar mclasenmclasen Display Widgets: GTK 4 Reference Manual

Display Widgets

GtkLabel — A widget that displays a small to medium amount of text
GtkImage — A widget displaying an image
GtkPicture — A widget displaying a GdkPaintable
GtkSpinner — Show a spinner animation
GtkInfoBar — Report important messages to the user
GtkProgressBar — A widget which indicates progress visually
GtkLevelBar — A bar that can used as a level indicator
GtkStatusbar — Report messages of minor importance to the user
GtkAccelLabel — A label which displays an accelerator key on the right of the text
GtkCalendar — Displays a calendar and allows the user to select a date
docs/reference/gtk/html/GtkColumnView.html0000664000175000017500000015242013710700533020754 0ustar mclasenmclasen GtkColumnView: GTK 4 Reference Manual

GtkColumnView

GtkColumnView — A widget for displaying lists in multiple columns

Properties

GListModel * columns Read
gboolean enable-rubberband Read / Write
GListModel * model Read / Write
gboolean reorderable Read / Write
gboolean show-column-separators Read / Write
gboolean show-row-separators Read / Write
gboolean single-click-activate Read / Write
GtkSorter * sorter Read

Signals

void activate Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkColumnView

Implemented Interfaces

GtkColumnView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable.

Includes

#include <gtk/gtk.h>

Description

GtkColumnView is a widget to present a view into a large dynamic list of items using multiple columns with headers.

GtkColumnView uses the factories of its columns to generate a cell widget for each column, for each visible item and displays them together as the row for this item. The “show-row-separators” and “show-column-separators” properties offer a simple way to display separators between the rows or columns.

GtkColumnView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkColumnView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on *rubberband selection*, using “enable-rubberband”.

The column view supports sorting that can be customized by the user by clicking on column headers. To set this up, the GtkSorter returned by gtk_column_view_get_sorter() must be attached to a sort model for the data that the view is showing, and the columns must have sorters attached to them by calling gtk_column_view_column_set_sorter(). The initial sort order can be set with gtk_column_view_sort_by_column().

The column view also supports interactive resizing and reordering of columns, via Drag-and-Drop of the column headers. This can be enabled or disabled with the “reorderable” and “resizable” properties.

To learn more about the list widget framework, see the overview.

CSS nodes

1
2
3
4
5
6
7
8
9
10
columnview[.column-separators]
├── header
   ├── <column header>
   
   ╰── <column header>

├── listview


╰── [rubberband]

GtkColumnView uses a single CSS node named columnview. It may carry the .column-separators style class, when “show-column-separators” property is set. Header widets appear below a node with name header. The rows are contained in a GtkListView widget, so there is a listview node with the same structure as for a standalone GtkListView widget. If “show-row-separators” is set, it will be passed on to the list view, causing its CSS node to carry the .separators style class. For rubberband selection, a node with name rubberband is used.

Functions

gtk_column_view_new ()

GtkWidget *
gtk_column_view_new (GListModel *model);

Creates a new GtkColumnView.

You most likely want to call gtk_column_view_append_column() to add columns next.

Parameters

model

the list model to use, or NULL.

[allow-none][transfer full]

Returns

a new GtkColumnView


gtk_column_view_append_column ()

void
gtk_column_view_append_column (GtkColumnView *self,
                               GtkColumnViewColumn *column);

Appends the column to the end of the columns in self .

Parameters

self

a GtkColumnView

 

column

a GtkColumnViewColumn that hasn't been added to a GtkColumnView yet

 

gtk_column_view_insert_column ()

void
gtk_column_view_insert_column (GtkColumnView *self,
                               guint position,
                               GtkColumnViewColumn *column);

Inserts a column at the given position in the columns of self .

If column is already a column of self , it will be repositioned.

Parameters

self

a GtkColumnView

 

position

the position to insert column at

 

column

the GtkColumnViewColumn to insert

 

gtk_column_view_remove_column ()

void
gtk_column_view_remove_column (GtkColumnView *self,
                               GtkColumnViewColumn *column);

Removes the column from the list of columns of self .

Parameters

self

a GtkColumnView

 

column

a GtkColumnViewColumn that's part of self

 

gtk_column_view_get_columns ()

GListModel *
gtk_column_view_get_columns (GtkColumnView *self);

Gets the list of columns in this column view. This list is constant over the lifetime of self and can be used to monitor changes to the columns of self by connecting to the “items-changed” signal.

Parameters

self

a GtkColumnView

 

Returns

The list managing the columns.

[transfer none]


gtk_column_view_get_model ()

GListModel *
gtk_column_view_get_model (GtkColumnView *self);

Gets the model that's currently used to read the items displayed.

Parameters

self

a GtkColumnView

 

Returns

The model in use.

[nullable][transfer none]


gtk_column_view_set_model ()

void
gtk_column_view_set_model (GtkColumnView *self,
                           GListModel *model);

Sets the GListModel to use.

If the model is a GtkSelectionModel, it is used for managing the selection. Otherwise, self creates a GtkSingleSelection for the selection.

Parameters

self

a GtkColumnView

 

model

the model to use or NULL for none.

[allow-none][transfer none]

gtk_column_view_get_sorter ()

GtkSorter *
gtk_column_view_get_sorter (GtkColumnView *self);

Returns a special sorter that reflects the users sorting choices in the column view.

To allow users to customizable sorting by clicking on column headers, this sorter needs to be set on the sort model underneath the model that is displayed by the view.

See gtk_column_view_column_set_sorter() for setting up per-column sorting.

Here is an example:

1
2
3
4
5
6
gtk_column_view_column_set_sorter (column, sorter);
gtk_column_view_append_column (view, column);
sorter = g_object_ref (gtk_column_view_get_sorter (view)));
model = gtk_sort_list_model_new (store, sorter);
selection = gtk_no_selection_new (model);
gtk_column_view_set_model (view, selection);

Parameters

self

a GtkColumnView

 

Returns

the GtkSorter of self .

[transfer none]


gtk_column_view_get_show_row_separators ()

gboolean
gtk_column_view_get_show_row_separators
                               (GtkColumnView *self);

Returns whether the list should show separators between rows.

Parameters

self

a GtkColumnView

 

Returns

TRUE if the list shows separators


gtk_column_view_set_show_row_separators ()

void
gtk_column_view_set_show_row_separators
                               (GtkColumnView *self,
                                gboolean show_row_separators);

Sets whether the list should show separators between rows.

Parameters

self

a GtkColumnView

 

show_row_separators

TRUE to show row separators

 

gtk_column_view_get_show_column_separators ()

gboolean
gtk_column_view_get_show_column_separators
                               (GtkColumnView *self);

Returns whether the list should show separators between columns.

Parameters

self

a GtkColumnView

 

Returns

TRUE if the list shows column separators


gtk_column_view_set_show_column_separators ()

void
gtk_column_view_set_show_column_separators
                               (GtkColumnView *self,
                                gboolean show_column_separators);

Sets whether the list should show separators between columns.

Parameters

self

a GtkColumnView

 

show_column_separators

TRUE to show column separators

 

gtk_column_view_sort_by_column ()

void
gtk_column_view_sort_by_column (GtkColumnView *self,
                                GtkColumnViewColumn *column,
                                GtkSortType direction);

Sets the sorting of the view.

This function should be used to set up the initial sorting. At runtime, users can change the sorting of a column view by clicking on the list headers.

This call only has an effect if the sorter returned by gtk_column_view_get_sorter() is set on a sort model, and gtk_column_view_column_set_sorter() has been called on column to associate a sorter with the column.

If column is NULL, the view will be unsorted.

Parameters

self

a GtkColumnView

 

column

the GtkColumnViewColumn to sort by, or NULL.

[allow-none]

direction

the direction to sort in

 

gtk_column_view_set_single_click_activate ()

void
gtk_column_view_set_single_click_activate
                               (GtkColumnView *self,
                                gboolean single_click_activate);

Sets whether rows should be activated on single click and selected on hover.

Parameters

self

a GtkColumnView

 

single_click_activate

TRUE to activate items on single click

 

gtk_column_view_get_single_click_activate ()

gboolean
gtk_column_view_get_single_click_activate
                               (GtkColumnView *self);

Returns whether rows will be activated on single click and selected on hover.

Parameters

self

a GtkColumnView

 

Returns

TRUE if rows are activated on single click


gtk_column_view_set_reorderable ()

void
gtk_column_view_set_reorderable (GtkColumnView *self,
                                 gboolean reorderable);

Sets whether columns should be reorderable by dragging.

Parameters

self

a GtkColumnView

 

reorderable

whether columns should be reorderable

 

gtk_column_view_get_reorderable ()

gboolean
gtk_column_view_get_reorderable (GtkColumnView *self);

Returns whether columns are reorderable.

Parameters

self

a GtkColumnView

 

Returns

TRUE if columns are reorderable


gtk_column_view_set_enable_rubberband ()

void
gtk_column_view_set_enable_rubberband (GtkColumnView *self,
                                       gboolean enable_rubberband);

Sets whether selections can be changed by dragging with the mouse.

Parameters

self

a GtkColumnView

 

enable_rubberband

TRUE to enable rubberband selection

 

gtk_column_view_get_enable_rubberband ()

gboolean
gtk_column_view_get_enable_rubberband (GtkColumnView *self);

Returns whether rows can be selected by dragging with the mouse.

Parameters

self

a GtkColumnView

 

Returns

TRUE if rubberband selection is enabled

Types and Values

GtkColumnView

typedef struct _GtkColumnView GtkColumnView;

GtkColumnView is the simple list implementation for GTK's list widgets.

Property Details

The “columns” property

  “columns”                  GListModel *

The list of columns

Owner: GtkColumnView

Flags: Read


The “enable-rubberband” property

  “enable-rubberband”        gboolean

Allow rubberband selection

Owner: GtkColumnView

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GListModel *

Model for the items displayed

Owner: GtkColumnView

Flags: Read / Write


The “reorderable” property

  “reorderable”              gboolean

Whether columns are reorderable

Owner: GtkColumnView

Flags: Read / Write

Default value: TRUE


The “show-column-separators” property

  “show-column-separators”   gboolean

Show separators between columns

Owner: GtkColumnView

Flags: Read / Write

Default value: FALSE


The “show-row-separators” property

  “show-row-separators”      gboolean

Show separators between rows

Owner: GtkColumnView

Flags: Read / Write

Default value: FALSE


The “single-click-activate” property

  “single-click-activate”    gboolean

Activate rows on single click and select them on hover

Owner: GtkColumnView

Flags: Read / Write

Default value: FALSE


The “sorter” property

  “sorter”                   GtkSorter *

Sorter with the sorting choices of the user

Owner: GtkColumnView

Flags: Read

Signal Details

The “activate” signal

void
user_function (GtkColumnView *self,
               guint          position,
               gpointer       user_data)

The ::activate signal is emitted when a row has been activated by the user, usually via activating the GtkListBase|list.activate-item action.

This allows for a convenient way to handle activation in a columnview. See gtk_list_item_set_activatable() for details on how to use this signal.

Parameters

self

The GtkColumnView

 

position

position of item to activate

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/DrawingWidgets.html0000664000175000017500000000404413710700533021136 0ustar mclasenmclasen Widgets for custom drawing: GTK 4 Reference Manual

Widgets for custom drawing

GtkDrawingArea — A simple widget for drawing with cairo
GtkGLArea — A widget for custom drawing with OpenGL
docs/reference/gtk/html/GtkFileChooser.html0000664000175000017500000021334613710700533021073 0ustar mclasenmclasen GtkFileChooser: GTK 4 Reference Manual

GtkFileChooser

GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog

Properties

GtkFileChooserAction action Read / Write
gboolean create-folders Read / Write
GtkFileFilter * filter Read / Write
GListModel * filters Read
gboolean select-multiple Read / Write
GListModel * shortcut-folders Read

Object Hierarchy

    GInterface
    ╰── GtkFileChooser

Prerequisites

GtkFileChooser requires GObject.

Known Implementations

GtkFileChooser is implemented by GtkFileChooserButton, GtkFileChooserDialog and GtkFileChooserWidget.

Includes

#include <gtk/gtk.h>

Description

GtkFileChooser is an interface that can be implemented by file selection widgets. In GTK+, the main objects that implement this interface are GtkFileChooserWidget, GtkFileChooserDialog, and GtkFileChooserButton. You do not need to write an object that implements the GtkFileChooser interface unless you are trying to adapt an existing file selector to expose a standard programming interface.

GtkFileChooser allows for shortcuts to various places in the filesystem. In the default implementation these are displayed in the left pane. It may be a bit confusing at first that these shortcuts come from various sources and in various flavours, so lets explain the terminology here:

  • Bookmarks: are created by the user, by dragging folders from the right pane to the left pane, or by using the “Add”. Bookmarks can be renamed and deleted by the user.

  • Shortcuts: can be provided by the application. For example, a Paint program may want to add a shortcut for a Clipart folder. Shortcuts cannot be modified by the user.

  • Volumes: are provided by the underlying filesystem abstraction. They are the “roots” of the filesystem.

File Names and Encodings

When the user is finished selecting files in a GtkFileChooser, your program can get the selected filenames as GFiles.


Adding options

You can add extra widgets to a file chooser to provide options that are not present in the default design, by using gtk_file_chooser_add_choice(). Each choice has an identifier and a user visible label; additionally, each choice can have multiple options. If a choice has no option, it will be rendered as a check button with the given label; if a choice has options, it will be rendered as a combo box.

Functions

gtk_file_chooser_set_action ()

void
gtk_file_chooser_set_action (GtkFileChooser *chooser,
                             GtkFileChooserAction action);

Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action. For example, an option to create a new folder might be shown if the action is GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is GTK_FILE_CHOOSER_ACTION_OPEN.

Parameters

chooser

a GtkFileChooser

 

action

the action that the file selector is performing

 

gtk_file_chooser_get_action ()

GtkFileChooserAction
gtk_file_chooser_get_action (GtkFileChooser *chooser);

Gets the type of operation that the file chooser is performing; see gtk_file_chooser_set_action().

Parameters

chooser

a GtkFileChooser

 

Returns

the action that the file selector is performing


gtk_file_chooser_set_select_multiple ()

void
gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser,
                                      gboolean select_multiple);

Sets whether multiple files can be selected in the file selector. This is only relevant if the action is set to be GTK_FILE_CHOOSER_ACTION_OPEN or GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.

Parameters

chooser

a GtkFileChooser

 

select_multiple

TRUE if multiple files can be selected.

 

gtk_file_chooser_get_select_multiple ()

gboolean
gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser);

Gets whether multiple files can be selected in the file selector. See gtk_file_chooser_set_select_multiple().

Parameters

chooser

a GtkFileChooser

 

Returns

TRUE if multiple files can be selected.


gtk_file_chooser_set_create_folders ()

void
gtk_file_chooser_set_create_folders (GtkFileChooser *chooser,
                                     gboolean create_folders);

Sets whether file choser will offer to create new folders. This is only relevant if the action is not set to be GTK_FILE_CHOOSER_ACTION_OPEN.

Parameters

chooser

a GtkFileChooser

 

create_folders

TRUE if the Create Folder button should be displayed

 

gtk_file_chooser_get_create_folders ()

gboolean
gtk_file_chooser_get_create_folders (GtkFileChooser *chooser);

Gets whether file choser will offer to create new folders. See gtk_file_chooser_set_create_folders().

Parameters

chooser

a GtkFileChooser

 

Returns

TRUE if the Create Folder button should be displayed.


gtk_file_chooser_set_current_name ()

void
gtk_file_chooser_set_current_name (GtkFileChooser *chooser,
                                   const char *name);

Sets the current name in the file selector, as if entered by the user. Note that the name passed in here is a UTF-8 string rather than a filename. This function is meant for such uses as a suggested name in a “Save As...” dialog. You can pass “Untitled.doc” or a similarly suitable suggestion for the name .

If you want to preselect a particular existing file, you should use gtk_file_chooser_set_file() instead.

Please see the documentation for those functions for an example of using gtk_file_chooser_set_current_name() as well.

Parameters

chooser

a GtkFileChooser

 

name

the filename to use, as a UTF-8 string.

[type filename]

gtk_file_chooser_get_current_name ()

char *
gtk_file_chooser_get_current_name (GtkFileChooser *chooser);

Gets the current name in the file selector, as entered by the user in the text entry for “Name”.

This is meant to be used in save dialogs, to get the currently typed filename when the file itself does not exist yet.

Parameters

chooser

a GtkFileChooser

 

Returns

The raw text from the file chooser’s “Name” entry. Free this with g_free(). Note that this string is not a full pathname or URI; it is whatever the contents of the entry are. Note also that this string is in UTF-8 encoding, which is not necessarily the system’s encoding for filenames.


gtk_file_chooser_get_file ()

GFile *
gtk_file_chooser_get_file (GtkFileChooser *chooser);

Gets the GFile for the currently selected file in the file selector. If multiple files are selected, one of the files will be returned at random.

If the file chooser is in folder mode, this function returns the selected folder.

Parameters

chooser

a GtkFileChooser

 

Returns

a selected GFile. You own the returned file; use g_object_unref() to release it.

[transfer full]


gtk_file_chooser_set_file ()

gboolean
gtk_file_chooser_set_file (GtkFileChooser *chooser,
                           GFile *file,
                           GError **error);

Sets file as the current filename for the file chooser, by changing to the file’s parent folder and actually selecting the file in list. If the chooser is in GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name will also appear in the dialog’s file name entry.

If the file name isn’t in the current folder of chooser , then the current folder of chooser will be changed to the folder containing filename . This is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_filename().

Note that the file must exist, or nothing will be done except for the directory change.

If you are implementing a save dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does Save As... If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this:

1
2
3
4
5
6
7
8
9
10
11
if (document_is_new)
  {
    // the user just created a new document
    gtk_file_chooser_set_current_folder (chooser, default_file_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    // the user edited an existing document
    gtk_file_chooser_set_file (chooser, existing_file);
  }

Parameters

chooser

a GtkFileChooser

 

file

the GFile to set as current

 

error

location to store the error, or NULL to ignore errors.

[allow-none]

Returns

Not useful.


gtk_file_chooser_get_files ()

GListModel *
gtk_file_chooser_get_files (GtkFileChooser *chooser);

Lists all the selected files and subfolders in the current folder of chooser as GFile.

Parameters

chooser

a GtkFileChooser

 

Returns

a list model containing a GFile for each selected file and subfolder in the current folder. Free the returned list with g_object_unref().

[transfer full]


gtk_file_chooser_set_current_folder ()

gboolean
gtk_file_chooser_set_current_folder (GtkFileChooser *chooser,
                                     GFile *file,
                                     GError **error);

Sets the current folder for chooser from a GFile.

Parameters

chooser

a GtkFileChooser

 

file

the GFile for the new folder

 

error

location to store error, or NULL.

 

Returns

TRUE if the folder could be changed successfully, FALSE otherwise.


gtk_file_chooser_get_current_folder ()

GFile *
gtk_file_chooser_get_current_folder (GtkFileChooser *chooser);

Gets the current folder of chooser as GFile.

Parameters

chooser

a GtkFileChooser

 

Returns

the GFile for the current folder.

[transfer full]


gtk_file_chooser_add_filter ()

void
gtk_file_chooser_add_filter (GtkFileChooser *chooser,
                             GtkFileFilter *filter);

Adds filter to the list of filters that the user can select between. When a filter is selected, only files that are passed by that filter are displayed.

Note that the chooser takes ownership of the filter if it is floating, so you have to ref and sink it if you want to keep a reference.

Parameters

chooser

a GtkFileChooser

 

filter

a GtkFileFilter.

[transfer none]

gtk_file_chooser_remove_filter ()

void
gtk_file_chooser_remove_filter (GtkFileChooser *chooser,
                                GtkFileFilter *filter);

Removes filter from the list of filters that the user can select between.

Parameters

chooser

a GtkFileChooser

 

filter

a GtkFileFilter

 

gtk_file_chooser_get_filters ()

GListModel *
gtk_file_chooser_get_filters (GtkFileChooser *chooser);

Gets the current set of user-selectable filters, as a list model; see gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().

You should not modify the returned list model. Future changes to chooser may or may not affect the returned model.

Parameters

chooser

a GtkFileChooser

 

Returns

a GListModel containing the current set of user-selectable filters.

[transfer full]


gtk_file_chooser_set_filter ()

void
gtk_file_chooser_set_filter (GtkFileChooser *chooser,
                             GtkFileFilter *filter);

Sets the current filter; only the files that pass the filter will be displayed. If the user-selectable list of filters is non-empty, then the filter should be one of the filters in that list. Setting the current filter when the list of filters is empty is useful if you want to restrict the displayed set of files without letting the user change it.

Parameters

chooser

a GtkFileChooser

 

filter

a GtkFileFilter

 

gtk_file_chooser_get_filter ()

GtkFileFilter *
gtk_file_chooser_get_filter (GtkFileChooser *chooser);

Gets the current filter; see gtk_file_chooser_set_filter().

Parameters

chooser

a GtkFileChooser

 

Returns

the current filter, or NULL.

[nullable][transfer none]


gtk_file_chooser_add_shortcut_folder ()

gboolean
gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser,
                                      GFile *folder,
                                      GError **error);

Adds a folder to be displayed with the shortcut folders in a file chooser.

Parameters

chooser

a GtkFileChooser

 

folder

a GFile for the folder to add

 

error

location to store error, or NULL

 

Returns

TRUE if the folder could be added successfully, FALSE otherwise.


gtk_file_chooser_remove_shortcut_folder ()

gboolean
gtk_file_chooser_remove_shortcut_folder
                               (GtkFileChooser *chooser,
                                GFile *folder,
                                GError **error);

Removes a folder from the shortcut folders in a file chooser.

Parameters

chooser

a GtkFileChooser

 

folder

a GFile for the folder to remove

 

error

location to store error, or NULL

 

Returns

TRUE if the folder could be removed successfully, FALSE otherwise.


gtk_file_chooser_get_shortcut_folders ()

GListModel *
gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser);

Queries the list of shortcut folders in the file chooser, as set by gtk_file_chooser_add_shortcut_folder().

You should not modify the returned list model. Future changes to chooser may or may not affect the returned model.

Parameters

chooser

a GtkFileChooser

 

Returns

A list model of GFiles.

[transfer full]


gtk_file_chooser_add_choice ()

void
gtk_file_chooser_add_choice (GtkFileChooser *chooser,
                             const char *id,
                             const char *label,
                             const char **options,
                             const char **option_labels);

Adds a 'choice' to the file chooser. This is typically implemented as a combobox or, for boolean choices, as a checkbutton. You can select a value using gtk_file_chooser_set_choice() before the dialog is shown, and you can obtain the user-selected value in the ::response signal handler using gtk_file_chooser_get_choice().

Parameters

chooser

a GtkFileChooser

 

id

id for the added choice

 

label

user-visible label for the added choice

 

options

ids for the options of the choice, or NULL for a boolean choice.

[nullable][array zero-terminated=1]

option_labels

user-visible labels for the options, must be the same length as options .

[nullable][array zero-terminated=1]

gtk_file_chooser_remove_choice ()

void
gtk_file_chooser_remove_choice (GtkFileChooser *chooser,
                                const char *id);

Removes a 'choice' that has been added with gtk_file_chooser_add_choice().

Parameters

chooser

a GtkFileChooser

 

id

the ID of the choice to remove

 

gtk_file_chooser_set_choice ()

void
gtk_file_chooser_set_choice (GtkFileChooser *chooser,
                             const char *id,
                             const char *option);

Selects an option in a 'choice' that has been added with gtk_file_chooser_add_choice(). For a boolean choice, the possible options are "true" and "false".

Parameters

chooser

a GtkFileChooser

 

id

the ID of the choice to set

 

option

the ID of the option to select

 

gtk_file_chooser_get_choice ()

const char *
gtk_file_chooser_get_choice (GtkFileChooser *chooser,
                             const char *id);

Gets the currently selected option in the 'choice' with the given ID.

Parameters

chooser

a GtkFileChooser

 

id

the ID of the choice to get

 

Returns

the ID of the currently selected option

Types and Values

GtkFileChooser

typedef struct _GtkFileChooser GtkFileChooser;

enum GtkFileChooserAction

Describes whether a GtkFileChooser is being used to open existing files or to save to a possibly new file.

Members

GTK_FILE_CHOOSER_ACTION_OPEN

Indicates open mode. The file chooser will only let the user pick an existing file.

 

GTK_FILE_CHOOSER_ACTION_SAVE

Indicates save mode. The file chooser will let the user pick an existing file, or type in a new filename.

 

GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER

Indicates an Open mode for selecting folders. The file chooser will let the user pick an existing folder.

 

GTK_FILE_CHOOSER_ERROR

#define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ())

Used to get the GError quark for GtkFileChooser errors.


enum GtkFileChooserError

These identify the various errors that can occur while calling GtkFileChooser functions.

Members

GTK_FILE_CHOOSER_ERROR_NONEXISTENT

Indicates that a file does not exist.

 

GTK_FILE_CHOOSER_ERROR_BAD_FILENAME

Indicates a malformed filename.

 

GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS

Indicates a duplicate path (e.g. when adding a bookmark).

 

GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME

Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).

 

Property Details

The “action” property

  “action”                   GtkFileChooserAction

The type of operation that the file selector is performing.

Owner: GtkFileChooser

Flags: Read / Write

Default value: GTK_FILE_CHOOSER_ACTION_OPEN


The “create-folders” property

  “create-folders”           gboolean

Whether a file chooser not in GTK_FILE_CHOOSER_ACTION_OPEN mode will offer the user to create new folders.

Owner: GtkFileChooser

Flags: Read / Write

Default value: TRUE


The “filter” property

  “filter”                   GtkFileFilter *

The current filter for selecting which files are displayed.

Owner: GtkFileChooser

Flags: Read / Write


The “filters” property

  “filters”                  GListModel *

A GListModel containing the filters that have been added with gtk_file_chooser_add_filter().

The returned object should not be modified. It may or may not be updated for later changes.

Owner: GtkFileChooser

Flags: Read


The “select-multiple” property

  “select-multiple”          gboolean

Whether to allow multiple files to be selected.

Owner: GtkFileChooser

Flags: Read / Write

Default value: FALSE


The “shortcut-folders” property

  “shortcut-folders”         GListModel *

A GListModel containing the shortcut folders that have been added with gtk_file_chooser_add_shortcut().

The returned object should not be modified. It may or may not be updated for later changes.

Owner: GtkFileChooser

Flags: Read

docs/reference/gtk/html/Gestures.html0000664000175000017500000001137413710700533020021 0ustar mclasenmclasen Gestures and event handling: GTK 4 Reference Manual

Gestures and event handling

GtkEventController — Self-contained handler of series of events
GtkEventControllerKey — Event controller for key events
GtkEventControllerFocus — Event controller for focus
GtkEventControllerLegacy — Event controller for miscellaneous events
GtkEventControllerScroll — Event controller for scroll events
GtkEventControllerMotion — Event controller for motion events
GtkGesture — Base class for gestures
GtkGestureSingle — Base class for mouse/single-touch gestures
GtkGestureDrag — Drag gesture
GtkGestureLongPress — "Press and Hold" gesture
GtkGestureClick — Multipress gesture
GtkGesturePan — Pan gesture
GtkGestureSwipe — Swipe gesture
GtkGestureRotate — Rotate gesture
GtkGestureZoom — Zoom gesture
GtkGestureStylus — Gesture for stylus input
GtkPadController — Controller for drawing tablet pads
GtkShortcutController — Event controller for shortcuts
docs/reference/gtk/html/GtkColumnViewColumn.html0000664000175000017500000013345613710700533022142 0ustar mclasenmclasen GtkColumnViewColumn: GTK 4 Reference Manual

GtkColumnViewColumn

GtkColumnViewColumn — The column added to GtkColumnView

Properties

GtkColumnView * column-view Read
gboolean expand Read / Write
GtkListItemFactory * factory Read / Write
gint fixed-width Read / Write
GMenuModel * header-menu Read / Write
gboolean resizable Read / Write
GtkSorter * sorter Read / Write
gchar * title Read / Write
gboolean visible Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkColumnViewColumn

Includes

#include <gtk/gtk.h>

Description

GtkColumnViewColumn represents the columns being added to GtkColumnView.

Functions

gtk_column_view_column_new ()

GtkColumnViewColumn *
gtk_column_view_column_new (const char *title);

Creates a new GtkColumnViewColumn.

You most likely want to call gtk_column_add_column() next.

Parameters

title

Title to use for this column.

[nullable]

Returns

a new GtkColumnViewColumn


gtk_column_view_column_new_with_factory ()

GtkColumnViewColumn *
gtk_column_view_column_new_with_factory
                               (const char *title,
                                GtkListItemFactory *factory);

Creates a new GtkColumnViewColumn that uses the given factory for mapping items to widgets.

You most likely want to call gtk_column_add_column() next.

The function takes ownership of the argument, so you can write code like column = gtk_column_view_column_new_with_factory (_("Name"), gtk_builder_list_item_factory_new_from_resource ("/name.ui"));

Parameters

title

Title to use for this column.

[nullable]

factory

The factory to populate items with.

[transfer full]

Returns

a new GtkColumnViewColumn using the given factory


gtk_column_view_column_get_column_view ()

GtkColumnView *
gtk_column_view_column_get_column_view
                               (GtkColumnViewColumn *self);

Gets the column view that's currently displaying this column.

If self has not been added to a column view yet, NULL is returned.

Parameters

Returns

The column view displaying self .

[nullable][transfer none]


gtk_column_view_column_set_factory ()

void
gtk_column_view_column_set_factory (GtkColumnViewColumn *self,
                                    GtkListItemFactory *factory);

Sets the GtkListItemFactory to use for populating list items for this column.

Parameters

self

a GtkColumnViewColumn

 

factory

the factory to use or NULL for none.

[allow-none][transfer none]

gtk_column_view_column_get_factory ()

GtkListItemFactory *
gtk_column_view_column_get_factory (GtkColumnViewColumn *self);

Gets the factory that's currently used to populate list items for this column.

Parameters

Returns

The factory in use.

[nullable][transfer none]


gtk_column_view_column_set_title ()

void
gtk_column_view_column_set_title (GtkColumnViewColumn *self,
                                  const char *title);

Sets the title of this column. The title is displayed in the header of a GtkColumnView for this column and is therefor user-facing text that should be translated.

Parameters

self

a GtkColumnViewColumn

 

title

Title to use for this column.

[nullable]

gtk_column_view_column_get_title ()

const char *
gtk_column_view_column_get_title (GtkColumnViewColumn *self);

Returns the title set with gtk_column_view_column_set_title().

Parameters

Returns

The column's title.

[nullable]


gtk_column_view_column_set_sorter ()

void
gtk_column_view_column_set_sorter (GtkColumnViewColumn *self,
                                   GtkSorter *sorter);

Associates a sorter with the column.

This sorter can be made active by clicking on the column header, or by calling gtk_column_view_sort_by_column().

Parameters

self

a GtkColumnViewColumn

 

sorter

the GtkSorter to associate with column .

[nullable]

gtk_column_view_column_get_sorter ()

GtkSorter *
gtk_column_view_column_get_sorter (GtkColumnViewColumn *self);

Returns the sorter that is associated with the column.

Parameters

Returns

the GtkSorter of self .

[transfer none]


gtk_column_view_column_set_visible ()

void
gtk_column_view_column_set_visible (GtkColumnViewColumn *self,
                                    gboolean visible);

Sets whether this column should be visible in views.

Parameters

self

a GtkColumnViewColumn

 

visible

whether this column should be visible

 

gtk_column_view_column_get_visible ()

gboolean
gtk_column_view_column_get_visible (GtkColumnViewColumn *self);

Returns whether this column is visible.

Parameters

Returns

TRUE if this column is visible


gtk_column_view_column_set_resizable ()

void
gtk_column_view_column_set_resizable (GtkColumnViewColumn *self,
                                      gboolean resizable);

Sets whether this column should be resizable by dragging.

Parameters

self

a GtkColumnViewColumn

 

resizable

whether this column should be resizable

 

gtk_column_view_column_get_resizable ()

gboolean
gtk_column_view_column_get_resizable (GtkColumnViewColumn *self);

Returns whether this column is resizable.

Parameters

self

a GtkColumnView

 

Returns

TRUE if this column is resizable


gtk_column_view_column_set_header_menu ()

void
gtk_column_view_column_set_header_menu
                               (GtkColumnViewColumn *self,
                                GMenuModel *menu);

Sets the menu model that is used to create the context menu for the column header.

Parameters

self

a GtkColumnViewColumn

 

menu

a GMenuModel, or NULL.

[allow-none]

gtk_column_view_column_get_header_menu ()

GMenuModel *
gtk_column_view_column_get_header_menu
                               (GtkColumnViewColumn *self);

Gets the menu model that is used to create the context menu for the column header.

Parameters

Returns

the GMenuModel, or NULL.

[transfer none][nullable]


gtk_column_view_column_set_fixed_width ()

void
gtk_column_view_column_set_fixed_width
                               (GtkColumnViewColumn *self,
                                int fixed_width);

If fixed_width is not -1, sets the fixed width of column ; otherwise unsets it.

Setting a fixed width overrides the automatically calculated width. Interactive resizing also sets the “fixed-width” property.

Parameters

self

a GtkColumnViewColumn

 

fixed_width

the new fixed width, or -1

 

gtk_column_view_column_get_fixed_width ()

int
gtk_column_view_column_get_fixed_width
                               (GtkColumnViewColumn *self);

Gets the fixed width of the column.

Parameters

Returns

the fixed with of the column


gtk_column_view_column_set_expand ()

void
gtk_column_view_column_set_expand (GtkColumnViewColumn *self,
                                   gboolean expand);

Sets the column to take available extra space.

The extra space is shared equally amongst all columns that have the expand set to TRUE.

Parameters

self

a GtkColumnViewColumn

 

expand

TRUE if this column should expand to fill available sace

 

gtk_column_view_column_get_expand ()

gboolean
gtk_column_view_column_get_expand (GtkColumnViewColumn *self);

Returns whether this column should expand.

Parameters

Returns

TRUE if this column expands

Types and Values

GtkColumnViewColumn

typedef struct _GtkColumnViewColumn GtkColumnViewColumn;

GtkColumnViewColumns are added to GtkColumnViews.

Property Details

The “column-view” property

  “column-view”              GtkColumnView *

GtkColumnView this column is a part of

Owner: GtkColumnViewColumn

Flags: Read


The “expand” property

  “expand”                   gboolean

Column gets share of extra width allocated to the view

Owner: GtkColumnViewColumn

Flags: Read / Write

Default value: FALSE


The “factory” property

  “factory”                  GtkListItemFactory *

Factory for populating list items

Owner: GtkColumnViewColumn

Flags: Read / Write


The “fixed-width” property

  “fixed-width”              gint

If not -1, this is the width that the column is allocated, regardless of the size of its content.

Owner: GtkColumnViewColumn

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “header-menu” property

  “header-menu”              GMenuModel *

Menu model used to create the context menu for the column header.

Owner: GtkColumnViewColumn

Flags: Read / Write


The “resizable” property

  “resizable”                gboolean

Whether this column is resizable

Owner: GtkColumnViewColumn

Flags: Read / Write

Default value: FALSE


The “sorter” property

  “sorter”                   GtkSorter *

Sorter for sorting items according to this column

Owner: GtkColumnViewColumn

Flags: Read / Write


The “title” property

  “title”                    gchar *

Title displayed in the header

Owner: GtkColumnViewColumn

Flags: Read / Write

Default value: NULL


The “visible” property

  “visible”                  gboolean

Whether this column is visible

Owner: GtkColumnViewColumn

Flags: Read / Write

Default value: TRUE

See Also

GtkColumnView

docs/reference/gtk/html/GtkATContext.html0000664000175000017500000004002313710700533020530 0ustar mclasenmclasen GtkATContext: GTK 4 Reference Manual

GtkATContext

GtkATContext — An object communicating to Assistive Technologies

Properties

GtkAccessible * accessible Read / Write / Construct Only
GtkAccessibleRole accessible-role Read / Write / Construct Only

Signals

void state-change Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkATContext

Includes

#include <gtk/gtk.h>

Description

GtkATContext is an abstract class provided by GTK to communicate to platform-specific assistive technologies API.

Each platform supported by GTK implements a GtkATContext subclass, and is responsible for updating the accessible state in response to state changes in GtkAccessible.

Functions

gtk_at_context_get_accessible ()

GtkAccessible *
gtk_at_context_get_accessible (GtkATContext *self);

Retrieves the GtkAccessible using this context.

Parameters

self

a GtkATContext

 

Returns

a GtkAccessible.

[transfer none]


gtk_at_context_get_accessible_role ()

GtkAccessibleRole
gtk_at_context_get_accessible_role (GtkATContext *self);

Retrieves the accessible role of this context.

Parameters

self

a GtkATContext

 

Returns

a GtkAccessibleRole


gtk_at_context_create ()

GtkATContext *
gtk_at_context_create (GtkAccessibleRole accessible_role,
                       GtkAccessible *accessible);

Creates a new GtkATContext instance for the given accessible role and accessible instance.

The GtkATContext implementation being instantiated will depend on the platform.

[constructor]

Parameters

accessible_role

the accessible role used by the GtkATContext

 

accessible

the GtkAccessible implementation using the GtkATContext

 

Returns

the GtkATContext.

[nullable][transfer full]

Types and Values

GtkATContext

typedef struct _GtkATContext GtkATContext;

Property Details

The “accessible” property

  “accessible”               GtkAccessible *

The GtkAccessible that created the GtkATContext instance.

Owner: GtkATContext

Flags: Read / Write / Construct Only


The “accessible-role” property

  “accessible-role”          GtkAccessibleRole

The accessible role used by the AT context.

Depending on the given role, different states and properties can be set or retrieved.

Owner: GtkATContext

Flags: Read / Write / Construct Only

Default value: GTK_ACCESSIBLE_ROLE_NONE

Signal Details

The “state-change” signal

void
user_function (GtkATContext *self,
               guint         changed_states,
               guint         changed_properties,
               guint         changed_relations,
               gpointer      states,
               gpointer      properties,
               gpointer      relations,
               gpointer      user_data)

Emitted when the attributes of the accessible for the GtkATContext instance change.

Parameters

self

the GtkATContext

 

changed_states

flags for the changed states

 

changed_properties

flags for the changed properties

 

states

the new states

 

properties

the new properties

 

relations

the new relations

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkComboBox.html0000664000175000017500000023675113710700533020406 0ustar mclasenmclasen GtkComboBox: GTK 4 Reference Manual

GtkComboBox

GtkComboBox — A widget used to choose from a list of items

Properties

gint active Read / Write
gchar * active-id Read / Write
GtkSensitivityType button-sensitivity Read / Write
GtkWidget * child Read / Write
gint entry-text-column Read / Write
gboolean has-entry Read / Write / Construct Only
gboolean has-frame Read / Write
gint id-column Read / Write
GtkTreeModel * model Read / Write
gboolean popup-fixed-width Read / Write
gboolean popup-shown Read

Signals

void changed Run Last
gchar* format-entry-text Run Last
void move-active Action
gboolean popdown Action
void popup Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkComboBox
                ╰── GtkComboBoxText

Implemented Interfaces

GtkComboBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkCellEditable.

Includes

#include <gtk/gtk.h>

Description

A GtkComboBox is a widget that allows the user to choose from a list of valid choices. The GtkComboBox displays the selected choice. When activated, the GtkComboBox displays a popup which allows the user to make a new choice. The style in which the selected value is displayed, and the style of the popup is determined by the current theme. It may be similar to a Windows-style combo box.

The GtkComboBox uses the model-view pattern; the list of valid choices is specified in the form of a tree model, and the display of the choices can be adapted to the data in the model by using cell renderers, as you would in a tree view. This is possible since GtkComboBox implements the GtkCellLayout interface. The tree model holding the valid choices is not restricted to a flat list, it can be a real tree, and the popup will reflect the tree structure.

To allow the user to enter values not in the model, the “has-entry” property allows the GtkComboBox to contain a GtkEntry. This entry can be accessed by calling gtk_bin_get_child() on the combo box.

For a simple list of textual choices, the model-view API of GtkComboBox can be a bit overwhelming. In this case, GtkComboBoxText offers a simple alternative. Both GtkComboBox and GtkComboBoxText can contain an entry.

CSS nodes

1
2
3
4
5
6
7
combobox
├── box.linked
   ╰── button.combo
       ╰── box
           ├── cellview
           ╰── arrow
╰── window.popup

A normal combobox contains a box with the .linked class, a button with the .combo class and inside those buttons, there are a cellview and an arrow.

1
2
3
4
5
6
7
combobox
├── box.linked
   ├── entry.combo
   ╰── button.combo
       ╰── box
           ╰── arrow
╰── window.popup

A GtkComboBox with an entry has a single CSS node with name combobox. It contains a box with the .linked class. That box contains an entry and a button, both with the .combo class added. The button also contains another node with name arrow.

Functions

gtk_combo_box_new ()

GtkWidget *
gtk_combo_box_new (void);

Creates a new empty GtkComboBox.

Returns

A new GtkComboBox.


gtk_combo_box_new_with_entry ()

GtkWidget *
gtk_combo_box_new_with_entry (void);

Creates a new empty GtkComboBox with an entry.

Returns

A new GtkComboBox.


gtk_combo_box_new_with_model ()

GtkWidget *
gtk_combo_box_new_with_model (GtkTreeModel *model);

Creates a new GtkComboBox with the model initialized to model .

Parameters

model

A GtkTreeModel.

 

Returns

A new GtkComboBox.


gtk_combo_box_new_with_model_and_entry ()

GtkWidget *
gtk_combo_box_new_with_model_and_entry
                               (GtkTreeModel *model);

Creates a new empty GtkComboBox with an entry and with the model initialized to model .

Parameters

model

A GtkTreeModel

 

Returns

A new GtkComboBox


gtk_combo_box_get_active ()

int
gtk_combo_box_get_active (GtkComboBox *combo_box);

Returns the index of the currently active item, or -1 if there’s no active item. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this function returns gtk_tree_path_get_indices (path)[0], where path is the GtkTreePath of the active item.

Parameters

combo_box

A GtkComboBox

 

Returns

An integer which is the index of the currently active item, or -1 if there’s no active item.


gtk_combo_box_set_active ()

void
gtk_combo_box_set_active (GtkComboBox *combo_box,
                          int index_);

Sets the active item of combo_box to be the item at index .

Parameters

combo_box

A GtkComboBox

 

index_

An index in the model passed during construction, or -1 to have no active item

 

gtk_combo_box_get_active_iter ()

gboolean
gtk_combo_box_get_active_iter (GtkComboBox *combo_box,
                               GtkTreeIter *iter);

Sets iter to point to the currently active item, if any item is active. Otherwise, iter is left unchanged.

Parameters

combo_box

A GtkComboBox

 

iter

A GtkTreeIter.

[out]

Returns

TRUE if iter was set, FALSE otherwise


gtk_combo_box_set_active_iter ()

void
gtk_combo_box_set_active_iter (GtkComboBox *combo_box,
                               GtkTreeIter *iter);

Sets the current active item to be the one referenced by iter , or unsets the active item if iter is NULL.

Parameters

combo_box

A GtkComboBox

 

iter

The GtkTreeIter, or NULL.

[allow-none]

gtk_combo_box_get_id_column ()

int
gtk_combo_box_get_id_column (GtkComboBox *combo_box);

Returns the column which combo_box is using to get string IDs for values from.

Parameters

combo_box

A GtkComboBox

 

Returns

A column in the data source model of combo_box .


gtk_combo_box_set_id_column ()

void
gtk_combo_box_set_id_column (GtkComboBox *combo_box,
                             int id_column);

Sets the model column which combo_box should use to get string IDs for values from. The column id_column in the model of combo_box must be of type G_TYPE_STRING.

Parameters

combo_box

A GtkComboBox

 

id_column

A column in model to get string IDs for values from

 

gtk_combo_box_get_active_id ()

const char *
gtk_combo_box_get_active_id (GtkComboBox *combo_box);

Returns the ID of the active row of combo_box . This value is taken from the active row and the column specified by the “id-column” property of combo_box (see gtk_combo_box_set_id_column()).

The returned value is an interned string which means that you can compare the pointer by value to other interned strings and that you must not free it.

If the “id-column” property of combo_box is not set, or if no row is active, or if the active row has a NULL ID value, then NULL is returned.

Parameters

combo_box

a GtkComboBox

 

Returns

the ID of the active row, or NULL.

[nullable]


gtk_combo_box_set_active_id ()

gboolean
gtk_combo_box_set_active_id (GtkComboBox *combo_box,
                             const char *active_id);

Changes the active row of combo_box to the one that has an ID equal to active_id , or unsets the active row if active_id is NULL. Rows having a NULL ID string cannot be made active by this function.

If the “id-column” property of combo_box is unset or if no row has the given ID then the function does nothing and returns FALSE.

Parameters

combo_box

a GtkComboBox

 

active_id

the ID of the row to select, or NULL.

[allow-none]

Returns

TRUE if a row with a matching ID was found. If a NULL active_id was given to unset the active row, the function always returns TRUE.


gtk_combo_box_get_model ()

GtkTreeModel *
gtk_combo_box_get_model (GtkComboBox *combo_box);

Returns the GtkTreeModel which is acting as data source for combo_box .

Parameters

combo_box

A GtkComboBox

 

Returns

A GtkTreeModel which was passed during construction.

[transfer none]


gtk_combo_box_set_model ()

void
gtk_combo_box_set_model (GtkComboBox *combo_box,
                         GtkTreeModel *model);

Sets the model used by combo_box to be model . Will unset a previously set model (if applicable). If model is NULL, then it will unset the model.

Note that this function does not clear the cell renderers, you have to call gtk_cell_layout_clear() yourself if you need to set up different cell renderers for the new model.

Parameters

combo_box

A GtkComboBox

 

model

A GtkTreeModel.

[allow-none]

gtk_combo_box_popdown ()

void
gtk_combo_box_popdown (GtkComboBox *combo_box);

Hides the menu or dropdown list of combo_box .

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

Parameters

combo_box

a GtkComboBox

 

gtk_combo_box_get_row_separator_func ()

GtkTreeViewRowSeparatorFunc
gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box);

Returns the current row separator function.

[skip]

Parameters

combo_box

a GtkComboBox

 

Returns

the current row separator function.


gtk_combo_box_set_row_separator_func ()

void
gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box,
                                      GtkTreeViewRowSeparatorFunc func,
                                      gpointer data,
                                      GDestroyNotify destroy);

Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is NULL, no separators are drawn. This is the default value.

Parameters

combo_box

a GtkComboBox

 

func

a GtkTreeViewRowSeparatorFunc

 

data

user data to pass to func , or NULL.

[allow-none]

destroy

destroy notifier for data , or NULL.

[allow-none]

gtk_combo_box_set_button_sensitivity ()

void
gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box,
                                      GtkSensitivityType sensitivity);

Sets whether the dropdown button of the combo box should be always sensitive (GTK_SENSITIVITY_ON), never sensitive (GTK_SENSITIVITY_OFF) or only if there is at least one item to display (GTK_SENSITIVITY_AUTO).

Parameters

combo_box

a GtkComboBox

 

sensitivity

specify the sensitivity of the dropdown button

 

gtk_combo_box_get_button_sensitivity ()

GtkSensitivityType
gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box);

Returns whether the combo box sets the dropdown button sensitive or not when there are no items in the model.

Parameters

combo_box

a GtkComboBox

 

Returns

GTK_SENSITIVITY_ON if the dropdown button is sensitive when the model is empty, GTK_SENSITIVITY_OFF if the button is always insensitive or GTK_SENSITIVITY_AUTO if it is only sensitive as long as the model has one item to be selected.


gtk_combo_box_get_has_entry ()

gboolean
gtk_combo_box_get_has_entry (GtkComboBox *combo_box);

Returns whether the combo box has an entry.

Parameters

combo_box

a GtkComboBox

 

Returns

whether there is an entry in combo_box .


gtk_combo_box_set_entry_text_column ()

void
gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
                                     int text_column);

Sets the model column which combo_box should use to get strings from to be text_column . The column text_column in the model of combo_box must be of type G_TYPE_STRING.

This is only relevant if combo_box has been created with “has-entry” as TRUE.

Parameters

combo_box

A GtkComboBox

 

text_column

A column in model to get the strings from for the internal entry

 

gtk_combo_box_get_entry_text_column ()

int
gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box);

Returns the column which combo_box is using to get the strings from to display in the internal entry.

Parameters

combo_box

A GtkComboBox.

 

Returns

A column in the data source model of combo_box .


gtk_combo_box_set_popup_fixed_width ()

void
gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
                                     gboolean fixed);

Specifies whether the popup’s width should be a fixed width matching the allocated width of the combo box.

Parameters

combo_box

a GtkComboBox

 

fixed

whether to use a fixed popup width

 

gtk_combo_box_get_popup_fixed_width ()

gboolean
gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box);

Gets whether the popup uses a fixed width matching the allocated width of the combo box.

Parameters

combo_box

a GtkComboBox

 

Returns

TRUE if the popup uses a fixed width


gtk_combo_box_set_child ()

void
gtk_combo_box_set_child (GtkComboBox *combo_box,
                         GtkWidget *child);

Sets the child widget of combo_box .

Parameters

combo_box

a GtkComboBox

 

child

the child widget.

[allow-none]

gtk_combo_box_get_child ()

GtkWidget *
gtk_combo_box_get_child (GtkComboBox *combo_box);

Gets the child widget of combo_box .

Parameters

combo_box

a GtkComboBox

 

Returns

the child widget of combo_box .

[nullable][transfer none]

Types and Values

struct GtkComboBox

struct GtkComboBox;

struct GtkComboBoxClass

struct GtkComboBoxClass {
  GtkWidgetClass parent_class;

  /* signals */
  void     (* changed)           (GtkComboBox *combo_box);
  char    *(* format_entry_text) (GtkComboBox *combo_box,
                                  const char *path);
};

Members

changed ()

Signal is emitted when the active item is changed.

 

format_entry_text ()

Signal which allows you to change how the text displayed in a combo box’s entry is displayed.

 

enum GtkSensitivityType

Determines how GTK+ handles the sensitivity of stepper arrows at the end of range widgets.

Members

GTK_SENSITIVITY_AUTO

The arrow is made insensitive if the thumb is at the end

 

GTK_SENSITIVITY_ON

The arrow is always sensitive

 

GTK_SENSITIVITY_OFF

The arrow is always insensitive

 

Property Details

The “active” property

  “active”                   gint

The item which is currently active. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this property has the value gtk_tree_path_get_indices (path)[0], where path is the GtkTreePath of the active item.

Owner: GtkComboBox

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “active-id” property

  “active-id”                gchar *

The value of the ID column of the active row.

Owner: GtkComboBox

Flags: Read / Write

Default value: NULL


The “button-sensitivity” property

  “button-sensitivity”       GtkSensitivityType

Whether the dropdown button is sensitive when the model is empty.

Owner: GtkComboBox

Flags: Read / Write

Default value: GTK_SENSITIVITY_AUTO


The “child” property

  “child”                    GtkWidget *

The child_widget.

Owner: GtkComboBox

Flags: Read / Write


The “entry-text-column” property

  “entry-text-column”        gint

The column in the combo box's model to associate with strings from the entry if the combo was created with “has-entry” = TRUE.

Owner: GtkComboBox

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “has-entry” property

  “has-entry”                gboolean

Whether the combo box has an entry.

Owner: GtkComboBox

Flags: Read / Write / Construct Only

Default value: FALSE


The “has-frame” property

  “has-frame”                gboolean

The has-frame property controls whether a frame is drawn around the entry.

Owner: GtkComboBox

Flags: Read / Write

Default value: TRUE


The “id-column” property

  “id-column”                gint

The column in the combo box's model that provides string IDs for the values in the model, if != -1.

Owner: GtkComboBox

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “model” property

  “model”                    GtkTreeModel *

The model from which the combo box takes the values shown in the list.

Owner: GtkComboBox

Flags: Read / Write


The “popup-fixed-width” property

  “popup-fixed-width”        gboolean

Whether the popup's width should be a fixed width matching the allocated width of the combo box.

Owner: GtkComboBox

Flags: Read / Write

Default value: TRUE


The “popup-shown” property

  “popup-shown”              gboolean

Whether the combo boxes dropdown is popped up. Note that this property is mainly useful, because it allows you to connect to notify::popup-shown.

Owner: GtkComboBox

Flags: Read

Default value: FALSE

Signal Details

The “changed” signal

void
user_function (GtkComboBox *widget,
               gpointer     user_data)

The changed signal is emitted when the active item is changed. The can be due to the user selecting a different item from the list, or due to a call to gtk_combo_box_set_active_iter(). It will also be emitted while typing into the entry of a combo box with an entry.

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “format-entry-text” signal

gchar*
user_function (GtkComboBox *combo,
               gchar       *path,
               gpointer     user_data)

For combo boxes that are created with an entry (See GtkComboBox:has-entry).

A signal which allows you to change how the text displayed in a combo box's entry is displayed.

Connect a signal handler which returns an allocated string representing path . That string will then be used to set the text in the combo box's entry. The default signal handler uses the text from the GtkComboBox::entry-text-column model column.

Here's an example signal handler which fetches data from the model and displays it in the entry.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static char *
format_entry_text_callback (GtkComboBox *combo,
                            const char *path,
                            gpointer     user_data)
{
  GtkTreeIter iter;
  GtkTreeModel model;
  double       value;

  model = gtk_combo_box_get_model (combo);

  gtk_tree_model_get_iter_from_string (model, &iter, path);
  gtk_tree_model_get (model, &iter,
                      THE_DOUBLE_VALUE_COLUMN, &value,
                      -1);

  return g_strdup_printf ("%g", value);
}

Parameters

combo

the object which received the signal

 

path

the GtkTreePath string from the combo box's current model to format text for

 

user_data

user data set when the signal handler was connected.

 

Returns

a newly allocated string representing path for the current GtkComboBox model.

[transfer full]

Flags: Run Last


The “move-active” signal

void
user_function (GtkComboBox  *widget,
               GtkScrollType scroll_type,
               gpointer      user_data)

The ::move-active signal is a keybinding signal which gets emitted to move the active selection.

Parameters

widget

the object that received the signal

 

scroll_type

a GtkScrollType

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “popdown” signal

gboolean
user_function (GtkComboBox *button,
               gpointer     user_data)

The ::popdown signal is a keybinding signal which gets emitted to popdown the combo box list.

The default bindings for this signal are Alt+Up and Escape.

Parameters

button

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “popup” signal

void
user_function (GtkComboBox *widget,
               gpointer     user_data)

The ::popup signal is a keybinding signal which gets emitted to popup the combo box list.

The default binding for this signal is Alt+Down.

Parameters

widget

the object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkAboutDialog.html0000664000175000017500000026576613710700533021100 0ustar mclasenmclasen GtkAboutDialog: GTK 4 Reference Manual

GtkAboutDialog

GtkAboutDialog — Display information about an application

Functions

GtkWidget * gtk_about_dialog_new ()
const char * gtk_about_dialog_get_program_name ()
void gtk_about_dialog_set_program_name ()
const char * gtk_about_dialog_get_version ()
void gtk_about_dialog_set_version ()
const char * gtk_about_dialog_get_copyright ()
void gtk_about_dialog_set_copyright ()
const char * gtk_about_dialog_get_comments ()
void gtk_about_dialog_set_comments ()
const char * gtk_about_dialog_get_license ()
void gtk_about_dialog_set_license ()
gboolean gtk_about_dialog_get_wrap_license ()
void gtk_about_dialog_set_wrap_license ()
GtkLicense gtk_about_dialog_get_license_type ()
void gtk_about_dialog_set_license_type ()
const char * gtk_about_dialog_get_website ()
void gtk_about_dialog_set_website ()
const char * gtk_about_dialog_get_website_label ()
void gtk_about_dialog_set_website_label ()
const char * const * gtk_about_dialog_get_authors ()
void gtk_about_dialog_set_authors ()
const char * const * gtk_about_dialog_get_artists ()
void gtk_about_dialog_set_artists ()
const char * const * gtk_about_dialog_get_documenters ()
void gtk_about_dialog_set_documenters ()
const char * gtk_about_dialog_get_translator_credits ()
void gtk_about_dialog_set_translator_credits ()
GdkPaintable * gtk_about_dialog_get_logo ()
void gtk_about_dialog_set_logo ()
const char * gtk_about_dialog_get_logo_icon_name ()
void gtk_about_dialog_set_logo_icon_name ()
const char * gtk_about_dialog_get_system_information ()
void gtk_about_dialog_set_system_information ()
void gtk_about_dialog_add_credit_section ()
void gtk_show_about_dialog ()

Properties

GStrv artists Read / Write
GStrv authors Read / Write
gchar * comments Read / Write
gchar * copyright Read / Write
GStrv documenters Read / Write
gchar * license Read / Write
GtkLicense license-type Read / Write
GdkPaintable * logo Read / Write
gchar * logo-icon-name Read / Write
gchar * program-name Read / Write
gchar * system-information Read / Write
gchar * translator-credits Read / Write
gchar * version Read / Write
gchar * website Read / Write
gchar * website-label Read / Write
gboolean wrap-license Read / Write

Signals

gboolean activate-link Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkAboutDialog

Implemented Interfaces

GtkAboutDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

The GtkAboutDialog 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.

About dialogs often contain links and email addresses. GtkAboutDialog displays these as clickable links. By default, it calls gtk_show_uri() when a user clicks one. The behaviour can be overridden with the “activate-link” signal.

To specify a person with an email address, use a string like "Edgar Allan Poe <edgar@poe.com>". To specify a website with a title, use a string like "GTK team http://www.gtk.org".

To make constructing a GtkAboutDialog as convenient as possible, you can use the function gtk_show_about_dialog() which constructs and shows a dialog and keeps it around so that it can be shown again.

Note that GTK sets a default title of _("About %s") on the dialog window (where %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 GtkAboutDialog, as shown in the following example:

1
2
3
4
5
6
GdkTexture *example_logo = gdk_texture_new_from_file ("./logo.png", NULL);
gtk_show_about_dialog (NULL,
                       "program-name", "ExampleCode",
                       "logo", example_logo,
                       "title", _("About ExampleCode"),
                       NULL);

It is also possible to show a GtkAboutDialog like any other GtkDialog, and use the “response” signal to catch user responses. In this case, you might need to know that the “Close” button returns the GTK_RESPONSE_CANCEL response id.

Functions

gtk_about_dialog_new ()

GtkWidget *
gtk_about_dialog_new (void);

Creates a new GtkAboutDialog.

Returns

a newly created GtkAboutDialog


gtk_about_dialog_get_program_name ()

const char *
gtk_about_dialog_get_program_name (GtkAboutDialog *about);

Returns the program name displayed in the about dialog.

Parameters

about

a GtkAboutDialog

 

Returns

The program name. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_program_name ()

void
gtk_about_dialog_set_program_name (GtkAboutDialog *about,
                                   const char *name);

Sets the name to display in the about dialog. If this is not set, it defaults to g_get_application_name().

Parameters

about

a GtkAboutDialog

 

name

the program name

 

gtk_about_dialog_get_version ()

const char *
gtk_about_dialog_get_version (GtkAboutDialog *about);

Returns the version string.

Parameters

about

a GtkAboutDialog

 

Returns

The version string. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_version ()

void
gtk_about_dialog_set_version (GtkAboutDialog *about,
                              const char *version);

Sets the version string to display in the about dialog.

Parameters

about

a GtkAboutDialog

 

version

the version string.

[allow-none]

gtk_about_dialog_get_copyright ()

const char *
gtk_about_dialog_get_copyright (GtkAboutDialog *about);

Returns the copyright string.

Parameters

about

a GtkAboutDialog

 

Returns

The copyright string. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_copyright ()

void
gtk_about_dialog_set_copyright (GtkAboutDialog *about,
                                const char *copyright);

Sets the copyright string to display in the about dialog. This should be a short string of one or two lines.

Parameters

about

a GtkAboutDialog

 

copyright

the copyright string.

[allow-none]

gtk_about_dialog_get_comments ()

const char *
gtk_about_dialog_get_comments (GtkAboutDialog *about);

Returns the comments string.

Parameters

about

a GtkAboutDialog

 

Returns

The comments. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_comments ()

void
gtk_about_dialog_set_comments (GtkAboutDialog *about,
                               const char *comments);

Sets the comments string to display in the about dialog. This should be a short string of one or two lines.

Parameters

about

a GtkAboutDialog

 

comments

a comments string.

[allow-none]

gtk_about_dialog_get_license ()

const char *
gtk_about_dialog_get_license (GtkAboutDialog *about);

Returns the license information.

Parameters

about

a GtkAboutDialog

 

Returns

The license information. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_license ()

void
gtk_about_dialog_set_license (GtkAboutDialog *about,
                              const char *license);

Sets the license information to be displayed in the secondary license dialog. If license is NULL, the license button is hidden.

Parameters

about

a GtkAboutDialog

 

license

the license information or NULL.

[allow-none]

gtk_about_dialog_get_wrap_license ()

gboolean
gtk_about_dialog_get_wrap_license (GtkAboutDialog *about);

Returns whether the license text in about is automatically wrapped.

Parameters

about

a GtkAboutDialog

 

Returns

TRUE if the license text is wrapped


gtk_about_dialog_set_wrap_license ()

void
gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
                                   gboolean wrap_license);

Sets whether the license text in about is automatically wrapped.

Parameters

about

a GtkAboutDialog

 

wrap_license

whether to wrap the license

 

gtk_about_dialog_get_license_type ()

GtkLicense
gtk_about_dialog_get_license_type (GtkAboutDialog *about);

Retrieves the license set using gtk_about_dialog_set_license_type()

Parameters

about

a GtkAboutDialog

 

Returns

a GtkLicense value


gtk_about_dialog_set_license_type ()

void
gtk_about_dialog_set_license_type (GtkAboutDialog *about,
                                   GtkLicense license_type);

Sets the license of the application showing the about dialog from a list of known licenses.

This function overrides the license set using gtk_about_dialog_set_license().

Parameters

about

a GtkAboutDialog

 

license_type

the type of license

 

gtk_about_dialog_get_website ()

const char *
gtk_about_dialog_get_website (GtkAboutDialog *about);

Returns the website URL.

Parameters

about

a GtkAboutDialog

 

Returns

The website URL. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_website ()

void
gtk_about_dialog_set_website (GtkAboutDialog *about,
                              const char *website);

Sets the URL to use for the website link.

Parameters

about

a GtkAboutDialog

 

website

a URL string starting with "http://".

[allow-none]

gtk_about_dialog_get_website_label ()

const char *
gtk_about_dialog_get_website_label (GtkAboutDialog *about);

Returns the label used for the website link.

Parameters

about

a GtkAboutDialog

 

Returns

The label used for the website link. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_website_label ()

void
gtk_about_dialog_set_website_label (GtkAboutDialog *about,
                                    const char *website_label);

Sets the label to be used for the website link.

Parameters

about

a GtkAboutDialog

 

website_label

the label used for the website link

 

gtk_about_dialog_get_authors ()

const char * const *
gtk_about_dialog_get_authors (GtkAboutDialog *about);

Returns the string which are displayed in the authors tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

Returns

A NULL-terminated string array containing the authors. The array is owned by the about dialog and must not be modified.

[array zero-terminated=1][transfer none]


gtk_about_dialog_set_authors ()

void
gtk_about_dialog_set_authors (GtkAboutDialog *about,
                              const char **authors);

Sets the strings which are displayed in the authors tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

authors

a NULL-terminated array of strings.

[array zero-terminated=1]

gtk_about_dialog_get_artists ()

const char * const *
gtk_about_dialog_get_artists (GtkAboutDialog *about);

Returns the string which are displayed in the artists tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

Returns

A NULL-terminated string array containing the artists. The array is owned by the about dialog and must not be modified.

[array zero-terminated=1][transfer none]


gtk_about_dialog_set_artists ()

void
gtk_about_dialog_set_artists (GtkAboutDialog *about,
                              const char **artists);

Sets the strings which are displayed in the artists tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

artists

a NULL-terminated array of strings.

[array zero-terminated=1]

gtk_about_dialog_get_documenters ()

const char * const *
gtk_about_dialog_get_documenters (GtkAboutDialog *about);

Returns the string which are displayed in the documenters tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

Returns

A NULL-terminated string array containing the documenters. The array is owned by the about dialog and must not be modified.

[array zero-terminated=1][transfer none]


gtk_about_dialog_set_documenters ()

void
gtk_about_dialog_set_documenters (GtkAboutDialog *about,
                                  const char **documenters);

Sets the strings which are displayed in the documenters tab of the credits dialog.

Parameters

about

a GtkAboutDialog

 

documenters

a NULL-terminated array of strings.

[array zero-terminated=1]

gtk_about_dialog_get_translator_credits ()

const char *
gtk_about_dialog_get_translator_credits
                               (GtkAboutDialog *about);

Returns the translator credits string which is displayed in the translators tab of the secondary credits dialog.

Parameters

about

a GtkAboutDialog

 

Returns

The translator credits string. The string is owned by the about dialog and must not be modified.


gtk_about_dialog_set_translator_credits ()

void
gtk_about_dialog_set_translator_credits
                               (GtkAboutDialog *about,
                                const char *translator_credits);

Sets the translator credits string which is displayed in the translators tab of the secondary credits dialog.

The intended use for this string is to display the translator of the language which is currently used in the user interface. Using gettext(), a simple way to achieve that is to mark the string for translation:

1
2
3
GtkWidget *about = gtk_about_dialog_new ();
 gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about),
                                          _("translator-credits"));

It is a good idea to use the customary msgid “translator-credits” for this purpose, since translators will already know the purpose of that msgid, and since GtkAboutDialog will detect if “translator-credits” is untranslated and hide the tab.

Parameters

about

a GtkAboutDialog

 

translator_credits

the translator credits.

[allow-none]

gtk_about_dialog_get_logo ()

GdkPaintable *
gtk_about_dialog_get_logo (GtkAboutDialog *about);

Returns the paintable displayed as logo in the about dialog.

Parameters

about

a GtkAboutDialog

 

Returns

the paintable displayed as logo or NULL if the logo is unset or has been set via gtk_about_dialog_set_logo_icon_name(). The paintable is owned by the about dialog. If you want to keep a reference to it, you have to call g_object_ref() on it.

[transfer none][nullable]


gtk_about_dialog_set_logo ()

void
gtk_about_dialog_set_logo (GtkAboutDialog *about,
                           GdkPaintable *logo);

Sets the logo in the about dialog.

Parameters

about

a GtkAboutDialog

 

logo

a GdkPaintable, or NULL.

[allow-none]

gtk_about_dialog_get_logo_icon_name ()

const char *
gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);

Returns the icon name displayed as logo in the about dialog.

Parameters

about

a GtkAboutDialog

 

Returns

the icon name displayed as logo or NULL if the logo has been set via gtk_about_dialog_set_logo(). The string is owned by the dialog. If you want to keep a reference to it, you have to call g_strdup() on it.

[transfer none][nullable]


gtk_about_dialog_set_logo_icon_name ()

void
gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
                                     const char *icon_name);

Sets the icon name to be displayed as logo in the about dialog.

Parameters

about

a GtkAboutDialog

 

icon_name

an icon name, or NULL.

[allow-none]

gtk_about_dialog_get_system_information ()

const char *
gtk_about_dialog_get_system_information
                               (GtkAboutDialog *about);

Returns the system information that is shown in the about dialog.

Parameters

about

a GtkAboutDialog

 

Returns

the system information


gtk_about_dialog_set_system_information ()

void
gtk_about_dialog_set_system_information
                               (GtkAboutDialog *about,
                                const char *system_information);

Sets the system information to be displayed in the about dialog. If system_information is NULL, the system information tab is hidden.

See “system-information”.

Parameters

about

a GtkAboutDialog

 

system_information

system information or NULL.

[allow-none]

gtk_about_dialog_add_credit_section ()

void
gtk_about_dialog_add_credit_section (GtkAboutDialog *about,
                                     const char *section_name,
                                     const char **people);

Creates a new section in the Credits page.

Parameters

about

A GtkAboutDialog

 

section_name

The name of the section

 

people

The people who belong to that section.

[array zero-terminated=1]

gtk_show_about_dialog ()

void
gtk_show_about_dialog (GtkWindow *parent,
                       const char *first_property_name,
                       ...);

This is a convenience function for showing an application’s about box. The constructed dialog is associated with the parent window and reused for future invocations of this function.

Parameters

parent

transient parent, or NULL for none.

[allow-none]

first_property_name

the name of the first property

 

...

value of first property, followed by more properties, NULL-terminated

 

Types and Values

GtkAboutDialog

typedef struct _GtkAboutDialog GtkAboutDialog;

enum GtkLicense

The type of license for an application.

This enumeration can be expanded at later date.

Members

GTK_LICENSE_UNKNOWN

No license specified

 

GTK_LICENSE_CUSTOM

A license text is going to be specified by the developer

 

GTK_LICENSE_GPL_2_0

The GNU General Public License, version 2.0 or later

 

GTK_LICENSE_GPL_3_0

The GNU General Public License, version 3.0 or later

 

GTK_LICENSE_LGPL_2_1

The GNU Lesser General Public License, version 2.1 or later

 

GTK_LICENSE_LGPL_3_0

The GNU Lesser General Public License, version 3.0 or later

 

GTK_LICENSE_BSD

The BSD standard license

 

GTK_LICENSE_MIT_X11

The MIT/X11 standard license

 

GTK_LICENSE_ARTISTIC

The Artistic License, version 2.0

 

GTK_LICENSE_GPL_2_0_ONLY

The GNU General Public License, version 2.0 only

 

GTK_LICENSE_GPL_3_0_ONLY

The GNU General Public License, version 3.0 only

 

GTK_LICENSE_LGPL_2_1_ONLY

The GNU Lesser General Public License, version 2.1 only

 

GTK_LICENSE_LGPL_3_0_ONLY

The GNU Lesser General Public License, version 3.0 only

 

GTK_LICENSE_AGPL_3_0

The GNU Affero General Public License, version 3.0 or later

 

GTK_LICENSE_AGPL_3_0_ONLY

The GNU Affero General Public License, version 3.0 only

 

GTK_LICENSE_BSD_3

The 3-clause BSD licence

 

GTK_LICENSE_APACHE_2_0

The Apache License, version 2.0

 

GTK_LICENSE_MPL_2_0

The Mozilla Public License, version 2.0

 

Property Details

The “artists” property

  “artists”                  GStrv

The people who contributed artwork to the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Owner: GtkAboutDialog

Flags: Read / Write


The “authors” property

  “authors”                  GStrv

The authors of the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Owner: GtkAboutDialog

Flags: Read / Write


The “comments” property

  “comments”                 gchar *

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.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “copyright” property

  “copyright”                gchar *

Copyright information for the program.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “documenters” property

  “documenters”              GStrv

The people documenting the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Owner: GtkAboutDialog

Flags: Read / Write


The “license” property

  “license”                  gchar *

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 "wrap-license" property is set to TRUE; otherwise the text itself must contain the intended linebreaks. When setting this property to a non-NULL value, the “license-type” property is set to GTK_LICENSE_CUSTOM as a side effect.

The text may contain links in this format <http://www.some.place/> and email references in the form <mail-tosome.body >, and these will be converted into clickable links.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “license-type” property

  “license-type”             GtkLicense

The license of the program, as a value of the GtkLicense enumeration.

The GtkAboutDialog will automatically fill out a standard disclaimer and link the user to the appropriate online resource for the license text.

If GTK_LICENSE_UNKNOWN is used, the link used will be the same specified in the “website” property.

If GTK_LICENSE_CUSTOM is used, the current contents of the “license” property are used.

For any other GtkLicense value, the contents of the “license” property are also set by this property as a side effect.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: GTK_LICENSE_UNKNOWN


The “logo” property

  “logo”                     GdkPaintable *

A logo for the about box. If it is NULL, the default window icon set with gtk_window_set_default_icon() will be used.

Owner: GtkAboutDialog

Flags: Read / Write


The “logo-icon-name” property

  “logo-icon-name”           gchar *

A named icon to use as the logo for the about box. This property overrides the “logo” property.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “program-name” property

  “program-name”             gchar *

The name of the program. If this is not set, it defaults to g_get_application_name().

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “system-information” property

  “system-information”       gchar *

Information about the system on which the program is running. This is displayed in a separate tab, therefore it is fine to use a long multi-paragraph text. Note that the text should contain the intended linebreaks.

The text may contain links in this format <http://www.some.place/> and email references in the form <mail-tosome.body >, and these will be converted into clickable links.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “translator-credits” property

  “translator-credits”       gchar *

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.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “version” property

  “version”                  gchar *

The version of the program.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “website” property

  “website”                  gchar *

The URL for the link to the website of the program. This should be a string starting with "http://.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “website-label” property

  “website-label”            gchar *

The label for the link to the website of the program.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: NULL


The “wrap-license” property

  “wrap-license”             gboolean

Whether to wrap the text in the license dialog.

Owner: GtkAboutDialog

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate-link” signal

gboolean
user_function (GtkAboutDialog *label,
               gchar          *uri,
               gpointer        user_data)

The signal which gets emitted to activate a URI. Applications may connect to it to override the default behaviour, which is to call gtk_show_uri().

Parameters

label

The object on which the signal was emitted

 

uri

the URI that is activated

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the link has been activated

Flags: Run Last

docs/reference/gtk/html/GtkComboBoxText.html0000664000175000017500000007516413710700533021252 0ustar mclasenmclasen GtkComboBoxText: GTK 4 Reference Manual

GtkComboBoxText

GtkComboBoxText — A simple, text-only combo box

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkComboBox
                ╰── GtkComboBoxText

Implemented Interfaces

GtkComboBoxText implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkCellEditable.

Includes

#include <gtk/gtk.h>

Description

A GtkComboBoxText is a simple variant of GtkComboBox that hides the model-view complexity for simple text-only use cases.

To create a GtkComboBoxText, use gtk_combo_box_text_new() or gtk_combo_box_text_new_with_entry().

You can add items to a GtkComboBoxText with gtk_combo_box_text_append_text(), gtk_combo_box_text_insert_text() or gtk_combo_box_text_prepend_text() and remove options with gtk_combo_box_text_remove().

If the GtkComboBoxText contains an entry (via the “has-entry” property), its contents can be retrieved using gtk_combo_box_text_get_active_text(). The entry itself can be accessed by calling gtk_bin_get_child() on the combo box.

You should not call gtk_combo_box_set_model() or attempt to pack more cells into this combo box via its GtkCellLayout interface.

GtkComboBoxText as GtkBuildable

The GtkComboBoxText implementation of the GtkBuildable interface supports adding items directly using the <items> element and specifying <item> elements for each item. Each <item> element can specify the “id” corresponding to the appended text and also supports the regular translation attributes “translatable”, “context” and “comments”.

Here is a UI definition fragment specifying GtkComboBoxText items:

1
2
3
4
5
6
7
<object class="GtkComboBoxText">
  <items>
    <item translatable="yes" id="factory">Factory</item>
    <item translatable="yes" id="home">Home</item>
    <item translatable="yes" id="subway">Subway</item>
  </items>
</object>


CSS nodes

1
2
3
4
5
combobox
╰── box.linked
    ├── entry.combo
    ├── button.combo
    ╰── window.popup

GtkComboBoxText has a single CSS node with name combobox. It adds the style class .combo to the main CSS nodes of its entry and button children, and the .linked class to the node of its internal box.

Functions

gtk_combo_box_text_new ()

GtkWidget *
gtk_combo_box_text_new (void);

Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings.

Returns

A new GtkComboBoxText


gtk_combo_box_text_new_with_entry ()

GtkWidget *
gtk_combo_box_text_new_with_entry (void);

Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings. The combo box created by this function has an entry.

Returns

a new GtkComboBoxText


gtk_combo_box_text_append ()

void
gtk_combo_box_text_append (GtkComboBoxText *combo_box,
                           const char *id,
                           const char *text);

Appends text to the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row.

This is the same as calling gtk_combo_box_text_insert() with a position of -1.

Parameters

combo_box

A GtkComboBoxText

 

id

a string ID for this value, or NULL.

[allow-none]

text

A string

 

gtk_combo_box_text_prepend ()

void
gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
                            const char *id,
                            const char *text);

Prepends text to the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row.

This is the same as calling gtk_combo_box_text_insert() with a position of 0.

Parameters

combo_box

A GtkComboBox

 

id

a string ID for this value, or NULL.

[allow-none]

text

a string

 

gtk_combo_box_text_insert ()

void
gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
                           int position,
                           const char *id,
                           const char *text);

Inserts text at position in the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row. See “id-column”.

If position is negative then text is appended.

Parameters

combo_box

A GtkComboBoxText

 

position

An index to insert text

 

id

a string ID for this value, or NULL.

[allow-none]

text

A string to display

 

gtk_combo_box_text_append_text ()

void
gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
                                const char *text);

Appends text to the list of strings stored in combo_box .

This is the same as calling gtk_combo_box_text_insert_text() with a position of -1.

Parameters

combo_box

A GtkComboBoxText

 

text

A string

 

gtk_combo_box_text_prepend_text ()

void
gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
                                 const char *text);

Prepends text to the list of strings stored in combo_box .

This is the same as calling gtk_combo_box_text_insert_text() with a position of 0.

Parameters

combo_box

A GtkComboBox

 

text

A string

 

gtk_combo_box_text_insert_text ()

void
gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
                                int position,
                                const char *text);

Inserts text at position in the list of strings stored in combo_box .

If position is negative then text is appended.

This is the same as calling gtk_combo_box_text_insert() with a NULL ID string.

Parameters

combo_box

A GtkComboBoxText

 

position

An index to insert text

 

text

A string

 

gtk_combo_box_text_remove ()

void
gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
                           int position);

Removes the string at position from combo_box .

Parameters

combo_box

A GtkComboBox

 

position

Index of the item to remove

 

gtk_combo_box_text_remove_all ()

void
gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box);

Removes all the text entries from the combo box.

Parameters

combo_box

A GtkComboBoxText

 

gtk_combo_box_text_get_active_text ()

char *
gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);

Returns the currently active string in combo_box , or NULL if none is selected. If combo_box contains an entry, this function will return its contents (which will not necessarily be an item from the list).

Parameters

combo_box

A GtkComboBoxText

 

Returns

a newly allocated string containing the currently active text. Must be freed with g_free().

[nullable][transfer full]

Types and Values

GtkComboBoxText

typedef struct _GtkComboBoxText GtkComboBoxText;

See Also

GtkComboBox

docs/reference/gtk/html/GtkAccelLabel.html0000664000175000017500000006140313710700533020633 0ustar mclasenmclasen GtkAccelLabel: GTK 4 Reference Manual

GtkAccelLabel

GtkAccelLabel — A label which displays an accelerator key on the right of the text

Properties

gchar * label Read / Write
gboolean use-underline Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkAccelLabel

Implemented Interfaces

GtkAccelLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkAccelLabel is a widget that shows an accelerator next to a description of said accelerator, e.g. “Save Document Ctrl+S”. It is commonly used in menus to show the keyboard short-cuts for commands.

The accelerator key to display is typically not set explicitly (although it can be, with gtk_accel_label_set_accel()). Instead, the GtkAccelLabel displays the accelerators which have been added to a particular widget. This widget is set by calling gtk_accel_label_set_accel_widget().

For example, a menu item may have an accelerator added to emit the “activate” signal when the “Ctrl+S” key combination is pressed. A GtkAccelLabel is created and added to the menu item widget, and gtk_accel_label_set_accel_widget() is called with the item as the second argument. The GtkAccelLabel will now display “Ctrl+S” after its label.

Note that accel labels are typically set up automatically when menus are created.

A GtkAccelLabel will only display accelerators which have GTK_ACCEL_VISIBLE set (see GtkAccelFlags). A GtkAccelLabel can display multiple accelerators and even signal names, though it is almost always used to display just one accelerator key.

CSS nodes

1
2
3
accellabel
  ├── label
  ╰── accelerator

GtkAccelLabel has a main CSS node with the name accellabel. It contains the two child nodes with name label and accelerator.

Functions

gtk_accel_label_new ()

GtkWidget *
gtk_accel_label_new (const char *string);

Creates a new GtkAccelLabel.

Parameters

string

the label string. Must be non-NULL.

 

Returns

a new GtkAccelLabel.


gtk_accel_label_get_accel_width ()

guint
gtk_accel_label_get_accel_width (GtkAccelLabel *accel_label);

Returns the width needed to display the accelerator key(s). This is used by menus to align all of the menu item widgets, and shouldn't be needed by applications.

Parameters

accel_label

a GtkAccelLabel.

 

Returns

the width needed to display the accelerator key(s).


gtk_accel_label_set_accel ()

void
gtk_accel_label_set_accel (GtkAccelLabel *accel_label,
                           guint accelerator_key,
                           GdkModifierType accelerator_mods);

Manually sets a keyval and modifier mask as the accelerator rendered by accel_label .

If a keyval and modifier are explicitly set then these values are used regardless of any associated accel closure or widget.

Providing an accelerator_key of 0 removes the manual setting.

Parameters

accel_label

a GtkAccelLabel

 

accelerator_key

a keyval, or 0

 

accelerator_mods

the modifier mask for the accel

 

gtk_accel_label_get_accel ()

void
gtk_accel_label_get_accel (GtkAccelLabel *accel_label,
                           guint *accelerator_key,
                           GdkModifierType *accelerator_mods);

Gets the keyval and modifier mask set with gtk_accel_label_set_accel().

Parameters

accel_label

a GtkAccelLabel

 

accelerator_key

return location for the keyval.

[out]

accelerator_mods

return location for the modifier mask.

[out]

gtk_accel_label_refetch ()

gboolean
gtk_accel_label_refetch (GtkAccelLabel *accel_label);

Recreates the string representing the accelerator keys. This should not be needed since the string is automatically updated whenever accelerators are added or removed from the associated widget.

Parameters

accel_label

a GtkAccelLabel.

 

Returns

always returns FALSE.


gtk_accel_label_set_label ()

void
gtk_accel_label_set_label (GtkAccelLabel *accel_label,
                           const char *text);

Sets the label part of the accel label.

Parameters

accel_label

a GtkAccelLabel

 

text

The new label text

 

gtk_accel_label_get_label ()

const char *
gtk_accel_label_get_label (GtkAccelLabel *accel_label);

Returns the current label, set via gtk_accel_label_set_label()

Parameters

accel_label

a GtkAccelLabel

 

Returns

accel_label 's label.

[transfer none]


gtk_accel_label_get_use_underline ()

gboolean
gtk_accel_label_get_use_underline (GtkAccelLabel *accel_label);

Returns whether the accel label interprets underscores in it's label property as mnemonic indicators. See gtk_accel_label_set_use_underline() and gtk_label_set_use_underline();

Parameters

accel_label

a GtkAccelLabel

 

Returns

whether the accel label uses mnemonic underlines


gtk_accel_label_set_use_underline ()

void
gtk_accel_label_set_use_underline (GtkAccelLabel *accel_label,
                                   gboolean setting);

Controls whether to interpret underscores in the text label of accel_label as mnemonic indicators. See also gtk_label_set_use_underline()

Parameters

accel_label

a GtkAccelLabel

 

setting

Whether to use underlines in the label or not

 

Types and Values

GtkAccelLabel

typedef struct _GtkAccelLabel GtkAccelLabel;

Property Details

The “label” property

  “label”                    gchar *

The text displayed next to the accelerator.

Owner: GtkAccelLabel

Flags: Read / Write

Default value: ""


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkAccelLabel

Flags: Read / Write

Default value: FALSE

See Also

GtkAccelGroup

docs/reference/gtk/html/GtkConstraint.html0000664000175000017500000016074713710700533021023 0ustar mclasenmclasen GtkConstraint: GTK 4 Reference Manual

GtkConstraint

GtkConstraint — The description of a constraint

Properties

gdouble constant Read / Write / Construct Only
gdouble multiplier Read / Write / Construct Only
GtkConstraintRelation relation Read / Write / Construct Only
GtkConstraintTarget * source Read / Write / Construct Only
GtkConstraintAttribute source-attribute Read / Write / Construct Only
gint strength Read / Write / Construct Only
GtkConstraintTarget * target Read / Write / Construct Only
GtkConstraintAttribute target-attribute Read / Write / Construct Only

Object Hierarchy

    GInterface
    ╰── GtkConstraintTarget
    GObject
    ╰── GtkConstraint

Prerequisites

GtkConstraintTarget requires GObject.

Known Implementations

GtkConstraintTarget is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkConstraintGuide, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkText, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeView, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle.

Includes

#include <gtk/gtk.h>

Description

GtkConstraint describes a constraint between an attribute on a widget and another attribute on another widget, expressed as a linear equation like:

1
target.attr1 = source.attr2 × multiplier + constant

Each GtkConstraint is part of a system that will be solved by a GtkConstraintLayout in order to allocate and position each child widget.

The source and target widgets, as well as their attributes, of a GtkConstraint instance are immutable after creation.

Functions

gtk_constraint_new ()

GtkConstraint *
gtk_constraint_new (gpointer target,
                    GtkConstraintAttribute target_attribute,
                    GtkConstraintRelation relation,
                    gpointer source,
                    GtkConstraintAttribute source_attribute,
                    double multiplier,
                    double constant,
                    int strength);

Creates a new GtkConstraint representing a relation between a layout attribute on a source and a layout attribute on a target.

Parameters

target

a GtkConstraintTarget.

[nullable][type GtkConstraintTarget]

target_attribute

the attribute of target to be set

 

relation

the relation equivalence between target_attribute and source_attribute

 

source

a GtkConstraintTarget.

[nullable][type GtkConstraintTarget]

source_attribute

the attribute of source to be read

 

multiplier

a multiplication factor to be applied to source_attribute

 

constant

a constant factor to be added to source_attribute

 

strength

the strength of the constraint

 

Returns

the newly created GtkConstraint


gtk_constraint_new_constant ()

GtkConstraint *
gtk_constraint_new_constant (gpointer target,
                             GtkConstraintAttribute target_attribute,
                             GtkConstraintRelation relation,
                             double constant,
                             int strength);

Creates a new GtkConstraint representing a relation between a layout attribute on a target and a constant value.

Parameters

target

a GtkConstraintTarget.

[nullable][type GtkConstraintTarget]

target_attribute

the attribute of target to be set

 

relation

the relation equivalence between target_attribute and constant

 

constant

a constant factor to be set on target_attribute

 

strength

the strength of the constraint

 

Returns

the newly created GtkConstraint


gtk_constraint_get_target ()

GtkConstraintTarget *
gtk_constraint_get_target (GtkConstraint *constraint);

Retrieves the GtkConstraintTarget used as the target for constraint .

If the “target” property is set to NULL, the constraint will use the GtkConstraintLayout's widget.

Parameters

constraint

a GtkConstraint

 

Returns

a GtkConstraintTarget.

[transfer none][nullable]


gtk_constraint_get_target_attribute ()

GtkConstraintAttribute
gtk_constraint_get_target_attribute (GtkConstraint *constraint);

Retrieves the attribute of the target to be set by the constraint .

Parameters

constraint

a GtkConstraint

 

Returns

the target's attribute


gtk_constraint_get_relation ()

GtkConstraintRelation
gtk_constraint_get_relation (GtkConstraint *constraint);

The order relation between the terms of the constraint .

Parameters

constraint

a GtkConstraint

 

Returns

a GtkConstraintRelation value


gtk_constraint_get_source ()

GtkConstraintTarget *
gtk_constraint_get_source (GtkConstraint *constraint);

Retrieves the GtkConstraintTarget used as the source for constraint .

If the “source” property is set to NULL, the constraint will use the GtkConstraintLayout's widget.

Parameters

constraint

a GtkConstraint

 

Returns

a GtkConstraintTarget.

[transfer none][nullable]


gtk_constraint_get_source_attribute ()

GtkConstraintAttribute
gtk_constraint_get_source_attribute (GtkConstraint *constraint);

Retrieves the attribute of the source to be read by the constraint .

Parameters

constraint

a GtkConstraint

 

Returns

the target's attribute


gtk_constraint_get_multiplier ()

double
gtk_constraint_get_multiplier (GtkConstraint *constraint);

Retrieves the multiplication factor applied to the source attribute's value.

Parameters

constraint

a GtkConstraint

 

Returns

a multiplication factor


gtk_constraint_get_constant ()

double
gtk_constraint_get_constant (GtkConstraint *constraint);

Retrieves the constant factor added to the source attributes' value.

Parameters

constraint

a GtkConstraint

 

Returns

a constant factor


gtk_constraint_get_strength ()

int
gtk_constraint_get_strength (GtkConstraint *constraint);

Retrieves the strength of the constraint.

Parameters

constraint

a GtkConstraint

 

Returns

the strength of the constraint


gtk_constraint_is_required ()

gboolean
gtk_constraint_is_required (GtkConstraint *constraint);

Checks whether the constraint is a required relation for solving the constraint layout.

Parameters

constraint

a GtkConstraint

 

Returns

TRUE if the constraint is required


gtk_constraint_is_attached ()

gboolean
gtk_constraint_is_attached (GtkConstraint *constraint);

Checks whether the constraint is attached to a GtkConstraintLayout, and it is contributing to the layout.

Parameters

constraint

a GtkConstraint

 

Returns

TRUE if the constraint is attached


gtk_constraint_is_constant ()

gboolean
gtk_constraint_is_constant (GtkConstraint *constraint);

Checks whether the constraint describes a relation between an attribute on the “target” and a constant value.

Parameters

constraint

a GtkConstraint

 

Returns

TRUE if the constraint is a constant relation

Types and Values

GtkConstraint

typedef struct _GtkConstraint GtkConstraint;

An object describing the relation between two widget attributes.

All relations are in the form:

1
target.attr_name = source.attr_name × multiplier + constant

A GtkConstraint is immutable once it's created.


GtkConstraintTarget

typedef struct _GtkConstraintTarget GtkConstraintTarget;

The GtkConstraintTarget interface is implemented by objects that can be used as source or target in GtkConstraints. Besides GtkWidget, it is also implemented by GtkConstraintGuide.


enum GtkConstraintAttribute

The widget attributes that can be used when creating a GtkConstraint.

Members

GTK_CONSTRAINT_ATTRIBUTE_NONE

No attribute, used for constant relations

 

GTK_CONSTRAINT_ATTRIBUTE_LEFT

The left edge of a widget, regardless of text direction

 

GTK_CONSTRAINT_ATTRIBUTE_RIGHT

The right edge of a widget, regardless of text direction

 

GTK_CONSTRAINT_ATTRIBUTE_TOP

The top edge of a widget

 

GTK_CONSTRAINT_ATTRIBUTE_BOTTOM

The bottom edge of a widget

 

GTK_CONSTRAINT_ATTRIBUTE_START

The leading edge of a widget, depending on text direction; equivalent to GTK_CONSTRAINT_ATTRIBUTE_LEFT for LTR languages, and GTK_CONSTRAINT_ATTRIBUTE_RIGHT for RTL ones

 

GTK_CONSTRAINT_ATTRIBUTE_END

The trailing edge of a widget, depending on text direction; equivalent to GTK_CONSTRAINT_ATTRIBUTE_RIGHT for LTR languages, and GTK_CONSTRAINT_ATTRIBUTE_LEFT for RTL ones

 

GTK_CONSTRAINT_ATTRIBUTE_WIDTH

The width of a widget

 

GTK_CONSTRAINT_ATTRIBUTE_HEIGHT

The height of a widget

 

GTK_CONSTRAINT_ATTRIBUTE_CENTER_X

The center of a widget, on the horizontal axis

 

GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y

The center of a widget, on the vertical axis

 

GTK_CONSTRAINT_ATTRIBUTE_BASELINE

The baseline of a widget

 

enum GtkConstraintRelation

The relation between two terms of a constraint.

Members

GTK_CONSTRAINT_RELATION_LE

Less than, or equal

 

GTK_CONSTRAINT_RELATION_EQ

Equal

 

GTK_CONSTRAINT_RELATION_GE

Greater than, or equal

 

enum GtkConstraintStrength

The strength of a constraint, expressed as a symbolic constant.

The strength of a GtkConstraint can be expressed with any positive integer; the values of this enumeration can be used for readability.

Members

GTK_CONSTRAINT_STRENGTH_REQUIRED

The constraint is required towards solving the layout

 

GTK_CONSTRAINT_STRENGTH_STRONG

A strong constraint

 

GTK_CONSTRAINT_STRENGTH_MEDIUM

A medium constraint

 

GTK_CONSTRAINT_STRENGTH_WEAK

A weak constraint

 

Property Details

The “constant” property

  “constant”                 gdouble

The constant value to be added to the “source-attribute”.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Default value: 0


The “multiplier” property

  “multiplier”               gdouble

The multiplication factor to be applied to the “source-attribute”.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Default value: 1


The “relation” property

  “relation”                 GtkConstraintRelation

The order relation between the terms of the constraint.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Default value: GTK_CONSTRAINT_RELATION_EQ


The “source” property

  “source”                   GtkConstraintTarget *

The source of the constraint.

The constraint will set the “target-attribute” of the target using the “source-attribute” of the source.

Owner: GtkConstraint

Flags: Read / Write / Construct Only


The “source-attribute” property

  “source-attribute”         GtkConstraintAttribute

The attribute of the “source” read by the constraint.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE


The “strength” property

  “strength”                 gint

The strength of the constraint.

The strength can be expressed either using one of the symbolic values of the GtkConstraintStrength enumeration, or any positive integer value.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Allowed values: [0,1001001000]

Default value: 1001001000


The “target” property

  “target”                   GtkConstraintTarget *

The target of the constraint.

The constraint will set the “target-attribute” of the target using the “source-attribute” of the source widget.

Owner: GtkConstraint

Flags: Read / Write / Construct Only


The “target-attribute” property

  “target-attribute”         GtkConstraintAttribute

The attribute of the “target” set by the constraint.

Owner: GtkConstraint

Flags: Read / Write / Construct Only

Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE

docs/reference/gtk/html/GtkAccessible.html0000664000175000017500000024765113710700533020734 0ustar mclasenmclasen GtkAccessible: GTK 4 Reference Manual

GtkAccessible

GtkAccessible — Accessible interface

Properties

Object Hierarchy

    GInterface
    ╰── GtkAccessible

Prerequisites

GtkAccessible requires GObject.

Known Implementations

GtkAccessible is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkText, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeView, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle.

Includes

#include <gtk/gtk.h>

Description

GtkAccessible provides an interface for describing a UI element, like a GtkWidget, in a way that can be consumed by Assistive Technologies, or “AT”. Every accessible implementation has:

The role cannot be changed after instantiating a GtkAccessible implementation.

The attributes are updated every time a UI element's state changes in a way that should be reflected by assistive technologies. For instance, if a GtkWidget visibility changes, the GTK_ACCESSIBLE_STATE_HIDDEN state will also change to reflect the “visible” property.

Functions

gtk_accessible_get_accessible_role ()

GtkAccessibleRole
gtk_accessible_get_accessible_role (GtkAccessible *self);

Retrieves the GtkAccessibleRole for the given GtkAccessible.

Parameters

self

a GtkAccessible

 

Returns

a GtkAccessibleRole


gtk_accessible_update_state ()

void
gtk_accessible_update_state (GtkAccessible *self,
                             GtkAccessibleState first_state,
                             ...);

Updates a list of accessible states. See the GtkAccessibleState documentation for the value types of accessible states.

This function should be called by GtkWidget types whenever an accessible state change must be communicated to assistive technologies.

Example:

1
2
3
4
value = GTK_ACCESSIBLE_TRISTATE_MIXED;
gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
                             GTK_ACCESSIBLE_STATE_CHECKED, value,
                             -1);

Parameters

self

a GtkAccessible

 

first_state

the first GtkAccessibleState

 

...

a list of state and value pairs, terminated by -1

 

gtk_accessible_update_state_value ()

void
gtk_accessible_update_state_value (GtkAccessible *self,
                                   GtkAccessibleState state,
                                   const GValue *value);

Updates an accessible state.

This function should be called by GtkWidget types whenever an accessible state change must be communicated to assistive technologies.

This function is meant to be used by language bindings.

Parameters

self

a GtkAccessible

 

state

a GtkAccessibleState

 

value

a GValue with the value for state

 

gtk_accessible_reset_state ()

void
gtk_accessible_reset_state (GtkAccessible *self,
                            GtkAccessibleState state);

Resets the accessible state to its default value.

Parameters

self

a GtkAccessible

 

state

a GtkAccessibleState

 

gtk_accessible_update_property ()

void
gtk_accessible_update_property (GtkAccessible *self,
                                GtkAccessibleProperty first_property,
                                ...);

Updates a list of accessible properties. See the GtkAccessibleProperty documentation for the value types of accessible properties.

This function should be called by GtkWidget types whenever an accessible property change must be communicated to assistive technologies.

Example:

1
2
3
4
value = gtk_adjustment_get_value (adjustment);
gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
                                   GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
                                   -1);

Parameters

self

a GtkAccessible

 

first_property

the first GtkAccessibleProperty

 

...

a list of property and value pairs, terminated by -1

 

gtk_accessible_update_property_value ()

void
gtk_accessible_update_property_value (GtkAccessible *self,
                                      GtkAccessibleProperty property,
                                      const GValue *value);

Updates an accessible property.

This function should be called by GtkWidget types whenever an accessible property change must be communicated to assistive technologies.

This function is meant to be used by language bindings.

Parameters

self

a GtkAccessible

 

property

a GtkAccessibleProperty

 

value

a GValue with the value for property

 

gtk_accessible_reset_property ()

void
gtk_accessible_reset_property (GtkAccessible *self,
                               GtkAccessibleProperty property);

Resets the accessible property to its default value.

Parameters

self

a GtkAccessible

 

property

a GtkAccessibleProperty

 

gtk_accessible_update_relation ()

void
gtk_accessible_update_relation (GtkAccessible *self,
                                GtkAccessibleRelation first_relation,
                                ...);

Updates a list of accessible relations.

This function should be called by GtkWidget types whenever an accessible relation change must be communicated to assistive technologies.

Parameters

self

a GtkAccessible

 

first_relation

the first GtkAccessibleRelation

 

...

a list of relation and value pairs, terminated by -1

 

gtk_accessible_update_relation_value ()

void
gtk_accessible_update_relation_value (GtkAccessible *self,
                                      GtkAccessibleRelation relation,
                                      const GValue *value);

Updates an accessible relation.

This function should be called by GtkWidget types whenever an accessible relation change must be communicated to assistive technologies.

This function is meant to be used by language bindings.

Parameters

self

a GtkAccessible

 

relation

a GtkAccessibleRelation

 

value

a GValue with the value for relation

 

gtk_accessible_reset_relation ()

void
gtk_accessible_reset_relation (GtkAccessible *self,
                               GtkAccessibleRelation relation);

Resets the accessible relation to its default value.

Parameters

self

a GtkAccessible

 

relation

a GtkAccessibleRelation

 

Types and Values

GtkAccessible

typedef struct _GtkAccessible GtkAccessible;

enum GtkAccessibleRole

The accessible role for a GtkAccessible implementation.

Abstract roles are only used as part of the ontology; application developers must not use abstract roles in their code.

Members

GTK_ACCESSIBLE_ROLE_ALERT

An element with important, and usually time-sensitive, information

 

GTK_ACCESSIBLE_ROLE_ALERT_DIALOG

A type of dialog that contains an alert message

 

GTK_ACCESSIBLE_ROLE_BANNER

Unused

 

GTK_ACCESSIBLE_ROLE_BUTTON

An input element that allows for user-triggered actions when clicked or pressed

 

GTK_ACCESSIBLE_ROLE_CAPTION

Unused

 

GTK_ACCESSIBLE_ROLE_CELL

Unused

 

GTK_ACCESSIBLE_ROLE_CHECKBOX

A checkable input element that has three possible values: true, false, or mixed

 

GTK_ACCESSIBLE_ROLE_COLUMN_HEADER

Unused

 

GTK_ACCESSIBLE_ROLE_COMBO_BOX

An input that controls another element, such as a list or a grid, that can dynamically pop up to help the user set the value of the input

 

GTK_ACCESSIBLE_ROLE_COMMAND

An abstract widget that performs an action, but does not receive input

 

GTK_ACCESSIBLE_ROLE_COMPOSITE

Unused

 

GTK_ACCESSIBLE_ROLE_DIALOG

A dialog is a window that is designed to interrupt the current processing of an application in order to prompt the user to enter information or require a response.

 

GTK_ACCESSIBLE_ROLE_DOCUMENT

Unused

 

GTK_ACCESSIBLE_ROLE_FEED

Unused

 

GTK_ACCESSIBLE_ROLE_FORM

Unused

 

GTK_ACCESSIBLE_ROLE_GENERIC

Unused

 

GTK_ACCESSIBLE_ROLE_GRID

Unused

 

GTK_ACCESSIBLE_ROLE_GRID_CELL

Unused

 

GTK_ACCESSIBLE_ROLE_GROUP

Unused

 

GTK_ACCESSIBLE_ROLE_HEADING

Unused

 

GTK_ACCESSIBLE_ROLE_IMG

An image.

 

GTK_ACCESSIBLE_ROLE_INPUT

Unused

 

GTK_ACCESSIBLE_ROLE_LABEL

A visible name or caption for a user interface component.

 

GTK_ACCESSIBLE_ROLE_LANDMARK

Unused

 

GTK_ACCESSIBLE_ROLE_LEGEND

Unused

 

GTK_ACCESSIBLE_ROLE_LINK

Unused

 

GTK_ACCESSIBLE_ROLE_LIST

Unused

 

GTK_ACCESSIBLE_ROLE_LIST_BOX

Unused

 

GTK_ACCESSIBLE_ROLE_LIST_ITEM

Unused

 

GTK_ACCESSIBLE_ROLE_LOG

Unused

 

GTK_ACCESSIBLE_ROLE_MAIN

Unused

 

GTK_ACCESSIBLE_ROLE_MARQUEE

Unused

 

GTK_ACCESSIBLE_ROLE_MATH

Unused

 

GTK_ACCESSIBLE_ROLE_METER

An element that represents a value within a known range.

 

GTK_ACCESSIBLE_ROLE_MENU

Unused

 

GTK_ACCESSIBLE_ROLE_MENU_BAR

Unused

 

GTK_ACCESSIBLE_ROLE_MENU_ITEM

Unused

 

GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX

Unused

 

GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO

Unused

 

GTK_ACCESSIBLE_ROLE_NAVIGATION

Unused

 

GTK_ACCESSIBLE_ROLE_NONE

Unused

 

GTK_ACCESSIBLE_ROLE_NOTE

Unused

 

GTK_ACCESSIBLE_ROLE_OPTION

Unused

 

GTK_ACCESSIBLE_ROLE_PRESENTATION

Unused

 

GTK_ACCESSIBLE_ROLE_PROGRESS_BAR

An element that displays the progress status for tasks that take a long time.

 

GTK_ACCESSIBLE_ROLE_RADIO

A checkable input in a group of radio roles, only one of which can be checked at a time.

 

GTK_ACCESSIBLE_ROLE_RADIO_GROUP

Unused

 

GTK_ACCESSIBLE_ROLE_RANGE

Unused

 

GTK_ACCESSIBLE_ROLE_REGION

Unused

 

GTK_ACCESSIBLE_ROLE_ROW

Unused

 

GTK_ACCESSIBLE_ROLE_ROW_GROUP

Unused

 

GTK_ACCESSIBLE_ROLE_ROW_HEADER

Unused

 

GTK_ACCESSIBLE_ROLE_SCROLLBAR

A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.

 

GTK_ACCESSIBLE_ROLE_SEARCH

Unused

 

GTK_ACCESSIBLE_ROLE_SEARCH_BOX

A type of textbox intended for specifying search criteria.

 

GTK_ACCESSIBLE_ROLE_SECTION

Unused

 

GTK_ACCESSIBLE_ROLE_SECTION_HEAD

Unused

 

GTK_ACCESSIBLE_ROLE_SELECT

Unused

 

GTK_ACCESSIBLE_ROLE_SEPARATOR

A divider that separates and distinguishes sections of content or groups of menuitems.

 

GTK_ACCESSIBLE_ROLE_SLIDER

A user input where the user selects a value from within a given range.

 

GTK_ACCESSIBLE_ROLE_SPIN_BUTTON

A form of range that expects the user to select from among discrete choices.

 

GTK_ACCESSIBLE_ROLE_STATUS

Unused

 

GTK_ACCESSIBLE_ROLE_STRUCTURE

Unused

 

GTK_ACCESSIBLE_ROLE_SWITCH

A type of checkbox that represents on/off values, as opposed to checked/unchecked values.

 

GTK_ACCESSIBLE_ROLE_TAB

Unused

 

GTK_ACCESSIBLE_ROLE_TABLE

Unused

 

GTK_ACCESSIBLE_ROLE_TAB_LIST

Unused

 

GTK_ACCESSIBLE_ROLE_TAB_PANEL

Unused

 

GTK_ACCESSIBLE_ROLE_TEXT_BOX

A type of input that allows free-form text as its value.

 

GTK_ACCESSIBLE_ROLE_TIME

Unused

 

GTK_ACCESSIBLE_ROLE_TIMER

Unused

 

GTK_ACCESSIBLE_ROLE_TOOLBAR

Unused

 

GTK_ACCESSIBLE_ROLE_TOOLTIP

Unused

 

GTK_ACCESSIBLE_ROLE_TREE

Unused

 

GTK_ACCESSIBLE_ROLE_TREE_GRID

Unused

 

GTK_ACCESSIBLE_ROLE_TREE_ITEM

Unused

 

GTK_ACCESSIBLE_ROLE_WIDGET

An interactive component of a graphical user interface. This is the role that GTK uses by default for widgets.

 

GTK_ACCESSIBLE_ROLE_WINDOW

An application window.

 

enum GtkAccessibleState

The possible accessible states of a GtkAccessible.

Members

GTK_ACCESSIBLE_STATE_BUSY

A “busy” state. This state has boolean values

 

GTK_ACCESSIBLE_STATE_CHECKED

A “checked” state; indicates the current state of a GtkCheckButton. Value type: GtkAccessibleTristate

 

GTK_ACCESSIBLE_STATE_DISABLED

A “disabled” state; corresponds to the “sensitive” property on GtkWidget. It indicates a UI element that is perceivable, but not editable or operable. Value type: boolean

 

GTK_ACCESSIBLE_STATE_EXPANDED

An “expanded” state; corresponds to the “expanded” property on GtkExpander. Value type: boolean or undefined

 

GTK_ACCESSIBLE_STATE_HIDDEN

A “hidden” state; corresponds to the “visible” property on GtkWidget. You can use this state explicitly on UI elements that should not be exposed to an assistive technology. Value type: boolean See also: GTK_ACCESSIBLE_STATE_DISABLED

 

GTK_ACCESSIBLE_STATE_INVALID

An “invalid” state; set when a widget is showing an error. Value type: GtkAccessibleInvalidState

 

GTK_ACCESSIBLE_STATE_PRESSED

A “pressed” state; indicates the current state of a GtkToggleButton. Value type: GtkAccessibleTristate enumeration

 

GTK_ACCESSIBLE_STATE_SELECTED

A “selected” state; set when a widget is selected. Value type: boolean or undefined

 

enum GtkAccessibleProperty

The possible accessible properties of a GtkAccessible.

Members

GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented if they were made. Value type: GtkAccessibleAutocomplete

 

GTK_ACCESSIBLE_PROPERTY_DESCRIPTION

Defines a string value that describes or annotates the current element. Value type: string

 

GTK_ACCESSIBLE_PROPERTY_HAS_POPUP

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

 

GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. Value type: string

 

GTK_ACCESSIBLE_PROPERTY_LABEL

Defines a string value that labels the current element. Value type: string

 

GTK_ACCESSIBLE_PROPERTY_LEVEL

Defines the hierarchical level of an element within a structure. Value type: integer

 

GTK_ACCESSIBLE_PROPERTY_MODAL

Indicates whether an element is modal when displayed. Value type: boolean

 

GTK_ACCESSIBLE_PROPERTY_MULTI_LINE

Indicates whether a text box accepts multiple lines of input or only a single line. Value type: boolean

 

GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE

Indicates that the user may select more than one item from the current selectable descendants. Value type: boolean

 

GTK_ACCESSIBLE_PROPERTY_ORIENTATION

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. Value type: GtkOrientation

 

GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format. Value type: string

 

GTK_ACCESSIBLE_PROPERTY_READ_ONLY

Indicates that the element is not editable, but is otherwise operable. Value type: boolean

 

GTK_ACCESSIBLE_PROPERTY_REQUIRED

Indicates that user input is required on the element before a form may be submitted. Value type: boolean

 

GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION

Defines a human-readable, author-localized description for the role of an element. Value type: string

 

GTK_ACCESSIBLE_PROPERTY_SORT

Indicates if items in a table or grid are sorted in ascending or descending order. Possible property values are in the GtkAccessibleSort enumeration. Value type: GtkAccessibleSort

 

GTK_ACCESSIBLE_PROPERTY_VALUE_MAX

Defines the maximum allowed value for a range widget. Value type: double

 

GTK_ACCESSIBLE_PROPERTY_VALUE_MIN

Defines the minimum allowed value for a range widget. Value type: double

 

GTK_ACCESSIBLE_PROPERTY_VALUE_NOW

Defines the current value for a range widget. Value type: double

 

GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT

Defines the human readable text alternative of aria-valuenow for a range widget. Value type: string

 

enum GtkAccessibleRelation

The possible accessible relations of a GtkAccessible. Accessible relations can be references to other widgets, integers or strings.

Members

GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT

Identifies the currently active element when focus is on a composite widget, combobox, textbox, group, or application. Value type: reference

 

GTK_ACCESSIBLE_RELATION_COL_COUNT

Defines the total number of columns in a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_COL_INDEX

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT

Defines a human readable text alternative of GTK_ACCESSIBLE_RELATION_COL_INDEX . Value type: string

 

GTK_ACCESSIBLE_RELATION_COL_SPAN

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_CONTROLS

Identifies the element (or elements) whose contents or presence are controlled by the current element. Value type: reference

 

GTK_ACCESSIBLE_RELATION_DESCRIBED_BY

Identifies the element (or elements) that describes the object. Value type: reference

 

GTK_ACCESSIBLE_RELATION_DETAILS

Identifies the element (or elements) that provide additional information related to the object. Value type: reference

 

GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE

Identifies the element that provides an error message for an object. Value type: reference

 

GTK_ACCESSIBLE_RELATION_FLOW_TO

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order. Value type: reference

 

GTK_ACCESSIBLE_RELATION_LABELLED_BY

Identifies the element (or elements) that labels the current element. Value type: reference

 

GTK_ACCESSIBLE_RELATION_OWNS

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between elements where the widget hierarchy cannot be used to represent the relationship. Value type: reference

 

GTK_ACCESSIBLE_RELATION_POS_IN_SET

Defines an element's number or position in the current set of listitems or treeitems. Value type: integer

 

GTK_ACCESSIBLE_RELATION_ROW_COUNT

Defines the total number of rows in a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_ROW_INDEX

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT

Defines a human readable text alternative of aria-rowindex. Value type: string

 

GTK_ACCESSIBLE_RELATION_ROW_SPAN

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. Value type: integer

 

GTK_ACCESSIBLE_RELATION_SET_SIZE

Defines the number of items in the current set of listitems or treeitems. Value type: integer

 

enum GtkAccessibleTristate

The possible values for the GTK_ACCESSIBLE_STATE_PRESSED accessible state.

Note that the GTK_ACCESSIBLE_TRISTATE_FALSE and GTK_ACCESSIBLE_TRISTATE_TRUE have the same values as FALSE and TRUE.

Members

GTK_ACCESSIBLE_TRISTATE_FALSE

The state is false

 

GTK_ACCESSIBLE_TRISTATE_TRUE

The state is true

 

GTK_ACCESSIBLE_TRISTATE_MIXED

The state is mixed

 

enum GtkAccessibleInvalidState

The possible values for the GTK_ACCESSIBLE_STATE_INVALID accessible state.

Note that the GTK_ACCESSIBLE_INVALID_FALSE and GTK_ACCESSIBLE_INVALID_TRUE have the same values as FALSE and TRUE.

Members

GTK_ACCESSIBLE_INVALID_FALSE

There are no detected errors in the value

 

GTK_ACCESSIBLE_INVALID_TRUE

The value entered by the user has failed validation

 

GTK_ACCESSIBLE_INVALID_GRAMMAR

A grammatical error was detected

 

GTK_ACCESSIBLE_INVALID_SPELLING

A spelling error was detected

 

enum GtkAccessibleAutocomplete

The possible values for the GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE accessible property.

Members

GTK_ACCESSIBLE_AUTOCOMPLETE_NONE

Automatic suggestions are not displayed.

 

GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE

When a user is providing input, text suggesting one way to complete the provided input may be dynamically inserted after the caret.

 

GTK_ACCESSIBLE_AUTOCOMPLETE_LIST

When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed.

 

GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH

When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed. If displayed, one value in the collection is automatically selected, and the text needed to complete the automatically selected value appears after the caret in the input.

 

enum GtkAccessibleSort

The possible values for the GTK_ACCESSIBLE_PROPERTY_SORT accessible property.

Members

GTK_ACCESSIBLE_SORT_NONE

There is no defined sort applied to the column.

 

GTK_ACCESSIBLE_SORT_ASCENDING

Items are sorted in ascending order by this column.

 

GTK_ACCESSIBLE_SORT_DESCENDING

Items are sorted in descending order by this column.

 

GTK_ACCESSIBLE_SORT_OTHER

A sort algorithm other than ascending or descending has been applied.

 

Property Details

The “accessible-role” property

  “accessible-role”          GtkAccessibleRole

The role of the accessible object.

Owner: GtkAccessible

Flags: Read / Write

Default value: GTK_ACCESSIBLE_ROLE_NONE

docs/reference/gtk/html/GtkConstraintGuide.html0000664000175000017500000010136013710700533021763 0ustar mclasenmclasen GtkConstraintGuide: GTK 4 Reference Manual

GtkConstraintGuide

GtkConstraintGuide — An invisible constraint target

Properties

gint max-height Read / Write
gint max-width Read / Write
gint min-height Read / Write
gint min-width Read / Write
gchar * name Read / Write
gint nat-height Read / Write
gint nat-width Read / Write
GtkConstraintStrength strength Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkConstraintGuide

Implemented Interfaces

GtkConstraintGuide implements GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkConstraintGuide is an invisible layout element that can be used by widgets inside a GtkConstraintLayout as a source or a target of a GtkConstraint. Guides can be used like guidelines or as flexible space.

Unlike a GtkWidget, a GtkConstraintGuide will not be drawn.

Functions

gtk_constraint_guide_new ()

GtkConstraintGuide *
gtk_constraint_guide_new (void);

Creates a new GtkConstraintGuide object.

Return: a new GtkConstraintGuide object.


gtk_constraint_guide_set_name ()

void
gtk_constraint_guide_set_name (GtkConstraintGuide *guide,
                               const char *name);

Sets a name for the given GtkConstraintGuide.

The name is useful for debugging purposes.

Parameters

guide

a GtkConstraintGuide

 

name

a name for the guide .

[nullable]

gtk_constraint_guide_get_name ()

const char *
gtk_constraint_guide_get_name (GtkConstraintGuide *guide);

Retrieves the name set using gtk_constraint_guide_set_name().

Parameters

guide

a GtkConstraintGuide

 

Returns

the name of the guide.

[transfer none][nullable]


gtk_constraint_guide_set_strength ()

void
gtk_constraint_guide_set_strength (GtkConstraintGuide *guide,
                                   GtkConstraintStrength strength);

Sets the strength of the constraint on the natural size of the given GtkConstraintGuide.

Parameters

guide

a GtkConstraintGuide

 

strength

the strength of the constraint

 

gtk_constraint_guide_get_strength ()

GtkConstraintStrength
gtk_constraint_guide_get_strength (GtkConstraintGuide *guide);

Retrieves the strength set using gtk_constraint_guide_set_strength().

Parameters

guide

a GtkConstraintGuide

 

Returns

the strength of the constraint on the natural size


gtk_constraint_guide_set_min_size ()

void
gtk_constraint_guide_set_min_size (GtkConstraintGuide *guide,
                                   int width,
                                   int height);

Sets the minimum size of guide .

If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size.

Parameters

guide

a GtkConstraintGuide object

 

width

the new minimum width, or -1 to not change it

 

height

the new minimum height, or -1 to not change it

 

gtk_constraint_guide_get_min_size ()

void
gtk_constraint_guide_get_min_size (GtkConstraintGuide *guide,
                                   int *width,
                                   int *height);

Gets the minimum size of guide .

Parameters

guide

a GtkConstraintGuide object

 

width

return location for the minimum width, or NULL.

[allow-none]

height

return location for the minimum height, or NULL.

[allow-none]

gtk_constraint_guide_set_nat_size ()

void
gtk_constraint_guide_set_nat_size (GtkConstraintGuide *guide,
                                   int width,
                                   int height);

Sets the natural size of guide .

If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size.

Parameters

guide

a GtkConstraintGuide object

 

width

the new natural width, or -1 to not change it

 

height

the new natural height, or -1 to not change it

 

gtk_constraint_guide_get_nat_size ()

void
gtk_constraint_guide_get_nat_size (GtkConstraintGuide *guide,
                                   int *width,
                                   int *height);

Gets the natural size of guide .

Parameters

guide

a GtkConstraintGuide object

 

width

return location for the natural width, or NULL.

[allow-none]

height

return location for the natural height, or NULL.

[allow-none]

gtk_constraint_guide_set_max_size ()

void
gtk_constraint_guide_set_max_size (GtkConstraintGuide *guide,
                                   int width,
                                   int height);

Sets the maximum size of guide .

If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size.

Parameters

guide

a GtkConstraintGuide object

 

width

the new maximum width, or -1 to not change it

 

height

the new maximum height, or -1 to not change it

 

gtk_constraint_guide_get_max_size ()

void
gtk_constraint_guide_get_max_size (GtkConstraintGuide *guide,
                                   int *width,
                                   int *height);

Gets the maximum size of guide .

Parameters

guide

a GtkConstraintGuide object

 

width

return location for the maximum width, or NULL.

[allow-none]

height

return location for the maximum height, or NULL.

[allow-none]

Types and Values

GtkConstraintGuide

typedef struct _GtkConstraintGuide GtkConstraintGuide;

An object that can be added to a GtkConstraintLayout and be used in constraints like a widget, without being drawn.

Guides have a minimum, maximum and natural size. Depending on the constraints that are applied, they can act like a guideline that widgets can be aligned to, or like 'flexible space'.

Property Details

The “max-height” property

  “max-height”               gint

The maximum height of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 2147483647


The “max-width” property

  “max-width”                gint

The maximum width of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 2147483647


The “min-height” property

  “min-height”               gint

The minimum height of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “min-width” property

  “min-width”                gint

The minimum width of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “name” property

  “name”                     gchar *

A name that identifies the GtkConstraintGuide, for debugging.

Owner: GtkConstraintGuide

Flags: Read / Write

Default value: NULL


The “nat-height” property

  “nat-height”               gint

The preferred, or natural, height of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “nat-width” property

  “nat-width”                gint

The preferred, or natural, width of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “strength” property

  “strength”                 GtkConstraintStrength

The GtkConstraintStrength to be used for the constraint on the natural size of the guide.

Owner: GtkConstraintGuide

Flags: Read / Write

Default value: GTK_CONSTRAINT_STRENGTH_MEDIUM

docs/reference/gtk/html/GtkActionBar.html0000664000175000017500000004760713710700533020540 0ustar mclasenmclasen GtkActionBar: GTK 4 Reference Manual

GtkActionBar

GtkActionBar — A full width bar for presenting contextual actions

Properties

gboolean revealed Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkActionBar

Implemented Interfaces

GtkActionBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkActionBar is designed to present contextual actions. It is expected to be displayed below the content and expand horizontally to fill the area.

It allows placing children at the start or the end. In addition, it contains an internal centered box which is centered with respect to the full width of the box, even if the children at either side take up different amounts of space.

CSS nodes

GtkActionBar has a single CSS node with name actionbar.

Functions

gtk_action_bar_new ()

GtkWidget *
gtk_action_bar_new (void);

Creates a new GtkActionBar widget.

Returns

a new GtkActionBar


gtk_action_bar_pack_start ()

void
gtk_action_bar_pack_start (GtkActionBar *action_bar,
                           GtkWidget *child);

Adds child to action_bar , packed with reference to the start of the action_bar .

Parameters

action_bar

A GtkActionBar

 

child

the GtkWidget to be added to action_bar

 

gtk_action_bar_pack_end ()

void
gtk_action_bar_pack_end (GtkActionBar *action_bar,
                         GtkWidget *child);

Adds child to action_bar , packed with reference to the end of the action_bar .

Parameters

action_bar

A GtkActionBar

 

child

the GtkWidget to be added to action_bar

 

gtk_action_bar_remove ()

void
gtk_action_bar_remove (GtkActionBar *action_bar,
                       GtkWidget *child);

Removes a child from action_bar .

Parameters

action_bar

a GtkActionBar

 

child

the GtkWidget to be removed

 

gtk_action_bar_get_center_widget ()

GtkWidget *
gtk_action_bar_get_center_widget (GtkActionBar *action_bar);

Retrieves the center bar widget of the bar.

Parameters

action_bar

a GtkActionBar

 

Returns

the center GtkWidget or NULL.

[transfer none][nullable]


gtk_action_bar_set_center_widget ()

void
gtk_action_bar_set_center_widget (GtkActionBar *action_bar,
                                  GtkWidget *center_widget);

Sets the center widget for the GtkActionBar.

Parameters

action_bar

a GtkActionBar

 

center_widget

a widget to use for the center.

[allow-none]

gtk_action_bar_get_revealed ()

gboolean
gtk_action_bar_get_revealed (GtkActionBar *action_bar);

Gets the value of the “revealed” property.

Parameters

action_bar

a GtkActionBar

 

Returns

the current value of the “revealed” property.


gtk_action_bar_set_revealed ()

void
gtk_action_bar_set_revealed (GtkActionBar *action_bar,
                             gboolean revealed);

Sets the “revealed” property to revealed . Changing this will make action_bar reveal (TRUE) or conceal (FALSE) itself via a sliding transition.

Note: this does not show or hide action_bar in the “visible” sense, so revealing has no effect if “visible” is FALSE.

Parameters

action_bar

a GtkActionBar

 

revealed

The new value of the property

 

Types and Values

GtkActionBar

typedef struct _GtkActionBar GtkActionBar;

Property Details

The “revealed” property

  “revealed”                 gboolean

Controls whether the action bar shows its contents or not.

Owner: GtkActionBar

Flags: Read / Write

Default value: TRUE

See Also

GtkBox

docs/reference/gtk/html/GtkConstraintLayout.html0000664000175000017500000016773113710700533022221 0ustar mclasenmclasen GtkConstraintLayout: GTK 4 Reference Manual

GtkConstraintLayout

GtkConstraintLayout — A layout manager using constraints

Object Hierarchy

    GObject
    ├── GtkLayoutChild
       ╰── GtkConstraintLayoutChild
    ╰── GtkLayoutManager
        ╰── GtkConstraintLayout

Implemented Interfaces

GtkConstraintLayout implements GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkConstraintLayout is a layout manager that uses relations between widget attributes, expressed via GtkConstraint instances, to measure and allocate widgets.

How do constraints work

Constraints are objects defining the relationship between attributes of a widget; you can read the description of the GtkConstraint class to have a more in depth definition.

By taking multiple constraints and applying them to the children of a widget using GtkConstraintLayout, it's possible to describe complex layout policies; each constraint applied to a child or to the parent widgets contributes to the full description of the layout, in terms of parameters for resolving the value of each attribute.

It is important to note that a layout is defined by the totality of constraints; removing a child, or a constraint, from an existing layout without changing the remaining constraints may result in an unstable or unsolvable layout.

Constraints have an implicit "reading order"; you should start describing each edge of each child, as well as their relationship with the parent container, from the top left (or top right, in RTL languages), horizontally first, and then vertically.

A constraint-based layout with too few constraints can become "unstable", that is: have more than one solution. The behavior of an unstable layout is undefined.

A constraint-based layout with conflicting constraints may be unsolvable, and lead to an unstable layout. You can use the “strength” property of GtkConstraint to "nudge" the layout towards a solution.


GtkConstraintLayout as GtkBuildable

GtkConstraintLayout implements the GtkBuildable interface and has a custom "constraints" element which allows describing constraints in a GtkBuilder UI file.

An example of a UI definition fragment specifying a constraint:

1
2
3
4
5
6
7
8
9
10
11
12
13
<object class="GtkConstraintLayout">
  <constraints>
    <constraint target="button" target-attribute="start"
                relation="eq"
                source="super" source-attribute="start"
                constant="12"
                strength="required" />
    <constraint target="button" target-attribute="width"
                relation="ge"
                constant="250"
                strength="strong" />
  </constraints>
</object>

The definition above will add two constraints to the GtkConstraintLayout:

  • a required constraint between the leading edge of "button" and the leading edge of the widget using the constraint layout, plus 12 pixels

  • a strong, constant constraint making the width of "button" greater than, or equal to 250 pixels

The "target" and "target-attribute" attributes are required.

The "source" and "source-attribute" attributes of the "constraint" element are optional; if they are not specified, the constraint is assumed to be a constant.

The "relation" attribute is optional; if not specified, the constraint is assumed to be an equality.

The "strength" attribute is optional; if not specified, the constraint is assumed to be required.

The "source" and "target" attributes can be set to "super" to indicate that the constraint target is the widget using the GtkConstraintLayout.

Additionally, the "constraints" element can also contain a description of the GtkConstraintGuides used by the layout:

1
2
3
4
<constraints>
  <guide min-width="100" max-width="500" name="hspace"/>
  <guide min-height="64" nat-height="128" name="vspace" strength="strong"/>
</constraints>

The "guide" element has the following optional attributes:

  • "min-width", "nat-width", and "max-width", describe the minimum, natural, and maximum width of the guide, respectively

  • "min-height", "nat-height", and "max-height", describe the minimum, natural, and maximum height of the guide, respectively

  • "strength" describes the strength of the constraint on the natural size of the guide; if not specified, the constraint is assumed to have a medium strength

  • "name" describes a name for the guide, useful when debugging


Using the Visual Format Language

Complex constraints can be described using a compact syntax called VFL, or *Visual Format Language*.

The Visual Format Language describes all the constraints on a row or column, typically starting from the leading edge towards the trailing one. Each element of the layout is composed by "views", which identify a GtkConstraintTarget.

For instance:

1
[button]-[textField]

Describes a constraint that binds the trailing edge of "button" to the leading edge of "textField", leaving a default space between the two.

Using VFL is also possible to specify predicates that describe constraints on attributes like width and height:

1
2
3
4
5
// Width must be greater than, or equal to 50
[button(>=50)]

// Width of button1 must be equal to width of button2
[button1(==button2)]

The default orientation for a VFL description is horizontal, unless otherwise specified:

1
2
3
4
5
// horizontal orientation, default attribute: width
H:[button(>=150)]

// vertical orientation, default attribute: height
V:[button1(==button2)]

It's also possible to specify multiple predicates, as well as their strength:

1
2
3
// minimum width of button must be 150
// natural width of button can be 250
[button(>=150@required, ==250@medium)]

Finally, it's also possible to use simple arithmetic operators:

1
2
3
// width of button1 must be equal to width of button2
// divided by 2 plus 12
[button1(button2 / 2 + 12)]

Functions

gtk_constraint_layout_new ()

GtkLayoutManager *
gtk_constraint_layout_new (void);

Creates a new GtkConstraintLayout layout manager.

Returns

the newly created GtkConstraintLayout


gtk_constraint_layout_add_constraint ()

void
gtk_constraint_layout_add_constraint (GtkConstraintLayout *layout,
                                      GtkConstraint *constraint);

Adds a GtkConstraint to the layout manager.

The “source” and “target” properties of constraint can be:

  • set to NULL to indicate that the constraint refers to the widget using layout

  • set to the GtkWidget using layout

  • set to a child of the GtkWidget using layout

  • set to a guide that is part of layout

The layout acquires the ownership of constraint after calling this function.

Parameters

layout

a GtkConstraintLayout

 

constraint

a GtkConstraint.

[transfer full]

gtk_constraint_layout_remove_constraint ()

void
gtk_constraint_layout_remove_constraint
                               (GtkConstraintLayout *layout,
                                GtkConstraint *constraint);

Removes constraint from the layout manager, so that it no longer influences the layout.

Parameters

layout

a GtkConstraintLayout

 

constraint

a GtkConstraint

 

gtk_constraint_layout_remove_all_constraints ()

void
gtk_constraint_layout_remove_all_constraints
                               (GtkConstraintLayout *layout);

Removes all constraints from the layout manager.

Parameters

layout

a GtkConstraintLayout

 

gtk_constraint_layout_add_guide ()

void
gtk_constraint_layout_add_guide (GtkConstraintLayout *layout,
                                 GtkConstraintGuide *guide);

Adds a guide to layout . A guide can be used as the source or target of constraints, like a widget, but it is not visible.

The layout acquires the ownership of guide after calling this function.

Parameters

layout

a GtkConstraintLayout

 

guide

a GtkConstraintGuide object.

[transfer full]

gtk_constraint_layout_remove_guide ()

void
gtk_constraint_layout_remove_guide (GtkConstraintLayout *layout,
                                    GtkConstraintGuide *guide);

Removes guide from the layout manager, so that it no longer influences the layout.

Parameters

layout

a GtkConstraintLayout

 

guide

a GtkConstraintGuide object

 

gtk_constraint_layout_add_constraints_from_description ()

GList *
gtk_constraint_layout_add_constraints_from_description
                               (GtkConstraintLayout *layout,
                                const char * const lines[],
                                gsize n_lines,
                                int hspacing,
                                int vspacing,
                                GError **error,
                                const char *first_view,
                                ...);

Creates a list of constraints they formal description using a compact description syntax called VFL, or "Visual Format Language".

This function is a convenience wrapper around gtk_constraint_layout_add_constraints_from_descriptionv(), using variadic arguments to populate the view/target map.

Parameters

layout

a GtkConstraintLayout

 

lines

an array of Visual Format Language lines defining a set of constraints.

[array length=n_lines]

n_lines

the number of lines

 

hspacing

default horizontal spacing value, or -1 for the fallback value

 

vspacing

default vertical spacing value, or -1 for the fallback value

 

error

return location for a GError

 

first_view

the name of a view in the VFL description, followed by the GtkConstraintTarget to which it maps

 

...

a NULL-terminated list of view names and GtkConstraintTargets

 

Returns

the list of GtkConstraints that were added to the layout.

[transfer container][element-type GtkConstraint]


gtk_constraint_layout_add_constraints_from_descriptionv ()

GList *
gtk_constraint_layout_add_constraints_from_descriptionv
                               (GtkConstraintLayout *layout,
                                const char * const lines[],
                                gsize n_lines,
                                int hspacing,
                                int vspacing,
                                GHashTable *views,
                                GError **error);

Creates a list of constraints from a formal description using a compact description syntax called VFL, or "Visual Format Language".

The Visual Format Language is based on Apple's AutoLayout VFL.

The views dictionary is used to match GtkConstraintTargets to the symbolic view name inside the VFL.

The VFL grammar is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<visualFormatString> = (<orientation>)?
                       (<superview><connection>)?
                       <view>(<connection><view>)*
                       (<connection><superview>)?
       <orientation> = 'H' | 'V'
         <superview> = '|'
        <connection> = '' | '-' <predicateList> '-' | '-'
     <predicateList> = <simplePredicate> | <predicateListWithParens>
   <simplePredicate> = <metricName> | <positiveNumber>
  <predicateListWithParens> = '(' <predicate> (',' <predicate>)* ')'
         <predicate> = (<relation>)? <objectOfPredicate> (<operatorList>)? ('@' <priority>)?
          <relation> = '==' | '<=' | '>='
 <objectOfPredicate> = <constant> | <viewName> | ('.' <attributeName>)?
          <priority> = <positiveNumber> | 'required' | 'strong' | 'medium' | 'weak'
          <constant> = <number>
      <operatorList> = (<multiplyOperator>)? (<addOperator>)?
  <multiplyOperator> = [ '*' | '/' ] <positiveNumber>
       <addOperator> = [ '+' | '-' ] <positiveNumber>
          <viewName> = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier
        <metricName> = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier
     <attributeName> = 'top' | 'bottom' | 'left' | 'right' | 'width' | 'height' |
                       'start' | 'end' | 'centerX' | 'centerY' | 'baseline'
    <positiveNumber> // A positive real number parseable by g_ascii_strtod()
            <number> // A real number parseable by g_ascii_strtod()

**Note**: The VFL grammar used by GTK is slightly different than the one defined by Apple, as it can use symbolic values for the constraint's strength instead of numeric values; additionally, GTK allows adding simple arithmetic operations inside predicates.

Examples of VFL descriptions are:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Default spacing
[button]-[textField]

// Width constraint
[button(>=50)]

// Connection to super view
|-50-[purpleBox]-50-|

// Vertical layout
V:[topField]-10-[bottomField]

// Flush views
[maroonView][blueView]

// Priority
[button(100@strong)]

// Equal widths
[button1(==button2)]

// Multiple predicates
[flexibleButton(>=70,<=100)]

// A complete line of layout
|-[find]-[findNext]-[findField(>=20)]-|

// Operators
[button1(button2 / 3 + 50)]

// Named attributes
[button1(==button2.height)]

[rename-to gtk_constraint_layout_add_constraints_from_description]

Parameters

layout

a GtkConstraintLayout

 

lines

an array of Visual Format Language lines defining a set of constraints.

[array length=n_lines]

n_lines

the number of lines

 

hspacing

default horizontal spacing value, or -1 for the fallback value

 

vspacing

default vertical spacing value, or -1 for the fallback value

 

views

a dictionary of [ name, target ] pairs; the name keys map to the view names in the VFL lines, while the target values map to children of the widget using a GtkConstraintLayout, or guides.

[element-type utf8 Gtk.ConstraintTarget]

error

return location for a GError

 

Returns

the list of GtkConstraints that were added to the layout.

[transfer container][element-type GtkConstraint]


gtk_constraint_layout_observe_constraints ()

GListModel *
gtk_constraint_layout_observe_constraints
                               (GtkConstraintLayout *layout);

Returns a GListModel to track the constraints that are part of layout .

Calling this function will enable extra internal bookkeeping to track constraints and emit signals on the returned listmodel. It may slow down operations a lot.

Applications should try hard to avoid calling this function because of the slowdowns.

Parameters

layout

a GtkConstraintLayout

 

Returns

a GListModel tracking layout 's constraints.

[transfer full][attributes element-type=GtkConstraint]


gtk_constraint_layout_observe_guides ()

GListModel *
gtk_constraint_layout_observe_guides (GtkConstraintLayout *layout);

Returns a GListModel to track the guides that are part of layout .

Calling this function will enable extra internal bookkeeping to track guides and emit signals on the returned listmodel. It may slow down operations a lot.

Applications should try hard to avoid calling this function because of the slowdowns.

Parameters

layout

a GtkConstraintLayout

 

Returns

a GListModel tracking layout 's guides.

[transfer full][attributes element-type=GtkConstraintGuide]

Types and Values

GtkConstraintLayout

typedef struct _GtkConstraintLayout GtkConstraintLayout;

A layout manager using GtkConstraint to describe relations between widgets.


GtkConstraintLayoutChild

typedef struct _GtkConstraintLayoutChild GtkConstraintLayoutChild;

A GtkLayoutChild in a GtkConstraintLayout.


enum GtkConstraintVflParserError

Domain for VFL parsing errors.

Members

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL

Invalid or unknown symbol

 

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE

Invalid or unknown attribute

 

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW

Invalid or unknown view

 

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC

Invalid or unknown metric

 

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY

Invalid or unknown priority

 

GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION

Invalid or unknown relation

 
docs/reference/gtk/html/GtkActionable.html0000664000175000017500000006167713710700533020742 0ustar mclasenmclasen GtkActionable: GTK 4 Reference Manual

GtkActionable

GtkActionable — An interface for widgets that can be associated with actions

Properties

gchar * action-name Read / Write
GVariant * action-target Read / Write

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkActionable

Prerequisites

GtkActionable requires GtkWidget.

Known Implementations

GtkActionable is implemented by GtkButton, GtkCheckButton, GtkLinkButton, GtkListBoxRow, GtkLockButton, GtkRadioButton, GtkSwitch and GtkToggleButton.

Includes

#include <gtk/gtk.h>

Description

This interface provides a convenient way of associating widgets with actions on a GtkApplicationWindow or GtkApplication.

It primarily consists of two properties: “action-name” and “action-target”. There are also some convenience APIs for setting these properties.

The action will be looked up in action groups that are found among the widgets ancestors. Most commonly, these will be the actions with the “win.” or “app.” prefix that are associated with the GtkApplicationWindow or GtkApplication, but other action groups that are added with gtk_widget_insert_action_group() will be consulted as well.

Functions

gtk_actionable_get_action_name ()

const char *
gtk_actionable_get_action_name (GtkActionable *actionable);

Gets the action name for actionable .

See gtk_actionable_set_action_name() for more information.

Parameters

actionable

a GtkActionable widget

 

Returns

the action name, or NULL if none is set.

[nullable]


gtk_actionable_set_action_name ()

void
gtk_actionable_set_action_name (GtkActionable *actionable,
                                const char *action_name);

Specifies the name of the action with which this widget should be associated. If action_name is NULL then the widget will be unassociated from any previous action.

Usually this function is used when the widget is located (or will be located) within the hierarchy of a GtkApplicationWindow.

Names are of the form “win.save” or “app.quit” for actions on the containing GtkApplicationWindow or its associated GtkApplication, respectively. This is the same form used for actions in the GMenu associated with the window.

Parameters

actionable

a GtkActionable widget

 

action_name

an action name, or NULL.

[nullable]

gtk_actionable_get_action_target_value ()

GVariant *
gtk_actionable_get_action_target_value
                               (GtkActionable *actionable);

Gets the current target value of actionable .

See gtk_actionable_set_action_target_value() for more information.

Parameters

actionable

a GtkActionable widget

 

Returns

the current target value.

[transfer none]


gtk_actionable_set_action_target_value ()

void
gtk_actionable_set_action_target_value
                               (GtkActionable *actionable,
                                GVariant *target_value);

Sets the target value of an actionable widget.

If target_value is NULL then the target value is unset.

The target value has two purposes. First, it is used as the parameter to activation of the action associated with the GtkActionable widget. Second, it is used to determine if the widget should be rendered as “active” — the widget is active if the state is equal to the given target.

Consider the example of associating a set of buttons with a GAction with string state in a typical “radio button” situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate the action with the target of that button, which will typically cause the action’s state to change to that value. Since the action’s state is now equal to the target value of the button, the button will now be rendered as active (and the other buttons, with different targets, rendered inactive).

Parameters

actionable

a GtkActionable widget

 

target_value

a GVariant to set as the target value, or NULL.

[nullable]

gtk_actionable_set_action_target ()

void
gtk_actionable_set_action_target (GtkActionable *actionable,
                                  const char *format_string,
                                  ...);

Sets the target of an actionable widget.

This is a convenience function that calls g_variant_new() for format_string and uses the result to call gtk_actionable_set_action_target_value().

If you are setting a string-valued target and want to set the action name at the same time, you can use gtk_actionable_set_detailed_action_name().

Parameters

actionable

a GtkActionable widget

 

format_string

a GVariant format string

 

...

arguments appropriate for format_string

 

gtk_actionable_set_detailed_action_name ()

void
gtk_actionable_set_detailed_action_name
                               (GtkActionable *actionable,
                                const char *detailed_action_name);

Sets the action-name and associated string target value of an actionable widget.

detailed_action_name is a string in the format accepted by g_action_parse_detailed_name().

(Note that prior to version 3.22.25, this function is only usable for actions with a simple "s" target, and detailed_action_name must be of the form "action::target" where action is the action name and target is the string to use as the target.)

Parameters

actionable

a GtkActionable widget

 

detailed_action_name

the detailed action name

 

Types and Values

GtkActionable

typedef struct _GtkActionable GtkActionable;

An opaque pointer type.


struct GtkActionableInterface

struct GtkActionableInterface {
  const char * (* get_action_name)             (GtkActionable *actionable);
  void          (* set_action_name)             (GtkActionable *actionable,
                                                 const char    *action_name);
  GVariant *    (* get_action_target_value)     (GtkActionable *actionable);
  void          (* set_action_target_value)     (GtkActionable *actionable,
                                                 GVariant      *target_value);
};

The interface vtable for GtkActionable.

Members

get_action_name ()

virtual function for gtk_actionable_get_action_name()

 

set_action_name ()

virtual function for gtk_actionable_set_action_name()

 

get_action_target_value ()

virtual function for gtk_actionable_get_action_target_value()

 

set_action_target_value ()

virtual function for gtk_actionable_set_action_target_value()

 

Property Details

The “action-name” property

  “action-name”              gchar *

The name of the associated action, like “app.quit”.

Owner: GtkActionable

Flags: Read / Write

Default value: NULL


The “action-target” property

  “action-target”            GVariant *

The parameter for action invocations.

Owner: GtkActionable

Flags: Read / Write

Allowed values: GVariant<*>

Default value: NULL

docs/reference/gtk/html/GtkCssProvider.html0000664000175000017500000013637413710700533021141 0ustar mclasenmclasen GtkCssProvider: GTK 4 Reference Manual

GtkCssProvider

GtkCssProvider — CSS-like styling for widgets

Signals

void parsing-error Run Last

Object Hierarchy

    GBoxed
    ╰── GtkCssSection
    GObject
    ╰── GtkCssProvider

Implemented Interfaces

GtkCssProvider implements GtkStyleProvider.

Includes

#include <gtk/gtk.h>

Description

GtkCssProvider is an object implementing the GtkStyleProvider interface. It is able to parse CSS-like input in order to style widgets.

An application can make GTK parse a specific CSS style sheet by calling gtk_css_provider_load_from_file() or gtk_css_provider_load_from_resource() and adding the provider with gtk_style_context_add_provider() or gtk_style_context_add_provider_for_display().

In addition, certain files will be read when GTK is initialized. First, the file $XDG_CONFIG_HOME/gtk-4.0/gtk.css is loaded if it exists. Then, GTK loads the first existing file among XDG_DATA_HOME/themes/THEME/gtk-VERSION/gtk-VARIANT.css, $HOME/.themes/THEME/gtk-VERSION/gtk-VARIANT.css, $XDG_DATA_DIRS/themes/THEME/gtk-VERSION/gtk-VARIANT.css and DATADIR/share/themes/THEME/gtk-VERSION/gtk-VARIANT.css, where THEME is the name of the current theme (see the “gtk-theme-name” setting), VARIANT is the variant to load (see the “gtk-application-prefer-dark-theme” setting), DATADIR is the prefix configured when GTK was compiled (unless overridden by the GTK_DATA_PREFIX environment variable), and VERSION is the GTK version number. If no file is found for the current version, GTK tries older versions all the way back to 4.0.

Functions

gtk_css_provider_load_named ()

void
gtk_css_provider_load_named (GtkCssProvider *provider,
                             const char *name,
                             const char *variant);

Loads a theme from the usual theme paths. The actual process of finding the theme might change between releases, but it is guaranteed that this function uses the same mechanism to load the theme that GTK uses for loading its own theme.

Parameters

provider

a GtkCssProvider

 

name

A theme name

 

variant

variant to load, for example, "dark", or NULL for the default.

[allow-none]

gtk_css_provider_load_from_data ()

void
gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
                                 const char *data,
                                 gssize length);

Loads data into css_provider , and by doing so clears any previously loaded information.

Parameters

css_provider

a GtkCssProvider

 

data

CSS data loaded in memory.

[array length=length][element-type guint8]

length

the length of data in bytes, or -1 for NUL terminated strings. If length is not -1, the code will assume it is not NUL terminated and will potentially do a copy.

 

gtk_css_provider_load_from_file ()

void
gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
                                 GFile *file);

Loads the data contained in file into css_provider , making it clear any previously loaded information.

Parameters

css_provider

a GtkCssProvider

 

file

GFile pointing to a file to load

 

gtk_css_provider_load_from_path ()

void
gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
                                 const char *path);

Loads the data contained in path into css_provider , making it clear any previously loaded information.

Parameters

css_provider

a GtkCssProvider

 

path

the path of a filename to load, in the GLib filename encoding

 

gtk_css_provider_load_from_resource ()

void
gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
                                     const char *resource_path);

Loads the data contained in the resource at resource_path into the GtkCssProvider, clearing any previously loaded information.

To track errors while loading CSS, connect to the “parsing-error” signal.

Parameters

css_provider

a GtkCssProvider

 

resource_path

a GResource resource path

 

gtk_css_provider_new ()

GtkCssProvider *
gtk_css_provider_new (void);

Returns a newly created GtkCssProvider.

Returns

A new GtkCssProvider


gtk_css_provider_to_string ()

char *
gtk_css_provider_to_string (GtkCssProvider *provider);

Converts the provider into a string representation in CSS format.

Using gtk_css_provider_load_from_data() with the return value from this function on a new provider created with gtk_css_provider_new() will basically create a duplicate of this provider .

Parameters

provider

the provider to write to a string

 

Returns

a new string representing the provider .


gtk_css_section_new ()

GtkCssSection *
gtk_css_section_new (GFile *file,
                     const GtkCssLocation *start,
                     const GtkCssLocation *end);

Creates a new GtkCssSection referring to the section in the given file from the start location to the end location.

[constructor]

Parameters

file

The file this section refers to.

[nullable][transfer none]

start

The start location

 

end

The end location

 

Returns

a new GtkCssSection


gtk_css_section_ref ()

GtkCssSection *
gtk_css_section_ref (GtkCssSection *section);

Increments the reference count on section .

Parameters

section

a GtkCssSection

 

Returns

section itself.


gtk_css_section_unref ()

void
gtk_css_section_unref (GtkCssSection *section);

Decrements the reference count on section , freeing the structure if the reference count reaches 0.

Parameters

section

a GtkCssSection

 

gtk_css_section_print ()

void
gtk_css_section_print (const GtkCssSection *section,
                       GString *string);

Prints the section into string in a human-readable form. This is a form like gtk.css:32:1-23 to denote line 32, characters 1 to 23 in the file gtk.css.

Parameters

section

a section

 

string

a GString to print to

 

gtk_css_section_to_string ()

char *
gtk_css_section_to_string (const GtkCssSection *section);

Prints the section into a human-readable text form using gtk_css_section_print().

Parameters

section

a GtkCssSection

 

Returns

A new string.

[transfer full]


gtk_css_section_get_file ()

GFile *
gtk_css_section_get_file (const GtkCssSection *section);

Gets the file that section was parsed from. If no such file exists, for example because the CSS was loaded via gtk_css_provider_load_from_data() , then NULL is returned.

Parameters

section

the section

 

Returns

the GFile that section was parsed from or NULL if section was parsed from other data.

[transfer none]


gtk_css_section_get_parent ()

GtkCssSection *
gtk_css_section_get_parent (const GtkCssSection *section);

Gets the parent section for the given section . The parent section is the section that contains this section . A special case are sections of type GTK_CSS_SECTION_DOCUMENT. Their parent will either be NULL if they are the original CSS document that was loaded by gtk_css_provider_load_from_file() or a section of type GTK_CSS_SECTION_IMPORT if it was loaded with an import rule from a different file.

Parameters

section

the section

 

Returns

the parent section or NULL if none.

[nullable][transfer none]


gtk_css_section_get_start_location ()

const GtkCssLocation *
gtk_css_section_get_start_location (const GtkCssSection *section);

Returns the location in the CSS document where this section starts.

Parameters

section

the section

 

Returns

The start location of this section.

[transfer none][not nullable]


gtk_css_section_get_end_location ()

const GtkCssLocation *
gtk_css_section_get_end_location (const GtkCssSection *section);

Returns the location in the CSS document where this section ends.

Parameters

section

the section

 

Returns

The end location of this section.

[transfer none][not nullable]

Types and Values

struct GtkCssProvider

struct GtkCssProvider;

GTK_CSS_PARSER_ERROR

#define GTK_CSS_PARSER_ERROR (gtk_css_parser_error_quark ())

Domain for GtkCssParser errors.


enum GtkCssParserError

Errors that can occur while parsing CSS.

These errors are unexpected and will cause parts of the given CSS to be ignored.

Members

GTK_CSS_PARSER_ERROR_FAILED

Unknown failure.

 

GTK_CSS_PARSER_ERROR_SYNTAX

The given text does not form valid syntax

 

GTK_CSS_PARSER_ERROR_IMPORT

Failed to import a resource

 

GTK_CSS_PARSER_ERROR_NAME

The given name has not been defined

 

GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE

The given value is not correct

 

enum GtkCssParserWarning

Warnings that can occur while parsing CSS.

Unlike GtkCssParserErrors, warnings do not cause the parser to skip any input, but they indicate issues that should be fixed.

Members

GTK_CSS_PARSER_WARNING_DEPRECATED

The given construct is deprecated and will be removed in a future version

 

GTK_CSS_PARSER_WARNING_SYNTAX

A syntax construct was used that should be avoided

 

GTK_CSS_PARSER_WARNING_UNIMPLEMENTED

A feature is not implemented

 

struct GtkCssLocation

struct GtkCssLocation {
  gsize                  bytes;
  gsize                  chars;
  gsize                  lines;
  gsize                  line_bytes;
  gsize                  line_chars;
};

GtkCssLocation is used to present a location in a file - or other source of data parsed by the CSS engine.

The bytes and line_bytes offsets are meant to be used to programmatically match data. The lines and line_chars offsets can be used for printing the location in a file.

Note that the lines parameter starts from 0 and is increased whenever a CSS line break is encountered. (CSS defines the C character sequences "\r\n", "\r", "\n" and "\f" as newlines.) If your document uses different rules for line breaking, you might want run into problems here.

Members

gsize bytes;

number of bytes parsed since the beginning

 

gsize chars;

number of characters parsed since the beginning

 

gsize lines;

number of full lines that have been parsed If you want to display this as a line number, you need to add 1 to this.

 

gsize line_bytes;

Number of bytes parsed since the last line break

 

gsize line_chars;

Number of characters parsed since the last line break

 

GtkCssSection

typedef struct _GtkCssSection GtkCssSection;

Defines a part of a CSS document. Because sections are nested into one another, you can use gtk_css_section_get_parent() to get the containing region.

Signal Details

The “parsing-error” signal

void
user_function (GtkCssProvider *provider,
               GtkCssSection  *section,
               GError         *error,
               gpointer        user_data)

Signals that a parsing error occurred. the path , line and position describe the actual location of the error as accurately as possible.

Parsing errors are never fatal, so the parsing will resume after the error. Errors may however cause parts of the given data or even all of it to not be parsed at all. So it is a useful idea to check that the parsing succeeds by connecting to this signal.

Note that this signal may be emitted at any time as the css provider may opt to defer parsing parts or all of the input to a later time than when a loading function was called.

Parameters

provider

the provider that had a parsing error

 

section

section the error happened in

 

error

The parsing error

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkAdjustment.html0000664000175000017500000012767013710700533021013 0ustar mclasenmclasen GtkAdjustment: GTK 4 Reference Manual

GtkAdjustment

GtkAdjustment — A representation of an adjustable bounded value

Properties

gdouble lower Read / Write
gdouble page-increment Read / Write
gdouble page-size Read / Write
gdouble step-increment Read / Write
gdouble upper Read / Write
gdouble value Read / Write

Signals

void changed No Recursion
void value-changed No Recursion

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkAdjustment

Includes

#include <gtk/gtk.h>

Description

The GtkAdjustment object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several GTK+ widgets, including GtkSpinButton, GtkViewport, and GtkRange (which is a base class for GtkScrollbar and GtkScale).

The GtkAdjustment object does not update the value itself. Instead it is left up to the owner of the GtkAdjustment to control the value.

Functions

gtk_adjustment_new ()

GtkAdjustment *
gtk_adjustment_new (double value,
                    double lower,
                    double upper,
                    double step_increment,
                    double page_increment,
                    double page_size);

Creates a new GtkAdjustment.

Parameters

value

the initial value

 

lower

the minimum value

 

upper

the maximum value

 

step_increment

the step increment

 

page_increment

the page increment

 

page_size

the page size

 

Returns

a new GtkAdjustment


gtk_adjustment_get_value ()

double
gtk_adjustment_get_value (GtkAdjustment *adjustment);

Gets the current value of the adjustment. See gtk_adjustment_set_value().

Parameters

adjustment

a GtkAdjustment

 

Returns

The current value of the adjustment


gtk_adjustment_set_value ()

void
gtk_adjustment_set_value (GtkAdjustment *adjustment,
                          double value);

Sets the GtkAdjustment value. The value is clamped to lie between “lower” and “upper”.

Note that for adjustments which are used in a GtkScrollbar, the effective range of allowed values goes from “lower” to “upper” - “page-size”.

Parameters

adjustment

a GtkAdjustment

 

value

the new value

 

gtk_adjustment_clamp_page ()

void
gtk_adjustment_clamp_page (GtkAdjustment *adjustment,
                           double lower,
                           double upper);

Updates the “value” property to ensure that the range between lower and upper is in the current page (i.e. between “value” and “value” + “page-size”). If the range is larger than the page size, then only the start of it will be in the current page.

A “value-changed” signal will be emitted if the value is changed.

Parameters

adjustment

a GtkAdjustment

 

lower

the lower value

 

upper

the upper value

 

gtk_adjustment_configure ()

void
gtk_adjustment_configure (GtkAdjustment *adjustment,
                          double value,
                          double lower,
                          double upper,
                          double step_increment,
                          double page_increment,
                          double page_size);

Sets all properties of the adjustment at once.

Use this function to avoid multiple emissions of the “changed” signal. See gtk_adjustment_set_lower() for an alternative way of compressing multiple emissions of “changed” into one.

Parameters

adjustment

a GtkAdjustment

 

value

the new value

 

lower

the new minimum value

 

upper

the new maximum value

 

step_increment

the new step increment

 

page_increment

the new page increment

 

page_size

the new page size

 

gtk_adjustment_get_lower ()

double
gtk_adjustment_get_lower (GtkAdjustment *adjustment);

Retrieves the minimum value of the adjustment.

Parameters

adjustment

a GtkAdjustment

 

Returns

The current minimum value of the adjustment


gtk_adjustment_get_page_increment ()

double
gtk_adjustment_get_page_increment (GtkAdjustment *adjustment);

Retrieves the page increment of the adjustment.

Parameters

adjustment

a GtkAdjustment

 

Returns

The current page increment of the adjustment


gtk_adjustment_get_page_size ()

double
gtk_adjustment_get_page_size (GtkAdjustment *adjustment);

Retrieves the page size of the adjustment.

Parameters

adjustment

a GtkAdjustment

 

Returns

The current page size of the adjustment


gtk_adjustment_get_step_increment ()

double
gtk_adjustment_get_step_increment (GtkAdjustment *adjustment);

Retrieves the step increment of the adjustment.

Parameters

adjustment

a GtkAdjustment

 

Returns

The current step increment of the adjustment.


gtk_adjustment_get_minimum_increment ()

double
gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment);

Gets the smaller of step increment and page increment.

Parameters

adjustment

a GtkAdjustment

 

Returns

the minimum increment of adjustment


gtk_adjustment_get_upper ()

double
gtk_adjustment_get_upper (GtkAdjustment *adjustment);

Retrieves the maximum value of the adjustment.

Parameters

adjustment

a GtkAdjustment

 

Returns

The current maximum value of the adjustment


gtk_adjustment_set_lower ()

void
gtk_adjustment_set_lower (GtkAdjustment *adjustment,
                          double lower);

Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual setters, multiple “changed” signals will be emitted. However, since the emission of the “changed” signal is tied to the emission of the “notify” signals of the changed properties, it’s possible to compress the “changed” signals into one by calling g_object_freeze_notify() and g_object_thaw_notify() around the calls to the individual setters.

Alternatively, using a single g_object_set() for all the properties to change, or using gtk_adjustment_configure() has the same effect of compressing “changed” emissions.

Parameters

adjustment

a GtkAdjustment

 

lower

the new minimum value

 

gtk_adjustment_set_page_increment ()

void
gtk_adjustment_set_page_increment (GtkAdjustment *adjustment,
                                   double page_increment);

Sets the page increment of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties.

Parameters

adjustment

a GtkAdjustment

 

page_increment

the new page increment

 

gtk_adjustment_set_page_size ()

void
gtk_adjustment_set_page_size (GtkAdjustment *adjustment,
                              double page_size);

Sets the page size of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple emissions of the GtkAdjustment::changed signal when setting multiple adjustment properties.

Parameters

adjustment

a GtkAdjustment

 

page_size

the new page size

 

gtk_adjustment_set_step_increment ()

void
gtk_adjustment_set_step_increment (GtkAdjustment *adjustment,
                                   double step_increment);

Sets the step increment of the adjustment.

See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties.

Parameters

adjustment

a GtkAdjustment

 

step_increment

the new step increment

 

gtk_adjustment_set_upper ()

void
gtk_adjustment_set_upper (GtkAdjustment *adjustment,
                          double upper);

Sets the maximum value of the adjustment.

Note that values will be restricted by upper - page-size if the page-size property is nonzero.

See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties.

Parameters

adjustment

a GtkAdjustment

 

upper

the new maximum value

 

Types and Values

GtkAdjustment

typedef struct _GtkAdjustment GtkAdjustment;

The GtkAdjustment contains only private fields and should not be directly accessed.

Property Details

The “lower” property

  “lower”                    gdouble

The minimum value of the adjustment.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0


The “page-increment” property

  “page-increment”           gdouble

The page increment of the adjustment.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0


The “page-size” property

  “page-size”                gdouble

The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a GtkSpinButton.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0


The “step-increment” property

  “step-increment”           gdouble

The step increment of the adjustment.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0


The “upper” property

  “upper”                    gdouble

The maximum value of the adjustment. Note that values will be restricted by upper - page-size if the page-size property is nonzero.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0


The “value” property

  “value”                    gdouble

The value of the adjustment.

Owner: GtkAdjustment

Flags: Read / Write

Default value: 0

Signal Details

The “changed” signal

void
user_function (GtkAdjustment *adjustment,
               gpointer       user_data)

Emitted when one or more of the GtkAdjustment properties have been changed, other than the “value” property.

Parameters

adjustment

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: No Recursion


The “value-changed” signal

void
user_function (GtkAdjustment *adjustment,
               gpointer       user_data)

Emitted when the “value” property has been changed.

Parameters

adjustment

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: No Recursion

docs/reference/gtk/html/GtkCustomFilter.html0000664000175000017500000002766413710700533021317 0ustar mclasenmclasen GtkCustomFilter: GTK 4 Reference Manual

GtkCustomFilter

GtkCustomFilter — Filtering with callbacks

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilter
        ╰── GtkCustomFilter

Includes

#include <gtk/gtk.h>

Description

GtkCustomFilter is a GtkFilter that uses a callback to determine whether to include an item or not.

Functions

GtkCustomFilterFunc ()

gboolean
(*GtkCustomFilterFunc) (gpointer item,
                        gpointer user_data);

User function that is called to determine if the item should be matched. If the filter matches the item, this function must return TRUE. If the item should be filtered out, FALSE must be returned.

Parameters

item

The item to be matched.

[type GObject]

user_data

user data

 

Returns

TRUE to keep the item around


gtk_custom_filter_new ()

GtkFilter *
gtk_custom_filter_new (GtkCustomFilterFunc match_func,
                       gpointer user_data,
                       GDestroyNotify user_destroy);

Creates a new filter using the given match_func to filter items.

If match_func is NULL, the filter matches all items.

If the filter func changes its filtering behavior, gtk_filter_changed() needs to be called.

Parameters

match_func

function to filter items.

[nullable]

user_data

user data to pass to match_func .

[nullable]

user_destroy

destroy notify for user_data

 

Returns

a new GtkFilter


gtk_custom_filter_set_filter_func ()

void
gtk_custom_filter_set_filter_func (GtkCustomFilter *self,
                                   GtkCustomFilterFunc match_func,
                                   gpointer user_data,
                                   GDestroyNotify user_destroy);

Sets (or unsets) the function used for filtering items.

If match_func is NULL, the filter matches all items.

If the filter func changes its filtering behavior, gtk_filter_changed() needs to be called.

If a previous function was set, its user_destroy will be called now.

Parameters

self

a GtkCustomFilter

 

match_func

function to filter items.

[nullable]

user_data

user data to pass to match_func .

[nullable]

user_destroy

destroy notify for user_data

 

Types and Values

GtkCustomFilter

typedef struct _GtkCustomFilter GtkCustomFilter;
docs/reference/gtk/html/GtkAppChooser.html0000664000175000017500000003064213710700533020730 0ustar mclasenmclasen GtkAppChooser: GTK 4 Reference Manual

GtkAppChooser

GtkAppChooser — Interface implemented by widgets for choosing an application

Properties

gchar * content-type Read / Write / Construct Only

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkAppChooser

Prerequisites

GtkAppChooser requires GtkWidget.

Known Implementations

GtkAppChooser is implemented by GtkAppChooserButton, GtkAppChooserDialog and GtkAppChooserWidget.

Includes

#include <gtk/gtk.h>

Description

GtkAppChooser is an interface that can be implemented by widgets which allow the user to choose an application (typically for the purpose of opening a file). The main objects that implement this interface are GtkAppChooserWidget, GtkAppChooserDialog and GtkAppChooserButton.

Applications are represented by GIO GAppInfo objects here. GIO has a concept of recommended and fallback applications for a given content type. Recommended applications are those that claim to handle the content type itself, while fallback also includes applications that handle a more generic content type. GIO also knows the default and last-used application for a given content type. The GtkAppChooserWidget provides detailed control over whether the shown list of applications should include default, recommended or fallback applications.

To obtain the application that has been selected in a GtkAppChooser, use gtk_app_chooser_get_app_info().

Functions

gtk_app_chooser_get_app_info ()

GAppInfo *
gtk_app_chooser_get_app_info (GtkAppChooser *self);

Returns the currently selected application.

Parameters

self

a GtkAppChooser

 

Returns

a GAppInfo for the currently selected application, or NULL if none is selected. Free with g_object_unref().

[nullable][transfer full]


gtk_app_chooser_get_content_type ()

char *
gtk_app_chooser_get_content_type (GtkAppChooser *self);

Returns the current value of the “content-type” property.

Parameters

self

a GtkAppChooser

 

Returns

the content type of self . Free with g_free()


gtk_app_chooser_refresh ()

void
gtk_app_chooser_refresh (GtkAppChooser *self);

Reloads the list of applications.

Parameters

self

a GtkAppChooser

 

Types and Values

GtkAppChooser

typedef struct _GtkAppChooser GtkAppChooser;

Property Details

The “content-type” property

  “content-type”             gchar *

The content type of the GtkAppChooser object.

See GContentType for more information about content types.

Owner: GtkAppChooser

Flags: Read / Write / Construct Only

Default value: NULL

See Also

GAppInfo

docs/reference/gtk/html/GtkCustomSorter.html0000664000175000017500000002322513710700533021335 0ustar mclasenmclasen GtkCustomSorter: GTK 4 Reference Manual

GtkCustomSorter

GtkCustomSorter — Sorting with a callbacks

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSorter
        ╰── GtkCustomSorter

Includes

#include <gtk/gtk.h>

Description

GtkCustomSorter is a GtkSorter implementation that sorts via a traditional GCompareDataFunc callback.

Functions

gtk_custom_sorter_new ()

GtkSorter *
gtk_custom_sorter_new (GCompareDataFunc sort_func,
                       gpointer user_data,
                       GDestroyNotify user_destroy);

Creates a new GtkSorter that works by calling sort_func to compare items.

If sort_func is NULL, all items are considered equal.

Parameters

sort_func

the GCompareDataFunc to use for sorting

 

user_data

user data to pass to sort_func .

[nullable]

user_destroy

destroy notify for user_data .

[nullable]

Returns

a new GtkSorter


gtk_custom_sorter_set_sort_func ()

void
gtk_custom_sorter_set_sort_func (GtkCustomSorter *self,
                                 GCompareDataFunc sort_func,
                                 gpointer user_data,
                                 GDestroyNotify user_destroy);

Sets (or unsets) the function used for sorting items.

If sort_func is NULL, all items are considered equal.

If the sort func changes its sorting behavior, gtk_sorter_changed() needs to be called.

If a previous function was set, its user_destroy will be called now.

Parameters

self

a GtkCustomSorter

 

sort_func

function to sort items.

[nullable]

user_data

user data to pass to match_func .

[nullable]

user_destroy

destroy notify for user_data

 

Types and Values

GtkCustomSorter

typedef struct _GtkCustomSorter GtkCustomSorter;
docs/reference/gtk/html/GtkAppChooserButton.html0000664000175000017500000010636513710700533022132 0ustar mclasenmclasen GtkAppChooserButton: GTK 4 Reference Manual

GtkAppChooserButton

GtkAppChooserButton — A button to launch an application chooser dialog

Properties

gchar * heading Read / Write
gboolean modal Read / Write / Construct
gboolean show-default-item Read / Write / Construct
gboolean show-dialog-item Read / Write / Construct

Signals

void changed Run Last
void custom-item-activated Has Details

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkAppChooserButton

Implemented Interfaces

GtkAppChooserButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkAppChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkAppChooserButton is a widget that lets the user select an application. It implements the GtkAppChooser interface.

Initially, a GtkAppChooserButton selects the first application in its list, which will either be the most-recently used application or, if “show-default-item” is TRUE, the default application.

The list of applications shown in a GtkAppChooserButton includes the recommended applications for the given content type. When “show-default-item” is set, the default application is also included. To let the user chooser other applications, you can set the “show-dialog-item” property, which allows to open a full GtkAppChooserDialog.

It is possible to add custom items to the list, using gtk_app_chooser_button_append_custom_item(). These items cause the “custom-item-activated” signal to be emitted when they are selected.

To track changes in the selected application, use the “changed” signal.

Functions

gtk_app_chooser_button_new ()

GtkWidget *
gtk_app_chooser_button_new (const char *content_type);

Creates a new GtkAppChooserButton for applications that can handle content of the given type.

Parameters

content_type

the content type to show applications for

 

Returns

a newly created GtkAppChooserButton


gtk_app_chooser_button_append_custom_item ()

void
gtk_app_chooser_button_append_custom_item
                               (GtkAppChooserButton *self,
                                const char *name,
                                const char *label,
                                GIcon *icon);

Appends a custom item to the list of applications that is shown in the popup; the item name must be unique per-widget. Clients can use the provided name as a detail for the “custom-item-activated” signal, to add a callback for the activation of a particular custom item in the list. See also gtk_app_chooser_button_append_separator().

Parameters

self

a GtkAppChooserButton

 

name

the name of the custom item

 

label

the label for the custom item

 

icon

the icon for the custom item

 

gtk_app_chooser_button_append_separator ()

void
gtk_app_chooser_button_append_separator
                               (GtkAppChooserButton *self);

Appends a separator to the list of applications that is shown in the popup.

Parameters


gtk_app_chooser_button_set_active_custom_item ()

void
gtk_app_chooser_button_set_active_custom_item
                               (GtkAppChooserButton *self,
                                const char *name);

Selects a custom item previously added with gtk_app_chooser_button_append_custom_item().

Use gtk_app_chooser_refresh() to bring the selection to its initial state.

Parameters

self

a GtkAppChooserButton

 

name

the name of the custom item

 

gtk_app_chooser_button_get_show_default_item ()

gboolean
gtk_app_chooser_button_get_show_default_item
                               (GtkAppChooserButton *self);

Returns the current value of the “show-default-item” property.

Parameters

Returns

the value of “show-default-item”


gtk_app_chooser_button_set_show_default_item ()

void
gtk_app_chooser_button_set_show_default_item
                               (GtkAppChooserButton *self,
                                gboolean setting);

Sets whether the dropdown menu of this button should show the default application for the given content type at top.

Parameters

self

a GtkAppChooserButton

 

setting

the new value for “show-default-item”

 

gtk_app_chooser_button_get_show_dialog_item ()

gboolean
gtk_app_chooser_button_get_show_dialog_item
                               (GtkAppChooserButton *self);

Returns the current value of the “show-dialog-item” property.

Parameters

Returns

the value of “show-dialog-item”


gtk_app_chooser_button_set_show_dialog_item ()

void
gtk_app_chooser_button_set_show_dialog_item
                               (GtkAppChooserButton *self,
                                gboolean setting);

Sets whether the dropdown menu of this button should show an entry to trigger a GtkAppChooserDialog.

Parameters

self

a GtkAppChooserButton

 

setting

the new value for “show-dialog-item”

 

gtk_app_chooser_button_get_heading ()

const char *
gtk_app_chooser_button_get_heading (GtkAppChooserButton *self);

Returns the text to display at the top of the dialog.

Parameters

Returns

the text to display at the top of the dialog, or NULL, in which case a default text is displayed.

[nullable]


gtk_app_chooser_button_set_heading ()

void
gtk_app_chooser_button_set_heading (GtkAppChooserButton *self,
                                    const char *heading);

Sets the text to display at the top of the dialog. If the heading is not set, the dialog displays a default text.

Parameters

self

a GtkAppChooserButton

 

heading

a string containing Pango markup

 

gtk_app_chooser_button_get_modal ()

gboolean
gtk_app_chooser_button_get_modal (GtkAppChooserButton *self);

Gets whether the dialog is modal.

Parameters

Returns

TRUE if the dialog is modal


gtk_app_chooser_button_set_modal ()

void
gtk_app_chooser_button_set_modal (GtkAppChooserButton *self,
                                  gboolean modal);

Sets whether the dialog should be modal.

Parameters

self

a GtkAppChooserButton

 

modal

TRUE to make the dialog modal

 

Types and Values

GtkAppChooserButton

typedef struct _GtkAppChooserButton GtkAppChooserButton;

Property Details

The “heading” property

  “heading”                  gchar *

The text to show at the top of the dialog that can be opened from the button. The string may contain Pango markup.

Owner: GtkAppChooserButton

Flags: Read / Write

Default value: NULL


The “modal” property

  “modal”                    gboolean

Whether the dialog should be modal.

Owner: GtkAppChooserButton

Flags: Read / Write / Construct

Default value: TRUE


The “show-default-item” property

  “show-default-item”        gboolean

The “show-default-item” property determines whether the dropdown menu should show the default application on top for the provided content type.

Owner: GtkAppChooserButton

Flags: Read / Write / Construct

Default value: FALSE


The “show-dialog-item” property

  “show-dialog-item”         gboolean

The “show-dialog-item” property determines whether the dropdown menu should show an item that triggers a GtkAppChooserDialog when clicked.

Owner: GtkAppChooserButton

Flags: Read / Write / Construct

Default value: FALSE

Signal Details

The “changed” signal

void
user_function (GtkAppChooserButton *appchooserbutton,
               gpointer             user_data)

Flags: Run Last


The “custom-item-activated” signal

void
user_function (GtkAppChooserButton *self,
               gchar               *item_name,
               gpointer             user_data)

Emitted when a custom item, previously added with gtk_app_chooser_button_append_custom_item(), is activated from the dropdown menu.

Parameters

self

the object which received the signal

 

item_name

the name of the activated item

 

user_data

user data set when the signal handler was connected.

 

Flags: Has Details

docs/reference/gtk/html/GtkDialog.html0000664000175000017500000016462613710700533020076 0ustar mclasenmclasen GtkDialog: GTK 4 Reference Manual

GtkDialog

GtkDialog — Create popup windows

Properties

gint use-header-bar Read / Write / Construct Only

Signals

void close Action
void response Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ├── GtkAboutDialog
                    ├── GtkAppChooserDialog
                    ├── GtkColorChooserDialog
                    ├── GtkFileChooserDialog
                    ├── GtkFontChooserDialog
                    ├── GtkMessageDialog
                    ├── GtkPageSetupUnixDialog
                    ╰── GtkPrintUnixDialog

Implemented Interfaces

GtkDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

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.

GTK+ treats a dialog as a window split vertically. The top section is a GtkBox, and is where widgets such as a GtkLabel or a GtkEntry should be packed. The bottom area is known as the “action area”. This is generally used for packing buttons into the dialog which may perform functions such as cancel, ok, or apply.

GtkDialog boxes are created with a call to gtk_dialog_new() or gtk_dialog_new_with_buttons(). gtk_dialog_new_with_buttons() is recommended; it allows you to set the dialog title, some convenient flags, and add simple buttons.

A “modal” dialog (that is, one which freezes the rest of the application from user input), can be created by calling gtk_window_set_modal() on the dialog. Use the GTK_WINDOW() macro to cast the widget returned from gtk_dialog_new() into a GtkWindow. When using gtk_dialog_new_with_buttons() you can also pass the GTK_DIALOG_MODAL flag to make a dialog modal.

If you add buttons to GtkDialog using gtk_dialog_new_with_buttons(), gtk_dialog_add_button(), gtk_dialog_add_buttons(), or gtk_dialog_add_action_widget(), clicking the button will emit a signal called “response” with a response ID that you 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 GtkResponseType enumeration (these all have values less than zero). If a dialog receives a delete event, the “response” signal will be emitted with a response ID of GTK_RESPONSE_DELETE_EVENT.

For the simple dialog in the following example, in reality you’d probably use GtkMessageDialog 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.

An example for simple GtkDialog usage:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Function to open a dialog box with a message
void
quick_message (GtkWindow *parent, char *message)
{
 GtkWidget *dialog, *label, *content_area;
 GtkDialogFlags flags;

 // Create the widgets
 flags = GTK_DIALOG_DESTROY_WITH_PARENT;
 dialog = gtk_dialog_new_with_buttons ("Message",
                                       parent,
                                       flags,
                                       _("_OK"),
                                       GTK_RESPONSE_NONE,
                                       NULL);
 content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 label = gtk_label_new (message);

 // Ensure that the dialog box is destroyed when the user responds

 g_signal_connect_swapped (dialog,
                           "response",
                           G_CALLBACK (gtk_window_destroy),
                           dialog);

 // Add the label, and show everything we’ve added

 gtk_box_append (GTK_BOX (content_area), label);
 gtk_widget_show (dialog);
}

GtkDialog as GtkBuildable

The GtkDialog implementation of the GtkBuildable interface exposes the content_area and action_area as internal children with the names “content_area” and “action_area”.

GtkDialog supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs action_area ). To mark a response as default, set the “default“ attribute of the <action-widget> element to true.

GtkDialog supports adding action widgets by specifying “action“ as the “type“ attribute of a <child> element. The widget will be added either to the action area or the headerbar of the dialog, depending on the “use-header-bar“ property. The response id has to be associated with the action widget using the <action-widgets> element.

An example of a GtkDialog UI definition fragment:

1
2
3
4
5
6
7
8
9
10
11
12
13
<object class="GtkDialog" id="dialog1">
  <child type="action">
    <object class="GtkButton" id="button_cancel"/>
  </child>
  <child type="action">
    <object class="GtkButton" id="button_ok">
    </object>
  </child>
  <action-widgets>
    <action-widget response="cancel">button_cancel</action-widget>
    <action-widget response="ok" default="true">button_ok</action-widget>
  </action-widgets>
</object>


Accessibility

GtkDialog uses the GTK_ACCESSIBLE_ROLE_DIALOG role.

Functions

gtk_dialog_new ()

GtkWidget *
gtk_dialog_new (void);

Creates a new dialog box.

Widgets should not be packed into this GtkWindow directly, but into the content_area and action_area , as described above.

Returns

the new dialog as a GtkWidget


gtk_dialog_new_with_buttons ()

GtkWidget *
gtk_dialog_new_with_buttons (const char *title,
                             GtkWindow *parent,
                             GtkDialogFlags flags,
                             const char *first_button_text,
                             ...);

Creates a new GtkDialog with title title (or NULL for the default title; see gtk_window_set_title()) and transient parent parent (or NULL for none; see gtk_window_set_transient_for()). The flags argument can be used to make the dialog modal (GTK_DIALOG_MODAL) and/or to have it destroyed along with its transient parent (GTK_DIALOG_DESTROY_WITH_PARENT). After flags , button text/response ID pairs should be listed, with a NULL pointer ending the list. Button text can be arbitrary text. A response ID can be any positive number, or one of the values in the GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkDialog will emit the “response” signal with the corresponding response ID. If a GtkDialog receives a delete event, it will emit ::response with a response ID of GTK_RESPONSE_DELETE_EVENT. However, destroying a dialog does not emit the ::response signal; so be careful relying on ::response when using the GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right, so the first button in the list will be the leftmost button in the dialog.

Here’s a simple example:

1
2
3
4
5
6
7
8
9
10
11
GtkWidget *main_app_window; // Window the dialog should show up on
GtkWidget *dialog;
GtkDialogFlags flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
dialog = gtk_dialog_new_with_buttons ("My dialog",
                                      main_app_window,
                                      flags,
                                      _("_OK"),
                                      GTK_RESPONSE_ACCEPT,
                                      _("_Cancel"),
                                      GTK_RESPONSE_REJECT,
                                      NULL);

Parameters

title

Title of the dialog, or NULL.

[allow-none]

parent

Transient parent of the dialog, or NULL.

[allow-none]

flags

from GtkDialogFlags

 

first_button_text

text to go in first button, or NULL.

[allow-none]

...

response ID for first button, then additional buttons, ending with NULL

 

Returns

a new GtkDialog


gtk_dialog_response ()

void
gtk_dialog_response (GtkDialog *dialog,
                     int response_id);

Emits the “response” signal with the given response ID.

Used to indicate that the user has responded to the dialog in some way.

Parameters

dialog

a GtkDialog

 

response_id

response ID

 

gtk_dialog_add_button ()

GtkWidget *
gtk_dialog_add_button (GtkDialog *dialog,
                       const char *button_text,
                       int response_id);

Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id . The button is appended to the end of the dialog’s action area. The button widget is returned, but usually you don’t need it.

Parameters

dialog

a GtkDialog

 

button_text

text of button

 

response_id

response ID for the button

 

Returns

the GtkButton widget that was added.

[transfer none]


gtk_dialog_add_buttons ()

void
gtk_dialog_add_buttons (GtkDialog *dialog,
                        const char *first_button_text,
                        ...);

Adds more buttons, same as calling gtk_dialog_add_button() repeatedly. The variable argument list should be NULL-terminated as with gtk_dialog_new_with_buttons(). Each button must have both text and response ID.

Parameters

dialog

a GtkDialog

 

first_button_text

button text

 

...

response ID for first button, then more text-response_id pairs

 

gtk_dialog_add_action_widget ()

void
gtk_dialog_add_action_widget (GtkDialog *dialog,
                              GtkWidget *child,
                              int response_id);

Adds an activatable widget to the action area of a GtkDialog, connecting a signal handler that will emit the “response” signal on the dialog when the widget is activated. The 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 action_area field of the GtkDialog struct.

Parameters

dialog

a GtkDialog

 

child

an activatable widget

 

response_id

response ID for child

 

gtk_dialog_set_default_response ()

void
gtk_dialog_set_default_response (GtkDialog *dialog,
                                 int response_id);

Sets the last widget in the dialog’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget.

Parameters

dialog

a GtkDialog

 

response_id

a response ID

 

gtk_dialog_set_response_sensitive ()

void
gtk_dialog_set_response_sensitive (GtkDialog *dialog,
                                   int response_id,
                                   gboolean setting);

Calls gtk_widget_set_sensitive (widget, @setting) for each widget in the dialog’s action area with the given response_id . A convenient way to sensitize/desensitize dialog buttons.

Parameters

dialog

a GtkDialog

 

response_id

a response ID

 

setting

TRUE for sensitive

 

gtk_dialog_get_response_for_widget ()

int
gtk_dialog_get_response_for_widget (GtkDialog *dialog,
                                    GtkWidget *widget);

Gets the response id of a widget in the action area of a dialog.

Parameters

dialog

a GtkDialog

 

widget

a widget in the action area of dialog

 

Returns

the response id of widget , or GTK_RESPONSE_NONE if widget doesn’t have a response id set.


gtk_dialog_get_widget_for_response ()

GtkWidget *
gtk_dialog_get_widget_for_response (GtkDialog *dialog,
                                    int response_id);

Gets the widget button that uses the given response ID in the action area of a dialog.

Parameters

dialog

a GtkDialog

 

response_id

the response ID used by the dialog widget

 

Returns

the widget button that uses the given response_id , or NULL.

[nullable][transfer none]


gtk_dialog_get_content_area ()

GtkWidget *
gtk_dialog_get_content_area (GtkDialog *dialog);

Returns the content area of dialog .

Parameters

dialog

a GtkDialog

 

Returns

the content area GtkBox.

[type Gtk.Box][transfer none]


gtk_dialog_get_header_bar ()

GtkWidget *
gtk_dialog_get_header_bar (GtkDialog *dialog);

Returns the header bar of dialog . Note that the headerbar is only used by the dialog if the “use-header-bar” property is TRUE.

Parameters

dialog

a GtkDialog

 

Returns

the header bar.

[type Gtk.HeaderBar][transfer none]

Types and Values

struct GtkDialog

struct GtkDialog;

The GtkDialog contains only private fields and should not be directly accessed.


struct GtkDialogClass

struct GtkDialogClass {
  GtkWindowClass parent_class;

  void (* response) (GtkDialog *dialog, int response_id);

  /* Keybinding signals */

  void (* close)    (GtkDialog *dialog);
};

Members

response ()

Signal emitted when an action widget is activated.

 

close ()

Signal emitted when the user uses a keybinding to close the dialog.

 

enum GtkDialogFlags

Flags used to influence dialog construction.

Members

GTK_DIALOG_MODAL

Make the constructed dialog modal, see gtk_window_set_modal()

 

GTK_DIALOG_DESTROY_WITH_PARENT

Destroy the dialog when its parent is destroyed, see gtk_window_set_destroy_with_parent()

 

GTK_DIALOG_USE_HEADER_BAR

Create dialog with actions in header bar instead of action area

 

enum GtkResponseType

Predefined values for use as response ids in gtk_dialog_add_button(). All predefined values are negative; GTK+ leaves values of 0 or greater for application-defined response ids.

Members

GTK_RESPONSE_NONE

Returned if an action widget has no response id, or if the dialog gets programmatically hidden or destroyed

 

GTK_RESPONSE_REJECT

Generic response id, not used by GTK+ dialogs

 

GTK_RESPONSE_ACCEPT

Generic response id, not used by GTK+ dialogs

 

GTK_RESPONSE_DELETE_EVENT

Returned if the dialog is deleted

 

GTK_RESPONSE_OK

Returned by OK buttons in GTK+ dialogs

 

GTK_RESPONSE_CANCEL

Returned by Cancel buttons in GTK+ dialogs

 

GTK_RESPONSE_CLOSE

Returned by Close buttons in GTK+ dialogs

 

GTK_RESPONSE_YES

Returned by Yes buttons in GTK+ dialogs

 

GTK_RESPONSE_NO

Returned by No buttons in GTK+ dialogs

 

GTK_RESPONSE_APPLY

Returned by Apply buttons in GTK+ dialogs

 

GTK_RESPONSE_HELP

Returned by Help buttons in GTK+ dialogs

 

Property Details

The “use-header-bar” property

  “use-header-bar”           gint

TRUE if the dialog uses a GtkHeaderBar for action buttons instead of the action-area.

For technical reasons, this property is declared as an integer property, but you should only set it to TRUE or FALSE.

Owner: GtkDialog

Flags: Read / Write / Construct Only

Allowed values: [-1,1]

Default value: -1

Signal Details

The “close” signal

void
user_function (GtkDialog *dialog,
               gpointer   user_data)

The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the dialog.

The default binding for this signal is the Escape key.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “response” signal

void
user_function (GtkDialog *dialog,
               gint       response_id,
               gpointer   user_data)

Emitted when an action widget is clicked, the dialog receives a delete event, or the application programmer calls gtk_dialog_response(). On a delete event, the response ID is GTK_RESPONSE_DELETE_EVENT. Otherwise, it depends on which action widget was clicked.

Parameters

dialog

the object on which the signal is emitted

 

response_id

the response ID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkAppChooserDialog.html0000664000175000017500000004573613710700533022062 0ustar mclasenmclasen GtkAppChooserDialog: GTK 4 Reference Manual

GtkAppChooserDialog

GtkAppChooserDialog — An application chooser dialog

Properties

GFile * gfile Read / Write / Construct Only
gchar * heading Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkDialog
                    ╰── GtkAppChooserDialog

Implemented Interfaces

GtkAppChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkAppChooser.

Includes

#include <gtk/gtk.h>

Description

GtkAppChooserDialog shows a GtkAppChooserWidget inside a GtkDialog.

Note that GtkAppChooserDialog does not have any interesting methods of its own. Instead, you should get the embedded GtkAppChooserWidget using gtk_app_chooser_dialog_get_widget() and call its methods if the generic GtkAppChooser interface is not sufficient for your needs.

To set the heading that is shown above the GtkAppChooserWidget, use gtk_app_chooser_dialog_set_heading().

Functions

gtk_app_chooser_dialog_new ()

GtkWidget *
gtk_app_chooser_dialog_new (GtkWindow *parent,
                            GtkDialogFlags flags,
                            GFile *file);

Creates a new GtkAppChooserDialog for the provided GFile, to allow the user to select an application for it.

Parameters

parent

a GtkWindow, or NULL.

[allow-none]

flags

flags for this dialog

 

file

a GFile

 

Returns

a newly created GtkAppChooserDialog


gtk_app_chooser_dialog_new_for_content_type ()

GtkWidget *
gtk_app_chooser_dialog_new_for_content_type
                               (GtkWindow *parent,
                                GtkDialogFlags flags,
                                const char *content_type);

Creates a new GtkAppChooserDialog for the provided content type, to allow the user to select an application for it.

Parameters

parent

a GtkWindow, or NULL.

[allow-none]

flags

flags for this dialog

 

content_type

a content type string

 

Returns

a newly created GtkAppChooserDialog


gtk_app_chooser_dialog_get_widget ()

GtkWidget *
gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self);

Returns the GtkAppChooserWidget of this dialog.

Parameters

Returns

the GtkAppChooserWidget of self .

[transfer none]


gtk_app_chooser_dialog_set_heading ()

void
gtk_app_chooser_dialog_set_heading (GtkAppChooserDialog *self,
                                    const char *heading);

Sets the text to display at the top of the dialog. If the heading is not set, the dialog displays a default text.

Parameters

self

a GtkAppChooserDialog

 

heading

a string containing Pango markup

 

gtk_app_chooser_dialog_get_heading ()

const char *
gtk_app_chooser_dialog_get_heading (GtkAppChooserDialog *self);

Returns the text to display at the top of the dialog.

Parameters

Returns

the text to display at the top of the dialog, or NULL, in which case a default text is displayed.

[nullable]

Types and Values

GtkAppChooserDialog

typedef struct _GtkAppChooserDialog GtkAppChooserDialog;

Property Details

The “gfile” property

  “gfile”                    GFile *

The GFile used by the GtkAppChooserDialog. The dialog's GtkAppChooserWidget content type will be guessed from the file, if present.

Owner: GtkAppChooserDialog

Flags: Read / Write / Construct Only


The “heading” property

  “heading”                  gchar *

The text to show at the top of the dialog. The string may contain Pango markup.

Owner: GtkAppChooserDialog

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/GtkDirectoryList.html0000664000175000017500000007564713710700533021503 0ustar mclasenmclasen GtkDirectoryList: GTK 4 Reference Manual

GtkDirectoryList

GtkDirectoryList — A list model for directory listings

Properties

gchar * attributes Read / Write
GError * error Read
GFile * file Read / Write
gint io-priority Read / Write
GType * item-type Read
gboolean loading Read
gboolean monitored Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkDirectoryList

Implemented Interfaces

GtkDirectoryList implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkDirectoryList is a list model that wraps g_file_enumerate_children_async(). It presents a GListModel and fills it asynchronously with the GFileInfos returned from that function.

Enumeration will start automatically when a the GtkDirectoryList:file property is set.

While the GtkDirectoryList is being filled, the GtkDirectoryList:loading property will be set to TRUE. You can listen to that property if you want to show information like a GtkSpinner or a "Loading..." text. If loading fails at any point, the GtkDirectoryList:error property will be set to give more indication about the failure.

The GFileInfos returned from a GtkDirectoryList have the "standard::file" attribute set to the GFile they refer to. This way you can get at the file that is referred to in the same way you would via g_file_enumerator_get_child(). This means you do not need access to the GtkDirectoryList but can access the GFile directly from the GFileInfo when operating with a GtkListView or similar.

Functions

gtk_directory_list_new ()

GtkDirectoryList *
gtk_directory_list_new (const char *attributes,
                        GFile *file);

Creates a new GtkDirectoryList querying the given file with the given attributes .

Parameters

file

The file to query.

[allow-none]

attributes

The attributes to query with.

[allow-none]

Returns

a new GtkDirectoryList


gtk_directory_list_get_attributes ()

const char *
gtk_directory_list_get_attributes (GtkDirectoryList *self);

Gets the attributes queried on the children.

Parameters

self

a GtkDirectoryList

 

Returns

The queried attributes.

[nullable][transfer none]


gtk_directory_list_set_attributes ()

void
gtk_directory_list_set_attributes (GtkDirectoryList *self,
                                   const char *attributes);

Sets the attributes to be enumerated and starts the enumeration.

If attributes is NULL, no attributes will be queried, but a list of GFileInfos will still be created.

Parameters

self

a GtkDirectoryList

 

attributes

the attributes to enumerate.

[allow-none]

gtk_directory_list_get_file ()

GFile *
gtk_directory_list_get_file (GtkDirectoryList *self);

Gets the file whose children are currently enumerated.

Parameters

self

a GtkDirectoryList

 

Returns

The file whose children are enumerated.

[nullable][transfer none]


gtk_directory_list_set_file ()

void
gtk_directory_list_set_file (GtkDirectoryList *self,
                             GFile *file);

Sets the file to be enumerated and starts the enumeration.

If file is NULL, the result will be an empty list.

Parameters

self

a GtkDirectoryList

 

file

the GFile to be enumerated.

[allow-none]

gtk_directory_list_get_io_priority ()

int
gtk_directory_list_get_io_priority (GtkDirectoryList *self);

Gets the IO priority set via gtk_directory_list_set_io_priority().

Parameters

self

a GtkDirectoryList

 

Returns

The IO priority.


gtk_directory_list_set_io_priority ()

void
gtk_directory_list_set_io_priority (GtkDirectoryList *self,
                                    int io_priority);

Sets the IO priority to use while loading directories.

Setting the priority while self is loading will reprioritize the ongoing load as soon as possible.

The default IO priority is G_PRIORITY_DEFAULT, which is higher than the GTK redraw priority. If you are loading a lot of directories in parrallel, lowering it to something like G_PRIORITY_DEFAULT_IDLE may increase responsiveness.

Parameters

self

a GtkDirectoryList

 

io_priority

IO priority to use

 

gtk_directory_list_get_monitored ()

gboolean
gtk_directory_list_get_monitored (GtkDirectoryList *self);

Returns whether the directory list is monitoring the directory for changes.

Parameters

self

a GtkDirectoryList

 

Returns

TRUE if the directory is monitored


gtk_directory_list_set_monitored ()

void
gtk_directory_list_set_monitored (GtkDirectoryList *self,
                                  gboolean monitored);

Sets whether the directory list will monitor the directory for changes. If monitoring is enabled, the “items-changed” signal will be emitted when the directory contents change.

When monitoring is turned on after the initial creation of the directory list, the directory is reloaded to avoid missing files that appeared between the initial loading and when monitoring was turned on.

Parameters

self

a GtkDirectoryList

 

monitored

TRUE to monitor the directory for changes

 

gtk_directory_list_is_loading ()

gboolean
gtk_directory_list_is_loading (GtkDirectoryList *self);

Returns TRUE if the children enumeration is currently in progress. Files will be added to self from time to time while loading is going on. The order in which are added is undefined and may change inbetween runs.

Parameters

self

a GtkDirectoryList

 

Returns

TRUE if self is loading


gtk_directory_list_get_error ()

const GError *
gtk_directory_list_get_error (GtkDirectoryList *self);

Gets the loading error, if any.

If an error occurs during the loading process, the loading process will finish and this property allows querying the error that happened. This error will persist until a file is loaded again.

An error being set does not mean that no files were loaded, and all successfully queried files will remain in the list.

Parameters

self

a GtkDirectoryList

 

Returns

The loading error or NULL if loading finished successfully.

[nullable][transfer none]

Types and Values

GtkDirectoryList

typedef struct _GtkDirectoryList GtkDirectoryList;

Property Details

The “attributes” property

  “attributes”               gchar *

The attributes to query

Owner: GtkDirectoryList

Flags: Read / Write

Default value: NULL


The “error” property

  “error”                    GError *

Error encountered while loading files

Owner: GtkDirectoryList

Flags: Read


The “file” property

  “file”                     GFile *

File to query

Owner: GtkDirectoryList

Flags: Read / Write


The “io-priority” property

  “io-priority”              gint

Priority used when loading

Owner: GtkDirectoryList

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0


The “item-type” property

  “item-type”                GType *

The GType for elements of this object

Owner: GtkDirectoryList

Flags: Read

Allowed values: GFileInfo


The “loading” property

  “loading”                  gboolean

TRUE if files are being loaded

Owner: GtkDirectoryList

Flags: Read

Default value: FALSE


The “monitored” property

  “monitored”                gboolean

TRUE if the directory is monitored for changed

Owner: GtkDirectoryList

Flags: Read / Write

Default value: TRUE

See Also

GListModel, g_file_enumerate_children()

docs/reference/gtk/html/GtkAppChooserWidget.html0000664000175000017500000011705613710700533022101 0ustar mclasenmclasen GtkAppChooserWidget: GTK 4 Reference Manual

GtkAppChooserWidget

GtkAppChooserWidget — Application chooser widget that can be embedded in other widgets

Properties

gchar * default-text Read / Write
gboolean show-all Read / Write / Construct
gboolean show-default Read / Write / Construct
gboolean show-fallback Read / Write / Construct
gboolean show-other Read / Write / Construct
gboolean show-recommended Read / Write / Construct

Signals

void application-activated Run First
void application-selected Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkAppChooserWidget

Implemented Interfaces

GtkAppChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkAppChooser.

Includes

#include <gtk/gtk.h>

Description

GtkAppChooserWidget is a widget for selecting applications. It is the main building block for GtkAppChooserDialog. Most applications only need to use the latter; but you can use this widget as part of a larger widget if you have special needs.

GtkAppChooserWidget offers detailed control over what applications are shown, using the “show-default”, “show-recommended”, “show-fallback”, “show-other” and “show-all” properties. See the GtkAppChooser documentation for more information about these groups of applications.

To keep track of the selected application, use the “application-selected” and “application-activated” signals.

CSS nodes

GtkAppChooserWidget has a single CSS node with name appchooser.

Functions

gtk_app_chooser_widget_new ()

GtkWidget *
gtk_app_chooser_widget_new (const char *content_type);

Creates a new GtkAppChooserWidget for applications that can handle content of the given type.

Parameters

content_type

the content type to show applications for

 

Returns

a newly created GtkAppChooserWidget


gtk_app_chooser_widget_set_show_default ()

void
gtk_app_chooser_widget_set_show_default
                               (GtkAppChooserWidget *self,
                                gboolean setting);

Sets whether the app chooser should show the default handler for the content type in a separate section.

Parameters

self

a GtkAppChooserWidget

 

setting

the new value for “show-default”

 

gtk_app_chooser_widget_get_show_default ()

gboolean
gtk_app_chooser_widget_get_show_default
                               (GtkAppChooserWidget *self);

Returns the current value of the “show-default” property.

Parameters

Returns

the value of “show-default”


gtk_app_chooser_widget_set_show_recommended ()

void
gtk_app_chooser_widget_set_show_recommended
                               (GtkAppChooserWidget *self,
                                gboolean setting);

Sets whether the app chooser should show recommended applications for the content type in a separate section.

Parameters

self

a GtkAppChooserWidget

 

setting

the new value for “show-recommended”

 

gtk_app_chooser_widget_get_show_recommended ()

gboolean
gtk_app_chooser_widget_get_show_recommended
                               (GtkAppChooserWidget *self);

Returns the current value of the “show-recommended” property.

Parameters

Returns

the value of “show-recommended”


gtk_app_chooser_widget_set_show_fallback ()

void
gtk_app_chooser_widget_set_show_fallback
                               (GtkAppChooserWidget *self,
                                gboolean setting);

Sets whether the app chooser should show related applications for the content type in a separate section.

Parameters

self

a GtkAppChooserWidget

 

setting

the new value for “show-fallback”

 

gtk_app_chooser_widget_get_show_fallback ()

gboolean
gtk_app_chooser_widget_get_show_fallback
                               (GtkAppChooserWidget *self);

Returns the current value of the “show-fallback” property.

Parameters

Returns

the value of “show-fallback”


gtk_app_chooser_widget_set_show_other ()

void
gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self,
                                       gboolean setting);

Sets whether the app chooser should show applications which are unrelated to the content type.

Parameters

self

a GtkAppChooserWidget

 

setting

the new value for “show-other”

 

gtk_app_chooser_widget_get_show_other ()

gboolean
gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self);

Returns the current value of the “show-other” property.

Parameters

Returns

the value of “show-other”


gtk_app_chooser_widget_set_show_all ()

void
gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self,
                                     gboolean setting);

Sets whether the app chooser should show all applications in a flat list.

Parameters

self

a GtkAppChooserWidget

 

setting

the new value for “show-all”

 

gtk_app_chooser_widget_get_show_all ()

gboolean
gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self);

Returns the current value of the “show-all” property.

Parameters

Returns

the value of “show-all”


gtk_app_chooser_widget_set_default_text ()

void
gtk_app_chooser_widget_set_default_text
                               (GtkAppChooserWidget *self,
                                const char *text);

Sets the text that is shown if there are not applications that can handle the content type.

Parameters

self

a GtkAppChooserWidget

 

text

the new value for “default-text”

 

gtk_app_chooser_widget_get_default_text ()

const char *
gtk_app_chooser_widget_get_default_text
                               (GtkAppChooserWidget *self);

Returns the text that is shown if there are not applications that can handle the content type.

Parameters

Returns

the value of “default-text”

Types and Values

GtkAppChooserWidget

typedef struct _GtkAppChooserWidget GtkAppChooserWidget;

Property Details

The “default-text” property

  “default-text”             gchar *

The “default-text” property determines the text that appears in the widget when there are no applications for the given content type. See also gtk_app_chooser_widget_set_default_text().

Owner: GtkAppChooserWidget

Flags: Read / Write

Default value: NULL


The “show-all” property

  “show-all”                 gboolean

If the “show-all” property is TRUE, the app chooser presents all applications in a single list, without subsections for default, recommended or related applications.

Owner: GtkAppChooserWidget

Flags: Read / Write / Construct

Default value: FALSE


The “show-default” property

  “show-default”             gboolean

The ::show-default property determines whether the app chooser should show the default handler for the content type in a separate section. If FALSE, the default handler is listed among the recommended applications.

Owner: GtkAppChooserWidget

Flags: Read / Write / Construct

Default value: FALSE


The “show-fallback” property

  “show-fallback”            gboolean

The “show-fallback” property determines whether the app chooser should show a section for fallback applications. If FALSE, the fallback applications are listed among the other applications.

Owner: GtkAppChooserWidget

Flags: Read / Write / Construct

Default value: FALSE


The “show-other” property

  “show-other”               gboolean

The “show-other” property determines whether the app chooser should show a section for other applications.

Owner: GtkAppChooserWidget

Flags: Read / Write / Construct

Default value: FALSE


The “show-recommended” property

  “show-recommended”         gboolean

The “show-recommended” property determines whether the app chooser should show a section for recommended applications. If FALSE, the recommended applications are listed among the other applications.

Owner: GtkAppChooserWidget

Flags: Read / Write / Construct

Default value: TRUE

Signal Details

The “application-activated” signal

void
user_function (GtkAppChooserWidget *self,
               GAppInfo            *application,
               gpointer             user_data)

Emitted when an application item is activated from the widget's list.

This usually happens when the user double clicks an item, or an item is selected and the user presses one of the keys Space, Shift+Space, Return or Enter.

Parameters

self

the object which received the signal

 

application

the activated GAppInfo

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “application-selected” signal

void
user_function (GtkAppChooserWidget *self,
               GAppInfo            *application,
               gpointer             user_data)

Emitted when an application item is selected from the widget's list.

Parameters

self

the object which received the signal

 

application

the selected GAppInfo

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkDragIcon.html0000664000175000017500000004103613710700533020352 0ustar mclasenmclasen GtkDragIcon: GTK 4 Reference Manual

GtkDragIcon

GtkDragIcon — A toplevel to use as drag icon

Properties

GtkWidget * child Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkDragIcon

Implemented Interfaces

GtkDragIcon implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

GtkDragIcon is a GtkRoot implementation with the sole purpose to serve as a drag icon during DND operations. A drag icon moves with the pointer during a drag operation and is destroyed when the drag ends.

To set up a drag icon and associate it with an ongoing drag operation, use gtk_drag_icon_get_for_drag() to get the icon for a drag. You can then use it like any other widget and use gtk_drag_icon_set_child() to set whatever widget should be used for the drag icon.

Keep in mind that drag icons do not allow user input.

Functions

gtk_drag_icon_get_for_drag ()

GtkWidget *
gtk_drag_icon_get_for_drag (GdkDrag *drag);

Gets the GtkDragIcon in use with drag .

If no drag icon exists yet, a new one will be created and shown.

Parameters

drag

a GdkDrag

 

Returns

the GtkDragIcon.

[transfer none]


gtk_drag_icon_set_child ()

void
gtk_drag_icon_set_child (GtkDragIcon *self,
                         GtkWidget *child);

Sets the widget to display as the drag icon.

Parameters

self

a GtkDragIcon

 

child

a GtkWidget or NULL.

[nullable]

gtk_drag_icon_get_child ()

GtkWidget *
gtk_drag_icon_get_child (GtkDragIcon *self);

Gets the widget currently used as drag icon.

Parameters

self

a GtkDragIcon

 

Returns

The drag icon or NULL if none.

[nullable][transfer none]


gtk_drag_icon_set_from_paintable ()

void
gtk_drag_icon_set_from_paintable (GdkDrag *drag,
                                  GdkPaintable *paintable,
                                  int hot_x,
                                  int hot_y);

Creates a GtkDragIcon that shows paintable , and associates it with the drag operation. The hotspot position on the paintable is aligned with the hotspot of the cursor.

Parameters

drag

a GdkDrag

 

paintable

a GdkPaintable to display

 

hot_x

X coordinate of the hotspot

 

hot_y

Y coordinate of the hotspot

 

gtk_drag_icon_create_widget_for_value ()

GtkWidget *
gtk_drag_icon_create_widget_for_value (const GValue *value);

Creates a widget that can be used as a drag icon for the given value .

If GTK does not know how to create a widget for a given value, it will return NULL.

This method is used to set the default drag icon on drag'n'drop operations started by GtkDragSource, so you don't need to set a drag icon using this function there.

Parameters

value

a GValue

 

Returns

A new GtkWidget for displaying value as a drag icon.

[nullable][transfer full]

Types and Values

GtkDragIcon

typedef struct _GtkDragIcon GtkDragIcon;

Property Details

The “child” property

  “child”                    GtkWidget *

The widget to display as drag icon.

Owner: GtkDragIcon

Flags: Read / Write

docs/reference/gtk/html/GtkApplication.html0000664000175000017500000017044713710700533021140 0ustar mclasenmclasen GtkApplication: GTK 4 Reference Manual

GtkApplication

GtkApplication — Application class

Properties

GtkWindow * active-window Read
GMenuModel * menubar Read / Write
gboolean register-session Read / Write
gboolean screensaver-active Read

Signals

void query-end Run First
void window-added Run First
void window-removed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GApplication
        ╰── GtkApplication

Implemented Interfaces

GtkApplication implements GActionGroup and GActionMap.

Includes

#include <gtk/gtk.h>

Description

GtkApplication is a class that handles many important aspects of a GTK+ application in a convenient fashion, without enforcing a one-size-fits-all application model.

Currently, GtkApplication handles GTK initialization, application uniqueness, session management, provides some basic scriptability and desktop shell integration by exporting actions and menus and manages a list of toplevel windows whose life-cycle is automatically tied to the life-cycle of your application.

While GtkApplication works fine with plain GtkWindows, it is recommended to use it together with GtkApplicationWindow.

When GDK threads are enabled, GtkApplication will acquire the GDK lock when invoking actions that arrive from other processes. The GDK lock is not touched for local action invocations. In order to have actions invoked in a predictable context it is therefore recommended that the GDK lock be held while invoking actions locally with g_action_group_activate_action(). The same applies to actions associated with GtkApplicationWindow and to the “activate” and “open” GApplication methods.

Automatic resources

GtkApplication will automatically load menus from the GtkBuilder resource located at "gtk/menus.ui", relative to the application's resource base path (see g_application_set_resource_base_path()). The menu with the ID "menubar" is taken as the application's menubar. Additional menus (most interesting submenus) can be named and accessed via gtk_application_get_menu_by_id() which allows for dynamic population of a part of the menu structure.

It is also possible to provide the menubar manually using gtk_application_set_menubar().

GtkApplication will also automatically setup an icon search path for the default icon theme by appending "icons" to the resource base path. This allows your application to easily store its icons as resources. See gtk_icon_theme_add_resource_path() for more information.

If there is a resource located at "gtk/help-overlay.ui" which defines a GtkShortcutsWindow with ID "help_overlay" then GtkApplication associates an instance of this shortcuts window with each GtkApplicationWindow and sets up the keyboard accelerator Control-? to open it. To create a menu item that displays the shortcuts window, associate the item with the action win.show-help-overlay.

A simple application

A simple example

GtkApplication optionally registers with a session manager of the users session (if you set the “register-session” property) and offers various functionality related to the session life-cycle.

An application can block various ways to end the session with the gtk_application_inhibit() function. Typical use cases for this kind of inhibiting are long-running, uninterruptible operations, such as burning a CD or performing a disk backup. The session manager may not honor the inhibitor, but it can be expected to inform the user about the negative consequences of ending the session while inhibitors are present.

Functions

gtk_application_new ()

GtkApplication *
gtk_application_new (const char *application_id,
                     GApplicationFlags flags);

Creates a new GtkApplication instance.

When using GtkApplication, it is not necessary to call gtk_init() manually. It is called as soon as the application gets registered as the primary instance.

Concretely, gtk_init() is called in the default handler for the “startup” signal. Therefore, GtkApplication subclasses should chain up in their “startup” handler before using any GTK+ API.

Note that commandline arguments are not passed to gtk_init(). All GTK+ functionality that is available via commandline arguments can also be achieved by setting suitable environment variables such as G_DEBUG, so this should not be a big problem. If you absolutely must support GTK+ commandline arguments, you can explicitly call gtk_init() before creating the application instance.

If non-NULL, the application ID must be valid. See g_application_id_is_valid().

If no application ID is given then some features (most notably application uniqueness) will be disabled.

Parameters

application_id

The application ID.

[allow-none]

flags

the application flags

 

Returns

a new GtkApplication instance


gtk_application_add_window ()

void
gtk_application_add_window (GtkApplication *application,
                            GtkWindow *window);

Adds a window to application .

This call can only happen after the application has started; typically, you should add new application windows in response to the emission of the “activate” signal.

This call is equivalent to setting the “application” property of window to application .

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it with gtk_application_remove_window().

GTK+ will keep the application running as long as it has any windows.

Parameters

application

a GtkApplication

 

window

a GtkWindow

 

gtk_application_remove_window ()

void
gtk_application_remove_window (GtkApplication *application,
                               GtkWindow *window);

Remove a window from application .

If window belongs to application then this call is equivalent to setting the “application” property of window to NULL.

The application may stop running as a result of a call to this function.

Parameters

application

a GtkApplication

 

window

a GtkWindow

 

gtk_application_get_windows ()

GList *
gtk_application_get_windows (GtkApplication *application);

Gets a list of the GtkWindows associated with application .

The list is sorted by most recently focused window, such that the first element is the currently focused window. (Useful for choosing a parent for a transient window.)

The list that is returned should not be modified in any way. It will only remain valid until the next focus change or window creation or deletion.

Parameters

application

a GtkApplication

 

Returns

a GList of GtkWindow.

[element-type GtkWindow][transfer none]


gtk_application_get_window_by_id ()

GtkWindow *
gtk_application_get_window_by_id (GtkApplication *application,
                                  guint id);

Returns the GtkApplicationWindow with the given ID.

The ID of a GtkApplicationWindow can be retrieved with gtk_application_window_get_id().

Parameters

application

a GtkApplication

 

id

an identifier number

 

Returns

the window with ID id , or NULL if there is no window with this ID.

[nullable][transfer none]


gtk_application_get_active_window ()

GtkWindow *
gtk_application_get_active_window (GtkApplication *application);

Gets the “active” window for the application.

The active window is the one that was most recently focused (within the application). This window may not have the focus at the moment if another application has it — this is just the most recently-focused window within this application.

Parameters

application

a GtkApplication

 

Returns

the active window, or NULL if there isn't one.

[transfer none][nullable]


gtk_application_inhibit ()

guint
gtk_application_inhibit (GtkApplication *application,
                         GtkWindow *window,
                         GtkApplicationInhibitFlags flags,
                         const char *reason);

Inform the session manager that certain types of actions should be inhibited. This is not guaranteed to work on all platforms and for all types of actions.

Applications should invoke this method when they begin an operation that should not be interrupted, such as creating a CD or DVD. The types of actions that may be blocked are specified by the flags parameter. When the application completes the operation it should call gtk_application_uninhibit() to remove the inhibitor. Note that an application can have multiple inhibitors, and all of them must be individually removed. Inhibitors are also cleared when the application exits.

Applications should not expect that they will always be able to block the action. In most cases, users will be given the option to force the action to take place.

Reasons should be short and to the point.

If window is given, the session manager may point the user to this window to find out more about why the action is inhibited.

Parameters

application

the GtkApplication

 

window

a GtkWindow, or NULL.

[allow-none]

flags

what types of actions should be inhibited

 

reason

a short, human-readable string that explains why these operations are inhibited.

[allow-none]

Returns

A non-zero cookie that is used to uniquely identify this request. It should be used as an argument to gtk_application_uninhibit() in order to remove the request. If the platform does not support inhibiting or the request failed for some reason, 0 is returned.


gtk_application_uninhibit ()

void
gtk_application_uninhibit (GtkApplication *application,
                           guint cookie);

Removes an inhibitor that has been established with gtk_application_inhibit(). Inhibitors are also cleared when the application exits.

Parameters

application

the GtkApplication

 

cookie

a cookie that was returned by gtk_application_inhibit()

 

gtk_application_get_menubar ()

GMenuModel *
gtk_application_get_menubar (GtkApplication *application);

Returns the menu model that has been set with gtk_application_set_menubar().

Parameters

application

a GtkApplication

 

Returns

the menubar for windows of application .

[transfer none]


gtk_application_set_menubar ()

void
gtk_application_set_menubar (GtkApplication *application,
                             GMenuModel *menubar);

Sets or unsets the menubar for windows of application .

This is a menubar in the traditional sense.

This can only be done in the primary instance of the application, after it has been registered. “startup” is a good place to call this.

Depending on the desktop environment, this may appear at the top of each window, or at the top of the screen. In some environments, if both the application menu and the menubar are set, the application menu will be presented as if it were the first item of the menubar. Other environments treat the two as completely separate — for example, the application menu may be rendered by the desktop shell while the menubar (if set) remains in each individual window.

Use the base GActionMap interface to add actions, to respond to the user selecting these menu items.

Parameters

application

a GtkApplication

 

menubar

a GMenuModel, or NULL.

[allow-none]

gtk_application_get_menu_by_id ()

GMenu *
gtk_application_get_menu_by_id (GtkApplication *application,
                                const char *id);

Gets a menu from automatically loaded resources. See Automatic resources for more information.

Parameters

application

a GtkApplication

 

id

the id of the menu to look up

 

Returns

Gets the menu with the given id from the automatically loaded resources.

[transfer none]


gtk_application_list_action_descriptions ()

char **
gtk_application_list_action_descriptions
                               (GtkApplication *application);

Lists the detailed action names which have associated accelerators. See gtk_application_set_accels_for_action().

Parameters

application

a GtkApplication

 

Returns

a NULL-terminated array of strings, free with g_strfreev() when done.

[transfer full]


gtk_application_get_accels_for_action ()

char **
gtk_application_get_accels_for_action (GtkApplication *application,
                                       const char *detailed_action_name);

Gets the accelerators that are currently associated with the given action.

Parameters

application

a GtkApplication

 

detailed_action_name

a detailed action name, specifying an action and target to obtain accelerators for

 

Returns

accelerators for detailed_action_name , as a NULL-terminated array. Free with g_strfreev() when no longer needed.

[transfer full]


gtk_application_set_accels_for_action ()

void
gtk_application_set_accels_for_action (GtkApplication *application,
                                       const char *detailed_action_name,
                                       const char * const *accels);

Sets zero or more keyboard accelerators that will trigger the given action. The first item in accels will be the primary accelerator, which may be displayed in the UI.

To remove all accelerators for an action, use an empty, zero-terminated array for accels .

For the detailed_action_name , see g_action_parse_detailed_name() and g_action_print_detailed_name().

Parameters

application

a GtkApplication

 

detailed_action_name

a detailed action name, specifying an action and target to associate accelerators with

 

accels

a list of accelerators in the format understood by gtk_accelerator_parse().

[array zero-terminated=1]

gtk_application_get_actions_for_accel ()

char **
gtk_application_get_actions_for_accel (GtkApplication *application,
                                       const char *accel);

Returns the list of actions (possibly empty) that accel maps to. Each item in the list is a detailed action name in the usual form.

This might be useful to discover if an accel already exists in order to prevent installation of a conflicting accelerator (from an accelerator editor or a plugin system, for example). Note that having more than one action per accelerator may not be a bad thing and might make sense in cases where the actions never appear in the same context.

In case there are no actions for a given accelerator, an empty array is returned. NULL is never returned.

It is a programmer error to pass an invalid accelerator string. If you are unsure, check it with gtk_accelerator_parse() first.

Parameters

application

a GtkApplication

 

accel

an accelerator that can be parsed by gtk_accelerator_parse()

 

Returns

a NULL-terminated array of actions for accel .

[transfer full]

Types and Values

struct GtkApplication

struct GtkApplication;

struct GtkApplicationClass

struct GtkApplicationClass {
  GApplicationClass parent_class;

  void (*window_added)   (GtkApplication *application,
                          GtkWindow      *window);
  void (*window_removed) (GtkApplication *application,
                          GtkWindow      *window);
};

Members

window_added ()

Signal emitted when a GtkWindow is added to application through gtk_application_add_window().

 

window_removed ()

Signal emitted when a GtkWindow is removed from application, either as a side-effect of being destroyed or explicitly through gtk_application_remove_window().

 

enum GtkApplicationInhibitFlags

Types of user actions that may be blocked by gtk_application_inhibit().

Members

GTK_APPLICATION_INHIBIT_LOGOUT

Inhibit ending the user session by logging out or by shutting down the computer

 

GTK_APPLICATION_INHIBIT_SWITCH

Inhibit user switching

 

GTK_APPLICATION_INHIBIT_SUSPEND

Inhibit suspending the session or computer

 

GTK_APPLICATION_INHIBIT_IDLE

Inhibit the session being marked as idle (and possibly locked)

 

Property Details

The “active-window” property

  “active-window”            GtkWindow *

The window which most recently had focus.

Owner: GtkApplication

Flags: Read


The “menubar” property

  “menubar”                  GMenuModel *

The GMenuModel for the menubar.

Owner: GtkApplication

Flags: Read / Write


The “register-session” property

  “register-session”         gboolean

Set this property to TRUE to register with the session manager. This will make GTK+ track the session state (such as the “screensaver-active” property).

Owner: GtkApplication

Flags: Read / Write

Default value: FALSE


The “screensaver-active” property

  “screensaver-active”       gboolean

This property is TRUE if GTK+ believes that the screensaver is currently active. GTK+ only tracks session state (including this) when “register-session” is set to TRUE.

Tracking the screensaver state is supported on Linux.

Owner: GtkApplication

Flags: Read

Default value: FALSE

Signal Details

The “query-end” signal

void
user_function (GtkApplication *application,
               gpointer        user_data)

Emitted when the session manager is about to end the session, only if “register-session” is TRUE. Applications can connect to this signal and call gtk_application_inhibit() with GTK_APPLICATION_INHIBIT_LOGOUT to delay the end of the session until state has been saved.

Parameters

application

the GtkApplication which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “window-added” signal

void
user_function (GtkApplication *application,
               GtkWindow      *window,
               gpointer        user_data)

Emitted when a GtkWindow is added to application through gtk_application_add_window().

Parameters

application

the GtkApplication which emitted the signal

 

window

the newly-added GtkWindow

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “window-removed” signal

void
user_function (GtkApplication *application,
               GtkWindow      *window,
               gpointer        user_data)

Emitted when a GtkWindow is removed from application , either as a side-effect of being destroyed or explicitly through gtk_application_remove_window().

Parameters

application

the GtkApplication which emitted the signal

 

window

the GtkWindow that is being removed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkCellRendererText.html0000664000175000017500000012773113710700533022106 0ustar mclasenmclasen GtkCellRendererText: GTK 4 Reference Manual

GtkCellRendererText

GtkCellRendererText — Renders text in a cell

Properties

gboolean align-set Read / Write
PangoAlignment alignment Read / Write
PangoAttrList * attributes Read / Write
gchar * background Write
GdkRGBA * background-rgba Read / Write
gboolean background-set Read / Write
gboolean editable Read / Write
gboolean editable-set Read / Write
PangoEllipsizeMode ellipsize Read / Write
gboolean ellipsize-set Read / Write
gchar * family Read / Write
gboolean family-set Read / Write
gchar * font Read / Write
PangoFontDescription * font-desc Read / Write
gchar * foreground Write
GdkRGBA * foreground-rgba Read / Write
gboolean foreground-set Read / Write
gchar * language Read / Write
gboolean language-set Read / Write
gchar * markup Write
gint max-width-chars Read / Write
gchar * placeholder-text Read / Write
gint rise Read / Write
gboolean rise-set Read / Write
gdouble scale Read / Write
gboolean scale-set Read / Write
gboolean single-paragraph-mode Read / Write
gint size Read / Write
gdouble size-points Read / Write
gboolean size-set Read / Write
PangoStretch stretch Read / Write
gboolean stretch-set Read / Write
gboolean strikethrough Read / Write
gboolean strikethrough-set Read / Write
PangoStyle style Read / Write
gboolean style-set Read / Write
gchar * text Read / Write
PangoUnderline underline Read / Write
gboolean underline-set Read / Write
PangoVariant variant Read / Write
gboolean variant-set Read / Write
gint weight Read / Write
gboolean weight-set Read / Write
gint width-chars Read / Write
PangoWrapMode wrap-mode Read / Write
gint wrap-width Read / Write

Signals

void edited Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererText
                ├── GtkCellRendererAccel
                ├── GtkCellRendererCombo
                ╰── GtkCellRendererSpin

Includes

#include <gtk/gtk.h>

Description

A GtkCellRendererText renders a given text in its cell, using the font, color and style information provided by its properties. The text will be ellipsized if it is too long and the “ellipsize” property allows it.

If the “mode” is GTK_CELL_RENDERER_MODE_EDITABLE, the GtkCellRendererText allows to edit its text using an entry.

Functions

gtk_cell_renderer_text_new ()

GtkCellRenderer *
gtk_cell_renderer_text_new (void);

Creates a new GtkCellRendererText. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “text” property on the cell renderer to a string value in the model, thus rendering a different string in each row of the GtkTreeView

Returns

the new cell renderer


gtk_cell_renderer_text_set_fixed_height_from_font ()

void
gtk_cell_renderer_text_set_fixed_height_from_font
                               (GtkCellRendererText *renderer,
                                int number_of_rows);

Sets the height of a renderer to explicitly be determined by the “font” and “y_pad” property set on it. Further changes in these properties do not affect the height, so they must be accompanied by a subsequent call to this function. Using this function is unflexible, and should really only be used if calculating the size of a cell is too slow (ie, a massive number of cells displayed). If number_of_rows is -1, then the fixed height is unset, and the height is determined by the properties again.

Parameters

renderer

A GtkCellRendererText

 

number_of_rows

Number of rows of text each cell renderer is allocated, or -1

 

Types and Values

struct GtkCellRendererText

struct GtkCellRendererText;

Property Details

The “align-set” property

  “align-set”                gboolean

Whether this tag affects the alignment mode.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “alignment” property

  “alignment”                PangoAlignment

Specifies how to align the lines of text with respect to each other.

Note that this property describes how to align the lines of text in case there are several of them. The "xalign" property of GtkCellRenderer, on the other hand, sets the horizontal alignment of the whole text.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_ALIGN_LEFT


The “attributes” property

  “attributes”               PangoAttrList *

A list of style attributes to apply to the text of the renderer.

Owner: GtkCellRendererText

Flags: Read / Write


The “background” property

  “background”               gchar *

Background color as a string.

Owner: GtkCellRendererText

Flags: Write

Default value: NULL


The “background-rgba” property

  “background-rgba”          GdkRGBA *

Background color as a GdkRGBA

Owner: GtkCellRendererText

Flags: Read / Write


The “background-set” property

  “background-set”           gboolean

Whether this tag affects the background color.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “editable” property

  “editable”                 gboolean

Whether the text can be modified by the user.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “editable-set” property

  “editable-set”             gboolean

Whether this tag affects text editability.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “ellipsize” property

  “ellipsize”                PangoEllipsizeMode

Specifies the preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string. Setting it to PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property for another way of making the text fit into a given width.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_ELLIPSIZE_NONE


The “ellipsize-set” property

  “ellipsize-set”            gboolean

Whether this tag affects the ellipsize mode.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “family” property

  “family”                   gchar *

Name of the font family, e.g. Sans, Helvetica, Times, Monospace.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: NULL


The “family-set” property

  “family-set”               gboolean

Whether this tag affects the font family.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “font” property

  “font”                     gchar *

Font description as a string, e.g. “Sans Italic 12”.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: NULL


The “font-desc” property

  “font-desc”                PangoFontDescription *

Font description as a PangoFontDescription struct.

Owner: GtkCellRendererText

Flags: Read / Write


The “foreground” property

  “foreground”               gchar *

Foreground color as a string.

Owner: GtkCellRendererText

Flags: Write

Default value: NULL


The “foreground-rgba” property

  “foreground-rgba”          GdkRGBA *

Foreground color as a GdkRGBA

Owner: GtkCellRendererText

Flags: Read / Write


The “foreground-set” property

  “foreground-set”           gboolean

Whether this tag affects the foreground color.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “language” property

  “language”                 gchar *

The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don’t understand this parameter, you probably don’t need it.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: NULL


The “language-set” property

  “language-set”             gboolean

Whether this tag affects the language the text is rendered as.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “markup” property

  “markup”                   gchar *

Marked up text to render.

Owner: GtkCellRendererText

Flags: Write

Default value: NULL


The “max-width-chars” property

  “max-width-chars”          gint

The desired maximum width of the cell, in characters. If this property is set to -1, the width will be calculated automatically.

For cell renderers that ellipsize or wrap text; this property controls the maximum reported width of the cell. The cell should not receive any greater allocation unless it is set to expand in its GtkCellLayout and all of the cell's siblings have received their natural width.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “placeholder-text” property

  “placeholder-text”         gchar *

The text that will be displayed in the GtkCellRenderer if “editable” is TRUE and the cell is empty.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: NULL


The “rise” property

  “rise”                     gint

Offset of text above the baseline (below the baseline if rise is negative).

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0


The “rise-set” property

  “rise-set”                 gboolean

Whether this tag affects the rise.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “scale” property

  “scale”                    gdouble

Font scaling factor.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= 0

Default value: 1


The “scale-set” property

  “scale-set”                gboolean

Whether this tag scales the font size by a factor.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “single-paragraph-mode” property

  “single-paragraph-mode”    gboolean

Whether to keep all text in a single paragraph.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “size” property

  “size”                     gint

Font size.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-points” property

  “size-points”              gdouble

Font size in points.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-set” property

  “size-set”                 gboolean

Whether this tag affects the font size.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “stretch” property

  “stretch”                  PangoStretch

Font stretch.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_STRETCH_NORMAL


The “stretch-set” property

  “stretch-set”              gboolean

Whether this tag affects the font stretch.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “strikethrough” property

  “strikethrough”            gboolean

Whether to strike through the text.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “strikethrough-set” property

  “strikethrough-set”        gboolean

Whether this tag affects strikethrough.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “style” property

  “style”                    PangoStyle

Font style.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_STYLE_NORMAL


The “style-set” property

  “style-set”                gboolean

Whether this tag affects the font style.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “text” property

  “text”                     gchar *

Text to render.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: NULL


The “underline” property

  “underline”                PangoUnderline

Style of underline for this text.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_UNDERLINE_NONE


The “underline-set” property

  “underline-set”            gboolean

Whether this tag affects underlining.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “variant” property

  “variant”                  PangoVariant

Font variant.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_VARIANT_NORMAL


The “variant-set” property

  “variant-set”              gboolean

Whether this tag affects the font variant.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “weight” property

  “weight”                   gint

Font weight.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= 0

Default value: 400


The “weight-set” property

  “weight-set”               gboolean

Whether this tag affects the font weight.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: FALSE


The “width-chars” property

  “width-chars”              gint

The desired width of the cell, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the cell will request either 3 characters or the property value, whichever is greater.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “wrap-mode” property

  “wrap-mode”                PangoWrapMode

Specifies how to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string. This property has no effect unless the wrap-width property is set.

Owner: GtkCellRendererText

Flags: Read / Write

Default value: PANGO_WRAP_CHAR


The “wrap-width” property

  “wrap-width”               gint

Specifies the minimum width at which the text is wrapped. The wrap-mode property can be used to influence at what character positions the line breaks can be placed. Setting wrap-width to -1 turns wrapping off.

Owner: GtkCellRendererText

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “edited” signal

void
user_function (GtkCellRendererText *renderer,
               gchar               *path,
               gchar               *new_text,
               gpointer             user_data)

This signal is emitted after renderer has been edited.

It is the responsibility of the application to update the model and store new_text at the position indicated by path .

Parameters

renderer

the object which received the signal

 

path

the path identifying the edited cell

 

new_text

the new text

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkApplicationWindow.html0000664000175000017500000006072413710700533022324 0ustar mclasenmclasen GtkApplicationWindow: GTK 4 Reference Manual

GtkApplicationWindow

GtkApplicationWindow — GtkWindow subclass with GtkApplication support

Properties

gboolean show-menubar Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkWindow
                ╰── GtkApplicationWindow

Implemented Interfaces

GtkApplicationWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot, GActionGroup and GActionMap.

Includes

#include <gtk/gtk.h>

Description

GtkApplicationWindow is a GtkWindow subclass that offers some extra functionality for better integration with GtkApplication features. Notably, it can handle an application menubar. See gtk_application_set_menubar().

This class implements the GActionGroup and GActionMap interfaces, to let you add window-specific actions that will be exported by the associated GtkApplication, together with its application-wide actions. Window-specific actions are prefixed with the “win.” prefix and application-wide actions are prefixed with the “app.” prefix. Actions must be addressed with the prefixed name when referring to them from a GMenuModel.

Note that widgets that are placed inside a GtkApplicationWindow can also activate these actions, if they implement the GtkActionable interface.

As with GtkApplication, the GDK lock will be acquired when processing actions arriving from other processes and should therefore be held when activating actions locally (if GDK threads are enabled).

The settings “gtk-shell-shows-app-menu” and “gtk-shell-shows-menubar” tell GTK+ whether the desktop environment is showing the application menu and menubar models outside the application as part of the desktop shell. For instance, on OS X, both menus will be displayed remotely; on Windows neither will be. gnome-shell (starting with version 3.4) will display the application menu, but not the menubar.

If the desktop environment does not display the menubar, then GtkApplicationWindow will automatically show a menubar for it. This behaviour can be overridden with the “show-menubar” property. If the desktop environment does not display the application menu, then it will automatically be included in the menubar or in the windows client-side decorations.

See GtkPopoverMenu for information about the XML language used by GtkBuilder for menu models.

A GtkApplicationWindow with a menubar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
GtkApplication *app = gtk_application_new ("org.gtk.test", 0);

GtkBuilder *builder = gtk_builder_new_from_string (
    "<interface>"
    "  <menu id='menubar'>"
    "    <submenu label='_Edit'>"
    "      <item label='_Copy' action='win.copy'/>"
    "      <item label='_Paste' action='win.paste'/>"
    "    </submenu>"
    "  </menu>"
    "</interface>",
    -1);

GMenuModel *menubar = G_MENU_MODEL (gtk_builder_get_object (builder,
                                                           "menubar"));
gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
g_object_unref (builder);

// ...

GtkWidget *window = gtk_application_window_new (app);

Functions

gtk_application_window_new ()

GtkWidget *
gtk_application_window_new (GtkApplication *application);

Creates a new GtkApplicationWindow.

Parameters

application

a GtkApplication

 

Returns

a newly created GtkApplicationWindow


gtk_application_window_set_show_menubar ()

void
gtk_application_window_set_show_menubar
                               (GtkApplicationWindow *window,
                                gboolean show_menubar);

Sets whether the window will display a menubar for the app menu and menubar as needed.

Parameters

window

a GtkApplicationWindow

 

show_menubar

whether to show a menubar when needed

 

gtk_application_window_get_show_menubar ()

gboolean
gtk_application_window_get_show_menubar
                               (GtkApplicationWindow *window);

Returns whether the window will display a menubar for the app menu and menubar as needed.

Parameters

window

a GtkApplicationWindow

 

Returns

TRUE if window will display a menubar when needed


gtk_application_window_get_id ()

guint
gtk_application_window_get_id (GtkApplicationWindow *window);

Returns the unique ID of the window. If the window has not yet been added to a GtkApplication, returns 0.

Parameters

window

a GtkApplicationWindow

 

Returns

the unique ID for window , or 0 if the window has not yet been added to a GtkApplication


gtk_application_window_set_help_overlay ()

void
gtk_application_window_set_help_overlay
                               (GtkApplicationWindow *window,
                                GtkShortcutsWindow *help_overlay);

Associates a shortcuts window with the application window, and sets up an action with the name win.show-help-overlay to present it.

window takes resposibility for destroying help_overlay .

Parameters

window

a GtkApplicationWindow

 

help_overlay

a GtkShortcutsWindow.

[nullable]

gtk_application_window_get_help_overlay ()

GtkShortcutsWindow *
gtk_application_window_get_help_overlay
                               (GtkApplicationWindow *window);

Gets the GtkShortcutsWindow that has been set up with a prior call to gtk_application_window_set_help_overlay().

Parameters

window

a GtkApplicationWindow

 

Returns

the help overlay associated with window , or NULL.

[transfer none][nullable]

Types and Values

struct GtkApplicationWindow

struct GtkApplicationWindow;

struct GtkApplicationWindowClass

struct GtkApplicationWindowClass {
  GtkWindowClass parent_class;
};

Members

Property Details

The “show-menubar” property

  “show-menubar”             gboolean

If this property is TRUE, the window will display a menubar unless it is shown by the desktop shell. See gtk_application_set_menubar().

If FALSE, the window will not display a menubar, regardless of whether the desktop shell is showing it or not.

Owner: GtkApplicationWindow

Flags: Read / Write / Construct

Default value: FALSE

docs/reference/gtk/html/GtkDragSource.html0000664000175000017500000011320613710700533020721 0ustar mclasenmclasen GtkDragSource: GTK 4 Reference Manual

GtkDragSource

GtkDragSource — Event controller to initiate DND operations

Properties

GdkDragAction actions Read / Write
GdkContentProvider * content Read / Write

Signals

void drag-begin Run Last
gboolean drag-cancel Run Last
void drag-end Run Last
GdkContentProvider* prepare Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkGesture
            ╰── GtkGestureSingle
                ╰── GtkDragSource

Includes

#include <gtk/gtk.h>

Description

GtkDragSource is an auxiliary object that is used to initiate Drag-And-Drop operations. It can be set up with the necessary ingredients for a DND operation ahead of time. This includes the source for the data that is being transferred, in the form of a GdkContentProvider, the desired action, and the icon to use during the drag operation. After setting it up, the drag source must be added to a widget as an event controller, using gtk_widget_add_controller().

Setting up the content provider and icon ahead of time only makes sense when the data does not change. More commonly, you will want to set them up just in time. To do so, GtkDragSource has “prepare” and “drag-begin” signals. The ::prepare signal is emitted before a drag is started, and can be used to set the content provider and actions that the drag should be started with. The ::drag-begin signal is emitted after the GdkDrag object has been created, and can be used to set up the drag icon.

During the DND operation, GtkDragSource emits signals that can be used to obtain updates about the status of the operation, but it is not normally necessary to connect to any signals, except for one case: when the supported actions include GDK_ACTION_MOVE, you need to listen for the “drag-end” signal and delete the data after it has been transferred.

Functions

gtk_drag_source_new ()

GtkDragSource *
gtk_drag_source_new (void);

Creates a new GtkDragSource object.

Returns

the new GtkDragSource


gtk_drag_source_set_content ()

void
gtk_drag_source_set_content (GtkDragSource *source,
                             GdkContentProvider *content);

Sets a content provider on a GtkDragSource.

When the data is requested in the cause of a DND operation, it will be obtained from the content provider.

This function can be called before a drag is started, or in a handler for the “prepare” signal.

You may consider setting the content provider back to NULL in a “drag-end” signal handler.

Parameters

source

a GtkDragSource

 

content

a GdkContentProvider, or NULL.

[nullable]

gtk_drag_source_get_content ()

GdkContentProvider *
gtk_drag_source_get_content (GtkDragSource *source);

Gets the current content provider of a GtkDragSource.

Parameters

source

a GtkDragSource

 

Returns

the GdkContentProvider of source .

[transfer none]


gtk_drag_source_set_actions ()

void
gtk_drag_source_set_actions (GtkDragSource *source,
                             GdkDragAction actions);

Sets the actions on the GtkDragSource.

During a DND operation, the actions are offered to potential drop targets. If actions include GDK_ACTION_MOVE, you need to listen to the “drag-end” signal and handle delete_data being TRUE.

This function can be called before a drag is started, or in a handler for the “prepare” signal.

Parameters

source

a GtkDragSource

 

actions

the actions to offer

 

gtk_drag_source_get_actions ()

GdkDragAction
gtk_drag_source_get_actions (GtkDragSource *source);

Gets the actions that are currently set on the GtkDragSource.

Parameters

source

a GtkDragSource

 

Returns

the actions set on source


gtk_drag_source_set_icon ()

void
gtk_drag_source_set_icon (GtkDragSource *source,
                          GdkPaintable *paintable,
                          int hot_x,
                          int hot_y);

Sets a paintable to use as icon during DND operations.

The hotspot coordinates determine the point on the icon that gets aligned with the hotspot of the cursor.

If paintable is NULL, a default icon is used.

This function can be called before a drag is started, or in a “prepare” or “drag-begin” signal handler.

Parameters

source

a GtkDragSource

 

paintable

the GdkPaintable to use as icon, or NULL.

[nullable]

hot_x

the hotspot X coordinate on the icon

 

hot_y

the hotspot Y coordinate on the icon

 

gtk_drag_source_drag_cancel ()

void
gtk_drag_source_drag_cancel (GtkDragSource *source);

Cancels a currently ongoing drag operation.

Parameters

source

a GtkDragSource

 

gtk_drag_source_get_drag ()

GdkDrag *
gtk_drag_source_get_drag (GtkDragSource *source);

Returns the underlying GdkDrag object for an ongoing drag.

Parameters

source

a GtkDragSource

 

Returns

the GdkDrag of the current drag operation, or NULL.

[nullable][transfer none]


gtk_drag_check_threshold ()

gboolean
gtk_drag_check_threshold (GtkWidget *widget,
                          int start_x,
                          int start_y,
                          int current_x,
                          int current_y);

Checks to see if a mouse drag starting at (start_x , start_y ) and ending at (current_x , current_y ) has passed the GTK drag threshold, and thus should trigger the beginning of a drag-and-drop operation.

[method]

Parameters

widget

a GtkWidget

 

start_x

X coordinate of start of drag

 

start_y

Y coordinate of start of drag

 

current_x

current X coordinate

 

current_y

current Y coordinate

 

Returns

TRUE if the drag threshold has been passed.

Types and Values

GtkDragSource

typedef struct _GtkDragSource GtkDragSource;

Property Details

The “actions” property

  “actions”                  GdkDragAction

The actions that are supported by drag operations from the source.

Note that you must handle the “drag-end” signal if the actions include GDK_ACTION_MOVE.

Owner: GtkDragSource

Flags: Read / Write

Default value: GDK_ACTION_COPY


The “content” property

  “content”                  GdkContentProvider *

The data that is offered by drag operations from this source, in the form of a GdkContentProvider.

Owner: GtkDragSource

Flags: Read / Write

Signal Details

The “drag-begin” signal

void
user_function (GtkDragSource *source,
               GdkDrag       *drag,
               gpointer       user_data)

The ::drag-begin signal is emitted on the drag source when a drag is started. It can be used to e.g. set a custom drag icon with gtk_drag_source_set_icon().

Parameters

source

the GtkDragSource

 

drag

the GdkDrag object

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “drag-cancel” signal

gboolean
user_function (GtkDragSource      *source,
               GdkDrag            *drag,
               GdkDragCancelReason reason,
               gpointer            user_data)

The ::drag-cancel signal is emitted on the drag source when a drag has failed. The signal handler may handle a failed drag operation based on the type of error. It should return TRUE if the failure has been handled and the default "drag operation failed" animation should not be shown.

Parameters

source

the GtkDragSource

 

drag

the GdkDrag object

 

reason

information on why the drag failed

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the failed drag operation has been already handled

Flags: Run Last


The “drag-end” signal

void
user_function (GtkDragSource *source,
               GdkDrag       *drag,
               gboolean       delete_data,
               gpointer       user_data)

The ::drag-end signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in “prepare” or “drag-begin”.

Parameters

source

the GtkDragSource

 

drag

the GdkDrag object

 

delete_data

TRUE if the drag was performing GDK_ACTION_MOVE, and the data should be deleted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “prepare” signal

GdkContentProvider*
user_function (GtkDragSource *source,
               gdouble        x,
               gdouble        y,
               gpointer       user_data)

The ::prepare signal is emitted when a drag is about to be initiated. It returns the * GdkContentProvider to use for the drag that is about to start. The default handler for this signal returns the value of the “content” property, so if you set up that property ahead of time, you don't need to connect to this signal.

Parameters

source

the GtkDragSource

 

x

the X coordinate of the drag starting point

 

y

the Y coordinate fo the drag starting point

 

user_data

user data set when the signal handler was connected.

 

Returns

a GdkContentProvider, or NULL.

[transfer full][nullable]

Flags: Run Last

docs/reference/gtk/html/GtkAspectFrame.html0000664000175000017500000006707313710700533021067 0ustar mclasenmclasen GtkAspectFrame: GTK 4 Reference Manual

GtkAspectFrame

GtkAspectFrame — A frame that constrains its child to a particular aspect ratio

Properties

GtkWidget * child Read / Write
gboolean obey-child Read / Write
gfloat ratio Read / Write
gfloat xalign Read / Write
gfloat yalign Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkAspectFrame

Implemented Interfaces

GtkAspectFrame implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkAspectFrame is useful when you want pack a widget so that it can resize but always retains the same aspect ratio. For instance, one might be drawing a small preview of a larger image. GtkAspectFrame derives from GtkFrame, so it can draw a label and a frame around the child. The frame will be “shrink-wrapped” to the size of the child.

CSS nodes

GtkAspectFrame uses a CSS node with name frame.

Functions

gtk_aspect_frame_new ()

GtkWidget *
gtk_aspect_frame_new (float xalign,
                      float yalign,
                      float ratio,
                      gboolean obey_child);

Create a new GtkAspectFrame.

Parameters

xalign

Horizontal alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned)

 

yalign

Vertical alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (top aligned) to 1.0 (bottom aligned)

 

ratio

The desired aspect ratio.

 

obey_child

If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child.

 

Returns

the new GtkAspectFrame.


gtk_aspect_frame_set_xalign ()

void
gtk_aspect_frame_set_xalign (GtkAspectFrame *self,
                             float xalign);

Sets the horizontal alignment of the child within the allocation of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

xalign

horizontal alignment, from 0.0 (left aligned) to 1.0 (right aligned)

 

gtk_aspect_frame_get_xalign ()

float
gtk_aspect_frame_get_xalign (GtkAspectFrame *self);

Returns the horizontal alignment of the child within the allocation of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

Returns

the horizontal alignment


gtk_aspect_frame_set_yalign ()

void
gtk_aspect_frame_set_yalign (GtkAspectFrame *self,
                             float yalign);

Sets the vertical alignment of the child within the allocation of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

yalign

horizontal alignment, from 0.0 (top aligned) to 1.0 (bottom aligned)

 

gtk_aspect_frame_get_yalign ()

float
gtk_aspect_frame_get_yalign (GtkAspectFrame *self);

Returns the vertical alignment of the child within the allocation of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

Returns

the vertical alignment


gtk_aspect_frame_set_ratio ()

void
gtk_aspect_frame_set_ratio (GtkAspectFrame *self,
                            float ratio);

Sets the desired aspect ratio of the child.

Parameters

self

a GtkAspectFrame

 

ratio

aspect ratio of the child

 

gtk_aspect_frame_get_ratio ()

float
gtk_aspect_frame_get_ratio (GtkAspectFrame *self);

Returns the desired aspect ratio of the child.

Parameters

self

a GtkAspectFrame

 

Returns

the desired aspect ratio


gtk_aspect_frame_set_obey_child ()

void
gtk_aspect_frame_set_obey_child (GtkAspectFrame *self,
                                 gboolean obey_child);

Sets whether the aspect ratio of the childs size request should override the set aspect ratio of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

obey_child

If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child.

 

gtk_aspect_frame_get_obey_child ()

gboolean
gtk_aspect_frame_get_obey_child (GtkAspectFrame *self);

Returns whether the childs size request should override the set aspect ratio of the GtkAspectFrame.

Parameters

self

a GtkAspectFrame

 

Returns

whether to obey the childs size request


gtk_aspect_frame_set_child ()

void
gtk_aspect_frame_set_child (GtkAspectFrame *self,
                            GtkWidget *child);

Sets the child widget of self .

Parameters

self

a GtkAspectFrame

 

child

the child widget.

[allow-none]

gtk_aspect_frame_get_child ()

GtkWidget *
gtk_aspect_frame_get_child (GtkAspectFrame *self);

Gets the child widget of self .

Parameters

self

a GtkAspectFrame

 

Returns

the child widget of self@.

[nullable][transfer none]

Types and Values

GtkAspectFrame

typedef struct _GtkAspectFrame GtkAspectFrame;

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkAspectFrame

Flags: Read / Write


The “obey-child” property

  “obey-child”               gboolean

Force aspect ratio to match that of the frame’s child.

Owner: GtkAspectFrame

Flags: Read / Write

Default value: TRUE


The “ratio” property

  “ratio”                    gfloat

Aspect ratio if obey_child is FALSE.

Owner: GtkAspectFrame

Flags: Read / Write

Allowed values: [0.0001,10000]

Default value: 1


The “xalign” property

  “xalign”                   gfloat

X alignment of the child.

Owner: GtkAspectFrame

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “yalign” property

  “yalign”                   gfloat

Y alignment of the child.

Owner: GtkAspectFrame

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

docs/reference/gtk/html/GtkDrawingArea.html0000664000175000017500000007462113710700533021056 0ustar mclasenmclasen GtkDrawingArea: GTK 4 Reference Manual

GtkDrawingArea

GtkDrawingArea — A simple widget for drawing with cairo

Properties

gint content-height Read / Write
gint content-width Read / Write

Signals

void resize Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkDrawingArea

Implemented Interfaces

GtkDrawingArea implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkDrawingArea widget is used for creating custom user interface elements. It’s essentially a blank widget; you can draw on it. After creating a drawing area, the application may want to connect to:

  • The “realize” signal to take any necessary actions when the widget is instantiated on a particular display. (Create GDK resources in response to this signal.)

  • The “resize” signal to take any necessary actions when the widget changes size.

  • Call gtk_drawing_area_set_draw_func() to handle redrawing the contents of the widget.

The following code portion demonstrates using a drawing area to display a circle in the normal widget foreground color.

Simple GtkDrawingArea usage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void
draw_function (GtkDrawingArea *area, cairo_t *cr,
               int width, int height,
               gpointer data)
{
  GdkRGBA color;
  GtkStyleContext *context;

  context = gtk_widget_get_style_context (GTK_WIDGET (area));

  cairo_arc (cr,
             width / 2.0, height / 2.0,
             MIN (width, height) / 2.0,
             0, 2 * G_PI);

  gtk_style_context_get_color (context,
                               &color);
  gdk_cairo_set_source_rgba (cr, &color);

  cairo_fill (cr);
}

void main (int argc, char **argv)
{
  gtk_init ();

  GtkWidget *area = gtk_drawing_area_new ();
  gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (area), 100);
  gtk_drawing_area_set_content_height (GTK_DRAWING_AREA (area), 100);
  gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (area),
                                  draw_function,
                                  NULL, NULL);

}

The draw function is normally called when a drawing area first comes onscreen, or when it’s covered by another window and then uncovered. You can also force a redraw by adding to the “damage region” of the drawing area’s window using gtk_widget_queue_draw(). This will cause the drawing area to call the draw function again.

The available routines for drawing are documented on the GDK Drawing Primitives page and the cairo documentation.

To receive mouse events on a drawing area, you will need to enable them with gtk_widget_add_events(). To receive keyboard events, you will need to set the “can-focus” property on the drawing area, and you should probably draw some user-visible indication that the drawing area is focused. Use gtk_widget_has_focus() in your expose event handler to decide whether to draw the focus indicator. See gtk_render_focus() for one way to draw focus.

If you need more complex control over your widget, you should consider creating your own GtkWidget subclass.

Functions

gtk_drawing_area_new ()

GtkWidget *
gtk_drawing_area_new (void);

Creates a new drawing area.

Returns

a new GtkDrawingArea


gtk_drawing_area_get_content_width ()

int
gtk_drawing_area_get_content_width (GtkDrawingArea *self);

Retrieves the value previously set via gtk_drawing_area_set_content_width().

Parameters

self

a GtkDrawingArea

 

Returns

The width requested for content of the drawing area


gtk_drawing_area_set_content_width ()

void
gtk_drawing_area_set_content_width (GtkDrawingArea *self,
                                    int width);

Sets the desired width of the contents of the drawing area. Note that because widgets may be allocated larger sizes than they requested, it is possible that the actual width passed to your draw function is larger than the width set here. You can use gtk_widget_set_halign() to avoid that.

If the width is set to 0 (the default), the drawing area may disappear.

Parameters

self

a GtkDrawingArea

 

width

the width of contents

 

gtk_drawing_area_get_content_height ()

int
gtk_drawing_area_get_content_height (GtkDrawingArea *self);

Retrieves the value previously set via gtk_drawing_area_set_content_height().

Parameters

self

a GtkDrawingArea

 

Returns

The height requested for content of the drawing area


gtk_drawing_area_set_content_height ()

void
gtk_drawing_area_set_content_height (GtkDrawingArea *self,
                                     int height);

Sets the desired height of the contents of the drawing area. Note that because widgets may be allocated larger sizes than they requested, it is possible that the actual height passed to your draw function is larger than the height set here. You can use gtk_widget_set_valign() to avoid that.

If the height is set to 0 (the default), the drawing area may disappear.

Parameters

self

a GtkDrawingArea

 

height

the height of contents

 

GtkDrawingAreaDrawFunc ()

void
(*GtkDrawingAreaDrawFunc) (GtkDrawingArea *drawing_area,
                           cairo_t *cr,
                           int width,
                           int height,
                           gpointer user_data);

Whenever drawing_area needs to redraw, this function will be called.

This function should exclusively redraw the contents of the drawing area and must not call any widget functions that cause changes.

Parameters

drawing_area

the GtkDrawingArea to redraw

 

cr

the context to draw to

 

width

the actual width of the contents. This value will be at least as wide as GtkDrawingArea:width.

 

height

the actual height of the contents. This value will be at least as wide as GtkDrawingArea:height.

 

user_data

user data.

[closure]

gtk_drawing_area_set_draw_func ()

void
gtk_drawing_area_set_draw_func (GtkDrawingArea *self,
                                GtkDrawingAreaDrawFunc draw_func,
                                gpointer user_data,
                                GDestroyNotify destroy);

Setting a draw function is the main thing you want to do when using a drawing area. It is called whenever GTK needs to draw the contents of the drawing area to the screen.

The draw function will be called during the drawing stage of GTK. In the drawing stage it is not allowed to change properties of any GTK widgets or call any functions that would cause any properties to be changed. You should restrict yourself exclusively to drawing your contents in the draw function.

If what you are drawing does change, call gtk_widget_queue_draw() on the drawing area. This will cause a redraw and will call draw_func again.

Parameters

self

a GtkDrawingArea

 

draw_func

callback that lets you draw the drawing area's contents.

[allow-none]

user_data

user data passed to draw_func .

[closure]

destroy

destroy notifier for user_data

 

Types and Values

struct GtkDrawingArea

struct GtkDrawingArea;

Property Details

The “content-height” property

  “content-height”           gint

The content height. See gtk_drawing_area_set_content_height() for details.

Owner: GtkDrawingArea

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “content-width” property

  “content-width”            gint

The content width. See gtk_drawing_area_set_content_width() for details.

Owner: GtkDrawingArea

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Signal Details

The “resize” signal

void
user_function (GtkDrawingArea *area,
               gint            width,
               gint            height,
               gpointer        user_data)

The ::resize signal is emitted once when the widget is realized, and then each time the widget is changed while realized. This is useful in order to keep state up to date with the widget size, like for instance a backing surface.

Parameters

area

the GtkDrawingArea that emitted the signal

 

width

the width of the viewport

 

height

the height of the viewport

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkImage

docs/reference/gtk/html/GtkAssistant.html0000664000175000017500000021745213710700533020644 0ustar mclasenmclasen GtkAssistant: GTK 4 Reference Manual

GtkAssistant

GtkAssistant — A widget used to guide users through multi-step operations

Properties

GListModel * pages Read
gint use-header-bar Read / Write / Construct Only
GtkWidget * child Read / Write / Construct Only
gboolean complete Read / Write
GtkAssistantPageType page-type Read / Write
gchar * title Read / Write

Signals

void apply Run Last
void cancel Run Last
void close Run Last
void escape Action
void prepare Run Last

Types and Values

Object Hierarchy

    GObject
    ├── GInitiallyUnowned
       ╰── GtkWidget
           ╰── GtkWindow
               ╰── GtkAssistant
    ╰── GtkAssistantPage

Implemented Interfaces

GtkAssistant implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot.

Includes

#include <gtk/gtk.h>

Description

A GtkAssistant 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.

The design of GtkAssistant is that it controls what buttons to show and to make sensitive, based on what it knows about the page sequence and the type of each page, in addition to state information like the page completion and committed status.

If you have a case that doesn’t quite fit in GtkAssistants way of handling buttons, you can use the GTK_ASSISTANT_PAGE_CUSTOM page type and handle buttons yourself.

GtkAssistant maintains a GtkAssistantPage object for each added child, which holds additional per-child properties. You obtain the GtkAssistantPage for a child with gtk_assistant_get_page().

GtkAssistant as GtkBuildable

The GtkAssistant implementation of the GtkBuildable interface exposes the action_area as internal children with the name “action_area”.

To add pages to an assistant in GtkBuilder, simply add it as a child to the GtkAssistant object. If you need to set per-object properties, create a GtkAssistantPage object explicitly, and set the child widget as a property on it.


CSS nodes

GtkAssistant has a single CSS node with the name window and style class .assistant.

Functions

gtk_assistant_new ()

GtkWidget *
gtk_assistant_new (void);

Creates a new GtkAssistant.

Returns

a newly created GtkAssistant


gtk_assistant_get_page ()

GtkAssistantPage *
gtk_assistant_get_page (GtkAssistant *assistant,
                        GtkWidget *child);

Returns the GtkAssistantPage object for child .

Parameters

assistant

a GtkAssistant

 

child

a child of assistant

 

Returns

the GtkAssistantPage for child .

[transfer none]


gtk_assistant_get_pages ()

GListModel *
gtk_assistant_get_pages (GtkAssistant *assistant);

Gets a list model of the assistant pages.

Parameters

assistant

a GtkAssistant

 

Returns

A list model of the pages.

[transfer full][attributes element-type=GtkAssistantPage]


gtk_assistant_page_get_child ()

GtkWidget *
gtk_assistant_page_get_child (GtkAssistantPage *page);

Returns the child to which page belongs.

Parameters

page

a GtkAssistantPage

 

Returns

the child to which page belongs.

[transfer none]


gtk_assistant_get_current_page ()

int
gtk_assistant_get_current_page (GtkAssistant *assistant);

Returns the page number of the current page.

Parameters

assistant

a GtkAssistant

 

Returns

The index (starting from 0) of the current page in the assistant , or -1 if the assistant has no pages, or no current page.


gtk_assistant_set_current_page ()

void
gtk_assistant_set_current_page (GtkAssistant *assistant,
                                int page_num);

Switches the page to page_num .

Note that this will only be necessary in custom buttons, as the assistant flow can be set with gtk_assistant_set_forward_page_func().

Parameters

assistant

a GtkAssistant

 

page_num

index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the assistant , nothing will be done.

 

gtk_assistant_get_n_pages ()

int
gtk_assistant_get_n_pages (GtkAssistant *assistant);

Returns the number of pages in the assistant

Parameters

assistant

a GtkAssistant

 

Returns

the number of pages in the assistant


gtk_assistant_get_nth_page ()

GtkWidget *
gtk_assistant_get_nth_page (GtkAssistant *assistant,
                            int page_num);

Returns the child widget contained in page number page_num .

Parameters

assistant

a GtkAssistant

 

page_num

the index of a page in the assistant , or -1 to get the last page

 

Returns

the child widget, or NULL if page_num is out of bounds.

[nullable][transfer none]


gtk_assistant_prepend_page ()

int
gtk_assistant_prepend_page (GtkAssistant *assistant,
                            GtkWidget *page);

Prepends a page to the assistant .

Parameters

assistant

a GtkAssistant

 

page

a GtkWidget

 

Returns

the index (starting at 0) of the inserted page


gtk_assistant_append_page ()

int
gtk_assistant_append_page (GtkAssistant *assistant,
                           GtkWidget *page);

Appends a page to the assistant .

Parameters

assistant

a GtkAssistant

 

page

a GtkWidget

 

Returns

the index (starting at 0) of the inserted page


gtk_assistant_insert_page ()

int
gtk_assistant_insert_page (GtkAssistant *assistant,
                           GtkWidget *page,
                           int position);

Inserts a page in the assistant at a given position.

Parameters

assistant

a GtkAssistant

 

page

a GtkWidget

 

position

the index (starting at 0) at which to insert the page, or -1 to append the page to the assistant

 

Returns

the index (starting from 0) of the inserted page


gtk_assistant_remove_page ()

void
gtk_assistant_remove_page (GtkAssistant *assistant,
                           int page_num);

Removes the page_num ’s page from assistant .

Parameters

assistant

a GtkAssistant

 

page_num

the index of a page in the assistant , or -1 to remove the last page

 

GtkAssistantPageFunc ()

int
(*GtkAssistantPageFunc) (int current_page,
                         gpointer data);

A function used by gtk_assistant_set_forward_page_func() to know which is the next page given a current one. It’s called both for computing the next page when the user presses the “forward” button and for handling the behavior of the “last” button.

Parameters

current_page

The page number used to calculate the next page.

 

data

user data.

[closure]

Returns

The next page number.


gtk_assistant_set_forward_page_func ()

void
gtk_assistant_set_forward_page_func (GtkAssistant *assistant,
                                     GtkAssistantPageFunc page_func,
                                     gpointer data,
                                     GDestroyNotify destroy);

Sets the page forwarding function to be page_func .

This function will be used to determine what will be the next page when the user presses the forward button. Setting page_func to NULL will make the assistant to use the default forward function, which just goes to the next visible page.

Parameters

assistant

a GtkAssistant

 

page_func

the GtkAssistantPageFunc, or NULL to use the default one.

[allow-none]

data

user data for page_func

 

destroy

destroy notifier for data

 

gtk_assistant_set_page_type ()

void
gtk_assistant_set_page_type (GtkAssistant *assistant,
                             GtkWidget *page,
                             GtkAssistantPageType type);

Sets the page type for page .

The page type determines the page behavior in the assistant .

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

type

the new type for page

 

gtk_assistant_get_page_type ()

GtkAssistantPageType
gtk_assistant_get_page_type (GtkAssistant *assistant,
                             GtkWidget *page);

Gets the page type of page .

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

Returns

the page type of page


gtk_assistant_set_page_title ()

void
gtk_assistant_set_page_title (GtkAssistant *assistant,
                              GtkWidget *page,
                              const char *title);

Sets a title for page .

The title is displayed in the header area of the assistant when page is the current page.

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

title

the new title for page

 

gtk_assistant_get_page_title ()

const char *
gtk_assistant_get_page_title (GtkAssistant *assistant,
                              GtkWidget *page);

Gets the title for page .

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

Returns

the title for page


gtk_assistant_set_page_complete ()

void
gtk_assistant_set_page_complete (GtkAssistant *assistant,
                                 GtkWidget *page,
                                 gboolean complete);

Sets whether page contents are complete.

This will make assistant update the buttons state to be able to continue the task.

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

complete

the completeness status of the page

 

gtk_assistant_get_page_complete ()

gboolean
gtk_assistant_get_page_complete (GtkAssistant *assistant,
                                 GtkWidget *page);

Gets whether page is complete.

Parameters

assistant

a GtkAssistant

 

page

a page of assistant

 

Returns

TRUE if page is complete.


gtk_assistant_add_action_widget ()

void
gtk_assistant_add_action_widget (GtkAssistant *assistant,
                                 GtkWidget *child);

Adds a widget to the action area of a GtkAssistant.

Parameters

assistant

a GtkAssistant

 

child

a GtkWidget

 

gtk_assistant_remove_action_widget ()

void
gtk_assistant_remove_action_widget (GtkAssistant *assistant,
                                    GtkWidget *child);

Removes a widget from the action area of a GtkAssistant.

Parameters

assistant

a GtkAssistant

 

child

a GtkWidget

 

gtk_assistant_update_buttons_state ()

void
gtk_assistant_update_buttons_state (GtkAssistant *assistant);

Forces assistant to recompute the buttons state.

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.

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.

Parameters

assistant

a GtkAssistant

 

gtk_assistant_commit ()

void
gtk_assistant_commit (GtkAssistant *assistant);

Erases the visited page history so the back button is not shown on the current page, and removes the cancel button from subsequent pages.

Use this when the information provided up to the current page is hereafter deemed permanent and cannot be modified or undone. For example, showing a progress page to track a long-running, unreversible operation after the user has clicked apply on a confirmation page.

Parameters

assistant

a GtkAssistant

 

gtk_assistant_next_page ()

void
gtk_assistant_next_page (GtkAssistant *assistant);

Navigate to the next page.

It is a programming error to call this function when there is no next page.

This function is for use when creating pages of the GTK_ASSISTANT_PAGE_CUSTOM type.

Parameters

assistant

a GtkAssistant

 

gtk_assistant_previous_page ()

void
gtk_assistant_previous_page (GtkAssistant *assistant);

Navigate to the previous visited page.

It is a programming error to call this function when no previous page is available.

This function is for use when creating pages of the GTK_ASSISTANT_PAGE_CUSTOM type.

Parameters

assistant

a GtkAssistant

 

Types and Values

GtkAssistant

typedef struct _GtkAssistant GtkAssistant;

GtkAssistantPage

typedef struct _GtkAssistantPage GtkAssistantPage;

enum GtkAssistantPageType

An enum for determining the page role inside the GtkAssistant. It's used to handle buttons sensitivity and visibility.

Note that an assistant needs to end its page flow with a page of type GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_SUMMARY or GTK_ASSISTANT_PAGE_PROGRESS to be correct.

The Cancel button will only be shown if the page isn’t “committed”. See gtk_assistant_commit() for details.

Members

GTK_ASSISTANT_PAGE_CONTENT

The page has regular contents. Both the Back and forward buttons will be shown.

 

GTK_ASSISTANT_PAGE_INTRO

The page contains an introduction to the assistant task. Only the Forward button will be shown if there is a next page.

 

GTK_ASSISTANT_PAGE_CONFIRM

The page lets the user confirm or deny the changes. The Back and Apply buttons will be shown.

 

GTK_ASSISTANT_PAGE_SUMMARY

The page informs the user of the changes done. Only the Close button will be shown.

 

GTK_ASSISTANT_PAGE_PROGRESS

Used for tasks that take a long time to complete, blocks the assistant until the page is marked as complete. Only the back button will be shown.

 

GTK_ASSISTANT_PAGE_CUSTOM

Used for when other page types are not appropriate. No buttons will be shown, and the application must add its own buttons through gtk_assistant_add_action_widget().

 

Property Details

The “pages” property

  “pages”                    GListModel *

The pages of the assistant.

Owner: GtkAssistant

Flags: Read


The “use-header-bar” property

  “use-header-bar”           gint

TRUE if the assistant uses a GtkHeaderBar for action buttons instead of the action-area.

For technical reasons, this property is declared as an integer property, but you should only set it to TRUE or FALSE.

Owner: GtkAssistant

Flags: Read / Write / Construct Only

Allowed values: [-1,1]

Default value: -1


The “child” property

  “child”                    GtkWidget *

The content the assistant page.

Owner: GtkAssistantPage

Flags: Read / Write / Construct Only


The “complete” property

  “complete”                 gboolean

Setting the "complete" property to TRUE marks a page as complete (i.e.: all the required fields are filled out). GTK+ uses this information to control the sensitivity of the navigation buttons.

Owner: GtkAssistantPage

Flags: Read / Write

Default value: FALSE


The “page-type” property

  “page-type”                GtkAssistantPageType

The type of the assistant page.

Owner: GtkAssistantPage

Flags: Read / Write

Default value: GTK_ASSISTANT_PAGE_CONTENT


The “title” property

  “title”                    gchar *

The title of the page.

Owner: GtkAssistantPage

Flags: Read / Write

Default value: NULL

Signal Details

The “apply” signal

void
user_function (GtkAssistant *assistant,
               gpointer      user_data)

The ::apply signal is emitted when the apply button is clicked.

The default behavior of the GtkAssistant is to switch to the page after the current page, unless the current page is the last one.

A handler for the ::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 putting a page of type GTK_ASSISTANT_PAGE_PROGRESS after the confirmation page and handle this operation within the “prepare” signal of the progress page.

Parameters

assistant

the GtkAssistant

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “cancel” signal

void
user_function (GtkAssistant *assistant,
               gpointer      user_data)

The ::cancel signal is emitted when then the cancel button is clicked.

Parameters

assistant

the GtkAssistant

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “close” signal

void
user_function (GtkAssistant *assistant,
               gpointer      user_data)

The ::close 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 GTK_ASSISTANT_PAGE_CONFIRM) is clicked.

Parameters

assistant

the GtkAssistant

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “escape” signal

void
user_function (GtkAssistant *assistant,
               gpointer      user_data)

Flags: Action


The “prepare” signal

void
user_function (GtkAssistant *assistant,
               GtkWidget    *page,
               gpointer      user_data)

The ::prepare 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 preparations which are necessary before showing page .

Parameters

assistant

the GtkAssistant

 

page

the current page

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkDropDown.html0000664000175000017500000011630313710700533020420 0ustar mclasenmclasen GtkDropDown: GTK 4 Reference Manual

GtkDropDown

GtkDropDown — Choose an item from a list

Properties

gboolean enable-search Read / Write
GtkExpression * expression Read / Write
GtkListItemFactory * factory Read / Write
GtkListItemFactory * list-factory Read / Write
GListModel * model Read / Write
guint selected Read / Write
GObject * selected-item Read

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkDropDown

Implemented Interfaces

GtkDropDown implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkDropDown is a widget that allows the user to choose an item from a list of options. The GtkDropDown displays the selected choice.

The options are given to GtkDropDown in the form of GListModel, and how the individual options are represented is determined by a GtkListItemFactory. The default factory displays simple strings, and expects to obtain these from the model by evaluating an expression that has to be provided via gtk_drop_down_set_expression().

GtkDropDown knows how to obtain strings from the items in a GtkStringList; for other models, you have to provide an expression to find the strings.

GtkDropDown can optionally allow search in the popup, which is useful if the list of options is long. To enable the search entry, use gtk_drop_down_set_enable_search().

CSS nodes

GtkDropDown has a single CSS node with name dropdown, with the button and popover nodes as children.

Functions

gtk_drop_down_new ()

GtkWidget *
gtk_drop_down_new (GListModel *model,
                   GtkExpression *expression);

Creates a new GtkDropDown.

You may want to call gtk_drop_down_set_factory() to set up a way to map its items to widgets.

Parameters

model

the model to use or NULL for none.

[transfer full][allow-none]

expression

the expression to use or NULL for none.

[transfer full][allow-none]

Returns

a new GtkDropDown


gtk_drop_down_new_from_strings ()

GtkWidget *
gtk_drop_down_new_from_strings (const char * const *strings);

Creates a new GtkDropDown that is populated with the strings in strings .

Parameters

strings

The strings to put in the dropdown.

[array zero-terminated=1]

Returns

a new GtkDropDown


gtk_drop_down_set_model ()

void
gtk_drop_down_set_model (GtkDropDown *self,
                         GListModel *model);

Sets the GListModel to use.

Parameters

self

a GtkDropDown

 

model

the model to use or NULL for none.

[allow-none][transfer none]

gtk_drop_down_get_model ()

GListModel *
gtk_drop_down_get_model (GtkDropDown *self);

Gets the model that provides the displayed items.

Parameters

self

a GtkDropDown

 

Returns

The model in use.

[nullable][transfer none]


gtk_drop_down_set_selected ()

void
gtk_drop_down_set_selected (GtkDropDown *self,
                            guint position);

Selects the item at the given position.

Parameters

self

a GtkDropDown

 

position

the position of the item to select, or GTK_INVALID_LIST_POSITION

 

gtk_drop_down_get_selected ()

guint
gtk_drop_down_get_selected (GtkDropDown *self);

Gets the position of the selected item.

Parameters

self

a GtkDropDown

 

Returns

the position of the selected item, or GTK_INVALID_LIST_POSITION if not item is selected


gtk_drop_down_get_selected_item ()

gpointer
gtk_drop_down_get_selected_item (GtkDropDown *self);

Gets the selected item. If no item is selected, NULL is returned.

Parameters

self

a GtkDropDown

 

Returns

The selected item.

[transfer none][type GObject][nullable]


gtk_drop_down_set_factory ()

void
gtk_drop_down_set_factory (GtkDropDown *self,
                           GtkListItemFactory *factory);

Sets the GtkListItemFactory to use for populating list items.

Parameters

self

a GtkDropDown

 

factory

the factory to use or NULL for none.

[allow-none][transfer none]

gtk_drop_down_get_factory ()

GtkListItemFactory *
gtk_drop_down_get_factory (GtkDropDown *self);

Gets the factory that's currently used to populate list items.

The factory returned by this function is always used for the item in the button. It is also used for items in the popup if “list-factory” is not set.

Parameters

self

a GtkDropDown

 

Returns

The factory in use.

[nullable][transfer none]


gtk_drop_down_set_list_factory ()

void
gtk_drop_down_set_list_factory (GtkDropDown *self,
                                GtkListItemFactory *factory);

Sets the GtkListItemFactory to use for populating list items in the popup.

Parameters

self

a GtkDropDown

 

factory

the factory to use or NULL for none.

[allow-none][transfer none]

gtk_drop_down_get_list_factory ()

GtkListItemFactory *
gtk_drop_down_get_list_factory (GtkDropDown *self);

Gets the factory that's currently used to populate list items in the popup.

Parameters

self

a GtkDropDown

 

Returns

The factory in use.

[nullable][transfer none]


gtk_drop_down_set_expression ()

void
gtk_drop_down_set_expression (GtkDropDown *self,
                              GtkExpression *expression);

Sets the expression that gets evaluated to obtain strings from items when searching in the popup. The expression must have a value type of GTK_TYPE_STRING.

Parameters

self

a GtkDropDown

 

expression

a GtkExpression, or NULL.

[nullable]

gtk_drop_down_get_expression ()

GtkExpression *
gtk_drop_down_get_expression (GtkDropDown *self);

Gets the expression set with gtk_drop_down_set_expression().

Parameters

self

a GtkDropDown

 

Returns

a GtkExpression or NULL.

[nullable][transfer none]


gtk_drop_down_set_enable_search ()

void
gtk_drop_down_set_enable_search (GtkDropDown *self,
                                 gboolean enable_search);

Sets whether a search entry will be shown in the popup that allows to search for items in the list.

Note that “expression” must be set for search to work.

Parameters

self

a GtkDropDown

 

enable_search

whether to enable search

 

gtk_drop_down_get_enable_search ()

gboolean
gtk_drop_down_get_enable_search (GtkDropDown *self);

Returns whether search is enabled.

Parameters

self

a GtkDropDown

 

Returns

TRUE if the popup includes a search entry

Types and Values

GtkDropDown

typedef struct _GtkDropDown GtkDropDown;

Property Details

The “enable-search” property

  “enable-search”            gboolean

Whether to show a search entry in the popup.

Note that search requires “expression” to be set.

Owner: GtkDropDown

Flags: Read / Write

Default value: FALSE


The “expression” property

  “expression”               GtkExpression *

An expression to evaluate to obtain strings to match against the search term (see “enable-search”). If “factory” is not set, the expression is also used to bind strings to labels produced by a default factory.

[type GtkExpression]

Owner: GtkDropDown

Flags: Read / Write


The “factory” property

  “factory”                  GtkListItemFactory *

Factory for populating list items.

Owner: GtkDropDown

Flags: Read / Write


The “list-factory” property

  “list-factory”             GtkListItemFactory *

The factory for populating list items in the popup.

If this is not set, “factory” is used.

Owner: GtkDropDown

Flags: Read / Write


The “model” property

  “model”                    GListModel *

Model for the displayed items.

Owner: GtkDropDown

Flags: Read / Write


The “selected” property

  “selected”                 guint

The position of the selected item in “model”, or GTK_INVALID_LIST_POSITION if no item is selected.

Owner: GtkDropDown

Flags: Read / Write

Default value: 4294967295


The “selected-item” property

  “selected-item”            GObject *

The selected item.

Owner: GtkDropDown

Flags: Read

See Also

GtkComboBox

docs/reference/gtk/html/GtkBinLayout.html0000664000175000017500000001262613710700533020575 0ustar mclasenmclasen GtkBinLayout: GTK 4 Reference Manual

GtkBinLayout

GtkBinLayout — A layout manager for bin-like widgets

Types and Values

Object Hierarchy

    GObject
    ╰── GtkLayoutManager
        ╰── GtkBinLayout

Includes

#include <gtk/gtk.h>

Description

GtkBinLayout is a GtkLayoutManager subclass useful for create "bins" of widgets. GtkBinLayout will stack each child of a widget on top of each other, using the “hexpand”, “vexpand”, “halign”, and “valign” properties of each child to determine where they should be positioned.

Functions

gtk_bin_layout_new ()

GtkLayoutManager *
gtk_bin_layout_new (void);

Creates a new GtkBinLayout instance.

Returns

the newly created GtkBinLayout

Types and Values

GtkBinLayout

typedef struct _GtkBinLayout GtkBinLayout;
docs/reference/gtk/html/GtkFileFilter.html0000664000175000017500000006352713710700533020722 0ustar mclasenmclasen GtkFileFilter: GTK 4 Reference Manual

GtkFileFilter

GtkFileFilter — Filtering files

Properties

gchar * name Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilter
        ╰── GtkFileFilter

Implemented Interfaces

GtkFileFilter implements GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

A GtkFileFilter can be used to restrict the files being shown in a GtkFileChooser. Files can be filtered based on their name (with gtk_file_filter_add_pattern()) or on their mime type (with gtk_file_filter_add_mime_type()).

Filtering by mime types handles aliasing and subclassing of mime types; e.g. a filter for text/plain also matches a file with mime type application/rtf, since application/rtf is a subclass of text/plain. Note that GtkFileFilter allows wildcards for the subtype of a mime type, so you can e.g. filter for image/*.

Normally, file filters are used by adding them to a GtkFileChooser (see gtk_file_chooser_add_filter()), but it is also possible to manually use a file filter on any GtkFilterListModel containing GFileInfo objects.

GtkFileFilter as GtkBuildable

The GtkFileFilter implementation of the GtkBuildable interface supports adding rules using the <mime-types> and <patterns> elements and listing the rules within. Specifying a <mime-type> or <pattern> has the same effect as as calling gtk_file_filter_add_mime_type() or gtk_file_filter_add_pattern().

An example of a UI definition fragment specifying GtkFileFilter rules:

1
2
3
4
5
6
7
8
9
10
11
<object class="GtkFileFilter">
  <property name="name" translatable="yes">Text and Images</property>
  <mime-types>
    <mime-type>text/plain</mime-type>
    <mime-type>image/ *</mime-type>
  </mime-types>
  <patterns>
    <pattern>*.txt</pattern>
    <pattern>*.png</pattern>
  </patterns>
</object>

Functions

gtk_file_filter_new ()

GtkFileFilter *
gtk_file_filter_new (void);

Creates a new GtkFileFilter with no rules added to it.

Such a filter doesn’t accept any files, so is not particularly useful until you add rules with gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(), or gtk_file_filter_add_pixbuf_formats().

To create a filter that accepts any file, use:

1
2
GtkFileFilter *filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, "*");

Returns

a new GtkFileFilter


gtk_file_filter_set_name ()

void
gtk_file_filter_set_name (GtkFileFilter *filter,
                          const char *name);

Sets a human-readable name of the filter; this is the string that will be displayed in the file chooser if there is a selectable list of filters.

Parameters

filter

a GtkFileFilter

 

name

the human-readable-name for the filter, or NULL to remove any existing name.

[allow-none]

gtk_file_filter_get_name ()

const char *
gtk_file_filter_get_name (GtkFileFilter *filter);

Gets the human-readable name for the filter. See gtk_file_filter_set_name().

Parameters

filter

a GtkFileFilter

 

Returns

The human-readable name of the filter, or NULL. This value is owned by GTK and must not be modified or freed.

[nullable]


gtk_file_filter_add_mime_type ()

void
gtk_file_filter_add_mime_type (GtkFileFilter *filter,
                               const char *mime_type);

Adds a rule allowing a given mime type to filter .

Parameters

filter

A GtkFileFilter

 

mime_type

name of a MIME type

 

gtk_file_filter_add_pattern ()

void
gtk_file_filter_add_pattern (GtkFileFilter *filter,
                             const char *pattern);

Adds a rule allowing a shell style glob to a filter.

Parameters

filter

a GtkFileFilter

 

pattern

a shell style glob

 

gtk_file_filter_add_pixbuf_formats ()

void
gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter);

Adds a rule allowing image files in the formats supported by GdkPixbuf.

This is equivalent to calling gtk_file_filter_add_mime_type() for all the supported mime types.

Parameters

filter

a GtkFileFilter

 

gtk_file_filter_get_attributes ()

const char **
gtk_file_filter_get_attributes (GtkFileFilter *filter);

Gets the attributes that need to be filled in for the GFileInfo passed to gtk_file_filter_filter()

This function will not typically be used by applications; it is intended principally for use in the implementation of GtkFileChooser.

Parameters

filter

a GtkFileFilter

 

Returns

the attributes.

[transfer none]


gtk_file_filter_new_from_gvariant ()

GtkFileFilter *
gtk_file_filter_new_from_gvariant (GVariant *variant);

Deserialize a file filter from an a{sv} variant in the format produced by gtk_file_filter_to_gvariant().

Parameters

variant

an a{sv} GVariant

 

Returns

a new GtkFileFilter object.

[transfer full]


gtk_file_filter_to_gvariant ()

GVariant *
gtk_file_filter_to_gvariant (GtkFileFilter *filter);

Serialize a file filter to an a{sv} variant.

Parameters

filter

a GtkFileFilter

 

Returns

a new, floating, GVariant.

[transfer none]

Types and Values

GtkFileFilter

typedef struct _GtkFileFilter GtkFileFilter;

Property Details

The “name” property

  “name”                     gchar *

The human-readable name of the filter.

This is the string that will be displayed in the file selector user interface if there is a selectable list of filters.

Owner: GtkFileFilter

Flags: Read / Write

Default value: NULL

See Also

GtkFileChooser

docs/reference/gtk/html/GtkBitset.html0000664000175000017500000022434513710700533020124 0ustar mclasenmclasen GtkBitset: GTK 4 Reference Manual

GtkBitset

GtkBitset — Sets of integers

Types and Values

Object Hierarchy

    GBoxed
    ╰── GtkBitset

Includes

#include <gtk/gtk.h>

Description

GtkBitset is a data structure for representing a set of unsigned integers. Another name for this data structure is "bitmap".

The current implementation is based on roaring bitmaps.

A bitset allows adding a set of integers and provides support for set operations like unions, intersections and checks for equality or if a value is contained in the set. GtkBitset also contains various functions to query metadata about the bitset, such as the minimum or maximum values or its size.

The fastest way to iterate values in a bitset is GtkBitsetIter.

The main use case for GtkBitset is implementing complex selections for GtkSelectionModel.

Functions

gtk_bitset_ref ()

GtkBitset *
gtk_bitset_ref (GtkBitset *self);

Acquires a reference on the given GtkBitset.

Parameters

self

a GtkBitset.

[allow-none]

Returns

the GtkBitset with an additional reference.

[transfer none]


gtk_bitset_unref ()

void
gtk_bitset_unref (GtkBitset *self);

Releases a reference on the given GtkBitset.

If the reference was the last, the resources associated to the self are freed.

Parameters

self

a GtkBitset.

[allow-none]

gtk_bitset_new_empty ()

GtkBitset *
gtk_bitset_new_empty (void);

Creates a new empty bitset.

Returns

A new empty bitset


gtk_bitset_new_range ()

GtkBitset *
gtk_bitset_new_range (guint start,
                      guint n_items);

Creates a bitset with the given range set.

Parameters

start

first value to add

 

n_items

number of consecutive values to add

 

Returns

A new bitset


gtk_bitset_copy ()

GtkBitset *
gtk_bitset_copy (const GtkBitset *self);

Creates a copy of self .

Parameters

self

a GtkBitset

 

Returns

A new bitset that contains the same values as self .

[transfer full]


gtk_bitset_contains ()

gboolean
gtk_bitset_contains (const GtkBitset *self,
                     guint value);

Checks if the given value has been added to bitset

Parameters

self

a GtkBitset

 

value

the value to check

 

Returns

TRUE if self contains value


gtk_bitset_is_empty ()

gboolean
gtk_bitset_is_empty (const GtkBitset *self);

Check if no value is contained in bitset.

Parameters

self

a GtkBitset

 

Returns

TRUE if self is empty


gtk_bitset_equals ()

gboolean
gtk_bitset_equals (const GtkBitset *self,
                   const GtkBitset *other);

Returns TRUE if self and other contain the same values.

Parameters

self

a GtkBitset

 

other

another GtkBitset

 

Returns

TRUE if self and other contain the same values


gtk_bitset_get_minimum ()

guint
gtk_bitset_get_minimum (const GtkBitset *self);

Returns the smallest value in self . If self is empty, G_MAXUINT is returned.

Parameters

self

a GtkBitset

 

Returns

The smallest value in self


gtk_bitset_get_maximum ()

guint
gtk_bitset_get_maximum (const GtkBitset *self);

Returns the largest value in self . If self is empty, 0 is returned.

Parameters

self

a GtkBitset

 

Returns

The largest value in self


gtk_bitset_get_size ()

guint64
gtk_bitset_get_size (const GtkBitset *self);

Gets the number of values that were added to the set. For example, if the set is empty, 0 is returned.

Note that this function returns a guint64, because when all values are set, the return value is G_MAXUINT + 1. Unless you are sure this cannot happen (it can't with GListModel), be sure to use a 64bit type.

Parameters

self

a GtkBitSet

 

Returns

The number of values in the set.


gtk_bitset_get_size_in_range ()

guint64
gtk_bitset_get_size_in_range (const GtkBitset *self,
                              guint first,
                              guint last);

Gets the number of values that are part of the set from first to last (inclusive).

Note that this function returns a guint64, because when all values are set, the return value is G_MAXUINT + 1. Unless you are sure this cannot happen (it can't with GListModel), be sure to use a 64bit type.

Parameters

self

a GtkBitSet

 

first

the first element to include

 

last

the last element to include

 

Returns

The number of values in the set from first to last .


gtk_bitset_get_nth ()

guint
gtk_bitset_get_nth (const GtkBitset *self,
                    guint nth);

Returns the value of the nth item in self.

If nth is >= the size of self , 0 is returned.

Parameters

self

a GtkBitset

 

nth

index of the item to get

 

Returns

the value of the nth item in self


gtk_bitset_remove_all ()

void
gtk_bitset_remove_all (GtkBitset *self);

Removes all values from the bitset so that it is empty again.

Parameters

self

a GtkBitset

 

gtk_bitset_add ()

gboolean
gtk_bitset_add (GtkBitset *self,
                guint value);

Adds value to self if it wasn't part of it before.

Parameters

self

a GtkBitset

 

value

value to add

 

Returns

TRUE if value was not part of self and self was changed.


gtk_bitset_remove ()

gboolean
gtk_bitset_remove (GtkBitset *self,
                   guint value);

Removes value from self if it was part of it before.

Parameters

self

a GtkBitset

 

value

value to add

 

Returns

TRUE if value was part of self and self was changed.


gtk_bitset_add_range ()

void
gtk_bitset_add_range (GtkBitset *self,
                      guint start,
                      guint n_items);

Adds all values from start (inclusive) to start + n_items (exclusive) in self .

Parameters

self

a GtkBitset

 

start

first value to add

 

n_items

number of consecutive values to add

 

gtk_bitset_remove_range ()

void
gtk_bitset_remove_range (GtkBitset *self,
                         guint start,
                         guint n_items);

Removes all values from start (inclusive) to start + n_items (exclusive) in self .

Parameters

self

a GtkBitset

 

start

first value to remove

 

n_items

number of consecutive values to remove

 

gtk_bitset_add_range_closed ()

void
gtk_bitset_add_range_closed (GtkBitset *self,
                             guint first,
                             guint last);

Adds the closed range [first , last ], so first , last and all values inbetween. first must be smaller than last .

Parameters

self

a GtkBitset

 

first

first value to add

 

last

last value to add

 

gtk_bitset_remove_range_closed ()

void
gtk_bitset_remove_range_closed (GtkBitset *self,
                                guint first,
                                guint last);

Removes the closed range [first , last ], so first , last and all values inbetween. first must be smaller than last .

Parameters

self

a GtkBitset

 

first

first value to remove

 

last

last value to remove

 

gtk_bitset_add_rectangle ()

void
gtk_bitset_add_rectangle (GtkBitset *self,
                          guint start,
                          guint width,
                          guint height,
                          guint stride);

Interprets the values as a 2-dimensional boolean grid with the given stride and inside that grid, adds a rectangle with the given width and height .

Parameters

self

a GtkBitset

 

start

first value to add

 

width

width of the rectangle

 

height

height of the rectangle

 

stride

row stride of the grid

 

gtk_bitset_remove_rectangle ()

void
gtk_bitset_remove_rectangle (GtkBitset *self,
                             guint start,
                             guint width,
                             guint height,
                             guint stride);

Interprets the values as a 2-dimensional boolean grid with the given stride and inside that grid, removes a rectangle with the given width and height .

Parameters

self

a GtkBitset

 

start

first value to remove

 

width

width of the rectangle

 

height

height of the rectangle

 

stride

row stride of the grid

 

gtk_bitset_union ()

void
gtk_bitset_union (GtkBitset *self,
                  const GtkBitset *other);

Sets self to be the union of self and other , that is add all values from other into self that weren't part of it.

It is allowed for self and other to be the same bitset. Nothing will happen in that case.

Parameters

self

a GtkBitset

 

other

the GtkBitset to union with

 

gtk_bitset_intersect ()

void
gtk_bitset_intersect (GtkBitset *self,
                      const GtkBitset *other);

Sets self to be the intersection of self and other , that is remove all values from self that are not part of other .

It is allowed for self and other to be the same bitset. Nothing will happen in that case.

Parameters

self

a GtkBitset

 

other

the GtkBitset to intersect with

 

gtk_bitset_subtract ()

void
gtk_bitset_subtract (GtkBitset *self,
                     const GtkBitset *other);

Sets self to be the subtraction of other from self , that is remove all values from self that are part of other .

It is allowed for self and other to be the same bitset. The bitset will be emptied in that case.

Parameters

self

a GtkBitset

 

other

the GtkBitset to subtract

 

gtk_bitset_difference ()

void
gtk_bitset_difference (GtkBitset *self,
                       const GtkBitset *other);

Sets self to be the symmetric difference of self and other , that is set self to contain all values that were either contained in self or in other , but not in both. This operation is also called an XOR.

It is allowed for self and other to be the same bitset. The bitset will be emptied in that case.

Parameters

self

a GtkBitset

 

other

the GtkBitset to compute the difference from

 

gtk_bitset_shift_left ()

void
gtk_bitset_shift_left (GtkBitset *self,
                       guint amount);

Shifts all values in self to the left by amount . Values smaller than amount are discarded.

Parameters

self

a $GtkBitset

 

amount

amount to shift all values to the left

 

gtk_bitset_shift_right ()

void
gtk_bitset_shift_right (GtkBitset *self,
                        guint amount);

Shifts all values in self to the right by amount . Values that end up too large to be held in a guint are discarded.

Parameters

self

a $GtkBitset

 

amount

amount to shift all values to the right

 

gtk_bitset_splice ()

void
gtk_bitset_splice (GtkBitset *self,
                   guint position,
                   guint removed,
                   guint added);

This is a support function for GListModel handling, by mirroring the “items-changed” signal.

First, it "cuts" the values from position to removed from the bitset. That is, it removes all those values and shifts all larger values to the left by removed places.

Then, it "pastes" new room into the bitset by shifting all values larger than position by added spaces to the right. This frees up space that can then be filled.

Parameters

self

a GtkBitset

 

position

position at which to slice

 

removed

number of values to remove

 

added

number of values to add

 

gtk_bitset_iter_init_first ()

gboolean
gtk_bitset_iter_init_first (GtkBitsetIter *iter,
                            const GtkBitset *set,
                            guint *value);

Initializes an iterator for set and points it to the first value in set . If set is empty, FALSE is returned and value is set to G_MAXUINT.

Parameters

iter

a pointer to an uninitialized GtkBitsetIter.

[out]

set

a GtkBitset

 

value

Set to the first value in set .

[out][optional]

Returns

TRUE if set isn't empty.


gtk_bitset_iter_init_last ()

gboolean
gtk_bitset_iter_init_last (GtkBitsetIter *iter,
                           const GtkBitset *set,
                           guint *value);

Initializes an iterator for set and points it to the last value in set . If set is empty, FALSE is returned.

Parameters

iter

a pointer to an uninitialized GtkBitsetIter.

[out]

set

a GtkBitset

 

value

Set to the last value in set .

[out][optional]

Returns

TRUE if set isn't empty.


gtk_bitset_iter_init_at ()

gboolean
gtk_bitset_iter_init_at (GtkBitsetIter *iter,
                         const GtkBitset *set,
                         guint target,
                         guint *value);

Initializes iter to point to target . If target is not found, finds the next value after it. If no value >= target exists in set , this function returns FALSE.

Parameters

iter

a pointer to an uninitialized GtkBitsetIter.

[out]

set

a GtkBitset

 

target

target value to start iterating at

 

value

Set to the found value in set .

[out][optional]

Returns

TRUE if a value was found.


gtk_bitset_iter_next ()

gboolean
gtk_bitset_iter_next (GtkBitsetIter *iter,
                      guint *value);

Moves iter to the next value in the set. If it was already pointing to the last value in the set, FALSE is returned and iter is invalidated.

Parameters

iter

a pointer to a valid GtkBitsetIter

 

value

Set to the next value.

[out][optional]

Returns

TRUE if a next value existed


gtk_bitset_iter_previous ()

gboolean
gtk_bitset_iter_previous (GtkBitsetIter *iter,
                          guint *value);

Moves iter to the previous value in the set. If it was already pointing to the first value in the set, FALSE is returned and iter is invalidated.

Parameters

iter

a pointer to a valid GtkBitsetIter

 

value

Set to the previous value.

[out][optional]

Returns

TRUE if a previous value existed


gtk_bitset_iter_get_value ()

guint
gtk_bitset_iter_get_value (const GtkBitsetIter *iter);

Gets the current value that iter points to.

If iter is not valid and gtk_bitset_iter_is_valid() returns FALSE, this function returns 0.

Parameters

iter

a GtkBitsetIter

 

Returns

The current value pointer to by iter


gtk_bitset_iter_is_valid ()

gboolean
gtk_bitset_iter_is_valid (const GtkBitsetIter *iter);

Checks if iter points to a valid value.

Parameters

iter

a GtkBitsetIter

 

Returns

TRUE if iter points to a valid value

Types and Values

GtkBitset

typedef struct _GtkBitset GtkBitset;

The GtkBitset structure contains only private data.


struct GtkBitsetIter

struct GtkBitsetIter {
  gpointer private_data[10];
};

An opaque, stack-allocated struct for iterating over the elements of a GtkBitset. Before a GtkBitsetIter can be used, it needs to be initialized with gtk_bitset_iter_init_first(), gtk_bitset_iter_init_last() or gtk_bitset_iter_init_at().

docs/reference/gtk/html/GtkDropTarget.html0000664000175000017500000013060513710700533020740 0ustar mclasenmclasen GtkDropTarget: GTK 4 Reference Manual

GtkDropTarget

GtkDropTarget — Event controller to receive DND drops

Properties

GdkDragAction actions Read / Write
GdkDrop * drop Read
GdkContentFormats * formats Read
gboolean preload Read / Write
GValue * value Read

Signals

gboolean accept Run Last
gboolean drop Run Last
GdkDragAction enter Run Last
void leave Run Last
GdkDragAction motion Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkDropTarget

Includes

#include <gtk/gtk.h>

Description

GtkDropTarget is an event controller implementing a simple way to receive Drag-and-Drop operations.

The most basic way to use a GtkDropTarget to receive drops on a widget is to create it via gtk_drop_target_new() passing in the GType of the data you want to receive and connect to the GtkDropTarget::drop signal to receive the data.

GtkDropTarget supports more options, such as:

However, GtkDropTarget is ultimately modeled in a synchronous way and only supports data transferred via GType. If you want full control over an ongoing drop, the GtkDropTargetAsync object gives you this ability.

While a pointer is dragged over the drop target's widget and the drop has not been rejected, that widget will receive the GTK_STATE_FLAG_DROP_ACTIVE state, which can be used to style the widget.

Functions

gtk_drop_target_new ()

GtkDropTarget *
gtk_drop_target_new (GType type,
                     GdkDragAction actions);

Creates a new GtkDropTarget object.

If the drop target should support more than 1 type, pass G_TYPE_INVALID for type and then call gtk_drop_target_set_gtypes().

Parameters

type

The supported type or G_TYPE_INVALID

 

actions

the supported actions

 

Returns

the new GtkDropTarget


gtk_drop_target_set_gtypes ()

void
gtk_drop_target_set_gtypes (GtkDropTarget *self,
                            GType *types,
                            gsize n_types);

Sets the supported GTypes for this drop target.

The GtkDropTarget::drop signal will

Parameters

self

a GtkDropTarget

 

types

all supported GTypes that can be dropped.

[nullable][transfer none][array length=n_types]

n_types

number of types

 

gtk_drop_target_get_gtypes ()

const GType *
gtk_drop_target_get_gtypes (GtkDropTarget *self,
                            gsize *n_types);

Gets the list of supported GTypes for self . If no type have been set, NULL will be returned.

Parameters

self

a GtkDropTarget

 

n_types

optional pointer to take the number of GTypes contained in the return value.

[out][optional]

Returns

G_TYPE_INVALID-terminated array of types included in formats or NULL if none.

[transfer none][nullable][array length=n_types]


gtk_drop_target_get_formats ()

GdkContentFormats *
gtk_drop_target_get_formats (GtkDropTarget *self);

Gets the data formats that this drop target accepts.

If the result is NULL, all formats are expected to be supported.

Parameters

self

a GtkDropTarget

 

Returns

the supported data formats.

[nullable]


gtk_drop_target_set_actions ()

void
gtk_drop_target_set_actions (GtkDropTarget *self,
                             GdkDragAction actions);

Sets the actions that this drop target supports.

Parameters

self

a GtkDropTarget

 

actions

the supported actions

 

gtk_drop_target_get_actions ()

GdkDragAction
gtk_drop_target_get_actions (GtkDropTarget *self);

Gets the actions that this drop target supports.

Parameters

self

a GtkDropTarget

 

Returns

the actions that this drop target supports


gtk_drop_target_set_preload ()

void
gtk_drop_target_set_preload (GtkDropTarget *self,
                             gboolean preload);

Sets the GtkDropTarget:preload property.

Parameters

self

a GtkDropTarget

 

preload

TRUE to preload drop data

 

gtk_drop_target_get_preload ()

gboolean
gtk_drop_target_get_preload (GtkDropTarget *self);

Gets the value of the GtkDropTarget:preload property.

Parameters

self

a GtkDropTarget

 

Returns

TRUE if drop data should be preloaded


gtk_drop_target_get_drop ()

GdkDrop *
gtk_drop_target_get_drop (GtkDropTarget *self);

Gets the currently handled drop operation.

If no drop operation is going on, NULL is returned.

Parameters

self

a GtkDropTarget

 

Returns

The current drop.

[nullable][transfer none]


gtk_drop_target_get_value ()

const GValue *
gtk_drop_target_get_value (GtkDropTarget *self);

Gets the value of the GtkDropTarget:value property.

Parameters

self

a GtkDropTarget

 

Returns

The current drop data.

[nullable][transfer none]


gtk_drop_target_reject ()

void
gtk_drop_target_reject (GtkDropTarget *self);

Rejects the ongoing drop operation.

If no drop operation is ongoing - when GdkDropTarget:drop returns NULL - this function does nothing.

This function should be used when delaying the decision on whether to accept a drag or not until after reading the data.

Parameters

self

a GtkDropTarget

 

Types and Values

GtkDropTarget

typedef struct _GtkDropTarget GtkDropTarget;

Property Details

The “actions” property

  “actions”                  GdkDragAction

The GdkDragActions that this drop target supports

Owner: GtkDropTarget

Flags: Read / Write


The “drop” property

  “drop”                     GdkDrop *

The GdkDrop that is currently being performed

Owner: GtkDropTarget

Flags: Read


The “formats” property

  “formats”                  GdkContentFormats *

The GdkContentFormats that determine the supported data formats

Owner: GtkDropTarget

Flags: Read


The “preload” property

  “preload”                  gboolean

Whether the drop data should be preloaded when the pointer is only hovering over the widget but has not been released.

Setting this property allows finer grained reaction to an ongoing drop at the cost of loading more data.

The default value for this property is FALSE to avoid downloading huge amounts of data by accident. For example, if somebody drags a full document of gigabytes of text from a text editor across a widget with a preloading drop target, this data will be downloaded, even if the data is ultimately dropped elsewhere.

For a lot of data formats, the amount of data is very small (like GDK_TYPE_RGBA), so enabling this property does not hurt at all. And for local-only drag'n'drop operations, no data transfer is done, so enabling it there is free.

Owner: GtkDropTarget

Flags: Read / Write

Default value: FALSE


The “value” property

  “value”                    GValue *

The value for this drop operation or NULL if the data has not been loaded yet or no drop operation is going on.

Data may be available before the GtkDropTarget::drop signal gets emitted - for example when the GtkDropTarget:preload property is set. You can use the GObject::notify signal to be notified of available data.

Owner: GtkDropTarget

Flags: Read

Signal Details

The “accept” signal

gboolean
user_function (GtkDropTarget *self,
               GdkDrop       *drop,
               gpointer       user_data)

The ::accept signal is emitted on the drop site when a drop operation is about to begin. If the drop is not accepted, FALSE will be returned and the drop target will ignore the drop. If TRUE is returned, the drop is accepted for now but may be rejected later via a call to gtk_drop_target_reject() or ultimately by returning FALSE from GtkDropTarget::drop

The default handler for this signal decides whether to accept the drop based on the formats provided by the drop .

If the decision whether the drop will be accepted or rejected needs inspecting the data, this function should return TRUE, the GtkDropTarget:preload property should be set and the value should be inspected via the GObject::notify:value signal and then call gtk_drop_target_reject().

Parameters

self

the GtkDropTarget

 

drop

the GdkDrop

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if drop is accepted

Flags: Run Last


The “drop” signal

gboolean
user_function (GtkDropTarget *self,
               GValue        *value,
               gdouble        x,
               gdouble        y,
               gpointer       user_data)

The ::drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns FALSE and no further processing is necessary.

Otherwise, the handler returns TRUE. In this case, this handler will accept the drop. The handler is responsible for rading the given value and performing the drop operation.

Parameters

self

the GtkDropTarget

 

value

the GValue being dropped

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

whether the drop was accepted at the given pointer position

Flags: Run Last


The “enter” signal

GdkDragAction
user_function (GtkDropTarget *self,
               gdouble        x,
               gdouble        y,
               gpointer       user_data)

The ::enter signal is emitted on the drop site when the pointer enters the widget. It can be used to set up custom highlighting.

Parameters

self

the GtkDropTarget

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

Preferred action for this drag operation or 0 if dropping is not supported at the current x ,y location.

Flags: Run Last


The “leave” signal

void
user_function (GtkDropTarget *self,
               gpointer       user_data)

The ::leave signal is emitted on the drop site when the pointer leaves the widget. Its main purpose it to undo things done in “enter”.

Parameters

self

the GtkDropTarget

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “motion” signal

GdkDragAction
user_function (GtkDropTarget *self,
               gdouble        x,
               gdouble        y,
               gpointer       user_data)

The ::motion signal is emitted while the pointer is moving over the drop target.

Parameters

self

the GtkDropTarget

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

Preferred action for this drag operation or 0 if dropping is not supported at the current x ,y location.

Flags: Run Last

docs/reference/gtk/html/GtkBookmarkList.html0000664000175000017500000004745313710700533021276 0ustar mclasenmclasen GtkBookmarkList: GTK 4 Reference Manual

GtkBookmarkList

GtkBookmarkList — A list model for recently used files

Properties

gchar * attributes Read / Write
gchar * filename Read / Write / Construct Only
gint io-priority Read / Write
gboolean loading Read

Types and Values

Object Hierarchy

    GObject
    ╰── GtkBookmarkList

Implemented Interfaces

GtkBookmarkList implements GListModel.

Includes

#include <gtk/gtk.h>

Description

GtkBookmarkList is a list model that wraps GBookmarkFile. It presents a GListModel and fills it asynchronously with the GFileInfos returned from that function.

The GFileInfos in the list have some attributes in the recent namespace added: recent::private (boolean) and recent:applications (stringv).

Functions

gtk_bookmark_list_new ()

GtkBookmarkList *
gtk_bookmark_list_new (const char *filename,
                       const char *attributes);

Creates a new GtkBookmarkList with the given attributes .

Parameters

filename

The bookmark file to load.

[allow-none]

attributes

The attributes to query.

[allow-none]

Returns

a new GtkBookmarkList


gtk_bookmark_list_get_filename ()

const char *
gtk_bookmark_list_get_filename (GtkBookmarkList *self);

Returns the filename of the bookmark file that this list is loading.

Parameters

self

a GtkBookmarkList

 

Returns

the filename of the .xbel file


gtk_bookmark_list_set_attributes ()

void
gtk_bookmark_list_set_attributes (GtkBookmarkList *self,
                                  const char *attributes);

Sets the attributes to be enumerated and starts the enumeration.

If attributes is NULL, no attributes will be queried, but a list of GFileInfos will still be created.

Parameters

self

a GtkBookmarkList

 

attributes

the attributes to enumerate.

[allow-none]

gtk_bookmark_list_get_attributes ()

const char *
gtk_bookmark_list_get_attributes (GtkBookmarkList *self);

Gets the attributes queried on the children.

Parameters

self

a GtkBookmarkList

 

Returns

The queried attributes.

[nullable][transfer none]


gtk_bookmark_list_set_io_priority ()

void
gtk_bookmark_list_set_io_priority (GtkBookmarkList *self,
                                   int io_priority);

Sets the IO priority to use while loading files.

The default IO priority is G_PRIORITY_DEFAULT.

Parameters

self

a GtkBookmarkList

 

io_priority

IO priority to use

 

gtk_bookmark_list_get_io_priority ()

int
gtk_bookmark_list_get_io_priority (GtkBookmarkList *self);

Gets the IO priority set via gtk_bookmark_list_set_io_priority().

Parameters

self

a GtkBookmarkList

 

Returns

The IO priority.


gtk_bookmark_list_is_loading ()

gboolean
gtk_bookmark_list_is_loading (GtkBookmarkList *self);

Returns TRUE if the files are currently being loaded.

Files will be added to self from time to time while loading is going on. The order in which are added is undefined and may change inbetween runs.

Parameters

self

a GtkBookmarkList

 

Returns

TRUE if self is loading

Types and Values

GtkBookmarkList

typedef struct _GtkBookmarkList GtkBookmarkList;

Property Details

The “attributes” property

  “attributes”               gchar *

The attributes to query

Owner: GtkBookmarkList

Flags: Read / Write

Default value: NULL


The “filename” property

  “filename”                 gchar *

Bookmark file to load.

Owner: GtkBookmarkList

Flags: Read / Write / Construct Only

Default value: NULL


The “io-priority” property

  “io-priority”              gint

Priority used when loading

Owner: GtkBookmarkList

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0


The “loading” property

  “loading”                  gboolean

TRUE if files are being loaded

Owner: GtkBookmarkList

Flags: Read

Default value: FALSE

See Also

GListModel, GBookmarkFile

docs/reference/gtk/html/GtkFilter.html0000664000175000017500000004025113710700533020107 0ustar mclasenmclasen GtkFilter: GTK 4 Reference Manual

GtkFilter

GtkFilter — Filtering items

Functions

gboolean gtk_filter_match ()
GtkFilterMatch gtk_filter_get_strictness ()
void gtk_filter_changed ()

Signals

void changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkFilter
        ├── GtkMultiFilter
        ├── GtkCustomFilter
        ├── GtkFileFilter
        ╰── GtkStringFilter

Includes

#include <gtk/gtk.h>

Description

A GtkFilter object describes the filtering to be performed by a GtkFilterListModel.

The model will use the filter to determine if it should include items or not by calling gtk_filter_match() for each item and only keeping the ones that the function returns TRUE for.

Filters may change what items they match through their lifetime. In that case, they will emit the “changed” signal to notify that previous filter results are no longer valid and that items should be checked again via gtk_filter_match().

GTK provides various pre-made filter implementations for common filtering operations. These filters often include properties that can be linked to various widgets to easily allow searches.

However, in particular for large lists or complex search methods, it is also possible to subclass GtkFilter and provide one's own filter.

Functions

gtk_filter_match ()

gboolean
gtk_filter_match (GtkFilter *self,
                  gpointer item);

Checks if the given item is matched by the filter or not.

Parameters

self

a GtkFilter

 

item

The item to check.

[type GObject][transfer none]

Returns

TRUE if the filter matches the item and a filter model should keep it, FALSE if not.


gtk_filter_get_strictness ()

GtkFilterMatch
gtk_filter_get_strictness (GtkFilter *self);

Gets the known strictness of filters . If the strictness is not known, GTK_FILTER_MATCH_SOME is returned.

This value may change after emission of the “changed” signal.

This function is meant purely for optimization purposes, filters can choose to omit implementing it, but GtkFilterListModel uses it.

Parameters

self

a GtkFilter

 

Returns

the strictness of self


gtk_filter_changed ()

void
gtk_filter_changed (GtkFilter *self,
                    GtkFilterChange change);

Emits the “changed” signal to notify all users of the filter that the filter changed. Users of the filter should then check items again via gtk_filter_match().

Depending on the change parameter, not all items need to be changed, but only some. Refer to the GtkFilterChange documentation for details.

This function is intended for implementors of GtkFilter subclasses and should not be called from other functions.

Parameters

self

a GtkFilter

 

change

How the filter changed

 

Types and Values

GtkFilter

typedef struct _GtkFilter GtkFilter;

The object describing a filter.


enum GtkFilterChange

Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items.

If you are writing an implementation and are not sure which value to pass, GTK_FILTER_CHANGE_DIFFERENT is always a correct choice.

Members

GTK_FILTER_CHANGE_DIFFERENT

The filter change cannot be described with any of the other enumeration values.

 

GTK_FILTER_CHANGE_LESS_STRICT

The filter is less strict than it was before: All items that it used to return TRUE for still return TRUE, others now may, too.

 

GTK_FILTER_CHANGE_MORE_STRICT

The filter is more strict than it was before: All items that it used to return FALSE for still return FALSE, others now may, too.

 

Signal Details

The “changed” signal

void
user_function (GtkFilter      *self,
               GtkFilterChange change,
               gpointer        user_data)

This signal is emitted whenever the filter changed. Users of the filter should then check items again via gtk_filter_match().

GtkFilterListModel handles this signal automatically.

Depending on the change parameter, not all items need to be changed, but only some. Refer to the GtkFilterChange documentation for details.

Parameters

self

The GtkFilter

 

change

how the filter changed

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkFilerListModel

docs/reference/gtk/html/GtkBox.html0000664000175000017500000007560513710700533017425 0ustar mclasenmclasen GtkBox: GTK 4 Reference Manual

GtkBox

GtkBox — A container for packing widgets in a single row or column

Properties

GtkBaselinePosition baseline-position Read / Write
gboolean homogeneous Read / Write
gint spacing Read / Write

Types and Values

struct GtkBox
struct GtkBoxClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkBox
                ├── GtkShortcutsSection
                ╰── GtkShortcutsGroup

Implemented Interfaces

GtkBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

The GtkBox widget arranges child widgets into a single row or column, depending upon the value of its “orientation” property. Within the other dimension, all children are allocated the same size. Of course, the “halign” and “valign” properties can be used on the children to influence their allocation.

Use repeated calls to gtk_box_append() to pack widgets into a GtkBox from start to end. Use gtk_box_remove() to remove widgets from the GtkBox. gtk_box_insert_child_after() can be used to add a child at a particular position.

Use gtk_box_set_homogeneous() to specify whether or not all children of the GtkBox are forced to get the same amount of space.

Use gtk_box_set_spacing() to determine how much space will be minimally placed between all children in the GtkBox. Note that spacing is added between the children.

Use gtk_box_reorder_child_after() to move a child to a different place in the box.

CSS nodes

GtkBox uses a single CSS node with name box.

Functions

gtk_box_new ()

GtkWidget *
gtk_box_new (GtkOrientation orientation,
             int spacing);

Creates a new GtkBox.

Parameters

orientation

the box’s orientation.

 

spacing

the number of pixels to place by default between children.

 

Returns

a new GtkBox.


gtk_box_get_homogeneous ()

gboolean
gtk_box_get_homogeneous (GtkBox *box);

Returns whether the box is homogeneous (all children are the same size). See gtk_box_set_homogeneous().

Parameters

box

a GtkBox

 

Returns

TRUE if the box is homogeneous.


gtk_box_set_homogeneous ()

void
gtk_box_set_homogeneous (GtkBox *box,
                         gboolean homogeneous);

Sets the “homogeneous” property of box , controlling whether or not all children of box are given equal space in the box.

Parameters

box

a GtkBox

 

homogeneous

a boolean value, TRUE to create equal allotments, FALSE for variable allotments

 

gtk_box_get_spacing ()

int
gtk_box_get_spacing (GtkBox *box);

Gets the value set by gtk_box_set_spacing().

Parameters

box

a GtkBox

 

Returns

spacing between children


gtk_box_set_spacing ()

void
gtk_box_set_spacing (GtkBox *box,
                     int spacing);

Sets the “spacing” property of box , which is the number of pixels to place between children of box .

Parameters

box

a GtkBox

 

spacing

the number of pixels to put between children

 

gtk_box_get_baseline_position ()

GtkBaselinePosition
gtk_box_get_baseline_position (GtkBox *box);

Gets the value set by gtk_box_set_baseline_position().

Parameters

box

a GtkBox

 

Returns

the baseline position


gtk_box_set_baseline_position ()

void
gtk_box_set_baseline_position (GtkBox *box,
                               GtkBaselinePosition position);

Sets the baseline position of a box. This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then position is used to allocate the baseline wrt the extra space available.

Parameters

box

a GtkBox

 

position

a GtkBaselinePosition

 

gtk_box_append ()

void
gtk_box_append (GtkBox *box,
                GtkWidget *child);

Adds child as the last child to box .

Parameters

box

a GtkBox

 

child

the GtkWidget to append

 

gtk_box_prepend ()

void
gtk_box_prepend (GtkBox *box,
                 GtkWidget *child);

Adds child as the first child to box .

Parameters

box

a GtkBox

 

child

the GtkWidget to prepend

 

gtk_box_remove ()

void
gtk_box_remove (GtkBox *box,
                GtkWidget *child);

Removes a child widget from box , after it has been added with gtk_box_append(), gtk_box_prepend(), or gtk_box_insert_child_after().

Parameters

box

a GtkBox

 

child

the child to remove

 

gtk_box_insert_child_after ()

void
gtk_box_insert_child_after (GtkBox *box,
                            GtkWidget *child,
                            GtkWidget *sibling);

Inserts child in the position after sibling in the list of box children. If sibling is NULL, insert child at the first position.

Parameters

box

a GtkBox

 

child

the GtkWidget to insert

 

sibling

the sibling to move child after, or NULL.

[nullable]

gtk_box_reorder_child_after ()

void
gtk_box_reorder_child_after (GtkBox *box,
                             GtkWidget *child,
                             GtkWidget *sibling);

Moves child to the position after sibling in the list of box children. If sibling is NULL, move child to the first position.

Parameters

box

a GtkBox

 

child

the GtkWidget to move, must be a child of box

 

sibling

the sibling to move child after, or NULL.

[nullable]

Types and Values

struct GtkBox

struct GtkBox;

struct GtkBoxClass

struct GtkBoxClass {
  GtkWidgetClass parent_class;
};

Members

Property Details

The “baseline-position” property

  “baseline-position”        GtkBaselinePosition

The position of the baseline aligned widgets if extra space is available.

Owner: GtkBox

Flags: Read / Write

Default value: GTK_BASELINE_POSITION_CENTER


The “homogeneous” property

  “homogeneous”              gboolean

Whether the children should all be the same size.

Owner: GtkBox

Flags: Read / Write

Default value: FALSE


The “spacing” property

  “spacing”                  gint

The amount of space between children.

Owner: GtkBox

Flags: Read / Write

Allowed values: >= 0

Default value: 0

See Also

GtkGrid

docs/reference/gtk/html/GtkDropTargetAsync.html0000664000175000017500000010614613710700533021741 0ustar mclasenmclasen GtkDropTargetAsync: GTK 4 Reference Manual

GtkDropTargetAsync

GtkDropTargetAsync — Event controller to receive DND drops

Properties

GdkDragAction actions Read / Write
GdkContentFormats * formats Read / Write

Signals

gboolean accept Run Last
GdkDragAction drag-enter Run Last
void drag-leave Run Last
GdkDragAction drag-motion Run Last
gboolean drop Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ╰── GtkDropTargetAsync

Includes

#include <gtk/gtk.h>

Description

GtkDropTargetAsync is an auxiliary object that can be used to receive Drag-and-Drop operations. It is the more complete but also more complex method of handling drop operations compared to GtkDropTarget and you should only use it if GtkDropTarget doesn't provide all the features you need.

To use a GtkDropTargetAsync to receive drops on a widget, you create a GtkDropTargetAsync object, configure which data formats and actions you support, connect to its signals, and then attach it to the widget with gtk_widget_add_controller().

During a drag operation, the first signal that a GtkDropTargetAsync emits is “accept”, which is meant to determine whether the target is a possible drop site for the ongoing drop. The default handler for the ::accept signal accepts the drop if it finds a compatible data format and an action that is supported on both sides.

If it is, and the widget becomes a target, you will receive a “drag-enter” signal, followed by “drag-motion” signals as the pointer moves, optionally a “drop” signal when a drop happens, and finally a “drag-leave” signal when the pointer moves off the widget.

The ::drag-enter and ::drag-motion handler return a GdkDragAction to update the status of the ongoing operation. The ::drop handler should decide if it ultimately accepts the drop and if it does, it should initiate the data transfer and finish the operation by calling gdk_drop_finish().

Between the ::drag-enter and ::drag-leave signals the widget is a current drop target, and will receive the GTK_STATE_FLAG_DROP_ACTIVE state, which can be used by themes to style the widget as a drop target.

Functions

gtk_drop_target_async_new ()

GtkDropTargetAsync *
gtk_drop_target_async_new (GdkContentFormats *formats,
                           GdkDragAction actions);

Creates a new GtkDropTargetAsync object.

Parameters

formats

the supported data formats.

[nullable][transfer full]

actions

the supported actions

 

Returns

the new GtkDropTargetAsync


gtk_drop_target_async_set_formats ()

void
gtk_drop_target_async_set_formats (GtkDropTargetAsync *self,
                                   GdkContentFormats *formats);

Sets the data formats that this drop target will accept.

Parameters

self

a GtkDropTargetAsync

 

formats

the supported data formats or NULL for any format.

[nullable]

gtk_drop_target_async_get_formats ()

GdkContentFormats *
gtk_drop_target_async_get_formats (GtkDropTargetAsync *self);

Gets the data formats that this drop target accepts.

If the result is NULL, all formats are expected to be supported.

Parameters

self

a GtkDropTargetAsync

 

Returns

the supported data formats.

[nullable]


gtk_drop_target_async_set_actions ()

void
gtk_drop_target_async_set_actions (GtkDropTargetAsync *self,
                                   GdkDragAction actions);

Sets the actions that this drop target supports.

Parameters

self

a GtkDropTargetAsync

 

actions

the supported actions

 

gtk_drop_target_async_get_actions ()

GdkDragAction
gtk_drop_target_async_get_actions (GtkDropTargetAsync *self);

Gets the actions that this drop target supports.

Parameters

self

a GtkDropTargetAsync

 

Returns

the actions that this drop target supports


gtk_drop_target_async_reject_drop ()

void
gtk_drop_target_async_reject_drop (GtkDropTargetAsync *self,
                                   GdkDrop *drop);

Sets the drop as not accepted on this drag site.

This function should be used when delaying the decision on whether to accept a drag or not until after reading the data.

Parameters

self

a GtkDropTargetAsync

 

drop

the GdkDrop of an ongoing drag operation

 

Types and Values

GtkDropTargetAsync

typedef struct _GtkDropTargetAsync GtkDropTargetAsync;

Property Details

The “actions” property

  “actions”                  GdkDragAction

The GdkDragActions that this drop target supports

Owner: GtkDropTargetAsync

Flags: Read / Write


The “formats” property

  “formats”                  GdkContentFormats *

The GdkContentFormats that determines the supported data formats

Owner: GtkDropTargetAsync

Flags: Read / Write

Signal Details

The “accept” signal

gboolean
user_function (GtkDropTargetAsync *self,
               GdkDrop            *drop,
               gpointer            user_data)

The ::accept signal is emitted on the drop site when a drop operation is about to begin. If the drop is not accepted, FALSE will be returned and the drop target will ignore the drop. If TRUE is returned, the drop is accepted for now but may be rejected later via a call to gtk_drop_target_reject() or ultimately by returning FALSE from GtkDropTarget::drop

The default handler for this signal decides whether to accept the drop based on the formats provided by the drop .

If the decision whether the drop will be accepted or rejected needs further processing, such as inspecting the data, this function should return TRUE and proceed as is drop was accepted and if it decides to reject the drop later, it should call gtk_drop_target_reject_drop().

Parameters

self

the GtkDropTargetAsync

 

drop

the GdkDrop

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if drop is accepted

Flags: Run Last


The “drag-enter” signal

GdkDragAction
user_function (GtkDropTargetAsync *self,
               GdkDrop            *drop,
               gdouble             x,
               gdouble             y,
               gpointer            user_data)

The ::drag-enter signal is emitted on the drop site when the pointer enters the widget. It can be used to set up custom highlighting.

Parameters

self

the GtkDropTargetAsync

 

drop

the GdkDrop

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

Preferred action for this drag operation.

Flags: Run Last


The “drag-leave” signal

void
user_function (GtkDropTargetAsync *self,
               GdkDrop            *drop,
               gpointer            user_data)

The ::drag-leave signal is emitted on the drop site when the pointer leaves the widget. Its main purpose it to undo things done in “drag-enter”.

Parameters

self

the GtkDropTargetAsync

 

drop

the GdkDrop

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “drag-motion” signal

GdkDragAction
user_function (GtkDropTargetAsync *self,
               GdkDrop            *drop,
               gdouble             x,
               gdouble             y,
               gpointer            user_data)

The ::drag-motion signal is emitted while the pointer is moving over the drop target.

Parameters

self

the GtkDropTargetAsync

 

drop

the GdkDrop

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

Preferred action for this drag operation.

Flags: Run Last


The “drop” signal

gboolean
user_function (GtkDropTargetAsync *self,
               GdkDrop            *drop,
               gdouble             x,
               gdouble             y,
               gpointer            user_data)

The ::drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns FALSE and no further processing is necessary.

Otherwise, the handler returns TRUE. In this case, this handler will accept the drop. The handler must ensure that gdk_drop_finish() is called to let the source know that the drop is done. The call to gtk_drag_finish() must only be done when all data has been received.

To receive the data, use one of the read functions provides by GdkDrop such as gdk_drop_read_async() or gdk_drop_read_value_async().

Parameters

self

the GtkDropTargetAsync

 

drop

the GdkDrop

 

x

the x coordinate of the current pointer position

 

y

the y coordinate of the current pointer position

 

user_data

user data set when the signal handler was connected.

 

Returns

whether the drop is accepted at the given pointer position

Flags: Run Last

See Also

GtkDropTarget

docs/reference/gtk/html/GtkBoxLayout.html0000664000175000017500000004611113710700533020611 0ustar mclasenmclasen GtkBoxLayout: GTK 4 Reference Manual

GtkBoxLayout

GtkBoxLayout — Layout manager for placing all children in a single row or column

Properties

GtkBaselinePosition baseline-position Read / Write
gboolean homogeneous Read / Write
gint spacing Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkLayoutManager
        ╰── GtkBoxLayout

Implemented Interfaces

GtkBoxLayout implements GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

A GtkBoxLayout is a layout manager that arranges the children of any widget using it into a single row or column, depending on the value of its “orientation” property. Within the other dimension all children all allocated the same size. The GtkBoxLayout will respect the “halign” and “valign” properties of each child widget.

If you want all children to be assigned the same size, you can use the “homogeneous” property.

If you want to specify the amount of space placed between each child, you can use the “spacing” property.

Functions

gtk_box_layout_new ()

GtkLayoutManager *
gtk_box_layout_new (GtkOrientation orientation);

Creates a new box layout.

Parameters

orientation

the orientation for the new layout

 

Returns

a new box layout


gtk_box_layout_set_homogeneous ()

void
gtk_box_layout_set_homogeneous (GtkBoxLayout *box_layout,
                                gboolean homogeneous);

Sets whether the box layout will allocate the same size to all children.

Parameters

box_layout

a GtkBoxLayout

 

homogeneous

TRUE to set the box layout as homogeneous

 

gtk_box_layout_get_homogeneous ()

gboolean
gtk_box_layout_get_homogeneous (GtkBoxLayout *box_layout);

Returns whether the layout is set to be homogeneous.

Return: TRUE if the layout is homogeneous

Parameters

box_layout

a GtkBoxLayout

 

gtk_box_layout_set_spacing ()

void
gtk_box_layout_set_spacing (GtkBoxLayout *box_layout,
                            guint spacing);

Sets how much spacing to put between children.

Parameters

box_layout

a GtkBoxLayout

 

spacing

the spacing to apply between children

 

gtk_box_layout_get_spacing ()

guint
gtk_box_layout_get_spacing (GtkBoxLayout *box_layout);

Returns the space that box_layout puts between children.

Parameters

box_layout

a GtkBoxLayout

 

Returns

the spacing of the layout


gtk_box_layout_set_baseline_position ()

void
gtk_box_layout_set_baseline_position (GtkBoxLayout *box_layout,
                                      GtkBaselinePosition position);

Sets the baseline position of a box layout.

The baseline position affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then the given position is used to allocate the baseline within the extra space available.

Parameters

box_layout

a GtkBoxLayout

 

position

a GtkBaselinePosition

 

gtk_box_layout_get_baseline_position ()

GtkBaselinePosition
gtk_box_layout_get_baseline_position (GtkBoxLayout *box_layout);

Gets the value set by gtk_box_layout_set_baseline_position().

Parameters

box_layout

a GtkBoxLayout

 

Returns

the baseline position

Types and Values

GtkBoxLayout

typedef struct _GtkBoxLayout GtkBoxLayout;

Property Details

The “baseline-position” property

  “baseline-position”        GtkBaselinePosition

The position of the allocated baseline within the extra space allocated to each child of the widget using a box layout manager.

This property is only relevant for horizontal layouts containing at least one child with a baseline alignment.

Owner: GtkBoxLayout

Flags: Read / Write

Default value: GTK_BASELINE_POSITION_CENTER


The “homogeneous” property

  “homogeneous”              gboolean

Whether the box layout should distribute the available space homogeneously among the children of the widget using it as a layout manager.

Owner: GtkBoxLayout

Flags: Read / Write

Default value: FALSE


The “spacing” property

  “spacing”                  gint

The space between each child of the widget using the box layout as its layout manager.

Owner: GtkBoxLayout

Flags: Read / Write

Allowed values: >= 0

Default value: 0

docs/reference/gtk/html/GtkEditable.html0000664000175000017500000023703313710700533020401 0ustar mclasenmclasen GtkEditable: GTK 4 Reference Manual

GtkEditable

GtkEditable — Interface for text-editing widgets

Properties

gint cursor-position Read
gboolean editable Read / Write
gboolean enable-undo Read / Write
gint max-width-chars Read / Write
gint selection-bound Read
gchar * text Read / Write
gint width-chars Read / Write
gfloat xalign Read / Write

Signals

void changed Run Last
void delete-text Run Last
void insert-text Run Last

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkEditable

Prerequisites

GtkEditable requires GtkWidget.

Known Implementations

GtkEditable is implemented by GtkEditableLabel, GtkEntry, GtkPasswordEntry, GtkSearchEntry, GtkSpinButton and GtkText.

Includes

#include <gtk/gtk.h>

Description

The GtkEditable interface is an interface which should be implemented by text editing widgets, such as GtkEntry and GtkSpinButton. It contains functions for generically manipulating an editable widget, a large number of action signals used for key bindings, and several signals that an application can connect to modify the behavior of a widget.

As an example of the latter usage, by connecting the following handler to “insert-text”, an application can convert all entry into a widget into uppercase.

Forcing entry to uppercase.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ctype.h>;

void
insert_text_handler (GtkEditable *editable,
                     const char  *text,
                     int          length,
                     int         *position,
                     gpointer     data)
{
  char *result = g_utf8_strup (text, length);

  g_signal_handlers_block_by_func (editable,
                               (gpointer) insert_text_handler, data);
  gtk_editable_insert_text (editable, result, length, position);
  g_signal_handlers_unblock_by_func (editable,
                                     (gpointer) insert_text_handler, data);

  g_signal_stop_emission_by_name (editable, "insert_text");

  g_free (result);
}

Implementing GtkEditable

The most likely scenario for implementing GtkEditable on your own widget is that you will embed a GtkText inside a complex widget, and want to delegate the editable functionality to that text widget. GtkEditable provides some utility functions to make this easy.

In your class_init function, call gtk_editable_install_properties(), passing the first available property ID:

1
2
3
4
5
6
7
8
static void
my_class_init (MyClass *class)
{
   ...
   g_object_class_install_properties (object_class, NUM_PROPERTIES, props);
   gtk_editable_install_properties (object_clas, NUM_PROPERTIES);
   ...
}

In your interface_init function for the GtkEditable interface, provide an implementation for the get_delegate vfunc that returns your text widget:

1
2
3
4
5
6
7
8
9
10
11
GtkEditable *
get_editable_delegate (GtkEditable *editable)
{
  return GTK_EDITABLE (MY_WIDGET (editable)->text_widget);
}

static void
my_editable_init (GtkEditableInterface *iface)
{
  iface->get_delegate = get_editable_delegate;
}

You don't need to provide any other vfuncs. The default implementations work by forwarding to the delegate that the GtkEditableInterface.get_delegate() vfunc returns.

In your instance_init function, create your text widget, and then call gtk_editable_init_delegate():

1
2
3
4
5
6
7
8
static void
my_widget_init (MyWidget *self)
{
  ...
  self->text_widget = gtk_text_new ();
  gtk_editable_init_delegate (GTK_EDITABLE (self));
  ...
}

In your dispose function, call gtk_editable_finish_delegate() before destroying your text widget:

1
2
3
4
5
6
7
8
static void
my_widget_dispose (GObject *object)
{
  ...
  gtk_editable_finish_delegate (GTK_EDITABLE (self));
  g_clear_pointer (&self->text_widget, gtk_widget_unparent);
  ...
}

Finally, use gtk_editable_delegate_set_property() in your set_property function (and similar for get_property), to set the editable properties:

1
2
3
4
5
6
...
if (gtk_editable_delegate_set_property (object, prop_id, value, pspec))
  return;

switch (prop_id)
...

Functions

gtk_editable_get_text ()

const char *
gtk_editable_get_text (GtkEditable *editable);

Retrieves the contents of editable . The returned string is owned by GTK and must not be modified or freed.

Parameters

editable

a GtkEditable

 

Returns

a pointer to the contents of the editable.

[transfer none]


gtk_editable_set_text ()

void
gtk_editable_set_text (GtkEditable *editable,
                       const char *text);

Sets the text in the editable to the given value, replacing the current contents.

Parameters

editable

a GtkEditable

 

text

the text to set

 

gtk_editable_get_chars ()

char *
gtk_editable_get_chars (GtkEditable *editable,
                        int start_pos,
                        int end_pos);

Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters retrieved are those characters from start_pos to the end of the text.

Note that positions are specified in characters, not bytes.

Parameters

editable

a GtkEditable

 

start_pos

start of text

 

end_pos

end of text

 

Returns

a pointer to the contents of the widget as a string. This string is allocated by the GtkEditable implementation and should be freed by the caller.

[transfer full]


gtk_editable_insert_text ()

void
gtk_editable_insert_text (GtkEditable *editable,
                          const char *text,
                          int length,
                          int *position);

Inserts length bytes of text into the contents of the widget, at position position .

Note that the position is in characters, not in bytes. The function updates position to point after the newly inserted text.

[virtual do_insert_text]

Parameters

editable

a GtkEditable

 

text

the text to append

 

length

the length of the text in bytes, or -1

 

position

location of the position text will be inserted at.

[inout]

gtk_editable_delete_text ()

void
gtk_editable_delete_text (GtkEditable *editable,
                          int start_pos,
                          int end_pos);

Deletes a sequence of characters. The characters that are deleted are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters deleted are those from start_pos to the end of the text.

Note that the positions are specified in characters, not bytes.

[virtual do_delete_text]

Parameters

editable

a GtkEditable

 

start_pos

start position

 

end_pos

end position

 

gtk_editable_get_selection_bounds ()

gboolean
gtk_editable_get_selection_bounds (GtkEditable *editable,
                                   int *start_pos,
                                   int *end_pos);

Retrieves the selection bound of the editable.

start_pos will be filled with the start of the selection and end_pos with end. If no text was selected both will be identical and FALSE will be returned.

Note that positions are specified in characters, not bytes.

Parameters

editable

a GtkEditable

 

start_pos

location to store the starting position, or NULL.

[out][allow-none]

end_pos

location to store the end position, or NULL.

[out][allow-none]

Returns

TRUE if there is a non-empty selection, FALSE otherwise


gtk_editable_select_region ()

void
gtk_editable_select_region (GtkEditable *editable,
                            int start_pos,
                            int end_pos);

Selects a region of text.

The characters that are selected are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters selected are those characters from start_pos to the end of the text.

Note that positions are specified in characters, not bytes.

[virtual set_selection_bounds]

Parameters

editable

a GtkEditable

 

start_pos

start of region

 

end_pos

end of region

 

gtk_editable_delete_selection ()

void
gtk_editable_delete_selection (GtkEditable *editable);

Deletes the currently selected text of the editable. This call doesn’t do anything if there is no selected text.

Parameters

editable

a GtkEditable

 

gtk_editable_set_position ()

void
gtk_editable_set_position (GtkEditable *editable,
                           int position);

Sets the cursor position in the editable to the given value.

The cursor is displayed before the character with the given (base 0) index in the contents of the editable. The value must be less than or equal to the number of characters in the editable. A value of -1 indicates that the position should be set after the last character of the editable. Note that position is in characters, not in bytes.

Parameters

editable

a GtkEditable

 

position

the position of the cursor

 

gtk_editable_get_position ()

int
gtk_editable_get_position (GtkEditable *editable);

Retrieves the current position of the cursor relative to the start of the content of the editable.

Note that this position is in characters, not in bytes.

Parameters

editable

a GtkEditable

 

Returns

the cursor position


gtk_editable_set_editable ()

void
gtk_editable_set_editable (GtkEditable *editable,
                           gboolean is_editable);

Determines if the user can edit the text in the editable widget or not.

Parameters

editable

a GtkEditable

 

is_editable

TRUE if the user is allowed to edit the text in the widget

 

gtk_editable_get_editable ()

gboolean
gtk_editable_get_editable (GtkEditable *editable);

Retrieves whether editable is editable. See gtk_editable_set_editable().

Parameters

editable

a GtkEditable

 

Returns

TRUE if editable is editable.


gtk_editable_set_alignment ()

void
gtk_editable_set_alignment (GtkEditable *editable,
                            float xalign);

Sets the alignment for the contents of the editable.

This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the editable.

Parameters

editable

a GtkEditable

 

xalign

The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts

 

gtk_editable_get_alignment ()

float
gtk_editable_get_alignment (GtkEditable *editable);

Gets the value set by gtk_editable_set_alignment().

Parameters

editable

a GtkEditable

 

Returns

the alignment


gtk_editable_get_width_chars ()

int
gtk_editable_get_width_chars (GtkEditable *editable);

Gets the value set by gtk_editable_set_width_chars().

Parameters

editable

a GtkEditable

 

Returns

number of chars to request space for, or negative if unset


gtk_editable_set_width_chars ()

void
gtk_editable_set_width_chars (GtkEditable *editable,
                              int n_chars);

Changes the size request of the editable to be about the right size for n_chars characters.

Note that it changes the size request, the size can still be affected by how you pack the widget into containers. If n_chars is -1, the size reverts to the default size.

Parameters

editable

a GtkEditable

 

n_chars

width in chars

 

gtk_editable_get_max_width_chars ()

int
gtk_editable_get_max_width_chars (GtkEditable *editable);

Retrieves the desired maximum width of editable , in characters. See gtk_editable_set_max_width_chars().

Parameters

editable

a GtkEditable

 

Returns

the maximum width of the entry, in characters


gtk_editable_set_max_width_chars ()

void
gtk_editable_set_max_width_chars (GtkEditable *editable,
                                  int n_chars);

Sets the desired maximum width in characters of editable .

Parameters

editable

a GtkEditable

 

n_chars

the new desired maximum width, in characters

 

gtk_editable_get_enable_undo ()

gboolean
gtk_editable_get_enable_undo (GtkEditable *editable);

Gets if undo/redo actions are enabled for editable

Parameters

editable

a GtkEditable

 

Returns

TRUE if undo is enabled


gtk_editable_set_enable_undo ()

void
gtk_editable_set_enable_undo (GtkEditable *editable,
                              gboolean enable_undo);

If enabled, changes to editable will be saved for undo/redo actions.

This results in an additional copy of text changes and are not stored in secure memory. As such, undo is forcefully disabled when “visibility” is set to FALSE.

Parameters

editable

a GtkEditable

 

enable_undo

if undo/redo should be enabled

 

gtk_editable_install_properties ()

guint
gtk_editable_install_properties (GObjectClass *object_class,
                                 guint first_prop);

Installs the GtkEditable properties for class .

This is a helper function that should be called in class_init, after installing your own properties.

To handle the properties in your set_property and get_property functions, you can either use gtk_editable_delegate_set_property() and gtk_editable_delegate_get_property() (if you are using a delegate), or remember the first_prop offset and add it to the values in the GtkEditableProperties enumeration to get the property IDs for these properties.

Parameters

object_class

a GObjectClass

 

first_prop

property ID to use for the first property

 

Returns

the number of properties that were installed


gtk_editable_init_delegate ()

void
gtk_editable_init_delegate (GtkEditable *editable);

Sets up a delegate for GtkEditable, assuming that the get_delegate vfunc in the GtkEditable interface has been set up for the editable 's type.

This is a helper function that should be called in instance init, after creating the delegate object.

Parameters

editable

a GtkEditable

 

gtk_editable_finish_delegate ()

void
gtk_editable_finish_delegate (GtkEditable *editable);

Undoes the setup done by gtk_editable_init_delegate().

This is a helper function that should be called from dispose, before removing the delegate object.

Parameters

editable

a GtkEditable

 

gtk_editable_delegate_set_property ()

gboolean
gtk_editable_delegate_set_property (GObject *object,
                                    guint prop_id,
                                    const GValue *value,
                                    GParamSpec *pspec);

Sets a property on the GtkEditable delegate for object .

This is a helper function that should be called in set_property, before handling your own properties.

Parameters

object

a GObject

 

prop_id

a property ID

 

value

value to set

 

pspec

the GParamSpec for the property

 

Returns

TRUE if the property was found


gtk_editable_delegate_get_property ()

gboolean
gtk_editable_delegate_get_property (GObject *object,
                                    guint prop_id,
                                    GValue *value,
                                    GParamSpec *pspec);

Gets a property of the GtkEditable delegate for object .

This is helper function that should be called in get_property, before handling your own properties.

Parameters

object

a GObject

 

prop_id

a property ID

 

value

value to set

 

pspec

the GParamSpec for the property

 

Returns

TRUE if the property was found

Types and Values

GtkEditable

typedef struct _GtkEditable GtkEditable;

struct GtkEditableInterface

struct GtkEditableInterface {
  GTypeInterface                   base_iface;

  /* signals */
  void (* insert_text)              (GtkEditable    *editable,
                                     const char     *text,
                                     int             length,
                                     int            *position);
  void (* delete_text)              (GtkEditable    *editable,
                                     int             start_pos,
                                     int             end_pos);
  void (* changed)                  (GtkEditable    *editable);

  /* vtable */
  const char * (* get_text)         (GtkEditable    *editable);
  void     (* do_insert_text)       (GtkEditable    *editable,
                                     const char     *text,
                                     int             length,
                                     int            *position);
  void     (* do_delete_text)       (GtkEditable    *editable,
                                     int             start_pos,
                                     int             end_pos);

  gboolean (* get_selection_bounds) (GtkEditable    *editable,
                                     int            *start_pos,
                                     int            *end_pos);
  void     (* set_selection_bounds) (GtkEditable    *editable,
                                     int             start_pos,
                                     int             end_pos);
  GtkEditable * (* get_delegate)    (GtkEditable    *editable);
};

enum GtkEditableProperties

Members

GTK_EDITABLE_PROP_TEXT

   

GTK_EDITABLE_PROP_CURSOR_POSITION

   

GTK_EDITABLE_PROP_SELECTION_BOUND

   

GTK_EDITABLE_PROP_EDITABLE

   

GTK_EDITABLE_PROP_WIDTH_CHARS

   

GTK_EDITABLE_PROP_MAX_WIDTH_CHARS

   

GTK_EDITABLE_PROP_XALIGN

   

GTK_EDITABLE_PROP_ENABLE_UNDO

   

GTK_EDITABLE_NUM_PROPERTIES

   

Property Details

The “cursor-position” property

  “cursor-position”          gint

The current position of the insertion cursor in chars.

Owner: GtkEditable

Flags: Read

Allowed values: [0,65535]

Default value: 0


The “editable” property

  “editable”                 gboolean

Whether the entry contents can be edited.

Owner: GtkEditable

Flags: Read / Write

Default value: TRUE


The “enable-undo” property

  “enable-undo”              gboolean

If undo/redo should be enabled for the editable.

Owner: GtkEditable

Flags: Read / Write

Default value: TRUE


The “max-width-chars” property

  “max-width-chars”          gint

The desired maximum width of the entry, in characters.

Owner: GtkEditable

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “selection-bound” property

  “selection-bound”          gint

The position of the opposite end of the selection from the cursor in chars.

Owner: GtkEditable

Flags: Read

Allowed values: [0,65535]

Default value: 0


The “text” property

  “text”                     gchar *

The contents of the entry.

Owner: GtkEditable

Flags: Read / Write

Default value: ""


The “width-chars” property

  “width-chars”              gint

Number of characters to leave space for in the entry.

Owner: GtkEditable

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “xalign” property

  “xalign”                   gfloat

The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.

Owner: GtkEditable

Flags: Read / Write

Allowed values: [0,1]

Default value: 0

Signal Details

The “changed” signal

void
user_function (GtkEditable *editable,
               gpointer     user_data)

The ::changed signal is emitted at the end of a single user-visible operation on the contents of the GtkEditable.

E.g., a paste operation that replaces the contents of the selection will cause only one signal emission (even though it is implemented by first deleting the selection, then inserting the new content, and may cause multiple ::notify::text signals to be emitted).

Parameters

editable

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “delete-text” signal

void
user_function (GtkEditable *editable,
               gint         start_pos,
               gint         end_pos,
               gpointer     user_data)

This signal is emitted when text is deleted from the widget by the user. The default handler for this signal will normally be responsible for deleting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the range of deleted text, or prevent it from being deleted entirely. The start_pos and end_pos parameters are interpreted as for gtk_editable_delete_text().

Parameters

editable

the object which received the signal

 

start_pos

the starting position

 

end_pos

the end position

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “insert-text” signal

void
user_function (GtkEditable *editable,
               gchar       *text,
               gint         length,
               gpointer     position,
               gpointer     user_data)

This signal is emitted when text is inserted into the widget by the user. The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely.

Parameters

editable

the object which received the signal

 

text

the new text to insert

 

length

the length of the new text, in bytes, or -1 if new_text is nul-terminated

 

position

the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text.

[inout][type int]

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkBuildable.html0000664000175000017500000013510613710700533020551 0ustar mclasenmclasen GtkBuildable: GTK 4 Reference Manual

GtkBuildable

GtkBuildable — Interface for objects that can be built by GtkBuilder

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkBuildable

Prerequisites

GtkBuildable requires GObject.

Known Implementations

GtkBuildable is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAnyFilter, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellArea, GtkCellAreaBox, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkConstraintLayout, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkEntryCompletion, GtkEveryFilter, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileFilter, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListStore, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkMultiFilter, GtkMultiSorter, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutController, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSizeGroup, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkStringList, GtkSwitch, GtkText, GtkTextTagTable, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeStore, GtkTreeView, GtkTreeViewColumn, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle.

Includes

#include <gtk/gtk.h>

Description

GtkBuildable allows objects to extend and customize their deserialization from GtkBuilder UI descriptions. The interface includes methods for setting names and properties of objects, parsing custom tags and constructing child objects.

The GtkBuildable interface is implemented by all widgets and many of the non-widget objects that are provided by GTK+. The main user of this interface is GtkBuilder. There should be very little need for applications to call any of these functions directly.

An object only needs to implement this interface if it needs to extend the GtkBuilder format or run any extra routines at deserialization time.

Functions

gtk_buildable_set_name ()

void
gtk_buildable_set_name (GtkBuildable *buildable,
                        const char *name);

Sets the name of the buildable object.

Parameters

buildable

a GtkBuildable

 

name

name to set

 

gtk_buildable_get_name ()

const char *
gtk_buildable_get_name (GtkBuildable *buildable);

Gets the name of the buildable object.

GtkBuilder sets the name based on the GtkBuilder UI definition used to construct the buildable .

Parameters

buildable

a GtkBuildable

 

Returns

the name set with gtk_buildable_set_name()


gtk_buildable_add_child ()

void
gtk_buildable_add_child (GtkBuildable *buildable,
                         GtkBuilder *builder,
                         GObject *child,
                         const char *type);

Adds a child to buildable . type is an optional string describing how the child should be added.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

child

child to add

 

type

kind of child or NULL.

[allow-none]

gtk_buildable_set_buildable_property ()

void
gtk_buildable_set_buildable_property (GtkBuildable *buildable,
                                      GtkBuilder *builder,
                                      const char *name,
                                      const GValue *value);

Sets the property name name to value on the buildable object.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

name

name of property

 

value

value of property

 

gtk_buildable_construct_child ()

GObject *
gtk_buildable_construct_child (GtkBuildable *buildable,
                               GtkBuilder *builder,
                               const char *name);

Constructs a child of buildable with the name name .

GtkBuilder calls this function if a “constructor” has been specified in the UI definition.

Parameters

buildable

A GtkBuildable

 

builder

GtkBuilder used to construct this object

 

name

name of child to construct

 

Returns

the constructed child.

[transfer full]


gtk_buildable_custom_tag_start ()

gboolean
gtk_buildable_custom_tag_start (GtkBuildable *buildable,
                                GtkBuilder *builder,
                                GObject *child,
                                const char *tagname,
                                GtkBuildableParser *parser,
                                gpointer *data);

This is called for each unknown element under <child>.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder used to construct this object

 

child

child object or NULL for non-child tags.

[allow-none]

tagname

name of tag

 

parser

a GMarkupParser to fill in.

[out]

data

return location for user data that will be passed in to parser functions.

[out]

Returns

TRUE if an object has a custom implementation, FALSE if it doesn't.


gtk_buildable_custom_tag_end ()

void
gtk_buildable_custom_tag_end (GtkBuildable *buildable,
                              GtkBuilder *builder,
                              GObject *child,
                              const char *tagname,
                              gpointer data);

This is called at the end of each custom element handled by the buildable.

Parameters

buildable

A GtkBuildable

 

builder

GtkBuilder used to construct this object

 

child

child object or NULL for non-child tags.

[allow-none]

tagname

name of tag

 

data

user data that will be passed in to parser functions

 

gtk_buildable_custom_finished ()

void
gtk_buildable_custom_finished (GtkBuildable *buildable,
                               GtkBuilder *builder,
                               GObject *child,
                               const char *tagname,
                               gpointer data);

This is similar to gtk_buildable_parser_finished() but is called once for each custom tag handled by the buildable .

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

child

child object or NULL for non-child tags.

[allow-none]

tagname

the name of the tag

 

data

user data created in custom_tag_start

 

gtk_buildable_parser_finished ()

void
gtk_buildable_parser_finished (GtkBuildable *buildable,
                               GtkBuilder *builder);

Called when the builder finishes the parsing of a GtkBuilder UI definition. Note that this will be called once for each time gtk_builder_add_from_file() or gtk_builder_add_from_string() is called on a builder.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

gtk_buildable_get_internal_child ()

GObject *
gtk_buildable_get_internal_child (GtkBuildable *buildable,
                                  GtkBuilder *builder,
                                  const char *childname);

Get the internal child called childname of the buildable object.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

childname

name of child

 

Returns

the internal child of the buildable object.

[transfer none]

Types and Values

GtkBuildable

typedef struct _GtkBuildable GtkBuildable;

struct GtkBuildableIface

struct GtkBuildableIface {
  GTypeInterface g_iface;

  /* virtual table */
  void          (* set_name)               (GtkBuildable       *buildable,
                                            const char         *name);
  const char * (* get_name)               (GtkBuildable       *buildable);
  void          (* add_child)              (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            GObject            *child,
                                            const char         *type);
  void          (* set_buildable_property) (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            const char         *name,
                                            const GValue       *value);
  GObject *     (* construct_child)        (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            const char         *name);
  gboolean      (* custom_tag_start)       (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            GObject            *child,
                                            const char         *tagname,
                                            GtkBuildableParser *parser,
                                            gpointer           *data);
  void          (* custom_tag_end)         (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            GObject            *child,
                                            const char         *tagname,
                                            gpointer            data);
  void          (* custom_finished)        (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            GObject            *child,
                                            const char         *tagname,
                                            gpointer            data);
  void          (* parser_finished)        (GtkBuildable       *buildable,
                                            GtkBuilder         *builder);

  GObject *     (* get_internal_child)     (GtkBuildable       *buildable,
                                            GtkBuilder         *builder,
                                            const char         *childname);
};

The GtkBuildableIface interface contains method that are necessary to allow GtkBuilder to construct an object from a GtkBuilder UI definition.

Members

set_name ()

Stores the name attribute given in the GtkBuilder UI definition. GtkWidget stores the name as object data. Implement this method if your object has some notion of “name” and it makes sense to map the XML name attribute to it.

 

get_name ()

The getter corresponding to set_name . Implement this if you implement set_name .

 

add_child ()

Adds a child. The type parameter can be used to differentiate the kind of child. GtkWidget implements this to add event controllers to the widget, GtkNotebook uses the type to distinguish between page labels (of type "page-label") and normal children.

 

set_buildable_property ()

Sets a property of a buildable object. It is normally not necessary to implement this, g_object_set_property() is used by default. GtkWindow implements this to delay showing itself (i.e. setting the “visible” property) until the whole interface is created.

 

construct_child ()

Constructs a child of a buildable that has been specified as “constructor” in the UI definition. This can be used to reference a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy. A reference to the constructed object is returned and becomes owned by the caller.

 

custom_tag_start ()

Implement this if the buildable needs to parse content below <child>. To handle an element, the implementation must fill in the parser and user_data and return TRUE. GtkWidget implements this to parse keyboard accelerators specified in <accelerator> elements. Note that user_data must be freed in custom_tag_end or custom_finished .

 

custom_tag_end ()

Called for the end tag of each custom element that is handled by the buildable (see custom_tag_start ).

 

custom_finished ()

Called for each custom tag handled by the buildable when the builder finishes parsing (see custom_tag_start )

 

parser_finished ()

Called when a builder finishes the parsing of a UI definition. It is normally not necessary to implement this, unless you need to perform special cleanup actions. GtkWindow sets the “visible” property here.

 

get_internal_child ()

Returns an internal child of a buildable. GtkDialog implements this to give access to its vbox , making it possible to add children to the vbox in a UI definition. Implement this if the buildable has internal children that may need to be accessed from a UI definition.

 
docs/reference/gtk/html/GtkFixed.html0000664000175000017500000005321413710700533017724 0ustar mclasenmclasen GtkFixed: GTK 4 Reference Manual

GtkFixed

GtkFixed — A container which allows you to position widgets at fixed coordinates

Types and Values

struct GtkFixed

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFixed

Implemented Interfaces

GtkFixed implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

The GtkFixed widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels. GtkFixed performs no automatic layout management.

For most applications, you should not use this container! It keeps you from having to learn about the other GTK+ containers, but it results in broken applications. With GtkFixed, the following things will result in truncated text, overlapping widgets, and other display bugs:

  • Themes, which may change widget sizes.

  • Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using a different OS that provides different fonts.

  • Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.

In addition, GtkFixed does not pay attention to text direction and thus may produce unwanted results if your app is run under right-to-left languages such as Hebrew or Arabic. That is: normally GTK will order containers appropriately for the text direction, e.g. to put labels to the right of the thing they label when using an RTL language, but it can’t do that with GtkFixed. So if you need to reorder widgets depending on the text direction, you would need to manually detect it and adjust child positions accordingly.

Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.

If you know none of these things are an issue for your application, and prefer the simplicity of GtkFixed, by all means use the widget. But you should be aware of the tradeoffs.

Functions

gtk_fixed_new ()

GtkWidget *
gtk_fixed_new (void);

Creates a new GtkFixed.

Returns

a new GtkFixed.


gtk_fixed_put ()

void
gtk_fixed_put (GtkFixed *fixed,
               GtkWidget *widget,
               double x,
               double y);

Adds a widget to a GtkFixed container and assigns a translation transformation to the given x and y coordinates to it.

Parameters

fixed

a GtkFixed.

 

widget

the widget to add.

 

x

the horizontal position to place the widget at.

 

y

the vertical position to place the widget at.

 

gtk_fixed_remove ()

void
gtk_fixed_remove (GtkFixed *fixed,
                  GtkWidget *widget);

Removes a child from fixed , after it has been added with gtk_fixed_put().

Parameters

fixed

a GtkFixed

 

widget

the child widget to remove

 

gtk_fixed_move ()

void
gtk_fixed_move (GtkFixed *fixed,
                GtkWidget *widget,
                double x,
                double y);

Sets a translation transformation to the given x and y coordinates to the child widget of the given GtkFixed container.

Parameters

fixed

a GtkFixed.

 

widget

the child widget.

 

x

the horizontal position to move the widget to.

 

y

the vertical position to move the widget to.

 

gtk_fixed_get_child_position ()

void
gtk_fixed_get_child_position (GtkFixed *fixed,
                              GtkWidget *widget,
                              double *x,
                              double *y);

Retrieves the translation transformation of the given child GtkWidget in the given GtkFixed container.

See also: gtk_fixed_get_child_transform().

Parameters

fixed

a GtkFixed

 

widget

a child of fixed

 

x

the horizontal position of the widget .

[out]

y

the vertical position of the widget .

[out]

gtk_fixed_get_child_transform ()

GskTransform *
gtk_fixed_get_child_transform (GtkFixed *fixed,
                               GtkWidget *widget);

Retrieves the transformation for widget set using gtk_fixed_set_child_transform().

Parameters

fixed

a GtkFixed

 

widget

a GtkWidget, child of fixed

 

Returns

a GskTransform or NULL in case no transform has been set on widget .

[transfer none][nullable]


gtk_fixed_set_child_transform ()

void
gtk_fixed_set_child_transform (GtkFixed *fixed,
                               GtkWidget *widget,
                               GskTransform *transform);

Sets the transformation for widget .

This is a convenience function that retrieves the GtkFixedLayoutChild instance associated to widget and calls gtk_fixed_layout_child_set_transform().

Parameters

fixed

a GtkFixed

 

widget

a GtkWidget, child of fixed

 

transform

the transformation assigned to widget or NULL to reset widget 's transform.

[nullable]

Types and Values

struct GtkFixed

struct GtkFixed;
docs/reference/gtk/html/GtkBuilder.html0000664000175000017500000027011613710700533020255 0ustar mclasenmclasen GtkBuilder: GTK 4 Reference Manual

GtkBuilder

GtkBuilder — Build an interface from an XML UI definition

Properties

GObject * current-object Read / Write
GtkBuilderScope * scope Read / Write / Construct
gchar * translation-domain Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GtkBuilder

Includes

#include <gtk/gtk.h>

Description

A GtkBuilder is an auxiliary object that reads textual descriptions of a user interface and instantiates the described objects. To create a GtkBuilder from a user interface description, call gtk_builder_new_from_file(), gtk_builder_new_from_resource() or gtk_builder_new_from_string().

In the (unusual) case that you want to add user interface descriptions from multiple sources to the same GtkBuilder you can call gtk_builder_new() to get an empty builder and populate it by (multiple) calls to gtk_builder_add_from_file(), gtk_builder_add_from_resource() or gtk_builder_add_from_string().

A GtkBuilder holds a reference to all objects that it has constructed and drops these references when it is finalized. This finalization can cause the destruction of non-widget objects or widgets which are not contained in a toplevel window. For toplevel windows constructed by a builder, it is the responsibility of the user to call gtk_window_destroy() to get rid of them and all the widgets they contain.

The functions gtk_builder_get_object() and gtk_builder_get_objects() can be used to access the widgets in the interface by the names assigned to them inside the UI description. Toplevel windows returned by these functions will stay around until the user explicitly destroys them with gtk_window_destroy(). Other widgets will either be part of a larger hierarchy constructed by the builder (in which case you should not have to worry about their lifecycle), or without a parent, in which case they have to be added to some container to make use of them. Non-widget objects need to be reffed with g_object_ref() to keep them beyond the lifespan of the builder.

The function gtk_builder_connect_signals() and variants thereof can be used to connect handlers to the named signals in the description.

GtkBuilder UI Definitions

GtkBuilder parses textual descriptions of user interfaces which are specified in XML format. We refer to these descriptions as “GtkBuilder UI definitions” or just “UI definitions” if the context is clear.

The toplevel element is <interface>. It optionally takes a “domain” attribute, which will make the builder look for translated strings using dgettext() in the domain specified. This can also be done by calling gtk_builder_set_translation_domain() on the builder. Objects are described by <object> elements, which can contain <property> elements to set properties, <signal> elements which connect signals to handlers, and <child> elements, which describe child objects (most often widgets inside a container, but also e.g. actions in an action group, or columns in a tree model). A <child> element contains an <object> element which describes the child object. The target toolkit version(s) are described by <requires> elements, the “lib” attribute specifies the widget library in question (currently the only supported value is “gtk+”) and the “version” attribute specifies the target version in the form “<major>.<minor>”. The builder will error out if the version requirements are not met.

Typically, the specific kind of object represented by an <object> element is specified by the “class” attribute. If the type has not been loaded yet, GTK tries to find the get_type() function from the class name by applying heuristics. This works in most cases, but if necessary, it is possible to specify the name of the get_type() function explicitly with the "type-func" attribute.

Objects may be given a name with the “id” attribute, which allows the application to retrieve them from the builder with gtk_builder_get_object(). An id is also necessary to use the object as property value in other parts of the UI definition. GTK reserves ids starting and ending with ___ (three consecutive underscores) for its own purposes.

Setting properties of objects is pretty straightforward with the <property> element: the “name” attribute specifies the name of the property, and the content of the element specifies the value. If the “translatable” attribute is set to a true value, GTK uses gettext() (or dgettext() if the builder has a translation domain set) to find a translation for the value. This happens before the value is parsed, so it can be used for properties of any type, but it is probably most useful for string properties. It is also possible to specify a context to disambiguate short strings, and comments which may help the translators.

GtkBuilder can parse textual representations for the most common property types: characters, strings, integers, floating-point numbers, booleans (strings like “TRUE”, “t”, “yes”, “y”, “1” are interpreted as TRUE, strings like “FALSE”, “f”, “no”, “n”, “0” are interpreted as FALSE), enumerations (can be specified by their name, nick or integer value), flags (can be specified by their name, nick, integer value, optionally combined with “|”, e.g. “GTK_INPUT_HINT_EMOJI|GTK_INPUT_HINT_LOWERCASE”) and colors (in a format understood by gdk_rgba_parse()).

GVariants can be specified in the format understood by g_variant_parse(), and pixbufs can be specified as a filename of an image file to load.

Objects can be referred to by their name and by default refer to objects declared in the local XML fragment and objects exposed via gtk_builder_expose_object(). In general, GtkBuilder allows forward references to objects — declared in the local XML; an object doesn’t have to be constructed before it can be referred to. The exception to this rule is that an object has to be constructed before it can be used as the value of a construct-only property.

It is also possible to bind a property value to another object's property value using the attributes "bind-source" to specify the source object of the binding, and optionally, "bind-property" and "bind-flags" to specify the source property and source binding flags respectively. Internally builder implements this using GBinding objects. For more information see g_object_bind_property()

Sometimes it is necessary to refer to widgets which have implicitly been constructed by GTK as part of a composite widget, to set properties on them or to add further children (e.g. the content area of a GtkDialog). This can be achieved by setting the “internal-child” property of the <child> element to a true value. Note that GtkBuilder still requires an <object> element for the internal child, even if it has already been constructed.

A number of widgets have different places where a child can be added (e.g. tabs vs. page content in notebooks). This can be reflected in a UI definition by specifying the “type” attribute on a <child> The possible values for the “type” attribute are described in the sections describing the widget-specific portions of UI definitions.


Signal handlers and function pointers

Signal handlers are set up with the <signal> element. The “name” attribute specifies the name of the signal, and the “handler” attribute specifies the function to connect to the signal. The remaining attributes, “after”, “swapped” and “object”, have the same meaning as the corresponding parameters of the g_signal_connect_object() or g_signal_connect_data() functions. A “last_modification_time” attribute is also allowed, but it does not have a meaning to the builder.

If you rely on GModule support to lookup callbacks in the symbol table, the following details should be noted:

When compiling applications for Windows, you must declare signal callbacks with G_MODULE_EXPORT, or they will not be put in the symbol table. On Linux and Unices, this is not necessary; applications should instead be compiled with the -Wl,--export-dynamic CFLAGS, and linked against gmodule-export-2.0.


A GtkBuilder UI Definition

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<interface>
  <object class="GtkDialog" id="dialog1">
    <child internal-child="vbox">
      <object class="GtkBox" id="vbox1">
        <child internal-child="action_area">
          <object class="GtkBox" id="hbuttonbox1">
            <child>
              <object class="GtkButton" id="ok_button">
                <property name="label">gtk-ok</property>
                <signal name="clicked" handler="ok_button_clicked"/>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </object>
</interface>

Beyond this general structure, several object classes define their own XML DTD fragments for filling in the ANY placeholders in the DTD above. Note that a custom element in a <child> element gets parsed by the custom tag handler of the parent object, while a custom element in an <object> element gets parsed by the custom tag handler of the object.

These XML fragments are explained in the documentation of the respective objects.

Additionally, since 3.10 a special <template> tag has been added to the format allowing one to define a widget class’s components. See the GtkWidget documentation for details.

Functions

gtk_builder_new ()

GtkBuilder *
gtk_builder_new (void);

Creates a new empty builder object.

This function is only useful if you intend to make multiple calls to gtk_builder_add_from_file(), gtk_builder_add_from_resource() or gtk_builder_add_from_string() in order to merge multiple UI descriptions into a single builder.

Most users will probably want to use gtk_builder_new_from_file(), gtk_builder_new_from_resource() or gtk_builder_new_from_string().

Returns

a new (empty) GtkBuilder object


gtk_builder_new_from_file ()

GtkBuilder *
gtk_builder_new_from_file (const char *filename);

Builds the GtkBuilder UI definition in the file filename .

If there is an error opening the file or parsing the description then the program will be aborted. You should only ever attempt to parse user interface descriptions that are shipped as part of your program.

Parameters

filename

filename of user interface description file

 

Returns

a GtkBuilder containing the described interface


gtk_builder_new_from_resource ()

GtkBuilder *
gtk_builder_new_from_resource (const char *resource_path);

Builds the GtkBuilder UI definition at resource_path .

If there is an error locating the resource or parsing the description, then the program will be aborted.

Parameters

resource_path

a GResource resource path

 

Returns

a GtkBuilder containing the described interface


gtk_builder_new_from_string ()

GtkBuilder *
gtk_builder_new_from_string (const char *string,
                             gssize length);

Builds the user interface described by string (in the GtkBuilder UI definition format).

If string is NULL-terminated, then length should be -1. If length is not -1, then it is the length of string .

If there is an error parsing string then the program will be aborted. You should not attempt to parse user interface description from untrusted sources.

Parameters

string

a user interface (XML) description

 

length

the length of string , or -1

 

Returns

a GtkBuilder containing the interface described by string


gtk_builder_create_closure ()

GClosure *
gtk_builder_create_closure (GtkBuilder *builder,
                            const char *function_name,
                            GtkBuilderClosureFlags flags,
                            GObject *object,
                            GError **error);

Creates a closure to invoke the function called function_name .

If a closure function was set via gtk_builder_set_closure_func(), will be invoked. Otherwise, gtk_builder_create_cclosure() will be called.

If no closure could be created, NULL will be returned and error will be set.

Parameters

builder

a GtkBuilder

 

function_name

name of the function to look up

 

flags

closure creation flags

 

object

Object to create the closure with.

[nullable]

error

return location for an error, or NULL.

[allow-none]

Returns

A new closure for invoking function_name .

[nullable]


gtk_builder_add_from_file ()

gboolean
gtk_builder_add_from_file (GtkBuilder *builder,
                           const char *filename,
                           GError **error);

Parses a file containing a GtkBuilder UI definition and merges it with the current contents of builder .

Most users will probably want to use gtk_builder_new_from_file().

If an error occurs, 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_FILE_ERROR domain.

It’s not really reasonable to attempt to handle failures of this call. You should not use this function with untrusted files (ie: files that are not part of your application). Broken GtkBuilder files can easily crash your program, and it’s possible that memory was leaked leading up to the reported failure. The only reasonable thing to do when an error is detected is to call g_error().

Parameters

builder

a GtkBuilder

 

filename

the name of the file to parse

 

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_add_from_resource ()

gboolean
gtk_builder_add_from_resource (GtkBuilder *builder,
                               const char *resource_path,
                               GError **error);

Parses a resource file containing a GtkBuilder UI definition and merges it with the current contents of builder .

Most users will probably want to use gtk_builder_new_from_resource().

If an error occurs, 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_RESOURCE_ERROR domain.

It’s not really reasonable to attempt to handle failures of this call. The only reasonable thing to do when an error is detected is to call g_error().

Parameters

builder

a GtkBuilder

 

resource_path

the path of the resource file to parse

 

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_add_from_string ()

gboolean
gtk_builder_add_from_string (GtkBuilder *builder,
                             const char *buffer,
                             gssize length,
                             GError **error);

Parses a string containing a GtkBuilder UI definition and merges it with the current contents of builder .

Most users will probably want to use gtk_builder_new_from_string().

Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_VARIANT_PARSE_ERROR domain.

It’s not really reasonable to attempt to handle failures of this call. The only reasonable thing to do when an error is detected is to call g_error().

Parameters

builder

a GtkBuilder

 

buffer

the string to parse

 

length

the length of buffer (may be -1 if buffer is nul-terminated)

 

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_add_objects_from_file ()

gboolean
gtk_builder_add_objects_from_file (GtkBuilder *builder,
                                   const char *filename,
                                   const char **object_ids,
                                   GError **error);

Parses a file containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder .

Upon errors 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_FILE_ERROR domain.

If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids .

Parameters

builder

a GtkBuilder

 

filename

the name of the file to parse

 

object_ids

nul-terminated array of objects to build.

[array zero-terminated=1][element-type utf8]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_add_objects_from_string ()

gboolean
gtk_builder_add_objects_from_string (GtkBuilder *builder,
                                     const char *buffer,
                                     gssize length,
                                     const char **object_ids,
                                     GError **error);

Parses a string containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder .

Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR or G_MARKUP_ERROR domain.

If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids .

Parameters

builder

a GtkBuilder

 

buffer

the string to parse

 

length

the length of buffer (may be -1 if buffer is nul-terminated)

 

object_ids

nul-terminated array of objects to build.

[array zero-terminated=1][element-type utf8]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_add_objects_from_resource ()

gboolean
gtk_builder_add_objects_from_resource (GtkBuilder *builder,
                                       const char *resource_path,
                                       const char **object_ids,
                                       GError **error);

Parses a resource file containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder .

Upon errors 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_RESOURCE_ERROR domain.

If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids .

Parameters

builder

a GtkBuilder

 

resource_path

the path of the resource file to parse

 

object_ids

nul-terminated array of objects to build.

[array zero-terminated=1][element-type utf8]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success, FALSE if an error occurred


gtk_builder_extend_with_template ()

gboolean
gtk_builder_extend_with_template (GtkBuilder *builder,
                                  GObject *object,
                                  GType template_type,
                                  const char *buffer,
                                  gssize length,
                                  GError **error);

Main private entry point for building composite container components from template XML.

This is exported purely to let gtk-builder-tool validate templates, applications have no need to call this function.

Parameters

builder

a GtkBuilder

 

object

the object that is being extended

 

template_type

the type that the template is for

 

buffer

the string to parse

 

length

the length of buffer (may be -1 if buffer is nul-terminated)

 

error

return location for an error, or NULL.

[allow-none]

Returns

A positive value on success, 0 if an error occurred


gtk_builder_get_object ()

GObject *
gtk_builder_get_object (GtkBuilder *builder,
                        const char *name);

Gets the object named name . Note that this function does not increment the reference count of the returned object.

Parameters

builder

a GtkBuilder

 

name

name of object to get

 

Returns

the object named name or NULL if it could not be found in the object tree.

[nullable][transfer none]


gtk_builder_get_objects ()

GSList *
gtk_builder_get_objects (GtkBuilder *builder);

Gets all objects that have been constructed by builder . Note that this function does not increment the reference counts of the returned objects.

Parameters

builder

a GtkBuilder

 

Returns

a newly-allocated GSList containing all the objects constructed by the GtkBuilder instance. It should be freed by g_slist_free().

[element-type GObject][transfer container]


gtk_builder_expose_object ()

void
gtk_builder_expose_object (GtkBuilder *builder,
                           const char *name,
                           GObject *object);

Add object to the builder object pool so it can be referenced just like any other object built by builder.

Parameters

builder

a GtkBuilder

 

name

the name of the object exposed to the builder

 

object

the object to expose

 

gtk_builder_set_current_object ()

void
gtk_builder_set_current_object (GtkBuilder *builder,
                                GObject *current_object);

Sets the current object for the builder . The current object can be tought of as the this object that the builder is working for and will often be used as the default object when an object is optional.

gtk_widget_init_template() for example will set the current object to the widget the template is inited for. For functions like gtk_builder_new_from_resource(), the current object will be NULL.

Parameters

builder

a GtkBuilder

 

current_object

the new current object or NULL for none.

[nullable][transfer none]

gtk_builder_get_current_object ()

GObject *
gtk_builder_get_current_object (GtkBuilder *builder);

Gets the current object set via gtk_builder_set_current_object().

Parameters

builder

a GtkBuilder

 

Returns

the current object.

[nullable][transfer none]


gtk_builder_set_scope ()

void
gtk_builder_set_scope (GtkBuilder *builder,
                       GtkBuilderScope *scope);

Sets the scope the builder should operate in.

If scope is NULL a new GtkBuilderCScope will be created.

See the GtkBuilderScope documentation for details.

Parameters

builder

a GtkBuilder

 

scope

the scope to use or NULL for the default.

[nullable][transfer none]

gtk_builder_get_scope ()

GtkBuilderScope *
gtk_builder_get_scope (GtkBuilder *builder);

Gets the scope in use that was set via gtk_builder_set_scope().

See the GtkBuilderScope documentation for details.

Parameters

builder

a GtkBuilder

 

Returns

the current scope.

[transfer none]


gtk_builder_set_translation_domain ()

void
gtk_builder_set_translation_domain (GtkBuilder *builder,
                                    const char *domain);

Sets the translation domain of builder . See “translation-domain”.

Parameters

builder

a GtkBuilder

 

domain

the translation domain or NULL.

[nullable]

gtk_builder_get_translation_domain ()

const char *
gtk_builder_get_translation_domain (GtkBuilder *builder);

Gets the translation domain of builder .

Parameters

builder

a GtkBuilder

 

Returns

the translation domain or NULL in case it was never set or explicitly unset via gtk_builder_set_translation_domain(). This string is owned by the builder object and must not be modified or freed.

[transfer none][nullable]


gtk_builder_get_type_from_name ()

GType
gtk_builder_get_type_from_name (GtkBuilder *builder,
                                const char *type_name);

Looks up a type by name, using the virtual function that GtkBuilder has for that purpose. This is mainly used when implementing the GtkBuildable interface on a type.

Parameters

builder

a GtkBuilder

 

type_name

type name to lookup

 

Returns

the GType found for type_name or G_TYPE_INVALID if no type was found


gtk_builder_value_from_string ()

gboolean
gtk_builder_value_from_string (GtkBuilder *builder,
                               GParamSpec *pspec,
                               const char *string,
                               GValue *value,
                               GError **error);

This function demarshals a value from a string. This function calls g_value_init() on the value argument, so it need not be initialised beforehand.

This function can handle char, uchar, boolean, int, uint, long, ulong, enum, flags, float, double, string, GdkRGBA and GtkAdjustment type values. Support for GtkWidget type values is still to come.

Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR domain.

Parameters

builder

a GtkBuilder

 

pspec

the GParamSpec for the property

 

string

the string representation of the value

 

value

the GValue to store the result in.

[out]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success


gtk_builder_value_from_string_type ()

gboolean
gtk_builder_value_from_string_type (GtkBuilder *builder,
                                    GType type,
                                    const char *string,
                                    GValue *value,
                                    GError **error);

Like gtk_builder_value_from_string(), this function demarshals a value from a string, but takes a GType instead of GParamSpec. This function calls g_value_init() on the value argument, so it need not be initialised beforehand.

Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR domain.

Parameters

builder

a GtkBuilder

 

type

the GType of the value

 

string

the string representation of the value

 

value

the GValue to store the result in.

[out]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success


GTK_BUILDER_WARN_INVALID_CHILD_TYPE()

#define             GTK_BUILDER_WARN_INVALID_CHILD_TYPE(object, type)

This macro should be used to emit a warning about and unexpected type value in a GtkBuildable add_child implementation.

Parameters

object

the GtkBuildable on which the warning occurred

 

type

the unexpected type value

 

Types and Values

GtkBuilder

typedef struct _GtkBuilder GtkBuilder;

enum GtkBuilderClosureFlags

The list of flags that can be passed to gtk_builder_scope_create_closure(). New values may be added in the future for new features, so external implementations of GtkBuilderScopeInterface should test the flags for unknown values and raise a %GTK_BUILDER_ERROR_INVALID_ATTRIBUTE error when they encounter one.

Members

GTK_BUILDER_CLOSURE_SWAPPED

The closure should be created swapped. See g_cclosure_new_swap() for details.

 

enum GtkBuilderError

Error codes that identify various errors that can occur while using GtkBuilder.

Members

GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION

A type-func attribute didn’t name a function that returns a GType.

 

GTK_BUILDER_ERROR_UNHANDLED_TAG

The input contained a tag that GtkBuilder can’t handle.

 

GTK_BUILDER_ERROR_MISSING_ATTRIBUTE

An attribute that is required by GtkBuilder was missing.

 

GTK_BUILDER_ERROR_INVALID_ATTRIBUTE

GtkBuilder found an attribute that it doesn’t understand.

 

GTK_BUILDER_ERROR_INVALID_TAG

GtkBuilder found a tag that it doesn’t understand.

 

GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE

A required property value was missing.

 

GTK_BUILDER_ERROR_INVALID_VALUE

GtkBuilder couldn’t parse some attribute value.

 

GTK_BUILDER_ERROR_VERSION_MISMATCH

The input file requires a newer version of GTK+.

 

GTK_BUILDER_ERROR_DUPLICATE_ID

An object id occurred twice.

 

GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED

A specified object type is of the same type or derived from the type of the composite class being extended with builder XML.

 

GTK_BUILDER_ERROR_TEMPLATE_MISMATCH

The wrong type was specified in a composite class’s template XML

 

GTK_BUILDER_ERROR_INVALID_PROPERTY

The specified property is unknown for the object class.

 

GTK_BUILDER_ERROR_INVALID_SIGNAL

The specified signal is unknown for the object class.

 

GTK_BUILDER_ERROR_INVALID_ID

An object id is unknown.

 

GTK_BUILDER_ERROR_INVALID_FUNCTION

A function could not be found. This often happens when symbols are set to be kept private. Compiling code with -rdynamic or using the gmodule-export-2.0 pkgconfig module can fix this problem.

 

GTK_BUILDER_ERROR

#define GTK_BUILDER_ERROR                (gtk_builder_error_quark ())

Property Details

The “current-object” property

  “current-object”           GObject *

The object the builder is evaluating for.

Owner: GtkBuilder

Flags: Read / Write


The “scope” property

  “scope”                    GtkBuilderScope *

The scope the builder is operating in

Owner: GtkBuilder

Flags: Read / Write / Construct


The “translation-domain” property

  “translation-domain”       gchar *

The translation domain used when translating property values that have been marked as translatable in interface descriptions. If the translation domain is NULL, GtkBuilder uses gettext(), otherwise g_dgettext().

Owner: GtkBuilder

Flags: Read / Write

Default value: NULL

docs/reference/gtk/html/GtkCellRendererSpinner.html0000664000175000017500000002254213710700533022572 0ustar mclasenmclasen GtkCellRendererSpinner: GTK 4 Reference Manual

GtkCellRendererSpinner

GtkCellRendererSpinner — Renders a spinning animation in a cell

Properties

gboolean active Read / Write
guint pulse Read / Write
GtkIconSize size Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererSpinner

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererSpinner renders a spinning animation in a cell, very similar to GtkSpinner. It can often be used as an alternative to a GtkCellRendererProgress for displaying indefinite activity, instead of actual progress.

To start the animation in a cell, set the “active” property to TRUE and increment the “pulse” property at regular intervals. The usual way to set the cell renderer properties for each cell is to bind them to columns in your tree model using e.g. gtk_tree_view_column_add_attribute().

Functions

gtk_cell_renderer_spinner_new ()

GtkCellRenderer *
gtk_cell_renderer_spinner_new (void);

Returns a new cell renderer which will show a spinner to indicate activity.

Returns

a new GtkCellRenderer

Types and Values

GtkCellRendererSpinner

typedef struct _GtkCellRendererSpinner GtkCellRendererSpinner;

Property Details

The “active” property

  “active”                   gboolean

Whether the spinner is active (ie. shown) in the cell.

Owner: GtkCellRendererSpinner

Flags: Read / Write

Default value: FALSE


The “pulse” property

  “pulse”                    guint

Pulse of the spinner. Increment this value to draw the next frame of the spinner animation. Usually, you would update this value in a timeout.

By default, the GtkSpinner widget draws one full cycle of the animation, consisting of 12 frames, in 750 milliseconds.

Owner: GtkCellRendererSpinner

Flags: Read / Write

Default value: 0


The “size” property

  “size”                     GtkIconSize

The GtkIconSize value that specifies the size of the rendered spinner.

Owner: GtkCellRendererSpinner

Flags: Read / Write

Default value: GTK_ICON_SIZE_INHERIT

docs/reference/gtk/html/GtkBuilderListItemFactory.html0000664000175000017500000005111513710700533023254 0ustar mclasenmclasen GtkBuilderListItemFactory: GTK 4 Reference Manual

GtkBuilderListItemFactory

GtkBuilderListItemFactory — A listitem factory using ui files

Properties

GBytes * bytes Read / Write / Construct Only
gchar * resource Read / Write / Construct Only
GtkBuilderScope * scope Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkListItemFactory
        ╰── GtkBuilderListItemFactory

Includes

#include <gtk/gtk.h>

Description

GtkBuilderListItemFactory is a GtkListItemFactory that creates widgets by instantiating GtkBuilder UI templates. The templates must be extending GtkListItem, and typically use GtkExpressions to obtain data from the items in the model.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<interface>
  <template class="GtkListItem">
    <property name="child">
      <object class="GtkLabel">
        <property name="xalign">0</property>
        <binding name="label">
          <lookup name="name" type="SettingsKey">
            <lookup name="item">GtkListItem</lookup>
          </lookup>
        </binding>
      </object>
    </property>
  </template>
</interface>

Functions

gtk_builder_list_item_factory_new_from_bytes ()

GtkListItemFactory *
gtk_builder_list_item_factory_new_from_bytes
                               (GtkBuilderScope *scope,
                                GBytes *bytes);

Creates s new GtkBuilderListItemFactory that instantiates widgets using bytes as the data to pass to GtkBuilder.

Parameters

scope

A scope to use when instantiating.

[nullable][transfer none]

bytes

the bytes containing the ui file to instantiate

 

gtk_builder_list_item_factory_new_from_resource ()

GtkListItemFactory *
gtk_builder_list_item_factory_new_from_resource
                               (GtkBuilderScope *scope,
                                const char *resource_path);

Creates s new GtkBuilderListItemFactory that instantiates widgets using data read from the given resource_path to pass to GtkBuilder.

Parameters

scope

A scope to use when instantiating.

[nullable][transfer none]

resource_path

valid path to a resource that contains the data

 

gtk_builder_list_item_factory_get_bytes ()

GBytes *
gtk_builder_list_item_factory_get_bytes
                               (GtkBuilderListItemFactory *self);

Gets the data used as the GtkBuilder UI template for constructing listitems.

Parameters

Returns

The GtkBuilder data.

[transfer none]


gtk_builder_list_item_factory_get_resource ()

const char *
gtk_builder_list_item_factory_get_resource
                               (GtkBuilderListItemFactory *self);

If the data references a resource, gets the path of that resource.

Parameters

Returns

The path to the resource or NULL if none.

[transfer none][nullable]


gtk_builder_list_item_factory_get_scope ()

GtkBuilderScope *
gtk_builder_list_item_factory_get_scope
                               (GtkBuilderListItemFactory *self);

Gets the scope used when constructing listitems.

Parameters

Returns

The scope used when constructing listitems.

[transfer none][nullable]

Types and Values

GtkBuilderListItemFactory

typedef struct _GtkBuilderListItemFactory GtkBuilderListItemFactory;

Property Details

The “bytes” property

  “bytes”                    GBytes *

bytes containing the UI definition

Owner: GtkBuilderListItemFactory

Flags: Read / Write / Construct Only


The “resource” property

  “resource”                 gchar *

resource containing the UI definition

Owner: GtkBuilderListItemFactory

Flags: Read / Write / Construct Only

Default value: NULL


The “scope” property

  “scope”                    GtkBuilderScope *

scope to use when instantiating listitems

Owner: GtkBuilderListItemFactory

Flags: Read / Write / Construct Only

docs/reference/gtk/html/GtkFixedLayout.html0000664000175000017500000002635213710700533021125 0ustar mclasenmclasen GtkFixedLayout: GTK 4 Reference Manual

GtkFixedLayout

GtkFixedLayout — A layout manager that allows positioning at fixed coordinates

Types and Values

Object Hierarchy

    GObject
    ├── GtkLayoutChild
       ╰── GtkFixedLayoutChild
    ╰── GtkLayoutManager
        ╰── GtkFixedLayout

Includes

#include <gtk/gtk.h>

Description

GtkFixedLayout is a layout manager which can place child widgets at fixed positions, and with fixed sizes.

Most applications should never use this layout manager; fixed positioning and sizing requires constant recalculations on where children need to be positioned and sized. Other layout managers perform this kind of work internally so that application developers don't need to do it. Specifically, widgets positioned in a fixed layout manager will need to take into account:

  • Themes, which may change widget sizes.

  • Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using a different OS that provides different fonts.

  • Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.

In addition, GtkFixedLayout does not pay attention to text direction and thus may produce unwanted results if your app is run under right-to-left languages such as Hebrew or Arabic. That is: normally GTK will order containers appropriately depending on the text direction, e.g. to put labels to the right of the thing they label when using an RTL language; GtkFixedLayout won't be able to do that for you.

Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.

Functions

gtk_fixed_layout_new ()

GtkLayoutManager *
gtk_fixed_layout_new (void);

Creates a new GtkFixedLayout.

Returns

the newly created GtkFixedLayout


gtk_fixed_layout_child_set_transform ()

void
gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child,
                                      GskTransform *transform);

Sets the transformation of the child of a GtkFixedLayout.

Parameters

child

a GtkFixedLayoutChild

 

transform

a GskTransform

 

gtk_fixed_layout_child_get_transform ()

GskTransform *
gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child);

Retrieves the transformation of the child of a GtkFixedLayout.

Parameters

child

a GtkFixedLayoutChild

 

Returns

a GskTransform.

[transfer none][nullable]

Types and Values

GtkFixedLayout

typedef struct _GtkFixedLayout GtkFixedLayout;

GtkFixedLayoutChild

typedef struct _GtkFixedLayoutChild GtkFixedLayoutChild;
docs/reference/gtk/html/GtkButton.html0000664000175000017500000011411713710700533020140 0ustar mclasenmclasen GtkButton: GTK 4 Reference Manual

GtkButton

GtkButton — A widget that emits a signal when clicked on

Properties

GtkWidget * child Read / Write
gboolean has-frame Read / Write
gchar * icon-name Read / Write
gchar * label Read / Write
gboolean use-underline Read / Write

Signals

void activate Action
void clicked Action

Types and Values

struct GtkButton
struct GtkButtonClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkButton
                ├── GtkToggleButton
                ├── GtkLinkButton
                ╰── GtkLockButton

Implemented Interfaces

GtkButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable.

Includes

#include <gtk/gtk.h>

Description

The GtkButton widget is generally used to trigger a callback function that is called when the button is pressed. The various signals and how to use them are outlined below.

The GtkButton widget can hold any valid child widget. That is, it can hold almost any other standard GtkWidget. The most commonly used child is the GtkLabel.

CSS nodes

GtkButton has a single CSS node with name button. The node will get the style classes .image-button or .text-button, if the content is just an image or label, respectively. It may also receive the .flat style class.

Other style classes that are commonly used with GtkButton include .suggested-action and .destructive-action. In special cases, buttons can be made round by adding the .circular style class.

Button-like widgets like GtkToggleButton, GtkMenuButton, GtkVolumeButton, GtkLockButton, GtkColorButton or GtkFontButton use style classes such as .toggle, .popup, .scale, .lock, .color on the button node to differentiate themselves from a plain GtkButton.


Accessibility

GtkButton uses the GTK_ACCESSIBLE_ROLE_BUTTON role.

Functions

gtk_button_new ()

GtkWidget *
gtk_button_new (void);

Creates a new GtkButton widget. To add a child widget to the button, use gtk_container_add().

Returns

The newly created GtkButton widget.


gtk_button_new_with_label ()

GtkWidget *
gtk_button_new_with_label (const char *label);

Creates a GtkButton widget with a GtkLabel child containing the given text.

Parameters

label

The text you want the GtkLabel to hold.

 

Returns

The newly created GtkButton widget.


gtk_button_new_with_mnemonic ()

GtkWidget *
gtk_button_new_with_mnemonic (const char *label);

Creates a new GtkButton containing a label. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters

label

The text of the button, with an underscore in front of the mnemonic character

 

Returns

a new GtkButton


gtk_button_new_from_icon_name ()

GtkWidget *
gtk_button_new_from_icon_name (const char *icon_name);

Creates a new button containing an icon from the current icon theme.

If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately.

Parameters

icon_name

an icon name or NULL.

[nullable]

Returns

a new GtkButton displaying the themed icon


gtk_button_set_has_frame ()

void
gtk_button_set_has_frame (GtkButton *button,
                          gboolean has_frame);

Sets the style of the button. Buttons can has a flat appearance or have a frame drawn around them.

Parameters

button

a GtkButton

 

has_frame

whether the button should have a visible frame

 

gtk_button_get_has_frame ()

gboolean
gtk_button_get_has_frame (GtkButton *button);

Returns whether the button has a frame.

Parameters

button

a GtkButton

 

Returns

TRUE if the button has a frame


gtk_button_get_label ()

const char *
gtk_button_get_label (GtkButton *button);

Fetches the text from the label of the button, as set by gtk_button_set_label(). If the label text has not been set the return value will be NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container.

Parameters

button

a GtkButton

 

Returns

The text of the label widget. This string is owned by the widget and must not be modified or freed.

[nullable]


gtk_button_set_label ()

void
gtk_button_set_label (GtkButton *button,
                      const char *label);

Sets the text of the label of the button to label .

This will also clear any previously set labels.

Parameters

button

a GtkButton

 

label

a string

 

gtk_button_get_use_underline ()

gboolean
gtk_button_get_use_underline (GtkButton *button);

Returns whether an embedded underline in the button label indicates a mnemonic. See gtk_button_set_use_underline().

Parameters

button

a GtkButton

 

Returns

TRUE if an embedded underline in the button label indicates the mnemonic accelerator keys.


gtk_button_set_use_underline ()

void
gtk_button_set_use_underline (GtkButton *button,
                              gboolean use_underline);

If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key.

Parameters

button

a GtkButton

 

use_underline

TRUE if underlines in the text indicate mnemonics

 

gtk_button_set_icon_name ()

void
gtk_button_set_icon_name (GtkButton *button,
                          const char *icon_name);

Adds a GtkImage with the given icon name as a child. If button already contains a child widget, that child widget will be removed and replaced with the image.

Parameters

button

A GtkButton

 

icon_name

An icon name

 

gtk_button_get_icon_name ()

const char *
gtk_button_get_icon_name (GtkButton *button);

Returns the icon name set via gtk_button_set_icon_name().

Parameters

button

A GtkButton

 

Returns

The icon name set via gtk_button_set_icon_name().

[nullable]


gtk_button_set_child ()

void
gtk_button_set_child (GtkButton *button,
                      GtkWidget *child);

Sets the child widget of button .

Parameters

button

a GtkButton

 

child

the child widget.

[allow-none]

gtk_button_get_child ()

GtkWidget *
gtk_button_get_child (GtkButton *button);

Gets the child widget of button .

Parameters

button

a GtkButton

 

Returns

the child widget of button .

[nullable][transfer none]

Types and Values

struct GtkButton

struct GtkButton;

struct GtkButtonClass

struct GtkButtonClass {
  GtkWidgetClass        parent_class;

  void (* clicked)  (GtkButton *button);
  void (* activate) (GtkButton *button);
};

Members

clicked ()

Signal emitted when the button has been activated (pressed and released).

 

activate ()

Signal that causes the button to animate press then release. Applications should never connect to this signal, but use the clicked signal.

 

Property Details

The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkButton

Flags: Read / Write


The “has-frame” property

  “has-frame”                gboolean

Whether the button has a frame.

Owner: GtkButton

Flags: Read / Write

Default value: TRUE


The “icon-name” property

  “icon-name”                gchar *

The name of the icon used to automatically populate the button.

Owner: GtkButton

Flags: Read / Write

Default value: NULL


The “label” property

  “label”                    gchar *

Text of the label widget inside the button, if the button contains a label widget.

Owner: GtkButton

Flags: Read / Write

Default value: NULL


The “use-underline” property

  “use-underline”            gboolean

If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

Owner: GtkButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “activate” signal

void
user_function (GtkButton *widget,
               gpointer   user_data)

The ::activate signal on GtkButton 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 “clicked” signal.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “clicked” signal

void
user_function (GtkButton *button,
               gpointer   user_data)

Emitted when the button has been activated (pressed and released).

Parameters

button

the object that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkFlowBox.html0000664000175000017500000033302113710700533020242 0ustar mclasenmclasen GtkFlowBox: GTK 4 Reference Manual

GtkFlowBox

GtkFlowBox — A container that allows reflowing its children

Functions

GtkWidget * gtk_flow_box_new ()
void gtk_flow_box_insert ()
void gtk_flow_box_remove ()
GtkFlowBoxChild * gtk_flow_box_get_child_at_index ()
GtkFlowBoxChild * gtk_flow_box_get_child_at_pos ()
void gtk_flow_box_set_hadjustment ()
void gtk_flow_box_set_vadjustment ()
void gtk_flow_box_set_homogeneous ()
gboolean gtk_flow_box_get_homogeneous ()
void gtk_flow_box_set_row_spacing ()
guint gtk_flow_box_get_row_spacing ()
void gtk_flow_box_set_column_spacing ()
guint gtk_flow_box_get_column_spacing ()
void gtk_flow_box_set_min_children_per_line ()
guint gtk_flow_box_get_min_children_per_line ()
void gtk_flow_box_set_max_children_per_line ()
guint gtk_flow_box_get_max_children_per_line ()
void gtk_flow_box_set_activate_on_single_click ()
gboolean gtk_flow_box_get_activate_on_single_click ()
void (*GtkFlowBoxForeachFunc) ()
void gtk_flow_box_selected_foreach ()
GList * gtk_flow_box_get_selected_children ()
void gtk_flow_box_select_child ()
void gtk_flow_box_unselect_child ()
void gtk_flow_box_select_all ()
void gtk_flow_box_unselect_all ()
void gtk_flow_box_set_selection_mode ()
GtkSelectionMode gtk_flow_box_get_selection_mode ()
gboolean (*GtkFlowBoxFilterFunc) ()
void gtk_flow_box_set_filter_func ()
void gtk_flow_box_invalidate_filter ()
int (*GtkFlowBoxSortFunc) ()
void gtk_flow_box_set_sort_func ()
void gtk_flow_box_invalidate_sort ()
GtkWidget * (*GtkFlowBoxCreateWidgetFunc) ()
void gtk_flow_box_bind_model ()
GtkWidget * gtk_flow_box_child_new ()
void gtk_flow_box_child_set_child ()
GtkWidget * gtk_flow_box_child_get_child ()
int gtk_flow_box_child_get_index ()
gboolean gtk_flow_box_child_is_selected ()
void gtk_flow_box_child_changed ()

Properties

gboolean accept-unpaired-release Read / Write
gboolean activate-on-single-click Read / Write
guint column-spacing Read / Write
gboolean homogeneous Read / Write
guint max-children-per-line Read / Write
guint min-children-per-line Read / Write
guint row-spacing Read / Write
GtkSelectionMode selection-mode Read / Write
GtkWidget * child Read / Write

Signals

void activate-cursor-child Action
void child-activated Run Last
gboolean move-cursor Action
void select-all Action
void selected-children-changed Run First
void toggle-cursor-child Action
void unselect-all Action
void activate Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ├── GtkFlowBox
            ╰── GtkFlowBoxChild

Implemented Interfaces

GtkFlowBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

GtkFlowBoxChild implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

A GtkFlowBox positions child widgets in sequence according to its orientation.

For instance, with the horizontal orientation, the widgets will be arranged from left to right, starting a new row under the previous row when necessary. Reducing the width in this case will require more rows, so a larger height will be requested.

Likewise, with the vertical orientation, the widgets will be arranged from top to bottom, starting a new column to the right when necessary. Reducing the height will require more columns, so a larger width will be requested.

The size request of a GtkFlowBox alone may not be what you expect; if you need to be able to shrink it along both axes and dynamically reflow its children, you may have to wrap it in a GtkScrolledWindow to enable that.

The children of a GtkFlowBox can be dynamically sorted and filtered.

Although a GtkFlowBox must have only GtkFlowBoxChild children, you can add any kind of widget to it via gtk_container_add(), and a GtkFlowBoxChild widget will automatically be inserted between the box and the widget.

Also see GtkListBox.

GtkFlowBox was added in GTK+ 3.12.

CSS nodes

1
2
3
4
5
6
7
flowbox
├── flowboxchild
   ╰── <child>
├── flowboxchild
   ╰── <child>

╰── [rubberband]

GtkFlowBox uses a single CSS node with name flowbox. GtkFlowBoxChild uses a single CSS node with name flowboxchild. For rubberband selection, a subnode with name rubberband is used.

Functions

gtk_flow_box_new ()

GtkWidget *
gtk_flow_box_new (void);

Creates a GtkFlowBox.

Returns

a new GtkFlowBox container


gtk_flow_box_insert ()

void
gtk_flow_box_insert (GtkFlowBox *box,
                     GtkWidget *widget,
                     int position);

Inserts the widget into box at position .

If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect as gtk_container_add().

If position is -1, or larger than the total number of children in the box , then the widget will be appended to the end.

Parameters

box

a GtkFlowBox

 

widget

the GtkWidget to add

 

position

the position to insert child in

 

gtk_flow_box_remove ()

void
gtk_flow_box_remove (GtkFlowBox *box,
                     GtkWidget *widget);

Removes a child from box .

Parameters

box

a GtkFlowBox

 

widget

the child widget to remove

 

gtk_flow_box_get_child_at_index ()

GtkFlowBoxChild *
gtk_flow_box_get_child_at_index (GtkFlowBox *box,
                                 int idx);

Gets the nth child in the box .

Parameters

box

a GtkFlowBox

 

idx

the position of the child

 

Returns

the child widget, which will always be a GtkFlowBoxChild or NULL in case no child widget with the given index exists.

[transfer none][nullable]


gtk_flow_box_get_child_at_pos ()

GtkFlowBoxChild *
gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
                               int x,
                               int y);

Gets the child in the (x , y ) position. Both x and y are assumed to be relative to the origin of box .

Parameters

box

a GtkFlowBox

 

x

the x coordinate of the child

 

y

the y coordinate of the child

 

Returns

the child widget, which will always be a GtkFlowBoxChild or NULL in case no child widget exists for the given x and y coordinates.

[transfer none][nullable]


gtk_flow_box_set_hadjustment ()

void
gtk_flow_box_set_hadjustment (GtkFlowBox *box,
                              GtkAdjustment *adjustment);

Hooks up an adjustment to focus handling in box . The adjustment is also used for autoscrolling during rubberband selection. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment, and gtk_flow_box_set_vadjustment()for setting the vertical adjustment.

The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.

Parameters

box

a GtkFlowBox

 

adjustment

an adjustment which should be adjusted when the focus is moved among the descendents of container

 

gtk_flow_box_set_vadjustment ()

void
gtk_flow_box_set_vadjustment (GtkFlowBox *box,
                              GtkAdjustment *adjustment);

Hooks up an adjustment to focus handling in box . The adjustment is also used for autoscrolling during rubberband selection. See gtk_scrolled_window_get_vadjustment() for a typical way of obtaining the adjustment, and gtk_flow_box_set_hadjustment()for setting the horizontal adjustment.

The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.

Parameters

box

a GtkFlowBox

 

adjustment

an adjustment which should be adjusted when the focus is moved among the descendents of container

 

gtk_flow_box_set_homogeneous ()

void
gtk_flow_box_set_homogeneous (GtkFlowBox *box,
                              gboolean homogeneous);

Sets the “homogeneous” property of box , controlling whether or not all children of box are given equal space in the box.

Parameters

box

a GtkFlowBox

 

homogeneous

TRUE to create equal allotments, FALSE for variable allotments

 

gtk_flow_box_get_homogeneous ()

gboolean
gtk_flow_box_get_homogeneous (GtkFlowBox *box);

Returns whether the box is homogeneous (all children are the same size). See gtk_box_set_homogeneous().

Parameters

box

a GtkFlowBox

 

Returns

TRUE if the box is homogeneous.


gtk_flow_box_set_row_spacing ()

void
gtk_flow_box_set_row_spacing (GtkFlowBox *box,
                              guint spacing);

Sets the vertical space to add between children. See the “row-spacing” property.

Parameters

box

a GtkFlowBox

 

spacing

the spacing to use

 

gtk_flow_box_get_row_spacing ()

guint
gtk_flow_box_get_row_spacing (GtkFlowBox *box);

Gets the vertical spacing.

Parameters

box

a GtkFlowBox

 

Returns

the vertical spacing


gtk_flow_box_set_column_spacing ()

void
gtk_flow_box_set_column_spacing (GtkFlowBox *box,
                                 guint spacing);

Sets the horizontal space to add between children. See the “column-spacing” property.

Parameters

box

a GtkFlowBox

 

spacing

the spacing to use

 

gtk_flow_box_get_column_spacing ()

guint
gtk_flow_box_get_column_spacing (GtkFlowBox *box);

Gets the horizontal spacing.

Parameters

box

a GtkFlowBox

 

Returns

the horizontal spacing


gtk_flow_box_set_min_children_per_line ()

void
gtk_flow_box_set_min_children_per_line
                               (GtkFlowBox *box,
                                guint n_children);

Sets the minimum number of children to line up in box ’s orientation before flowing.

Parameters

box

a GtkFlowBox

 

n_children

the minimum number of children per line

 

gtk_flow_box_get_min_children_per_line ()

guint
gtk_flow_box_get_min_children_per_line
                               (GtkFlowBox *box);

Gets the minimum number of children per line.

Parameters

box

a GtkFlowBox

 

Returns

the minimum number of children per line


gtk_flow_box_set_max_children_per_line ()

void
gtk_flow_box_set_max_children_per_line
                               (GtkFlowBox *box,
                                guint n_children);

Sets the maximum number of children to request and allocate space for in box ’s orientation.

Setting the maximum number of children per line limits the overall natural size request to be no more than n_children children long in the given orientation.

Parameters

box

a GtkFlowBox

 

n_children

the maximum number of children per line

 

gtk_flow_box_get_max_children_per_line ()

guint
gtk_flow_box_get_max_children_per_line
                               (GtkFlowBox *box);

Gets the maximum number of children per line.

Parameters

box

a GtkFlowBox

 

Returns

the maximum number of children per line


gtk_flow_box_set_activate_on_single_click ()

void
gtk_flow_box_set_activate_on_single_click
                               (GtkFlowBox *box,
                                gboolean single);

If single is TRUE, children will be activated when you click on them, otherwise you need to double-click.

Parameters

box

a GtkFlowBox

 

single

TRUE to emit child-activated on a single click

 

gtk_flow_box_get_activate_on_single_click ()

gboolean
gtk_flow_box_get_activate_on_single_click
                               (GtkFlowBox *box);

Returns whether children activate on single clicks.

Parameters

box

a GtkFlowBox

 

Returns

TRUE if children are activated on single click, FALSE otherwise


GtkFlowBoxForeachFunc ()

void
(*GtkFlowBoxForeachFunc) (GtkFlowBox *box,
                          GtkFlowBoxChild *child,
                          gpointer user_data);

A function used by gtk_flow_box_selected_foreach(). It will be called on every selected child of the box .

Parameters

box

a GtkFlowBox

 

child

a GtkFlowBoxChild

 

user_data

user data.

[closure]

gtk_flow_box_selected_foreach ()

void
gtk_flow_box_selected_foreach (GtkFlowBox *box,
                               GtkFlowBoxForeachFunc func,
                               gpointer data);

Calls a function for each selected child.

Note that the selection cannot be modified from within this function.

Parameters

box

a GtkFlowBox

 

func

the function to call for each selected child.

[scope call]

data

user data to pass to the function

 

gtk_flow_box_get_selected_children ()

GList *
gtk_flow_box_get_selected_children (GtkFlowBox *box);

Creates a list of all selected children.

Parameters

box

a GtkFlowBox

 

Returns

A GList containing the GtkWidget for each selected child. Free with g_list_free() when done.

[element-type GtkFlowBoxChild][transfer container]


gtk_flow_box_select_child ()

void
gtk_flow_box_select_child (GtkFlowBox *box,
                           GtkFlowBoxChild *child);

Selects a single child of box , if the selection mode allows it.

Parameters

box

a GtkFlowBox

 

child

a child of box

 

gtk_flow_box_unselect_child ()

void
gtk_flow_box_unselect_child (GtkFlowBox *box,
                             GtkFlowBoxChild *child);

Unselects a single child of box , if the selection mode allows it.

Parameters

box

a GtkFlowBox

 

child

a child of box

 

gtk_flow_box_select_all ()

void
gtk_flow_box_select_all (GtkFlowBox *box);

Select all children of box , if the selection mode allows it.

Parameters

box

a GtkFlowBox

 

gtk_flow_box_unselect_all ()

void
gtk_flow_box_unselect_all (GtkFlowBox *box);

Unselect all children of box , if the selection mode allows it.

Parameters

box

a GtkFlowBox

 

gtk_flow_box_set_selection_mode ()

void
gtk_flow_box_set_selection_mode (GtkFlowBox *box,
                                 GtkSelectionMode mode);

Sets how selection works in box . See GtkSelectionMode for details.

Parameters

box

a GtkFlowBox

 

mode

the new selection mode

 

gtk_flow_box_get_selection_mode ()

GtkSelectionMode
gtk_flow_box_get_selection_mode (GtkFlowBox *box);

Gets the selection mode of box .

Parameters

box

a GtkFlowBox

 

Returns

the GtkSelectionMode


GtkFlowBoxFilterFunc ()

gboolean
(*GtkFlowBoxFilterFunc) (GtkFlowBoxChild *child,
                         gpointer user_data);

A function that will be called whenever a child changes or is added. It lets you control if the child should be visible or not.

Parameters

child

a GtkFlowBoxChild that may be filtered

 

user_data

user data.

[closure]

Returns

TRUE if the row should be visible, FALSE otherwise


gtk_flow_box_set_filter_func ()

void
gtk_flow_box_set_filter_func (GtkFlowBox *box,
                              GtkFlowBoxFilterFunc filter_func,
                              gpointer user_data,
                              GDestroyNotify destroy);

By setting a filter function on the box one can decide dynamically which of the children to show. For instance, to implement a search function that only shows the children matching the search terms.

The filter_func will be called for each child after the call, and it will continue to be called each time a child changes (via gtk_flow_box_child_changed()) or when gtk_flow_box_invalidate_filter() is called.

Note that using a filter function is incompatible with using a model (see gtk_flow_box_bind_model()).

Parameters

box

a GtkFlowBox

 

filter_func

callback that lets you filter which children to show.

[allow-none]

user_data

user data passed to filter_func .

[closure]

destroy

destroy notifier for user_data

 

gtk_flow_box_invalidate_filter ()

void
gtk_flow_box_invalidate_filter (GtkFlowBox *box);

Updates the filtering for all children.

Call this function when the result of the filter function on the box is changed due ot an external factor. For instance, this would be used if the filter function just looked for a specific search term, and the entry with the string has changed.

Parameters

box

a GtkFlowBox

 

GtkFlowBoxSortFunc ()

int
(*GtkFlowBoxSortFunc) (GtkFlowBoxChild *child1,
                       GtkFlowBoxChild *child2,
                       gpointer user_data);

A function to compare two children to determine which should come first.

Parameters

child1

the first child

 

child2

the second child

 

user_data

user data.

[closure]

Returns

< 0 if child1 should be before child2 , 0 if the are equal, and > 0 otherwise


gtk_flow_box_set_sort_func ()

void
gtk_flow_box_set_sort_func (GtkFlowBox *box,
                            GtkFlowBoxSortFunc sort_func,
                            gpointer user_data,
                            GDestroyNotify destroy);

By setting a sort function on the box , one can dynamically reorder the children of the box, based on the contents of the children.

The sort_func will be called for each child after the call, and will continue to be called each time a child changes (via gtk_flow_box_child_changed()) and when gtk_flow_box_invalidate_sort() is called.

Note that using a sort function is incompatible with using a model (see gtk_flow_box_bind_model()).

Parameters

box

a GtkFlowBox

 

sort_func

the sort function.

[allow-none]

user_data

user data passed to sort_func .

[closure]

destroy

destroy notifier for user_data

 

gtk_flow_box_invalidate_sort ()

void
gtk_flow_box_invalidate_sort (GtkFlowBox *box);

Updates the sorting for all children.

Call this when the result of the sort function on box is changed due to an external factor.

Parameters

box

a GtkFlowBox

 

GtkFlowBoxCreateWidgetFunc ()

GtkWidget *
(*GtkFlowBoxCreateWidgetFunc) (gpointer item,
                               gpointer user_data);

Called for flow boxes that are bound to a GListModel with gtk_flow_box_bind_model() for each item that gets added to the model.

Parameters

item

the item from the model for which to create a widget for.

[type GObject]

user_data

user data from gtk_flow_box_bind_model().

[closure]

Returns

a GtkWidget that represents item .

[transfer full]


gtk_flow_box_bind_model ()

void
gtk_flow_box_bind_model (GtkFlowBox *box,
                         GListModel *model,
                         GtkFlowBoxCreateWidgetFunc create_widget_func,
                         gpointer user_data,
                         GDestroyNotify user_data_free_func);

Binds model to box .

If box was already bound to a model, that previous binding is destroyed.

The contents of box are cleared and then filled with widgets that represent items from model . box is updated whenever model changes. If model is NULL, box is left empty.

It is undefined to add or remove widgets directly (for example, with gtk_flow_box_insert() or gtk_container_add()) while box is bound to a model.

Note that using a model is incompatible with the filtering and sorting functionality in GtkFlowBox. When using a model, filtering and sorting should be implemented by the model.

Parameters

box

a GtkFlowBox

 

model

the GListModel to be bound to box .

[allow-none]

create_widget_func

a function that creates widgets for items

 

user_data

user data passed to create_widget_func .

[closure]

user_data_free_func

function for freeing user_data

 

gtk_flow_box_child_new ()

GtkWidget *
gtk_flow_box_child_new (void);

Creates a new GtkFlowBoxChild, to be used as a child of a GtkFlowBox.

Returns

a new GtkFlowBoxChild


gtk_flow_box_child_set_child ()

void
gtk_flow_box_child_set_child (GtkFlowBoxChild *self,
                              GtkWidget *child);

Sets the child widget of self .

Parameters

self

a GtkFlowBoxChild

 

child

the child widget.

[allow-none]

gtk_flow_box_child_get_child ()

GtkWidget *
gtk_flow_box_child_get_child (GtkFlowBoxChild *self);

Gets the child widget of self .

Parameters

self

a GtkFlowBoxChild

 

Returns

the child widget of self .

[nullable][transfer none]


gtk_flow_box_child_get_index ()

int
gtk_flow_box_child_get_index (GtkFlowBoxChild *child);

Gets the current index of the child in its GtkFlowBox container.

Parameters

child

a GtkFlowBoxChild

 

Returns

the index of the child , or -1 if the child is not in a flow box.


gtk_flow_box_child_is_selected ()

gboolean
gtk_flow_box_child_is_selected (GtkFlowBoxChild *child);

Returns whether the child is currently selected in its GtkFlowBox container.

Parameters

child

a GtkFlowBoxChild

 

Returns

TRUE if child is selected


gtk_flow_box_child_changed ()

void
gtk_flow_box_child_changed (GtkFlowBoxChild *child);

Marks child as changed, causing any state that depends on this to be updated. This affects sorting and filtering.

Note that calls to this method must be in sync with the data used for the sorting and filtering functions. For instance, if the list is mirroring some external data set, and *two* children changed in the external data set when you call gtk_flow_box_child_changed() on the first child, the sort function must only read the new data for the first of the two changed children, otherwise the resorting of the children will be wrong.

This generally means that if you don’t fully control the data model, you have to duplicate the data that affects the sorting and filtering functions into the widgets themselves. Another alternative is to call gtk_flow_box_invalidate_sort() on any model change, but that is more expensive.

Parameters

child

a GtkFlowBoxChild

 

Types and Values

GtkFlowBox

typedef struct _GtkFlowBox GtkFlowBox;

struct GtkFlowBoxChild

struct GtkFlowBoxChild;

Property Details

The “accept-unpaired-release” property

  “accept-unpaired-release”  gboolean

Accept an unpaired release event.

Owner: GtkFlowBox

Flags: Read / Write

Default value: FALSE


The “activate-on-single-click” property

  “activate-on-single-click” gboolean

Determines whether children can be activated with a single click, or require a double-click.

Owner: GtkFlowBox

Flags: Read / Write

Default value: TRUE


The “column-spacing” property

  “column-spacing”           guint

The amount of horizontal space between two children.

Owner: GtkFlowBox

Flags: Read / Write

Default value: 0


The “homogeneous” property

  “homogeneous”              gboolean

Determines whether all children should be allocated the same size.

Owner: GtkFlowBox

Flags: Read / Write

Default value: FALSE


The “max-children-per-line” property

  “max-children-per-line”    guint

The maximum amount of children to request space for consecutively in the given orientation.

Owner: GtkFlowBox

Flags: Read / Write

Allowed values: >= 1

Default value: 7


The “min-children-per-line” property

  “min-children-per-line”    guint

The minimum number of children to allocate consecutively in the given orientation.

Setting the minimum children per line ensures that a reasonably small height will be requested for the overall minimum width of the box.

Owner: GtkFlowBox

Flags: Read / Write

Default value: 0


The “row-spacing” property

  “row-spacing”              guint

The amount of vertical space between two children.

Owner: GtkFlowBox

Flags: Read / Write

Default value: 0


The “selection-mode” property

  “selection-mode”           GtkSelectionMode

The selection mode used by the flow box.

Owner: GtkFlowBox

Flags: Read / Write

Default value: GTK_SELECTION_SINGLE


The “child” property

  “child”                    GtkWidget *

The child widget.

Owner: GtkFlowBoxChild

Flags: Read / Write

Signal Details

The “activate-cursor-child” signal

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

The ::activate-cursor-child signal is a keybinding signal which gets emitted when the user activates the box .

Parameters

box

the GtkFlowBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “child-activated” signal

void
user_function (GtkFlowBox      *box,
               GtkFlowBoxChild *child,
               gpointer         user_data)

The ::child-activated signal is emitted when a child has been activated by the user.

Parameters

box

the GtkFlowBox on which the signal is emitted

 

child

the child that is activated

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “move-cursor” signal

gboolean
user_function (GtkFlowBox     *box,
               GtkMovementStep step,
               gint            count,
               gboolean        extend,
               gboolean        modify,
               gpointer        user_data)

The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement.

Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.

  • Arrow keys move by individual children

  • Home/End keys move to the ends of the box

  • PageUp/PageDown keys move vertically by pages

Parameters

box

the GtkFlowBox on which the signal is emitted

 

step

the granularity fo the move, as a GtkMovementStep

 

count

the number of step units to move

 

extend

whether to extend the selection

 

modify

whether to modify the selection

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.

Flags: Action


The “select-all” signal

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

The ::select-all signal is a keybinding signal which gets emitted to select all children of the box, if the selection mode permits it.

The default bindings for this signal is Ctrl-a.

Parameters

box

the GtkFlowBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “selected-children-changed” signal

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

The ::selected-children-changed signal is emitted when the set of selected children changes.

Use gtk_flow_box_selected_foreach() or gtk_flow_box_get_selected_children() to obtain the selected children.

Parameters

box

the GtkFlowBox on wich the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “toggle-cursor-child” signal

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

The ::toggle-cursor-child signal is a keybinding signal which toggles the selection of the child that has the focus.

The default binding for this signal is Ctrl-Space.

Parameters

box

the GtkFlowBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “unselect-all” signal

void
user_function (GtkFlowBox *box,
               gpointer    user_data)

The ::unselect-all signal is a keybinding signal which gets emitted to unselect all children of the box, if the selection mode permits it.

The default bindings for this signal is Ctrl-Shift-a.

Parameters

box

the GtkFlowBox on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “activate” signal

void
user_function (GtkFlowBoxChild *child,
               gpointer         user_data)

The ::activate signal is emitted when the user activates a child widget in a GtkFlowBox, either by clicking or double-clicking, or by using the Space or Enter key.

While this signal is used as a keybinding signal, it can be used by applications for their own purposes.

Parameters

child

The child on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

docs/reference/gtk/html/GtkCalendar.html0000664000175000017500000011644213710700533020401 0ustar mclasenmclasen GtkCalendar: GTK 4 Reference Manual

GtkCalendar

GtkCalendar — Displays a calendar and allows the user to select a date

Properties

gint day Read / Write
gint month Read / Write
gboolean show-day-names Read / Write
gboolean show-heading Read / Write
gboolean show-week-numbers Read / Write
gint year Read / Write

Signals

void day-selected Run First
void next-month Run First
void next-year Run First
void prev-month Run First
void prev-year Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkCalendar

Implemented Interfaces

GtkCalendar implements GtkAccessible, GtkBuildable and GtkConstraintTarget.

Includes

#include <gtk/gtk.h>

Description

GtkCalendar is a widget that displays a Gregorian calendar, one month at a time. It can be created with gtk_calendar_new().

The date that is currently displayed can be altered with gtk_calendar_select_day().

To place a visual marker on a particular day, use gtk_calendar_mark_day() and to remove the marker, gtk_calendar_unmark_day(). Alternative, all marks can be cleared with gtk_calendar_clear_marks().

The selected date can be retrieved from a GtkCalendar using gtk_calendar_get_date().

Users should be aware that, although the Gregorian calendar is the legal calendar in most countries, it was adopted progressively between 1582 and 1929. Display before these dates is likely to be historically incorrect.

CSS nodes

1
2
3
4
5
6
7
8
9
10
calendar.view
├── header
   ├── button
   ├── stack.month
   ├── button
   ├── button
   ├── label.year
   ╰── button
╰── grid
    ╰── label[.day-name][.week-number][.day-number][.other-month][.today]

GtkCalendar has a main node with name calendar. It contains a subnode called header containing the widgets for switching between years and months.

The grid subnode contains all day labels, including week numbers on the left (marked with the .week-number css class) and day names on top (marked with the .day-name css class).

Day labels that belong to the previous or next month get the .other-month style class. The label of the current day get the .today style class.

Marked day labels get the :selected state assigned.

Functions

gtk_calendar_new ()

GtkWidget *
gtk_calendar_new (void);

Creates a new calendar, with the current date being selected.

Returns

a newly GtkCalendar widget


gtk_calendar_select_day ()

void
gtk_calendar_select_day (GtkCalendar *self,
                         GDateTime *date);

Will switch to date 's year and month and select its day.

Parameters

self

a GtkCalendar.

 

date

a GDateTime representing the day to select.

[transfer none]

gtk_calendar_mark_day ()

void
gtk_calendar_mark_day (GtkCalendar *calendar,
                       guint day);

Places a visual marker on a particular day.

Parameters

calendar

a GtkCalendar

 

day

the day number to mark between 1 and 31.

 

gtk_calendar_unmark_day ()

void
gtk_calendar_unmark_day (GtkCalendar *calendar,
                         guint day);

Removes the visual marker from a particular day.

Parameters

calendar

a GtkCalendar.

 

day

the day number to unmark between 1 and 31.

 

gtk_calendar_get_day_is_marked ()

gboolean
gtk_calendar_get_day_is_marked (GtkCalendar *calendar,
                                guint day);

Returns if the day of the calendar is already marked.

Parameters

calendar

a GtkCalendar

 

day

the day number between 1 and 31.

 

Returns

whether the day is marked.


gtk_calendar_clear_marks ()

void
gtk_calendar_clear_marks (GtkCalendar *calendar);

Remove all visual markers.

Parameters

calendar

a GtkCalendar

 

gtk_calendar_get_show_day_names ()

gboolean
gtk_calendar_get_show_day_names (GtkCalendar *self);

Returns whether self is currently showing the names of the week days above the day numbers, i.e. the value of the “show-day-names” property.

Parameters

self

a GtkCalendar

 

Returns

Whether the calendar shows day names.


gtk_calendar_set_show_day_names ()

void
gtk_calendar_set_show_day_names (GtkCalendar *self,
                                 gboolean value);

Sets whether the calendar shows day names.

Parameters

self

a GtkCalendar

 

value

Whether to show day names above the day numbers

 

gtk_calendar_get_show_heading ()

gboolean
gtk_calendar_get_show_heading (GtkCalendar *self);

Returns whether self is currently showing the heading, i.e. the value of the “show-heading” property.

Return: Whether the calendar is showing a heading.

Parameters

self

a GtkCalendar

 

gtk_calendar_set_show_heading ()

void
gtk_calendar_set_show_heading (GtkCalendar *self,
                               gboolean value);

Sets whether the calendar should show a heading containing the current year and month as well as buttons for changing both.

Parameters

self

a GtkCalendar

 

value

Whether to show the heading in the calendar

 

gtk_calendar_get_show_week_numbers ()

gboolean
gtk_calendar_get_show_week_numbers (GtkCalendar *self);

Returns whether self is showing week numbers right now, i.e. the value of the “show-week-numbers” property.

Return: Whether the calendar is showing week numbers.

Parameters

self

a GtkCalendar

 

gtk_calendar_set_show_week_numbers ()

void
gtk_calendar_set_show_week_numbers (GtkCalendar *self,
                                    gboolean value);

Sets whether week numbers are shown in the calendar.

Parameters

self

a GtkCalendar

 

value

whether to show week numbers on the left of the days

 

gtk_calendar_get_date ()

GDateTime *
gtk_calendar_get_date (GtkCalendar *self);

Returns a GDateTime representing the shown year, month and the selected day, in the local time zone.

Parameters

self

a GtkCalendar

 

Returns

the GDate representing the shown date.

[transfer full]

Types and Values

GtkCalendar

typedef struct _GtkCalendar GtkCalendar;

Property Details

The “day” property

  “day”                      gint

The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day). This property gets initially set to the current day.

Owner: GtkCalendar

Flags: Read / Write

Allowed values: [0,31]

Default value: 0


The “month” property

  “month”                    gint

The selected month (as a number between 0 and 11). This property gets initially set to the current month.

Owner: GtkCalendar

Flags: Read / Write

Allowed values: [0,11]

Default value: 0


The “show-day-names” property

  “show-day-names”           gboolean

Determines whether day names are displayed.

Owner: GtkCalendar

Flags: Read / Write

Default value: TRUE


The “show-heading” property

  “show-heading”             gboolean

Determines whether a heading is displayed.

Owner: GtkCalendar

Flags: Read / Write

Default value: TRUE


The “show-week-numbers” property

  “show-week-numbers”        gboolean

Determines whether week numbers are displayed.

Owner: GtkCalendar

Flags: Read / Write

Default value: FALSE


The “year” property

  “year”                     gint

The selected year. This property gets initially set to the current year.

Owner: GtkCalendar

Flags: Read / Write

Allowed values: [1,9999]

Default value: 1

Signal Details

The “day-selected” signal

void
user_function (GtkCalendar *calendar,
               gpointer     user_data)

Emitted when the user selects a day.

Parameters

calendar

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “next-month” signal

void
user_function (GtkCalendar *calendar,
               gpointer     user_data)

Emitted when the user switched to the next month.

Parameters

calendar

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “next-year” signal

void
user_function (GtkCalendar *calendar,
               gpointer     user_data)

Emitted when user switched to the next year.

Parameters

calendar

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “prev-month” signal

void
user_function (GtkCalendar *calendar,
               gpointer     user_data)

Emitted when the user switched to the previous month.

Parameters

calendar

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “prev-year” signal

void
user_function (GtkCalendar *calendar,
               gpointer     user_data)

Emitted when user switched to the previous year.

Parameters

calendar

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkFontButton.html0000664000175000017500000006150213710700533020766 0ustar mclasenmclasen GtkFontButton: GTK 4 Reference Manual

GtkFontButton

GtkFontButton — A button to launch a font chooser dialog

Properties

gboolean modal Read / Write
gchar * title Read / Write
gboolean use-font Read / Write
gboolean use-size Read / Write

Signals

void font-set Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkFontButton

Implemented Interfaces

GtkFontButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFontChooser.

Includes

#include <gtk/gtk.h>

Description

The GtkFontButton is a button which displays the currently selected font an allows to open a font chooser dialog to change the font. It is suitable widget for selecting a font in a preference dialog.

CSS nodes

GtkFontButton has a single CSS node with name fontbutton.

Functions

gtk_font_button_new ()

GtkWidget *
gtk_font_button_new (void);

Creates a new font picker widget.

Returns

a new font picker widget.


gtk_font_button_new_with_font ()

GtkWidget *
gtk_font_button_new_with_font (const char *fontname);

Creates a new font picker widget.

Parameters

fontname

Name of font to display in font chooser dialog

 

Returns

a new font picker widget.


gtk_font_button_set_use_font ()

void
gtk_font_button_set_use_font (GtkFontButton *font_button,
                              gboolean use_font);

If use_font is TRUE, the font name will be written using the selected font.

Parameters

font_button

a GtkFontButton

 

use_font

If TRUE, font name will be written using font chosen.

 

gtk_font_button_get_use_font ()

gboolean
gtk_font_button_get_use_font (GtkFontButton *font_button);

Returns whether the selected font is used in the label.

Parameters

font_button

a GtkFontButton

 

Returns

whether the selected font is used in the label.


gtk_font_button_set_use_size ()

void
gtk_font_button_set_use_size (GtkFontButton *font_button,
                              gboolean use_size);

If use_size is TRUE, the font name will be written using the selected size.

Parameters

font_button

a GtkFontButton

 

use_size

If TRUE, font name will be written using the selected size.

 

gtk_font_button_get_use_size ()

gboolean
gtk_font_button_get_use_size (GtkFontButton *font_button);

Returns whether the selected size is used in the label.

Parameters

font_button

a GtkFontButton

 

Returns

whether the selected size is used in the label.


gtk_font_button_set_title ()

void
gtk_font_button_set_title (GtkFontButton *font_button,
                           const char *title);

Sets the title for the font chooser dialog.

Parameters

font_button

a GtkFontButton

 

title

a string containing the font chooser dialog title

 

gtk_font_button_get_title ()

const char *
gtk_font_button_get_title (GtkFontButton *font_button);

Retrieves the title of the font chooser dialog.

Parameters

font_button

a GtkFontButton

 

Returns

an internal copy of the title string which must not be freed.


gtk_font_button_set_modal ()

void
gtk_font_button_set_modal (GtkFontButton *font_button,
                           gboolean modal);

Sets whether the dialog should be modal.

Parameters

font_button

a GtkFontButton

 

modal

TRUE to make the dialog modal

 

gtk_font_button_get_modal ()

gboolean
gtk_font_button_get_modal (GtkFontButton *font_button);

Gets whether the dialog is modal.

Parameters

font_button

a GtkFontButton

 

Returns

TRUE if the dialog is modal

Types and Values

GtkFontButton

typedef struct _GtkFontButton GtkFontButton;

Property Details

The “modal” property

  “modal”                    gboolean

Whether the dialog is modal.

Owner: GtkFontButton

Flags: Read / Write

Default value: TRUE


The “title” property

  “title”                    gchar *

The title of the font chooser dialog.

Owner: GtkFontButton

Flags: Read / Write

Default value: "Pick a Font"


The “use-font” property

  “use-font”                 gboolean

If this property is set to TRUE, the label will be drawn in the selected font.

Owner: GtkFontButton

Flags: Read / Write

Default value: FALSE


The “use-size” property

  “use-size”                 gboolean

If this property is set to TRUE, the label will be drawn with the selected font size.

Owner: GtkFontButton

Flags: Read / Write

Default value: FALSE

Signal Details

The “font-set” signal

void
user_function (GtkFontButton *widget,
               gpointer       user_data)

The ::font-set signal is emitted when the user selects a font. When handling this signal, use gtk_font_chooser_get_font() to find out which font was just selected.

Note that this signal is only emitted when the user changes the font. If you need to react to programmatic font changes as well, use the notify::font signal.

Parameters

widget

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkCellArea.html0000664000175000017500000064044713710700533020347 0ustar mclasenmclasen GtkCellArea: GTK 4 Reference Manual

GtkCellArea

GtkCellArea — An abstract class for laying out GtkCellRenderers

Functions

gboolean (*GtkCellCallback) ()
gboolean (*GtkCellAllocCallback) ()
#define GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID()
void gtk_cell_area_add ()
void gtk_cell_area_remove ()
gboolean gtk_cell_area_has_renderer ()
void gtk_cell_area_foreach ()
void gtk_cell_area_foreach_alloc ()
int gtk_cell_area_event ()
void gtk_cell_area_snapshot ()
void gtk_cell_area_get_cell_allocation ()
GtkCellRenderer * gtk_cell_area_get_cell_at_position ()
GtkCellAreaContext * gtk_cell_area_create_context ()
GtkCellAreaContext * gtk_cell_area_copy_context ()
GtkSizeRequestMode gtk_cell_area_get_request_mode ()
void gtk_cell_area_get_preferred_width ()
void gtk_cell_area_get_preferred_height_for_width ()
void gtk_cell_area_get_preferred_height ()
void gtk_cell_area_get_preferred_width_for_height ()
const char * gtk_cell_area_get_current_path_string ()
void gtk_cell_area_apply_attributes ()
void gtk_cell_area_attribute_connect ()
void gtk_cell_area_attribute_disconnect ()
int gtk_cell_area_attribute_get_column ()
void gtk_cell_area_class_install_cell_property ()
GParamSpec * gtk_cell_area_class_find_cell_property ()
GParamSpec ** gtk_cell_area_class_list_cell_properties ()
void gtk_cell_area_add_with_properties ()
void gtk_cell_area_cell_set ()
void gtk_cell_area_cell_get ()
void gtk_cell_area_cell_set_valist ()
void gtk_cell_area_cell_get_valist ()
void gtk_cell_area_cell_set_property ()
void gtk_cell_area_cell_get_property ()
gboolean gtk_cell_area_is_activatable ()
gboolean gtk_cell_area_activate ()
gboolean gtk_cell_area_focus ()
void gtk_cell_area_set_focus_cell ()
GtkCellRenderer * gtk_cell_area_get_focus_cell ()
void gtk_cell_area_add_focus_sibling ()
void gtk_cell_area_remove_focus_sibling ()
gboolean gtk_cell_area_is_focus_sibling ()
const GList * gtk_cell_area_get_focus_siblings ()
GtkCellRenderer * gtk_cell_area_get_focus_from_sibling ()
GtkCellRenderer * gtk_cell_area_get_edited_cell ()
GtkCellEditable * gtk_cell_area_get_edit_widget ()
gboolean gtk_cell_area_activate_cell ()
void gtk_cell_area_stop_editing ()
void gtk_cell_area_inner_cell_area ()
void gtk_cell_area_request_renderer ()

Signals

void add-editable Run First
void apply-attributes Run First
void focus-changed Run First
void remove-editable Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellArea
            ╰── GtkCellAreaBox

Implemented Interfaces

GtkCellArea implements GtkCellLayout and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

The GtkCellArea is an abstract class for GtkCellLayout widgets (also referred to as "layouting widgets") to interface with an arbitrary number of GtkCellRenderers and interact with the user for a given GtkTreeModel row.

The cell area handles events, focus navigation, drawing and size requests and allocations for a given row of data.

Usually users dont have to interact with the GtkCellArea directly unless they are implementing a cell-layouting widget themselves.

Requesting area sizes

As outlined in GtkWidget’s geometry management section, GTK+ uses a height-for-width geometry management system to compute the sizes of widgets and user interfaces. GtkCellArea uses the same semantics to calculate the size of an area for an arbitrary number of GtkTreeModel rows.

When requesting the size of a cell area one needs to calculate the size for a handful of rows, and this will be done differently by different layouting widgets. For instance a GtkTreeViewColumn always lines up the areas from top to bottom while a GtkIconView on the other hand might enforce that all areas received the same width and wrap the areas around, requesting height for more cell areas when allocated less width.

It’s also important for areas to maintain some cell alignments with areas rendered for adjacent rows (cells can appear “columnized” inside an area even when the size of cells are different in each row). For this reason the GtkCellArea uses a GtkCellAreaContext object to store the alignments and sizes along the way (as well as the overall largest minimum and natural size for all the rows which have been calculated with the said context).

The GtkCellAreaContext is an opaque object specific to the GtkCellArea which created it (see gtk_cell_area_create_context()). The owning cell-layouting widget can create as many contexts as it wishes to calculate sizes of rows which should receive the same size in at least one orientation (horizontally or vertically), However, it’s important that the same GtkCellAreaContext which was used to request the sizes for a given GtkTreeModel row be used when rendering or processing events for that row.

In order to request the width of all the rows at the root level of a GtkTreeModel one would do the following:

1
2
3
4
5
6
7
8
9
10
11
12
13
GtkTreeIter iter;
int         minimum_width;
int         natural_width;

valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
  {
    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
    gtk_cell_area_get_preferred_width (area, context, widget, NULL, NULL);

    valid = gtk_tree_model_iter_next (model, &iter);
  }
gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width);

Note that in this example it’s not important to observe the returned minimum and natural width of the area for each row unless the cell-layouting object is actually interested in the widths of individual rows. The overall width is however stored in the accompanying GtkCellAreaContext object and can be consulted at any time.

This can be useful since GtkCellLayout widgets usually have to support requesting and rendering rows in treemodels with an exceedingly large amount of rows. The GtkCellLayout widget in that case would calculate the required width of the rows in an idle or timeout source (see g_timeout_add()) and when the widget is requested its actual width in GtkWidgetClass.get_preferred_width() it can simply consult the width accumulated so far in the GtkCellAreaContext object.

A simple example where rows are rendered from top to bottom and take up the full width of the layouting widget would look like:

1
2
3
4
5
6
7
8
9
10
11
12
static void
foo_get_preferred_width (GtkWidget       *widget,
                         int             *minimum_size,
                         int             *natural_size)
{
  Foo        *foo  = FOO (widget);
  FooPrivate *priv = foo->priv;

  foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo);

  gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size);
}

In the above example the Foo widget has to make sure that some row sizes have been calculated (the amount of rows that Foo judged was appropriate to request space for in a single timeout iteration) before simply returning the amount of space required by the area via the GtkCellAreaContext.

Requesting the height for width (or width for height) of an area is a similar task except in this case the GtkCellAreaContext does not store the data (actually, it does not know how much space the layouting widget plans to allocate it for every row. It’s up to the layouting widget to render each row of data with the appropriate height and width which was requested by the GtkCellArea).

In order to request the height for width of all the rows at the root level of a GtkTreeModel one would do the following:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
GtkTreeIter iter;
int         minimum_height;
int         natural_height;
int         full_minimum_height = 0;
int         full_natural_height = 0;

valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
  {
    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
    gtk_cell_area_get_preferred_height_for_width (area, context, widget,
                                                  width, &minimum_height, &natural_height);

    if (width_is_for_allocation)
       cache_row_height (&iter, minimum_height, natural_height);

    full_minimum_height += minimum_height;
    full_natural_height += natural_height;

    valid = gtk_tree_model_iter_next (model, &iter);
  }

Note that in the above example we would need to cache the heights returned for each row so that we would know what sizes to render the areas for each row. However we would only want to really cache the heights if the request is intended for the layouting widgets real allocation.

In some cases the layouting widget is requested the height for an arbitrary for_width, this is a special case for layouting widgets who need to request size for tens of thousands of rows. For this case it’s only important that the layouting widget calculate one reasonably sized chunk of rows and return that height synchronously. The reasoning here is that any layouting widget is at least capable of synchronously calculating enough height to fill the screen height (or scrolled window height) in response to a single call to GtkWidgetClass.get_preferred_height_for_width(). Returning a perfect height for width that is larger than the screen area is inconsequential since after the layouting receives an allocation from a scrolled window it simply continues to drive the scrollbar values while more and more height is required for the row heights that are calculated in the background.


Rendering Areas

Once area sizes have been aquired at least for the rows in the visible area of the layouting widget they can be rendered at GtkWidgetClass.draw() time.

A crude example of how to render all the rows at the root level runs as follows:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
GtkAllocation allocation;
GdkRectangle  cell_area = { 0, };
GtkTreeIter   iter;
int           minimum_width;
int           natural_width;

gtk_widget_get_allocation (widget, &allocation);
cell_area.width = allocation.width;

valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
  {
    cell_area.height = get_cached_height_for_row (&iter);

    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
    gtk_cell_area_render (area, context, widget, cr,
                          &cell_area, &cell_area, state_flags, FALSE);

    cell_area.y += cell_area.height;

    valid = gtk_tree_model_iter_next (model, &iter);
  }

Note that the cached height in this example really depends on how the layouting widget works. The layouting widget might decide to give every row its minimum or natural height or, if the model content is expected to fit inside the layouting widget without scrolling, it would make sense to calculate the allocation for each row at the time the widget is allocated using gtk_distribute_natural_allocation().


Handling Events and Driving Keyboard Focus

Passing events to the area is as simple as handling events on any normal widget and then passing them to the gtk_cell_area_event() API as they come in. Usually GtkCellArea is only interested in button events, however some customized derived areas can be implemented who are interested in handling other events. Handling an event can trigger the “focus-changed” signal to fire; as well as “add-editable” in the case that an editable cell was clicked and needs to start editing. You can call gtk_cell_area_stop_editing() at any time to cancel any cell editing that is currently in progress.

The GtkCellArea drives keyboard focus from cell to cell in a way similar to GtkWidget. For layouting widgets that support giving focus to cells it’s important to remember to pass GTK_CELL_RENDERER_FOCUSED to the area functions for the row that has focus and to tell the area to paint the focus at render time.

Layouting widgets that accept focus on cells should implement the GtkWidgetClass.focus() virtual method. The layouting widget is always responsible for knowing where GtkTreeModel rows are rendered inside the widget, so at GtkWidgetClass.focus() time the layouting widget should use the GtkCellArea methods to navigate focus inside the area and then observe the GtkDirectionType to pass the focus to adjacent rows and areas.

A basic example of how the GtkWidgetClass.focus() virtual method should be implemented:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
static gboolean
foo_focus (GtkWidget       *widget,
           GtkDirectionType direction)
{
  Foo        *foo  = FOO (widget);
  FooPrivate *priv = foo->priv;
  int         focus_row;
  gboolean    have_focus = FALSE;

  focus_row = priv->focus_row;

  if (!gtk_widget_has_focus (widget))
    gtk_widget_grab_focus (widget);

  valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row);
  while (valid)
    {
      gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE);

      if (gtk_cell_area_focus (priv->area, direction))
        {
           priv->focus_row = focus_row;
           have_focus = TRUE;
           break;
        }
      else
        {
          if (direction == GTK_DIR_RIGHT ||
              direction == GTK_DIR_LEFT)
            break;
          else if (direction == GTK_DIR_UP ||
                   direction == GTK_DIR_TAB_BACKWARD)
           {
              if (focus_row == 0)
                break;
              else
               {
                  focus_row--;
                  valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row);
               }
            }
          else
            {
              if (focus_row == last_row)
                break;
              else
                {
                  focus_row++;
                  valid = gtk_tree_model_iter_next (priv->model, &iter);
                }
            }
        }
    }
    return have_focus;
}

Note that the layouting widget is responsible for matching the GtkDirectionType values to the way it lays out its cells.


Cell Properties

The GtkCellArea introduces cell properties for GtkCellRenderers in very much the same way that GtkContainer introduces child properties for GtkWidgets. This provides some general interfaces for defining the relationship cell areas have with their cells. For instance in a GtkCellAreaBox a cell might “expand” and receive extra space when the area is allocated more than its full natural request, or a cell might be configured to “align” with adjacent rows which were requested and rendered with the same GtkCellAreaContext.

Use gtk_cell_area_class_install_cell_property() to install cell properties for a cell area class and gtk_cell_area_class_find_cell_property() or gtk_cell_area_class_list_cell_properties() to get information about existing cell properties.

To set the value of a cell property, use gtk_cell_area_cell_set_property(), gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). To obtain the value of a cell property, use gtk_cell_area_cell_get_property(), gtk_cell_area_cell_get() or gtk_cell_area_cell_get_valist().

Functions

GtkCellCallback ()

gboolean
(*GtkCellCallback) (GtkCellRenderer *renderer,
                    gpointer data);

The type of the callback functions used for iterating over the cell renderers of a GtkCellArea, see gtk_cell_area_foreach().

Parameters

renderer

the cell renderer to operate on

 

data

user-supplied data.

[closure]

Returns

TRUE to stop iterating over cells.


GtkCellAllocCallback ()

gboolean
(*GtkCellAllocCallback) (GtkCellRenderer *renderer,
                         const GdkRectangle *cell_area,
                         const GdkRectangle *cell_background,
                         gpointer data);

The type of the callback functions used for iterating over the cell renderers and their allocated areas inside a GtkCellArea, see gtk_cell_area_foreach_alloc().

Parameters

renderer

the cell renderer to operate on

 

cell_area

the area allocated to renderer inside the rectangle provided to gtk_cell_area_foreach_alloc().

 

cell_background

the background area for renderer inside the background area provided to gtk_cell_area_foreach_alloc().

 

data

user-supplied data.

[closure]

Returns

TRUE to stop iterating over cells.


GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID()

#define             GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID(object, property_id, pspec)

This macro should be used to emit a standard warning about unexpected properties in set_cell_property() and get_cell_property() implementations.

Parameters

object

the GObject on which set_cell_property() or get_cell_property() was called

 

property_id

the numeric id of the property

 

pspec

the GParamSpec of the property

 

gtk_cell_area_add ()

void
gtk_cell_area_add (GtkCellArea *area,
                   GtkCellRenderer *renderer);

Adds renderer to area with the default child cell properties.

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to add to area

 

gtk_cell_area_remove ()

void
gtk_cell_area_remove (GtkCellArea *area,
                      GtkCellRenderer *renderer);

Removes renderer from area .

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to remove from area

 

gtk_cell_area_has_renderer ()

gboolean
gtk_cell_area_has_renderer (GtkCellArea *area,
                            GtkCellRenderer *renderer);

Checks if area contains renderer .

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to check

 

Returns

TRUE if renderer is in the area .


gtk_cell_area_foreach ()

void
gtk_cell_area_foreach (GtkCellArea *area,
                       GtkCellCallback callback,
                       gpointer callback_data);

Calls callback for every GtkCellRenderer in area .

Parameters

area

a GtkCellArea

 

callback

the GtkCellCallback to call.

[scope call]

callback_data

user provided data pointer

 

gtk_cell_area_foreach_alloc ()

void
gtk_cell_area_foreach_alloc (GtkCellArea *area,
                             GtkCellAreaContext *context,
                             GtkWidget *widget,
                             const GdkRectangle *cell_area,
                             const GdkRectangle *background_area,
                             GtkCellAllocCallback callback,
                             gpointer callback_data);

Calls callback for every GtkCellRenderer in area with the allocated rectangle inside cell_area .

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext for this row of data.

 

widget

the GtkWidget that area is rendering to

 

cell_area

the widget relative coordinates and size for area

 

background_area

the widget relative coordinates of the background area

 

callback

the GtkCellAllocCallback to call.

[scope call]

callback_data

user provided data pointer

 

gtk_cell_area_event ()

int
gtk_cell_area_event (GtkCellArea *area,
                     GtkCellAreaContext *context,
                     GtkWidget *widget,
                     GdkEvent *event,
                     const GdkRectangle *cell_area,
                     GtkCellRendererState flags);

Delegates event handling to a GtkCellArea.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext for this row of data.

 

widget

the GtkWidget that area is rendering to

 

event

the GdkEvent to handle

 

cell_area

the widget relative coordinates for area

 

flags

the GtkCellRendererState for area in this row.

 

Returns

TRUE if the event was handled by area .


gtk_cell_area_snapshot ()

void
gtk_cell_area_snapshot (GtkCellArea *area,
                        GtkCellAreaContext *context,
                        GtkWidget *widget,
                        GtkSnapshot *snapshot,
                        const GdkRectangle *background_area,
                        const GdkRectangle *cell_area,
                        GtkCellRendererState flags,
                        gboolean paint_focus);

Snapshots area ’s cells according to area ’s layout onto at the given coordinates.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext for this row of data.

 

widget

the GtkWidget that area is rendering to

 

snapshot

the GtkSnapshot to draw to

 

background_area

the widget relative coordinates for area ’s background

 

cell_area

the widget relative coordinates for area

 

flags

the GtkCellRendererState for area in this row.

 

paint_focus

whether area should paint focus on focused cells for focused rows or not.

 

gtk_cell_area_get_cell_allocation ()

void
gtk_cell_area_get_cell_allocation (GtkCellArea *area,
                                   GtkCellAreaContext *context,
                                   GtkWidget *widget,
                                   GtkCellRenderer *renderer,
                                   const GdkRectangle *cell_area,
                                   GdkRectangle *allocation);

Derives the allocation of renderer inside area if area were to be renderered in cell_area .

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext used to hold sizes for area .

 

widget

the GtkWidget that area is rendering on

 

renderer

the GtkCellRenderer to get the allocation for

 

cell_area

the whole allocated area for area in widget for this row

 

allocation

where to store the allocation for renderer .

[out]

gtk_cell_area_get_cell_at_position ()

GtkCellRenderer *
gtk_cell_area_get_cell_at_position (GtkCellArea *area,
                                    GtkCellAreaContext *context,
                                    GtkWidget *widget,
                                    const GdkRectangle *cell_area,
                                    int x,
                                    int y,
                                    GdkRectangle *alloc_area);

Gets the GtkCellRenderer at x and y coordinates inside area and optionally returns the full cell allocation for it inside cell_area .

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext used to hold sizes for area .

 

widget

the GtkWidget that area is rendering on

 

cell_area

the whole allocated area for area in widget for this row

 

x

the x position

 

y

the y position

 

alloc_area

where to store the inner allocated area of the returned cell renderer, or NULL.

[out][allow-none]

Returns

the GtkCellRenderer at x and y .

[transfer none]


gtk_cell_area_create_context ()

GtkCellAreaContext *
gtk_cell_area_create_context (GtkCellArea *area);

Creates a GtkCellAreaContext to be used with area for all purposes. GtkCellAreaContext stores geometry information for rows for which it was operated on, it is important to use the same context for the same row of data at all times (i.e. one should render and handle events with the same GtkCellAreaContext which was used to request the size of those rows of data).

Parameters

area

a GtkCellArea

 

Returns

a newly created GtkCellAreaContext which can be used with area .

[transfer full]


gtk_cell_area_copy_context ()

GtkCellAreaContext *
gtk_cell_area_copy_context (GtkCellArea *area,
                            GtkCellAreaContext *context);

This is sometimes needed for cases where rows need to share alignments in one orientation but may be separately grouped in the opposing orientation.

For instance, GtkIconView creates all icons (rows) to have the same width and the cells theirin to have the same horizontal alignments. However each row of icons may have a separate collective height. GtkIconView uses this to request the heights of each row based on a context which was already used to request all the row widths that are to be displayed.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext to copy

 

Returns

a newly created GtkCellAreaContext copy of context .

[transfer full]


gtk_cell_area_get_request_mode ()

GtkSizeRequestMode
gtk_cell_area_get_request_mode (GtkCellArea *area);

Gets whether the area prefers a height-for-width layout or a width-for-height layout.

Parameters

area

a GtkCellArea

 

Returns

The GtkSizeRequestMode preferred by area .


gtk_cell_area_get_preferred_width ()

void
gtk_cell_area_get_preferred_width (GtkCellArea *area,
                                   GtkCellAreaContext *context,
                                   GtkWidget *widget,
                                   int *minimum_width,
                                   int *natural_width);

Retrieves a cell area’s initial minimum and natural width.

area will store some geometrical information in context along the way; when requesting sizes over an arbitrary number of rows, it’s not important to check the minimum_width and natural_width of this call but rather to consult gtk_cell_area_context_get_preferred_width() after a series of requests.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext to perform this request with

 

widget

the GtkWidget where area will be rendering

 

minimum_width

location to store the minimum width, or NULL.

[out][allow-none]

natural_width

location to store the natural width, or NULL.

[out][allow-none]

gtk_cell_area_get_preferred_height_for_width ()

void
gtk_cell_area_get_preferred_height_for_width
                               (GtkCellArea *area,
                                GtkCellAreaContext *context,
                                GtkWidget *widget,
                                int width,
                                int *minimum_height,
                                int *natural_height);

Retrieves a cell area’s minimum and natural height if it would be given the specified width .

area stores some geometrical information in context along the way while calling gtk_cell_area_get_preferred_width(). It’s important to perform a series of gtk_cell_area_get_preferred_width() requests with context first and then call gtk_cell_area_get_preferred_height_for_width() on each cell area individually to get the height for width of each fully requested row.

If at some point, the width of a single row changes, it should be requested with gtk_cell_area_get_preferred_width() again and then the full width of the requested rows checked again with gtk_cell_area_context_get_preferred_width().

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext which has already been requested for widths.

 

widget

the GtkWidget where area will be rendering

 

width

the width for which to check the height of this area

 

minimum_height

location to store the minimum height, or NULL.

[out][allow-none]

natural_height

location to store the natural height, or NULL.

[out][allow-none]

gtk_cell_area_get_preferred_height ()

void
gtk_cell_area_get_preferred_height (GtkCellArea *area,
                                    GtkCellAreaContext *context,
                                    GtkWidget *widget,
                                    int *minimum_height,
                                    int *natural_height);

Retrieves a cell area’s initial minimum and natural height.

area will store some geometrical information in context along the way; when requesting sizes over an arbitrary number of rows, it’s not important to check the minimum_height and natural_height of this call but rather to consult gtk_cell_area_context_get_preferred_height() after a series of requests.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext to perform this request with

 

widget

the GtkWidget where area will be rendering

 

minimum_height

location to store the minimum height, or NULL.

[out][allow-none]

natural_height

location to store the natural height, or NULL.

[out][allow-none]

gtk_cell_area_get_preferred_width_for_height ()

void
gtk_cell_area_get_preferred_width_for_height
                               (GtkCellArea *area,
                                GtkCellAreaContext *context,
                                GtkWidget *widget,
                                int height,
                                int *minimum_width,
                                int *natural_width);

Retrieves a cell area’s minimum and natural width if it would be given the specified height .

area stores some geometrical information in context along the way while calling gtk_cell_area_get_preferred_height(). It’s important to perform a series of gtk_cell_area_get_preferred_height() requests with context first and then call gtk_cell_area_get_preferred_width_for_height() on each cell area individually to get the height for width of each fully requested row.

If at some point, the height of a single row changes, it should be requested with gtk_cell_area_get_preferred_height() again and then the full height of the requested rows checked again with gtk_cell_area_context_get_preferred_height().

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext which has already been requested for widths.

 

widget

the GtkWidget where area will be rendering

 

height

the height for which to check the width of this area

 

minimum_width

location to store the minimum width, or NULL.

[out][allow-none]

natural_width

location to store the natural width, or NULL.

[out][allow-none]

gtk_cell_area_get_current_path_string ()

const char *
gtk_cell_area_get_current_path_string (GtkCellArea *area);

Gets the current GtkTreePath string for the currently applied GtkTreeIter, this is implicitly updated when gtk_cell_area_apply_attributes() is called and can be used to interact with renderers from GtkCellArea subclasses.

Parameters

area

a GtkCellArea

 

Returns

The current GtkTreePath string for the current attributes applied to area . This string belongs to the area and should not be freed.


gtk_cell_area_apply_attributes ()

void
gtk_cell_area_apply_attributes (GtkCellArea *area,
                                GtkTreeModel *tree_model,
                                GtkTreeIter *iter,
                                gboolean is_expander,
                                gboolean is_expanded);

Applies any connected attributes to the renderers in area by pulling the values from tree_model .

Parameters

area

a GtkCellArea

 

tree_model

the GtkTreeModel to pull values from

 

iter

the GtkTreeIter in tree_model to apply values for

 

is_expander

whether iter has children

 

is_expanded

whether iter is expanded in the view and children are visible

 

gtk_cell_area_attribute_connect ()

void
gtk_cell_area_attribute_connect (GtkCellArea *area,
                                 GtkCellRenderer *renderer,
                                 const char *attribute,
                                 int column);

Connects an attribute to apply values from column for the GtkTreeModel in use.

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to connect an attribute for

 

attribute

the attribute name

 

column

the GtkTreeModel column to fetch attribute values from

 

gtk_cell_area_attribute_disconnect ()

void
gtk_cell_area_attribute_disconnect (GtkCellArea *area,
                                    GtkCellRenderer *renderer,
                                    const char *attribute);

Disconnects attribute for the renderer in area so that attribute will no longer be updated with values from the model.

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to disconnect an attribute for

 

attribute

the attribute name

 

gtk_cell_area_attribute_get_column ()

int
gtk_cell_area_attribute_get_column (GtkCellArea *area,
                                    GtkCellRenderer *renderer,
                                    const char *attribute);

Returns the model column that an attribute has been mapped to, or -1 if the attribute is not mapped.

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer

 

attribute

an attribute on the renderer

 

Returns

the model column, or -1


gtk_cell_area_class_install_cell_property ()

void
gtk_cell_area_class_install_cell_property
                               (GtkCellAreaClass *aclass,
                                guint property_id,
                                GParamSpec *pspec);

Installs a cell property on a cell area class.

Parameters

aclass

a GtkCellAreaClass

 

property_id

the id for the property

 

pspec

the GParamSpec for the property

 

gtk_cell_area_class_find_cell_property ()

GParamSpec *
gtk_cell_area_class_find_cell_property
                               (GtkCellAreaClass *aclass,
                                const char *property_name);

Finds a cell property of a cell area class by name.

Parameters

aclass

a GtkCellAreaClass

 

property_name

the name of the child property to find

 

Returns

the GParamSpec of the child property or NULL if aclass has no child property with that name.

[transfer none]


gtk_cell_area_class_list_cell_properties ()

GParamSpec **
gtk_cell_area_class_list_cell_properties
                               (GtkCellAreaClass *aclass,
                                guint *n_properties);

Returns all cell properties of a cell area class.

Parameters

aclass

a GtkCellAreaClass

 

n_properties

location to return the number of cell properties found.

[out]

Returns

a newly allocated NULL-terminated array of GParamSpec*. The array must be freed with g_free().

[array length=n_properties][transfer container]


gtk_cell_area_add_with_properties ()

void
gtk_cell_area_add_with_properties (GtkCellArea *area,
                                   GtkCellRenderer *renderer,
                                   const char *first_prop_name,
                                   ...);

Adds renderer to area , setting cell properties at the same time. See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details.

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer to be placed inside area

 

first_prop_name

the name of the first cell property to set

 

...

a NULL-terminated list of property names and values, starting with first_prop_name

 

gtk_cell_area_cell_set ()

void
gtk_cell_area_cell_set (GtkCellArea *area,
                        GtkCellRenderer *renderer,
                        const char *first_prop_name,
                        ...);

Sets one or more cell properties for cell in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer which is a cell inside area

 

first_prop_name

the name of the first cell property to set

 

...

a NULL-terminated list of property names and values, starting with first_prop_name

 

gtk_cell_area_cell_get ()

void
gtk_cell_area_cell_get (GtkCellArea *area,
                        GtkCellRenderer *renderer,
                        const char *first_prop_name,
                        ...);

Gets the values of one or more cell properties for renderer in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer which is inside area

 

first_prop_name

the name of the first cell property to get

 

...

return location for the first cell property, followed optionally by more name/return location pairs, followed by NULL

 

gtk_cell_area_cell_set_valist ()

void
gtk_cell_area_cell_set_valist (GtkCellArea *area,
                               GtkCellRenderer *renderer,
                               const char *first_property_name,
                               va_list var_args);

Sets one or more cell properties for renderer in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer which inside area

 

first_property_name

the name of the first cell property to set

 

var_args

a NULL-terminated list of property names and values, starting with first_prop_name

 

gtk_cell_area_cell_get_valist ()

void
gtk_cell_area_cell_get_valist (GtkCellArea *area,
                               GtkCellRenderer *renderer,
                               const char *first_property_name,
                               va_list var_args);

Gets the values of one or more cell properties for renderer in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer inside area

 

first_property_name

the name of the first property to get

 

var_args

return location for the first property, followed optionally by more name/return location pairs, followed by NULL

 

gtk_cell_area_cell_set_property ()

void
gtk_cell_area_cell_set_property (GtkCellArea *area,
                                 GtkCellRenderer *renderer,
                                 const char *property_name,
                                 const GValue *value);

Sets a cell property for renderer in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer inside area

 

property_name

the name of the cell property to set

 

value

the value to set the cell property to

 

gtk_cell_area_cell_get_property ()

void
gtk_cell_area_cell_get_property (GtkCellArea *area,
                                 GtkCellRenderer *renderer,
                                 const char *property_name,
                                 GValue *value);

Gets the value of a cell property for renderer in area .

Parameters

area

a GtkCellArea

 

renderer

a GtkCellRenderer inside area

 

property_name

the name of the property to get

 

value

a location to return the value

 

gtk_cell_area_is_activatable ()

gboolean
gtk_cell_area_is_activatable (GtkCellArea *area);

Returns whether the area can do anything when activated, after applying new attributes to area .

Parameters

area

a GtkCellArea

 

Returns

whether area can do anything when activated.


gtk_cell_area_activate ()

gboolean
gtk_cell_area_activate (GtkCellArea *area,
                        GtkCellAreaContext *context,
                        GtkWidget *widget,
                        const GdkRectangle *cell_area,
                        GtkCellRendererState flags,
                        gboolean edit_only);

Activates area , usually by activating the currently focused cell, however some subclasses which embed widgets in the area can also activate a widget if it currently has the focus.

Parameters

area

a GtkCellArea

 

context

the GtkCellAreaContext in context with the current row data

 

widget

the GtkWidget that area is rendering on

 

cell_area

the size and location of area relative to widget ’s allocation

 

flags

the GtkCellRendererState flags for area for this row of data.

 

edit_only

if TRUE then only cell renderers that are GTK_CELL_RENDERER_MODE_EDITABLE will be activated.

 

Returns

Whether area was successfully activated.


gtk_cell_area_focus ()

gboolean
gtk_cell_area_focus (GtkCellArea *area,
                     GtkDirectionType direction);

This should be called by the area ’s owning layout widget when focus is to be passed to area , or moved within area for a given direction and row data.

Implementing GtkCellArea classes should implement this method to receive and navigate focus in its own way particular to how it lays out cells.

Parameters

area

a GtkCellArea

 

direction

the GtkDirectionType

 

Returns

TRUE if focus remains inside area as a result of this call.


gtk_cell_area_set_focus_cell ()

void
gtk_cell_area_set_focus_cell (GtkCellArea *area,
                              GtkCellRenderer *renderer);

Explicitly sets the currently focused cell to renderer .

This is generally called by implementations of GtkCellAreaClass.focus() or GtkCellAreaClass.event(), however it can also be used to implement functions such as gtk_tree_view_set_cursor_on_cell().

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to give focus to

 

gtk_cell_area_get_focus_cell ()

GtkCellRenderer *
gtk_cell_area_get_focus_cell (GtkCellArea *area);

Retrieves the currently focused cell for area

Parameters

area

a GtkCellArea

 

Returns

the currently focused cell in area .

[transfer none]


gtk_cell_area_add_focus_sibling ()

void
gtk_cell_area_add_focus_sibling (GtkCellArea *area,
                                 GtkCellRenderer *renderer,
                                 GtkCellRenderer *sibling);

Adds sibling to renderer ’s focusable area, focus will be drawn around renderer and all of its siblings if renderer can focus for a given row.

Events handled by focus siblings can also activate the given focusable renderer .

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer expected to have focus

 

sibling

the GtkCellRenderer to add to renderer ’s focus area

 

gtk_cell_area_remove_focus_sibling ()

void
gtk_cell_area_remove_focus_sibling (GtkCellArea *area,
                                    GtkCellRenderer *renderer,
                                    GtkCellRenderer *sibling);

Removes sibling from renderer ’s focus sibling list (see gtk_cell_area_add_focus_sibling()).

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer expected to have focus

 

sibling

the GtkCellRenderer to remove from renderer ’s focus area

 

gtk_cell_area_is_focus_sibling ()

gboolean
gtk_cell_area_is_focus_sibling (GtkCellArea *area,
                                GtkCellRenderer *renderer,
                                GtkCellRenderer *sibling);

Returns whether sibling is one of renderer ’s focus siblings (see gtk_cell_area_add_focus_sibling()).

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer expected to have focus

 

sibling

the GtkCellRenderer to check against renderer ’s sibling list

 

Returns

TRUE if sibling is a focus sibling of renderer


gtk_cell_area_get_focus_siblings ()

const GList *
gtk_cell_area_get_focus_siblings (GtkCellArea *area,
                                  GtkCellRenderer *renderer);

Gets the focus sibling cell renderers for renderer .

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer expected to have focus

 

Returns

A GList of GtkCellRenderers. The returned list is internal and should not be freed.

[element-type GtkCellRenderer][transfer none]


gtk_cell_area_get_focus_from_sibling ()

GtkCellRenderer *
gtk_cell_area_get_focus_from_sibling (GtkCellArea *area,
                                      GtkCellRenderer *renderer);

Gets the GtkCellRenderer which is expected to be focusable for which renderer is, or may be a sibling.

This is handy for GtkCellArea subclasses when handling events, after determining the renderer at the event location it can then chose to activate the focus cell for which the event cell may have been a sibling.

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer

 

Returns

the GtkCellRenderer for which renderer is a sibling, or NULL.

[nullable][transfer none]


gtk_cell_area_get_edited_cell ()

GtkCellRenderer *
gtk_cell_area_get_edited_cell (GtkCellArea *area);

Gets the GtkCellRenderer in area that is currently being edited.

Parameters

area

a GtkCellArea

 

Returns

The currently edited GtkCellRenderer.

[transfer none]


gtk_cell_area_get_edit_widget ()

GtkCellEditable *
gtk_cell_area_get_edit_widget (GtkCellArea *area);

Gets the GtkCellEditable widget currently used to edit the currently edited cell.

Parameters

area

a GtkCellArea

 

Returns

The currently active GtkCellEditable widget.

[transfer none]


gtk_cell_area_activate_cell ()

gboolean
gtk_cell_area_activate_cell (GtkCellArea *area,
                             GtkWidget *widget,
                             GtkCellRenderer *renderer,
                             GdkEvent *event,
                             const GdkRectangle *cell_area,
                             GtkCellRendererState flags);

This is used by GtkCellArea subclasses when handling events to activate cells, the base GtkCellArea class activates cells for keyboard events for free in its own GtkCellArea->activate() implementation.

Parameters

area

a GtkCellArea

 

widget

the GtkWidget that area is rendering onto

 

renderer

the GtkCellRenderer in area to activate

 

event

the GdkEvent for which cell activation should occur

 

cell_area

the GdkRectangle in widget relative coordinates of renderer for the current row.

 

flags

the GtkCellRendererState for renderer

 

Returns

whether cell activation was successful


gtk_cell_area_stop_editing ()

void
gtk_cell_area_stop_editing (GtkCellArea *area,
                            gboolean canceled);

Explicitly stops the editing of the currently edited cell.

If canceled is TRUE, the currently edited cell renderer will emit the ::editing-canceled signal, otherwise the the ::editing-done signal will be emitted on the current edit widget.

See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().

Parameters

area

a GtkCellArea

 

canceled

whether editing was canceled.

 

gtk_cell_area_inner_cell_area ()

void
gtk_cell_area_inner_cell_area (GtkCellArea *area,
                               GtkWidget *widget,
                               const GdkRectangle *cell_area,
                               GdkRectangle *inner_area);

This is a convenience function for GtkCellArea implementations to get the inner area where a given GtkCellRenderer will be rendered. It removes any padding previously added by gtk_cell_area_request_renderer().

Parameters

area

a GtkCellArea

 

widget

the GtkWidget that area is rendering onto

 

cell_area

the widget relative coordinates where one of area ’s cells is to be placed

 

inner_area

the return location for the inner cell area.

[out]

gtk_cell_area_request_renderer ()

void
gtk_cell_area_request_renderer (GtkCellArea *area,
                                GtkCellRenderer *renderer,
                                GtkOrientation orientation,
                                GtkWidget *widget,
                                int for_size,
                                int *minimum_size,
                                int *natural_size);

This is a convenience function for GtkCellArea implementations to request size for cell renderers. It’s important to use this function to request size and then use gtk_cell_area_inner_cell_area() at render and event time since this function will add padding around the cell for focus painting.

Parameters

area

a GtkCellArea

 

renderer

the GtkCellRenderer to request size for

 

orientation

the GtkOrientation in which to request size

 

widget

the GtkWidget that area is rendering onto

 

for_size

the allocation contextual size to request for, or -1 if the base request for the orientation is to be returned.

 

minimum_size

location to store the minimum size, or NULL.

[out][allow-none]

natural_size

location to store the natural size, or NULL.

[out][allow-none]

Types and Values

struct GtkCellArea

struct GtkCellArea;

struct GtkCellAreaClass

struct GtkCellAreaClass {
  /* Basic methods */
  void               (* add)                             (GtkCellArea             *area,
                                                          GtkCellRenderer         *renderer);
  void               (* remove)                          (GtkCellArea             *area,
                                                          GtkCellRenderer         *renderer);
  void               (* foreach)                         (GtkCellArea             *area,
                                                          GtkCellCallback          callback,
                                                          gpointer                 callback_data);
  void               (* foreach_alloc)                   (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          const GdkRectangle      *cell_area,
                                                          const GdkRectangle      *background_area,
                                                          GtkCellAllocCallback     callback,
                                                          gpointer                 callback_data);
  int                (* event)                           (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          GdkEvent                *event,
                                                          const GdkRectangle      *cell_area,
                                                          GtkCellRendererState     flags);
  void               (* snapshot)                        (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          GtkSnapshot             *snapshot,
                                                          const GdkRectangle      *background_area,
                                                          const GdkRectangle      *cell_area,
                                                          GtkCellRendererState     flags,
                                                          gboolean                 paint_focus);
  void               (* apply_attributes)                (GtkCellArea             *area,
                                                          GtkTreeModel            *tree_model,
                                                          GtkTreeIter             *iter,
                                                          gboolean                 is_expander,
                                                          gboolean                 is_expanded);

  /* Geometry */
  GtkCellAreaContext *(* create_context)                 (GtkCellArea             *area);
  GtkCellAreaContext *(* copy_context)                   (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context);
  GtkSizeRequestMode (* get_request_mode)                (GtkCellArea             *area);
  void               (* get_preferred_width)             (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          int                     *minimum_width,
                                                          int                     *natural_width);
  void               (* get_preferred_height_for_width)  (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          int                      width,
                                                          int                     *minimum_height,
                                                          int                     *natural_height);
  void               (* get_preferred_height)            (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          int                     *minimum_height,
                                                          int                     *natural_height);
  void               (* get_preferred_width_for_height)  (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          int                      height,
                                                          int                     *minimum_width,
                                                          int                     *natural_width);

  /* Cell Properties */
  void               (* set_cell_property)               (GtkCellArea             *area,
                                                          GtkCellRenderer         *renderer,
                                                          guint                    property_id,
                                                          const GValue            *value,
                                                          GParamSpec              *pspec);
  void               (* get_cell_property)               (GtkCellArea             *area,
                                                          GtkCellRenderer         *renderer,
                                                          guint                    property_id,
                                                          GValue                  *value,
                                                          GParamSpec              *pspec);

  /* Focus */
  gboolean           (* focus)                           (GtkCellArea             *area,
                                                          GtkDirectionType         direction);
  gboolean           (* is_activatable)                  (GtkCellArea             *area);
  gboolean           (* activate)                        (GtkCellArea             *area,
                                                          GtkCellAreaContext      *context,
                                                          GtkWidget               *widget,
                                                          const GdkRectangle      *cell_area,
                                                          GtkCellRendererState     flags,
                                                          gboolean                 edit_only);
};

Members

add ()

adds a GtkCellRenderer to the area.

 

remove ()

removes a GtkCellRenderer from the area.

 

foreach ()

calls the GtkCellCallback function on every GtkCellRenderer in the area with the provided user data until the callback returns TRUE.

 

foreach_alloc ()

Calls the GtkCellAllocCallback function on every GtkCellRenderer in the area with the allocated area for the cell and the provided user data until the callback returns TRUE.

 

event ()

Handle an event in the area, this is generally used to activate a cell at the event location for button events but can also be used to generically pass events to GtkWidgets drawn onto the area.

 

snapshot ()

Actually snapshot the area’s cells to the specified rectangle, background_area should be correctly distributed to the cells corresponding background areas.

 

apply_attributes ()

Apply the cell attributes to the cells. This is implemented as a signal and generally GtkCellArea subclasses don't need to implement it since it is handled by the base class.

 

create_context ()

Creates and returns a class specific GtkCellAreaContext to store cell alignment and allocation details for a said GtkCellArea class.

 

copy_context ()

Creates a new GtkCellAreaContext in the same state as the passed context with any cell alignment data and allocations intact.

 

get_request_mode ()

This allows an area to tell its layouting widget whether it prefers to be allocated in GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode.

 

get_preferred_width ()

Calculates the minimum and natural width of the areas cells with the current attributes applied while considering the particular layouting details of the said GtkCellArea. While requests are performed over a series of rows, alignments and overall minimum and natural sizes should be stored in the corresponding GtkCellAreaContext.

 

get_preferred_height_for_width ()

Calculates the minimum and natural height for the area if the passed context would be allocated the given width. When implementing this virtual method it is safe to assume that context has already stored the aligned cell widths for every GtkTreeModel row that context will be allocated for since this information was stored at GtkCellAreaClass.get_preferred_width() time. This virtual method should also store any necessary alignments of cell heights for the case that the context is allocated a height.

 

get_preferred_height ()

Calculates the minimum and natural height of the areas cells with the current attributes applied. Essentially this is the same as GtkCellAreaClass.get_preferred_width() only for areas that are being requested as GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT.

 

get_preferred_width_for_height ()

Calculates the minimum and natural width for the area if the passed context would be allocated the given height. The same as GtkCellAreaClass.get_preferred_height_for_width() only for handling requests in the GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode.

 

set_cell_property ()

This should be implemented to handle changes in child cell properties for a given GtkCellRenderer that were previously installed on the GtkCellAreaClass with gtk_cell_area_class_install_cell_property().

 

get_cell_property ()

This should be implemented to report the values of child cell properties for a given child GtkCellRenderer.

 

focus ()

This virtual method should be implemented to navigate focus from cell to cell inside the GtkCellArea. The GtkCellArea should move focus from cell to cell inside the area and return FALSE if focus logically leaves the area with the following exceptions: When the area contains no activatable cells, the entire area receives focus. Focus should not be given to cells that are actually “focus siblings” of other sibling cells (see gtk_cell_area_get_focus_from_sibling()). Focus is set by calling gtk_cell_area_set_focus_cell().

 

is_activatable ()

Returns whether the GtkCellArea can respond to GtkCellAreaClass.activate(), usually this does not need to be implemented since the base class takes care of this however it can be enhanced if the GtkCellArea subclass can handle activation in other ways than activating its GtkCellRenderers.

 

activate ()

This is called when the layouting widget rendering the GtkCellArea activates the focus cell (see gtk_cell_area_get_focus_cell()).

 

Property Details

The “edit-widget” property

  “edit-widget”              GtkCellEditable *

The widget currently editing the edited cell

This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell().

Owner: GtkCellArea

Flags: Read


The “edited-cell” property

  “edited-cell”              GtkCellRenderer *

The cell in the area that is currently edited

This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell().

Owner: GtkCellArea

Flags: Read


The “focus-cell” property

  “focus-cell”               GtkCellRenderer *

The cell in the area that currently has focus

Owner: GtkCellArea

Flags: Read / Write

Signal Details

The “add-editable” signal

void
user_function (GtkCellArea     *area,
               GtkCellRenderer *renderer,
               GtkCellEditable *editable,
               GdkRectangle    *cell_area,
               gchar           *path,
               gpointer         user_data)

Indicates that editing has started on renderer and that editable should be added to the owning cell-layouting widget at cell_area .

Parameters

area

the GtkCellArea where editing started

 

renderer

the GtkCellRenderer that started the edited

 

editable

the GtkCellEditable widget to add

 

cell_area

the GtkWidget relative GdkRectangle coordinates where editable should be added

 

path

the GtkTreePath string this edit was initiated for

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “apply-attributes” signal

void
user_function (GtkCellArea  *area,
               GtkTreeModel *model,
               GtkTreeIter  *iter,
               gboolean      is_expander,
               gboolean      is_expanded,
               gpointer      user_data)

This signal is emitted whenever applying attributes to area from model

Parameters

area

the GtkCellArea to apply the attributes to

 

model

the GtkTreeModel to apply the attributes from

 

iter

the GtkTreeIter indicating which row to apply the attributes of

 

is_expander

whether the view shows children for this row

 

is_expanded

whether the view is currently showing the children of this row

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “focus-changed” signal

void
user_function (GtkCellArea     *area,
               GtkCellRenderer *renderer,
               gchar           *path,
               gpointer         user_data)

Indicates that focus changed on this area . This signal is emitted either as a result of focus handling or event handling.

It's possible that the signal is emitted even if the currently focused renderer did not change, this is because focus may change to the same renderer in the same cell area for a different row of data.

Parameters

area

the GtkCellArea where focus changed

 

renderer

the GtkCellRenderer that has focus

 

path

the current GtkTreePath string set for area

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “remove-editable” signal

void
user_function (GtkCellArea     *area,
               GtkCellRenderer *renderer,
               GtkCellEditable *editable,
               gpointer         user_data)

Indicates that editing finished on renderer and that editable should be removed from the owning cell-layouting widget.

Parameters

area

the GtkCellArea where editing finished

 

renderer

the GtkCellRenderer that finished editeding

 

editable

the GtkCellEditable widget to remove

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkEditableLabel.html0000664000175000017500000004020613710700533021333 0ustar mclasenmclasen GtkEditableLabel: GTK 4 Reference Manual

GtkEditableLabel

GtkEditableLabel — A label that can be edited

Properties

gboolean editing Read

Actions

  editing.stop b
  editing.start  

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkEditableLabel

Implemented Interfaces

GtkEditableLabel implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable.

Includes

#include <gtk/gtk.h>

Description

A GtkEditableLabel is a GtkLabel that allows users to edit the text by switching the widget to an “edit mode”.

GtkEditableLabel does not have API of its own, but it implements the GtkEditable interface.

The default bindings for activating the edit mode is to click or press the Enter key. The default bindings for leaving the edit mode are the Enter key (to save the results) or the Escape key (to cancel the editing).

CSS nodes

1
2
3
4
editablelabel[.editing]
╰── stack
    ├── label
    ╰── text

GtkEditableLabel has a main node with the name editablelabel. When the entry is in editing mode, it gets the .editing style class.

For all the subnodes added to the text node in various situations, see GtkText.

Functions

gtk_editable_label_new ()

GtkWidget *
gtk_editable_label_new (const char *str);

Creates a new GtkEditableLabel widget.

Parameters

str

the text for the label

 

Returns

the new GtkEditableLabel


gtk_editable_label_get_editing ()

gboolean
gtk_editable_label_get_editing (GtkEditableLabel *self);

Returns whether the label is currently in “editing mode”.

Parameters

self

a GtkEditableLabel

 

Returns

TRUE if self is currently in editing mode


gtk_editable_label_start_editing ()

void
gtk_editable_label_start_editing (GtkEditableLabel *self);

Switches the label into “editing mode”.

Parameters

self

a GtkEditableLabel

 

gtk_editable_label_stop_editing ()

void
gtk_editable_label_stop_editing (GtkEditableLabel *self,
                                 gboolean commit);

Switches the label out of “editing mode”. If commit is TRUE, the resulting text is kept as the “text” property value, otherwise the resulting text is discarded and the label will keep its previous “text” property value.

Parameters

self

a GtkEditableLabel

 

commit

whether to set the edited text on the label

 

Types and Values

GtkEditableLabel

typedef struct _GtkEditableLabel GtkEditableLabel;

Property Details

The “editing” property

  “editing”                  gboolean

This property is TRUE while the widget is in edit mode.

Owner: GtkEditableLabel

Flags: Read

Default value: FALSE

Action Details

The “editing.stop” action

Switch the widget out of editing mode. If commit is TRUE, then the results of the editing are taken as the new value of “text”.

The default binding for this action is the Escape key.

This action is disabled when “editing” is FALSE.

Parameter type: b

Parameters

commit

Whether the make changes permanent

 

The “editing.start” action

Switch the widget into editing mode, so that the user can make changes to the text.

The default bindings for this action are clicking on the widget and the Enter key.

This action is disabled when “editing” is FALSE.

docs/reference/gtk/html/GtkCellAreaBox.html0000664000175000017500000005223013710700533021003 0ustar mclasenmclasen GtkCellAreaBox: GTK 4 Reference Manual

GtkCellAreaBox

GtkCellAreaBox — A cell area that renders GtkCellRenderers into a row or a column

Properties

gint spacing Read / Write

Child Properties

gboolean align Read / Write
gboolean expand Read / Write
gboolean fixed-size Read / Write
GtkPackType pack-type Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellArea
            ╰── GtkCellAreaBox

Implemented Interfaces

GtkCellAreaBox implements GtkCellLayout, GtkBuildable and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

The GtkCellAreaBox renders cell renderers into a row or a column depending on its GtkOrientation.

GtkCellAreaBox uses a notion of packing. Packing refers to adding cell renderers with reference to a particular position in a GtkCellAreaBox. There are two reference positions: the start and the end of the box. When the GtkCellAreaBox is oriented in the GTK_ORIENTATION_VERTICAL orientation, the start is defined as the top of the box and the end is defined as the bottom. In the GTK_ORIENTATION_HORIZONTAL orientation start is defined as the left side and the end is defined as the right side.

Alignments of GtkCellRenderers rendered in adjacent rows can be configured by configuring the GtkCellAreaBox align child cell property with gtk_cell_area_cell_set_property() or by specifying the "align" argument to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end().

Functions

gtk_cell_area_box_new ()

GtkCellArea *
gtk_cell_area_box_new (void);

Creates a new GtkCellAreaBox.

Returns

a newly created GtkCellAreaBox


gtk_cell_area_box_pack_start ()

void
gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
                              GtkCellRenderer *renderer,
                              gboolean expand,
                              gboolean align,
                              gboolean fixed);

Adds renderer to box , packed with reference to the start of box .

The renderer is packed after any other GtkCellRenderer packed with reference to the start of box .

Parameters

box

a GtkCellAreaBox

 

renderer

the GtkCellRenderer to add

 

expand

whether renderer should receive extra space when the area receives more than its natural size

 

align

whether renderer should be aligned in adjacent rows

 

fixed

whether renderer should have the same size in all rows

 

gtk_cell_area_box_pack_end ()

void
gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
                            GtkCellRenderer *renderer,
                            gboolean expand,
                            gboolean align,
                            gboolean fixed);

Adds renderer to box , packed with reference to the end of box .

The renderer is packed after (away from end of) any other GtkCellRenderer packed with reference to the end of box .

Parameters

box

a GtkCellAreaBox

 

renderer

the GtkCellRenderer to add

 

expand

whether renderer should receive extra space when the area receives more than its natural size

 

align

whether renderer should be aligned in adjacent rows

 

fixed

whether renderer should have the same size in all rows

 

gtk_cell_area_box_get_spacing ()

int
gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);

Gets the spacing added between cell renderers.

Parameters

box

a GtkCellAreaBox

 

Returns

the space added between cell renderers in box .


gtk_cell_area_box_set_spacing ()

void
gtk_cell_area_box_set_spacing (GtkCellAreaBox *box,
                               int spacing);

Sets the spacing to add between cell renderers in box .

Parameters

box

a GtkCellAreaBox

 

spacing

the space to add between GtkCellRenderers

 

Types and Values

GtkCellAreaBox

typedef struct _GtkCellAreaBox GtkCellAreaBox;

Property Details

The “spacing” property

  “spacing”                  gint

The amount of space to reserve between cells.

Owner: GtkCellAreaBox

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Child Property Details

The “align” child property

  “align”                    gboolean

Whether the cell renderer should be aligned in adjacent rows.

Owner: GtkCellAreaBox

Flags: Read / Write

Default value: FALSE


The “expand” child property

  “expand”                   gboolean

Whether the cell renderer should receive extra space when the area receives more than its natural size.

Owner: GtkCellAreaBox

Flags: Read / Write

Default value: FALSE


The “fixed-size” child property

  “fixed-size”               gboolean

Whether the cell renderer should require the same size for all rows for which it was requested.

Owner: GtkCellAreaBox

Flags: Read / Write

Default value: TRUE


The “pack-type” child property

  “pack-type”                GtkPackType

A GtkPackType indicating whether the cell renderer is packed with reference to the start or end of the area.

Owner: GtkCellAreaBox

Flags: Read / Write

Default value: GTK_PACK_START

docs/reference/gtk/html/GtkEmojiChooser.html0000664000175000017500000002713613710700533021257 0ustar mclasenmclasen GtkEmojiChooser: GTK 4 Reference Manual

GtkEmojiChooser

GtkEmojiChooser — A popover to choose an Emoji character

Functions

Signals

void emoji-picked Run Last

Actions

  scroll.section i

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPopover
                ╰── GtkEmojiChooser

Implemented Interfaces

GtkEmojiChooser implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative.

Includes

#include <gtk/gtk.h>

Description

The GtkEmojiChooser popover is used by text widgets such as GtkEntry or GtkTextView to offer users a convenient way to insert Emoji characters.

GtkEmojiChooser emits the “emoji-picked” signal when an Emoji is selected.

CSS nodes

1
2
3
4
5
popover
╰── box.emoji-toolbar
    ├── button.iamge-button.emoji-section
    ├── ...
    ╰── button.image-button.emoji-section

Every GtkEmojiChooser consists of a main node called popover. The contents of the popover are largely implementation defined and supposed to inherit general styles. The bottom toolbar used to switch between different emoji categories consists of buttons with the .emoji-section style class and gets the .emoji-toolbar style class itself.

Functions

gtk_emoji_chooser_new ()

GtkWidget *
gtk_emoji_chooser_new (void);

Creates a new GtkEmojiChooser.

Returns

a new GtkEmojiChooser

Types and Values

GtkEmojiChooser

typedef struct _GtkEmojiChooser GtkEmojiChooser;

Signal Details

The “emoji-picked” signal

void
user_function (GtkEmojiChooser *chooser,
               gchar           *text,
               gpointer         user_data)

The ::emoji-picked signal is emitted when the user selects an Emoji.

Parameters

chooser

the GtkEmojiChooser

 

text

the Unicode sequence for the picked Emoji, in UTF-8

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Action Details

The “scroll.section” action

Scrolls to the next or previous section.

Parameter type: i

Parameters

direction

1 to scroll forward, -1 to scroll back

 
docs/reference/gtk/html/GtkCellAreaContext.html0000664000175000017500000012416213710700533021703 0ustar mclasenmclasen GtkCellAreaContext: GTK 4 Reference Manual

GtkCellAreaContext

GtkCellAreaContext — Stores geometrical information for a series of rows in a GtkCellArea

Properties

GtkCellArea * area Read / Write / Construct Only
gint minimum-height Read
gint minimum-width Read
gint natural-height Read
gint natural-width Read

Types and Values

Object Hierarchy

    GObject
    ╰── GtkCellAreaContext

Includes

#include <gtk/gtk.h>

Description

The GtkCellAreaContext object is created by a given GtkCellArea implementation via its GtkCellAreaClass.create_context() virtual method and is used to store cell sizes and alignments for a series of GtkTreeModel rows that are requested and rendered in the same context.

GtkCellLayout widgets can create any number of contexts in which to request and render groups of data rows. However, it’s important that the same context which was used to request sizes for a given GtkTreeModel row also be used for the same row when calling other GtkCellArea APIs such as gtk_cell_area_render() and gtk_cell_area_event().

Functions

gtk_cell_area_context_get_area ()

GtkCellArea *
gtk_cell_area_context_get_area (GtkCellAreaContext *context);

Fetches the GtkCellArea this context was created by.

This is generally unneeded by layouting widgets; however, it is important for the context implementation itself to fetch information about the area it is being used for.

For instance at GtkCellAreaContextClass.allocate() time it’s important to know details about any cell spacing that the GtkCellArea is configured with in order to compute a proper allocation.

Parameters

context

a GtkCellAreaContext

 

Returns

the GtkCellArea this context was created by.

[transfer none]


gtk_cell_area_context_allocate ()

void
gtk_cell_area_context_allocate (GtkCellAreaContext *context,
                                int width,
                                int height);

Allocates a width and/or a height for all rows which are to be rendered with context .

Usually allocation is performed only horizontally or sometimes vertically since a group of rows are usually rendered side by side vertically or horizontally and share either the same width or the same height. Sometimes they are allocated in both horizontal and vertical orientations producing a homogeneous effect of the rows. This is generally the case for GtkTreeView when “fixed-height-mode” is enabled.

Parameters

context

a GtkCellAreaContext

 

width

the allocated width for all GtkTreeModel rows rendered with context , or -1.

 

height

the allocated height for all GtkTreeModel rows rendered with context , or -1.

 

gtk_cell_area_context_reset ()

void
gtk_cell_area_context_reset (GtkCellAreaContext *context);

Resets any previously cached request and allocation data.

When underlying GtkTreeModel data changes its important to reset the context if the content size is allowed to shrink. If the content size is only allowed to grow (this is usually an option for views rendering large data stores as a measure of optimization), then only the row that changed or was inserted needs to be (re)requested with gtk_cell_area_get_preferred_width().

When the new overall size of the context requires that the allocated size changes (or whenever this allocation changes at all), the variable row sizes need to be re-requested for every row.

For instance, if the rows are displayed all with the same width from top to bottom then a change in the allocated width necessitates a recalculation of all the displayed row heights using gtk_cell_area_get_preferred_height_for_width().

Parameters

context

a GtkCellAreaContext

 

gtk_cell_area_context_get_preferred_width ()

void
gtk_cell_area_context_get_preferred_width
                               (GtkCellAreaContext *context,
                                int *minimum_width,
                                int *natural_width);

Gets the accumulative preferred width for all rows which have been requested with this context.

After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are 0.

Parameters

context

a GtkCellAreaContext

 

minimum_width

location to store the minimum width, or NULL.

[out][allow-none]

natural_width

location to store the natural width, or NULL.

[out][allow-none]

gtk_cell_area_context_get_preferred_height ()

void
gtk_cell_area_context_get_preferred_height
                               (GtkCellAreaContext *context,
                                int *minimum_height,
                                int *natural_height);

Gets the accumulative preferred height for all rows which have been requested with this context.

After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are 0.

Parameters

context

a GtkCellAreaContext

 

minimum_height

location to store the minimum height, or NULL.

[out][allow-none]

natural_height

location to store the natural height, or NULL.

[out][allow-none]

gtk_cell_area_context_get_preferred_height_for_width ()

void
gtk_cell_area_context_get_preferred_height_for_width
                               (GtkCellAreaContext *context,
                                int width,
                                int *minimum_height,
                                int *natural_height);

Gets the accumulative preferred height for width for all rows which have been requested for the same said width with this context.

After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are -1.

Parameters

context

a GtkCellAreaContext

 

width

a proposed width for allocation

 

minimum_height

location to store the minimum height, or NULL.

[out][allow-none]

natural_height

location to store the natural height, or NULL.

[out][allow-none]

gtk_cell_area_context_get_preferred_width_for_height ()

void
gtk_cell_area_context_get_preferred_width_for_height
                               (GtkCellAreaContext *context,
                                int height,
                                int *minimum_width,
                                int *natural_width);

Gets the accumulative preferred width for height for all rows which have been requested for the same said height with this context.

After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are -1.

Parameters

context

a GtkCellAreaContext

 

height

a proposed height for allocation

 

minimum_width

location to store the minimum width, or NULL.

[out][allow-none]

natural_width

location to store the natural width, or NULL.

[out][allow-none]

gtk_cell_area_context_get_allocation ()

void
gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
                                      int *width,
                                      int *height);

Fetches the current allocation size for context .

If the context was not allocated in width or height, or if the context was recently reset with gtk_cell_area_context_reset(), the returned value will be -1.

Parameters

context

a GtkCellAreaContext

 

width

location to store the allocated width, or NULL.

[out][allow-none]

height

location to store the allocated height, or NULL.

[out][allow-none]

gtk_cell_area_context_push_preferred_width ()

void
gtk_cell_area_context_push_preferred_width
                               (GtkCellAreaContext *context,
                                int minimum_width,
                                int natural_width);

Causes the minimum and/or natural width to grow if the new proposed sizes exceed the current minimum and natural width.

This is used by GtkCellAreaContext implementations during the request process over a series of GtkTreeModel rows to progressively push the requested width over a series of gtk_cell_area_get_preferred_width() requests.

Parameters

context

a GtkCellAreaContext

 

minimum_width

the proposed new minimum width for context

 

natural_width

the proposed new natural width for context

 

gtk_cell_area_context_push_preferred_height ()

void
gtk_cell_area_context_push_preferred_height
                               (GtkCellAreaContext *context,
                                int minimum_height,
                                int natural_height);

Causes the minimum and/or natural height to grow if the new proposed sizes exceed the current minimum and natural height.

This is used by GtkCellAreaContext implementations during the request process over a series of GtkTreeModel rows to progressively push the requested height over a series of gtk_cell_area_get_preferred_height() requests.

Parameters

context

a GtkCellAreaContext

 

minimum_height

the proposed new minimum height for context

 

natural_height

the proposed new natural height for context

 

Types and Values

struct GtkCellAreaContextClass

struct GtkCellAreaContextClass {
  void    (* allocate)                       (GtkCellAreaContext *context,
                                              int                 width,
                                              int                 height);
  void    (* reset)                          (GtkCellAreaContext *context);
  void    (* get_preferred_height_for_width) (GtkCellAreaContext *context,
                                              int                 width,
                                              int                *minimum_height,
                                              int                *natural_height);
  void    (* get_preferred_width_for_height) (GtkCellAreaContext *context,
                                              int                 height,
                                              int                *minimum_width,
                                              int                *natural_width);
};

Members

allocate ()

This tells the context that an allocation width or height (or both) have been decided for a group of rows. The context should store any allocations for internally aligned cells at this point so that they dont need to be recalculated at gtk_cell_area_render() time.

 

reset ()

Clear any previously stored information about requested and allocated sizes for the context.

 

get_preferred_height_for_width ()

Returns the aligned height for the given width that context must store while collecting sizes for it’s rows.

 

get_preferred_width_for_height ()

Returns the aligned width for the given height that context must store while collecting sizes for it’s rows.

 

GtkCellAreaContext

typedef struct _GtkCellAreaContext GtkCellAreaContext;

Property Details

The “area” property

  “area”                     GtkCellArea *

The GtkCellArea this context was created by

Owner: GtkCellAreaContext

Flags: Read / Write / Construct Only


The “minimum-height” property

  “minimum-height”           gint

The minimum height for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_height().

Owner: GtkCellAreaContext

Flags: Read

Allowed values: >= -1

Default value: -1


The “minimum-width” property

  “minimum-width”            gint

The minimum width for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_width().

Owner: GtkCellAreaContext

Flags: Read

Allowed values: >= -1

Default value: -1


The “natural-height” property

  “natural-height”           gint

The natural height for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_height().

Owner: GtkCellAreaContext

Flags: Read

Allowed values: >= -1

Default value: -1


The “natural-width” property

  “natural-width”            gint

The natural width for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_width().

Owner: GtkCellAreaContext

Flags: Read

Allowed values: >= -1

Default value: -1

docs/reference/gtk/html/GtkEntry.html0000664000175000017500000052044213710700533017770 0ustar mclasenmclasen GtkEntry: GTK 4 Reference Manual

GtkEntry

GtkEntry — A single line text entry field

Functions

GtkWidget * gtk_entry_new ()
GtkWidget * gtk_entry_new_with_buffer ()
GtkEntryBuffer * gtk_entry_get_buffer ()
void gtk_entry_set_buffer ()
guint16 gtk_entry_get_text_length ()
void gtk_entry_set_visibility ()
gboolean gtk_entry_get_visibility ()
void gtk_entry_set_invisible_char ()
gunichar gtk_entry_get_invisible_char ()
void gtk_entry_unset_invisible_char ()
void gtk_entry_set_max_length ()
int gtk_entry_get_max_length ()
void gtk_entry_set_activates_default ()
gboolean gtk_entry_get_activates_default ()
void gtk_entry_set_has_frame ()
gboolean gtk_entry_get_has_frame ()
void gtk_entry_set_alignment ()
float gtk_entry_get_alignment ()
void gtk_entry_set_placeholder_text ()
const char * gtk_entry_get_placeholder_text ()
void gtk_entry_set_overwrite_mode ()
gboolean gtk_entry_get_overwrite_mode ()
void gtk_entry_set_attributes ()
PangoAttrList * gtk_entry_get_attributes ()
void gtk_entry_set_completion ()
GtkEntryCompletion * gtk_entry_get_completion ()
void gtk_entry_set_progress_fraction ()
double gtk_entry_get_progress_fraction ()
void gtk_entry_set_progress_pulse_step ()
double gtk_entry_get_progress_pulse_step ()
void gtk_entry_progress_pulse ()
void gtk_entry_reset_im_context ()
void gtk_entry_set_tabs ()
PangoTabArray * gtk_entry_get_tabs ()
void gtk_entry_set_icon_from_paintable ()
void gtk_entry_set_icon_from_icon_name ()
void gtk_entry_set_icon_from_gicon ()
GtkImageType gtk_entry_get_icon_storage_type ()
GdkPaintable * gtk_entry_get_icon_paintable ()
const char * gtk_entry_get_icon_name ()
GIcon * gtk_entry_get_icon_gicon ()
void gtk_entry_set_icon_activatable ()
gboolean gtk_entry_get_icon_activatable ()
void gtk_entry_set_icon_sensitive ()
gboolean gtk_entry_get_icon_sensitive ()
int gtk_entry_get_icon_at_pos ()
void gtk_entry_set_icon_tooltip_text ()
char * gtk_entry_get_icon_tooltip_text ()
void gtk_entry_set_icon_tooltip_markup ()
char * gtk_entry_get_icon_tooltip_markup ()
void gtk_entry_set_icon_drag_source ()
int gtk_entry_get_current_icon_drag_source ()
void gtk_entry_get_icon_area ()
void gtk_entry_set_input_purpose ()
GtkInputPurpose gtk_entry_get_input_purpose ()
void gtk_entry_set_input_hints ()
GtkInputHints gtk_entry_get_input_hints ()
gboolean gtk_entry_grab_focus_without_selecting ()
void gtk_entry_set_extra_menu ()
GMenuModel * gtk_entry_get_extra_menu ()

Properties

gboolean activates-default Read / Write
PangoAttrList * attributes Read / Write
GtkEntryBuffer * buffer Read / Write / Construct
GtkEntryCompletion * completion Read / Write
gboolean enable-emoji-completion Read / Write
GMenuModel * extra-menu Read / Write
gboolean has-frame Read / Write
gchar * im-module Read / Write
GtkInputHints input-hints Read / Write
GtkInputPurpose input-purpose Read / Write
guint invisible-char Read / Write
gboolean invisible-char-set Read / Write
gint max-length Read / Write
gboolean overwrite-mode Read / Write
gchar * placeholder-text Read / Write
gboolean primary-icon-activatable Read / Write
GIcon * primary-icon-gicon Read / Write
gchar * primary-icon-name Read / Write
GdkPaintable * primary-icon-paintable Read / Write
gboolean primary-icon-sensitive Read / Write
GtkImageType primary-icon-storage-type Read
gchar * primary-icon-tooltip-markup Read / Write
gchar * primary-icon-tooltip-text Read / Write
gdouble progress-fraction Read / Write
gdouble progress-pulse-step Read / Write
gint scroll-offset Read
gboolean secondary-icon-activatable Read / Write
GIcon * secondary-icon-gicon Read / Write
gchar * secondary-icon-name Read / Write
GdkPaintable * secondary-icon-paintable Read / Write
gboolean secondary-icon-sensitive Read / Write
GtkImageType secondary-icon-storage-type Read
gchar * secondary-icon-tooltip-markup Read / Write
gchar * secondary-icon-tooltip-text Read / Write
gboolean show-emoji-icon Read / Write
PangoTabArray * tabs Read / Write
guint text-length Read
gboolean truncate-multiline Read / Write
gboolean visibility Read / Write

Signals

void activate Action
void icon-press Run Last
void icon-release Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkEntry

Implemented Interfaces

GtkEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkEditable and GtkCellEditable.

Includes

#include <gtk/gtk.h>

Description

The GtkEntry widget is a single line text entry widget. A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible.

When using an entry for passwords and other sensitive information, it can be put into “password mode” using gtk_entry_set_visibility(). In this mode, entered text is displayed using a “invisible” character. By default, GTK+ picks the best invisible character that is available in the current font, but it can be changed with gtk_entry_set_invisible_char().

GtkEntry has the ability to display progress or activity information behind the text. To make an entry display such information, use gtk_entry_set_progress_fraction() or gtk_entry_set_progress_pulse_step().

Additionally, GtkEntry can show icons at either side of the entry. These icons can be activatable by clicking, can be set up as drag source and can have tooltips. To add an icon, use gtk_entry_set_icon_from_gicon() or one of the various other functions that set an icon from an icon name or a paintable. To trigger an action when the user clicks an icon, connect to the “icon-press” signal. To allow DND operations from an icon, use gtk_entry_set_icon_drag_source(). To set a tooltip on an icon, use gtk_entry_set_icon_tooltip_text() or the corresponding function for markup.

Note that functionality or information that is only available by clicking on an icon in an entry may not be accessible at all to users which are not able to use a mouse or other pointing device. It is therefore recommended that any such functionality should also be available by other means, e.g. via the context menu of the entry.

CSS nodes

1
2
3
4
5
entry[.flat][.warning][.error]
├── text[.readonly]
├── image.left
├── image.right
╰── [progress[.pulse]]

GtkEntry has a main node with the name entry. Depending on the properties of the entry, the style classes .read-only and .flat may appear. The style classes .warning and .error may also be used with entries.

When the entry shows icons, it adds subnodes with the name image and the style class .left or .right, depending on where the icon appears.

When the entry shows progress, it adds a subnode with the name progress. The node has the style class .pulse when the shown progress is pulsing.

For all the subnodes added to the text node in various situations, see GtkText.


GtkEntry as GtkBuildable

The GtkEntry implementation of the GtkBuildable interface supports a custom <attributes> element, which supports any number of <attribute> elements. The <attribute> element has attributes named “name“, “value“, “start“ and “end“ and allows you to specify PangoAttribute values for this label.

An example of a UI definition fragment specifying Pango attributes:

1
2
3
4
5
6
<object class="GtkEnry">
  <attributes>
    <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
    <attribute name="background" value="red" start="5" end="10"/>
  </attributes>
</object>

The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead.


Accessibility

GtkEntry uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role.

Functions

gtk_entry_new ()

GtkWidget *
gtk_entry_new (void);

Creates a new entry.

Returns

a new GtkEntry.


gtk_entry_new_with_buffer ()

GtkWidget *
gtk_entry_new_with_buffer (GtkEntryBuffer *buffer);

Creates a new entry with the specified text buffer.

Parameters

buffer

The buffer to use for the new GtkEntry.

 

Returns

a new GtkEntry


gtk_entry_get_buffer ()

GtkEntryBuffer *
gtk_entry_get_buffer (GtkEntry *entry);

Get the GtkEntryBuffer object which holds the text for this widget.

Parameters

entry

a GtkEntry

 

Returns

A GtkEntryBuffer object.

[transfer none]


gtk_entry_set_buffer ()

void
gtk_entry_set_buffer (GtkEntry *entry,
                      GtkEntryBuffer *buffer);

Set the GtkEntryBuffer object which holds the text for this widget.

Parameters

entry

a GtkEntry

 

buffer

a GtkEntryBuffer

 

gtk_entry_get_text_length ()

guint16
gtk_entry_get_text_length (GtkEntry *entry);

Retrieves the current length of the text in entry .

This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_get_length() on it.

Parameters

entry

a GtkEntry

 

Returns

the current number of characters in GtkEntry, or 0 if there are none.


gtk_entry_set_visibility ()

void
gtk_entry_set_visibility (GtkEntry *entry,
                          gboolean visible);

Sets whether the contents of the entry are visible or not. When visibility is set to FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the entry widget is copied elsewhere.

By default, GTK+ picks the best invisible character available in the current font, but it can be changed with gtk_entry_set_invisible_char().

Note that you probably want to set “input-purpose” to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN to inform input methods about the purpose of this entry, in addition to setting visibility to FALSE.

Parameters

entry

a GtkEntry

 

visible

TRUE if the contents of the entry are displayed as plaintext

 

gtk_entry_get_visibility ()

gboolean
gtk_entry_get_visibility (GtkEntry *entry);

Retrieves whether the text in entry is visible. See gtk_entry_set_visibility().

Parameters

entry

a GtkEntry

 

Returns

TRUE if the text is currently visible


gtk_entry_set_invisible_char ()

void
gtk_entry_set_invisible_char (GtkEntry *entry,
                              gunichar ch);

Sets the character to use in place of the actual text when gtk_entry_set_visibility() has been called to set text visibility to FALSE. i.e. this is the character used in “password mode” to show the user how many characters have been typed. By default, GTK+ picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type.

Parameters

entry

a GtkEntry

 

ch

a Unicode character

 

gtk_entry_get_invisible_char ()

gunichar
gtk_entry_get_invisible_char (GtkEntry *entry);

Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_entry_set_invisible_char().

Parameters

entry

a GtkEntry

 

Returns

the current invisible char, or 0, if the entry does not show invisible text at all.


gtk_entry_unset_invisible_char ()

void
gtk_entry_unset_invisible_char (GtkEntry *entry);

Unsets the invisible char previously set with gtk_entry_set_invisible_char(). So that the default invisible char is used again.

Parameters

entry

a GtkEntry

 

gtk_entry_set_max_length ()

void
gtk_entry_set_max_length (GtkEntry *entry,
                          int max);

Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit.

This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_set_max_length() on it. ]|

Parameters

entry

a GtkEntry

 

max

the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536.

 

gtk_entry_get_max_length ()

int
gtk_entry_get_max_length (GtkEntry *entry);

Retrieves the maximum allowed length of the text in entry . See gtk_entry_set_max_length().

This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_get_max_length() on it.

Parameters

entry

a GtkEntry

 

Returns

the maximum allowed number of characters in GtkEntry, or 0 if there is no maximum.


gtk_entry_set_activates_default ()

void
gtk_entry_set_activates_default (GtkEntry *entry,
                                 gboolean setting);

If setting is TRUE, pressing Enter in the entry will activate the default widget for the window containing the entry. This usually means that the dialog box containing the entry will be closed, since the default widget is usually one of the dialog buttons.

Parameters

entry

a GtkEntry

 

setting

TRUE to activate window’s default widget on Enter keypress

 

gtk_entry_get_activates_default ()

gboolean
gtk_entry_get_activates_default (GtkEntry *entry);

Retrieves the value set by gtk_entry_set_activates_default().

Parameters

entry

a GtkEntry

 

Returns

TRUE if the entry will activate the default widget


gtk_entry_set_has_frame ()

void
gtk_entry_set_has_frame (GtkEntry *entry,
                         gboolean setting);

Sets whether the entry has a beveled frame around it.

Parameters

entry

a GtkEntry

 

setting

new value

 

gtk_entry_get_has_frame ()

gboolean
gtk_entry_get_has_frame (GtkEntry *entry);

Gets the value set by gtk_entry_set_has_frame().

Parameters

entry

a GtkEntry

 

Returns

whether the entry has a beveled frame


gtk_entry_set_alignment ()

void
gtk_entry_set_alignment (GtkEntry *entry,
                         float xalign);

Sets the alignment for the contents of the entry. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the entry.

Parameters

entry

a GtkEntry

 

xalign

The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts

 

gtk_entry_get_alignment ()

float
gtk_entry_get_alignment (GtkEntry *entry);

Gets the value set by gtk_entry_set_alignment().

Parameters

entry

a GtkEntry

 

Returns

the alignment


gtk_entry_set_placeholder_text ()

void
gtk_entry_set_placeholder_text (GtkEntry *entry,
                                const char *text);

Sets text to be displayed in entry when it is empty. This can be used to give a visual hint of the expected contents of the GtkEntry.

Parameters

entry

a GtkEntry

 

text

a string to be displayed when entry is empty and unfocused, or NULL.

[nullable]

gtk_entry_get_placeholder_text ()

const char *
gtk_entry_get_placeholder_text (GtkEntry *entry);

Retrieves the text that will be displayed when entry is empty and unfocused

Parameters

entry

a GtkEntry

 

Returns

a pointer to the placeholder text as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. If no placeholder text has been set, NULL will be returned.

[nullable][transfer none]


gtk_entry_set_overwrite_mode ()

void
gtk_entry_set_overwrite_mode (GtkEntry *entry,
                              gboolean overwrite);

Sets whether the text is overwritten when typing in the GtkEntry.

Parameters

entry

a GtkEntry

 

overwrite

new value

 

gtk_entry_get_overwrite_mode ()

gboolean
gtk_entry_get_overwrite_mode (GtkEntry *entry);

Gets the value set by gtk_entry_set_overwrite_mode().

Parameters

entry

a GtkEntry

 

Returns

whether the text is overwritten when typing.


gtk_entry_set_attributes ()

void
gtk_entry_set_attributes (GtkEntry *entry,
                          PangoAttrList *attrs);

Sets a PangoAttrList; the attributes in the list are applied to the entry text.

Parameters

entry

a GtkEntry

 

attrs

a PangoAttrList

 

gtk_entry_get_attributes ()

PangoAttrList *
gtk_entry_get_attributes (GtkEntry *entry);

Gets the attribute list that was set on the entry using gtk_entry_set_attributes(), if any.

Parameters

entry

a GtkEntry

 

Returns

the attribute list, or NULL if none was set.

[transfer none][nullable]


gtk_entry_set_completion ()

void
gtk_entry_set_completion (GtkEntry *entry,
                          GtkEntryCompletion *completion);

Sets completion to be the auxiliary completion object to use with entry . All further configuration of the completion mechanism is done on completion using the GtkEntryCompletion API. Completion is disabled if completion is set to NULL.

Parameters

entry

A GtkEntry

 

completion

The GtkEntryCompletion or NULL.

[allow-none]

gtk_entry_get_completion ()

GtkEntryCompletion *
gtk_entry_get_completion (GtkEntry *entry);

Returns the auxiliary completion object currently in use by entry .

Parameters

entry

A GtkEntry

 

Returns

The auxiliary completion object currently in use by entry .

[transfer none]


gtk_entry_set_progress_fraction ()

void
gtk_entry_set_progress_fraction (GtkEntry *entry,
                                 double fraction);

Causes the entry’s progress indicator to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive.

Parameters

entry

a GtkEntry

 

fraction

fraction of the task that’s been completed

 

gtk_entry_get_progress_fraction ()

double
gtk_entry_get_progress_fraction (GtkEntry *entry);

Returns the current fraction of the task that’s been completed. See gtk_entry_set_progress_fraction().

Parameters

entry

a GtkEntry

 

Returns

a fraction from 0.0 to 1.0


gtk_entry_set_progress_pulse_step ()

void
gtk_entry_set_progress_pulse_step (GtkEntry *entry,
                                   double fraction);

Sets the fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().

Parameters

entry

a GtkEntry

 

fraction

fraction between 0.0 and 1.0

 

gtk_entry_get_progress_pulse_step ()

double
gtk_entry_get_progress_pulse_step (GtkEntry *entry);

Retrieves the pulse step set with gtk_entry_set_progress_pulse_step().

Parameters

entry

a GtkEntry

 

Returns

a fraction from 0.0 to 1.0


gtk_entry_progress_pulse ()

void
gtk_entry_progress_pulse (GtkEntry *entry);

Indicates that some progress is made, but you don’t know how much. Causes the entry’s progress indicator to enter “activity mode,” where a block bounces back and forth. Each call to gtk_entry_progress_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_entry_set_progress_pulse_step()).

Parameters

entry

a GtkEntry

 

gtk_entry_reset_im_context ()

void
gtk_entry_reset_im_context (GtkEntry *entry);

Reset the input method context of the entry if needed.

This can be necessary in the case where modifying the buffer would confuse on-going input method behavior.

Parameters

entry

a GtkEntry

 

gtk_entry_set_tabs ()

void
gtk_entry_set_tabs (GtkEntry *entry,
                    PangoTabArray *tabs);

Sets a PangoTabArray; the tabstops in the array are applied to the entry text.

Parameters

entry

a GtkEntry

 

tabs

a PangoTabArray.

[nullable]

gtk_entry_get_tabs ()

PangoTabArray *
gtk_entry_get_tabs (GtkEntry *entry);

Gets the tabstops that were set on the entry using gtk_entry_set_tabs(), if any.

Parameters

entry

a GtkEntry

 

Returns

the tabstops, or NULL if none was set.

[nullable][transfer none]


gtk_entry_set_icon_from_paintable ()

void
gtk_entry_set_icon_from_paintable (GtkEntry *entry,
                                   GtkEntryIconPosition icon_pos,
                                   GdkPaintable *paintable);

Sets the icon shown in the specified position using a GdkPaintable

If paintable is NULL, no icon will be shown in the specified position.

Parameters

entry

a GtkEntry

 

icon_pos

Icon position

 

paintable

A GdkPaintable, or NULL.

[allow-none]

gtk_entry_set_icon_from_icon_name ()

void
gtk_entry_set_icon_from_icon_name (GtkEntry *entry,
                                   GtkEntryIconPosition icon_pos,
                                   const char *icon_name);

Sets the icon shown in the entry at the specified position from the current icon theme.

If the icon name isn’t known, a “broken image” icon will be displayed instead.

If icon_name is NULL, no icon will be shown in the specified position.

Parameters

entry

A GtkEntry

 

icon_pos

The position at which to set the icon

 

icon_name

An icon name, or NULL.

[allow-none]

gtk_entry_set_icon_from_gicon ()

void
gtk_entry_set_icon_from_gicon (GtkEntry *entry,
                               GtkEntryIconPosition icon_pos,
                               GIcon *icon);

Sets the icon shown in the entry at the specified position from the current icon theme. If the icon isn’t known, a “broken image” icon will be displayed instead.

If icon is NULL, no icon will be shown in the specified position.

Parameters

entry

A GtkEntry

 

icon_pos

The position at which to set the icon

 

icon

The icon to set, or NULL.

[allow-none]

gtk_entry_get_icon_storage_type ()

GtkImageType
gtk_entry_get_icon_storage_type (GtkEntry *entry,
                                 GtkEntryIconPosition icon_pos);

Gets the type of representation being used by the icon to store image data. If the icon has no image data, the return value will be GTK_IMAGE_EMPTY.

Parameters

entry

a GtkEntry

 

icon_pos

Icon position

 

Returns

image representation being used


gtk_entry_get_icon_paintable ()

GdkPaintable *
gtk_entry_get_icon_paintable (GtkEntry *entry,
                              GtkEntryIconPosition icon_pos);

Retrieves the GdkPaintable used for the icon.

If no GdkPaintable was used for the icon, NULL is returned.

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

Returns

A GdkPaintable, or NULL if no icon is set for this position or the icon set is not a GdkPaintable.

[transfer none][nullable]


gtk_entry_get_icon_name ()

const char *
gtk_entry_get_icon_name (GtkEntry *entry,
                         GtkEntryIconPosition icon_pos);

Retrieves the icon name used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by paintable or gicon).

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

Returns

An icon name, or NULL if no icon is set or if the icon wasn’t set from an icon name.

[nullable]


gtk_entry_get_icon_gicon ()

GIcon *
gtk_entry_get_icon_gicon (GtkEntry *entry,
                          GtkEntryIconPosition icon_pos);

Retrieves the GIcon used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by paintable or icon name).

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

Returns

A GIcon, or NULL if no icon is set or if the icon is not a GIcon.

[transfer none][nullable]


gtk_entry_set_icon_activatable ()

void
gtk_entry_set_icon_activatable (GtkEntry *entry,
                                GtkEntryIconPosition icon_pos,
                                gboolean activatable);

Sets whether the icon is activatable.

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

activatable

TRUE if the icon should be activatable

 

gtk_entry_get_icon_activatable ()

gboolean
gtk_entry_get_icon_activatable (GtkEntry *entry,
                                GtkEntryIconPosition icon_pos);

Returns whether the icon is activatable.

Parameters

entry

a GtkEntry

 

icon_pos

Icon position

 

Returns

TRUE if the icon is activatable.


gtk_entry_set_icon_sensitive ()

void
gtk_entry_set_icon_sensitive (GtkEntry *entry,
                              GtkEntryIconPosition icon_pos,
                              gboolean sensitive);

Sets the sensitivity for the specified icon.

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

sensitive

Specifies whether the icon should appear sensitive or insensitive

 

gtk_entry_get_icon_sensitive ()

gboolean
gtk_entry_get_icon_sensitive (GtkEntry *entry,
                              GtkEntryIconPosition icon_pos);

Returns whether the icon appears sensitive or insensitive.

Parameters

entry

a GtkEntry

 

icon_pos

Icon position

 

Returns

TRUE if the icon is sensitive.


gtk_entry_get_icon_at_pos ()

int
gtk_entry_get_icon_at_pos (GtkEntry *entry,
                           int x,
                           int y);

Finds the icon at the given position and return its index. The position’s coordinates are relative to the entry ’s top left corner. If x , y doesn’t lie inside an icon, -1 is returned. This function is intended for use in a “query-tooltip” signal handler.

Parameters

entry

a GtkEntry

 

x

the x coordinate of the position to find, relative to entry

 

y

the y coordinate of the position to find, relative to entry

 

Returns

the index of the icon at the given position, or -1


gtk_entry_set_icon_tooltip_text ()

void
gtk_entry_set_icon_tooltip_text (GtkEntry *entry,
                                 GtkEntryIconPosition icon_pos,
                                 const char *tooltip);

Sets tooltip as the contents of the tooltip for the icon at the specified position.

Use NULL for tooltip to remove an existing tooltip.

See also gtk_widget_set_tooltip_text() and gtk_entry_set_icon_tooltip_markup().

If you unset the widget tooltip via gtk_widget_set_tooltip_text() or gtk_widget_set_tooltip_markup(), this sets GtkWidget:has-tooltip to FALSE, which suppresses icon tooltips too. You can resolve this by then calling gtk_widget_set_has_tooltip() to set GtkWidget:has-tooltip back to TRUE, or setting at least one non-empty tooltip on any icon achieves the same result.

Parameters

entry

a GtkEntry

 

icon_pos

the icon position

 

tooltip

the contents of the tooltip for the icon, or NULL.

[allow-none]

gtk_entry_get_icon_tooltip_text ()

char *
gtk_entry_get_icon_tooltip_text (GtkEntry *entry,
                                 GtkEntryIconPosition icon_pos);

Gets the contents of the tooltip on the icon at the specified position in entry .

Parameters

entry

a GtkEntry

 

icon_pos

the icon position

 

Returns

the tooltip text, or NULL. Free the returned string with g_free() when done.

[nullable]


gtk_entry_set_icon_tooltip_markup ()

void
gtk_entry_set_icon_tooltip_markup (GtkEntry *entry,
                                   GtkEntryIconPosition icon_pos,
                                   const char *tooltip);

Sets tooltip as the contents of the tooltip for the icon at the specified position. tooltip is assumed to be marked up with the Pango text markup language.

Use NULL for tooltip to remove an existing tooltip.

See also gtk_widget_set_tooltip_markup() and gtk_entry_set_icon_tooltip_text().

Parameters

entry

a GtkEntry

 

icon_pos

the icon position

 

tooltip

the contents of the tooltip for the icon, or NULL.

[allow-none]

gtk_entry_get_icon_tooltip_markup ()

char *
gtk_entry_get_icon_tooltip_markup (GtkEntry *entry,
                                   GtkEntryIconPosition icon_pos);

Gets the contents of the tooltip on the icon at the specified position in entry .

Parameters

entry

a GtkEntry

 

icon_pos

the icon position

 

Returns

the tooltip text, or NULL. Free the returned string with g_free() when done.

[nullable]


gtk_entry_set_icon_drag_source ()

void
gtk_entry_set_icon_drag_source (GtkEntry *entry,
                                GtkEntryIconPosition icon_pos,
                                GdkContentProvider *provider,
                                GdkDragAction actions);

Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon.

To handle the drag operation, you need to connect to the usual “drag-data-get” (or possibly “drag-data-delete”) signal, and use gtk_entry_get_current_icon_drag_source() in your signal handler to find out if the drag was started from an icon.

By default, GTK+ uses the icon as the drag icon. You can use the “drag-begin” signal to set a different icon. Note that you have to use g_signal_connect_after() to ensure that your signal handler gets executed after the default handler.

Parameters

entry

a GtkEntry

 

icon_pos

icon position

 

provider

a GdkContentProvider

 

actions

a bitmask of the allowed drag actions

 

gtk_entry_get_current_icon_drag_source ()

int
gtk_entry_get_current_icon_drag_source
                               (GtkEntry *entry);

Returns the index of the icon which is the source of the current DND operation, or -1.

This function is meant to be used in a “drag-data-get” callback.

Parameters

entry

a GtkEntry

 

Returns

index of the icon which is the source of the current DND operation, or -1.


gtk_entry_get_icon_area ()

void
gtk_entry_get_icon_area (GtkEntry *entry,
                         GtkEntryIconPosition icon_pos,
                         GdkRectangle *icon_area);

Gets the area where entry’s icon at icon_pos is drawn. This function is useful when drawing something to the entry in a draw callback.

If the entry is not realized or has no icon at the given position, icon_area is filled with zeros. Otherwise, icon_area will be filled with the icon's allocation, relative to entry 's allocation.

Parameters

entry

A GtkEntry

 

icon_pos

Icon position

 

icon_area

Return location for the icon’s area.

[out]

gtk_entry_set_input_purpose ()

void
gtk_entry_set_input_purpose (GtkEntry *entry,
                             GtkInputPurpose purpose);

Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour.

Parameters

entry

a GtkEntry

 

purpose

the purpose

 

gtk_entry_get_input_purpose ()

GtkInputPurpose
gtk_entry_get_input_purpose (GtkEntry *entry);

Gets the value of the “input-purpose” property.

Parameters

entry

a GtkEntry

 

gtk_entry_set_input_hints ()

void
gtk_entry_set_input_hints (GtkEntry *entry,
                           GtkInputHints hints);

Sets the “input-hints” property, which allows input methods to fine-tune their behaviour.

Parameters

entry

a GtkEntry

 

hints

the hints

 

gtk_entry_get_input_hints ()

GtkInputHints
gtk_entry_get_input_hints (GtkEntry *entry);

Gets the value of the “input-hints” property.

Parameters

entry

a GtkEntry

 

gtk_entry_grab_focus_without_selecting ()

gboolean
gtk_entry_grab_focus_without_selecting
                               (GtkEntry *entry);

Causes entry to have keyboard focus.

It behaves like gtk_widget_grab_focus(), except that it doesn't select the contents of the entry. You only want to call this on some special entries which the user usually doesn't want to replace all text in, such as search-as-you-type entries.

Parameters

entry

a GtkEntry

 

Returns

TRUE if focus is now inside self


gtk_entry_set_extra_menu ()

void
gtk_entry_set_extra_menu (GtkEntry *entry,
                          GMenuModel *model);

Sets a menu model to add when constructing the context menu for entry .

Parameters

entry

a GtkEntry

 

model

a GMenuModel.

[allow-none]

gtk_entry_get_extra_menu ()

GMenuModel *
gtk_entry_get_extra_menu (GtkEntry *entry);

Gets the menu model set with gtk_entry_set_extra_menu().

Parameters

entry

a GtkEntry

 

Returns

the menu model.

[transfer none][nullable]

Types and Values

struct GtkEntry

struct GtkEntry;

struct GtkEntryClass

struct GtkEntryClass {
  GtkWidgetClass parent_class;

  /* Action signals
   */
  void (* activate)           (GtkEntry             *entry);
};

Class structure for GtkEntry. All virtual functions have a default implementation. Derived classes may set the virtual function pointers for the signal handlers to NULL, but must keep get_text_area_size and get_frame_size non-NULL; either use the default implementation, or provide a custom one.

Members

activate ()

Class handler for the “activate” signal. The default implementation activates the gtk.activate-default action.

 

enum GtkEntryIconPosition

Specifies the side of the entry at which an icon is placed.

Members

GTK_ENTRY_ICON_PRIMARY

At the beginning of the entry (depending on the text direction).

 

GTK_ENTRY_ICON_SECONDARY

At the end of the entry (depending on the text direction).

 

enum GtkInputPurpose

Describes primary purpose of the input widget. This information is useful for on-screen keyboards and similar input methods to decide which keys should be presented to the user.

Note that the purpose is not meant to impose a totally strict rule about allowed characters, and does not replace input validation. It is fine for an on-screen keyboard to let the user override the character set restriction that is expressed by the purpose. The application is expected to validate the entry contents, even if it specified a purpose.

The difference between GTK_INPUT_PURPOSE_DIGITS and GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits while the latter also some punctuation (like commas or points, plus, minus) and “e” or “E” as in 3.14E+000.

This enumeration may be extended in the future; input methods should interpret unknown values as “free form”.

Members

GTK_INPUT_PURPOSE_FREE_FORM

Allow any character

 

GTK_INPUT_PURPOSE_ALPHA

Allow only alphabetic characters

 

GTK_INPUT_PURPOSE_DIGITS

Allow only digits

 

GTK_INPUT_PURPOSE_NUMBER

Edited field expects numbers

 

GTK_INPUT_PURPOSE_PHONE

Edited field expects phone number

 

GTK_INPUT_PURPOSE_URL

Edited field expects URL

 

GTK_INPUT_PURPOSE_EMAIL

Edited field expects email address

 

GTK_INPUT_PURPOSE_NAME

Edited field expects the name of a person

 

GTK_INPUT_PURPOSE_PASSWORD

Like GTK_INPUT_PURPOSE_FREE_FORM , but characters are hidden

 

GTK_INPUT_PURPOSE_PIN

Like GTK_INPUT_PURPOSE_DIGITS , but characters are hidden

 

GTK_INPUT_PURPOSE_TERMINAL

Allow any character, in addition to control codes

 

enum GtkInputHints

Describes hints that might be taken into account by input methods or applications. Note that input methods may already tailor their behaviour according to the GtkInputPurpose of the entry.

Some common sense is expected when using these flags - mixing GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.

This enumeration may be extended in the future; input methods should ignore unknown values.

Members

GTK_INPUT_HINT_NONE

No special behaviour suggested

 

GTK_INPUT_HINT_SPELLCHECK

Suggest checking for typos

 

GTK_INPUT_HINT_NO_SPELLCHECK

Suggest not checking for typos

 

GTK_INPUT_HINT_WORD_COMPLETION

Suggest word completion

 

GTK_INPUT_HINT_LOWERCASE

Suggest to convert all text to lowercase

 

GTK_INPUT_HINT_UPPERCASE_CHARS

Suggest to capitalize all text

 

GTK_INPUT_HINT_UPPERCASE_WORDS

Suggest to capitalize the first character of each word

 

GTK_INPUT_HINT_UPPERCASE_SENTENCES

Suggest to capitalize the first word of each sentence

 

GTK_INPUT_HINT_INHIBIT_OSK

Suggest to not show an onscreen keyboard (e.g for a calculator that already has all the keys).

 

GTK_INPUT_HINT_VERTICAL_WRITING

The text is vertical

 

GTK_INPUT_HINT_EMOJI

Suggest offering Emoji support

 

GTK_INPUT_HINT_NO_EMOJI

Suggest not offering Emoji support

 

Property Details

The “activates-default” property

  “activates-default”        gboolean

Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “attributes” property

  “attributes”               PangoAttrList *

A list of Pango attributes to apply to the text of the entry.

This is mainly useful to change the size or weight of the text.

The PangoAttribute's start_index and end_index must refer to the GtkEntryBuffer text, i.e. without the preedit string.

Owner: GtkEntry

Flags: Read / Write


The “buffer” property

  “buffer”                   GtkEntryBuffer *

Text buffer object which actually stores entry text.

Owner: GtkEntry

Flags: Read / Write / Construct


The “completion” property

  “completion”               GtkEntryCompletion *

The auxiliary completion object to use with the entry.

Owner: GtkEntry

Flags: Read / Write


The “enable-emoji-completion” property

  “enable-emoji-completion”  gboolean

Whether to suggest Emoji replacements.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “extra-menu” property

  “extra-menu”               GMenuModel *

A menu model whose contents will be appended to the context menu.

Owner: GtkEntry

Flags: Read / Write


The “has-frame” property

  “has-frame”                gboolean

FALSE removes outside bevel from entry.

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE


The “im-module” property

  “im-module”                gchar *

Which IM (input method) module should be used for this entry. See GtkIMContext.

Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property.

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “input-hints” property

  “input-hints”              GtkInputHints

Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour.

Owner: GtkEntry

Flags: Read / Write


The “input-purpose” property

  “input-purpose”            GtkInputPurpose

The purpose of this text field.

This property can be used by on-screen keyboards and other input methods to adjust their behaviour.

Note that setting the purpose to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN is independent from setting “visibility”.

Owner: GtkEntry

Flags: Read / Write

Default value: GTK_INPUT_PURPOSE_FREE_FORM


The “invisible-char” property

  “invisible-char”           guint

The character to use when masking entry contents (in “password mode”).

Owner: GtkEntry

Flags: Read / Write

Default value: '*'


The “invisible-char-set” property

  “invisible-char-set”       gboolean

Whether the invisible char has been set for the GtkEntry.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “max-length” property

  “max-length”               gint

Maximum number of characters for this entry. Zero if no maximum.

Owner: GtkEntry

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0


The “overwrite-mode” property

  “overwrite-mode”           gboolean

If text is overwritten when typing in the GtkEntry.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “placeholder-text” property

  “placeholder-text”         gchar *

The text that will be displayed in the GtkEntry when it is empty and unfocused.

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “primary-icon-activatable” property

  “primary-icon-activatable” gboolean

Whether the primary icon is activatable.

GTK+ emits the “icon-press” and “icon-release” signals only on sensitive, activatable icons.

Sensitive, but non-activatable icons can be used for purely informational purposes.

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE


The “primary-icon-gicon” property

  “primary-icon-gicon”       GIcon *

The GIcon to use for the primary icon for the entry.

Owner: GtkEntry

Flags: Read / Write


The “primary-icon-name” property

  “primary-icon-name”        gchar *

The icon name to use for the primary icon for the entry.

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “primary-icon-paintable” property

  “primary-icon-paintable”   GdkPaintable *

A GdkPaintable to use as the primary icon for the entry.

Owner: GtkEntry

Flags: Read / Write


The “primary-icon-sensitive” property

  “primary-icon-sensitive”   gboolean

Whether the primary icon is sensitive.

An insensitive icon appears grayed out. GTK+ does not emit the “icon-press” and “icon-release” signals and does not allow DND from insensitive icons.

An icon should be set insensitive if the action that would trigger when clicked is currently not available.

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE


The “primary-icon-storage-type” property

  “primary-icon-storage-type” GtkImageType

The representation which is used for the primary icon of the entry.

Owner: GtkEntry

Flags: Read

Default value: GTK_IMAGE_EMPTY


The “primary-icon-tooltip-markup” property

  “primary-icon-tooltip-markup” gchar *

The contents of the tooltip on the primary icon, which is marked up with the Pango text markup language.

Also see gtk_entry_set_icon_tooltip_markup().

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “primary-icon-tooltip-text” property

  “primary-icon-tooltip-text” gchar *

The contents of the tooltip on the primary icon.

Also see gtk_entry_set_icon_tooltip_text().

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “progress-fraction” property

  “progress-fraction”        gdouble

The current fraction of the task that's been completed.

Owner: GtkEntry

Flags: Read / Write

Allowed values: [0,1]

Default value: 0


The “progress-pulse-step” property

  “progress-pulse-step”      gdouble

The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().

Owner: GtkEntry

Flags: Read / Write

Allowed values: [0,1]

Default value: 0


The “scroll-offset” property

  “scroll-offset”            gint

Number of pixels of the entry scrolled off the screen to the left.

Owner: GtkEntry

Flags: Read

Allowed values: >= 0

Default value: 0


The “secondary-icon-activatable” property

  “secondary-icon-activatable” gboolean

Whether the secondary icon is activatable.

GTK+ emits the “icon-press” and “icon-release” signals only on sensitive, activatable icons.

Sensitive, but non-activatable icons can be used for purely informational purposes.

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE


The “secondary-icon-gicon” property

  “secondary-icon-gicon”     GIcon *

The GIcon to use for the secondary icon for the entry.

Owner: GtkEntry

Flags: Read / Write


The “secondary-icon-name” property

  “secondary-icon-name”      gchar *

The icon name to use for the secondary icon for the entry.

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “secondary-icon-paintable” property

  “secondary-icon-paintable” GdkPaintable *

A GdkPaintable to use as the secondary icon for the entry.

Owner: GtkEntry

Flags: Read / Write


The “secondary-icon-sensitive” property

  “secondary-icon-sensitive” gboolean

Whether the secondary icon is sensitive.

An insensitive icon appears grayed out. GTK+ does not emit the “icon-press” and “icon-release” signals and does not allow DND from insensitive icons.

An icon should be set insensitive if the action that would trigger when clicked is currently not available.

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE


The “secondary-icon-storage-type” property

  “secondary-icon-storage-type” GtkImageType

The representation which is used for the secondary icon of the entry.

Owner: GtkEntry

Flags: Read

Default value: GTK_IMAGE_EMPTY


The “secondary-icon-tooltip-markup” property

  “secondary-icon-tooltip-markup” gchar *

The contents of the tooltip on the secondary icon, which is marked up with the Pango text markup language.

Also see gtk_entry_set_icon_tooltip_markup().

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “secondary-icon-tooltip-text” property

  “secondary-icon-tooltip-text” gchar *

The contents of the tooltip on the secondary icon.

Also see gtk_entry_set_icon_tooltip_text().

Owner: GtkEntry

Flags: Read / Write

Default value: NULL


The “show-emoji-icon” property

  “show-emoji-icon”          gboolean

Whether to show an icon for Emoji.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “tabs” property

  “tabs”                     PangoTabArray *

A list of tabstop locations to apply to the text of the entry.

Owner: GtkEntry

Flags: Read / Write


The “text-length” property

  “text-length”              guint

The length of the text in the GtkEntry.

Owner: GtkEntry

Flags: Read

Allowed values: <= 65535

Default value: 0


The “truncate-multiline” property

  “truncate-multiline”       gboolean

When TRUE, pasted multi-line text is truncated to the first line.

Owner: GtkEntry

Flags: Read / Write

Default value: FALSE


The “visibility” property

  “visibility”               gboolean

FALSE displays the “invisible char” instead of the actual text (password mode).

Owner: GtkEntry

Flags: Read / Write

Default value: TRUE

Signal Details

The “activate” signal

void
user_function (GtkEntry *entry,
               gpointer  user_data)

Flags: Action


The “icon-press” signal

void
user_function (GtkEntry            *entry,
               GtkEntryIconPosition icon_pos,
               gpointer             user_data)

The ::icon-press signal is emitted when an activatable icon is clicked.

Parameters

entry

The entry on which the signal is emitted

 

icon_pos

The position of the clicked icon

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “icon-release” signal

void
user_function (GtkEntry            *entry,
               GtkEntryIconPosition icon_pos,
               gpointer             user_data)

The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.

Parameters

entry

The entry on which the signal is emitted

 

icon_pos

The position of the clicked icon

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkCellEditable.html0000664000175000017500000004640013710700533021175 0ustar mclasenmclasen GtkCellEditable: GTK 4 Reference Manual

GtkCellEditable

GtkCellEditable — Interface for widgets that can be used for editing cells

Properties

gboolean editing-canceled Read / Write

Signals

void editing-done Run Last
void remove-widget Run Last

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkCellEditable

Prerequisites

GtkCellEditable requires GtkWidget.

Known Implementations

GtkCellEditable is implemented by GtkComboBox, GtkComboBoxText, GtkEntry and GtkSpinButton.

Includes

#include <gtk/gtk.h>

Description

The GtkCellEditable interface must be implemented for widgets to be usable to edit the contents of a GtkTreeView cell. It provides a way to specify how temporary widgets should be configured for editing, get the new value, etc.

Functions

gtk_cell_editable_start_editing ()

void
gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
                                 GdkEvent *event);

Begins editing on a cell_editable .

The GtkCellRenderer for the cell creates and returns a GtkCellEditable from gtk_cell_renderer_start_editing(), configured for the GtkCellRenderer type.

gtk_cell_editable_start_editing() can then set up cell_editable suitably for editing a cell, e.g. making the Esc key emit “editing-done”.

Note that the cell_editable is created on-demand for the current edit; its lifetime is temporary and does not persist across other edits and/or cells.

Parameters

cell_editable

A GtkCellEditable

 

event

The GdkEvent that began the editing process, or NULL if editing was initiated programmatically.

[nullable]

gtk_cell_editable_editing_done ()

void
gtk_cell_editable_editing_done (GtkCellEditable *cell_editable);

Emits the “editing-done” signal.

Parameters

cell_editable

A GtkCellEditable

 

gtk_cell_editable_remove_widget ()

void
gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);

Emits the “remove-widget” signal.

Parameters

cell_editable

A GtkCellEditable

 

Types and Values

GtkCellEditable

typedef struct _GtkCellEditable GtkCellEditable;

struct GtkCellEditableIface

struct GtkCellEditableIface {
  /* signals */
  void (* editing_done)  (GtkCellEditable *cell_editable);
  void (* remove_widget) (GtkCellEditable *cell_editable);

  /* virtual table */
  void (* start_editing) (GtkCellEditable *cell_editable,
			  GdkEvent        *event);
};

Members

editing_done ()

Signal is a sign for the cell renderer to update its value from the cell_editable.

 

remove_widget ()

Signal is meant to indicate that the cell is finished editing, and the widget may now be destroyed.

 

start_editing ()

Begins editing on a cell_editable.

 

Property Details

The “editing-canceled” property

  “editing-canceled”         gboolean

Indicates whether editing on the cell has been canceled.

Owner: GtkCellEditable

Flags: Read / Write

Default value: FALSE

Signal Details

The “editing-done” signal

void
user_function (GtkCellEditable *cell_editable,
               gpointer         user_data)

This signal is a sign for the cell renderer to update its value from the cell_editable .

Implementations of GtkCellEditable are responsible for emitting this signal when they are done editing, e.g. GtkEntry emits this signal when the user presses Enter. Typical things to do in a handler for ::editing-done are to capture the edited value, disconnect the cell_editable from signals on the GtkCellRenderer, etc.

gtk_cell_editable_editing_done() is a convenience method for emitting “editing-done”.

Parameters

cell_editable

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “remove-widget” signal

void
user_function (GtkCellEditable *cell_editable,
               gpointer         user_data)

This signal is meant to indicate that the cell is finished editing, and the cell_editable widget is being removed and may subsequently be destroyed.

Implementations of GtkCellEditable are responsible for emitting this signal when they are done editing. It must be emitted after the “editing-done” signal, to give the cell renderer a chance to update the cell's value before the widget is removed.

gtk_cell_editable_remove_widget() is a convenience method for emitting “remove-widget”.

Parameters

cell_editable

the object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkCellRenderer

docs/reference/gtk/html/GtkEntryBuffer.html0000664000175000017500000010273513710700533021123 0ustar mclasenmclasen GtkEntryBuffer: GTK 4 Reference Manual

GtkEntryBuffer

GtkEntryBuffer — Text buffer for GtkEntry

Properties

guint length Read
gint max-length Read / Write
gchar * text Read / Write

Signals

void deleted-text Run Last
void inserted-text Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEntryBuffer

Includes

#include <gtk/gtk.h>

Description

The GtkEntryBuffer class contains the actual text displayed in a GtkEntry widget.

A single GtkEntryBuffer object can be shared by multiple GtkEntry widgets which will then share the same text content, but not the cursor position, visibility attributes, icon etc.

GtkEntryBuffer may be derived from. Such a derived class might allow text to be stored in an alternate location, such as non-pageable memory, useful in the case of important passwords. Or a derived class could integrate with an application’s concept of undo/redo.

Functions

gtk_entry_buffer_new ()

GtkEntryBuffer *
gtk_entry_buffer_new (const char *initial_chars,
                      int n_initial_chars);

Create a new GtkEntryBuffer object.

Optionally, specify initial text to set in the buffer.

Parameters

initial_chars

initial buffer text, or NULL.

[allow-none]

n_initial_chars

number of characters in initial_chars , or -1

 

Returns

A new GtkEntryBuffer object.


gtk_entry_buffer_get_text ()

const char *
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);

Retrieves the contents of the buffer.

The memory pointer returned by this call will not change unless this object emits a signal, or is finalized.

Parameters

buffer

a GtkEntryBuffer

 

Returns

a pointer to the contents of the widget as a string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored.


gtk_entry_buffer_set_text ()

void
gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
                           const char *chars,
                           int n_chars);

Sets the text in the buffer.

This is roughly equivalent to calling gtk_entry_buffer_delete_text() and gtk_entry_buffer_insert_text().

Note that n_chars is in characters, not in bytes.

Parameters

buffer

a GtkEntryBuffer

 

chars

the new text

 

n_chars

the number of characters in text , or -1

 

gtk_entry_buffer_get_bytes ()

gsize
gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer);

Retrieves the length in bytes of the buffer. See gtk_entry_buffer_get_length().

Parameters

buffer

a GtkEntryBuffer

 

Returns

The byte length of the buffer.


gtk_entry_buffer_get_length ()

guint
gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);

Retrieves the length in characters of the buffer.

Parameters

buffer

a GtkEntryBuffer

 

Returns

The number of characters in the buffer.


gtk_entry_buffer_get_max_length ()

int
gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer);

Retrieves the maximum allowed length of the text in buffer . See gtk_entry_buffer_set_max_length().

Parameters

buffer

a GtkEntryBuffer

 

Returns

the maximum allowed number of characters in GtkEntryBuffer, or 0 if there is no maximum.


gtk_entry_buffer_set_max_length ()

void
gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
                                 int max_length);

Sets the maximum allowed length of the contents of the buffer. If the current contents are longer than the given length, then they will be truncated to fit.

Parameters

buffer

a GtkEntryBuffer

 

max_length

the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536.

 

gtk_entry_buffer_insert_text ()

guint
gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
                              guint position,
                              const char *chars,
                              int n_chars);

Inserts n_chars characters of chars into the contents of the buffer, at position position .

If n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If position or n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values.

Note that the position and length are in characters, not in bytes.

Parameters

buffer

a GtkEntryBuffer

 

position

the position at which to insert text.

 

chars

the text to insert into the buffer.

 

n_chars

the length of the text in characters, or -1

 

Returns

The number of characters actually inserted.


gtk_entry_buffer_delete_text ()

guint
gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer,
                              guint position,
                              int n_chars);

Deletes a sequence of characters from the buffer. n_chars characters are deleted starting at position . If n_chars is negative, then all characters until the end of the text are deleted.

If position or n_chars are out of bounds, then they are coerced to sane values.

Note that the positions are specified in characters, not bytes.

Parameters

buffer

a GtkEntryBuffer

 

position

position at which to delete text

 

n_chars

number of characters to delete

 

Returns

The number of characters deleted.


gtk_entry_buffer_emit_deleted_text ()

void
gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer,
                                    guint position,
                                    guint n_chars);

Used when subclassing GtkEntryBuffer

Parameters

buffer

a GtkEntryBuffer

 

position

position at which text was deleted

 

n_chars

number of characters deleted

 

gtk_entry_buffer_emit_inserted_text ()

void
gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer,
                                     guint position,
                                     const char *chars,
                                     guint n_chars);

Used when subclassing GtkEntryBuffer

Parameters

buffer

a GtkEntryBuffer

 

position

position at which text was inserted

 

chars

text that was inserted

 

n_chars

number of characters inserted

 

Types and Values

struct GtkEntryBuffer

struct GtkEntryBuffer;

Property Details

The “length” property

  “length”                   guint

The length (in characters) of the text in buffer.

Owner: GtkEntryBuffer

Flags: Read

Allowed values: <= 65535

Default value: 0


The “max-length” property

  “max-length”               gint

The maximum length (in characters) of the text in the buffer.

Owner: GtkEntryBuffer

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0


The “text” property

  “text”                     gchar *

The contents of the buffer.

Owner: GtkEntryBuffer

Flags: Read / Write

Default value: ""

Signal Details

The “deleted-text” signal

void
user_function (GtkEntryBuffer *buffer,
               guint           position,
               guint           n_chars,
               gpointer        user_data)

The text is altered in the default handler for this signal. If you want access to the text after the text has been modified, use G_CONNECT_AFTER.

Parameters

buffer

a GtkEntryBuffer

 

position

the position the text was deleted at.

 

n_chars

The number of characters that were deleted.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “inserted-text” signal

void
user_function (GtkEntryBuffer *buffer,
               guint           position,
               gchar          *chars,
               guint           n_chars,
               gpointer        user_data)

This signal is emitted after text is inserted into the buffer.

Parameters

buffer

a GtkEntryBuffer

 

position

the position the text was inserted at.

 

chars

The text that was inserted.

 

n_chars

The number of characters that were inserted.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

docs/reference/gtk/html/GtkCellLayout.html0000664000175000017500000013565713710700533020756 0ustar mclasenmclasen GtkCellLayout: GTK 4 Reference Manual

GtkCellLayout

GtkCellLayout — An interface for packing cells

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkCellLayout

Prerequisites

GtkCellLayout requires GObject.

Known Implementations

GtkCellLayout is implemented by GtkCellArea, GtkCellAreaBox, GtkCellView, GtkComboBox, GtkComboBoxText, GtkEntryCompletion, GtkIconView and GtkTreeViewColumn.

Includes

#include <gtk/gtk.h>

Description

GtkCellLayout is an interface to be implemented by all objects which want to provide a GtkTreeViewColumn like API for packing cells, setting attributes and data funcs.

One of the notable features provided by implementations of GtkCellLayout are attributes. Attributes let you set the properties in flexible ways. They can just be set to constant values like regular properties. But they can also be mapped to a column of the underlying tree model with gtk_cell_layout_set_attributes(), which means that the value of the attribute can change from cell to cell as they are rendered by the cell renderer. Finally, it is possible to specify a function with gtk_cell_layout_set_cell_data_func() that is called to determine the value of the attribute for each cell that is rendered.

GtkCellLayouts as GtkBuildable

Implementations of GtkCellLayout which also implement the GtkBuildable interface (GtkCellView, GtkIconView, GtkComboBox, GtkEntryCompletion, GtkTreeViewColumn) accept GtkCellRenderer objects as <child> elements in UI definitions. They support a custom <attributes> element for their children, which can contain multiple <attribute> elements. Each <attribute> element has a name attribute which specifies a property of the cell renderer; the content of the element is the attribute value.

This is an example of a UI definition fragment specifying attributes:

1
2
3
4
5
6
7
8
<object class="GtkCellView">
  <child>
    <object class="GtkCellRendererText"/>
    <attributes>
      <attribute name="text">0</attribute>
    </attributes>
  </child>"
</object>

Furthermore for implementations of GtkCellLayout that use a GtkCellArea to lay out cells (all GtkCellLayouts in GTK+ use a GtkCellArea) cell properties can also be defined in the format by specifying the custom <cell-packing> attribute which can contain multiple <property> elements defined in the normal way.

Here is a UI definition fragment specifying cell properties:

1
2
3
4
5
6
7
8
9
<object class="GtkTreeViewColumn">
  <child>
    <object class="GtkCellRendererText"/>
    <cell-packing>
      <property name="align">True</property>
      <property name="expand">False</property>
    </cell-packing>
  </child>"
</object>


Subclassing GtkCellLayout implementations

When subclassing a widget that implements GtkCellLayout like GtkIconView or GtkComboBox, there are some considerations related to the fact that these widgets internally use a GtkCellArea. The cell area is exposed as a construct-only property by these widgets. This means that it is possible to e.g. do

1
combo = g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL);

to use a custom cell area with a combo box. But construct properties are only initialized after instance init() functions have run, which means that using functions which rely on the existence of the cell area in your subclass’ init() function will cause the default cell area to be instantiated. In this case, a provided construct property value will be ignored (with a warning, to alert you to the problem).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static void
my_combo_box_init (MyComboBox *b)
{
  GtkCellRenderer *cell;

  cell = gtk_cell_renderer_pixbuf_new ();
  // The following call causes the default cell area for combo boxes,
  // a GtkCellAreaBox, to be instantiated
  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE);
  ...
}

GtkWidget *
my_combo_box_new (GtkCellArea *area)
{
  // This call is going to cause a warning about area being ignored
  return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL);
}

If supporting alternative cell areas with your derived widget is not important, then this does not have to concern you. If you want to support alternative cell areas, you can do so by moving the problematic calls out of init() and into a constructor() for your class.

Functions

GtkCellLayoutDataFunc ()

void
(*GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout,
                          GtkCellRenderer *cell,
                          GtkTreeModel *tree_model,
                          GtkTreeIter *iter,
                          gpointer data);

A function which should set the value of cell_layout ’s cell renderer(s) as appropriate.

Parameters

cell_layout

a GtkCellLayout

 

cell

the cell renderer whose value is to be set

 

tree_model

the model

 

iter

a GtkTreeIter indicating the row to set the value for

 

data

user data passed to gtk_cell_layout_set_cell_data_func().

[closure]

gtk_cell_layout_pack_start ()

void
gtk_cell_layout_pack_start (GtkCellLayout *cell_layout,
                            GtkCellRenderer *cell,
                            gboolean expand);

Packs the cell into the beginning of cell_layout . If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.

Note that reusing the same cell renderer is not supported.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer

 

expand

TRUE if cell is to be given extra space allocated to cell_layout

 

gtk_cell_layout_pack_end ()

void
gtk_cell_layout_pack_end (GtkCellLayout *cell_layout,
                          GtkCellRenderer *cell,
                          gboolean expand);

Adds the cell to the end of cell_layout . If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE.

Note that reusing the same cell renderer is not supported.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer

 

expand

TRUE if cell is to be given extra space allocated to cell_layout

 

gtk_cell_layout_get_area ()

GtkCellArea *
gtk_cell_layout_get_area (GtkCellLayout *cell_layout);

Returns the underlying GtkCellArea which might be cell_layout if called on a GtkCellArea or might be NULL if no GtkCellArea is used by cell_layout .

Parameters

cell_layout

a GtkCellLayout

 

Returns

the cell area used by cell_layout , or NULL in case no cell area is used.

[transfer none][nullable]


gtk_cell_layout_get_cells ()

GList *
gtk_cell_layout_get_cells (GtkCellLayout *cell_layout);

Returns the cell renderers which have been added to cell_layout .

Parameters

cell_layout

a GtkCellLayout

 

Returns

a list of cell renderers. The list, but not the renderers has been newly allocated and should be freed with g_list_free() when no longer needed.

[element-type GtkCellRenderer][transfer container]


gtk_cell_layout_reorder ()

void
gtk_cell_layout_reorder (GtkCellLayout *cell_layout,
                         GtkCellRenderer *cell,
                         int position);

Re-inserts cell at position .

Note that cell has already to be packed into cell_layout for this to function properly.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer to reorder

 

position

new position to insert cell at

 

gtk_cell_layout_clear ()

void
gtk_cell_layout_clear (GtkCellLayout *cell_layout);

Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout .

Parameters

cell_layout

a GtkCellLayout

 

gtk_cell_layout_set_attributes ()

void
gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout,
                                GtkCellRenderer *cell,
                                ...);

Sets the attributes in list as the attributes of cell_layout .

The attributes should be in attribute/column order, as in gtk_cell_layout_add_attribute(). All existing attributes are removed, and replaced with the new attributes.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer

 

...

a NULL-terminated list of attributes

 

gtk_cell_layout_add_attribute ()

void
gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout,
                               GtkCellRenderer *cell,
                               const char *attribute,
                               int column);

Adds an attribute mapping to the list in cell_layout .

The column is the column of the model to get a value from, and the attribute is the parameter on cell to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of a GtkCellRendererText get its values from column 2.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer

 

attribute

an attribute on the renderer

 

column

the column position on the model to get the attribute from

 

gtk_cell_layout_set_cell_data_func ()

void
gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout,
                                    GtkCellRenderer *cell,
                                    GtkCellLayoutDataFunc func,
                                    gpointer func_data,
                                    GDestroyNotify destroy);

Sets the GtkCellLayoutDataFunc to use for cell_layout .

This function is used instead of the standard attributes mapping for setting the column value, and should set the value of cell_layout ’s cell renderer(s) as appropriate.

func may be NULL to remove a previously set function.

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer

 

func

the GtkCellLayoutDataFunc to use, or NULL.

[allow-none]

func_data

user data for func .

[closure]

destroy

destroy notify for func_data

 

gtk_cell_layout_clear_attributes ()

void
gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout,
                                  GtkCellRenderer *cell);

Clears all existing attributes previously set with gtk_cell_layout_set_attributes().

Parameters

cell_layout

a GtkCellLayout

 

cell

a GtkCellRenderer to clear the attribute mapping on

 

Types and Values

GtkCellLayout

typedef struct _GtkCellLayout GtkCellLayout;

struct GtkCellLayoutIface

struct GtkCellLayoutIface {
  /* Virtual Table */
  void (* pack_start)         (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell,
                               gboolean               expand);
  void (* pack_end)           (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell,
                               gboolean               expand);
  void (* clear)              (GtkCellLayout         *cell_layout);
  void (* add_attribute)      (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell,
                               const char            *attribute,
                               int                    column);
  void (* set_cell_data_func) (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell,
                               GtkCellLayoutDataFunc  func,
                               gpointer               func_data,
                               GDestroyNotify         destroy);
  void (* clear_attributes)   (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell);
  void (* reorder)            (GtkCellLayout         *cell_layout,
                               GtkCellRenderer       *cell,
                               int                    position);
  GList* (* get_cells)        (GtkCellLayout         *cell_layout);

  GtkCellArea *(* get_area)   (GtkCellLayout         *cell_layout);
};

Members

pack_start ()

Packs the cell into the beginning of cell_layout.

 

pack_end ()

Adds the cell to the end of cell_layout.

 

clear ()

Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout.

 

add_attribute ()

Adds an attribute mapping to the list in cell_layout.

 

set_cell_data_func ()

Sets the GtkCellLayoutDataFunc to use for cell_layout.

 

clear_attributes ()

Clears all existing attributes previously set with gtk_cell_layout_set_attributes().

 

reorder ()

Re-inserts cell at position.

 

get_cells ()

Get the cell renderers which have been added to cell_layout.

 

get_area ()

Get the underlying GtkCellArea which might be cell_layout if called on a GtkCellArea or might be NULL if no GtkCellArea is used by cell_layout.

 
docs/reference/gtk/html/GtkEntryCompletion.html0000664000175000017500000022036213710700533022020 0ustar mclasenmclasen GtkEntryCompletion: GTK 4 Reference Manual

GtkEntryCompletion

GtkEntryCompletion — Completion functionality for GtkEntry

Properties

GtkCellArea * cell-area Read / Write / Construct Only
gboolean inline-completion Read / Write
gboolean inline-selection Read / Write
gint minimum-key-length Read / Write
GtkTreeModel * model Read / Write
gboolean popup-completion Read / Write
gboolean popup-set-width Read / Write
gboolean popup-single-match Read / Write
gint text-column Read / Write

Signals

gboolean cursor-on-match Run Last
gboolean insert-prefix Run Last
gboolean match-selected Run Last
void no-matches Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEntryCompletion

Implemented Interfaces

GtkEntryCompletion implements GtkCellLayout and GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

GtkEntryCompletion is an auxiliary object to be used in conjunction with GtkEntry to provide the completion functionality. It implements the GtkCellLayout interface, to allow the user to add extra cells to the GtkTreeView with completion matches.

“Completion functionality” means that when the user modifies the text in the entry, GtkEntryCompletion checks which rows in the model match the current content of the entry, and displays a list of matches. By default, the matching is done by comparing the entry text case-insensitively against the text column of the model (see gtk_entry_completion_set_text_column()), but this can be overridden with a custom match function (see gtk_entry_completion_set_match_func()).

When the user selects a completion, the content of the entry is updated. By default, the content of the entry is replaced by the text column of the model, but this can be overridden by connecting to the “match-selected” signal and updating the entry in the signal handler. Note that you should return TRUE from the signal handler to suppress the default behaviour.

To add completion functionality to an entry, use gtk_entry_set_completion().

GtkEntryCompletion uses a GtkTreeModelFilter model to represent the subset of the entire model that is currently matching. While the GtkEntryCompletion signals “match-selected” and “cursor-on-match” take the original model and an iter pointing to that model as arguments, other callbacks and signals (such as GtkCellLayoutDataFuncs or “apply-attributes”) will generally take the filter model as argument. As long as you are only calling gtk_tree_model_get(), this will make no difference to you. If for some reason, you need the original model, use gtk_tree_model_filter_get_model(). Don’t forget to use gtk_tree_model_filter_convert_iter_to_child_iter() to obtain a matching iter.

Functions

GtkEntryCompletionMatchFunc ()

gboolean
(*GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion,
                                const char *key,
                                GtkTreeIter *iter,
                                gpointer user_data);

A function which decides whether the row indicated by iter matches a given key , and should be displayed as a possible completion for key . Note that key is normalized and case-folded (see g_utf8_normalize() and g_utf8_casefold()). If this is not appropriate, match functions have access to the unmodified key via gtk_editable_get_text (GTK_EDITABLE (gtk_entry_completion_get_entry())).

Parameters

completion

the GtkEntryCompletion

 

key

the string to match, normalized and case-folded

 

iter

a GtkTreeIter indicating the row to match

 

user_data

user data given to gtk_entry_completion_set_match_func()

 

Returns

TRUE if iter should be displayed as a possible completion for key


gtk_entry_completion_new ()

GtkEntryCompletion *
gtk_entry_completion_new (void);

Creates a new GtkEntryCompletion object.

Returns

A newly created GtkEntryCompletion object


gtk_entry_completion_new_with_area ()

GtkEntryCompletion *
gtk_entry_completion_new_with_area (GtkCellArea *area);

Creates a new GtkEntryCompletion object using the specified area to layout cells in the underlying GtkTreeViewColumn for the drop-down menu.

Parameters

area

the GtkCellArea used to layout cells

 

Returns

A newly created GtkEntryCompletion object


gtk_entry_completion_get_entry ()

GtkWidget *
gtk_entry_completion_get_entry (GtkEntryCompletion *completion);

Gets the entry completion has been attached to.

Parameters

completion

a GtkEntryCompletion

 

Returns

The entry completion has been attached to.

[transfer none]


gtk_entry_completion_set_model ()

void
gtk_entry_completion_set_model (GtkEntryCompletion *completion,
                                GtkTreeModel *model);

Sets the model for a GtkEntryCompletion. If completion already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the model.

Parameters

completion

a GtkEntryCompletion

 

model

the GtkTreeModel.

[allow-none]

gtk_entry_completion_get_model ()

GtkTreeModel *
gtk_entry_completion_get_model (GtkEntryCompletion *completion);

Returns the model the GtkEntryCompletion is using as data source. Returns NULL if the model is unset.

Parameters

completion

a GtkEntryCompletion

 

Returns

A GtkTreeModel, or NULL if none is currently being used.

[nullable][transfer none]


gtk_entry_completion_set_match_func ()

void
gtk_entry_completion_set_match_func (GtkEntryCompletion *completion,
                                     GtkEntryCompletionMatchFunc func,
                                     gpointer func_data,
                                     GDestroyNotify func_notify);

Sets the match function for completion to be func . The match function is used to determine if a row should or should not be in the completion list.

Parameters

completion

a GtkEntryCompletion

 

func

the GtkEntryCompletionMatchFunc to use

 

func_data

user data for func

 

func_notify

destroy notify for func_data .

 

gtk_entry_completion_set_minimum_key_length ()

void
gtk_entry_completion_set_minimum_key_length
                               (GtkEntryCompletion *completion,
                                int length);

Requires the length of the search key for completion to be at least length . This is useful for long lists, where completing using a small key takes a lot of time and will come up with meaningless results anyway (ie, a too large dataset).

Parameters

completion

a GtkEntryCompletion

 

length

the minimum length of the key in order to start completing

 

gtk_entry_completion_get_minimum_key_length ()

int
gtk_entry_completion_get_minimum_key_length
                               (GtkEntryCompletion *completion);

Returns the minimum key length as set for completion .

Parameters

completion

a GtkEntryCompletion

 

Returns

The currently used minimum key length


gtk_entry_completion_compute_prefix ()

char *
gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion,
                                     const char *key);

Computes the common prefix that is shared by all rows in completion that start with key . If no row matches key , NULL will be returned. Note that a text column must have been set for this function to work, see gtk_entry_completion_set_text_column() for details.

Parameters

completion

the entry completion

 

key

The text to complete for

 

Returns

The common prefix all rows starting with key or NULL if no row matches key .

[nullable][transfer full]


gtk_entry_completion_complete ()

void
gtk_entry_completion_complete (GtkEntryCompletion *completion);

Requests a completion operation, or in other words a refiltering of the current list with completions, using the current key. The completion list view will be updated accordingly.

Parameters

completion

a GtkEntryCompletion

 

gtk_entry_completion_get_completion_prefix ()

const char *
gtk_entry_completion_get_completion_prefix
                               (GtkEntryCompletion *completion);

Get the original text entered by the user that triggered the completion or NULL if there’s no completion ongoing.

Parameters

completion

a GtkEntryCompletion

 

Returns

the prefix for the current completion


gtk_entry_completion_insert_prefix ()

void
gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion);

Requests a prefix insertion.

Parameters

completion

a GtkEntryCompletion

 

gtk_entry_completion_set_text_column ()

void
gtk_entry_completion_set_text_column (GtkEntryCompletion *completion,
                                      int column);

Convenience function for setting up the most used case of this code: a completion list with just strings. This function will set up completion to have a list displaying all (and just) strings in the completion list, and to get those strings from column in the model of completion .

This functions creates and adds a GtkCellRendererText for the selected column. If you need to set the text column, but don't want the cell renderer, use g_object_set() to set the “text-column” property directly.

Parameters

completion

a GtkEntryCompletion

 

column

the column in the model of completion to get strings from

 

gtk_entry_completion_get_text_column ()

int
gtk_entry_completion_get_text_column (GtkEntryCompletion *completion);

Returns the column in the model of completion to get strings from.

Parameters

completion

a GtkEntryCompletion

 

Returns

the column containing the strings


gtk_entry_completion_set_inline_completion ()

void
gtk_entry_completion_set_inline_completion
                               (GtkEntryCompletion *completion,
                                gboolean inline_completion);

Sets whether the common prefix of the possible completions should be automatically inserted in the entry.

Parameters

completion

a GtkEntryCompletion

 

inline_completion

TRUE to do inline completion

 

gtk_entry_completion_get_inline_completion ()

gboolean
gtk_entry_completion_get_inline_completion
                               (GtkEntryCompletion *completion);

Returns whether the common prefix of the possible completions should be automatically inserted in the entry.

Parameters

completion

a GtkEntryCompletion

 

Returns

TRUE if inline completion is turned on


gtk_entry_completion_set_inline_selection ()

void
gtk_entry_completion_set_inline_selection
                               (GtkEntryCompletion *completion,
                                gboolean inline_selection);

Sets whether it is possible to cycle through the possible completions inside the entry.

Parameters

completion

a GtkEntryCompletion

 

inline_selection

TRUE to do inline selection

 

gtk_entry_completion_get_inline_selection ()

gboolean
gtk_entry_completion_get_inline_selection
                               (GtkEntryCompletion *completion);

Returns TRUE if inline-selection mode is turned on.

Parameters

completion

a GtkEntryCompletion

 

Returns

TRUE if inline-selection mode is on


gtk_entry_completion_set_popup_completion ()

void
gtk_entry_completion_set_popup_completion
                               (GtkEntryCompletion *completion,
                                gboolean popup_completion);

Sets whether the completions should be presented in a popup window.

Parameters

completion

a GtkEntryCompletion

 

popup_completion

TRUE to do popup completion

 

gtk_entry_completion_get_popup_completion ()

gboolean
gtk_entry_completion_get_popup_completion
                               (GtkEntryCompletion *completion);

Returns whether the completions should be presented in a popup window.

Parameters

completion

a GtkEntryCompletion

 

Returns

TRUE if popup completion is turned on


gtk_entry_completion_set_popup_set_width ()

void
gtk_entry_completion_set_popup_set_width
                               (GtkEntryCompletion *completion,
                                gboolean popup_set_width);

Sets whether the completion popup window will be resized to be the same width as the entry.

Parameters

completion

a GtkEntryCompletion

 

popup_set_width

TRUE to make the width of the popup the same as the entry

 

gtk_entry_completion_get_popup_set_width ()

gboolean
gtk_entry_completion_get_popup_set_width
                               (GtkEntryCompletion *completion);

Returns whether the completion popup window will be resized to the width of the entry.

Parameters

completion

a GtkEntryCompletion

 

Returns

TRUE if the popup window will be resized to the width of the entry


gtk_entry_completion_set_popup_single_match ()

void
gtk_entry_completion_set_popup_single_match
                               (GtkEntryCompletion *completion,
                                gboolean popup_single_match);

Sets whether the completion popup window will appear even if there is only a single match. You may want to set this to FALSE if you are using inline completion.

Parameters

completion

a GtkEntryCompletion

 

popup_single_match

TRUE if the popup should appear even for a single match

 

gtk_entry_completion_get_popup_single_match ()

gboolean
gtk_entry_completion_get_popup_single_match
                               (GtkEntryCompletion *completion);

Returns whether the completion popup window will appear even if there is only a single match.

Parameters

completion

a GtkEntryCompletion

 

Returns

TRUE if the popup window will appear regardless of the number of matches

Types and Values

GtkEntryCompletion

typedef struct _GtkEntryCompletion GtkEntryCompletion;

Property Details

The “cell-area” property

  “cell-area”                GtkCellArea *

The GtkCellArea used to layout cell renderers in the treeview column.

If no area is specified when creating the entry completion with gtk_entry_completion_new_with_area() a horizontally oriented GtkCellAreaBox will be used.

Owner: GtkEntryCompletion

Flags: Read / Write / Construct Only


The “inline-completion” property

  “inline-completion”        gboolean

Determines whether the common prefix of the possible completions should be inserted automatically in the entry. Note that this requires text-column to be set, even if you are using a custom match function.

Owner: GtkEntryCompletion

Flags: Read / Write

Default value: FALSE


The “inline-selection” property

  “inline-selection”         gboolean

Determines whether the possible completions on the popup will appear in the entry as you navigate through them.

Owner: GtkEntryCompletion

Flags: Read / Write

Default value: FALSE


The “minimum-key-length” property

  “minimum-key-length”       gint

Minimum length of the search key in order to look up matches.

Owner: GtkEntryCompletion

Flags: Read / Write

Allowed values: >= 0

Default value: 1


The “model” property

  “model”                    GtkTreeModel *

The model to find matches in.

Owner: GtkEntryCompletion

Flags: Read / Write


The “popup-completion” property

  “popup-completion”         gboolean

Determines whether the possible completions should be shown in a popup window.

Owner: GtkEntryCompletion

Flags: Read / Write

Default value: TRUE


The “popup-set-width” property

  “popup-set-width”          gboolean

Determines whether the completions popup window will be resized to the width of the entry.

Owner: GtkEntryCompletion

Flags: Read / Write

Default value: TRUE


The “popup-single-match” property

  “popup-single-match”       gboolean

Determines whether the completions popup window will shown for a single possible completion. You probably want to set this to FALSE if you are using inline completion.

Owner: GtkEntryCompletion

Flags: Read / Write

Default value: TRUE


The “text-column” property

  “text-column”              gint

The column of the model containing the strings. Note that the strings must be UTF-8.

Owner: GtkEntryCompletion

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “cursor-on-match” signal

gboolean
user_function (GtkEntryCompletion *widget,
               GtkTreeModel       *model,
               GtkTreeIter        *iter,
               gpointer            user_data)

Gets emitted when a match from the cursor is on a match of the list. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter .

Note that model is the model that was passed to gtk_entry_completion_set_model().

Parameters

widget

the object which received the signal

 

model

the GtkTreeModel containing the matches

 

iter

a GtkTreeIter positioned at the selected match

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal has been handled

Flags: Run Last


The “insert-prefix” signal

gboolean
user_function (GtkEntryCompletion *widget,
               gchar              *prefix,
               gpointer            user_data)

Gets emitted when the inline autocompletion is triggered. The default behaviour is to make the entry display the whole prefix and select the newly inserted part.

Applications may connect to this signal in order to insert only a smaller part of the prefix into the entry - e.g. the entry used in the GtkFileChooser inserts only the part of the prefix up to the next '/'.

Parameters

widget

the object which received the signal

 

prefix

the common prefix of all possible completions

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal has been handled

Flags: Run Last


The “match-selected” signal

gboolean
user_function (GtkEntryCompletion *widget,
               GtkTreeModel       *model,
               GtkTreeIter        *iter,
               gpointer            user_data)

Gets emitted when a match from the list is selected. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter .

Note that model is the model that was passed to gtk_entry_completion_set_model().

Parameters

widget

the object which received the signal

 

model

the GtkTreeModel containing the matches

 

iter

a GtkTreeIter positioned at the selected match

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal has been handled

Flags: Run Last


The “no-matches” signal

void
user_function (GtkEntryCompletion *widget,
               gpointer            user_data)

Gets emitted when the filter model has zero number of rows in completion_complete method. (In other words when GtkEntryCompletion is out of suggestions)

Parameters

widget

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkCellRenderer.html0000664000175000017500000030471113710700533021234 0ustar mclasenmclasen GtkCellRenderer: GTK 4 Reference Manual

GtkCellRenderer

GtkCellRenderer — An object for rendering a single cell

Properties

gchar * cell-background Write
GdkRGBA * cell-background-rgba Read / Write
gboolean cell-background-set Read / Write
gboolean editing Read
gint height Read / Write
gboolean is-expanded Read / Write
gboolean is-expander Read / Write
GtkCellRendererMode mode Read / Write
gboolean sensitive Read / Write
gboolean visible Read / Write
gint width Read / Write
gfloat xalign Read / Write
guint xpad Read / Write
gfloat yalign Read / Write
guint ypad Read / Write

Signals

void editing-canceled Run First
void editing-started Run First

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ├── GtkCellRendererText
            ├── GtkCellRendererPixbuf
            ├── GtkCellRendererProgress
            ├── GtkCellRendererSpinner
            ╰── GtkCellRendererToggle

Includes

#include <gtk/gtk.h>

Description

The GtkCellRenderer is a base class of a set of objects used for rendering a cell to a cairo_t. These objects are used primarily by the GtkTreeView widget, though they aren’t tied to them in any specific way. It is worth noting that GtkCellRenderer is not a GtkWidget and cannot be treated as such.

The primary use of a GtkCellRenderer is for drawing a certain graphical elements on a cairo_t. Typically, one cell renderer is used to draw many cells on the screen. To this extent, it isn’t expected that a CellRenderer keep any permanent state around. Instead, any state is set just prior to use using GObjects property system. Then, the cell is measured using gtk_cell_renderer_get_preferred_size(). Finally, the cell is rendered in the correct location using gtk_cell_renderer_snapshot().

There are a number of rules that must be followed when writing a new GtkCellRenderer. First and foremost, it’s important that a certain set of properties will always yield a cell renderer of the same size, barring a GtkStyle change. The GtkCellRenderer also has a number of generic properties that are expected to be honored by all children.

Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be “activatable” like GtkCellRendererToggle, which toggles when it gets activated by a mouse click, or it can be “editable” like GtkCellRendererText, which allows the user to edit the text using a widget implementing the GtkCellEditable interface, e.g. GtkEntry. To make a cell renderer activatable or editable, you have to implement the GtkCellRendererClass.activate or GtkCellRendererClass.start_editing virtual functions, respectively.

Many properties of GtkCellRenderer and its subclasses have a corresponding “set” property, e.g. “cell-background-set” corresponds to “cell-background”. These “set” properties reflect whether a property has been set or not. You should not set them independently.

Functions

gtk_cell_renderer_get_aligned_area ()

void
gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
                                    GtkWidget *widget,
                                    GtkCellRendererState flags,
                                    const GdkRectangle *cell_area,
                                    GdkRectangle *aligned_area);

Gets the aligned area used by cell inside cell_area . Used for finding the appropriate edit and focus rectangle.

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

flags

render flags

 

cell_area

cell area which would be passed to gtk_cell_renderer_render()

 

aligned_area

the return location for the space inside cell_area that would actually be used to render.

[out]

gtk_cell_renderer_snapshot ()

void
gtk_cell_renderer_snapshot (GtkCellRenderer *cell,
                            GtkSnapshot *snapshot,
                            GtkWidget *widget,
                            const GdkRectangle *background_area,
                            const GdkRectangle *cell_area,
                            GtkCellRendererState flags);

Invokes the virtual render function of the GtkCellRenderer. The three passed-in rectangles are areas in cr . Most renderers will draw within cell_area ; the xalign, yalign, xpad, and ypad fields of the GtkCellRenderer should be honored with respect to cell_area . background_area includes the blank space around the cell, and also the area containing the tree expander; so the background_area rectangles for all cells tile to cover the entire window .

Parameters

cell

a GtkCellRenderer

 

snapshot

a GtkSnapshot to draw to

 

widget

the widget owning window

 

background_area

entire cell area (including tree expanders and maybe padding on the sides)

 

cell_area

area normally rendered by a cell renderer

 

flags

flags that affect rendering

 

gtk_cell_renderer_activate ()

gboolean
gtk_cell_renderer_activate (GtkCellRenderer *cell,
                            GdkEvent *event,
                            GtkWidget *widget,
                            const char *path,
                            const GdkRectangle *background_area,
                            const GdkRectangle *cell_area,
                            GtkCellRendererState flags);

Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, GtkCellRendererToggle toggles when it gets a mouse click.

Parameters

cell

a GtkCellRenderer

 

event

a GdkEvent

 

widget

widget that received the event

 

path

widget-dependent string representation of the event location; e.g. for GtkTreeView, a string representation of GtkTreePath

 

background_area

background area as passed to gtk_cell_renderer_render()

 

cell_area

cell area as passed to gtk_cell_renderer_render()

 

flags

render flags

 

Returns

TRUE if the event was consumed/handled


gtk_cell_renderer_start_editing ()

GtkCellEditable *
gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
                                 GdkEvent *event,
                                 GtkWidget *widget,
                                 const char *path,
                                 const GdkRectangle *background_area,
                                 const GdkRectangle *cell_area,
                                 GtkCellRendererState flags);

Starts editing the contents of this cell , through a new GtkCellEditable widget created by the GtkCellRendererClass.start_editing virtual function.

Parameters

cell

a GtkCellRenderer

 

event

a GdkEvent.

[nullable]

widget

widget that received the event

 

path

widget-dependent string representation of the event location; e.g. for GtkTreeView, a string representation of GtkTreePath

 

background_area

background area as passed to gtk_cell_renderer_render()

 

cell_area

cell area as passed to gtk_cell_renderer_render()

 

flags

render flags

 

Returns

A new GtkCellEditable for editing this cell , or NULL if editing is not possible.

[nullable][transfer none]


gtk_cell_renderer_stop_editing ()

void
gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
                                gboolean canceled);

Informs the cell renderer that the editing is stopped. If canceled is TRUE, the cell renderer will emit the “editing-canceled” signal.

This function should be called by cell renderer implementations in response to the “editing-done” signal of GtkCellEditable.

Parameters

cell

A GtkCellRenderer

 

canceled

TRUE if the editing has been canceled

 

gtk_cell_renderer_get_fixed_size ()

void
gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
                                  int *width,
                                  int *height);

Fills in width and height with the appropriate size of cell .

Parameters

cell

A GtkCellRenderer

 

width

location to fill in with the fixed width of the cell, or NULL.

[out][allow-none]

height

location to fill in with the fixed height of the cell, or NULL.

[out][allow-none]

gtk_cell_renderer_set_fixed_size ()

void
gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
                                  int width,
                                  int height);

Sets the renderer size to be explicit, independent of the properties set.

Parameters

cell

A GtkCellRenderer

 

width

the width of the cell renderer, or -1

 

height

the height of the cell renderer, or -1

 

gtk_cell_renderer_get_visible ()

gboolean
gtk_cell_renderer_get_visible (GtkCellRenderer *cell);

Returns the cell renderer’s visibility.

Parameters

cell

A GtkCellRenderer

 

Returns

TRUE if the cell renderer is visible


gtk_cell_renderer_set_visible ()

void
gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
                               gboolean visible);

Sets the cell renderer’s visibility.

Parameters

cell

A GtkCellRenderer

 

visible

the visibility of the cell

 

gtk_cell_renderer_get_sensitive ()

gboolean
gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);

Returns the cell renderer’s sensitivity.

Parameters

cell

A GtkCellRenderer

 

Returns

TRUE if the cell renderer is sensitive


gtk_cell_renderer_set_sensitive ()

void
gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
                                 gboolean sensitive);

Sets the cell renderer’s sensitivity.

Parameters

cell

A GtkCellRenderer

 

sensitive

the sensitivity of the cell

 

gtk_cell_renderer_get_alignment ()

void
gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
                                 float *xalign,
                                 float *yalign);

Fills in xalign and yalign with the appropriate values of cell .

Parameters

cell

A GtkCellRenderer

 

xalign

location to fill in with the x alignment of the cell, or NULL.

[out][allow-none]

yalign

location to fill in with the y alignment of the cell, or NULL.

[out][allow-none]

gtk_cell_renderer_set_alignment ()

void
gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
                                 float xalign,
                                 float yalign);

Sets the renderer’s alignment within its available space.

Parameters

cell

A GtkCellRenderer

 

xalign

the x alignment of the cell renderer

 

yalign

the y alignment of the cell renderer

 

gtk_cell_renderer_get_padding ()

void
gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
                               int *xpad,
                               int *ypad);

Fills in xpad and ypad with the appropriate values of cell .

Parameters

cell

A GtkCellRenderer

 

xpad

location to fill in with the x padding of the cell, or NULL.

[out][allow-none]

ypad

location to fill in with the y padding of the cell, or NULL.

[out][allow-none]

gtk_cell_renderer_set_padding ()

void
gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
                               int xpad,
                               int ypad);

Sets the renderer’s padding.

Parameters

cell

A GtkCellRenderer

 

xpad

the x padding of the cell renderer

 

ypad

the y padding of the cell renderer

 

gtk_cell_renderer_get_state ()

GtkStateFlags
gtk_cell_renderer_get_state (GtkCellRenderer *cell,
                             GtkWidget *widget,
                             GtkCellRendererState cell_state);

Translates the cell renderer state to GtkStateFlags, based on the cell renderer and widget sensitivity, and the given GtkCellRendererState.

Parameters

cell

a GtkCellRenderer, or NULL.

[nullable]

widget

a GtkWidget, or NULL.

[nullable]

cell_state

cell renderer state

 

Returns

the widget state flags applying to cell


gtk_cell_renderer_is_activatable ()

gboolean
gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);

Checks whether the cell renderer can do something when activated.

Parameters

cell

A GtkCellRenderer

 

Returns

TRUE if the cell renderer can do anything when activated


gtk_cell_renderer_get_preferred_height ()

void
gtk_cell_renderer_get_preferred_height
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int *minimum_size,
                                int *natural_size);

Retreives a renderer’s natural size when rendered to widget .

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

minimum_size

location to store the minimum size, or NULL.

[out][allow-none]

natural_size

location to store the natural size, or NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_height_for_width ()

void
gtk_cell_renderer_get_preferred_height_for_width
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int width,
                                int *minimum_height,
                                int *natural_height);

Retreives a cell renderers’s minimum and natural height if it were rendered to widget with the specified width .

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

width

the size which is available for allocation

 

minimum_height

location for storing the minimum size, or NULL.

[out][allow-none]

natural_height

location for storing the preferred size, or NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_size ()

void
gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
                                      GtkWidget *widget,
                                      GtkRequisition *minimum_size,
                                      GtkRequisition *natural_size);

Retrieves the minimum and natural size of a cell taking into account the widget’s preference for height-for-width management.

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

minimum_size

location for storing the minimum size, or NULL.

[out][allow-none]

natural_size

location for storing the natural size, or NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_width ()

void
gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
                                       GtkWidget *widget,
                                       int *minimum_size,
                                       int *natural_size);

Retreives a renderer’s natural size when rendered to widget .

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

minimum_size

location to store the minimum size, or NULL.

[out][allow-none]

natural_size

location to store the natural size, or NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_width_for_height ()

void
gtk_cell_renderer_get_preferred_width_for_height
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int height,
                                int *minimum_width,
                                int *natural_width);

Retreives a cell renderers’s minimum and natural width if it were rendered to widget with the specified height .

Parameters

cell

a GtkCellRenderer instance

 

widget

the GtkWidget this cell will be rendering to

 

height

the size which is available for allocation

 

minimum_width

location for storing the minimum size, or NULL.

[out][allow-none]

natural_width

location for storing the preferred size, or NULL.

[out][allow-none]

gtk_cell_renderer_get_request_mode ()

GtkSizeRequestMode
gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);

Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

Parameters

cell

a GtkCellRenderer instance

 

Returns

The GtkSizeRequestMode preferred by this renderer.

Types and Values

enum GtkCellRendererState

Tells how a cell is to be rendered.

Members

GTK_CELL_RENDERER_SELECTED

The cell is currently selected, and probably has a selection colored background to render to.

 

GTK_CELL_RENDERER_PRELIT

The mouse is hovering over the cell.

 

GTK_CELL_RENDERER_INSENSITIVE

The cell is drawn in an insensitive manner

 

GTK_CELL_RENDERER_SORTED

The cell is in a sorted row

 

GTK_CELL_RENDERER_FOCUSED

The cell is in the focus row.

 

GTK_CELL_RENDERER_EXPANDABLE

The cell is in a row that can be expanded

 

GTK_CELL_RENDERER_EXPANDED

The cell is in a row that is expanded

 

enum GtkCellRendererMode

Identifies how the user can interact with a particular cell.

Members

GTK_CELL_RENDERER_MODE_INERT

The cell is just for display and cannot be interacted with. Note that this doesn’t mean that eg. the row being drawn can’t be selected -- just that a particular element of it cannot be individually modified.

 

GTK_CELL_RENDERER_MODE_ACTIVATABLE

The cell can be clicked.

 

GTK_CELL_RENDERER_MODE_EDITABLE

The cell can be edited or otherwise modified.

 

struct GtkCellRenderer

struct GtkCellRenderer;

struct GtkCellRendererClass

struct GtkCellRendererClass {
  /* vtable - not signals */
  GtkSizeRequestMode (* get_request_mode)                (GtkCellRenderer      *cell);
  void               (* get_preferred_width)             (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                  *minimum_size,
                                                          int                  *natural_size);
  void               (* get_preferred_height_for_width)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                   width,
                                                          int                  *minimum_height,
                                                          int                  *natural_height);
  void               (* get_preferred_height)            (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                  *minimum_size,
                                                          int                  *natural_size);
  void               (* get_preferred_width_for_height)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                   height,
                                                          int                  *minimum_width,
                                                          int                  *natural_width);
  void               (* get_aligned_area)                (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
							  GtkCellRendererState  flags,
                                                          const GdkRectangle   *cell_area,
                                                          GdkRectangle         *aligned_area);
  void               (* get_size)                        (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *cell_area,
                                                          int                  *x_offset,
                                                          int                  *y_offset,
                                                          int                  *width,
                                                          int                  *height);
  void               (* snapshot)                        (GtkCellRenderer      *cell,
                                                          GtkSnapshot          *snapshot,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  gboolean           (* activate)                        (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const char           *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  GtkCellEditable *  (* start_editing)                   (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const char           *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);

  /* Signals */
  void (* editing_canceled) (GtkCellRenderer *cell);
  void (* editing_started)  (GtkCellRenderer *cell,
			     GtkCellEditable *editable,
			     const char      *path);
};

Members

get_request_mode ()

Called to gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

 

get_preferred_width ()

Called to get a renderer’s natural width.

 

get_preferred_height_for_width ()

Called to get a renderer’s natural height for width.

 

get_preferred_height ()

Called to get a renderer’s natural height.

 

get_preferred_width_for_height ()

Called to get a renderer’s natural width for height.

 

get_aligned_area ()

Called to get the aligned area used by cell inside cell_area .

 

get_size ()

Called to get the width and height needed to render the cell. Deprecated: 3.0.

 

snapshot ()

Called to snapshot the content of the GtkCellRenderer.

 

activate ()

Called to activate the content of the GtkCellRenderer.

 

start_editing ()

Called to initiate editing the content of the GtkCellRenderer.

 

editing_canceled ()

Signal gets emitted when the user cancels the process of editing a cell.

 

editing_started ()

Signal gets emitted when a cell starts to be edited.

 

Property Details

The “cell-background” property

  “cell-background”          gchar *

Cell background color as a string.

Owner: GtkCellRenderer

Flags: Write

Default value: NULL


The “cell-background-rgba” property

  “cell-background-rgba”     GdkRGBA *

Cell background as a GdkRGBA

Owner: GtkCellRenderer

Flags: Read / Write


The “cell-background-set” property

  “cell-background-set”      gboolean

Whether the cell background color is set.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: FALSE


The “editing” property

  “editing”                  gboolean

Whether the cell renderer is currently in editing mode.

Owner: GtkCellRenderer

Flags: Read

Default value: FALSE


The “height” property

  “height”                   gint

The fixed height.

Owner: GtkCellRenderer

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “is-expanded” property

  “is-expanded”              gboolean

Row is an expander row, and is expanded.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: FALSE


The “is-expander” property

  “is-expander”              gboolean

Row has children.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: FALSE


The “mode” property

  “mode”                     GtkCellRendererMode

Editable mode of the CellRenderer.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: GTK_CELL_RENDERER_MODE_INERT


The “sensitive” property

  “sensitive”                gboolean

Display the cell sensitive.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: TRUE


The “visible” property

  “visible”                  gboolean

Display the cell.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: TRUE


The “width” property

  “width”                    gint

The fixed width.

Owner: GtkCellRenderer

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “xalign” property

  “xalign”                   gfloat

The x-align.

Owner: GtkCellRenderer

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “xpad” property

  “xpad”                     guint

The xpad.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: 0


The “yalign” property

  “yalign”                   gfloat

The y-align.

Owner: GtkCellRenderer

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “ypad” property

  “ypad”                     guint

The ypad.

Owner: GtkCellRenderer

Flags: Read / Write

Default value: 0

Signal Details

The “editing-canceled” signal

void
user_function (GtkCellRenderer *renderer,
               gpointer         user_data)

This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape.

See also: gtk_cell_renderer_stop_editing().

Parameters

renderer

the object which received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “editing-started” signal

void
user_function (GtkCellRenderer *renderer,
               GtkCellEditable *editable,
               gchar           *path,
               gpointer         user_data)

This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable , e.g. adding a GtkEntryCompletion or setting up additional columns in a GtkComboBox.

See gtk_cell_editable_start_editing() for information on the lifecycle of the editable and a way to do setup that doesn’t depend on the renderer .

Note that GTK+ doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of editable before doing any specific setup, as in the following example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void
text_editing_started (GtkCellRenderer *cell,
                      GtkCellEditable *editable,
                      const char      *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable))

    {
      GtkEntry *entry = GTK_ENTRY (editable);

      // ... create a GtkEntryCompletion

      gtk_entry_set_completion (entry, completion);
    }
}

Parameters

renderer

the object which received the signal

 

editable

the GtkCellEditable

 

path

the path identifying the edited cell

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

See Also

GtkCellEditable

docs/reference/gtk/html/GtkCellRendererToggle.html0000664000175000017500000005454613710700533022406 0ustar mclasenmclasen GtkCellRendererToggle: GTK 4 Reference Manual

GtkCellRendererToggle

GtkCellRendererToggle — Renders a toggle button in a cell

Properties

gboolean activatable Read / Write
gboolean active Read / Write
gboolean inconsistent Read / Write
gboolean radio Read / Write

Signals

void toggled Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererToggle

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererToggle renders a toggle button in a cell. The button is drawn as a radio or a checkbutton, depending on the “radio” property. When activated, it emits the “toggled” signal.

Functions

gtk_cell_renderer_toggle_new ()

GtkCellRenderer *
gtk_cell_renderer_toggle_new (void);

Creates a new GtkCellRendererToggle. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “active” property on the cell renderer to a boolean value in the model, thus causing the check button to reflect the state of the model.

Returns

the new cell renderer


gtk_cell_renderer_toggle_get_radio ()

gboolean
gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle);

Returns whether we’re rendering radio toggles rather than checkboxes.

Parameters

toggle

a GtkCellRendererToggle

 

Returns

TRUE if we’re rendering radio toggles rather than checkboxes


gtk_cell_renderer_toggle_set_radio ()

void
gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
                                    gboolean radio);

If radio is TRUE, the cell renderer renders a radio toggle (i.e. a toggle in a group of mutually-exclusive toggles). If FALSE, it renders a check toggle (a standalone boolean option). This can be set globally for the cell renderer, or changed just before rendering each cell in the model (for GtkTreeView, you set up a per-row setting using GtkTreeViewColumn to associate model columns with cell renderer properties).

Parameters

toggle

a GtkCellRendererToggle

 

radio

TRUE to make the toggle look like a radio button

 

gtk_cell_renderer_toggle_get_active ()

gboolean
gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);

Returns whether the cell renderer is active. See gtk_cell_renderer_toggle_set_active().

Parameters

toggle

a GtkCellRendererToggle

 

Returns

TRUE if the cell renderer is active.


gtk_cell_renderer_toggle_set_active ()

void
gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
                                     gboolean setting);

Activates or deactivates a cell renderer.

Parameters

toggle

a GtkCellRendererToggle.

 

setting

the value to set.

 

gtk_cell_renderer_toggle_get_activatable ()

gboolean
gtk_cell_renderer_toggle_get_activatable
                               (GtkCellRendererToggle *toggle);

Returns whether the cell renderer is activatable. See gtk_cell_renderer_toggle_set_activatable().

Parameters

toggle

a GtkCellRendererToggle

 

Returns

TRUE if the cell renderer is activatable.


gtk_cell_renderer_toggle_set_activatable ()

void
gtk_cell_renderer_toggle_set_activatable
                               (GtkCellRendererToggle *toggle,
                                gboolean setting);

Makes the cell renderer activatable.

Parameters

toggle

a GtkCellRendererToggle.

 

setting

the value to set.

 

Types and Values

GtkCellRendererToggle

typedef struct _GtkCellRendererToggle GtkCellRendererToggle;

Property Details

The “activatable” property

  “activatable”              gboolean

The toggle button can be activated.

Owner: GtkCellRendererToggle

Flags: Read / Write

Default value: TRUE


The “active” property

  “active”                   gboolean

The toggle state of the button.

Owner: GtkCellRendererToggle

Flags: Read / Write

Default value: FALSE


The “inconsistent” property

  “inconsistent”             gboolean

The inconsistent state of the button.

Owner: GtkCellRendererToggle

Flags: Read / Write

Default value: FALSE


The “radio” property

  “radio”                    gboolean

Draw the toggle button as a radio button.

Owner: GtkCellRendererToggle

Flags: Read / Write

Default value: FALSE

Signal Details

The “toggled” signal

void
user_function (GtkCellRendererToggle *cell_renderer,
               gchar                 *path,
               gpointer               user_data)

The ::toggled signal is emitted when the cell is toggled.

It is the responsibility of the application to update the model with the correct value to store at path . Often this is simply the opposite of the value currently stored at path .

Parameters

cell_renderer

the object which received the signal

 

path

string representation of GtkTreePath describing the event location

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkCellRendererAccel.html0000664000175000017500000003710313710700533022162 0ustar mclasenmclasen GtkCellRendererAccel: GTK 4 Reference Manual

GtkCellRendererAccel

GtkCellRendererAccel — Renders a keyboard accelerator in a cell

Properties

guint accel-key Read / Write
GtkCellRendererAccelMode accel-mode Read / Write
GdkModifierType accel-mods Read / Write
guint keycode Read / Write

Signals

void accel-cleared Run Last
void accel-edited Run Last

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererText
                ╰── GtkCellRendererAccel

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererAccel displays a keyboard accelerator (i.e. a key combination like Control + a). If the cell renderer is editable, the accelerator can be changed by simply typing the new combination.

The GtkCellRendererAccel cell renderer was added in GTK+ 2.10.

Functions

gtk_cell_renderer_accel_new ()

GtkCellRenderer *
gtk_cell_renderer_accel_new (void);

Creates a new GtkCellRendererAccel.

Returns

the new cell renderer

Types and Values

GtkCellRendererAccel

typedef struct _GtkCellRendererAccel GtkCellRendererAccel;

enum GtkCellRendererAccelMode

Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus.

Members

GTK_CELL_RENDERER_ACCEL_MODE_GTK

GTK+ accelerators mode

 

GTK_CELL_RENDERER_ACCEL_MODE_OTHER

Other accelerator mode

 

Property Details

The “accel-key” property

  “accel-key”                guint

The keyval of the accelerator.

Owner: GtkCellRendererAccel

Flags: Read / Write

Allowed values: <= G_MAXINT

Default value: 0


The “accel-mode” property

  “accel-mode”               GtkCellRendererAccelMode

Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus.

Owner: GtkCellRendererAccel

Flags: Read / Write

Default value: GTK_CELL_RENDERER_ACCEL_MODE_GTK


The “accel-mods” property

  “accel-mods”               GdkModifierType

The modifier mask of the accelerator.

Owner: GtkCellRendererAccel

Flags: Read / Write


The “keycode” property

  “keycode”                  guint

The hardware keycode of the accelerator. Note that the hardware keycode is only relevant if the key does not have a keyval. Normally, the keyboard configuration should assign keyvals to all keys.

Owner: GtkCellRendererAccel

Flags: Read / Write

Allowed values: <= G_MAXINT

Default value: 0

Signal Details

The “accel-cleared” signal

void
user_function (GtkCellRendererAccel *accel,
               gchar                *path_string,
               gpointer              user_data)

Gets emitted when the user has removed the accelerator.

Parameters

accel

the object reveiving the signal

 

path_string

the path identifying the row of the edited cell

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “accel-edited” signal

void
user_function (GtkCellRendererAccel *accel,
               gchar                *path_string,
               guint                 accel_key,
               GdkModifierType       accel_mods,
               guint                 hardware_keycode,
               gpointer              user_data)

Gets emitted when the user has selected a new accelerator.

Parameters

accel

the object reveiving the signal

 

path_string

the path identifying the row of the edited cell

 

accel_key

the new accelerator keyval

 

accel_mods

the new acclerator modifier mask

 

hardware_keycode

the keycode of the new accelerator

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/GtkCellView.html0000664000175000017500000010673713710700533020410 0ustar mclasenmclasen GtkCellView: GTK 4 Reference Manual

GtkCellView

GtkCellView — A widget displaying a single row of a GtkTreeModel

Properties

GtkCellArea * cell-area Read / Write / Construct Only
GtkCellAreaContext * cell-area-context Read / Write / Construct Only
gboolean draw-sensitive Read / Write
gboolean fit-model Read / Write
GtkTreeModel * model Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkCellView

Implemented Interfaces

GtkCellView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

A GtkCellView displays a single row of a GtkTreeModel using a GtkCellArea and GtkCellAreaContext. A GtkCellAreaContext can be provided to the GtkCellView at construction time in order to keep the cellview in context of a group of cell views, this ensures that the renderers displayed will be properly aligned with eachother (like the aligned cells in the menus of GtkComboBox).

GtkCellView is GtkOrientable in order to decide in which orientation the underlying GtkCellAreaContext should be allocated. Taking the GtkComboBox menu as an example, cellviews should be oriented horizontally if the menus are listed top-to-bottom and thus all share the same width but may have separate individual heights (left-to-right menus should be allocated vertically since they all share the same height but may have variable widths).

CSS nodes

GtkCellView has a single CSS node with name cellview.

Functions

gtk_cell_view_new ()

GtkWidget *
gtk_cell_view_new (void);

Creates a new GtkCellView widget.

Returns

A newly created GtkCellView widget.


gtk_cell_view_new_with_context ()

GtkWidget *
gtk_cell_view_new_with_context (GtkCellArea *area,
                                GtkCellAreaContext *context);

Creates a new GtkCellView widget with a specific GtkCellArea to layout cells and a specific GtkCellAreaContext.

Specifying the same context for a handfull of cells lets the underlying area synchronize the geometry for those cells, in this way alignments with cellviews for other rows are possible.

Parameters

area

the GtkCellArea to layout cells

 

context

the GtkCellAreaContext in which to calculate cell geometry

 

Returns

A newly created GtkCellView widget.


gtk_cell_view_new_with_text ()

GtkWidget *
gtk_cell_view_new_with_text (const char *text);

Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show text .

Parameters

text

the text to display in the cell view

 

Returns

A newly created GtkCellView widget.


gtk_cell_view_new_with_markup ()

GtkWidget *
gtk_cell_view_new_with_markup (const char *markup);

Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show markup . The text can be marked up with the Pango text markup language.

Parameters

markup

the text to display in the cell view

 

Returns

A newly created GtkCellView widget.


gtk_cell_view_new_with_texture ()

GtkWidget *
gtk_cell_view_new_with_texture (GdkTexture *texture);

Creates a new GtkCellView widget, adds a GtkCellRendererPixbuf to it, and makes it show texture .

Parameters

texture

the image to display in the cell view

 

Returns

A newly created GtkCellView widget.


gtk_cell_view_set_model ()

void
gtk_cell_view_set_model (GtkCellView *cell_view,
                         GtkTreeModel *model);

Sets the model for cell_view . If cell_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model.

Parameters

cell_view

a GtkCellView

 

model

a GtkTreeModel.

[allow-none]

gtk_cell_view_get_model ()

GtkTreeModel *
gtk_cell_view_get_model (GtkCellView *cell_view);

Returns the model for cell_view . If no model is used NULL is returned.

Parameters

cell_view

a GtkCellView

 

Returns

a GtkTreeModel used or NULL.

[nullable][transfer none]


gtk_cell_view_set_displayed_row ()

void
gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
                                 GtkTreePath *path);

Sets the row of the model that is currently displayed by the GtkCellView. If the path is unset, then the contents of the cellview “stick” at their last value; this is not normally a desired result, but may be a needed intermediate state if say, the model for the GtkCellView becomes temporarily empty.

Parameters

cell_view

a GtkCellView

 

path

a GtkTreePath or NULL to unset.

[allow-none]

gtk_cell_view_get_displayed_row ()

GtkTreePath *
gtk_cell_view_get_displayed_row (GtkCellView *cell_view);

Returns a GtkTreePath referring to the currently displayed row. If no row is currently displayed, NULL is returned.

Parameters

cell_view

a GtkCellView

 

Returns

the currently displayed row or NULL.

[nullable][transfer full]


gtk_cell_view_set_draw_sensitive ()

void
gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view,
                                  gboolean draw_sensitive);

Sets whether cell_view should draw all of its cells in a sensitive state, this is used by GtkComboBox menus to ensure that rows with insensitive cells that contain children appear sensitive in the parent menu item.

Parameters

cell_view

a GtkCellView

 

draw_sensitive

whether to draw all cells in a sensitive state.

 

gtk_cell_view_get_draw_sensitive ()

gboolean
gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view);

Gets whether cell_view is configured to draw all of its cells in a sensitive state.

Parameters

cell_view

a GtkCellView

 

Returns

whether cell_view draws all of its cells in a sensitive state


gtk_cell_view_set_fit_model ()

void
gtk_cell_view_set_fit_model (GtkCellView *cell_view,
                             gboolean fit_model);

Sets whether cell_view should request space to fit the entire GtkTreeModel.

This is used by GtkComboBox to ensure that the cell view displayed on the combo box’s button always gets enough space and does not resize when selection changes.

Parameters

cell_view

a GtkCellView

 

fit_model

whether cell_view should request space for the whole model.

 

gtk_cell_view_get_fit_model ()

gboolean
gtk_cell_view_get_fit_model (GtkCellView *cell_view);

Gets whether cell_view is configured to request space to fit the entire GtkTreeModel.

Parameters

cell_view

a GtkCellView

 

Returns

whether cell_view requests space to fit the entire GtkTreeModel.

Types and Values

GtkCellView

typedef struct _GtkCellView GtkCellView;

Property Details

The “cell-area” property

  “cell-area”                GtkCellArea *

The GtkCellArea rendering cells

If no area is specified when creating the cell view with gtk_cell_view_new_with_context() a horizontally oriented GtkCellAreaBox will be used.

since 3.0

Owner: GtkCellView

Flags: Read / Write / Construct Only


The “cell-area-context” property

  “cell-area-context”        GtkCellAreaContext *

The GtkCellAreaContext used to compute the geometry of the cell view.

A group of cell views can be assigned the same context in order to ensure the sizes and cell alignments match across all the views with the same context.

GtkComboBox menus uses this to assign the same context to all cell views in the menu items for a single menu (each submenu creates its own context since the size of each submenu does not depend on parent or sibling menus).

since 3.0

Owner: GtkCellView

Flags: Read / Write / Construct Only


The “draw-sensitive” property

  “draw-sensitive”           gboolean

Whether all cells should be draw as sensitive for this view regardless of the actual cell properties (used to make menus with submenus appear sensitive when the items in submenus might be insensitive).

since 3.0

Owner: GtkCellView

Flags: Read / Write

Default value: FALSE


The “fit-model” property

  “fit-model”                gboolean

Whether the view should request enough space to always fit the size of every row in the model (used by the combo box to ensure the combo box size doesnt change when different items are selected).

since 3.0

Owner: GtkCellView

Flags: Read / Write

Default value: FALSE


The “model” property

  “model”                    GtkTreeModel *

The model for cell view

since 2.10

Owner: GtkCellView

Flags: Read / Write

docs/reference/gtk/html/GtkCellRendererCombo.html0000664000175000017500000003333013710700533022210 0ustar mclasenmclasen GtkCellRendererCombo: GTK 4 Reference Manual

GtkCellRendererCombo

GtkCellRendererCombo — Renders a combobox in a cell

Properties

gboolean has-entry Read / Write
GtkTreeModel * model Read / Write
gint text-column Read / Write

Signals

void changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererText
                ╰── GtkCellRendererCombo

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererCombo renders text in a cell like GtkCellRendererText from which it is derived. But while GtkCellRendererText offers a simple entry to edit the text, GtkCellRendererCombo offers a GtkComboBox widget to edit the text. The values to display in the combo box are taken from the tree model specified in the “model” property.

The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to display the column specified by its “text-column” property. Further properties of the combo box can be set in a handler for the “editing-started” signal.

The GtkCellRendererCombo cell renderer was added in GTK+ 2.6.

Functions

gtk_cell_renderer_combo_new ()

GtkCellRenderer *
gtk_cell_renderer_combo_new (void);

Creates a new GtkCellRendererCombo. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “text” property on the cell renderer to a string value in the model, thus rendering a different string in each row of the GtkTreeView.

Returns

the new cell renderer

Types and Values

GtkCellRendererCombo

typedef struct _GtkCellRendererCombo GtkCellRendererCombo;

Property Details

The “has-entry” property

  “has-entry”                gboolean

If TRUE, the cell renderer will include an entry and allow to enter values other than the ones in the popup list.

Owner: GtkCellRendererCombo

Flags: Read / Write

Default value: TRUE


The “model” property

  “model”                    GtkTreeModel *

Holds a tree model containing the possible values for the combo box. Use the text_column property to specify the column holding the values.

Owner: GtkCellRendererCombo

Flags: Read / Write


The “text-column” property

  “text-column”              gint

Specifies the model column which holds the possible values for the combo box.

Note that this refers to the model specified in the model property, not the model backing the tree view to which this cell renderer is attached.

GtkCellRendererCombo automatically adds a text cell renderer for this column to its combo box.

Owner: GtkCellRendererCombo

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Signal Details

The “changed” signal

void
user_function (GtkCellRendererCombo *combo,
               gchar                *path_string,
               GtkTreeIter          *new_iter,
               gpointer              user_data)

This signal is emitted each time after the user selected an item in the combo box, either by using the mouse or the arrow keys. Contrary to GtkComboBox, GtkCellRendererCombo::changed is not emitted for changes made to a selected item in the entry. The argument new_iter corresponds to the newly selected item in the combo box and it is relative to the GtkTreeModel set via the model property on GtkCellRendererCombo.

Note that as soon as you change the model displayed in the tree view, the tree view will immediately cease the editing operating. This means that you most probably want to refrain from changing the model until the combo cell renderer emits the edited or editing_canceled signal.

Parameters

combo

the object on which the signal is emitted

 

path_string

a string of the path identifying the edited cell (relative to the tree view model)

 

new_iter

the new iter selected in the combo box (relative to the combo box model)

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

docs/reference/gtk/html/gtk-osx.html0000664000175000017500000000406413710700534017613 0ustar mclasenmclasen Using GTK on Apple macOS: GTK 4 Reference Manual

Using GTK on Apple macOS

The Apple macOS port of GTK is an implementation of GDK (and therefore GTK) on top of the Quartz API.

Currently, the macOS port does not use any additional commandline options or environment variables.

For up-to-date information about the current status of this port, see the project page.

docs/reference/gtk/html/css.html0000664000175000017500000000723713710700534017014 0ustar mclasenmclasen CSS in GTK: GTK 4 Reference Manual

CSS in GTK

This chapter describes how GTK uses CSS for styling and layout. It is not meant to be an explanation of CSS from first principles, but focuses on listing supported CSS features and differences between Web CSS and GTK.

There is plenty of introductory documentation available that can be used to learn about CSS in general. In the tables below we include links to the official specs that can be used to look up the definition of individual selectors and properties.

CSS nodes

GTK applies the style information found in style sheets by matching the selectors against a tree of nodes. Each node in the tree has a name, a state and possibly style classes. The children of each node are linearly ordered.

Every widget has one or more of these CSS nodes, and determines their name, state, style classes and how they are layed out as children and siblings in the overall node tree. The documentation for each widget explains what CSS nodes it has.

The CSS nodes of a GtkScale

scale[.fine-tune]
├── marks.top
│   ├── mark
┊   ┊
│   ╰── mark
├── trough
│   ├── slider
│   ├── [highlight]
│   ╰── [fill]
╰── marks.bottom
    ├── mark
    ┊
    ╰── mark
docs/reference/gtk/html/GtkCellRendererPixbuf.html0000664000175000017500000003215413710700533022411 0ustar mclasenmclasen GtkCellRendererPixbuf: GTK 4 Reference Manual

GtkCellRendererPixbuf

GtkCellRendererPixbuf — Renders a pixbuf in a cell

Properties

GIcon * gicon Read / Write
gchar * icon-name Read / Write
GtkIconSize icon-size Read / Write
GdkPixbuf * pixbuf Write
GdkPixbuf * pixbuf-expander-closed Read / Write
GdkPixbuf * pixbuf-expander-open Read / Write
GdkTexture * texture Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererPixbuf

Includes

#include <gtk/gtk.h>

Description

A GtkCellRendererPixbuf can be used to render an image in a cell. It allows to render either a given GdkPixbuf (set via the “pixbuf” property) or a named icon (set via the “icon-name” property).

To support the tree view, GtkCellRendererPixbuf also supports rendering two alternative pixbufs, when the “is-expander” property is TRUE. If the “is-expanded” property is TRUE and the “pixbuf-expander-open” property is set to a pixbuf, it renders that pixbuf, if the “is-expanded” property is FALSE and the “pixbuf-expander-closed” property is set to a pixbuf, it renders that one.

Functions

gtk_cell_renderer_pixbuf_new ()

GtkCellRenderer *
gtk_cell_renderer_pixbuf_new (void);

Creates a new GtkCellRendererPixbuf. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “pixbuf” property on the cell renderer to a pixbuf value in the model, thus rendering a different image in each row of the GtkTreeView.

Returns

the new cell renderer

Types and Values

GtkCellRendererPixbuf

typedef struct _GtkCellRendererPixbuf GtkCellRendererPixbuf;

Property Details

The “gicon” property

  “gicon”                    GIcon *

The GIcon representing the icon to display. If the icon theme is changed, the image will be updated automatically.

Owner: GtkCellRendererPixbuf

Flags: Read / Write


The “icon-name” property

  “icon-name”                gchar *

The name of the themed icon to display. This property only has an effect if not overridden by the "pixbuf" property.

Owner: GtkCellRendererPixbuf

Flags: Read / Write

Default value: NULL


The “icon-size” property

  “icon-size”                GtkIconSize

The GtkIconSize value that specifies the size of the rendered icon.

Owner: GtkCellRendererPixbuf

Flags: Read / Write

Default value: GTK_ICON_SIZE_INHERIT


The “pixbuf” property

  “pixbuf”                   GdkPixbuf *

The pixbuf to render.

Owner: GtkCellRendererPixbuf

Flags: Write


The “pixbuf-expander-closed” property

  “pixbuf-expander-closed”   GdkPixbuf *

Pixbuf for closed expander.

Owner: GtkCellRendererPixbuf

Flags: Read / Write


The “pixbuf-expander-open” property

  “pixbuf-expander-open”     GdkPixbuf *

Pixbuf for open expander.

Owner: GtkCellRendererPixbuf

Flags: Read / Write


The “texture” property

  “texture”                  GdkTexture *

The texture to render.

Owner: GtkCellRendererPixbuf

Flags: Read / Write

docs/reference/gtk/html/GtkCenterLayout.html0000664000175000017500000005420213710700533021301 0ustar mclasenmclasen GtkCenterLayout: GTK 4 Reference Manual

GtkCenterLayout

GtkCenterLayout — A centering layout

Types and Values

Object Hierarchy

    GObject
    ╰── GtkLayoutManager
        ╰── GtkCenterLayout

Includes

#include <gtk/gtk.h>

Description

A GtkCenterLayout is a layout manager that manages up to three children. The start widget is allocated at the start of the layout (left in LRT layouts and right in RTL ones), and the end widget at the end.

The center widget is centered regarding the full width of the layout's.

Functions

gtk_center_layout_new ()

GtkLayoutManager *
gtk_center_layout_new (void);

Creates a new GtkCenterLayout.

Returns

the newly created GtkCenterLayout


gtk_center_layout_set_orientation ()

void
gtk_center_layout_set_orientation (GtkCenterLayout *self,
                                   GtkOrientation orientation);

Sets the orientation of self .

Parameters

self

a GtkCenterLayout

 

orientation

the new orientation

 

gtk_center_layout_get_orientation ()

GtkOrientation
gtk_center_layout_get_orientation (GtkCenterLayout *self);

Gets the current orienration of the layout manager.

Parameters

self

a GtkCenterLayout

 

Returns

The current orientation of self


gtk_center_layout_set_baseline_position ()

void
gtk_center_layout_set_baseline_position
                               (GtkCenterLayout *self,
                                GtkBaselinePosition baseline_position);

Sets the new baseline position of self

Parameters

self

a GtkCenterLayout

 

baseline_position

the new baseline position

 

gtk_center_layout_get_baseline_position ()

GtkBaselinePosition
gtk_center_layout_get_baseline_position
                               (GtkCenterLayout *self);

Returns the baseline position of the layout.

Parameters

self

a GtkCenterLayout

 

Returns

The current baseline position of self .


gtk_center_layout_set_start_widget ()

void
gtk_center_layout_set_start_widget (GtkCenterLayout *self,
                                    GtkWidget *widget);

Sets the new start widget of self .

Parameters

self

a GtkCenterLayout

 

widget

the new start widget

 

gtk_center_layout_get_start_widget ()

GtkWidget *
gtk_center_layout_get_start_widget (GtkCenterLayout *self);

Returns the start widget fo the layout.

Parameters

self

a GtkCenterLayout

 

Returns

The current start widget of self .

[transfer none]


gtk_center_layout_set_center_widget ()

void
gtk_center_layout_set_center_widget (GtkCenterLayout *self,
                                     GtkWidget *widget);

Sets the new center widget of self

Parameters

self

a GtkCenterLayout

 

widget

the new center widget

 

gtk_center_layout_get_center_widget ()

GtkWidget *
gtk_center_layout_get_center_widget (GtkCenterLayout *self);

Returns the center widget of the layout.

Parameters

self

a GtkCenterLayout

 

Returns

the current center widget of self .

[transfer none]


gtk_center_layout_set_end_widget ()

void
gtk_center_layout_set_end_widget (GtkCenterLayout *self,
                                  GtkWidget *widget);

Sets the new end widget of self

Parameters

self

a GtkCenterLayout

 

widget

the new end widget.

[transfer none]

gtk_center_layout_get_end_widget ()

GtkWidget *
gtk_center_layout_get_end_widget (GtkCenterLayout *self);

Returns the end widget of the layout.

Parameters

self

a GtkCenterLayout

 

Returns

the current end widget of self .

[transfer none]

Types and Values

GtkCenterLayout

typedef struct _GtkCenterLayout GtkCenterLayout;
docs/reference/gtk/html/GtkCellRendererProgress.html0000664000175000017500000002632113710700533022757 0ustar mclasenmclasen GtkCellRendererProgress: GTK 4 Reference Manual

GtkCellRendererProgress

GtkCellRendererProgress — Renders numbers as progress bars

Properties

gboolean inverted Read / Write
gint pulse Read / Write
gchar * text Read / Write
gfloat text-xalign Read / Write
gfloat text-yalign Read / Write
gint value Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererProgress

Implemented Interfaces

GtkCellRendererProgress implements GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererProgress renders a numeric value as a progress par in a cell. Additionally, it can display a text on top of the progress bar.

The GtkCellRendererProgress cell renderer was added in GTK+ 2.6.

Functions

gtk_cell_renderer_progress_new ()

GtkCellRenderer *
gtk_cell_renderer_progress_new (void);

Creates a new GtkCellRendererProgress.

Returns

the new cell renderer

Types and Values

GtkCellRendererProgress

typedef struct _GtkCellRendererProgress GtkCellRendererProgress;

Property Details

The “inverted” property

  “inverted”                 gboolean

Invert the direction in which the progress bar grows.

Owner: GtkCellRendererProgress

Flags: Read / Write

Default value: FALSE


The “pulse” property

  “pulse”                    gint

Setting this to a non-negative value causes the cell renderer to enter "activity mode", where a block bounces back and forth to indicate that some progress is made, without specifying exactly how much.

Each increment of the property causes the block to move by a little bit.

To indicate that the activity has not started yet, set the property to zero. To indicate completion, set the property to G_MAXINT.

Owner: GtkCellRendererProgress

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “text” property

  “text”                     gchar *

The "text" property determines the label which will be drawn over the progress bar. Setting this property to NULL causes the default label to be displayed. Setting this property to an empty string causes no label to be displayed.

Owner: GtkCellRendererProgress

Flags: Read / Write

Default value: NULL


The “text-xalign” property

  “text-xalign”              gfloat

The "text-xalign" property controls the horizontal alignment of the text in the progress bar. Valid values range from 0 (left) to 1 (right). Reserved for RTL layouts.

Owner: GtkCellRendererProgress

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “text-yalign” property

  “text-yalign”              gfloat

The "text-yalign" property controls the vertical alignment of the text in the progress bar. Valid values range from 0 (top) to 1 (bottom).

Owner: GtkCellRendererProgress

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5


The “value” property

  “value”                    gint

The "value" property determines the percentage to which the progress bar will be "filled in".

Owner: GtkCellRendererProgress

Flags: Read / Write

Allowed values: [0,100]

Default value: 0

docs/reference/gtk/html/GtkEventController.html0000664000175000017500000010471713710700533022017 0ustar mclasenmclasen GtkEventController: GTK 4 Reference Manual

GtkEventController

GtkEventController — Self-contained handler of series of events

Properties

gchar * name Read / Write
GtkPropagationLimit propagation-limit Read / Write
GtkPropagationPhase propagation-phase Read / Write
GtkWidget * widget Read

Object Hierarchy

    GObject
    ╰── GtkEventController
        ├── GtkGesture
        ├── GtkDropTarget
        ├── GtkDropTargetAsync
        ├── GtkEventControllerKey
        ├── GtkEventControllerFocus
        ├── GtkEventControllerLegacy
        ├── GtkEventControllerMotion
        ├── GtkEventControllerScroll
        ├── GtkPadController
        ╰── GtkShortcutController

Includes

#include <gtk/gtk.h>

Description

GtkEventController is a base, low-level implementation for event controllers. Those react to a series of GdkEvents, and possibly trigger actions as a consequence of those.

Functions

gtk_event_controller_get_propagation_phase ()

GtkPropagationPhase
gtk_event_controller_get_propagation_phase
                               (GtkEventController *controller);

Gets the propagation phase at which controller handles events.

Parameters

controller

a GtkEventController

 

Returns

the propagation phase


gtk_event_controller_set_propagation_phase ()

void
gtk_event_controller_set_propagation_phase
                               (GtkEventController *controller,
                                GtkPropagationPhase phase);

Sets the propagation phase at which a controller handles events.

If phase is GTK_PHASE_NONE, no automatic event handling will be performed, but other additional gesture maintenance will. In that phase, the events can be managed by calling gtk_event_controller_handle_event().

Parameters

controller

a GtkEventController

 

phase

a propagation phase

 

gtk_event_controller_get_propagation_limit ()

GtkPropagationLimit
gtk_event_controller_get_propagation_limit
                               (GtkEventController *controller);

Gets the propagation limit of the event controller.

Parameters

controller

a GtkEventController

 

Returns

the propagation limit


gtk_event_controller_set_propagation_limit ()

void
gtk_event_controller_set_propagation_limit
                               (GtkEventController *controller,
                                GtkPropagationLimit limit);

Sets the event propagation limit on the event controller.

If the limit is set to %GTK_LIMIT_SAME_NATIVE , the controller won't handle events that are targeted at widgets on a different surface, such as popovers.

Parameters

controller

a GtkEventController

 

limit

the propagation limit

 

gtk_event_controller_get_widget ()

GtkWidget *
gtk_event_controller_get_widget (GtkEventController *controller);

Returns the GtkWidget this controller relates to.

Parameters

controller

a GtkEventController

 

Returns

a GtkWidget.

[transfer none]


gtk_event_controller_reset ()

void
gtk_event_controller_reset (GtkEventController *controller);

Resets the controller to a clean state. Every interaction the controller did through gtk_event_controller_handle_event() will be dropped at this point.

Parameters

controller

a GtkEventController

 

gtk_event_controller_get_name ()

const char *
gtk_event_controller_get_name (GtkEventController *controller);

Gets the name of controller .

Parameters

controller

a GtkEventController

 

gtk_event_controller_set_name ()

void
gtk_event_controller_set_name (GtkEventController *controller,
                               const char *name);

Sets a name on the controller that can be used for debugging.

Parameters

controller

a GtkEventController

 

name

a name for controller

 

gtk_event_controller_get_current_event ()

GdkEvent *
gtk_event_controller_get_current_event
                               (GtkEventController *controller);

Returns the event that is currently being handled by the controller, and NULL at other times.

Parameters

controller

a GtkEventController

 

Returns

the event is current handled by controller .

[nullable][transfer none]


gtk_event_controller_get_current_event_device ()

GdkDevice *
gtk_event_controller_get_current_event_device
                               (GtkEventController *controller);

Returns the device of the event that is currently being handled by the controller, and NULL otherwise.

Parameters

controller

a GtkEventController

 

Returns

device of the event is current handled by controller .

[nullable][transfer none]


gtk_event_controller_get_current_event_state ()

GdkModifierType
gtk_event_controller_get_current_event_state
                               (GtkEventController *controller);

Returns the modifier state of the event that is currently being handled by the controller, and 0 otherwise.

Parameters

controller

a GtkEventController

 

Returns

modifier state of the event is current handled by controller


gtk_event_controller_get_current_event_time ()

guint32
gtk_event_controller_get_current_event_time
                               (GtkEventController *controller);

Returns the timestamp of the event that is currently being handled by the controller, and 0 otherwise.

Parameters

controller

a GtkEventController

 

Returns

timestamp of the event is current handled by controller

Types and Values

GtkEventController

typedef struct _GtkEventController GtkEventController;

enum GtkPropagationPhase

Describes the stage at which events are fed into a GtkEventController.

Members

GTK_PHASE_NONE

Events are not delivered automatically. Those can be manually fed through gtk_event_controller_handle_event(). This should only be used when full control about when, or whether the controller handles the event is needed.

 

GTK_PHASE_CAPTURE

Events are delivered in the capture phase. The capture phase happens before the bubble phase, runs from the toplevel down to the event widget. This option should only be used on containers that might possibly handle events before their children do.

 

GTK_PHASE_BUBBLE

Events are delivered in the bubble phase. The bubble phase happens after the capture phase, and before the default handlers are run. This phase runs from the event widget, up to the toplevel.

 

GTK_PHASE_TARGET

Events are delivered in the default widget event handlers, note that widget implementations must chain up on button, motion, touch and grab broken handlers for controllers in this phase to be run.

 

enum GtkPropagationLimit

Describes limits of a GtkEventController for handling events targeting other widgets.

Members

GTK_LIMIT_NONE

Events are handled regardless of what their target is.

 

GTK_LIMIT_SAME_NATIVE

Events are only handled if their target is in the same GtkNative as the event controllers widget. Note that some event types have two targets (origin and destination).

 

Property Details

The “name” property

  “name”                     gchar *

Name for this controller.

Owner: GtkEventController

Flags: Read / Write

Default value: NULL


The “propagation-limit” property

  “propagation-limit”        GtkPropagationLimit

The limit for which events this controller will handle.

Owner: GtkEventController

Flags: Read / Write

Default value: GTK_LIMIT_SAME_NATIVE


The “propagation-phase” property

  “propagation-phase”        GtkPropagationPhase

The propagation phase at which this controller will handle events.

Owner: GtkEventController

Flags: Read / Write

Default value: GTK_PHASE_BUBBLE


The “widget” property

  “widget”                   GtkWidget *

The widget receiving the GdkEvents that the controller will handle.

Owner: GtkEventController

Flags: Read

See Also

GtkGesture

docs/reference/gtk/html/GtkCellRendererSpin.html0000664000175000017500000002363413710700533022070 0ustar mclasenmclasen GtkCellRendererSpin: GTK 4 Reference Manual

GtkCellRendererSpin

GtkCellRendererSpin — Renders a spin button in a cell

Properties

GtkAdjustment * adjustment Read / Write
gdouble climb-rate Read / Write
guint digits Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ╰── GtkCellRendererText
                ╰── GtkCellRendererSpin

Includes

#include <gtk/gtk.h>

Description

GtkCellRendererSpin renders text in a cell like GtkCellRendererText from which it is derived. But while GtkCellRendererText offers a simple entry to edit the text, GtkCellRendererSpin offers a GtkSpinButton widget. Of course, that means that the text has to be parseable as a floating point number.

The range of the spinbutton is taken from the adjustment property of the cell renderer, which can be set explicitly or mapped to a column in the tree model, like all properties of cell renders. GtkCellRendererSpin also has properties for the “climb-rate” and the number of “digits” to display. Other GtkSpinButton properties can be set in a handler for the “editing-started” signal.

The GtkCellRendererSpin cell renderer was added in GTK 2.10.

Functions

gtk_cell_renderer_spin_new ()

GtkCellRenderer *
gtk_cell_renderer_spin_new (void);

Creates a new GtkCellRendererSpin.

Returns

a new GtkCellRendererSpin

Types and Values

GtkCellRendererSpin

typedef struct _GtkCellRendererSpin GtkCellRendererSpin;

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The adjustment that holds the value of the spinbutton. This must be non-NULL for the cell renderer to be editable.

Owner: GtkCellRendererSpin

Flags: Read / Write


The “climb-rate” property

  “climb-rate”               gdouble

The acceleration rate when you hold down a button.

Owner: GtkCellRendererSpin

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “digits” property

  “digits”                   guint

The number of decimal places to display.

Owner: GtkCellRendererSpin

Flags: Read / Write

Allowed values: <= 20

Default value: 0

docs/reference/gtk/html/GtkGrid.html0000664000175000017500000014322513710700534017555 0ustar mclasenmclasen GtkGrid: GTK 4 Reference Manual

GtkGrid

GtkGrid — Pack widgets in rows and columns

Properties

gint baseline-row Read / Write
gboolean column-homogeneous Read / Write
gint column-spacing Read / Write
gboolean row-homogeneous Read / Write
gint row-spacing Read / Write

Types and Values

struct GtkGrid
struct GtkGridClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkGrid

Implemented Interfaces

GtkGrid implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkGrid is a container which arranges its child widgets in rows and columns, with arbitrary positions and horizontal/vertical spans.

Children are added using gtk_grid_attach(). They can span multiple rows or columns. It is also possible to add a child next to an existing child, using gtk_grid_attach_next_to(). To remove a child from the grid, use gtk_grid_remove(). The behaviour of GtkGrid when several children occupy the same grid cell is undefined.

CSS nodes

GtkGrid uses a single CSS node with name grid.

Functions

gtk_grid_new ()

GtkWidget *
gtk_grid_new (void);

Creates a new grid widget.

Returns

the new GtkGrid


gtk_grid_attach ()

void
gtk_grid_attach (GtkGrid *grid,
                 GtkWidget *child,
                 int left,
                 int top,
                 int width,
                 int height);

Adds a widget to the grid.

The position of child is determined by left and top . The number of “cells” that child will occupy is determined by width and height .

Parameters

grid

a GtkGrid

 

child

the widget to add

 

left

the column number to attach the left side of child to

 

top

the row number to attach the top side of child to

 

width

the number of columns that child will span

 

height

the number of rows that child will span

 

gtk_grid_attach_next_to ()

void
gtk_grid_attach_next_to (GtkGrid *grid,
                         GtkWidget *child,
                         GtkWidget *sibling,
                         GtkPositionType side,
                         int width,
                         int height);

Adds a widget to the grid.

The widget is placed next to sibling , on the side determined by side . When sibling is NULL, the widget is placed in row (for left or right placement) or column 0 (for top or bottom placement), at the end indicated by side .

Attaching widgets labeled [1], [2], [3] with sibling == NULL and side == GTK_POS_LEFT yields a layout of 3[1].

Parameters

grid

a GtkGrid

 

child

the widget to add

 

sibling

the child of grid that child will be placed next to, or NULL to place child at the beginning or end.

[allow-none]

side

the side of sibling that child is positioned next to

 

width

the number of columns that child will span

 

height

the number of rows that child will span

 

gtk_grid_remove ()

void
gtk_grid_remove (GtkGrid *grid,
                 GtkWidget *child);

Removes a child from grid , after it has been added with gtk_grid_attach() or gtk_grid_attach_next_to().

Parameters

grid

a GtkGrid

 

child

the child widget to remove

 

gtk_grid_get_child_at ()

GtkWidget *
gtk_grid_get_child_at (GtkGrid *grid,
                       int left,
                       int top);

Gets the child of grid whose area covers the grid cell whose upper left corner is at left , top .

Parameters

grid

a GtkGrid

 

left

the left edge of the cell

 

top

the top edge of the cell

 

Returns

the child at the given position, or NULL.

[transfer none][nullable]


gtk_grid_insert_row ()

void
gtk_grid_insert_row (GtkGrid *grid,
                     int position);

Inserts a row at the specified position.

Children which are attached at or below this position are moved one row down. Children which span across this position are grown to span the new row.

Parameters

grid

a GtkGrid

 

position

the position to insert the row at

 

gtk_grid_insert_column ()

void
gtk_grid_insert_column (GtkGrid *grid,
                        int position);

Inserts a column at the specified position.

Children which are attached at or to the right of this position are moved one column to the right. Children which span across this position are grown to span the new column.

Parameters

grid

a GtkGrid

 

position

the position to insert the column at

 

gtk_grid_remove_row ()

void
gtk_grid_remove_row (GtkGrid *grid,
                     int position);

Removes a row from the grid.

Children that are placed in this row are removed, spanning children that overlap this row have their height reduced by one, and children below the row are moved up.

Parameters

grid

a GtkGrid

 

position

the position of the row to remove

 

gtk_grid_remove_column ()

void
gtk_grid_remove_column (GtkGrid *grid,
                        int position);

Removes a column from the grid.

Children that are placed in this column are removed, spanning children that overlap this column have their width reduced by one, and children after the column are moved to the left.

Parameters

grid

a GtkGrid

 

position

the position of the column to remove

 

gtk_grid_insert_next_to ()

void
gtk_grid_insert_next_to (GtkGrid *grid,
                         GtkWidget *sibling,
                         GtkPositionType side);

Inserts a row or column at the specified position.

The new row or column is placed next to sibling , on the side determined by side . If side is GTK_POS_TOP or GTK_POS_BOTTOM, a row is inserted. If side is GTK_POS_LEFT of GTK_POS_RIGHT, a column is inserted.

Parameters

grid

a GtkGrid

 

sibling

the child of grid that the new row or column will be placed next to

 

side

the side of sibling that child is positioned next to

 

gtk_grid_set_row_homogeneous ()

void
gtk_grid_set_row_homogeneous (GtkGrid *grid,
                              gboolean homogeneous);

Sets whether all rows of grid will have the same height.

Parameters

grid

a GtkGrid

 

homogeneous

TRUE to make rows homogeneous

 

gtk_grid_get_row_homogeneous ()

gboolean
gtk_grid_get_row_homogeneous (GtkGrid *grid);

Returns whether all rows of grid have the same height.

Parameters

grid

a GtkGrid

 

Returns

whether all rows of grid have the same height.


gtk_grid_set_row_spacing ()

void
gtk_grid_set_row_spacing (GtkGrid *grid,
                          guint spacing);

Sets the amount of space between rows of grid .

Parameters

grid

a GtkGrid

 

spacing

the amount of space to insert between rows

 

gtk_grid_get_row_spacing ()

guint
gtk_grid_get_row_spacing (GtkGrid *grid);

Returns the amount of space between the rows of grid .

Parameters

grid

a GtkGrid

 

Returns

the row spacing of grid


gtk_grid_set_column_homogeneous ()

void
gtk_grid_set_column_homogeneous (GtkGrid *grid,
                                 gboolean homogeneous);

Sets whether all columns of grid will have the same width.

Parameters

grid

a GtkGrid

 

homogeneous

TRUE to make columns homogeneous

 

gtk_grid_get_column_homogeneous ()

gboolean
gtk_grid_get_column_homogeneous (GtkGrid *grid);

Returns whether all columns of grid have the same width.

Parameters

grid

a GtkGrid

 

Returns

whether all columns of grid have the same width.


gtk_grid_set_column_spacing ()

void
gtk_grid_set_column_spacing (GtkGrid *grid,
                             guint spacing);

Sets the amount of space between columns of grid .

Parameters

grid

a GtkGrid

 

spacing

the amount of space to insert between columns

 

gtk_grid_get_column_spacing ()

guint
gtk_grid_get_column_spacing (GtkGrid *grid);

Returns the amount of space between the columns of grid .

Parameters

grid

a GtkGrid

 

Returns

the column spacing of grid


gtk_grid_get_baseline_row ()

int
gtk_grid_get_baseline_row (GtkGrid *grid);

Returns which row defines the global baseline of grid .

Parameters

grid

a GtkGrid

 

Returns

the row index defining the global baseline


gtk_grid_set_baseline_row ()

void
gtk_grid_set_baseline_row (GtkGrid *grid,
                           int row);

Sets which row defines the global baseline for the entire grid. Each row in the grid can have its own local baseline, but only one of those is global, meaning it will be the baseline in the parent of the grid .

Parameters

grid

a GtkGrid

 

row

the row index

 

gtk_grid_get_row_baseline_position ()

GtkBaselinePosition
gtk_grid_get_row_baseline_position (GtkGrid *grid,
                                    int row);

Returns the baseline position of row as set by gtk_grid_set_row_baseline_position() or the default value GTK_BASELINE_POSITION_CENTER.

Parameters

grid

a GtkGrid

 

row

a row index

 

Returns

the baseline position of row


gtk_grid_set_row_baseline_position ()

void
gtk_grid_set_row_baseline_position (GtkGrid *grid,
                                    int row,
                                    GtkBaselinePosition pos);

Sets how the baseline should be positioned on row of the grid, in case that row is assigned more space than is requested.

Parameters

grid

a GtkGrid

 

row

a row index

 

pos

a GtkBaselinePosition

 

Types and Values

struct GtkGrid

struct GtkGrid;

struct GtkGridClass

struct GtkGridClass {
  GtkWidgetClass parent_class;
};

Members

Property Details

The “baseline-row” property

  “baseline-row”             gint

The row to align the to the baseline when valign is GTK_ALIGN_BASELINE.

Owner: GtkGrid

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “column-homogeneous” property

  “column-homogeneous”       gboolean

If TRUE, the columns are all the same width.

Owner: GtkGrid

Flags: Read / Write

Default value: FALSE


The “column-spacing” property

  “column-spacing”           gint

The amount of space between two consecutive columns.

Owner: GtkGrid

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0


The “row-homogeneous” property

  “row-homogeneous”          gboolean

If TRUE, the rows are all the same height.

Owner: GtkGrid

Flags: Read / Write

Default value: FALSE


The “row-spacing” property

  “row-spacing”              gint

The amount of space between two consecutive rows.

Owner: GtkGrid

Flags: Read / Write

Allowed values: [0,32767]

Default value: 0

See Also

GtkBox

docs/reference/gtk/gtk4-decl-list.txt0000664000175000017500000060174013710700305017655 0ustar mclasenmclasen
a11y gtk_inspector_a11y_set_object GtkInspectorA11y GTK_INSPECTOR_IS_A11Y GTK_TYPE_INSPECTOR_A11Y gtk_inspector_a11y_get_type
action-editor gtk_inspector_action_editor_new gtk_inspector_action_editor_update GtkInspectorActionEditor GTK_INSPECTOR_IS_ACTION_EDITOR GTK_TYPE_INSPECTOR_ACTION_EDITOR gtk_inspector_action_editor_get_type
action-holder ACTION_TYPE_HOLDER action_holder_new action_holder_get_owner action_holder_get_name ActionHolder
actions gtk_inspector_actions_set_object GtkInspectorActions GTK_INSPECTOR_IS_ACTIONS GTK_TYPE_INSPECTOR_ACTIONS gtk_inspector_actions_get_type
actions.ui
baselineoverlay GTK_TYPE_BASELINE_OVERLAY gtk_baseline_overlay_new GtkBaselineOverlay
cellrenderergraph GtkCellRendererGraph gtk_cell_renderer_graph_new GTK_CELL_RENDERER_GRAPH GTK_CELL_RENDERER_GRAPH_CLASS GTK_CELL_RENDERER_GRAPH_GET_CLASS GTK_IS_CELL_RENDERER_GRAPH GTK_IS_CELL_RENDERER_GRAPH_CLASS GTK_TYPE_CELL_RENDERER_GRAPH GtkCellRendererGraph GtkCellRendererGraphClass GtkCellRendererGraphPrivate gtk_cell_renderer_graph_get_type
controllers GTK_TYPE_INSPECTOR_CONTROLLERS gtk_inspector_controllers_set_object GtkInspectorControllers
css-editor gtk_inspector_css_editor_set_display GtkInspectorCssEditorPrivate GTK_INSPECTOR_CSS_EDITOR_CLASS GTK_INSPECTOR_CSS_EDITOR_GET_CLASS GTK_INSPECTOR_IS_CSS_EDITOR GTK_INSPECTOR_IS_CSS_EDITOR_CLASS GTK_TYPE_INSPECTOR_CSS_EDITOR gtk_inspector_css_editor_get_type
css-editor.ui
css-node-tree gtk_inspector_css_node_tree_set_object gtk_inspector_css_node_tree_get_node gtk_inspector_css_node_tree_set_display GtkInspectorCssNodeTreePrivate GTK_INSPECTOR_CSS_NODE_TREE_CLASS GTK_INSPECTOR_CSS_NODE_TREE_GET_CLASS GTK_INSPECTOR_IS_CSS_NODE_TREE GTK_INSPECTOR_IS_CSS_NODE_TREE_CLASS GTK_TYPE_INSPECTOR_CSS_NODE_TREE gtk_inspector_css_node_tree_get_type
data-list.ui
focusoverlay GTK_TYPE_FOCUS_OVERLAY gtk_focus_overlay_new gtk_focus_overlay_set_color GtkFocusOverlay
fpsoverlay GTK_TYPE_FPS_OVERLAY gtk_fps_overlay_new GtkFpsOverlay
general gtk_inspector_general_set_display GtkInspectorGeneral GTK_INSPECTOR_IS_GENERAL GTK_TYPE_INSPECTOR_GENERAL gtk_inspector_general_get_type
general.ui
graphdata GtkGraphData gtk_graph_data_new gtk_graph_data_get_n_values gtk_graph_data_get_value gtk_graph_data_get_minimum gtk_graph_data_get_maximum gtk_graph_data_prepend_value GTK_GRAPH_DATA GTK_GRAPH_DATA_CLASS GTK_GRAPH_DATA_GET_CLASS GTK_IS_GRAPH_DATA GTK_IS_GRAPH_DATA_CLASS GTK_TYPE_GRAPH_DATA GtkGraphData GtkGraphDataClass GtkGraphDataPrivate gtk_graph_data_get_type
gsettings-mapping g_settings_set_mapping g_settings_get_mapping g_settings_mapping_is_compatible
gskpango GskPangoRenderer GskPangoRendererState GskPangoShapeHandler gsk_pango_renderer_set_state gsk_pango_renderer_set_shape_handler gsk_pango_renderer_acquire gsk_pango_renderer_release GSK_IS_PANGO_RENDERER GSK_IS_PANGO_RENDERER_CLASS GSK_PANGO_RENDERER GSK_PANGO_RENDERER_CLASS GSK_PANGO_RENDERER_GET_CLASS GSK_TYPE_PANGO_RENDERER GskPangoRenderer GskPangoRendererClass gsk_pango_renderer_get_type
gtk
gtk-autocleanups
gtk-builder-tool do_simplify do_validate do_enumerate do_preview
gtkaboutdialog GtkLicense gtk_about_dialog_new gtk_show_about_dialog gtk_about_dialog_get_program_name gtk_about_dialog_set_program_name gtk_about_dialog_get_version gtk_about_dialog_set_version gtk_about_dialog_get_copyright gtk_about_dialog_set_copyright gtk_about_dialog_get_comments gtk_about_dialog_set_comments gtk_about_dialog_get_license gtk_about_dialog_set_license gtk_about_dialog_set_license_type gtk_about_dialog_get_license_type gtk_about_dialog_get_wrap_license gtk_about_dialog_set_wrap_license gtk_about_dialog_get_system_information gtk_about_dialog_set_system_information gtk_about_dialog_get_website gtk_about_dialog_set_website gtk_about_dialog_get_website_label gtk_about_dialog_set_website_label gtk_about_dialog_get_authors gtk_about_dialog_set_authors gtk_about_dialog_get_documenters gtk_about_dialog_set_documenters gtk_about_dialog_get_artists gtk_about_dialog_set_artists gtk_about_dialog_get_translator_credits gtk_about_dialog_set_translator_credits gtk_about_dialog_get_logo gtk_about_dialog_set_logo gtk_about_dialog_get_logo_icon_name gtk_about_dialog_set_logo_icon_name gtk_about_dialog_add_credit_section GTK_ABOUT_DIALOG GTK_IS_ABOUT_DIALOG GTK_TYPE_ABOUT_DIALOG GtkAboutDialog gtk_about_dialog_get_type
gtkaccelgroup gtk_accelerator_valid gtk_accelerator_parse gtk_accelerator_parse_with_keycode gtk_accelerator_name gtk_accelerator_name_with_keycode gtk_accelerator_get_label gtk_accelerator_get_label_with_keycode gtk_accelerator_get_default_mod_mask
gtkaccellabel gtk_accel_label_new gtk_accel_label_get_accel_width gtk_accel_label_refetch gtk_accel_label_set_accel gtk_accel_label_get_accel gtk_accel_label_set_label gtk_accel_label_get_label gtk_accel_label_set_use_underline gtk_accel_label_get_use_underline GTK_ACCEL_LABEL GTK_IS_ACCEL_LABEL GTK_TYPE_ACCEL_LABEL GtkAccelLabel gtk_accel_label_get_type
gtkaccellabelprivate GtkAccelLabel GTK_ACCEL_LABEL_GET_CLASS GtkAccelLabelClass
gtkaccessible GTK_TYPE_ACCESSIBLE gtk_accessible_get_accessible_role gtk_accessible_update_state gtk_accessible_update_property gtk_accessible_update_relation gtk_accessible_update_state_value gtk_accessible_update_property_value gtk_accessible_update_relation_value gtk_accessible_reset_state gtk_accessible_reset_property gtk_accessible_reset_relation GtkAccessible GtkAccessibleInterface
gtkactionable GtkActionable gtk_actionable_get_action_name gtk_actionable_set_action_name gtk_actionable_get_action_target_value gtk_actionable_set_action_target_value gtk_actionable_set_action_target gtk_actionable_set_detailed_action_name GTK_ACTIONABLE GTK_ACTIONABLE_GET_IFACE GTK_IS_ACTIONABLE GTK_TYPE_ACTIONABLE GtkActionable GtkActionableInterface gtk_actionable_get_type
gtkactionbar gtk_action_bar_new gtk_action_bar_get_center_widget gtk_action_bar_set_center_widget gtk_action_bar_pack_start gtk_action_bar_pack_end gtk_action_bar_remove gtk_action_bar_set_revealed gtk_action_bar_get_revealed GTK_ACTION_BAR GTK_IS_ACTION_BAR GTK_TYPE_ACTION_BAR GtkActionBar gtk_action_bar_get_type
gtkadjustment GtkAdjustment GtkAdjustment gtk_adjustment_new gtk_adjustment_clamp_page gtk_adjustment_get_value gtk_adjustment_set_value gtk_adjustment_get_lower gtk_adjustment_set_lower gtk_adjustment_get_upper gtk_adjustment_set_upper gtk_adjustment_get_step_increment gtk_adjustment_set_step_increment gtk_adjustment_get_page_increment gtk_adjustment_set_page_increment gtk_adjustment_get_page_size gtk_adjustment_set_page_size gtk_adjustment_configure gtk_adjustment_get_minimum_increment GTK_ADJUSTMENT GTK_ADJUSTMENT_CLASS GTK_ADJUSTMENT_GET_CLASS GTK_IS_ADJUSTMENT GTK_IS_ADJUSTMENT_CLASS GTK_TYPE_ADJUSTMENT GtkAdjustmentClass gtk_adjustment_get_type
gtkappchooser gtk_app_chooser_get_app_info gtk_app_chooser_get_content_type gtk_app_chooser_refresh GTK_APP_CHOOSER GTK_IS_APP_CHOOSER GTK_TYPE_APP_CHOOSER GtkAppChooser gtk_app_chooser_get_type
gtkappchooserbutton gtk_app_chooser_button_new gtk_app_chooser_button_append_separator gtk_app_chooser_button_append_custom_item gtk_app_chooser_button_set_active_custom_item gtk_app_chooser_button_set_show_dialog_item gtk_app_chooser_button_get_show_dialog_item gtk_app_chooser_button_set_heading gtk_app_chooser_button_get_heading gtk_app_chooser_button_set_show_default_item gtk_app_chooser_button_get_show_default_item gtk_app_chooser_button_get_modal gtk_app_chooser_button_set_modal GTK_APP_CHOOSER_BUTTON GTK_IS_APP_CHOOSER_BUTTON GTK_TYPE_APP_CHOOSER_BUTTON GtkAppChooserButton gtk_app_chooser_button_get_type
gtkappchooserdialog gtk_app_chooser_dialog_new gtk_app_chooser_dialog_new_for_content_type gtk_app_chooser_dialog_get_widget gtk_app_chooser_dialog_set_heading gtk_app_chooser_dialog_get_heading GTK_APP_CHOOSER_DIALOG GTK_IS_APP_CHOOSER_DIALOG GTK_TYPE_APP_CHOOSER_DIALOG GtkAppChooserDialog gtk_app_chooser_dialog_get_type
gtkappchooserwidget gtk_app_chooser_widget_new gtk_app_chooser_widget_set_show_default gtk_app_chooser_widget_get_show_default gtk_app_chooser_widget_set_show_recommended gtk_app_chooser_widget_get_show_recommended gtk_app_chooser_widget_set_show_fallback gtk_app_chooser_widget_get_show_fallback gtk_app_chooser_widget_set_show_other gtk_app_chooser_widget_get_show_other gtk_app_chooser_widget_set_show_all gtk_app_chooser_widget_get_show_all gtk_app_chooser_widget_set_default_text gtk_app_chooser_widget_get_default_text GTK_APP_CHOOSER_WIDGET GTK_IS_APP_CHOOSER_WIDGET GTK_TYPE_APP_CHOOSER_WIDGET GtkAppChooserWidget gtk_app_chooser_widget_get_type
gtkapplication GtkApplication GtkApplicationClass gtk_application_new gtk_application_add_window gtk_application_remove_window gtk_application_get_windows gtk_application_get_menubar gtk_application_set_menubar GtkApplicationInhibitFlags gtk_application_inhibit gtk_application_uninhibit gtk_application_get_window_by_id gtk_application_get_active_window gtk_application_list_action_descriptions gtk_application_get_accels_for_action gtk_application_get_actions_for_accel gtk_application_set_accels_for_action gtk_application_get_menu_by_id GTK_APPLICATION GTK_APPLICATION_CLASS GTK_APPLICATION_GET_CLASS GTK_IS_APPLICATION GTK_IS_APPLICATION_CLASS GTK_TYPE_APPLICATION GtkApplication gtk_application_get_type
gtkapplicationwindow GtkApplicationWindow GtkApplicationWindowClass gtk_application_window_new gtk_application_window_set_show_menubar gtk_application_window_get_show_menubar gtk_application_window_get_id gtk_application_window_set_help_overlay gtk_application_window_get_help_overlay GTK_APPLICATION_WINDOW GTK_APPLICATION_WINDOW_CLASS GTK_APPLICATION_WINDOW_GET_CLASS GTK_IS_APPLICATION_WINDOW GTK_IS_APPLICATION_WINDOW_CLASS GTK_TYPE_APPLICATION_WINDOW GtkApplicationWindow gtk_application_window_get_type
gtkaspectframe gtk_aspect_frame_new gtk_aspect_frame_set_xalign gtk_aspect_frame_get_xalign gtk_aspect_frame_set_yalign gtk_aspect_frame_get_yalign gtk_aspect_frame_set_ratio gtk_aspect_frame_get_ratio gtk_aspect_frame_set_obey_child gtk_aspect_frame_get_obey_child gtk_aspect_frame_set_child gtk_aspect_frame_get_child GTK_ASPECT_FRAME GTK_IS_ASPECT_FRAME GTK_TYPE_ASPECT_FRAME GtkAspectFrame gtk_aspect_frame_get_type
gtkassistant GtkAssistantPageType GtkAssistantPageFunc gtk_assistant_new gtk_assistant_next_page gtk_assistant_previous_page gtk_assistant_get_current_page gtk_assistant_set_current_page gtk_assistant_get_n_pages gtk_assistant_get_nth_page gtk_assistant_prepend_page gtk_assistant_append_page gtk_assistant_insert_page gtk_assistant_remove_page gtk_assistant_set_forward_page_func gtk_assistant_set_page_type gtk_assistant_get_page_type gtk_assistant_set_page_title gtk_assistant_get_page_title gtk_assistant_set_page_complete gtk_assistant_get_page_complete gtk_assistant_add_action_widget gtk_assistant_remove_action_widget gtk_assistant_update_buttons_state gtk_assistant_commit gtk_assistant_get_page gtk_assistant_page_get_child gtk_assistant_get_pages GTK_ASSISTANT GTK_ASSISTANT_PAGE GTK_IS_ASSISTANT GTK_IS_ASSISTANT_PAGE GTK_TYPE_ASSISTANT GTK_TYPE_ASSISTANT_PAGE GtkAssistant GtkAssistantPage gtk_assistant_get_type gtk_assistant_page_get_type
gtkatcontext GTK_TYPE_AT_CONTEXT gtk_at_context_get_accessible gtk_at_context_get_accessible_role gtk_at_context_create GtkATContext
gtkbinlayout GTK_TYPE_BIN_LAYOUT gtk_bin_layout_new GtkBinLayout
gtkbitset gtk_bitset_ref gtk_bitset_unref gtk_bitset_contains gtk_bitset_is_empty gtk_bitset_equals gtk_bitset_get_size gtk_bitset_get_size_in_range gtk_bitset_get_nth gtk_bitset_get_minimum gtk_bitset_get_maximum gtk_bitset_new_empty gtk_bitset_copy gtk_bitset_new_range gtk_bitset_remove_all gtk_bitset_add gtk_bitset_remove gtk_bitset_add_range gtk_bitset_remove_range gtk_bitset_add_range_closed gtk_bitset_remove_range_closed gtk_bitset_add_rectangle gtk_bitset_remove_rectangle gtk_bitset_union gtk_bitset_intersect gtk_bitset_subtract gtk_bitset_difference gtk_bitset_shift_left gtk_bitset_shift_right gtk_bitset_splice GtkBitsetIter gtk_bitset_iter_init_first gtk_bitset_iter_init_last gtk_bitset_iter_init_at gtk_bitset_iter_next gtk_bitset_iter_previous gtk_bitset_iter_get_value gtk_bitset_iter_is_valid GTK_TYPE_BITSET gtk_bitset_get_type
gtkbookmarklist GTK_TYPE_BOOKMARK_LIST gtk_bookmark_list_new gtk_bookmark_list_get_filename gtk_bookmark_list_set_attributes gtk_bookmark_list_get_attributes gtk_bookmark_list_set_io_priority gtk_bookmark_list_get_io_priority gtk_bookmark_list_is_loading GtkBookmarkList
gtkbookmarksmanagerprivate GtkBookmarksChangedFunc
gtkboolfilter GTK_TYPE_BOOL_FILTER gtk_bool_filter_new gtk_bool_filter_get_expression gtk_bool_filter_set_expression gtk_bool_filter_get_invert gtk_bool_filter_set_invert GtkBoolFilter
gtkborder GtkBorder gtk_border_new gtk_border_copy gtk_border_free GTK_TYPE_BORDER gtk_border_get_type
gtkbox GtkBox GtkBoxClass gtk_box_new gtk_box_set_homogeneous gtk_box_get_homogeneous gtk_box_set_spacing gtk_box_get_spacing gtk_box_set_baseline_position gtk_box_get_baseline_position gtk_box_append gtk_box_prepend gtk_box_remove gtk_box_insert_child_after gtk_box_reorder_child_after GTK_BOX GTK_BOX_CLASS GTK_BOX_GET_CLASS GTK_IS_BOX GTK_IS_BOX_CLASS GTK_TYPE_BOX GtkBox gtk_box_get_type
gtkboxlayout GTK_TYPE_BOX_LAYOUT gtk_box_layout_new gtk_box_layout_set_homogeneous gtk_box_layout_get_homogeneous gtk_box_layout_set_spacing gtk_box_layout_get_spacing gtk_box_layout_set_baseline_position gtk_box_layout_get_baseline_position GtkBoxLayout
gtkbuildable GtkBuildable GtkBuildableParser GtkBuildableIface gtk_buildable_set_name gtk_buildable_get_name gtk_buildable_add_child gtk_buildable_set_buildable_property gtk_buildable_construct_child gtk_buildable_custom_tag_start gtk_buildable_custom_tag_end gtk_buildable_custom_finished gtk_buildable_parser_finished gtk_buildable_get_internal_child gtk_buildable_parse_context_push gtk_buildable_parse_context_pop gtk_buildable_parse_context_get_element gtk_buildable_parse_context_get_element_stack gtk_buildable_parse_context_get_position GtkBuildableParseContext GTK_BUILDABLE GTK_BUILDABLE_CLASS GTK_BUILDABLE_GET_IFACE GTK_IS_BUILDABLE GTK_TYPE_BUILDABLE GtkBuildable gtk_buildable_get_type
gtkbuilder GtkBuilder GTK_BUILDER_ERROR GtkBuilderError gtk_builder_error_quark gtk_builder_new gtk_builder_add_from_file gtk_builder_add_from_resource gtk_builder_add_from_string gtk_builder_add_objects_from_file gtk_builder_add_objects_from_resource gtk_builder_add_objects_from_string gtk_builder_get_object gtk_builder_get_objects gtk_builder_expose_object gtk_builder_get_current_object gtk_builder_set_current_object gtk_builder_set_translation_domain gtk_builder_get_translation_domain gtk_builder_get_scope gtk_builder_set_scope gtk_builder_get_type_from_name gtk_builder_value_from_string gtk_builder_value_from_string_type gtk_builder_new_from_file gtk_builder_new_from_resource gtk_builder_new_from_string gtk_builder_create_closure GTK_BUILDER_WARN_INVALID_CHILD_TYPE gtk_builder_extend_with_template GTK_BUILDER GTK_BUILDER_CLASS GTK_BUILDER_GET_CLASS GTK_IS_BUILDER GTK_IS_BUILDER_CLASS GTK_TYPE_BUILDER GtkBuilderClass gtk_builder_get_type
gtkbuilderlistitemfactory GtkBuilderListItemFactory gtk_builder_list_item_factory_new_from_bytes gtk_builder_list_item_factory_new_from_resource gtk_builder_list_item_factory_get_bytes gtk_builder_list_item_factory_get_resource gtk_builder_list_item_factory_get_scope GTK_BUILDER_LIST_ITEM_FACTORY GTK_BUILDER_LIST_ITEM_FACTORY_CLASS GTK_BUILDER_LIST_ITEM_FACTORY_GET_CLASS GTK_IS_BUILDER_LIST_ITEM_FACTORY GTK_IS_BUILDER_LIST_ITEM_FACTORY_CLASS GTK_TYPE_BUILDER_LIST_ITEM_FACTORY GtkBuilderListItemFactory GtkBuilderListItemFactoryClass gtk_builder_list_item_factory_get_type
gtkbuilderscope GtkBuilderCScope GTK_TYPE_BUILDER_SCOPE GtkBuilderClosureFlags GtkBuilderScopeInterface GtkBuilderCScopeClass GTK_TYPE_BUILDER_CSCOPE gtk_builder_cscope_new gtk_builder_cscope_add_callback_symbol gtk_builder_cscope_add_callback_symbols gtk_builder_cscope_lookup_callback_symbol GtkBuilderCScope GtkBuilderScope
gtkbuiltiniconprivate GTK_TYPE_BUILTIN_ICON gtk_builtin_icon_new gtk_builtin_icon_set_css_name GtkBuiltinIcon
gtkbutton GtkButton GtkButtonClass gtk_button_new gtk_button_new_with_label gtk_button_new_from_icon_name gtk_button_new_with_mnemonic gtk_button_set_has_frame gtk_button_get_has_frame gtk_button_set_label gtk_button_get_label gtk_button_set_use_underline gtk_button_get_use_underline gtk_button_set_icon_name gtk_button_get_icon_name gtk_button_set_child gtk_button_get_child GTK_BUTTON GTK_BUTTON_CLASS GTK_BUTTON_GET_CLASS GTK_IS_BUTTON GTK_IS_BUTTON_CLASS GTK_TYPE_BUTTON GtkButton GtkButtonPrivate gtk_button_get_type
gtkcalendar gtk_calendar_new gtk_calendar_select_day gtk_calendar_mark_day gtk_calendar_unmark_day gtk_calendar_clear_marks gtk_calendar_set_show_week_numbers gtk_calendar_get_show_week_numbers gtk_calendar_set_show_heading gtk_calendar_get_show_heading gtk_calendar_set_show_day_names gtk_calendar_get_show_day_names gtk_calendar_get_date gtk_calendar_get_day_is_marked GTK_CALENDAR GTK_IS_CALENDAR GTK_TYPE_CALENDAR GtkCalendar gtk_calendar_get_type
gtkcellarea GtkCellArea GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID GtkCellCallback GtkCellAllocCallback GtkCellAreaClass gtk_cell_area_add gtk_cell_area_remove gtk_cell_area_has_renderer gtk_cell_area_foreach gtk_cell_area_foreach_alloc gtk_cell_area_event gtk_cell_area_snapshot gtk_cell_area_get_cell_allocation gtk_cell_area_get_cell_at_position gtk_cell_area_create_context gtk_cell_area_copy_context gtk_cell_area_get_request_mode gtk_cell_area_get_preferred_width gtk_cell_area_get_preferred_height_for_width gtk_cell_area_get_preferred_height gtk_cell_area_get_preferred_width_for_height gtk_cell_area_get_current_path_string gtk_cell_area_apply_attributes gtk_cell_area_attribute_connect gtk_cell_area_attribute_disconnect gtk_cell_area_attribute_get_column gtk_cell_area_class_install_cell_property gtk_cell_area_class_find_cell_property gtk_cell_area_class_list_cell_properties gtk_cell_area_add_with_properties gtk_cell_area_cell_set gtk_cell_area_cell_get gtk_cell_area_cell_set_valist gtk_cell_area_cell_get_valist gtk_cell_area_cell_set_property gtk_cell_area_cell_get_property gtk_cell_area_is_activatable gtk_cell_area_activate gtk_cell_area_focus gtk_cell_area_set_focus_cell gtk_cell_area_get_focus_cell gtk_cell_area_add_focus_sibling gtk_cell_area_remove_focus_sibling gtk_cell_area_is_focus_sibling gtk_cell_area_get_focus_siblings gtk_cell_area_get_focus_from_sibling gtk_cell_area_get_edited_cell gtk_cell_area_get_edit_widget gtk_cell_area_activate_cell gtk_cell_area_stop_editing gtk_cell_area_inner_cell_area gtk_cell_area_request_renderer GtkCellAreaContext GTK_CELL_AREA GTK_CELL_AREA_CLASS GTK_CELL_AREA_GET_CLASS GTK_IS_CELL_AREA GTK_IS_CELL_AREA_CLASS GTK_TYPE_CELL_AREA GtkCellArea gtk_cell_area_get_type
gtkcellareabox gtk_cell_area_box_new gtk_cell_area_box_pack_start gtk_cell_area_box_pack_end gtk_cell_area_box_get_spacing gtk_cell_area_box_set_spacing GTK_CELL_AREA_BOX GTK_IS_CELL_AREA_BOX GTK_TYPE_CELL_AREA_BOX GtkCellAreaBox gtk_cell_area_box_get_type
gtkcellareacontext GtkCellAreaContext GtkCellAreaContextClass gtk_cell_area_context_get_area gtk_cell_area_context_allocate gtk_cell_area_context_reset gtk_cell_area_context_get_preferred_width gtk_cell_area_context_get_preferred_height gtk_cell_area_context_get_preferred_height_for_width gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_allocation gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height GTK_CELL_AREA_CONTEXT GTK_CELL_AREA_CONTEXT_CLASS GTK_CELL_AREA_CONTEXT_GET_CLASS GTK_IS_CELL_AREA_CONTEXT GTK_IS_CELL_AREA_CONTEXT_CLASS GTK_TYPE_CELL_AREA_CONTEXT GtkCellAreaContext GtkCellAreaContextPrivate gtk_cell_area_context_get_type
gtkcelleditable GtkCellEditable GtkCellEditableIface gtk_cell_editable_start_editing gtk_cell_editable_editing_done gtk_cell_editable_remove_widget GTK_CELL_EDITABLE GTK_CELL_EDITABLE_CLASS GTK_CELL_EDITABLE_GET_IFACE GTK_IS_CELL_EDITABLE GTK_TYPE_CELL_EDITABLE GtkCellEditable gtk_cell_editable_get_type
gtkcelllayout GtkCellLayout GtkCellLayoutDataFunc GtkCellLayoutIface gtk_cell_layout_pack_start gtk_cell_layout_pack_end gtk_cell_layout_get_cells gtk_cell_layout_clear gtk_cell_layout_set_attributes gtk_cell_layout_add_attribute gtk_cell_layout_set_cell_data_func gtk_cell_layout_clear_attributes gtk_cell_layout_reorder gtk_cell_layout_get_area GTK_CELL_LAYOUT GTK_CELL_LAYOUT_GET_IFACE GTK_IS_CELL_LAYOUT GTK_TYPE_CELL_LAYOUT GtkCellLayout gtk_cell_layout_get_type
gtkcellrenderer GtkCellRenderer GtkCellRendererState GtkCellRendererMode GtkCellRendererClass gtk_cell_renderer_get_request_mode gtk_cell_renderer_get_preferred_width gtk_cell_renderer_get_preferred_height_for_width gtk_cell_renderer_get_preferred_height gtk_cell_renderer_get_preferred_width_for_height gtk_cell_renderer_get_preferred_size gtk_cell_renderer_get_aligned_area gtk_cell_renderer_snapshot gtk_cell_renderer_activate gtk_cell_renderer_start_editing gtk_cell_renderer_set_fixed_size gtk_cell_renderer_get_fixed_size gtk_cell_renderer_set_alignment gtk_cell_renderer_get_alignment gtk_cell_renderer_set_padding gtk_cell_renderer_get_padding gtk_cell_renderer_set_visible gtk_cell_renderer_get_visible gtk_cell_renderer_set_sensitive gtk_cell_renderer_get_sensitive gtk_cell_renderer_is_activatable gtk_cell_renderer_set_is_expander gtk_cell_renderer_get_is_expander gtk_cell_renderer_set_is_expanded gtk_cell_renderer_get_is_expanded gtk_cell_renderer_stop_editing gtk_cell_renderer_get_state GtkCellRendererClassPrivate GTK_CELL_RENDERER GTK_CELL_RENDERER_CLASS GTK_CELL_RENDERER_GET_CLASS GTK_IS_CELL_RENDERER GTK_IS_CELL_RENDERER_CLASS GTK_TYPE_CELL_RENDERER GtkCellRenderer GtkCellRendererPrivate gtk_cell_renderer_get_type
gtkcellrendereraccel GtkCellRendererAccelMode gtk_cell_renderer_accel_new GTK_CELL_RENDERER_ACCEL GTK_IS_CELL_RENDERER_ACCEL GTK_TYPE_CELL_RENDERER_ACCEL GtkCellRendererAccel gtk_cell_renderer_accel_get_type
gtkcellrenderercombo gtk_cell_renderer_combo_new GTK_CELL_RENDERER_COMBO GTK_IS_CELL_RENDERER_COMBO GTK_TYPE_CELL_RENDERER_COMBO GtkCellRendererCombo gtk_cell_renderer_combo_get_type
gtkcellrendererpixbuf gtk_cell_renderer_pixbuf_new GTK_CELL_RENDERER_PIXBUF GTK_IS_CELL_RENDERER_PIXBUF GTK_TYPE_CELL_RENDERER_PIXBUF GtkCellRendererPixbuf gtk_cell_renderer_pixbuf_get_type
gtkcellrendererprogress gtk_cell_renderer_progress_new GTK_CELL_RENDERER_PROGRESS GTK_IS_CELL_RENDERER_PROGRESS GTK_TYPE_CELL_RENDERER_PROGRESS GtkCellRendererProgress gtk_cell_renderer_progress_get_type
gtkcellrendererspin gtk_cell_renderer_spin_new GTK_CELL_RENDERER_SPIN GTK_IS_CELL_RENDERER_SPIN GTK_TYPE_CELL_RENDERER_SPIN GtkCellRendererSpin gtk_cell_renderer_spin_get_type
gtkcellrendererspinner gtk_cell_renderer_spinner_new GTK_CELL_RENDERER_SPINNER GTK_IS_CELL_RENDERER_SPINNER GTK_TYPE_CELL_RENDERER_SPINNER GtkCellRendererSpinner gtk_cell_renderer_spinner_get_type
gtkcellrenderertext GtkCellRendererText gtk_cell_renderer_text_new gtk_cell_renderer_text_set_fixed_height_from_font GTK_CELL_RENDERER_TEXT GTK_CELL_RENDERER_TEXT_CLASS GTK_CELL_RENDERER_TEXT_GET_CLASS GTK_IS_CELL_RENDERER_TEXT GTK_IS_CELL_RENDERER_TEXT_CLASS GTK_TYPE_CELL_RENDERER_TEXT GtkCellRendererText GtkCellRendererTextClass gtk_cell_renderer_text_get_type
gtkcellrenderertoggle gtk_cell_renderer_toggle_new gtk_cell_renderer_toggle_get_radio gtk_cell_renderer_toggle_set_radio gtk_cell_renderer_toggle_get_active gtk_cell_renderer_toggle_set_active gtk_cell_renderer_toggle_get_activatable gtk_cell_renderer_toggle_set_activatable GTK_CELL_RENDERER_TOGGLE GTK_IS_CELL_RENDERER_TOGGLE GTK_TYPE_CELL_RENDERER_TOGGLE GtkCellRendererToggle gtk_cell_renderer_toggle_get_type
gtkcellview gtk_cell_view_new gtk_cell_view_new_with_context gtk_cell_view_new_with_text gtk_cell_view_new_with_markup gtk_cell_view_new_with_texture gtk_cell_view_set_model gtk_cell_view_get_model gtk_cell_view_set_displayed_row gtk_cell_view_get_displayed_row gtk_cell_view_get_draw_sensitive gtk_cell_view_set_draw_sensitive gtk_cell_view_get_fit_model gtk_cell_view_set_fit_model GTK_CELL_VIEW GTK_IS_CELL_VIEW GTK_TYPE_CELL_VIEW GtkCellView gtk_cell_view_get_type
gtkcenterbox GtkCenterBox gtk_center_box_new gtk_center_box_set_start_widget gtk_center_box_set_center_widget gtk_center_box_set_end_widget gtk_center_box_get_start_widget gtk_center_box_get_center_widget gtk_center_box_get_end_widget gtk_center_box_set_baseline_position gtk_center_box_get_baseline_position GTK_CENTER_BOX GTK_CENTER_BOX_CLASS GTK_CENTER_BOX_GET_CLASS GTK_IS_CENTER_BOX GTK_IS_CENTER_BOX_CLASS GTK_TYPE_CENTER_BOX GtkCenterBox GtkCenterBoxClass gtk_center_box_get_type
gtkcenterlayout GTK_TYPE_CENTER_LAYOUT gtk_center_layout_new gtk_center_layout_set_orientation gtk_center_layout_get_orientation gtk_center_layout_set_baseline_position gtk_center_layout_get_baseline_position gtk_center_layout_set_start_widget gtk_center_layout_get_start_widget gtk_center_layout_set_center_widget gtk_center_layout_get_center_widget gtk_center_layout_set_end_widget gtk_center_layout_get_end_widget GtkCenterLayout
gtkcheckbutton GtkCheckButton gtk_check_button_new gtk_check_button_new_with_label gtk_check_button_new_with_mnemonic gtk_check_button_set_draw_indicator gtk_check_button_get_draw_indicator gtk_check_button_set_inconsistent gtk_check_button_get_inconsistent GTK_CHECK_BUTTON GTK_CHECK_BUTTON_CLASS GTK_CHECK_BUTTON_GET_CLASS GTK_IS_CHECK_BUTTON GTK_IS_CHECK_BUTTON_CLASS GTK_TYPE_CHECK_BUTTON GtkCheckButton GtkCheckButtonClass gtk_check_button_get_type
gtkcolorbutton gtk_color_button_new gtk_color_button_new_with_rgba gtk_color_button_set_title gtk_color_button_get_title gtk_color_button_get_modal gtk_color_button_set_modal GTK_COLOR_BUTTON GTK_IS_COLOR_BUTTON GTK_TYPE_COLOR_BUTTON GtkColorButton gtk_color_button_get_type
gtkcolorchooser GtkColorChooser gtk_color_chooser_get_rgba gtk_color_chooser_set_rgba gtk_color_chooser_get_use_alpha gtk_color_chooser_set_use_alpha gtk_color_chooser_add_palette GTK_COLOR_CHOOSER GTK_COLOR_CHOOSER_GET_IFACE GTK_IS_COLOR_CHOOSER GTK_TYPE_COLOR_CHOOSER GtkColorChooser GtkColorChooserInterface gtk_color_chooser_get_type
gtkcolorchooserdialog gtk_color_chooser_dialog_new GTK_COLOR_CHOOSER_DIALOG GTK_IS_COLOR_CHOOSER_DIALOG GTK_TYPE_COLOR_CHOOSER_DIALOG GtkColorChooserDialog gtk_color_chooser_dialog_get_type
gtkcolorchooserwidget gtk_color_chooser_widget_new GTK_COLOR_CHOOSER_WIDGET GTK_IS_COLOR_CHOOSER_WIDGET GTK_TYPE_COLOR_CHOOSER_WIDGET GtkColorChooserWidget gtk_color_chooser_widget_get_type
gtkcolorpickerkwinprivate GTK_TYPE_COLOR_PICKER_KWIN gtk_color_picker_kwin_new GtkColorPickerKwin
gtkcolorpickerportalprivate GTK_TYPE_COLOR_PICKER_PORTAL gtk_color_picker_portal_new GtkColorPickerPortal
gtkcolorpickerprivate GtkColorPicker gtk_color_picker_new gtk_color_picker_pick gtk_color_picker_pick_finish GTK_COLOR_PICKER GTK_COLOR_PICKER_GET_INTERFACE GTK_IS_COLOR_PICKER GTK_TYPE_COLOR_PICKER GtkColorPicker GtkColorPickerInterface gtk_color_picker_get_type
gtkcolorpickershellprivate GTK_TYPE_COLOR_PICKER_SHELL gtk_color_picker_shell_new GtkColorPickerShell
gtkcolorutils gtk_hsv_to_rgb gtk_rgb_to_hsv
gtkcolumnview GtkColumnView gtk_column_view_new gtk_column_view_get_columns gtk_column_view_append_column gtk_column_view_remove_column gtk_column_view_insert_column gtk_column_view_get_model gtk_column_view_set_model gtk_column_view_get_show_row_separators gtk_column_view_set_show_row_separators gtk_column_view_get_show_column_separators gtk_column_view_set_show_column_separators gtk_column_view_get_sorter gtk_column_view_sort_by_column gtk_column_view_set_single_click_activate gtk_column_view_get_single_click_activate gtk_column_view_set_reorderable gtk_column_view_get_reorderable gtk_column_view_set_enable_rubberband gtk_column_view_get_enable_rubberband GtkColumnView GtkColumnViewColumn GTK_COLUMN_VIEW GTK_COLUMN_VIEW_CLASS GTK_COLUMN_VIEW_GET_CLASS GTK_IS_COLUMN_VIEW GTK_IS_COLUMN_VIEW_CLASS GTK_TYPE_COLUMN_VIEW GtkColumnViewClass gtk_column_view_get_type
gtkcolumnviewcolumn GtkColumnViewColumn gtk_column_view_column_new gtk_column_view_column_new_with_factory gtk_column_view_column_get_column_view gtk_column_view_column_set_factory gtk_column_view_column_get_factory gtk_column_view_column_set_title gtk_column_view_column_get_title gtk_column_view_column_set_sorter gtk_column_view_column_get_sorter gtk_column_view_column_set_visible gtk_column_view_column_get_visible gtk_column_view_column_set_header_menu gtk_column_view_column_get_header_menu gtk_column_view_column_set_fixed_width gtk_column_view_column_get_fixed_width gtk_column_view_column_set_resizable gtk_column_view_column_get_resizable gtk_column_view_column_set_expand gtk_column_view_column_get_expand GTK_COLUMN_VIEW_COLUMN GTK_COLUMN_VIEW_COLUMN_CLASS GTK_COLUMN_VIEW_COLUMN_GET_CLASS GTK_IS_COLUMN_VIEW_COLUMN GTK_IS_COLUMN_VIEW_COLUMN_CLASS GTK_TYPE_COLUMN_VIEW_COLUMN GtkColumnViewColumnClass gtk_column_view_column_get_type
gtkcombobox GtkComboBox GtkComboBoxClass gtk_combo_box_new gtk_combo_box_new_with_entry gtk_combo_box_new_with_model gtk_combo_box_new_with_model_and_entry gtk_combo_box_get_active gtk_combo_box_set_active gtk_combo_box_get_active_iter gtk_combo_box_set_active_iter gtk_combo_box_set_model gtk_combo_box_get_model gtk_combo_box_get_row_separator_func gtk_combo_box_set_row_separator_func gtk_combo_box_set_button_sensitivity gtk_combo_box_get_button_sensitivity gtk_combo_box_get_has_entry gtk_combo_box_set_entry_text_column gtk_combo_box_get_entry_text_column gtk_combo_box_set_popup_fixed_width gtk_combo_box_get_popup_fixed_width gtk_combo_box_popup gtk_combo_box_popup_for_device gtk_combo_box_popdown gtk_combo_box_get_id_column gtk_combo_box_set_id_column gtk_combo_box_get_active_id gtk_combo_box_set_active_id gtk_combo_box_set_child gtk_combo_box_get_child GTK_COMBO_BOX GTK_COMBO_BOX_CLASS GTK_COMBO_BOX_GET_CLASS GTK_IS_COMBO_BOX GTK_IS_COMBO_BOX_CLASS GTK_TYPE_COMBO_BOX GtkComboBox gtk_combo_box_get_type
gtkcomboboxtext gtk_combo_box_text_new gtk_combo_box_text_new_with_entry gtk_combo_box_text_append_text gtk_combo_box_text_insert_text gtk_combo_box_text_prepend_text gtk_combo_box_text_remove gtk_combo_box_text_remove_all gtk_combo_box_text_get_active_text gtk_combo_box_text_insert gtk_combo_box_text_append gtk_combo_box_text_prepend GTK_COMBO_BOX_TEXT GTK_IS_COMBO_BOX_TEXT GTK_TYPE_COMBO_BOX_TEXT GtkComboBoxText gtk_combo_box_text_get_type
gtkcomposetable GtkComposeTable GtkComposeTableCompact gtk_compose_table_new_with_file gtk_compose_table_list_add_array gtk_compose_table_list_add_file
gtkconstraint GTK_TYPE_CONSTRAINT_TARGET GTK_TYPE_CONSTRAINT gtk_constraint_new gtk_constraint_new_constant gtk_constraint_get_target gtk_constraint_get_target_attribute gtk_constraint_get_source gtk_constraint_get_source_attribute gtk_constraint_get_relation gtk_constraint_get_multiplier gtk_constraint_get_constant gtk_constraint_get_strength gtk_constraint_is_required gtk_constraint_is_attached gtk_constraint_is_constant GtkConstraint GtkConstraintTarget GtkConstraintTargetInterface
gtkconstraintguide GTK_TYPE_CONSTRAINT_GUIDE gtk_constraint_guide_new gtk_constraint_guide_set_min_size gtk_constraint_guide_get_min_size gtk_constraint_guide_set_nat_size gtk_constraint_guide_get_nat_size gtk_constraint_guide_set_max_size gtk_constraint_guide_get_max_size gtk_constraint_guide_get_strength gtk_constraint_guide_set_strength gtk_constraint_guide_set_name gtk_constraint_guide_get_name GtkConstraintGuide
gtkconstraintlayout GTK_TYPE_CONSTRAINT_LAYOUT GTK_TYPE_CONSTRAINT_LAYOUT_CHILD GTK_CONSTRAINT_VFL_PARSER_ERROR gtk_constraint_vfl_parser_error_quark gtk_constraint_layout_new gtk_constraint_layout_add_constraint gtk_constraint_layout_remove_constraint gtk_constraint_layout_add_guide gtk_constraint_layout_remove_guide gtk_constraint_layout_remove_all_constraints gtk_constraint_layout_add_constraints_from_description gtk_constraint_layout_add_constraints_from_descriptionv gtk_constraint_layout_observe_constraints gtk_constraint_layout_observe_guides GtkConstraintLayout GtkConstraintLayoutChild
gtkcountingbloomfilterprivate GTK_COUNTING_BLOOM_FILTER_BITS GTK_COUNTING_BLOOM_FILTER_SIZE GtkCountingBloomFilter gtk_counting_bloom_filter_add gtk_counting_bloom_filter_remove gtk_counting_bloom_filter_may_contain
gtkcss
gtkcssdataurlprivate gtk_css_data_url_parse
gtkcssenums GtkCssParserError GtkCssParserWarning
gtkcssenumtypes GTK_TYPE_CSS_PARSER_ERROR GTK_TYPE_CSS_PARSER_WARNING
gtkcsserror GTK_CSS_PARSER_ERROR gtk_css_parser_error_quark GTK_CSS_PARSER_WARNING gtk_css_parser_warning_quark
gtkcsslocation GtkCssLocation
gtkcsslocationprivate gtk_css_location_init gtk_css_location_advance gtk_css_location_advance_newline
gtkcssparserprivate GtkCssParseOption GtkCssParserErrorFunc gtk_css_parser_new_for_file gtk_css_parser_new_for_bytes gtk_css_parser_ref gtk_css_parser_unref gtk_css_parser_get_file gtk_css_parser_resolve_url gtk_css_parser_get_start_location gtk_css_parser_get_end_location gtk_css_parser_get_block_location gtk_css_parser_peek_token gtk_css_parser_get_token gtk_css_parser_consume_token gtk_css_parser_start_block gtk_css_parser_start_semicolon_block gtk_css_parser_end_block_prelude gtk_css_parser_end_block gtk_css_parser_skip gtk_css_parser_skip_until gtk_css_parser_emit_error gtk_css_parser_error gtk_css_parser_error_syntax gtk_css_parser_error_value gtk_css_parser_error_import gtk_css_parser_warn gtk_css_parser_warn_syntax gtk_css_parser_has_token gtk_css_parser_has_ident gtk_css_parser_has_number gtk_css_parser_has_integer gtk_css_parser_has_function gtk_css_parser_try_delim gtk_css_parser_try_ident gtk_css_parser_try_at_keyword gtk_css_parser_try_token gtk_css_parser_consume_ident gtk_css_parser_consume_string gtk_css_parser_consume_url gtk_css_parser_consume_number gtk_css_parser_consume_integer gtk_css_parser_consume_percentage gtk_css_parser_consume_function gtk_css_parser_consume_any GtkCssParser
gtkcssprovider GtkCssProvider gtk_css_provider_new gtk_css_provider_to_string gtk_css_provider_load_from_data gtk_css_provider_load_from_file gtk_css_provider_load_from_path gtk_css_provider_load_from_resource gtk_css_provider_load_named GTK_CSS_PROVIDER GTK_IS_CSS_PROVIDER GTK_TYPE_CSS_PROVIDER GtkCssProvider GtkCssProviderClass GtkCssProviderPrivate gtk_css_provider_get_type
gtkcsssection gtk_css_section_new gtk_css_section_ref gtk_css_section_unref gtk_css_section_print gtk_css_section_to_string gtk_css_section_get_parent gtk_css_section_get_file gtk_css_section_get_start_location gtk_css_section_get_end_location GtkCssSection GTK_TYPE_CSS_SECTION gtk_css_section_get_type
gtkcsstokenizerprivate GtkCssTokenType GtkCssStringToken GtkCssDelimToken GtkCssNumberToken GtkCssDimensionToken GtkCssToken gtk_css_token_clear gtk_css_token_is_finite gtk_css_token_is_preserved gtk_css_token_is gtk_css_token_is_ident gtk_css_token_is_function gtk_css_token_is_delim gtk_css_token_print gtk_css_token_to_string gtk_css_tokenizer_new gtk_css_tokenizer_ref gtk_css_tokenizer_unref gtk_css_tokenizer_get_location gtk_css_tokenizer_read_token GtkCssTokenizer
gtkcustomfilter GtkCustomFilterFunc GTK_TYPE_CUSTOM_FILTER gtk_custom_filter_new gtk_custom_filter_set_filter_func GtkCustomFilter
gtkcustomlayout GTK_TYPE_CUSTOM_LAYOUT GtkCustomRequestModeFunc GtkCustomMeasureFunc GtkCustomAllocateFunc gtk_custom_layout_new GtkCustomLayout
gtkcustompaperunixdialog gtk_print_load_custom_papers GTK_CUSTOM_PAPER_UNIX_DIALOG GTK_IS_CUSTOM_PAPER_UNIX_DIALOG GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG GtkCustomPaperUnixDialog gtk_custom_paper_unix_dialog_get_type
gtkcustomsorter GTK_TYPE_CUSTOM_SORTER gtk_custom_sorter_new gtk_custom_sorter_set_sort_func GtkCustomSorter
gtkdbusgenerated _GtkMountOperationHandlerSkeleton _GtkMountOperationHandlerIface _GtkMountOperationHandlerProxy _GtkMountOperationHandlerProxyClass _GtkMountOperationHandlerSkeleton _GtkMountOperationHandlerSkeletonClass _GtkMountOperationHandler _GtkMountOperationHandlerProxyPrivate _GtkMountOperationHandlerSkeletonPrivate
gtkdebug GtkDebugFlag GTK_DEBUG_CHECK GTK_NOTE gtk_get_debug_flags gtk_set_debug_flags
gtkdialog GtkDialog GtkDialogFlags GtkResponseType GtkDialog GtkDialogClass gtk_dialog_new gtk_dialog_new_with_buttons gtk_dialog_add_action_widget gtk_dialog_add_button gtk_dialog_add_buttons gtk_dialog_set_response_sensitive gtk_dialog_set_default_response gtk_dialog_get_widget_for_response gtk_dialog_get_response_for_widget gtk_dialog_response gtk_dialog_get_content_area gtk_dialog_get_header_bar GTK_DIALOG GTK_DIALOG_CLASS GTK_DIALOG_GET_CLASS GTK_IS_DIALOG GTK_IS_DIALOG_CLASS GTK_TYPE_DIALOG gtk_dialog_get_type
gtkdirectorylist GTK_TYPE_DIRECTORY_LIST gtk_directory_list_new gtk_directory_list_set_file gtk_directory_list_get_file gtk_directory_list_set_attributes gtk_directory_list_get_attributes gtk_directory_list_set_io_priority gtk_directory_list_get_io_priority gtk_directory_list_is_loading gtk_directory_list_get_error gtk_directory_list_set_monitored gtk_directory_list_get_monitored GtkDirectoryList
gtkdragdestprivate gtk_drag_dest_handle_event
gtkdragicon GTK_TYPE_DRAG_ICON gtk_drag_icon_get_for_drag gtk_drag_icon_set_child gtk_drag_icon_get_child gtk_drag_icon_set_from_paintable gtk_drag_icon_create_widget_for_value GtkDragIcon
gtkdragsource GtkDragSource gtk_drag_source_new gtk_drag_source_set_content gtk_drag_source_get_content gtk_drag_source_set_actions gtk_drag_source_get_actions gtk_drag_source_set_icon gtk_drag_source_drag_cancel gtk_drag_source_get_drag gtk_drag_check_threshold GTK_DRAG_SOURCE GTK_DRAG_SOURCE_CLASS GTK_DRAG_SOURCE_GET_CLASS GTK_IS_DRAG_SOURCE GTK_IS_DRAG_SOURCE_CLASS GTK_TYPE_DRAG_SOURCE GtkDragSource GtkDragSourceClass gtk_drag_source_get_type
gtkdrawingarea GtkDrawingArea GtkDrawingAreaDrawFunc gtk_drawing_area_new gtk_drawing_area_set_content_width gtk_drawing_area_get_content_width gtk_drawing_area_set_content_height gtk_drawing_area_get_content_height gtk_drawing_area_set_draw_func GTK_DRAWING_AREA GTK_DRAWING_AREA_CLASS GTK_DRAWING_AREA_GET_CLASS GTK_IS_DRAWING_AREA GTK_IS_DRAWING_AREA_CLASS GTK_TYPE_DRAWING_AREA GtkDrawingArea GtkDrawingAreaClass gtk_drawing_area_get_type
gtkdropcontrollermotion GtkDropControllerMotion gtk_drop_controller_motion_new gtk_drop_controller_motion_contains_pointer gtk_drop_controller_motion_get_drop gtk_drop_controller_motion_is_pointer GTK_DROP_CONTROLLER_MOTION GTK_DROP_CONTROLLER_MOTION_CLASS GTK_DROP_CONTROLLER_MOTION_GET_CLASS GTK_IS_DROP_CONTROLLER_MOTION GTK_IS_DROP_CONTROLLER_MOTION_CLASS GTK_TYPE_DROP_CONTROLLER_MOTION GtkDropControllerMotion GtkDropControllerMotionClass gtk_drop_controller_motion_get_type
gtkdropdown GTK_TYPE_DROP_DOWN gtk_drop_down_new gtk_drop_down_new_from_strings gtk_drop_down_set_model gtk_drop_down_get_model gtk_drop_down_set_selected gtk_drop_down_get_selected gtk_drop_down_get_selected_item gtk_drop_down_set_factory gtk_drop_down_get_factory gtk_drop_down_set_list_factory gtk_drop_down_get_list_factory gtk_drop_down_set_expression gtk_drop_down_get_expression gtk_drop_down_set_enable_search gtk_drop_down_get_enable_search GtkDropDown
gtkdropprivate gtk_drop_begin_event gtk_drop_end_event gtk_drop_status
gtkdroptarget GtkDropTarget gtk_drop_target_new gtk_drop_target_set_gtypes gtk_drop_target_get_gtypes gtk_drop_target_get_formats gtk_drop_target_set_actions gtk_drop_target_get_actions gtk_drop_target_set_preload gtk_drop_target_get_preload gtk_drop_target_get_drop gtk_drop_target_get_value gtk_drop_target_reject GTK_DROP_TARGET GTK_DROP_TARGET_CLASS GTK_DROP_TARGET_GET_CLASS GTK_IS_DROP_TARGET GTK_IS_DROP_TARGET_CLASS GTK_TYPE_DROP_TARGET GtkDropTarget GtkDropTargetClass gtk_drop_target_get_type
gtkdroptargetasync GtkDropTargetAsync gtk_drop_target_async_new gtk_drop_target_async_set_formats gtk_drop_target_async_get_formats gtk_drop_target_async_set_actions gtk_drop_target_async_get_actions gtk_drop_target_async_reject_drop GTK_DROP_TARGET_ASYNC GTK_DROP_TARGET_ASYNC_CLASS GTK_DROP_TARGET_ASYNC_GET_CLASS GTK_IS_DROP_TARGET_ASYNC GTK_IS_DROP_TARGET_ASYNC_CLASS GTK_TYPE_DROP_TARGET_ASYNC GtkDropTargetAsync GtkDropTargetAsyncClass gtk_drop_target_async_get_type
gtkeditable GtkEditable gtk_editable_get_text gtk_editable_set_text gtk_editable_get_chars gtk_editable_insert_text gtk_editable_delete_text gtk_editable_get_selection_bounds gtk_editable_delete_selection gtk_editable_select_region gtk_editable_set_position gtk_editable_get_position gtk_editable_get_editable gtk_editable_set_editable gtk_editable_get_alignment gtk_editable_set_alignment gtk_editable_get_width_chars gtk_editable_set_width_chars gtk_editable_get_max_width_chars gtk_editable_set_max_width_chars gtk_editable_get_enable_undo gtk_editable_set_enable_undo GtkEditableProperties gtk_editable_install_properties gtk_editable_init_delegate gtk_editable_finish_delegate gtk_editable_delegate_set_property gtk_editable_delegate_get_property GTK_EDITABLE GTK_EDITABLE_GET_IFACE GTK_IS_EDITABLE GTK_TYPE_EDITABLE GtkEditable GtkEditableInterface gtk_editable_get_type
gtkeditablelabel GTK_TYPE_EDITABLE_LABEL gtk_editable_label_new gtk_editable_label_get_editing gtk_editable_label_start_editing gtk_editable_label_stop_editing GtkEditableLabel
gtkemojichooser GtkEmojiChooser gtk_emoji_chooser_new GTK_EMOJI_CHOOSER GTK_EMOJI_CHOOSER_CLASS GTK_EMOJI_CHOOSER_GET_CLASS GTK_IS_EMOJI_CHOOSER GTK_IS_EMOJI_CHOOSER_CLASS GTK_TYPE_EMOJI_CHOOSER GtkEmojiChooser GtkEmojiChooserClass gtk_emoji_chooser_get_type
gtkemojicompletion GtkEmojiCompletion gtk_emoji_completion_new GTK_EMOJI_COMPLETION GTK_EMOJI_COMPLETION_CLASS GTK_EMOJI_COMPLETION_GET_CLASS GTK_IS_EMOJI_COMPLETION GTK_IS_EMOJI_COMPLETION_CLASS GTK_TYPE_EMOJI_COMPLETION GtkEmojiCompletion GtkEmojiCompletionClass gtk_emoji_completion_get_type
gtkentry GtkEntry GtkEntryIconPosition GtkEntryClass gtk_entry_new gtk_entry_new_with_buffer gtk_entry_get_buffer gtk_entry_set_buffer gtk_entry_set_visibility gtk_entry_get_visibility gtk_entry_set_invisible_char gtk_entry_get_invisible_char gtk_entry_unset_invisible_char gtk_entry_set_has_frame gtk_entry_get_has_frame gtk_entry_set_overwrite_mode gtk_entry_get_overwrite_mode gtk_entry_set_max_length gtk_entry_get_max_length gtk_entry_get_text_length gtk_entry_set_activates_default gtk_entry_get_activates_default gtk_entry_set_alignment gtk_entry_get_alignment gtk_entry_set_completion gtk_entry_get_completion gtk_entry_set_progress_fraction gtk_entry_get_progress_fraction gtk_entry_set_progress_pulse_step gtk_entry_get_progress_pulse_step gtk_entry_progress_pulse gtk_entry_get_placeholder_text gtk_entry_set_placeholder_text gtk_entry_set_icon_from_paintable gtk_entry_set_icon_from_icon_name gtk_entry_set_icon_from_gicon gtk_entry_get_icon_storage_type gtk_entry_get_icon_paintable gtk_entry_get_icon_name gtk_entry_get_icon_gicon gtk_entry_set_icon_activatable gtk_entry_get_icon_activatable gtk_entry_set_icon_sensitive gtk_entry_get_icon_sensitive gtk_entry_get_icon_at_pos gtk_entry_set_icon_tooltip_text gtk_entry_get_icon_tooltip_text gtk_entry_set_icon_tooltip_markup gtk_entry_get_icon_tooltip_markup gtk_entry_set_icon_drag_source gtk_entry_get_current_icon_drag_source gtk_entry_get_icon_area gtk_entry_reset_im_context gtk_entry_set_input_purpose gtk_entry_get_input_purpose gtk_entry_set_input_hints gtk_entry_get_input_hints gtk_entry_set_attributes gtk_entry_get_attributes gtk_entry_set_tabs gtk_entry_get_tabs gtk_entry_grab_focus_without_selecting gtk_entry_set_extra_menu gtk_entry_get_extra_menu GTK_ENTRY GTK_ENTRY_CLASS GTK_ENTRY_GET_CLASS GTK_IS_ENTRY GTK_IS_ENTRY_CLASS GTK_TYPE_ENTRY GtkEntry gtk_entry_get_type
gtkentrybuffer GtkEntryBuffer GTK_ENTRY_BUFFER_MAX_SIZE gtk_entry_buffer_new gtk_entry_buffer_get_bytes gtk_entry_buffer_get_length gtk_entry_buffer_get_text gtk_entry_buffer_set_text gtk_entry_buffer_set_max_length gtk_entry_buffer_get_max_length gtk_entry_buffer_insert_text gtk_entry_buffer_delete_text gtk_entry_buffer_emit_inserted_text gtk_entry_buffer_emit_deleted_text GTK_ENTRY_BUFFER GTK_ENTRY_BUFFER_CLASS GTK_ENTRY_BUFFER_GET_CLASS GTK_IS_ENTRY_BUFFER GTK_IS_ENTRY_BUFFER_CLASS GTK_TYPE_ENTRY_BUFFER GtkEntryBuffer GtkEntryBufferClass gtk_entry_buffer_get_type
gtkentrycompletion GtkEntryCompletionMatchFunc gtk_entry_completion_new gtk_entry_completion_new_with_area gtk_entry_completion_get_entry gtk_entry_completion_set_model gtk_entry_completion_get_model gtk_entry_completion_set_match_func gtk_entry_completion_set_minimum_key_length gtk_entry_completion_get_minimum_key_length gtk_entry_completion_compute_prefix gtk_entry_completion_complete gtk_entry_completion_insert_prefix gtk_entry_completion_set_inline_completion gtk_entry_completion_get_inline_completion gtk_entry_completion_set_inline_selection gtk_entry_completion_get_inline_selection gtk_entry_completion_set_popup_completion gtk_entry_completion_get_popup_completion gtk_entry_completion_set_popup_set_width gtk_entry_completion_get_popup_set_width gtk_entry_completion_set_popup_single_match gtk_entry_completion_get_popup_single_match gtk_entry_completion_get_completion_prefix gtk_entry_completion_set_text_column gtk_entry_completion_get_text_column GTK_ENTRY_COMPLETION GTK_IS_ENTRY_COMPLETION GTK_TYPE_ENTRY_COMPLETION GtkEntryCompletion gtk_entry_completion_get_type
gtkenums GtkAlign GtkArrowType GtkBaselinePosition GtkDeleteType GtkDirectionType GtkIconSize GtkSensitivityType GtkTextDirection GtkJustification GtkMenuDirectionType GtkMessageType GtkMovementStep GtkScrollStep GtkOrientation GtkOverflow GtkPackType GtkPositionType GtkScrollType GtkSelectionMode GtkWrapMode GtkSortType GtkPrintPages GtkPageSet GtkNumberUpLayout GtkOrdering gtk_ordering_from_cmpfunc GtkPageOrientation GtkPrintQuality GtkPrintDuplex GtkUnit GTK_UNIT_PIXEL GtkTreeViewGridLines GtkSizeGroupMode GtkSizeRequestMode GtkScrollablePolicy GtkStateFlags GtkBorderStyle GtkLevelBarMode GtkInputPurpose GtkInputHints GtkPropagationPhase GtkPropagationLimit GtkEventSequenceState GtkPanDirection GtkShortcutScope GtkPopoverConstraint GtkPlacesOpenFlags GtkPickFlags GtkConstraintRelation GtkConstraintStrength GtkConstraintAttribute GtkConstraintVflParserError GtkSystemSetting GtkAccessibleRole GtkAccessibleState GTK_ACCESSIBLE_VALUE_UNDEFINED GtkAccessibleProperty GtkAccessibleRelation GtkAccessibleTristate GtkAccessibleInvalidState GtkAccessibleAutocomplete GtkAccessibleSort
gtkeventcontroller GtkEventController gtk_event_controller_get_widget gtk_event_controller_reset gtk_event_controller_get_propagation_phase gtk_event_controller_set_propagation_phase gtk_event_controller_get_propagation_limit gtk_event_controller_set_propagation_limit gtk_event_controller_get_name gtk_event_controller_set_name gtk_event_controller_get_current_event gtk_event_controller_get_current_event_time gtk_event_controller_get_current_event_device gtk_event_controller_get_current_event_state GTK_EVENT_CONTROLLER GTK_EVENT_CONTROLLER_CLASS GTK_EVENT_CONTROLLER_GET_CLASS GTK_IS_EVENT_CONTROLLER GTK_IS_EVENT_CONTROLLER_CLASS GTK_TYPE_EVENT_CONTROLLER GtkEventControllerClass gtk_crossing_data_get_type gtk_event_controller_get_type
gtkeventcontrollerfocus GtkEventControllerFocus gtk_event_controller_focus_new gtk_event_controller_focus_contains_focus gtk_event_controller_focus_is_focus GTK_EVENT_CONTROLLER_FOCUS GTK_EVENT_CONTROLLER_FOCUS_CLASS GTK_EVENT_CONTROLLER_FOCUS_GET_CLASS GTK_IS_EVENT_CONTROLLER_FOCUS GTK_IS_EVENT_CONTROLLER_FOCUS_CLASS GTK_TYPE_EVENT_CONTROLLER_FOCUS GtkEventControllerFocus GtkEventControllerFocusClass gtk_event_controller_focus_get_type
gtkeventcontrollerkey GtkEventControllerKey gtk_event_controller_key_new gtk_event_controller_key_set_im_context gtk_event_controller_key_get_im_context gtk_event_controller_key_forward gtk_event_controller_key_get_group GTK_EVENT_CONTROLLER_KEY GTK_EVENT_CONTROLLER_KEY_CLASS GTK_EVENT_CONTROLLER_KEY_GET_CLASS GTK_IS_EVENT_CONTROLLER_KEY GTK_IS_EVENT_CONTROLLER_KEY_CLASS GTK_TYPE_EVENT_CONTROLLER_KEY GtkEventControllerKey GtkEventControllerKeyClass gtk_event_controller_key_get_type
gtkeventcontrollerlegacy GtkEventControllerLegacy gtk_event_controller_legacy_new GTK_EVENT_CONTROLLER_LEGACY GTK_EVENT_CONTROLLER_LEGACY_CLASS GTK_EVENT_CONTROLLER_LEGACY_GET_CLASS GTK_IS_EVENT_CONTROLLER_LEGACY GTK_IS_EVENT_CONTROLLER_LEGACY_CLASS GTK_TYPE_EVENT_CONTROLLER_LEGACY GtkEventControllerLegacy GtkEventControllerLegacyClass gtk_event_controller_legacy_get_type
gtkeventcontrollermotion GtkEventControllerMotion gtk_event_controller_motion_new gtk_event_controller_motion_contains_pointer gtk_event_controller_motion_is_pointer GTK_EVENT_CONTROLLER_MOTION GTK_EVENT_CONTROLLER_MOTION_CLASS GTK_EVENT_CONTROLLER_MOTION_GET_CLASS GTK_IS_EVENT_CONTROLLER_MOTION GTK_IS_EVENT_CONTROLLER_MOTION_CLASS GTK_TYPE_EVENT_CONTROLLER_MOTION GtkEventControllerMotion GtkEventControllerMotionClass gtk_event_controller_motion_get_type
gtkeventcontrollerscroll GtkEventControllerScroll GtkEventControllerScrollFlags gtk_event_controller_scroll_new gtk_event_controller_scroll_set_flags gtk_event_controller_scroll_get_flags GTK_EVENT_CONTROLLER_SCROLL GTK_EVENT_CONTROLLER_SCROLL_CLASS GTK_EVENT_CONTROLLER_SCROLL_GET_CLASS GTK_IS_EVENT_CONTROLLER_SCROLL GTK_IS_EVENT_CONTROLLER_SCROLL_CLASS GTK_TYPE_EVENT_CONTROLLER_SCROLL GtkEventControllerScroll GtkEventControllerScrollClass gtk_event_controller_scroll_get_type
gtkexpander gtk_expander_new gtk_expander_new_with_mnemonic gtk_expander_set_expanded gtk_expander_get_expanded gtk_expander_set_label gtk_expander_get_label gtk_expander_set_use_underline gtk_expander_get_use_underline gtk_expander_set_use_markup gtk_expander_get_use_markup gtk_expander_set_label_widget gtk_expander_get_label_widget gtk_expander_set_resize_toplevel gtk_expander_get_resize_toplevel gtk_expander_set_child gtk_expander_get_child GTK_EXPANDER GTK_IS_EXPANDER GTK_TYPE_EXPANDER GtkExpander gtk_expander_get_type
gtkexpression GtkExpressionNotify gtk_expression_ref gtk_expression_unref gtk_expression_get_value_type gtk_expression_is_static gtk_expression_evaluate gtk_expression_watch gtk_expression_bind gtk_expression_watch_ref gtk_expression_watch_unref gtk_expression_watch_evaluate gtk_expression_watch_unwatch gtk_property_expression_new gtk_property_expression_new_for_pspec gtk_property_expression_get_expression gtk_property_expression_get_pspec gtk_constant_expression_new gtk_constant_expression_new_for_value gtk_constant_expression_get_value gtk_object_expression_new gtk_object_expression_get_object gtk_closure_expression_new gtk_cclosure_expression_new gtk_value_set_expression gtk_value_take_expression gtk_value_get_expression gtk_value_dup_expression GtkParamSpecExpression gtk_param_spec_expression GtkCClosureExpression GtkClosureExpression GtkConstantExpression GtkExpressionWatch GtkObjectExpression GtkPropertyExpression GTK_EXPRESSION GTK_IS_EXPRESSION GTK_TYPE_EXPRESSION GtkExpression gtk_expression_get_type
gtkfilechooser GtkFileChooserAction GTK_FILE_CHOOSER_ERROR GtkFileChooserError gtk_file_chooser_error_quark gtk_file_chooser_set_action gtk_file_chooser_get_action gtk_file_chooser_set_select_multiple gtk_file_chooser_get_select_multiple gtk_file_chooser_set_create_folders gtk_file_chooser_get_create_folders gtk_file_chooser_set_current_name gtk_file_chooser_get_current_name gtk_file_chooser_get_file gtk_file_chooser_set_file gtk_file_chooser_get_files gtk_file_chooser_set_current_folder gtk_file_chooser_get_current_folder gtk_file_chooser_add_filter gtk_file_chooser_remove_filter gtk_file_chooser_get_filters gtk_file_chooser_set_filter gtk_file_chooser_get_filter gtk_file_chooser_add_shortcut_folder gtk_file_chooser_remove_shortcut_folder gtk_file_chooser_get_shortcut_folders gtk_file_chooser_add_choice gtk_file_chooser_remove_choice gtk_file_chooser_set_choice gtk_file_chooser_get_choice GTK_FILE_CHOOSER GTK_IS_FILE_CHOOSER GTK_TYPE_FILE_CHOOSER GtkFileChooser gtk_file_chooser_get_type
gtkfilechooserbutton gtk_file_chooser_button_new gtk_file_chooser_button_new_with_dialog gtk_file_chooser_button_get_title gtk_file_chooser_button_set_title gtk_file_chooser_button_get_width_chars gtk_file_chooser_button_set_width_chars gtk_file_chooser_button_get_modal gtk_file_chooser_button_set_modal GTK_FILE_CHOOSER_BUTTON GTK_IS_FILE_CHOOSER_BUTTON GTK_TYPE_FILE_CHOOSER_BUTTON GtkFileChooserButton gtk_file_chooser_button_get_type
gtkfilechooserdialog gtk_file_chooser_dialog_new GTK_FILE_CHOOSER_DIALOG GTK_IS_FILE_CHOOSER_DIALOG GTK_TYPE_FILE_CHOOSER_DIALOG GtkFileChooserDialog gtk_file_chooser_dialog_get_type
gtkfilechooserentry GTK_FILE_CHOOSER_ENTRY GTK_IS_FILE_CHOOSER_ENTRY GTK_TYPE_FILE_CHOOSER_ENTRY GtkFileChooserEntry
gtkfilechoosernative GTK_TYPE_FILE_CHOOSER_NATIVE gtk_file_chooser_native_new gtk_file_chooser_native_get_accept_label gtk_file_chooser_native_set_accept_label gtk_file_chooser_native_get_cancel_label gtk_file_chooser_native_set_cancel_label GtkFileChooserNative
gtkfilechooserutils GTK_FILE_CHOOSER_DELEGATE_QUARK GtkFileChooserProp
gtkfilechooserwidget gtk_file_chooser_widget_new GTK_FILE_CHOOSER_WIDGET GTK_IS_FILE_CHOOSER_WIDGET GTK_TYPE_FILE_CHOOSER_WIDGET GtkFileChooserWidget gtk_file_chooser_widget_get_type
gtkfilefilter gtk_file_filter_new gtk_file_filter_set_name gtk_file_filter_get_name gtk_file_filter_add_mime_type gtk_file_filter_add_pattern gtk_file_filter_add_pixbuf_formats gtk_file_filter_get_attributes gtk_file_filter_to_gvariant gtk_file_filter_new_from_gvariant GTK_FILE_FILTER GTK_IS_FILE_FILTER GTK_TYPE_FILE_FILTER GtkFileFilter gtk_file_filter_get_type
gtkfilesystemmodel GtkFileSystemModelGetValue GTK_FILE_SYSTEM_MODEL GTK_IS_FILE_SYSTEM_MODEL GTK_TYPE_FILE_SYSTEM_MODEL GtkFileSystemModel
gtkfilter GtkFilter GtkFilterMatch GtkFilterChange GTK_TYPE_FILTER GtkFilterClass gtk_filter_match gtk_filter_get_strictness gtk_filter_changed GtkFilter
gtkfilterlistmodel GTK_TYPE_FILTER_LIST_MODEL gtk_filter_list_model_new gtk_filter_list_model_set_filter gtk_filter_list_model_get_filter gtk_filter_list_model_set_model gtk_filter_list_model_get_model gtk_filter_list_model_set_incremental gtk_filter_list_model_get_incremental gtk_filter_list_model_get_pending GtkFilterListModel
gtkfixed GtkFixed gtk_fixed_new gtk_fixed_put gtk_fixed_remove gtk_fixed_move gtk_fixed_get_child_position gtk_fixed_set_child_transform gtk_fixed_get_child_transform GTK_FIXED GTK_FIXED_CLASS GTK_FIXED_GET_CLASS GTK_IS_FIXED GTK_IS_FIXED_CLASS GTK_TYPE_FIXED GtkFixed GtkFixedClass gtk_fixed_get_type
gtkfixedlayout GTK_TYPE_FIXED_LAYOUT GTK_TYPE_FIXED_LAYOUT_CHILD gtk_fixed_layout_new gtk_fixed_layout_child_set_transform gtk_fixed_layout_child_get_transform GtkFixedLayout GtkFixedLayoutChild
gtkflattenlistmodel GTK_TYPE_FLATTEN_LIST_MODEL gtk_flatten_list_model_new gtk_flatten_list_model_set_model gtk_flatten_list_model_get_model gtk_flatten_list_model_get_model_for_item GtkFlattenListModel
gtkflowbox GtkFlowBoxChild GtkFlowBoxCreateWidgetFunc gtk_flow_box_child_new gtk_flow_box_child_set_child gtk_flow_box_child_get_child gtk_flow_box_child_get_index gtk_flow_box_child_is_selected gtk_flow_box_child_changed gtk_flow_box_new gtk_flow_box_bind_model gtk_flow_box_set_homogeneous gtk_flow_box_get_homogeneous gtk_flow_box_set_row_spacing gtk_flow_box_get_row_spacing gtk_flow_box_set_column_spacing gtk_flow_box_get_column_spacing gtk_flow_box_set_min_children_per_line gtk_flow_box_get_min_children_per_line gtk_flow_box_set_max_children_per_line gtk_flow_box_get_max_children_per_line gtk_flow_box_set_activate_on_single_click gtk_flow_box_get_activate_on_single_click gtk_flow_box_insert gtk_flow_box_remove gtk_flow_box_get_child_at_index gtk_flow_box_get_child_at_pos GtkFlowBoxForeachFunc gtk_flow_box_selected_foreach gtk_flow_box_get_selected_children gtk_flow_box_select_child gtk_flow_box_unselect_child gtk_flow_box_select_all gtk_flow_box_unselect_all gtk_flow_box_set_selection_mode gtk_flow_box_get_selection_mode gtk_flow_box_set_hadjustment gtk_flow_box_set_vadjustment GtkFlowBoxFilterFunc gtk_flow_box_set_filter_func gtk_flow_box_invalidate_filter GtkFlowBoxSortFunc gtk_flow_box_set_sort_func gtk_flow_box_invalidate_sort GTK_FLOW_BOX GTK_FLOW_BOX_CHILD GTK_FLOW_BOX_CHILD_CLASS GTK_FLOW_BOX_CHILD_GET_CLASS GTK_IS_FLOW_BOX GTK_IS_FLOW_BOX_CHILD GTK_IS_FLOW_BOX_CHILD_CLASS GTK_TYPE_FLOW_BOX GTK_TYPE_FLOW_BOX_CHILD GtkFlowBox GtkFlowBoxChild GtkFlowBoxChildClass gtk_flow_box_child_get_type gtk_flow_box_get_type
gtkflowboxprivate gtk_flow_box_disable_move_cursor
gtkfontbutton gtk_font_button_new gtk_font_button_new_with_font gtk_font_button_get_title gtk_font_button_set_title gtk_font_button_get_modal gtk_font_button_set_modal gtk_font_button_get_use_font gtk_font_button_set_use_font gtk_font_button_get_use_size gtk_font_button_set_use_size GTK_FONT_BUTTON GTK_IS_FONT_BUTTON GTK_TYPE_FONT_BUTTON GtkFontButton gtk_font_button_get_type
gtkfontchooser GtkFontChooser GtkFontFilterFunc GtkFontChooserLevel gtk_font_chooser_get_font_family gtk_font_chooser_get_font_face gtk_font_chooser_get_font_size gtk_font_chooser_get_font_desc gtk_font_chooser_set_font_desc gtk_font_chooser_get_font gtk_font_chooser_set_font gtk_font_chooser_get_preview_text gtk_font_chooser_set_preview_text gtk_font_chooser_get_show_preview_entry gtk_font_chooser_set_show_preview_entry gtk_font_chooser_set_filter_func gtk_font_chooser_set_font_map gtk_font_chooser_get_font_map gtk_font_chooser_set_level gtk_font_chooser_get_level gtk_font_chooser_get_font_features gtk_font_chooser_get_language gtk_font_chooser_set_language GTK_FONT_CHOOSER GTK_FONT_CHOOSER_GET_IFACE GTK_IS_FONT_CHOOSER GTK_TYPE_FONT_CHOOSER GtkFontChooser GtkFontChooserIface gtk_font_chooser_get_type
gtkfontchooserdialog gtk_font_chooser_dialog_new GTK_FONT_CHOOSER_DIALOG GTK_IS_FONT_CHOOSER_DIALOG GTK_TYPE_FONT_CHOOSER_DIALOG GtkFontChooserDialog gtk_font_chooser_dialog_get_type
gtkfontchooserutils GTK_FONT_CHOOSER_DELEGATE_QUARK GtkFontChooserProp
gtkfontchooserwidget gtk_font_chooser_widget_new GTK_FONT_CHOOSER_WIDGET GTK_IS_FONT_CHOOSER_WIDGET GTK_TYPE_FONT_CHOOSER_WIDGET GtkFontChooserWidget gtk_font_chooser_widget_get_type
gtkframe GtkFrame GtkFrameClass gtk_frame_new gtk_frame_set_label gtk_frame_get_label gtk_frame_set_label_widget gtk_frame_get_label_widget gtk_frame_set_label_align gtk_frame_get_label_align gtk_frame_set_child gtk_frame_get_child GTK_FRAME GTK_FRAME_CLASS GTK_FRAME_GET_CLASS GTK_IS_FRAME GTK_IS_FRAME_CLASS GTK_TYPE_FRAME GtkFrame gtk_frame_get_type
gtkgesture GtkGesture gtk_gesture_get_device gtk_gesture_set_state gtk_gesture_get_sequence_state gtk_gesture_set_sequence_state gtk_gesture_get_sequences gtk_gesture_get_last_updated_sequence gtk_gesture_handles_sequence gtk_gesture_get_last_event gtk_gesture_get_point gtk_gesture_get_bounding_box gtk_gesture_get_bounding_box_center gtk_gesture_is_active gtk_gesture_is_recognized gtk_gesture_group gtk_gesture_ungroup gtk_gesture_get_group gtk_gesture_is_grouped_with GTK_GESTURE GTK_GESTURE_CLASS GTK_GESTURE_GET_CLASS GTK_IS_GESTURE GTK_IS_GESTURE_CLASS GTK_TYPE_GESTURE GtkGestureClass gtk_gesture_get_type
gtkgestureclick GtkGestureClick gtk_gesture_click_new GTK_GESTURE_CLICK GTK_GESTURE_CLICK_CLASS GTK_GESTURE_CLICK_GET_CLASS GTK_IS_GESTURE_CLICK GTK_IS_GESTURE_CLICK_CLASS GTK_TYPE_GESTURE_CLICK GtkGestureClick GtkGestureClickClass gtk_gesture_click_get_type
gtkgestureclickprivate GtkGestureClick GtkGestureClick GtkGestureClickClass
gtkgesturedrag GtkGestureDrag gtk_gesture_drag_new gtk_gesture_drag_get_start_point gtk_gesture_drag_get_offset GTK_GESTURE_DRAG GTK_GESTURE_DRAG_CLASS GTK_GESTURE_DRAG_GET_CLASS GTK_IS_GESTURE_DRAG GTK_IS_GESTURE_DRAG_CLASS GTK_TYPE_GESTURE_DRAG GtkGestureDrag GtkGestureDragClass gtk_gesture_drag_get_type
gtkgesturelongpress GtkGestureLongPress gtk_gesture_long_press_new gtk_gesture_long_press_set_delay_factor gtk_gesture_long_press_get_delay_factor GTK_GESTURE_LONG_PRESS GTK_GESTURE_LONG_PRESS_CLASS GTK_GESTURE_LONG_PRESS_GET_CLASS GTK_IS_GESTURE_LONG_PRESS GTK_IS_GESTURE_LONG_PRESS_CLASS GTK_TYPE_GESTURE_LONG_PRESS GtkGestureLongPress GtkGestureLongPressClass gtk_gesture_long_press_get_type
gtkgesturepan GtkGesturePan gtk_gesture_pan_new gtk_gesture_pan_get_orientation gtk_gesture_pan_set_orientation GTK_GESTURE_PAN GTK_GESTURE_PAN_CLASS GTK_GESTURE_PAN_GET_CLASS GTK_IS_GESTURE_PAN GTK_IS_GESTURE_PAN_CLASS GTK_TYPE_GESTURE_PAN GtkGesturePan GtkGesturePanClass gtk_gesture_pan_get_type
gtkgesturerotate GtkGestureRotate gtk_gesture_rotate_new gtk_gesture_rotate_get_angle_delta GTK_GESTURE_ROTATE GTK_GESTURE_ROTATE_CLASS GTK_GESTURE_ROTATE_GET_CLASS GTK_IS_GESTURE_ROTATE GTK_IS_GESTURE_ROTATE_CLASS GTK_TYPE_GESTURE_ROTATE GtkGestureRotate GtkGestureRotateClass gtk_gesture_rotate_get_type
gtkgesturesingle GtkGestureSingle gtk_gesture_single_get_touch_only gtk_gesture_single_set_touch_only gtk_gesture_single_get_exclusive gtk_gesture_single_set_exclusive gtk_gesture_single_get_button gtk_gesture_single_set_button gtk_gesture_single_get_current_button gtk_gesture_single_get_current_sequence GTK_GESTURE_SINGLE GTK_GESTURE_SINGLE_CLASS GTK_GESTURE_SINGLE_GET_CLASS GTK_IS_GESTURE_SINGLE GTK_IS_GESTURE_SINGLE_CLASS GTK_TYPE_GESTURE_SINGLE GtkGestureSingle GtkGestureSingleClass gtk_gesture_single_get_type
gtkgesturestylus GtkGestureStylus gtk_gesture_stylus_new gtk_gesture_stylus_get_axis gtk_gesture_stylus_get_axes gtk_gesture_stylus_get_backlog gtk_gesture_stylus_get_device_tool GTK_GESTURE_STYLUS GTK_GESTURE_STYLUS_CLASS GTK_GESTURE_STYLUS_GET_CLASS GTK_IS_GESTURE_STYLUS GTK_IS_GESTURE_STYLUS_CLASS GTK_TYPE_GESTURE_STYLUS GtkGestureStylus GtkGestureStylusClass gtk_gesture_stylus_get_type
gtkgestureswipe GtkGestureSwipe gtk_gesture_swipe_new gtk_gesture_swipe_get_velocity GTK_GESTURE_SWIPE GTK_GESTURE_SWIPE_CLASS GTK_GESTURE_SWIPE_GET_CLASS GTK_IS_GESTURE_SWIPE GTK_IS_GESTURE_SWIPE_CLASS GTK_TYPE_GESTURE_SWIPE GtkGestureSwipe GtkGestureSwipeClass gtk_gesture_swipe_get_type
gtkgesturezoom GtkGestureZoom gtk_gesture_zoom_new gtk_gesture_zoom_get_scale_delta GTK_GESTURE_ZOOM GTK_GESTURE_ZOOM_CLASS GTK_GESTURE_ZOOM_GET_CLASS GTK_IS_GESTURE_ZOOM GTK_IS_GESTURE_ZOOM_CLASS GTK_TYPE_GESTURE_ZOOM GtkGestureZoom GtkGestureZoomClass gtk_gesture_zoom_get_type
gtkglarea GtkGLArea GtkGLArea GtkGLAreaClass gtk_gl_area_new gtk_gl_area_set_use_es gtk_gl_area_get_use_es gtk_gl_area_set_required_version gtk_gl_area_get_required_version gtk_gl_area_get_has_depth_buffer gtk_gl_area_set_has_depth_buffer gtk_gl_area_get_has_stencil_buffer gtk_gl_area_set_has_stencil_buffer gtk_gl_area_get_auto_render gtk_gl_area_set_auto_render gtk_gl_area_queue_render gtk_gl_area_get_context gtk_gl_area_make_current gtk_gl_area_attach_buffers gtk_gl_area_set_error gtk_gl_area_get_error GTK_GL_AREA GTK_GL_AREA_CLASS GTK_GL_AREA_GET_CLASS GTK_IS_GL_AREA GTK_IS_GL_AREA_CLASS GTK_TYPE_GL_AREA gtk_gl_area_get_type
gtkgrid GtkGrid GtkGridClass gtk_grid_new gtk_grid_attach gtk_grid_attach_next_to gtk_grid_get_child_at gtk_grid_remove gtk_grid_insert_row gtk_grid_insert_column gtk_grid_remove_row gtk_grid_remove_column gtk_grid_insert_next_to gtk_grid_set_row_homogeneous gtk_grid_get_row_homogeneous gtk_grid_set_row_spacing gtk_grid_get_row_spacing gtk_grid_set_column_homogeneous gtk_grid_get_column_homogeneous gtk_grid_set_column_spacing gtk_grid_get_column_spacing gtk_grid_set_row_baseline_position gtk_grid_get_row_baseline_position gtk_grid_set_baseline_row gtk_grid_get_baseline_row gtk_grid_query_child GTK_GRID GTK_GRID_CLASS GTK_GRID_GET_CLASS GTK_IS_GRID GTK_IS_GRID_CLASS GTK_TYPE_GRID GtkGrid gtk_grid_get_type
gtkgridlayout GTK_TYPE_GRID_LAYOUT GTK_TYPE_GRID_LAYOUT_CHILD gtk_grid_layout_new gtk_grid_layout_set_row_homogeneous gtk_grid_layout_get_row_homogeneous gtk_grid_layout_set_row_spacing gtk_grid_layout_get_row_spacing gtk_grid_layout_set_column_homogeneous gtk_grid_layout_get_column_homogeneous gtk_grid_layout_set_column_spacing gtk_grid_layout_get_column_spacing gtk_grid_layout_set_row_baseline_position gtk_grid_layout_get_row_baseline_position gtk_grid_layout_set_baseline_row gtk_grid_layout_get_baseline_row gtk_grid_layout_child_set_top_attach gtk_grid_layout_child_get_top_attach gtk_grid_layout_child_set_left_attach gtk_grid_layout_child_get_left_attach gtk_grid_layout_child_set_column_span gtk_grid_layout_child_get_column_span gtk_grid_layout_child_set_row_span gtk_grid_layout_child_get_row_span GtkGridLayout GtkGridLayoutChild
gtkgridview GtkGridView gtk_grid_view_new gtk_grid_view_new_with_factory gtk_grid_view_get_model gtk_grid_view_set_model gtk_grid_view_set_factory gtk_grid_view_get_factory gtk_grid_view_get_min_columns gtk_grid_view_set_min_columns gtk_grid_view_get_max_columns gtk_grid_view_set_max_columns gtk_grid_view_set_enable_rubberband gtk_grid_view_get_enable_rubberband gtk_grid_view_set_single_click_activate gtk_grid_view_get_single_click_activate GtkGridView GTK_GRID_VIEW GTK_GRID_VIEW_CLASS GTK_GRID_VIEW_GET_CLASS GTK_IS_GRID_VIEW GTK_IS_GRID_VIEW_CLASS GTK_TYPE_GRID_VIEW GtkGridViewClass gtk_grid_view_get_type
gtkheaderbar gtk_header_bar_new gtk_header_bar_set_title_widget gtk_header_bar_get_title_widget gtk_header_bar_pack_start gtk_header_bar_pack_end gtk_header_bar_remove gtk_header_bar_get_show_title_buttons gtk_header_bar_set_show_title_buttons gtk_header_bar_set_decoration_layout gtk_header_bar_get_decoration_layout GTK_HEADER_BAR GTK_IS_HEADER_BAR GTK_TYPE_HEADER_BAR GtkHeaderBar gtk_header_bar_get_type
gtkicontheme GtkIconLookupFlags GTK_ICON_THEME_ERROR GtkIconThemeError gtk_icon_theme_error_quark gtk_icon_theme_new gtk_icon_theme_get_for_display gtk_icon_theme_set_search_path gtk_icon_theme_get_search_path gtk_icon_theme_add_search_path gtk_icon_theme_set_resource_path gtk_icon_theme_get_resource_path gtk_icon_theme_add_resource_path gtk_icon_theme_set_theme_name gtk_icon_theme_get_theme_name gtk_icon_theme_has_icon gtk_icon_theme_get_icon_sizes gtk_icon_theme_lookup_icon gtk_icon_theme_lookup_by_gicon gtk_icon_paintable_new_for_file gtk_icon_theme_get_icon_names gtk_icon_paintable_get_file gtk_icon_paintable_get_icon_name gtk_icon_paintable_is_symbolic GTK_ICON_PAINTABLE GTK_ICON_THEME GTK_IS_ICON_PAINTABLE GTK_IS_ICON_THEME GTK_TYPE_ICON_PAINTABLE GTK_TYPE_ICON_THEME GtkIconPaintable GtkIconTheme gtk_icon_paintable_get_type gtk_icon_theme_get_type
gtkiconview GtkIconViewForeachFunc GtkIconViewDropPosition gtk_icon_view_new gtk_icon_view_new_with_area gtk_icon_view_new_with_model gtk_icon_view_set_model gtk_icon_view_get_model gtk_icon_view_set_text_column gtk_icon_view_get_text_column gtk_icon_view_set_markup_column gtk_icon_view_get_markup_column gtk_icon_view_set_pixbuf_column gtk_icon_view_get_pixbuf_column gtk_icon_view_set_item_orientation gtk_icon_view_get_item_orientation gtk_icon_view_set_columns gtk_icon_view_get_columns gtk_icon_view_set_item_width gtk_icon_view_get_item_width gtk_icon_view_set_spacing gtk_icon_view_get_spacing gtk_icon_view_set_row_spacing gtk_icon_view_get_row_spacing gtk_icon_view_set_column_spacing gtk_icon_view_get_column_spacing gtk_icon_view_set_margin gtk_icon_view_get_margin gtk_icon_view_set_item_padding gtk_icon_view_get_item_padding gtk_icon_view_get_path_at_pos gtk_icon_view_get_item_at_pos gtk_icon_view_get_visible_range gtk_icon_view_set_activate_on_single_click gtk_icon_view_get_activate_on_single_click gtk_icon_view_selected_foreach gtk_icon_view_set_selection_mode gtk_icon_view_get_selection_mode gtk_icon_view_select_path gtk_icon_view_unselect_path gtk_icon_view_path_is_selected gtk_icon_view_get_item_row gtk_icon_view_get_item_column gtk_icon_view_get_selected_items gtk_icon_view_select_all gtk_icon_view_unselect_all gtk_icon_view_item_activated gtk_icon_view_set_cursor gtk_icon_view_get_cursor gtk_icon_view_scroll_to_path gtk_icon_view_enable_model_drag_source gtk_icon_view_enable_model_drag_dest gtk_icon_view_unset_model_drag_source gtk_icon_view_unset_model_drag_dest gtk_icon_view_set_reorderable gtk_icon_view_get_reorderable gtk_icon_view_set_drag_dest_item gtk_icon_view_get_drag_dest_item gtk_icon_view_get_dest_item_at_pos gtk_icon_view_create_drag_icon gtk_icon_view_get_cell_rect gtk_icon_view_set_tooltip_item gtk_icon_view_set_tooltip_cell gtk_icon_view_get_tooltip_context gtk_icon_view_set_tooltip_column gtk_icon_view_get_tooltip_column GTK_ICON_VIEW GTK_IS_ICON_VIEW GTK_TYPE_ICON_VIEW GtkIconView gtk_icon_view_get_type
gtkimage GtkImageType gtk_image_new gtk_image_new_from_file gtk_image_new_from_resource gtk_image_new_from_pixbuf gtk_image_new_from_paintable gtk_image_new_from_icon_name gtk_image_new_from_gicon gtk_image_clear gtk_image_set_from_file gtk_image_set_from_resource gtk_image_set_from_pixbuf gtk_image_set_from_paintable gtk_image_set_from_icon_name gtk_image_set_from_gicon gtk_image_set_pixel_size gtk_image_set_icon_size gtk_image_get_storage_type gtk_image_get_paintable gtk_image_get_icon_name gtk_image_get_gicon gtk_image_get_pixel_size gtk_image_get_icon_size GTK_IMAGE GTK_IS_IMAGE GTK_TYPE_IMAGE GtkImage gtk_image_get_type
gtkimcontext GtkIMContext gtk_im_context_set_client_widget gtk_im_context_get_preedit_string gtk_im_context_filter_keypress gtk_im_context_filter_key gtk_im_context_focus_in gtk_im_context_focus_out gtk_im_context_reset gtk_im_context_set_cursor_location gtk_im_context_set_use_preedit gtk_im_context_set_surrounding gtk_im_context_get_surrounding gtk_im_context_delete_surrounding GTK_IM_CONTEXT GTK_IM_CONTEXT_CLASS GTK_IM_CONTEXT_GET_CLASS GTK_IS_IM_CONTEXT GTK_IS_IM_CONTEXT_CLASS GTK_TYPE_IM_CONTEXT GtkIMContext GtkIMContextClass gtk_im_context_get_type
gtkimcontextbroadway gtk_im_context_broadway_get_type
gtkimcontextime GtkIMContextIME gtk_im_context_ime_register_type gtk_im_context_ime_new GTK_IM_CONTEXT_IME GTK_IM_CONTEXT_IME_CLASS GTK_IM_CONTEXT_IME_GET_CLASS GTK_IS_IM_CONTEXT_IME GTK_IS_IM_CONTEXT_IME_CLASS GTK_TYPE_IM_CONTEXT_IME GtkIMContextIME GtkIMContextIMEClass GtkIMContextIMEPrivate gtk_im_context_ime_get_type
gtkimcontextquartz gtk_im_context_quartz_get_type
gtkimcontextsimple GtkIMContextSimple GTK_MAX_COMPOSE_LEN gtk_im_context_simple_new gtk_im_context_simple_add_table gtk_im_context_simple_add_compose_file GTK_IM_CONTEXT_SIMPLE GTK_IM_CONTEXT_SIMPLE_CLASS GTK_IM_CONTEXT_SIMPLE_GET_CLASS GTK_IS_IM_CONTEXT_SIMPLE GTK_IS_IM_CONTEXT_SIMPLE_CLASS GTK_TYPE_IM_CONTEXT_SIMPLE GtkIMContextSimple GtkIMContextSimpleClass GtkIMContextSimplePrivate gtk_im_context_simple_get_type
gtkimcontextsimpleseqs
gtkimcontextwayland gtk_im_context_wayland_get_type
gtkimmodule gtk_im_modules_init GTK_IM_MODULE_EXTENSION_POINT_NAME
gtkimmulticontext GtkIMMulticontext gtk_im_multicontext_new gtk_im_multicontext_get_context_id gtk_im_multicontext_set_context_id GTK_IM_MULTICONTEXT GTK_IM_MULTICONTEXT_CLASS GTK_IM_MULTICONTEXT_GET_CLASS GTK_IS_IM_MULTICONTEXT GTK_IS_IM_MULTICONTEXT_CLASS GTK_TYPE_IM_MULTICONTEXT GtkIMMulticontext GtkIMMulticontextClass GtkIMMulticontextPrivate gtk_im_multicontext_get_type
gtkinfobar gtk_info_bar_new gtk_info_bar_new_with_buttons gtk_info_bar_add_action_widget gtk_info_bar_remove_action_widget gtk_info_bar_add_button gtk_info_bar_add_buttons gtk_info_bar_add_child gtk_info_bar_remove_child gtk_info_bar_set_response_sensitive gtk_info_bar_set_default_response gtk_info_bar_response gtk_info_bar_set_message_type gtk_info_bar_get_message_type gtk_info_bar_set_show_close_button gtk_info_bar_get_show_close_button gtk_info_bar_set_revealed gtk_info_bar_get_revealed GTK_INFO_BAR GTK_IS_INFO_BAR GTK_TYPE_INFO_BAR GtkInfoBar gtk_info_bar_get_type
gtkintl P_ I_
gtkistringprivate istring_is_inline istring_str istring_clear istring_set istring_empty istring_ends_with_space istring_starts_with_space istring_contains_unichar istring_only_contains_space istring_contains_space istring_prepend istring_append
gtklabel gtk_label_new gtk_label_new_with_mnemonic gtk_label_set_text gtk_label_get_text gtk_label_set_attributes gtk_label_get_attributes gtk_label_set_label gtk_label_get_label gtk_label_set_markup gtk_label_set_use_markup gtk_label_get_use_markup gtk_label_set_use_underline gtk_label_get_use_underline gtk_label_set_markup_with_mnemonic gtk_label_get_mnemonic_keyval gtk_label_set_mnemonic_widget gtk_label_get_mnemonic_widget gtk_label_set_text_with_mnemonic gtk_label_set_justify gtk_label_get_justify gtk_label_set_ellipsize gtk_label_get_ellipsize gtk_label_set_width_chars gtk_label_get_width_chars gtk_label_set_max_width_chars gtk_label_get_max_width_chars gtk_label_set_lines gtk_label_get_lines gtk_label_set_wrap gtk_label_get_wrap gtk_label_set_wrap_mode gtk_label_get_wrap_mode gtk_label_set_selectable gtk_label_get_selectable gtk_label_select_region gtk_label_get_selection_bounds gtk_label_get_layout gtk_label_get_layout_offsets gtk_label_set_single_line_mode gtk_label_get_single_line_mode gtk_label_get_current_uri gtk_label_set_xalign gtk_label_get_xalign gtk_label_set_yalign gtk_label_get_yalign gtk_label_set_extra_menu gtk_label_get_extra_menu GTK_IS_LABEL GTK_LABEL GTK_TYPE_LABEL GtkLabel gtk_label_get_type
gtklayoutchild GtkLayoutChild GTK_TYPE_LAYOUT_CHILD GtkLayoutChildClass gtk_layout_child_get_layout_manager gtk_layout_child_get_child_widget GtkLayoutChild
gtklayoutmanager GtkLayoutManager GTK_TYPE_LAYOUT_MANAGER GtkLayoutManagerClass gtk_layout_manager_measure gtk_layout_manager_allocate gtk_layout_manager_get_request_mode gtk_layout_manager_get_widget gtk_layout_manager_layout_changed gtk_layout_manager_get_layout_child GtkLayoutManager
gtklayoutmanagerprivate gtk_layout_manager_set_widget gtk_layout_manager_remove_layout_child gtk_layout_manager_set_root
gtklevelbar GTK_LEVEL_BAR_OFFSET_LOW GTK_LEVEL_BAR_OFFSET_HIGH GTK_LEVEL_BAR_OFFSET_FULL gtk_level_bar_new gtk_level_bar_new_for_interval gtk_level_bar_set_mode gtk_level_bar_get_mode gtk_level_bar_set_value gtk_level_bar_get_value gtk_level_bar_set_min_value gtk_level_bar_get_min_value gtk_level_bar_set_max_value gtk_level_bar_get_max_value gtk_level_bar_set_inverted gtk_level_bar_get_inverted gtk_level_bar_add_offset_value gtk_level_bar_remove_offset_value gtk_level_bar_get_offset_value GTK_IS_LEVEL_BAR GTK_LEVEL_BAR GTK_TYPE_LEVEL_BAR GtkLevelBar gtk_level_bar_get_type
gtklinkbutton gtk_link_button_new gtk_link_button_new_with_label gtk_link_button_get_uri gtk_link_button_set_uri gtk_link_button_get_visited gtk_link_button_set_visited GTK_IS_LINK_BUTTON GTK_LINK_BUTTON GTK_TYPE_LINK_BUTTON GtkLinkButton gtk_link_button_get_type
gtklistbase GtkListBase GtkListBase GTK_IS_LIST_BASE GTK_IS_LIST_BASE_CLASS GTK_LIST_BASE GTK_LIST_BASE_CLASS GTK_LIST_BASE_GET_CLASS GTK_TYPE_LIST_BASE GtkListBaseClass gtk_list_base_get_type
gtklistbox GtkListBoxRow GtkListBoxRowClass GtkListBoxFilterFunc GtkListBoxSortFunc GtkListBoxUpdateHeaderFunc GtkListBoxCreateWidgetFunc gtk_list_box_row_new gtk_list_box_row_set_child gtk_list_box_row_get_child gtk_list_box_row_get_header gtk_list_box_row_set_header gtk_list_box_row_get_index gtk_list_box_row_changed gtk_list_box_row_is_selected gtk_list_box_row_set_selectable gtk_list_box_row_get_selectable gtk_list_box_row_set_activatable gtk_list_box_row_get_activatable gtk_list_box_prepend gtk_list_box_insert gtk_list_box_remove gtk_list_box_get_selected_row gtk_list_box_get_row_at_index gtk_list_box_get_row_at_y gtk_list_box_select_row gtk_list_box_set_placeholder gtk_list_box_set_adjustment gtk_list_box_get_adjustment GtkListBoxForeachFunc gtk_list_box_selected_foreach gtk_list_box_get_selected_rows gtk_list_box_unselect_row gtk_list_box_select_all gtk_list_box_unselect_all gtk_list_box_set_selection_mode gtk_list_box_get_selection_mode gtk_list_box_set_filter_func gtk_list_box_set_header_func gtk_list_box_invalidate_filter gtk_list_box_invalidate_sort gtk_list_box_invalidate_headers gtk_list_box_set_sort_func gtk_list_box_set_activate_on_single_click gtk_list_box_get_activate_on_single_click gtk_list_box_drag_unhighlight_row gtk_list_box_drag_highlight_row gtk_list_box_new gtk_list_box_bind_model gtk_list_box_set_show_separators gtk_list_box_get_show_separators GTK_IS_LIST_BOX GTK_IS_LIST_BOX_ROW GTK_IS_LIST_BOX_ROW_CLASS GTK_LIST_BOX GTK_LIST_BOX_ROW GTK_LIST_BOX_ROW_CLASS GTK_LIST_BOX_ROW_GET_CLASS GTK_TYPE_LIST_BOX GTK_TYPE_LIST_BOX_ROW GtkListBox GtkListBoxRow gtk_list_box_get_type gtk_list_box_row_get_type
gtklistitem GtkListItem gtk_list_item_get_item gtk_list_item_get_position gtk_list_item_get_selected gtk_list_item_get_selectable gtk_list_item_set_selectable gtk_list_item_get_activatable gtk_list_item_set_activatable gtk_list_item_set_child gtk_list_item_get_child GTK_IS_LIST_ITEM GTK_IS_LIST_ITEM_CLASS GTK_LIST_ITEM GTK_LIST_ITEM_CLASS GTK_LIST_ITEM_GET_CLASS GTK_TYPE_LIST_ITEM GtkListItem GtkListItemClass gtk_list_item_get_type
gtklistitemfactory GtkListItemFactory GTK_IS_LIST_ITEM_FACTORY GTK_IS_LIST_ITEM_FACTORY_CLASS GTK_LIST_ITEM_FACTORY GTK_LIST_ITEM_FACTORY_CLASS GTK_LIST_ITEM_FACTORY_GET_CLASS GTK_TYPE_LIST_ITEM_FACTORY GtkListItemFactoryClass gtk_list_item_factory_get_type
gtklistlistmodelprivate GtkListListModel gtk_list_list_model_new gtk_list_list_model_new_with_size gtk_list_list_model_item_added gtk_list_list_model_item_added_at gtk_list_list_model_item_removed gtk_list_list_model_item_removed_at gtk_list_list_model_item_moved gtk_list_list_model_clear GTK_IS_LIST_LIST_MODEL GTK_IS_LIST_LIST_MODEL_CLASS GTK_LIST_LIST_MODEL GTK_LIST_LIST_MODEL_CLASS GTK_LIST_LIST_MODEL_GET_CLASS GTK_TYPE_LIST_LIST_MODEL GtkListListModel GtkListListModelClass gtk_list_list_model_get_type
gtkliststore GtkListStore gtk_list_store_new gtk_list_store_newv gtk_list_store_set_column_types gtk_list_store_set_value gtk_list_store_set gtk_list_store_set_valuesv gtk_list_store_set_valist gtk_list_store_remove gtk_list_store_insert gtk_list_store_insert_before gtk_list_store_insert_after gtk_list_store_insert_with_values gtk_list_store_insert_with_valuesv gtk_list_store_prepend gtk_list_store_append gtk_list_store_clear gtk_list_store_iter_is_valid gtk_list_store_reorder gtk_list_store_swap gtk_list_store_move_after gtk_list_store_move_before GTK_IS_LIST_STORE GTK_IS_LIST_STORE_CLASS GTK_LIST_STORE GTK_LIST_STORE_CLASS GTK_LIST_STORE_GET_CLASS GTK_TYPE_LIST_STORE GtkListStore GtkListStoreClass GtkListStorePrivate gtk_list_store_get_type
gtklistview GtkListView gtk_list_view_new gtk_list_view_new_with_factory gtk_list_view_get_model gtk_list_view_set_model gtk_list_view_set_factory gtk_list_view_get_factory gtk_list_view_set_show_separators gtk_list_view_get_show_separators gtk_list_view_set_single_click_activate gtk_list_view_get_single_click_activate gtk_list_view_set_enable_rubberband gtk_list_view_get_enable_rubberband GtkListView GTK_IS_LIST_VIEW GTK_IS_LIST_VIEW_CLASS GTK_LIST_VIEW GTK_LIST_VIEW_CLASS GTK_LIST_VIEW_GET_CLASS GTK_TYPE_LIST_VIEW GtkListViewClass gtk_list_view_get_type
gtklockbutton gtk_lock_button_new gtk_lock_button_get_permission gtk_lock_button_set_permission GTK_IS_LOCK_BUTTON GTK_LOCK_BUTTON GTK_TYPE_LOCK_BUTTON GtkLockButton gtk_lock_button_get_type
gtkmain GTK_PRIORITY_RESIZE gtk_get_major_version gtk_get_minor_version gtk_get_micro_version gtk_get_binary_age gtk_get_interface_age gtk_check_version gtk_init gtk_init_check gtk_is_initialized gtk_init_abi_check gtk_init_check_abi_check gtk_disable_setlocale gtk_get_default_language gtk_get_locale_direction
gtkmaplistmodel GTK_TYPE_MAP_LIST_MODEL GtkMapListModelMapFunc gtk_map_list_model_new gtk_map_list_model_set_map_func gtk_map_list_model_set_model gtk_map_list_model_get_model gtk_map_list_model_has_map GtkMapListModel
gtkmarshalers
gtkmediacontrols GTK_TYPE_MEDIA_CONTROLS gtk_media_controls_new gtk_media_controls_get_media_stream gtk_media_controls_set_media_stream GtkMediaControls
gtkmediafile GtkMediaFile GTK_MEDIA_FILE_EXTENSION_POINT_NAME GTK_TYPE_MEDIA_FILE GtkMediaFileClass gtk_media_file_new gtk_media_file_new_for_filename gtk_media_file_new_for_resource gtk_media_file_new_for_file gtk_media_file_new_for_input_stream gtk_media_file_clear gtk_media_file_set_filename gtk_media_file_set_resource gtk_media_file_set_file gtk_media_file_get_file gtk_media_file_set_input_stream gtk_media_file_get_input_stream GtkMediaFile
gtkmediastream GtkMediaStream GTK_TYPE_MEDIA_STREAM GtkMediaStreamClass gtk_media_stream_is_prepared gtk_media_stream_get_error gtk_media_stream_has_audio gtk_media_stream_has_video gtk_media_stream_play gtk_media_stream_pause gtk_media_stream_get_playing gtk_media_stream_set_playing gtk_media_stream_get_ended gtk_media_stream_get_timestamp gtk_media_stream_get_duration gtk_media_stream_is_seekable gtk_media_stream_is_seeking gtk_media_stream_seek gtk_media_stream_get_loop gtk_media_stream_set_loop gtk_media_stream_get_muted gtk_media_stream_set_muted gtk_media_stream_get_volume gtk_media_stream_set_volume gtk_media_stream_realize gtk_media_stream_unrealize gtk_media_stream_prepared gtk_media_stream_unprepared gtk_media_stream_update gtk_media_stream_ended gtk_media_stream_seek_success gtk_media_stream_seek_failed gtk_media_stream_gerror gtk_media_stream_error gtk_media_stream_error_valist GtkMediaStream
gtkmenubutton GtkMenuButtonCreatePopupFunc gtk_menu_button_new gtk_menu_button_set_popover gtk_menu_button_get_popover gtk_menu_button_set_direction gtk_menu_button_get_direction gtk_menu_button_set_menu_model gtk_menu_button_get_menu_model gtk_menu_button_set_icon_name gtk_menu_button_get_icon_name gtk_menu_button_set_label gtk_menu_button_get_label gtk_menu_button_set_use_underline gtk_menu_button_get_use_underline gtk_menu_button_set_has_frame gtk_menu_button_get_has_frame gtk_menu_button_popup gtk_menu_button_popdown gtk_menu_button_set_create_popup_func GTK_IS_MENU_BUTTON GTK_MENU_BUTTON GTK_TYPE_MENU_BUTTON GtkMenuButton gtk_menu_button_get_type
gtkmessagedialog GtkMessageDialog GtkButtonsType gtk_message_dialog_new gtk_message_dialog_new_with_markup gtk_message_dialog_set_markup gtk_message_dialog_format_secondary_text gtk_message_dialog_format_secondary_markup gtk_message_dialog_get_message_area GTK_IS_MESSAGE_DIALOG GTK_MESSAGE_DIALOG GTK_TYPE_MESSAGE_DIALOG GtkMessageDialog GtkMessageDialogClass gtk_message_dialog_get_type
gtkmodelbuttonprivate GtkButtonRole gtk_model_button_new GTK_IS_MODEL_BUTTON GTK_MODEL_BUTTON GTK_TYPE_BUTTON_ROLE GTK_TYPE_MODEL_BUTTON GtkModelButton gtk_button_role_get_type gtk_model_button_get_type
gtkmountoperation GtkMountOperation GtkMountOperation GtkMountOperationClass gtk_mount_operation_new gtk_mount_operation_is_showing gtk_mount_operation_set_parent gtk_mount_operation_get_parent gtk_mount_operation_set_display gtk_mount_operation_get_display GTK_IS_MOUNT_OPERATION GTK_IS_MOUNT_OPERATION_CLASS GTK_MOUNT_OPERATION GTK_MOUNT_OPERATION_CLASS GTK_MOUNT_OPERATION_GET_CLASS GTK_TYPE_MOUNT_OPERATION GtkMountOperationPrivate gtk_mount_operation_get_type
gtkmultifilter GTK_TYPE_MULTI_FILTER gtk_multi_filter_append gtk_multi_filter_remove GTK_TYPE_ANY_FILTER gtk_any_filter_new GTK_TYPE_EVERY_FILTER gtk_every_filter_new GtkAnyFilter GtkEveryFilter GtkMultiFilter
gtkmultiselection GTK_TYPE_MULTI_SELECTION gtk_multi_selection_new gtk_multi_selection_get_model gtk_multi_selection_set_model GtkMultiSelection
gtkmultisorter GTK_TYPE_MULTI_SORTER gtk_multi_sorter_new gtk_multi_sorter_append gtk_multi_sorter_remove GtkMultiSorter
gtknative GtkNative GTK_TYPE_NATIVE GtkNativeInterface gtk_native_get_for_surface gtk_native_check_resize gtk_native_get_surface gtk_native_get_renderer gtk_native_get_surface_transform GtkNative
gtknativedialog GtkNativeDialog GTK_TYPE_NATIVE_DIALOG GtkNativeDialogClass gtk_native_dialog_show gtk_native_dialog_hide gtk_native_dialog_destroy gtk_native_dialog_get_visible gtk_native_dialog_set_modal gtk_native_dialog_get_modal gtk_native_dialog_set_title gtk_native_dialog_get_title gtk_native_dialog_set_transient_for gtk_native_dialog_get_transient_for GtkNativeDialog
gtknoselection GTK_TYPE_NO_SELECTION gtk_no_selection_new gtk_no_selection_get_model gtk_no_selection_set_model GtkNoSelection
gtknotebook GtkNotebookTab gtk_notebook_new gtk_notebook_append_page gtk_notebook_append_page_menu gtk_notebook_prepend_page gtk_notebook_prepend_page_menu gtk_notebook_insert_page gtk_notebook_insert_page_menu gtk_notebook_remove_page gtk_notebook_set_group_name gtk_notebook_get_group_name gtk_notebook_get_current_page gtk_notebook_get_nth_page gtk_notebook_get_n_pages gtk_notebook_page_num gtk_notebook_set_current_page gtk_notebook_next_page gtk_notebook_prev_page gtk_notebook_set_show_border gtk_notebook_get_show_border gtk_notebook_set_show_tabs gtk_notebook_get_show_tabs gtk_notebook_set_tab_pos gtk_notebook_get_tab_pos gtk_notebook_set_scrollable gtk_notebook_get_scrollable gtk_notebook_popup_enable gtk_notebook_popup_disable gtk_notebook_get_tab_label gtk_notebook_set_tab_label gtk_notebook_set_tab_label_text gtk_notebook_get_tab_label_text gtk_notebook_get_menu_label gtk_notebook_set_menu_label gtk_notebook_set_menu_label_text gtk_notebook_get_menu_label_text gtk_notebook_reorder_child gtk_notebook_get_tab_reorderable gtk_notebook_set_tab_reorderable gtk_notebook_get_tab_detachable gtk_notebook_set_tab_detachable gtk_notebook_detach_tab gtk_notebook_get_action_widget gtk_notebook_set_action_widget gtk_notebook_get_page gtk_notebook_page_get_child gtk_notebook_get_pages GTK_IS_NOTEBOOK GTK_IS_NOTEBOOK_PAGE GTK_NOTEBOOK GTK_NOTEBOOK_PAGE GTK_TYPE_NOTEBOOK GTK_TYPE_NOTEBOOK_PAGE GtkNotebook GtkNotebookPage gtk_notebook_get_type gtk_notebook_page_get_type
gtknumericsorter GTK_TYPE_NUMERIC_SORTER gtk_numeric_sorter_new gtk_numeric_sorter_get_expression gtk_numeric_sorter_set_expression gtk_numeric_sorter_get_sort_order gtk_numeric_sorter_set_sort_order GtkNumericSorter
gtkorientable GtkOrientable gtk_orientable_set_orientation gtk_orientable_get_orientation GTK_IS_ORIENTABLE GTK_IS_ORIENTABLE_CLASS GTK_ORIENTABLE GTK_ORIENTABLE_CLASS GTK_ORIENTABLE_GET_IFACE GTK_TYPE_ORIENTABLE GtkOrientable GtkOrientableIface gtk_orientable_get_type
gtkoverlay gtk_overlay_new gtk_overlay_add_overlay gtk_overlay_remove_overlay gtk_overlay_set_child gtk_overlay_get_child gtk_overlay_get_measure_overlay gtk_overlay_set_measure_overlay gtk_overlay_get_clip_overlay gtk_overlay_set_clip_overlay GTK_IS_OVERLAY GTK_OVERLAY GTK_TYPE_OVERLAY GtkOverlay gtk_overlay_get_type
gtkoverlaylayout GTK_TYPE_OVERLAY_LAYOUT GTK_TYPE_OVERLAY_LAYOUT_CHILD gtk_overlay_layout_new gtk_overlay_layout_child_set_measure gtk_overlay_layout_child_get_measure gtk_overlay_layout_child_set_clip_overlay gtk_overlay_layout_child_get_clip_overlay GtkOverlayLayout GtkOverlayLayoutChild
gtkpadcontroller GtkPadController GtkPadActionType GtkPadActionEntry gtk_pad_controller_new gtk_pad_controller_set_action_entries gtk_pad_controller_set_action GTK_IS_PAD_CONTROLLER GTK_IS_PAD_CONTROLLER_CLASS GTK_PAD_CONTROLLER GTK_PAD_CONTROLLER_CLASS GTK_PAD_CONTROLLER_GET_CLASS GTK_TYPE_PAD_CONTROLLER GtkPadController GtkPadControllerClass gtk_pad_controller_get_type
gtkpagesetup gtk_page_setup_new gtk_page_setup_copy gtk_page_setup_get_orientation gtk_page_setup_set_orientation gtk_page_setup_get_paper_size gtk_page_setup_set_paper_size gtk_page_setup_get_top_margin gtk_page_setup_set_top_margin gtk_page_setup_get_bottom_margin gtk_page_setup_set_bottom_margin gtk_page_setup_get_left_margin gtk_page_setup_set_left_margin gtk_page_setup_get_right_margin gtk_page_setup_set_right_margin gtk_page_setup_set_paper_size_and_default_margins gtk_page_setup_get_paper_width gtk_page_setup_get_paper_height gtk_page_setup_get_page_width gtk_page_setup_get_page_height gtk_page_setup_new_from_file gtk_page_setup_load_file gtk_page_setup_to_file gtk_page_setup_new_from_key_file gtk_page_setup_load_key_file gtk_page_setup_to_key_file gtk_page_setup_to_gvariant gtk_page_setup_new_from_gvariant GTK_IS_PAGE_SETUP GTK_PAGE_SETUP GTK_TYPE_PAGE_SETUP GtkPageSetup gtk_page_setup_get_type
gtkpagesetupunixdialog gtk_page_setup_unix_dialog_new gtk_page_setup_unix_dialog_set_page_setup gtk_page_setup_unix_dialog_get_page_setup gtk_page_setup_unix_dialog_set_print_settings gtk_page_setup_unix_dialog_get_print_settings GTK_IS_PAGE_SETUP_UNIX_DIALOG GTK_PAGE_SETUP_UNIX_DIALOG GTK_TYPE_PAGE_SETUP_UNIX_DIALOG GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_get_type
gtkpaned gtk_paned_new gtk_paned_set_start_child gtk_paned_get_start_child gtk_paned_set_resize_start_child gtk_paned_get_resize_start_child gtk_paned_set_end_child gtk_paned_get_end_child gtk_paned_set_shrink_start_child gtk_paned_get_shrink_start_child gtk_paned_set_resize_end_child gtk_paned_get_resize_end_child gtk_paned_set_shrink_end_child gtk_paned_get_shrink_end_child gtk_paned_get_position gtk_paned_set_position gtk_paned_set_wide_handle gtk_paned_get_wide_handle GTK_IS_PANED GTK_PANED GTK_TYPE_PANED GtkPaned gtk_paned_get_type
gtkpapersize GTK_PAPER_NAME_A3 GTK_PAPER_NAME_A4 GTK_PAPER_NAME_A5 GTK_PAPER_NAME_B5 GTK_PAPER_NAME_LETTER GTK_PAPER_NAME_EXECUTIVE GTK_PAPER_NAME_LEGAL gtk_paper_size_new gtk_paper_size_new_from_ppd gtk_paper_size_new_from_ipp gtk_paper_size_new_custom gtk_paper_size_copy gtk_paper_size_free gtk_paper_size_is_equal gtk_paper_size_get_paper_sizes gtk_paper_size_get_name gtk_paper_size_get_display_name gtk_paper_size_get_ppd_name gtk_paper_size_get_width gtk_paper_size_get_height gtk_paper_size_is_custom gtk_paper_size_is_ipp gtk_paper_size_set_size gtk_paper_size_get_default_top_margin gtk_paper_size_get_default_bottom_margin gtk_paper_size_get_default_left_margin gtk_paper_size_get_default_right_margin gtk_paper_size_get_default gtk_paper_size_new_from_key_file gtk_paper_size_to_key_file gtk_paper_size_new_from_gvariant gtk_paper_size_to_gvariant GTK_TYPE_PAPER_SIZE GtkPaperSize gtk_paper_size_get_type
gtkpasswordentry GtkPasswordEntry gtk_password_entry_new gtk_password_entry_set_show_peek_icon gtk_password_entry_get_show_peek_icon gtk_password_entry_set_extra_menu gtk_password_entry_get_extra_menu GTK_IS_PASSWORD_ENTRY GTK_PASSWORD_ENTRY GTK_TYPE_PASSWORD_ENTRY GtkPasswordEntry GtkPasswordEntryClass gtk_password_entry_get_type
gtkpasswordentryprivate gtk_password_entry_get_text_widget
gtkpathbar GTK_IS_PATH_BAR GTK_PATH_BAR GTK_TYPE_PATH_BAR GtkPathBar gtk_path_bar_get_type
gtkpicture GTK_TYPE_PICTURE gtk_picture_new gtk_picture_new_for_paintable gtk_picture_new_for_pixbuf gtk_picture_new_for_file gtk_picture_new_for_filename gtk_picture_new_for_resource gtk_picture_set_paintable gtk_picture_get_paintable gtk_picture_set_file gtk_picture_get_file gtk_picture_set_filename gtk_picture_set_resource gtk_picture_set_pixbuf gtk_picture_set_keep_aspect_ratio gtk_picture_get_keep_aspect_ratio gtk_picture_set_can_shrink gtk_picture_get_can_shrink gtk_picture_set_alternative_text gtk_picture_get_alternative_text GtkPicture
gtkpopover GtkPopover gtk_popover_new gtk_popover_set_child gtk_popover_get_child gtk_popover_set_pointing_to gtk_popover_get_pointing_to gtk_popover_set_position gtk_popover_get_position gtk_popover_set_autohide gtk_popover_get_autohide gtk_popover_set_has_arrow gtk_popover_get_has_arrow gtk_popover_set_mnemonics_visible gtk_popover_get_mnemonics_visible gtk_popover_popup gtk_popover_popdown gtk_popover_set_default_widget GTK_IS_POPOVER GTK_IS_POPOVER_CLASS GTK_POPOVER GTK_POPOVER_CLASS GTK_POPOVER_GET_CLASS GTK_TYPE_POPOVER GtkPopover GtkPopoverClass gtk_popover_get_type
gtkpopovermenu gtk_popover_menu_new_from_model GtkPopoverMenuFlags gtk_popover_menu_new_from_model_full gtk_popover_menu_set_menu_model gtk_popover_menu_get_menu_model GTK_IS_POPOVER_MENU GTK_POPOVER_MENU GTK_TYPE_POPOVER_MENU GtkPopoverMenu gtk_popover_menu_get_type
gtkpopovermenubar gtk_popover_menu_bar_new_from_model gtk_popover_menu_bar_set_menu_model gtk_popover_menu_bar_get_menu_model GTK_IS_POPOVER_MENU_BAR GTK_POPOVER_MENU_BAR GTK_TYPE_POPOVER_MENU_BAR GtkPopoverMenuBar gtk_popover_menu_bar_get_type
gtkpopovermenubarprivate gtk_popover_menu_bar_select_first gtk_popover_menu_bar_get_viewable_menu_bars
gtkpopovermenuprivate gtk_popover_menu_get_active_item gtk_popover_menu_set_active_item gtk_popover_menu_get_open_submenu gtk_popover_menu_set_open_submenu gtk_popover_menu_get_parent_menu gtk_popover_menu_set_parent_menu gtk_popover_menu_new gtk_popover_menu_add_submenu gtk_popover_menu_open_submenu
gtkprint-win32 START_PAGE_GENERAL PD_RESULT_CANCEL PD_RESULT_PRINT PD_RESULT_APPLY PD_NOCURRENTPAGE PD_CURRENTPAGE GtkPrintWin32Devnames gtk_print_win32_devnames_free gtk_print_win32_devnames_from_win32 gtk_print_win32_devnames_from_printer_name gtk_print_win32_devnames_to_win32 gtk_print_win32_devnames_to_win32_from_printer_name
gtkprintbackendprivate GtkPrintBackend GTK_PRINT_BACKEND_ERROR GtkPrintBackendError gtk_print_backend_error_quark GtkPrintBackendStatus GTK_PRINT_BACKEND_EXTENSION_POINT_NAME gtk_print_backend_get_printer_list gtk_print_backend_get_printers gtk_print_backend_printer_list_is_done gtk_print_backend_find_printer gtk_print_backend_print_stream gtk_print_backend_load_modules gtk_print_backend_destroy gtk_print_backend_set_password gtk_print_backend_add_printer gtk_print_backend_remove_printer gtk_print_backend_set_list_done gtk_printer_is_new gtk_printer_set_accepts_pdf gtk_printer_set_accepts_ps gtk_printer_set_is_new gtk_printer_set_is_active gtk_printer_set_is_paused gtk_printer_set_is_accepting_jobs gtk_printer_set_has_details gtk_printer_set_is_default gtk_printer_set_icon_name gtk_printer_set_job_count gtk_printer_set_location gtk_printer_set_description gtk_printer_set_state_message gtk_print_backends_init GTK_IS_PRINT_BACKEND GTK_IS_PRINT_BACKEND_CLASS GTK_PRINT_BACKEND GTK_PRINT_BACKEND_CLASS GTK_PRINT_BACKEND_GET_CLASS GTK_TYPE_PRINT_BACKEND GtkPrintBackend GtkPrintBackendClass GtkPrintBackendPrivate gtk_print_backend_get_type
gtkprintcontext gtk_print_context_get_cairo_context gtk_print_context_get_page_setup gtk_print_context_get_width gtk_print_context_get_height gtk_print_context_get_dpi_x gtk_print_context_get_dpi_y gtk_print_context_get_hard_margins gtk_print_context_get_pango_fontmap gtk_print_context_create_pango_context gtk_print_context_create_pango_layout gtk_print_context_set_cairo_context GTK_IS_PRINT_CONTEXT GTK_PRINT_CONTEXT GTK_TYPE_PRINT_CONTEXT GtkPrintContext gtk_print_context_get_type
gtkprinter GtkPrintCapabilities gtk_printer_new gtk_printer_get_backend gtk_printer_get_name gtk_printer_get_state_message gtk_printer_get_description gtk_printer_get_location gtk_printer_get_icon_name gtk_printer_get_job_count gtk_printer_is_active gtk_printer_is_paused gtk_printer_is_accepting_jobs gtk_printer_is_virtual gtk_printer_is_default gtk_printer_accepts_pdf gtk_printer_accepts_ps gtk_printer_list_papers gtk_printer_get_default_page_size gtk_printer_compare gtk_printer_has_details gtk_printer_request_details gtk_printer_get_capabilities gtk_printer_get_hard_margins gtk_printer_get_hard_margins_for_paper_size GtkPrinterFunc gtk_enumerate_printers GtkPrintBackend GTK_IS_PRINTER GTK_PRINTER GTK_TYPE_PRINTER GTK_TYPE_PRINT_CAPABILITIES GtkPrinter gtk_print_capabilities_get_type gtk_printer_get_type
gtkprinteroption GtkPrinterOption GTK_PRINTER_OPTION_GROUP_IMAGE_QUALITY GTK_PRINTER_OPTION_GROUP_FINISHING GtkPrinterOptionType gtk_printer_option_new gtk_printer_option_set gtk_printer_option_set_has_conflict gtk_printer_option_clear_has_conflict gtk_printer_option_set_boolean gtk_printer_option_allocate_choices gtk_printer_option_choices_from_array gtk_printer_option_has_choice gtk_printer_option_set_activates_default gtk_printer_option_get_activates_default GTK_IS_PRINTER_OPTION GTK_PRINTER_OPTION GTK_TYPE_PRINTER_OPTION GtkPrinterOption GtkPrinterOptionClass gtk_printer_option_get_type
gtkprinteroptionset GtkPrinterOptionSet GtkPrinterOptionSetFunc gtk_printer_option_set_new gtk_printer_option_set_add gtk_printer_option_set_remove gtk_printer_option_set_lookup gtk_printer_option_set_foreach gtk_printer_option_set_clear_conflicts gtk_printer_option_set_get_groups gtk_printer_option_set_foreach_in_group GTK_IS_PRINTER_OPTION_SET GTK_PRINTER_OPTION_SET GTK_TYPE_PRINTER_OPTION_SET GtkPrinterOptionSet GtkPrinterOptionSetClass gtk_printer_option_set_get_type
gtkprinteroptionwidget GtkPrinterOptionWidget gtk_printer_option_widget_new gtk_printer_option_widget_set_source gtk_printer_option_widget_has_external_label gtk_printer_option_widget_get_external_label gtk_printer_option_widget_get_value GTK_IS_PRINTER_OPTION_WIDGET GTK_IS_PRINTER_OPTION_WIDGET_CLASS GTK_PRINTER_OPTION_WIDGET GTK_PRINTER_OPTION_WIDGET_CLASS GTK_PRINTER_OPTION_WIDGET_GET_CLASS GTK_TYPE_PRINTER_OPTION_WIDGET GtkPrinterOptionWidget GtkPrinterOptionWidgetClass GtkPrinterOptionWidgetPrivate gtk_printer_option_widget_get_type
gtkprintjob GtkPrintJobCompleteFunc gtk_print_job_new gtk_print_job_get_settings gtk_print_job_get_printer gtk_print_job_get_title gtk_print_job_get_status gtk_print_job_set_source_file gtk_print_job_set_source_fd gtk_print_job_get_surface gtk_print_job_set_track_print_status gtk_print_job_get_track_print_status gtk_print_job_send gtk_print_job_get_pages gtk_print_job_set_pages gtk_print_job_get_page_ranges gtk_print_job_set_page_ranges gtk_print_job_get_page_set gtk_print_job_set_page_set gtk_print_job_get_num_copies gtk_print_job_set_num_copies gtk_print_job_get_scale gtk_print_job_set_scale gtk_print_job_get_n_up gtk_print_job_set_n_up gtk_print_job_get_n_up_layout gtk_print_job_set_n_up_layout gtk_print_job_get_rotate gtk_print_job_set_rotate gtk_print_job_get_collate gtk_print_job_set_collate gtk_print_job_get_reverse gtk_print_job_set_reverse GTK_IS_PRINT_JOB GTK_PRINT_JOB GTK_TYPE_PRINT_JOB GtkPrintJob gtk_print_job_get_type
gtkprintoperation GtkPrintOperation GtkPrintStatus GtkPrintOperationResult GtkPrintOperationAction GtkPrintOperationClass GTK_PRINT_ERROR GtkPrintError gtk_print_error_quark gtk_print_operation_new gtk_print_operation_set_default_page_setup gtk_print_operation_get_default_page_setup gtk_print_operation_set_print_settings gtk_print_operation_get_print_settings gtk_print_operation_set_job_name gtk_print_operation_set_n_pages gtk_print_operation_set_current_page gtk_print_operation_set_use_full_page gtk_print_operation_set_unit gtk_print_operation_set_export_filename gtk_print_operation_set_track_print_status gtk_print_operation_set_show_progress gtk_print_operation_set_allow_async gtk_print_operation_set_custom_tab_label gtk_print_operation_run gtk_print_operation_get_error gtk_print_operation_get_status gtk_print_operation_get_status_string gtk_print_operation_is_finished gtk_print_operation_cancel gtk_print_operation_draw_page_finish gtk_print_operation_set_defer_drawing gtk_print_operation_set_support_selection gtk_print_operation_get_support_selection gtk_print_operation_set_has_selection gtk_print_operation_get_has_selection gtk_print_operation_set_embed_page_setup gtk_print_operation_get_embed_page_setup gtk_print_operation_get_n_pages_to_print gtk_print_run_page_setup_dialog GtkPageSetupDoneFunc gtk_print_run_page_setup_dialog_async GTK_IS_PRINT_OPERATION GTK_IS_PRINT_OPERATION_CLASS GTK_PRINT_OPERATION GTK_PRINT_OPERATION_CLASS GTK_PRINT_OPERATION_GET_CLASS GTK_TYPE_PRINT_OPERATION GtkPrintOperation GtkPrintOperationPrivate gtk_print_operation_get_type
gtkprintoperation-portal gtk_print_operation_portal_run_dialog gtk_print_operation_portal_run_dialog_async gtk_print_operation_portal_launch_preview
gtkprintoperationpreview GtkPrintOperationPreview gtk_print_operation_preview_render_page gtk_print_operation_preview_end_preview gtk_print_operation_preview_is_selected GTK_IS_PRINT_OPERATION_PREVIEW GTK_PRINT_OPERATION_PREVIEW GTK_PRINT_OPERATION_PREVIEW_GET_IFACE GTK_TYPE_PRINT_OPERATION_PREVIEW GtkPrintOperationPreview GtkPrintOperationPreviewIface gtk_print_operation_preview_get_type
gtkprintsettings GtkPrintSettingsFunc GtkPageRange gtk_print_settings_new gtk_print_settings_copy gtk_print_settings_new_from_file gtk_print_settings_load_file gtk_print_settings_to_file gtk_print_settings_new_from_key_file gtk_print_settings_load_key_file gtk_print_settings_to_key_file gtk_print_settings_has_key gtk_print_settings_get gtk_print_settings_set gtk_print_settings_unset gtk_print_settings_foreach gtk_print_settings_get_bool gtk_print_settings_set_bool gtk_print_settings_get_double gtk_print_settings_get_double_with_default gtk_print_settings_set_double gtk_print_settings_get_length gtk_print_settings_set_length gtk_print_settings_get_int gtk_print_settings_get_int_with_default gtk_print_settings_set_int GTK_PRINT_SETTINGS_PRINTER GTK_PRINT_SETTINGS_ORIENTATION GTK_PRINT_SETTINGS_PAPER_FORMAT GTK_PRINT_SETTINGS_PAPER_WIDTH GTK_PRINT_SETTINGS_PAPER_HEIGHT GTK_PRINT_SETTINGS_N_COPIES GTK_PRINT_SETTINGS_DEFAULT_SOURCE GTK_PRINT_SETTINGS_QUALITY GTK_PRINT_SETTINGS_RESOLUTION GTK_PRINT_SETTINGS_USE_COLOR GTK_PRINT_SETTINGS_DUPLEX GTK_PRINT_SETTINGS_COLLATE GTK_PRINT_SETTINGS_REVERSE GTK_PRINT_SETTINGS_MEDIA_TYPE GTK_PRINT_SETTINGS_DITHER GTK_PRINT_SETTINGS_SCALE GTK_PRINT_SETTINGS_PRINT_PAGES GTK_PRINT_SETTINGS_PAGE_RANGES GTK_PRINT_SETTINGS_PAGE_SET GTK_PRINT_SETTINGS_FINISHINGS GTK_PRINT_SETTINGS_NUMBER_UP GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT GTK_PRINT_SETTINGS_OUTPUT_BIN GTK_PRINT_SETTINGS_RESOLUTION_X GTK_PRINT_SETTINGS_RESOLUTION_Y GTK_PRINT_SETTINGS_PRINTER_LPI GTK_PRINT_SETTINGS_OUTPUT_DIR GTK_PRINT_SETTINGS_OUTPUT_BASENAME GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT GTK_PRINT_SETTINGS_OUTPUT_URI GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA gtk_print_settings_get_printer gtk_print_settings_set_printer gtk_print_settings_get_orientation gtk_print_settings_set_orientation gtk_print_settings_get_paper_size gtk_print_settings_set_paper_size gtk_print_settings_get_paper_width gtk_print_settings_set_paper_width gtk_print_settings_get_paper_height gtk_print_settings_set_paper_height gtk_print_settings_get_use_color gtk_print_settings_set_use_color gtk_print_settings_get_collate gtk_print_settings_set_collate gtk_print_settings_get_reverse gtk_print_settings_set_reverse gtk_print_settings_get_duplex gtk_print_settings_set_duplex gtk_print_settings_get_quality gtk_print_settings_set_quality gtk_print_settings_get_n_copies gtk_print_settings_set_n_copies gtk_print_settings_get_number_up gtk_print_settings_set_number_up gtk_print_settings_get_number_up_layout gtk_print_settings_set_number_up_layout gtk_print_settings_get_resolution gtk_print_settings_set_resolution gtk_print_settings_get_resolution_x gtk_print_settings_get_resolution_y gtk_print_settings_set_resolution_xy gtk_print_settings_get_printer_lpi gtk_print_settings_set_printer_lpi gtk_print_settings_get_scale gtk_print_settings_set_scale gtk_print_settings_get_print_pages gtk_print_settings_set_print_pages gtk_print_settings_get_page_ranges gtk_print_settings_set_page_ranges gtk_print_settings_get_page_set gtk_print_settings_set_page_set gtk_print_settings_get_default_source gtk_print_settings_set_default_source gtk_print_settings_get_media_type gtk_print_settings_set_media_type gtk_print_settings_get_dither gtk_print_settings_set_dither gtk_print_settings_get_finishings gtk_print_settings_set_finishings gtk_print_settings_get_output_bin gtk_print_settings_set_output_bin gtk_print_settings_to_gvariant gtk_print_settings_new_from_gvariant GTK_IS_PRINT_SETTINGS GTK_PRINT_SETTINGS GTK_TYPE_PRINT_SETTINGS GtkPrintSettings gtk_print_settings_get_type
gtkprintunixdialog gtk_print_unix_dialog_new gtk_print_unix_dialog_set_page_setup gtk_print_unix_dialog_get_page_setup gtk_print_unix_dialog_set_current_page gtk_print_unix_dialog_get_current_page gtk_print_unix_dialog_set_settings gtk_print_unix_dialog_get_settings gtk_print_unix_dialog_get_selected_printer gtk_print_unix_dialog_add_custom_tab gtk_print_unix_dialog_set_manual_capabilities gtk_print_unix_dialog_get_manual_capabilities gtk_print_unix_dialog_set_support_selection gtk_print_unix_dialog_get_support_selection gtk_print_unix_dialog_set_has_selection gtk_print_unix_dialog_get_has_selection gtk_print_unix_dialog_set_embed_page_setup gtk_print_unix_dialog_get_embed_page_setup gtk_print_unix_dialog_get_page_setup_set GTK_IS_PRINT_UNIX_DIALOG GTK_PRINT_UNIX_DIALOG GTK_TYPE_PRINT_UNIX_DIALOG GtkPrintUnixDialog gtk_print_unix_dialog_get_type
gtkprintutils MM_PER_INCH POINTS_PER_INCH
gtkprivatetypebuiltins GTK_TYPE_CSS_AFFECTS GTK_TYPE_TEXT_HANDLE_ROLE
gtkprogressbar gtk_progress_bar_new gtk_progress_bar_pulse gtk_progress_bar_set_text gtk_progress_bar_set_fraction gtk_progress_bar_set_pulse_step gtk_progress_bar_set_inverted gtk_progress_bar_get_text gtk_progress_bar_get_fraction gtk_progress_bar_get_pulse_step gtk_progress_bar_get_inverted gtk_progress_bar_set_ellipsize gtk_progress_bar_get_ellipsize gtk_progress_bar_set_show_text gtk_progress_bar_get_show_text GTK_IS_PROGRESS_BAR GTK_PROGRESS_BAR GTK_TYPE_PROGRESS_BAR GtkProgressBar gtk_progress_bar_get_type
gtkpropertylookuplistmodelprivate GtkPropertyLookupListModel gtk_property_lookup_list_model_new gtk_property_lookup_list_model_set_object gtk_property_lookup_list_model_get_object GTK_IS_PROPERTY_LOOKUP_LIST_MODEL GTK_IS_PROPERTY_LOOKUP_LIST_MODEL_CLASS GTK_PROPERTY_LOOKUP_LIST_MODEL GTK_PROPERTY_LOOKUP_LIST_MODEL_CLASS GTK_PROPERTY_LOOKUP_LIST_MODEL_GET_CLASS GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL GtkPropertyLookupListModel GtkPropertyLookupListModelClass gtk_property_lookup_list_model_get_type
gtkquartz
gtkradiobutton gtk_radio_button_new gtk_radio_button_new_from_widget gtk_radio_button_new_with_label gtk_radio_button_new_with_label_from_widget gtk_radio_button_new_with_mnemonic gtk_radio_button_new_with_mnemonic_from_widget gtk_radio_button_get_group gtk_radio_button_set_group gtk_radio_button_join_group GTK_IS_RADIO_BUTTON GTK_RADIO_BUTTON GTK_TYPE_RADIO_BUTTON GtkRadioButton gtk_radio_button_get_type
gtkrange GtkRange gtk_range_set_adjustment gtk_range_get_adjustment gtk_range_set_inverted gtk_range_get_inverted gtk_range_set_flippable gtk_range_get_flippable gtk_range_set_slider_size_fixed gtk_range_get_slider_size_fixed gtk_range_get_range_rect gtk_range_get_slider_range gtk_range_set_increments gtk_range_set_range gtk_range_set_value gtk_range_get_value gtk_range_set_show_fill_level gtk_range_get_show_fill_level gtk_range_set_restrict_to_fill_level gtk_range_get_restrict_to_fill_level gtk_range_set_fill_level gtk_range_get_fill_level gtk_range_set_round_digits gtk_range_get_round_digits GTK_IS_RANGE GTK_IS_RANGE_CLASS GTK_RANGE GTK_RANGE_CLASS GTK_RANGE_GET_CLASS GTK_TYPE_RANGE GtkRange GtkRangeClass gtk_range_get_type
gtkrecentmanager GtkRecentManager GtkRecentData GtkRecentManager GtkRecentManagerClass GtkRecentManagerError GTK_RECENT_MANAGER_ERROR gtk_recent_manager_error_quark gtk_recent_manager_new gtk_recent_manager_get_default gtk_recent_manager_add_item gtk_recent_manager_add_full gtk_recent_manager_remove_item gtk_recent_manager_lookup_item gtk_recent_manager_has_item gtk_recent_manager_move_item gtk_recent_manager_get_items gtk_recent_manager_purge_items gtk_recent_info_ref gtk_recent_info_unref gtk_recent_info_get_uri gtk_recent_info_get_display_name gtk_recent_info_get_description gtk_recent_info_get_mime_type gtk_recent_info_get_added gtk_recent_info_get_modified gtk_recent_info_get_visited gtk_recent_info_get_private_hint gtk_recent_info_get_application_info gtk_recent_info_create_app_info gtk_recent_info_get_applications gtk_recent_info_last_application gtk_recent_info_has_application gtk_recent_info_get_groups gtk_recent_info_has_group gtk_recent_info_get_gicon gtk_recent_info_get_short_name gtk_recent_info_get_uri_display gtk_recent_info_get_age gtk_recent_info_is_local gtk_recent_info_exists gtk_recent_info_match GTK_IS_RECENT_MANAGER GTK_IS_RECENT_MANAGER_CLASS GTK_RECENT_MANAGER GTK_RECENT_MANAGER_CLASS GTK_RECENT_MANAGER_GET_CLASS GTK_TYPE_RECENT_INFO GTK_TYPE_RECENT_MANAGER GtkRecentInfo GtkRecentManagerPrivate gtk_recent_info_get_type gtk_recent_manager_get_type
gtkrender gtk_render_check gtk_render_option gtk_render_arrow gtk_render_background gtk_render_frame gtk_render_expander gtk_render_focus gtk_render_layout gtk_render_line gtk_render_slider gtk_render_handle gtk_render_activity gtk_render_icon
gtkresources
gtkrevealer GtkRevealerTransitionType gtk_revealer_new gtk_revealer_get_reveal_child gtk_revealer_set_reveal_child gtk_revealer_get_child_revealed gtk_revealer_get_transition_duration gtk_revealer_set_transition_duration gtk_revealer_set_transition_type gtk_revealer_get_transition_type gtk_revealer_set_child gtk_revealer_get_child GTK_IS_REVEALER GTK_REVEALER GTK_TYPE_REVEALER GtkRevealer gtk_revealer_get_type
gtkroot GTK_TYPE_ROOT gtk_root_get_display gtk_root_set_focus gtk_root_get_focus GtkRoot GtkRootInterface
gtkrootprivate GtkRoot GtkRootInterface gtk_root_get_constraint_solver gtk_root_start_layout gtk_root_stop_layout gtk_root_queue_restyle
gtkscale GtkScale GtkScaleFormatValueFunc gtk_scale_new gtk_scale_new_with_range gtk_scale_set_digits gtk_scale_get_digits gtk_scale_set_draw_value gtk_scale_get_draw_value gtk_scale_set_has_origin gtk_scale_get_has_origin gtk_scale_set_value_pos gtk_scale_get_value_pos gtk_scale_get_layout gtk_scale_get_layout_offsets gtk_scale_add_mark gtk_scale_clear_marks gtk_scale_set_format_value_func GTK_IS_SCALE GTK_IS_SCALE_CLASS GTK_SCALE GTK_SCALE_CLASS GTK_SCALE_GET_CLASS GTK_TYPE_SCALE GtkScale GtkScaleClass gtk_scale_get_type
gtkscalebutton GtkScaleButton gtk_scale_button_new gtk_scale_button_set_icons gtk_scale_button_get_value gtk_scale_button_set_value gtk_scale_button_get_adjustment gtk_scale_button_set_adjustment gtk_scale_button_get_plus_button gtk_scale_button_get_minus_button gtk_scale_button_get_popup GTK_IS_SCALE_BUTTON GTK_IS_SCALE_BUTTON_CLASS GTK_SCALE_BUTTON GTK_SCALE_BUTTON_CLASS GTK_SCALE_BUTTON_GET_CLASS GTK_TYPE_SCALE_BUTTON GtkScaleButton GtkScaleButtonClass gtk_scale_button_get_type
gtkscrollable GtkScrollable gtk_scrollable_get_hadjustment gtk_scrollable_set_hadjustment gtk_scrollable_get_vadjustment gtk_scrollable_set_vadjustment gtk_scrollable_get_hscroll_policy gtk_scrollable_set_hscroll_policy gtk_scrollable_get_vscroll_policy gtk_scrollable_set_vscroll_policy gtk_scrollable_get_border GTK_IS_SCROLLABLE GTK_SCROLLABLE GTK_SCROLLABLE_GET_IFACE GTK_TYPE_SCROLLABLE GtkScrollable GtkScrollableInterface gtk_scrollable_get_type
gtkscrollbar gtk_scrollbar_new gtk_scrollbar_set_adjustment gtk_scrollbar_get_adjustment GTK_IS_SCROLLBAR GTK_SCROLLBAR GTK_TYPE_SCROLLBAR GtkScrollbar gtk_scrollbar_get_type
gtkscrolledwindow GtkCornerType GtkPolicyType gtk_scrolled_window_new gtk_scrolled_window_set_hadjustment gtk_scrolled_window_set_vadjustment gtk_scrolled_window_get_hadjustment gtk_scrolled_window_get_vadjustment gtk_scrolled_window_get_hscrollbar gtk_scrolled_window_get_vscrollbar gtk_scrolled_window_set_policy gtk_scrolled_window_get_policy gtk_scrolled_window_set_placement gtk_scrolled_window_unset_placement gtk_scrolled_window_get_placement gtk_scrolled_window_set_has_frame gtk_scrolled_window_get_has_frame gtk_scrolled_window_get_min_content_width gtk_scrolled_window_set_min_content_width gtk_scrolled_window_get_min_content_height gtk_scrolled_window_set_min_content_height gtk_scrolled_window_set_kinetic_scrolling gtk_scrolled_window_get_kinetic_scrolling gtk_scrolled_window_set_capture_button_press gtk_scrolled_window_get_capture_button_press gtk_scrolled_window_set_overlay_scrolling gtk_scrolled_window_get_overlay_scrolling gtk_scrolled_window_set_max_content_width gtk_scrolled_window_get_max_content_width gtk_scrolled_window_set_max_content_height gtk_scrolled_window_get_max_content_height gtk_scrolled_window_set_propagate_natural_width gtk_scrolled_window_get_propagate_natural_width gtk_scrolled_window_set_propagate_natural_height gtk_scrolled_window_get_propagate_natural_height gtk_scrolled_window_set_child gtk_scrolled_window_get_child GTK_IS_SCROLLED_WINDOW GTK_SCROLLED_WINDOW GTK_TYPE_SCROLLED_WINDOW GtkScrolledWindow gtk_scrolled_window_get_type
gtksearchbar gtk_search_bar_new gtk_search_bar_connect_entry gtk_search_bar_get_search_mode gtk_search_bar_set_search_mode gtk_search_bar_get_show_close_button gtk_search_bar_set_show_close_button gtk_search_bar_set_key_capture_widget gtk_search_bar_get_key_capture_widget gtk_search_bar_set_child gtk_search_bar_get_child GTK_IS_SEARCH_BAR GTK_SEARCH_BAR GTK_TYPE_SEARCH_BAR GtkSearchBar gtk_search_bar_get_type
gtksearchengine GtkSearchEngine GtkSearchHit GTK_IS_SEARCH_ENGINE GTK_IS_SEARCH_ENGINE_CLASS GTK_SEARCH_ENGINE GTK_SEARCH_ENGINE_CLASS GTK_SEARCH_ENGINE_GET_CLASS GTK_TYPE_SEARCH_ENGINE GtkSearchEngine GtkSearchEngineClass GtkSearchEnginePrivate
gtksearchenginemodel GtkSearchEngineModel GTK_IS_SEARCH_ENGINE_MODEL GTK_IS_SEARCH_ENGINE_MODEL_CLASS GTK_SEARCH_ENGINE_MODEL GTK_SEARCH_ENGINE_MODEL_CLASS GTK_SEARCH_ENGINE_MODEL_GET_CLASS GTK_TYPE_SEARCH_ENGINE_MODEL GtkSearchEngineModel GtkSearchEngineModelClass
gtksearchenginequartz GtkSearchEngineQuartz GTK_IS_SEARCH_ENGINE_QUARTZ GTK_IS_SEARCH_ENGINE_QUARTZ_CLASS GTK_SEARCH_ENGINE_QUARTZ GTK_SEARCH_ENGINE_QUARTZ_CLASS GTK_SEARCH_ENGINE_QUARTZ_GET_CLASS GTK_TYPE_SEARCH_ENGINE_QUARTZ GtkSearchEngineQuartz GtkSearchEngineQuartzClass GtkSearchEngineQuartzPrivate
gtksearchenginetracker3 GTK_TYPE_SEARCH_ENGINE_TRACKER3 gtk_search_engine_tracker3_new GtkSearchEngineTracker3
gtksearchentry gtk_search_entry_new gtk_search_entry_set_key_capture_widget gtk_search_entry_get_key_capture_widget GTK_IS_SEARCH_ENTRY GTK_SEARCH_ENTRY GTK_TYPE_SEARCH_ENTRY GtkSearchEntry gtk_search_entry_get_type
gtkselectionfiltermodel GTK_TYPE_SELECTION_FILTER_MODEL gtk_selection_filter_model_new gtk_selection_filter_model_new_for_type gtk_selection_filter_model_set_model gtk_selection_filter_model_get_model GtkSelectionFilterModel
gtkselectionmodel GtkSelectionModel GTK_TYPE_SELECTION_MODEL GtkSelectionModelInterface gtk_selection_model_is_selected gtk_selection_model_get_selection gtk_selection_model_get_selection_in_range gtk_selection_model_select_item gtk_selection_model_unselect_item gtk_selection_model_select_range gtk_selection_model_unselect_range gtk_selection_model_select_all gtk_selection_model_unselect_all gtk_selection_model_set_selection gtk_selection_model_selection_changed GtkSelectionModel
gtkseparator gtk_separator_new GTK_IS_SEPARATOR GTK_SEPARATOR GTK_TYPE_SEPARATOR GtkSeparator gtk_separator_get_type
gtksettings GtkSettingsValue gtk_settings_get_default gtk_settings_get_for_display gtk_settings_reset_property GTK_IS_SETTINGS GTK_SETTINGS GTK_TYPE_SETTINGS gtk_settings_get_type
gtkshortcut GTK_TYPE_SHORTCUT gtk_shortcut_new gtk_shortcut_new_with_arguments gtk_shortcut_get_trigger gtk_shortcut_set_trigger gtk_shortcut_get_action gtk_shortcut_set_action gtk_shortcut_get_arguments gtk_shortcut_set_arguments GtkShortcut
gtkshortcutaction GTK_TYPE_SHORTCUT_ACTION GtkShortcutFunc GtkShortcutActionFlags gtk_shortcut_action_to_string gtk_shortcut_action_parse_string gtk_shortcut_action_print gtk_shortcut_action_activate GTK_TYPE_NOTHING_ACTION gtk_nothing_action_get GTK_TYPE_CALLBACK_ACTION gtk_callback_action_new GTK_TYPE_MNEMONIC_ACTION gtk_mnemonic_action_get GTK_TYPE_ACTIVATE_ACTION gtk_activate_action_get GTK_TYPE_SIGNAL_ACTION gtk_signal_action_new gtk_signal_action_get_signal_name GTK_TYPE_NAMED_ACTION gtk_named_action_new gtk_named_action_get_action_name GtkActivateAction GtkCallbackAction GtkMnemonicAction GtkNamedAction GtkNothingAction GtkShortcutAction GtkSignalAction
gtkshortcutactionprivate gtk_shortcut_action_parse_builder
gtkshortcutcontroller GtkShortcutController gtk_shortcut_controller_new gtk_shortcut_controller_new_for_model gtk_shortcut_controller_set_mnemonics_modifiers gtk_shortcut_controller_get_mnemonics_modifiers gtk_shortcut_controller_set_scope gtk_shortcut_controller_get_scope gtk_shortcut_controller_add_shortcut gtk_shortcut_controller_remove_shortcut GTK_IS_SHORTCUT_CONTROLLER GTK_IS_SHORTCUT_CONTROLLER_CLASS GTK_SHORTCUT_CONTROLLER GTK_SHORTCUT_CONTROLLER_CLASS GTK_SHORTCUT_CONTROLLER_GET_CLASS GTK_TYPE_SHORTCUT_CONTROLLER GtkShortcutController GtkShortcutControllerClass gtk_shortcut_controller_get_type
gtkshortcutlabel GtkShortcutLabel gtk_shortcut_label_new gtk_shortcut_label_get_accelerator gtk_shortcut_label_set_accelerator gtk_shortcut_label_get_disabled_text gtk_shortcut_label_set_disabled_text GTK_IS_SHORTCUT_LABEL GTK_SHORTCUT_LABEL GTK_TYPE_SHORTCUT_LABEL GtkShortcutLabel GtkShortcutLabelClass gtk_shortcut_label_get_type
gtkshortcutmanager GtkShortcutManager GTK_TYPE_SHORTCUT_MANAGER GtkShortcutManagerInterface GtkShortcutManager
gtkshortcutmanagerprivate gtk_shortcut_manager_create_controllers
gtkshortcutsgroup GtkShortcutsGroup GTK_IS_SHORTCUTS_GROUP GTK_SHORTCUTS_GROUP GTK_TYPE_SHORTCUTS_GROUP GtkShortcutsGroup GtkShortcutsGroupClass gtk_shortcuts_group_get_type
gtkshortcutssection GtkShortcutsSection GTK_IS_SHORTCUTS_SECTION GTK_SHORTCUTS_SECTION GTK_TYPE_SHORTCUTS_SECTION GtkShortcutsSection GtkShortcutsSectionClass gtk_shortcuts_section_get_type
gtkshortcutsshortcut GtkShortcutsShortcut GtkShortcutType GTK_IS_SHORTCUTS_SHORTCUT GTK_SHORTCUTS_SHORTCUT GTK_TYPE_SHORTCUTS_SHORTCUT GtkShortcutsShortcut GtkShortcutsShortcutClass gtk_shortcuts_shortcut_get_type
gtkshortcutswindow GtkShortcutsWindow GTK_IS_SHORTCUTS_WINDOW GTK_SHORTCUTS_WINDOW GTK_TYPE_SHORTCUTS_WINDOW GtkShortcutsWindow GtkShortcutsWindowClass gtk_shortcuts_window_get_type
gtkshortcuttrigger GTK_TYPE_SHORTCUT_TRIGGER gtk_shortcut_trigger_parse_string gtk_shortcut_trigger_to_string gtk_shortcut_trigger_print gtk_shortcut_trigger_to_label gtk_shortcut_trigger_print_label gtk_shortcut_trigger_hash gtk_shortcut_trigger_equal gtk_shortcut_trigger_compare gtk_shortcut_trigger_trigger GTK_TYPE_NEVER_TRIGGER gtk_never_trigger_get GTK_TYPE_KEYVAL_TRIGGER gtk_keyval_trigger_new gtk_keyval_trigger_get_modifiers gtk_keyval_trigger_get_keyval GTK_TYPE_MNEMONIC_TRIGGER gtk_mnemonic_trigger_new gtk_mnemonic_trigger_get_keyval GTK_TYPE_ALTERNATIVE_TRIGGER gtk_alternative_trigger_new gtk_alternative_trigger_get_first gtk_alternative_trigger_get_second GtkAlternativeTrigger GtkKeyvalTrigger GtkMnemonicTrigger GtkNeverTrigger GtkShortcutTrigger
gtkshow gtk_show_uri_full gtk_show_uri_full_finish gtk_show_uri
gtksignallistitemfactory GtkSignalListItemFactory gtk_signal_list_item_factory_new GtkSignalListItemFactory GTK_IS_SIGNAL_LIST_ITEM_FACTORY GTK_IS_SIGNAL_LIST_ITEM_FACTORY_CLASS GTK_SIGNAL_LIST_ITEM_FACTORY GTK_SIGNAL_LIST_ITEM_FACTORY_CLASS GTK_SIGNAL_LIST_ITEM_FACTORY_GET_CLASS GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY GtkSignalListItemFactoryClass gtk_signal_list_item_factory_get_type
gtksingleselection GTK_TYPE_SINGLE_SELECTION gtk_single_selection_new gtk_single_selection_get_model gtk_single_selection_set_model gtk_single_selection_get_selected gtk_single_selection_set_selected gtk_single_selection_get_selected_item gtk_single_selection_get_autoselect gtk_single_selection_set_autoselect gtk_single_selection_get_can_unselect gtk_single_selection_set_can_unselect GtkSingleSelection
gtksizegroup gtk_size_group_new gtk_size_group_set_mode gtk_size_group_get_mode gtk_size_group_add_widget gtk_size_group_remove_widget gtk_size_group_get_widgets GTK_IS_SIZE_GROUP GTK_SIZE_GROUP GTK_TYPE_SIZE_GROUP GtkSizeGroup gtk_size_group_get_type
gtksizerequest GtkRequestedSize gtk_distribute_natural_allocation
gtkslicelistmodel GTK_TYPE_SLICE_LIST_MODEL gtk_slice_list_model_new gtk_slice_list_model_set_model gtk_slice_list_model_get_model gtk_slice_list_model_set_offset gtk_slice_list_model_get_offset gtk_slice_list_model_set_size gtk_slice_list_model_get_size GtkSliceListModel
gtksnapshot GtkSnapshot gtk_snapshot_new gtk_snapshot_free_to_node gtk_snapshot_free_to_paintable gtk_snapshot_to_node gtk_snapshot_to_paintable gtk_snapshot_push_debug gtk_snapshot_push_opacity gtk_snapshot_push_blur gtk_snapshot_push_color_matrix gtk_snapshot_push_repeat gtk_snapshot_push_clip gtk_snapshot_push_rounded_clip gtk_snapshot_push_shadow gtk_snapshot_push_blend gtk_snapshot_push_cross_fade gtk_snapshot_pop gtk_snapshot_save gtk_snapshot_restore gtk_snapshot_transform gtk_snapshot_transform_matrix gtk_snapshot_translate gtk_snapshot_translate_3d gtk_snapshot_rotate gtk_snapshot_rotate_3d gtk_snapshot_scale gtk_snapshot_scale_3d gtk_snapshot_perspective gtk_snapshot_append_node gtk_snapshot_append_cairo gtk_snapshot_append_texture gtk_snapshot_append_color gtk_snapshot_append_linear_gradient gtk_snapshot_append_repeating_linear_gradient gtk_snapshot_append_border gtk_snapshot_append_inset_shadow gtk_snapshot_append_outset_shadow gtk_snapshot_append_layout gtk_snapshot_render_background gtk_snapshot_render_frame gtk_snapshot_render_focus gtk_snapshot_render_layout gtk_snapshot_render_insertion_cursor GTK_IS_SNAPSHOT GTK_SNAPSHOT GTK_TYPE_SNAPSHOT GtkSnapshotClass gtk_snapshot_get_type
gtksorter GtkSorter GtkSorterOrder GtkSorterChange GTK_TYPE_SORTER GtkSorterClass gtk_sorter_compare gtk_sorter_get_order gtk_sorter_changed GtkSorter
gtksorterprivate gtk_sorter_get_keys gtk_sorter_changed_with_keys
gtksortkeysprivate GtkSortKeys GtkSortKeys GtkSortKeysClass gtk_sort_keys_alloc gtk_sort_keys_new gtk_sort_keys_ref gtk_sort_keys_unref gtk_sort_keys_new_equal gtk_sort_keys_get_key_size gtk_sort_keys_get_key_align gtk_sort_keys_get_key_compare_func gtk_sort_keys_is_compatible gtk_sort_keys_needs_clear_key GTK_SORT_KEYS_ALIGN gtk_sort_keys_compare gtk_sort_keys_init_key gtk_sort_keys_clear_key
gtksortlistmodel GTK_TYPE_SORT_LIST_MODEL gtk_sort_list_model_new gtk_sort_list_model_set_sorter gtk_sort_list_model_get_sorter gtk_sort_list_model_set_model gtk_sort_list_model_get_model gtk_sort_list_model_set_incremental gtk_sort_list_model_get_incremental gtk_sort_list_model_get_pending GtkSortListModel
gtkspinbutton GTK_INPUT_ERROR GtkSpinButtonUpdatePolicy GtkSpinType gtk_spin_button_configure gtk_spin_button_new gtk_spin_button_new_with_range gtk_spin_button_set_adjustment gtk_spin_button_get_adjustment gtk_spin_button_set_digits gtk_spin_button_get_digits gtk_spin_button_set_increments gtk_spin_button_get_increments gtk_spin_button_set_range gtk_spin_button_get_range gtk_spin_button_get_value gtk_spin_button_get_value_as_int gtk_spin_button_set_value gtk_spin_button_set_update_policy gtk_spin_button_get_update_policy gtk_spin_button_set_numeric gtk_spin_button_get_numeric gtk_spin_button_spin gtk_spin_button_set_wrap gtk_spin_button_get_wrap gtk_spin_button_set_snap_to_ticks gtk_spin_button_get_snap_to_ticks gtk_spin_button_update GTK_IS_SPIN_BUTTON GTK_SPIN_BUTTON GTK_TYPE_SPIN_BUTTON GtkSpinButton gtk_spin_button_get_type
gtkspinner gtk_spinner_new gtk_spinner_start gtk_spinner_stop gtk_spinner_set_spinning gtk_spinner_get_spinning GTK_IS_SPINNER GTK_SPINNER GTK_TYPE_SPINNER GtkSpinner gtk_spinner_get_type
gtkstack GtkStackTransitionType gtk_stack_page_get_child gtk_stack_page_get_visible gtk_stack_page_set_visible gtk_stack_page_get_needs_attention gtk_stack_page_set_needs_attention gtk_stack_page_get_use_underline gtk_stack_page_set_use_underline gtk_stack_page_get_name gtk_stack_page_set_name gtk_stack_page_get_title gtk_stack_page_set_title gtk_stack_page_get_icon_name gtk_stack_page_set_icon_name gtk_stack_new gtk_stack_add_named gtk_stack_add_titled gtk_stack_remove gtk_stack_get_page gtk_stack_get_child_by_name gtk_stack_set_visible_child gtk_stack_get_visible_child gtk_stack_set_visible_child_name gtk_stack_get_visible_child_name gtk_stack_set_visible_child_full gtk_stack_set_hhomogeneous gtk_stack_get_hhomogeneous gtk_stack_set_vhomogeneous gtk_stack_get_vhomogeneous gtk_stack_set_transition_duration gtk_stack_get_transition_duration gtk_stack_set_transition_type gtk_stack_get_transition_type gtk_stack_get_transition_running gtk_stack_set_interpolate_size gtk_stack_get_interpolate_size gtk_stack_get_pages GTK_IS_STACK GTK_IS_STACK_PAGE GTK_STACK GTK_STACK_PAGE GTK_TYPE_STACK GTK_TYPE_STACK_PAGE GtkStack GtkStackPage gtk_stack_get_type gtk_stack_page_get_type
gtkstacksidebar gtk_stack_sidebar_new gtk_stack_sidebar_set_stack gtk_stack_sidebar_get_stack GTK_IS_STACK_SIDEBAR GTK_STACK_SIDEBAR GTK_TYPE_STACK_SIDEBAR GtkStackSidebar gtk_stack_sidebar_get_type
gtkstackswitcher gtk_stack_switcher_new gtk_stack_switcher_set_stack gtk_stack_switcher_get_stack GTK_IS_STACK_SWITCHER GTK_STACK_SWITCHER GTK_TYPE_STACK_SWITCHER GtkStackSwitcher gtk_stack_switcher_get_type
gtkstatusbar gtk_statusbar_new gtk_statusbar_get_context_id gtk_statusbar_push gtk_statusbar_pop gtk_statusbar_remove gtk_statusbar_remove_all GTK_IS_STATUSBAR GTK_STATUSBAR GTK_TYPE_STATUSBAR GtkStatusbar gtk_statusbar_get_type
gtkstatusbarprivate gtk_statusbar_get_message
gtkstringfilter GtkStringFilterMatchMode GTK_TYPE_STRING_FILTER gtk_string_filter_new gtk_string_filter_get_search gtk_string_filter_set_search gtk_string_filter_get_expression gtk_string_filter_set_expression gtk_string_filter_get_ignore_case gtk_string_filter_set_ignore_case gtk_string_filter_get_match_mode gtk_string_filter_set_match_mode GtkStringFilter
gtkstringlist GTK_TYPE_STRING_OBJECT gtk_string_object_new gtk_string_object_get_string GTK_TYPE_STRING_LIST gtk_string_list_new gtk_string_list_append gtk_string_list_take gtk_string_list_remove gtk_string_list_splice gtk_string_list_get_string GtkStringList GtkStringObject
gtkstringsorter GTK_TYPE_STRING_SORTER gtk_string_sorter_new gtk_string_sorter_get_expression gtk_string_sorter_set_expression gtk_string_sorter_get_ignore_case gtk_string_sorter_set_ignore_case GtkStringSorter
gtkstylecontext GtkStyleContext GTK_STYLE_CLASS_CELL GTK_STYLE_CLASS_DIM_LABEL GTK_STYLE_CLASS_ENTRY GTK_STYLE_CLASS_LABEL GTK_STYLE_CLASS_COMBOBOX_ENTRY GTK_STYLE_CLASS_BUTTON GTK_STYLE_CLASS_LIST GTK_STYLE_CLASS_LIST_ROW GTK_STYLE_CLASS_CALENDAR GTK_STYLE_CLASS_SLIDER GTK_STYLE_CLASS_BACKGROUND GTK_STYLE_CLASS_RUBBERBAND GTK_STYLE_CLASS_CSD GTK_STYLE_CLASS_TOOLTIP GTK_STYLE_CLASS_MENU GTK_STYLE_CLASS_CONTEXT_MENU GTK_STYLE_CLASS_TOUCH_SELECTION GTK_STYLE_CLASS_MENUBAR GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_TOOLBAR GTK_STYLE_CLASS_STATUSBAR GTK_STYLE_CLASS_RADIO GTK_STYLE_CLASS_CHECK GTK_STYLE_CLASS_DEFAULT GTK_STYLE_CLASS_TROUGH GTK_STYLE_CLASS_SCROLLBAR GTK_STYLE_CLASS_SCROLLBARS_JUNCTION GTK_STYLE_CLASS_SCALE GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW GTK_STYLE_CLASS_HEADER GTK_STYLE_CLASS_ACCELERATOR GTK_STYLE_CLASS_RAISED GTK_STYLE_CLASS_LINKED GTK_STYLE_CLASS_DOCK GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_MARK GTK_STYLE_CLASS_EXPANDER GTK_STYLE_CLASS_SPINBUTTON GTK_STYLE_CLASS_NOTEBOOK GTK_STYLE_CLASS_VIEW GTK_STYLE_CLASS_SIDEBAR GTK_STYLE_CLASS_IMAGE GTK_STYLE_CLASS_HIGHLIGHT GTK_STYLE_CLASS_FRAME GTK_STYLE_CLASS_DND GTK_STYLE_CLASS_PANE_SEPARATOR GTK_STYLE_CLASS_SEPARATOR GTK_STYLE_CLASS_INFO GTK_STYLE_CLASS_WARNING GTK_STYLE_CLASS_QUESTION GTK_STYLE_CLASS_ERROR GTK_STYLE_CLASS_HORIZONTAL GTK_STYLE_CLASS_VERTICAL GTK_STYLE_CLASS_TOP GTK_STYLE_CLASS_BOTTOM GTK_STYLE_CLASS_LEFT GTK_STYLE_CLASS_RIGHT GTK_STYLE_CLASS_PULSE GTK_STYLE_CLASS_ARROW GTK_STYLE_CLASS_OSD GTK_STYLE_CLASS_LEVEL_BAR GTK_STYLE_CLASS_CURSOR_HANDLE GTK_STYLE_CLASS_INSERTION_CURSOR GTK_STYLE_CLASS_TITLEBAR GTK_STYLE_CLASS_TITLE GTK_STYLE_CLASS_SUBTITLE GTK_STYLE_CLASS_NEEDS_ATTENTION GTK_STYLE_CLASS_SUGGESTED_ACTION GTK_STYLE_CLASS_DESTRUCTIVE_ACTION GTK_STYLE_CLASS_POPOVER GTK_STYLE_CLASS_POPUP GTK_STYLE_CLASS_MESSAGE_DIALOG GTK_STYLE_CLASS_FLAT GTK_STYLE_CLASS_READ_ONLY GTK_STYLE_CLASS_OVERSHOOT GTK_STYLE_CLASS_UNDERSHOOT GTK_STYLE_CLASS_PAPER GTK_STYLE_CLASS_MONOSPACE GTK_STYLE_CLASS_WIDE gtk_style_context_add_provider_for_display gtk_style_context_remove_provider_for_display gtk_style_context_add_provider gtk_style_context_remove_provider gtk_style_context_save gtk_style_context_restore gtk_style_context_set_state gtk_style_context_get_state gtk_style_context_set_scale gtk_style_context_get_scale gtk_style_context_add_class gtk_style_context_remove_class gtk_style_context_has_class gtk_style_context_set_display gtk_style_context_get_display gtk_style_context_lookup_color gtk_style_context_get_color gtk_style_context_get_border gtk_style_context_get_padding gtk_style_context_get_margin gtk_render_insertion_cursor GtkStyleContextPrintFlags gtk_style_context_to_string GTK_IS_STYLE_CONTEXT GTK_IS_STYLE_CONTEXT_CLASS GTK_STYLE_CONTEXT GTK_STYLE_CONTEXT_CLASS GTK_STYLE_CONTEXT_GET_CLASS GTK_TYPE_STYLE_CONTEXT GtkStyleContext GtkStyleContextClass gtk_style_context_get_type
gtkstyleprovider GTK_STYLE_PROVIDER_PRIORITY_FALLBACK GTK_STYLE_PROVIDER_PRIORITY_THEME GTK_STYLE_PROVIDER_PRIORITY_SETTINGS GTK_STYLE_PROVIDER_PRIORITY_APPLICATION GTK_STYLE_PROVIDER_PRIORITY_USER GTK_IS_STYLE_PROVIDER GTK_STYLE_PROVIDER GTK_TYPE_STYLE_PROVIDER GtkStyleProvider gtk_style_provider_get_type
gtkswitch gtk_switch_new gtk_switch_set_active gtk_switch_get_active gtk_switch_set_state gtk_switch_get_state GTK_IS_SWITCH GTK_SWITCH GTK_TYPE_SWITCH GtkSwitch gtk_switch_get_type
gtktestatcontext gtk_test_accessible_assert_role gtk_test_accessible_assert_property gtk_test_accessible_assert_relation gtk_test_accessible_assert_state gtk_test_accessible_has_role gtk_test_accessible_has_property gtk_test_accessible_has_relation gtk_test_accessible_has_state gtk_test_accessible_check_property gtk_test_accessible_check_relation gtk_test_accessible_check_state gtk_test_accessible_assertion_message_role
gtktestatcontextprivate GTK_TYPE_TEST_AT_CONTEXT gtk_test_at_context_new GtkTestATContext
gtktestutils gtk_test_init gtk_test_register_all_types gtk_test_list_all_types gtk_test_widget_wait_for_draw
gtktext gtk_text_new gtk_text_new_with_buffer gtk_text_get_buffer gtk_text_set_buffer gtk_text_set_visibility gtk_text_get_visibility gtk_text_set_invisible_char gtk_text_get_invisible_char gtk_text_unset_invisible_char gtk_text_set_overwrite_mode gtk_text_get_overwrite_mode gtk_text_set_max_length gtk_text_get_max_length gtk_text_get_text_length gtk_text_set_activates_default gtk_text_get_activates_default gtk_text_get_placeholder_text gtk_text_set_placeholder_text gtk_text_set_input_purpose gtk_text_get_input_purpose gtk_text_set_input_hints gtk_text_get_input_hints gtk_text_set_attributes gtk_text_get_attributes gtk_text_set_tabs gtk_text_get_tabs gtk_text_grab_focus_without_selecting gtk_text_set_extra_menu gtk_text_get_extra_menu GTK_IS_TEXT GTK_TEXT GTK_TYPE_TEXT GtkText gtk_text_get_type
gtktextattributes GtkTextAppearance GtkTextAttributes gtk_text_attributes_new gtk_text_attributes_copy gtk_text_attributes_copy_values gtk_text_attributes_unref gtk_text_attributes_ref GTK_TYPE_TEXT_ATTRIBUTES gtk_text_attributes_get_type
gtktextbtree DEBUG_VALIDATION_AND_SCROLLING DV GtkTextLineData GtkTextLine
gtktextbuffer GtkTextBuffer GtkTextBufferTargetInfo GtkTextBufferClass gtk_text_buffer_new gtk_text_buffer_get_line_count gtk_text_buffer_get_char_count gtk_text_buffer_get_tag_table gtk_text_buffer_set_text gtk_text_buffer_insert gtk_text_buffer_insert_at_cursor gtk_text_buffer_insert_interactive gtk_text_buffer_insert_interactive_at_cursor gtk_text_buffer_insert_range gtk_text_buffer_insert_range_interactive gtk_text_buffer_insert_with_tags gtk_text_buffer_insert_with_tags_by_name gtk_text_buffer_insert_markup gtk_text_buffer_delete gtk_text_buffer_delete_interactive gtk_text_buffer_backspace gtk_text_buffer_get_text gtk_text_buffer_get_slice gtk_text_buffer_insert_paintable gtk_text_buffer_insert_child_anchor gtk_text_buffer_create_child_anchor gtk_text_buffer_add_mark gtk_text_buffer_create_mark gtk_text_buffer_move_mark gtk_text_buffer_delete_mark gtk_text_buffer_get_mark gtk_text_buffer_move_mark_by_name gtk_text_buffer_delete_mark_by_name gtk_text_buffer_get_insert gtk_text_buffer_get_selection_bound gtk_text_buffer_place_cursor gtk_text_buffer_select_range gtk_text_buffer_apply_tag gtk_text_buffer_remove_tag gtk_text_buffer_apply_tag_by_name gtk_text_buffer_remove_tag_by_name gtk_text_buffer_remove_all_tags gtk_text_buffer_create_tag gtk_text_buffer_get_iter_at_line_offset gtk_text_buffer_get_iter_at_line_index gtk_text_buffer_get_iter_at_offset gtk_text_buffer_get_iter_at_line gtk_text_buffer_get_start_iter gtk_text_buffer_get_end_iter gtk_text_buffer_get_bounds gtk_text_buffer_get_iter_at_mark gtk_text_buffer_get_iter_at_child_anchor gtk_text_buffer_get_modified gtk_text_buffer_set_modified gtk_text_buffer_get_has_selection gtk_text_buffer_add_selection_clipboard gtk_text_buffer_remove_selection_clipboard gtk_text_buffer_cut_clipboard gtk_text_buffer_copy_clipboard gtk_text_buffer_paste_clipboard gtk_text_buffer_get_selection_bounds gtk_text_buffer_delete_selection gtk_text_buffer_get_selection_content gtk_text_buffer_get_can_undo gtk_text_buffer_get_can_redo gtk_text_buffer_get_enable_undo gtk_text_buffer_set_enable_undo gtk_text_buffer_get_max_undo_levels gtk_text_buffer_set_max_undo_levels gtk_text_buffer_undo gtk_text_buffer_redo gtk_text_buffer_begin_irreversible_action gtk_text_buffer_end_irreversible_action gtk_text_buffer_begin_user_action gtk_text_buffer_end_user_action GtkTextBTree GTK_IS_TEXT_BUFFER GTK_IS_TEXT_BUFFER_CLASS GTK_TEXT_BUFFER GTK_TEXT_BUFFER_CLASS GTK_TEXT_BUFFER_GET_CLASS GTK_TYPE_TEXT_BUFFER GtkTextBuffer GtkTextBufferPrivate gtk_text_buffer_get_type
gtktextchild GtkTextChildAnchor GtkTextChildAnchor gtk_text_child_anchor_new gtk_text_child_anchor_get_widgets gtk_text_child_anchor_get_deleted GTK_IS_TEXT_CHILD_ANCHOR GTK_IS_TEXT_CHILD_ANCHOR_CLASS GTK_TEXT_CHILD_ANCHOR GTK_TEXT_CHILD_ANCHOR_CLASS GTK_TEXT_CHILD_ANCHOR_GET_CLASS GTK_TYPE_TEXT_CHILD_ANCHOR GtkTextChildAnchorClass gtk_text_child_anchor_get_type
gtktextiter GtkTextSearchFlags gtk_text_iter_get_buffer gtk_text_iter_copy gtk_text_iter_free gtk_text_iter_assign gtk_text_iter_get_offset gtk_text_iter_get_line gtk_text_iter_get_line_offset gtk_text_iter_get_line_index gtk_text_iter_get_visible_line_offset gtk_text_iter_get_visible_line_index gtk_text_iter_get_char gtk_text_iter_get_slice gtk_text_iter_get_text gtk_text_iter_get_visible_slice gtk_text_iter_get_visible_text gtk_text_iter_get_paintable gtk_text_iter_get_marks gtk_text_iter_get_child_anchor gtk_text_iter_get_toggled_tags gtk_text_iter_starts_tag gtk_text_iter_ends_tag gtk_text_iter_toggles_tag gtk_text_iter_has_tag gtk_text_iter_get_tags gtk_text_iter_editable gtk_text_iter_can_insert gtk_text_iter_starts_word gtk_text_iter_ends_word gtk_text_iter_inside_word gtk_text_iter_starts_sentence gtk_text_iter_ends_sentence gtk_text_iter_inside_sentence gtk_text_iter_starts_line gtk_text_iter_ends_line gtk_text_iter_is_cursor_position gtk_text_iter_get_chars_in_line gtk_text_iter_get_bytes_in_line gtk_text_iter_get_language gtk_text_iter_is_end gtk_text_iter_is_start gtk_text_iter_forward_char gtk_text_iter_backward_char gtk_text_iter_forward_chars gtk_text_iter_backward_chars gtk_text_iter_forward_line gtk_text_iter_backward_line gtk_text_iter_forward_lines gtk_text_iter_backward_lines gtk_text_iter_forward_word_end gtk_text_iter_backward_word_start gtk_text_iter_forward_word_ends gtk_text_iter_backward_word_starts gtk_text_iter_forward_visible_line gtk_text_iter_backward_visible_line gtk_text_iter_forward_visible_lines gtk_text_iter_backward_visible_lines gtk_text_iter_forward_visible_word_end gtk_text_iter_backward_visible_word_start gtk_text_iter_forward_visible_word_ends gtk_text_iter_backward_visible_word_starts gtk_text_iter_forward_sentence_end gtk_text_iter_backward_sentence_start gtk_text_iter_forward_sentence_ends gtk_text_iter_backward_sentence_starts gtk_text_iter_forward_cursor_position gtk_text_iter_backward_cursor_position gtk_text_iter_forward_cursor_positions gtk_text_iter_backward_cursor_positions gtk_text_iter_forward_visible_cursor_position gtk_text_iter_backward_visible_cursor_position gtk_text_iter_forward_visible_cursor_positions gtk_text_iter_backward_visible_cursor_positions gtk_text_iter_set_offset gtk_text_iter_set_line gtk_text_iter_set_line_offset gtk_text_iter_set_line_index gtk_text_iter_forward_to_end gtk_text_iter_forward_to_line_end gtk_text_iter_set_visible_line_offset gtk_text_iter_set_visible_line_index gtk_text_iter_forward_to_tag_toggle gtk_text_iter_backward_to_tag_toggle GtkTextCharPredicate gtk_text_iter_forward_find_char gtk_text_iter_backward_find_char gtk_text_iter_forward_search gtk_text_iter_backward_search gtk_text_iter_equal gtk_text_iter_compare gtk_text_iter_in_range gtk_text_iter_order GtkTextBuffer GTK_TYPE_TEXT_ITER GtkTextIter gtk_text_iter_get_type
gtktextmark GtkTextMark gtk_text_mark_new gtk_text_mark_set_visible gtk_text_mark_get_visible gtk_text_mark_get_name gtk_text_mark_get_deleted gtk_text_mark_get_buffer gtk_text_mark_get_left_gravity GTK_IS_TEXT_MARK GTK_IS_TEXT_MARK_CLASS GTK_TEXT_MARK GTK_TEXT_MARK_CLASS GTK_TEXT_MARK_GET_CLASS GTK_TYPE_TEXT_MARK GtkTextMark GtkTextMarkClass gtk_text_mark_get_type
gtktextprivate GtkText GtkTextClass gtk_text_get_display_text gtk_text_enter_text gtk_text_set_positions gtk_text_get_layout gtk_text_get_layout_offsets gtk_text_reset_im_context gtk_text_get_key_controller GTK_IS_TEXT_CLASS GTK_TEXT_CLASS GTK_TEXT_GET_CLASS
gtktextsegment GtkTextLineSegment GtkTextTagInfo GtkTextToggleBody GtkTextSegSplitFunc GtkTextSegDeleteFunc GtkTextSegCleanupFunc GtkTextSegLineChangeFunc GtkTextSegCheckFunc GtkTextLineSegmentClass GtkTextLineSegment gtk_text_line_segment_split
gtktexttag GtkTextTag gtk_text_tag_new gtk_text_tag_get_priority gtk_text_tag_set_priority gtk_text_tag_changed GtkTextIter GtkTextTagTable GTK_IS_TEXT_TAG GTK_IS_TEXT_TAG_CLASS GTK_TEXT_TAG GTK_TEXT_TAG_CLASS GTK_TEXT_TAG_GET_CLASS GTK_TYPE_TEXT_TAG GtkTextTag GtkTextTagClass GtkTextTagPrivate gtk_text_tag_get_type
gtktexttagtable GtkTextTagTableForeach gtk_text_tag_table_new gtk_text_tag_table_add gtk_text_tag_table_remove gtk_text_tag_table_lookup gtk_text_tag_table_foreach gtk_text_tag_table_get_size GTK_IS_TEXT_TAG_TABLE GTK_TEXT_TAG_TABLE GTK_TYPE_TEXT_TAG_TABLE gtk_text_tag_table_get_type
gtktexttagtableprivate
gtktexttypes GtkTextLineSegment GTK_TEXT_UNKNOWN_CHAR GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN gtk_text_unknown_char_utf8_gtk_tests_only gtk_text_byte_begins_utf8_char GtkTextCounter GtkTextLineSegment GtkTextLineSegmentClass GtkTextMarkBody GtkTextToggleBody
gtktextutil gtk_text_util_create_drag_icon gtk_text_util_create_rich_drag_icon
gtktextview GtkTextView GtkTextWindowType GtkTextViewLayer GtkTextExtendSelection GTK_TEXT_VIEW_PRIORITY_VALIDATE GtkTextViewClass gtk_text_view_new gtk_text_view_new_with_buffer gtk_text_view_set_buffer gtk_text_view_get_buffer gtk_text_view_scroll_to_iter gtk_text_view_scroll_to_mark gtk_text_view_scroll_mark_onscreen gtk_text_view_move_mark_onscreen gtk_text_view_place_cursor_onscreen gtk_text_view_get_visible_rect gtk_text_view_set_cursor_visible gtk_text_view_get_cursor_visible gtk_text_view_reset_cursor_blink gtk_text_view_get_cursor_locations gtk_text_view_get_iter_location gtk_text_view_get_iter_at_location gtk_text_view_get_iter_at_position gtk_text_view_get_line_yrange gtk_text_view_get_line_at_y gtk_text_view_buffer_to_window_coords gtk_text_view_window_to_buffer_coords gtk_text_view_forward_display_line gtk_text_view_backward_display_line gtk_text_view_forward_display_line_end gtk_text_view_backward_display_line_start gtk_text_view_starts_display_line gtk_text_view_move_visually gtk_text_view_im_context_filter_keypress gtk_text_view_reset_im_context gtk_text_view_get_gutter gtk_text_view_set_gutter gtk_text_view_add_child_at_anchor gtk_text_view_add_overlay gtk_text_view_move_overlay gtk_text_view_remove gtk_text_view_set_wrap_mode gtk_text_view_get_wrap_mode gtk_text_view_set_editable gtk_text_view_get_editable gtk_text_view_set_overwrite gtk_text_view_get_overwrite gtk_text_view_set_accepts_tab gtk_text_view_get_accepts_tab gtk_text_view_set_pixels_above_lines gtk_text_view_get_pixels_above_lines gtk_text_view_set_pixels_below_lines gtk_text_view_get_pixels_below_lines gtk_text_view_set_pixels_inside_wrap gtk_text_view_get_pixels_inside_wrap gtk_text_view_set_justification gtk_text_view_get_justification gtk_text_view_set_left_margin gtk_text_view_get_left_margin gtk_text_view_set_right_margin gtk_text_view_get_right_margin gtk_text_view_set_top_margin gtk_text_view_get_top_margin gtk_text_view_set_bottom_margin gtk_text_view_get_bottom_margin gtk_text_view_set_indent gtk_text_view_get_indent gtk_text_view_set_tabs gtk_text_view_get_tabs gtk_text_view_set_input_purpose gtk_text_view_get_input_purpose gtk_text_view_set_input_hints gtk_text_view_get_input_hints gtk_text_view_set_monospace gtk_text_view_get_monospace gtk_text_view_set_extra_menu gtk_text_view_get_extra_menu GTK_IS_TEXT_VIEW GTK_IS_TEXT_VIEW_CLASS GTK_TEXT_VIEW GTK_TEXT_VIEW_CLASS GTK_TEXT_VIEW_GET_CLASS GTK_TYPE_TEXT_VIEW GtkTextView GtkTextViewPrivate gtk_text_view_get_type
gtktextviewchildprivate GTK_TYPE_TEXT_VIEW_CHILD gtk_text_view_child_new gtk_text_view_child_get_window_type gtk_text_view_child_add gtk_text_view_child_remove gtk_text_view_child_add_overlay gtk_text_view_child_move_overlay gtk_text_view_child_set_offset GtkTextViewChild
gtktimsortprivate GTK_TIM_SORT_MAX_PENDING GtkTimSortRun GtkTimSort gtk_tim_sort_init gtk_tim_sort_finish gtk_tim_sort_get_runs gtk_tim_sort_set_runs gtk_tim_sort_set_max_merge_size gtk_tim_sort_get_progress gtk_tim_sort_step gtk_tim_sort
gtktogglebutton GtkToggleButton gtk_toggle_button_new gtk_toggle_button_new_with_label gtk_toggle_button_new_with_mnemonic gtk_toggle_button_set_active gtk_toggle_button_get_active gtk_toggle_button_toggled GTK_IS_TOGGLE_BUTTON GTK_IS_TOGGLE_BUTTON_CLASS GTK_TOGGLE_BUTTON GTK_TOGGLE_BUTTON_CLASS GTK_TOGGLE_BUTTON_GET_CLASS GTK_TYPE_TOGGLE_BUTTON GtkToggleButton GtkToggleButtonClass gtk_toggle_button_get_type
gtktooltip gtk_tooltip_set_markup gtk_tooltip_set_text gtk_tooltip_set_icon gtk_tooltip_set_icon_from_icon_name gtk_tooltip_set_icon_from_gicon gtk_tooltip_set_custom gtk_tooltip_set_tip_area GTK_IS_TOOLTIP GTK_TOOLTIP GTK_TYPE_TOOLTIP gtk_tooltip_get_type
gtktrashmonitor GtkTrashMonitor GTK_IS_TRASH_MONITOR GTK_IS_TRASH_MONITOR_CLASS GTK_TRASH_MONITOR GTK_TRASH_MONITOR_CLASS GTK_TRASH_MONITOR_GET_CLASS GTK_TYPE_TRASH_MONITOR GtkTrashMonitor GtkTrashMonitorClass
gtktreedatalist GtkTreeDataList
gtktreednd GtkTreeDragDest GtkTreeDragSourceIface gtk_tree_drag_source_row_draggable gtk_tree_drag_source_drag_data_delete gtk_tree_drag_source_drag_data_get GtkTreeDragDestIface gtk_tree_drag_dest_drag_data_received gtk_tree_drag_dest_row_drop_possible gtk_tree_create_row_drag_content gtk_tree_get_row_drag_data GTK_IS_TREE_DRAG_DEST GTK_IS_TREE_DRAG_SOURCE GTK_TREE_DRAG_DEST GTK_TREE_DRAG_DEST_GET_IFACE GTK_TREE_DRAG_SOURCE GTK_TREE_DRAG_SOURCE_GET_IFACE GTK_TYPE_TREE_DRAG_DEST GTK_TYPE_TREE_DRAG_SOURCE GTK_TYPE_TREE_ROW_DATA GtkTreeDragDest GtkTreeDragSource gtk_tree_drag_dest_get_type gtk_tree_drag_source_get_type gtk_tree_row_data_get_type
gtktreeexpander GTK_TYPE_TREE_EXPANDER gtk_tree_expander_new gtk_tree_expander_get_child gtk_tree_expander_set_child gtk_tree_expander_get_item gtk_tree_expander_get_list_row gtk_tree_expander_set_list_row GtkTreeExpander
gtktreelistmodel GTK_TYPE_TREE_LIST_MODEL GTK_TYPE_TREE_LIST_ROW GtkTreeListModelCreateModelFunc gtk_tree_list_model_new gtk_tree_list_model_get_model gtk_tree_list_model_get_passthrough gtk_tree_list_model_set_autoexpand gtk_tree_list_model_get_autoexpand gtk_tree_list_model_get_child_row gtk_tree_list_model_get_row gtk_tree_list_row_get_item gtk_tree_list_row_set_expanded gtk_tree_list_row_get_expanded gtk_tree_list_row_is_expandable gtk_tree_list_row_get_position gtk_tree_list_row_get_depth gtk_tree_list_row_get_children gtk_tree_list_row_get_parent gtk_tree_list_row_get_child_row GtkTreeListModel GtkTreeListRow
gtktreelistrowsorter GTK_TYPE_TREE_LIST_ROW_SORTER gtk_tree_list_row_sorter_new gtk_tree_list_row_sorter_get_sorter gtk_tree_list_row_sorter_set_sorter GtkTreeListRowSorter
gtktreemodel GtkTreeModel GtkTreeModelForeachFunc GtkTreeModelFlags GtkTreeIter GtkTreeModelIface gtk_tree_path_new gtk_tree_path_new_from_string gtk_tree_path_new_from_indices gtk_tree_path_new_from_indicesv gtk_tree_path_to_string gtk_tree_path_new_first gtk_tree_path_append_index gtk_tree_path_prepend_index gtk_tree_path_get_depth gtk_tree_path_get_indices gtk_tree_path_get_indices_with_depth gtk_tree_path_free gtk_tree_path_copy gtk_tree_path_compare gtk_tree_path_next gtk_tree_path_prev gtk_tree_path_up gtk_tree_path_down gtk_tree_path_is_ancestor gtk_tree_path_is_descendant gtk_tree_row_reference_new gtk_tree_row_reference_new_proxy gtk_tree_row_reference_get_path gtk_tree_row_reference_get_model gtk_tree_row_reference_valid gtk_tree_row_reference_copy gtk_tree_row_reference_free gtk_tree_row_reference_inserted gtk_tree_row_reference_deleted gtk_tree_row_reference_reordered gtk_tree_iter_copy gtk_tree_iter_free gtk_tree_model_get_flags gtk_tree_model_get_n_columns gtk_tree_model_get_column_type gtk_tree_model_get_iter gtk_tree_model_get_iter_from_string gtk_tree_model_get_string_from_iter gtk_tree_model_get_iter_first gtk_tree_model_get_path gtk_tree_model_get_value gtk_tree_model_iter_previous gtk_tree_model_iter_next gtk_tree_model_iter_children gtk_tree_model_iter_has_child gtk_tree_model_iter_n_children gtk_tree_model_iter_nth_child gtk_tree_model_iter_parent gtk_tree_model_ref_node gtk_tree_model_unref_node gtk_tree_model_get gtk_tree_model_get_valist gtk_tree_model_foreach gtk_tree_model_row_changed gtk_tree_model_row_inserted gtk_tree_model_row_has_child_toggled gtk_tree_model_row_deleted gtk_tree_model_rows_reordered gtk_tree_model_rows_reordered_with_length GtkTreeRowReference GTK_IS_TREE_MODEL GTK_TREE_MODEL GTK_TREE_MODEL_GET_IFACE GTK_TYPE_TREE_ITER GTK_TYPE_TREE_MODEL GTK_TYPE_TREE_PATH GTK_TYPE_TREE_ROW_REFERENCE GtkTreeModel GtkTreePath gtk_tree_iter_get_type gtk_tree_model_get_type gtk_tree_path_get_type gtk_tree_row_reference_get_type
gtktreemodelcssnode GtkTreeModelCssNode GtkTreeModelCssNodeGetFunc gtk_tree_model_css_node_new gtk_tree_model_css_node_newv gtk_tree_model_css_node_set_root_node gtk_tree_model_css_node_get_root_node gtk_tree_model_css_node_get_node_from_iter gtk_tree_model_css_node_get_iter_from_node GTK_IS_TREE_MODEL_CSS_NODE GTK_IS_TREE_MODEL_CSS_NODE_CLASS GTK_TREE_MODEL_CSS_NODE GTK_TREE_MODEL_CSS_NODE_CLASS GTK_TREE_MODEL_CSS_NODE_GET_CLASS GTK_TYPE_TREE_MODEL_CSS_NODE GtkTreeModelCssNode GtkTreeModelCssNodeClass GtkTreeModelCssNodePrivate gtk_tree_model_css_node_get_type
gtktreemodelfilter GtkTreeModelFilter GtkTreeModelFilterVisibleFunc GtkTreeModelFilterModifyFunc gtk_tree_model_filter_new gtk_tree_model_filter_set_visible_func gtk_tree_model_filter_set_modify_func gtk_tree_model_filter_set_visible_column gtk_tree_model_filter_get_model gtk_tree_model_filter_convert_child_iter_to_iter gtk_tree_model_filter_convert_iter_to_child_iter gtk_tree_model_filter_convert_child_path_to_path gtk_tree_model_filter_convert_path_to_child_path gtk_tree_model_filter_refilter gtk_tree_model_filter_clear_cache GTK_IS_TREE_MODEL_FILTER GTK_IS_TREE_MODEL_FILTER_CLASS GTK_TREE_MODEL_FILTER GTK_TREE_MODEL_FILTER_CLASS GTK_TREE_MODEL_FILTER_GET_CLASS GTK_TYPE_TREE_MODEL_FILTER GtkTreeModelFilter GtkTreeModelFilterClass GtkTreeModelFilterPrivate gtk_tree_model_filter_get_type
gtktreemodelsort GtkTreeModelSort gtk_tree_model_sort_new_with_model gtk_tree_model_sort_get_model gtk_tree_model_sort_convert_child_path_to_path gtk_tree_model_sort_convert_child_iter_to_iter gtk_tree_model_sort_convert_path_to_child_path gtk_tree_model_sort_convert_iter_to_child_iter gtk_tree_model_sort_reset_default_sort_func gtk_tree_model_sort_clear_cache gtk_tree_model_sort_iter_is_valid GTK_IS_TREE_MODEL_SORT GTK_IS_TREE_MODEL_SORT_CLASS GTK_TREE_MODEL_SORT GTK_TREE_MODEL_SORT_CLASS GTK_TREE_MODEL_SORT_GET_CLASS GTK_TYPE_TREE_MODEL_SORT GtkTreeModelSort GtkTreeModelSortClass GtkTreeModelSortPrivate gtk_tree_model_sort_get_type
gtktreeselection GtkTreeSelectionFunc GtkTreeSelectionForeachFunc gtk_tree_selection_set_mode gtk_tree_selection_get_mode gtk_tree_selection_set_select_function gtk_tree_selection_get_user_data gtk_tree_selection_get_tree_view gtk_tree_selection_get_select_function gtk_tree_selection_get_selected gtk_tree_selection_get_selected_rows gtk_tree_selection_count_selected_rows gtk_tree_selection_selected_foreach gtk_tree_selection_select_path gtk_tree_selection_unselect_path gtk_tree_selection_select_iter gtk_tree_selection_unselect_iter gtk_tree_selection_path_is_selected gtk_tree_selection_iter_is_selected gtk_tree_selection_select_all gtk_tree_selection_unselect_all gtk_tree_selection_select_range gtk_tree_selection_unselect_range GTK_IS_TREE_SELECTION GTK_TREE_SELECTION GTK_TYPE_TREE_SELECTION gtk_tree_selection_get_type
gtktreesortable GtkTreeSortable GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID GtkTreeIterCompareFunc GtkTreeSortableIface gtk_tree_sortable_sort_column_changed gtk_tree_sortable_get_sort_column_id gtk_tree_sortable_set_sort_column_id gtk_tree_sortable_set_sort_func gtk_tree_sortable_set_default_sort_func gtk_tree_sortable_has_default_sort_func GTK_IS_TREE_SORTABLE GTK_TREE_SORTABLE GTK_TREE_SORTABLE_CLASS GTK_TREE_SORTABLE_GET_IFACE GTK_TYPE_TREE_SORTABLE GtkTreeSortable gtk_tree_sortable_get_type
gtktreestore GtkTreeStore gtk_tree_store_new gtk_tree_store_newv gtk_tree_store_set_column_types gtk_tree_store_set_value gtk_tree_store_set gtk_tree_store_set_valuesv gtk_tree_store_set_valist gtk_tree_store_remove gtk_tree_store_insert gtk_tree_store_insert_before gtk_tree_store_insert_after gtk_tree_store_insert_with_values gtk_tree_store_insert_with_valuesv gtk_tree_store_prepend gtk_tree_store_append gtk_tree_store_is_ancestor gtk_tree_store_iter_depth gtk_tree_store_clear gtk_tree_store_iter_is_valid gtk_tree_store_reorder gtk_tree_store_swap gtk_tree_store_move_before gtk_tree_store_move_after GTK_IS_TREE_STORE GTK_IS_TREE_STORE_CLASS GTK_TREE_STORE GTK_TREE_STORE_CLASS GTK_TREE_STORE_GET_CLASS GTK_TYPE_TREE_STORE GtkTreeStore GtkTreeStoreClass GtkTreeStorePrivate gtk_tree_store_get_type
gtktreeview GtkTreeView GtkTreeViewDropPosition GtkTreeViewColumnDropFunc GtkTreeViewMappingFunc GtkTreeViewSearchEqualFunc GtkTreeViewRowSeparatorFunc gtk_tree_view_new gtk_tree_view_new_with_model gtk_tree_view_get_model gtk_tree_view_set_model gtk_tree_view_get_selection gtk_tree_view_get_headers_visible gtk_tree_view_set_headers_visible gtk_tree_view_columns_autosize gtk_tree_view_get_headers_clickable gtk_tree_view_set_headers_clickable gtk_tree_view_get_activate_on_single_click gtk_tree_view_set_activate_on_single_click gtk_tree_view_append_column gtk_tree_view_remove_column gtk_tree_view_insert_column gtk_tree_view_insert_column_with_attributes gtk_tree_view_insert_column_with_data_func gtk_tree_view_get_n_columns gtk_tree_view_get_column gtk_tree_view_get_columns gtk_tree_view_move_column_after gtk_tree_view_set_expander_column gtk_tree_view_get_expander_column gtk_tree_view_set_column_drag_function gtk_tree_view_scroll_to_point gtk_tree_view_scroll_to_cell gtk_tree_view_row_activated gtk_tree_view_expand_all gtk_tree_view_collapse_all gtk_tree_view_expand_to_path gtk_tree_view_expand_row gtk_tree_view_collapse_row gtk_tree_view_map_expanded_rows gtk_tree_view_row_expanded gtk_tree_view_set_reorderable gtk_tree_view_get_reorderable gtk_tree_view_set_cursor gtk_tree_view_set_cursor_on_cell gtk_tree_view_get_cursor gtk_tree_view_get_path_at_pos gtk_tree_view_get_cell_area gtk_tree_view_get_background_area gtk_tree_view_get_visible_rect gtk_tree_view_get_visible_range gtk_tree_view_is_blank_at_pos gtk_tree_view_enable_model_drag_source gtk_tree_view_enable_model_drag_dest gtk_tree_view_unset_rows_drag_source gtk_tree_view_unset_rows_drag_dest gtk_tree_view_set_drag_dest_row gtk_tree_view_get_drag_dest_row gtk_tree_view_get_dest_row_at_pos gtk_tree_view_create_row_drag_icon gtk_tree_view_set_enable_search gtk_tree_view_get_enable_search gtk_tree_view_get_search_column gtk_tree_view_set_search_column gtk_tree_view_get_search_equal_func gtk_tree_view_set_search_equal_func gtk_tree_view_get_search_entry gtk_tree_view_set_search_entry gtk_tree_view_convert_widget_to_tree_coords gtk_tree_view_convert_tree_to_widget_coords gtk_tree_view_convert_widget_to_bin_window_coords gtk_tree_view_convert_bin_window_to_widget_coords gtk_tree_view_convert_tree_to_bin_window_coords gtk_tree_view_convert_bin_window_to_tree_coords gtk_tree_view_set_fixed_height_mode gtk_tree_view_get_fixed_height_mode gtk_tree_view_set_hover_selection gtk_tree_view_get_hover_selection gtk_tree_view_set_hover_expand gtk_tree_view_get_hover_expand gtk_tree_view_set_rubber_banding gtk_tree_view_get_rubber_banding gtk_tree_view_is_rubber_banding_active gtk_tree_view_get_row_separator_func gtk_tree_view_set_row_separator_func gtk_tree_view_get_grid_lines gtk_tree_view_set_grid_lines gtk_tree_view_get_enable_tree_lines gtk_tree_view_set_enable_tree_lines gtk_tree_view_set_show_expanders gtk_tree_view_get_show_expanders gtk_tree_view_set_level_indentation gtk_tree_view_get_level_indentation gtk_tree_view_set_tooltip_row gtk_tree_view_set_tooltip_cell gtk_tree_view_get_tooltip_context gtk_tree_view_set_tooltip_column gtk_tree_view_get_tooltip_column GtkTreeSelection GTK_IS_TREE_VIEW GTK_IS_TREE_VIEW_CLASS GTK_TREE_VIEW GTK_TREE_VIEW_CLASS GTK_TREE_VIEW_GET_CLASS GTK_TYPE_TREE_VIEW GtkTreeView GtkTreeViewClass gtk_tree_view_get_type
gtktreeviewcolumn GtkTreeViewColumnSizing GtkTreeCellDataFunc gtk_tree_view_column_new gtk_tree_view_column_new_with_area gtk_tree_view_column_new_with_attributes gtk_tree_view_column_pack_start gtk_tree_view_column_pack_end gtk_tree_view_column_clear gtk_tree_view_column_add_attribute gtk_tree_view_column_set_attributes gtk_tree_view_column_set_cell_data_func gtk_tree_view_column_clear_attributes gtk_tree_view_column_set_spacing gtk_tree_view_column_get_spacing gtk_tree_view_column_set_visible gtk_tree_view_column_get_visible gtk_tree_view_column_set_resizable gtk_tree_view_column_get_resizable gtk_tree_view_column_set_sizing gtk_tree_view_column_get_sizing gtk_tree_view_column_get_x_offset gtk_tree_view_column_get_width gtk_tree_view_column_get_fixed_width gtk_tree_view_column_set_fixed_width gtk_tree_view_column_set_min_width gtk_tree_view_column_get_min_width gtk_tree_view_column_set_max_width gtk_tree_view_column_get_max_width gtk_tree_view_column_clicked gtk_tree_view_column_set_title gtk_tree_view_column_get_title gtk_tree_view_column_set_expand gtk_tree_view_column_get_expand gtk_tree_view_column_set_clickable gtk_tree_view_column_get_clickable gtk_tree_view_column_set_widget gtk_tree_view_column_get_widget gtk_tree_view_column_set_alignment gtk_tree_view_column_get_alignment gtk_tree_view_column_set_reorderable gtk_tree_view_column_get_reorderable gtk_tree_view_column_set_sort_column_id gtk_tree_view_column_get_sort_column_id gtk_tree_view_column_set_sort_indicator gtk_tree_view_column_get_sort_indicator gtk_tree_view_column_set_sort_order gtk_tree_view_column_get_sort_order gtk_tree_view_column_cell_set_cell_data gtk_tree_view_column_cell_get_size gtk_tree_view_column_cell_is_visible gtk_tree_view_column_focus_cell gtk_tree_view_column_cell_get_position gtk_tree_view_column_queue_resize gtk_tree_view_column_get_tree_view gtk_tree_view_column_get_button GTK_IS_TREE_VIEW_COLUMN GTK_TREE_VIEW_COLUMN GTK_TYPE_TREE_VIEW_COLUMN GtkTreeViewColumn gtk_tree_view_column_get_type
gtktypebuiltins GTK_TYPE_LICENSE GTK_TYPE_APPLICATION_INHIBIT_FLAGS GTK_TYPE_ASSISTANT_PAGE_TYPE GTK_TYPE_BUILDER_ERROR GTK_TYPE_BUILDER_CLOSURE_FLAGS GTK_TYPE_CELL_RENDERER_STATE GTK_TYPE_CELL_RENDERER_MODE GTK_TYPE_CELL_RENDERER_ACCEL_MODE GTK_TYPE_DEBUG_FLAG GTK_TYPE_DIALOG_FLAGS GTK_TYPE_RESPONSE_TYPE GTK_TYPE_EDITABLE_PROPERTIES GTK_TYPE_ENTRY_ICON_POSITION GTK_TYPE_ALIGN GTK_TYPE_ARROW_TYPE GTK_TYPE_BASELINE_POSITION GTK_TYPE_DELETE_TYPE GTK_TYPE_DIRECTION_TYPE GTK_TYPE_ICON_SIZE GTK_TYPE_SENSITIVITY_TYPE GTK_TYPE_TEXT_DIRECTION GTK_TYPE_JUSTIFICATION GTK_TYPE_MENU_DIRECTION_TYPE GTK_TYPE_MESSAGE_TYPE GTK_TYPE_MOVEMENT_STEP GTK_TYPE_SCROLL_STEP GTK_TYPE_ORIENTATION GTK_TYPE_OVERFLOW GTK_TYPE_PACK_TYPE GTK_TYPE_POSITION_TYPE GTK_TYPE_SCROLL_TYPE GTK_TYPE_SELECTION_MODE GTK_TYPE_WRAP_MODE GTK_TYPE_SORT_TYPE GTK_TYPE_PRINT_PAGES GTK_TYPE_PAGE_SET GTK_TYPE_NUMBER_UP_LAYOUT GTK_TYPE_ORDERING GTK_TYPE_PAGE_ORIENTATION GTK_TYPE_PRINT_QUALITY GTK_TYPE_PRINT_DUPLEX GTK_TYPE_UNIT GTK_TYPE_TREE_VIEW_GRID_LINES GTK_TYPE_SIZE_GROUP_MODE GTK_TYPE_SIZE_REQUEST_MODE GTK_TYPE_SCROLLABLE_POLICY GTK_TYPE_STATE_FLAGS GTK_TYPE_BORDER_STYLE GTK_TYPE_LEVEL_BAR_MODE GTK_TYPE_INPUT_PURPOSE GTK_TYPE_INPUT_HINTS GTK_TYPE_PROPAGATION_PHASE GTK_TYPE_PROPAGATION_LIMIT GTK_TYPE_EVENT_SEQUENCE_STATE GTK_TYPE_PAN_DIRECTION GTK_TYPE_SHORTCUT_SCOPE GTK_TYPE_POPOVER_CONSTRAINT GTK_TYPE_PLACES_OPEN_FLAGS GTK_TYPE_PICK_FLAGS GTK_TYPE_CONSTRAINT_RELATION GTK_TYPE_CONSTRAINT_STRENGTH GTK_TYPE_CONSTRAINT_ATTRIBUTE GTK_TYPE_CONSTRAINT_VFL_PARSER_ERROR GTK_TYPE_SYSTEM_SETTING GTK_TYPE_ACCESSIBLE_ROLE GTK_TYPE_ACCESSIBLE_STATE GTK_TYPE_ACCESSIBLE_PROPERTY GTK_TYPE_ACCESSIBLE_RELATION GTK_TYPE_ACCESSIBLE_TRISTATE GTK_TYPE_ACCESSIBLE_INVALID_STATE GTK_TYPE_ACCESSIBLE_AUTOCOMPLETE GTK_TYPE_ACCESSIBLE_SORT GTK_TYPE_EVENT_CONTROLLER_SCROLL_FLAGS GTK_TYPE_FILE_CHOOSER_ACTION GTK_TYPE_FILE_CHOOSER_ERROR GTK_TYPE_FILTER_MATCH GTK_TYPE_FILTER_CHANGE GTK_TYPE_FONT_CHOOSER_LEVEL GTK_TYPE_ICON_LOOKUP_FLAGS GTK_TYPE_ICON_THEME_ERROR GTK_TYPE_ICON_VIEW_DROP_POSITION GTK_TYPE_IMAGE_TYPE GTK_TYPE_BUTTONS_TYPE GTK_TYPE_NOTEBOOK_TAB GTK_TYPE_PAD_ACTION_TYPE GTK_TYPE_POPOVER_MENU_FLAGS GTK_TYPE_PRINT_STATUS GTK_TYPE_PRINT_OPERATION_RESULT GTK_TYPE_PRINT_OPERATION_ACTION GTK_TYPE_PRINT_ERROR GTK_TYPE_RECENT_MANAGER_ERROR GTK_TYPE_REVEALER_TRANSITION_TYPE GTK_TYPE_CORNER_TYPE GTK_TYPE_POLICY_TYPE GTK_TYPE_SHORTCUT_ACTION_FLAGS GTK_TYPE_SHORTCUT_TYPE GTK_TYPE_SORTER_ORDER GTK_TYPE_SORTER_CHANGE GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY GTK_TYPE_SPIN_TYPE GTK_TYPE_STACK_TRANSITION_TYPE GTK_TYPE_STRING_FILTER_MATCH_MODE GTK_TYPE_STYLE_CONTEXT_PRINT_FLAGS GTK_TYPE_TEXT_BUFFER_TARGET_INFO GTK_TYPE_TEXT_SEARCH_FLAGS GTK_TYPE_TEXT_WINDOW_TYPE GTK_TYPE_TEXT_VIEW_LAYER GTK_TYPE_TEXT_EXTEND_SELECTION GTK_TYPE_TREE_MODEL_FLAGS GTK_TYPE_TREE_VIEW_DROP_POSITION GTK_TYPE_TREE_VIEW_COLUMN_SIZING
gtktypes GtkSnapshot GTK_INVALID_LIST_POSITION GtkAdjustment GtkBitset GtkBuilder GtkBuilderScope GtkClipboard GtkCssStyleChange GtkEventController GtkGesture GtkLayoutManager GtkListItem GtkListItemFactory GtkNative GtkRequisition GtkRoot GtkSettings GtkShortcut GtkShortcutAction GtkShortcutTrigger GtkStyleContext GtkTooltip GtkWidget GtkWindow
gtkunixprint
gtkunixprint-autocleanups
gtkversion GTK_MAJOR_VERSION GTK_MINOR_VERSION GTK_MICRO_VERSION GTK_BINARY_AGE GTK_INTERFACE_AGE GTK_CHECK_VERSION
gtkvideo GTK_TYPE_VIDEO gtk_video_new gtk_video_new_for_media_stream gtk_video_new_for_file gtk_video_new_for_filename gtk_video_new_for_resource gtk_video_get_media_stream gtk_video_set_media_stream gtk_video_get_file gtk_video_set_file gtk_video_set_filename gtk_video_set_resource gtk_video_get_autoplay gtk_video_set_autoplay gtk_video_get_loop gtk_video_set_loop GtkVideo
gtkviewport gtk_viewport_new gtk_viewport_get_scroll_to_focus gtk_viewport_set_scroll_to_focus gtk_viewport_set_child gtk_viewport_get_child GTK_IS_VIEWPORT GTK_TYPE_VIEWPORT GTK_VIEWPORT GtkViewport gtk_viewport_get_type
gtkvolumebutton gtk_volume_button_new GTK_IS_VOLUME_BUTTON GTK_TYPE_VOLUME_BUTTON GTK_VOLUME_BUTTON GtkVolumeButton gtk_volume_button_get_type
gtkwidget GtkWidget GtkAllocation GtkCallback GtkTickCallback GtkRequisition GtkWidgetClass gtk_widget_new gtk_widget_unparent gtk_widget_show gtk_widget_hide gtk_widget_map gtk_widget_unmap gtk_widget_realize gtk_widget_unrealize gtk_widget_queue_draw gtk_widget_queue_resize gtk_widget_queue_allocate gtk_widget_get_frame_clock gtk_widget_size_allocate gtk_widget_allocate gtk_widget_get_request_mode gtk_widget_measure gtk_widget_get_preferred_size gtk_widget_set_layout_manager gtk_widget_get_layout_manager gtk_widget_class_set_layout_manager_type gtk_widget_class_get_layout_manager_type gtk_widget_class_add_binding gtk_widget_class_add_binding_signal gtk_widget_class_add_binding_action gtk_widget_class_add_shortcut gtk_widget_mnemonic_activate gtk_widget_activate gtk_widget_set_can_focus gtk_widget_get_can_focus gtk_widget_set_focusable gtk_widget_get_focusable gtk_widget_has_focus gtk_widget_is_focus gtk_widget_has_visible_focus gtk_widget_grab_focus gtk_widget_set_focus_on_click gtk_widget_get_focus_on_click gtk_widget_set_can_target gtk_widget_get_can_target gtk_widget_has_default gtk_widget_set_receives_default gtk_widget_get_receives_default gtk_widget_set_name gtk_widget_get_name gtk_widget_set_state_flags gtk_widget_unset_state_flags gtk_widget_get_state_flags gtk_widget_set_sensitive gtk_widget_get_sensitive gtk_widget_is_sensitive gtk_widget_set_visible gtk_widget_get_visible gtk_widget_is_visible gtk_widget_is_drawable gtk_widget_get_realized gtk_widget_get_mapped gtk_widget_set_parent gtk_widget_get_parent gtk_widget_get_root gtk_widget_get_native gtk_widget_set_child_visible gtk_widget_get_child_visible gtk_widget_get_allocated_width gtk_widget_get_allocated_height gtk_widget_get_allocated_baseline gtk_widget_get_allocation gtk_widget_compute_transform gtk_widget_compute_bounds gtk_widget_compute_point gtk_widget_get_width gtk_widget_get_height gtk_widget_get_size gtk_widget_child_focus gtk_widget_keynav_failed gtk_widget_error_bell gtk_widget_set_size_request gtk_widget_get_size_request gtk_widget_set_opacity gtk_widget_get_opacity gtk_widget_set_overflow gtk_widget_get_overflow gtk_widget_get_ancestor gtk_widget_get_scale_factor gtk_widget_get_display gtk_widget_get_settings gtk_widget_get_clipboard gtk_widget_get_primary_clipboard gtk_widget_get_hexpand gtk_widget_set_hexpand gtk_widget_get_hexpand_set gtk_widget_set_hexpand_set gtk_widget_get_vexpand gtk_widget_set_vexpand gtk_widget_get_vexpand_set gtk_widget_set_vexpand_set gtk_widget_compute_expand gtk_widget_get_halign gtk_widget_set_halign gtk_widget_get_valign gtk_widget_set_valign gtk_widget_get_margin_start gtk_widget_set_margin_start gtk_widget_get_margin_end gtk_widget_set_margin_end gtk_widget_get_margin_top gtk_widget_set_margin_top gtk_widget_get_margin_bottom gtk_widget_set_margin_bottom gtk_widget_is_ancestor gtk_widget_translate_coordinates gtk_widget_contains gtk_widget_pick gtk_widget_add_controller gtk_widget_remove_controller gtk_widget_create_pango_context gtk_widget_get_pango_context gtk_widget_set_font_options gtk_widget_get_font_options gtk_widget_create_pango_layout gtk_widget_set_direction gtk_widget_get_direction gtk_widget_set_default_direction gtk_widget_get_default_direction gtk_widget_set_cursor gtk_widget_set_cursor_from_name gtk_widget_get_cursor gtk_widget_list_mnemonic_labels gtk_widget_add_mnemonic_label gtk_widget_remove_mnemonic_label gtk_widget_trigger_tooltip_query gtk_widget_set_tooltip_text gtk_widget_get_tooltip_text gtk_widget_set_tooltip_markup gtk_widget_get_tooltip_markup gtk_widget_set_has_tooltip gtk_widget_get_has_tooltip gtk_requisition_new gtk_requisition_copy gtk_requisition_free gtk_widget_in_destruction gtk_widget_get_style_context gtk_widget_class_set_css_name gtk_widget_class_get_css_name gtk_widget_add_tick_callback gtk_widget_remove_tick_callback gtk_widget_class_bind_template_callback gtk_widget_class_bind_template_child gtk_widget_class_bind_template_child_internal gtk_widget_class_bind_template_child_private gtk_widget_class_bind_template_child_internal_private gtk_widget_init_template gtk_widget_get_template_child gtk_widget_class_set_template gtk_widget_class_set_template_from_resource gtk_widget_class_bind_template_callback_full gtk_widget_class_set_template_scope gtk_widget_class_bind_template_child_full gtk_widget_insert_action_group gtk_widget_activate_action gtk_widget_activate_action_variant gtk_widget_activate_default gtk_widget_set_font_map gtk_widget_get_font_map gtk_widget_get_first_child gtk_widget_get_last_child gtk_widget_get_next_sibling gtk_widget_get_prev_sibling gtk_widget_observe_children gtk_widget_observe_controllers gtk_widget_insert_after gtk_widget_insert_before gtk_widget_set_focus_child gtk_widget_get_focus_child gtk_widget_snapshot_child gtk_widget_should_layout gtk_widget_get_css_name gtk_widget_add_css_class gtk_widget_remove_css_class gtk_widget_has_css_class gtk_widget_get_css_classes gtk_widget_set_css_classes GtkWidgetActionActivateFunc gtk_widget_class_install_action gtk_widget_class_install_property_action gtk_widget_class_query_action gtk_widget_action_set_enabled gtk_widget_class_set_accessible_role gtk_widget_class_get_accessible_role GtkWidgetClassPrivate GTK_IS_WIDGET GTK_IS_WIDGET_CLASS GTK_TYPE_REQUISITION GTK_TYPE_WIDGET GTK_WIDGET GTK_WIDGET_CLASS GTK_WIDGET_GET_CLASS GtkWidget GtkWidgetPrivate gtk_requisition_get_type gtk_widget_get_type
gtkwidgetpaintable GTK_TYPE_WIDGET_PAINTABLE gtk_widget_paintable_new gtk_widget_paintable_get_widget gtk_widget_paintable_set_widget GtkWidgetPaintable
gtkwindow GtkWindow GtkWindowClass gtk_window_new gtk_window_set_title gtk_window_get_title gtk_window_set_startup_id gtk_window_set_focus gtk_window_get_focus gtk_window_set_default_widget gtk_window_get_default_widget gtk_window_set_transient_for gtk_window_get_transient_for gtk_window_set_destroy_with_parent gtk_window_get_destroy_with_parent gtk_window_set_hide_on_close gtk_window_get_hide_on_close gtk_window_set_mnemonics_visible gtk_window_get_mnemonics_visible gtk_window_set_focus_visible gtk_window_get_focus_visible gtk_window_set_resizable gtk_window_get_resizable gtk_window_set_display gtk_window_is_active gtk_window_set_decorated gtk_window_get_decorated gtk_window_set_deletable gtk_window_get_deletable gtk_window_set_icon_name gtk_window_get_icon_name gtk_window_set_default_icon_name gtk_window_get_default_icon_name gtk_window_set_auto_startup_notification gtk_window_set_modal gtk_window_get_modal gtk_window_get_toplevels gtk_window_list_toplevels gtk_window_present gtk_window_present_with_time gtk_window_minimize gtk_window_unminimize gtk_window_maximize gtk_window_unmaximize gtk_window_fullscreen gtk_window_unfullscreen gtk_window_fullscreen_on_monitor gtk_window_close gtk_window_set_default_size gtk_window_get_default_size gtk_window_resize gtk_window_get_size gtk_window_get_group gtk_window_has_group gtk_window_get_application gtk_window_set_application gtk_window_set_child gtk_window_get_child gtk_window_set_titlebar gtk_window_get_titlebar gtk_window_is_maximized gtk_window_destroy gtk_window_set_interactive_debugging GtkWindowGeometryInfo GtkWindowGroup GtkWindowGroupClass GtkWindowGroupPrivate GTK_IS_WINDOW GTK_IS_WINDOW_CLASS GTK_TYPE_WINDOW GTK_WINDOW GTK_WINDOW_CLASS GTK_WINDOW_GET_CLASS GtkWindow gtk_window_get_type
gtkwindowcontrols GTK_TYPE_WINDOW_CONTROLS gtk_window_controls_new gtk_window_controls_get_side gtk_window_controls_set_side gtk_window_controls_get_decoration_layout gtk_window_controls_set_decoration_layout gtk_window_controls_get_empty GtkWindowControls
gtkwindowgroup GtkWindowGroup gtk_window_group_new gtk_window_group_add_window gtk_window_group_remove_window gtk_window_group_list_windows GTK_IS_WINDOW_GROUP GTK_IS_WINDOW_GROUP_CLASS GTK_TYPE_WINDOW_GROUP GTK_WINDOW_GROUP GTK_WINDOW_GROUP_CLASS GTK_WINDOW_GROUP_GET_CLASS GtkWindowGroup GtkWindowGroupClass gtk_window_group_get_type
gtkwindowhandle GTK_TYPE_WINDOW_HANDLE gtk_window_handle_new gtk_window_handle_get_child gtk_window_handle_set_child GtkWindowHandle
highlightoverlay GTK_TYPE_HIGHLIGHT_OVERLAY gtk_highlight_overlay_new gtk_highlight_overlay_get_widget gtk_highlight_overlay_set_color GtkHighlightOverlay
init gtk_inspector_init
inspectoroverlay GtkInspectorOverlay GTK_TYPE_INSPECTOR_OVERLAY GtkInspectorOverlayClass gtk_inspector_overlay_snapshot gtk_inspector_overlay_queue_draw GtkInspectorOverlay
language-names get_language_name get_language_name_for_tag
layoutoverlay GTK_TYPE_LAYOUT_OVERLAY gtk_layout_overlay_new GtkLayoutOverlay
list-data GTK_TYPE_INSPECTOR_LIST_DATA gtk_inspector_list_data_set_object GtkInspectorListData
logs gtk_inspector_logs_set_display GtkInspectorLogs GTK_INSPECTOR_IS_LOGS GTK_TYPE_INSPECTOR_LOGS gtk_inspector_logs_get_type
magnifier gtk_inspector_magnifier_set_object GtkInspectorMagnifierPrivate GTK_INSPECTOR_IS_MAGNIFIER GTK_INSPECTOR_IS_MAGNIFIER_CLASS GTK_INSPECTOR_MAGNIFIER_CLASS GTK_INSPECTOR_MAGNIFIER_GET_CLASS GTK_TYPE_INSPECTOR_MAGNIFIER gtk_inspector_magnifier_get_type
magnifier.ui
menu gtk_inspector_menu_set_object GtkInspectorMenuPrivate GTK_INSPECTOR_IS_MENU GTK_INSPECTOR_IS_MENU_CLASS GTK_INSPECTOR_MENU_CLASS GTK_INSPECTOR_MENU_GET_CLASS GTK_TYPE_INSPECTOR_MENU gtk_inspector_menu_get_type
menu.ui
misc-info gtk_inspector_misc_info_set_object GtkInspectorMiscInfo GTK_INSPECTOR_IS_MISC_INFO GTK_TYPE_INSPECTOR_MISC_INFO gtk_inspector_misc_info_get_type
misc-info.ui
object-hierarchy.ui
object-tree object_selected object_activated gtk_inspector_get_object_title gtk_inspector_object_tree_select_object gtk_inspector_object_tree_activate_object gtk_inspector_object_tree_get_selected gtk_inspector_object_tree_set_display GtkInspectorObjectTreePrivate GTK_INSPECTOR_IS_OBJECT_TREE GTK_INSPECTOR_IS_OBJECT_TREE_CLASS GTK_INSPECTOR_OBJECT_TREE_CLASS GTK_INSPECTOR_OBJECT_TREE_GET_CLASS GTK_TYPE_INSPECTOR_OBJECT_TREE gtk_inspector_object_tree_get_type
object-tree.ui
open-type-layout NamedTag MAKE_TAG
prop-editor GTK_TYPE_INSPECTOR_PROP_EDITOR gtk_inspector_prop_editor_new gtk_inspector_prop_editor_should_expand GtkInspectorPropEditor
prop-holder PROP_TYPE_HOLDER prop_holder_new prop_holder_get_object prop_holder_get_pspec prop_holder_get_name PropHolder
prop-list gtk_inspector_prop_list_set_object gtk_inspector_prop_list_set_layout_child strdup_value_contents GtkInspectorPropListPrivate GTK_INSPECTOR_IS_PROP_LIST GTK_INSPECTOR_IS_PROP_LIST_CLASS GTK_INSPECTOR_PROP_LIST_CLASS GTK_INSPECTOR_PROP_LIST_GET_CLASS GTK_TYPE_INSPECTOR_PROP_LIST gtk_inspector_prop_list_get_type
prop-list.ui
recorder gtk_inspector_recorder_set_recording gtk_inspector_recorder_is_recording gtk_inspector_recorder_set_debug_nodes gtk_inspector_recorder_record_render GtkInspectorRecorder GTK_INSPECTOR_IS_RECORDER GTK_TYPE_INSPECTOR_RECORDER gtk_inspector_recorder_get_type
recording gtk_inspector_recording_get_timestamp GtkInspectorRecordingPrivate GTK_INSPECTOR_IS_RECORDING GTK_INSPECTOR_IS_RECORDING_CLASS GTK_INSPECTOR_RECORDING_CLASS GTK_INSPECTOR_RECORDING_GET_CLASS GTK_TYPE_INSPECTOR_RECORDING gtk_inspector_recording_get_type
renderrecording gtk_inspector_render_recording_new gtk_inspector_render_recording_get_node gtk_inspector_render_recording_get_clip_region gtk_inspector_render_recording_get_area gtk_inspector_render_recording_get_profiler_info GtkInspectorRenderRecordingPrivate GTK_INSPECTOR_IS_RENDER_RECORDING GTK_INSPECTOR_IS_RENDER_RECORDING_CLASS GTK_INSPECTOR_RENDER_RECORDING_CLASS GTK_INSPECTOR_RENDER_RECORDING_GET_CLASS GTK_TYPE_INSPECTOR_RENDER_RECORDING gtk_inspector_render_recording_get_type
resource-holder RESOURCE_TYPE_HOLDER resource_holder_new resource_holder_get_name resource_holder_get_path resource_holder_get_count resource_holder_get_size resource_holder_get_children resource_holder_get_parent ResourceHolder
resource-list GtkInspectorResourceList GTK_INSPECTOR_IS_RESOURCE_LIST GTK_TYPE_INSPECTOR_RESOURCE_LIST gtk_inspector_resource_list_get_type
resource-list.ui
script-names get_script_name get_script_name_for_tag
selector.ui
shortcuts GTK_TYPE_INSPECTOR_SHORTCUTS gtk_inspector_shortcuts_set_object GtkInspectorShortcuts
signals-list.ui
size-groups gtk_inspector_size_groups_set_object GTK_INSPECTOR_IS_SIZE_GROUPS GTK_INSPECTOR_IS_SIZE_GROUPS_CLASS GTK_INSPECTOR_SIZE_GROUPS_CLASS GTK_INSPECTOR_SIZE_GROUPS_GET_CLASS GTK_TYPE_INSPECTOR_SIZE_GROUPS gtk_inspector_size_groups_get_type
startrecording gtk_inspector_start_recording_new GtkInspectorStartRecordingPrivate GTK_INSPECTOR_IS_START_RECORDING GTK_INSPECTOR_IS_START_RECORDING_CLASS GTK_INSPECTOR_START_RECORDING_CLASS GTK_INSPECTOR_START_RECORDING_GET_CLASS GTK_TYPE_INSPECTOR_START_RECORDING gtk_inspector_start_recording_get_type
statistics GtkInspectorStatisticsPrivate GTK_INSPECTOR_IS_STATISTICS GTK_INSPECTOR_IS_STATISTICS_CLASS GTK_INSPECTOR_STATISTICS_CLASS GTK_INSPECTOR_STATISTICS_GET_CLASS GTK_TYPE_INSPECTOR_STATISTICS gtk_inspector_statistics_get_type
statistics.ui
strv-editor changed gtk_inspector_strv_editor_set_strv gtk_inspector_strv_editor_get_strv GTK_INSPECTOR_IS_STRV_EDITOR GTK_INSPECTOR_IS_STRV_EDITOR_CLASS GTK_INSPECTOR_STRV_EDITOR_CLASS GTK_INSPECTOR_STRV_EDITOR_GET_CLASS GTK_TYPE_INSPECTOR_STRV_EDITOR gtk_inspector_strv_editor_get_type
text-input-unstable-v3-client-protocol zwp_text_input_v3_interface zwp_text_input_manager_v3_interface ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM zwp_text_input_v3_change_cause ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM zwp_text_input_v3_content_hint ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM zwp_text_input_v3_content_purpose zwp_text_input_v3_listener zwp_text_input_v3_add_listener ZWP_TEXT_INPUT_V3_DESTROY ZWP_TEXT_INPUT_V3_ENABLE ZWP_TEXT_INPUT_V3_DISABLE ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE ZWP_TEXT_INPUT_V3_COMMIT ZWP_TEXT_INPUT_V3_ENTER_SINCE_VERSION ZWP_TEXT_INPUT_V3_LEAVE_SINCE_VERSION ZWP_TEXT_INPUT_V3_PREEDIT_STRING_SINCE_VERSION ZWP_TEXT_INPUT_V3_COMMIT_STRING_SINCE_VERSION ZWP_TEXT_INPUT_V3_DELETE_SURROUNDING_TEXT_SINCE_VERSION ZWP_TEXT_INPUT_V3_DONE_SINCE_VERSION ZWP_TEXT_INPUT_V3_DESTROY_SINCE_VERSION ZWP_TEXT_INPUT_V3_ENABLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_DISABLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_COMMIT_SINCE_VERSION zwp_text_input_v3_set_user_data zwp_text_input_v3_get_user_data zwp_text_input_v3_get_version zwp_text_input_v3_destroy zwp_text_input_v3_enable zwp_text_input_v3_disable zwp_text_input_v3_set_surrounding_text zwp_text_input_v3_set_text_change_cause zwp_text_input_v3_set_content_type zwp_text_input_v3_set_cursor_rectangle zwp_text_input_v3_commit ZWP_TEXT_INPUT_MANAGER_V3_DESTROY ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT ZWP_TEXT_INPUT_MANAGER_V3_DESTROY_SINCE_VERSION ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT_SINCE_VERSION zwp_text_input_manager_v3_set_user_data zwp_text_input_manager_v3_get_user_data zwp_text_input_manager_v3_get_version zwp_text_input_manager_v3_destroy zwp_text_input_manager_v3_get_text_input wl_seat wl_surface zwp_text_input_manager_v3 zwp_text_input_v3
tree-data gtk_inspector_tree_data_set_object GtkInspectorTreeData GTK_INSPECTOR_IS_TREE_DATA GTK_TYPE_INSPECTOR_TREE_DATA gtk_inspector_tree_data_get_type
treewalk RowPredicate gtk_tree_walk_new gtk_tree_walk_free gtk_tree_walk_reset gtk_tree_walk_next_match gtk_tree_walk_get_position GtkTreeWalk
type-info GTK_TYPE_INSPECTOR_TYPE_POPOVER gtk_inspector_type_popover_set_gtype GtkInspectorTypePopover
updatesoverlay GTK_TYPE_UPDATES_OVERLAY gtk_updates_overlay_new GtkUpdatesOverlay
visual gtk_inspector_visual_set_display GtkInspectorVisual GTK_INSPECTOR_IS_VISUAL GTK_TYPE_INSPECTOR_VISUAL gtk_inspector_visual_get_type
visual.ui
window TREE_TEXT_SCALE TREE_CHECKBOX_SIZE gtk_inspector_window_get gtk_inspector_flash_widget gtk_inspector_on_inspect gtk_inspector_window_add_overlay gtk_inspector_window_remove_overlay gtk_inspector_window_select_widget_under_pointer gtk_inspector_window_get_inspected_display ChildKind gtk_inspector_window_push_object gtk_inspector_window_pop_object gtk_inspector_window_set_object gtk_inspector_window_replace_object gtk_inspector_is_recording gtk_inspector_prepare_render gtk_inspector_handle_event GTK_INSPECTOR_IS_WINDOW GTK_INSPECTOR_IS_WINDOW_CLASS GTK_INSPECTOR_WINDOW_CLASS GTK_INSPECTOR_WINDOW_GET_CLASS GTK_TYPE_INSPECTOR_WINDOW gtk_inspector_window_get_type
window.ui
docs/reference/gtk/gtk4-decl.txt0000664000175000017500000353575213710700305016720 0ustar mclasenmclasen g_settings_set_mapping GVariant * const GValue *value, const GVariantType *expected_type, gpointer user_data g_settings_get_mapping gboolean GValue *value, GVariant *variant, gpointer user_data g_settings_mapping_is_compatible gboolean GType gvalue_type, const GVariantType *variant_type GSK_TYPE_PANGO_RENDERER #define GSK_TYPE_PANGO_RENDERER (gsk_pango_renderer_get_type ()) GSK_PANGO_RENDERER #define GSK_PANGO_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_PANGO_RENDERER, GskPangoRenderer)) GSK_IS_PANGO_RENDERER #define GSK_IS_PANGO_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_PANGO_RENDERER)) GSK_PANGO_RENDERER_CLASS #define GSK_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_PANGO_RENDERER, GskPangoRendererClass)) GSK_IS_PANGO_RENDERER_CLASS #define GSK_IS_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_PANGO_RENDERER)) GSK_PANGO_RENDERER_GET_CLASS #define GSK_PANGO_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_PANGO_RENDERER, GskPangoRendererClass)) GskPangoRendererState typedef enum { GSK_PANGO_RENDERER_NORMAL, GSK_PANGO_RENDERER_SELECTED, GSK_PANGO_RENDERER_CURSOR } GskPangoRendererState; GskPangoShapeHandler gboolean PangoAttrShape *attr, GdkSnapshot *snapshot, double width, double height GskPangoRenderer struct _GskPangoRenderer { PangoRenderer parent_instance; GtkWidget *widget; GtkSnapshot *snapshot; GdkRGBA fg_color; graphene_rect_t bounds; /* Error underline color for this widget */ GdkRGBA *error_color; GskPangoRendererState state; guint is_cached_renderer : 1; GskPangoShapeHandler shape_handler; }; GskPangoRendererClass struct _GskPangoRendererClass { PangoRendererClass parent_class; }; gsk_pango_renderer_get_type GType void gsk_pango_renderer_set_state void GskPangoRenderer *crenderer, GskPangoRendererState state gsk_pango_renderer_set_shape_handler void GskPangoRenderer *crenderer, GskPangoShapeHandler handler gsk_pango_renderer_acquire GskPangoRenderer * void gsk_pango_renderer_release void GskPangoRenderer *crenderer GTK_TYPE_ABOUT_DIALOG #define GTK_TYPE_ABOUT_DIALOG (gtk_about_dialog_get_type ()) GTK_ABOUT_DIALOG #define GTK_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialog)) GTK_IS_ABOUT_DIALOG #define GTK_IS_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ABOUT_DIALOG)) GtkLicense typedef enum { GTK_LICENSE_UNKNOWN, GTK_LICENSE_CUSTOM, GTK_LICENSE_GPL_2_0, GTK_LICENSE_GPL_3_0, GTK_LICENSE_LGPL_2_1, GTK_LICENSE_LGPL_3_0, GTK_LICENSE_BSD, GTK_LICENSE_MIT_X11, GTK_LICENSE_ARTISTIC, GTK_LICENSE_GPL_2_0_ONLY, GTK_LICENSE_GPL_3_0_ONLY, GTK_LICENSE_LGPL_2_1_ONLY, GTK_LICENSE_LGPL_3_0_ONLY, GTK_LICENSE_AGPL_3_0, GTK_LICENSE_AGPL_3_0_ONLY, GTK_LICENSE_BSD_3, GTK_LICENSE_APACHE_2_0, GTK_LICENSE_MPL_2_0 } GtkLicense; gtk_about_dialog_get_type GType void gtk_about_dialog_new GtkWidget * void gtk_show_about_dialog void GtkWindow *parent, const char *first_property_name, ... gtk_about_dialog_get_program_name const char * GtkAboutDialog *about gtk_about_dialog_set_program_name void GtkAboutDialog *about, const char *name gtk_about_dialog_get_version const char * GtkAboutDialog *about gtk_about_dialog_set_version void GtkAboutDialog *about, const char *version gtk_about_dialog_get_copyright const char * GtkAboutDialog *about gtk_about_dialog_set_copyright void GtkAboutDialog *about, const char *copyright gtk_about_dialog_get_comments const char * GtkAboutDialog *about gtk_about_dialog_set_comments void GtkAboutDialog *about, const char *comments gtk_about_dialog_get_license const char * GtkAboutDialog *about gtk_about_dialog_set_license void GtkAboutDialog *about, const char *license gtk_about_dialog_set_license_type void GtkAboutDialog *about, GtkLicense license_type gtk_about_dialog_get_license_type GtkLicense GtkAboutDialog *about gtk_about_dialog_get_wrap_license gboolean GtkAboutDialog *about gtk_about_dialog_set_wrap_license void GtkAboutDialog *about, gboolean wrap_license gtk_about_dialog_get_system_information const char * GtkAboutDialog *about gtk_about_dialog_set_system_information void GtkAboutDialog *about, const char *system_information gtk_about_dialog_get_website const char * GtkAboutDialog *about gtk_about_dialog_set_website void GtkAboutDialog *about, const char *website gtk_about_dialog_get_website_label const char * GtkAboutDialog *about gtk_about_dialog_set_website_label void GtkAboutDialog *about, const char *website_label gtk_about_dialog_get_authors const char * const * GtkAboutDialog *about gtk_about_dialog_set_authors void GtkAboutDialog *about, const char **authors gtk_about_dialog_get_documenters const char * const * GtkAboutDialog *about gtk_about_dialog_set_documenters void GtkAboutDialog *about, const char **documenters gtk_about_dialog_get_artists const char * const * GtkAboutDialog *about gtk_about_dialog_set_artists void GtkAboutDialog *about, const char **artists gtk_about_dialog_get_translator_credits const char * GtkAboutDialog *about gtk_about_dialog_set_translator_credits void GtkAboutDialog *about, const char *translator_credits gtk_about_dialog_get_logo GdkPaintable * GtkAboutDialog *about gtk_about_dialog_set_logo void GtkAboutDialog *about, GdkPaintable *logo gtk_about_dialog_get_logo_icon_name const char * GtkAboutDialog *about gtk_about_dialog_set_logo_icon_name void GtkAboutDialog *about, const char *icon_name gtk_about_dialog_add_credit_section void GtkAboutDialog *about, const char *section_name, const char **people GtkAboutDialog gtk_accelerator_valid gboolean guint keyval, GdkModifierType modifiers gtk_accelerator_parse gboolean const char *accelerator, guint *accelerator_key, GdkModifierType *accelerator_mods gtk_accelerator_parse_with_keycode gboolean const char *accelerator, GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods gtk_accelerator_name char * guint accelerator_key, GdkModifierType accelerator_mods gtk_accelerator_name_with_keycode char * GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods gtk_accelerator_get_label char * guint accelerator_key, GdkModifierType accelerator_mods gtk_accelerator_get_label_with_keycode char * GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods gtk_accelerator_get_default_mod_mask GdkModifierType void GTK_TYPE_ACCEL_LABEL #define GTK_TYPE_ACCEL_LABEL (gtk_accel_label_get_type ()) GTK_ACCEL_LABEL #define GTK_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabel)) GTK_IS_ACCEL_LABEL #define GTK_IS_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACCEL_LABEL)) gtk_accel_label_get_type GType void gtk_accel_label_new GtkWidget * const char *string gtk_accel_label_get_accel_width guint GtkAccelLabel *accel_label gtk_accel_label_refetch gboolean GtkAccelLabel *accel_label gtk_accel_label_set_accel void GtkAccelLabel *accel_label, guint accelerator_key, GdkModifierType accelerator_mods gtk_accel_label_get_accel void GtkAccelLabel *accel_label, guint *accelerator_key, GdkModifierType *accelerator_mods gtk_accel_label_set_label void GtkAccelLabel *accel_label, const char *text gtk_accel_label_get_label const char * GtkAccelLabel *accel_label gtk_accel_label_set_use_underline void GtkAccelLabel *accel_label, gboolean setting gtk_accel_label_get_use_underline gboolean GtkAccelLabel *accel_label GtkAccelLabel GTK_ACCEL_LABEL_GET_CLASS #define GTK_ACCEL_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabelClass)) GtkAccelLabelClass GTK_TYPE_ACCESSIBLE #define GTK_TYPE_ACCESSIBLE (gtk_accessible_get_type()) gtk_accessible_get_accessible_role GtkAccessibleRole GtkAccessible *self gtk_accessible_update_state void GtkAccessible *self, GtkAccessibleState first_state, ... gtk_accessible_update_property void GtkAccessible *self, GtkAccessibleProperty first_property, ... gtk_accessible_update_relation void GtkAccessible *self, GtkAccessibleRelation first_relation, ... gtk_accessible_update_state_value void GtkAccessible *self, GtkAccessibleState state, const GValue *value gtk_accessible_update_property_value void GtkAccessible *self, GtkAccessibleProperty property, const GValue *value gtk_accessible_update_relation_value void GtkAccessible *self, GtkAccessibleRelation relation, const GValue *value gtk_accessible_reset_state void GtkAccessible *self, GtkAccessibleState state gtk_accessible_reset_property void GtkAccessible *self, GtkAccessibleProperty property gtk_accessible_reset_relation void GtkAccessible *self, GtkAccessibleRelation relation GtkAccessible GtkAccessibleInterface GTK_TYPE_ACTIONABLE #define GTK_TYPE_ACTIONABLE (gtk_actionable_get_type ()) GTK_ACTIONABLE #define GTK_ACTIONABLE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ GTK_TYPE_ACTIONABLE, GtkActionable)) GTK_IS_ACTIONABLE #define GTK_IS_ACTIONABLE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ GTK_TYPE_ACTIONABLE)) GTK_ACTIONABLE_GET_IFACE #define GTK_ACTIONABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \ GTK_TYPE_ACTIONABLE, GtkActionableInterface)) GtkActionableInterface struct _GtkActionableInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ const char * (* get_action_name) (GtkActionable *actionable); void (* set_action_name) (GtkActionable *actionable, const char *action_name); GVariant * (* get_action_target_value) (GtkActionable *actionable); void (* set_action_target_value) (GtkActionable *actionable, GVariant *target_value); }; gtk_actionable_get_type GType void gtk_actionable_get_action_name const char * GtkActionable *actionable gtk_actionable_set_action_name void GtkActionable *actionable, const char *action_name gtk_actionable_get_action_target_value GVariant * GtkActionable *actionable gtk_actionable_set_action_target_value void GtkActionable *actionable, GVariant *target_value gtk_actionable_set_action_target void GtkActionable *actionable, const char *format_string, ... gtk_actionable_set_detailed_action_name void GtkActionable *actionable, const char *detailed_action_name GtkActionable GTK_TYPE_ACTION_BAR #define GTK_TYPE_ACTION_BAR (gtk_action_bar_get_type ()) GTK_ACTION_BAR #define GTK_ACTION_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACTION_BAR, GtkActionBar)) GTK_IS_ACTION_BAR #define GTK_IS_ACTION_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACTION_BAR)) gtk_action_bar_get_type GType void gtk_action_bar_new GtkWidget * void gtk_action_bar_get_center_widget GtkWidget * GtkActionBar *action_bar gtk_action_bar_set_center_widget void GtkActionBar *action_bar, GtkWidget *center_widget gtk_action_bar_pack_start void GtkActionBar *action_bar, GtkWidget *child gtk_action_bar_pack_end void GtkActionBar *action_bar, GtkWidget *child gtk_action_bar_remove void GtkActionBar *action_bar, GtkWidget *child gtk_action_bar_set_revealed void GtkActionBar *action_bar, gboolean revealed gtk_action_bar_get_revealed gboolean GtkActionBar *action_bar GtkActionBar GTK_TYPE_ADJUSTMENT #define GTK_TYPE_ADJUSTMENT (gtk_adjustment_get_type ()) GTK_ADJUSTMENT #define GTK_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ADJUSTMENT, GtkAdjustment)) GTK_ADJUSTMENT_CLASS #define GTK_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ADJUSTMENT, GtkAdjustmentClass)) GTK_IS_ADJUSTMENT #define GTK_IS_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ADJUSTMENT)) GTK_IS_ADJUSTMENT_CLASS #define GTK_IS_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ADJUSTMENT)) GTK_ADJUSTMENT_GET_CLASS #define GTK_ADJUSTMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ADJUSTMENT, GtkAdjustmentClass)) GtkAdjustment struct _GtkAdjustment { GInitiallyUnowned parent_instance; }; GtkAdjustmentClass struct _GtkAdjustmentClass { GInitiallyUnownedClass parent_class; void (* changed) (GtkAdjustment *adjustment); void (* value_changed) (GtkAdjustment *adjustment); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_adjustment_get_type GType void gtk_adjustment_new GtkAdjustment * double value, double lower, double upper, double step_increment, double page_increment, double page_size gtk_adjustment_clamp_page void GtkAdjustment *adjustment, double lower, double upper gtk_adjustment_get_value double GtkAdjustment *adjustment gtk_adjustment_set_value void GtkAdjustment *adjustment, double value gtk_adjustment_get_lower double GtkAdjustment *adjustment gtk_adjustment_set_lower void GtkAdjustment *adjustment, double lower gtk_adjustment_get_upper double GtkAdjustment *adjustment gtk_adjustment_set_upper void GtkAdjustment *adjustment, double upper gtk_adjustment_get_step_increment double GtkAdjustment *adjustment gtk_adjustment_set_step_increment void GtkAdjustment *adjustment, double step_increment gtk_adjustment_get_page_increment double GtkAdjustment *adjustment gtk_adjustment_set_page_increment void GtkAdjustment *adjustment, double page_increment gtk_adjustment_get_page_size double GtkAdjustment *adjustment gtk_adjustment_set_page_size void GtkAdjustment *adjustment, double page_size gtk_adjustment_configure void GtkAdjustment *adjustment, double value, double lower, double upper, double step_increment, double page_increment, double page_size gtk_adjustment_get_minimum_increment double GtkAdjustment *adjustment GTK_TYPE_APP_CHOOSER #define GTK_TYPE_APP_CHOOSER (gtk_app_chooser_get_type ()) GTK_APP_CHOOSER #define GTK_APP_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER, GtkAppChooser)) GTK_IS_APP_CHOOSER #define GTK_IS_APP_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER)) gtk_app_chooser_get_type GType void gtk_app_chooser_get_app_info GAppInfo * GtkAppChooser *self gtk_app_chooser_get_content_type char * GtkAppChooser *self gtk_app_chooser_refresh void GtkAppChooser *self GtkAppChooser GTK_TYPE_APP_CHOOSER_BUTTON #define GTK_TYPE_APP_CHOOSER_BUTTON (gtk_app_chooser_button_get_type ()) GTK_APP_CHOOSER_BUTTON #define GTK_APP_CHOOSER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_BUTTON, GtkAppChooserButton)) GTK_IS_APP_CHOOSER_BUTTON #define GTK_IS_APP_CHOOSER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_BUTTON)) gtk_app_chooser_button_get_type GType void gtk_app_chooser_button_new GtkWidget * const char *content_type gtk_app_chooser_button_append_separator void GtkAppChooserButton *self gtk_app_chooser_button_append_custom_item void GtkAppChooserButton *self, const char *name, const char *label, GIcon *icon gtk_app_chooser_button_set_active_custom_item void GtkAppChooserButton *self, const char *name gtk_app_chooser_button_set_show_dialog_item void GtkAppChooserButton *self, gboolean setting gtk_app_chooser_button_get_show_dialog_item gboolean GtkAppChooserButton *self gtk_app_chooser_button_set_heading void GtkAppChooserButton *self, const char *heading gtk_app_chooser_button_get_heading const char * GtkAppChooserButton *self gtk_app_chooser_button_set_show_default_item void GtkAppChooserButton *self, gboolean setting gtk_app_chooser_button_get_show_default_item gboolean GtkAppChooserButton *self gtk_app_chooser_button_get_modal gboolean GtkAppChooserButton *self gtk_app_chooser_button_set_modal void GtkAppChooserButton *self, gboolean modal GtkAppChooserButton GTK_TYPE_APP_CHOOSER_DIALOG #define GTK_TYPE_APP_CHOOSER_DIALOG (gtk_app_chooser_dialog_get_type ()) GTK_APP_CHOOSER_DIALOG #define GTK_APP_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_DIALOG, GtkAppChooserDialog)) GTK_IS_APP_CHOOSER_DIALOG #define GTK_IS_APP_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_DIALOG)) gtk_app_chooser_dialog_get_type GType void gtk_app_chooser_dialog_new GtkWidget * GtkWindow *parent, GtkDialogFlags flags, GFile *file gtk_app_chooser_dialog_new_for_content_type GtkWidget * GtkWindow *parent, GtkDialogFlags flags, const char *content_type gtk_app_chooser_dialog_get_widget GtkWidget * GtkAppChooserDialog *self gtk_app_chooser_dialog_set_heading void GtkAppChooserDialog *self, const char *heading gtk_app_chooser_dialog_get_heading const char * GtkAppChooserDialog *self GtkAppChooserDialog GTK_TYPE_APP_CHOOSER_WIDGET #define GTK_TYPE_APP_CHOOSER_WIDGET (gtk_app_chooser_widget_get_type ()) GTK_APP_CHOOSER_WIDGET #define GTK_APP_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_WIDGET, GtkAppChooserWidget)) GTK_IS_APP_CHOOSER_WIDGET #define GTK_IS_APP_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_WIDGET)) gtk_app_chooser_widget_get_type GType void gtk_app_chooser_widget_new GtkWidget * const char *content_type gtk_app_chooser_widget_set_show_default void GtkAppChooserWidget *self, gboolean setting gtk_app_chooser_widget_get_show_default gboolean GtkAppChooserWidget *self gtk_app_chooser_widget_set_show_recommended void GtkAppChooserWidget *self, gboolean setting gtk_app_chooser_widget_get_show_recommended gboolean GtkAppChooserWidget *self gtk_app_chooser_widget_set_show_fallback void GtkAppChooserWidget *self, gboolean setting gtk_app_chooser_widget_get_show_fallback gboolean GtkAppChooserWidget *self gtk_app_chooser_widget_set_show_other void GtkAppChooserWidget *self, gboolean setting gtk_app_chooser_widget_get_show_other gboolean GtkAppChooserWidget *self gtk_app_chooser_widget_set_show_all void GtkAppChooserWidget *self, gboolean setting gtk_app_chooser_widget_get_show_all gboolean GtkAppChooserWidget *self gtk_app_chooser_widget_set_default_text void GtkAppChooserWidget *self, const char *text gtk_app_chooser_widget_get_default_text const char * GtkAppChooserWidget *self GtkAppChooserWidget GTK_TYPE_APPLICATION #define GTK_TYPE_APPLICATION (gtk_application_get_type ()) GTK_APPLICATION #define GTK_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APPLICATION, GtkApplication)) GTK_APPLICATION_CLASS #define GTK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_APPLICATION, GtkApplicationClass)) GTK_IS_APPLICATION #define GTK_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APPLICATION)) GTK_IS_APPLICATION_CLASS #define GTK_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_APPLICATION)) GTK_APPLICATION_GET_CLASS #define GTK_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_APPLICATION, GtkApplicationClass)) GtkApplication struct _GtkApplication { GApplication parent_instance; }; GtkApplicationClass struct _GtkApplicationClass { GApplicationClass parent_class; /*< public >*/ void (*window_added) (GtkApplication *application, GtkWindow *window); void (*window_removed) (GtkApplication *application, GtkWindow *window); /*< private >*/ gpointer padding[8]; }; gtk_application_get_type GType void gtk_application_new GtkApplication * const char *application_id, GApplicationFlags flags gtk_application_add_window void GtkApplication *application, GtkWindow *window gtk_application_remove_window void GtkApplication *application, GtkWindow *window gtk_application_get_windows GList * GtkApplication *application gtk_application_get_menubar GMenuModel * GtkApplication *application gtk_application_set_menubar void GtkApplication *application, GMenuModel *menubar GtkApplicationInhibitFlags typedef enum { GTK_APPLICATION_INHIBIT_LOGOUT = (1 << 0), GTK_APPLICATION_INHIBIT_SWITCH = (1 << 1), GTK_APPLICATION_INHIBIT_SUSPEND = (1 << 2), GTK_APPLICATION_INHIBIT_IDLE = (1 << 3) } GtkApplicationInhibitFlags; gtk_application_inhibit guint GtkApplication *application, GtkWindow *window, GtkApplicationInhibitFlags flags, const char *reason gtk_application_uninhibit void GtkApplication *application, guint cookie gtk_application_get_window_by_id GtkWindow * GtkApplication *application, guint id gtk_application_get_active_window GtkWindow * GtkApplication *application gtk_application_list_action_descriptions char ** GtkApplication *application gtk_application_get_accels_for_action char ** GtkApplication *application, const char *detailed_action_name gtk_application_get_actions_for_accel char ** GtkApplication *application, const char *accel gtk_application_set_accels_for_action void GtkApplication *application, const char *detailed_action_name, const char * const *accels gtk_application_get_menu_by_id GMenu * GtkApplication *application, const char *id GTK_TYPE_APPLICATION_WINDOW #define GTK_TYPE_APPLICATION_WINDOW (gtk_application_window_get_type ()) GTK_APPLICATION_WINDOW #define GTK_APPLICATION_WINDOW(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindow)) GTK_APPLICATION_WINDOW_CLASS #define GTK_APPLICATION_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindowClass)) GTK_IS_APPLICATION_WINDOW #define GTK_IS_APPLICATION_WINDOW(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ GTK_TYPE_APPLICATION_WINDOW)) GTK_IS_APPLICATION_WINDOW_CLASS #define GTK_IS_APPLICATION_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ GTK_TYPE_APPLICATION_WINDOW)) GTK_APPLICATION_WINDOW_GET_CLASS #define GTK_APPLICATION_WINDOW_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindowClass)) GtkApplicationWindow struct _GtkApplicationWindow { GtkWindow parent_instance; }; GtkApplicationWindowClass struct _GtkApplicationWindowClass { GtkWindowClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_application_window_get_type GType void gtk_application_window_new GtkWidget * GtkApplication *application gtk_application_window_set_show_menubar void GtkApplicationWindow *window, gboolean show_menubar gtk_application_window_get_show_menubar gboolean GtkApplicationWindow *window gtk_application_window_get_id guint GtkApplicationWindow *window gtk_application_window_set_help_overlay void GtkApplicationWindow *window, GtkShortcutsWindow *help_overlay gtk_application_window_get_help_overlay GtkShortcutsWindow * GtkApplicationWindow *window GTK_TYPE_ASPECT_FRAME #define GTK_TYPE_ASPECT_FRAME (gtk_aspect_frame_get_type ()) GTK_ASPECT_FRAME #define GTK_ASPECT_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ASPECT_FRAME, GtkAspectFrame)) GTK_IS_ASPECT_FRAME #define GTK_IS_ASPECT_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ASPECT_FRAME)) gtk_aspect_frame_get_type GType void gtk_aspect_frame_new GtkWidget * float xalign, float yalign, float ratio, gboolean obey_child gtk_aspect_frame_set_xalign void GtkAspectFrame *self, float xalign gtk_aspect_frame_get_xalign float GtkAspectFrame *self gtk_aspect_frame_set_yalign void GtkAspectFrame *self, float yalign gtk_aspect_frame_get_yalign float GtkAspectFrame *self gtk_aspect_frame_set_ratio void GtkAspectFrame *self, float ratio gtk_aspect_frame_get_ratio float GtkAspectFrame *self gtk_aspect_frame_set_obey_child void GtkAspectFrame *self, gboolean obey_child gtk_aspect_frame_get_obey_child gboolean GtkAspectFrame *self gtk_aspect_frame_set_child void GtkAspectFrame *self, GtkWidget *child gtk_aspect_frame_get_child GtkWidget * GtkAspectFrame *self GtkAspectFrame GTK_TYPE_ASSISTANT #define GTK_TYPE_ASSISTANT (gtk_assistant_get_type ()) GTK_ASSISTANT #define GTK_ASSISTANT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_ASSISTANT, GtkAssistant)) GTK_IS_ASSISTANT #define GTK_IS_ASSISTANT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_ASSISTANT)) GtkAssistantPageType typedef enum { GTK_ASSISTANT_PAGE_CONTENT, GTK_ASSISTANT_PAGE_INTRO, GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_SUMMARY, GTK_ASSISTANT_PAGE_PROGRESS, GTK_ASSISTANT_PAGE_CUSTOM } GtkAssistantPageType; GTK_TYPE_ASSISTANT_PAGE #define GTK_TYPE_ASSISTANT_PAGE (gtk_assistant_page_get_type ()) GTK_ASSISTANT_PAGE #define GTK_ASSISTANT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ASSISTANT_PAGE, GtkAssistantPage)) GTK_IS_ASSISTANT_PAGE #define GTK_IS_ASSISTANT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ASSISTANT_PAGE)) GtkAssistantPageFunc int int current_page, gpointer data gtk_assistant_page_get_type GType void gtk_assistant_get_type GType void gtk_assistant_new GtkWidget * void gtk_assistant_next_page void GtkAssistant *assistant gtk_assistant_previous_page void GtkAssistant *assistant gtk_assistant_get_current_page int GtkAssistant *assistant gtk_assistant_set_current_page void GtkAssistant *assistant, int page_num gtk_assistant_get_n_pages int GtkAssistant *assistant gtk_assistant_get_nth_page GtkWidget * GtkAssistant *assistant, int page_num gtk_assistant_prepend_page int GtkAssistant *assistant, GtkWidget *page gtk_assistant_append_page int GtkAssistant *assistant, GtkWidget *page gtk_assistant_insert_page int GtkAssistant *assistant, GtkWidget *page, int position gtk_assistant_remove_page void GtkAssistant *assistant, int page_num gtk_assistant_set_forward_page_func void GtkAssistant *assistant, GtkAssistantPageFunc page_func, gpointer data, GDestroyNotify destroy gtk_assistant_set_page_type void GtkAssistant *assistant, GtkWidget *page, GtkAssistantPageType type gtk_assistant_get_page_type GtkAssistantPageType GtkAssistant *assistant, GtkWidget *page gtk_assistant_set_page_title void GtkAssistant *assistant, GtkWidget *page, const char *title gtk_assistant_get_page_title const char * GtkAssistant *assistant, GtkWidget *page gtk_assistant_set_page_complete void GtkAssistant *assistant, GtkWidget *page, gboolean complete gtk_assistant_get_page_complete gboolean GtkAssistant *assistant, GtkWidget *page gtk_assistant_add_action_widget void GtkAssistant *assistant, GtkWidget *child gtk_assistant_remove_action_widget void GtkAssistant *assistant, GtkWidget *child gtk_assistant_update_buttons_state void GtkAssistant *assistant gtk_assistant_commit void GtkAssistant *assistant gtk_assistant_get_page GtkAssistantPage * GtkAssistant *assistant, GtkWidget *child gtk_assistant_page_get_child GtkWidget * GtkAssistantPage *page gtk_assistant_get_pages GListModel * GtkAssistant *assistant GtkAssistant GtkAssistantPage GTK_TYPE_AT_CONTEXT #define GTK_TYPE_AT_CONTEXT (gtk_at_context_get_type()) gtk_at_context_get_accessible GtkAccessible * GtkATContext *self gtk_at_context_get_accessible_role GtkAccessibleRole GtkATContext *self gtk_at_context_create GtkATContext * GtkAccessibleRole accessible_role, GtkAccessible *accessible GtkATContext GTK_TYPE_BIN_LAYOUT #define GTK_TYPE_BIN_LAYOUT (gtk_bin_layout_get_type ()) gtk_bin_layout_new GtkLayoutManager * void GtkBinLayout GTK_TYPE_BITSET #define GTK_TYPE_BITSET (gtk_bitset_get_type ()) gtk_bitset_get_type GType void gtk_bitset_ref GtkBitset * GtkBitset *self gtk_bitset_unref void GtkBitset *self gtk_bitset_contains gboolean const GtkBitset *self, guint value gtk_bitset_is_empty gboolean const GtkBitset *self gtk_bitset_equals gboolean const GtkBitset *self, const GtkBitset *other gtk_bitset_get_size guint64 const GtkBitset *self gtk_bitset_get_size_in_range guint64 const GtkBitset *self, guint first, guint last gtk_bitset_get_nth guint const GtkBitset *self, guint nth gtk_bitset_get_minimum guint const GtkBitset *self gtk_bitset_get_maximum guint const GtkBitset *self gtk_bitset_new_empty GtkBitset * void gtk_bitset_copy GtkBitset * const GtkBitset *self gtk_bitset_new_range GtkBitset * guint start, guint n_items gtk_bitset_remove_all void GtkBitset *self gtk_bitset_add gboolean GtkBitset *self, guint value gtk_bitset_remove gboolean GtkBitset *self, guint value gtk_bitset_add_range void GtkBitset *self, guint start, guint n_items gtk_bitset_remove_range void GtkBitset *self, guint start, guint n_items gtk_bitset_add_range_closed void GtkBitset *self, guint first, guint last gtk_bitset_remove_range_closed void GtkBitset *self, guint first, guint last gtk_bitset_add_rectangle void GtkBitset *self, guint start, guint width, guint height, guint stride gtk_bitset_remove_rectangle void GtkBitset *self, guint start, guint width, guint height, guint stride gtk_bitset_union void GtkBitset *self, const GtkBitset *other gtk_bitset_intersect void GtkBitset *self, const GtkBitset *other gtk_bitset_subtract void GtkBitset *self, const GtkBitset *other gtk_bitset_difference void GtkBitset *self, const GtkBitset *other gtk_bitset_shift_left void GtkBitset *self, guint amount gtk_bitset_shift_right void GtkBitset *self, guint amount gtk_bitset_splice void GtkBitset *self, guint position, guint removed, guint added GtkBitsetIter struct _GtkBitsetIter { gpointer private_data[10]; }; gtk_bitset_iter_init_first gboolean GtkBitsetIter *iter, const GtkBitset *set, guint *value gtk_bitset_iter_init_last gboolean GtkBitsetIter *iter, const GtkBitset *set, guint *value gtk_bitset_iter_init_at gboolean GtkBitsetIter *iter, const GtkBitset *set, guint target, guint *value gtk_bitset_iter_next gboolean GtkBitsetIter *iter, guint *value gtk_bitset_iter_previous gboolean GtkBitsetIter *iter, guint *value gtk_bitset_iter_get_value guint const GtkBitsetIter *iter gtk_bitset_iter_is_valid gboolean const GtkBitsetIter *iter GTK_TYPE_BOOKMARK_LIST #define GTK_TYPE_BOOKMARK_LIST (gtk_bookmark_list_get_type ()) gtk_bookmark_list_new GtkBookmarkList * const char *filename, const char *attributes gtk_bookmark_list_get_filename const char * GtkBookmarkList *self gtk_bookmark_list_set_attributes void GtkBookmarkList *self, const char *attributes gtk_bookmark_list_get_attributes const char * GtkBookmarkList *self gtk_bookmark_list_set_io_priority void GtkBookmarkList *self, int io_priority gtk_bookmark_list_get_io_priority int GtkBookmarkList *self gtk_bookmark_list_is_loading gboolean GtkBookmarkList *self GtkBookmarkList GtkBookmarksChangedFunc void gpointer data GTK_TYPE_BOOL_FILTER #define GTK_TYPE_BOOL_FILTER (gtk_bool_filter_get_type ()) gtk_bool_filter_new GtkFilter * GtkExpression *expression gtk_bool_filter_get_expression GtkExpression * GtkBoolFilter *self gtk_bool_filter_set_expression void GtkBoolFilter *self, GtkExpression *expression gtk_bool_filter_get_invert gboolean GtkBoolFilter *self gtk_bool_filter_set_invert void GtkBoolFilter *self, gboolean invert GtkBoolFilter GTK_TYPE_BORDER #define GTK_TYPE_BORDER (gtk_border_get_type ()) GtkBorder struct _GtkBorder { gint16 left; gint16 right; gint16 top; gint16 bottom; }; gtk_border_get_type GType void gtk_border_new GtkBorder * void gtk_border_copy GtkBorder * const GtkBorder *border_ gtk_border_free void GtkBorder *border_ GTK_TYPE_BOX #define GTK_TYPE_BOX (gtk_box_get_type ()) GTK_BOX #define GTK_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX, GtkBox)) GTK_BOX_CLASS #define GTK_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX, GtkBoxClass)) GTK_IS_BOX #define GTK_IS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BOX)) GTK_IS_BOX_CLASS #define GTK_IS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX)) GTK_BOX_GET_CLASS #define GTK_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BOX, GtkBoxClass)) GtkBox struct _GtkBox { GtkWidget parent_instance; }; GtkBoxClass struct _GtkBoxClass { GtkWidgetClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_box_get_type GType void gtk_box_new GtkWidget * GtkOrientation orientation, int spacing gtk_box_set_homogeneous void GtkBox *box, gboolean homogeneous gtk_box_get_homogeneous gboolean GtkBox *box gtk_box_set_spacing void GtkBox *box, int spacing gtk_box_get_spacing int GtkBox *box gtk_box_set_baseline_position void GtkBox *box, GtkBaselinePosition position gtk_box_get_baseline_position GtkBaselinePosition GtkBox *box gtk_box_append void GtkBox *box, GtkWidget *child gtk_box_prepend void GtkBox *box, GtkWidget *child gtk_box_remove void GtkBox *box, GtkWidget *child gtk_box_insert_child_after void GtkBox *box, GtkWidget *child, GtkWidget *sibling gtk_box_reorder_child_after void GtkBox *box, GtkWidget *child, GtkWidget *sibling GTK_TYPE_BOX_LAYOUT #define GTK_TYPE_BOX_LAYOUT (gtk_box_layout_get_type()) gtk_box_layout_new GtkLayoutManager * GtkOrientation orientation gtk_box_layout_set_homogeneous void GtkBoxLayout *box_layout, gboolean homogeneous gtk_box_layout_get_homogeneous gboolean GtkBoxLayout *box_layout gtk_box_layout_set_spacing void GtkBoxLayout *box_layout, guint spacing gtk_box_layout_get_spacing guint GtkBoxLayout *box_layout gtk_box_layout_set_baseline_position void GtkBoxLayout *box_layout, GtkBaselinePosition position gtk_box_layout_get_baseline_position GtkBaselinePosition GtkBoxLayout *box_layout GtkBoxLayout GTK_TYPE_BUILDABLE #define GTK_TYPE_BUILDABLE (gtk_buildable_get_type ()) GTK_BUILDABLE #define GTK_BUILDABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BUILDABLE, GtkBuildable)) GTK_BUILDABLE_CLASS #define GTK_BUILDABLE_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_BUILDABLE, GtkBuildableIface)) GTK_IS_BUILDABLE #define GTK_IS_BUILDABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BUILDABLE)) GTK_BUILDABLE_GET_IFACE #define GTK_BUILDABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_BUILDABLE, GtkBuildableIface)) GtkBuildableParser struct _GtkBuildableParser { /* Called for open tags */ void (*start_element) (GtkBuildableParseContext *context, const char *element_name, const char **attribute_names, const char **attribute_values, gpointer user_data, GError **error); /* Called for close tags */ void (*end_element) (GtkBuildableParseContext *context, const char *element_name, gpointer user_data, GError **error); /* Called for character data */ /* text is not nul-terminated */ void (*text) (GtkBuildableParseContext *context, const char *text, gsize text_len, gpointer user_data, GError **error); /* Called on error, including one set by other * methods in the vtable. The GError should not be freed. */ void (*error) (GtkBuildableParseContext *context, GError *error, gpointer user_data); gpointer padding[4]; }; GtkBuildableIface struct _GtkBuildableIface { GTypeInterface g_iface; /* virtual table */ void (* set_name) (GtkBuildable *buildable, const char *name); const char * (* get_name) (GtkBuildable *buildable); void (* add_child) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *type); void (* set_buildable_property) (GtkBuildable *buildable, GtkBuilder *builder, const char *name, const GValue *value); GObject * (* construct_child) (GtkBuildable *buildable, GtkBuilder *builder, const char *name); gboolean (* custom_tag_start) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, GtkBuildableParser *parser, gpointer *data); void (* custom_tag_end) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); void (* custom_finished) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); void (* parser_finished) (GtkBuildable *buildable, GtkBuilder *builder); GObject * (* get_internal_child) (GtkBuildable *buildable, GtkBuilder *builder, const char *childname); }; gtk_buildable_get_type GType void gtk_buildable_set_name void GtkBuildable *buildable, const char *name gtk_buildable_get_name const char * GtkBuildable *buildable gtk_buildable_add_child void GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *type gtk_buildable_set_buildable_property void GtkBuildable *buildable, GtkBuilder *builder, const char *name, const GValue *value gtk_buildable_construct_child GObject * GtkBuildable *buildable, GtkBuilder *builder, const char *name gtk_buildable_custom_tag_start gboolean GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, GtkBuildableParser *parser, gpointer *data gtk_buildable_custom_tag_end void GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data gtk_buildable_custom_finished void GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data gtk_buildable_parser_finished void GtkBuildable *buildable, GtkBuilder *builder gtk_buildable_get_internal_child GObject * GtkBuildable *buildable, GtkBuilder *builder, const char *childname gtk_buildable_parse_context_push void GtkBuildableParseContext *context, const GtkBuildableParser *parser, gpointer user_data gtk_buildable_parse_context_pop gpointer GtkBuildableParseContext *context gtk_buildable_parse_context_get_element const char * GtkBuildableParseContext *context gtk_buildable_parse_context_get_element_stack GPtrArray * GtkBuildableParseContext *context gtk_buildable_parse_context_get_position void GtkBuildableParseContext *context, int *line_number, int *char_number GtkBuildable GtkBuildableParseContext GTK_TYPE_BUILDER #define GTK_TYPE_BUILDER (gtk_builder_get_type ()) GTK_BUILDER #define GTK_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BUILDER, GtkBuilder)) GTK_BUILDER_CLASS #define GTK_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUILDER, GtkBuilderClass)) GTK_IS_BUILDER #define GTK_IS_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BUILDER)) GTK_IS_BUILDER_CLASS #define GTK_IS_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUILDER)) GTK_BUILDER_GET_CLASS #define GTK_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUILDER, GtkBuilderClass)) GTK_BUILDER_ERROR #define GTK_BUILDER_ERROR (gtk_builder_error_quark ()) GtkBuilderError typedef enum { GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION, GTK_BUILDER_ERROR_UNHANDLED_TAG, GTK_BUILDER_ERROR_MISSING_ATTRIBUTE, GTK_BUILDER_ERROR_INVALID_ATTRIBUTE, GTK_BUILDER_ERROR_INVALID_TAG, GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE, GTK_BUILDER_ERROR_INVALID_VALUE, GTK_BUILDER_ERROR_VERSION_MISMATCH, GTK_BUILDER_ERROR_DUPLICATE_ID, GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED, GTK_BUILDER_ERROR_TEMPLATE_MISMATCH, GTK_BUILDER_ERROR_INVALID_PROPERTY, GTK_BUILDER_ERROR_INVALID_SIGNAL, GTK_BUILDER_ERROR_INVALID_ID, GTK_BUILDER_ERROR_INVALID_FUNCTION } GtkBuilderError; gtk_builder_error_quark GQuark void gtk_builder_get_type GType void gtk_builder_new GtkBuilder * void gtk_builder_add_from_file gboolean GtkBuilder *builder, const char *filename, GError **error gtk_builder_add_from_resource gboolean GtkBuilder *builder, const char *resource_path, GError **error gtk_builder_add_from_string gboolean GtkBuilder *builder, const char *buffer, gssize length, GError **error gtk_builder_add_objects_from_file gboolean GtkBuilder *builder, const char *filename, const char **object_ids, GError **error gtk_builder_add_objects_from_resource gboolean GtkBuilder *builder, const char *resource_path, const char **object_ids, GError **error gtk_builder_add_objects_from_string gboolean GtkBuilder *builder, const char *buffer, gssize length, const char **object_ids, GError **error gtk_builder_get_object GObject * GtkBuilder *builder, const char *name gtk_builder_get_objects GSList * GtkBuilder *builder gtk_builder_expose_object void GtkBuilder *builder, const char *name, GObject *object gtk_builder_get_current_object GObject * GtkBuilder *builder gtk_builder_set_current_object void GtkBuilder *builder, GObject *current_object gtk_builder_set_translation_domain void GtkBuilder *builder, const char *domain gtk_builder_get_translation_domain const char * GtkBuilder *builder gtk_builder_get_scope GtkBuilderScope * GtkBuilder *builder gtk_builder_set_scope void GtkBuilder *builder, GtkBuilderScope *scope gtk_builder_get_type_from_name GType GtkBuilder *builder, const char *type_name gtk_builder_value_from_string gboolean GtkBuilder *builder, GParamSpec *pspec, const char *string, GValue *value, GError **error gtk_builder_value_from_string_type gboolean GtkBuilder *builder, GType type, const char *string, GValue *value, GError **error gtk_builder_new_from_file GtkBuilder * const char *filename gtk_builder_new_from_resource GtkBuilder * const char *resource_path gtk_builder_new_from_string GtkBuilder * const char *string, gssize length gtk_builder_create_closure GClosure * GtkBuilder *builder, const char *function_name, GtkBuilderClosureFlags flags, GObject *object, GError **error GTK_BUILDER_WARN_INVALID_CHILD_TYPE #define GTK_BUILDER_WARN_INVALID_CHILD_TYPE(object, type) \ g_warning ("'%s' is not a valid child type of '%s'", type, g_type_name (G_OBJECT_TYPE (object))) gtk_builder_extend_with_template gboolean GtkBuilder *builder, GObject *object, GType template_type, const char *buffer, gssize length, GError **error GtkBuilderClass GTK_TYPE_BUILDER_LIST_ITEM_FACTORY #define GTK_TYPE_BUILDER_LIST_ITEM_FACTORY (gtk_builder_list_item_factory_get_type ()) GTK_BUILDER_LIST_ITEM_FACTORY #define GTK_BUILDER_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_BUILDER_LIST_ITEM_FACTORY, GtkBuilderListItemFactory)) GTK_BUILDER_LIST_ITEM_FACTORY_CLASS #define GTK_BUILDER_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_BUILDER_LIST_ITEM_FACTORY, GtkBuilderListItemFactoryClass)) GTK_IS_BUILDER_LIST_ITEM_FACTORY #define GTK_IS_BUILDER_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_BUILDER_LIST_ITEM_FACTORY)) GTK_IS_BUILDER_LIST_ITEM_FACTORY_CLASS #define GTK_IS_BUILDER_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_BUILDER_LIST_ITEM_FACTORY)) GTK_BUILDER_LIST_ITEM_FACTORY_GET_CLASS #define GTK_BUILDER_LIST_ITEM_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_BUILDER_LIST_ITEM_FACTORY, GtkBuilderListItemFactoryClass)) gtk_builder_list_item_factory_get_type GType void gtk_builder_list_item_factory_new_from_bytes GtkListItemFactory * GtkBuilderScope *scope, GBytes *bytes gtk_builder_list_item_factory_new_from_resource GtkListItemFactory * GtkBuilderScope *scope, const char *resource_path gtk_builder_list_item_factory_get_bytes GBytes * GtkBuilderListItemFactory *self gtk_builder_list_item_factory_get_resource const char * GtkBuilderListItemFactory *self gtk_builder_list_item_factory_get_scope GtkBuilderScope * GtkBuilderListItemFactory *self GtkBuilderListItemFactory GtkBuilderListItemFactoryClass GTK_TYPE_BUILDER_SCOPE #define GTK_TYPE_BUILDER_SCOPE (gtk_builder_scope_get_type ()) GtkBuilderClosureFlags typedef enum { GTK_BUILDER_CLOSURE_SWAPPED = (1 << 0) } GtkBuilderClosureFlags; GtkBuilderScopeInterface struct _GtkBuilderScopeInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ GType (* get_type_from_name) (GtkBuilderScope *self, GtkBuilder *builder, const char *type_name); GType (* get_type_from_function) (GtkBuilderScope *self, GtkBuilder *builder, const char *function_name); GClosure * (* create_closure) (GtkBuilderScope *self, GtkBuilder *builder, const char *function_name, GtkBuilderClosureFlags flags, GObject *object, GError **error); }; GtkBuilderCScopeClass struct _GtkBuilderCScopeClass { GObjectClass parent_class; }; GTK_TYPE_BUILDER_CSCOPE #define GTK_TYPE_BUILDER_CSCOPE (gtk_builder_cscope_get_type ()) gtk_builder_cscope_new GtkBuilderScope * void gtk_builder_cscope_add_callback_symbol void GtkBuilderCScope *self, const char *callback_name, GCallback callback_symbol gtk_builder_cscope_add_callback_symbols void GtkBuilderCScope *self, const char *first_callback_name, GCallback first_callback_symbol, ... gtk_builder_cscope_lookup_callback_symbol GCallback GtkBuilderCScope *self, const char *callback_name GtkBuilderCScope GtkBuilderCScopeClass GtkBuilderScope GTK_TYPE_BUILTIN_ICON #define GTK_TYPE_BUILTIN_ICON (gtk_builtin_icon_get_type ()) gtk_builtin_icon_new GtkWidget * const char *css_name gtk_builtin_icon_set_css_name void GtkBuiltinIcon *self, const char *css_name GtkBuiltinIcon GTK_TYPE_BUTTON #define GTK_TYPE_BUTTON (gtk_button_get_type ()) GTK_BUTTON #define GTK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BUTTON, GtkButton)) GTK_BUTTON_CLASS #define GTK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON, GtkButtonClass)) GTK_IS_BUTTON #define GTK_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BUTTON)) GTK_IS_BUTTON_CLASS #define GTK_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON)) GTK_BUTTON_GET_CLASS #define GTK_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUTTON, GtkButtonClass)) GtkButton struct _GtkButton { /*< private >*/ GtkWidget parent_instance; }; GtkButtonClass struct _GtkButtonClass { GtkWidgetClass parent_class; /*< public >*/ void (* clicked) (GtkButton *button); void (* activate) (GtkButton *button); /*< private >*/ gpointer padding[8]; }; gtk_button_get_type GType void gtk_button_new GtkWidget * void gtk_button_new_with_label GtkWidget * const char *label gtk_button_new_from_icon_name GtkWidget * const char *icon_name gtk_button_new_with_mnemonic GtkWidget * const char *label gtk_button_set_has_frame void GtkButton *button, gboolean has_frame gtk_button_get_has_frame gboolean GtkButton *button gtk_button_set_label void GtkButton *button, const char *label gtk_button_get_label const char * GtkButton *button gtk_button_set_use_underline void GtkButton *button, gboolean use_underline gtk_button_get_use_underline gboolean GtkButton *button gtk_button_set_icon_name void GtkButton *button, const char *icon_name gtk_button_get_icon_name const char * GtkButton *button gtk_button_set_child void GtkButton *button, GtkWidget *child gtk_button_get_child GtkWidget * GtkButton *button GtkButtonPrivate GTK_TYPE_CALENDAR #define GTK_TYPE_CALENDAR (gtk_calendar_get_type ()) GTK_CALENDAR #define GTK_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CALENDAR, GtkCalendar)) GTK_IS_CALENDAR #define GTK_IS_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CALENDAR)) gtk_calendar_get_type GType void gtk_calendar_new GtkWidget * void gtk_calendar_select_day void GtkCalendar *self, GDateTime *date gtk_calendar_mark_day void GtkCalendar *calendar, guint day gtk_calendar_unmark_day void GtkCalendar *calendar, guint day gtk_calendar_clear_marks void GtkCalendar *calendar gtk_calendar_set_show_week_numbers void GtkCalendar *self, gboolean value gtk_calendar_get_show_week_numbers gboolean GtkCalendar *self gtk_calendar_set_show_heading void GtkCalendar *self, gboolean value gtk_calendar_get_show_heading gboolean GtkCalendar *self gtk_calendar_set_show_day_names void GtkCalendar *self, gboolean value gtk_calendar_get_show_day_names gboolean GtkCalendar *self gtk_calendar_get_date GDateTime * GtkCalendar *self gtk_calendar_get_day_is_marked gboolean GtkCalendar *calendar, guint day GtkCalendar GTK_TYPE_CELL_AREA #define GTK_TYPE_CELL_AREA (gtk_cell_area_get_type ()) GTK_CELL_AREA #define GTK_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA, GtkCellArea)) GTK_CELL_AREA_CLASS #define GTK_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) GTK_IS_CELL_AREA #define GTK_IS_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA)) GTK_IS_CELL_AREA_CLASS #define GTK_IS_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA)) GTK_CELL_AREA_GET_CLASS #define GTK_CELL_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID #define GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID(object, property_id, pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) GtkCellCallback gboolean GtkCellRenderer *renderer, gpointer data GtkCellAllocCallback gboolean GtkCellRenderer *renderer, const GdkRectangle *cell_area, const GdkRectangle *cell_background, gpointer data GtkCellArea struct _GtkCellArea { /*< private >*/ GInitiallyUnowned parent_instance; }; GtkCellAreaClass struct _GtkCellAreaClass { /*< private >*/ GInitiallyUnownedClass parent_class; /*< public >*/ /* Basic methods */ void (* add) (GtkCellArea *area, GtkCellRenderer *renderer); void (* remove) (GtkCellArea *area, GtkCellRenderer *renderer); void (* foreach) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); void (* foreach_alloc) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); int (* event) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); void (* snapshot) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus); void (* apply_attributes) (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded); /* Geometry */ GtkCellAreaContext *(* create_context) (GtkCellArea *area); GtkCellAreaContext *(* copy_context) (GtkCellArea *area, GtkCellAreaContext *context); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width); void (* get_preferred_height_for_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height); void (* get_preferred_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height); void (* get_preferred_width_for_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width); /* Cell Properties */ void (* set_cell_property) (GtkCellArea *area, GtkCellRenderer *renderer, guint property_id, const GValue *value, GParamSpec *pspec); void (* get_cell_property) (GtkCellArea *area, GtkCellRenderer *renderer, guint property_id, GValue *value, GParamSpec *pspec); /* Focus */ gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); gboolean (* is_activatable) (GtkCellArea *area); gboolean (* activate) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only); /*< private >*/ gpointer padding[8]; }; gtk_cell_area_get_type GType void gtk_cell_area_add void GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_remove void GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_has_renderer gboolean GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_foreach void GtkCellArea *area, GtkCellCallback callback, gpointer callback_data gtk_cell_area_foreach_alloc void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data gtk_cell_area_event int GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags gtk_cell_area_snapshot void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus gtk_cell_area_get_cell_allocation void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation gtk_cell_area_get_cell_at_position GtkCellRenderer * GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, int x, int y, GdkRectangle *alloc_area gtk_cell_area_create_context GtkCellAreaContext * GtkCellArea *area gtk_cell_area_copy_context GtkCellAreaContext * GtkCellArea *area, GtkCellAreaContext *context gtk_cell_area_get_request_mode GtkSizeRequestMode GtkCellArea *area gtk_cell_area_get_preferred_width void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width gtk_cell_area_get_preferred_height_for_width void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height gtk_cell_area_get_preferred_height void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height gtk_cell_area_get_preferred_width_for_height void GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width gtk_cell_area_get_current_path_string const char * GtkCellArea *area gtk_cell_area_apply_attributes void GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded gtk_cell_area_attribute_connect void GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute, int column gtk_cell_area_attribute_disconnect void GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute gtk_cell_area_attribute_get_column int GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute gtk_cell_area_class_install_cell_property void GtkCellAreaClass *aclass, guint property_id, GParamSpec *pspec gtk_cell_area_class_find_cell_property GParamSpec * GtkCellAreaClass *aclass, const char *property_name gtk_cell_area_class_list_cell_properties GParamSpec ** GtkCellAreaClass *aclass, guint *n_properties gtk_cell_area_add_with_properties void GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ... gtk_cell_area_cell_set void GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ... gtk_cell_area_cell_get void GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ... gtk_cell_area_cell_set_valist void GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args gtk_cell_area_cell_get_valist void GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args gtk_cell_area_cell_set_property void GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, const GValue *value gtk_cell_area_cell_get_property void GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, GValue *value gtk_cell_area_is_activatable gboolean GtkCellArea *area gtk_cell_area_activate gboolean GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only gtk_cell_area_focus gboolean GtkCellArea *area, GtkDirectionType direction gtk_cell_area_set_focus_cell void GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_get_focus_cell GtkCellRenderer * GtkCellArea *area gtk_cell_area_add_focus_sibling void GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling gtk_cell_area_remove_focus_sibling void GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling gtk_cell_area_is_focus_sibling gboolean GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling gtk_cell_area_get_focus_siblings const GList * GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_get_focus_from_sibling GtkCellRenderer * GtkCellArea *area, GtkCellRenderer *renderer gtk_cell_area_get_edited_cell GtkCellRenderer * GtkCellArea *area gtk_cell_area_get_edit_widget GtkCellEditable * GtkCellArea *area gtk_cell_area_activate_cell gboolean GtkCellArea *area, GtkWidget *widget, GtkCellRenderer *renderer, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags gtk_cell_area_stop_editing void GtkCellArea *area, gboolean canceled gtk_cell_area_inner_cell_area void GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area gtk_cell_area_request_renderer void GtkCellArea *area, GtkCellRenderer *renderer, GtkOrientation orientation, GtkWidget *widget, int for_size, int *minimum_size, int *natural_size GtkCellAreaContext GTK_TYPE_CELL_AREA_BOX #define GTK_TYPE_CELL_AREA_BOX (gtk_cell_area_box_get_type ()) GTK_CELL_AREA_BOX #define GTK_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBox)) GTK_IS_CELL_AREA_BOX #define GTK_IS_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX)) gtk_cell_area_box_get_type GType void gtk_cell_area_box_new GtkCellArea * void gtk_cell_area_box_pack_start void GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed gtk_cell_area_box_pack_end void GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed gtk_cell_area_box_get_spacing int GtkCellAreaBox *box gtk_cell_area_box_set_spacing void GtkCellAreaBox *box, int spacing GtkCellAreaBox GTK_TYPE_CELL_AREA_CONTEXT #define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) GTK_CELL_AREA_CONTEXT #define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) GTK_CELL_AREA_CONTEXT_CLASS #define GTK_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) GTK_IS_CELL_AREA_CONTEXT #define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) GTK_IS_CELL_AREA_CONTEXT_CLASS #define GTK_IS_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_CONTEXT)) GTK_CELL_AREA_CONTEXT_GET_CLASS #define GTK_CELL_AREA_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) GtkCellAreaContext struct _GtkCellAreaContext { /*< private >*/ GObject parent_instance; }; GtkCellAreaContextClass struct _GtkCellAreaContextClass { /*< private >*/ GObjectClass parent_class; /*< public >*/ void (* allocate) (GtkCellAreaContext *context, int width, int height); void (* reset) (GtkCellAreaContext *context); void (* get_preferred_height_for_width) (GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height); void (* get_preferred_width_for_height) (GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width); /*< private >*/ gpointer padding[8]; }; gtk_cell_area_context_get_type GType void gtk_cell_area_context_get_area GtkCellArea * GtkCellAreaContext *context gtk_cell_area_context_allocate void GtkCellAreaContext *context, int width, int height gtk_cell_area_context_reset void GtkCellAreaContext *context gtk_cell_area_context_get_preferred_width void GtkCellAreaContext *context, int *minimum_width, int *natural_width gtk_cell_area_context_get_preferred_height void GtkCellAreaContext *context, int *minimum_height, int *natural_height gtk_cell_area_context_get_preferred_height_for_width void GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height gtk_cell_area_context_get_preferred_width_for_height void GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width gtk_cell_area_context_get_allocation void GtkCellAreaContext *context, int *width, int *height gtk_cell_area_context_push_preferred_width void GtkCellAreaContext *context, int minimum_width, int natural_width gtk_cell_area_context_push_preferred_height void GtkCellAreaContext *context, int minimum_height, int natural_height GtkCellAreaContextPrivate GTK_TYPE_CELL_EDITABLE #define GTK_TYPE_CELL_EDITABLE (gtk_cell_editable_get_type ()) GTK_CELL_EDITABLE #define GTK_CELL_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_EDITABLE, GtkCellEditable)) GTK_CELL_EDITABLE_CLASS #define GTK_CELL_EDITABLE_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_CELL_EDITABLE, GtkCellEditableIface)) GTK_IS_CELL_EDITABLE #define GTK_IS_CELL_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_EDITABLE)) GTK_CELL_EDITABLE_GET_IFACE #define GTK_CELL_EDITABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_CELL_EDITABLE, GtkCellEditableIface)) GtkCellEditableIface struct _GtkCellEditableIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* signals */ void (* editing_done) (GtkCellEditable *cell_editable); void (* remove_widget) (GtkCellEditable *cell_editable); /* virtual table */ void (* start_editing) (GtkCellEditable *cell_editable, GdkEvent *event); }; gtk_cell_editable_get_type GType void gtk_cell_editable_start_editing void GtkCellEditable *cell_editable, GdkEvent *event gtk_cell_editable_editing_done void GtkCellEditable *cell_editable gtk_cell_editable_remove_widget void GtkCellEditable *cell_editable GtkCellEditable GTK_TYPE_CELL_LAYOUT #define GTK_TYPE_CELL_LAYOUT (gtk_cell_layout_get_type ()) GTK_CELL_LAYOUT #define GTK_CELL_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayout)) GTK_IS_CELL_LAYOUT #define GTK_IS_CELL_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_LAYOUT)) GTK_CELL_LAYOUT_GET_IFACE #define GTK_CELL_LAYOUT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayoutIface)) GtkCellLayoutDataFunc void GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data GtkCellLayoutIface struct _GtkCellLayoutIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* Virtual Table */ void (* pack_start) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); void (* pack_end) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); void (* clear) (GtkCellLayout *cell_layout); void (* add_attribute) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column); void (* set_cell_data_func) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy); void (* clear_attributes) (GtkCellLayout *cell_layout, GtkCellRenderer *cell); void (* reorder) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position); GList* (* get_cells) (GtkCellLayout *cell_layout); GtkCellArea *(* get_area) (GtkCellLayout *cell_layout); }; gtk_cell_layout_get_type GType void gtk_cell_layout_pack_start void GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand gtk_cell_layout_pack_end void GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand gtk_cell_layout_get_cells GList * GtkCellLayout *cell_layout gtk_cell_layout_clear void GtkCellLayout *cell_layout gtk_cell_layout_set_attributes void GtkCellLayout *cell_layout, GtkCellRenderer *cell, ... gtk_cell_layout_add_attribute void GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column gtk_cell_layout_set_cell_data_func void GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy gtk_cell_layout_clear_attributes void GtkCellLayout *cell_layout, GtkCellRenderer *cell gtk_cell_layout_reorder void GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position gtk_cell_layout_get_area GtkCellArea * GtkCellLayout *cell_layout GtkCellLayout GtkCellRendererState typedef enum { GTK_CELL_RENDERER_SELECTED = 1 << 0, GTK_CELL_RENDERER_PRELIT = 1 << 1, GTK_CELL_RENDERER_INSENSITIVE = 1 << 2, /* this flag means the cell is in the sort column/row */ GTK_CELL_RENDERER_SORTED = 1 << 3, GTK_CELL_RENDERER_FOCUSED = 1 << 4, GTK_CELL_RENDERER_EXPANDABLE = 1 << 5, GTK_CELL_RENDERER_EXPANDED = 1 << 6 } GtkCellRendererState; GtkCellRendererMode typedef enum { GTK_CELL_RENDERER_MODE_INERT, GTK_CELL_RENDERER_MODE_ACTIVATABLE, GTK_CELL_RENDERER_MODE_EDITABLE } GtkCellRendererMode; GTK_TYPE_CELL_RENDERER #define GTK_TYPE_CELL_RENDERER (gtk_cell_renderer_get_type ()) GTK_CELL_RENDERER #define GTK_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRenderer)) GTK_CELL_RENDERER_CLASS #define GTK_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass)) GTK_IS_CELL_RENDERER #define GTK_IS_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER)) GTK_IS_CELL_RENDERER_CLASS #define GTK_IS_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER)) GTK_CELL_RENDERER_GET_CLASS #define GTK_CELL_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass)) GtkCellRenderer struct _GtkCellRenderer { GInitiallyUnowned parent_instance; /*< private >*/ GtkCellRendererPrivate *priv; }; GtkCellRendererClass struct _GtkCellRendererClass { /*< private >*/ GInitiallyUnownedClass parent_class; /*< public >*/ /* vtable - not signals */ GtkSizeRequestMode (* get_request_mode) (GtkCellRenderer *cell); void (* get_preferred_width) (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); void (* get_preferred_height_for_width) (GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height); void (* get_preferred_height) (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); void (* get_preferred_width_for_height) (GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width); void (* get_aligned_area) (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area); void (* get_size) (GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area, int *x_offset, int *y_offset, int *width, int *height); void (* snapshot) (GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); gboolean (* activate) (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); GtkCellEditable * (* start_editing) (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); /* Signals */ void (* editing_canceled) (GtkCellRenderer *cell); void (* editing_started) (GtkCellRenderer *cell, GtkCellEditable *editable, const char *path); /*< private >*/ gpointer padding[8]; }; gtk_cell_renderer_get_type GType void gtk_cell_renderer_get_request_mode GtkSizeRequestMode GtkCellRenderer *cell gtk_cell_renderer_get_preferred_width void GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size gtk_cell_renderer_get_preferred_height_for_width void GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height gtk_cell_renderer_get_preferred_height void GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size gtk_cell_renderer_get_preferred_width_for_height void GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width gtk_cell_renderer_get_preferred_size void GtkCellRenderer *cell, GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size gtk_cell_renderer_get_aligned_area void GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area gtk_cell_renderer_snapshot void GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags gtk_cell_renderer_activate gboolean GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags gtk_cell_renderer_start_editing GtkCellEditable * GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags gtk_cell_renderer_set_fixed_size void GtkCellRenderer *cell, int width, int height gtk_cell_renderer_get_fixed_size void GtkCellRenderer *cell, int *width, int *height gtk_cell_renderer_set_alignment void GtkCellRenderer *cell, float xalign, float yalign gtk_cell_renderer_get_alignment void GtkCellRenderer *cell, float *xalign, float *yalign gtk_cell_renderer_set_padding void GtkCellRenderer *cell, int xpad, int ypad gtk_cell_renderer_get_padding void GtkCellRenderer *cell, int *xpad, int *ypad gtk_cell_renderer_set_visible void GtkCellRenderer *cell, gboolean visible gtk_cell_renderer_get_visible gboolean GtkCellRenderer *cell gtk_cell_renderer_set_sensitive void GtkCellRenderer *cell, gboolean sensitive gtk_cell_renderer_get_sensitive gboolean GtkCellRenderer *cell gtk_cell_renderer_is_activatable gboolean GtkCellRenderer *cell gtk_cell_renderer_set_is_expander void GtkCellRenderer *cell, gboolean is_expander gtk_cell_renderer_get_is_expander gboolean GtkCellRenderer *cell gtk_cell_renderer_set_is_expanded void GtkCellRenderer *cell, gboolean is_expander gtk_cell_renderer_get_is_expanded gboolean GtkCellRenderer *cell gtk_cell_renderer_stop_editing void GtkCellRenderer *cell, gboolean canceled gtk_cell_renderer_get_state GtkStateFlags GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState cell_state GtkCellRendererClassPrivate GtkCellRendererPrivate GTK_TYPE_CELL_RENDERER_ACCEL #define GTK_TYPE_CELL_RENDERER_ACCEL (gtk_cell_renderer_accel_get_type ()) GTK_CELL_RENDERER_ACCEL #define GTK_CELL_RENDERER_ACCEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_ACCEL, GtkCellRendererAccel)) GTK_IS_CELL_RENDERER_ACCEL #define GTK_IS_CELL_RENDERER_ACCEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_ACCEL)) GtkCellRendererAccelMode typedef enum { GTK_CELL_RENDERER_ACCEL_MODE_GTK, GTK_CELL_RENDERER_ACCEL_MODE_OTHER } GtkCellRendererAccelMode; gtk_cell_renderer_accel_get_type GType void gtk_cell_renderer_accel_new GtkCellRenderer * void GtkCellRendererAccel GTK_TYPE_CELL_RENDERER_COMBO #define GTK_TYPE_CELL_RENDERER_COMBO (gtk_cell_renderer_combo_get_type ()) GTK_CELL_RENDERER_COMBO #define GTK_CELL_RENDERER_COMBO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_COMBO, GtkCellRendererCombo)) GTK_IS_CELL_RENDERER_COMBO #define GTK_IS_CELL_RENDERER_COMBO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_COMBO)) gtk_cell_renderer_combo_get_type GType void gtk_cell_renderer_combo_new GtkCellRenderer * void GtkCellRendererCombo GTK_TYPE_CELL_RENDERER_PIXBUF #define GTK_TYPE_CELL_RENDERER_PIXBUF (gtk_cell_renderer_pixbuf_get_type ()) GTK_CELL_RENDERER_PIXBUF #define GTK_CELL_RENDERER_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_PIXBUF, GtkCellRendererPixbuf)) GTK_IS_CELL_RENDERER_PIXBUF #define GTK_IS_CELL_RENDERER_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_PIXBUF)) gtk_cell_renderer_pixbuf_get_type GType void gtk_cell_renderer_pixbuf_new GtkCellRenderer * void GtkCellRendererPixbuf GTK_TYPE_CELL_RENDERER_PROGRESS #define GTK_TYPE_CELL_RENDERER_PROGRESS (gtk_cell_renderer_progress_get_type ()) GTK_CELL_RENDERER_PROGRESS #define GTK_CELL_RENDERER_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_PROGRESS, GtkCellRendererProgress)) GTK_IS_CELL_RENDERER_PROGRESS #define GTK_IS_CELL_RENDERER_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_PROGRESS)) gtk_cell_renderer_progress_get_type GType void gtk_cell_renderer_progress_new GtkCellRenderer * void GtkCellRendererProgress GTK_TYPE_CELL_RENDERER_SPIN #define GTK_TYPE_CELL_RENDERER_SPIN (gtk_cell_renderer_spin_get_type ()) GTK_CELL_RENDERER_SPIN #define GTK_CELL_RENDERER_SPIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_SPIN, GtkCellRendererSpin)) GTK_IS_CELL_RENDERER_SPIN #define GTK_IS_CELL_RENDERER_SPIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_SPIN)) gtk_cell_renderer_spin_get_type GType void gtk_cell_renderer_spin_new GtkCellRenderer * void GtkCellRendererSpin GTK_TYPE_CELL_RENDERER_SPINNER #define GTK_TYPE_CELL_RENDERER_SPINNER (gtk_cell_renderer_spinner_get_type ()) GTK_CELL_RENDERER_SPINNER #define GTK_CELL_RENDERER_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_SPINNER, GtkCellRendererSpinner)) GTK_IS_CELL_RENDERER_SPINNER #define GTK_IS_CELL_RENDERER_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_SPINNER)) gtk_cell_renderer_spinner_get_type GType void gtk_cell_renderer_spinner_new GtkCellRenderer * void GtkCellRendererSpinner GTK_TYPE_CELL_RENDERER_TEXT #define GTK_TYPE_CELL_RENDERER_TEXT (gtk_cell_renderer_text_get_type ()) GTK_CELL_RENDERER_TEXT #define GTK_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererText)) GTK_CELL_RENDERER_TEXT_CLASS #define GTK_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass)) GTK_IS_CELL_RENDERER_TEXT #define GTK_IS_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TEXT)) GTK_IS_CELL_RENDERER_TEXT_CLASS #define GTK_IS_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER_TEXT)) GTK_CELL_RENDERER_TEXT_GET_CLASS #define GTK_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass)) GtkCellRendererText struct _GtkCellRendererText { GtkCellRenderer parent; }; GtkCellRendererTextClass struct _GtkCellRendererTextClass { GtkCellRendererClass parent_class; void (* edited) (GtkCellRendererText *cell_renderer_text, const char *path, const char *new_text); /*< private >*/ gpointer padding[8]; }; gtk_cell_renderer_text_get_type GType void gtk_cell_renderer_text_new GtkCellRenderer * void gtk_cell_renderer_text_set_fixed_height_from_font void GtkCellRendererText *renderer, int number_of_rows GTK_TYPE_CELL_RENDERER_TOGGLE #define GTK_TYPE_CELL_RENDERER_TOGGLE (gtk_cell_renderer_toggle_get_type ()) GTK_CELL_RENDERER_TOGGLE #define GTK_CELL_RENDERER_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_TOGGLE, GtkCellRendererToggle)) GTK_IS_CELL_RENDERER_TOGGLE #define GTK_IS_CELL_RENDERER_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TOGGLE)) gtk_cell_renderer_toggle_get_type GType void gtk_cell_renderer_toggle_new GtkCellRenderer * void gtk_cell_renderer_toggle_get_radio gboolean GtkCellRendererToggle *toggle gtk_cell_renderer_toggle_set_radio void GtkCellRendererToggle *toggle, gboolean radio gtk_cell_renderer_toggle_get_active gboolean GtkCellRendererToggle *toggle gtk_cell_renderer_toggle_set_active void GtkCellRendererToggle *toggle, gboolean setting gtk_cell_renderer_toggle_get_activatable gboolean GtkCellRendererToggle *toggle gtk_cell_renderer_toggle_set_activatable void GtkCellRendererToggle *toggle, gboolean setting GtkCellRendererToggle GTK_TYPE_CELL_VIEW #define GTK_TYPE_CELL_VIEW (gtk_cell_view_get_type ()) GTK_CELL_VIEW #define GTK_CELL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_VIEW, GtkCellView)) GTK_IS_CELL_VIEW #define GTK_IS_CELL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_VIEW)) gtk_cell_view_get_type GType void gtk_cell_view_new GtkWidget * void gtk_cell_view_new_with_context GtkWidget * GtkCellArea *area, GtkCellAreaContext *context gtk_cell_view_new_with_text GtkWidget * const char *text gtk_cell_view_new_with_markup GtkWidget * const char *markup gtk_cell_view_new_with_texture GtkWidget * GdkTexture *texture gtk_cell_view_set_model void GtkCellView *cell_view, GtkTreeModel *model gtk_cell_view_get_model GtkTreeModel * GtkCellView *cell_view gtk_cell_view_set_displayed_row void GtkCellView *cell_view, GtkTreePath *path gtk_cell_view_get_displayed_row GtkTreePath * GtkCellView *cell_view gtk_cell_view_get_draw_sensitive gboolean GtkCellView *cell_view gtk_cell_view_set_draw_sensitive void GtkCellView *cell_view, gboolean draw_sensitive gtk_cell_view_get_fit_model gboolean GtkCellView *cell_view gtk_cell_view_set_fit_model void GtkCellView *cell_view, gboolean fit_model GtkCellView GTK_TYPE_CENTER_BOX #define GTK_TYPE_CENTER_BOX (gtk_center_box_get_type ()) GTK_CENTER_BOX #define GTK_CENTER_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CENTER_BOX, GtkCenterBox)) GTK_CENTER_BOX_CLASS #define GTK_CENTER_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CENTER_BOX, GtkCenterBoxClass)) GTK_IS_CENTER_BOX #define GTK_IS_CENTER_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CENTER_BOX)) GTK_IS_CENTER_BOX_CLASS #define GTK_IS_CENTER_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CENTER_BOX)) GTK_CENTER_BOX_GET_CLASS #define GTK_CENTER_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CENTER_BOX, GtkCenterBoxClass)) gtk_center_box_get_type GType void gtk_center_box_new GtkWidget * void gtk_center_box_set_start_widget void GtkCenterBox *self, GtkWidget *child gtk_center_box_set_center_widget void GtkCenterBox *self, GtkWidget *child gtk_center_box_set_end_widget void GtkCenterBox *self, GtkWidget *child gtk_center_box_get_start_widget GtkWidget * GtkCenterBox *self gtk_center_box_get_center_widget GtkWidget * GtkCenterBox *self gtk_center_box_get_end_widget GtkWidget * GtkCenterBox *self gtk_center_box_set_baseline_position void GtkCenterBox *self, GtkBaselinePosition position gtk_center_box_get_baseline_position GtkBaselinePosition GtkCenterBox *self GtkCenterBox GtkCenterBoxClass GTK_TYPE_CENTER_LAYOUT #define GTK_TYPE_CENTER_LAYOUT (gtk_center_layout_get_type ()) gtk_center_layout_new GtkLayoutManager * void gtk_center_layout_set_orientation void GtkCenterLayout *self, GtkOrientation orientation gtk_center_layout_get_orientation GtkOrientation GtkCenterLayout *self gtk_center_layout_set_baseline_position void GtkCenterLayout *self, GtkBaselinePosition baseline_position gtk_center_layout_get_baseline_position GtkBaselinePosition GtkCenterLayout *self gtk_center_layout_set_start_widget void GtkCenterLayout *self, GtkWidget *widget gtk_center_layout_get_start_widget GtkWidget * GtkCenterLayout *self gtk_center_layout_set_center_widget void GtkCenterLayout *self, GtkWidget *widget gtk_center_layout_get_center_widget GtkWidget * GtkCenterLayout *self gtk_center_layout_set_end_widget void GtkCenterLayout *self, GtkWidget *widget gtk_center_layout_get_end_widget GtkWidget * GtkCenterLayout *self GtkCenterLayout GTK_TYPE_CHECK_BUTTON #define GTK_TYPE_CHECK_BUTTON (gtk_check_button_get_type ()) GTK_CHECK_BUTTON #define GTK_CHECK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CHECK_BUTTON, GtkCheckButton)) GTK_CHECK_BUTTON_CLASS #define GTK_CHECK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHECK_BUTTON, GtkCheckButtonClass)) GTK_IS_CHECK_BUTTON #define GTK_IS_CHECK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CHECK_BUTTON)) GTK_IS_CHECK_BUTTON_CLASS #define GTK_IS_CHECK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHECK_BUTTON)) GTK_CHECK_BUTTON_GET_CLASS #define GTK_CHECK_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CHECK_BUTTON, GtkCheckButtonClass)) GtkCheckButton struct _GtkCheckButton { GtkToggleButton toggle_button; }; GtkCheckButtonClass struct _GtkCheckButtonClass { GtkToggleButtonClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_check_button_get_type GType void gtk_check_button_new GtkWidget * void gtk_check_button_new_with_label GtkWidget * const char *label gtk_check_button_new_with_mnemonic GtkWidget * const char *label gtk_check_button_set_draw_indicator void GtkCheckButton *check_button, gboolean draw_indicator gtk_check_button_get_draw_indicator gboolean GtkCheckButton *check_button gtk_check_button_set_inconsistent void GtkCheckButton *check_button, gboolean inconsistent gtk_check_button_get_inconsistent gboolean GtkCheckButton *check_button GTK_TYPE_COLOR_BUTTON #define GTK_TYPE_COLOR_BUTTON (gtk_color_button_get_type ()) GTK_COLOR_BUTTON #define GTK_COLOR_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_BUTTON, GtkColorButton)) GTK_IS_COLOR_BUTTON #define GTK_IS_COLOR_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_BUTTON)) gtk_color_button_get_type GType void gtk_color_button_new GtkWidget * void gtk_color_button_new_with_rgba GtkWidget * const GdkRGBA *rgba gtk_color_button_set_title void GtkColorButton *button, const char *title gtk_color_button_get_title const char * GtkColorButton *button gtk_color_button_get_modal gboolean GtkColorButton *button gtk_color_button_set_modal void GtkColorButton *button, gboolean modal GtkColorButton GTK_TYPE_COLOR_CHOOSER #define GTK_TYPE_COLOR_CHOOSER (gtk_color_chooser_get_type ()) GTK_COLOR_CHOOSER #define GTK_COLOR_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_CHOOSER, GtkColorChooser)) GTK_IS_COLOR_CHOOSER #define GTK_IS_COLOR_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_CHOOSER)) GTK_COLOR_CHOOSER_GET_IFACE #define GTK_COLOR_CHOOSER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_COLOR_CHOOSER, GtkColorChooserInterface)) GtkColorChooserInterface struct _GtkColorChooserInterface { GTypeInterface base_interface; /* Methods */ void (* get_rgba) (GtkColorChooser *chooser, GdkRGBA *color); void (* set_rgba) (GtkColorChooser *chooser, const GdkRGBA *color); void (* add_palette) (GtkColorChooser *chooser, GtkOrientation orientation, int colors_per_line, int n_colors, GdkRGBA *colors); /* Signals */ void (* color_activated) (GtkColorChooser *chooser, const GdkRGBA *color); /* Padding */ gpointer padding[12]; }; gtk_color_chooser_get_type GType void gtk_color_chooser_get_rgba void GtkColorChooser *chooser, GdkRGBA *color gtk_color_chooser_set_rgba void GtkColorChooser *chooser, const GdkRGBA *color gtk_color_chooser_get_use_alpha gboolean GtkColorChooser *chooser gtk_color_chooser_set_use_alpha void GtkColorChooser *chooser, gboolean use_alpha gtk_color_chooser_add_palette void GtkColorChooser *chooser, GtkOrientation orientation, int colors_per_line, int n_colors, GdkRGBA *colors GtkColorChooser GTK_TYPE_COLOR_CHOOSER_DIALOG #define GTK_TYPE_COLOR_CHOOSER_DIALOG (gtk_color_chooser_dialog_get_type ()) GTK_COLOR_CHOOSER_DIALOG #define GTK_COLOR_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_CHOOSER_DIALOG, GtkColorChooserDialog)) GTK_IS_COLOR_CHOOSER_DIALOG #define GTK_IS_COLOR_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_CHOOSER_DIALOG)) gtk_color_chooser_dialog_get_type GType void gtk_color_chooser_dialog_new GtkWidget * const char *title, GtkWindow *parent GtkColorChooserDialog GTK_TYPE_COLOR_CHOOSER_WIDGET #define GTK_TYPE_COLOR_CHOOSER_WIDGET (gtk_color_chooser_widget_get_type ()) GTK_COLOR_CHOOSER_WIDGET #define GTK_COLOR_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_CHOOSER_WIDGET, GtkColorChooserWidget)) GTK_IS_COLOR_CHOOSER_WIDGET #define GTK_IS_COLOR_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_CHOOSER_WIDGET)) gtk_color_chooser_widget_get_type GType void gtk_color_chooser_widget_new GtkWidget * void GtkColorChooserWidget GTK_TYPE_COLOR_PICKER_KWIN #define GTK_TYPE_COLOR_PICKER_KWIN gtk_color_picker_kwin_get_type () gtk_color_picker_kwin_new GtkColorPicker * void GtkColorPickerKwin GTK_TYPE_COLOR_PICKER_PORTAL #define GTK_TYPE_COLOR_PICKER_PORTAL gtk_color_picker_portal_get_type () gtk_color_picker_portal_new GtkColorPicker * void GtkColorPickerPortal GTK_TYPE_COLOR_PICKER #define GTK_TYPE_COLOR_PICKER (gtk_color_picker_get_type ()) GTK_COLOR_PICKER #define GTK_COLOR_PICKER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLOR_PICKER, GtkColorPicker)) GTK_IS_COLOR_PICKER #define GTK_IS_COLOR_PICKER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLOR_PICKER)) GTK_COLOR_PICKER_GET_INTERFACE #define GTK_COLOR_PICKER_GET_INTERFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GTK_TYPE_COLOR_PICKER, GtkColorPickerInterface)) GtkColorPickerInterface struct _GtkColorPickerInterface { GTypeInterface g_iface; void (* pick) (GtkColorPicker *picker, GAsyncReadyCallback callback, gpointer user_data); GdkRGBA * (* pick_finish) (GtkColorPicker *picker, GAsyncResult *res, GError **error); }; gtk_color_picker_get_type GType void gtk_color_picker_new GtkColorPicker * void gtk_color_picker_pick void GtkColorPicker *picker, GAsyncReadyCallback callback, gpointer user_data gtk_color_picker_pick_finish GdkRGBA * GtkColorPicker *picker, GAsyncResult *res, GError **error GtkColorPicker GTK_TYPE_COLOR_PICKER_SHELL #define GTK_TYPE_COLOR_PICKER_SHELL gtk_color_picker_shell_get_type () gtk_color_picker_shell_new GtkColorPicker * void GtkColorPickerShell gtk_hsv_to_rgb void float h, float s, float v, float *r, float *g, float *b gtk_rgb_to_hsv void float r, float g, float b, float *h, float *s, float *v GTK_TYPE_COLUMN_VIEW #define GTK_TYPE_COLUMN_VIEW (gtk_column_view_get_type ()) GTK_COLUMN_VIEW #define GTK_COLUMN_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLUMN_VIEW, GtkColumnView)) GTK_COLUMN_VIEW_CLASS #define GTK_COLUMN_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_COLUMN_VIEW, GtkColumnViewClass)) GTK_IS_COLUMN_VIEW #define GTK_IS_COLUMN_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLUMN_VIEW)) GTK_IS_COLUMN_VIEW_CLASS #define GTK_IS_COLUMN_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_COLUMN_VIEW)) GTK_COLUMN_VIEW_GET_CLASS #define GTK_COLUMN_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_COLUMN_VIEW, GtkColumnViewClass)) gtk_column_view_get_type GType void gtk_column_view_new GtkWidget * GListModel *model gtk_column_view_get_columns GListModel * GtkColumnView *self gtk_column_view_append_column void GtkColumnView *self, GtkColumnViewColumn *column gtk_column_view_remove_column void GtkColumnView *self, GtkColumnViewColumn *column gtk_column_view_insert_column void GtkColumnView *self, guint position, GtkColumnViewColumn *column gtk_column_view_get_model GListModel * GtkColumnView *self gtk_column_view_set_model void GtkColumnView *self, GListModel *model gtk_column_view_get_show_row_separators gboolean GtkColumnView *self gtk_column_view_set_show_row_separators void GtkColumnView *self, gboolean show_row_separators gtk_column_view_get_show_column_separators gboolean GtkColumnView *self gtk_column_view_set_show_column_separators void GtkColumnView *self, gboolean show_column_separators gtk_column_view_get_sorter GtkSorter * GtkColumnView *self gtk_column_view_sort_by_column void GtkColumnView *self, GtkColumnViewColumn *column, GtkSortType direction gtk_column_view_set_single_click_activate void GtkColumnView *self, gboolean single_click_activate gtk_column_view_get_single_click_activate gboolean GtkColumnView *self gtk_column_view_set_reorderable void GtkColumnView *self, gboolean reorderable gtk_column_view_get_reorderable gboolean GtkColumnView *self gtk_column_view_set_enable_rubberband void GtkColumnView *self, gboolean enable_rubberband gtk_column_view_get_enable_rubberband gboolean GtkColumnView *self GtkColumnView GtkColumnViewClass GtkColumnViewColumn GTK_TYPE_COLUMN_VIEW_COLUMN #define GTK_TYPE_COLUMN_VIEW_COLUMN (gtk_column_view_column_get_type ()) GTK_COLUMN_VIEW_COLUMN #define GTK_COLUMN_VIEW_COLUMN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumn)) GTK_COLUMN_VIEW_COLUMN_CLASS #define GTK_COLUMN_VIEW_COLUMN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumnClass)) GTK_IS_COLUMN_VIEW_COLUMN #define GTK_IS_COLUMN_VIEW_COLUMN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLUMN_VIEW_COLUMN)) GTK_IS_COLUMN_VIEW_COLUMN_CLASS #define GTK_IS_COLUMN_VIEW_COLUMN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_COLUMN_VIEW_COLUMN)) GTK_COLUMN_VIEW_COLUMN_GET_CLASS #define GTK_COLUMN_VIEW_COLUMN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumnClass)) gtk_column_view_column_get_type GType void gtk_column_view_column_new GtkColumnViewColumn * const char *title gtk_column_view_column_new_with_factory GtkColumnViewColumn * const char *title, GtkListItemFactory *factory gtk_column_view_column_get_column_view GtkColumnView * GtkColumnViewColumn *self gtk_column_view_column_set_factory void GtkColumnViewColumn *self, GtkListItemFactory *factory gtk_column_view_column_get_factory GtkListItemFactory * GtkColumnViewColumn *self gtk_column_view_column_set_title void GtkColumnViewColumn *self, const char *title gtk_column_view_column_get_title const char * GtkColumnViewColumn *self gtk_column_view_column_set_sorter void GtkColumnViewColumn *self, GtkSorter *sorter gtk_column_view_column_get_sorter GtkSorter * GtkColumnViewColumn *self gtk_column_view_column_set_visible void GtkColumnViewColumn *self, gboolean visible gtk_column_view_column_get_visible gboolean GtkColumnViewColumn *self gtk_column_view_column_set_header_menu void GtkColumnViewColumn *self, GMenuModel *menu gtk_column_view_column_get_header_menu GMenuModel * GtkColumnViewColumn *self gtk_column_view_column_set_fixed_width void GtkColumnViewColumn *self, int fixed_width gtk_column_view_column_get_fixed_width int GtkColumnViewColumn *self gtk_column_view_column_set_resizable void GtkColumnViewColumn *self, gboolean resizable gtk_column_view_column_get_resizable gboolean GtkColumnViewColumn *self gtk_column_view_column_set_expand void GtkColumnViewColumn *self, gboolean expand gtk_column_view_column_get_expand gboolean GtkColumnViewColumn *self GtkColumnViewColumnClass GTK_TYPE_COMBO_BOX #define GTK_TYPE_COMBO_BOX (gtk_combo_box_get_type ()) GTK_COMBO_BOX #define GTK_COMBO_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox)) GTK_COMBO_BOX_CLASS #define GTK_COMBO_BOX_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_COMBO_BOX, GtkComboBoxClass)) GTK_IS_COMBO_BOX #define GTK_IS_COMBO_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COMBO_BOX)) GTK_IS_COMBO_BOX_CLASS #define GTK_IS_COMBO_BOX_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_COMBO_BOX)) GTK_COMBO_BOX_GET_CLASS #define GTK_COMBO_BOX_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), GTK_TYPE_COMBO_BOX, GtkComboBoxClass)) GtkComboBox struct _GtkComboBox { GtkWidget parent_instance; }; GtkComboBoxClass struct _GtkComboBoxClass { GtkWidgetClass parent_class; /*< public >*/ /* signals */ void (* changed) (GtkComboBox *combo_box); char *(* format_entry_text) (GtkComboBox *combo_box, const char *path); /*< private >*/ gpointer padding[8]; }; gtk_combo_box_get_type GType void gtk_combo_box_new GtkWidget * void gtk_combo_box_new_with_entry GtkWidget * void gtk_combo_box_new_with_model GtkWidget * GtkTreeModel *model gtk_combo_box_new_with_model_and_entry GtkWidget * GtkTreeModel *model gtk_combo_box_get_active int GtkComboBox *combo_box gtk_combo_box_set_active void GtkComboBox *combo_box, int index_ gtk_combo_box_get_active_iter gboolean GtkComboBox *combo_box, GtkTreeIter *iter gtk_combo_box_set_active_iter void GtkComboBox *combo_box, GtkTreeIter *iter gtk_combo_box_set_model void GtkComboBox *combo_box, GtkTreeModel *model gtk_combo_box_get_model GtkTreeModel * GtkComboBox *combo_box gtk_combo_box_get_row_separator_func GtkTreeViewRowSeparatorFunc GtkComboBox *combo_box gtk_combo_box_set_row_separator_func void GtkComboBox *combo_box, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy gtk_combo_box_set_button_sensitivity void GtkComboBox *combo_box, GtkSensitivityType sensitivity gtk_combo_box_get_button_sensitivity GtkSensitivityType GtkComboBox *combo_box gtk_combo_box_get_has_entry gboolean GtkComboBox *combo_box gtk_combo_box_set_entry_text_column void GtkComboBox *combo_box, int text_column gtk_combo_box_get_entry_text_column int GtkComboBox *combo_box gtk_combo_box_set_popup_fixed_width void GtkComboBox *combo_box, gboolean fixed gtk_combo_box_get_popup_fixed_width gboolean GtkComboBox *combo_box gtk_combo_box_popup void GtkComboBox *combo_box gtk_combo_box_popup_for_device void GtkComboBox *combo_box, GdkDevice *device gtk_combo_box_popdown void GtkComboBox *combo_box gtk_combo_box_get_id_column int GtkComboBox *combo_box gtk_combo_box_set_id_column void GtkComboBox *combo_box, int id_column gtk_combo_box_get_active_id const char * GtkComboBox *combo_box gtk_combo_box_set_active_id gboolean GtkComboBox *combo_box, const char *active_id gtk_combo_box_set_child void GtkComboBox *combo_box, GtkWidget *child gtk_combo_box_get_child GtkWidget * GtkComboBox *combo_box GTK_TYPE_COMBO_BOX_TEXT #define GTK_TYPE_COMBO_BOX_TEXT (gtk_combo_box_text_get_type ()) GTK_COMBO_BOX_TEXT #define GTK_COMBO_BOX_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX_TEXT, GtkComboBoxText)) GTK_IS_COMBO_BOX_TEXT #define GTK_IS_COMBO_BOX_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COMBO_BOX_TEXT)) gtk_combo_box_text_get_type GType void gtk_combo_box_text_new GtkWidget * void gtk_combo_box_text_new_with_entry GtkWidget * void gtk_combo_box_text_append_text void GtkComboBoxText *combo_box, const char *text gtk_combo_box_text_insert_text void GtkComboBoxText *combo_box, int position, const char *text gtk_combo_box_text_prepend_text void GtkComboBoxText *combo_box, const char *text gtk_combo_box_text_remove void GtkComboBoxText *combo_box, int position gtk_combo_box_text_remove_all void GtkComboBoxText *combo_box gtk_combo_box_text_get_active_text char * GtkComboBoxText *combo_box gtk_combo_box_text_insert void GtkComboBoxText *combo_box, int position, const char *id, const char *text gtk_combo_box_text_append void GtkComboBoxText *combo_box, const char *id, const char *text gtk_combo_box_text_prepend void GtkComboBoxText *combo_box, const char *id, const char *text GtkComboBoxText GtkComposeTable struct _GtkComposeTable { guint16 *data; int max_seq_len; int n_seqs; guint32 id; }; GtkComposeTableCompact struct _GtkComposeTableCompact { const guint16 *data; int max_seq_len; int n_index_size; int n_index_stride; }; gtk_compose_table_new_with_file GtkComposeTable * const char *compose_file gtk_compose_table_list_add_array GSList * GSList *compose_tables, const guint16 *data, int max_seq_len, int n_seqs gtk_compose_table_list_add_file GSList * GSList *compose_tables, const char *compose_file GTK_TYPE_CONSTRAINT_TARGET #define GTK_TYPE_CONSTRAINT_TARGET (gtk_constraint_target_get_type ()) GTK_TYPE_CONSTRAINT #define GTK_TYPE_CONSTRAINT (gtk_constraint_get_type ()) gtk_constraint_new GtkConstraint * gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, gpointer source, GtkConstraintAttribute source_attribute, double multiplier, double constant, int strength gtk_constraint_new_constant GtkConstraint * gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, double constant, int strength gtk_constraint_get_target GtkConstraintTarget * GtkConstraint *constraint gtk_constraint_get_target_attribute GtkConstraintAttribute GtkConstraint *constraint gtk_constraint_get_source GtkConstraintTarget * GtkConstraint *constraint gtk_constraint_get_source_attribute GtkConstraintAttribute GtkConstraint *constraint gtk_constraint_get_relation GtkConstraintRelation GtkConstraint *constraint gtk_constraint_get_multiplier double GtkConstraint *constraint gtk_constraint_get_constant double GtkConstraint *constraint gtk_constraint_get_strength int GtkConstraint *constraint gtk_constraint_is_required gboolean GtkConstraint *constraint gtk_constraint_is_attached gboolean GtkConstraint *constraint gtk_constraint_is_constant gboolean GtkConstraint *constraint GtkConstraint GtkConstraintTarget GtkConstraintTargetInterface GTK_TYPE_CONSTRAINT_GUIDE #define GTK_TYPE_CONSTRAINT_GUIDE (gtk_constraint_guide_get_type ()) gtk_constraint_guide_new GtkConstraintGuide * void gtk_constraint_guide_set_min_size void GtkConstraintGuide *guide, int width, int height gtk_constraint_guide_get_min_size void GtkConstraintGuide *guide, int *width, int *height gtk_constraint_guide_set_nat_size void GtkConstraintGuide *guide, int width, int height gtk_constraint_guide_get_nat_size void GtkConstraintGuide *guide, int *width, int *height gtk_constraint_guide_set_max_size void GtkConstraintGuide *guide, int width, int height gtk_constraint_guide_get_max_size void GtkConstraintGuide *guide, int *width, int *height gtk_constraint_guide_get_strength GtkConstraintStrength GtkConstraintGuide *guide gtk_constraint_guide_set_strength void GtkConstraintGuide *guide, GtkConstraintStrength strength gtk_constraint_guide_set_name void GtkConstraintGuide *guide, const char *name gtk_constraint_guide_get_name const char * GtkConstraintGuide *guide GtkConstraintGuide GTK_TYPE_CONSTRAINT_LAYOUT #define GTK_TYPE_CONSTRAINT_LAYOUT (gtk_constraint_layout_get_type ()) GTK_TYPE_CONSTRAINT_LAYOUT_CHILD #define GTK_TYPE_CONSTRAINT_LAYOUT_CHILD (gtk_constraint_layout_child_get_type ()) GTK_CONSTRAINT_VFL_PARSER_ERROR #define GTK_CONSTRAINT_VFL_PARSER_ERROR (gtk_constraint_vfl_parser_error_quark ()) gtk_constraint_vfl_parser_error_quark GQuark void gtk_constraint_layout_new GtkLayoutManager * void gtk_constraint_layout_add_constraint void GtkConstraintLayout *layout, GtkConstraint *constraint gtk_constraint_layout_remove_constraint void GtkConstraintLayout *layout, GtkConstraint *constraint gtk_constraint_layout_add_guide void GtkConstraintLayout *layout, GtkConstraintGuide *guide gtk_constraint_layout_remove_guide void GtkConstraintLayout *layout, GtkConstraintGuide *guide gtk_constraint_layout_remove_all_constraints void GtkConstraintLayout *layout gtk_constraint_layout_add_constraints_from_description GList * GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GError **error, const char *first_view, ... gtk_constraint_layout_add_constraints_from_descriptionv GList * GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GHashTable *views, GError **error gtk_constraint_layout_observe_constraints GListModel * GtkConstraintLayout *layout gtk_constraint_layout_observe_guides GListModel * GtkConstraintLayout *layout GtkConstraintLayout GtkConstraintLayoutChild GTK_COUNTING_BLOOM_FILTER_BITS #define GTK_COUNTING_BLOOM_FILTER_BITS (12) GTK_COUNTING_BLOOM_FILTER_SIZE #define GTK_COUNTING_BLOOM_FILTER_SIZE (1 << GTK_COUNTING_BLOOM_FILTER_BITS) GtkCountingBloomFilter struct _GtkCountingBloomFilter { guint8 buckets[GTK_COUNTING_BLOOM_FILTER_SIZE]; }; gtk_counting_bloom_filter_add void GtkCountingBloomFilter *self, guint16 hash static inline void gtk_counting_bloom_filter_remove (GtkCountingBloomFilter *self, guint16 hash static inline gboolean gtk_counting_bloom_filter_may_contain (const GtkCountingBloomFilter *self, guint16 hash /* * GTK_COUNTING_BLOOM_FILTER_INIT: * * Initialize the bloom filter. As bloom filters are always stack-allocated, * initialization should happen when defining them, like: * ```c * GtkCountingBloomFilter filter = GTK_COUNTING_BLOOM_FILTER_INIT; * ``` * * The filter does not need to be freed. */ #define GTK_COUNTING_BLOOM_FILTER_INIT; gtk_counting_bloom_filter_remove void GtkCountingBloomFilter *self, guint16 hash gtk_counting_bloom_filter_may_contain gboolean const GtkCountingBloomFilter *self, guint16 hash GTK_TYPE_CSS_PROVIDER #define GTK_TYPE_CSS_PROVIDER (gtk_css_provider_get_type ()) GTK_CSS_PROVIDER #define GTK_CSS_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_CSS_PROVIDER, GtkCssProvider)) GTK_IS_CSS_PROVIDER #define GTK_IS_CSS_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_CSS_PROVIDER)) GtkCssProvider struct _GtkCssProvider { GObject parent_instance; }; gtk_css_provider_get_type GType void gtk_css_provider_new GtkCssProvider * void gtk_css_provider_to_string char * GtkCssProvider *provider gtk_css_provider_load_from_data void GtkCssProvider *css_provider, const char *data, gssize length gtk_css_provider_load_from_file void GtkCssProvider *css_provider, GFile *file gtk_css_provider_load_from_path void GtkCssProvider *css_provider, const char *path gtk_css_provider_load_from_resource void GtkCssProvider *css_provider, const char *resource_path gtk_css_provider_load_named void GtkCssProvider *provider, const char *name, const char *variant GtkCssProviderClass GtkCssProviderPrivate GtkCustomFilterFunc gboolean gpointer item, gpointer user_data GTK_TYPE_CUSTOM_FILTER #define GTK_TYPE_CUSTOM_FILTER (gtk_custom_filter_get_type ()) gtk_custom_filter_new GtkFilter * GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy gtk_custom_filter_set_filter_func void GtkCustomFilter *self, GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy GtkCustomFilter GTK_TYPE_CUSTOM_LAYOUT #define GTK_TYPE_CUSTOM_LAYOUT (gtk_custom_layout_get_type ()) GtkCustomRequestModeFunc GtkSizeRequestMode GtkWidget *widget GtkCustomMeasureFunc void GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline GtkCustomAllocateFunc void GtkWidget *widget, int width, int height, int baseline gtk_custom_layout_new GtkLayoutManager * GtkCustomRequestModeFunc request_mode, GtkCustomMeasureFunc measure, GtkCustomAllocateFunc allocate GtkCustomLayout GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG #define GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG (gtk_custom_paper_unix_dialog_get_type ()) GTK_CUSTOM_PAPER_UNIX_DIALOG #define GTK_CUSTOM_PAPER_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG, GtkCustomPaperUnixDialog)) GTK_IS_CUSTOM_PAPER_UNIX_DIALOG #define GTK_IS_CUSTOM_PAPER_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG)) gtk_custom_paper_unix_dialog_get_type GType void gtk_print_load_custom_papers void GListStore *store GtkCustomPaperUnixDialog GTK_TYPE_CUSTOM_SORTER #define GTK_TYPE_CUSTOM_SORTER (gtk_custom_sorter_get_type ()) gtk_custom_sorter_new GtkSorter * GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy gtk_custom_sorter_set_sort_func void GtkCustomSorter *self, GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy GtkCustomSorter GtkDebugFlag typedef enum { GTK_DEBUG_TEXT = 1 << 0, GTK_DEBUG_TREE = 1 << 1, GTK_DEBUG_KEYBINDINGS = 1 << 2, GTK_DEBUG_MODULES = 1 << 3, GTK_DEBUG_GEOMETRY = 1 << 4, GTK_DEBUG_ICONTHEME = 1 << 5, GTK_DEBUG_PRINTING = 1 << 6, GTK_DEBUG_BUILDER = 1 << 7, GTK_DEBUG_SIZE_REQUEST = 1 << 8, GTK_DEBUG_NO_CSS_CACHE = 1 << 9, GTK_DEBUG_INTERACTIVE = 1 << 10, GTK_DEBUG_TOUCHSCREEN = 1 << 11, GTK_DEBUG_ACTIONS = 1 << 12, GTK_DEBUG_LAYOUT = 1 << 13, GTK_DEBUG_SNAPSHOT = 1 << 14, GTK_DEBUG_CONSTRAINTS = 1 << 15, GTK_DEBUG_BUILDER_OBJECTS = 1 << 16, GTK_DEBUG_A11Y = 1 << 17, } GtkDebugFlag; GTK_DEBUG_CHECK #define GTK_DEBUG_CHECK(type) G_UNLIKELY (gtk_get_debug_flags () & GTK_DEBUG_##type) GTK_NOTE #define GTK_NOTE(type,action) G_STMT_START { \ if (GTK_DEBUG_CHECK (type)) \ { action; }; } G_STMT_END gtk_get_debug_flags guint void gtk_set_debug_flags void guint flags GtkDialogFlags typedef enum { GTK_DIALOG_MODAL = 1 << 0, GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1, GTK_DIALOG_USE_HEADER_BAR = 1 << 2 } GtkDialogFlags; GtkResponseType typedef enum { GTK_RESPONSE_NONE = -1, GTK_RESPONSE_REJECT = -2, GTK_RESPONSE_ACCEPT = -3, GTK_RESPONSE_DELETE_EVENT = -4, GTK_RESPONSE_OK = -5, GTK_RESPONSE_CANCEL = -6, GTK_RESPONSE_CLOSE = -7, GTK_RESPONSE_YES = -8, GTK_RESPONSE_NO = -9, GTK_RESPONSE_APPLY = -10, GTK_RESPONSE_HELP = -11 } GtkResponseType; GTK_TYPE_DIALOG #define GTK_TYPE_DIALOG (gtk_dialog_get_type ()) GTK_DIALOG #define GTK_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DIALOG, GtkDialog)) GTK_DIALOG_CLASS #define GTK_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_DIALOG, GtkDialogClass)) GTK_IS_DIALOG #define GTK_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DIALOG)) GTK_IS_DIALOG_CLASS #define GTK_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DIALOG)) GTK_DIALOG_GET_CLASS #define GTK_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DIALOG, GtkDialogClass)) GtkDialog struct _GtkDialog { GtkWindow parent_instance; }; GtkDialogClass struct _GtkDialogClass { GtkWindowClass parent_class; /*< public >*/ void (* response) (GtkDialog *dialog, int response_id); /* Keybinding signals */ void (* close) (GtkDialog *dialog); /*< private >*/ gpointer padding[8]; }; gtk_dialog_get_type GType void gtk_dialog_new GtkWidget * void gtk_dialog_new_with_buttons GtkWidget * const char *title, GtkWindow *parent, GtkDialogFlags flags, const char *first_button_text, ... gtk_dialog_add_action_widget void GtkDialog *dialog, GtkWidget *child, int response_id gtk_dialog_add_button GtkWidget * GtkDialog *dialog, const char *button_text, int response_id gtk_dialog_add_buttons void GtkDialog *dialog, const char *first_button_text, ... gtk_dialog_set_response_sensitive void GtkDialog *dialog, int response_id, gboolean setting gtk_dialog_set_default_response void GtkDialog *dialog, int response_id gtk_dialog_get_widget_for_response GtkWidget * GtkDialog *dialog, int response_id gtk_dialog_get_response_for_widget int GtkDialog *dialog, GtkWidget *widget gtk_dialog_response void GtkDialog *dialog, int response_id gtk_dialog_get_content_area GtkWidget * GtkDialog *dialog gtk_dialog_get_header_bar GtkWidget * GtkDialog *dialog GTK_TYPE_DIRECTORY_LIST #define GTK_TYPE_DIRECTORY_LIST (gtk_directory_list_get_type ()) gtk_directory_list_new GtkDirectoryList * const char *attributes, GFile *file gtk_directory_list_set_file void GtkDirectoryList *self, GFile *file gtk_directory_list_get_file GFile * GtkDirectoryList *self gtk_directory_list_set_attributes void GtkDirectoryList *self, const char *attributes gtk_directory_list_get_attributes const char * GtkDirectoryList *self gtk_directory_list_set_io_priority void GtkDirectoryList *self, int io_priority gtk_directory_list_get_io_priority int GtkDirectoryList *self gtk_directory_list_is_loading gboolean GtkDirectoryList *self gtk_directory_list_get_error const GError * GtkDirectoryList *self gtk_directory_list_set_monitored void GtkDirectoryList *self, gboolean monitored gtk_directory_list_get_monitored gboolean GtkDirectoryList *self GtkDirectoryList gtk_drag_dest_handle_event void GtkWidget *toplevel, GdkEvent *event GTK_TYPE_DRAG_ICON #define GTK_TYPE_DRAG_ICON (gtk_drag_icon_get_type ()) gtk_drag_icon_get_for_drag GtkWidget * GdkDrag *drag gtk_drag_icon_set_child void GtkDragIcon *self, GtkWidget *child gtk_drag_icon_get_child GtkWidget * GtkDragIcon *self gtk_drag_icon_set_from_paintable void GdkDrag *drag, GdkPaintable *paintable, int hot_x, int hot_y gtk_drag_icon_create_widget_for_value GtkWidget * const GValue *value GtkDragIcon GTK_TYPE_DRAG_SOURCE #define GTK_TYPE_DRAG_SOURCE (gtk_drag_source_get_type ()) GTK_DRAG_SOURCE #define GTK_DRAG_SOURCE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_DRAG_SOURCE, GtkDragSource)) GTK_DRAG_SOURCE_CLASS #define GTK_DRAG_SOURCE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_DRAG_SOURCE, GtkDragSourceClass)) GTK_IS_DRAG_SOURCE #define GTK_IS_DRAG_SOURCE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_DRAG_SOURCE)) GTK_IS_DRAG_SOURCE_CLASS #define GTK_IS_DRAG_SOURCE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_DRAG_SOURCE)) GTK_DRAG_SOURCE_GET_CLASS #define GTK_DRAG_SOURCE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_DRAG_SOURCE, GtkDragSourceClass)) gtk_drag_source_get_type GType void gtk_drag_source_new GtkDragSource * void gtk_drag_source_set_content void GtkDragSource *source, GdkContentProvider *content gtk_drag_source_get_content GdkContentProvider * GtkDragSource *source gtk_drag_source_set_actions void GtkDragSource *source, GdkDragAction actions gtk_drag_source_get_actions GdkDragAction GtkDragSource *source gtk_drag_source_set_icon void GtkDragSource *source, GdkPaintable *paintable, int hot_x, int hot_y gtk_drag_source_drag_cancel void GtkDragSource *source gtk_drag_source_get_drag GdkDrag * GtkDragSource *source gtk_drag_check_threshold gboolean GtkWidget *widget, int start_x, int start_y, int current_x, int current_y GtkDragSource GtkDragSourceClass GTK_TYPE_DRAWING_AREA #define GTK_TYPE_DRAWING_AREA (gtk_drawing_area_get_type ()) GTK_DRAWING_AREA #define GTK_DRAWING_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DRAWING_AREA, GtkDrawingArea)) GTK_DRAWING_AREA_CLASS #define GTK_DRAWING_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_DRAWING_AREA, GtkDrawingAreaClass)) GTK_IS_DRAWING_AREA #define GTK_IS_DRAWING_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DRAWING_AREA)) GTK_IS_DRAWING_AREA_CLASS #define GTK_IS_DRAWING_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DRAWING_AREA)) GTK_DRAWING_AREA_GET_CLASS #define GTK_DRAWING_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DRAWING_AREA, GtkDrawingAreaClass)) GtkDrawingAreaDrawFunc void GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer user_data GtkDrawingArea struct _GtkDrawingArea { GtkWidget widget; }; GtkDrawingAreaClass struct _GtkDrawingAreaClass { GtkWidgetClass parent_class; void (* resize) (GtkDrawingArea *area, int width, int height); /*< private >*/ gpointer padding[8]; }; gtk_drawing_area_get_type GType void gtk_drawing_area_new GtkWidget * void gtk_drawing_area_set_content_width void GtkDrawingArea *self, int width gtk_drawing_area_get_content_width int GtkDrawingArea *self gtk_drawing_area_set_content_height void GtkDrawingArea *self, int height gtk_drawing_area_get_content_height int GtkDrawingArea *self gtk_drawing_area_set_draw_func void GtkDrawingArea *self, GtkDrawingAreaDrawFunc draw_func, gpointer user_data, GDestroyNotify destroy GTK_TYPE_DROP_CONTROLLER_MOTION #define GTK_TYPE_DROP_CONTROLLER_MOTION (gtk_drop_controller_motion_get_type ()) GTK_DROP_CONTROLLER_MOTION #define GTK_DROP_CONTROLLER_MOTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_DROP_CONTROLLER_MOTION, GtkDropControllerMotion)) GTK_DROP_CONTROLLER_MOTION_CLASS #define GTK_DROP_CONTROLLER_MOTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_DROP_CONTROLLER_MOTION, GtkDropControllerMotionClass)) GTK_IS_DROP_CONTROLLER_MOTION #define GTK_IS_DROP_CONTROLLER_MOTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_DROP_CONTROLLER_MOTION)) GTK_IS_DROP_CONTROLLER_MOTION_CLASS #define GTK_IS_DROP_CONTROLLER_MOTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_DROP_CONTROLLER_MOTION)) GTK_DROP_CONTROLLER_MOTION_GET_CLASS #define GTK_DROP_CONTROLLER_MOTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_DROP_CONTROLLER_MOTION, GtkDropControllerMotionClass)) gtk_drop_controller_motion_get_type GType void gtk_drop_controller_motion_new GtkEventController * void gtk_drop_controller_motion_contains_pointer gboolean GtkDropControllerMotion *self gtk_drop_controller_motion_get_drop GdkDrop * GtkDropControllerMotion *self gtk_drop_controller_motion_is_pointer gboolean GtkDropControllerMotion *self GtkDropControllerMotion GtkDropControllerMotionClass GTK_TYPE_DROP_DOWN #define GTK_TYPE_DROP_DOWN (gtk_drop_down_get_type ()) gtk_drop_down_new GtkWidget * GListModel *model, GtkExpression *expression gtk_drop_down_new_from_strings GtkWidget * const char * const * strings gtk_drop_down_set_model void GtkDropDown *self, GListModel *model gtk_drop_down_get_model GListModel * GtkDropDown *self gtk_drop_down_set_selected void GtkDropDown *self, guint position gtk_drop_down_get_selected guint GtkDropDown *self gtk_drop_down_get_selected_item gpointer GtkDropDown *self gtk_drop_down_set_factory void GtkDropDown *self, GtkListItemFactory *factory gtk_drop_down_get_factory GtkListItemFactory * GtkDropDown *self gtk_drop_down_set_list_factory void GtkDropDown *self, GtkListItemFactory *factory gtk_drop_down_get_list_factory GtkListItemFactory * GtkDropDown *self gtk_drop_down_set_expression void GtkDropDown *self, GtkExpression *expression gtk_drop_down_get_expression GtkExpression * GtkDropDown *self gtk_drop_down_set_enable_search void GtkDropDown *self, gboolean enable_search gtk_drop_down_get_enable_search gboolean GtkDropDown *self GtkDropDown gtk_drop_begin_event void GdkDrop *drop, GdkEventType event_type gtk_drop_end_event void GdkDrop *drop gtk_drop_status gboolean GdkDrop *drop, GdkDragAction actions, GdkDragAction preferred_action GTK_TYPE_DROP_TARGET #define GTK_TYPE_DROP_TARGET (gtk_drop_target_get_type ()) GTK_DROP_TARGET #define GTK_DROP_TARGET(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_DROP_TARGET, GtkDropTarget)) GTK_DROP_TARGET_CLASS #define GTK_DROP_TARGET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_DROP_TARGET, GtkDropTargetClass)) GTK_IS_DROP_TARGET #define GTK_IS_DROP_TARGET(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_DROP_TARGET)) GTK_IS_DROP_TARGET_CLASS #define GTK_IS_DROP_TARGET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_DROP_TARGET)) GTK_DROP_TARGET_GET_CLASS #define GTK_DROP_TARGET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_DROP_TARGET, GtkDropTargetClass)) gtk_drop_target_get_type GType void gtk_drop_target_new GtkDropTarget * GType type, GdkDragAction actions gtk_drop_target_set_gtypes void GtkDropTarget *self, GType *types, gsize n_types gtk_drop_target_get_gtypes const GType * GtkDropTarget *self, gsize *n_types gtk_drop_target_get_formats GdkContentFormats * GtkDropTarget *self gtk_drop_target_set_actions void GtkDropTarget *self, GdkDragAction actions gtk_drop_target_get_actions GdkDragAction GtkDropTarget *self gtk_drop_target_set_preload void GtkDropTarget *self, gboolean preload gtk_drop_target_get_preload gboolean GtkDropTarget *self gtk_drop_target_get_drop GdkDrop * GtkDropTarget *self gtk_drop_target_get_value const GValue * GtkDropTarget *self gtk_drop_target_reject void GtkDropTarget *self GtkDropTarget GtkDropTargetClass GTK_TYPE_DROP_TARGET_ASYNC #define GTK_TYPE_DROP_TARGET_ASYNC (gtk_drop_target_async_get_type ()) GTK_DROP_TARGET_ASYNC #define GTK_DROP_TARGET_ASYNC(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_DROP_TARGET_ASYNC, GtkDropTargetAsync)) GTK_DROP_TARGET_ASYNC_CLASS #define GTK_DROP_TARGET_ASYNC_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_DROP_TARGET_ASYNC, GtkDropTargetAsyncClass)) GTK_IS_DROP_TARGET_ASYNC #define GTK_IS_DROP_TARGET_ASYNC(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_DROP_TARGET_ASYNC)) GTK_IS_DROP_TARGET_ASYNC_CLASS #define GTK_IS_DROP_TARGET_ASYNC_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_DROP_TARGET_ASYNC)) GTK_DROP_TARGET_ASYNC_GET_CLASS #define GTK_DROP_TARGET_ASYNC_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_DROP_TARGET_ASYNC, GtkDropTargetAsyncClass)) gtk_drop_target_async_get_type GType void gtk_drop_target_async_new GtkDropTargetAsync * GdkContentFormats *formats, GdkDragAction actions gtk_drop_target_async_set_formats void GtkDropTargetAsync *self, GdkContentFormats *formats gtk_drop_target_async_get_formats GdkContentFormats * GtkDropTargetAsync *self gtk_drop_target_async_set_actions void GtkDropTargetAsync *self, GdkDragAction actions gtk_drop_target_async_get_actions GdkDragAction GtkDropTargetAsync *self gtk_drop_target_async_reject_drop void GtkDropTargetAsync *self, GdkDrop *drop GtkDropTargetAsync GtkDropTargetAsyncClass GTK_TYPE_EDITABLE #define GTK_TYPE_EDITABLE (gtk_editable_get_type ()) GTK_EDITABLE #define GTK_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EDITABLE, GtkEditable)) GTK_IS_EDITABLE #define GTK_IS_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EDITABLE)) GTK_EDITABLE_GET_IFACE #define GTK_EDITABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_EDITABLE, GtkEditableInterface)) GtkEditableInterface struct _GtkEditableInterface { GTypeInterface base_iface; /* signals */ void (* insert_text) (GtkEditable *editable, const char *text, int length, int *position); void (* delete_text) (GtkEditable *editable, int start_pos, int end_pos); void (* changed) (GtkEditable *editable); /* vtable */ const char * (* get_text) (GtkEditable *editable); void (* do_insert_text) (GtkEditable *editable, const char *text, int length, int *position); void (* do_delete_text) (GtkEditable *editable, int start_pos, int end_pos); gboolean (* get_selection_bounds) (GtkEditable *editable, int *start_pos, int *end_pos); void (* set_selection_bounds) (GtkEditable *editable, int start_pos, int end_pos); GtkEditable * (* get_delegate) (GtkEditable *editable); }; gtk_editable_get_type GType void gtk_editable_get_text const char * GtkEditable *editable gtk_editable_set_text void GtkEditable *editable, const char *text gtk_editable_get_chars char * GtkEditable *editable, int start_pos, int end_pos gtk_editable_insert_text void GtkEditable *editable, const char *text, int length, int *position gtk_editable_delete_text void GtkEditable *editable, int start_pos, int end_pos gtk_editable_get_selection_bounds gboolean GtkEditable *editable, int *start_pos, int *end_pos gtk_editable_delete_selection void GtkEditable *editable gtk_editable_select_region void GtkEditable *editable, int start_pos, int end_pos gtk_editable_set_position void GtkEditable *editable, int position gtk_editable_get_position int GtkEditable *editable gtk_editable_get_editable gboolean GtkEditable *editable gtk_editable_set_editable void GtkEditable *editable, gboolean is_editable gtk_editable_get_alignment float GtkEditable *editable gtk_editable_set_alignment void GtkEditable *editable, float xalign gtk_editable_get_width_chars int GtkEditable *editable gtk_editable_set_width_chars void GtkEditable *editable, int n_chars gtk_editable_get_max_width_chars int GtkEditable *editable gtk_editable_set_max_width_chars void GtkEditable *editable, int n_chars gtk_editable_get_enable_undo gboolean GtkEditable *editable gtk_editable_set_enable_undo void GtkEditable *editable, gboolean enable_undo GtkEditableProperties typedef enum { GTK_EDITABLE_PROP_TEXT, GTK_EDITABLE_PROP_CURSOR_POSITION, GTK_EDITABLE_PROP_SELECTION_BOUND, GTK_EDITABLE_PROP_EDITABLE, GTK_EDITABLE_PROP_WIDTH_CHARS, GTK_EDITABLE_PROP_MAX_WIDTH_CHARS, GTK_EDITABLE_PROP_XALIGN, GTK_EDITABLE_PROP_ENABLE_UNDO, GTK_EDITABLE_NUM_PROPERTIES } GtkEditableProperties; gtk_editable_install_properties guint GObjectClass *object_class, guint first_prop gtk_editable_init_delegate void GtkEditable *editable gtk_editable_finish_delegate void GtkEditable *editable gtk_editable_delegate_set_property gboolean GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec gtk_editable_delegate_get_property gboolean GObject *object, guint prop_id, GValue *value, GParamSpec *pspec GtkEditable GTK_TYPE_EDITABLE_LABEL #define GTK_TYPE_EDITABLE_LABEL (gtk_editable_label_get_type ()) gtk_editable_label_new GtkWidget * const char *str gtk_editable_label_get_editing gboolean GtkEditableLabel *self gtk_editable_label_start_editing void GtkEditableLabel *self gtk_editable_label_stop_editing void GtkEditableLabel *self, gboolean commit GtkEditableLabel GTK_TYPE_EMOJI_CHOOSER #define GTK_TYPE_EMOJI_CHOOSER (gtk_emoji_chooser_get_type ()) GTK_EMOJI_CHOOSER #define GTK_EMOJI_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EMOJI_CHOOSER, GtkEmojiChooser)) GTK_EMOJI_CHOOSER_CLASS #define GTK_EMOJI_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EMOJI_CHOOSER, GtkEmojiChooserClass)) GTK_IS_EMOJI_CHOOSER #define GTK_IS_EMOJI_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EMOJI_CHOOSER)) GTK_IS_EMOJI_CHOOSER_CLASS #define GTK_IS_EMOJI_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EMOJI_CHOOSER)) GTK_EMOJI_CHOOSER_GET_CLASS #define GTK_EMOJI_CHOOSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EMOJI_CHOOSER, GtkEmojiChooserClass)) gtk_emoji_chooser_get_type GType void gtk_emoji_chooser_new GtkWidget * void GtkEmojiChooser GtkEmojiChooserClass GTK_TYPE_EMOJI_COMPLETION #define GTK_TYPE_EMOJI_COMPLETION (gtk_emoji_completion_get_type ()) GTK_EMOJI_COMPLETION #define GTK_EMOJI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EMOJI_COMPLETION, GtkEmojiCompletion)) GTK_EMOJI_COMPLETION_CLASS #define GTK_EMOJI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EMOJI_COMPLETION, GtkEmojiCompletionClass)) GTK_IS_EMOJI_COMPLETION #define GTK_IS_EMOJI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EMOJI_COMPLETION)) GTK_IS_EMOJI_COMPLETION_CLASS #define GTK_IS_EMOJI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EMOJI_COMPLETION)) GTK_EMOJI_COMPLETION_GET_CLASS #define GTK_EMOJI_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EMOJI_COMPLETION, GtkEmojiCompletionClass)) gtk_emoji_completion_get_type GType void gtk_emoji_completion_new GtkWidget * GtkText *text GtkEmojiCompletion GtkEmojiCompletionClass GTK_TYPE_ENTRY #define GTK_TYPE_ENTRY (gtk_entry_get_type ()) GTK_ENTRY #define GTK_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry)) GTK_ENTRY_CLASS #define GTK_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY, GtkEntryClass)) GTK_IS_ENTRY #define GTK_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ENTRY)) GTK_IS_ENTRY_CLASS #define GTK_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY)) GTK_ENTRY_GET_CLASS #define GTK_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ENTRY, GtkEntryClass)) GtkEntryIconPosition typedef enum { GTK_ENTRY_ICON_PRIMARY, GTK_ENTRY_ICON_SECONDARY } GtkEntryIconPosition; GtkEntry struct _GtkEntry { /*< private >*/ GtkWidget parent_instance; }; GtkEntryClass struct _GtkEntryClass { GtkWidgetClass parent_class; /* Action signals */ void (* activate) (GtkEntry *entry); /*< private >*/ gpointer padding[8]; }; gtk_entry_get_type GType void gtk_entry_new GtkWidget * void gtk_entry_new_with_buffer GtkWidget * GtkEntryBuffer *buffer gtk_entry_get_buffer GtkEntryBuffer * GtkEntry *entry gtk_entry_set_buffer void GtkEntry *entry, GtkEntryBuffer *buffer gtk_entry_set_visibility void GtkEntry *entry, gboolean visible gtk_entry_get_visibility gboolean GtkEntry *entry gtk_entry_set_invisible_char void GtkEntry *entry, gunichar ch gtk_entry_get_invisible_char gunichar GtkEntry *entry gtk_entry_unset_invisible_char void GtkEntry *entry gtk_entry_set_has_frame void GtkEntry *entry, gboolean setting gtk_entry_get_has_frame gboolean GtkEntry *entry gtk_entry_set_overwrite_mode void GtkEntry *entry, gboolean overwrite gtk_entry_get_overwrite_mode gboolean GtkEntry *entry gtk_entry_set_max_length void GtkEntry *entry, int max gtk_entry_get_max_length int GtkEntry *entry gtk_entry_get_text_length guint16 GtkEntry *entry gtk_entry_set_activates_default void GtkEntry *entry, gboolean setting gtk_entry_get_activates_default gboolean GtkEntry *entry gtk_entry_set_alignment void GtkEntry *entry, float xalign gtk_entry_get_alignment float GtkEntry *entry gtk_entry_set_completion void GtkEntry *entry, GtkEntryCompletion *completion gtk_entry_get_completion GtkEntryCompletion * GtkEntry *entry gtk_entry_set_progress_fraction void GtkEntry *entry, double fraction gtk_entry_get_progress_fraction double GtkEntry *entry gtk_entry_set_progress_pulse_step void GtkEntry *entry, double fraction gtk_entry_get_progress_pulse_step double GtkEntry *entry gtk_entry_progress_pulse void GtkEntry *entry gtk_entry_get_placeholder_text const char * GtkEntry *entry gtk_entry_set_placeholder_text void GtkEntry *entry, const char *text gtk_entry_set_icon_from_paintable void GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkPaintable *paintable gtk_entry_set_icon_from_icon_name void GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *icon_name gtk_entry_set_icon_from_gicon void GtkEntry *entry, GtkEntryIconPosition icon_pos, GIcon *icon gtk_entry_get_icon_storage_type GtkImageType GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_get_icon_paintable GdkPaintable * GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_get_icon_name const char * GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_get_icon_gicon GIcon * GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_set_icon_activatable void GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean activatable gtk_entry_get_icon_activatable gboolean GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_set_icon_sensitive void GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean sensitive gtk_entry_get_icon_sensitive gboolean GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_get_icon_at_pos int GtkEntry *entry, int x, int y gtk_entry_set_icon_tooltip_text void GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip gtk_entry_get_icon_tooltip_text char * GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_set_icon_tooltip_markup void GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip gtk_entry_get_icon_tooltip_markup char * GtkEntry *entry, GtkEntryIconPosition icon_pos gtk_entry_set_icon_drag_source void GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkContentProvider *provider, GdkDragAction actions gtk_entry_get_current_icon_drag_source int GtkEntry *entry gtk_entry_get_icon_area void GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkRectangle *icon_area gtk_entry_reset_im_context void GtkEntry *entry gtk_entry_set_input_purpose void GtkEntry *entry, GtkInputPurpose purpose gtk_entry_get_input_purpose GtkInputPurpose GtkEntry *entry gtk_entry_set_input_hints void GtkEntry *entry, GtkInputHints hints gtk_entry_get_input_hints GtkInputHints GtkEntry *entry gtk_entry_set_attributes void GtkEntry *entry, PangoAttrList *attrs gtk_entry_get_attributes PangoAttrList * GtkEntry *entry gtk_entry_set_tabs void GtkEntry *entry, PangoTabArray *tabs gtk_entry_get_tabs PangoTabArray * GtkEntry *entry gtk_entry_grab_focus_without_selecting gboolean GtkEntry *entry gtk_entry_set_extra_menu void GtkEntry *entry, GMenuModel *model gtk_entry_get_extra_menu GMenuModel * GtkEntry *entry GTK_ENTRY_BUFFER_MAX_SIZE #define GTK_ENTRY_BUFFER_MAX_SIZE G_MAXUSHORT GTK_TYPE_ENTRY_BUFFER #define GTK_TYPE_ENTRY_BUFFER (gtk_entry_buffer_get_type ()) GTK_ENTRY_BUFFER #define GTK_ENTRY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY_BUFFER, GtkEntryBuffer)) GTK_ENTRY_BUFFER_CLASS #define GTK_ENTRY_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY_BUFFER, GtkEntryBufferClass)) GTK_IS_ENTRY_BUFFER #define GTK_IS_ENTRY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ENTRY_BUFFER)) GTK_IS_ENTRY_BUFFER_CLASS #define GTK_IS_ENTRY_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY_BUFFER)) GTK_ENTRY_BUFFER_GET_CLASS #define GTK_ENTRY_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ENTRY_BUFFER, GtkEntryBufferClass)) GtkEntryBuffer struct _GtkEntryBuffer { GObject parent_instance; }; GtkEntryBufferClass struct _GtkEntryBufferClass { GObjectClass parent_class; /* Signals */ void (*inserted_text) (GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars); void (*deleted_text) (GtkEntryBuffer *buffer, guint position, guint n_chars); /* Virtual Methods */ const char * (*get_text) (GtkEntryBuffer *buffer, gsize *n_bytes); guint (*get_length) (GtkEntryBuffer *buffer); guint (*insert_text) (GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars); guint (*delete_text) (GtkEntryBuffer *buffer, guint position, guint n_chars); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; gtk_entry_buffer_get_type GType void gtk_entry_buffer_new GtkEntryBuffer * const char *initial_chars, int n_initial_chars gtk_entry_buffer_get_bytes gsize GtkEntryBuffer *buffer gtk_entry_buffer_get_length guint GtkEntryBuffer *buffer gtk_entry_buffer_get_text const char * GtkEntryBuffer *buffer gtk_entry_buffer_set_text void GtkEntryBuffer *buffer, const char *chars, int n_chars gtk_entry_buffer_set_max_length void GtkEntryBuffer *buffer, int max_length gtk_entry_buffer_get_max_length int GtkEntryBuffer *buffer gtk_entry_buffer_insert_text guint GtkEntryBuffer *buffer, guint position, const char *chars, int n_chars gtk_entry_buffer_delete_text guint GtkEntryBuffer *buffer, guint position, int n_chars gtk_entry_buffer_emit_inserted_text void GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars gtk_entry_buffer_emit_deleted_text void GtkEntryBuffer *buffer, guint position, guint n_chars GTK_TYPE_ENTRY_COMPLETION #define GTK_TYPE_ENTRY_COMPLETION (gtk_entry_completion_get_type ()) GTK_ENTRY_COMPLETION #define GTK_ENTRY_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY_COMPLETION, GtkEntryCompletion)) GTK_IS_ENTRY_COMPLETION #define GTK_IS_ENTRY_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ENTRY_COMPLETION)) GtkEntryCompletionMatchFunc gboolean GtkEntryCompletion *completion, const char *key, GtkTreeIter *iter, gpointer user_data gtk_entry_completion_get_type GType void gtk_entry_completion_new GtkEntryCompletion * void gtk_entry_completion_new_with_area GtkEntryCompletion * GtkCellArea *area gtk_entry_completion_get_entry GtkWidget * GtkEntryCompletion *completion gtk_entry_completion_set_model void GtkEntryCompletion *completion, GtkTreeModel *model gtk_entry_completion_get_model GtkTreeModel * GtkEntryCompletion *completion gtk_entry_completion_set_match_func void GtkEntryCompletion *completion, GtkEntryCompletionMatchFunc func, gpointer func_data, GDestroyNotify func_notify gtk_entry_completion_set_minimum_key_length void GtkEntryCompletion *completion, int length gtk_entry_completion_get_minimum_key_length int GtkEntryCompletion *completion gtk_entry_completion_compute_prefix char * GtkEntryCompletion *completion, const char *key gtk_entry_completion_complete void GtkEntryCompletion *completion gtk_entry_completion_insert_prefix void GtkEntryCompletion *completion gtk_entry_completion_set_inline_completion void GtkEntryCompletion *completion, gboolean inline_completion gtk_entry_completion_get_inline_completion gboolean GtkEntryCompletion *completion gtk_entry_completion_set_inline_selection void GtkEntryCompletion *completion, gboolean inline_selection gtk_entry_completion_get_inline_selection gboolean GtkEntryCompletion *completion gtk_entry_completion_set_popup_completion void GtkEntryCompletion *completion, gboolean popup_completion gtk_entry_completion_get_popup_completion gboolean GtkEntryCompletion *completion gtk_entry_completion_set_popup_set_width void GtkEntryCompletion *completion, gboolean popup_set_width gtk_entry_completion_get_popup_set_width gboolean GtkEntryCompletion *completion gtk_entry_completion_set_popup_single_match void GtkEntryCompletion *completion, gboolean popup_single_match gtk_entry_completion_get_popup_single_match gboolean GtkEntryCompletion *completion gtk_entry_completion_get_completion_prefix const char * GtkEntryCompletion *completion gtk_entry_completion_set_text_column void GtkEntryCompletion *completion, int column gtk_entry_completion_get_text_column int GtkEntryCompletion *completion GtkEntryCompletion GtkAlign typedef enum { GTK_ALIGN_FILL, GTK_ALIGN_START, GTK_ALIGN_END, GTK_ALIGN_CENTER, GTK_ALIGN_BASELINE } GtkAlign; GtkArrowType typedef enum { GTK_ARROW_UP, GTK_ARROW_DOWN, GTK_ARROW_LEFT, GTK_ARROW_RIGHT, GTK_ARROW_NONE } GtkArrowType; GtkBaselinePosition typedef enum { GTK_BASELINE_POSITION_TOP, GTK_BASELINE_POSITION_CENTER, GTK_BASELINE_POSITION_BOTTOM } GtkBaselinePosition; GtkDeleteType typedef enum { GTK_DELETE_CHARS, GTK_DELETE_WORD_ENDS, GTK_DELETE_WORDS, GTK_DELETE_DISPLAY_LINES, GTK_DELETE_DISPLAY_LINE_ENDS, GTK_DELETE_PARAGRAPH_ENDS, GTK_DELETE_PARAGRAPHS, GTK_DELETE_WHITESPACE } GtkDeleteType; GtkDirectionType typedef enum { GTK_DIR_TAB_FORWARD, GTK_DIR_TAB_BACKWARD, GTK_DIR_UP, GTK_DIR_DOWN, GTK_DIR_LEFT, GTK_DIR_RIGHT } GtkDirectionType; GtkIconSize typedef enum { GTK_ICON_SIZE_INHERIT, GTK_ICON_SIZE_NORMAL, GTK_ICON_SIZE_LARGE } GtkIconSize; GtkSensitivityType typedef enum { GTK_SENSITIVITY_AUTO, GTK_SENSITIVITY_ON, GTK_SENSITIVITY_OFF } GtkSensitivityType; GtkTextDirection typedef enum { GTK_TEXT_DIR_NONE, GTK_TEXT_DIR_LTR, GTK_TEXT_DIR_RTL } GtkTextDirection; GtkJustification typedef enum { GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER, GTK_JUSTIFY_FILL } GtkJustification; GtkMenuDirectionType typedef enum { GTK_MENU_DIR_PARENT, GTK_MENU_DIR_CHILD, GTK_MENU_DIR_NEXT, GTK_MENU_DIR_PREV } GtkMenuDirectionType; GtkMessageType typedef enum { GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_QUESTION, GTK_MESSAGE_ERROR, GTK_MESSAGE_OTHER } GtkMessageType; GtkMovementStep typedef enum { GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS, GTK_MOVEMENT_WORDS, GTK_MOVEMENT_DISPLAY_LINES, GTK_MOVEMENT_DISPLAY_LINE_ENDS, GTK_MOVEMENT_PARAGRAPHS, GTK_MOVEMENT_PARAGRAPH_ENDS, GTK_MOVEMENT_PAGES, GTK_MOVEMENT_BUFFER_ENDS, GTK_MOVEMENT_HORIZONTAL_PAGES } GtkMovementStep; GtkScrollStep typedef enum { GTK_SCROLL_STEPS, GTK_SCROLL_PAGES, GTK_SCROLL_ENDS, GTK_SCROLL_HORIZONTAL_STEPS, GTK_SCROLL_HORIZONTAL_PAGES, GTK_SCROLL_HORIZONTAL_ENDS } GtkScrollStep; GtkOrientation typedef enum { GTK_ORIENTATION_HORIZONTAL, GTK_ORIENTATION_VERTICAL } GtkOrientation; GtkOverflow typedef enum { GTK_OVERFLOW_VISIBLE, GTK_OVERFLOW_HIDDEN } GtkOverflow; GtkPackType typedef enum { GTK_PACK_START, GTK_PACK_END } GtkPackType; GtkPositionType typedef enum { GTK_POS_LEFT, GTK_POS_RIGHT, GTK_POS_TOP, GTK_POS_BOTTOM } GtkPositionType; GtkScrollType typedef enum { GTK_SCROLL_NONE, GTK_SCROLL_JUMP, GTK_SCROLL_STEP_BACKWARD, GTK_SCROLL_STEP_FORWARD, GTK_SCROLL_PAGE_BACKWARD, GTK_SCROLL_PAGE_FORWARD, GTK_SCROLL_STEP_UP, GTK_SCROLL_STEP_DOWN, GTK_SCROLL_PAGE_UP, GTK_SCROLL_PAGE_DOWN, GTK_SCROLL_STEP_LEFT, GTK_SCROLL_STEP_RIGHT, GTK_SCROLL_PAGE_LEFT, GTK_SCROLL_PAGE_RIGHT, GTK_SCROLL_START, GTK_SCROLL_END } GtkScrollType; GtkSelectionMode typedef enum { GTK_SELECTION_NONE, GTK_SELECTION_SINGLE, GTK_SELECTION_BROWSE, GTK_SELECTION_MULTIPLE } GtkSelectionMode; GtkWrapMode typedef enum { GTK_WRAP_NONE, GTK_WRAP_CHAR, GTK_WRAP_WORD, GTK_WRAP_WORD_CHAR } GtkWrapMode; GtkSortType typedef enum { GTK_SORT_ASCENDING, GTK_SORT_DESCENDING } GtkSortType; GtkPrintPages typedef enum { GTK_PRINT_PAGES_ALL, GTK_PRINT_PAGES_CURRENT, GTK_PRINT_PAGES_RANGES, GTK_PRINT_PAGES_SELECTION } GtkPrintPages; GtkPageSet typedef enum { GTK_PAGE_SET_ALL, GTK_PAGE_SET_EVEN, GTK_PAGE_SET_ODD } GtkPageSet; GtkNumberUpLayout typedef enum { GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM, /*< nick=lrtb >*/ GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP, /*< nick=lrbt >*/ GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM, /*< nick=rltb >*/ GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP, /*< nick=rlbt >*/ GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT, /*< nick=tblr >*/ GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT, /*< nick=tbrl >*/ GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT, /*< nick=btlr >*/ GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT /*< nick=btrl >*/ } GtkNumberUpLayout; GtkOrdering typedef enum { GTK_ORDERING_SMALLER = -1, GTK_ORDERING_EQUAL = 0, GTK_ORDERING_LARGER = 1 } GtkOrdering; gtk_ordering_from_cmpfunc GtkOrdering int cmpfunc_result GtkPageOrientation typedef enum { GTK_PAGE_ORIENTATION_PORTRAIT, GTK_PAGE_ORIENTATION_LANDSCAPE, GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT, GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE } GtkPageOrientation; GtkPrintQuality typedef enum { GTK_PRINT_QUALITY_LOW, GTK_PRINT_QUALITY_NORMAL, GTK_PRINT_QUALITY_HIGH, GTK_PRINT_QUALITY_DRAFT } GtkPrintQuality; GtkPrintDuplex typedef enum { GTK_PRINT_DUPLEX_SIMPLEX, GTK_PRINT_DUPLEX_HORIZONTAL, GTK_PRINT_DUPLEX_VERTICAL } GtkPrintDuplex; GtkUnit typedef enum { GTK_UNIT_NONE, GTK_UNIT_POINTS, GTK_UNIT_INCH, GTK_UNIT_MM } GtkUnit; GTK_UNIT_PIXEL #define GTK_UNIT_PIXEL GTK_UNIT_NONE GtkTreeViewGridLines typedef enum { GTK_TREE_VIEW_GRID_LINES_NONE, GTK_TREE_VIEW_GRID_LINES_HORIZONTAL, GTK_TREE_VIEW_GRID_LINES_VERTICAL, GTK_TREE_VIEW_GRID_LINES_BOTH } GtkTreeViewGridLines; GtkSizeGroupMode typedef enum { GTK_SIZE_GROUP_NONE, GTK_SIZE_GROUP_HORIZONTAL, GTK_SIZE_GROUP_VERTICAL, GTK_SIZE_GROUP_BOTH } GtkSizeGroupMode; GtkSizeRequestMode typedef enum { GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH = 0, GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT, GTK_SIZE_REQUEST_CONSTANT_SIZE } GtkSizeRequestMode; GtkScrollablePolicy typedef enum { GTK_SCROLL_MINIMUM = 0, GTK_SCROLL_NATURAL } GtkScrollablePolicy; GtkStateFlags typedef enum { GTK_STATE_FLAG_NORMAL = 0, GTK_STATE_FLAG_ACTIVE = 1 << 0, GTK_STATE_FLAG_PRELIGHT = 1 << 1, GTK_STATE_FLAG_SELECTED = 1 << 2, GTK_STATE_FLAG_INSENSITIVE = 1 << 3, GTK_STATE_FLAG_INCONSISTENT = 1 << 4, GTK_STATE_FLAG_FOCUSED = 1 << 5, GTK_STATE_FLAG_BACKDROP = 1 << 6, GTK_STATE_FLAG_DIR_LTR = 1 << 7, GTK_STATE_FLAG_DIR_RTL = 1 << 8, GTK_STATE_FLAG_LINK = 1 << 9, GTK_STATE_FLAG_VISITED = 1 << 10, GTK_STATE_FLAG_CHECKED = 1 << 11, GTK_STATE_FLAG_DROP_ACTIVE = 1 << 12, GTK_STATE_FLAG_FOCUS_VISIBLE = 1 << 13, GTK_STATE_FLAG_FOCUS_WITHIN = 1 << 14 } GtkStateFlags; GtkBorderStyle typedef enum { GTK_BORDER_STYLE_NONE, GTK_BORDER_STYLE_HIDDEN, GTK_BORDER_STYLE_SOLID, GTK_BORDER_STYLE_INSET, GTK_BORDER_STYLE_OUTSET, GTK_BORDER_STYLE_DOTTED, GTK_BORDER_STYLE_DASHED, GTK_BORDER_STYLE_DOUBLE, GTK_BORDER_STYLE_GROOVE, GTK_BORDER_STYLE_RIDGE } GtkBorderStyle; GtkLevelBarMode typedef enum { GTK_LEVEL_BAR_MODE_CONTINUOUS, GTK_LEVEL_BAR_MODE_DISCRETE } GtkLevelBarMode; GtkInputPurpose typedef enum { GTK_INPUT_PURPOSE_FREE_FORM, GTK_INPUT_PURPOSE_ALPHA, GTK_INPUT_PURPOSE_DIGITS, GTK_INPUT_PURPOSE_NUMBER, GTK_INPUT_PURPOSE_PHONE, GTK_INPUT_PURPOSE_URL, GTK_INPUT_PURPOSE_EMAIL, GTK_INPUT_PURPOSE_NAME, GTK_INPUT_PURPOSE_PASSWORD, GTK_INPUT_PURPOSE_PIN, GTK_INPUT_PURPOSE_TERMINAL, } GtkInputPurpose; GtkInputHints typedef enum { GTK_INPUT_HINT_NONE = 0, GTK_INPUT_HINT_SPELLCHECK = 1 << 0, GTK_INPUT_HINT_NO_SPELLCHECK = 1 << 1, GTK_INPUT_HINT_WORD_COMPLETION = 1 << 2, GTK_INPUT_HINT_LOWERCASE = 1 << 3, GTK_INPUT_HINT_UPPERCASE_CHARS = 1 << 4, GTK_INPUT_HINT_UPPERCASE_WORDS = 1 << 5, GTK_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6, GTK_INPUT_HINT_INHIBIT_OSK = 1 << 7, GTK_INPUT_HINT_VERTICAL_WRITING = 1 << 8, GTK_INPUT_HINT_EMOJI = 1 << 9, GTK_INPUT_HINT_NO_EMOJI = 1 << 10 } GtkInputHints; GtkPropagationPhase typedef enum { GTK_PHASE_NONE, GTK_PHASE_CAPTURE, GTK_PHASE_BUBBLE, GTK_PHASE_TARGET } GtkPropagationPhase; GtkPropagationLimit typedef enum { GTK_LIMIT_NONE, GTK_LIMIT_SAME_NATIVE } GtkPropagationLimit; GtkEventSequenceState typedef enum { GTK_EVENT_SEQUENCE_NONE, GTK_EVENT_SEQUENCE_CLAIMED, GTK_EVENT_SEQUENCE_DENIED } GtkEventSequenceState; GtkPanDirection typedef enum { GTK_PAN_DIRECTION_LEFT, GTK_PAN_DIRECTION_RIGHT, GTK_PAN_DIRECTION_UP, GTK_PAN_DIRECTION_DOWN } GtkPanDirection; GtkShortcutScope typedef enum { GTK_SHORTCUT_SCOPE_LOCAL, GTK_SHORTCUT_SCOPE_MANAGED, GTK_SHORTCUT_SCOPE_GLOBAL } GtkShortcutScope; GtkPopoverConstraint typedef enum { GTK_POPOVER_CONSTRAINT_NONE, GTK_POPOVER_CONSTRAINT_WINDOW } GtkPopoverConstraint; GtkPlacesOpenFlags typedef enum { GTK_PLACES_OPEN_NORMAL = 1 << 0, GTK_PLACES_OPEN_NEW_TAB = 1 << 1, GTK_PLACES_OPEN_NEW_WINDOW = 1 << 2 } GtkPlacesOpenFlags; GtkPickFlags typedef enum { GTK_PICK_DEFAULT = 0, GTK_PICK_INSENSITIVE = 1 << 0, GTK_PICK_NON_TARGETABLE = 1 << 1 } GtkPickFlags; GtkConstraintRelation typedef enum { GTK_CONSTRAINT_RELATION_LE = -1, GTK_CONSTRAINT_RELATION_EQ = 0, GTK_CONSTRAINT_RELATION_GE = 1 } GtkConstraintRelation; GtkConstraintStrength typedef enum { GTK_CONSTRAINT_STRENGTH_REQUIRED = 1001001000, GTK_CONSTRAINT_STRENGTH_STRONG = 1000000000, GTK_CONSTRAINT_STRENGTH_MEDIUM = 1000, GTK_CONSTRAINT_STRENGTH_WEAK = 1 } GtkConstraintStrength; GtkConstraintAttribute typedef enum { GTK_CONSTRAINT_ATTRIBUTE_NONE, GTK_CONSTRAINT_ATTRIBUTE_LEFT, GTK_CONSTRAINT_ATTRIBUTE_RIGHT, GTK_CONSTRAINT_ATTRIBUTE_TOP, GTK_CONSTRAINT_ATTRIBUTE_BOTTOM, GTK_CONSTRAINT_ATTRIBUTE_START, GTK_CONSTRAINT_ATTRIBUTE_END, GTK_CONSTRAINT_ATTRIBUTE_WIDTH, GTK_CONSTRAINT_ATTRIBUTE_HEIGHT, GTK_CONSTRAINT_ATTRIBUTE_CENTER_X, GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y, GTK_CONSTRAINT_ATTRIBUTE_BASELINE } GtkConstraintAttribute; GtkConstraintVflParserError typedef enum { GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL, GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE, GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW, GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC, GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY, GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION } GtkConstraintVflParserError; GtkSystemSetting typedef enum { GTK_SYSTEM_SETTING_DPI, GTK_SYSTEM_SETTING_FONT_NAME, GTK_SYSTEM_SETTING_FONT_CONFIG, GTK_SYSTEM_SETTING_DISPLAY, GTK_SYSTEM_SETTING_ICON_THEME } GtkSystemSetting; GtkAccessibleRole typedef enum { GTK_ACCESSIBLE_ROLE_ALERT, GTK_ACCESSIBLE_ROLE_ALERT_DIALOG, GTK_ACCESSIBLE_ROLE_BANNER, GTK_ACCESSIBLE_ROLE_BUTTON, GTK_ACCESSIBLE_ROLE_CAPTION, GTK_ACCESSIBLE_ROLE_CELL, GTK_ACCESSIBLE_ROLE_CHECKBOX, GTK_ACCESSIBLE_ROLE_COLUMN_HEADER, GTK_ACCESSIBLE_ROLE_COMBO_BOX, GTK_ACCESSIBLE_ROLE_COMMAND, GTK_ACCESSIBLE_ROLE_COMPOSITE, GTK_ACCESSIBLE_ROLE_DIALOG, GTK_ACCESSIBLE_ROLE_DOCUMENT, GTK_ACCESSIBLE_ROLE_FEED, GTK_ACCESSIBLE_ROLE_FORM, GTK_ACCESSIBLE_ROLE_GENERIC, GTK_ACCESSIBLE_ROLE_GRID, GTK_ACCESSIBLE_ROLE_GRID_CELL, GTK_ACCESSIBLE_ROLE_GROUP, GTK_ACCESSIBLE_ROLE_HEADING, GTK_ACCESSIBLE_ROLE_IMG, GTK_ACCESSIBLE_ROLE_INPUT, GTK_ACCESSIBLE_ROLE_LABEL, GTK_ACCESSIBLE_ROLE_LANDMARK, GTK_ACCESSIBLE_ROLE_LEGEND, GTK_ACCESSIBLE_ROLE_LINK, GTK_ACCESSIBLE_ROLE_LIST, GTK_ACCESSIBLE_ROLE_LIST_BOX, GTK_ACCESSIBLE_ROLE_LIST_ITEM, GTK_ACCESSIBLE_ROLE_LOG, GTK_ACCESSIBLE_ROLE_MAIN, GTK_ACCESSIBLE_ROLE_MARQUEE, GTK_ACCESSIBLE_ROLE_MATH, GTK_ACCESSIBLE_ROLE_METER, GTK_ACCESSIBLE_ROLE_MENU, GTK_ACCESSIBLE_ROLE_MENU_BAR, GTK_ACCESSIBLE_ROLE_MENU_ITEM, GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX, GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO, GTK_ACCESSIBLE_ROLE_NAVIGATION, GTK_ACCESSIBLE_ROLE_NONE, GTK_ACCESSIBLE_ROLE_NOTE, GTK_ACCESSIBLE_ROLE_OPTION, GTK_ACCESSIBLE_ROLE_PRESENTATION, GTK_ACCESSIBLE_ROLE_PROGRESS_BAR, GTK_ACCESSIBLE_ROLE_RADIO, GTK_ACCESSIBLE_ROLE_RADIO_GROUP, GTK_ACCESSIBLE_ROLE_RANGE, GTK_ACCESSIBLE_ROLE_REGION, GTK_ACCESSIBLE_ROLE_ROW, GTK_ACCESSIBLE_ROLE_ROW_GROUP, GTK_ACCESSIBLE_ROLE_ROW_HEADER, GTK_ACCESSIBLE_ROLE_SCROLLBAR, GTK_ACCESSIBLE_ROLE_SEARCH, GTK_ACCESSIBLE_ROLE_SEARCH_BOX, GTK_ACCESSIBLE_ROLE_SECTION, GTK_ACCESSIBLE_ROLE_SECTION_HEAD, GTK_ACCESSIBLE_ROLE_SELECT, GTK_ACCESSIBLE_ROLE_SEPARATOR, GTK_ACCESSIBLE_ROLE_SLIDER, GTK_ACCESSIBLE_ROLE_SPIN_BUTTON, GTK_ACCESSIBLE_ROLE_STATUS, GTK_ACCESSIBLE_ROLE_STRUCTURE, GTK_ACCESSIBLE_ROLE_SWITCH, GTK_ACCESSIBLE_ROLE_TAB, GTK_ACCESSIBLE_ROLE_TABLE, GTK_ACCESSIBLE_ROLE_TAB_LIST, GTK_ACCESSIBLE_ROLE_TAB_PANEL, GTK_ACCESSIBLE_ROLE_TEXT_BOX, GTK_ACCESSIBLE_ROLE_TIME, GTK_ACCESSIBLE_ROLE_TIMER, GTK_ACCESSIBLE_ROLE_TOOLBAR, GTK_ACCESSIBLE_ROLE_TOOLTIP, GTK_ACCESSIBLE_ROLE_TREE, GTK_ACCESSIBLE_ROLE_TREE_GRID, GTK_ACCESSIBLE_ROLE_TREE_ITEM, GTK_ACCESSIBLE_ROLE_WIDGET, GTK_ACCESSIBLE_ROLE_WINDOW } GtkAccessibleRole; GtkAccessibleState typedef enum { GTK_ACCESSIBLE_STATE_BUSY, GTK_ACCESSIBLE_STATE_CHECKED, GTK_ACCESSIBLE_STATE_DISABLED, GTK_ACCESSIBLE_STATE_EXPANDED, GTK_ACCESSIBLE_STATE_HIDDEN, GTK_ACCESSIBLE_STATE_INVALID, GTK_ACCESSIBLE_STATE_PRESSED, GTK_ACCESSIBLE_STATE_SELECTED } GtkAccessibleState; GTK_ACCESSIBLE_VALUE_UNDEFINED #define GTK_ACCESSIBLE_VALUE_UNDEFINED (-1) GtkAccessibleProperty typedef enum { GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE, GTK_ACCESSIBLE_PROPERTY_DESCRIPTION, GTK_ACCESSIBLE_PROPERTY_HAS_POPUP, GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS, GTK_ACCESSIBLE_PROPERTY_LABEL, GTK_ACCESSIBLE_PROPERTY_LEVEL, GTK_ACCESSIBLE_PROPERTY_MODAL, GTK_ACCESSIBLE_PROPERTY_MULTI_LINE, GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE, GTK_ACCESSIBLE_PROPERTY_ORIENTATION, GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER, GTK_ACCESSIBLE_PROPERTY_READ_ONLY, GTK_ACCESSIBLE_PROPERTY_REQUIRED, GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION, GTK_ACCESSIBLE_PROPERTY_SORT, GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, GTK_ACCESSIBLE_PROPERTY_VALUE_MIN, GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT } GtkAccessibleProperty; GtkAccessibleRelation typedef enum { GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT, GTK_ACCESSIBLE_RELATION_COL_COUNT, GTK_ACCESSIBLE_RELATION_COL_INDEX, GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT, GTK_ACCESSIBLE_RELATION_COL_SPAN, GTK_ACCESSIBLE_RELATION_CONTROLS, GTK_ACCESSIBLE_RELATION_DESCRIBED_BY, GTK_ACCESSIBLE_RELATION_DETAILS, GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE, GTK_ACCESSIBLE_RELATION_FLOW_TO, GTK_ACCESSIBLE_RELATION_LABELLED_BY, GTK_ACCESSIBLE_RELATION_OWNS, GTK_ACCESSIBLE_RELATION_POS_IN_SET, GTK_ACCESSIBLE_RELATION_ROW_COUNT, GTK_ACCESSIBLE_RELATION_ROW_INDEX, GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT, GTK_ACCESSIBLE_RELATION_ROW_SPAN, GTK_ACCESSIBLE_RELATION_SET_SIZE } GtkAccessibleRelation; GtkAccessibleTristate typedef enum { GTK_ACCESSIBLE_TRISTATE_FALSE, GTK_ACCESSIBLE_TRISTATE_TRUE, GTK_ACCESSIBLE_TRISTATE_MIXED } GtkAccessibleTristate; GtkAccessibleInvalidState typedef enum { /*< prefix=GTK_ACCESSIBLE_INVALID >*/ GTK_ACCESSIBLE_INVALID_FALSE, GTK_ACCESSIBLE_INVALID_TRUE, GTK_ACCESSIBLE_INVALID_GRAMMAR, GTK_ACCESSIBLE_INVALID_SPELLING, } GtkAccessibleInvalidState; GtkAccessibleAutocomplete typedef enum { /*< prefix=GTK_ACCESSIBLE_AUTOCOMPLETE >*/ GTK_ACCESSIBLE_AUTOCOMPLETE_NONE, GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE, GTK_ACCESSIBLE_AUTOCOMPLETE_LIST, GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH } GtkAccessibleAutocomplete; GtkAccessibleSort typedef enum { /*< prefix=GTK_ACCESSIBLE_SORT >*/ GTK_ACCESSIBLE_SORT_NONE, GTK_ACCESSIBLE_SORT_ASCENDING, GTK_ACCESSIBLE_SORT_DESCENDING, GTK_ACCESSIBLE_SORT_OTHER } GtkAccessibleSort; GTK_TYPE_EVENT_CONTROLLER #define GTK_TYPE_EVENT_CONTROLLER (gtk_event_controller_get_type ()) GTK_EVENT_CONTROLLER #define GTK_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER, GtkEventController)) GTK_EVENT_CONTROLLER_CLASS #define GTK_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER, GtkEventControllerClass)) GTK_IS_EVENT_CONTROLLER #define GTK_IS_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER)) GTK_IS_EVENT_CONTROLLER_CLASS #define GTK_IS_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER)) GTK_EVENT_CONTROLLER_GET_CLASS #define GTK_EVENT_CONTROLLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER, GtkEventControllerClass)) gtk_crossing_data_get_type GType void gtk_event_controller_get_type GType void gtk_event_controller_get_widget GtkWidget * GtkEventController *controller gtk_event_controller_reset void GtkEventController *controller gtk_event_controller_get_propagation_phase GtkPropagationPhase GtkEventController *controller gtk_event_controller_set_propagation_phase void GtkEventController *controller, GtkPropagationPhase phase gtk_event_controller_get_propagation_limit GtkPropagationLimit GtkEventController *controller gtk_event_controller_set_propagation_limit void GtkEventController *controller, GtkPropagationLimit limit gtk_event_controller_get_name const char * GtkEventController *controller gtk_event_controller_set_name void GtkEventController *controller, const char *name gtk_event_controller_get_current_event GdkEvent * GtkEventController *controller gtk_event_controller_get_current_event_time guint32 GtkEventController *controller gtk_event_controller_get_current_event_device GdkDevice * GtkEventController *controller gtk_event_controller_get_current_event_state GdkModifierType GtkEventController *controller GtkEventControllerClass GTK_TYPE_EVENT_CONTROLLER_FOCUS #define GTK_TYPE_EVENT_CONTROLLER_FOCUS (gtk_event_controller_focus_get_type ()) GTK_EVENT_CONTROLLER_FOCUS #define GTK_EVENT_CONTROLLER_FOCUS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_FOCUS, GtkEventControllerFocus)) GTK_EVENT_CONTROLLER_FOCUS_CLASS #define GTK_EVENT_CONTROLLER_FOCUS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_FOCUS, GtkEventControllerFocusClass)) GTK_IS_EVENT_CONTROLLER_FOCUS #define GTK_IS_EVENT_CONTROLLER_FOCUS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_FOCUS)) GTK_IS_EVENT_CONTROLLER_FOCUS_CLASS #define GTK_IS_EVENT_CONTROLLER_FOCUS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_FOCUS)) GTK_EVENT_CONTROLLER_FOCUS_GET_CLASS #define GTK_EVENT_CONTROLLER_FOCUS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_FOCUS, GtkEventControllerFocusClass)) gtk_event_controller_focus_get_type GType void gtk_event_controller_focus_new GtkEventController * void gtk_event_controller_focus_contains_focus gboolean GtkEventControllerFocus *self gtk_event_controller_focus_is_focus gboolean GtkEventControllerFocus *self GtkEventControllerFocus GtkEventControllerFocusClass GTK_TYPE_EVENT_CONTROLLER_KEY #define GTK_TYPE_EVENT_CONTROLLER_KEY (gtk_event_controller_key_get_type ()) GTK_EVENT_CONTROLLER_KEY #define GTK_EVENT_CONTROLLER_KEY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKey)) GTK_EVENT_CONTROLLER_KEY_CLASS #define GTK_EVENT_CONTROLLER_KEY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass)) GTK_IS_EVENT_CONTROLLER_KEY #define GTK_IS_EVENT_CONTROLLER_KEY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_KEY)) GTK_IS_EVENT_CONTROLLER_KEY_CLASS #define GTK_IS_EVENT_CONTROLLER_KEY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_KEY)) GTK_EVENT_CONTROLLER_KEY_GET_CLASS #define GTK_EVENT_CONTROLLER_KEY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass)) gtk_event_controller_key_get_type GType void gtk_event_controller_key_new GtkEventController * void gtk_event_controller_key_set_im_context void GtkEventControllerKey *controller, GtkIMContext *im_context gtk_event_controller_key_get_im_context GtkIMContext * GtkEventControllerKey *controller gtk_event_controller_key_forward gboolean GtkEventControllerKey *controller, GtkWidget *widget gtk_event_controller_key_get_group guint GtkEventControllerKey *controller GtkEventControllerKey GtkEventControllerKeyClass GTK_TYPE_EVENT_CONTROLLER_LEGACY #define GTK_TYPE_EVENT_CONTROLLER_LEGACY (gtk_event_controller_legacy_get_type ()) GTK_EVENT_CONTROLLER_LEGACY #define GTK_EVENT_CONTROLLER_LEGACY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_LEGACY, GtkEventControllerLegacy)) GTK_EVENT_CONTROLLER_LEGACY_CLASS #define GTK_EVENT_CONTROLLER_LEGACY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_LEGACY, GtkEventControllerLegacyClass)) GTK_IS_EVENT_CONTROLLER_LEGACY #define GTK_IS_EVENT_CONTROLLER_LEGACY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_LEGACY)) GTK_IS_EVENT_CONTROLLER_LEGACY_CLASS #define GTK_IS_EVENT_CONTROLLER_LEGACY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_LEGACY)) GTK_EVENT_CONTROLLER_LEGACY_GET_CLASS #define GTK_EVENT_CONTROLLER_LEGACY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_LEGACY, GtkEventControllerLegacyClass)) gtk_event_controller_legacy_get_type GType void gtk_event_controller_legacy_new GtkEventController * void GtkEventControllerLegacy GtkEventControllerLegacyClass GTK_TYPE_EVENT_CONTROLLER_MOTION #define GTK_TYPE_EVENT_CONTROLLER_MOTION (gtk_event_controller_motion_get_type ()) GTK_EVENT_CONTROLLER_MOTION #define GTK_EVENT_CONTROLLER_MOTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_MOTION, GtkEventControllerMotion)) GTK_EVENT_CONTROLLER_MOTION_CLASS #define GTK_EVENT_CONTROLLER_MOTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_MOTION, GtkEventControllerMotionClass)) GTK_IS_EVENT_CONTROLLER_MOTION #define GTK_IS_EVENT_CONTROLLER_MOTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_MOTION)) GTK_IS_EVENT_CONTROLLER_MOTION_CLASS #define GTK_IS_EVENT_CONTROLLER_MOTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_MOTION)) GTK_EVENT_CONTROLLER_MOTION_GET_CLASS #define GTK_EVENT_CONTROLLER_MOTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_MOTION, GtkEventControllerMotionClass)) gtk_event_controller_motion_get_type GType void gtk_event_controller_motion_new GtkEventController * void gtk_event_controller_motion_contains_pointer gboolean GtkEventControllerMotion *self gtk_event_controller_motion_is_pointer gboolean GtkEventControllerMotion *self GtkEventControllerMotion GtkEventControllerMotionClass GTK_TYPE_EVENT_CONTROLLER_SCROLL #define GTK_TYPE_EVENT_CONTROLLER_SCROLL (gtk_event_controller_scroll_get_type ()) GTK_EVENT_CONTROLLER_SCROLL #define GTK_EVENT_CONTROLLER_SCROLL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_SCROLL, GtkEventControllerScroll)) GTK_EVENT_CONTROLLER_SCROLL_CLASS #define GTK_EVENT_CONTROLLER_SCROLL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_SCROLL, GtkEventControllerScrollClass)) GTK_IS_EVENT_CONTROLLER_SCROLL #define GTK_IS_EVENT_CONTROLLER_SCROLL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_SCROLL)) GTK_IS_EVENT_CONTROLLER_SCROLL_CLASS #define GTK_IS_EVENT_CONTROLLER_SCROLL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_SCROLL)) GTK_EVENT_CONTROLLER_SCROLL_GET_CLASS #define GTK_EVENT_CONTROLLER_SCROLL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_SCROLL, GtkEventControllerScrollClass)) GtkEventControllerScrollFlags typedef enum { GTK_EVENT_CONTROLLER_SCROLL_NONE = 0, GTK_EVENT_CONTROLLER_SCROLL_VERTICAL = 1 << 0, GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL = 1 << 1, GTK_EVENT_CONTROLLER_SCROLL_DISCRETE = 1 << 2, GTK_EVENT_CONTROLLER_SCROLL_KINETIC = 1 << 3, GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES = (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL | GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL), } GtkEventControllerScrollFlags; gtk_event_controller_scroll_get_type GType void gtk_event_controller_scroll_new GtkEventController * GtkEventControllerScrollFlags flags gtk_event_controller_scroll_set_flags void GtkEventControllerScroll *scroll, GtkEventControllerScrollFlags flags gtk_event_controller_scroll_get_flags GtkEventControllerScrollFlags GtkEventControllerScroll *scroll GtkEventControllerScroll GtkEventControllerScrollClass GTK_TYPE_EXPANDER #define GTK_TYPE_EXPANDER (gtk_expander_get_type ()) GTK_EXPANDER #define GTK_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPANDER, GtkExpander)) GTK_IS_EXPANDER #define GTK_IS_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPANDER)) gtk_expander_get_type GType void gtk_expander_new GtkWidget * const char *label gtk_expander_new_with_mnemonic GtkWidget * const char *label gtk_expander_set_expanded void GtkExpander *expander, gboolean expanded gtk_expander_get_expanded gboolean GtkExpander *expander gtk_expander_set_label void GtkExpander *expander, const char *label gtk_expander_get_label const char * GtkExpander *expander gtk_expander_set_use_underline void GtkExpander *expander, gboolean use_underline gtk_expander_get_use_underline gboolean GtkExpander *expander gtk_expander_set_use_markup void GtkExpander *expander, gboolean use_markup gtk_expander_get_use_markup gboolean GtkExpander *expander gtk_expander_set_label_widget void GtkExpander *expander, GtkWidget *label_widget gtk_expander_get_label_widget GtkWidget * GtkExpander *expander gtk_expander_set_resize_toplevel void GtkExpander *expander, gboolean resize_toplevel gtk_expander_get_resize_toplevel gboolean GtkExpander *expander gtk_expander_set_child void GtkExpander *expander, GtkWidget *child gtk_expander_get_child GtkWidget * GtkExpander *expander GtkExpander GTK_TYPE_EXPRESSION #define GTK_TYPE_EXPRESSION (gtk_expression_get_type ()) GTK_IS_EXPRESSION #define GTK_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPRESSION)) GTK_EXPRESSION #define GTK_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPRESSION, GtkExpression)) GtkExpressionNotify void gpointer user_data gtk_expression_get_type GType void gtk_expression_ref GtkExpression * GtkExpression *self gtk_expression_unref void GtkExpression *self gtk_expression_get_value_type GType GtkExpression *self gtk_expression_is_static gboolean GtkExpression *self gtk_expression_evaluate gboolean GtkExpression *self, gpointer this_, GValue *value gtk_expression_watch GtkExpressionWatch * GtkExpression *self, gpointer this_, GtkExpressionNotify notify, gpointer user_data, GDestroyNotify user_destroy gtk_expression_bind GtkExpressionWatch * GtkExpression *self, gpointer target, const char * property, gpointer this_ gtk_expression_watch_ref GtkExpressionWatch * GtkExpressionWatch *watch gtk_expression_watch_unref void GtkExpressionWatch *watch gtk_expression_watch_evaluate gboolean GtkExpressionWatch *watch, GValue *value gtk_expression_watch_unwatch void GtkExpressionWatch *watch GTK_TYPE_PROPERTY_EXPRESSION #define GTK_TYPE_PROPERTY_EXPRESSION (gtk_property_expression_get_type()) gtk_property_expression_get_type GType void gtk_property_expression_new GtkExpression * GType this_type, GtkExpression *expression, const char *property_name gtk_property_expression_new_for_pspec GtkExpression * GtkExpression *expression, GParamSpec *pspec gtk_property_expression_get_expression GtkExpression * GtkExpression *expression gtk_property_expression_get_pspec GParamSpec * GtkExpression *expression GTK_TYPE_CONSTANT_EXPRESSION #define GTK_TYPE_CONSTANT_EXPRESSION (gtk_constant_expression_get_type()) gtk_constant_expression_get_type GType void gtk_constant_expression_new GtkExpression * GType value_type, ... gtk_constant_expression_new_for_value GtkExpression * const GValue *value gtk_constant_expression_get_value const GValue * GtkExpression *expression GTK_TYPE_OBJECT_EXPRESSION #define GTK_TYPE_OBJECT_EXPRESSION (gtk_object_expression_get_type()) gtk_object_expression_get_type GType void gtk_object_expression_new GtkExpression * GObject *object gtk_object_expression_get_object GObject * GtkExpression *expression GTK_TYPE_CLOSURE_EXPRESSION #define GTK_TYPE_CLOSURE_EXPRESSION (gtk_closure_expression_get_type()) gtk_closure_expression_get_type GType void gtk_closure_expression_new GtkExpression * GType value_type, GClosure *closure, guint n_params, GtkExpression **params GTK_TYPE_CCLOSURE_EXPRESSION #define GTK_TYPE_CCLOSURE_EXPRESSION (gtk_cclosure_expression_get_type()) gtk_cclosure_expression_get_type GType void gtk_cclosure_expression_new GtkExpression * GType value_type, GClosureMarshal marshal, guint n_params, GtkExpression **params, GCallback callback_func, gpointer user_data, GClosureNotify user_destroy GTK_VALUE_HOLDS_EXPRESSION #define GTK_VALUE_HOLDS_EXPRESSION(value) (G_VALUE_HOLDS ((value), GTK_TYPE_EXPRESSION)) gtk_value_set_expression void GValue *value, GtkExpression *expression gtk_value_take_expression void GValue *value, GtkExpression *expression gtk_value_get_expression GtkExpression * const GValue *value gtk_value_dup_expression GtkExpression * const GValue *value GTK_TYPE_PARAM_SPEC_EXPRESSION #define GTK_TYPE_PARAM_SPEC_EXPRESSION (gtk_param_expression_get_type()) GTK_PARAM_SPEC_EXPRESSION #define GTK_PARAM_SPEC_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PARAM_SPEC_EXPRESSION, GtkParamSpecExpression)) GTK_IS_PARAM_SPEC_EXPRESSION #define GTK_IS_PARAM_SPEC_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PARAM_SPEC_EXPRESSION)) GtkParamSpecExpression typedef struct { /*< private >*/ GParamSpec parent_instance; } GtkParamSpecExpression; gtk_param_expression_get_type GType void gtk_param_spec_expression GParamSpec * const char *name, const char *nick, const char *blurb, GParamFlags flags GtkCClosureExpression GtkClosureExpression GtkConstantExpression GtkExpression GtkExpressionWatch GtkObjectExpression GtkPropertyExpression GTK_TYPE_FILE_CHOOSER #define GTK_TYPE_FILE_CHOOSER (gtk_file_chooser_get_type ()) GTK_FILE_CHOOSER #define GTK_FILE_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER, GtkFileChooser)) GTK_IS_FILE_CHOOSER #define GTK_IS_FILE_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER)) GtkFileChooserAction typedef enum { GTK_FILE_CHOOSER_ACTION_OPEN, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER } GtkFileChooserAction; gtk_file_chooser_get_type GType void GTK_FILE_CHOOSER_ERROR #define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ()) GtkFileChooserError typedef enum { GTK_FILE_CHOOSER_ERROR_NONEXISTENT, GTK_FILE_CHOOSER_ERROR_BAD_FILENAME, GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS, GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME } GtkFileChooserError; gtk_file_chooser_error_quark GQuark void gtk_file_chooser_set_action void GtkFileChooser *chooser, GtkFileChooserAction action gtk_file_chooser_get_action GtkFileChooserAction GtkFileChooser *chooser gtk_file_chooser_set_select_multiple void GtkFileChooser *chooser, gboolean select_multiple gtk_file_chooser_get_select_multiple gboolean GtkFileChooser *chooser gtk_file_chooser_set_create_folders void GtkFileChooser *chooser, gboolean create_folders gtk_file_chooser_get_create_folders gboolean GtkFileChooser *chooser gtk_file_chooser_set_current_name void GtkFileChooser *chooser, const char *name gtk_file_chooser_get_current_name char * GtkFileChooser *chooser gtk_file_chooser_get_file GFile * GtkFileChooser *chooser gtk_file_chooser_set_file gboolean GtkFileChooser *chooser, GFile *file, GError **error gtk_file_chooser_get_files GListModel * GtkFileChooser *chooser gtk_file_chooser_set_current_folder gboolean GtkFileChooser *chooser, GFile *file, GError **error gtk_file_chooser_get_current_folder GFile * GtkFileChooser *chooser gtk_file_chooser_add_filter void GtkFileChooser *chooser, GtkFileFilter *filter gtk_file_chooser_remove_filter void GtkFileChooser *chooser, GtkFileFilter *filter gtk_file_chooser_get_filters GListModel * GtkFileChooser *chooser gtk_file_chooser_set_filter void GtkFileChooser *chooser, GtkFileFilter *filter gtk_file_chooser_get_filter GtkFileFilter * GtkFileChooser *chooser gtk_file_chooser_add_shortcut_folder gboolean GtkFileChooser *chooser, GFile *folder, GError **error gtk_file_chooser_remove_shortcut_folder gboolean GtkFileChooser *chooser, GFile *folder, GError **error gtk_file_chooser_get_shortcut_folders GListModel * GtkFileChooser *chooser gtk_file_chooser_add_choice void GtkFileChooser *chooser, const char *id, const char *label, const char **options, const char **option_labels gtk_file_chooser_remove_choice void GtkFileChooser *chooser, const char *id gtk_file_chooser_set_choice void GtkFileChooser *chooser, const char *id, const char *option gtk_file_chooser_get_choice const char * GtkFileChooser *chooser, const char *id GtkFileChooser GTK_TYPE_FILE_CHOOSER_BUTTON #define GTK_TYPE_FILE_CHOOSER_BUTTON (gtk_file_chooser_button_get_type ()) GTK_FILE_CHOOSER_BUTTON #define GTK_FILE_CHOOSER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER_BUTTON, GtkFileChooserButton)) GTK_IS_FILE_CHOOSER_BUTTON #define GTK_IS_FILE_CHOOSER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER_BUTTON)) gtk_file_chooser_button_get_type GType void gtk_file_chooser_button_new GtkWidget * const char *title, GtkFileChooserAction action gtk_file_chooser_button_new_with_dialog GtkWidget * GtkWidget *dialog gtk_file_chooser_button_get_title const char * GtkFileChooserButton *button gtk_file_chooser_button_set_title void GtkFileChooserButton *button, const char *title gtk_file_chooser_button_get_width_chars int GtkFileChooserButton *button gtk_file_chooser_button_set_width_chars void GtkFileChooserButton *button, int n_chars gtk_file_chooser_button_get_modal gboolean GtkFileChooserButton *button gtk_file_chooser_button_set_modal void GtkFileChooserButton *button, gboolean modal GtkFileChooserButton GTK_TYPE_FILE_CHOOSER_DIALOG #define GTK_TYPE_FILE_CHOOSER_DIALOG (gtk_file_chooser_dialog_get_type ()) GTK_FILE_CHOOSER_DIALOG #define GTK_FILE_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER_DIALOG, GtkFileChooserDialog)) GTK_IS_FILE_CHOOSER_DIALOG #define GTK_IS_FILE_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER_DIALOG)) gtk_file_chooser_dialog_get_type GType void gtk_file_chooser_dialog_new GtkWidget * const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *first_button_text, ... GtkFileChooserDialog GTK_TYPE_FILE_CHOOSER_ENTRY #define GTK_TYPE_FILE_CHOOSER_ENTRY (_gtk_file_chooser_entry_get_type ()) GTK_FILE_CHOOSER_ENTRY #define GTK_FILE_CHOOSER_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER_ENTRY, GtkFileChooserEntry)) GTK_IS_FILE_CHOOSER_ENTRY #define GTK_IS_FILE_CHOOSER_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER_ENTRY)) GtkFileChooserEntry GTK_TYPE_FILE_CHOOSER_NATIVE #define GTK_TYPE_FILE_CHOOSER_NATIVE (gtk_file_chooser_native_get_type ()) gtk_file_chooser_native_new GtkFileChooserNative * const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *accept_label, const char *cancel_label gtk_file_chooser_native_get_accept_label const char * GtkFileChooserNative *self gtk_file_chooser_native_set_accept_label void GtkFileChooserNative *self, const char *accept_label gtk_file_chooser_native_get_cancel_label const char * GtkFileChooserNative *self gtk_file_chooser_native_set_cancel_label void GtkFileChooserNative *self, const char *cancel_label GtkFileChooserNative GTK_FILE_CHOOSER_DELEGATE_QUARK #define GTK_FILE_CHOOSER_DELEGATE_QUARK (_gtk_file_chooser_delegate_get_quark ()) GtkFileChooserProp typedef enum { GTK_FILE_CHOOSER_PROP_FIRST = 0x1000, GTK_FILE_CHOOSER_PROP_ACTION = GTK_FILE_CHOOSER_PROP_FIRST, GTK_FILE_CHOOSER_PROP_FILTER, GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE, GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS, GTK_FILE_CHOOSER_PROP_FILTERS, GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS, GTK_FILE_CHOOSER_PROP_LAST = GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS } GtkFileChooserProp; GTK_TYPE_FILE_CHOOSER_WIDGET #define GTK_TYPE_FILE_CHOOSER_WIDGET (gtk_file_chooser_widget_get_type ()) GTK_FILE_CHOOSER_WIDGET #define GTK_FILE_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER_WIDGET, GtkFileChooserWidget)) GTK_IS_FILE_CHOOSER_WIDGET #define GTK_IS_FILE_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER_WIDGET)) gtk_file_chooser_widget_get_type GType void gtk_file_chooser_widget_new GtkWidget * GtkFileChooserAction action GtkFileChooserWidget GTK_TYPE_FILE_FILTER #define GTK_TYPE_FILE_FILTER (gtk_file_filter_get_type ()) GTK_FILE_FILTER #define GTK_FILE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_FILTER, GtkFileFilter)) GTK_IS_FILE_FILTER #define GTK_IS_FILE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_FILTER)) gtk_file_filter_get_type GType void gtk_file_filter_new GtkFileFilter * void gtk_file_filter_set_name void GtkFileFilter *filter, const char *name gtk_file_filter_get_name const char * GtkFileFilter *filter gtk_file_filter_add_mime_type void GtkFileFilter *filter, const char *mime_type gtk_file_filter_add_pattern void GtkFileFilter *filter, const char *pattern gtk_file_filter_add_pixbuf_formats void GtkFileFilter *filter gtk_file_filter_get_attributes const char ** GtkFileFilter *filter gtk_file_filter_to_gvariant GVariant * GtkFileFilter *filter gtk_file_filter_new_from_gvariant GtkFileFilter * GVariant *variant GtkFileFilter GTK_TYPE_FILE_SYSTEM_MODEL #define GTK_TYPE_FILE_SYSTEM_MODEL (_gtk_file_system_model_get_type ()) GTK_FILE_SYSTEM_MODEL #define GTK_FILE_SYSTEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_SYSTEM_MODEL, GtkFileSystemModel)) GTK_IS_FILE_SYSTEM_MODEL #define GTK_IS_FILE_SYSTEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_SYSTEM_MODEL)) GtkFileSystemModelGetValue gboolean GtkFileSystemModel *model, GFile *file, GFileInfo *info, int column, GValue *value, gpointer user_data GtkFileSystemModel GtkFilterMatch typedef enum { GTK_FILTER_MATCH_SOME = 0, GTK_FILTER_MATCH_NONE, GTK_FILTER_MATCH_ALL } GtkFilterMatch; GtkFilterChange typedef enum { GTK_FILTER_CHANGE_DIFFERENT = 0, GTK_FILTER_CHANGE_LESS_STRICT, GTK_FILTER_CHANGE_MORE_STRICT, } GtkFilterChange; GTK_TYPE_FILTER #define GTK_TYPE_FILTER (gtk_filter_get_type ()) GtkFilterClass struct _GtkFilterClass { GObjectClass parent_class; gboolean (* match) (GtkFilter *self, gpointer item); /* optional */ GtkFilterMatch (* get_strictness) (GtkFilter *self); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; gtk_filter_match gboolean GtkFilter *self, gpointer item gtk_filter_get_strictness GtkFilterMatch GtkFilter *self gtk_filter_changed void GtkFilter *self, GtkFilterChange change GtkFilter GTK_TYPE_FILTER_LIST_MODEL #define GTK_TYPE_FILTER_LIST_MODEL (gtk_filter_list_model_get_type ()) gtk_filter_list_model_new GtkFilterListModel * GListModel *model, GtkFilter *filter gtk_filter_list_model_set_filter void GtkFilterListModel *self, GtkFilter *filter gtk_filter_list_model_get_filter GtkFilter * GtkFilterListModel *self gtk_filter_list_model_set_model void GtkFilterListModel *self, GListModel *model gtk_filter_list_model_get_model GListModel * GtkFilterListModel *self gtk_filter_list_model_set_incremental void GtkFilterListModel *self, gboolean incremental gtk_filter_list_model_get_incremental gboolean GtkFilterListModel *self gtk_filter_list_model_get_pending guint GtkFilterListModel *self GtkFilterListModel GTK_TYPE_FIXED #define GTK_TYPE_FIXED (gtk_fixed_get_type ()) GTK_FIXED #define GTK_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FIXED, GtkFixed)) GTK_FIXED_CLASS #define GTK_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FIXED, GtkFixedClass)) GTK_IS_FIXED #define GTK_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FIXED)) GTK_IS_FIXED_CLASS #define GTK_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FIXED)) GTK_FIXED_GET_CLASS #define GTK_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FIXED, GtkFixedClass)) GtkFixed struct _GtkFixed { GtkWidget parent_instance; }; GtkFixedClass struct _GtkFixedClass { GtkWidgetClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_fixed_get_type GType void gtk_fixed_new GtkWidget * void gtk_fixed_put void GtkFixed *fixed, GtkWidget *widget, double x, double y gtk_fixed_remove void GtkFixed *fixed, GtkWidget *widget gtk_fixed_move void GtkFixed *fixed, GtkWidget *widget, double x, double y gtk_fixed_get_child_position void GtkFixed *fixed, GtkWidget *widget, double *x, double *y gtk_fixed_set_child_transform void GtkFixed *fixed, GtkWidget *widget, GskTransform *transform gtk_fixed_get_child_transform GskTransform * GtkFixed *fixed, GtkWidget *widget GTK_TYPE_FIXED_LAYOUT #define GTK_TYPE_FIXED_LAYOUT (gtk_fixed_layout_get_type ()) GTK_TYPE_FIXED_LAYOUT_CHILD #define GTK_TYPE_FIXED_LAYOUT_CHILD (gtk_fixed_layout_child_get_type ()) gtk_fixed_layout_new GtkLayoutManager * void gtk_fixed_layout_child_set_transform void GtkFixedLayoutChild *child, GskTransform *transform gtk_fixed_layout_child_get_transform GskTransform * GtkFixedLayoutChild *child GtkFixedLayout GtkFixedLayoutChild GTK_TYPE_FLATTEN_LIST_MODEL #define GTK_TYPE_FLATTEN_LIST_MODEL (gtk_flatten_list_model_get_type ()) gtk_flatten_list_model_new GtkFlattenListModel * GListModel *model gtk_flatten_list_model_set_model void GtkFlattenListModel *self, GListModel *model gtk_flatten_list_model_get_model GListModel * GtkFlattenListModel *self gtk_flatten_list_model_get_model_for_item GListModel * GtkFlattenListModel *self, guint position GtkFlattenListModel GTK_TYPE_FLOW_BOX #define GTK_TYPE_FLOW_BOX (gtk_flow_box_get_type ()) GTK_FLOW_BOX #define GTK_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FLOW_BOX, GtkFlowBox)) GTK_IS_FLOW_BOX #define GTK_IS_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FLOW_BOX)) GTK_TYPE_FLOW_BOX_CHILD #define GTK_TYPE_FLOW_BOX_CHILD (gtk_flow_box_child_get_type ()) GTK_FLOW_BOX_CHILD #define GTK_FLOW_BOX_CHILD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChild)) GTK_FLOW_BOX_CHILD_CLASS #define GTK_FLOW_BOX_CHILD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChildClass)) GTK_IS_FLOW_BOX_CHILD #define GTK_IS_FLOW_BOX_CHILD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FLOW_BOX_CHILD)) GTK_IS_FLOW_BOX_CHILD_CLASS #define GTK_IS_FLOW_BOX_CHILD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FLOW_BOX_CHILD)) GTK_FLOW_BOX_CHILD_GET_CLASS #define GTK_FLOW_BOX_CHILD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EG_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChildClass)) GtkFlowBoxChild struct _GtkFlowBoxChild { GtkWidget parent_instance; }; GtkFlowBoxChildClass struct _GtkFlowBoxChildClass { GtkWidgetClass parent_class; void (* activate) (GtkFlowBoxChild *child); gpointer padding[8]; }; GtkFlowBoxCreateWidgetFunc GtkWidget * gpointer item, gpointer user_data gtk_flow_box_child_get_type GType void gtk_flow_box_child_new GtkWidget * void gtk_flow_box_child_set_child void GtkFlowBoxChild *self, GtkWidget *child gtk_flow_box_child_get_child GtkWidget * GtkFlowBoxChild *self gtk_flow_box_child_get_index int GtkFlowBoxChild *child gtk_flow_box_child_is_selected gboolean GtkFlowBoxChild *child gtk_flow_box_child_changed void GtkFlowBoxChild *child gtk_flow_box_get_type GType void gtk_flow_box_new GtkWidget * void gtk_flow_box_bind_model void GtkFlowBox *box, GListModel *model, GtkFlowBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func gtk_flow_box_set_homogeneous void GtkFlowBox *box, gboolean homogeneous gtk_flow_box_get_homogeneous gboolean GtkFlowBox *box gtk_flow_box_set_row_spacing void GtkFlowBox *box, guint spacing gtk_flow_box_get_row_spacing guint GtkFlowBox *box gtk_flow_box_set_column_spacing void GtkFlowBox *box, guint spacing gtk_flow_box_get_column_spacing guint GtkFlowBox *box gtk_flow_box_set_min_children_per_line void GtkFlowBox *box, guint n_children gtk_flow_box_get_min_children_per_line guint GtkFlowBox *box gtk_flow_box_set_max_children_per_line void GtkFlowBox *box, guint n_children gtk_flow_box_get_max_children_per_line guint GtkFlowBox *box gtk_flow_box_set_activate_on_single_click void GtkFlowBox *box, gboolean single gtk_flow_box_get_activate_on_single_click gboolean GtkFlowBox *box gtk_flow_box_insert void GtkFlowBox *box, GtkWidget *widget, int position gtk_flow_box_remove void GtkFlowBox *box, GtkWidget *widget gtk_flow_box_get_child_at_index GtkFlowBoxChild * GtkFlowBox *box, int idx gtk_flow_box_get_child_at_pos GtkFlowBoxChild * GtkFlowBox *box, int x, int y GtkFlowBoxForeachFunc void GtkFlowBox *box, GtkFlowBoxChild *child, gpointer user_data gtk_flow_box_selected_foreach void GtkFlowBox *box, GtkFlowBoxForeachFunc func, gpointer data gtk_flow_box_get_selected_children GList * GtkFlowBox *box gtk_flow_box_select_child void GtkFlowBox *box, GtkFlowBoxChild *child gtk_flow_box_unselect_child void GtkFlowBox *box, GtkFlowBoxChild *child gtk_flow_box_select_all void GtkFlowBox *box gtk_flow_box_unselect_all void GtkFlowBox *box gtk_flow_box_set_selection_mode void GtkFlowBox *box, GtkSelectionMode mode gtk_flow_box_get_selection_mode GtkSelectionMode GtkFlowBox *box gtk_flow_box_set_hadjustment void GtkFlowBox *box, GtkAdjustment *adjustment gtk_flow_box_set_vadjustment void GtkFlowBox *box, GtkAdjustment *adjustment GtkFlowBoxFilterFunc gboolean GtkFlowBoxChild *child, gpointer user_data gtk_flow_box_set_filter_func void GtkFlowBox *box, GtkFlowBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy gtk_flow_box_invalidate_filter void GtkFlowBox *box GtkFlowBoxSortFunc int GtkFlowBoxChild *child1, GtkFlowBoxChild *child2, gpointer user_data gtk_flow_box_set_sort_func void GtkFlowBox *box, GtkFlowBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy gtk_flow_box_invalidate_sort void GtkFlowBox *box GtkFlowBox gtk_flow_box_disable_move_cursor void GtkFlowBox *box GTK_TYPE_FONT_BUTTON #define GTK_TYPE_FONT_BUTTON (gtk_font_button_get_type ()) GTK_FONT_BUTTON #define GTK_FONT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_BUTTON, GtkFontButton)) GTK_IS_FONT_BUTTON #define GTK_IS_FONT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_BUTTON)) gtk_font_button_get_type GType void gtk_font_button_new GtkWidget * void gtk_font_button_new_with_font GtkWidget * const char *fontname gtk_font_button_get_title const char * GtkFontButton *font_button gtk_font_button_set_title void GtkFontButton *font_button, const char *title gtk_font_button_get_modal gboolean GtkFontButton *font_button gtk_font_button_set_modal void GtkFontButton *font_button, gboolean modal gtk_font_button_get_use_font gboolean GtkFontButton *font_button gtk_font_button_set_use_font void GtkFontButton *font_button, gboolean use_font gtk_font_button_get_use_size gboolean GtkFontButton *font_button gtk_font_button_set_use_size void GtkFontButton *font_button, gboolean use_size GtkFontButton GtkFontFilterFunc gboolean const PangoFontFamily *family, const PangoFontFace *face, gpointer data GtkFontChooserLevel typedef enum { GTK_FONT_CHOOSER_LEVEL_FAMILY = 0, GTK_FONT_CHOOSER_LEVEL_STYLE = 1 << 0, GTK_FONT_CHOOSER_LEVEL_SIZE = 1 << 1, GTK_FONT_CHOOSER_LEVEL_VARIATIONS = 1 << 2, GTK_FONT_CHOOSER_LEVEL_FEATURES = 1 << 3 } GtkFontChooserLevel; GTK_TYPE_FONT_CHOOSER #define GTK_TYPE_FONT_CHOOSER (gtk_font_chooser_get_type ()) GTK_FONT_CHOOSER #define GTK_FONT_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_CHOOSER, GtkFontChooser)) GTK_IS_FONT_CHOOSER #define GTK_IS_FONT_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_CHOOSER)) GTK_FONT_CHOOSER_GET_IFACE #define GTK_FONT_CHOOSER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_FONT_CHOOSER, GtkFontChooserIface)) GtkFontChooserIface struct _GtkFontChooserIface { GTypeInterface base_iface; /* Methods */ PangoFontFamily * (* get_font_family) (GtkFontChooser *fontchooser); PangoFontFace * (* get_font_face) (GtkFontChooser *fontchooser); int (* get_font_size) (GtkFontChooser *fontchooser); void (* set_filter_func) (GtkFontChooser *fontchooser, GtkFontFilterFunc filter, gpointer user_data, GDestroyNotify destroy); /* Signals */ void (* font_activated) (GtkFontChooser *chooser, const char *fontname); /* More methods */ void (* set_font_map) (GtkFontChooser *fontchooser, PangoFontMap *fontmap); PangoFontMap * (* get_font_map) (GtkFontChooser *fontchooser); /* Padding */ gpointer padding[10]; }; gtk_font_chooser_get_type GType void gtk_font_chooser_get_font_family PangoFontFamily * GtkFontChooser *fontchooser gtk_font_chooser_get_font_face PangoFontFace * GtkFontChooser *fontchooser gtk_font_chooser_get_font_size int GtkFontChooser *fontchooser gtk_font_chooser_get_font_desc PangoFontDescription * GtkFontChooser *fontchooser gtk_font_chooser_set_font_desc void GtkFontChooser *fontchooser, const PangoFontDescription *font_desc gtk_font_chooser_get_font char * GtkFontChooser *fontchooser gtk_font_chooser_set_font void GtkFontChooser *fontchooser, const char *fontname gtk_font_chooser_get_preview_text char * GtkFontChooser *fontchooser gtk_font_chooser_set_preview_text void GtkFontChooser *fontchooser, const char *text gtk_font_chooser_get_show_preview_entry gboolean GtkFontChooser *fontchooser gtk_font_chooser_set_show_preview_entry void GtkFontChooser *fontchooser, gboolean show_preview_entry gtk_font_chooser_set_filter_func void GtkFontChooser *fontchooser, GtkFontFilterFunc filter, gpointer user_data, GDestroyNotify destroy gtk_font_chooser_set_font_map void GtkFontChooser *fontchooser, PangoFontMap *fontmap gtk_font_chooser_get_font_map PangoFontMap * GtkFontChooser *fontchooser gtk_font_chooser_set_level void GtkFontChooser *fontchooser, GtkFontChooserLevel level gtk_font_chooser_get_level GtkFontChooserLevel GtkFontChooser *fontchooser gtk_font_chooser_get_font_features char * GtkFontChooser *fontchooser gtk_font_chooser_get_language char * GtkFontChooser *fontchooser gtk_font_chooser_set_language void GtkFontChooser *fontchooser, const char *language GtkFontChooser GTK_TYPE_FONT_CHOOSER_DIALOG #define GTK_TYPE_FONT_CHOOSER_DIALOG (gtk_font_chooser_dialog_get_type ()) GTK_FONT_CHOOSER_DIALOG #define GTK_FONT_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_CHOOSER_DIALOG, GtkFontChooserDialog)) GTK_IS_FONT_CHOOSER_DIALOG #define GTK_IS_FONT_CHOOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_CHOOSER_DIALOG)) gtk_font_chooser_dialog_get_type GType void gtk_font_chooser_dialog_new GtkWidget * const char *title, GtkWindow *parent GtkFontChooserDialog GTK_FONT_CHOOSER_DELEGATE_QUARK #define GTK_FONT_CHOOSER_DELEGATE_QUARK (_gtk_font_chooser_delegate_get_quark ()) GtkFontChooserProp typedef enum { GTK_FONT_CHOOSER_PROP_FIRST = 0x4000, GTK_FONT_CHOOSER_PROP_FONT, GTK_FONT_CHOOSER_PROP_FONT_DESC, GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT, GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY, GTK_FONT_CHOOSER_PROP_LEVEL, GTK_FONT_CHOOSER_PROP_FONT_FEATURES, GTK_FONT_CHOOSER_PROP_LANGUAGE, GTK_FONT_CHOOSER_PROP_LAST } GtkFontChooserProp; GTK_TYPE_FONT_CHOOSER_WIDGET #define GTK_TYPE_FONT_CHOOSER_WIDGET (gtk_font_chooser_widget_get_type ()) GTK_FONT_CHOOSER_WIDGET #define GTK_FONT_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_CHOOSER_WIDGET, GtkFontChooserWidget)) GTK_IS_FONT_CHOOSER_WIDGET #define GTK_IS_FONT_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_CHOOSER_WIDGET)) gtk_font_chooser_widget_get_type GType void gtk_font_chooser_widget_new GtkWidget * void GtkFontChooserWidget GTK_TYPE_FRAME #define GTK_TYPE_FRAME (gtk_frame_get_type ()) GTK_FRAME #define GTK_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FRAME, GtkFrame)) GTK_FRAME_CLASS #define GTK_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FRAME, GtkFrameClass)) GTK_IS_FRAME #define GTK_IS_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FRAME)) GTK_IS_FRAME_CLASS #define GTK_IS_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FRAME)) GTK_FRAME_GET_CLASS #define GTK_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FRAME, GtkFrameClass)) GtkFrame struct _GtkFrame { GtkWidget parent_instance; }; GtkFrameClass struct _GtkFrameClass { GtkWidgetClass parent_class; /*< public >*/ void (*compute_child_allocation) (GtkFrame *frame, GtkAllocation *allocation); /*< private >*/ gpointer padding[8]; }; gtk_frame_get_type GType void gtk_frame_new GtkWidget * const char *label gtk_frame_set_label void GtkFrame *frame, const char *label gtk_frame_get_label const char * GtkFrame *frame gtk_frame_set_label_widget void GtkFrame *frame, GtkWidget *label_widget gtk_frame_get_label_widget GtkWidget * GtkFrame *frame gtk_frame_set_label_align void GtkFrame *frame, float xalign gtk_frame_get_label_align float GtkFrame *frame gtk_frame_set_child void GtkFrame *frame, GtkWidget *child gtk_frame_get_child GtkWidget * GtkFrame *frame GTK_TYPE_GESTURE #define GTK_TYPE_GESTURE (gtk_gesture_get_type ()) GTK_GESTURE #define GTK_GESTURE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE, GtkGesture)) GTK_GESTURE_CLASS #define GTK_GESTURE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE, GtkGestureClass)) GTK_IS_GESTURE #define GTK_IS_GESTURE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE)) GTK_IS_GESTURE_CLASS #define GTK_IS_GESTURE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE)) GTK_GESTURE_GET_CLASS #define GTK_GESTURE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE, GtkGestureClass)) gtk_gesture_get_type GType void gtk_gesture_get_device GdkDevice * GtkGesture *gesture gtk_gesture_set_state gboolean GtkGesture *gesture, GtkEventSequenceState state gtk_gesture_get_sequence_state GtkEventSequenceState GtkGesture *gesture, GdkEventSequence *sequence gtk_gesture_set_sequence_state gboolean GtkGesture *gesture, GdkEventSequence *sequence, GtkEventSequenceState state gtk_gesture_get_sequences GList * GtkGesture *gesture gtk_gesture_get_last_updated_sequence GdkEventSequence * GtkGesture *gesture gtk_gesture_handles_sequence gboolean GtkGesture *gesture, GdkEventSequence *sequence gtk_gesture_get_last_event GdkEvent * GtkGesture *gesture, GdkEventSequence *sequence gtk_gesture_get_point gboolean GtkGesture *gesture, GdkEventSequence *sequence, double *x, double *y gtk_gesture_get_bounding_box gboolean GtkGesture *gesture, GdkRectangle *rect gtk_gesture_get_bounding_box_center gboolean GtkGesture *gesture, double *x, double *y gtk_gesture_is_active gboolean GtkGesture *gesture gtk_gesture_is_recognized gboolean GtkGesture *gesture gtk_gesture_group void GtkGesture *group_gesture, GtkGesture *gesture gtk_gesture_ungroup void GtkGesture *gesture gtk_gesture_get_group GList * GtkGesture *gesture gtk_gesture_is_grouped_with gboolean GtkGesture *gesture, GtkGesture *other GtkGestureClass GTK_TYPE_GESTURE_CLICK #define GTK_TYPE_GESTURE_CLICK (gtk_gesture_click_get_type ()) GTK_GESTURE_CLICK #define GTK_GESTURE_CLICK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_CLICK, GtkGestureClick)) GTK_GESTURE_CLICK_CLASS #define GTK_GESTURE_CLICK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_CLICK, GtkGestureClickClass)) GTK_IS_GESTURE_CLICK #define GTK_IS_GESTURE_CLICK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_CLICK)) GTK_IS_GESTURE_CLICK_CLASS #define GTK_IS_GESTURE_CLICK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_CLICK)) GTK_GESTURE_CLICK_GET_CLASS #define GTK_GESTURE_CLICK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_CLICK, GtkGestureClickClass)) gtk_gesture_click_get_type GType void gtk_gesture_click_new GtkGesture * void GtkGestureClick GtkGestureClickClass GtkGestureClick struct _GtkGestureClick { GtkGestureSingle parent_instance; }; GtkGestureClickClass struct _GtkGestureClickClass { GtkGestureSingleClass parent_class; void (* pressed) (GtkGestureClick *gesture, int n_press, double x, double y); void (* released) (GtkGestureClick *gesture, int n_press, double x, double y); void (* stopped) (GtkGestureClick *gesture); /**/ gpointer padding[10]; }; GTK_TYPE_GESTURE_DRAG #define GTK_TYPE_GESTURE_DRAG (gtk_gesture_drag_get_type ()) GTK_GESTURE_DRAG #define GTK_GESTURE_DRAG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_DRAG, GtkGestureDrag)) GTK_GESTURE_DRAG_CLASS #define GTK_GESTURE_DRAG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_DRAG, GtkGestureDragClass)) GTK_IS_GESTURE_DRAG #define GTK_IS_GESTURE_DRAG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_DRAG)) GTK_IS_GESTURE_DRAG_CLASS #define GTK_IS_GESTURE_DRAG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_DRAG)) GTK_GESTURE_DRAG_GET_CLASS #define GTK_GESTURE_DRAG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_DRAG, GtkGestureDragClass)) gtk_gesture_drag_get_type GType void gtk_gesture_drag_new GtkGesture * void gtk_gesture_drag_get_start_point gboolean GtkGestureDrag *gesture, double *x, double *y gtk_gesture_drag_get_offset gboolean GtkGestureDrag *gesture, double *x, double *y GtkGestureDrag GtkGestureDragClass GTK_TYPE_GESTURE_LONG_PRESS #define GTK_TYPE_GESTURE_LONG_PRESS (gtk_gesture_long_press_get_type ()) GTK_GESTURE_LONG_PRESS #define GTK_GESTURE_LONG_PRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_LONG_PRESS, GtkGestureLongPress)) GTK_GESTURE_LONG_PRESS_CLASS #define GTK_GESTURE_LONG_PRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_LONG_PRESS, GtkGestureLongPressClass)) GTK_IS_GESTURE_LONG_PRESS #define GTK_IS_GESTURE_LONG_PRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_LONG_PRESS)) GTK_IS_GESTURE_LONG_PRESS_CLASS #define GTK_IS_GESTURE_LONG_PRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_LONG_PRESS)) GTK_GESTURE_LONG_PRESS_GET_CLASS #define GTK_GESTURE_LONG_PRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_LONG_PRESS, GtkGestureLongPressClass)) gtk_gesture_long_press_get_type GType void gtk_gesture_long_press_new GtkGesture * void gtk_gesture_long_press_set_delay_factor void GtkGestureLongPress *gesture, double delay_factor gtk_gesture_long_press_get_delay_factor double GtkGestureLongPress *gesture GtkGestureLongPress GtkGestureLongPressClass GTK_TYPE_GESTURE_PAN #define GTK_TYPE_GESTURE_PAN (gtk_gesture_pan_get_type ()) GTK_GESTURE_PAN #define GTK_GESTURE_PAN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_PAN, GtkGesturePan)) GTK_GESTURE_PAN_CLASS #define GTK_GESTURE_PAN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_PAN, GtkGesturePanClass)) GTK_IS_GESTURE_PAN #define GTK_IS_GESTURE_PAN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_PAN)) GTK_IS_GESTURE_PAN_CLASS #define GTK_IS_GESTURE_PAN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_PAN)) GTK_GESTURE_PAN_GET_CLASS #define GTK_GESTURE_PAN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_PAN, GtkGesturePanClass)) gtk_gesture_pan_get_type GType void gtk_gesture_pan_new GtkGesture * GtkOrientation orientation gtk_gesture_pan_get_orientation GtkOrientation GtkGesturePan *gesture gtk_gesture_pan_set_orientation void GtkGesturePan *gesture, GtkOrientation orientation GtkGesturePan GtkGesturePanClass GTK_TYPE_GESTURE_ROTATE #define GTK_TYPE_GESTURE_ROTATE (gtk_gesture_rotate_get_type ()) GTK_GESTURE_ROTATE #define GTK_GESTURE_ROTATE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_ROTATE, GtkGestureRotate)) GTK_GESTURE_ROTATE_CLASS #define GTK_GESTURE_ROTATE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_ROTATE, GtkGestureRotateClass)) GTK_IS_GESTURE_ROTATE #define GTK_IS_GESTURE_ROTATE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_ROTATE)) GTK_IS_GESTURE_ROTATE_CLASS #define GTK_IS_GESTURE_ROTATE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_ROTATE)) GTK_GESTURE_ROTATE_GET_CLASS #define GTK_GESTURE_ROTATE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_ROTATE, GtkGestureRotateClass)) gtk_gesture_rotate_get_type GType void gtk_gesture_rotate_new GtkGesture * void gtk_gesture_rotate_get_angle_delta double GtkGestureRotate *gesture GtkGestureRotate GtkGestureRotateClass GTK_TYPE_GESTURE_SINGLE #define GTK_TYPE_GESTURE_SINGLE (gtk_gesture_single_get_type ()) GTK_GESTURE_SINGLE #define GTK_GESTURE_SINGLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_SINGLE, GtkGestureSingle)) GTK_GESTURE_SINGLE_CLASS #define GTK_GESTURE_SINGLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_SINGLE, GtkGestureSingleClass)) GTK_IS_GESTURE_SINGLE #define GTK_IS_GESTURE_SINGLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_SINGLE)) GTK_IS_GESTURE_SINGLE_CLASS #define GTK_IS_GESTURE_SINGLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_SINGLE)) GTK_GESTURE_SINGLE_GET_CLASS #define GTK_GESTURE_SINGLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_SINGLE, GtkGestureSingleClass)) gtk_gesture_single_get_type GType void gtk_gesture_single_get_touch_only gboolean GtkGestureSingle *gesture gtk_gesture_single_set_touch_only void GtkGestureSingle *gesture, gboolean touch_only gtk_gesture_single_get_exclusive gboolean GtkGestureSingle *gesture gtk_gesture_single_set_exclusive void GtkGestureSingle *gesture, gboolean exclusive gtk_gesture_single_get_button guint GtkGestureSingle *gesture gtk_gesture_single_set_button void GtkGestureSingle *gesture, guint button gtk_gesture_single_get_current_button guint GtkGestureSingle *gesture gtk_gesture_single_get_current_sequence GdkEventSequence * GtkGestureSingle *gesture GtkGestureSingle GtkGestureSingleClass GTK_TYPE_GESTURE_STYLUS #define GTK_TYPE_GESTURE_STYLUS (gtk_gesture_stylus_get_type ()) GTK_GESTURE_STYLUS #define GTK_GESTURE_STYLUS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_STYLUS, GtkGestureStylus)) GTK_GESTURE_STYLUS_CLASS #define GTK_GESTURE_STYLUS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_STYLUS, GtkGestureStylusClass)) GTK_IS_GESTURE_STYLUS #define GTK_IS_GESTURE_STYLUS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_STYLUS)) GTK_IS_GESTURE_STYLUS_CLASS #define GTK_IS_GESTURE_STYLUS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_STYLUS)) GTK_GESTURE_STYLUS_GET_CLASS #define GTK_GESTURE_STYLUS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_STYLUS, GtkGestureStylusClass)) gtk_gesture_stylus_get_type GType void gtk_gesture_stylus_new GtkGesture * void gtk_gesture_stylus_get_axis gboolean GtkGestureStylus *gesture, GdkAxisUse axis, double *value gtk_gesture_stylus_get_axes gboolean GtkGestureStylus *gesture, GdkAxisUse axes[], double **values gtk_gesture_stylus_get_backlog gboolean GtkGestureStylus *gesture, GdkTimeCoord **backlog, guint *n_elems gtk_gesture_stylus_get_device_tool GdkDeviceTool * GtkGestureStylus *gesture GtkGestureStylus GtkGestureStylusClass GTK_TYPE_GESTURE_SWIPE #define GTK_TYPE_GESTURE_SWIPE (gtk_gesture_swipe_get_type ()) GTK_GESTURE_SWIPE #define GTK_GESTURE_SWIPE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_SWIPE, GtkGestureSwipe)) GTK_GESTURE_SWIPE_CLASS #define GTK_GESTURE_SWIPE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_SWIPE, GtkGestureSwipeClass)) GTK_IS_GESTURE_SWIPE #define GTK_IS_GESTURE_SWIPE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_SWIPE)) GTK_IS_GESTURE_SWIPE_CLASS #define GTK_IS_GESTURE_SWIPE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_SWIPE)) GTK_GESTURE_SWIPE_GET_CLASS #define GTK_GESTURE_SWIPE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_SWIPE, GtkGestureSwipeClass)) gtk_gesture_swipe_get_type GType void gtk_gesture_swipe_new GtkGesture * void gtk_gesture_swipe_get_velocity gboolean GtkGestureSwipe *gesture, double *velocity_x, double *velocity_y GtkGestureSwipe GtkGestureSwipeClass GTK_TYPE_GESTURE_ZOOM #define GTK_TYPE_GESTURE_ZOOM (gtk_gesture_zoom_get_type ()) GTK_GESTURE_ZOOM #define GTK_GESTURE_ZOOM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GESTURE_ZOOM, GtkGestureZoom)) GTK_GESTURE_ZOOM_CLASS #define GTK_GESTURE_ZOOM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GESTURE_ZOOM, GtkGestureZoomClass)) GTK_IS_GESTURE_ZOOM #define GTK_IS_GESTURE_ZOOM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GESTURE_ZOOM)) GTK_IS_GESTURE_ZOOM_CLASS #define GTK_IS_GESTURE_ZOOM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GESTURE_ZOOM)) GTK_GESTURE_ZOOM_GET_CLASS #define GTK_GESTURE_ZOOM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GESTURE_ZOOM, GtkGestureZoomClass)) gtk_gesture_zoom_get_type GType void gtk_gesture_zoom_new GtkGesture * void gtk_gesture_zoom_get_scale_delta double GtkGestureZoom *gesture GtkGestureZoom GtkGestureZoomClass GTK_TYPE_GL_AREA #define GTK_TYPE_GL_AREA (gtk_gl_area_get_type ()) GTK_GL_AREA #define GTK_GL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_GL_AREA, GtkGLArea)) GTK_IS_GL_AREA #define GTK_IS_GL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_GL_AREA)) GTK_GL_AREA_CLASS #define GTK_GL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_GL_AREA, GtkGLAreaClass)) GTK_IS_GL_AREA_CLASS #define GTK_IS_GL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_GL_AREA)) GTK_GL_AREA_GET_CLASS #define GTK_GL_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_GL_AREA, GtkGLAreaClass)) GtkGLArea struct _GtkGLArea { /*< private >*/ GtkWidget parent_instance; }; GtkGLAreaClass struct _GtkGLAreaClass { /*< private >*/ GtkWidgetClass parent_class; /*< public >*/ gboolean (* render) (GtkGLArea *area, GdkGLContext *context); void (* resize) (GtkGLArea *area, int width, int height); GdkGLContext * (* create_context) (GtkGLArea *area); /*< private >*/ gpointer _padding[8]; }; gtk_gl_area_get_type GType void gtk_gl_area_new GtkWidget * void gtk_gl_area_set_use_es void GtkGLArea *area, gboolean use_es gtk_gl_area_get_use_es gboolean GtkGLArea *area gtk_gl_area_set_required_version void GtkGLArea *area, int major, int minor gtk_gl_area_get_required_version void GtkGLArea *area, int *major, int *minor gtk_gl_area_get_has_depth_buffer gboolean GtkGLArea *area gtk_gl_area_set_has_depth_buffer void GtkGLArea *area, gboolean has_depth_buffer gtk_gl_area_get_has_stencil_buffer gboolean GtkGLArea *area gtk_gl_area_set_has_stencil_buffer void GtkGLArea *area, gboolean has_stencil_buffer gtk_gl_area_get_auto_render gboolean GtkGLArea *area gtk_gl_area_set_auto_render void GtkGLArea *area, gboolean auto_render gtk_gl_area_queue_render void GtkGLArea *area gtk_gl_area_get_context GdkGLContext * GtkGLArea *area gtk_gl_area_make_current void GtkGLArea *area gtk_gl_area_attach_buffers void GtkGLArea *area gtk_gl_area_set_error void GtkGLArea *area, const GError *error gtk_gl_area_get_error GError * GtkGLArea *area GTK_TYPE_GRID #define GTK_TYPE_GRID (gtk_grid_get_type ()) GTK_GRID #define GTK_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_GRID, GtkGrid)) GTK_GRID_CLASS #define GTK_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_GRID, GtkGridClass)) GTK_IS_GRID #define GTK_IS_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_GRID)) GTK_IS_GRID_CLASS #define GTK_IS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_GRID)) GTK_GRID_GET_CLASS #define GTK_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_GRID, GtkGridClass)) GtkGrid struct _GtkGrid { /*< private >*/ GtkWidget parent_instance; }; GtkGridClass struct _GtkGridClass { GtkWidgetClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_grid_get_type GType void gtk_grid_new GtkWidget * void gtk_grid_attach void GtkGrid *grid, GtkWidget *child, int left, int top, int width, int height gtk_grid_attach_next_to void GtkGrid *grid, GtkWidget *child, GtkWidget *sibling, GtkPositionType side, int width, int height gtk_grid_get_child_at GtkWidget * GtkGrid *grid, int left, int top gtk_grid_remove void GtkGrid *grid, GtkWidget *child gtk_grid_insert_row void GtkGrid *grid, int position gtk_grid_insert_column void GtkGrid *grid, int position gtk_grid_remove_row void GtkGrid *grid, int position gtk_grid_remove_column void GtkGrid *grid, int position gtk_grid_insert_next_to void GtkGrid *grid, GtkWidget *sibling, GtkPositionType side gtk_grid_set_row_homogeneous void GtkGrid *grid, gboolean homogeneous gtk_grid_get_row_homogeneous gboolean GtkGrid *grid gtk_grid_set_row_spacing void GtkGrid *grid, guint spacing gtk_grid_get_row_spacing guint GtkGrid *grid gtk_grid_set_column_homogeneous void GtkGrid *grid, gboolean homogeneous gtk_grid_get_column_homogeneous gboolean GtkGrid *grid gtk_grid_set_column_spacing void GtkGrid *grid, guint spacing gtk_grid_get_column_spacing guint GtkGrid *grid gtk_grid_set_row_baseline_position void GtkGrid *grid, int row, GtkBaselinePosition pos gtk_grid_get_row_baseline_position GtkBaselinePosition GtkGrid *grid, int row gtk_grid_set_baseline_row void GtkGrid *grid, int row gtk_grid_get_baseline_row int GtkGrid *grid gtk_grid_query_child void GtkGrid *grid, GtkWidget *child, int *left, int *top, int *width, int *height GTK_TYPE_GRID_LAYOUT #define GTK_TYPE_GRID_LAYOUT (gtk_grid_layout_get_type ()) GTK_TYPE_GRID_LAYOUT_CHILD #define GTK_TYPE_GRID_LAYOUT_CHILD (gtk_grid_layout_child_get_type ()) gtk_grid_layout_new GtkLayoutManager * void gtk_grid_layout_set_row_homogeneous void GtkGridLayout *grid, gboolean homogeneous gtk_grid_layout_get_row_homogeneous gboolean GtkGridLayout *grid gtk_grid_layout_set_row_spacing void GtkGridLayout *grid, guint spacing gtk_grid_layout_get_row_spacing guint GtkGridLayout *grid gtk_grid_layout_set_column_homogeneous void GtkGridLayout *grid, gboolean homogeneous gtk_grid_layout_get_column_homogeneous gboolean GtkGridLayout *grid gtk_grid_layout_set_column_spacing void GtkGridLayout *grid, guint spacing gtk_grid_layout_get_column_spacing guint GtkGridLayout *grid gtk_grid_layout_set_row_baseline_position void GtkGridLayout *grid, int row, GtkBaselinePosition pos gtk_grid_layout_get_row_baseline_position GtkBaselinePosition GtkGridLayout *grid, int row gtk_grid_layout_set_baseline_row void GtkGridLayout *grid, int row gtk_grid_layout_get_baseline_row int GtkGridLayout *grid gtk_grid_layout_child_set_top_attach void GtkGridLayoutChild *child, int attach gtk_grid_layout_child_get_top_attach int GtkGridLayoutChild *child gtk_grid_layout_child_set_left_attach void GtkGridLayoutChild *child, int attach gtk_grid_layout_child_get_left_attach int GtkGridLayoutChild *child gtk_grid_layout_child_set_column_span void GtkGridLayoutChild *child, int span gtk_grid_layout_child_get_column_span int GtkGridLayoutChild *child gtk_grid_layout_child_set_row_span void GtkGridLayoutChild *child, int span gtk_grid_layout_child_get_row_span int GtkGridLayoutChild *child GtkGridLayout GtkGridLayoutChild GTK_TYPE_GRID_VIEW #define GTK_TYPE_GRID_VIEW (gtk_grid_view_get_type ()) GTK_GRID_VIEW #define GTK_GRID_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_GRID_VIEW, GtkGridView)) GTK_GRID_VIEW_CLASS #define GTK_GRID_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_GRID_VIEW, GtkGridViewClass)) GTK_IS_GRID_VIEW #define GTK_IS_GRID_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_GRID_VIEW)) GTK_IS_GRID_VIEW_CLASS #define GTK_IS_GRID_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_GRID_VIEW)) GTK_GRID_VIEW_GET_CLASS #define GTK_GRID_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_GRID_VIEW, GtkGridViewClass)) gtk_grid_view_get_type GType void gtk_grid_view_new GtkWidget * GListModel *model gtk_grid_view_new_with_factory GtkWidget * GListModel *model, GtkListItemFactory *factory gtk_grid_view_get_model GListModel * GtkGridView *self gtk_grid_view_set_model void GtkGridView *self, GListModel *model gtk_grid_view_set_factory void GtkGridView *self, GtkListItemFactory *factory gtk_grid_view_get_factory GtkListItemFactory * GtkGridView *self gtk_grid_view_get_min_columns guint GtkGridView *self gtk_grid_view_set_min_columns void GtkGridView *self, guint min_columns gtk_grid_view_get_max_columns guint GtkGridView *self gtk_grid_view_set_max_columns void GtkGridView *self, guint max_columns gtk_grid_view_set_enable_rubberband void GtkGridView *self, gboolean enable_rubberband gtk_grid_view_get_enable_rubberband gboolean GtkGridView *self gtk_grid_view_set_single_click_activate void GtkGridView *self, gboolean single_click_activate gtk_grid_view_get_single_click_activate gboolean GtkGridView *self GtkGridView GtkGridViewClass GTK_TYPE_HEADER_BAR #define GTK_TYPE_HEADER_BAR (gtk_header_bar_get_type ()) GTK_HEADER_BAR #define GTK_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_HEADER_BAR, GtkHeaderBar)) GTK_IS_HEADER_BAR #define GTK_IS_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_HEADER_BAR)) gtk_header_bar_get_type GType void gtk_header_bar_new GtkWidget * void gtk_header_bar_set_title_widget void GtkHeaderBar *bar, GtkWidget *title_widget gtk_header_bar_get_title_widget GtkWidget * GtkHeaderBar *bar gtk_header_bar_pack_start void GtkHeaderBar *bar, GtkWidget *child gtk_header_bar_pack_end void GtkHeaderBar *bar, GtkWidget *child gtk_header_bar_remove void GtkHeaderBar *bar, GtkWidget *child gtk_header_bar_get_show_title_buttons gboolean GtkHeaderBar *bar gtk_header_bar_set_show_title_buttons void GtkHeaderBar *bar, gboolean setting gtk_header_bar_set_decoration_layout void GtkHeaderBar *bar, const char *layout gtk_header_bar_get_decoration_layout const char * GtkHeaderBar *bar GtkHeaderBar GTK_TYPE_ICON_PAINTABLE #define GTK_TYPE_ICON_PAINTABLE (gtk_icon_paintable_get_type ()) GTK_ICON_PAINTABLE #define GTK_ICON_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_PAINTABLE, GtkIconPaintable)) GTK_IS_ICON_PAINTABLE #define GTK_IS_ICON_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_PAINTABLE)) GTK_TYPE_ICON_THEME #define GTK_TYPE_ICON_THEME (gtk_icon_theme_get_type ()) GTK_ICON_THEME #define GTK_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_THEME, GtkIconTheme)) GTK_IS_ICON_THEME #define GTK_IS_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_THEME)) GtkIconLookupFlags typedef enum { GTK_ICON_LOOKUP_FORCE_REGULAR = 1 << 0, GTK_ICON_LOOKUP_FORCE_SYMBOLIC = 1 << 1, GTK_ICON_LOOKUP_PRELOAD = 1 << 2, } GtkIconLookupFlags; GTK_ICON_THEME_ERROR #define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark () GtkIconThemeError typedef enum { GTK_ICON_THEME_NOT_FOUND, GTK_ICON_THEME_FAILED } GtkIconThemeError; gtk_icon_theme_error_quark GQuark void gtk_icon_theme_get_type GType void gtk_icon_theme_new GtkIconTheme * void gtk_icon_theme_get_for_display GtkIconTheme * GdkDisplay *display gtk_icon_theme_set_search_path void GtkIconTheme *self, const char * const *path gtk_icon_theme_get_search_path char ** GtkIconTheme *self gtk_icon_theme_add_search_path void GtkIconTheme *self, const char *path gtk_icon_theme_set_resource_path void GtkIconTheme *self, const char * const *path gtk_icon_theme_get_resource_path char ** GtkIconTheme *self gtk_icon_theme_add_resource_path void GtkIconTheme *self, const char *path gtk_icon_theme_set_theme_name void GtkIconTheme *self, const char *theme_name gtk_icon_theme_get_theme_name char * GtkIconTheme *self gtk_icon_theme_has_icon gboolean GtkIconTheme *self, const char *icon_name gtk_icon_theme_get_icon_sizes int * GtkIconTheme *self, const char *icon_name gtk_icon_theme_lookup_icon GtkIconPaintable * GtkIconTheme *self, const char *icon_name, const char *fallbacks[], int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags gtk_icon_theme_lookup_by_gicon GtkIconPaintable * GtkIconTheme *self, GIcon *icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags gtk_icon_paintable_new_for_file GtkIconPaintable * GFile *file, int size, int scale gtk_icon_theme_get_icon_names char ** GtkIconTheme *self gtk_icon_paintable_get_type GType void gtk_icon_paintable_get_file GFile * GtkIconPaintable *self gtk_icon_paintable_get_icon_name const char * GtkIconPaintable *self gtk_icon_paintable_is_symbolic gboolean GtkIconPaintable *self GtkIconPaintable GtkIconTheme GTK_TYPE_ICON_VIEW #define GTK_TYPE_ICON_VIEW (gtk_icon_view_get_type ()) GTK_ICON_VIEW #define GTK_ICON_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_VIEW, GtkIconView)) GTK_IS_ICON_VIEW #define GTK_IS_ICON_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_VIEW)) GtkIconViewForeachFunc void GtkIconView *icon_view, GtkTreePath *path, gpointer data GtkIconViewDropPosition typedef enum { GTK_ICON_VIEW_NO_DROP, GTK_ICON_VIEW_DROP_INTO, GTK_ICON_VIEW_DROP_LEFT, GTK_ICON_VIEW_DROP_RIGHT, GTK_ICON_VIEW_DROP_ABOVE, GTK_ICON_VIEW_DROP_BELOW } GtkIconViewDropPosition; gtk_icon_view_get_type GType void gtk_icon_view_new GtkWidget * void gtk_icon_view_new_with_area GtkWidget * GtkCellArea *area gtk_icon_view_new_with_model GtkWidget * GtkTreeModel *model gtk_icon_view_set_model void GtkIconView *icon_view, GtkTreeModel *model gtk_icon_view_get_model GtkTreeModel * GtkIconView *icon_view gtk_icon_view_set_text_column void GtkIconView *icon_view, int column gtk_icon_view_get_text_column int GtkIconView *icon_view gtk_icon_view_set_markup_column void GtkIconView *icon_view, int column gtk_icon_view_get_markup_column int GtkIconView *icon_view gtk_icon_view_set_pixbuf_column void GtkIconView *icon_view, int column gtk_icon_view_get_pixbuf_column int GtkIconView *icon_view gtk_icon_view_set_item_orientation void GtkIconView *icon_view, GtkOrientation orientation gtk_icon_view_get_item_orientation GtkOrientation GtkIconView *icon_view gtk_icon_view_set_columns void GtkIconView *icon_view, int columns gtk_icon_view_get_columns int GtkIconView *icon_view gtk_icon_view_set_item_width void GtkIconView *icon_view, int item_width gtk_icon_view_get_item_width int GtkIconView *icon_view gtk_icon_view_set_spacing void GtkIconView *icon_view, int spacing gtk_icon_view_get_spacing int GtkIconView *icon_view gtk_icon_view_set_row_spacing void GtkIconView *icon_view, int row_spacing gtk_icon_view_get_row_spacing int GtkIconView *icon_view gtk_icon_view_set_column_spacing void GtkIconView *icon_view, int column_spacing gtk_icon_view_get_column_spacing int GtkIconView *icon_view gtk_icon_view_set_margin void GtkIconView *icon_view, int margin gtk_icon_view_get_margin int GtkIconView *icon_view gtk_icon_view_set_item_padding void GtkIconView *icon_view, int item_padding gtk_icon_view_get_item_padding int GtkIconView *icon_view gtk_icon_view_get_path_at_pos GtkTreePath * GtkIconView *icon_view, int x, int y gtk_icon_view_get_item_at_pos gboolean GtkIconView *icon_view, int x, int y, GtkTreePath **path, GtkCellRenderer **cell gtk_icon_view_get_visible_range gboolean GtkIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path gtk_icon_view_set_activate_on_single_click void GtkIconView *icon_view, gboolean single gtk_icon_view_get_activate_on_single_click gboolean GtkIconView *icon_view gtk_icon_view_selected_foreach void GtkIconView *icon_view, GtkIconViewForeachFunc func, gpointer data gtk_icon_view_set_selection_mode void GtkIconView *icon_view, GtkSelectionMode mode gtk_icon_view_get_selection_mode GtkSelectionMode GtkIconView *icon_view gtk_icon_view_select_path void GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_unselect_path void GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_path_is_selected gboolean GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_get_item_row int GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_get_item_column int GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_get_selected_items GList * GtkIconView *icon_view gtk_icon_view_select_all void GtkIconView *icon_view gtk_icon_view_unselect_all void GtkIconView *icon_view gtk_icon_view_item_activated void GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_set_cursor void GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing gtk_icon_view_get_cursor gboolean GtkIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell gtk_icon_view_scroll_to_path void GtkIconView *icon_view, GtkTreePath *path, gboolean use_align, float row_align, float col_align gtk_icon_view_enable_model_drag_source void GtkIconView *icon_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions gtk_icon_view_enable_model_drag_dest void GtkIconView *icon_view, GdkContentFormats *formats, GdkDragAction actions gtk_icon_view_unset_model_drag_source void GtkIconView *icon_view gtk_icon_view_unset_model_drag_dest void GtkIconView *icon_view gtk_icon_view_set_reorderable void GtkIconView *icon_view, gboolean reorderable gtk_icon_view_get_reorderable gboolean GtkIconView *icon_view gtk_icon_view_set_drag_dest_item void GtkIconView *icon_view, GtkTreePath *path, GtkIconViewDropPosition pos gtk_icon_view_get_drag_dest_item void GtkIconView *icon_view, GtkTreePath **path, GtkIconViewDropPosition *pos gtk_icon_view_get_dest_item_at_pos gboolean GtkIconView *icon_view, int drag_x, int drag_y, GtkTreePath **path, GtkIconViewDropPosition *pos gtk_icon_view_create_drag_icon GdkPaintable * GtkIconView *icon_view, GtkTreePath *path gtk_icon_view_get_cell_rect gboolean GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, GdkRectangle *rect gtk_icon_view_set_tooltip_item void GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path gtk_icon_view_set_tooltip_cell void GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path, GtkCellRenderer *cell gtk_icon_view_get_tooltip_context gboolean GtkIconView *icon_view, int *x, int *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter gtk_icon_view_set_tooltip_column void GtkIconView *icon_view, int column gtk_icon_view_get_tooltip_column int GtkIconView *icon_view GtkIconView GTK_TYPE_IMAGE #define GTK_TYPE_IMAGE (gtk_image_get_type ()) GTK_IMAGE #define GTK_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IMAGE, GtkImage)) GTK_IS_IMAGE #define GTK_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IMAGE)) GtkImageType typedef enum { GTK_IMAGE_EMPTY, GTK_IMAGE_ICON_NAME, GTK_IMAGE_GICON, GTK_IMAGE_PAINTABLE } GtkImageType; gtk_image_get_type GType void gtk_image_new GtkWidget * void gtk_image_new_from_file GtkWidget * const char *filename gtk_image_new_from_resource GtkWidget * const char *resource_path gtk_image_new_from_pixbuf GtkWidget * GdkPixbuf *pixbuf gtk_image_new_from_paintable GtkWidget * GdkPaintable *paintable gtk_image_new_from_icon_name GtkWidget * const char *icon_name gtk_image_new_from_gicon GtkWidget * GIcon *icon gtk_image_clear void GtkImage *image gtk_image_set_from_file void GtkImage *image, const char *filename gtk_image_set_from_resource void GtkImage *image, const char *resource_path gtk_image_set_from_pixbuf void GtkImage *image, GdkPixbuf *pixbuf gtk_image_set_from_paintable void GtkImage *image, GdkPaintable *paintable gtk_image_set_from_icon_name void GtkImage *image, const char *icon_name gtk_image_set_from_gicon void GtkImage *image, GIcon *icon gtk_image_set_pixel_size void GtkImage *image, int pixel_size gtk_image_set_icon_size void GtkImage *image, GtkIconSize icon_size gtk_image_get_storage_type GtkImageType GtkImage *image gtk_image_get_paintable GdkPaintable * GtkImage *image gtk_image_get_icon_name const char * GtkImage *image gtk_image_get_gicon GIcon * GtkImage *image gtk_image_get_pixel_size int GtkImage *image gtk_image_get_icon_size GtkIconSize GtkImage *image GtkImage GTK_TYPE_IM_CONTEXT #define GTK_TYPE_IM_CONTEXT (gtk_im_context_get_type ()) GTK_IM_CONTEXT #define GTK_IM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContext)) GTK_IM_CONTEXT_CLASS #define GTK_IM_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) GTK_IS_IM_CONTEXT #define GTK_IS_IM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT)) GTK_IS_IM_CONTEXT_CLASS #define GTK_IS_IM_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT)) GTK_IM_CONTEXT_GET_CLASS #define GTK_IM_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) GtkIMContext struct _GtkIMContext { GObject parent_instance; }; GtkIMContextClass struct _GtkIMContextClass { /*< private >*/ GObjectClass parent_class; /*< public >*/ /* Signals */ void (*preedit_start) (GtkIMContext *context); void (*preedit_end) (GtkIMContext *context); void (*preedit_changed) (GtkIMContext *context); void (*commit) (GtkIMContext *context, const char *str); gboolean (*retrieve_surrounding) (GtkIMContext *context); gboolean (*delete_surrounding) (GtkIMContext *context, int offset, int n_chars); /* Virtual functions */ void (*set_client_widget) (GtkIMContext *context, GtkWidget *widget); void (*get_preedit_string) (GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos); gboolean (*filter_keypress) (GtkIMContext *context, GdkEvent *event); void (*focus_in) (GtkIMContext *context); void (*focus_out) (GtkIMContext *context); void (*reset) (GtkIMContext *context); void (*set_cursor_location) (GtkIMContext *context, GdkRectangle *area); void (*set_use_preedit) (GtkIMContext *context, gboolean use_preedit); void (*set_surrounding) (GtkIMContext *context, const char *text, int len, int cursor_index); gboolean (*get_surrounding) (GtkIMContext *context, char **text, int *cursor_index); /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); }; gtk_im_context_get_type GType void gtk_im_context_set_client_widget void GtkIMContext *context, GtkWidget *widget gtk_im_context_get_preedit_string void GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos gtk_im_context_filter_keypress gboolean GtkIMContext *context, GdkEvent *event gtk_im_context_filter_key gboolean GtkIMContext *context, gboolean press, GdkSurface *surface, GdkDevice *device, guint32 time, guint keycode, GdkModifierType state, int group gtk_im_context_focus_in void GtkIMContext *context gtk_im_context_focus_out void GtkIMContext *context gtk_im_context_reset void GtkIMContext *context gtk_im_context_set_cursor_location void GtkIMContext *context, const GdkRectangle *area gtk_im_context_set_use_preedit void GtkIMContext *context, gboolean use_preedit gtk_im_context_set_surrounding void GtkIMContext *context, const char *text, int len, int cursor_index gtk_im_context_get_surrounding gboolean GtkIMContext *context, char **text, int *cursor_index gtk_im_context_delete_surrounding gboolean GtkIMContext *context, int offset, int n_chars gtk_im_context_broadway_get_type GType void GTK_TYPE_IM_CONTEXT_IME #define GTK_TYPE_IM_CONTEXT_IME (gtk_im_context_ime_get_type ()) GTK_IM_CONTEXT_IME #define GTK_IM_CONTEXT_IME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT_IME, GtkIMContextIME)) GTK_IM_CONTEXT_IME_CLASS #define GTK_IM_CONTEXT_IME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT_IME, GtkIMContextIMEClass)) GTK_IS_IM_CONTEXT_IME #define GTK_IS_IM_CONTEXT_IME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT_IME)) GTK_IS_IM_CONTEXT_IME_CLASS #define GTK_IS_IM_CONTEXT_IME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT_IME)) GTK_IM_CONTEXT_IME_GET_CLASS #define GTK_IM_CONTEXT_IME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT_IME, GtkIMContextIMEClass)) GtkIMContextIME struct _GtkIMContextIME { GtkIMContext object; GdkSurface *client_surface; guint use_preedit : 1; guint preediting : 1; guint opened : 1; guint focus : 1; GdkRectangle cursor_location; char *commit_string; GtkIMContextIMEPrivate *priv; }; GtkIMContextIMEClass struct _GtkIMContextIMEClass { GtkIMContextClass parent_class; }; gtk_im_context_ime_get_type GType void gtk_im_context_ime_register_type void GTypeModule * type_module gtk_im_context_ime_new GtkIMContext * void GtkIMContextIMEPrivate gtk_im_context_quartz_get_type GType void GTK_MAX_COMPOSE_LEN #define GTK_MAX_COMPOSE_LEN 7 GTK_TYPE_IM_CONTEXT_SIMPLE #define GTK_TYPE_IM_CONTEXT_SIMPLE (gtk_im_context_simple_get_type ()) GTK_IM_CONTEXT_SIMPLE #define GTK_IM_CONTEXT_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT_SIMPLE, GtkIMContextSimple)) GTK_IM_CONTEXT_SIMPLE_CLASS #define GTK_IM_CONTEXT_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT_SIMPLE, GtkIMContextSimpleClass)) GTK_IS_IM_CONTEXT_SIMPLE #define GTK_IS_IM_CONTEXT_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT_SIMPLE)) GTK_IS_IM_CONTEXT_SIMPLE_CLASS #define GTK_IS_IM_CONTEXT_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT_SIMPLE)) GTK_IM_CONTEXT_SIMPLE_GET_CLASS #define GTK_IM_CONTEXT_SIMPLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT_SIMPLE, GtkIMContextSimpleClass)) GtkIMContextSimple struct _GtkIMContextSimple { GtkIMContext object; /*< private >*/ GtkIMContextSimplePrivate *priv; }; GtkIMContextSimpleClass struct _GtkIMContextSimpleClass { GtkIMContextClass parent_class; }; gtk_im_context_simple_get_type GType void gtk_im_context_simple_new GtkIMContext * void gtk_im_context_simple_add_table void GtkIMContextSimple *context_simple, guint16 *data, int max_seq_len, int n_seqs gtk_im_context_simple_add_compose_file void GtkIMContextSimple *context_simple, const char *compose_file GtkIMContextSimplePrivate gtk_im_context_wayland_get_type GType void gtk_im_modules_init void void GTK_IM_MODULE_EXTENSION_POINT_NAME #define GTK_IM_MODULE_EXTENSION_POINT_NAME "gtk-im-module" GTK_TYPE_IM_MULTICONTEXT #define GTK_TYPE_IM_MULTICONTEXT (gtk_im_multicontext_get_type ()) GTK_IM_MULTICONTEXT #define GTK_IM_MULTICONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_MULTICONTEXT, GtkIMMulticontext)) GTK_IM_MULTICONTEXT_CLASS #define GTK_IM_MULTICONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_MULTICONTEXT, GtkIMMulticontextClass)) GTK_IS_IM_MULTICONTEXT #define GTK_IS_IM_MULTICONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_MULTICONTEXT)) GTK_IS_IM_MULTICONTEXT_CLASS #define GTK_IS_IM_MULTICONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_MULTICONTEXT)) GTK_IM_MULTICONTEXT_GET_CLASS #define GTK_IM_MULTICONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_MULTICONTEXT, GtkIMMulticontextClass)) GtkIMMulticontext struct _GtkIMMulticontext { GtkIMContext object; /*< private >*/ GtkIMMulticontextPrivate *priv; }; GtkIMMulticontextClass struct _GtkIMMulticontextClass { GtkIMContextClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_im_multicontext_get_type GType void gtk_im_multicontext_new GtkIMContext * void gtk_im_multicontext_get_context_id const char * GtkIMMulticontext *context gtk_im_multicontext_set_context_id void GtkIMMulticontext *context, const char *context_id GtkIMMulticontextPrivate GTK_TYPE_INFO_BAR #define GTK_TYPE_INFO_BAR (gtk_info_bar_get_type()) GTK_INFO_BAR #define GTK_INFO_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INFO_BAR, GtkInfoBar)) GTK_IS_INFO_BAR #define GTK_IS_INFO_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INFO_BAR)) gtk_info_bar_get_type GType void gtk_info_bar_new GtkWidget * void gtk_info_bar_new_with_buttons GtkWidget * const char *first_button_text, ... gtk_info_bar_add_action_widget void GtkInfoBar *info_bar, GtkWidget *child, int response_id gtk_info_bar_remove_action_widget void GtkInfoBar *info_bar, GtkWidget *widget gtk_info_bar_add_button GtkWidget * GtkInfoBar *info_bar, const char *button_text, int response_id gtk_info_bar_add_buttons void GtkInfoBar *info_bar, const char *first_button_text, ... gtk_info_bar_add_child void GtkInfoBar *info_bar, GtkWidget *widget gtk_info_bar_remove_child void GtkInfoBar *info_bar, GtkWidget *widget gtk_info_bar_set_response_sensitive void GtkInfoBar *info_bar, int response_id, gboolean setting gtk_info_bar_set_default_response void GtkInfoBar *info_bar, int response_id gtk_info_bar_response void GtkInfoBar *info_bar, int response_id gtk_info_bar_set_message_type void GtkInfoBar *info_bar, GtkMessageType message_type gtk_info_bar_get_message_type GtkMessageType GtkInfoBar *info_bar gtk_info_bar_set_show_close_button void GtkInfoBar *info_bar, gboolean setting gtk_info_bar_get_show_close_button gboolean GtkInfoBar *info_bar gtk_info_bar_set_revealed void GtkInfoBar *info_bar, gboolean revealed gtk_info_bar_get_revealed gboolean GtkInfoBar *info_bar GtkInfoBar P_ #define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties",String) I_ #define I_(string) g_intern_static_string (string) istring_is_inline gboolean const IString *str istring_str char * IString *str istring_clear void IString *str istring_set void IString *str, const char *text, guint n_bytes, guint n_chars istring_empty gboolean IString *str istring_ends_with_space gboolean IString *str istring_starts_with_space gboolean IString *str istring_contains_unichar gboolean IString *str, gunichar ch istring_only_contains_space gboolean IString *str istring_contains_space gboolean IString *str istring_prepend void IString *str, IString *other istring_append void IString *str, IString *other GTK_TYPE_LABEL #define GTK_TYPE_LABEL (gtk_label_get_type ()) GTK_LABEL #define GTK_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LABEL, GtkLabel)) GTK_IS_LABEL #define GTK_IS_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LABEL)) gtk_label_get_type GType void gtk_label_new GtkWidget * const char *str gtk_label_new_with_mnemonic GtkWidget * const char *str gtk_label_set_text void GtkLabel *self, const char *str gtk_label_get_text const char * GtkLabel *self gtk_label_set_attributes void GtkLabel *self, PangoAttrList *attrs gtk_label_get_attributes PangoAttrList * GtkLabel *self gtk_label_set_label void GtkLabel *self, const char *str gtk_label_get_label const char * GtkLabel *self gtk_label_set_markup void GtkLabel *self, const char *str gtk_label_set_use_markup void GtkLabel *self, gboolean setting gtk_label_get_use_markup gboolean GtkLabel *self gtk_label_set_use_underline void GtkLabel *self, gboolean setting gtk_label_get_use_underline gboolean GtkLabel *self gtk_label_set_markup_with_mnemonic void GtkLabel *self, const char *str gtk_label_get_mnemonic_keyval guint GtkLabel *self gtk_label_set_mnemonic_widget void GtkLabel *self, GtkWidget *widget gtk_label_get_mnemonic_widget GtkWidget * GtkLabel *self gtk_label_set_text_with_mnemonic void GtkLabel *self, const char *str gtk_label_set_justify void GtkLabel *self, GtkJustification jtype gtk_label_get_justify GtkJustification GtkLabel *self gtk_label_set_ellipsize void GtkLabel *self, PangoEllipsizeMode mode gtk_label_get_ellipsize PangoEllipsizeMode GtkLabel *self gtk_label_set_width_chars void GtkLabel *self, int n_chars gtk_label_get_width_chars int GtkLabel *self gtk_label_set_max_width_chars void GtkLabel *self, int n_chars gtk_label_get_max_width_chars int GtkLabel *self gtk_label_set_lines void GtkLabel *self, int lines gtk_label_get_lines int GtkLabel *self gtk_label_set_wrap void GtkLabel *self, gboolean wrap gtk_label_get_wrap gboolean GtkLabel *self gtk_label_set_wrap_mode void GtkLabel *self, PangoWrapMode wrap_mode gtk_label_get_wrap_mode PangoWrapMode GtkLabel *self gtk_label_set_selectable void GtkLabel *self, gboolean setting gtk_label_get_selectable gboolean GtkLabel *self gtk_label_select_region void GtkLabel *self, int start_offset, int end_offset gtk_label_get_selection_bounds gboolean GtkLabel *self, int *start, int *end gtk_label_get_layout PangoLayout * GtkLabel *self gtk_label_get_layout_offsets void GtkLabel *self, int *x, int *y gtk_label_set_single_line_mode void GtkLabel *self, gboolean single_line_mode gtk_label_get_single_line_mode gboolean GtkLabel *self gtk_label_get_current_uri const char * GtkLabel *self gtk_label_set_xalign void GtkLabel *self, float xalign gtk_label_get_xalign float GtkLabel *self gtk_label_set_yalign void GtkLabel *self, float yalign gtk_label_get_yalign float GtkLabel *self gtk_label_set_extra_menu void GtkLabel *self, GMenuModel *model gtk_label_get_extra_menu GMenuModel * GtkLabel *self GtkLabel GTK_TYPE_LAYOUT_CHILD #define GTK_TYPE_LAYOUT_CHILD (gtk_layout_child_get_type()) GtkLayoutChildClass struct _GtkLayoutChildClass { /*< private >*/ GObjectClass parent_class; }; gtk_layout_child_get_layout_manager GtkLayoutManager * GtkLayoutChild *layout_child gtk_layout_child_get_child_widget GtkWidget * GtkLayoutChild *layout_child GtkLayoutChild GTK_TYPE_LAYOUT_MANAGER #define GTK_TYPE_LAYOUT_MANAGER (gtk_layout_manager_get_type ()) GtkLayoutManagerClass struct _GtkLayoutManagerClass { /*< private >*/ GObjectClass parent_class; /*< public >*/ GtkSizeRequestMode (* get_request_mode) (GtkLayoutManager *manager, GtkWidget *widget); void (* measure) (GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); void (* allocate) (GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline); GType layout_child_type; GtkLayoutChild * (* create_layout_child) (GtkLayoutManager *manager, GtkWidget *widget, GtkWidget *for_child); void (* root) (GtkLayoutManager *manager); void (* unroot) (GtkLayoutManager *manager); /*< private >*/ gpointer _padding[16]; }; gtk_layout_manager_measure void GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline gtk_layout_manager_allocate void GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline gtk_layout_manager_get_request_mode GtkSizeRequestMode GtkLayoutManager *manager gtk_layout_manager_get_widget GtkWidget * GtkLayoutManager *manager gtk_layout_manager_layout_changed void GtkLayoutManager *manager gtk_layout_manager_get_layout_child GtkLayoutChild * GtkLayoutManager *manager, GtkWidget *child GtkLayoutManager gtk_layout_manager_set_widget void GtkLayoutManager *manager, GtkWidget *widget gtk_layout_manager_remove_layout_child void GtkLayoutManager *manager, GtkWidget *widget gtk_layout_manager_set_root void GtkLayoutManager *manager, GtkRoot *root GTK_TYPE_LEVEL_BAR #define GTK_TYPE_LEVEL_BAR (gtk_level_bar_get_type ()) GTK_LEVEL_BAR #define GTK_LEVEL_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LEVEL_BAR, GtkLevelBar)) GTK_IS_LEVEL_BAR #define GTK_IS_LEVEL_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LEVEL_BAR)) GTK_LEVEL_BAR_OFFSET_LOW #define GTK_LEVEL_BAR_OFFSET_LOW "low" GTK_LEVEL_BAR_OFFSET_HIGH #define GTK_LEVEL_BAR_OFFSET_HIGH "high" GTK_LEVEL_BAR_OFFSET_FULL #define GTK_LEVEL_BAR_OFFSET_FULL "full" gtk_level_bar_get_type GType void gtk_level_bar_new GtkWidget * void gtk_level_bar_new_for_interval GtkWidget * double min_value, double max_value gtk_level_bar_set_mode void GtkLevelBar *self, GtkLevelBarMode mode gtk_level_bar_get_mode GtkLevelBarMode GtkLevelBar *self gtk_level_bar_set_value void GtkLevelBar *self, double value gtk_level_bar_get_value double GtkLevelBar *self gtk_level_bar_set_min_value void GtkLevelBar *self, double value gtk_level_bar_get_min_value double GtkLevelBar *self gtk_level_bar_set_max_value void GtkLevelBar *self, double value gtk_level_bar_get_max_value double GtkLevelBar *self gtk_level_bar_set_inverted void GtkLevelBar *self, gboolean inverted gtk_level_bar_get_inverted gboolean GtkLevelBar *self gtk_level_bar_add_offset_value void GtkLevelBar *self, const char *name, double value gtk_level_bar_remove_offset_value void GtkLevelBar *self, const char *name gtk_level_bar_get_offset_value gboolean GtkLevelBar *self, const char *name, double *value GtkLevelBar GTK_TYPE_LINK_BUTTON #define GTK_TYPE_LINK_BUTTON (gtk_link_button_get_type ()) GTK_LINK_BUTTON #define GTK_LINK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LINK_BUTTON, GtkLinkButton)) GTK_IS_LINK_BUTTON #define GTK_IS_LINK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LINK_BUTTON)) gtk_link_button_get_type GType void gtk_link_button_new GtkWidget * const char *uri gtk_link_button_new_with_label GtkWidget * const char *uri, const char *label gtk_link_button_get_uri const char * GtkLinkButton *link_button gtk_link_button_set_uri void GtkLinkButton *link_button, const char *uri gtk_link_button_get_visited gboolean GtkLinkButton *link_button gtk_link_button_set_visited void GtkLinkButton *link_button, gboolean visited GtkLinkButton GTK_TYPE_LIST_BASE #define GTK_TYPE_LIST_BASE (gtk_list_base_get_type ()) GTK_LIST_BASE #define GTK_LIST_BASE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LIST_BASE, GtkListBase)) GTK_LIST_BASE_CLASS #define GTK_LIST_BASE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_LIST_BASE, GtkListBaseClass)) GTK_IS_LIST_BASE #define GTK_IS_LIST_BASE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LIST_BASE)) GTK_IS_LIST_BASE_CLASS #define GTK_IS_LIST_BASE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_LIST_BASE)) GTK_LIST_BASE_GET_CLASS #define GTK_LIST_BASE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_LIST_BASE, GtkListBaseClass)) gtk_list_base_get_type GType void GtkListBase GtkListBaseClass GTK_TYPE_LIST_BOX #define GTK_TYPE_LIST_BOX (gtk_list_box_get_type ()) GTK_LIST_BOX #define GTK_LIST_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LIST_BOX, GtkListBox)) GTK_IS_LIST_BOX #define GTK_IS_LIST_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LIST_BOX)) GTK_TYPE_LIST_BOX_ROW #define GTK_TYPE_LIST_BOX_ROW (gtk_list_box_row_get_type ()) GTK_LIST_BOX_ROW #define GTK_LIST_BOX_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LIST_BOX_ROW, GtkListBoxRow)) GTK_LIST_BOX_ROW_CLASS #define GTK_LIST_BOX_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LIST_BOX_ROW, GtkListBoxRowClass)) GTK_IS_LIST_BOX_ROW #define GTK_IS_LIST_BOX_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LIST_BOX_ROW)) GTK_IS_LIST_BOX_ROW_CLASS #define GTK_IS_LIST_BOX_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LIST_BOX_ROW)) GTK_LIST_BOX_ROW_GET_CLASS #define GTK_LIST_BOX_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LIST_BOX_ROW, GtkListBoxRowClass)) GtkListBoxRow struct _GtkListBoxRow { GtkWidget parent_instance; }; GtkListBoxRowClass struct _GtkListBoxRowClass { GtkWidgetClass parent_class; /*< public >*/ void (* activate) (GtkListBoxRow *row); /*< private >*/ gpointer padding[8]; }; GtkListBoxFilterFunc gboolean GtkListBoxRow *row, gpointer user_data GtkListBoxSortFunc int GtkListBoxRow *row1, GtkListBoxRow *row2, gpointer user_data GtkListBoxUpdateHeaderFunc void GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data GtkListBoxCreateWidgetFunc GtkWidget * gpointer item, gpointer user_data gtk_list_box_row_get_type GType void gtk_list_box_row_new GtkWidget * void gtk_list_box_row_set_child void GtkListBoxRow *row, GtkWidget *child gtk_list_box_row_get_child GtkWidget * GtkListBoxRow *row gtk_list_box_row_get_header GtkWidget * GtkListBoxRow *row gtk_list_box_row_set_header void GtkListBoxRow *row, GtkWidget *header gtk_list_box_row_get_index int GtkListBoxRow *row gtk_list_box_row_changed void GtkListBoxRow *row gtk_list_box_row_is_selected gboolean GtkListBoxRow *row gtk_list_box_row_set_selectable void GtkListBoxRow *row, gboolean selectable gtk_list_box_row_get_selectable gboolean GtkListBoxRow *row gtk_list_box_row_set_activatable void GtkListBoxRow *row, gboolean activatable gtk_list_box_row_get_activatable gboolean GtkListBoxRow *row gtk_list_box_get_type GType void gtk_list_box_prepend void GtkListBox *box, GtkWidget *child gtk_list_box_insert void GtkListBox *box, GtkWidget *child, int position gtk_list_box_remove void GtkListBox *box, GtkWidget *child gtk_list_box_get_selected_row GtkListBoxRow * GtkListBox *box gtk_list_box_get_row_at_index GtkListBoxRow * GtkListBox *box, int index_ gtk_list_box_get_row_at_y GtkListBoxRow * GtkListBox *box, int y gtk_list_box_select_row void GtkListBox *box, GtkListBoxRow *row gtk_list_box_set_placeholder void GtkListBox *box, GtkWidget *placeholder gtk_list_box_set_adjustment void GtkListBox *box, GtkAdjustment *adjustment gtk_list_box_get_adjustment GtkAdjustment * GtkListBox *box GtkListBoxForeachFunc void GtkListBox *box, GtkListBoxRow *row, gpointer user_data gtk_list_box_selected_foreach void GtkListBox *box, GtkListBoxForeachFunc func, gpointer data gtk_list_box_get_selected_rows GList * GtkListBox *box gtk_list_box_unselect_row void GtkListBox *box, GtkListBoxRow *row gtk_list_box_select_all void GtkListBox *box gtk_list_box_unselect_all void GtkListBox *box gtk_list_box_set_selection_mode void GtkListBox *box, GtkSelectionMode mode gtk_list_box_get_selection_mode GtkSelectionMode GtkListBox *box gtk_list_box_set_filter_func void GtkListBox *box, GtkListBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy gtk_list_box_set_header_func void GtkListBox *box, GtkListBoxUpdateHeaderFunc update_header, gpointer user_data, GDestroyNotify destroy gtk_list_box_invalidate_filter void GtkListBox *box gtk_list_box_invalidate_sort void GtkListBox *box gtk_list_box_invalidate_headers void GtkListBox *box gtk_list_box_set_sort_func void GtkListBox *box, GtkListBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy gtk_list_box_set_activate_on_single_click void GtkListBox *box, gboolean single gtk_list_box_get_activate_on_single_click gboolean GtkListBox *box gtk_list_box_drag_unhighlight_row void GtkListBox *box gtk_list_box_drag_highlight_row void GtkListBox *box, GtkListBoxRow *row gtk_list_box_new GtkWidget * void gtk_list_box_bind_model void GtkListBox *box, GListModel *model, GtkListBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func gtk_list_box_set_show_separators void GtkListBox *box, gboolean show_separators gtk_list_box_get_show_separators gboolean GtkListBox *box GtkListBox GTK_TYPE_LIST_ITEM #define GTK_TYPE_LIST_ITEM (gtk_list_item_get_type ()) GTK_LIST_ITEM #define GTK_LIST_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LIST_ITEM, GtkListItem)) GTK_LIST_ITEM_CLASS #define GTK_LIST_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_LIST_ITEM, GtkListItemClass)) GTK_IS_LIST_ITEM #define GTK_IS_LIST_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LIST_ITEM)) GTK_IS_LIST_ITEM_CLASS #define GTK_IS_LIST_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_LIST_ITEM)) GTK_LIST_ITEM_GET_CLASS #define GTK_LIST_ITEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_LIST_ITEM, GtkListItemClass)) gtk_list_item_get_type GType void gtk_list_item_get_item gpointer GtkListItem *self gtk_list_item_get_position guint GtkListItem *self gtk_list_item_get_selected gboolean GtkListItem *self gtk_list_item_get_selectable gboolean GtkListItem *self gtk_list_item_set_selectable void GtkListItem *self, gboolean selectable gtk_list_item_get_activatable gboolean GtkListItem *self gtk_list_item_set_activatable void GtkListItem *self, gboolean activatable gtk_list_item_set_child void GtkListItem *self, GtkWidget *child gtk_list_item_get_child GtkWidget * GtkListItem *self GtkListItem GtkListItemClass GTK_TYPE_LIST_ITEM_FACTORY #define GTK_TYPE_LIST_ITEM_FACTORY (gtk_list_item_factory_get_type ()) GTK_LIST_ITEM_FACTORY #define GTK_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LIST_ITEM_FACTORY, GtkListItemFactory)) GTK_LIST_ITEM_FACTORY_CLASS #define GTK_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_LIST_ITEM_FACTORY, GtkListItemFactoryClass)) GTK_IS_LIST_ITEM_FACTORY #define GTK_IS_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LIST_ITEM_FACTORY)) GTK_IS_LIST_ITEM_FACTORY_CLASS #define GTK_IS_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_LIST_ITEM_FACTORY)) GTK_LIST_ITEM_FACTORY_GET_CLASS #define GTK_LIST_ITEM_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_LIST_ITEM_FACTORY, GtkListItemFactoryClass)) gtk_list_item_factory_get_type GType void GtkListItemFactoryClass GTK_TYPE_LIST_LIST_MODEL #define GTK_TYPE_LIST_LIST_MODEL (gtk_list_list_model_get_type ()) GTK_LIST_LIST_MODEL #define GTK_LIST_LIST_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LIST_LIST_MODEL, GtkListListModel)) GTK_LIST_LIST_MODEL_CLASS #define GTK_LIST_LIST_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_LIST_LIST_MODEL, GtkListListModelClass)) GTK_IS_LIST_LIST_MODEL #define GTK_IS_LIST_LIST_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LIST_LIST_MODEL)) GTK_IS_LIST_LIST_MODEL_CLASS #define GTK_IS_LIST_LIST_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_LIST_LIST_MODEL)) GTK_LIST_LIST_MODEL_GET_CLASS #define GTK_LIST_LIST_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_LIST_LIST_MODEL, GtkListListModelClass)) gtk_list_list_model_get_type GType void gtk_list_list_model_new GtkListListModel * gpointer (* get_first) (gpointer), gpointer (* get_next) (gpointer, gpointer), gpointer (* get_previous) (gpointer, gpointer), gpointer (* get_last) (gpointer), gpointer (* get_item) (gpointer, gpointer), gpointer data, GDestroyNotify notify gtk_list_list_model_new_with_size GtkListListModel * guint n_items, gpointer (* get_first) (gpointer), gpointer (* get_next) (gpointer, gpointer), gpointer (* get_previous) (gpointer, gpointer), gpointer (* get_last) (gpointer), gpointer (* get_item) (gpointer, gpointer), gpointer data, GDestroyNotify notify gtk_list_list_model_item_added void GtkListListModel *self, gpointer item gtk_list_list_model_item_added_at void GtkListListModel *self, guint position gtk_list_list_model_item_removed void GtkListListModel *self, gpointer previous gtk_list_list_model_item_removed_at void GtkListListModel *self, guint position gtk_list_list_model_item_moved void GtkListListModel *self, gpointer item, gpointer previous_previous gtk_list_list_model_clear void GtkListListModel *self GtkListListModel GtkListListModelClass GTK_TYPE_LIST_STORE #define GTK_TYPE_LIST_STORE (gtk_list_store_get_type ()) GTK_LIST_STORE #define GTK_LIST_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LIST_STORE, GtkListStore)) GTK_LIST_STORE_CLASS #define GTK_LIST_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LIST_STORE, GtkListStoreClass)) GTK_IS_LIST_STORE #define GTK_IS_LIST_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LIST_STORE)) GTK_IS_LIST_STORE_CLASS #define GTK_IS_LIST_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LIST_STORE)) GTK_LIST_STORE_GET_CLASS #define GTK_LIST_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LIST_STORE, GtkListStoreClass)) GtkListStore struct _GtkListStore { GObject parent; /*< private >*/ GtkListStorePrivate *priv; }; GtkListStoreClass struct _GtkListStoreClass { GObjectClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_list_store_get_type GType void gtk_list_store_new GtkListStore * int n_columns, ... gtk_list_store_newv GtkListStore * int n_columns, GType *types gtk_list_store_set_column_types void GtkListStore *list_store, int n_columns, GType *types gtk_list_store_set_value void GtkListStore *list_store, GtkTreeIter *iter, int column, GValue *value gtk_list_store_set void GtkListStore *list_store, GtkTreeIter *iter, ... gtk_list_store_set_valuesv void GtkListStore *list_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values gtk_list_store_set_valist void GtkListStore *list_store, GtkTreeIter *iter, va_list var_args gtk_list_store_remove gboolean GtkListStore *list_store, GtkTreeIter *iter gtk_list_store_insert void GtkListStore *list_store, GtkTreeIter *iter, int position gtk_list_store_insert_before void GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling gtk_list_store_insert_after void GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling gtk_list_store_insert_with_values void GtkListStore *list_store, GtkTreeIter *iter, int position, ... gtk_list_store_insert_with_valuesv void GtkListStore *list_store, GtkTreeIter *iter, int position, int *columns, GValue *values, int n_values gtk_list_store_prepend void GtkListStore *list_store, GtkTreeIter *iter gtk_list_store_append void GtkListStore *list_store, GtkTreeIter *iter gtk_list_store_clear void GtkListStore *list_store gtk_list_store_iter_is_valid gboolean GtkListStore *list_store, GtkTreeIter *iter gtk_list_store_reorder void GtkListStore *store, int *new_order gtk_list_store_swap void GtkListStore *store, GtkTreeIter *a, GtkTreeIter *b gtk_list_store_move_after void GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position gtk_list_store_move_before void GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position GtkListStorePrivate GTK_TYPE_LIST_VIEW #define GTK_TYPE_LIST_VIEW (gtk_list_view_get_type ()) GTK_LIST_VIEW #define GTK_LIST_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LIST_VIEW, GtkListView)) GTK_LIST_VIEW_CLASS #define GTK_LIST_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_LIST_VIEW, GtkListViewClass)) GTK_IS_LIST_VIEW #define GTK_IS_LIST_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LIST_VIEW)) GTK_IS_LIST_VIEW_CLASS #define GTK_IS_LIST_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_LIST_VIEW)) GTK_LIST_VIEW_GET_CLASS #define GTK_LIST_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_LIST_VIEW, GtkListViewClass)) gtk_list_view_get_type GType void gtk_list_view_new GtkWidget * GListModel *model gtk_list_view_new_with_factory GtkWidget * GListModel *model, GtkListItemFactory *factory gtk_list_view_get_model GListModel * GtkListView *self gtk_list_view_set_model void GtkListView *self, GListModel *model gtk_list_view_set_factory void GtkListView *self, GtkListItemFactory *factory gtk_list_view_get_factory GtkListItemFactory * GtkListView *self gtk_list_view_set_show_separators void GtkListView *self, gboolean show_separators gtk_list_view_get_show_separators gboolean GtkListView *self gtk_list_view_set_single_click_activate void GtkListView *self, gboolean single_click_activate gtk_list_view_get_single_click_activate gboolean GtkListView *self gtk_list_view_set_enable_rubberband void GtkListView *self, gboolean enable_rubberband gtk_list_view_get_enable_rubberband gboolean GtkListView *self GtkListView GtkListViewClass GTK_TYPE_LOCK_BUTTON #define GTK_TYPE_LOCK_BUTTON (gtk_lock_button_get_type ()) GTK_LOCK_BUTTON #define GTK_LOCK_BUTTON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_LOCK_BUTTON, GtkLockButton)) GTK_IS_LOCK_BUTTON #define GTK_IS_LOCK_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_LOCK_BUTTON)) gtk_lock_button_get_type GType void gtk_lock_button_new GtkWidget * GPermission *permission gtk_lock_button_get_permission GPermission * GtkLockButton *button gtk_lock_button_set_permission void GtkLockButton *button, GPermission *permission GtkLockButton GTK_PRIORITY_RESIZE #define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) gtk_get_major_version guint void gtk_get_minor_version guint void gtk_get_micro_version guint void gtk_get_binary_age guint void gtk_get_interface_age guint void gtk_check_version const char * guint required_major, guint required_minor, guint required_micro gtk_init void void gtk_init_check gboolean void gtk_is_initialized gboolean void gtk_init_abi_check void int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox gtk_init_check_abi_check gboolean int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox gtk_disable_setlocale void void gtk_get_default_language PangoLanguage * void gtk_get_locale_direction GtkTextDirection void GTK_TYPE_MAP_LIST_MODEL #define GTK_TYPE_MAP_LIST_MODEL (gtk_map_list_model_get_type ()) GtkMapListModelMapFunc gpointer gpointer item, gpointer user_data gtk_map_list_model_new GtkMapListModel * GListModel *model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy gtk_map_list_model_set_map_func void GtkMapListModel *self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy gtk_map_list_model_set_model void GtkMapListModel *self, GListModel *model gtk_map_list_model_get_model GListModel * GtkMapListModel *self gtk_map_list_model_has_map gboolean GtkMapListModel *self GtkMapListModel GTK_TYPE_MEDIA_CONTROLS #define GTK_TYPE_MEDIA_CONTROLS (gtk_media_controls_get_type ()) gtk_media_controls_new GtkWidget * GtkMediaStream *stream gtk_media_controls_get_media_stream GtkMediaStream * GtkMediaControls *controls gtk_media_controls_set_media_stream void GtkMediaControls *controls, GtkMediaStream *stream GtkMediaControls GTK_MEDIA_FILE_EXTENSION_POINT_NAME #define GTK_MEDIA_FILE_EXTENSION_POINT_NAME "gtk-media-file" GTK_TYPE_MEDIA_FILE #define GTK_TYPE_MEDIA_FILE (gtk_media_file_get_type ()) GtkMediaFileClass struct _GtkMediaFileClass { GtkMediaStreamClass parent_class; void (* open) (GtkMediaFile *self); void (* close) (GtkMediaFile *self); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_media_file_new GtkMediaStream * void gtk_media_file_new_for_filename GtkMediaStream * const char *filename gtk_media_file_new_for_resource GtkMediaStream * const char *resource_path gtk_media_file_new_for_file GtkMediaStream * GFile *file gtk_media_file_new_for_input_stream GtkMediaStream * GInputStream *stream gtk_media_file_clear void GtkMediaFile *self gtk_media_file_set_filename void GtkMediaFile *self, const char *filename gtk_media_file_set_resource void GtkMediaFile *self, const char *resource_path gtk_media_file_set_file void GtkMediaFile *self, GFile *file gtk_media_file_get_file GFile * GtkMediaFile *self gtk_media_file_set_input_stream void GtkMediaFile *self, GInputStream *stream gtk_media_file_get_input_stream GInputStream * GtkMediaFile *self GtkMediaFile GTK_TYPE_MEDIA_STREAM #define GTK_TYPE_MEDIA_STREAM (gtk_media_stream_get_type ()) GtkMediaStreamClass struct _GtkMediaStreamClass { GObjectClass parent_class; gboolean (* play) (GtkMediaStream *self); void (* pause) (GtkMediaStream *self); void (* seek) (GtkMediaStream *self, gint64 timestamp); void (* update_audio) (GtkMediaStream *self, gboolean muted, double volume); void (* realize) (GtkMediaStream *self, GdkSurface *surface); void (* unrealize) (GtkMediaStream *self, GdkSurface *surface); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; gtk_media_stream_is_prepared gboolean GtkMediaStream *self gtk_media_stream_get_error const GError * GtkMediaStream *self gtk_media_stream_has_audio gboolean GtkMediaStream *self gtk_media_stream_has_video gboolean GtkMediaStream *self gtk_media_stream_play void GtkMediaStream *self gtk_media_stream_pause void GtkMediaStream *self gtk_media_stream_get_playing gboolean GtkMediaStream *self gtk_media_stream_set_playing void GtkMediaStream *self, gboolean playing gtk_media_stream_get_ended gboolean GtkMediaStream *self gtk_media_stream_get_timestamp gint64 GtkMediaStream *self gtk_media_stream_get_duration gint64 GtkMediaStream *self gtk_media_stream_is_seekable gboolean GtkMediaStream *self gtk_media_stream_is_seeking gboolean GtkMediaStream *self gtk_media_stream_seek void GtkMediaStream *self, gint64 timestamp gtk_media_stream_get_loop gboolean GtkMediaStream *self gtk_media_stream_set_loop void GtkMediaStream *self, gboolean loop gtk_media_stream_get_muted gboolean GtkMediaStream *self gtk_media_stream_set_muted void GtkMediaStream *self, gboolean muted gtk_media_stream_get_volume double GtkMediaStream *self gtk_media_stream_set_volume void GtkMediaStream *self, double volume gtk_media_stream_realize void GtkMediaStream *self, GdkSurface *surface gtk_media_stream_unrealize void GtkMediaStream *self, GdkSurface *surface gtk_media_stream_prepared void GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration gtk_media_stream_unprepared void GtkMediaStream *self gtk_media_stream_update void GtkMediaStream *self, gint64 timestamp gtk_media_stream_ended void GtkMediaStream *self gtk_media_stream_seek_success void GtkMediaStream *self gtk_media_stream_seek_failed void GtkMediaStream *self gtk_media_stream_gerror void GtkMediaStream *self, GError *error gtk_media_stream_error void GtkMediaStream *self, GQuark domain, int code, const char *format, ... gtk_media_stream_error_valist void GtkMediaStream *self, GQuark domain, int code, const char *format, va_list args GtkMediaStream GTK_TYPE_MENU_BUTTON #define GTK_TYPE_MENU_BUTTON (gtk_menu_button_get_type ()) GTK_MENU_BUTTON #define GTK_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_BUTTON, GtkMenuButton)) GTK_IS_MENU_BUTTON #define GTK_IS_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_BUTTON)) GtkMenuButtonCreatePopupFunc void GtkMenuButton *menu_button, gpointer user_data gtk_menu_button_get_type GType void gtk_menu_button_new GtkWidget * void gtk_menu_button_set_popover void GtkMenuButton *menu_button, GtkWidget *popover gtk_menu_button_get_popover GtkPopover * GtkMenuButton *menu_button gtk_menu_button_set_direction void GtkMenuButton *menu_button, GtkArrowType direction gtk_menu_button_get_direction GtkArrowType GtkMenuButton *menu_button gtk_menu_button_set_menu_model void GtkMenuButton *menu_button, GMenuModel *menu_model gtk_menu_button_get_menu_model GMenuModel * GtkMenuButton *menu_button gtk_menu_button_set_icon_name void GtkMenuButton *menu_button, const char *icon_name gtk_menu_button_get_icon_name const char * GtkMenuButton *menu_button gtk_menu_button_set_label void GtkMenuButton *menu_button, const char *label gtk_menu_button_get_label const char * GtkMenuButton *menu_button gtk_menu_button_set_use_underline void GtkMenuButton *menu_button, gboolean use_underline gtk_menu_button_get_use_underline gboolean GtkMenuButton *menu_button gtk_menu_button_set_has_frame void GtkMenuButton *menu_button, gboolean has_frame gtk_menu_button_get_has_frame gboolean GtkMenuButton *menu_button gtk_menu_button_popup void GtkMenuButton *menu_button gtk_menu_button_popdown void GtkMenuButton *menu_button gtk_menu_button_set_create_popup_func void GtkMenuButton *menu_button, GtkMenuButtonCreatePopupFunc func, gpointer user_data, GDestroyNotify destroy_notify GtkMenuButton GTK_TYPE_MESSAGE_DIALOG #define GTK_TYPE_MESSAGE_DIALOG (gtk_message_dialog_get_type ()) GTK_MESSAGE_DIALOG #define GTK_MESSAGE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MESSAGE_DIALOG, GtkMessageDialog)) GTK_IS_MESSAGE_DIALOG #define GTK_IS_MESSAGE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MESSAGE_DIALOG)) GtkMessageDialog struct _GtkMessageDialog { GtkDialog parent_instance; }; GtkButtonsType typedef enum { GTK_BUTTONS_NONE, GTK_BUTTONS_OK, GTK_BUTTONS_CLOSE, GTK_BUTTONS_CANCEL, GTK_BUTTONS_YES_NO, GTK_BUTTONS_OK_CANCEL } GtkButtonsType; gtk_message_dialog_get_type GType void gtk_message_dialog_new GtkWidget * GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char *message_format, ... gtk_message_dialog_new_with_markup GtkWidget * GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char *message_format, ... gtk_message_dialog_set_markup void GtkMessageDialog *message_dialog, const char *str gtk_message_dialog_format_secondary_text void GtkMessageDialog *message_dialog, const char *message_format, ... gtk_message_dialog_format_secondary_markup void GtkMessageDialog *message_dialog, const char *message_format, ... gtk_message_dialog_get_message_area GtkWidget * GtkMessageDialog *message_dialog GtkMessageDialogClass GTK_TYPE_MODEL_BUTTON #define GTK_TYPE_MODEL_BUTTON (gtk_model_button_get_type ()) GTK_MODEL_BUTTON #define GTK_MODEL_BUTTON(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ GTK_TYPE_MODEL_BUTTON, GtkModelButton)) GTK_IS_MODEL_BUTTON #define GTK_IS_MODEL_BUTTON(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ GTK_TYPE_MODEL_BUTTON)) GtkButtonRole typedef enum { GTK_BUTTON_ROLE_NORMAL, GTK_BUTTON_ROLE_CHECK, GTK_BUTTON_ROLE_RADIO, GTK_BUTTON_ROLE_TITLE } GtkButtonRole; GTK_TYPE_BUTTON_ROLE #define GTK_TYPE_BUTTON_ROLE (gtk_button_role_get_type ()) gtk_button_role_get_type GType void gtk_model_button_get_type GType void gtk_model_button_new GtkWidget * void GtkModelButton GTK_TYPE_MOUNT_OPERATION #define GTK_TYPE_MOUNT_OPERATION (gtk_mount_operation_get_type ()) GTK_MOUNT_OPERATION #define GTK_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_MOUNT_OPERATION, GtkMountOperation)) GTK_MOUNT_OPERATION_CLASS #define GTK_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GTK_TYPE_MOUNT_OPERATION, GtkMountOperationClass)) GTK_IS_MOUNT_OPERATION #define GTK_IS_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_MOUNT_OPERATION)) GTK_IS_MOUNT_OPERATION_CLASS #define GTK_IS_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_MOUNT_OPERATION)) GTK_MOUNT_OPERATION_GET_CLASS #define GTK_MOUNT_OPERATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_MOUNT_OPERATION, GtkMountOperationClass)) GtkMountOperation struct _GtkMountOperation { GMountOperation parent_instance; GtkMountOperationPrivate *priv; }; GtkMountOperationClass struct _GtkMountOperationClass { GMountOperationClass parent_class; /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_mount_operation_get_type GType void gtk_mount_operation_new GMountOperation * GtkWindow *parent gtk_mount_operation_is_showing gboolean GtkMountOperation *op gtk_mount_operation_set_parent void GtkMountOperation *op, GtkWindow *parent gtk_mount_operation_get_parent GtkWindow * GtkMountOperation *op gtk_mount_operation_set_display void GtkMountOperation *op, GdkDisplay *display gtk_mount_operation_get_display GdkDisplay * GtkMountOperation *op GtkMountOperationPrivate GTK_TYPE_MULTI_FILTER #define GTK_TYPE_MULTI_FILTER (gtk_multi_filter_get_type ()) gtk_multi_filter_append void GtkMultiFilter *self, GtkFilter *filter gtk_multi_filter_remove void GtkMultiFilter *self, guint position GTK_TYPE_ANY_FILTER #define GTK_TYPE_ANY_FILTER (gtk_any_filter_get_type ()) gtk_any_filter_new GtkFilter * void GTK_TYPE_EVERY_FILTER #define GTK_TYPE_EVERY_FILTER (gtk_every_filter_get_type ()) gtk_every_filter_new GtkFilter * void GtkAnyFilter GtkEveryFilter GtkMultiFilter GTK_TYPE_MULTI_SELECTION #define GTK_TYPE_MULTI_SELECTION (gtk_multi_selection_get_type ()) gtk_multi_selection_new GtkMultiSelection * GListModel *model gtk_multi_selection_get_model GListModel * GtkMultiSelection *self gtk_multi_selection_set_model void GtkMultiSelection *self, GListModel *model GtkMultiSelection GTK_TYPE_MULTI_SORTER #define GTK_TYPE_MULTI_SORTER (gtk_multi_sorter_get_type ()) gtk_multi_sorter_new GtkSorter * void gtk_multi_sorter_append void GtkMultiSorter *self, GtkSorter *sorter gtk_multi_sorter_remove void GtkMultiSorter *self, guint position GtkMultiSorter GTK_TYPE_NATIVE #define GTK_TYPE_NATIVE (gtk_native_get_type ()) GtkNativeInterface struct _GtkNativeInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ GdkSurface * (* get_surface) (GtkNative *self); GskRenderer * (* get_renderer) (GtkNative *self); void (* get_surface_transform) (GtkNative *self, double *x, double *y); void (* check_resize) (GtkNative *self); }; gtk_native_get_for_surface GtkWidget * GdkSurface *surface gtk_native_check_resize void GtkNative *self gtk_native_get_surface GdkSurface * GtkNative *self gtk_native_get_renderer GskRenderer * GtkNative *self gtk_native_get_surface_transform void GtkNative *self, double *x, double *y GtkNative GTK_TYPE_NATIVE_DIALOG #define GTK_TYPE_NATIVE_DIALOG (gtk_native_dialog_get_type ()) GtkNativeDialogClass struct _GtkNativeDialogClass { GObjectClass parent_class; void (* response) (GtkNativeDialog *self, int response_id); /* */ void (* show) (GtkNativeDialog *self); void (* hide) (GtkNativeDialog *self); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_native_dialog_show void GtkNativeDialog *self gtk_native_dialog_hide void GtkNativeDialog *self gtk_native_dialog_destroy void GtkNativeDialog *self gtk_native_dialog_get_visible gboolean GtkNativeDialog *self gtk_native_dialog_set_modal void GtkNativeDialog *self, gboolean modal gtk_native_dialog_get_modal gboolean GtkNativeDialog *self gtk_native_dialog_set_title void GtkNativeDialog *self, const char *title gtk_native_dialog_get_title const char * GtkNativeDialog *self gtk_native_dialog_set_transient_for void GtkNativeDialog *self, GtkWindow *parent gtk_native_dialog_get_transient_for GtkWindow * GtkNativeDialog *self GtkNativeDialog GTK_TYPE_NO_SELECTION #define GTK_TYPE_NO_SELECTION (gtk_no_selection_get_type ()) gtk_no_selection_new GtkNoSelection * GListModel *model gtk_no_selection_get_model GListModel * GtkNoSelection *self gtk_no_selection_set_model void GtkNoSelection *self, GListModel *model GtkNoSelection GTK_TYPE_NOTEBOOK #define GTK_TYPE_NOTEBOOK (gtk_notebook_get_type ()) GTK_NOTEBOOK #define GTK_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_NOTEBOOK, GtkNotebook)) GTK_IS_NOTEBOOK #define GTK_IS_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_NOTEBOOK)) GTK_TYPE_NOTEBOOK_PAGE #define GTK_TYPE_NOTEBOOK_PAGE (gtk_notebook_page_get_type ()) GTK_NOTEBOOK_PAGE #define GTK_NOTEBOOK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_NOTEBOOK_PAGE, GtkNotebookPage)) GTK_IS_NOTEBOOK_PAGE #define GTK_IS_NOTEBOOK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_NOTEBOOK_PAGE)) GtkNotebookTab typedef enum { GTK_NOTEBOOK_TAB_FIRST, GTK_NOTEBOOK_TAB_LAST } GtkNotebookTab; gtk_notebook_get_type GType void gtk_notebook_new GtkWidget * void gtk_notebook_append_page int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label gtk_notebook_append_page_menu int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label gtk_notebook_prepend_page int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label gtk_notebook_prepend_page_menu int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label gtk_notebook_insert_page int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, int position gtk_notebook_insert_page_menu int GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label, int position gtk_notebook_remove_page void GtkNotebook *notebook, int page_num gtk_notebook_set_group_name void GtkNotebook *notebook, const char *group_name gtk_notebook_get_group_name const char * GtkNotebook *notebook gtk_notebook_get_current_page int GtkNotebook *notebook gtk_notebook_get_nth_page GtkWidget * GtkNotebook *notebook, int page_num gtk_notebook_get_n_pages int GtkNotebook *notebook gtk_notebook_page_num int GtkNotebook *notebook, GtkWidget *child gtk_notebook_set_current_page void GtkNotebook *notebook, int page_num gtk_notebook_next_page void GtkNotebook *notebook gtk_notebook_prev_page void GtkNotebook *notebook gtk_notebook_set_show_border void GtkNotebook *notebook, gboolean show_border gtk_notebook_get_show_border gboolean GtkNotebook *notebook gtk_notebook_set_show_tabs void GtkNotebook *notebook, gboolean show_tabs gtk_notebook_get_show_tabs gboolean GtkNotebook *notebook gtk_notebook_set_tab_pos void GtkNotebook *notebook, GtkPositionType pos gtk_notebook_get_tab_pos GtkPositionType GtkNotebook *notebook gtk_notebook_set_scrollable void GtkNotebook *notebook, gboolean scrollable gtk_notebook_get_scrollable gboolean GtkNotebook *notebook gtk_notebook_popup_enable void GtkNotebook *notebook gtk_notebook_popup_disable void GtkNotebook *notebook gtk_notebook_get_tab_label GtkWidget * GtkNotebook *notebook, GtkWidget *child gtk_notebook_set_tab_label void GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label gtk_notebook_set_tab_label_text void GtkNotebook *notebook, GtkWidget *child, const char *tab_text gtk_notebook_get_tab_label_text const char * GtkNotebook *notebook, GtkWidget *child gtk_notebook_get_menu_label GtkWidget * GtkNotebook *notebook, GtkWidget *child gtk_notebook_set_menu_label void GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label gtk_notebook_set_menu_label_text void GtkNotebook *notebook, GtkWidget *child, const char *menu_text gtk_notebook_get_menu_label_text const char * GtkNotebook *notebook, GtkWidget *child gtk_notebook_reorder_child void GtkNotebook *notebook, GtkWidget *child, int position gtk_notebook_get_tab_reorderable gboolean GtkNotebook *notebook, GtkWidget *child gtk_notebook_set_tab_reorderable void GtkNotebook *notebook, GtkWidget *child, gboolean reorderable gtk_notebook_get_tab_detachable gboolean GtkNotebook *notebook, GtkWidget *child gtk_notebook_set_tab_detachable void GtkNotebook *notebook, GtkWidget *child, gboolean detachable gtk_notebook_detach_tab void GtkNotebook *notebook, GtkWidget *child gtk_notebook_get_action_widget GtkWidget * GtkNotebook *notebook, GtkPackType pack_type gtk_notebook_set_action_widget void GtkNotebook *notebook, GtkWidget *widget, GtkPackType pack_type gtk_notebook_page_get_type GType void gtk_notebook_get_page GtkNotebookPage * GtkNotebook *notebook, GtkWidget *child gtk_notebook_page_get_child GtkWidget * GtkNotebookPage *page gtk_notebook_get_pages GListModel * GtkNotebook *notebook GtkNotebook GtkNotebookPage GTK_TYPE_NUMERIC_SORTER #define GTK_TYPE_NUMERIC_SORTER (gtk_numeric_sorter_get_type ()) gtk_numeric_sorter_new GtkSorter * GtkExpression *expression gtk_numeric_sorter_get_expression GtkExpression * GtkNumericSorter *self gtk_numeric_sorter_set_expression void GtkNumericSorter *self, GtkExpression *expression gtk_numeric_sorter_get_sort_order GtkSortType GtkNumericSorter *self gtk_numeric_sorter_set_sort_order void GtkNumericSorter *self, GtkSortType sort_order GtkNumericSorter GTK_TYPE_ORIENTABLE #define GTK_TYPE_ORIENTABLE (gtk_orientable_get_type ()) GTK_ORIENTABLE #define GTK_ORIENTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ORIENTABLE, GtkOrientable)) GTK_ORIENTABLE_CLASS #define GTK_ORIENTABLE_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_ORIENTABLE, GtkOrientableIface)) GTK_IS_ORIENTABLE #define GTK_IS_ORIENTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ORIENTABLE)) GTK_IS_ORIENTABLE_CLASS #define GTK_IS_ORIENTABLE_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_ORIENTABLE)) GTK_ORIENTABLE_GET_IFACE #define GTK_ORIENTABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_ORIENTABLE, GtkOrientableIface)) GtkOrientableIface struct _GtkOrientableIface { GTypeInterface base_iface; }; gtk_orientable_get_type GType void gtk_orientable_set_orientation void GtkOrientable *orientable, GtkOrientation orientation gtk_orientable_get_orientation GtkOrientation GtkOrientable *orientable GtkOrientable GTK_TYPE_OVERLAY #define GTK_TYPE_OVERLAY (gtk_overlay_get_type ()) GTK_OVERLAY #define GTK_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OVERLAY, GtkOverlay)) GTK_IS_OVERLAY #define GTK_IS_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OVERLAY)) gtk_overlay_get_type GType void gtk_overlay_new GtkWidget * void gtk_overlay_add_overlay void GtkOverlay *overlay, GtkWidget *widget gtk_overlay_remove_overlay void GtkOverlay *overlay, GtkWidget *widget gtk_overlay_set_child void GtkOverlay *overlay, GtkWidget *child gtk_overlay_get_child GtkWidget * GtkOverlay *overlay gtk_overlay_get_measure_overlay gboolean GtkOverlay *overlay, GtkWidget *widget gtk_overlay_set_measure_overlay void GtkOverlay *overlay, GtkWidget *widget, gboolean measure gtk_overlay_get_clip_overlay gboolean GtkOverlay *overlay, GtkWidget *widget gtk_overlay_set_clip_overlay void GtkOverlay *overlay, GtkWidget *widget, gboolean clip_overlay GtkOverlay GTK_TYPE_OVERLAY_LAYOUT #define GTK_TYPE_OVERLAY_LAYOUT (gtk_overlay_layout_get_type ()) GTK_TYPE_OVERLAY_LAYOUT_CHILD #define GTK_TYPE_OVERLAY_LAYOUT_CHILD (gtk_overlay_layout_child_get_type ()) gtk_overlay_layout_new GtkLayoutManager * void gtk_overlay_layout_child_set_measure void GtkOverlayLayoutChild *child, gboolean measure gtk_overlay_layout_child_get_measure gboolean GtkOverlayLayoutChild *child gtk_overlay_layout_child_set_clip_overlay void GtkOverlayLayoutChild *child, gboolean clip_overlay gtk_overlay_layout_child_get_clip_overlay gboolean GtkOverlayLayoutChild *child GtkOverlayLayout GtkOverlayLayoutChild GTK_TYPE_PAD_CONTROLLER #define GTK_TYPE_PAD_CONTROLLER (gtk_pad_controller_get_type ()) GTK_PAD_CONTROLLER #define GTK_PAD_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_PAD_CONTROLLER, GtkPadController)) GTK_PAD_CONTROLLER_CLASS #define GTK_PAD_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_PAD_CONTROLLER, GtkPadControllerClass)) GTK_IS_PAD_CONTROLLER #define GTK_IS_PAD_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_PAD_CONTROLLER)) GTK_IS_PAD_CONTROLLER_CLASS #define GTK_IS_PAD_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_PAD_CONTROLLER)) GTK_PAD_CONTROLLER_GET_CLASS #define GTK_PAD_CONTROLLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_PAD_CONTROLLER, GtkPadControllerClass)) GtkPadActionType typedef enum { GTK_PAD_ACTION_BUTTON, GTK_PAD_ACTION_RING, GTK_PAD_ACTION_STRIP } GtkPadActionType; GtkPadActionEntry struct _GtkPadActionEntry { GtkPadActionType type; int index; int mode; const char *label; const char *action_name; }; gtk_pad_controller_get_type GType void gtk_pad_controller_new GtkPadController * GActionGroup *group, GdkDevice *pad gtk_pad_controller_set_action_entries void GtkPadController *controller, const GtkPadActionEntry *entries, int n_entries gtk_pad_controller_set_action void GtkPadController *controller, GtkPadActionType type, int index, int mode, const char *label, const char *action_name GtkPadController GtkPadControllerClass GTK_TYPE_PAGE_SETUP #define GTK_TYPE_PAGE_SETUP (gtk_page_setup_get_type ()) GTK_PAGE_SETUP #define GTK_PAGE_SETUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PAGE_SETUP, GtkPageSetup)) GTK_IS_PAGE_SETUP #define GTK_IS_PAGE_SETUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PAGE_SETUP)) gtk_page_setup_get_type GType void gtk_page_setup_new GtkPageSetup * void gtk_page_setup_copy GtkPageSetup * GtkPageSetup *other gtk_page_setup_get_orientation GtkPageOrientation GtkPageSetup *setup gtk_page_setup_set_orientation void GtkPageSetup *setup, GtkPageOrientation orientation gtk_page_setup_get_paper_size GtkPaperSize * GtkPageSetup *setup gtk_page_setup_set_paper_size void GtkPageSetup *setup, GtkPaperSize *size gtk_page_setup_get_top_margin double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_set_top_margin void GtkPageSetup *setup, double margin, GtkUnit unit gtk_page_setup_get_bottom_margin double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_set_bottom_margin void GtkPageSetup *setup, double margin, GtkUnit unit gtk_page_setup_get_left_margin double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_set_left_margin void GtkPageSetup *setup, double margin, GtkUnit unit gtk_page_setup_get_right_margin double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_set_right_margin void GtkPageSetup *setup, double margin, GtkUnit unit gtk_page_setup_set_paper_size_and_default_margins void GtkPageSetup *setup, GtkPaperSize *size gtk_page_setup_get_paper_width double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_get_paper_height double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_get_page_width double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_get_page_height double GtkPageSetup *setup, GtkUnit unit gtk_page_setup_new_from_file GtkPageSetup * const char *file_name, GError **error gtk_page_setup_load_file gboolean GtkPageSetup *setup, const char *file_name, GError **error gtk_page_setup_to_file gboolean GtkPageSetup *setup, const char *file_name, GError **error gtk_page_setup_new_from_key_file GtkPageSetup * GKeyFile *key_file, const char *group_name, GError **error gtk_page_setup_load_key_file gboolean GtkPageSetup *setup, GKeyFile *key_file, const char *group_name, GError **error gtk_page_setup_to_key_file void GtkPageSetup *setup, GKeyFile *key_file, const char *group_name gtk_page_setup_to_gvariant GVariant * GtkPageSetup *setup gtk_page_setup_new_from_gvariant GtkPageSetup * GVariant *variant GtkPageSetup GTK_TYPE_PAGE_SETUP_UNIX_DIALOG #define GTK_TYPE_PAGE_SETUP_UNIX_DIALOG (gtk_page_setup_unix_dialog_get_type ()) GTK_PAGE_SETUP_UNIX_DIALOG #define GTK_PAGE_SETUP_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PAGE_SETUP_UNIX_DIALOG, GtkPageSetupUnixDialog)) GTK_IS_PAGE_SETUP_UNIX_DIALOG #define GTK_IS_PAGE_SETUP_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PAGE_SETUP_UNIX_DIALOG)) gtk_page_setup_unix_dialog_get_type GType void gtk_page_setup_unix_dialog_new GtkWidget * const char *title, GtkWindow *parent gtk_page_setup_unix_dialog_set_page_setup void GtkPageSetupUnixDialog *dialog, GtkPageSetup *page_setup gtk_page_setup_unix_dialog_get_page_setup GtkPageSetup * GtkPageSetupUnixDialog *dialog gtk_page_setup_unix_dialog_set_print_settings void GtkPageSetupUnixDialog *dialog, GtkPrintSettings *print_settings gtk_page_setup_unix_dialog_get_print_settings GtkPrintSettings * GtkPageSetupUnixDialog *dialog GtkPageSetupUnixDialog GTK_TYPE_PANED #define GTK_TYPE_PANED (gtk_paned_get_type ()) GTK_PANED #define GTK_PANED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PANED, GtkPaned)) GTK_IS_PANED #define GTK_IS_PANED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PANED)) gtk_paned_get_type GType void gtk_paned_new GtkWidget * GtkOrientation orientation gtk_paned_set_start_child void GtkPaned *paned, GtkWidget *child gtk_paned_get_start_child GtkWidget * GtkPaned *paned gtk_paned_set_resize_start_child void GtkPaned *paned, gboolean resize gtk_paned_get_resize_start_child gboolean GtkPaned *paned gtk_paned_set_end_child void GtkPaned *paned, GtkWidget *child gtk_paned_get_end_child GtkWidget * GtkPaned *paned gtk_paned_set_shrink_start_child void GtkPaned *paned, gboolean resize gtk_paned_get_shrink_start_child gboolean GtkPaned *paned gtk_paned_set_resize_end_child void GtkPaned *paned, gboolean resize gtk_paned_get_resize_end_child gboolean GtkPaned *paned gtk_paned_set_shrink_end_child void GtkPaned *paned, gboolean resize gtk_paned_get_shrink_end_child gboolean GtkPaned *paned gtk_paned_get_position int GtkPaned *paned gtk_paned_set_position void GtkPaned *paned, int position gtk_paned_set_wide_handle void GtkPaned *paned, gboolean wide gtk_paned_get_wide_handle gboolean GtkPaned *paned GtkPaned GTK_TYPE_PAPER_SIZE #define GTK_TYPE_PAPER_SIZE (gtk_paper_size_get_type ()) GTK_PAPER_NAME_A3 #define GTK_PAPER_NAME_A3 "iso_a3" GTK_PAPER_NAME_A4 #define GTK_PAPER_NAME_A4 "iso_a4" GTK_PAPER_NAME_A5 #define GTK_PAPER_NAME_A5 "iso_a5" GTK_PAPER_NAME_B5 #define GTK_PAPER_NAME_B5 "iso_b5" GTK_PAPER_NAME_LETTER #define GTK_PAPER_NAME_LETTER "na_letter" GTK_PAPER_NAME_EXECUTIVE #define GTK_PAPER_NAME_EXECUTIVE "na_executive" GTK_PAPER_NAME_LEGAL #define GTK_PAPER_NAME_LEGAL "na_legal" gtk_paper_size_get_type GType void gtk_paper_size_new GtkPaperSize * const char *name gtk_paper_size_new_from_ppd GtkPaperSize * const char *ppd_name, const char *ppd_display_name, double width, double height gtk_paper_size_new_from_ipp GtkPaperSize * const char *ipp_name, double width, double height gtk_paper_size_new_custom GtkPaperSize * const char *name, const char *display_name, double width, double height, GtkUnit unit gtk_paper_size_copy GtkPaperSize * GtkPaperSize *other gtk_paper_size_free void GtkPaperSize *size gtk_paper_size_is_equal gboolean GtkPaperSize *size1, GtkPaperSize *size2 gtk_paper_size_get_paper_sizes GList * gboolean include_custom gtk_paper_size_get_name const char * GtkPaperSize *size gtk_paper_size_get_display_name const char * GtkPaperSize *size gtk_paper_size_get_ppd_name const char * GtkPaperSize *size gtk_paper_size_get_width double GtkPaperSize *size, GtkUnit unit gtk_paper_size_get_height double GtkPaperSize *size, GtkUnit unit gtk_paper_size_is_custom gboolean GtkPaperSize *size gtk_paper_size_is_ipp gboolean GtkPaperSize *size gtk_paper_size_set_size void GtkPaperSize *size, double width, double height, GtkUnit unit gtk_paper_size_get_default_top_margin double GtkPaperSize *size, GtkUnit unit gtk_paper_size_get_default_bottom_margin double GtkPaperSize *size, GtkUnit unit gtk_paper_size_get_default_left_margin double GtkPaperSize *size, GtkUnit unit gtk_paper_size_get_default_right_margin double GtkPaperSize *size, GtkUnit unit gtk_paper_size_get_default const char * void gtk_paper_size_new_from_key_file GtkPaperSize * GKeyFile *key_file, const char *group_name, GError **error gtk_paper_size_to_key_file void GtkPaperSize *size, GKeyFile *key_file, const char *group_name gtk_paper_size_new_from_gvariant GtkPaperSize * GVariant *variant gtk_paper_size_to_gvariant GVariant * GtkPaperSize *paper_size GtkPaperSize GTK_TYPE_PASSWORD_ENTRY #define GTK_TYPE_PASSWORD_ENTRY (gtk_password_entry_get_type ()) GTK_PASSWORD_ENTRY #define GTK_PASSWORD_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PASSWORD_ENTRY, GtkPasswordEntry)) GTK_IS_PASSWORD_ENTRY #define GTK_IS_PASSWORD_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PASSWORD_ENTRY)) GtkPasswordEntry struct _GtkPasswordEntry { GtkWidget parent; }; gtk_password_entry_get_type GType void gtk_password_entry_new GtkWidget * void gtk_password_entry_set_show_peek_icon void GtkPasswordEntry *entry, gboolean show_peek_icon gtk_password_entry_get_show_peek_icon gboolean GtkPasswordEntry *entry gtk_password_entry_set_extra_menu void GtkPasswordEntry *entry, GMenuModel *model gtk_password_entry_get_extra_menu GMenuModel * GtkPasswordEntry *entry GtkPasswordEntryClass gtk_password_entry_get_text_widget GtkText * GtkPasswordEntry *entry GTK_TYPE_PATH_BAR #define GTK_TYPE_PATH_BAR (gtk_path_bar_get_type ()) GTK_PATH_BAR #define GTK_PATH_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PATH_BAR, GtkPathBar)) GTK_IS_PATH_BAR #define GTK_IS_PATH_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PATH_BAR)) gtk_path_bar_get_type GType void GtkPathBar GTK_TYPE_PICTURE #define GTK_TYPE_PICTURE (gtk_picture_get_type ()) gtk_picture_new GtkWidget * void gtk_picture_new_for_paintable GtkWidget * GdkPaintable *paintable gtk_picture_new_for_pixbuf GtkWidget * GdkPixbuf *pixbuf gtk_picture_new_for_file GtkWidget * GFile *file gtk_picture_new_for_filename GtkWidget * const char *filename gtk_picture_new_for_resource GtkWidget * const char *resource_path gtk_picture_set_paintable void GtkPicture *self, GdkPaintable *paintable gtk_picture_get_paintable GdkPaintable * GtkPicture *self gtk_picture_set_file void GtkPicture *self, GFile *file gtk_picture_get_file GFile * GtkPicture *self gtk_picture_set_filename void GtkPicture *self, const char *filename gtk_picture_set_resource void GtkPicture *self, const char *resource_path gtk_picture_set_pixbuf void GtkPicture *self, GdkPixbuf *pixbuf gtk_picture_set_keep_aspect_ratio void GtkPicture *self, gboolean keep_aspect_ratio gtk_picture_get_keep_aspect_ratio gboolean GtkPicture *self gtk_picture_set_can_shrink void GtkPicture *self, gboolean can_shrink gtk_picture_get_can_shrink gboolean GtkPicture *self gtk_picture_set_alternative_text void GtkPicture *self, const char *alternative_text gtk_picture_get_alternative_text const char * GtkPicture *self GtkPicture GTK_TYPE_POPOVER #define GTK_TYPE_POPOVER (gtk_popover_get_type ()) GTK_POPOVER #define GTK_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_POPOVER, GtkPopover)) GTK_POPOVER_CLASS #define GTK_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_POPOVER, GtkPopoverClass)) GTK_IS_POPOVER #define GTK_IS_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_POPOVER)) GTK_IS_POPOVER_CLASS #define GTK_IS_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_POPOVER)) GTK_POPOVER_GET_CLASS #define GTK_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_POPOVER, GtkPopoverClass)) GtkPopover struct _GtkPopover { GtkWidget parent; }; GtkPopoverClass struct _GtkPopoverClass { GtkWidgetClass parent_class; void (* closed) (GtkPopover *popover); void (* activate_default) (GtkPopover *popover); /*< private >*/ gpointer reserved[8]; }; gtk_popover_get_type GType void gtk_popover_new GtkWidget * void gtk_popover_set_child void GtkPopover *popover, GtkWidget *child gtk_popover_get_child GtkWidget * GtkPopover *popover gtk_popover_set_pointing_to void GtkPopover *popover, const GdkRectangle *rect gtk_popover_get_pointing_to gboolean GtkPopover *popover, GdkRectangle *rect gtk_popover_set_position void GtkPopover *popover, GtkPositionType position gtk_popover_get_position GtkPositionType GtkPopover *popover gtk_popover_set_autohide void GtkPopover *popover, gboolean autohide gtk_popover_get_autohide gboolean GtkPopover *popover gtk_popover_set_has_arrow void GtkPopover *popover, gboolean has_arrow gtk_popover_get_has_arrow gboolean GtkPopover *popover gtk_popover_set_mnemonics_visible void GtkPopover *popover, gboolean mnemonics_visible gtk_popover_get_mnemonics_visible gboolean GtkPopover *popover gtk_popover_popup void GtkPopover *popover gtk_popover_popdown void GtkPopover *popover gtk_popover_set_default_widget void GtkPopover *popover, GtkWidget *widget GTK_TYPE_POPOVER_MENU #define GTK_TYPE_POPOVER_MENU (gtk_popover_menu_get_type ()) GTK_POPOVER_MENU #define GTK_POPOVER_MENU(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_POPOVER_MENU, GtkPopoverMenu)) GTK_IS_POPOVER_MENU #define GTK_IS_POPOVER_MENU(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_POPOVER_MENU)) gtk_popover_menu_get_type GType void gtk_popover_menu_new_from_model GtkWidget * GMenuModel *model GtkPopoverMenuFlags typedef enum { GTK_POPOVER_MENU_NESTED = 1 << 0 } GtkPopoverMenuFlags; gtk_popover_menu_new_from_model_full GtkWidget * GMenuModel *model, GtkPopoverMenuFlags flags gtk_popover_menu_set_menu_model void GtkPopoverMenu *popover, GMenuModel *model gtk_popover_menu_get_menu_model GMenuModel * GtkPopoverMenu *popover GtkPopoverMenu GTK_TYPE_POPOVER_MENU_BAR #define GTK_TYPE_POPOVER_MENU_BAR (gtk_popover_menu_bar_get_type ()) GTK_POPOVER_MENU_BAR #define GTK_POPOVER_MENU_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_POPOVER_MENU_BAR, GtkPopoverMenuBar)) GTK_IS_POPOVER_MENU_BAR #define GTK_IS_POPOVER_MENU_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_POPOVER_MENU_BAR)) gtk_popover_menu_bar_get_type GType void gtk_popover_menu_bar_new_from_model GtkWidget * GMenuModel *model gtk_popover_menu_bar_set_menu_model void GtkPopoverMenuBar *bar, GMenuModel *model gtk_popover_menu_bar_get_menu_model GMenuModel * GtkPopoverMenuBar *bar GtkPopoverMenuBar gtk_popover_menu_bar_select_first void GtkPopoverMenuBar *bar gtk_popover_menu_bar_get_viewable_menu_bars GList * GtkWindow *window gtk_popover_menu_get_active_item GtkWidget * GtkPopoverMenu *menu gtk_popover_menu_set_active_item void GtkPopoverMenu *menu, GtkWidget *item gtk_popover_menu_get_open_submenu GtkWidget * GtkPopoverMenu *menu gtk_popover_menu_set_open_submenu void GtkPopoverMenu *menu, GtkWidget *submenu gtk_popover_menu_get_parent_menu GtkWidget * GtkPopoverMenu *menu gtk_popover_menu_set_parent_menu void GtkPopoverMenu *menu, GtkWidget *parent gtk_popover_menu_new GtkWidget * void gtk_popover_menu_add_submenu void GtkPopoverMenu *popover, GtkWidget *submenu, const char *name gtk_popover_menu_open_submenu void GtkPopoverMenu *popover, const char *name START_PAGE_GENERAL #define START_PAGE_GENERAL 0xffffffff PD_RESULT_CANCEL #define PD_RESULT_CANCEL 0 PD_RESULT_PRINT #define PD_RESULT_PRINT 1 PD_RESULT_APPLY #define PD_RESULT_APPLY 2 PD_NOCURRENTPAGE #define PD_NOCURRENTPAGE 0x00800000 PD_CURRENTPAGE #define PD_CURRENTPAGE 0x00400000 GtkPrintWin32Devnames typedef struct { char *driver; char *device; char *output; int flags; } GtkPrintWin32Devnames; gtk_print_win32_devnames_free void GtkPrintWin32Devnames *devnames gtk_print_win32_devnames_from_win32 GtkPrintWin32Devnames * HGLOBAL global gtk_print_win32_devnames_from_printer_name GtkPrintWin32Devnames * const char *printer gtk_print_win32_devnames_to_win32 HGLOBAL const GtkPrintWin32Devnames *devnames gtk_print_win32_devnames_to_win32_from_printer_name HGLOBAL const char *printer GTK_PRINT_BACKEND_ERROR #define GTK_PRINT_BACKEND_ERROR (gtk_print_backend_error_quark ()) GtkPrintBackendError typedef enum { /* TODO: add specific errors */ GTK_PRINT_BACKEND_ERROR_GENERIC } GtkPrintBackendError; gtk_print_backend_error_quark GQuark void GTK_TYPE_PRINT_BACKEND #define GTK_TYPE_PRINT_BACKEND (gtk_print_backend_get_type ()) GTK_PRINT_BACKEND #define GTK_PRINT_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_BACKEND, GtkPrintBackend)) GTK_PRINT_BACKEND_CLASS #define GTK_PRINT_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PRINT_BACKEND, GtkPrintBackendClass)) GTK_IS_PRINT_BACKEND #define GTK_IS_PRINT_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_BACKEND)) GTK_IS_PRINT_BACKEND_CLASS #define GTK_IS_PRINT_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_BACKEND)) GTK_PRINT_BACKEND_GET_CLASS #define GTK_PRINT_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINT_BACKEND, GtkPrintBackendClass)) GtkPrintBackendStatus typedef enum { GTK_PRINT_BACKEND_STATUS_UNKNOWN, GTK_PRINT_BACKEND_STATUS_OK, GTK_PRINT_BACKEND_STATUS_UNAVAILABLE } GtkPrintBackendStatus; GtkPrintBackend struct _GtkPrintBackend { GObject parent_instance; GtkPrintBackendPrivate *priv; }; GtkPrintBackendClass struct _GtkPrintBackendClass { GObjectClass parent_class; /* Global backend methods: */ void (*request_printer_list) (GtkPrintBackend *backend); void (*print_stream) (GtkPrintBackend *backend, GtkPrintJob *job, GIOChannel *data_io, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify); /* Printer methods: */ void (*printer_request_details) (GtkPrinter *printer); cairo_surface_t * (*printer_create_cairo_surface) (GtkPrinter *printer, GtkPrintSettings *settings, double height, double width, GIOChannel *cache_io); GtkPrinterOptionSet * (*printer_get_options) (GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup, GtkPrintCapabilities capabilities); gboolean (*printer_mark_conflicts) (GtkPrinter *printer, GtkPrinterOptionSet *options); void (*printer_get_settings_from_options) (GtkPrinter *printer, GtkPrinterOptionSet *options, GtkPrintSettings *settings); void (*printer_prepare_for_print) (GtkPrinter *printer, GtkPrintJob *print_job, GtkPrintSettings *settings, GtkPageSetup *page_setup); GList * (*printer_list_papers) (GtkPrinter *printer); GtkPageSetup * (*printer_get_default_page_size) (GtkPrinter *printer); gboolean (*printer_get_hard_margins) (GtkPrinter *printer, double *top, double *bottom, double *left, double *right); GtkPrintCapabilities (*printer_get_capabilities) (GtkPrinter *printer); /* Signals */ void (*printer_list_changed) (GtkPrintBackend *backend); void (*printer_list_done) (GtkPrintBackend *backend); void (*printer_added) (GtkPrintBackend *backend, GtkPrinter *printer); void (*printer_removed) (GtkPrintBackend *backend, GtkPrinter *printer); void (*printer_status_changed) (GtkPrintBackend *backend, GtkPrinter *printer); void (*request_password) (GtkPrintBackend *backend, gpointer auth_info_required, gpointer auth_info_default, gpointer auth_info_display, gpointer auth_info_visible, const char *prompt, gboolean can_store_auth_info); /* not a signal */ void (*set_password) (GtkPrintBackend *backend, char **auth_info_required, char **auth_info, gboolean store_auth_info); gboolean (*printer_get_hard_margins_for_paper_size) (GtkPrinter *printer, GtkPaperSize *paper_size, double *top, double *bottom, double *left, double *right); }; GTK_PRINT_BACKEND_EXTENSION_POINT_NAME #define GTK_PRINT_BACKEND_EXTENSION_POINT_NAME "gtk-print-backend" gtk_print_backend_get_type GType void gtk_print_backend_get_printer_list GList * GtkPrintBackend *print_backend gtk_print_backend_get_printers GListModel * GtkPrintBackend *print_backend gtk_print_backend_printer_list_is_done gboolean GtkPrintBackend *print_backend gtk_print_backend_find_printer GtkPrinter * GtkPrintBackend *print_backend, const char *printer_name gtk_print_backend_print_stream void GtkPrintBackend *print_backend, GtkPrintJob *job, GIOChannel *data_io, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify gtk_print_backend_load_modules GList * void gtk_print_backend_destroy void GtkPrintBackend *print_backend gtk_print_backend_set_password void GtkPrintBackend *backend, char **auth_info_required, char **auth_info, gboolean can_store_auth_info gtk_print_backend_add_printer void GtkPrintBackend *print_backend, GtkPrinter *printer gtk_print_backend_remove_printer void GtkPrintBackend *print_backend, GtkPrinter *printer gtk_print_backend_set_list_done void GtkPrintBackend *backend gtk_printer_is_new gboolean GtkPrinter *printer gtk_printer_set_accepts_pdf void GtkPrinter *printer, gboolean val gtk_printer_set_accepts_ps void GtkPrinter *printer, gboolean val gtk_printer_set_is_new void GtkPrinter *printer, gboolean val gtk_printer_set_is_active void GtkPrinter *printer, gboolean val gtk_printer_set_is_paused gboolean GtkPrinter *printer, gboolean val gtk_printer_set_is_accepting_jobs gboolean GtkPrinter *printer, gboolean val gtk_printer_set_has_details void GtkPrinter *printer, gboolean val gtk_printer_set_is_default void GtkPrinter *printer, gboolean val gtk_printer_set_icon_name void GtkPrinter *printer, const char *icon gtk_printer_set_job_count gboolean GtkPrinter *printer, int count gtk_printer_set_location gboolean GtkPrinter *printer, const char *location gtk_printer_set_description gboolean GtkPrinter *printer, const char *description gtk_printer_set_state_message gboolean GtkPrinter *printer, const char *message gtk_print_backends_init void void GtkPrintBackendPrivate GTK_TYPE_PRINT_CONTEXT #define GTK_TYPE_PRINT_CONTEXT (gtk_print_context_get_type ()) GTK_PRINT_CONTEXT #define GTK_PRINT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_CONTEXT, GtkPrintContext)) GTK_IS_PRINT_CONTEXT #define GTK_IS_PRINT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_CONTEXT)) gtk_print_context_get_type GType void gtk_print_context_get_cairo_context cairo_t * GtkPrintContext *context gtk_print_context_get_page_setup GtkPageSetup * GtkPrintContext *context gtk_print_context_get_width double GtkPrintContext *context gtk_print_context_get_height double GtkPrintContext *context gtk_print_context_get_dpi_x double GtkPrintContext *context gtk_print_context_get_dpi_y double GtkPrintContext *context gtk_print_context_get_hard_margins gboolean GtkPrintContext *context, double *top, double *bottom, double *left, double *right gtk_print_context_get_pango_fontmap PangoFontMap * GtkPrintContext *context gtk_print_context_create_pango_context PangoContext * GtkPrintContext *context gtk_print_context_create_pango_layout PangoLayout * GtkPrintContext *context gtk_print_context_set_cairo_context void GtkPrintContext *context, cairo_t *cr, double dpi_x, double dpi_y GtkPrintContext GTK_TYPE_PRINT_CAPABILITIES #define GTK_TYPE_PRINT_CAPABILITIES (gtk_print_capabilities_get_type ()) GtkPrintCapabilities typedef enum { GTK_PRINT_CAPABILITY_PAGE_SET = 1 << 0, GTK_PRINT_CAPABILITY_COPIES = 1 << 1, GTK_PRINT_CAPABILITY_COLLATE = 1 << 2, GTK_PRINT_CAPABILITY_REVERSE = 1 << 3, GTK_PRINT_CAPABILITY_SCALE = 1 << 4, GTK_PRINT_CAPABILITY_GENERATE_PDF = 1 << 5, GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6, GTK_PRINT_CAPABILITY_PREVIEW = 1 << 7, GTK_PRINT_CAPABILITY_NUMBER_UP = 1 << 8, GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 << 9 } GtkPrintCapabilities; gtk_print_capabilities_get_type GType void GTK_TYPE_PRINTER #define GTK_TYPE_PRINTER (gtk_printer_get_type ()) GTK_PRINTER #define GTK_PRINTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINTER, GtkPrinter)) GTK_IS_PRINTER #define GTK_IS_PRINTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINTER)) gtk_printer_get_type GType void gtk_printer_new GtkPrinter * const char *name, GtkPrintBackend *backend, gboolean virtual_ gtk_printer_get_backend GtkPrintBackend * GtkPrinter *printer gtk_printer_get_name const char * GtkPrinter *printer gtk_printer_get_state_message const char * GtkPrinter *printer gtk_printer_get_description const char * GtkPrinter *printer gtk_printer_get_location const char * GtkPrinter *printer gtk_printer_get_icon_name const char * GtkPrinter *printer gtk_printer_get_job_count int GtkPrinter *printer gtk_printer_is_active gboolean GtkPrinter *printer gtk_printer_is_paused gboolean GtkPrinter *printer gtk_printer_is_accepting_jobs gboolean GtkPrinter *printer gtk_printer_is_virtual gboolean GtkPrinter *printer gtk_printer_is_default gboolean GtkPrinter *printer gtk_printer_accepts_pdf gboolean GtkPrinter *printer gtk_printer_accepts_ps gboolean GtkPrinter *printer gtk_printer_list_papers GList * GtkPrinter *printer gtk_printer_get_default_page_size GtkPageSetup * GtkPrinter *printer gtk_printer_compare int GtkPrinter *a, GtkPrinter *b gtk_printer_has_details gboolean GtkPrinter *printer gtk_printer_request_details void GtkPrinter *printer gtk_printer_get_capabilities GtkPrintCapabilities GtkPrinter *printer gtk_printer_get_hard_margins gboolean GtkPrinter *printer, double *top, double *bottom, double *left, double *right gtk_printer_get_hard_margins_for_paper_size gboolean GtkPrinter *printer, GtkPaperSize *paper_size, double *top, double *bottom, double *left, double *right GtkPrinterFunc gboolean GtkPrinter *printer, gpointer data gtk_enumerate_printers void GtkPrinterFunc func, gpointer data, GDestroyNotify destroy, gboolean wait GtkPrintBackend GtkPrinter GTK_TYPE_PRINTER_OPTION #define GTK_TYPE_PRINTER_OPTION (gtk_printer_option_get_type ()) GTK_PRINTER_OPTION #define GTK_PRINTER_OPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINTER_OPTION, GtkPrinterOption)) GTK_IS_PRINTER_OPTION #define GTK_IS_PRINTER_OPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINTER_OPTION)) GTK_PRINTER_OPTION_GROUP_IMAGE_QUALITY #define GTK_PRINTER_OPTION_GROUP_IMAGE_QUALITY "ImageQuality" GTK_PRINTER_OPTION_GROUP_FINISHING #define GTK_PRINTER_OPTION_GROUP_FINISHING "Finishing" GtkPrinterOptionType typedef enum { GTK_PRINTER_OPTION_TYPE_BOOLEAN, GTK_PRINTER_OPTION_TYPE_PICKONE, GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD, GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE, GTK_PRINTER_OPTION_TYPE_PICKONE_REAL, GTK_PRINTER_OPTION_TYPE_PICKONE_INT, GTK_PRINTER_OPTION_TYPE_PICKONE_STRING, GTK_PRINTER_OPTION_TYPE_ALTERNATIVE, GTK_PRINTER_OPTION_TYPE_STRING, GTK_PRINTER_OPTION_TYPE_FILESAVE, GTK_PRINTER_OPTION_TYPE_INFO } GtkPrinterOptionType; GtkPrinterOption struct _GtkPrinterOption { GObject parent_instance; char *name; char *display_text; GtkPrinterOptionType type; char *value; int num_choices; char **choices; char **choices_display; gboolean activates_default; gboolean has_conflict; char *group; }; GtkPrinterOptionClass struct _GtkPrinterOptionClass { GObjectClass parent_class; void (*changed) (GtkPrinterOption *option); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_printer_option_get_type GType void gtk_printer_option_new GtkPrinterOption * const char *name, const char *display_text, GtkPrinterOptionType type gtk_printer_option_set void GtkPrinterOption *option, const char *value gtk_printer_option_set_has_conflict void GtkPrinterOption *option, gboolean has_conflict gtk_printer_option_clear_has_conflict void GtkPrinterOption *option gtk_printer_option_set_boolean void GtkPrinterOption *option, gboolean value gtk_printer_option_allocate_choices void GtkPrinterOption *option, int num gtk_printer_option_choices_from_array void GtkPrinterOption *option, int num_choices, const char **choices, const char **choices_display gtk_printer_option_has_choice gboolean GtkPrinterOption *option, const char *choice gtk_printer_option_set_activates_default void GtkPrinterOption *option, gboolean activates gtk_printer_option_get_activates_default gboolean GtkPrinterOption *option GTK_TYPE_PRINTER_OPTION_SET #define GTK_TYPE_PRINTER_OPTION_SET (gtk_printer_option_set_get_type ()) GTK_PRINTER_OPTION_SET #define GTK_PRINTER_OPTION_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINTER_OPTION_SET, GtkPrinterOptionSet)) GTK_IS_PRINTER_OPTION_SET #define GTK_IS_PRINTER_OPTION_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINTER_OPTION_SET)) GtkPrinterOptionSet struct _GtkPrinterOptionSet { GObject parent_instance; /*< private >*/ GPtrArray *array; GHashTable *hash; }; GtkPrinterOptionSetClass struct _GtkPrinterOptionSetClass { GObjectClass parent_class; void (*changed) (GtkPrinterOptionSet *option); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GtkPrinterOptionSetFunc void GtkPrinterOption *option, gpointer user_data gtk_printer_option_set_get_type GType void gtk_printer_option_set_new GtkPrinterOptionSet * void gtk_printer_option_set_add void GtkPrinterOptionSet *set, GtkPrinterOption *option gtk_printer_option_set_remove void GtkPrinterOptionSet *set, GtkPrinterOption *option gtk_printer_option_set_lookup GtkPrinterOption * GtkPrinterOptionSet *set, const char *name gtk_printer_option_set_foreach void GtkPrinterOptionSet *set, GtkPrinterOptionSetFunc func, gpointer user_data gtk_printer_option_set_clear_conflicts void GtkPrinterOptionSet *set gtk_printer_option_set_get_groups GList * GtkPrinterOptionSet *set gtk_printer_option_set_foreach_in_group void GtkPrinterOptionSet *set, const char *group, GtkPrinterOptionSetFunc func, gpointer user_data GTK_TYPE_PRINTER_OPTION_WIDGET #define GTK_TYPE_PRINTER_OPTION_WIDGET (gtk_printer_option_widget_get_type ()) GTK_PRINTER_OPTION_WIDGET #define GTK_PRINTER_OPTION_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINTER_OPTION_WIDGET, GtkPrinterOptionWidget)) GTK_PRINTER_OPTION_WIDGET_CLASS #define GTK_PRINTER_OPTION_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PRINTER_OPTION_WIDGET, GtkPrinterOptionWidgetClass)) GTK_IS_PRINTER_OPTION_WIDGET #define GTK_IS_PRINTER_OPTION_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINTER_OPTION_WIDGET)) GTK_IS_PRINTER_OPTION_WIDGET_CLASS #define GTK_IS_PRINTER_OPTION_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINTER_OPTION_WIDGET)) GTK_PRINTER_OPTION_WIDGET_GET_CLASS #define GTK_PRINTER_OPTION_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINTER_OPTION_WIDGET, GtkPrinterOptionWidgetClass)) GtkPrinterOptionWidgetPrivate typedef struct GtkPrinterOptionWidgetPrivate GtkPrinterOptionWidgetPrivate; GtkPrinterOptionWidget struct _GtkPrinterOptionWidget { GtkBox parent_instance; GtkPrinterOptionWidgetPrivate *priv; }; GtkPrinterOptionWidgetClass struct _GtkPrinterOptionWidgetClass { GtkBoxClass parent_class; void (*changed) (GtkPrinterOptionWidget *widget); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_printer_option_widget_get_type GType void gtk_printer_option_widget_new GtkWidget * GtkPrinterOption *source gtk_printer_option_widget_set_source void GtkPrinterOptionWidget *setting, GtkPrinterOption *source gtk_printer_option_widget_has_external_label gboolean GtkPrinterOptionWidget *setting gtk_printer_option_widget_get_external_label GtkWidget * GtkPrinterOptionWidget *setting gtk_printer_option_widget_get_value const char * GtkPrinterOptionWidget *setting GTK_TYPE_PRINT_JOB #define GTK_TYPE_PRINT_JOB (gtk_print_job_get_type ()) GTK_PRINT_JOB #define GTK_PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_JOB, GtkPrintJob)) GTK_IS_PRINT_JOB #define GTK_IS_PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_JOB)) GtkPrintJobCompleteFunc void GtkPrintJob *print_job, gpointer user_data, const GError *error gtk_print_job_get_type GType void gtk_print_job_new GtkPrintJob * const char *title, GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup gtk_print_job_get_settings GtkPrintSettings * GtkPrintJob *job gtk_print_job_get_printer GtkPrinter * GtkPrintJob *job gtk_print_job_get_title const char * GtkPrintJob *job gtk_print_job_get_status GtkPrintStatus GtkPrintJob *job gtk_print_job_set_source_file gboolean GtkPrintJob *job, const char *filename, GError **error gtk_print_job_set_source_fd gboolean GtkPrintJob *job, int fd, GError **error gtk_print_job_get_surface cairo_surface_t * GtkPrintJob *job, GError **error gtk_print_job_set_track_print_status void GtkPrintJob *job, gboolean track_status gtk_print_job_get_track_print_status gboolean GtkPrintJob *job gtk_print_job_send void GtkPrintJob *job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify gtk_print_job_get_pages GtkPrintPages GtkPrintJob *job gtk_print_job_set_pages void GtkPrintJob *job, GtkPrintPages pages gtk_print_job_get_page_ranges GtkPageRange * GtkPrintJob *job, int *n_ranges gtk_print_job_set_page_ranges void GtkPrintJob *job, GtkPageRange *ranges, int n_ranges gtk_print_job_get_page_set GtkPageSet GtkPrintJob *job gtk_print_job_set_page_set void GtkPrintJob *job, GtkPageSet page_set gtk_print_job_get_num_copies int GtkPrintJob *job gtk_print_job_set_num_copies void GtkPrintJob *job, int num_copies gtk_print_job_get_scale double GtkPrintJob *job gtk_print_job_set_scale void GtkPrintJob *job, double scale gtk_print_job_get_n_up guint GtkPrintJob *job gtk_print_job_set_n_up void GtkPrintJob *job, guint n_up gtk_print_job_get_n_up_layout GtkNumberUpLayout GtkPrintJob *job gtk_print_job_set_n_up_layout void GtkPrintJob *job, GtkNumberUpLayout layout gtk_print_job_get_rotate gboolean GtkPrintJob *job gtk_print_job_set_rotate void GtkPrintJob *job, gboolean rotate gtk_print_job_get_collate gboolean GtkPrintJob *job gtk_print_job_set_collate void GtkPrintJob *job, gboolean collate gtk_print_job_get_reverse gboolean GtkPrintJob *job gtk_print_job_set_reverse void GtkPrintJob *job, gboolean reverse GtkPrintJob gtk_print_operation_portal_run_dialog GtkPrintOperationResult GtkPrintOperation *op, gboolean show_dialog, GtkWindow *parent, gboolean *do_print gtk_print_operation_portal_run_dialog_async void GtkPrintOperation *op, gboolean show_dialog, GtkWindow *parent, GtkPrintOperationPrintFunc print_cb gtk_print_operation_portal_launch_preview void GtkPrintOperation *op, cairo_surface_t *surface, GtkWindow *parent, const char *filename GTK_TYPE_PRINT_OPERATION #define GTK_TYPE_PRINT_OPERATION (gtk_print_operation_get_type ()) GTK_PRINT_OPERATION #define GTK_PRINT_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_OPERATION, GtkPrintOperation)) GTK_PRINT_OPERATION_CLASS #define GTK_PRINT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PRINT_OPERATION, GtkPrintOperationClass)) GTK_IS_PRINT_OPERATION #define GTK_IS_PRINT_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_OPERATION)) GTK_IS_PRINT_OPERATION_CLASS #define GTK_IS_PRINT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_OPERATION)) GTK_PRINT_OPERATION_GET_CLASS #define GTK_PRINT_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINT_OPERATION, GtkPrintOperationClass)) GtkPrintStatus typedef enum { GTK_PRINT_STATUS_INITIAL, GTK_PRINT_STATUS_PREPARING, GTK_PRINT_STATUS_GENERATING_DATA, GTK_PRINT_STATUS_SENDING_DATA, GTK_PRINT_STATUS_PENDING, GTK_PRINT_STATUS_PENDING_ISSUE, GTK_PRINT_STATUS_PRINTING, GTK_PRINT_STATUS_FINISHED, GTK_PRINT_STATUS_FINISHED_ABORTED } GtkPrintStatus; GtkPrintOperationResult typedef enum { GTK_PRINT_OPERATION_RESULT_ERROR, GTK_PRINT_OPERATION_RESULT_APPLY, GTK_PRINT_OPERATION_RESULT_CANCEL, GTK_PRINT_OPERATION_RESULT_IN_PROGRESS } GtkPrintOperationResult; GtkPrintOperationAction typedef enum { GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_PRINT_OPERATION_ACTION_PRINT, GTK_PRINT_OPERATION_ACTION_PREVIEW, GTK_PRINT_OPERATION_ACTION_EXPORT } GtkPrintOperationAction; GtkPrintOperation struct _GtkPrintOperation { GObject parent_instance; /*< private >*/ GtkPrintOperationPrivate *priv; }; GtkPrintOperationClass struct _GtkPrintOperationClass { GObjectClass parent_class; /*< public >*/ void (*done) (GtkPrintOperation *operation, GtkPrintOperationResult result); void (*begin_print) (GtkPrintOperation *operation, GtkPrintContext *context); gboolean (*paginate) (GtkPrintOperation *operation, GtkPrintContext *context); void (*request_page_setup) (GtkPrintOperation *operation, GtkPrintContext *context, int page_nr, GtkPageSetup *setup); void (*draw_page) (GtkPrintOperation *operation, GtkPrintContext *context, int page_nr); void (*end_print) (GtkPrintOperation *operation, GtkPrintContext *context); void (*status_changed) (GtkPrintOperation *operation); GtkWidget *(*create_custom_widget) (GtkPrintOperation *operation); void (*custom_widget_apply) (GtkPrintOperation *operation, GtkWidget *widget); gboolean (*preview) (GtkPrintOperation *operation, GtkPrintOperationPreview *preview, GtkPrintContext *context, GtkWindow *parent); void (*update_custom_widget) (GtkPrintOperation *operation, GtkWidget *widget, GtkPageSetup *setup, GtkPrintSettings *settings); /*< private >*/ gpointer padding[8]; }; GTK_PRINT_ERROR #define GTK_PRINT_ERROR gtk_print_error_quark () GtkPrintError typedef enum { GTK_PRINT_ERROR_GENERAL, GTK_PRINT_ERROR_INTERNAL_ERROR, GTK_PRINT_ERROR_NOMEM, GTK_PRINT_ERROR_INVALID_FILE } GtkPrintError; gtk_print_error_quark GQuark void gtk_print_operation_get_type GType void gtk_print_operation_new GtkPrintOperation * void gtk_print_operation_set_default_page_setup void GtkPrintOperation *op, GtkPageSetup *default_page_setup gtk_print_operation_get_default_page_setup GtkPageSetup * GtkPrintOperation *op gtk_print_operation_set_print_settings void GtkPrintOperation *op, GtkPrintSettings *print_settings gtk_print_operation_get_print_settings GtkPrintSettings * GtkPrintOperation *op gtk_print_operation_set_job_name void GtkPrintOperation *op, const char *job_name gtk_print_operation_set_n_pages void GtkPrintOperation *op, int n_pages gtk_print_operation_set_current_page void GtkPrintOperation *op, int current_page gtk_print_operation_set_use_full_page void GtkPrintOperation *op, gboolean full_page gtk_print_operation_set_unit void GtkPrintOperation *op, GtkUnit unit gtk_print_operation_set_export_filename void GtkPrintOperation *op, const char *filename gtk_print_operation_set_track_print_status void GtkPrintOperation *op, gboolean track_status gtk_print_operation_set_show_progress void GtkPrintOperation *op, gboolean show_progress gtk_print_operation_set_allow_async void GtkPrintOperation *op, gboolean allow_async gtk_print_operation_set_custom_tab_label void GtkPrintOperation *op, const char *label gtk_print_operation_run GtkPrintOperationResult GtkPrintOperation *op, GtkPrintOperationAction action, GtkWindow *parent, GError **error gtk_print_operation_get_error void GtkPrintOperation *op, GError **error gtk_print_operation_get_status GtkPrintStatus GtkPrintOperation *op gtk_print_operation_get_status_string const char * GtkPrintOperation *op gtk_print_operation_is_finished gboolean GtkPrintOperation *op gtk_print_operation_cancel void GtkPrintOperation *op gtk_print_operation_draw_page_finish void GtkPrintOperation *op gtk_print_operation_set_defer_drawing void GtkPrintOperation *op gtk_print_operation_set_support_selection void GtkPrintOperation *op, gboolean support_selection gtk_print_operation_get_support_selection gboolean GtkPrintOperation *op gtk_print_operation_set_has_selection void GtkPrintOperation *op, gboolean has_selection gtk_print_operation_get_has_selection gboolean GtkPrintOperation *op gtk_print_operation_set_embed_page_setup void GtkPrintOperation *op, gboolean embed gtk_print_operation_get_embed_page_setup gboolean GtkPrintOperation *op gtk_print_operation_get_n_pages_to_print int GtkPrintOperation *op gtk_print_run_page_setup_dialog GtkPageSetup * GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings GtkPageSetupDoneFunc void GtkPageSetup *page_setup, gpointer data gtk_print_run_page_setup_dialog_async void GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings, GtkPageSetupDoneFunc done_cb, gpointer data GtkPrintOperationPrivate GTK_TYPE_PRINT_OPERATION_PREVIEW #define GTK_TYPE_PRINT_OPERATION_PREVIEW (gtk_print_operation_preview_get_type ()) GTK_PRINT_OPERATION_PREVIEW #define GTK_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreview)) GTK_IS_PRINT_OPERATION_PREVIEW #define GTK_IS_PRINT_OPERATION_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW)) GTK_PRINT_OPERATION_PREVIEW_GET_IFACE #define GTK_PRINT_OPERATION_PREVIEW_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_PRINT_OPERATION_PREVIEW, GtkPrintOperationPreviewIface)) GtkPrintOperationPreviewIface struct _GtkPrintOperationPreviewIface { GTypeInterface g_iface; /* signals */ void (*ready) (GtkPrintOperationPreview *preview, GtkPrintContext *context); void (*got_page_size) (GtkPrintOperationPreview *preview, GtkPrintContext *context, GtkPageSetup *page_setup); /* methods */ void (*render_page) (GtkPrintOperationPreview *preview, int page_nr); gboolean (*is_selected) (GtkPrintOperationPreview *preview, int page_nr); void (*end_preview) (GtkPrintOperationPreview *preview); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; gtk_print_operation_preview_get_type GType void gtk_print_operation_preview_render_page void GtkPrintOperationPreview *preview, int page_nr gtk_print_operation_preview_end_preview void GtkPrintOperationPreview *preview gtk_print_operation_preview_is_selected gboolean GtkPrintOperationPreview *preview, int page_nr GtkPrintOperationPreview GTK_TYPE_PRINT_SETTINGS #define GTK_TYPE_PRINT_SETTINGS (gtk_print_settings_get_type ()) GTK_PRINT_SETTINGS #define GTK_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_SETTINGS, GtkPrintSettings)) GTK_IS_PRINT_SETTINGS #define GTK_IS_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_SETTINGS)) GtkPrintSettingsFunc void const char *key, const char *value, gpointer user_data GtkPageRange struct _GtkPageRange { int start; int end; }; gtk_print_settings_get_type GType void gtk_print_settings_new GtkPrintSettings * void gtk_print_settings_copy GtkPrintSettings * GtkPrintSettings *other gtk_print_settings_new_from_file GtkPrintSettings * const char *file_name, GError **error gtk_print_settings_load_file gboolean GtkPrintSettings *settings, const char *file_name, GError **error gtk_print_settings_to_file gboolean GtkPrintSettings *settings, const char *file_name, GError **error gtk_print_settings_new_from_key_file GtkPrintSettings * GKeyFile *key_file, const char *group_name, GError **error gtk_print_settings_load_key_file gboolean GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name, GError **error gtk_print_settings_to_key_file void GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name gtk_print_settings_has_key gboolean GtkPrintSettings *settings, const char *key gtk_print_settings_get const char * GtkPrintSettings *settings, const char *key gtk_print_settings_set void GtkPrintSettings *settings, const char *key, const char *value gtk_print_settings_unset void GtkPrintSettings *settings, const char *key gtk_print_settings_foreach void GtkPrintSettings *settings, GtkPrintSettingsFunc func, gpointer user_data gtk_print_settings_get_bool gboolean GtkPrintSettings *settings, const char *key gtk_print_settings_set_bool void GtkPrintSettings *settings, const char *key, gboolean value gtk_print_settings_get_double double GtkPrintSettings *settings, const char *key gtk_print_settings_get_double_with_default double GtkPrintSettings *settings, const char *key, double def gtk_print_settings_set_double void GtkPrintSettings *settings, const char *key, double value gtk_print_settings_get_length double GtkPrintSettings *settings, const char *key, GtkUnit unit gtk_print_settings_set_length void GtkPrintSettings *settings, const char *key, double value, GtkUnit unit gtk_print_settings_get_int int GtkPrintSettings *settings, const char *key gtk_print_settings_get_int_with_default int GtkPrintSettings *settings, const char *key, int def gtk_print_settings_set_int void GtkPrintSettings *settings, const char *key, int value GTK_PRINT_SETTINGS_PRINTER #define GTK_PRINT_SETTINGS_PRINTER "printer" GTK_PRINT_SETTINGS_ORIENTATION #define GTK_PRINT_SETTINGS_ORIENTATION "orientation" GTK_PRINT_SETTINGS_PAPER_FORMAT #define GTK_PRINT_SETTINGS_PAPER_FORMAT "paper-format" GTK_PRINT_SETTINGS_PAPER_WIDTH #define GTK_PRINT_SETTINGS_PAPER_WIDTH "paper-width" GTK_PRINT_SETTINGS_PAPER_HEIGHT #define GTK_PRINT_SETTINGS_PAPER_HEIGHT "paper-height" GTK_PRINT_SETTINGS_N_COPIES #define GTK_PRINT_SETTINGS_N_COPIES "n-copies" GTK_PRINT_SETTINGS_DEFAULT_SOURCE #define GTK_PRINT_SETTINGS_DEFAULT_SOURCE "default-source" GTK_PRINT_SETTINGS_QUALITY #define GTK_PRINT_SETTINGS_QUALITY "quality" GTK_PRINT_SETTINGS_RESOLUTION #define GTK_PRINT_SETTINGS_RESOLUTION "resolution" GTK_PRINT_SETTINGS_USE_COLOR #define GTK_PRINT_SETTINGS_USE_COLOR "use-color" GTK_PRINT_SETTINGS_DUPLEX #define GTK_PRINT_SETTINGS_DUPLEX "duplex" GTK_PRINT_SETTINGS_COLLATE #define GTK_PRINT_SETTINGS_COLLATE "collate" GTK_PRINT_SETTINGS_REVERSE #define GTK_PRINT_SETTINGS_REVERSE "reverse" GTK_PRINT_SETTINGS_MEDIA_TYPE #define GTK_PRINT_SETTINGS_MEDIA_TYPE "media-type" GTK_PRINT_SETTINGS_DITHER #define GTK_PRINT_SETTINGS_DITHER "dither" GTK_PRINT_SETTINGS_SCALE #define GTK_PRINT_SETTINGS_SCALE "scale" GTK_PRINT_SETTINGS_PRINT_PAGES #define GTK_PRINT_SETTINGS_PRINT_PAGES "print-pages" GTK_PRINT_SETTINGS_PAGE_RANGES #define GTK_PRINT_SETTINGS_PAGE_RANGES "page-ranges" GTK_PRINT_SETTINGS_PAGE_SET #define GTK_PRINT_SETTINGS_PAGE_SET "page-set" GTK_PRINT_SETTINGS_FINISHINGS #define GTK_PRINT_SETTINGS_FINISHINGS "finishings" GTK_PRINT_SETTINGS_NUMBER_UP #define GTK_PRINT_SETTINGS_NUMBER_UP "number-up" GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT #define GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT "number-up-layout" GTK_PRINT_SETTINGS_OUTPUT_BIN #define GTK_PRINT_SETTINGS_OUTPUT_BIN "output-bin" GTK_PRINT_SETTINGS_RESOLUTION_X #define GTK_PRINT_SETTINGS_RESOLUTION_X "resolution-x" GTK_PRINT_SETTINGS_RESOLUTION_Y #define GTK_PRINT_SETTINGS_RESOLUTION_Y "resolution-y" GTK_PRINT_SETTINGS_PRINTER_LPI #define GTK_PRINT_SETTINGS_PRINTER_LPI "printer-lpi" GTK_PRINT_SETTINGS_OUTPUT_DIR #define GTK_PRINT_SETTINGS_OUTPUT_DIR "output-dir" GTK_PRINT_SETTINGS_OUTPUT_BASENAME #define GTK_PRINT_SETTINGS_OUTPUT_BASENAME "output-basename" GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT #define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT "output-file-format" GTK_PRINT_SETTINGS_OUTPUT_URI #define GTK_PRINT_SETTINGS_OUTPUT_URI "output-uri" GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION #define GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION "win32-driver-version" GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA #define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA "win32-driver-extra" gtk_print_settings_get_printer const char * GtkPrintSettings *settings gtk_print_settings_set_printer void GtkPrintSettings *settings, const char *printer gtk_print_settings_get_orientation GtkPageOrientation GtkPrintSettings *settings gtk_print_settings_set_orientation void GtkPrintSettings *settings, GtkPageOrientation orientation gtk_print_settings_get_paper_size GtkPaperSize * GtkPrintSettings *settings gtk_print_settings_set_paper_size void GtkPrintSettings *settings, GtkPaperSize *paper_size gtk_print_settings_get_paper_width double GtkPrintSettings *settings, GtkUnit unit gtk_print_settings_set_paper_width void GtkPrintSettings *settings, double width, GtkUnit unit gtk_print_settings_get_paper_height double GtkPrintSettings *settings, GtkUnit unit gtk_print_settings_set_paper_height void GtkPrintSettings *settings, double height, GtkUnit unit gtk_print_settings_get_use_color gboolean GtkPrintSettings *settings gtk_print_settings_set_use_color void GtkPrintSettings *settings, gboolean use_color gtk_print_settings_get_collate gboolean GtkPrintSettings *settings gtk_print_settings_set_collate void GtkPrintSettings *settings, gboolean collate gtk_print_settings_get_reverse gboolean GtkPrintSettings *settings gtk_print_settings_set_reverse void GtkPrintSettings *settings, gboolean reverse gtk_print_settings_get_duplex GtkPrintDuplex GtkPrintSettings *settings gtk_print_settings_set_duplex void GtkPrintSettings *settings, GtkPrintDuplex duplex gtk_print_settings_get_quality GtkPrintQuality GtkPrintSettings *settings gtk_print_settings_set_quality void GtkPrintSettings *settings, GtkPrintQuality quality gtk_print_settings_get_n_copies int GtkPrintSettings *settings gtk_print_settings_set_n_copies void GtkPrintSettings *settings, int num_copies gtk_print_settings_get_number_up int GtkPrintSettings *settings gtk_print_settings_set_number_up void GtkPrintSettings *settings, int number_up gtk_print_settings_get_number_up_layout GtkNumberUpLayout GtkPrintSettings *settings gtk_print_settings_set_number_up_layout void GtkPrintSettings *settings, GtkNumberUpLayout number_up_layout gtk_print_settings_get_resolution int GtkPrintSettings *settings gtk_print_settings_set_resolution void GtkPrintSettings *settings, int resolution gtk_print_settings_get_resolution_x int GtkPrintSettings *settings gtk_print_settings_get_resolution_y int GtkPrintSettings *settings gtk_print_settings_set_resolution_xy void GtkPrintSettings *settings, int resolution_x, int resolution_y gtk_print_settings_get_printer_lpi double GtkPrintSettings *settings gtk_print_settings_set_printer_lpi void GtkPrintSettings *settings, double lpi gtk_print_settings_get_scale double GtkPrintSettings *settings gtk_print_settings_set_scale void GtkPrintSettings *settings, double scale gtk_print_settings_get_print_pages GtkPrintPages GtkPrintSettings *settings gtk_print_settings_set_print_pages void GtkPrintSettings *settings, GtkPrintPages pages gtk_print_settings_get_page_ranges GtkPageRange * GtkPrintSettings *settings, int *num_ranges gtk_print_settings_set_page_ranges void GtkPrintSettings *settings, GtkPageRange *page_ranges, int num_ranges gtk_print_settings_get_page_set GtkPageSet GtkPrintSettings *settings gtk_print_settings_set_page_set void GtkPrintSettings *settings, GtkPageSet page_set gtk_print_settings_get_default_source const char * GtkPrintSettings *settings gtk_print_settings_set_default_source void GtkPrintSettings *settings, const char *default_source gtk_print_settings_get_media_type const char * GtkPrintSettings *settings gtk_print_settings_set_media_type void GtkPrintSettings *settings, const char *media_type gtk_print_settings_get_dither const char * GtkPrintSettings *settings gtk_print_settings_set_dither void GtkPrintSettings *settings, const char *dither gtk_print_settings_get_finishings const char * GtkPrintSettings *settings gtk_print_settings_set_finishings void GtkPrintSettings *settings, const char *finishings gtk_print_settings_get_output_bin const char * GtkPrintSettings *settings gtk_print_settings_set_output_bin void GtkPrintSettings *settings, const char *output_bin gtk_print_settings_to_gvariant GVariant * GtkPrintSettings *settings gtk_print_settings_new_from_gvariant GtkPrintSettings * GVariant *variant GtkPrintSettings GTK_TYPE_PRINT_UNIX_DIALOG #define GTK_TYPE_PRINT_UNIX_DIALOG (gtk_print_unix_dialog_get_type ()) GTK_PRINT_UNIX_DIALOG #define GTK_PRINT_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_UNIX_DIALOG, GtkPrintUnixDialog)) GTK_IS_PRINT_UNIX_DIALOG #define GTK_IS_PRINT_UNIX_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_UNIX_DIALOG)) gtk_print_unix_dialog_get_type GType void gtk_print_unix_dialog_new GtkWidget * const char *title, GtkWindow *parent gtk_print_unix_dialog_set_page_setup void GtkPrintUnixDialog *dialog, GtkPageSetup *page_setup gtk_print_unix_dialog_get_page_setup GtkPageSetup * GtkPrintUnixDialog *dialog gtk_print_unix_dialog_set_current_page void GtkPrintUnixDialog *dialog, int current_page gtk_print_unix_dialog_get_current_page int GtkPrintUnixDialog *dialog gtk_print_unix_dialog_set_settings void GtkPrintUnixDialog *dialog, GtkPrintSettings *settings gtk_print_unix_dialog_get_settings GtkPrintSettings * GtkPrintUnixDialog *dialog gtk_print_unix_dialog_get_selected_printer GtkPrinter * GtkPrintUnixDialog *dialog gtk_print_unix_dialog_add_custom_tab void GtkPrintUnixDialog *dialog, GtkWidget *child, GtkWidget *tab_label gtk_print_unix_dialog_set_manual_capabilities void GtkPrintUnixDialog *dialog, GtkPrintCapabilities capabilities gtk_print_unix_dialog_get_manual_capabilities GtkPrintCapabilities GtkPrintUnixDialog *dialog gtk_print_unix_dialog_set_support_selection void GtkPrintUnixDialog *dialog, gboolean support_selection gtk_print_unix_dialog_get_support_selection gboolean GtkPrintUnixDialog *dialog gtk_print_unix_dialog_set_has_selection void GtkPrintUnixDialog *dialog, gboolean has_selection gtk_print_unix_dialog_get_has_selection gboolean GtkPrintUnixDialog *dialog gtk_print_unix_dialog_set_embed_page_setup void GtkPrintUnixDialog *dialog, gboolean embed gtk_print_unix_dialog_get_embed_page_setup gboolean GtkPrintUnixDialog *dialog gtk_print_unix_dialog_get_page_setup_set gboolean GtkPrintUnixDialog *dialog GtkPrintUnixDialog MM_PER_INCH #define MM_PER_INCH 25.4 POINTS_PER_INCH #define POINTS_PER_INCH 72 GTK_TYPE_PROGRESS_BAR #define GTK_TYPE_PROGRESS_BAR (gtk_progress_bar_get_type ()) GTK_PROGRESS_BAR #define GTK_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBar)) GTK_IS_PROGRESS_BAR #define GTK_IS_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PROGRESS_BAR)) gtk_progress_bar_get_type GType void gtk_progress_bar_new GtkWidget * void gtk_progress_bar_pulse void GtkProgressBar *pbar gtk_progress_bar_set_text void GtkProgressBar *pbar, const char *text gtk_progress_bar_set_fraction void GtkProgressBar *pbar, double fraction gtk_progress_bar_set_pulse_step void GtkProgressBar *pbar, double fraction gtk_progress_bar_set_inverted void GtkProgressBar *pbar, gboolean inverted gtk_progress_bar_get_text const char * GtkProgressBar *pbar gtk_progress_bar_get_fraction double GtkProgressBar *pbar gtk_progress_bar_get_pulse_step double GtkProgressBar *pbar gtk_progress_bar_get_inverted gboolean GtkProgressBar *pbar gtk_progress_bar_set_ellipsize void GtkProgressBar *pbar, PangoEllipsizeMode mode gtk_progress_bar_get_ellipsize PangoEllipsizeMode GtkProgressBar *pbar gtk_progress_bar_set_show_text void GtkProgressBar *pbar, gboolean show_text gtk_progress_bar_get_show_text gboolean GtkProgressBar *pbar GtkProgressBar GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL #define GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL (gtk_property_lookup_list_model_get_type ()) GTK_PROPERTY_LOOKUP_LIST_MODEL #define GTK_PROPERTY_LOOKUP_LIST_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL, GtkPropertyLookupListModel)) GTK_PROPERTY_LOOKUP_LIST_MODEL_CLASS #define GTK_PROPERTY_LOOKUP_LIST_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL, GtkPropertyLookupListModelClass)) GTK_IS_PROPERTY_LOOKUP_LIST_MODEL #define GTK_IS_PROPERTY_LOOKUP_LIST_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL)) GTK_IS_PROPERTY_LOOKUP_LIST_MODEL_CLASS #define GTK_IS_PROPERTY_LOOKUP_LIST_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL)) GTK_PROPERTY_LOOKUP_LIST_MODEL_GET_CLASS #define GTK_PROPERTY_LOOKUP_LIST_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL, GtkPropertyLookupListModelClass)) gtk_property_lookup_list_model_get_type GType void gtk_property_lookup_list_model_new GtkPropertyLookupListModel * GType item_type, const char *property_name gtk_property_lookup_list_model_set_object void GtkPropertyLookupListModel *self, gpointer object gtk_property_lookup_list_model_get_object gpointer GtkPropertyLookupListModel *self GtkPropertyLookupListModel GtkPropertyLookupListModelClass GTK_TYPE_RADIO_BUTTON #define GTK_TYPE_RADIO_BUTTON (gtk_radio_button_get_type ()) GTK_RADIO_BUTTON #define GTK_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton)) GTK_IS_RADIO_BUTTON #define GTK_IS_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_BUTTON)) gtk_radio_button_get_type GType void gtk_radio_button_new GtkWidget * GSList *group gtk_radio_button_new_from_widget GtkWidget * GtkRadioButton *radio_group_member gtk_radio_button_new_with_label GtkWidget * GSList *group, const char *label gtk_radio_button_new_with_label_from_widget GtkWidget * GtkRadioButton *radio_group_member, const char *label gtk_radio_button_new_with_mnemonic GtkWidget * GSList *group, const char *label gtk_radio_button_new_with_mnemonic_from_widget GtkWidget * GtkRadioButton *radio_group_member, const char *label gtk_radio_button_get_group GSList * GtkRadioButton *radio_button gtk_radio_button_set_group void GtkRadioButton *radio_button, GSList *group gtk_radio_button_join_group void GtkRadioButton *radio_button, GtkRadioButton *group_source GtkRadioButton GTK_TYPE_RANGE #define GTK_TYPE_RANGE (gtk_range_get_type ()) GTK_RANGE #define GTK_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RANGE, GtkRange)) GTK_RANGE_CLASS #define GTK_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RANGE, GtkRangeClass)) GTK_IS_RANGE #define GTK_IS_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RANGE)) GTK_IS_RANGE_CLASS #define GTK_IS_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE)) GTK_RANGE_GET_CLASS #define GTK_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RANGE, GtkRangeClass)) GtkRange struct _GtkRange { GtkWidget parent_instance; }; GtkRangeClass struct _GtkRangeClass { GtkWidgetClass parent_class; void (* value_changed) (GtkRange *range); void (* adjust_bounds) (GtkRange *range, double new_value); /* action signals for keybindings */ void (* move_slider) (GtkRange *range, GtkScrollType scroll); /* Virtual functions */ void (* get_range_border) (GtkRange *range, GtkBorder *border_); gboolean (* change_value) (GtkRange *range, GtkScrollType scroll, double new_value); /*< private > */ gpointer padding[8]; }; gtk_range_get_type GType void gtk_range_set_adjustment void GtkRange *range, GtkAdjustment *adjustment gtk_range_get_adjustment GtkAdjustment * GtkRange *range gtk_range_set_inverted void GtkRange *range, gboolean setting gtk_range_get_inverted gboolean GtkRange *range gtk_range_set_flippable void GtkRange *range, gboolean flippable gtk_range_get_flippable gboolean GtkRange *range gtk_range_set_slider_size_fixed void GtkRange *range, gboolean size_fixed gtk_range_get_slider_size_fixed gboolean GtkRange *range gtk_range_get_range_rect void GtkRange *range, GdkRectangle *range_rect gtk_range_get_slider_range void GtkRange *range, int *slider_start, int *slider_end gtk_range_set_increments void GtkRange *range, double step, double page gtk_range_set_range void GtkRange *range, double min, double max gtk_range_set_value void GtkRange *range, double value gtk_range_get_value double GtkRange *range gtk_range_set_show_fill_level void GtkRange *range, gboolean show_fill_level gtk_range_get_show_fill_level gboolean GtkRange *range gtk_range_set_restrict_to_fill_level void GtkRange *range, gboolean restrict_to_fill_level gtk_range_get_restrict_to_fill_level gboolean GtkRange *range gtk_range_set_fill_level void GtkRange *range, double fill_level gtk_range_get_fill_level double GtkRange *range gtk_range_set_round_digits void GtkRange *range, int round_digits gtk_range_get_round_digits int GtkRange *range GTK_TYPE_RECENT_INFO #define GTK_TYPE_RECENT_INFO (gtk_recent_info_get_type ()) GTK_TYPE_RECENT_MANAGER #define GTK_TYPE_RECENT_MANAGER (gtk_recent_manager_get_type ()) GTK_RECENT_MANAGER #define GTK_RECENT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RECENT_MANAGER, GtkRecentManager)) GTK_IS_RECENT_MANAGER #define GTK_IS_RECENT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RECENT_MANAGER)) GTK_RECENT_MANAGER_CLASS #define GTK_RECENT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RECENT_MANAGER, GtkRecentManagerClass)) GTK_IS_RECENT_MANAGER_CLASS #define GTK_IS_RECENT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RECENT_MANAGER)) GTK_RECENT_MANAGER_GET_CLASS #define GTK_RECENT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RECENT_MANAGER, GtkRecentManagerClass)) GtkRecentData struct _GtkRecentData { char *display_name; char *description; char *mime_type; char *app_name; char *app_exec; char **groups; gboolean is_private; }; GtkRecentManager struct _GtkRecentManager { /*< private >*/ GObject parent_instance; GtkRecentManagerPrivate *priv; }; GtkRecentManagerClass struct _GtkRecentManagerClass { /*< private >*/ GObjectClass parent_class; void (*changed) (GtkRecentManager *manager); /* padding for future expansion */ void (*_gtk_recent1) (void); void (*_gtk_recent2) (void); void (*_gtk_recent3) (void); void (*_gtk_recent4) (void); }; GtkRecentManagerError typedef enum { GTK_RECENT_MANAGER_ERROR_NOT_FOUND, GTK_RECENT_MANAGER_ERROR_INVALID_URI, GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING, GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED, GTK_RECENT_MANAGER_ERROR_READ, GTK_RECENT_MANAGER_ERROR_WRITE, GTK_RECENT_MANAGER_ERROR_UNKNOWN } GtkRecentManagerError; GTK_RECENT_MANAGER_ERROR #define GTK_RECENT_MANAGER_ERROR (gtk_recent_manager_error_quark ()) gtk_recent_manager_error_quark GQuark void gtk_recent_manager_get_type GType void gtk_recent_manager_new GtkRecentManager * void gtk_recent_manager_get_default GtkRecentManager * void gtk_recent_manager_add_item gboolean GtkRecentManager *manager, const char *uri gtk_recent_manager_add_full gboolean GtkRecentManager *manager, const char *uri, const GtkRecentData *recent_data gtk_recent_manager_remove_item gboolean GtkRecentManager *manager, const char *uri, GError **error gtk_recent_manager_lookup_item GtkRecentInfo * GtkRecentManager *manager, const char *uri, GError **error gtk_recent_manager_has_item gboolean GtkRecentManager *manager, const char *uri gtk_recent_manager_move_item gboolean GtkRecentManager *manager, const char *uri, const char *new_uri, GError **error gtk_recent_manager_get_items GList * GtkRecentManager *manager gtk_recent_manager_purge_items int GtkRecentManager *manager, GError **error gtk_recent_info_get_type GType void gtk_recent_info_ref GtkRecentInfo * GtkRecentInfo *info gtk_recent_info_unref void GtkRecentInfo *info gtk_recent_info_get_uri const char * GtkRecentInfo *info gtk_recent_info_get_display_name const char * GtkRecentInfo *info gtk_recent_info_get_description const char * GtkRecentInfo *info gtk_recent_info_get_mime_type const char * GtkRecentInfo *info gtk_recent_info_get_added time_t GtkRecentInfo *info gtk_recent_info_get_modified time_t GtkRecentInfo *info gtk_recent_info_get_visited time_t GtkRecentInfo *info gtk_recent_info_get_private_hint gboolean GtkRecentInfo *info gtk_recent_info_get_application_info gboolean GtkRecentInfo *info, const char *app_name, const char **app_exec, guint *count, time_t *time_ gtk_recent_info_create_app_info GAppInfo * GtkRecentInfo *info, const char *app_name, GError **error gtk_recent_info_get_applications char ** GtkRecentInfo *info, gsize *length gtk_recent_info_last_application char * GtkRecentInfo *info gtk_recent_info_has_application gboolean GtkRecentInfo *info, const char *app_name gtk_recent_info_get_groups char ** GtkRecentInfo *info, gsize *length gtk_recent_info_has_group gboolean GtkRecentInfo *info, const char *group_name gtk_recent_info_get_gicon GIcon * GtkRecentInfo *info gtk_recent_info_get_short_name char * GtkRecentInfo *info gtk_recent_info_get_uri_display char * GtkRecentInfo *info gtk_recent_info_get_age int GtkRecentInfo *info gtk_recent_info_is_local gboolean GtkRecentInfo *info gtk_recent_info_exists gboolean GtkRecentInfo *info gtk_recent_info_match gboolean GtkRecentInfo *info_a, GtkRecentInfo *info_b GtkRecentInfo GtkRecentManagerPrivate gtk_render_check void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_option void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_arrow void GtkStyleContext *context, cairo_t *cr, double angle, double x, double y, double size gtk_render_background void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_frame void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_expander void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_focus void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_layout void GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout gtk_render_line void GtkStyleContext *context, cairo_t *cr, double x0, double y0, double x1, double y1 gtk_render_slider void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height, GtkOrientation orientation gtk_render_handle void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_activity void GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height gtk_render_icon void GtkStyleContext *context, cairo_t *cr, GdkTexture *texture, double x, double y GTK_TYPE_REVEALER #define GTK_TYPE_REVEALER (gtk_revealer_get_type ()) GTK_REVEALER #define GTK_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_REVEALER, GtkRevealer)) GTK_IS_REVEALER #define GTK_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_REVEALER)) GtkRevealerTransitionType typedef enum { GTK_REVEALER_TRANSITION_TYPE_NONE, GTK_REVEALER_TRANSITION_TYPE_CROSSFADE, GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT, GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT, GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN, GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT, GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT, GTK_REVEALER_TRANSITION_TYPE_SWING_UP, GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN } GtkRevealerTransitionType; gtk_revealer_get_type GType void gtk_revealer_new GtkWidget * void gtk_revealer_get_reveal_child gboolean GtkRevealer *revealer gtk_revealer_set_reveal_child void GtkRevealer *revealer, gboolean reveal_child gtk_revealer_get_child_revealed gboolean GtkRevealer *revealer gtk_revealer_get_transition_duration guint GtkRevealer *revealer gtk_revealer_set_transition_duration void GtkRevealer *revealer, guint duration gtk_revealer_set_transition_type void GtkRevealer *revealer, GtkRevealerTransitionType transition gtk_revealer_get_transition_type GtkRevealerTransitionType GtkRevealer *revealer gtk_revealer_set_child void GtkRevealer *revealer, GtkWidget *child gtk_revealer_get_child GtkWidget * GtkRevealer *revealer GtkRevealer GTK_TYPE_ROOT #define GTK_TYPE_ROOT (gtk_root_get_type ()) gtk_root_get_display GdkDisplay * GtkRoot *self gtk_root_set_focus void GtkRoot *self, GtkWidget *focus gtk_root_get_focus GtkWidget * GtkRoot *self GtkRoot GtkRootInterface GtkRootInterface struct _GtkRootInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ GdkDisplay * (* get_display) (GtkRoot *self); GtkConstraintSolver * (* get_constraint_solver) (GtkRoot *self); GtkWidget * (* get_focus) (GtkRoot *self); void (* set_focus) (GtkRoot *self, GtkWidget *focus); }; gtk_root_get_constraint_solver GtkConstraintSolver * GtkRoot *self gtk_root_start_layout void GtkRoot *self gtk_root_stop_layout void GtkRoot *self gtk_root_queue_restyle void GtkRoot *self GTK_TYPE_SCALE #define GTK_TYPE_SCALE (gtk_scale_get_type ()) GTK_SCALE #define GTK_SCALE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE, GtkScale)) GTK_SCALE_CLASS #define GTK_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE, GtkScaleClass)) GTK_IS_SCALE #define GTK_IS_SCALE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE)) GTK_IS_SCALE_CLASS #define GTK_IS_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE)) GTK_SCALE_GET_CLASS #define GTK_SCALE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCALE, GtkScaleClass)) GtkScale struct _GtkScale { GtkRange parent_instance; }; GtkScaleClass struct _GtkScaleClass { GtkRangeClass parent_class; void (* get_layout_offsets) (GtkScale *scale, int *x, int *y); /*< private >*/ gpointer padding[8]; }; GtkScaleFormatValueFunc char * GtkScale *scale, double value, gpointer user_data gtk_scale_get_type GType void gtk_scale_new GtkWidget * GtkOrientation orientation, GtkAdjustment *adjustment gtk_scale_new_with_range GtkWidget * GtkOrientation orientation, double min, double max, double step gtk_scale_set_digits void GtkScale *scale, int digits gtk_scale_get_digits int GtkScale *scale gtk_scale_set_draw_value void GtkScale *scale, gboolean draw_value gtk_scale_get_draw_value gboolean GtkScale *scale gtk_scale_set_has_origin void GtkScale *scale, gboolean has_origin gtk_scale_get_has_origin gboolean GtkScale *scale gtk_scale_set_value_pos void GtkScale *scale, GtkPositionType pos gtk_scale_get_value_pos GtkPositionType GtkScale *scale gtk_scale_get_layout PangoLayout * GtkScale *scale gtk_scale_get_layout_offsets void GtkScale *scale, int *x, int *y gtk_scale_add_mark void GtkScale *scale, double value, GtkPositionType position, const char *markup gtk_scale_clear_marks void GtkScale *scale gtk_scale_set_format_value_func void GtkScale *scale, GtkScaleFormatValueFunc func, gpointer user_data, GDestroyNotify destroy_notify GTK_TYPE_SCALE_BUTTON #define GTK_TYPE_SCALE_BUTTON (gtk_scale_button_get_type ()) GTK_SCALE_BUTTON #define GTK_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE_BUTTON, GtkScaleButton)) GTK_SCALE_BUTTON_CLASS #define GTK_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE_BUTTON, GtkScaleButtonClass)) GTK_IS_SCALE_BUTTON #define GTK_IS_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE_BUTTON)) GTK_IS_SCALE_BUTTON_CLASS #define GTK_IS_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE_BUTTON)) GTK_SCALE_BUTTON_GET_CLASS #define GTK_SCALE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCALE_BUTTON, GtkScaleButtonClass)) GtkScaleButton struct _GtkScaleButton { GtkButton parent_instance; }; GtkScaleButtonClass struct _GtkScaleButtonClass { GtkButtonClass parent_class; /* signals */ void (* value_changed) (GtkScaleButton *button, double value); /*< private >*/ gpointer padding[8]; }; gtk_scale_button_get_type GType void gtk_scale_button_new GtkWidget * double min, double max, double step, const char **icons gtk_scale_button_set_icons void GtkScaleButton *button, const char **icons gtk_scale_button_get_value double GtkScaleButton *button gtk_scale_button_set_value void GtkScaleButton *button, double value gtk_scale_button_get_adjustment GtkAdjustment * GtkScaleButton *button gtk_scale_button_set_adjustment void GtkScaleButton *button, GtkAdjustment *adjustment gtk_scale_button_get_plus_button GtkWidget * GtkScaleButton *button gtk_scale_button_get_minus_button GtkWidget * GtkScaleButton *button gtk_scale_button_get_popup GtkWidget * GtkScaleButton *button GTK_TYPE_SCROLLABLE #define GTK_TYPE_SCROLLABLE (gtk_scrollable_get_type ()) GTK_SCROLLABLE #define GTK_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLABLE, GtkScrollable)) GTK_IS_SCROLLABLE #define GTK_IS_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLABLE)) GTK_SCROLLABLE_GET_IFACE #define GTK_SCROLLABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_SCROLLABLE, GtkScrollableInterface)) GtkScrollableInterface struct _GtkScrollableInterface { GTypeInterface base_iface; gboolean (* get_border) (GtkScrollable *scrollable, GtkBorder *border); }; gtk_scrollable_get_type GType void gtk_scrollable_get_hadjustment GtkAdjustment * GtkScrollable *scrollable gtk_scrollable_set_hadjustment void GtkScrollable *scrollable, GtkAdjustment *hadjustment gtk_scrollable_get_vadjustment GtkAdjustment * GtkScrollable *scrollable gtk_scrollable_set_vadjustment void GtkScrollable *scrollable, GtkAdjustment *vadjustment gtk_scrollable_get_hscroll_policy GtkScrollablePolicy GtkScrollable *scrollable gtk_scrollable_set_hscroll_policy void GtkScrollable *scrollable, GtkScrollablePolicy policy gtk_scrollable_get_vscroll_policy GtkScrollablePolicy GtkScrollable *scrollable gtk_scrollable_set_vscroll_policy void GtkScrollable *scrollable, GtkScrollablePolicy policy gtk_scrollable_get_border gboolean GtkScrollable *scrollable, GtkBorder *border GtkScrollable GTK_TYPE_SCROLLBAR #define GTK_TYPE_SCROLLBAR (gtk_scrollbar_get_type ()) GTK_SCROLLBAR #define GTK_SCROLLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLBAR, GtkScrollbar)) GTK_IS_SCROLLBAR #define GTK_IS_SCROLLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLBAR)) gtk_scrollbar_get_type GType void gtk_scrollbar_new GtkWidget * GtkOrientation orientation, GtkAdjustment *adjustment gtk_scrollbar_set_adjustment void GtkScrollbar *self, GtkAdjustment *adjustment gtk_scrollbar_get_adjustment GtkAdjustment * GtkScrollbar *self GtkScrollbar GTK_TYPE_SCROLLED_WINDOW #define GTK_TYPE_SCROLLED_WINDOW (gtk_scrolled_window_get_type ()) GTK_SCROLLED_WINDOW #define GTK_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindow)) GTK_IS_SCROLLED_WINDOW #define GTK_IS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLED_WINDOW)) GtkCornerType typedef enum { GTK_CORNER_TOP_LEFT, GTK_CORNER_BOTTOM_LEFT, GTK_CORNER_TOP_RIGHT, GTK_CORNER_BOTTOM_RIGHT } GtkCornerType; GtkPolicyType typedef enum { GTK_POLICY_ALWAYS, GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER, GTK_POLICY_EXTERNAL } GtkPolicyType; gtk_scrolled_window_get_type GType void gtk_scrolled_window_new GtkWidget * void gtk_scrolled_window_set_hadjustment void GtkScrolledWindow *scrolled_window, GtkAdjustment *hadjustment gtk_scrolled_window_set_vadjustment void GtkScrolledWindow *scrolled_window, GtkAdjustment *vadjustment gtk_scrolled_window_get_hadjustment GtkAdjustment * GtkScrolledWindow *scrolled_window gtk_scrolled_window_get_vadjustment GtkAdjustment * GtkScrolledWindow *scrolled_window gtk_scrolled_window_get_hscrollbar GtkWidget * GtkScrolledWindow *scrolled_window gtk_scrolled_window_get_vscrollbar GtkWidget * GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_policy void GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy gtk_scrolled_window_get_policy void GtkScrolledWindow *scrolled_window, GtkPolicyType *hscrollbar_policy, GtkPolicyType *vscrollbar_policy gtk_scrolled_window_set_placement void GtkScrolledWindow *scrolled_window, GtkCornerType window_placement gtk_scrolled_window_unset_placement void GtkScrolledWindow *scrolled_window gtk_scrolled_window_get_placement GtkCornerType GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_has_frame void GtkScrolledWindow *scrolled_window, gboolean has_frame gtk_scrolled_window_get_has_frame gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_get_min_content_width int GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_min_content_width void GtkScrolledWindow *scrolled_window, int width gtk_scrolled_window_get_min_content_height int GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_min_content_height void GtkScrolledWindow *scrolled_window, int height gtk_scrolled_window_set_kinetic_scrolling void GtkScrolledWindow *scrolled_window, gboolean kinetic_scrolling gtk_scrolled_window_get_kinetic_scrolling gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_capture_button_press void GtkScrolledWindow *scrolled_window, gboolean capture_button_press gtk_scrolled_window_get_capture_button_press gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_overlay_scrolling void GtkScrolledWindow *scrolled_window, gboolean overlay_scrolling gtk_scrolled_window_get_overlay_scrolling gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_max_content_width void GtkScrolledWindow *scrolled_window, int width gtk_scrolled_window_get_max_content_width int GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_max_content_height void GtkScrolledWindow *scrolled_window, int height gtk_scrolled_window_get_max_content_height int GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_propagate_natural_width void GtkScrolledWindow *scrolled_window, gboolean propagate gtk_scrolled_window_get_propagate_natural_width gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_propagate_natural_height void GtkScrolledWindow *scrolled_window, gboolean propagate gtk_scrolled_window_get_propagate_natural_height gboolean GtkScrolledWindow *scrolled_window gtk_scrolled_window_set_child void GtkScrolledWindow *scrolled_window, GtkWidget *child gtk_scrolled_window_get_child GtkWidget * GtkScrolledWindow *scrolled_window GtkScrolledWindow GTK_TYPE_SEARCH_BAR #define GTK_TYPE_SEARCH_BAR (gtk_search_bar_get_type ()) GTK_SEARCH_BAR #define GTK_SEARCH_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_BAR, GtkSearchBar)) GTK_IS_SEARCH_BAR #define GTK_IS_SEARCH_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_BAR)) gtk_search_bar_get_type GType void gtk_search_bar_new GtkWidget * void gtk_search_bar_connect_entry void GtkSearchBar *bar, GtkEditable *entry gtk_search_bar_get_search_mode gboolean GtkSearchBar *bar gtk_search_bar_set_search_mode void GtkSearchBar *bar, gboolean search_mode gtk_search_bar_get_show_close_button gboolean GtkSearchBar *bar gtk_search_bar_set_show_close_button void GtkSearchBar *bar, gboolean visible gtk_search_bar_set_key_capture_widget void GtkSearchBar *bar, GtkWidget *widget gtk_search_bar_get_key_capture_widget GtkWidget * GtkSearchBar *bar gtk_search_bar_set_child void GtkSearchBar *bar, GtkWidget *child gtk_search_bar_get_child GtkWidget * GtkSearchBar *bar GtkSearchBar GTK_TYPE_SEARCH_ENGINE #define GTK_TYPE_SEARCH_ENGINE (_gtk_search_engine_get_type ()) GTK_SEARCH_ENGINE #define GTK_SEARCH_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngine)) GTK_SEARCH_ENGINE_CLASS #define GTK_SEARCH_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngineClass)) GTK_IS_SEARCH_ENGINE #define GTK_IS_SEARCH_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_ENGINE)) GTK_IS_SEARCH_ENGINE_CLASS #define GTK_IS_SEARCH_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEARCH_ENGINE)) GTK_SEARCH_ENGINE_GET_CLASS #define GTK_SEARCH_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngineClass)) GtkSearchHit struct _GtkSearchHit { GFile *file; GFileInfo *info; /* may be NULL */ }; GtkSearchEngine struct _GtkSearchEngine { GObject parent; GtkSearchEnginePrivate *priv; }; GtkSearchEngineClass struct _GtkSearchEngineClass { GObjectClass parent_class; /* VTable */ void (*set_query) (GtkSearchEngine *engine, GtkQuery *query); void (*start) (GtkSearchEngine *engine); void (*stop) (GtkSearchEngine *engine); /* Signals */ void (*hits_added) (GtkSearchEngine *engine, GList *hits); void (*finished) (GtkSearchEngine *engine); void (*error) (GtkSearchEngine *engine, const char *error_message); }; GtkSearchEnginePrivate GTK_TYPE_SEARCH_ENGINE_MODEL #define GTK_TYPE_SEARCH_ENGINE_MODEL (_gtk_search_engine_model_get_type ()) GTK_SEARCH_ENGINE_MODEL #define GTK_SEARCH_ENGINE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_ENGINE_MODEL, GtkSearchEngineModel)) GTK_SEARCH_ENGINE_MODEL_CLASS #define GTK_SEARCH_ENGINE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEARCH_ENGINE_MODEL, GtkSearchEngineModelClass)) GTK_IS_SEARCH_ENGINE_MODEL #define GTK_IS_SEARCH_ENGINE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_ENGINE_MODEL)) GTK_IS_SEARCH_ENGINE_MODEL_CLASS #define GTK_IS_SEARCH_ENGINE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEARCH_ENGINE_MODEL)) GTK_SEARCH_ENGINE_MODEL_GET_CLASS #define GTK_SEARCH_ENGINE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEARCH_ENGINE_MODEL, GtkSearchEngineModelClass)) GtkSearchEngineModel GtkSearchEngineModelClass GTK_TYPE_SEARCH_ENGINE_QUARTZ #define GTK_TYPE_SEARCH_ENGINE_QUARTZ (_gtk_search_engine_quartz_get_type ()) GTK_SEARCH_ENGINE_QUARTZ #define GTK_SEARCH_ENGINE_QUARTZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_ENGINE_QUARTZ, GtkSearchEngineQuartz)) GTK_SEARCH_ENGINE_QUARTZ_CLASS #define GTK_SEARCH_ENGINE_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEARCH_ENGINE_QUARTZ, GtkSearchEngineQuartzClass)) GTK_IS_SEARCH_ENGINE_QUARTZ #define GTK_IS_SEARCH_ENGINE_QUARTZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_ENGINE_QUARTZ)) GTK_IS_SEARCH_ENGINE_QUARTZ_CLASS #define GTK_IS_SEARCH_ENGINE_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEARCH_ENGINE_QUARTZ)) GTK_SEARCH_ENGINE_QUARTZ_GET_CLASS #define GTK_SEARCH_ENGINE_QUARTZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEARCH_ENGINE_QUARTZ, GtkSearchEngineQuartzClass)) GtkSearchEngineQuartz struct _GtkSearchEngineQuartz { GtkSearchEngine parent; GtkSearchEngineQuartzPrivate *priv; }; GtkSearchEngineQuartzClass struct _GtkSearchEngineQuartzClass { GtkSearchEngineClass parent_class; }; GtkSearchEngineQuartzPrivate GTK_TYPE_SEARCH_ENGINE_TRACKER3 #define GTK_TYPE_SEARCH_ENGINE_TRACKER3 (gtk_search_engine_tracker3_get_type ()) gtk_search_engine_tracker3_new GtkSearchEngine * void GtkSearchEngineTracker3 GTK_TYPE_SEARCH_ENTRY #define GTK_TYPE_SEARCH_ENTRY (gtk_search_entry_get_type ()) GTK_SEARCH_ENTRY #define GTK_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_ENTRY, GtkSearchEntry)) GTK_IS_SEARCH_ENTRY #define GTK_IS_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_ENTRY)) gtk_search_entry_get_type GType void gtk_search_entry_new GtkWidget * void gtk_search_entry_set_key_capture_widget void GtkSearchEntry *entry, GtkWidget *widget gtk_search_entry_get_key_capture_widget GtkWidget * GtkSearchEntry *entry GtkSearchEntry GTK_TYPE_SELECTION_FILTER_MODEL #define GTK_TYPE_SELECTION_FILTER_MODEL (gtk_selection_filter_model_get_type ()) gtk_selection_filter_model_new GtkSelectionFilterModel * GtkSelectionModel *model gtk_selection_filter_model_new_for_type GtkSelectionFilterModel * GType item_type gtk_selection_filter_model_set_model void GtkSelectionFilterModel *self, GtkSelectionModel *model gtk_selection_filter_model_get_model GtkSelectionModel * GtkSelectionFilterModel *self GtkSelectionFilterModel GTK_TYPE_SELECTION_MODEL #define GTK_TYPE_SELECTION_MODEL (gtk_selection_model_get_type ()) GtkSelectionModelInterface struct _GtkSelectionModelInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ gboolean (* is_selected) (GtkSelectionModel *model, guint position); GtkBitset * (* get_selection_in_range) (GtkSelectionModel *model, guint position, guint n_items); gboolean (* select_item) (GtkSelectionModel *model, guint position, gboolean unselect_rest); gboolean (* unselect_item) (GtkSelectionModel *model, guint position); gboolean (* select_range) (GtkSelectionModel *model, guint position, guint n_items, gboolean unselect_rest); gboolean (* unselect_range) (GtkSelectionModel *model, guint position, guint n_items); gboolean (* select_all) (GtkSelectionModel *model); gboolean (* unselect_all) (GtkSelectionModel *model); gboolean (* set_selection) (GtkSelectionModel *model, GtkBitset *selected, GtkBitset *mask); }; gtk_selection_model_is_selected gboolean GtkSelectionModel *model, guint position gtk_selection_model_get_selection GtkBitset * GtkSelectionModel *model gtk_selection_model_get_selection_in_range GtkBitset * GtkSelectionModel *model, guint position, guint n_items gtk_selection_model_select_item gboolean GtkSelectionModel *model, guint position, gboolean unselect_rest gtk_selection_model_unselect_item gboolean GtkSelectionModel *model, guint position gtk_selection_model_select_range gboolean GtkSelectionModel *model, guint position, guint n_items, gboolean unselect_rest gtk_selection_model_unselect_range gboolean GtkSelectionModel *model, guint position, guint n_items gtk_selection_model_select_all gboolean GtkSelectionModel *model gtk_selection_model_unselect_all gboolean GtkSelectionModel *model gtk_selection_model_set_selection gboolean GtkSelectionModel *model, GtkBitset *selected, GtkBitset *mask gtk_selection_model_selection_changed void GtkSelectionModel *model, guint position, guint n_items GtkSelectionModel GTK_TYPE_SEPARATOR #define GTK_TYPE_SEPARATOR (gtk_separator_get_type ()) GTK_SEPARATOR #define GTK_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEPARATOR, GtkSeparator)) GTK_IS_SEPARATOR #define GTK_IS_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEPARATOR)) gtk_separator_get_type GType void gtk_separator_new GtkWidget * GtkOrientation orientation GtkSeparator GTK_TYPE_SETTINGS #define GTK_TYPE_SETTINGS (gtk_settings_get_type ()) GTK_SETTINGS #define GTK_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SETTINGS, GtkSettings)) GTK_IS_SETTINGS #define GTK_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SETTINGS)) GtkSettingsValue struct _GtkSettingsValue { /* origin should be something like "filename:linenumber" for rc files, * or e.g. "XProperty" for other sources */ char *origin; /* valid types are LONG, DOUBLE and STRING corresponding to the token parsed, * or a GSTRING holding an unparsed statement */ GValue value; }; gtk_settings_get_type GType void gtk_settings_get_default GtkSettings * void gtk_settings_get_for_display GtkSettings * GdkDisplay *display gtk_settings_reset_property void GtkSettings *settings, const char *name GTK_TYPE_SHORTCUT #define GTK_TYPE_SHORTCUT (gtk_shortcut_get_type ()) gtk_shortcut_new GtkShortcut * GtkShortcutTrigger *trigger, GtkShortcutAction *action gtk_shortcut_new_with_arguments GtkShortcut * GtkShortcutTrigger *trigger, GtkShortcutAction *action, const char *format_string, ... gtk_shortcut_get_trigger GtkShortcutTrigger * GtkShortcut *self gtk_shortcut_set_trigger void GtkShortcut *self, GtkShortcutTrigger *trigger gtk_shortcut_get_action GtkShortcutAction * GtkShortcut *self gtk_shortcut_set_action void GtkShortcut *self, GtkShortcutAction *action gtk_shortcut_get_arguments GVariant * GtkShortcut *self gtk_shortcut_set_arguments void GtkShortcut *self, GVariant *args GtkShortcut GTK_TYPE_SHORTCUT_ACTION #define GTK_TYPE_SHORTCUT_ACTION (gtk_shortcut_action_get_type ()) GtkShortcutFunc gboolean GtkWidget *widget, GVariant *args, gpointer user_data GtkShortcutActionFlags typedef enum { GTK_SHORTCUT_ACTION_EXCLUSIVE = 1 << 0 } GtkShortcutActionFlags; gtk_shortcut_action_to_string char * GtkShortcutAction *self gtk_shortcut_action_parse_string GtkShortcutAction * const char * string gtk_shortcut_action_print void GtkShortcutAction *self, GString *string gtk_shortcut_action_activate gboolean GtkShortcutAction *self, GtkShortcutActionFlags flags, GtkWidget *widget, GVariant *args GTK_TYPE_NOTHING_ACTION #define GTK_TYPE_NOTHING_ACTION (gtk_nothing_action_get_type()) gtk_nothing_action_get GtkShortcutAction * void GTK_TYPE_CALLBACK_ACTION #define GTK_TYPE_CALLBACK_ACTION (gtk_callback_action_get_type()) gtk_callback_action_new GtkShortcutAction * GtkShortcutFunc callback, gpointer data, GDestroyNotify destroy GTK_TYPE_MNEMONIC_ACTION #define GTK_TYPE_MNEMONIC_ACTION (gtk_mnemonic_action_get_type()) gtk_mnemonic_action_get GtkShortcutAction * void GTK_TYPE_ACTIVATE_ACTION #define GTK_TYPE_ACTIVATE_ACTION (gtk_activate_action_get_type()) gtk_activate_action_get GtkShortcutAction * void GTK_TYPE_SIGNAL_ACTION #define GTK_TYPE_SIGNAL_ACTION (gtk_signal_action_get_type()) gtk_signal_action_new GtkShortcutAction * const char *signal_name gtk_signal_action_get_signal_name const char * GtkSignalAction *self GTK_TYPE_NAMED_ACTION #define GTK_TYPE_NAMED_ACTION (gtk_named_action_get_type()) gtk_named_action_new GtkShortcutAction * const char *name gtk_named_action_get_action_name const char * GtkNamedAction *self GtkActivateAction GtkCallbackAction GtkMnemonicAction GtkNamedAction GtkNothingAction GtkShortcutAction GtkSignalAction gtk_shortcut_action_parse_builder GtkShortcutAction * GtkBuilder *builder, const char *string, GError **error GTK_TYPE_SHORTCUT_CONTROLLER #define GTK_TYPE_SHORTCUT_CONTROLLER (gtk_shortcut_controller_get_type ()) GTK_SHORTCUT_CONTROLLER #define GTK_SHORTCUT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_SHORTCUT_CONTROLLER, GtkShortcutController)) GTK_SHORTCUT_CONTROLLER_CLASS #define GTK_SHORTCUT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_SHORTCUT_CONTROLLER, GtkShortcutControllerClass)) GTK_IS_SHORTCUT_CONTROLLER #define GTK_IS_SHORTCUT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_SHORTCUT_CONTROLLER)) GTK_IS_SHORTCUT_CONTROLLER_CLASS #define GTK_IS_SHORTCUT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_SHORTCUT_CONTROLLER)) GTK_SHORTCUT_CONTROLLER_GET_CLASS #define GTK_SHORTCUT_CONTROLLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_SHORTCUT_CONTROLLER, GtkShortcutControllerClass)) gtk_shortcut_controller_get_type GType void gtk_shortcut_controller_new GtkEventController * void gtk_shortcut_controller_new_for_model GtkEventController * GListModel *model gtk_shortcut_controller_set_mnemonics_modifiers void GtkShortcutController *self, GdkModifierType modifiers gtk_shortcut_controller_get_mnemonics_modifiers GdkModifierType GtkShortcutController *self gtk_shortcut_controller_set_scope void GtkShortcutController *self, GtkShortcutScope scope gtk_shortcut_controller_get_scope GtkShortcutScope GtkShortcutController *self gtk_shortcut_controller_add_shortcut void GtkShortcutController *self, GtkShortcut *shortcut gtk_shortcut_controller_remove_shortcut void GtkShortcutController *self, GtkShortcut *shortcut GtkShortcutController GtkShortcutControllerClass GTK_TYPE_SHORTCUT_LABEL #define GTK_TYPE_SHORTCUT_LABEL (gtk_shortcut_label_get_type()) GTK_SHORTCUT_LABEL #define GTK_SHORTCUT_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUT_LABEL, GtkShortcutLabel)) GTK_IS_SHORTCUT_LABEL #define GTK_IS_SHORTCUT_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUT_LABEL)) gtk_shortcut_label_get_type GType void gtk_shortcut_label_new GtkWidget * const char *accelerator gtk_shortcut_label_get_accelerator const char * GtkShortcutLabel *self gtk_shortcut_label_set_accelerator void GtkShortcutLabel *self, const char *accelerator gtk_shortcut_label_get_disabled_text const char * GtkShortcutLabel *self gtk_shortcut_label_set_disabled_text void GtkShortcutLabel *self, const char *disabled_text GtkShortcutLabel GtkShortcutLabelClass GTK_TYPE_SHORTCUT_MANAGER #define GTK_TYPE_SHORTCUT_MANAGER (gtk_shortcut_manager_get_type ()) GtkShortcutManagerInterface struct _GtkShortcutManagerInterface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ void (* add_controller) (GtkShortcutManager *self, GtkShortcutController *controller); void (* remove_controller) (GtkShortcutManager *self, GtkShortcutController *controller); }; GtkShortcutManager gtk_shortcut_manager_create_controllers void GtkWidget *widget GTK_TYPE_SHORTCUTS_GROUP #define GTK_TYPE_SHORTCUTS_GROUP (gtk_shortcuts_group_get_type ()) GTK_SHORTCUTS_GROUP #define GTK_SHORTCUTS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUTS_GROUP, GtkShortcutsGroup)) GTK_IS_SHORTCUTS_GROUP #define GTK_IS_SHORTCUTS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUTS_GROUP)) gtk_shortcuts_group_get_type GType void GtkShortcutsGroup GtkShortcutsGroupClass GTK_TYPE_SHORTCUTS_SECTION #define GTK_TYPE_SHORTCUTS_SECTION (gtk_shortcuts_section_get_type ()) GTK_SHORTCUTS_SECTION #define GTK_SHORTCUTS_SECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUTS_SECTION, GtkShortcutsSection)) GTK_IS_SHORTCUTS_SECTION #define GTK_IS_SHORTCUTS_SECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUTS_SECTION)) gtk_shortcuts_section_get_type GType void GtkShortcutsSection GtkShortcutsSectionClass GTK_TYPE_SHORTCUTS_SHORTCUT #define GTK_TYPE_SHORTCUTS_SHORTCUT (gtk_shortcuts_shortcut_get_type()) GTK_SHORTCUTS_SHORTCUT #define GTK_SHORTCUTS_SHORTCUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUTS_SHORTCUT, GtkShortcutsShortcut)) GTK_IS_SHORTCUTS_SHORTCUT #define GTK_IS_SHORTCUTS_SHORTCUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUTS_SHORTCUT)) GtkShortcutType typedef enum { GTK_SHORTCUT_ACCELERATOR, GTK_SHORTCUT_GESTURE_PINCH, GTK_SHORTCUT_GESTURE_STRETCH, GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE, GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE, GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT, GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT, GTK_SHORTCUT_GESTURE, GTK_SHORTCUT_GESTURE_SWIPE_LEFT, GTK_SHORTCUT_GESTURE_SWIPE_RIGHT } GtkShortcutType; gtk_shortcuts_shortcut_get_type GType void GtkShortcutsShortcut GtkShortcutsShortcutClass GTK_TYPE_SHORTCUTS_WINDOW #define GTK_TYPE_SHORTCUTS_WINDOW (gtk_shortcuts_window_get_type ()) GTK_SHORTCUTS_WINDOW #define GTK_SHORTCUTS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUTS_WINDOW, GtkShortcutsWindow)) GTK_IS_SHORTCUTS_WINDOW #define GTK_IS_SHORTCUTS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUTS_WINDOW)) GtkShortcutsWindow struct _GtkShortcutsWindow { GtkWindow window; }; gtk_shortcuts_window_get_type GType void GtkShortcutsWindowClass GTK_TYPE_SHORTCUT_TRIGGER #define GTK_TYPE_SHORTCUT_TRIGGER (gtk_shortcut_trigger_get_type ()) gtk_shortcut_trigger_parse_string GtkShortcutTrigger * const char *string gtk_shortcut_trigger_to_string char * GtkShortcutTrigger *self gtk_shortcut_trigger_print void GtkShortcutTrigger *self, GString *string gtk_shortcut_trigger_to_label char * GtkShortcutTrigger *self, GdkDisplay *display gtk_shortcut_trigger_print_label gboolean GtkShortcutTrigger *self, GdkDisplay *display, GString *string gtk_shortcut_trigger_hash guint gconstpointer trigger gtk_shortcut_trigger_equal gboolean gconstpointer trigger1, gconstpointer trigger2 gtk_shortcut_trigger_compare int gconstpointer trigger1, gconstpointer trigger2 gtk_shortcut_trigger_trigger GdkKeyMatch GtkShortcutTrigger *self, GdkEvent *event, gboolean enable_mnemonics GTK_TYPE_NEVER_TRIGGER #define GTK_TYPE_NEVER_TRIGGER (gtk_never_trigger_get_type()) gtk_never_trigger_get GtkShortcutTrigger * void GTK_TYPE_KEYVAL_TRIGGER #define GTK_TYPE_KEYVAL_TRIGGER (gtk_keyval_trigger_get_type()) gtk_keyval_trigger_new GtkShortcutTrigger * guint keyval, GdkModifierType modifiers gtk_keyval_trigger_get_modifiers GdkModifierType GtkKeyvalTrigger *self gtk_keyval_trigger_get_keyval guint GtkKeyvalTrigger *self GTK_TYPE_MNEMONIC_TRIGGER #define GTK_TYPE_MNEMONIC_TRIGGER (gtk_mnemonic_trigger_get_type()) gtk_mnemonic_trigger_new GtkShortcutTrigger * guint keyval gtk_mnemonic_trigger_get_keyval guint GtkMnemonicTrigger *self GTK_TYPE_ALTERNATIVE_TRIGGER #define GTK_TYPE_ALTERNATIVE_TRIGGER (gtk_alternative_trigger_get_type()) gtk_alternative_trigger_new GtkShortcutTrigger * GtkShortcutTrigger *first, GtkShortcutTrigger *second gtk_alternative_trigger_get_first GtkShortcutTrigger * GtkAlternativeTrigger *self gtk_alternative_trigger_get_second GtkShortcutTrigger * GtkAlternativeTrigger *self GtkAlternativeTrigger GtkKeyvalTrigger GtkMnemonicTrigger GtkNeverTrigger GtkShortcutTrigger gtk_show_uri_full void GtkWindow *parent, const char *uri, guint32 timestamp, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data gtk_show_uri_full_finish gboolean GtkWindow *parent, GAsyncResult *result, GError **error gtk_show_uri void GtkWindow *parent, const char *uri, guint32 timestamp GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY #define GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY (gtk_signal_list_item_factory_get_type ()) GTK_SIGNAL_LIST_ITEM_FACTORY #define GTK_SIGNAL_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY, GtkSignalListItemFactory)) GTK_SIGNAL_LIST_ITEM_FACTORY_CLASS #define GTK_SIGNAL_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY, GtkSignalListItemFactoryClass)) GTK_IS_SIGNAL_LIST_ITEM_FACTORY #define GTK_IS_SIGNAL_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY)) GTK_IS_SIGNAL_LIST_ITEM_FACTORY_CLASS #define GTK_IS_SIGNAL_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY)) GTK_SIGNAL_LIST_ITEM_FACTORY_GET_CLASS #define GTK_SIGNAL_LIST_ITEM_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_SIGNAL_LIST_ITEM_FACTORY, GtkSignalListItemFactoryClass)) gtk_signal_list_item_factory_get_type GType void gtk_signal_list_item_factory_new GtkListItemFactory * void GtkSignalListItemFactory GtkSignalListItemFactoryClass GTK_TYPE_SINGLE_SELECTION #define GTK_TYPE_SINGLE_SELECTION (gtk_single_selection_get_type ()) gtk_single_selection_new GtkSingleSelection * GListModel *model gtk_single_selection_get_model GListModel * GtkSingleSelection *self gtk_single_selection_set_model void GtkSingleSelection *self, GListModel *model gtk_single_selection_get_selected guint GtkSingleSelection *self gtk_single_selection_set_selected void GtkSingleSelection *self, guint position gtk_single_selection_get_selected_item gpointer GtkSingleSelection *self gtk_single_selection_get_autoselect gboolean GtkSingleSelection *self gtk_single_selection_set_autoselect void GtkSingleSelection *self, gboolean autoselect gtk_single_selection_get_can_unselect gboolean GtkSingleSelection *self gtk_single_selection_set_can_unselect void GtkSingleSelection *self, gboolean can_unselect GtkSingleSelection GTK_TYPE_SIZE_GROUP #define GTK_TYPE_SIZE_GROUP (gtk_size_group_get_type ()) GTK_SIZE_GROUP #define GTK_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SIZE_GROUP, GtkSizeGroup)) GTK_IS_SIZE_GROUP #define GTK_IS_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SIZE_GROUP)) GtkSizeGroup struct _GtkSizeGroup { GObject parent_instance; }; gtk_size_group_get_type GType void gtk_size_group_new GtkSizeGroup * GtkSizeGroupMode mode gtk_size_group_set_mode void GtkSizeGroup *size_group, GtkSizeGroupMode mode gtk_size_group_get_mode GtkSizeGroupMode GtkSizeGroup *size_group gtk_size_group_add_widget void GtkSizeGroup *size_group, GtkWidget *widget gtk_size_group_remove_widget void GtkSizeGroup *size_group, GtkWidget *widget gtk_size_group_get_widgets GSList * GtkSizeGroup *size_group GtkRequestedSize struct _GtkRequestedSize { gpointer data; int minimum_size; int natural_size; }; gtk_distribute_natural_allocation int int extra_space, guint n_requested_sizes, GtkRequestedSize *sizes GTK_TYPE_SLICE_LIST_MODEL #define GTK_TYPE_SLICE_LIST_MODEL (gtk_slice_list_model_get_type ()) gtk_slice_list_model_new GtkSliceListModel * GListModel *model, guint offset, guint size gtk_slice_list_model_set_model void GtkSliceListModel *self, GListModel *model gtk_slice_list_model_get_model GListModel * GtkSliceListModel *self gtk_slice_list_model_set_offset void GtkSliceListModel *self, guint offset gtk_slice_list_model_get_offset guint GtkSliceListModel *self gtk_slice_list_model_set_size void GtkSliceListModel *self, guint size gtk_slice_list_model_get_size guint GtkSliceListModel *self GtkSliceListModel GTK_TYPE_SNAPSHOT #define GTK_TYPE_SNAPSHOT (gtk_snapshot_get_type ()) GTK_SNAPSHOT #define GTK_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SNAPSHOT, GtkSnapshot)) GTK_IS_SNAPSHOT #define GTK_IS_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SNAPSHOT)) gtk_snapshot_get_type GType void gtk_snapshot_new GtkSnapshot * void gtk_snapshot_free_to_node GskRenderNode * GtkSnapshot *snapshot gtk_snapshot_free_to_paintable GdkPaintable * GtkSnapshot *snapshot, const graphene_size_t *size gtk_snapshot_to_node GskRenderNode * GtkSnapshot *snapshot gtk_snapshot_to_paintable GdkPaintable * GtkSnapshot *snapshot, const graphene_size_t *size gtk_snapshot_push_debug void GtkSnapshot *snapshot, const char *message, ... gtk_snapshot_push_opacity void GtkSnapshot *snapshot, double opacity gtk_snapshot_push_blur void GtkSnapshot *snapshot, double radius gtk_snapshot_push_color_matrix void GtkSnapshot *snapshot, const graphene_matrix_t*color_matrix, const graphene_vec4_t *color_offset gtk_snapshot_push_repeat void GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_rect_t *child_bounds gtk_snapshot_push_clip void GtkSnapshot *snapshot, const graphene_rect_t *bounds gtk_snapshot_push_rounded_clip void GtkSnapshot *snapshot, const GskRoundedRect *bounds gtk_snapshot_push_shadow void GtkSnapshot *snapshot, const GskShadow *shadow, gsize n_shadows gtk_snapshot_push_blend void GtkSnapshot *snapshot, GskBlendMode blend_mode gtk_snapshot_push_cross_fade void GtkSnapshot *snapshot, double progress gtk_snapshot_pop void GtkSnapshot *snapshot gtk_snapshot_save void GtkSnapshot *snapshot gtk_snapshot_restore void GtkSnapshot *snapshot gtk_snapshot_transform void GtkSnapshot *snapshot, GskTransform *transform gtk_snapshot_transform_matrix void GtkSnapshot *snapshot, const graphene_matrix_t*matrix gtk_snapshot_translate void GtkSnapshot *snapshot, const graphene_point_t *point gtk_snapshot_translate_3d void GtkSnapshot *snapshot, const graphene_point3d_t*point gtk_snapshot_rotate void GtkSnapshot *snapshot, float angle gtk_snapshot_rotate_3d void GtkSnapshot *snapshot, float angle, const graphene_vec3_t *axis gtk_snapshot_scale void GtkSnapshot *snapshot, float factor_x, float factor_y gtk_snapshot_scale_3d void GtkSnapshot *snapshot, float factor_x, float factor_y, float factor_z gtk_snapshot_perspective void GtkSnapshot *snapshot, float depth gtk_snapshot_append_node void GtkSnapshot *snapshot, GskRenderNode *node gtk_snapshot_append_cairo cairo_t * GtkSnapshot *snapshot, const graphene_rect_t *bounds gtk_snapshot_append_texture void GtkSnapshot *snapshot, GdkTexture *texture, const graphene_rect_t *bounds gtk_snapshot_append_color void GtkSnapshot *snapshot, const GdkRGBA *color, const graphene_rect_t *bounds gtk_snapshot_append_linear_gradient void GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops gtk_snapshot_append_repeating_linear_gradient void GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops gtk_snapshot_append_border void GtkSnapshot *snapshot, const GskRoundedRect *outline, const float border_width[4], const GdkRGBA border_color[4] gtk_snapshot_append_inset_shadow void GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius gtk_snapshot_append_outset_shadow void GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius gtk_snapshot_append_layout void GtkSnapshot *snapshot, PangoLayout *layout, const GdkRGBA *color gtk_snapshot_render_background void GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height gtk_snapshot_render_frame void GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height gtk_snapshot_render_focus void GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height gtk_snapshot_render_layout void GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout gtk_snapshot_render_insertion_cursor void GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout, int index, PangoDirection direction GtkSnapshotClass GtkSorterOrder typedef enum { GTK_SORTER_ORDER_PARTIAL, GTK_SORTER_ORDER_NONE, GTK_SORTER_ORDER_TOTAL } GtkSorterOrder; GtkSorterChange typedef enum { GTK_SORTER_CHANGE_DIFFERENT, GTK_SORTER_CHANGE_INVERTED, GTK_SORTER_CHANGE_LESS_STRICT, GTK_SORTER_CHANGE_MORE_STRICT } GtkSorterChange; GTK_TYPE_SORTER #define GTK_TYPE_SORTER (gtk_sorter_get_type ()) GtkSorterClass struct _GtkSorterClass { GObjectClass parent_class; GtkOrdering (* compare) (GtkSorter *self, gpointer item1, gpointer item2); /* optional */ GtkSorterOrder (* get_order) (GtkSorter *self); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; gtk_sorter_compare GtkOrdering GtkSorter *self, gpointer item1, gpointer item2 gtk_sorter_get_order GtkSorterOrder GtkSorter *self gtk_sorter_changed void GtkSorter *self, GtkSorterChange change GtkSorter gtk_sorter_get_keys GtkSortKeys * GtkSorter *self gtk_sorter_changed_with_keys void GtkSorter *self, GtkSorterChange change, GtkSortKeys *keys GtkSortKeys struct _GtkSortKeys { const GtkSortKeysClass *klass; int ref_count; gsize key_size; gsize key_align; /* must be power of 2 */ }; GtkSortKeysClass struct _GtkSortKeysClass { void (* free) (GtkSortKeys *self); GCompareDataFunc key_compare; gboolean (* is_compatible) (GtkSortKeys *self, GtkSortKeys *other); void (* init_key) (GtkSortKeys *self, gpointer item, gpointer key_memory); void (* clear_key) (GtkSortKeys *self, gpointer key_memory); }; gtk_sort_keys_alloc GtkSortKeys * const GtkSortKeysClass *klass, gsize size, gsize key_size, gsize key_align gtk_sort_keys_new #define gtk_sort_keys_new(_name, _klass, _key_size, _key_align) \ ((_name *) gtk_sort_keys_alloc ((_klass), sizeof (_name), (_key_size), (_key_align))) gtk_sort_keys_ref GtkSortKeys * GtkSortKeys *self gtk_sort_keys_unref void GtkSortKeys *self gtk_sort_keys_new_equal GtkSortKeys * void gtk_sort_keys_get_key_size gsize GtkSortKeys *self gtk_sort_keys_get_key_align gsize GtkSortKeys *self gtk_sort_keys_get_key_compare_func GCompareDataFunc GtkSortKeys *self gtk_sort_keys_is_compatible gboolean GtkSortKeys *self, GtkSortKeys *other gtk_sort_keys_needs_clear_key gboolean GtkSortKeys *self GTK_SORT_KEYS_ALIGN #define GTK_SORT_KEYS_ALIGN(_size,_align) (((_size) + (_align) - 1) & ~((_align) - 1)) gtk_sort_keys_compare int GtkSortKeys *self, gconstpointer a, gconstpointer b gtk_sort_keys_init_key void GtkSortKeys *self, gpointer item, gpointer key_memory gtk_sort_keys_clear_key void GtkSortKeys *self, gpointer key_memory GTK_TYPE_SORT_LIST_MODEL #define GTK_TYPE_SORT_LIST_MODEL (gtk_sort_list_model_get_type ()) gtk_sort_list_model_new GtkSortListModel * GListModel *model, GtkSorter *sorter gtk_sort_list_model_set_sorter void GtkSortListModel *self, GtkSorter *sorter gtk_sort_list_model_get_sorter GtkSorter * GtkSortListModel *self gtk_sort_list_model_set_model void GtkSortListModel *self, GListModel *model gtk_sort_list_model_get_model GListModel * GtkSortListModel *self gtk_sort_list_model_set_incremental void GtkSortListModel *self, gboolean incremental gtk_sort_list_model_get_incremental gboolean GtkSortListModel *self gtk_sort_list_model_get_pending guint GtkSortListModel *self GtkSortListModel GTK_TYPE_SPIN_BUTTON #define GTK_TYPE_SPIN_BUTTON (gtk_spin_button_get_type ()) GTK_SPIN_BUTTON #define GTK_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton)) GTK_IS_SPIN_BUTTON #define GTK_IS_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPIN_BUTTON)) GTK_INPUT_ERROR #define GTK_INPUT_ERROR -1 GtkSpinButtonUpdatePolicy typedef enum { GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID } GtkSpinButtonUpdatePolicy; GtkSpinType typedef enum { GTK_SPIN_STEP_FORWARD, GTK_SPIN_STEP_BACKWARD, GTK_SPIN_PAGE_FORWARD, GTK_SPIN_PAGE_BACKWARD, GTK_SPIN_HOME, GTK_SPIN_END, GTK_SPIN_USER_DEFINED } GtkSpinType; gtk_spin_button_get_type GType void gtk_spin_button_configure void GtkSpinButton *spin_button, GtkAdjustment *adjustment, double climb_rate, guint digits gtk_spin_button_new GtkWidget * GtkAdjustment *adjustment, double climb_rate, guint digits gtk_spin_button_new_with_range GtkWidget * double min, double max, double step gtk_spin_button_set_adjustment void GtkSpinButton *spin_button, GtkAdjustment *adjustment gtk_spin_button_get_adjustment GtkAdjustment * GtkSpinButton *spin_button gtk_spin_button_set_digits void GtkSpinButton *spin_button, guint digits gtk_spin_button_get_digits guint GtkSpinButton *spin_button gtk_spin_button_set_increments void GtkSpinButton *spin_button, double step, double page gtk_spin_button_get_increments void GtkSpinButton *spin_button, double *step, double *page gtk_spin_button_set_range void GtkSpinButton *spin_button, double min, double max gtk_spin_button_get_range void GtkSpinButton *spin_button, double *min, double *max gtk_spin_button_get_value double GtkSpinButton *spin_button gtk_spin_button_get_value_as_int int GtkSpinButton *spin_button gtk_spin_button_set_value void GtkSpinButton *spin_button, double value gtk_spin_button_set_update_policy void GtkSpinButton *spin_button, GtkSpinButtonUpdatePolicy policy gtk_spin_button_get_update_policy GtkSpinButtonUpdatePolicy GtkSpinButton *spin_button gtk_spin_button_set_numeric void GtkSpinButton *spin_button, gboolean numeric gtk_spin_button_get_numeric gboolean GtkSpinButton *spin_button gtk_spin_button_spin void GtkSpinButton *spin_button, GtkSpinType direction, double increment gtk_spin_button_set_wrap void GtkSpinButton *spin_button, gboolean wrap gtk_spin_button_get_wrap gboolean GtkSpinButton *spin_button gtk_spin_button_set_snap_to_ticks void GtkSpinButton *spin_button, gboolean snap_to_ticks gtk_spin_button_get_snap_to_ticks gboolean GtkSpinButton *spin_button gtk_spin_button_update void GtkSpinButton *spin_button GtkSpinButton GTK_TYPE_SPINNER #define GTK_TYPE_SPINNER (gtk_spinner_get_type ()) GTK_SPINNER #define GTK_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPINNER, GtkSpinner)) GTK_IS_SPINNER #define GTK_IS_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPINNER)) gtk_spinner_get_type GType void gtk_spinner_new GtkWidget * void gtk_spinner_start void GtkSpinner *spinner gtk_spinner_stop void GtkSpinner *spinner gtk_spinner_set_spinning void GtkSpinner *spinner, gboolean spinning gtk_spinner_get_spinning gboolean GtkSpinner *spinner GtkSpinner GTK_TYPE_STACK #define GTK_TYPE_STACK (gtk_stack_get_type ()) GTK_STACK #define GTK_STACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STACK, GtkStack)) GTK_IS_STACK #define GTK_IS_STACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STACK)) GTK_TYPE_STACK_PAGE #define GTK_TYPE_STACK_PAGE (gtk_stack_page_get_type ()) GTK_STACK_PAGE #define GTK_STACK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STACK_PAGE, GtkStackPage)) GTK_IS_STACK_PAGE #define GTK_IS_STACK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STACK_PAGE)) GtkStackTransitionType typedef enum { GTK_STACK_TRANSITION_TYPE_NONE, GTK_STACK_TRANSITION_TYPE_CROSSFADE, GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT, GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT, GTK_STACK_TRANSITION_TYPE_SLIDE_UP, GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN, GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT, GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN, GTK_STACK_TRANSITION_TYPE_OVER_UP, GTK_STACK_TRANSITION_TYPE_OVER_DOWN, GTK_STACK_TRANSITION_TYPE_OVER_LEFT, GTK_STACK_TRANSITION_TYPE_OVER_RIGHT, GTK_STACK_TRANSITION_TYPE_UNDER_UP, GTK_STACK_TRANSITION_TYPE_UNDER_DOWN, GTK_STACK_TRANSITION_TYPE_UNDER_LEFT, GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT, GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN, GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP, GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT, GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT, GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT, GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT, GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT } GtkStackTransitionType; gtk_stack_page_get_type GType void gtk_stack_page_get_child GtkWidget * GtkStackPage *self gtk_stack_page_get_visible gboolean GtkStackPage *self gtk_stack_page_set_visible void GtkStackPage *self, gboolean visible gtk_stack_page_get_needs_attention gboolean GtkStackPage *self gtk_stack_page_set_needs_attention void GtkStackPage *self, gboolean setting gtk_stack_page_get_use_underline gboolean GtkStackPage *self gtk_stack_page_set_use_underline void GtkStackPage *self, gboolean setting gtk_stack_page_get_name const char * GtkStackPage *self gtk_stack_page_set_name void GtkStackPage *self, const char *setting gtk_stack_page_get_title const char * GtkStackPage *self gtk_stack_page_set_title void GtkStackPage *self, const char *setting gtk_stack_page_get_icon_name const char * GtkStackPage *self gtk_stack_page_set_icon_name void GtkStackPage *self, const char *setting gtk_stack_get_type GType void gtk_stack_new GtkWidget * void gtk_stack_add_named GtkStackPage * GtkStack *stack, GtkWidget *child, const char *name gtk_stack_add_titled GtkStackPage * GtkStack *stack, GtkWidget *child, const char *name, const char *title gtk_stack_remove void GtkStack *stack, GtkWidget *child gtk_stack_get_page GtkStackPage * GtkStack *stack, GtkWidget *child gtk_stack_get_child_by_name GtkWidget * GtkStack *stack, const char *name gtk_stack_set_visible_child void GtkStack *stack, GtkWidget *child gtk_stack_get_visible_child GtkWidget * GtkStack *stack gtk_stack_set_visible_child_name void GtkStack *stack, const char *name gtk_stack_get_visible_child_name const char * GtkStack *stack gtk_stack_set_visible_child_full void GtkStack *stack, const char *name, GtkStackTransitionType transition gtk_stack_set_hhomogeneous void GtkStack *stack, gboolean hhomogeneous gtk_stack_get_hhomogeneous gboolean GtkStack *stack gtk_stack_set_vhomogeneous void GtkStack *stack, gboolean vhomogeneous gtk_stack_get_vhomogeneous gboolean GtkStack *stack gtk_stack_set_transition_duration void GtkStack *stack, guint duration gtk_stack_get_transition_duration guint GtkStack *stack gtk_stack_set_transition_type void GtkStack *stack, GtkStackTransitionType transition gtk_stack_get_transition_type GtkStackTransitionType GtkStack *stack gtk_stack_get_transition_running gboolean GtkStack *stack gtk_stack_set_interpolate_size void GtkStack *stack, gboolean interpolate_size gtk_stack_get_interpolate_size gboolean GtkStack *stack gtk_stack_get_pages GtkSelectionModel * GtkStack *stack GtkStack GtkStackPage GTK_TYPE_STACK_SIDEBAR #define GTK_TYPE_STACK_SIDEBAR (gtk_stack_sidebar_get_type ()) GTK_STACK_SIDEBAR #define GTK_STACK_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STACK_SIDEBAR, GtkStackSidebar)) GTK_IS_STACK_SIDEBAR #define GTK_IS_STACK_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STACK_SIDEBAR)) gtk_stack_sidebar_get_type GType void gtk_stack_sidebar_new GtkWidget * void gtk_stack_sidebar_set_stack void GtkStackSidebar *self, GtkStack *stack gtk_stack_sidebar_get_stack GtkStack * GtkStackSidebar *self GtkStackSidebar GTK_TYPE_STACK_SWITCHER #define GTK_TYPE_STACK_SWITCHER (gtk_stack_switcher_get_type ()) GTK_STACK_SWITCHER #define GTK_STACK_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STACK_SWITCHER, GtkStackSwitcher)) GTK_IS_STACK_SWITCHER #define GTK_IS_STACK_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STACK_SWITCHER)) gtk_stack_switcher_get_type GType void gtk_stack_switcher_new GtkWidget * void gtk_stack_switcher_set_stack void GtkStackSwitcher *switcher, GtkStack *stack gtk_stack_switcher_get_stack GtkStack * GtkStackSwitcher *switcher GtkStackSwitcher GTK_TYPE_STATUSBAR #define GTK_TYPE_STATUSBAR (gtk_statusbar_get_type ()) GTK_STATUSBAR #define GTK_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STATUSBAR, GtkStatusbar)) GTK_IS_STATUSBAR #define GTK_IS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STATUSBAR)) gtk_statusbar_get_type GType void gtk_statusbar_new GtkWidget * void gtk_statusbar_get_context_id guint GtkStatusbar *statusbar, const char *context_description gtk_statusbar_push guint GtkStatusbar *statusbar, guint context_id, const char *text gtk_statusbar_pop void GtkStatusbar *statusbar, guint context_id gtk_statusbar_remove void GtkStatusbar *statusbar, guint context_id, guint message_id gtk_statusbar_remove_all void GtkStatusbar *statusbar, guint context_id GtkStatusbar gtk_statusbar_get_message const char * GtkStatusbar *statusbar GtkStringFilterMatchMode typedef enum { GTK_STRING_FILTER_MATCH_MODE_EXACT, GTK_STRING_FILTER_MATCH_MODE_SUBSTRING, GTK_STRING_FILTER_MATCH_MODE_PREFIX } GtkStringFilterMatchMode; GTK_TYPE_STRING_FILTER #define GTK_TYPE_STRING_FILTER (gtk_string_filter_get_type ()) gtk_string_filter_new GtkFilter * GtkExpression *expression gtk_string_filter_get_search const char * GtkStringFilter *self gtk_string_filter_set_search void GtkStringFilter *self, const char *search gtk_string_filter_get_expression GtkExpression * GtkStringFilter *self gtk_string_filter_set_expression void GtkStringFilter *self, GtkExpression *expression gtk_string_filter_get_ignore_case gboolean GtkStringFilter *self gtk_string_filter_set_ignore_case void GtkStringFilter *self, gboolean ignore_case gtk_string_filter_get_match_mode GtkStringFilterMatchMode GtkStringFilter *self gtk_string_filter_set_match_mode void GtkStringFilter *self, GtkStringFilterMatchMode mode GtkStringFilter GTK_TYPE_STRING_OBJECT #define GTK_TYPE_STRING_OBJECT (gtk_string_object_get_type ()) gtk_string_object_new GtkStringObject * const char *string gtk_string_object_get_string const char * GtkStringObject *self GTK_TYPE_STRING_LIST #define GTK_TYPE_STRING_LIST (gtk_string_list_get_type ()) gtk_string_list_new GtkStringList * const char * const *strings gtk_string_list_append void GtkStringList *self, const char *string gtk_string_list_take void GtkStringList *self, char *string gtk_string_list_remove void GtkStringList *self, guint position gtk_string_list_splice void GtkStringList *self, guint position, guint n_removals, const char * const *additions gtk_string_list_get_string const char * GtkStringList *self, guint position GtkStringList GtkStringObject GTK_TYPE_STRING_SORTER #define GTK_TYPE_STRING_SORTER (gtk_string_sorter_get_type ()) gtk_string_sorter_new GtkSorter * GtkExpression *expression gtk_string_sorter_get_expression GtkExpression * GtkStringSorter *self gtk_string_sorter_set_expression void GtkStringSorter *self, GtkExpression *expression gtk_string_sorter_get_ignore_case gboolean GtkStringSorter *self gtk_string_sorter_set_ignore_case void GtkStringSorter *self, gboolean ignore_case GtkStringSorter GTK_TYPE_STYLE_CONTEXT #define GTK_TYPE_STYLE_CONTEXT (gtk_style_context_get_type ()) GTK_STYLE_CONTEXT #define GTK_STYLE_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_STYLE_CONTEXT, GtkStyleContext)) GTK_STYLE_CONTEXT_CLASS #define GTK_STYLE_CONTEXT_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GTK_TYPE_STYLE_CONTEXT, GtkStyleContextClass)) GTK_IS_STYLE_CONTEXT #define GTK_IS_STYLE_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_STYLE_CONTEXT)) GTK_IS_STYLE_CONTEXT_CLASS #define GTK_IS_STYLE_CONTEXT_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GTK_TYPE_STYLE_CONTEXT)) GTK_STYLE_CONTEXT_GET_CLASS #define GTK_STYLE_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_STYLE_CONTEXT, GtkStyleContextClass)) GtkStyleContext struct _GtkStyleContext { GObject parent_object; }; GtkStyleContextClass struct _GtkStyleContextClass { GObjectClass parent_class; void (* changed) (GtkStyleContext *context); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GTK_STYLE_CLASS_CELL #define GTK_STYLE_CLASS_CELL "cell" GTK_STYLE_CLASS_DIM_LABEL #define GTK_STYLE_CLASS_DIM_LABEL "dim-label" GTK_STYLE_CLASS_ENTRY #define GTK_STYLE_CLASS_ENTRY "entry" GTK_STYLE_CLASS_LABEL #define GTK_STYLE_CLASS_LABEL "label" GTK_STYLE_CLASS_COMBOBOX_ENTRY #define GTK_STYLE_CLASS_COMBOBOX_ENTRY "combobox-entry" GTK_STYLE_CLASS_BUTTON #define GTK_STYLE_CLASS_BUTTON "button" GTK_STYLE_CLASS_LIST #define GTK_STYLE_CLASS_LIST "list" GTK_STYLE_CLASS_LIST_ROW #define GTK_STYLE_CLASS_LIST_ROW "list-row" GTK_STYLE_CLASS_CALENDAR #define GTK_STYLE_CLASS_CALENDAR "calendar" GTK_STYLE_CLASS_SLIDER #define GTK_STYLE_CLASS_SLIDER "slider" GTK_STYLE_CLASS_BACKGROUND #define GTK_STYLE_CLASS_BACKGROUND "background" GTK_STYLE_CLASS_RUBBERBAND #define GTK_STYLE_CLASS_RUBBERBAND "rubberband" GTK_STYLE_CLASS_CSD #define GTK_STYLE_CLASS_CSD "csd" GTK_STYLE_CLASS_TOOLTIP #define GTK_STYLE_CLASS_TOOLTIP "tooltip" GTK_STYLE_CLASS_MENU #define GTK_STYLE_CLASS_MENU "menu" GTK_STYLE_CLASS_CONTEXT_MENU #define GTK_STYLE_CLASS_CONTEXT_MENU "context-menu" GTK_STYLE_CLASS_TOUCH_SELECTION #define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection" GTK_STYLE_CLASS_MENUBAR #define GTK_STYLE_CLASS_MENUBAR "menubar" GTK_STYLE_CLASS_MENUITEM #define GTK_STYLE_CLASS_MENUITEM "menuitem" GTK_STYLE_CLASS_TOOLBAR #define GTK_STYLE_CLASS_TOOLBAR "toolbar" GTK_STYLE_CLASS_STATUSBAR #define GTK_STYLE_CLASS_STATUSBAR "statusbar" GTK_STYLE_CLASS_RADIO #define GTK_STYLE_CLASS_RADIO "radio" GTK_STYLE_CLASS_CHECK #define GTK_STYLE_CLASS_CHECK "check" GTK_STYLE_CLASS_DEFAULT #define GTK_STYLE_CLASS_DEFAULT "default" GTK_STYLE_CLASS_TROUGH #define GTK_STYLE_CLASS_TROUGH "trough" GTK_STYLE_CLASS_SCROLLBAR #define GTK_STYLE_CLASS_SCROLLBAR "scrollbar" GTK_STYLE_CLASS_SCROLLBARS_JUNCTION #define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION "scrollbars-junction" GTK_STYLE_CLASS_SCALE #define GTK_STYLE_CLASS_SCALE "scale" GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE #define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above" GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW #define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below" GTK_STYLE_CLASS_HEADER #define GTK_STYLE_CLASS_HEADER "header" GTK_STYLE_CLASS_ACCELERATOR #define GTK_STYLE_CLASS_ACCELERATOR "accelerator" GTK_STYLE_CLASS_RAISED #define GTK_STYLE_CLASS_RAISED "raised" GTK_STYLE_CLASS_LINKED #define GTK_STYLE_CLASS_LINKED "linked" GTK_STYLE_CLASS_DOCK #define GTK_STYLE_CLASS_DOCK "dock" GTK_STYLE_CLASS_PROGRESSBAR #define GTK_STYLE_CLASS_PROGRESSBAR "progressbar" GTK_STYLE_CLASS_SPINNER #define GTK_STYLE_CLASS_SPINNER "spinner" GTK_STYLE_CLASS_MARK #define GTK_STYLE_CLASS_MARK "mark" GTK_STYLE_CLASS_EXPANDER #define GTK_STYLE_CLASS_EXPANDER "expander" GTK_STYLE_CLASS_SPINBUTTON #define GTK_STYLE_CLASS_SPINBUTTON "spinbutton" GTK_STYLE_CLASS_NOTEBOOK #define GTK_STYLE_CLASS_NOTEBOOK "notebook" GTK_STYLE_CLASS_VIEW #define GTK_STYLE_CLASS_VIEW "view" GTK_STYLE_CLASS_SIDEBAR #define GTK_STYLE_CLASS_SIDEBAR "sidebar" GTK_STYLE_CLASS_IMAGE #define GTK_STYLE_CLASS_IMAGE "image" GTK_STYLE_CLASS_HIGHLIGHT #define GTK_STYLE_CLASS_HIGHLIGHT "highlight" GTK_STYLE_CLASS_FRAME #define GTK_STYLE_CLASS_FRAME "frame" GTK_STYLE_CLASS_DND #define GTK_STYLE_CLASS_DND "dnd" GTK_STYLE_CLASS_PANE_SEPARATOR #define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator" GTK_STYLE_CLASS_SEPARATOR #define GTK_STYLE_CLASS_SEPARATOR "separator" GTK_STYLE_CLASS_INFO #define GTK_STYLE_CLASS_INFO "info" GTK_STYLE_CLASS_WARNING #define GTK_STYLE_CLASS_WARNING "warning" GTK_STYLE_CLASS_QUESTION #define GTK_STYLE_CLASS_QUESTION "question" GTK_STYLE_CLASS_ERROR #define GTK_STYLE_CLASS_ERROR "error" GTK_STYLE_CLASS_HORIZONTAL #define GTK_STYLE_CLASS_HORIZONTAL "horizontal" GTK_STYLE_CLASS_VERTICAL #define GTK_STYLE_CLASS_VERTICAL "vertical" GTK_STYLE_CLASS_TOP #define GTK_STYLE_CLASS_TOP "top" GTK_STYLE_CLASS_BOTTOM #define GTK_STYLE_CLASS_BOTTOM "bottom" GTK_STYLE_CLASS_LEFT #define GTK_STYLE_CLASS_LEFT "left" GTK_STYLE_CLASS_RIGHT #define GTK_STYLE_CLASS_RIGHT "right" GTK_STYLE_CLASS_PULSE #define GTK_STYLE_CLASS_PULSE "pulse" GTK_STYLE_CLASS_ARROW #define GTK_STYLE_CLASS_ARROW "arrow" GTK_STYLE_CLASS_OSD #define GTK_STYLE_CLASS_OSD "osd" GTK_STYLE_CLASS_LEVEL_BAR #define GTK_STYLE_CLASS_LEVEL_BAR "level-bar" GTK_STYLE_CLASS_CURSOR_HANDLE #define GTK_STYLE_CLASS_CURSOR_HANDLE "cursor-handle" GTK_STYLE_CLASS_INSERTION_CURSOR #define GTK_STYLE_CLASS_INSERTION_CURSOR "insertion-cursor" GTK_STYLE_CLASS_TITLEBAR #define GTK_STYLE_CLASS_TITLEBAR "titlebar" GTK_STYLE_CLASS_TITLE #define GTK_STYLE_CLASS_TITLE "title" GTK_STYLE_CLASS_SUBTITLE #define GTK_STYLE_CLASS_SUBTITLE "subtitle" GTK_STYLE_CLASS_NEEDS_ATTENTION #define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention" GTK_STYLE_CLASS_SUGGESTED_ACTION #define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action" GTK_STYLE_CLASS_DESTRUCTIVE_ACTION #define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action" GTK_STYLE_CLASS_POPOVER #define GTK_STYLE_CLASS_POPOVER "popover" GTK_STYLE_CLASS_POPUP #define GTK_STYLE_CLASS_POPUP "popup" GTK_STYLE_CLASS_MESSAGE_DIALOG #define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog" GTK_STYLE_CLASS_FLAT #define GTK_STYLE_CLASS_FLAT "flat" GTK_STYLE_CLASS_READ_ONLY #define GTK_STYLE_CLASS_READ_ONLY "read-only" GTK_STYLE_CLASS_OVERSHOOT #define GTK_STYLE_CLASS_OVERSHOOT "overshoot" GTK_STYLE_CLASS_UNDERSHOOT #define GTK_STYLE_CLASS_UNDERSHOOT "undershoot" GTK_STYLE_CLASS_PAPER #define GTK_STYLE_CLASS_PAPER "paper" GTK_STYLE_CLASS_MONOSPACE #define GTK_STYLE_CLASS_MONOSPACE "monospace" GTK_STYLE_CLASS_WIDE #define GTK_STYLE_CLASS_WIDE "wide" gtk_style_context_get_type GType void gtk_style_context_add_provider_for_display void GdkDisplay *display, GtkStyleProvider *provider, guint priority gtk_style_context_remove_provider_for_display void GdkDisplay *display, GtkStyleProvider *provider gtk_style_context_add_provider void GtkStyleContext *context, GtkStyleProvider *provider, guint priority gtk_style_context_remove_provider void GtkStyleContext *context, GtkStyleProvider *provider gtk_style_context_save void GtkStyleContext *context gtk_style_context_restore void GtkStyleContext *context gtk_style_context_set_state void GtkStyleContext *context, GtkStateFlags flags gtk_style_context_get_state GtkStateFlags GtkStyleContext *context gtk_style_context_set_scale void GtkStyleContext *context, int scale gtk_style_context_get_scale int GtkStyleContext *context gtk_style_context_add_class void GtkStyleContext *context, const char *class_name gtk_style_context_remove_class void GtkStyleContext *context, const char *class_name gtk_style_context_has_class gboolean GtkStyleContext *context, const char *class_name gtk_style_context_set_display void GtkStyleContext *context, GdkDisplay *display gtk_style_context_get_display GdkDisplay * GtkStyleContext *context gtk_style_context_lookup_color gboolean GtkStyleContext *context, const char *color_name, GdkRGBA *color gtk_style_context_get_color void GtkStyleContext *context, GdkRGBA *color gtk_style_context_get_border void GtkStyleContext *context, GtkBorder *border gtk_style_context_get_padding void GtkStyleContext *context, GtkBorder *padding gtk_style_context_get_margin void GtkStyleContext *context, GtkBorder *margin gtk_render_insertion_cursor void GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout, int index, PangoDirection direction GtkStyleContextPrintFlags typedef enum { GTK_STYLE_CONTEXT_PRINT_NONE = 0, GTK_STYLE_CONTEXT_PRINT_RECURSE = 1 << 0, GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE = 1 << 1, GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2 } GtkStyleContextPrintFlags; gtk_style_context_to_string char * GtkStyleContext *context, GtkStyleContextPrintFlags flags GTK_TYPE_STYLE_PROVIDER #define GTK_TYPE_STYLE_PROVIDER (gtk_style_provider_get_type ()) GTK_STYLE_PROVIDER #define GTK_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_STYLE_PROVIDER, GtkStyleProvider)) GTK_IS_STYLE_PROVIDER #define GTK_IS_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_STYLE_PROVIDER)) GTK_STYLE_PROVIDER_PRIORITY_FALLBACK #define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1 GTK_STYLE_PROVIDER_PRIORITY_THEME #define GTK_STYLE_PROVIDER_PRIORITY_THEME 200 GTK_STYLE_PROVIDER_PRIORITY_SETTINGS #define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400 GTK_STYLE_PROVIDER_PRIORITY_APPLICATION #define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600 GTK_STYLE_PROVIDER_PRIORITY_USER #define GTK_STYLE_PROVIDER_PRIORITY_USER 800 gtk_style_provider_get_type GType void GtkStyleProvider GTK_TYPE_SWITCH #define GTK_TYPE_SWITCH (gtk_switch_get_type ()) GTK_SWITCH #define GTK_SWITCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SWITCH, GtkSwitch)) GTK_IS_SWITCH #define GTK_IS_SWITCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SWITCH)) gtk_switch_get_type GType void gtk_switch_new GtkWidget * void gtk_switch_set_active void GtkSwitch *self, gboolean is_active gtk_switch_get_active gboolean GtkSwitch *self gtk_switch_set_state void GtkSwitch *self, gboolean state gtk_switch_get_state gboolean GtkSwitch *self GtkSwitch gtk_test_accessible_assert_role #define gtk_test_accessible_assert_role(accessible,role) \ G_STMT_START { \ GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \ GtkAccessibleRole __r1 = (role); \ GtkAccessibleRole __r2 = gtk_accessible_get_accessible_role (__a); \ if (__r1 == __r2) ; else { \ gtk_test_accessible_assertion_message_role (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ #accessible ".accessible-role == " #role, \ __a, __r1, __r2); \ } \ } G_STMT_END gtk_test_accessible_assert_property #define gtk_test_accessible_assert_property(accessible,property,value) \ G_STMT_START { \ GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \ GtkAccessibleProperty __p = (property); \ char *__value = gtk_test_accessible_check_property (__a, __p, (value)); \ if (__value == NULL) ; else { \ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-property(" #property ") == " #value "): value = '%s'", __value); \ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ g_free (__msg); \ } \ } G_STMT_END gtk_test_accessible_assert_relation #define gtk_test_accessible_assert_relation(accessible,relation,value) \ G_STMT_START { \ GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \ GtkAccessibleRelation __r = (relation); \ char *__value = gtk_test_accessible_check_relation (__a, __r, (value)); \ if (__value == NULL); else { \ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-relation(" #relation ") == " #value "): value = '%s'", __value); \ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ g_free (__msg); \ } \ } G_STMT_END gtk_test_accessible_assert_state #define gtk_test_accessible_assert_state(accessible,state,value) \ G_STMT_START { \ GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \ GtkAccessibleState __s = (state); \ char *__value = gtk_test_accessible_check_state (__a, __s, (value)); \ if (__value == NULL); else { \ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-state(" #state ") == " #value "): value = '%s'", __value); \ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \ g_free (__msg); \ } \ } G_STMT_END gtk_test_accessible_has_role gboolean GtkAccessible *accessible, GtkAccessibleRole role gtk_test_accessible_has_property gboolean GtkAccessible *accessible, GtkAccessibleProperty property gtk_test_accessible_has_relation gboolean GtkAccessible *accessible, GtkAccessibleRelation relation gtk_test_accessible_has_state gboolean GtkAccessible *accessible, GtkAccessibleState state gtk_test_accessible_check_property char * GtkAccessible *accessible, GtkAccessibleProperty property, ... gtk_test_accessible_check_relation char * GtkAccessible *accessible, GtkAccessibleRelation relation, ... gtk_test_accessible_check_state char * GtkAccessible *accessible, GtkAccessibleState state, ... gtk_test_accessible_assertion_message_role void const char *domain, const char *file, int line, const char *func, const char *expr, GtkAccessible *accessible, GtkAccessibleRole expected_role, GtkAccessibleRole actual_role GTK_TYPE_TEST_AT_CONTEXT #define GTK_TYPE_TEST_AT_CONTEXT (gtk_test_at_context_get_type()) gtk_test_at_context_new GtkATContext * GtkAccessibleRole accessible_role, GtkAccessible *accessible GtkTestATContext gtk_test_init void int *argcp, char ***argvp, ... gtk_test_register_all_types void void gtk_test_list_all_types const GType * guint *n_types gtk_test_widget_wait_for_draw void GtkWidget *widget GTK_TYPE_TEXT #define GTK_TYPE_TEXT (gtk_text_get_type ()) GTK_TEXT #define GTK_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT, GtkText)) GTK_IS_TEXT #define GTK_IS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT)) GtkText struct _GtkText { /*< private >*/ GtkWidget parent_instance; }; gtk_text_get_type GType void gtk_text_new GtkWidget * void gtk_text_new_with_buffer GtkWidget * GtkEntryBuffer *buffer gtk_text_get_buffer GtkEntryBuffer * GtkText *self gtk_text_set_buffer void GtkText *self, GtkEntryBuffer *buffer gtk_text_set_visibility void GtkText *self, gboolean visible gtk_text_get_visibility gboolean GtkText *self gtk_text_set_invisible_char void GtkText *self, gunichar ch gtk_text_get_invisible_char gunichar GtkText *self gtk_text_unset_invisible_char void GtkText *self gtk_text_set_overwrite_mode void GtkText *self, gboolean overwrite gtk_text_get_overwrite_mode gboolean GtkText *self gtk_text_set_max_length void GtkText *self, int length gtk_text_get_max_length int GtkText *self gtk_text_get_text_length guint16 GtkText *self gtk_text_set_activates_default void GtkText *self, gboolean activates gtk_text_get_activates_default gboolean GtkText *self gtk_text_get_placeholder_text const char * GtkText *self gtk_text_set_placeholder_text void GtkText *self, const char *text gtk_text_set_input_purpose void GtkText *self, GtkInputPurpose purpose gtk_text_get_input_purpose GtkInputPurpose GtkText *self gtk_text_set_input_hints void GtkText *self, GtkInputHints hints gtk_text_get_input_hints GtkInputHints GtkText *self gtk_text_set_attributes void GtkText *self, PangoAttrList *attrs gtk_text_get_attributes PangoAttrList * GtkText *self gtk_text_set_tabs void GtkText *self, PangoTabArray *tabs gtk_text_get_tabs PangoTabArray * GtkText *self gtk_text_grab_focus_without_selecting gboolean GtkText *self gtk_text_set_extra_menu void GtkText *self, GMenuModel *model gtk_text_get_extra_menu GMenuModel * GtkText *self GTK_TYPE_TEXT_ATTRIBUTES #define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ()) GtkTextAppearance struct _GtkTextAppearance { GdkRGBA *bg_rgba; GdkRGBA *fg_rgba; GdkRGBA *underline_rgba; GdkRGBA *overline_rgba; GdkRGBA *strikethrough_rgba; /* super/subscript rise, can be negative */ int rise; guint underline : 4; /* PangoUnderline */ guint overline : 2; /* PangoOverline */ guint strikethrough : 1; /* Whether to use background-related values; this is irrelevant for * the values struct when in a tag, but is used for the composite * values struct; it's true if any of the tags being composited * had background stuff set. */ guint draw_bg : 1; /* These are only used when we are actually laying out and rendering * a paragraph; not when a GtkTextAppearance is part of a * GtkTextAttributes. */ guint inside_selection : 1; guint is_text : 1; }; GtkTextAttributes struct _GtkTextAttributes { guint refcount; GtkTextAppearance appearance; GtkJustification justification; GtkTextDirection direction; PangoFontDescription *font; double font_scale; int left_margin; int right_margin; int indent; int pixels_above_lines; int pixels_below_lines; int pixels_inside_wrap; PangoTabArray *tabs; GtkWrapMode wrap_mode; PangoLanguage *language; guint invisible : 1; guint bg_full_height : 1; guint editable : 1; guint no_fallback: 1; guint no_breaks : 1; guint show_spaces : 3; /* PangoShowFlags */ int no_hyphens : 1; GdkRGBA *pg_bg_rgba; int letter_spacing; char *font_features; }; gtk_text_attributes_new GtkTextAttributes * void gtk_text_attributes_copy GtkTextAttributes * GtkTextAttributes *src gtk_text_attributes_copy_values void GtkTextAttributes *src, GtkTextAttributes *dest gtk_text_attributes_unref void GtkTextAttributes *values gtk_text_attributes_ref GtkTextAttributes * GtkTextAttributes *values gtk_text_attributes_get_type GType void DEBUG_VALIDATION_AND_SCROLLING #define DEBUG_VALIDATION_AND_SCROLLING DV #define DV(x) (x) GtkTextLineData struct _GtkTextLineData { gpointer view_id; GtkTextLineData *next; int height; int top_ink : 16; int bottom_ink : 16; signed int width : 24; guint valid : 8; /* Actually a boolean */ }; GtkTextLine struct _GtkTextLine { GtkTextBTreeNode *parent; /* Pointer to parent node containing * line. */ GtkTextLine *next; /* Next in linked list of lines with * same parent node in B-tree. NULL * means end of list. */ GtkTextLineSegment *segments; /* First in ordered list of segments * that make up the line. */ GtkTextLineData *views; /* data stored here by views */ guchar dir_strong; /* BiDi algo dir of line */ guchar dir_propagated_back; /* BiDi algo dir of next line */ guchar dir_propagated_forward; /* BiDi algo dir of prev line */ }; GtkTextBufferTargetInfo typedef enum { GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS = - 1, GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT = - 2, GTK_TEXT_BUFFER_TARGET_INFO_TEXT = - 3 } GtkTextBufferTargetInfo; GTK_TYPE_TEXT_BUFFER #define GTK_TYPE_TEXT_BUFFER (gtk_text_buffer_get_type ()) GTK_TEXT_BUFFER #define GTK_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBuffer)) GTK_TEXT_BUFFER_CLASS #define GTK_TEXT_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass)) GTK_IS_TEXT_BUFFER #define GTK_IS_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_BUFFER)) GTK_IS_TEXT_BUFFER_CLASS #define GTK_IS_TEXT_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_BUFFER)) GTK_TEXT_BUFFER_GET_CLASS #define GTK_TEXT_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass)) GtkTextBuffer struct _GtkTextBuffer { GObject parent_instance; GtkTextBufferPrivate *priv; }; GtkTextBufferClass struct _GtkTextBufferClass { GObjectClass parent_class; void (* insert_text) (GtkTextBuffer *buffer, GtkTextIter *pos, const char *new_text, int new_text_length); void (* insert_paintable) (GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable); void (* insert_child_anchor) (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor); void (* delete_range) (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); void (* changed) (GtkTextBuffer *buffer); void (* modified_changed) (GtkTextBuffer *buffer); void (* mark_set) (GtkTextBuffer *buffer, const GtkTextIter *location, GtkTextMark *mark); void (* mark_deleted) (GtkTextBuffer *buffer, GtkTextMark *mark); void (* apply_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); void (* remove_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); void (* begin_user_action) (GtkTextBuffer *buffer); void (* end_user_action) (GtkTextBuffer *buffer); void (* paste_done) (GtkTextBuffer *buffer, GdkClipboard *clipboard); void (* undo) (GtkTextBuffer *buffer); void (* redo) (GtkTextBuffer *buffer); /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_text_buffer_get_type GType void gtk_text_buffer_new GtkTextBuffer * GtkTextTagTable *table gtk_text_buffer_get_line_count int GtkTextBuffer *buffer gtk_text_buffer_get_char_count int GtkTextBuffer *buffer gtk_text_buffer_get_tag_table GtkTextTagTable * GtkTextBuffer *buffer gtk_text_buffer_set_text void GtkTextBuffer *buffer, const char *text, int len gtk_text_buffer_insert void GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len gtk_text_buffer_insert_at_cursor void GtkTextBuffer *buffer, const char *text, int len gtk_text_buffer_insert_interactive gboolean GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, gboolean default_editable gtk_text_buffer_insert_interactive_at_cursor gboolean GtkTextBuffer *buffer, const char *text, int len, gboolean default_editable gtk_text_buffer_insert_range void GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_insert_range_interactive gboolean GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end, gboolean default_editable gtk_text_buffer_insert_with_tags void GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, GtkTextTag *first_tag, ... gtk_text_buffer_insert_with_tags_by_name void GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, const char *first_tag_name, ... gtk_text_buffer_insert_markup void GtkTextBuffer *buffer, GtkTextIter *iter, const char *markup, int len gtk_text_buffer_delete void GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end gtk_text_buffer_delete_interactive gboolean GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter, gboolean default_editable gtk_text_buffer_backspace gboolean GtkTextBuffer *buffer, GtkTextIter *iter, gboolean interactive, gboolean default_editable gtk_text_buffer_get_text char * GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars gtk_text_buffer_get_slice char * GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars gtk_text_buffer_insert_paintable void GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable gtk_text_buffer_insert_child_anchor void GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor gtk_text_buffer_create_child_anchor GtkTextChildAnchor * GtkTextBuffer *buffer, GtkTextIter *iter gtk_text_buffer_add_mark void GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where gtk_text_buffer_create_mark GtkTextMark * GtkTextBuffer *buffer, const char *mark_name, const GtkTextIter *where, gboolean left_gravity gtk_text_buffer_move_mark void GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where gtk_text_buffer_delete_mark void GtkTextBuffer *buffer, GtkTextMark *mark gtk_text_buffer_get_mark GtkTextMark * GtkTextBuffer *buffer, const char *name gtk_text_buffer_move_mark_by_name void GtkTextBuffer *buffer, const char *name, const GtkTextIter *where gtk_text_buffer_delete_mark_by_name void GtkTextBuffer *buffer, const char *name gtk_text_buffer_get_insert GtkTextMark * GtkTextBuffer *buffer gtk_text_buffer_get_selection_bound GtkTextMark * GtkTextBuffer *buffer gtk_text_buffer_place_cursor void GtkTextBuffer *buffer, const GtkTextIter *where gtk_text_buffer_select_range void GtkTextBuffer *buffer, const GtkTextIter *ins, const GtkTextIter *bound gtk_text_buffer_apply_tag void GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_remove_tag void GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_apply_tag_by_name void GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_remove_tag_by_name void GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_remove_all_tags void GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end gtk_text_buffer_create_tag GtkTextTag * GtkTextBuffer *buffer, const char *tag_name, const char *first_property_name, ... gtk_text_buffer_get_iter_at_line_offset void GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int char_offset gtk_text_buffer_get_iter_at_line_index void GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int byte_index gtk_text_buffer_get_iter_at_offset void GtkTextBuffer *buffer, GtkTextIter *iter, int char_offset gtk_text_buffer_get_iter_at_line void GtkTextBuffer *buffer, GtkTextIter *iter, int line_number gtk_text_buffer_get_start_iter void GtkTextBuffer *buffer, GtkTextIter *iter gtk_text_buffer_get_end_iter void GtkTextBuffer *buffer, GtkTextIter *iter gtk_text_buffer_get_bounds void GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end gtk_text_buffer_get_iter_at_mark void GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark gtk_text_buffer_get_iter_at_child_anchor void GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor gtk_text_buffer_get_modified gboolean GtkTextBuffer *buffer gtk_text_buffer_set_modified void GtkTextBuffer *buffer, gboolean setting gtk_text_buffer_get_has_selection gboolean GtkTextBuffer *buffer gtk_text_buffer_add_selection_clipboard void GtkTextBuffer *buffer, GdkClipboard *clipboard gtk_text_buffer_remove_selection_clipboard void GtkTextBuffer *buffer, GdkClipboard *clipboard gtk_text_buffer_cut_clipboard void GtkTextBuffer *buffer, GdkClipboard *clipboard, gboolean default_editable gtk_text_buffer_copy_clipboard void GtkTextBuffer *buffer, GdkClipboard *clipboard gtk_text_buffer_paste_clipboard void GtkTextBuffer *buffer, GdkClipboard *clipboard, GtkTextIter *override_location, gboolean default_editable gtk_text_buffer_get_selection_bounds gboolean GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end gtk_text_buffer_delete_selection gboolean GtkTextBuffer *buffer, gboolean interactive, gboolean default_editable gtk_text_buffer_get_selection_content GdkContentProvider * GtkTextBuffer *buffer gtk_text_buffer_get_can_undo gboolean GtkTextBuffer *buffer gtk_text_buffer_get_can_redo gboolean GtkTextBuffer *buffer gtk_text_buffer_get_enable_undo gboolean GtkTextBuffer *buffer gtk_text_buffer_set_enable_undo void GtkTextBuffer *buffer, gboolean enable_undo gtk_text_buffer_get_max_undo_levels guint GtkTextBuffer *buffer gtk_text_buffer_set_max_undo_levels void GtkTextBuffer *buffer, guint max_undo_levels gtk_text_buffer_undo void GtkTextBuffer *buffer gtk_text_buffer_redo void GtkTextBuffer *buffer gtk_text_buffer_begin_irreversible_action void GtkTextBuffer *buffer gtk_text_buffer_end_irreversible_action void GtkTextBuffer *buffer gtk_text_buffer_begin_user_action void GtkTextBuffer *buffer gtk_text_buffer_end_user_action void GtkTextBuffer *buffer GtkTextBTree GtkTextBufferPrivate GTK_TYPE_TEXT_CHILD_ANCHOR #define GTK_TYPE_TEXT_CHILD_ANCHOR (gtk_text_child_anchor_get_type ()) GTK_TEXT_CHILD_ANCHOR #define GTK_TEXT_CHILD_ANCHOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_TEXT_CHILD_ANCHOR, GtkTextChildAnchor)) GTK_TEXT_CHILD_ANCHOR_CLASS #define GTK_TEXT_CHILD_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_CHILD_ANCHOR, GtkTextChildAnchorClass)) GTK_IS_TEXT_CHILD_ANCHOR #define GTK_IS_TEXT_CHILD_ANCHOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_TEXT_CHILD_ANCHOR)) GTK_IS_TEXT_CHILD_ANCHOR_CLASS #define GTK_IS_TEXT_CHILD_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_CHILD_ANCHOR)) GTK_TEXT_CHILD_ANCHOR_GET_CLASS #define GTK_TEXT_CHILD_ANCHOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_CHILD_ANCHOR, GtkTextChildAnchorClass)) GtkTextChildAnchor struct _GtkTextChildAnchor { GObject parent_instance; /*< private >*/ gpointer segment; }; GtkTextChildAnchorClass struct _GtkTextChildAnchorClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_text_child_anchor_get_type GType void gtk_text_child_anchor_new GtkTextChildAnchor * void gtk_text_child_anchor_get_widgets GtkWidget ** GtkTextChildAnchor *anchor, guint *out_len gtk_text_child_anchor_get_deleted gboolean GtkTextChildAnchor *anchor GtkTextSearchFlags typedef enum { GTK_TEXT_SEARCH_VISIBLE_ONLY = 1 << 0, GTK_TEXT_SEARCH_TEXT_ONLY = 1 << 1, GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2 /* Possible future plans: SEARCH_REGEXP */ } GtkTextSearchFlags; GTK_TYPE_TEXT_ITER #define GTK_TYPE_TEXT_ITER (gtk_text_iter_get_type ()) GtkTextIter struct _GtkTextIter { /* GtkTextIter is an opaque datatype; ignore all these fields. * Initialize the iter with gtk_text_buffer_get_iter_* * functions */ /*< private >*/ gpointer dummy1; gpointer dummy2; int dummy3; int dummy4; int dummy5; int dummy6; int dummy7; int dummy8; gpointer dummy9; gpointer dummy10; int dummy11; int dummy12; /* padding */ int dummy13; gpointer dummy14; }; gtk_text_iter_get_buffer GtkTextBuffer * const GtkTextIter *iter gtk_text_iter_copy GtkTextIter * const GtkTextIter *iter gtk_text_iter_free void GtkTextIter *iter gtk_text_iter_assign void GtkTextIter *iter, const GtkTextIter *other gtk_text_iter_get_type GType void gtk_text_iter_get_offset int const GtkTextIter *iter gtk_text_iter_get_line int const GtkTextIter *iter gtk_text_iter_get_line_offset int const GtkTextIter *iter gtk_text_iter_get_line_index int const GtkTextIter *iter gtk_text_iter_get_visible_line_offset int const GtkTextIter *iter gtk_text_iter_get_visible_line_index int const GtkTextIter *iter gtk_text_iter_get_char gunichar const GtkTextIter *iter gtk_text_iter_get_slice char * const GtkTextIter *start, const GtkTextIter *end gtk_text_iter_get_text char * const GtkTextIter *start, const GtkTextIter *end gtk_text_iter_get_visible_slice char * const GtkTextIter *start, const GtkTextIter *end gtk_text_iter_get_visible_text char * const GtkTextIter *start, const GtkTextIter *end gtk_text_iter_get_paintable GdkPaintable * const GtkTextIter *iter gtk_text_iter_get_marks GSList * const GtkTextIter *iter gtk_text_iter_get_child_anchor GtkTextChildAnchor * const GtkTextIter *iter gtk_text_iter_get_toggled_tags GSList * const GtkTextIter *iter, gboolean toggled_on gtk_text_iter_starts_tag gboolean const GtkTextIter *iter, GtkTextTag *tag gtk_text_iter_ends_tag gboolean const GtkTextIter *iter, GtkTextTag *tag gtk_text_iter_toggles_tag gboolean const GtkTextIter *iter, GtkTextTag *tag gtk_text_iter_has_tag gboolean const GtkTextIter *iter, GtkTextTag *tag gtk_text_iter_get_tags GSList * const GtkTextIter *iter gtk_text_iter_editable gboolean const GtkTextIter *iter, gboolean default_setting gtk_text_iter_can_insert gboolean const GtkTextIter *iter, gboolean default_editability gtk_text_iter_starts_word gboolean const GtkTextIter *iter gtk_text_iter_ends_word gboolean const GtkTextIter *iter gtk_text_iter_inside_word gboolean const GtkTextIter *iter gtk_text_iter_starts_sentence gboolean const GtkTextIter *iter gtk_text_iter_ends_sentence gboolean const GtkTextIter *iter gtk_text_iter_inside_sentence gboolean const GtkTextIter *iter gtk_text_iter_starts_line gboolean const GtkTextIter *iter gtk_text_iter_ends_line gboolean const GtkTextIter *iter gtk_text_iter_is_cursor_position gboolean const GtkTextIter *iter gtk_text_iter_get_chars_in_line int const GtkTextIter *iter gtk_text_iter_get_bytes_in_line int const GtkTextIter *iter gtk_text_iter_get_language PangoLanguage * const GtkTextIter *iter gtk_text_iter_is_end gboolean const GtkTextIter *iter gtk_text_iter_is_start gboolean const GtkTextIter *iter gtk_text_iter_forward_char gboolean GtkTextIter *iter gtk_text_iter_backward_char gboolean GtkTextIter *iter gtk_text_iter_forward_chars gboolean GtkTextIter *iter, int count gtk_text_iter_backward_chars gboolean GtkTextIter *iter, int count gtk_text_iter_forward_line gboolean GtkTextIter *iter gtk_text_iter_backward_line gboolean GtkTextIter *iter gtk_text_iter_forward_lines gboolean GtkTextIter *iter, int count gtk_text_iter_backward_lines gboolean GtkTextIter *iter, int count gtk_text_iter_forward_word_end gboolean GtkTextIter *iter gtk_text_iter_backward_word_start gboolean GtkTextIter *iter gtk_text_iter_forward_word_ends gboolean GtkTextIter *iter, int count gtk_text_iter_backward_word_starts gboolean GtkTextIter *iter, int count gtk_text_iter_forward_visible_line gboolean GtkTextIter *iter gtk_text_iter_backward_visible_line gboolean GtkTextIter *iter gtk_text_iter_forward_visible_lines gboolean GtkTextIter *iter, int count gtk_text_iter_backward_visible_lines gboolean GtkTextIter *iter, int count gtk_text_iter_forward_visible_word_end gboolean GtkTextIter *iter gtk_text_iter_backward_visible_word_start gboolean GtkTextIter *iter gtk_text_iter_forward_visible_word_ends gboolean GtkTextIter *iter, int count gtk_text_iter_backward_visible_word_starts gboolean GtkTextIter *iter, int count gtk_text_iter_forward_sentence_end gboolean GtkTextIter *iter gtk_text_iter_backward_sentence_start gboolean GtkTextIter *iter gtk_text_iter_forward_sentence_ends gboolean GtkTextIter *iter, int count gtk_text_iter_backward_sentence_starts gboolean GtkTextIter *iter, int count gtk_text_iter_forward_cursor_position gboolean GtkTextIter *iter gtk_text_iter_backward_cursor_position gboolean GtkTextIter *iter gtk_text_iter_forward_cursor_positions gboolean GtkTextIter *iter, int count gtk_text_iter_backward_cursor_positions gboolean GtkTextIter *iter, int count gtk_text_iter_forward_visible_cursor_position gboolean GtkTextIter *iter gtk_text_iter_backward_visible_cursor_position gboolean GtkTextIter *iter gtk_text_iter_forward_visible_cursor_positions gboolean GtkTextIter *iter, int count gtk_text_iter_backward_visible_cursor_positions gboolean GtkTextIter *iter, int count gtk_text_iter_set_offset void GtkTextIter *iter, int char_offset gtk_text_iter_set_line void GtkTextIter *iter, int line_number gtk_text_iter_set_line_offset void GtkTextIter *iter, int char_on_line gtk_text_iter_set_line_index void GtkTextIter *iter, int byte_on_line gtk_text_iter_forward_to_end void GtkTextIter *iter gtk_text_iter_forward_to_line_end gboolean GtkTextIter *iter gtk_text_iter_set_visible_line_offset void GtkTextIter *iter, int char_on_line gtk_text_iter_set_visible_line_index void GtkTextIter *iter, int byte_on_line gtk_text_iter_forward_to_tag_toggle gboolean GtkTextIter *iter, GtkTextTag *tag gtk_text_iter_backward_to_tag_toggle gboolean GtkTextIter *iter, GtkTextTag *tag GtkTextCharPredicate gboolean gunichar ch, gpointer user_data gtk_text_iter_forward_find_char gboolean GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit gtk_text_iter_backward_find_char gboolean GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit gtk_text_iter_forward_search gboolean const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit gtk_text_iter_backward_search gboolean const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit gtk_text_iter_equal gboolean const GtkTextIter *lhs, const GtkTextIter *rhs gtk_text_iter_compare int const GtkTextIter *lhs, const GtkTextIter *rhs gtk_text_iter_in_range gboolean const GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end gtk_text_iter_order void GtkTextIter *first, GtkTextIter *second GtkTextBuffer GTK_TYPE_TEXT_MARK #define GTK_TYPE_TEXT_MARK (gtk_text_mark_get_type ()) GTK_TEXT_MARK #define GTK_TEXT_MARK(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_TEXT_MARK, GtkTextMark)) GTK_TEXT_MARK_CLASS #define GTK_TEXT_MARK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_MARK, GtkTextMarkClass)) GTK_IS_TEXT_MARK #define GTK_IS_TEXT_MARK(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_TEXT_MARK)) GTK_IS_TEXT_MARK_CLASS #define GTK_IS_TEXT_MARK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_MARK)) GTK_TEXT_MARK_GET_CLASS #define GTK_TEXT_MARK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_MARK, GtkTextMarkClass)) GtkTextMark struct _GtkTextMark { GObject parent_instance; /*< private >*/ gpointer segment; }; GtkTextMarkClass struct _GtkTextMarkClass { GObjectClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_text_mark_get_type GType void gtk_text_mark_new GtkTextMark * const char *name, gboolean left_gravity gtk_text_mark_set_visible void GtkTextMark *mark, gboolean setting gtk_text_mark_get_visible gboolean GtkTextMark *mark gtk_text_mark_get_name const char * GtkTextMark *mark gtk_text_mark_get_deleted gboolean GtkTextMark *mark gtk_text_mark_get_buffer GtkTextBuffer * GtkTextMark *mark gtk_text_mark_get_left_gravity gboolean GtkTextMark *mark GTK_TEXT_CLASS #define GTK_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT, GtkTextClass)) GTK_IS_TEXT_CLASS #define GTK_IS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT)) GTK_TEXT_GET_CLASS #define GTK_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT, GtkTextClass)) GtkTextClass struct _GtkTextClass { GtkWidgetClass parent_class; /* Action signals */ void (* activate) (GtkText *self); void (* move_cursor) (GtkText *self, GtkMovementStep step, int count, gboolean extend); void (* insert_at_cursor) (GtkText *self, const char *str); void (* delete_from_cursor) (GtkText *self, GtkDeleteType type, int count); void (* backspace) (GtkText *self); void (* cut_clipboard) (GtkText *self); void (* copy_clipboard) (GtkText *self); void (* paste_clipboard) (GtkText *self); void (* toggle_overwrite) (GtkText *self); void (* insert_emoji) (GtkText *self); void (* undo) (GtkText *self); void (* redo) (GtkText *self); }; gtk_text_get_display_text char * GtkText *entry, int start_pos, int end_pos gtk_text_enter_text void GtkText *entry, const char *text gtk_text_set_positions void GtkText *entry, int current_pos, int selection_bound gtk_text_get_layout PangoLayout * GtkText *entry gtk_text_get_layout_offsets void GtkText *entry, int *x, int *y gtk_text_reset_im_context void GtkText *entry gtk_text_get_key_controller GtkEventController * GtkText *entry GtkTextTagInfo struct _GtkTextTagInfo { GtkTextTag *tag; GtkTextBTreeNode *tag_root; /* highest-level node containing the tag */ int toggle_count; /* total toggles of this tag below tag_root */ }; GtkTextToggleBody struct _GtkTextToggleBody { GtkTextTagInfo *info; /* Tag that starts or ends here. */ gboolean inNodeCounts; /* TRUE means this toggle has been * accounted for in node toggle * counts; FALSE means it hasn't, yet. */ }; GtkTextSegSplitFunc GtkTextLineSegment * GtkTextLineSegment *seg, int index GtkTextSegDeleteFunc gboolean GtkTextLineSegment *seg, GtkTextLine *line, gboolean tree_gone GtkTextSegCleanupFunc GtkTextLineSegment * GtkTextLineSegment *seg, GtkTextLine *line GtkTextSegLineChangeFunc void GtkTextLineSegment *seg, GtkTextLine *line GtkTextSegCheckFunc void GtkTextLineSegment *seg, GtkTextLine *line GtkTextLineSegmentClass struct _GtkTextLineSegmentClass { const char *name; /* Name of this kind of segment. */ gboolean leftGravity; /* If a segment has zero size (e.g. a * mark or tag toggle), does it * attach to character to its left * or right? 1 means left, 0 means * right. */ GtkTextSegSplitFunc splitFunc; /* Procedure to split large segment * into two smaller ones. */ GtkTextSegDeleteFunc deleteFunc; /* Procedure to call to delete * segment. */ GtkTextSegCleanupFunc cleanupFunc; /* After any change to a line, this * procedure is invoked for all * segments left in the line to * perform any cleanup they wish * (e.g. joining neighboring * segments). */ GtkTextSegLineChangeFunc lineChangeFunc; /* Invoked when a segment is about * to be moved from its current line * to an earlier line because of * a deletion. The line is that * for the segment's old line. * CleanupFunc will be invoked after * the deletion is finished. */ GtkTextSegCheckFunc checkFunc; /* Called during consistency checks * to check internal consistency of * segment. */ }; GtkTextLineSegment struct _GtkTextLineSegment { const GtkTextLineSegmentClass *type; /* Pointer to record describing * segment's type. */ GtkTextLineSegment *next; /* Next in list of segments for this * line, or NULL for end of list. */ int char_count; /* # of chars of index space occupied */ int byte_count; /* Size of this segment (# of bytes * of index space it occupies). */ union { char chars[4]; /* Characters that make up character * info. Actual length varies to * hold as many characters as needed.*/ GtkTextToggleBody toggle; /* Information about tag toggle. */ GtkTextMarkBody mark; /* Information about mark. */ GtkTextPaintable paintable; /* Child texture */ GtkTextChildBody child; /* Child widget */ } body; }; gtk_text_line_segment_split GtkTextLineSegment * const GtkTextIter *iter GTK_TYPE_TEXT_TAG #define GTK_TYPE_TEXT_TAG (gtk_text_tag_get_type ()) GTK_TEXT_TAG #define GTK_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_TAG, GtkTextTag)) GTK_TEXT_TAG_CLASS #define GTK_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_TAG, GtkTextTagClass)) GTK_IS_TEXT_TAG #define GTK_IS_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_TAG)) GTK_IS_TEXT_TAG_CLASS #define GTK_IS_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_TAG)) GTK_TEXT_TAG_GET_CLASS #define GTK_TEXT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_TAG, GtkTextTagClass)) GtkTextTag struct _GtkTextTag { GObject parent_instance; GtkTextTagPrivate *priv; }; GtkTextTagClass struct _GtkTextTagClass { GObjectClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_text_tag_get_type GType void gtk_text_tag_new GtkTextTag * const char *name gtk_text_tag_get_priority int GtkTextTag *tag gtk_text_tag_set_priority void GtkTextTag *tag, int priority gtk_text_tag_changed void GtkTextTag *tag, gboolean size_changed GtkTextIter GtkTextTagPrivate GtkTextTagTable GtkTextTagTableForeach void GtkTextTag *tag, gpointer data GTK_TYPE_TEXT_TAG_TABLE #define GTK_TYPE_TEXT_TAG_TABLE (gtk_text_tag_table_get_type ()) GTK_TEXT_TAG_TABLE #define GTK_TEXT_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTable)) GTK_IS_TEXT_TAG_TABLE #define GTK_IS_TEXT_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_TAG_TABLE)) gtk_text_tag_table_get_type GType void gtk_text_tag_table_new GtkTextTagTable * void gtk_text_tag_table_add gboolean GtkTextTagTable *table, GtkTextTag *tag gtk_text_tag_table_remove void GtkTextTagTable *table, GtkTextTag *tag gtk_text_tag_table_lookup GtkTextTag * GtkTextTagTable *table, const char *name gtk_text_tag_table_foreach void GtkTextTagTable *table, GtkTextTagTableForeach func, gpointer data gtk_text_tag_table_get_size int GtkTextTagTable *table GTK_TEXT_UNKNOWN_CHAR #define GTK_TEXT_UNKNOWN_CHAR 0xFFFC GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN #define GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN 3 gtk_text_unknown_char_utf8_gtk_tests_only const char * void gtk_text_byte_begins_utf8_char gboolean const char *byte GtkTextCounter GtkTextLineSegment GtkTextLineSegmentClass GtkTextMarkBody GtkTextToggleBody gtk_text_util_create_drag_icon GdkPaintable * GtkWidget *widget, char *text, gssize len gtk_text_util_create_rich_drag_icon GdkPaintable * GtkWidget *widget, GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end GTK_TYPE_TEXT_VIEW #define GTK_TYPE_TEXT_VIEW (gtk_text_view_get_type ()) GTK_TEXT_VIEW #define GTK_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_VIEW, GtkTextView)) GTK_TEXT_VIEW_CLASS #define GTK_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_VIEW, GtkTextViewClass)) GTK_IS_TEXT_VIEW #define GTK_IS_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_VIEW)) GTK_IS_TEXT_VIEW_CLASS #define GTK_IS_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_VIEW)) GTK_TEXT_VIEW_GET_CLASS #define GTK_TEXT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_VIEW, GtkTextViewClass)) GtkTextWindowType typedef enum { GTK_TEXT_WINDOW_WIDGET = 1, GTK_TEXT_WINDOW_TEXT, GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, GTK_TEXT_WINDOW_BOTTOM } GtkTextWindowType; GtkTextViewLayer typedef enum { GTK_TEXT_VIEW_LAYER_BELOW_TEXT, GTK_TEXT_VIEW_LAYER_ABOVE_TEXT } GtkTextViewLayer; GtkTextExtendSelection typedef enum { GTK_TEXT_EXTEND_SELECTION_WORD, GTK_TEXT_EXTEND_SELECTION_LINE } GtkTextExtendSelection; GTK_TEXT_VIEW_PRIORITY_VALIDATE #define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) GtkTextView struct _GtkTextView { GtkWidget parent_instance; /*< private >*/ GtkTextViewPrivate *priv; }; GtkTextViewClass struct _GtkTextViewClass { GtkWidgetClass parent_class; /*< public >*/ void (* move_cursor) (GtkTextView *text_view, GtkMovementStep step, int count, gboolean extend_selection); void (* set_anchor) (GtkTextView *text_view); void (* insert_at_cursor) (GtkTextView *text_view, const char *str); void (* delete_from_cursor) (GtkTextView *text_view, GtkDeleteType type, int count); void (* backspace) (GtkTextView *text_view); void (* cut_clipboard) (GtkTextView *text_view); void (* copy_clipboard) (GtkTextView *text_view); void (* paste_clipboard) (GtkTextView *text_view); void (* toggle_overwrite) (GtkTextView *text_view); GtkTextBuffer * (* create_buffer) (GtkTextView *text_view); void (* snapshot_layer) (GtkTextView *text_view, GtkTextViewLayer layer, GtkSnapshot *snapshot); gboolean (* extend_selection) (GtkTextView *text_view, GtkTextExtendSelection granularity, const GtkTextIter *location, GtkTextIter *start, GtkTextIter *end); void (* insert_emoji) (GtkTextView *text_view); /*< private >*/ gpointer padding[8]; }; gtk_text_view_get_type GType void gtk_text_view_new GtkWidget * void gtk_text_view_new_with_buffer GtkWidget * GtkTextBuffer *buffer gtk_text_view_set_buffer void GtkTextView *text_view, GtkTextBuffer *buffer gtk_text_view_get_buffer GtkTextBuffer * GtkTextView *text_view gtk_text_view_scroll_to_iter gboolean GtkTextView *text_view, GtkTextIter *iter, double within_margin, gboolean use_align, double xalign, double yalign gtk_text_view_scroll_to_mark void GtkTextView *text_view, GtkTextMark *mark, double within_margin, gboolean use_align, double xalign, double yalign gtk_text_view_scroll_mark_onscreen void GtkTextView *text_view, GtkTextMark *mark gtk_text_view_move_mark_onscreen gboolean GtkTextView *text_view, GtkTextMark *mark gtk_text_view_place_cursor_onscreen gboolean GtkTextView *text_view gtk_text_view_get_visible_rect void GtkTextView *text_view, GdkRectangle *visible_rect gtk_text_view_set_cursor_visible void GtkTextView *text_view, gboolean setting gtk_text_view_get_cursor_visible gboolean GtkTextView *text_view gtk_text_view_reset_cursor_blink void GtkTextView *text_view gtk_text_view_get_cursor_locations void GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *strong, GdkRectangle *weak gtk_text_view_get_iter_location void GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location gtk_text_view_get_iter_at_location gboolean GtkTextView *text_view, GtkTextIter *iter, int x, int y gtk_text_view_get_iter_at_position gboolean GtkTextView *text_view, GtkTextIter *iter, int *trailing, int x, int y gtk_text_view_get_line_yrange void GtkTextView *text_view, const GtkTextIter *iter, int *y, int *height gtk_text_view_get_line_at_y void GtkTextView *text_view, GtkTextIter *target_iter, int y, int *line_top gtk_text_view_buffer_to_window_coords void GtkTextView *text_view, GtkTextWindowType win, int buffer_x, int buffer_y, int *window_x, int *window_y gtk_text_view_window_to_buffer_coords void GtkTextView *text_view, GtkTextWindowType win, int window_x, int window_y, int *buffer_x, int *buffer_y gtk_text_view_forward_display_line gboolean GtkTextView *text_view, GtkTextIter *iter gtk_text_view_backward_display_line gboolean GtkTextView *text_view, GtkTextIter *iter gtk_text_view_forward_display_line_end gboolean GtkTextView *text_view, GtkTextIter *iter gtk_text_view_backward_display_line_start gboolean GtkTextView *text_view, GtkTextIter *iter gtk_text_view_starts_display_line gboolean GtkTextView *text_view, const GtkTextIter *iter gtk_text_view_move_visually gboolean GtkTextView *text_view, GtkTextIter *iter, int count gtk_text_view_im_context_filter_keypress gboolean GtkTextView *text_view, GdkEvent *event gtk_text_view_reset_im_context void GtkTextView *text_view gtk_text_view_get_gutter GtkWidget * GtkTextView *text_view, GtkTextWindowType win gtk_text_view_set_gutter void GtkTextView *text_view, GtkTextWindowType win, GtkWidget *widget gtk_text_view_add_child_at_anchor void GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor gtk_text_view_add_overlay void GtkTextView *text_view, GtkWidget *child, int xpos, int ypos gtk_text_view_move_overlay void GtkTextView *text_view, GtkWidget *child, int xpos, int ypos gtk_text_view_remove void GtkTextView *text_view, GtkWidget *child gtk_text_view_set_wrap_mode void GtkTextView *text_view, GtkWrapMode wrap_mode gtk_text_view_get_wrap_mode GtkWrapMode GtkTextView *text_view gtk_text_view_set_editable void GtkTextView *text_view, gboolean setting gtk_text_view_get_editable gboolean GtkTextView *text_view gtk_text_view_set_overwrite void GtkTextView *text_view, gboolean overwrite gtk_text_view_get_overwrite gboolean GtkTextView *text_view gtk_text_view_set_accepts_tab void GtkTextView *text_view, gboolean accepts_tab gtk_text_view_get_accepts_tab gboolean GtkTextView *text_view gtk_text_view_set_pixels_above_lines void GtkTextView *text_view, int pixels_above_lines gtk_text_view_get_pixels_above_lines int GtkTextView *text_view gtk_text_view_set_pixels_below_lines void GtkTextView *text_view, int pixels_below_lines gtk_text_view_get_pixels_below_lines int GtkTextView *text_view gtk_text_view_set_pixels_inside_wrap void GtkTextView *text_view, int pixels_inside_wrap gtk_text_view_get_pixels_inside_wrap int GtkTextView *text_view gtk_text_view_set_justification void GtkTextView *text_view, GtkJustification justification gtk_text_view_get_justification GtkJustification GtkTextView *text_view gtk_text_view_set_left_margin void GtkTextView *text_view, int left_margin gtk_text_view_get_left_margin int GtkTextView *text_view gtk_text_view_set_right_margin void GtkTextView *text_view, int right_margin gtk_text_view_get_right_margin int GtkTextView *text_view gtk_text_view_set_top_margin void GtkTextView *text_view, int top_margin gtk_text_view_get_top_margin int GtkTextView *text_view gtk_text_view_set_bottom_margin void GtkTextView *text_view, int bottom_margin gtk_text_view_get_bottom_margin int GtkTextView *text_view gtk_text_view_set_indent void GtkTextView *text_view, int indent gtk_text_view_get_indent int GtkTextView *text_view gtk_text_view_set_tabs void GtkTextView *text_view, PangoTabArray *tabs gtk_text_view_get_tabs PangoTabArray * GtkTextView *text_view gtk_text_view_set_input_purpose void GtkTextView *text_view, GtkInputPurpose purpose gtk_text_view_get_input_purpose GtkInputPurpose GtkTextView *text_view gtk_text_view_set_input_hints void GtkTextView *text_view, GtkInputHints hints gtk_text_view_get_input_hints GtkInputHints GtkTextView *text_view gtk_text_view_set_monospace void GtkTextView *text_view, gboolean monospace gtk_text_view_get_monospace gboolean GtkTextView *text_view gtk_text_view_set_extra_menu void GtkTextView *text_view, GMenuModel *model gtk_text_view_get_extra_menu GMenuModel * GtkTextView *text_view GtkTextViewPrivate GTK_TYPE_TEXT_VIEW_CHILD #define GTK_TYPE_TEXT_VIEW_CHILD (gtk_text_view_child_get_type()) gtk_text_view_child_new GtkWidget * GtkTextWindowType window_type gtk_text_view_child_get_window_type GtkTextWindowType GtkTextViewChild *self gtk_text_view_child_add void GtkTextViewChild *self, GtkWidget *widget gtk_text_view_child_remove void GtkTextViewChild *self, GtkWidget *widget gtk_text_view_child_add_overlay void GtkTextViewChild *self, GtkWidget *widget, int xpos, int ypos gtk_text_view_child_move_overlay void GtkTextViewChild *self, GtkWidget *widget, int xpos, int ypos gtk_text_view_child_set_offset void GtkTextViewChild *child, int xoffset, int yoffset GtkTextViewChild GTK_TIM_SORT_MAX_PENDING #define GTK_TIM_SORT_MAX_PENDING 86 GtkTimSortRun struct _GtkTimSortRun { void *base; gsize len; }; GtkTimSort struct _GtkTimSort { /* * Size of elements. Used to decide on fast paths. */ gsize element_size; /* The comparator for this sort. */ GCompareDataFunc compare_func; gpointer data; /* * The array being sorted. */ gpointer base; gsize size; /* * The maximum size of a merge. It's guaranteed >0 and user-provided. * See the comments for gtk_tim_sort_set_max_merge_size() for details. */ gsize max_merge_size; /* * This controls when we get *into* galloping mode. It is initialized * to MIN_GALLOP. The mergeLo and mergeHi methods nudge it higher for * random data, and lower for highly structured data. */ gsize min_gallop; /* * The minimum run length. See compute_min_run() for details. */ gsize min_run; /* * Temp storage for merges. */ void *tmp; gsize tmp_length; /* * A stack of pending runs yet to be merged. Run i starts at * address base[i] and extends for len[i] elements. It's always * true (so long as the indices are in bounds) that: * * runBase[i] + runLen[i] == runBase[i + 1] * * so we could cut the storage for this, but it's a minor amount, * and keeping all the info explicit simplifies the code. */ gsize pending_runs; // Number of pending runs on stack GtkTimSortRun run[GTK_TIM_SORT_MAX_PENDING]; }; gtk_tim_sort_init void GtkTimSort *self, gpointer base, gsize size, gsize element_size, GCompareDataFunc compare_func, gpointer data gtk_tim_sort_finish void GtkTimSort *self gtk_tim_sort_get_runs void GtkTimSort *self, gsize runs[GTK_TIM_SORT_MAX_PENDING + 1] gtk_tim_sort_set_runs void GtkTimSort *self, gsize *runs gtk_tim_sort_set_max_merge_size void GtkTimSort *self, gsize max_merge_size gtk_tim_sort_get_progress gsize GtkTimSort *self gtk_tim_sort_step gboolean GtkTimSort *self, GtkTimSortRun *out_change gtk_tim_sort void gpointer base, gsize size, gsize element_size, GCompareDataFunc compare_func, gpointer user_data GTK_TYPE_TOGGLE_BUTTON #define GTK_TYPE_TOGGLE_BUTTON (gtk_toggle_button_get_type ()) GTK_TOGGLE_BUTTON #define GTK_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton)) GTK_TOGGLE_BUTTON_CLASS #define GTK_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass)) GTK_IS_TOGGLE_BUTTON #define GTK_IS_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOGGLE_BUTTON)) GTK_IS_TOGGLE_BUTTON_CLASS #define GTK_IS_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOGGLE_BUTTON)) GTK_TOGGLE_BUTTON_GET_CLASS #define GTK_TOGGLE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass)) GtkToggleButton struct _GtkToggleButton { /*< private >*/ GtkButton button; }; GtkToggleButtonClass struct _GtkToggleButtonClass { GtkButtonClass parent_class; void (* toggled) (GtkToggleButton *toggle_button); /*< private >*/ gpointer padding[8]; }; gtk_toggle_button_get_type GType void gtk_toggle_button_new GtkWidget * void gtk_toggle_button_new_with_label GtkWidget * const char *label gtk_toggle_button_new_with_mnemonic GtkWidget * const char *label gtk_toggle_button_set_active void GtkToggleButton *toggle_button, gboolean is_active gtk_toggle_button_get_active gboolean GtkToggleButton *toggle_button gtk_toggle_button_toggled void GtkToggleButton *toggle_button GTK_TYPE_TOOLTIP #define GTK_TYPE_TOOLTIP (gtk_tooltip_get_type ()) GTK_TOOLTIP #define GTK_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOOLTIP, GtkTooltip)) GTK_IS_TOOLTIP #define GTK_IS_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOOLTIP)) gtk_tooltip_get_type GType void gtk_tooltip_set_markup void GtkTooltip *tooltip, const char *markup gtk_tooltip_set_text void GtkTooltip *tooltip, const char *text gtk_tooltip_set_icon void GtkTooltip *tooltip, GdkPaintable *paintable gtk_tooltip_set_icon_from_icon_name void GtkTooltip *tooltip, const char *icon_name gtk_tooltip_set_icon_from_gicon void GtkTooltip *tooltip, GIcon *gicon gtk_tooltip_set_custom void GtkTooltip *tooltip, GtkWidget *custom_widget gtk_tooltip_set_tip_area void GtkTooltip *tooltip, const GdkRectangle *rect GTK_TYPE_TRASH_MONITOR #define GTK_TYPE_TRASH_MONITOR (_gtk_trash_monitor_get_type ()) GTK_TRASH_MONITOR #define GTK_TRASH_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TRASH_MONITOR, GtkTrashMonitor)) GTK_TRASH_MONITOR_CLASS #define GTK_TRASH_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TRASH_MONITOR, GtkTrashMonitorClass)) GTK_IS_TRASH_MONITOR #define GTK_IS_TRASH_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TRASH_MONITOR)) GTK_IS_TRASH_MONITOR_CLASS #define GTK_IS_TRASH_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TRASH_MONITOR)) GTK_TRASH_MONITOR_GET_CLASS #define GTK_TRASH_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TRASH_MONITOR, GtkTrashMonitorClass)) GtkTrashMonitor GtkTrashMonitorClass GtkTreeDataList struct _GtkTreeDataList { GtkTreeDataList *next; union { int v_int; gint8 v_char; guint8 v_uchar; guint v_uint; glong v_long; gulong v_ulong; gint64 v_int64; guint64 v_uint64; float v_float; double v_double; gpointer v_pointer; } data; }; GTK_TYPE_TREE_ROW_DATA #define GTK_TYPE_TREE_ROW_DATA (gtk_tree_row_data_get_type ()) gtk_tree_row_data_get_type GType void GTK_TYPE_TREE_DRAG_SOURCE #define GTK_TYPE_TREE_DRAG_SOURCE (gtk_tree_drag_source_get_type ()) GTK_TREE_DRAG_SOURCE #define GTK_TREE_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_DRAG_SOURCE, GtkTreeDragSource)) GTK_IS_TREE_DRAG_SOURCE #define GTK_IS_TREE_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_DRAG_SOURCE)) GTK_TREE_DRAG_SOURCE_GET_IFACE #define GTK_TREE_DRAG_SOURCE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_DRAG_SOURCE, GtkTreeDragSourceIface)) GtkTreeDragSourceIface struct _GtkTreeDragSourceIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* VTable - not signals */ gboolean (* row_draggable) (GtkTreeDragSource *drag_source, GtkTreePath *path); GdkContentProvider * (* drag_data_get)(GtkTreeDragSource *drag_source, GtkTreePath *path); gboolean (* drag_data_delete) (GtkTreeDragSource *drag_source, GtkTreePath *path); }; gtk_tree_drag_source_get_type GType void gtk_tree_drag_source_row_draggable gboolean GtkTreeDragSource *drag_source, GtkTreePath *path gtk_tree_drag_source_drag_data_delete gboolean GtkTreeDragSource *drag_source, GtkTreePath *path gtk_tree_drag_source_drag_data_get GdkContentProvider * GtkTreeDragSource *drag_source, GtkTreePath *path GTK_TYPE_TREE_DRAG_DEST #define GTK_TYPE_TREE_DRAG_DEST (gtk_tree_drag_dest_get_type ()) GTK_TREE_DRAG_DEST #define GTK_TREE_DRAG_DEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_DRAG_DEST, GtkTreeDragDest)) GTK_IS_TREE_DRAG_DEST #define GTK_IS_TREE_DRAG_DEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_DRAG_DEST)) GTK_TREE_DRAG_DEST_GET_IFACE #define GTK_TREE_DRAG_DEST_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_DRAG_DEST, GtkTreeDragDestIface)) GtkTreeDragDestIface struct _GtkTreeDragDestIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* VTable - not signals */ gboolean (* drag_data_received) (GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value); gboolean (* row_drop_possible) (GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value); }; gtk_tree_drag_dest_get_type GType void gtk_tree_drag_dest_drag_data_received gboolean GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value gtk_tree_drag_dest_row_drop_possible gboolean GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value gtk_tree_create_row_drag_content GdkContentProvider * GtkTreeModel *tree_model, GtkTreePath *path gtk_tree_get_row_drag_data gboolean const GValue *value, GtkTreeModel **tree_model, GtkTreePath **path GtkTreeDragDest GtkTreeDragSource GTK_TYPE_TREE_EXPANDER #define GTK_TYPE_TREE_EXPANDER (gtk_tree_expander_get_type ()) gtk_tree_expander_new GtkWidget * void gtk_tree_expander_get_child GtkWidget * GtkTreeExpander *self gtk_tree_expander_set_child void GtkTreeExpander *self, GtkWidget *child gtk_tree_expander_get_item gpointer GtkTreeExpander *self gtk_tree_expander_get_list_row GtkTreeListRow * GtkTreeExpander *self gtk_tree_expander_set_list_row void GtkTreeExpander *self, GtkTreeListRow *list_row GtkTreeExpander GTK_TYPE_TREE_LIST_MODEL #define GTK_TYPE_TREE_LIST_MODEL (gtk_tree_list_model_get_type ()) GTK_TYPE_TREE_LIST_ROW #define GTK_TYPE_TREE_LIST_ROW (gtk_tree_list_row_get_type ()) GtkTreeListModelCreateModelFunc GListModel * gpointer item, gpointer user_data gtk_tree_list_model_new GtkTreeListModel * GListModel *root, gboolean passthrough, gboolean autoexpand, GtkTreeListModelCreateModelFunc create_func, gpointer user_data, GDestroyNotify user_destroy gtk_tree_list_model_get_model GListModel * GtkTreeListModel *self gtk_tree_list_model_get_passthrough gboolean GtkTreeListModel *self gtk_tree_list_model_set_autoexpand void GtkTreeListModel *self, gboolean autoexpand gtk_tree_list_model_get_autoexpand gboolean GtkTreeListModel *self gtk_tree_list_model_get_child_row GtkTreeListRow * GtkTreeListModel *self, guint position gtk_tree_list_model_get_row GtkTreeListRow * GtkTreeListModel *self, guint position gtk_tree_list_row_get_item gpointer GtkTreeListRow *self gtk_tree_list_row_set_expanded void GtkTreeListRow *self, gboolean expanded gtk_tree_list_row_get_expanded gboolean GtkTreeListRow *self gtk_tree_list_row_is_expandable gboolean GtkTreeListRow *self gtk_tree_list_row_get_position guint GtkTreeListRow *self gtk_tree_list_row_get_depth guint GtkTreeListRow *self gtk_tree_list_row_get_children GListModel * GtkTreeListRow *self gtk_tree_list_row_get_parent GtkTreeListRow * GtkTreeListRow *self gtk_tree_list_row_get_child_row GtkTreeListRow * GtkTreeListRow *self, guint position GtkTreeListModel GtkTreeListRow GTK_TYPE_TREE_LIST_ROW_SORTER #define GTK_TYPE_TREE_LIST_ROW_SORTER (gtk_tree_list_row_sorter_get_type ()) gtk_tree_list_row_sorter_new GtkSorter * GtkSorter *sorter gtk_tree_list_row_sorter_get_sorter GtkSorter * GtkTreeListRowSorter *self gtk_tree_list_row_sorter_set_sorter void GtkTreeListRowSorter *self, GtkSorter *sorter GtkTreeListRowSorter GTK_TYPE_TREE_MODEL #define GTK_TYPE_TREE_MODEL (gtk_tree_model_get_type ()) GTK_TREE_MODEL #define GTK_TREE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MODEL, GtkTreeModel)) GTK_IS_TREE_MODEL #define GTK_IS_TREE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL)) GTK_TREE_MODEL_GET_IFACE #define GTK_TREE_MODEL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_MODEL, GtkTreeModelIface)) GTK_TYPE_TREE_ITER #define GTK_TYPE_TREE_ITER (gtk_tree_iter_get_type ()) GTK_TYPE_TREE_PATH #define GTK_TYPE_TREE_PATH (gtk_tree_path_get_type ()) GTK_TYPE_TREE_ROW_REFERENCE #define GTK_TYPE_TREE_ROW_REFERENCE (gtk_tree_row_reference_get_type ()) GtkTreeModelForeachFunc gboolean GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data GtkTreeModelFlags typedef enum { GTK_TREE_MODEL_ITERS_PERSIST = 1 << 0, GTK_TREE_MODEL_LIST_ONLY = 1 << 1 } GtkTreeModelFlags; GtkTreeIter struct _GtkTreeIter { int stamp; gpointer user_data; gpointer user_data2; gpointer user_data3; }; GtkTreeModelIface struct _GtkTreeModelIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* Signals */ void (* row_changed) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_inserted) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_has_child_toggled) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_deleted) (GtkTreeModel *tree_model, GtkTreePath *path); void (* rows_reordered) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order); /* Virtual Table */ GtkTreeModelFlags (* get_flags) (GtkTreeModel *tree_model); int (* get_n_columns) (GtkTreeModel *tree_model); GType (* get_column_type) (GtkTreeModel *tree_model, int index_); gboolean (* get_iter) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); GtkTreePath *(* get_path) (GtkTreeModel *tree_model, GtkTreeIter *iter); void (* get_value) (GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value); gboolean (* iter_next) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_previous) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_children) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); gboolean (* iter_has_child) (GtkTreeModel *tree_model, GtkTreeIter *iter); int (* iter_n_children) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_nth_child) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n); gboolean (* iter_parent) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child); void (* ref_node) (GtkTreeModel *tree_model, GtkTreeIter *iter); void (* unref_node) (GtkTreeModel *tree_model, GtkTreeIter *iter); }; gtk_tree_path_new GtkTreePath * void gtk_tree_path_new_from_string GtkTreePath * const char *path gtk_tree_path_new_from_indices GtkTreePath * int first_index, ... gtk_tree_path_new_from_indicesv GtkTreePath * int *indices, gsize length gtk_tree_path_to_string char * GtkTreePath *path gtk_tree_path_new_first GtkTreePath * void gtk_tree_path_append_index void GtkTreePath *path, int index_ gtk_tree_path_prepend_index void GtkTreePath *path, int index_ gtk_tree_path_get_depth int GtkTreePath *path gtk_tree_path_get_indices int * GtkTreePath *path gtk_tree_path_get_indices_with_depth int * GtkTreePath *path, int *depth gtk_tree_path_free void GtkTreePath *path gtk_tree_path_copy GtkTreePath * const GtkTreePath *path gtk_tree_path_get_type GType void gtk_tree_path_compare int const GtkTreePath *a, const GtkTreePath *b gtk_tree_path_next void GtkTreePath *path gtk_tree_path_prev gboolean GtkTreePath *path gtk_tree_path_up gboolean GtkTreePath *path gtk_tree_path_down void GtkTreePath *path gtk_tree_path_is_ancestor gboolean GtkTreePath *path, GtkTreePath *descendant gtk_tree_path_is_descendant gboolean GtkTreePath *path, GtkTreePath *ancestor gtk_tree_row_reference_get_type GType void gtk_tree_row_reference_new GtkTreeRowReference * GtkTreeModel *model, GtkTreePath *path gtk_tree_row_reference_new_proxy GtkTreeRowReference * GObject *proxy, GtkTreeModel *model, GtkTreePath *path gtk_tree_row_reference_get_path GtkTreePath * GtkTreeRowReference *reference gtk_tree_row_reference_get_model GtkTreeModel * GtkTreeRowReference *reference gtk_tree_row_reference_valid gboolean GtkTreeRowReference *reference gtk_tree_row_reference_copy GtkTreeRowReference * GtkTreeRowReference *reference gtk_tree_row_reference_free void GtkTreeRowReference *reference gtk_tree_row_reference_inserted void GObject *proxy, GtkTreePath *path gtk_tree_row_reference_deleted void GObject *proxy, GtkTreePath *path gtk_tree_row_reference_reordered void GObject *proxy, GtkTreePath *path, GtkTreeIter *iter, int *new_order gtk_tree_iter_copy GtkTreeIter * GtkTreeIter *iter gtk_tree_iter_free void GtkTreeIter *iter gtk_tree_iter_get_type GType void gtk_tree_model_get_type GType void gtk_tree_model_get_flags GtkTreeModelFlags GtkTreeModel *tree_model gtk_tree_model_get_n_columns int GtkTreeModel *tree_model gtk_tree_model_get_column_type GType GtkTreeModel *tree_model, int index_ gtk_tree_model_get_iter gboolean GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path gtk_tree_model_get_iter_from_string gboolean GtkTreeModel *tree_model, GtkTreeIter *iter, const char *path_string gtk_tree_model_get_string_from_iter char * GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_get_iter_first gboolean GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_get_path GtkTreePath * GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_get_value void GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value gtk_tree_model_iter_previous gboolean GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_iter_next gboolean GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_iter_children gboolean GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent gtk_tree_model_iter_has_child gboolean GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_iter_n_children int GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_iter_nth_child gboolean GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n gtk_tree_model_iter_parent gboolean GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child gtk_tree_model_ref_node void GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_unref_node void GtkTreeModel *tree_model, GtkTreeIter *iter gtk_tree_model_get void GtkTreeModel *tree_model, GtkTreeIter *iter, ... gtk_tree_model_get_valist void GtkTreeModel *tree_model, GtkTreeIter *iter, va_list var_args gtk_tree_model_foreach void GtkTreeModel *model, GtkTreeModelForeachFunc func, gpointer user_data gtk_tree_model_row_changed void GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter gtk_tree_model_row_inserted void GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter gtk_tree_model_row_has_child_toggled void GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter gtk_tree_model_row_deleted void GtkTreeModel *tree_model, GtkTreePath *path gtk_tree_model_rows_reordered void GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order gtk_tree_model_rows_reordered_with_length void GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order, int length GtkTreeModel GtkTreePath GtkTreeRowReference GTK_TYPE_TREE_MODEL_FILTER #define GTK_TYPE_TREE_MODEL_FILTER (gtk_tree_model_filter_get_type ()) GTK_TREE_MODEL_FILTER #define GTK_TREE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilter)) GTK_TREE_MODEL_FILTER_CLASS #define GTK_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass)) GTK_IS_TREE_MODEL_FILTER #define GTK_IS_TREE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL_FILTER)) GTK_IS_TREE_MODEL_FILTER_CLASS #define GTK_IS_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_TREE_MODEL_FILTER)) GTK_TREE_MODEL_FILTER_GET_CLASS #define GTK_TREE_MODEL_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass)) GtkTreeModelFilterVisibleFunc gboolean GtkTreeModel *model, GtkTreeIter *iter, gpointer data GtkTreeModelFilterModifyFunc void GtkTreeModel *model, GtkTreeIter *iter, GValue *value, int column, gpointer data GtkTreeModelFilter struct _GtkTreeModelFilter { GObject parent; /*< private >*/ GtkTreeModelFilterPrivate *priv; }; GtkTreeModelFilterClass struct _GtkTreeModelFilterClass { GObjectClass parent_class; gboolean (* visible) (GtkTreeModelFilter *self, GtkTreeModel *child_model, GtkTreeIter *iter); void (* modify) (GtkTreeModelFilter *self, GtkTreeModel *child_model, GtkTreeIter *iter, GValue *value, int column); /*< private >*/ gpointer padding[8]; }; gtk_tree_model_filter_get_type GType void gtk_tree_model_filter_new GtkTreeModel * GtkTreeModel *child_model, GtkTreePath *root gtk_tree_model_filter_set_visible_func void GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GDestroyNotify destroy gtk_tree_model_filter_set_modify_func void GtkTreeModelFilter *filter, int n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GDestroyNotify destroy gtk_tree_model_filter_set_visible_column void GtkTreeModelFilter *filter, int column gtk_tree_model_filter_get_model GtkTreeModel * GtkTreeModelFilter *filter gtk_tree_model_filter_convert_child_iter_to_iter gboolean GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter gtk_tree_model_filter_convert_iter_to_child_iter void GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter gtk_tree_model_filter_convert_child_path_to_path GtkTreePath * GtkTreeModelFilter *filter, GtkTreePath *child_path gtk_tree_model_filter_convert_path_to_child_path GtkTreePath * GtkTreeModelFilter *filter, GtkTreePath *filter_path gtk_tree_model_filter_refilter void GtkTreeModelFilter *filter gtk_tree_model_filter_clear_cache void GtkTreeModelFilter *filter GtkTreeModelFilterPrivate GTK_TYPE_TREE_MODEL_SORT #define GTK_TYPE_TREE_MODEL_SORT (gtk_tree_model_sort_get_type ()) GTK_TREE_MODEL_SORT #define GTK_TREE_MODEL_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MODEL_SORT, GtkTreeModelSort)) GTK_TREE_MODEL_SORT_CLASS #define GTK_TREE_MODEL_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_MODEL_SORT, GtkTreeModelSortClass)) GTK_IS_TREE_MODEL_SORT #define GTK_IS_TREE_MODEL_SORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL_SORT)) GTK_IS_TREE_MODEL_SORT_CLASS #define GTK_IS_TREE_MODEL_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_MODEL_SORT)) GTK_TREE_MODEL_SORT_GET_CLASS #define GTK_TREE_MODEL_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_SORT, GtkTreeModelSortClass)) GtkTreeModelSort struct _GtkTreeModelSort { GObject parent; /* < private > */ GtkTreeModelSortPrivate *priv; }; GtkTreeModelSortClass struct _GtkTreeModelSortClass { GObjectClass parent_class; /* < private > */ gpointer padding[8]; }; gtk_tree_model_sort_get_type GType void gtk_tree_model_sort_new_with_model GtkTreeModel * GtkTreeModel *child_model gtk_tree_model_sort_get_model GtkTreeModel * GtkTreeModelSort *tree_model gtk_tree_model_sort_convert_child_path_to_path GtkTreePath * GtkTreeModelSort *tree_model_sort, GtkTreePath *child_path gtk_tree_model_sort_convert_child_iter_to_iter gboolean GtkTreeModelSort *tree_model_sort, GtkTreeIter *sort_iter, GtkTreeIter *child_iter gtk_tree_model_sort_convert_path_to_child_path GtkTreePath * GtkTreeModelSort *tree_model_sort, GtkTreePath *sorted_path gtk_tree_model_sort_convert_iter_to_child_iter void GtkTreeModelSort *tree_model_sort, GtkTreeIter *child_iter, GtkTreeIter *sorted_iter gtk_tree_model_sort_reset_default_sort_func void GtkTreeModelSort *tree_model_sort gtk_tree_model_sort_clear_cache void GtkTreeModelSort *tree_model_sort gtk_tree_model_sort_iter_is_valid gboolean GtkTreeModelSort *tree_model_sort, GtkTreeIter *iter GtkTreeModelSortPrivate GTK_TYPE_TREE_SELECTION #define GTK_TYPE_TREE_SELECTION (gtk_tree_selection_get_type ()) GTK_TREE_SELECTION #define GTK_TREE_SELECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_SELECTION, GtkTreeSelection)) GTK_IS_TREE_SELECTION #define GTK_IS_TREE_SELECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_SELECTION)) GtkTreeSelectionFunc gboolean GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data GtkTreeSelectionForeachFunc void GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data gtk_tree_selection_get_type GType void gtk_tree_selection_set_mode void GtkTreeSelection *selection, GtkSelectionMode type gtk_tree_selection_get_mode GtkSelectionMode GtkTreeSelection *selection gtk_tree_selection_set_select_function void GtkTreeSelection *selection, GtkTreeSelectionFunc func, gpointer data, GDestroyNotify destroy gtk_tree_selection_get_user_data gpointer GtkTreeSelection *selection gtk_tree_selection_get_tree_view GtkTreeView * GtkTreeSelection *selection gtk_tree_selection_get_select_function GtkTreeSelectionFunc GtkTreeSelection *selection gtk_tree_selection_get_selected gboolean GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter gtk_tree_selection_get_selected_rows GList * GtkTreeSelection *selection, GtkTreeModel **model gtk_tree_selection_count_selected_rows int GtkTreeSelection *selection gtk_tree_selection_selected_foreach void GtkTreeSelection *selection, GtkTreeSelectionForeachFunc func, gpointer data gtk_tree_selection_select_path void GtkTreeSelection *selection, GtkTreePath *path gtk_tree_selection_unselect_path void GtkTreeSelection *selection, GtkTreePath *path gtk_tree_selection_select_iter void GtkTreeSelection *selection, GtkTreeIter *iter gtk_tree_selection_unselect_iter void GtkTreeSelection *selection, GtkTreeIter *iter gtk_tree_selection_path_is_selected gboolean GtkTreeSelection *selection, GtkTreePath *path gtk_tree_selection_iter_is_selected gboolean GtkTreeSelection *selection, GtkTreeIter *iter gtk_tree_selection_select_all void GtkTreeSelection *selection gtk_tree_selection_unselect_all void GtkTreeSelection *selection gtk_tree_selection_select_range void GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path gtk_tree_selection_unselect_range void GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path GTK_TYPE_TREE_SORTABLE #define GTK_TYPE_TREE_SORTABLE (gtk_tree_sortable_get_type ()) GTK_TREE_SORTABLE #define GTK_TREE_SORTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_SORTABLE, GtkTreeSortable)) GTK_TREE_SORTABLE_CLASS #define GTK_TREE_SORTABLE_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_TREE_SORTABLE, GtkTreeSortableIface)) GTK_IS_TREE_SORTABLE #define GTK_IS_TREE_SORTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_SORTABLE)) GTK_TREE_SORTABLE_GET_IFACE #define GTK_TREE_SORTABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_SORTABLE, GtkTreeSortableIface)) GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID #define GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID (-1) GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID #define GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID (-2) GtkTreeIterCompareFunc int GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data GtkTreeSortableIface struct _GtkTreeSortableIface { /*< private >*/ GTypeInterface g_iface; /*< public >*/ /* signals */ void (* sort_column_changed) (GtkTreeSortable *sortable); /* virtual table */ gboolean (* get_sort_column_id) (GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order); void (* set_sort_column_id) (GtkTreeSortable *sortable, int sort_column_id, GtkSortType order); void (* set_sort_func) (GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); void (* set_default_sort_func) (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); gboolean (* has_default_sort_func) (GtkTreeSortable *sortable); }; gtk_tree_sortable_get_type GType void gtk_tree_sortable_sort_column_changed void GtkTreeSortable *sortable gtk_tree_sortable_get_sort_column_id gboolean GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order gtk_tree_sortable_set_sort_column_id void GtkTreeSortable *sortable, int sort_column_id, GtkSortType order gtk_tree_sortable_set_sort_func void GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy gtk_tree_sortable_set_default_sort_func void GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy gtk_tree_sortable_has_default_sort_func gboolean GtkTreeSortable *sortable GtkTreeSortable GTK_TYPE_TREE_STORE #define GTK_TYPE_TREE_STORE (gtk_tree_store_get_type ()) GTK_TREE_STORE #define GTK_TREE_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_STORE, GtkTreeStore)) GTK_TREE_STORE_CLASS #define GTK_TREE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_STORE, GtkTreeStoreClass)) GTK_IS_TREE_STORE #define GTK_IS_TREE_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_STORE)) GTK_IS_TREE_STORE_CLASS #define GTK_IS_TREE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_STORE)) GTK_TREE_STORE_GET_CLASS #define GTK_TREE_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_STORE, GtkTreeStoreClass)) GtkTreeStore struct _GtkTreeStore { GObject parent; GtkTreeStorePrivate *priv; }; GtkTreeStoreClass struct _GtkTreeStoreClass { GObjectClass parent_class; /*< private >*/ gpointer padding[8]; }; gtk_tree_store_get_type GType void gtk_tree_store_new GtkTreeStore * int n_columns, ... gtk_tree_store_newv GtkTreeStore * int n_columns, GType *types gtk_tree_store_set_column_types void GtkTreeStore *tree_store, int n_columns, GType *types gtk_tree_store_set_value void GtkTreeStore *tree_store, GtkTreeIter *iter, int column, GValue *value gtk_tree_store_set void GtkTreeStore *tree_store, GtkTreeIter *iter, ... gtk_tree_store_set_valuesv void GtkTreeStore *tree_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values gtk_tree_store_set_valist void GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args gtk_tree_store_remove gboolean GtkTreeStore *tree_store, GtkTreeIter *iter gtk_tree_store_insert void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position gtk_tree_store_insert_before void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling gtk_tree_store_insert_after void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling gtk_tree_store_insert_with_values void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, ... gtk_tree_store_insert_with_valuesv void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, int *columns, GValue *values, int n_values gtk_tree_store_prepend void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent gtk_tree_store_append void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent gtk_tree_store_is_ancestor gboolean GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *descendant gtk_tree_store_iter_depth int GtkTreeStore *tree_store, GtkTreeIter *iter gtk_tree_store_clear void GtkTreeStore *tree_store gtk_tree_store_iter_is_valid gboolean GtkTreeStore *tree_store, GtkTreeIter *iter gtk_tree_store_reorder void GtkTreeStore *tree_store, GtkTreeIter *parent, int *new_order gtk_tree_store_swap void GtkTreeStore *tree_store, GtkTreeIter *a, GtkTreeIter *b gtk_tree_store_move_before void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position gtk_tree_store_move_after void GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position GtkTreeStorePrivate GtkTreeViewDropPosition typedef enum { /* drop before/after this row */ GTK_TREE_VIEW_DROP_BEFORE, GTK_TREE_VIEW_DROP_AFTER, /* drop as a child of this row (with fallback to before or after * if into is not possible) */ GTK_TREE_VIEW_DROP_INTO_OR_BEFORE, GTK_TREE_VIEW_DROP_INTO_OR_AFTER } GtkTreeViewDropPosition; GTK_TYPE_TREE_VIEW #define GTK_TYPE_TREE_VIEW (gtk_tree_view_get_type ()) GTK_TREE_VIEW #define GTK_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_VIEW, GtkTreeView)) GTK_IS_TREE_VIEW #define GTK_IS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_VIEW)) GTK_TREE_VIEW_CLASS #define GTK_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) GTK_IS_TREE_VIEW_CLASS #define GTK_IS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW)) GTK_TREE_VIEW_GET_CLASS #define GTK_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) GtkTreeViewColumnDropFunc gboolean GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data GtkTreeViewMappingFunc void GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data GtkTreeViewSearchEqualFunc gboolean GtkTreeModel *model, int column, const char *key, GtkTreeIter *iter, gpointer search_data GtkTreeViewRowSeparatorFunc gboolean GtkTreeModel *model, GtkTreeIter *iter, gpointer data GtkTreeView struct _GtkTreeView { GtkWidget parent_instance; }; GtkTreeViewClass struct _GtkTreeViewClass { GtkWidgetClass parent_class; void (* row_activated) (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column); gboolean (* test_expand_row) (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path); gboolean (* test_collapse_row) (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path); void (* row_expanded) (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path); void (* row_collapsed) (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path); void (* columns_changed) (GtkTreeView *tree_view); void (* cursor_changed) (GtkTreeView *tree_view); /* Key Binding signals */ gboolean (* move_cursor) (GtkTreeView *tree_view, GtkMovementStep step, int count, gboolean extend, gboolean modify); gboolean (* select_all) (GtkTreeView *tree_view); gboolean (* unselect_all) (GtkTreeView *tree_view); gboolean (* select_cursor_row) (GtkTreeView *tree_view, gboolean start_editing); gboolean (* toggle_cursor_row) (GtkTreeView *tree_view); gboolean (* expand_collapse_cursor_row) (GtkTreeView *tree_view, gboolean logical, gboolean expand, gboolean open_all); gboolean (* select_cursor_parent) (GtkTreeView *tree_view); gboolean (* start_interactive_search) (GtkTreeView *tree_view); /*< private >*/ gpointer _reserved[16]; }; gtk_tree_view_get_type GType void gtk_tree_view_new GtkWidget * void gtk_tree_view_new_with_model GtkWidget * GtkTreeModel *model gtk_tree_view_get_model GtkTreeModel * GtkTreeView *tree_view gtk_tree_view_set_model void GtkTreeView *tree_view, GtkTreeModel *model gtk_tree_view_get_selection GtkTreeSelection * GtkTreeView *tree_view gtk_tree_view_get_headers_visible gboolean GtkTreeView *tree_view gtk_tree_view_set_headers_visible void GtkTreeView *tree_view, gboolean headers_visible gtk_tree_view_columns_autosize void GtkTreeView *tree_view gtk_tree_view_get_headers_clickable gboolean GtkTreeView *tree_view gtk_tree_view_set_headers_clickable void GtkTreeView *tree_view, gboolean setting gtk_tree_view_get_activate_on_single_click gboolean GtkTreeView *tree_view gtk_tree_view_set_activate_on_single_click void GtkTreeView *tree_view, gboolean single gtk_tree_view_append_column int GtkTreeView *tree_view, GtkTreeViewColumn *column gtk_tree_view_remove_column int GtkTreeView *tree_view, GtkTreeViewColumn *column gtk_tree_view_insert_column int GtkTreeView *tree_view, GtkTreeViewColumn *column, int position gtk_tree_view_insert_column_with_attributes int GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, ... gtk_tree_view_insert_column_with_data_func int GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify gtk_tree_view_get_n_columns guint GtkTreeView *tree_view gtk_tree_view_get_column GtkTreeViewColumn * GtkTreeView *tree_view, int n gtk_tree_view_get_columns GList * GtkTreeView *tree_view gtk_tree_view_move_column_after void GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column gtk_tree_view_set_expander_column void GtkTreeView *tree_view, GtkTreeViewColumn *column gtk_tree_view_get_expander_column GtkTreeViewColumn * GtkTreeView *tree_view gtk_tree_view_set_column_drag_function void GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy gtk_tree_view_scroll_to_point void GtkTreeView *tree_view, int tree_x, int tree_y gtk_tree_view_scroll_to_cell void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, float row_align, float col_align gtk_tree_view_row_activated void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column gtk_tree_view_expand_all void GtkTreeView *tree_view gtk_tree_view_collapse_all void GtkTreeView *tree_view gtk_tree_view_expand_to_path void GtkTreeView *tree_view, GtkTreePath *path gtk_tree_view_expand_row gboolean GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all gtk_tree_view_collapse_row gboolean GtkTreeView *tree_view, GtkTreePath *path gtk_tree_view_map_expanded_rows void GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data gtk_tree_view_row_expanded gboolean GtkTreeView *tree_view, GtkTreePath *path gtk_tree_view_set_reorderable void GtkTreeView *tree_view, gboolean reorderable gtk_tree_view_get_reorderable gboolean GtkTreeView *tree_view gtk_tree_view_set_cursor void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing gtk_tree_view_set_cursor_on_cell void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing gtk_tree_view_get_cursor void GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column gtk_tree_view_get_path_at_pos gboolean GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y gtk_tree_view_get_cell_area void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect gtk_tree_view_get_background_area void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect gtk_tree_view_get_visible_rect void GtkTreeView *tree_view, GdkRectangle *visible_rect gtk_tree_view_get_visible_range gboolean GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path gtk_tree_view_is_blank_at_pos gboolean GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y gtk_tree_view_enable_model_drag_source void GtkTreeView *tree_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions gtk_tree_view_enable_model_drag_dest void GtkTreeView *tree_view, GdkContentFormats *formats, GdkDragAction actions gtk_tree_view_unset_rows_drag_source void GtkTreeView *tree_view gtk_tree_view_unset_rows_drag_dest void GtkTreeView *tree_view gtk_tree_view_set_drag_dest_row void GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos gtk_tree_view_get_drag_dest_row void GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos gtk_tree_view_get_dest_row_at_pos gboolean GtkTreeView *tree_view, int drag_x, int drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos gtk_tree_view_create_row_drag_icon GdkPaintable * GtkTreeView *tree_view, GtkTreePath *path gtk_tree_view_set_enable_search void GtkTreeView *tree_view, gboolean enable_search gtk_tree_view_get_enable_search gboolean GtkTreeView *tree_view gtk_tree_view_get_search_column int GtkTreeView *tree_view gtk_tree_view_set_search_column void GtkTreeView *tree_view, int column gtk_tree_view_get_search_equal_func GtkTreeViewSearchEqualFunc GtkTreeView *tree_view gtk_tree_view_set_search_equal_func void GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy gtk_tree_view_get_search_entry GtkEditable * GtkTreeView *tree_view gtk_tree_view_set_search_entry void GtkTreeView *tree_view, GtkEditable *entry gtk_tree_view_convert_widget_to_tree_coords void GtkTreeView *tree_view, int wx, int wy, int *tx, int *ty gtk_tree_view_convert_tree_to_widget_coords void GtkTreeView *tree_view, int tx, int ty, int *wx, int *wy gtk_tree_view_convert_widget_to_bin_window_coords void GtkTreeView *tree_view, int wx, int wy, int *bx, int *by gtk_tree_view_convert_bin_window_to_widget_coords void GtkTreeView *tree_view, int bx, int by, int *wx, int *wy gtk_tree_view_convert_tree_to_bin_window_coords void GtkTreeView *tree_view, int tx, int ty, int *bx, int *by gtk_tree_view_convert_bin_window_to_tree_coords void GtkTreeView *tree_view, int bx, int by, int *tx, int *ty gtk_tree_view_set_fixed_height_mode void GtkTreeView *tree_view, gboolean enable gtk_tree_view_get_fixed_height_mode gboolean GtkTreeView *tree_view gtk_tree_view_set_hover_selection void GtkTreeView *tree_view, gboolean hover gtk_tree_view_get_hover_selection gboolean GtkTreeView *tree_view gtk_tree_view_set_hover_expand void GtkTreeView *tree_view, gboolean expand gtk_tree_view_get_hover_expand gboolean GtkTreeView *tree_view gtk_tree_view_set_rubber_banding void GtkTreeView *tree_view, gboolean enable gtk_tree_view_get_rubber_banding gboolean GtkTreeView *tree_view gtk_tree_view_is_rubber_banding_active gboolean GtkTreeView *tree_view gtk_tree_view_get_row_separator_func GtkTreeViewRowSeparatorFunc GtkTreeView *tree_view gtk_tree_view_set_row_separator_func void GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy gtk_tree_view_get_grid_lines GtkTreeViewGridLines GtkTreeView *tree_view gtk_tree_view_set_grid_lines void GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines gtk_tree_view_get_enable_tree_lines gboolean GtkTreeView *tree_view gtk_tree_view_set_enable_tree_lines void GtkTreeView *tree_view, gboolean enabled gtk_tree_view_set_show_expanders void GtkTreeView *tree_view, gboolean enabled gtk_tree_view_get_show_expanders gboolean GtkTreeView *tree_view gtk_tree_view_set_level_indentation void GtkTreeView *tree_view, int indentation gtk_tree_view_get_level_indentation int GtkTreeView *tree_view gtk_tree_view_set_tooltip_row void GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path gtk_tree_view_set_tooltip_cell void GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell gtk_tree_view_get_tooltip_context gboolean GtkTreeView *tree_view, int *x, int *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter gtk_tree_view_set_tooltip_column void GtkTreeView *tree_view, int column gtk_tree_view_get_tooltip_column int GtkTreeView *tree_view GtkTreeSelection GTK_TYPE_TREE_VIEW_COLUMN #define GTK_TYPE_TREE_VIEW_COLUMN (gtk_tree_view_column_get_type ()) GTK_TREE_VIEW_COLUMN #define GTK_TREE_VIEW_COLUMN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_VIEW_COLUMN, GtkTreeViewColumn)) GTK_IS_TREE_VIEW_COLUMN #define GTK_IS_TREE_VIEW_COLUMN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_VIEW_COLUMN)) GtkTreeViewColumnSizing typedef enum { GTK_TREE_VIEW_COLUMN_GROW_ONLY, GTK_TREE_VIEW_COLUMN_AUTOSIZE, GTK_TREE_VIEW_COLUMN_FIXED } GtkTreeViewColumnSizing; GtkTreeCellDataFunc void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data gtk_tree_view_column_get_type GType void gtk_tree_view_column_new GtkTreeViewColumn * void gtk_tree_view_column_new_with_area GtkTreeViewColumn * GtkCellArea *area gtk_tree_view_column_new_with_attributes GtkTreeViewColumn * const char *title, GtkCellRenderer *cell, ... gtk_tree_view_column_pack_start void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand gtk_tree_view_column_pack_end void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand gtk_tree_view_column_clear void GtkTreeViewColumn *tree_column gtk_tree_view_column_add_attribute void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, const char *attribute, int column gtk_tree_view_column_set_attributes void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, ... gtk_tree_view_column_set_cell_data_func void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, GtkTreeCellDataFunc func, gpointer func_data, GDestroyNotify destroy gtk_tree_view_column_clear_attributes void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer gtk_tree_view_column_set_spacing void GtkTreeViewColumn *tree_column, int spacing gtk_tree_view_column_get_spacing int GtkTreeViewColumn *tree_column gtk_tree_view_column_set_visible void GtkTreeViewColumn *tree_column, gboolean visible gtk_tree_view_column_get_visible gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_resizable void GtkTreeViewColumn *tree_column, gboolean resizable gtk_tree_view_column_get_resizable gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_sizing void GtkTreeViewColumn *tree_column, GtkTreeViewColumnSizing type gtk_tree_view_column_get_sizing GtkTreeViewColumnSizing GtkTreeViewColumn *tree_column gtk_tree_view_column_get_x_offset int GtkTreeViewColumn *tree_column gtk_tree_view_column_get_width int GtkTreeViewColumn *tree_column gtk_tree_view_column_get_fixed_width int GtkTreeViewColumn *tree_column gtk_tree_view_column_set_fixed_width void GtkTreeViewColumn *tree_column, int fixed_width gtk_tree_view_column_set_min_width void GtkTreeViewColumn *tree_column, int min_width gtk_tree_view_column_get_min_width int GtkTreeViewColumn *tree_column gtk_tree_view_column_set_max_width void GtkTreeViewColumn *tree_column, int max_width gtk_tree_view_column_get_max_width int GtkTreeViewColumn *tree_column gtk_tree_view_column_clicked void GtkTreeViewColumn *tree_column gtk_tree_view_column_set_title void GtkTreeViewColumn *tree_column, const char *title gtk_tree_view_column_get_title const char * GtkTreeViewColumn *tree_column gtk_tree_view_column_set_expand void GtkTreeViewColumn *tree_column, gboolean expand gtk_tree_view_column_get_expand gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_clickable void GtkTreeViewColumn *tree_column, gboolean clickable gtk_tree_view_column_get_clickable gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_widget void GtkTreeViewColumn *tree_column, GtkWidget *widget gtk_tree_view_column_get_widget GtkWidget * GtkTreeViewColumn *tree_column gtk_tree_view_column_set_alignment void GtkTreeViewColumn *tree_column, float xalign gtk_tree_view_column_get_alignment float GtkTreeViewColumn *tree_column gtk_tree_view_column_set_reorderable void GtkTreeViewColumn *tree_column, gboolean reorderable gtk_tree_view_column_get_reorderable gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_sort_column_id void GtkTreeViewColumn *tree_column, int sort_column_id gtk_tree_view_column_get_sort_column_id int GtkTreeViewColumn *tree_column gtk_tree_view_column_set_sort_indicator void GtkTreeViewColumn *tree_column, gboolean setting gtk_tree_view_column_get_sort_indicator gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_set_sort_order void GtkTreeViewColumn *tree_column, GtkSortType order gtk_tree_view_column_get_sort_order GtkSortType GtkTreeViewColumn *tree_column gtk_tree_view_column_cell_set_cell_data void GtkTreeViewColumn *tree_column, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded gtk_tree_view_column_cell_get_size void GtkTreeViewColumn *tree_column, int *x_offset, int *y_offset, int *width, int *height gtk_tree_view_column_cell_is_visible gboolean GtkTreeViewColumn *tree_column gtk_tree_view_column_focus_cell void GtkTreeViewColumn *tree_column, GtkCellRenderer *cell gtk_tree_view_column_cell_get_position gboolean GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, int *x_offset, int *width gtk_tree_view_column_queue_resize void GtkTreeViewColumn *tree_column gtk_tree_view_column_get_tree_view GtkWidget * GtkTreeViewColumn *tree_column gtk_tree_view_column_get_button GtkWidget * GtkTreeViewColumn *tree_column GtkTreeViewColumn GtkSnapshot typedef GdkSnapshot GtkSnapshot; GTK_INVALID_LIST_POSITION #define GTK_INVALID_LIST_POSITION (G_MAXUINT) GtkAdjustment GtkBitset GtkBuilder GtkBuilderScope GtkClipboard GtkCssStyleChange GtkEventController GtkGesture GtkLayoutManager GtkListItem GtkListItemFactory GtkNative GtkRequisition GtkRoot GtkSettings GtkShortcut GtkShortcutAction GtkShortcutTrigger GtkStyleContext GtkTooltip GtkWidget GtkWindow GTK_TYPE_VIDEO #define GTK_TYPE_VIDEO (gtk_video_get_type ()) gtk_video_new GtkWidget * void gtk_video_new_for_media_stream GtkWidget * GtkMediaStream *stream gtk_video_new_for_file GtkWidget * GFile *file gtk_video_new_for_filename GtkWidget * const char *filename gtk_video_new_for_resource GtkWidget * const char *resource_path gtk_video_get_media_stream GtkMediaStream * GtkVideo *self gtk_video_set_media_stream void GtkVideo *self, GtkMediaStream *stream gtk_video_get_file GFile * GtkVideo *self gtk_video_set_file void GtkVideo *self, GFile *file gtk_video_set_filename void GtkVideo *self, const char *filename gtk_video_set_resource void GtkVideo *self, const char *resource_path gtk_video_get_autoplay gboolean GtkVideo *self gtk_video_set_autoplay void GtkVideo *self, gboolean autoplay gtk_video_get_loop gboolean GtkVideo *self gtk_video_set_loop void GtkVideo *self, gboolean loop GtkVideo GTK_TYPE_VIEWPORT #define GTK_TYPE_VIEWPORT (gtk_viewport_get_type ()) GTK_VIEWPORT #define GTK_VIEWPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VIEWPORT, GtkViewport)) GTK_IS_VIEWPORT #define GTK_IS_VIEWPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VIEWPORT)) gtk_viewport_get_type GType void gtk_viewport_new GtkWidget * GtkAdjustment *hadjustment, GtkAdjustment *vadjustment gtk_viewport_get_scroll_to_focus gboolean GtkViewport *viewport gtk_viewport_set_scroll_to_focus void GtkViewport *viewport, gboolean scroll_to_focus gtk_viewport_set_child void GtkViewport *viewport, GtkWidget *child gtk_viewport_get_child GtkWidget * GtkViewport *viewport GtkViewport GTK_TYPE_VOLUME_BUTTON #define GTK_TYPE_VOLUME_BUTTON (gtk_volume_button_get_type ()) GTK_VOLUME_BUTTON #define GTK_VOLUME_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VOLUME_BUTTON, GtkVolumeButton)) GTK_IS_VOLUME_BUTTON #define GTK_IS_VOLUME_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VOLUME_BUTTON)) GtkVolumeButton struct _GtkVolumeButton { GtkScaleButton parent; }; gtk_volume_button_get_type GType void gtk_volume_button_new GtkWidget * void GTK_TYPE_WIDGET #define GTK_TYPE_WIDGET (gtk_widget_get_type ()) GTK_WIDGET #define GTK_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), GTK_TYPE_WIDGET, GtkWidget)) GTK_WIDGET_CLASS #define GTK_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WIDGET, GtkWidgetClass)) GTK_IS_WIDGET #define GTK_IS_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_TYPE ((widget), GTK_TYPE_WIDGET)) GTK_IS_WIDGET_CLASS #define GTK_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WIDGET)) GTK_WIDGET_GET_CLASS #define GTK_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WIDGET, GtkWidgetClass)) GTK_TYPE_REQUISITION #define GTK_TYPE_REQUISITION (gtk_requisition_get_type ()) GtkAllocation typedef GdkRectangle GtkAllocation; GtkCallback void GtkWidget *widget, gpointer data GtkTickCallback gboolean GtkWidget *widget, GdkFrameClock *frame_clock, gpointer user_data GtkRequisition struct _GtkRequisition { int width; int height; }; GtkWidget struct _GtkWidget { GInitiallyUnowned parent_instance; /*< private >*/ GtkWidgetPrivate *priv; }; GtkWidgetClass struct _GtkWidgetClass { GInitiallyUnownedClass parent_class; /*< public >*/ guint activate_signal; /* basics */ void (* show) (GtkWidget *widget); void (* hide) (GtkWidget *widget); void (* map) (GtkWidget *widget); void (* unmap) (GtkWidget *widget); void (* realize) (GtkWidget *widget); void (* unrealize) (GtkWidget *widget); void (* root) (GtkWidget *widget); void (* unroot) (GtkWidget *widget); void (* size_allocate) (GtkWidget *widget, int width, int height, int baseline); void (* state_flags_changed) (GtkWidget *widget, GtkStateFlags previous_state_flags); void (* direction_changed) (GtkWidget *widget, GtkTextDirection previous_direction); /* size requests */ GtkSizeRequestMode (* get_request_mode) (GtkWidget *widget); void (* measure) (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); /* Mnemonics */ gboolean (* mnemonic_activate) (GtkWidget *widget, gboolean group_cycling); /* explicit focus */ gboolean (* grab_focus) (GtkWidget *widget); gboolean (* focus) (GtkWidget *widget, GtkDirectionType direction); void (* set_focus_child) (GtkWidget *widget, GtkWidget *child); /* keyboard navigation */ void (* move_focus) (GtkWidget *widget, GtkDirectionType direction); gboolean (* keynav_failed) (GtkWidget *widget, GtkDirectionType direction); gboolean (* query_tooltip) (GtkWidget *widget, int x, int y, gboolean keyboard_tooltip, GtkTooltip *tooltip); void (* compute_expand) (GtkWidget *widget, gboolean *hexpand_p, gboolean *vexpand_p); void (* css_changed) (GtkWidget *widget, GtkCssStyleChange *change); void (* system_setting_changed) (GtkWidget *widget, GtkSystemSetting settings); void (* snapshot) (GtkWidget *widget, GtkSnapshot *snapshot); gboolean (* contains) (GtkWidget *widget, double x, double y); /*< private >*/ GtkWidgetClassPrivate *priv; gpointer padding[8]; }; gtk_widget_get_type GType void gtk_widget_new GtkWidget * GType type, const char *first_property_name, ... gtk_widget_unparent void GtkWidget *widget gtk_widget_show void GtkWidget *widget gtk_widget_hide void GtkWidget *widget gtk_widget_map void GtkWidget *widget gtk_widget_unmap void GtkWidget *widget gtk_widget_realize void GtkWidget *widget gtk_widget_unrealize void GtkWidget *widget gtk_widget_queue_draw void GtkWidget *widget gtk_widget_queue_resize void GtkWidget *widget gtk_widget_queue_allocate void GtkWidget *widget gtk_widget_get_frame_clock GdkFrameClock * GtkWidget *widget gtk_widget_size_allocate void GtkWidget *widget, const GtkAllocation *allocation, int baseline gtk_widget_allocate void GtkWidget *widget, int width, int height, int baseline, GskTransform *transform gtk_widget_get_request_mode GtkSizeRequestMode GtkWidget *widget gtk_widget_measure void GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline gtk_widget_get_preferred_size void GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size gtk_widget_set_layout_manager void GtkWidget *widget, GtkLayoutManager *layout_manager gtk_widget_get_layout_manager GtkLayoutManager * GtkWidget *widget gtk_widget_class_set_layout_manager_type void GtkWidgetClass *widget_class, GType type gtk_widget_class_get_layout_manager_type GType GtkWidgetClass *widget_class gtk_widget_class_add_binding void GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, GtkShortcutFunc callback, const char *format_string, ... gtk_widget_class_add_binding_signal void GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, const char *signal, const char *format_string, ... gtk_widget_class_add_binding_action void GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, const char *action_name, const char *format_string, ... gtk_widget_class_add_shortcut void GtkWidgetClass *widget_class, GtkShortcut *shortcut gtk_widget_mnemonic_activate gboolean GtkWidget *widget, gboolean group_cycling gtk_widget_activate gboolean GtkWidget *widget gtk_widget_set_can_focus void GtkWidget *widget, gboolean can_focus gtk_widget_get_can_focus gboolean GtkWidget *widget gtk_widget_set_focusable void GtkWidget *widget, gboolean focusable gtk_widget_get_focusable gboolean GtkWidget *widget gtk_widget_has_focus gboolean GtkWidget *widget gtk_widget_is_focus gboolean GtkWidget *widget gtk_widget_has_visible_focus gboolean GtkWidget *widget gtk_widget_grab_focus gboolean GtkWidget *widget gtk_widget_set_focus_on_click void GtkWidget *widget, gboolean focus_on_click gtk_widget_get_focus_on_click gboolean GtkWidget *widget gtk_widget_set_can_target void GtkWidget *widget, gboolean can_target gtk_widget_get_can_target gboolean GtkWidget *widget gtk_widget_has_default gboolean GtkWidget *widget gtk_widget_set_receives_default void GtkWidget *widget, gboolean receives_default gtk_widget_get_receives_default gboolean GtkWidget *widget gtk_widget_set_name void GtkWidget *widget, const char *name gtk_widget_get_name const char * GtkWidget *widget gtk_widget_set_state_flags void GtkWidget *widget, GtkStateFlags flags, gboolean clear gtk_widget_unset_state_flags void GtkWidget *widget, GtkStateFlags flags gtk_widget_get_state_flags GtkStateFlags GtkWidget *widget gtk_widget_set_sensitive void GtkWidget *widget, gboolean sensitive gtk_widget_get_sensitive gboolean GtkWidget *widget gtk_widget_is_sensitive gboolean GtkWidget *widget gtk_widget_set_visible void GtkWidget *widget, gboolean visible gtk_widget_get_visible gboolean GtkWidget *widget gtk_widget_is_visible gboolean GtkWidget *widget gtk_widget_is_drawable gboolean GtkWidget *widget gtk_widget_get_realized gboolean GtkWidget *widget gtk_widget_get_mapped gboolean GtkWidget *widget gtk_widget_set_parent void GtkWidget *widget, GtkWidget *parent gtk_widget_get_parent GtkWidget * GtkWidget *widget gtk_widget_get_root GtkRoot * GtkWidget *widget gtk_widget_get_native GtkNative * GtkWidget *widget gtk_widget_set_child_visible void GtkWidget *widget, gboolean child_visible gtk_widget_get_child_visible gboolean GtkWidget *widget gtk_widget_get_allocated_width int GtkWidget *widget gtk_widget_get_allocated_height int GtkWidget *widget gtk_widget_get_allocated_baseline int GtkWidget *widget gtk_widget_get_allocation void GtkWidget *widget, GtkAllocation *allocation gtk_widget_compute_transform gboolean GtkWidget *widget, GtkWidget *target, graphene_matrix_t *out_transform gtk_widget_compute_bounds gboolean GtkWidget *widget, GtkWidget *target, graphene_rect_t *out_bounds gtk_widget_compute_point gboolean GtkWidget *widget, GtkWidget *target, const graphene_point_t *point, graphene_point_t *out_point gtk_widget_get_width int GtkWidget *widget gtk_widget_get_height int GtkWidget *widget gtk_widget_get_size int GtkWidget *widget, GtkOrientation orientation gtk_widget_child_focus gboolean GtkWidget *widget, GtkDirectionType direction gtk_widget_keynav_failed gboolean GtkWidget *widget, GtkDirectionType direction gtk_widget_error_bell void GtkWidget *widget gtk_widget_set_size_request void GtkWidget *widget, int width, int height gtk_widget_get_size_request void GtkWidget *widget, int *width, int *height gtk_widget_set_opacity void GtkWidget *widget, double opacity gtk_widget_get_opacity double GtkWidget *widget gtk_widget_set_overflow void GtkWidget *widget, GtkOverflow overflow gtk_widget_get_overflow GtkOverflow GtkWidget *widget gtk_widget_get_ancestor GtkWidget * GtkWidget *widget, GType widget_type gtk_widget_get_scale_factor int GtkWidget *widget gtk_widget_get_display GdkDisplay * GtkWidget *widget gtk_widget_get_settings GtkSettings * GtkWidget *widget gtk_widget_get_clipboard GdkClipboard * GtkWidget *widget gtk_widget_get_primary_clipboard GdkClipboard * GtkWidget *widget gtk_widget_get_hexpand gboolean GtkWidget *widget gtk_widget_set_hexpand void GtkWidget *widget, gboolean expand gtk_widget_get_hexpand_set gboolean GtkWidget *widget gtk_widget_set_hexpand_set void GtkWidget *widget, gboolean set gtk_widget_get_vexpand gboolean GtkWidget *widget gtk_widget_set_vexpand void GtkWidget *widget, gboolean expand gtk_widget_get_vexpand_set gboolean GtkWidget *widget gtk_widget_set_vexpand_set void GtkWidget *widget, gboolean set gtk_widget_compute_expand gboolean GtkWidget *widget, GtkOrientation orientation gtk_widget_get_halign GtkAlign GtkWidget *widget gtk_widget_set_halign void GtkWidget *widget, GtkAlign align gtk_widget_get_valign GtkAlign GtkWidget *widget gtk_widget_set_valign void GtkWidget *widget, GtkAlign align gtk_widget_get_margin_start int GtkWidget *widget gtk_widget_set_margin_start void GtkWidget *widget, int margin gtk_widget_get_margin_end int GtkWidget *widget gtk_widget_set_margin_end void GtkWidget *widget, int margin gtk_widget_get_margin_top int GtkWidget *widget gtk_widget_set_margin_top void GtkWidget *widget, int margin gtk_widget_get_margin_bottom int GtkWidget *widget gtk_widget_set_margin_bottom void GtkWidget *widget, int margin gtk_widget_is_ancestor gboolean GtkWidget *widget, GtkWidget *ancestor gtk_widget_translate_coordinates gboolean GtkWidget *src_widget, GtkWidget *dest_widget, double src_x, double src_y, double *dest_x, double *dest_y gtk_widget_contains gboolean GtkWidget *widget, double x, double y gtk_widget_pick GtkWidget * GtkWidget *widget, double x, double y, GtkPickFlags flags gtk_widget_add_controller void GtkWidget *widget, GtkEventController *controller gtk_widget_remove_controller void GtkWidget *widget, GtkEventController *controller gtk_widget_create_pango_context PangoContext * GtkWidget *widget gtk_widget_get_pango_context PangoContext * GtkWidget *widget gtk_widget_set_font_options void GtkWidget *widget, const cairo_font_options_t *options gtk_widget_get_font_options const cairo_font_options_t * GtkWidget *widget gtk_widget_create_pango_layout PangoLayout * GtkWidget *widget, const char *text gtk_widget_set_direction void GtkWidget *widget, GtkTextDirection dir gtk_widget_get_direction GtkTextDirection GtkWidget *widget gtk_widget_set_default_direction void GtkTextDirection dir gtk_widget_get_default_direction GtkTextDirection void gtk_widget_set_cursor void GtkWidget *widget, GdkCursor *cursor gtk_widget_set_cursor_from_name void GtkWidget *widget, const char *name gtk_widget_get_cursor GdkCursor * GtkWidget *widget gtk_widget_list_mnemonic_labels GList * GtkWidget *widget gtk_widget_add_mnemonic_label void GtkWidget *widget, GtkWidget *label gtk_widget_remove_mnemonic_label void GtkWidget *widget, GtkWidget *label gtk_widget_trigger_tooltip_query void GtkWidget *widget gtk_widget_set_tooltip_text void GtkWidget *widget, const char *text gtk_widget_get_tooltip_text const char * GtkWidget *widget gtk_widget_set_tooltip_markup void GtkWidget *widget, const char *markup gtk_widget_get_tooltip_markup const char * GtkWidget *widget gtk_widget_set_has_tooltip void GtkWidget *widget, gboolean has_tooltip gtk_widget_get_has_tooltip gboolean GtkWidget *widget gtk_requisition_get_type GType void gtk_requisition_new GtkRequisition * void gtk_requisition_copy GtkRequisition * const GtkRequisition *requisition gtk_requisition_free void GtkRequisition *requisition gtk_widget_in_destruction gboolean GtkWidget *widget gtk_widget_get_style_context GtkStyleContext * GtkWidget *widget gtk_widget_class_set_css_name void GtkWidgetClass *widget_class, const char *name gtk_widget_class_get_css_name const char * GtkWidgetClass *widget_class gtk_widget_add_tick_callback guint GtkWidget *widget, GtkTickCallback callback, gpointer user_data, GDestroyNotify notify gtk_widget_remove_tick_callback void GtkWidget *widget, guint id gtk_widget_class_bind_template_callback #define gtk_widget_class_bind_template_callback(widget_class, callback) \ gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (widget_class), \ #callback, \ G_CALLBACK (callback)) gtk_widget_class_bind_template_child #define gtk_widget_class_bind_template_child(widget_class, TypeName, member_name) \ gtk_widget_class_bind_template_child_full (widget_class, \ #member_name, \ FALSE, \ G_STRUCT_OFFSET (TypeName, member_name)) gtk_widget_class_bind_template_child_internal #define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name) \ gtk_widget_class_bind_template_child_full (widget_class, \ #member_name, \ TRUE, \ G_STRUCT_OFFSET (TypeName, member_name)) gtk_widget_class_bind_template_child_private #define gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name) \ gtk_widget_class_bind_template_child_full (widget_class, \ #member_name, \ FALSE, \ G_PRIVATE_OFFSET (TypeName, member_name)) gtk_widget_class_bind_template_child_internal_private #define gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name) \ gtk_widget_class_bind_template_child_full (widget_class, \ #member_name, \ TRUE, \ G_PRIVATE_OFFSET (TypeName, member_name)) gtk_widget_init_template void GtkWidget *widget gtk_widget_get_template_child GObject * GtkWidget *widget, GType widget_type, const char *name gtk_widget_class_set_template void GtkWidgetClass *widget_class, GBytes *template_bytes gtk_widget_class_set_template_from_resource void GtkWidgetClass *widget_class, const char *resource_name gtk_widget_class_bind_template_callback_full void GtkWidgetClass *widget_class, const char *callback_name, GCallback callback_symbol gtk_widget_class_set_template_scope void GtkWidgetClass *widget_class, GtkBuilderScope *scope gtk_widget_class_bind_template_child_full void GtkWidgetClass *widget_class, const char *name, gboolean internal_child, gssize struct_offset gtk_widget_insert_action_group void GtkWidget *widget, const char *name, GActionGroup *group gtk_widget_activate_action gboolean GtkWidget *widget, const char *name, const char *format_string, ... gtk_widget_activate_action_variant gboolean GtkWidget *widget, const char *name, GVariant *args gtk_widget_activate_default void GtkWidget *widget gtk_widget_set_font_map void GtkWidget *widget, PangoFontMap *font_map gtk_widget_get_font_map PangoFontMap * GtkWidget *widget gtk_widget_get_first_child GtkWidget * GtkWidget *widget gtk_widget_get_last_child GtkWidget * GtkWidget *widget gtk_widget_get_next_sibling GtkWidget * GtkWidget *widget gtk_widget_get_prev_sibling GtkWidget * GtkWidget *widget gtk_widget_observe_children GListModel * GtkWidget *widget gtk_widget_observe_controllers GListModel * GtkWidget *widget gtk_widget_insert_after void GtkWidget *widget, GtkWidget *parent, GtkWidget *previous_sibling gtk_widget_insert_before void GtkWidget *widget, GtkWidget *parent, GtkWidget *next_sibling gtk_widget_set_focus_child void GtkWidget *widget, GtkWidget *child gtk_widget_get_focus_child GtkWidget * GtkWidget *widget gtk_widget_snapshot_child void GtkWidget *widget, GtkWidget *child, GtkSnapshot *snapshot gtk_widget_should_layout gboolean GtkWidget *widget gtk_widget_get_css_name const char * GtkWidget *self gtk_widget_add_css_class void GtkWidget *widget, const char *css_class gtk_widget_remove_css_class void GtkWidget *widget, const char *css_class gtk_widget_has_css_class gboolean GtkWidget *widget, const char *css_class gtk_widget_get_css_classes char ** GtkWidget *widget gtk_widget_set_css_classes void GtkWidget *widget, const char **classes GtkWidgetActionActivateFunc void GtkWidget *widget, const char *action_name, GVariant *parameter gtk_widget_class_install_action void GtkWidgetClass *widget_class, const char *action_name, const char *parameter_type, GtkWidgetActionActivateFunc activate gtk_widget_class_install_property_action void GtkWidgetClass *widget_class, const char *action_name, const char *property_name gtk_widget_class_query_action gboolean GtkWidgetClass *widget_class, guint index_, GType *owner, const char **action_name, const GVariantType **parameter_type, const char **property_name gtk_widget_action_set_enabled void GtkWidget *widget, const char *action_name, gboolean enabled gtk_widget_class_set_accessible_role void GtkWidgetClass *widget_class, GtkAccessibleRole accessible_role gtk_widget_class_get_accessible_role GtkAccessibleRole GtkWidgetClass *widget_class GtkWidgetClassPrivate GtkWidgetPrivate GTK_TYPE_WIDGET_PAINTABLE #define GTK_TYPE_WIDGET_PAINTABLE (gtk_widget_paintable_get_type ()) gtk_widget_paintable_new GdkPaintable * GtkWidget *widget gtk_widget_paintable_get_widget GtkWidget * GtkWidgetPaintable *self gtk_widget_paintable_set_widget void GtkWidgetPaintable *self, GtkWidget *widget GtkWidgetPaintable GTK_TYPE_WINDOW #define GTK_TYPE_WINDOW (gtk_window_get_type ()) GTK_WINDOW #define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow)) GTK_WINDOW_CLASS #define GTK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW, GtkWindowClass)) GTK_IS_WINDOW #define GTK_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WINDOW)) GTK_IS_WINDOW_CLASS #define GTK_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW)) GTK_WINDOW_GET_CLASS #define GTK_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW, GtkWindowClass)) GtkWindow struct _GtkWindow { GtkWidget parent_instance; }; GtkWindowClass struct _GtkWindowClass { GtkWidgetClass parent_class; /*< public >*/ /* G_SIGNAL_ACTION signals for keybindings */ void (* activate_focus) (GtkWindow *window); void (* activate_default) (GtkWindow *window); void (* keys_changed) (GtkWindow *window); gboolean (* enable_debugging) (GtkWindow *window, gboolean toggle); gboolean (* close_request) (GtkWindow *window); /*< private >*/ gpointer padding[8]; }; gtk_window_get_type GType void gtk_window_new GtkWidget * void gtk_window_set_title void GtkWindow *window, const char *title gtk_window_get_title const char * GtkWindow *window gtk_window_set_startup_id void GtkWindow *window, const char *startup_id gtk_window_set_focus void GtkWindow *window, GtkWidget *focus gtk_window_get_focus GtkWidget * GtkWindow *window gtk_window_set_default_widget void GtkWindow *window, GtkWidget *default_widget gtk_window_get_default_widget GtkWidget * GtkWindow *window gtk_window_set_transient_for void GtkWindow *window, GtkWindow *parent gtk_window_get_transient_for GtkWindow * GtkWindow *window gtk_window_set_destroy_with_parent void GtkWindow *window, gboolean setting gtk_window_get_destroy_with_parent gboolean GtkWindow *window gtk_window_set_hide_on_close void GtkWindow *window, gboolean setting gtk_window_get_hide_on_close gboolean GtkWindow *window gtk_window_set_mnemonics_visible void GtkWindow *window, gboolean setting gtk_window_get_mnemonics_visible gboolean GtkWindow *window gtk_window_set_focus_visible void GtkWindow *window, gboolean setting gtk_window_get_focus_visible gboolean GtkWindow *window gtk_window_set_resizable void GtkWindow *window, gboolean resizable gtk_window_get_resizable gboolean GtkWindow *window gtk_window_set_display void GtkWindow *window, GdkDisplay *display gtk_window_is_active gboolean GtkWindow *window gtk_window_set_decorated void GtkWindow *window, gboolean setting gtk_window_get_decorated gboolean GtkWindow *window gtk_window_set_deletable void GtkWindow *window, gboolean setting gtk_window_get_deletable gboolean GtkWindow *window gtk_window_set_icon_name void GtkWindow *window, const char *name gtk_window_get_icon_name const char * GtkWindow *window gtk_window_set_default_icon_name void const char *name gtk_window_get_default_icon_name const char * void gtk_window_set_auto_startup_notification void gboolean setting gtk_window_set_modal void GtkWindow *window, gboolean modal gtk_window_get_modal gboolean GtkWindow *window gtk_window_get_toplevels GListModel * void gtk_window_list_toplevels GList * void gtk_window_present void GtkWindow *window gtk_window_present_with_time void GtkWindow *window, guint32 timestamp gtk_window_minimize void GtkWindow *window gtk_window_unminimize void GtkWindow *window gtk_window_maximize void GtkWindow *window gtk_window_unmaximize void GtkWindow *window gtk_window_fullscreen void GtkWindow *window gtk_window_unfullscreen void GtkWindow *window gtk_window_fullscreen_on_monitor void GtkWindow *window, GdkMonitor *monitor gtk_window_close void GtkWindow *window gtk_window_set_default_size void GtkWindow *window, int width, int height gtk_window_get_default_size void GtkWindow *window, int *width, int *height gtk_window_resize void GtkWindow *window, int width, int height gtk_window_get_size void GtkWindow *window, int *width, int *height gtk_window_get_group GtkWindowGroup * GtkWindow *window gtk_window_has_group gboolean GtkWindow *window gtk_window_get_application GtkApplication * GtkWindow *window gtk_window_set_application void GtkWindow *window, GtkApplication *application gtk_window_set_child void GtkWindow *window, GtkWidget *child gtk_window_get_child GtkWidget * GtkWindow *window gtk_window_set_titlebar void GtkWindow *window, GtkWidget *titlebar gtk_window_get_titlebar GtkWidget * GtkWindow *window gtk_window_is_maximized gboolean GtkWindow *window gtk_window_destroy void GtkWindow *window gtk_window_set_interactive_debugging void gboolean enable GtkWindowGeometryInfo GtkWindowGroup GtkWindowGroupClass GtkWindowGroupPrivate GTK_TYPE_WINDOW_CONTROLS #define GTK_TYPE_WINDOW_CONTROLS (gtk_window_controls_get_type ()) gtk_window_controls_new GtkWidget * GtkPackType side gtk_window_controls_get_side GtkPackType GtkWindowControls *self gtk_window_controls_set_side void GtkWindowControls *self, GtkPackType side gtk_window_controls_get_decoration_layout const char * GtkWindowControls *self gtk_window_controls_set_decoration_layout void GtkWindowControls *self, const char *layout gtk_window_controls_get_empty gboolean GtkWindowControls *self GtkWindowControls GTK_TYPE_WINDOW_GROUP #define GTK_TYPE_WINDOW_GROUP (gtk_window_group_get_type ()) GTK_WINDOW_GROUP #define GTK_WINDOW_GROUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_WINDOW_GROUP, GtkWindowGroup)) GTK_WINDOW_GROUP_CLASS #define GTK_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW_GROUP, GtkWindowGroupClass)) GTK_IS_WINDOW_GROUP #define GTK_IS_WINDOW_GROUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_WINDOW_GROUP)) GTK_IS_WINDOW_GROUP_CLASS #define GTK_IS_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW_GROUP)) GTK_WINDOW_GROUP_GET_CLASS #define GTK_WINDOW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW_GROUP, GtkWindowGroupClass)) GtkWindowGroup struct _GtkWindowGroup { GObject parent_instance; GtkWindowGroupPrivate *priv; }; GtkWindowGroupClass struct _GtkWindowGroupClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_window_group_get_type GType void gtk_window_group_new GtkWindowGroup * void gtk_window_group_add_window void GtkWindowGroup *window_group, GtkWindow *window gtk_window_group_remove_window void GtkWindowGroup *window_group, GtkWindow *window gtk_window_group_list_windows GList * GtkWindowGroup *window_group GTK_TYPE_WINDOW_HANDLE #define GTK_TYPE_WINDOW_HANDLE (gtk_window_handle_get_type ()) gtk_window_handle_new GtkWidget * void gtk_window_handle_get_child GtkWidget * GtkWindowHandle *self gtk_window_handle_set_child void GtkWindowHandle *self, GtkWidget *child GtkWindowHandle get_language_name const char * PangoLanguage *language get_language_name_for_tag const char * guint32 tag NamedTag typedef struct { unsigned int tag; const char *name; } NamedTag; MAKE_TAG #define MAKE_TAG(a,b,c,d) (unsigned int)(((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) get_script_name const char * GUnicodeScript script get_script_name_for_tag const char * guint32 tag gtk_css_data_url_parse GBytes * const char *url, char **out_mimetype, GError **error GtkCssParserError typedef enum { GTK_CSS_PARSER_ERROR_FAILED, GTK_CSS_PARSER_ERROR_SYNTAX, GTK_CSS_PARSER_ERROR_IMPORT, GTK_CSS_PARSER_ERROR_NAME, GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE } GtkCssParserError; GtkCssParserWarning typedef enum { GTK_CSS_PARSER_WARNING_DEPRECATED, GTK_CSS_PARSER_WARNING_SYNTAX, GTK_CSS_PARSER_WARNING_UNIMPLEMENTED } GtkCssParserWarning; GTK_CSS_PARSER_ERROR #define GTK_CSS_PARSER_ERROR (gtk_css_parser_error_quark ()) gtk_css_parser_error_quark GQuark void GTK_CSS_PARSER_WARNING #define GTK_CSS_PARSER_WARNING (gtk_css_parser_warning_quark ()) gtk_css_parser_warning_quark GQuark void GtkCssLocation struct _GtkCssLocation { gsize bytes; gsize chars; gsize lines; gsize line_bytes; gsize line_chars; }; gtk_css_location_init void GtkCssLocation *location gtk_css_location_advance void GtkCssLocation *location, gsize bytes, gsize chars gtk_css_location_advance_newline void GtkCssLocation *location, gboolean is_windows GtkCssParseOption struct _GtkCssParseOption { gboolean (* can_parse) (GtkCssParser *parser, gpointer option_data, gpointer user_data); gboolean (* parse) (GtkCssParser *parser, gpointer option_data, gpointer user_data); gpointer data; }; GtkCssParserErrorFunc void GtkCssParser *parser, const GtkCssLocation *start, const GtkCssLocation *end, const GError *error, gpointer user_data gtk_css_parser_new_for_file GtkCssParser * GFile *file, GtkCssParserErrorFunc error_func, gpointer user_data, GDestroyNotify user_destroy, GError **error gtk_css_parser_new_for_bytes GtkCssParser * GBytes *bytes, GFile *file, GFile *base_directory, GtkCssParserErrorFunc error_func, gpointer user_data, GDestroyNotify user_destroy gtk_css_parser_ref GtkCssParser * GtkCssParser *self gtk_css_parser_unref void GtkCssParser *self gtk_css_parser_get_file GFile * GtkCssParser *self gtk_css_parser_resolve_url GFile * GtkCssParser *self, const char *url gtk_css_parser_get_start_location const GtkCssLocation * GtkCssParser *self gtk_css_parser_get_end_location const GtkCssLocation * GtkCssParser *self gtk_css_parser_get_block_location const GtkCssLocation * GtkCssParser *self gtk_css_parser_peek_token const GtkCssToken * GtkCssParser *self gtk_css_parser_get_token const GtkCssToken * GtkCssParser *self gtk_css_parser_consume_token void GtkCssParser *self gtk_css_parser_start_block void GtkCssParser *self gtk_css_parser_start_semicolon_block void GtkCssParser *self, GtkCssTokenType alternative_token gtk_css_parser_end_block_prelude void GtkCssParser *self gtk_css_parser_end_block void GtkCssParser *self gtk_css_parser_skip void GtkCssParser *self gtk_css_parser_skip_until void GtkCssParser *self, GtkCssTokenType token_type gtk_css_parser_emit_error void GtkCssParser *self, const GtkCssLocation *start, const GtkCssLocation *end, const GError *error gtk_css_parser_error void GtkCssParser *self, GtkCssParserError code, const GtkCssLocation *start, const GtkCssLocation *end, const char *format, ... gtk_css_parser_error_syntax void GtkCssParser *self, const char *format, ... gtk_css_parser_error_value void GtkCssParser *self, const char *format, ... gtk_css_parser_error_import void GtkCssParser *self, const char *format, ... gtk_css_parser_warn void GtkCssParser *self, GtkCssParserWarning code, const GtkCssLocation *start, const GtkCssLocation *end, const char *format, ... gtk_css_parser_warn_syntax void GtkCssParser *self, const char *format, ... gtk_css_parser_has_token gboolean GtkCssParser *self, GtkCssTokenType token_type gtk_css_parser_has_ident gboolean GtkCssParser *self, const char *ident gtk_css_parser_has_number gboolean GtkCssParser *self gtk_css_parser_has_integer gboolean GtkCssParser *self gtk_css_parser_has_function gboolean GtkCssParser *self, const char *name gtk_css_parser_try_delim gboolean GtkCssParser *self, gunichar codepoint gtk_css_parser_try_ident gboolean GtkCssParser *self, const char *ident gtk_css_parser_try_at_keyword gboolean GtkCssParser *self, const char *keyword gtk_css_parser_try_token gboolean GtkCssParser *self, GtkCssTokenType token_type gtk_css_parser_consume_ident char * GtkCssParser *self gtk_css_parser_consume_string char * GtkCssParser *self gtk_css_parser_consume_url char * GtkCssParser *self gtk_css_parser_consume_number gboolean GtkCssParser *self, double *number gtk_css_parser_consume_integer gboolean GtkCssParser *self, int *number gtk_css_parser_consume_percentage gboolean GtkCssParser *self, double *number gtk_css_parser_consume_function gboolean GtkCssParser *self, guint min_args, guint max_args, guint (* parse_func) (GtkCssParser *, guint, gpointer), gpointer data gtk_css_parser_consume_any gsize GtkCssParser *parser, const GtkCssParseOption *options, gsize n_options, gpointer user_data GtkCssParser GTK_TYPE_CSS_SECTION #define GTK_TYPE_CSS_SECTION (gtk_css_section_get_type ()) gtk_css_section_get_type GType void gtk_css_section_new GtkCssSection * GFile *file, const GtkCssLocation *start, const GtkCssLocation *end gtk_css_section_ref GtkCssSection * GtkCssSection *section gtk_css_section_unref void GtkCssSection *section gtk_css_section_print void const GtkCssSection *section, GString *string gtk_css_section_to_string char * const GtkCssSection *section gtk_css_section_get_parent GtkCssSection * const GtkCssSection *section gtk_css_section_get_file GFile * const GtkCssSection *section gtk_css_section_get_start_location const GtkCssLocation * const GtkCssSection *section gtk_css_section_get_end_location const GtkCssLocation * const GtkCssSection *section GtkCssSection GtkCssTokenType typedef enum { /* no content */ GTK_CSS_TOKEN_EOF, GTK_CSS_TOKEN_WHITESPACE, GTK_CSS_TOKEN_OPEN_PARENS, GTK_CSS_TOKEN_CLOSE_PARENS, GTK_CSS_TOKEN_OPEN_SQUARE, GTK_CSS_TOKEN_CLOSE_SQUARE, GTK_CSS_TOKEN_OPEN_CURLY, GTK_CSS_TOKEN_CLOSE_CURLY, GTK_CSS_TOKEN_COMMA, GTK_CSS_TOKEN_COLON, GTK_CSS_TOKEN_SEMICOLON, GTK_CSS_TOKEN_CDO, GTK_CSS_TOKEN_CDC, GTK_CSS_TOKEN_INCLUDE_MATCH, GTK_CSS_TOKEN_DASH_MATCH, GTK_CSS_TOKEN_PREFIX_MATCH, GTK_CSS_TOKEN_SUFFIX_MATCH, GTK_CSS_TOKEN_SUBSTRING_MATCH, GTK_CSS_TOKEN_COLUMN, GTK_CSS_TOKEN_BAD_STRING, GTK_CSS_TOKEN_BAD_URL, GTK_CSS_TOKEN_COMMENT, /* delim */ GTK_CSS_TOKEN_DELIM, /* string */ GTK_CSS_TOKEN_STRING, GTK_CSS_TOKEN_IDENT, GTK_CSS_TOKEN_FUNCTION, GTK_CSS_TOKEN_AT_KEYWORD, GTK_CSS_TOKEN_HASH_UNRESTRICTED, GTK_CSS_TOKEN_HASH_ID, GTK_CSS_TOKEN_URL, /* number */ GTK_CSS_TOKEN_SIGNED_INTEGER, GTK_CSS_TOKEN_SIGNLESS_INTEGER, GTK_CSS_TOKEN_SIGNED_NUMBER, GTK_CSS_TOKEN_SIGNLESS_NUMBER, GTK_CSS_TOKEN_PERCENTAGE, /* dimension */ GTK_CSS_TOKEN_SIGNED_INTEGER_DIMENSION, GTK_CSS_TOKEN_SIGNLESS_INTEGER_DIMENSION, GTK_CSS_TOKEN_DIMENSION } GtkCssTokenType; GtkCssStringToken struct _GtkCssStringToken { GtkCssTokenType type; char *string; }; GtkCssDelimToken struct _GtkCssDelimToken { GtkCssTokenType type; gunichar delim; }; GtkCssNumberToken struct _GtkCssNumberToken { GtkCssTokenType type; double number; }; GtkCssDimensionToken struct _GtkCssDimensionToken { GtkCssTokenType type; double value; char *dimension; }; GtkCssToken union _GtkCssToken { GtkCssTokenType type; GtkCssStringToken string; GtkCssDelimToken delim; GtkCssNumberToken number; GtkCssDimensionToken dimension; }; gtk_css_token_clear void GtkCssToken *token gtk_css_token_is_finite gboolean const GtkCssToken *token gtk_css_token_is_preserved gboolean const GtkCssToken *token, GtkCssTokenType *out_closing gtk_css_token_is #define gtk_css_token_is(token, _type) ((token)->type == (_type)) gtk_css_token_is_ident gboolean const GtkCssToken *token, const char *ident gtk_css_token_is_function gboolean const GtkCssToken *token, const char *ident gtk_css_token_is_delim gboolean const GtkCssToken *token, gunichar delim gtk_css_token_print void const GtkCssToken *token, GString *string gtk_css_token_to_string char * const GtkCssToken *token gtk_css_tokenizer_new GtkCssTokenizer * GBytes *bytes gtk_css_tokenizer_ref GtkCssTokenizer * GtkCssTokenizer *tokenizer gtk_css_tokenizer_unref void GtkCssTokenizer *tokenizer gtk_css_tokenizer_get_location const GtkCssLocation * GtkCssTokenizer *tokenizer gtk_css_tokenizer_read_token gboolean GtkCssTokenizer *tokenizer, GtkCssToken *token, GError **error GtkCssTokenizer GTK_TYPE_INSPECTOR_A11Y #define GTK_TYPE_INSPECTOR_A11Y (gtk_inspector_a11y_get_type()) GTK_INSPECTOR_A11Y #define GTK_INSPECTOR_A11Y(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_A11Y, GtkInspectorA11y)) GTK_INSPECTOR_IS_A11Y #define GTK_INSPECTOR_IS_A11Y(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_A11Y)) gtk_inspector_a11y_get_type GType void gtk_inspector_a11y_set_object void GtkInspectorA11y *sl, GObject *object GtkInspectorA11y GTK_TYPE_INSPECTOR_ACTION_EDITOR #define GTK_TYPE_INSPECTOR_ACTION_EDITOR (gtk_inspector_action_editor_get_type()) GTK_INSPECTOR_ACTION_EDITOR #define GTK_INSPECTOR_ACTION_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_ACTION_EDITOR, GtkInspectorActionEditor)) GTK_INSPECTOR_IS_ACTION_EDITOR #define GTK_INSPECTOR_IS_ACTION_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_ACTION_EDITOR)) gtk_inspector_action_editor_get_type GType void gtk_inspector_action_editor_new GtkWidget * GObject *owner, const char *name, GtkSizeGroup *activate gtk_inspector_action_editor_update void GtkInspectorActionEditor *r, gboolean enabled, GVariant *state GtkInspectorActionEditor ACTION_TYPE_HOLDER #define ACTION_TYPE_HOLDER (action_holder_get_type ()) action_holder_new ActionHolder * GObject *owner, const char *name action_holder_get_owner GObject * ActionHolder *holder action_holder_get_name const char * ActionHolder *holder ActionHolder GTK_TYPE_INSPECTOR_ACTIONS #define GTK_TYPE_INSPECTOR_ACTIONS (gtk_inspector_actions_get_type()) GTK_INSPECTOR_ACTIONS #define GTK_INSPECTOR_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_ACTIONS, GtkInspectorActions)) GTK_INSPECTOR_IS_ACTIONS #define GTK_INSPECTOR_IS_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_ACTIONS)) gtk_inspector_actions_get_type GType void gtk_inspector_actions_set_object void GtkInspectorActions *sl, GObject *object GtkInspectorActions GTK_TYPE_BASELINE_OVERLAY #define GTK_TYPE_BASELINE_OVERLAY (gtk_baseline_overlay_get_type ()) gtk_baseline_overlay_new GtkInspectorOverlay * void GtkBaselineOverlay GTK_TYPE_CELL_RENDERER_GRAPH #define GTK_TYPE_CELL_RENDERER_GRAPH (gtk_cell_renderer_graph_get_type ()) GTK_CELL_RENDERER_GRAPH #define GTK_CELL_RENDERER_GRAPH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_GRAPH, GtkCellRendererGraph)) GTK_CELL_RENDERER_GRAPH_CLASS #define GTK_CELL_RENDERER_GRAPH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER_GRAPH, GtkCellRendererGraphClass)) GTK_IS_CELL_RENDERER_GRAPH #define GTK_IS_CELL_RENDERER_GRAPH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_GRAPH)) GTK_IS_CELL_RENDERER_GRAPH_CLASS #define GTK_IS_CELL_RENDERER_GRAPH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER_GRAPH)) GTK_CELL_RENDERER_GRAPH_GET_CLASS #define GTK_CELL_RENDERER_GRAPH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER_GRAPH, GtkCellRendererGraphClass)) GtkCellRendererGraph struct _GtkCellRendererGraph { GtkCellRenderer parent; /*< private >*/ GtkCellRendererGraphPrivate *priv; }; GtkCellRendererGraphClass struct _GtkCellRendererGraphClass { GtkCellRendererClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_cell_renderer_graph_get_type GType void gtk_cell_renderer_graph_new GtkCellRenderer * void GtkCellRendererGraphPrivate GTK_TYPE_INSPECTOR_CONTROLLERS #define GTK_TYPE_INSPECTOR_CONTROLLERS gtk_inspector_controllers_get_type() gtk_inspector_controllers_set_object void GtkInspectorControllers *sl, GObject *object GtkInspectorControllers GTK_TYPE_INSPECTOR_CSS_EDITOR #define GTK_TYPE_INSPECTOR_CSS_EDITOR (gtk_inspector_css_editor_get_type()) GTK_INSPECTOR_CSS_EDITOR #define GTK_INSPECTOR_CSS_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_CSS_EDITOR, GtkInspectorCssEditor)) GTK_INSPECTOR_CSS_EDITOR_CLASS #define GTK_INSPECTOR_CSS_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_CSS_EDITOR, GtkInspectorCssEditorClass)) GTK_INSPECTOR_IS_CSS_EDITOR #define GTK_INSPECTOR_IS_CSS_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_CSS_EDITOR)) GTK_INSPECTOR_IS_CSS_EDITOR_CLASS #define GTK_INSPECTOR_IS_CSS_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_CSS_EDITOR)) GTK_INSPECTOR_CSS_EDITOR_GET_CLASS #define GTK_INSPECTOR_CSS_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_CSS_EDITOR, GtkInspectorCssEditorClass)) gtk_inspector_css_editor_get_type GType void gtk_inspector_css_editor_set_display void GtkInspectorCssEditor *ce, GdkDisplay *display GtkInspectorCssEditorPrivate GTK_TYPE_INSPECTOR_CSS_NODE_TREE #define GTK_TYPE_INSPECTOR_CSS_NODE_TREE (gtk_inspector_css_node_tree_get_type()) GTK_INSPECTOR_CSS_NODE_TREE #define GTK_INSPECTOR_CSS_NODE_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_CSS_NODE_TREE, GtkInspectorCssNodeTree)) GTK_INSPECTOR_CSS_NODE_TREE_CLASS #define GTK_INSPECTOR_CSS_NODE_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_CSS_NODE_TREE, GtkInspectorCssNodeTreeClass)) GTK_INSPECTOR_IS_CSS_NODE_TREE #define GTK_INSPECTOR_IS_CSS_NODE_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_CSS_NODE_TREE)) GTK_INSPECTOR_IS_CSS_NODE_TREE_CLASS #define GTK_INSPECTOR_IS_CSS_NODE_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_CSS_NODE_TREE)) GTK_INSPECTOR_CSS_NODE_TREE_GET_CLASS #define GTK_INSPECTOR_CSS_NODE_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_CSS_NODE_TREE, GtkInspectorCssNodeTreeClass)) gtk_inspector_css_node_tree_get_type GType void gtk_inspector_css_node_tree_set_object void GtkInspectorCssNodeTree *cnt, GObject *object gtk_inspector_css_node_tree_get_node GtkCssNode * GtkInspectorCssNodeTree *cnt gtk_inspector_css_node_tree_set_display void GtkInspectorCssNodeTree *cnt, GdkDisplay *display GtkInspectorCssNodeTreePrivate GTK_TYPE_FOCUS_OVERLAY #define GTK_TYPE_FOCUS_OVERLAY (gtk_focus_overlay_get_type ()) gtk_focus_overlay_new GtkInspectorOverlay * void gtk_focus_overlay_set_color void GtkFocusOverlay *self, const GdkRGBA *color GtkFocusOverlay GTK_TYPE_FPS_OVERLAY #define GTK_TYPE_FPS_OVERLAY (gtk_fps_overlay_get_type ()) gtk_fps_overlay_new GtkInspectorOverlay * void GtkFpsOverlay GTK_TYPE_INSPECTOR_GENERAL #define GTK_TYPE_INSPECTOR_GENERAL (gtk_inspector_general_get_type()) GTK_INSPECTOR_GENERAL #define GTK_INSPECTOR_GENERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_GENERAL, GtkInspectorGeneral)) GTK_INSPECTOR_IS_GENERAL #define GTK_INSPECTOR_IS_GENERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_GENERAL)) gtk_inspector_general_get_type GType void gtk_inspector_general_set_display void GtkInspectorGeneral *general, GdkDisplay *display GtkInspectorGeneral GTK_TYPE_GRAPH_DATA #define GTK_TYPE_GRAPH_DATA (gtk_graph_data_get_type ()) GTK_GRAPH_DATA #define GTK_GRAPH_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_GRAPH_DATA, GtkGraphData)) GTK_GRAPH_DATA_CLASS #define GTK_GRAPH_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_GRAPH_DATA, GtkGraphDataClass)) GTK_IS_GRAPH_DATA #define GTK_IS_GRAPH_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_GRAPH_DATA)) GTK_IS_GRAPH_DATA_CLASS #define GTK_IS_GRAPH_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_GRAPH_DATA)) GTK_GRAPH_DATA_GET_CLASS #define GTK_GRAPH_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_GRAPH_DATA, GtkGraphDataClass)) GtkGraphData struct _GtkGraphData { GObject object; /*< private >*/ GtkGraphDataPrivate *priv; }; GtkGraphDataClass struct _GtkGraphDataClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; gtk_graph_data_get_type GType void gtk_graph_data_new GtkGraphData * guint n_values gtk_graph_data_get_n_values guint GtkGraphData *data gtk_graph_data_get_value double GtkGraphData *data, guint i gtk_graph_data_get_minimum double GtkGraphData *data gtk_graph_data_get_maximum double GtkGraphData *data gtk_graph_data_prepend_value void GtkGraphData *data, double value GtkGraphDataPrivate GTK_TYPE_TREE_MODEL_CSS_NODE #define GTK_TYPE_TREE_MODEL_CSS_NODE (gtk_tree_model_css_node_get_type ()) GTK_TREE_MODEL_CSS_NODE #define GTK_TREE_MODEL_CSS_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MODEL_CSS_NODE, GtkTreeModelCssNode)) GTK_TREE_MODEL_CSS_NODE_CLASS #define GTK_TREE_MODEL_CSS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_MODEL_CSS_NODE, GtkTreeModelCssNodeClass)) GTK_IS_TREE_MODEL_CSS_NODE #define GTK_IS_TREE_MODEL_CSS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL_CSS_NODE)) GTK_IS_TREE_MODEL_CSS_NODE_CLASS #define GTK_IS_TREE_MODEL_CSS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_MODEL_CSS_NODE)) GTK_TREE_MODEL_CSS_NODE_GET_CLASS #define GTK_TREE_MODEL_CSS_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_CSS_NODE, GtkTreeModelCssNodeClass)) GtkTreeModelCssNodeGetFunc void GtkTreeModelCssNode *model, GtkCssNode *node, int column, GValue *value GtkTreeModelCssNode struct _GtkTreeModelCssNode { GObject parent; GtkTreeModelCssNodePrivate *priv; }; GtkTreeModelCssNodeClass struct _GtkTreeModelCssNodeClass { GObjectClass parent_class; }; gtk_tree_model_css_node_get_type GType void gtk_tree_model_css_node_new GtkTreeModel * GtkTreeModelCssNodeGetFunc get_func, int n_columns, ... gtk_tree_model_css_node_newv GtkTreeModel * GtkTreeModelCssNodeGetFunc get_func, int n_columns, GType *types gtk_tree_model_css_node_set_root_node void GtkTreeModelCssNode *model, GtkCssNode *node gtk_tree_model_css_node_get_root_node GtkCssNode * GtkTreeModelCssNode *model gtk_tree_model_css_node_get_node_from_iter GtkCssNode * GtkTreeModelCssNode *model, GtkTreeIter *iter gtk_tree_model_css_node_get_iter_from_node void GtkTreeModelCssNode *model, GtkTreeIter *iter, GtkCssNode *node GtkTreeModelCssNodePrivate GTK_TYPE_HIGHLIGHT_OVERLAY #define GTK_TYPE_HIGHLIGHT_OVERLAY (gtk_highlight_overlay_get_type ()) gtk_highlight_overlay_new GtkInspectorOverlay * GtkWidget *widget gtk_highlight_overlay_get_widget GtkWidget * GtkHighlightOverlay *self gtk_highlight_overlay_set_color void GtkHighlightOverlay *self, const GdkRGBA *color GtkHighlightOverlay gtk_inspector_init void void GTK_TYPE_INSPECTOR_OVERLAY #define GTK_TYPE_INSPECTOR_OVERLAY (gtk_inspector_overlay_get_type ()) GtkInspectorOverlayClass struct _GtkInspectorOverlayClass { GObjectClass parent_class; void (* snapshot) (GtkInspectorOverlay *self, GtkSnapshot *snapshot, GskRenderNode *node, GtkWidget *widget); void (* queue_draw) (GtkInspectorOverlay *self); }; gtk_inspector_overlay_snapshot void GtkInspectorOverlay *self, GtkSnapshot *snapshot, GskRenderNode *node, GtkWidget *widget gtk_inspector_overlay_queue_draw void GtkInspectorOverlay *self GtkInspectorOverlay GTK_TYPE_LAYOUT_OVERLAY #define GTK_TYPE_LAYOUT_OVERLAY (gtk_layout_overlay_get_type ()) gtk_layout_overlay_new GtkInspectorOverlay * void GtkLayoutOverlay GTK_TYPE_INSPECTOR_LIST_DATA #define GTK_TYPE_INSPECTOR_LIST_DATA (gtk_inspector_list_data_get_type()) gtk_inspector_list_data_set_object void GtkInspectorListData *sl, GObject *object GtkInspectorListData GTK_TYPE_INSPECTOR_LOGS #define GTK_TYPE_INSPECTOR_LOGS (gtk_inspector_logs_get_type()) GTK_INSPECTOR_LOGS #define GTK_INSPECTOR_LOGS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_LOGS, GtkInspectorLogs)) GTK_INSPECTOR_IS_LOGS #define GTK_INSPECTOR_IS_LOGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_LOGS)) gtk_inspector_logs_get_type GType void gtk_inspector_logs_set_display void GtkInspectorLogs *logs, GdkDisplay *display GtkInspectorLogs GTK_TYPE_INSPECTOR_MAGNIFIER #define GTK_TYPE_INSPECTOR_MAGNIFIER (gtk_inspector_magnifier_get_type()) GTK_INSPECTOR_MAGNIFIER #define GTK_INSPECTOR_MAGNIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_MAGNIFIER, GtkInspectorMagnifier)) GTK_INSPECTOR_MAGNIFIER_CLASS #define GTK_INSPECTOR_MAGNIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_MAGNIFIER, GtkInspectorMagnifierClass)) GTK_INSPECTOR_IS_MAGNIFIER #define GTK_INSPECTOR_IS_MAGNIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_MAGNIFIER)) GTK_INSPECTOR_IS_MAGNIFIER_CLASS #define GTK_INSPECTOR_IS_MAGNIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_MAGNIFIER)) GTK_INSPECTOR_MAGNIFIER_GET_CLASS #define GTK_INSPECTOR_MAGNIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_MAGNIFIER, GtkInspectorMagnifierClass)) gtk_inspector_magnifier_get_type GType void gtk_inspector_magnifier_set_object void GtkInspectorMagnifier *sl, GObject *object GtkInspectorMagnifierPrivate GTK_TYPE_INSPECTOR_MENU #define GTK_TYPE_INSPECTOR_MENU (gtk_inspector_menu_get_type()) GTK_INSPECTOR_MENU #define GTK_INSPECTOR_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_MENU, GtkInspectorMenu)) GTK_INSPECTOR_MENU_CLASS #define GTK_INSPECTOR_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_MENU, GtkInspectorMenuClass)) GTK_INSPECTOR_IS_MENU #define GTK_INSPECTOR_IS_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_MENU)) GTK_INSPECTOR_IS_MENU_CLASS #define GTK_INSPECTOR_IS_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_MENU)) GTK_INSPECTOR_MENU_GET_CLASS #define GTK_INSPECTOR_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_MENU, GtkInspectorMenuClass)) gtk_inspector_menu_get_type GType void gtk_inspector_menu_set_object void GtkInspectorMenu *sl, GObject *object GtkInspectorMenuPrivate GTK_TYPE_INSPECTOR_MISC_INFO #define GTK_TYPE_INSPECTOR_MISC_INFO (gtk_inspector_misc_info_get_type()) GTK_INSPECTOR_MISC_INFO #define GTK_INSPECTOR_MISC_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_MISC_INFO, GtkInspectorMiscInfo)) GTK_INSPECTOR_IS_MISC_INFO #define GTK_INSPECTOR_IS_MISC_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_MISC_INFO)) gtk_inspector_misc_info_get_type GType void gtk_inspector_misc_info_set_object void GtkInspectorMiscInfo *sl, GObject *object GtkInspectorMiscInfo GTK_TYPE_INSPECTOR_OBJECT_TREE #define GTK_TYPE_INSPECTOR_OBJECT_TREE (gtk_inspector_object_tree_get_type()) GTK_INSPECTOR_OBJECT_TREE #define GTK_INSPECTOR_OBJECT_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_OBJECT_TREE, GtkInspectorObjectTree)) GTK_INSPECTOR_OBJECT_TREE_CLASS #define GTK_INSPECTOR_OBJECT_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_OBJECT_TREE, GtkInspectorObjectTreeClass)) GTK_INSPECTOR_IS_OBJECT_TREE #define GTK_INSPECTOR_IS_OBJECT_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_OBJECT_TREE)) GTK_INSPECTOR_IS_OBJECT_TREE_CLASS #define GTK_INSPECTOR_IS_OBJECT_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_OBJECT_TREE)) GTK_INSPECTOR_OBJECT_TREE_GET_CLASS #define GTK_INSPECTOR_OBJECT_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_OBJECT_TREE, GtkInspectorObjectTreeClass)) object_selected void GtkInspectorObjectTree *wt, GObject *object object_activated void GtkInspectorObjectTree *wt, GObject *object gtk_inspector_object_tree_get_type GType void gtk_inspector_get_object_title char * GObject *object gtk_inspector_object_tree_select_object void GtkInspectorObjectTree *wt, GObject *object gtk_inspector_object_tree_activate_object void GtkInspectorObjectTree *wt, GObject *object gtk_inspector_object_tree_get_selected GObject * GtkInspectorObjectTree *wt gtk_inspector_object_tree_set_display void GtkInspectorObjectTree *wt, GdkDisplay *display GtkInspectorObjectTreePrivate GTK_TYPE_INSPECTOR_PROP_EDITOR #define GTK_TYPE_INSPECTOR_PROP_EDITOR (gtk_inspector_prop_editor_get_type()) gtk_inspector_prop_editor_new GtkWidget * GObject *object, const char *name, GtkSizeGroup *values gtk_inspector_prop_editor_should_expand gboolean GtkInspectorPropEditor *editor GtkInspectorPropEditor PROP_TYPE_HOLDER #define PROP_TYPE_HOLDER (prop_holder_get_type ()) prop_holder_new PropHolder * GObject *object, GParamSpec *pspeC prop_holder_get_object GObject * PropHolder *holder prop_holder_get_pspec GParamSpec * PropHolder *holder prop_holder_get_name const char * PropHolder *holder PropHolder GTK_TYPE_INSPECTOR_PROP_LIST #define GTK_TYPE_INSPECTOR_PROP_LIST (gtk_inspector_prop_list_get_type()) GTK_INSPECTOR_PROP_LIST #define GTK_INSPECTOR_PROP_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_PROP_LIST, GtkInspectorPropList)) GTK_INSPECTOR_PROP_LIST_CLASS #define GTK_INSPECTOR_PROP_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_PROP_LIST, GtkInspectorPropListClass)) GTK_INSPECTOR_IS_PROP_LIST #define GTK_INSPECTOR_IS_PROP_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_PROP_LIST)) GTK_INSPECTOR_IS_PROP_LIST_CLASS #define GTK_INSPECTOR_IS_PROP_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_PROP_LIST)) GTK_INSPECTOR_PROP_LIST_GET_CLASS #define GTK_INSPECTOR_PROP_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_PROP_LIST, GtkInspectorPropListClass)) gtk_inspector_prop_list_get_type GType void gtk_inspector_prop_list_set_object gboolean GtkInspectorPropList *pl, GObject *object gtk_inspector_prop_list_set_layout_child void GtkInspectorPropList *pl, GObject *object strdup_value_contents void const GValue *value, char **contents, char **type GtkInspectorPropListPrivate GTK_TYPE_INSPECTOR_RECORDER #define GTK_TYPE_INSPECTOR_RECORDER (gtk_inspector_recorder_get_type()) GTK_INSPECTOR_RECORDER #define GTK_INSPECTOR_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_RECORDER, GtkInspectorRecorder)) GTK_INSPECTOR_IS_RECORDER #define GTK_INSPECTOR_IS_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_RECORDER)) gtk_inspector_recorder_get_type GType void gtk_inspector_recorder_set_recording void GtkInspectorRecorder *recorder, gboolean record gtk_inspector_recorder_is_recording gboolean GtkInspectorRecorder *recorder gtk_inspector_recorder_set_debug_nodes void GtkInspectorRecorder *recorder, gboolean debug_nodes gtk_inspector_recorder_record_render void GtkInspectorRecorder *recorder, GtkWidget *widget, GskRenderer *renderer, GdkSurface *surface, const cairo_region_t *region, GskRenderNode *node GtkInspectorRecorder GTK_TYPE_INSPECTOR_RECORDING #define GTK_TYPE_INSPECTOR_RECORDING (gtk_inspector_recording_get_type()) GTK_INSPECTOR_RECORDING #define GTK_INSPECTOR_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_RECORDING, GtkInspectorRecording)) GTK_INSPECTOR_RECORDING_CLASS #define GTK_INSPECTOR_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_RECORDING, GtkInspectorRecordingClass)) GTK_INSPECTOR_IS_RECORDING #define GTK_INSPECTOR_IS_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_RECORDING)) GTK_INSPECTOR_IS_RECORDING_CLASS #define GTK_INSPECTOR_IS_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_RECORDING)) GTK_INSPECTOR_RECORDING_GET_CLASS #define GTK_INSPECTOR_RECORDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_RECORDING, GtkInspectorRecordingClass)) gtk_inspector_recording_get_type GType void gtk_inspector_recording_get_timestamp gint64 GtkInspectorRecording *recording GtkInspectorRecordingPrivate GTK_TYPE_INSPECTOR_RENDER_RECORDING #define GTK_TYPE_INSPECTOR_RENDER_RECORDING (gtk_inspector_render_recording_get_type()) GTK_INSPECTOR_RENDER_RECORDING #define GTK_INSPECTOR_RENDER_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_RENDER_RECORDING, GtkInspectorRenderRecording)) GTK_INSPECTOR_RENDER_RECORDING_CLASS #define GTK_INSPECTOR_RENDER_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_RENDER_RECORDING, GtkInspectorRenderRecordingClass)) GTK_INSPECTOR_IS_RENDER_RECORDING #define GTK_INSPECTOR_IS_RENDER_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_RENDER_RECORDING)) GTK_INSPECTOR_IS_RENDER_RECORDING_CLASS #define GTK_INSPECTOR_IS_RENDER_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_RENDER_RECORDING)) GTK_INSPECTOR_RENDER_RECORDING_GET_CLASS #define GTK_INSPECTOR_RENDER_RECORDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_RENDER_RECORDING, GtkInspectorRenderRecordingClass)) gtk_inspector_render_recording_get_type GType void gtk_inspector_render_recording_new GtkInspectorRecording * gint64 timestamp, GskProfiler *profiler, const GdkRectangle *area, const cairo_region_t *clip_region, GskRenderNode *node gtk_inspector_render_recording_get_node GskRenderNode * GtkInspectorRenderRecording *recording gtk_inspector_render_recording_get_clip_region const cairo_region_t * GtkInspectorRenderRecording *recording gtk_inspector_render_recording_get_area const cairo_rectangle_int_t * GtkInspectorRenderRecording *recording gtk_inspector_render_recording_get_profiler_info const char * GtkInspectorRenderRecording *recording GtkInspectorRenderRecordingPrivate RESOURCE_TYPE_HOLDER #define RESOURCE_TYPE_HOLDER (resource_holder_get_type ()) resource_holder_new ResourceHolder * const char *name, const char *path, int count, gsize size, GListModel *children resource_holder_get_name const char * ResourceHolder *holder resource_holder_get_path const char * ResourceHolder *holder resource_holder_get_count int ResourceHolder *holder resource_holder_get_size gsize ResourceHolder *holder resource_holder_get_children GListModel * ResourceHolder *holder resource_holder_get_parent ResourceHolder * ResourceHolder *holder ResourceHolder GTK_TYPE_INSPECTOR_RESOURCE_LIST #define GTK_TYPE_INSPECTOR_RESOURCE_LIST (gtk_inspector_resource_list_get_type()) GTK_INSPECTOR_RESOURCE_LIST #define GTK_INSPECTOR_RESOURCE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_RESOURCE_LIST, GtkInspectorResourceList)) GTK_INSPECTOR_IS_RESOURCE_LIST #define GTK_INSPECTOR_IS_RESOURCE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_RESOURCE_LIST)) gtk_inspector_resource_list_get_type GType void GtkInspectorResourceList GTK_TYPE_INSPECTOR_SHORTCUTS #define GTK_TYPE_INSPECTOR_SHORTCUTS (gtk_inspector_shortcuts_get_type ()) gtk_inspector_shortcuts_set_object void GtkInspectorShortcuts *sl, GObject *object GtkInspectorShortcuts GTK_TYPE_INSPECTOR_SIZE_GROUPS #define GTK_TYPE_INSPECTOR_SIZE_GROUPS (gtk_inspector_size_groups_get_type()) GTK_INSPECTOR_SIZE_GROUPS #define GTK_INSPECTOR_SIZE_GROUPS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_SIZE_GROUPS, GtkInspectorSizeGroups)) GTK_INSPECTOR_SIZE_GROUPS_CLASS #define GTK_INSPECTOR_SIZE_GROUPS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_SIZE_GROUPS, GtkInspectorSizeGroupsClass)) GTK_INSPECTOR_IS_SIZE_GROUPS #define GTK_INSPECTOR_IS_SIZE_GROUPS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_SIZE_GROUPS)) GTK_INSPECTOR_IS_SIZE_GROUPS_CLASS #define GTK_INSPECTOR_IS_SIZE_GROUPS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_SIZE_GROUPS)) GTK_INSPECTOR_SIZE_GROUPS_GET_CLASS #define GTK_INSPECTOR_SIZE_GROUPS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_SIZE_GROUPS, GtkInspectorSizeGroupsClass)) gtk_inspector_size_groups_get_type GType void gtk_inspector_size_groups_set_object void GtkInspectorSizeGroups *sl, GObject *object GTK_TYPE_INSPECTOR_START_RECORDING #define GTK_TYPE_INSPECTOR_START_RECORDING (gtk_inspector_start_recording_get_type()) GTK_INSPECTOR_START_RECORDING #define GTK_INSPECTOR_START_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_START_RECORDING, GtkInspectorStartRecording)) GTK_INSPECTOR_START_RECORDING_CLASS #define GTK_INSPECTOR_START_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_START_RECORDING, GtkInspectorStartRecordingClass)) GTK_INSPECTOR_IS_START_RECORDING #define GTK_INSPECTOR_IS_START_RECORDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_START_RECORDING)) GTK_INSPECTOR_IS_START_RECORDING_CLASS #define GTK_INSPECTOR_IS_START_RECORDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_START_RECORDING)) GTK_INSPECTOR_START_RECORDING_GET_CLASS #define GTK_INSPECTOR_START_RECORDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_START_RECORDING, GtkInspectorStartRecordingClass)) gtk_inspector_start_recording_get_type GType void gtk_inspector_start_recording_new GtkInspectorRecording * void GtkInspectorStartRecordingPrivate GTK_TYPE_INSPECTOR_STATISTICS #define GTK_TYPE_INSPECTOR_STATISTICS (gtk_inspector_statistics_get_type()) GTK_INSPECTOR_STATISTICS #define GTK_INSPECTOR_STATISTICS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_STATISTICS, GtkInspectorStatistics)) GTK_INSPECTOR_STATISTICS_CLASS #define GTK_INSPECTOR_STATISTICS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_STATISTICS, GtkInspectorStatisticsClass)) GTK_INSPECTOR_IS_STATISTICS #define GTK_INSPECTOR_IS_STATISTICS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_STATISTICS)) GTK_INSPECTOR_IS_STATISTICS_CLASS #define GTK_INSPECTOR_IS_STATISTICS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_STATISTICS)) GTK_INSPECTOR_STATISTICS_GET_CLASS #define GTK_INSPECTOR_STATISTICS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_STATISTICS, GtkInspectorStatisticsClass)) gtk_inspector_statistics_get_type GType void GtkInspectorStatisticsPrivate GTK_TYPE_INSPECTOR_STRV_EDITOR #define GTK_TYPE_INSPECTOR_STRV_EDITOR (gtk_inspector_strv_editor_get_type()) GTK_INSPECTOR_STRV_EDITOR #define GTK_INSPECTOR_STRV_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_STRV_EDITOR, GtkInspectorStrvEditor)) GTK_INSPECTOR_STRV_EDITOR_CLASS #define GTK_INSPECTOR_STRV_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_STRV_EDITOR, GtkInspectorStrvEditorClass)) GTK_INSPECTOR_IS_STRV_EDITOR #define GTK_INSPECTOR_IS_STRV_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_STRV_EDITOR)) GTK_INSPECTOR_IS_STRV_EDITOR_CLASS #define GTK_INSPECTOR_IS_STRV_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_STRV_EDITOR)) GTK_INSPECTOR_STRV_EDITOR_GET_CLASS #define GTK_INSPECTOR_STRV_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_STRV_EDITOR, GtkInspectorStrvEditorClass)) changed void GtkInspectorStrvEditor *editor gtk_inspector_strv_editor_get_type GType void gtk_inspector_strv_editor_set_strv void GtkInspectorStrvEditor *editor, char **strv gtk_inspector_strv_editor_get_strv char ** GtkInspectorStrvEditor *editor GTK_TYPE_INSPECTOR_TREE_DATA #define GTK_TYPE_INSPECTOR_TREE_DATA (gtk_inspector_tree_data_get_type ()) GTK_INSPECTOR_TREE_DATA #define GTK_INSPECTOR_TREE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_TREE_DATA, GtkInspectorTreeData)) GTK_INSPECTOR_IS_TREE_DATA #define GTK_INSPECTOR_IS_TREE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_TREE_DATA)) gtk_inspector_tree_data_get_type GType void gtk_inspector_tree_data_set_object void GtkInspectorTreeData *sl, GObject *object GtkInspectorTreeData RowPredicate gboolean GtkTreeModel *model, GtkTreeIter *iter, gpointer data gtk_tree_walk_new GtkTreeWalk * GtkTreeModel *model, RowPredicate predicate, gpointer data, GDestroyNotify destroy gtk_tree_walk_free void GtkTreeWalk *walk gtk_tree_walk_reset void GtkTreeWalk *walk, GtkTreeIter *iter gtk_tree_walk_next_match gboolean GtkTreeWalk *walk, gboolean force_move, gboolean backwards, GtkTreeIter *iter gtk_tree_walk_get_position gboolean GtkTreeWalk *walk, GtkTreeIter *iter GtkTreeWalk GTK_TYPE_INSPECTOR_TYPE_POPOVER #define GTK_TYPE_INSPECTOR_TYPE_POPOVER (gtk_inspector_type_popover_get_type ()) gtk_inspector_type_popover_set_gtype void GtkInspectorTypePopover *self, GType gtype GtkInspectorTypePopover GTK_TYPE_UPDATES_OVERLAY #define GTK_TYPE_UPDATES_OVERLAY (gtk_updates_overlay_get_type ()) gtk_updates_overlay_new GtkInspectorOverlay * void GtkUpdatesOverlay GTK_TYPE_INSPECTOR_VISUAL #define GTK_TYPE_INSPECTOR_VISUAL (gtk_inspector_visual_get_type()) GTK_INSPECTOR_VISUAL #define GTK_INSPECTOR_VISUAL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_VISUAL, GtkInspectorVisual)) GTK_INSPECTOR_IS_VISUAL #define GTK_INSPECTOR_IS_VISUAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_VISUAL)) gtk_inspector_visual_get_type GType void gtk_inspector_visual_set_display void GtkInspectorVisual *vis, GdkDisplay *display GtkInspectorVisual GTK_TYPE_INSPECTOR_WINDOW #define GTK_TYPE_INSPECTOR_WINDOW (gtk_inspector_window_get_type()) GTK_INSPECTOR_WINDOW #define GTK_INSPECTOR_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_WINDOW, GtkInspectorWindow)) GTK_INSPECTOR_WINDOW_CLASS #define GTK_INSPECTOR_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_WINDOW, GtkInspectorWindowClass)) GTK_INSPECTOR_IS_WINDOW #define GTK_INSPECTOR_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_WINDOW)) GTK_INSPECTOR_IS_WINDOW_CLASS #define GTK_INSPECTOR_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_WINDOW)) GTK_INSPECTOR_WINDOW_GET_CLASS #define GTK_INSPECTOR_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_WINDOW, GtkInspectorWindowClass)) TREE_TEXT_SCALE #define TREE_TEXT_SCALE 0.8 TREE_CHECKBOX_SIZE #define TREE_CHECKBOX_SIZE (int)(0.8 * 13) gtk_inspector_window_get_type GType void gtk_inspector_window_get GtkWidget * GdkDisplay *display gtk_inspector_flash_widget void GtkInspectorWindow *iw, GtkWidget *widget gtk_inspector_on_inspect void GtkWidget *widget, GtkInspectorWindow *iw gtk_inspector_window_add_overlay void GtkInspectorWindow *iw, GtkInspectorOverlay *overlay gtk_inspector_window_remove_overlay void GtkInspectorWindow *iw, GtkInspectorOverlay *overlay gtk_inspector_window_select_widget_under_pointer void GtkInspectorWindow *iw gtk_inspector_window_get_inspected_display GdkDisplay * GtkInspectorWindow *iw ChildKind typedef enum { CHILD_KIND_WIDGET, CHILD_KIND_CONTROLLER, CHILD_KIND_PROPERTY, CHILD_KIND_LISTITEM, CHILD_KIND_OTHER } ChildKind; gtk_inspector_window_push_object void GtkInspectorWindow *iw, GObject *object, ChildKind kind, guint position gtk_inspector_window_pop_object void GtkInspectorWindow *iw gtk_inspector_window_set_object void GtkInspectorWindow *iw, GObject *object, ChildKind kind, guint position gtk_inspector_window_replace_object void GtkInspectorWindow *iw, GObject *object, ChildKind kind, guint position gtk_inspector_is_recording gboolean GtkWidget *widget gtk_inspector_prepare_render GskRenderNode * GtkWidget *widget, GskRenderer *renderer, GdkSurface *surface, const cairo_region_t *region, GskRenderNode *node gtk_inspector_handle_event gboolean GdkEvent *event do_simplify void int *argc, const char ***argv do_validate void int *argc, const char ***argv do_enumerate void int *argc, const char ***argv do_preview void int *argc, const char ***argv _GtkMountOperationHandlerIface struct __GtkMountOperationHandlerIface { GTypeInterface parent_iface; gboolean (*handle_ask_password) ( _GtkMountOperationHandler *object, GDBusMethodInvocation *invocation, const gchar *arg_id, const gchar *arg_message, const gchar *arg_icon_name, const gchar *arg_default_user, const gchar *arg_default_domain, guint arg_flags); gboolean (*handle_ask_question) ( _GtkMountOperationHandler *object, GDBusMethodInvocation *invocation, const gchar *arg_id, const gchar *arg_message, const gchar *arg_icon_name, const gchar *const *arg_choices); gboolean (*handle_close) ( _GtkMountOperationHandler *object, GDBusMethodInvocation *invocation); gboolean (*handle_show_processes) ( _GtkMountOperationHandler *object, GDBusMethodInvocation *invocation, const gchar *arg_id, const gchar *arg_message, const gchar *arg_icon_name, GVariant *arg_application_pids, const gchar *const *arg_choices); }; _GtkMountOperationHandlerProxy struct __GtkMountOperationHandlerProxy { /*< private >*/ GDBusProxy parent_instance; _GtkMountOperationHandlerProxyPrivate *priv; }; _GtkMountOperationHandlerProxyClass struct __GtkMountOperationHandlerProxyClass { GDBusProxyClass parent_class; }; _GtkMountOperationHandlerSkeleton struct __GtkMountOperationHandlerSkeleton { /*< private >*/ GDBusInterfaceSkeleton parent_instance; _GtkMountOperationHandlerSkeletonPrivate *priv; }; _GtkMountOperationHandlerSkeletonClass struct __GtkMountOperationHandlerSkeletonClass { GDBusInterfaceSkeletonClass parent_class; }; _GtkMountOperationHandler _GtkMountOperationHandlerProxyPrivate _GtkMountOperationHandlerSkeletonPrivate GTK_TYPE_CSS_AFFECTS #define GTK_TYPE_CSS_AFFECTS (_gtk_css_affects_get_type ()) GTK_TYPE_TEXT_HANDLE_ROLE #define GTK_TYPE_TEXT_HANDLE_ROLE (_gtk_text_handle_role_get_type ()) GTK_TYPE_LICENSE #define GTK_TYPE_LICENSE (gtk_license_get_type ()) GTK_TYPE_APPLICATION_INHIBIT_FLAGS #define GTK_TYPE_APPLICATION_INHIBIT_FLAGS (gtk_application_inhibit_flags_get_type ()) GTK_TYPE_ASSISTANT_PAGE_TYPE #define GTK_TYPE_ASSISTANT_PAGE_TYPE (gtk_assistant_page_type_get_type ()) GTK_TYPE_BUILDER_ERROR #define GTK_TYPE_BUILDER_ERROR (gtk_builder_error_get_type ()) GTK_TYPE_BUILDER_CLOSURE_FLAGS #define GTK_TYPE_BUILDER_CLOSURE_FLAGS (gtk_builder_closure_flags_get_type ()) GTK_TYPE_CELL_RENDERER_STATE #define GTK_TYPE_CELL_RENDERER_STATE (gtk_cell_renderer_state_get_type ()) GTK_TYPE_CELL_RENDERER_MODE #define GTK_TYPE_CELL_RENDERER_MODE (gtk_cell_renderer_mode_get_type ()) GTK_TYPE_CELL_RENDERER_ACCEL_MODE #define GTK_TYPE_CELL_RENDERER_ACCEL_MODE (gtk_cell_renderer_accel_mode_get_type ()) GTK_TYPE_DEBUG_FLAG #define GTK_TYPE_DEBUG_FLAG (gtk_debug_flag_get_type ()) GTK_TYPE_DIALOG_FLAGS #define GTK_TYPE_DIALOG_FLAGS (gtk_dialog_flags_get_type ()) GTK_TYPE_RESPONSE_TYPE #define GTK_TYPE_RESPONSE_TYPE (gtk_response_type_get_type ()) GTK_TYPE_EDITABLE_PROPERTIES #define GTK_TYPE_EDITABLE_PROPERTIES (gtk_editable_properties_get_type ()) GTK_TYPE_ENTRY_ICON_POSITION #define GTK_TYPE_ENTRY_ICON_POSITION (gtk_entry_icon_position_get_type ()) GTK_TYPE_ALIGN #define GTK_TYPE_ALIGN (gtk_align_get_type ()) GTK_TYPE_ARROW_TYPE #define GTK_TYPE_ARROW_TYPE (gtk_arrow_type_get_type ()) GTK_TYPE_BASELINE_POSITION #define GTK_TYPE_BASELINE_POSITION (gtk_baseline_position_get_type ()) GTK_TYPE_DELETE_TYPE #define GTK_TYPE_DELETE_TYPE (gtk_delete_type_get_type ()) GTK_TYPE_DIRECTION_TYPE #define GTK_TYPE_DIRECTION_TYPE (gtk_direction_type_get_type ()) GTK_TYPE_ICON_SIZE #define GTK_TYPE_ICON_SIZE (gtk_icon_size_get_type ()) GTK_TYPE_SENSITIVITY_TYPE #define GTK_TYPE_SENSITIVITY_TYPE (gtk_sensitivity_type_get_type ()) GTK_TYPE_TEXT_DIRECTION #define GTK_TYPE_TEXT_DIRECTION (gtk_text_direction_get_type ()) GTK_TYPE_JUSTIFICATION #define GTK_TYPE_JUSTIFICATION (gtk_justification_get_type ()) GTK_TYPE_MENU_DIRECTION_TYPE #define GTK_TYPE_MENU_DIRECTION_TYPE (gtk_menu_direction_type_get_type ()) GTK_TYPE_MESSAGE_TYPE #define GTK_TYPE_MESSAGE_TYPE (gtk_message_type_get_type ()) GTK_TYPE_MOVEMENT_STEP #define GTK_TYPE_MOVEMENT_STEP (gtk_movement_step_get_type ()) GTK_TYPE_SCROLL_STEP #define GTK_TYPE_SCROLL_STEP (gtk_scroll_step_get_type ()) GTK_TYPE_ORIENTATION #define GTK_TYPE_ORIENTATION (gtk_orientation_get_type ()) GTK_TYPE_OVERFLOW #define GTK_TYPE_OVERFLOW (gtk_overflow_get_type ()) GTK_TYPE_PACK_TYPE #define GTK_TYPE_PACK_TYPE (gtk_pack_type_get_type ()) GTK_TYPE_POSITION_TYPE #define GTK_TYPE_POSITION_TYPE (gtk_position_type_get_type ()) GTK_TYPE_SCROLL_TYPE #define GTK_TYPE_SCROLL_TYPE (gtk_scroll_type_get_type ()) GTK_TYPE_SELECTION_MODE #define GTK_TYPE_SELECTION_MODE (gtk_selection_mode_get_type ()) GTK_TYPE_WRAP_MODE #define GTK_TYPE_WRAP_MODE (gtk_wrap_mode_get_type ()) GTK_TYPE_SORT_TYPE #define GTK_TYPE_SORT_TYPE (gtk_sort_type_get_type ()) GTK_TYPE_PRINT_PAGES #define GTK_TYPE_PRINT_PAGES (gtk_print_pages_get_type ()) GTK_TYPE_PAGE_SET #define GTK_TYPE_PAGE_SET (gtk_page_set_get_type ()) GTK_TYPE_NUMBER_UP_LAYOUT #define GTK_TYPE_NUMBER_UP_LAYOUT (gtk_number_up_layout_get_type ()) GTK_TYPE_ORDERING #define GTK_TYPE_ORDERING (gtk_ordering_get_type ()) GTK_TYPE_PAGE_ORIENTATION #define GTK_TYPE_PAGE_ORIENTATION (gtk_page_orientation_get_type ()) GTK_TYPE_PRINT_QUALITY #define GTK_TYPE_PRINT_QUALITY (gtk_print_quality_get_type ()) GTK_TYPE_PRINT_DUPLEX #define GTK_TYPE_PRINT_DUPLEX (gtk_print_duplex_get_type ()) GTK_TYPE_UNIT #define GTK_TYPE_UNIT (gtk_unit_get_type ()) GTK_TYPE_TREE_VIEW_GRID_LINES #define GTK_TYPE_TREE_VIEW_GRID_LINES (gtk_tree_view_grid_lines_get_type ()) GTK_TYPE_SIZE_GROUP_MODE #define GTK_TYPE_SIZE_GROUP_MODE (gtk_size_group_mode_get_type ()) GTK_TYPE_SIZE_REQUEST_MODE #define GTK_TYPE_SIZE_REQUEST_MODE (gtk_size_request_mode_get_type ()) GTK_TYPE_SCROLLABLE_POLICY #define GTK_TYPE_SCROLLABLE_POLICY (gtk_scrollable_policy_get_type ()) GTK_TYPE_STATE_FLAGS #define GTK_TYPE_STATE_FLAGS (gtk_state_flags_get_type ()) GTK_TYPE_BORDER_STYLE #define GTK_TYPE_BORDER_STYLE (gtk_border_style_get_type ()) GTK_TYPE_LEVEL_BAR_MODE #define GTK_TYPE_LEVEL_BAR_MODE (gtk_level_bar_mode_get_type ()) GTK_TYPE_INPUT_PURPOSE #define GTK_TYPE_INPUT_PURPOSE (gtk_input_purpose_get_type ()) GTK_TYPE_INPUT_HINTS #define GTK_TYPE_INPUT_HINTS (gtk_input_hints_get_type ()) GTK_TYPE_PROPAGATION_PHASE #define GTK_TYPE_PROPAGATION_PHASE (gtk_propagation_phase_get_type ()) GTK_TYPE_PROPAGATION_LIMIT #define GTK_TYPE_PROPAGATION_LIMIT (gtk_propagation_limit_get_type ()) GTK_TYPE_EVENT_SEQUENCE_STATE #define GTK_TYPE_EVENT_SEQUENCE_STATE (gtk_event_sequence_state_get_type ()) GTK_TYPE_PAN_DIRECTION #define GTK_TYPE_PAN_DIRECTION (gtk_pan_direction_get_type ()) GTK_TYPE_SHORTCUT_SCOPE #define GTK_TYPE_SHORTCUT_SCOPE (gtk_shortcut_scope_get_type ()) GTK_TYPE_POPOVER_CONSTRAINT #define GTK_TYPE_POPOVER_CONSTRAINT (gtk_popover_constraint_get_type ()) GTK_TYPE_PLACES_OPEN_FLAGS #define GTK_TYPE_PLACES_OPEN_FLAGS (gtk_places_open_flags_get_type ()) GTK_TYPE_PICK_FLAGS #define GTK_TYPE_PICK_FLAGS (gtk_pick_flags_get_type ()) GTK_TYPE_CONSTRAINT_RELATION #define GTK_TYPE_CONSTRAINT_RELATION (gtk_constraint_relation_get_type ()) GTK_TYPE_CONSTRAINT_STRENGTH #define GTK_TYPE_CONSTRAINT_STRENGTH (gtk_constraint_strength_get_type ()) GTK_TYPE_CONSTRAINT_ATTRIBUTE #define GTK_TYPE_CONSTRAINT_ATTRIBUTE (gtk_constraint_attribute_get_type ()) GTK_TYPE_CONSTRAINT_VFL_PARSER_ERROR #define GTK_TYPE_CONSTRAINT_VFL_PARSER_ERROR (gtk_constraint_vfl_parser_error_get_type ()) GTK_TYPE_SYSTEM_SETTING #define GTK_TYPE_SYSTEM_SETTING (gtk_system_setting_get_type ()) GTK_TYPE_ACCESSIBLE_ROLE #define GTK_TYPE_ACCESSIBLE_ROLE (gtk_accessible_role_get_type ()) GTK_TYPE_ACCESSIBLE_STATE #define GTK_TYPE_ACCESSIBLE_STATE (gtk_accessible_state_get_type ()) GTK_TYPE_ACCESSIBLE_PROPERTY #define GTK_TYPE_ACCESSIBLE_PROPERTY (gtk_accessible_property_get_type ()) GTK_TYPE_ACCESSIBLE_RELATION #define GTK_TYPE_ACCESSIBLE_RELATION (gtk_accessible_relation_get_type ()) GTK_TYPE_ACCESSIBLE_TRISTATE #define GTK_TYPE_ACCESSIBLE_TRISTATE (gtk_accessible_tristate_get_type ()) GTK_TYPE_ACCESSIBLE_INVALID_STATE #define GTK_TYPE_ACCESSIBLE_INVALID_STATE (gtk_accessible_invalid_state_get_type ()) GTK_TYPE_ACCESSIBLE_AUTOCOMPLETE #define GTK_TYPE_ACCESSIBLE_AUTOCOMPLETE (gtk_accessible_autocomplete_get_type ()) GTK_TYPE_ACCESSIBLE_SORT #define GTK_TYPE_ACCESSIBLE_SORT (gtk_accessible_sort_get_type ()) GTK_TYPE_EVENT_CONTROLLER_SCROLL_FLAGS #define GTK_TYPE_EVENT_CONTROLLER_SCROLL_FLAGS (gtk_event_controller_scroll_flags_get_type ()) GTK_TYPE_FILE_CHOOSER_ACTION #define GTK_TYPE_FILE_CHOOSER_ACTION (gtk_file_chooser_action_get_type ()) GTK_TYPE_FILE_CHOOSER_ERROR #define GTK_TYPE_FILE_CHOOSER_ERROR (gtk_file_chooser_error_get_type ()) GTK_TYPE_FILTER_MATCH #define GTK_TYPE_FILTER_MATCH (gtk_filter_match_get_type ()) GTK_TYPE_FILTER_CHANGE #define GTK_TYPE_FILTER_CHANGE (gtk_filter_change_get_type ()) GTK_TYPE_FONT_CHOOSER_LEVEL #define GTK_TYPE_FONT_CHOOSER_LEVEL (gtk_font_chooser_level_get_type ()) GTK_TYPE_ICON_LOOKUP_FLAGS #define GTK_TYPE_ICON_LOOKUP_FLAGS (gtk_icon_lookup_flags_get_type ()) GTK_TYPE_ICON_THEME_ERROR #define GTK_TYPE_ICON_THEME_ERROR (gtk_icon_theme_error_get_type ()) GTK_TYPE_ICON_VIEW_DROP_POSITION #define GTK_TYPE_ICON_VIEW_DROP_POSITION (gtk_icon_view_drop_position_get_type ()) GTK_TYPE_IMAGE_TYPE #define GTK_TYPE_IMAGE_TYPE (gtk_image_type_get_type ()) GTK_TYPE_BUTTONS_TYPE #define GTK_TYPE_BUTTONS_TYPE (gtk_buttons_type_get_type ()) GTK_TYPE_NOTEBOOK_TAB #define GTK_TYPE_NOTEBOOK_TAB (gtk_notebook_tab_get_type ()) GTK_TYPE_PAD_ACTION_TYPE #define GTK_TYPE_PAD_ACTION_TYPE (gtk_pad_action_type_get_type ()) GTK_TYPE_POPOVER_MENU_FLAGS #define GTK_TYPE_POPOVER_MENU_FLAGS (gtk_popover_menu_flags_get_type ()) GTK_TYPE_PRINT_STATUS #define GTK_TYPE_PRINT_STATUS (gtk_print_status_get_type ()) GTK_TYPE_PRINT_OPERATION_RESULT #define GTK_TYPE_PRINT_OPERATION_RESULT (gtk_print_operation_result_get_type ()) GTK_TYPE_PRINT_OPERATION_ACTION #define GTK_TYPE_PRINT_OPERATION_ACTION (gtk_print_operation_action_get_type ()) GTK_TYPE_PRINT_ERROR #define GTK_TYPE_PRINT_ERROR (gtk_print_error_get_type ()) GTK_TYPE_RECENT_MANAGER_ERROR #define GTK_TYPE_RECENT_MANAGER_ERROR (gtk_recent_manager_error_get_type ()) GTK_TYPE_REVEALER_TRANSITION_TYPE #define GTK_TYPE_REVEALER_TRANSITION_TYPE (gtk_revealer_transition_type_get_type ()) GTK_TYPE_CORNER_TYPE #define GTK_TYPE_CORNER_TYPE (gtk_corner_type_get_type ()) GTK_TYPE_POLICY_TYPE #define GTK_TYPE_POLICY_TYPE (gtk_policy_type_get_type ()) GTK_TYPE_SHORTCUT_ACTION_FLAGS #define GTK_TYPE_SHORTCUT_ACTION_FLAGS (gtk_shortcut_action_flags_get_type ()) GTK_TYPE_SHORTCUT_TYPE #define GTK_TYPE_SHORTCUT_TYPE (gtk_shortcut_type_get_type ()) GTK_TYPE_SORTER_ORDER #define GTK_TYPE_SORTER_ORDER (gtk_sorter_order_get_type ()) GTK_TYPE_SORTER_CHANGE #define GTK_TYPE_SORTER_CHANGE (gtk_sorter_change_get_type ()) GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY #define GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY (gtk_spin_button_update_policy_get_type ()) GTK_TYPE_SPIN_TYPE #define GTK_TYPE_SPIN_TYPE (gtk_spin_type_get_type ()) GTK_TYPE_STACK_TRANSITION_TYPE #define GTK_TYPE_STACK_TRANSITION_TYPE (gtk_stack_transition_type_get_type ()) GTK_TYPE_STRING_FILTER_MATCH_MODE #define GTK_TYPE_STRING_FILTER_MATCH_MODE (gtk_string_filter_match_mode_get_type ()) GTK_TYPE_STYLE_CONTEXT_PRINT_FLAGS #define GTK_TYPE_STYLE_CONTEXT_PRINT_FLAGS (gtk_style_context_print_flags_get_type ()) GTK_TYPE_TEXT_BUFFER_TARGET_INFO #define GTK_TYPE_TEXT_BUFFER_TARGET_INFO (gtk_text_buffer_target_info_get_type ()) GTK_TYPE_TEXT_SEARCH_FLAGS #define GTK_TYPE_TEXT_SEARCH_FLAGS (gtk_text_search_flags_get_type ()) GTK_TYPE_TEXT_WINDOW_TYPE #define GTK_TYPE_TEXT_WINDOW_TYPE (gtk_text_window_type_get_type ()) GTK_TYPE_TEXT_VIEW_LAYER #define GTK_TYPE_TEXT_VIEW_LAYER (gtk_text_view_layer_get_type ()) GTK_TYPE_TEXT_EXTEND_SELECTION #define GTK_TYPE_TEXT_EXTEND_SELECTION (gtk_text_extend_selection_get_type ()) GTK_TYPE_TREE_MODEL_FLAGS #define GTK_TYPE_TREE_MODEL_FLAGS (gtk_tree_model_flags_get_type ()) GTK_TYPE_TREE_VIEW_DROP_POSITION #define GTK_TYPE_TREE_VIEW_DROP_POSITION (gtk_tree_view_drop_position_get_type ()) GTK_TYPE_TREE_VIEW_COLUMN_SIZING #define GTK_TYPE_TREE_VIEW_COLUMN_SIZING (gtk_tree_view_column_sizing_get_type ()) GTK_MAJOR_VERSION #define GTK_MAJOR_VERSION (3) GTK_MINOR_VERSION #define GTK_MINOR_VERSION (99) GTK_MICRO_VERSION #define GTK_MICRO_VERSION (0) GTK_BINARY_AGE #define GTK_BINARY_AGE (9900) GTK_INTERFACE_AGE #define GTK_INTERFACE_AGE (0) GTK_CHECK_VERSION #define GTK_CHECK_VERSION(major,minor,micro) \ (GTK_MAJOR_VERSION > (major) || \ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION > (minor)) || \ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION == (minor) && \ GTK_MICRO_VERSION >= (micro))) zwp_text_input_v3_interface extern const struct wl_interface zwp_text_input_v3_interface; zwp_text_input_manager_v3_interface extern const struct wl_interface zwp_text_input_manager_v3_interface; ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM #define ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM zwp_text_input_v3_change_cause enum zwp_text_input_v3_change_cause { /** * input method caused the change */ ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_INPUT_METHOD = 0, /** * something else than the input method caused the change */ ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_OTHER = 1, }; ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM #define ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM zwp_text_input_v3_content_hint enum zwp_text_input_v3_content_hint { /** * no special behavior */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE = 0x0, /** * suggest word completions */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION = 0x1, /** * suggest word corrections */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK = 0x2, /** * switch to uppercase letters at the start of a sentence */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_AUTO_CAPITALIZATION = 0x4, /** * prefer lowercase letters */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_LOWERCASE = 0x8, /** * prefer uppercase letters */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_UPPERCASE = 0x10, /** * prefer casing for titles and headings (can be language dependent) */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_TITLECASE = 0x20, /** * characters should be hidden */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_HIDDEN_TEXT = 0x40, /** * typed text should not be stored */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_SENSITIVE_DATA = 0x80, /** * just Latin characters should be entered */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_LATIN = 0x100, /** * the text input is multiline */ ZWP_TEXT_INPUT_V3_CONTENT_HINT_MULTILINE = 0x200, }; ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM #define ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM zwp_text_input_v3_content_purpose enum zwp_text_input_v3_content_purpose { /** * default input, allowing all characters */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL = 0, /** * allow only alphabetic characters */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ALPHA = 1, /** * allow only digits */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DIGITS = 2, /** * input a number (including decimal separator and sign) */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NUMBER = 3, /** * input a phone number */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PHONE = 4, /** * input an URL */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_URL = 5, /** * input an email address */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_EMAIL = 6, /** * input a name of a person */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NAME = 7, /** * input a password (combine with sensitive_data hint) */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PASSWORD = 8, /** * input is a numeric password (combine with sensitive_data hint) */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PIN = 9, /** * input a date */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATE = 10, /** * input a time */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TIME = 11, /** * input a date and time */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATETIME = 12, /** * input for a terminal */ ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL = 13, }; zwp_text_input_v3_listener struct zwp_text_input_v3_listener { /** * enter event * * Notification that this seat's text-input focus is on a certain * surface. * * When the seat has the keyboard capability the text-input focus * follows the keyboard focus. This event sets the current surface * for the text-input object. */ void (*enter)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, struct wl_surface *surface); /** * leave event * * Notification that this seat's text-input focus is no longer on * a certain surface. The client should reset any preedit string * previously set. * * The leave notification clears the current surface. It is sent * before the enter notification for the new focus. * * When the seat has the keyboard capability the text-input focus * follows the keyboard focus. */ void (*leave)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, struct wl_surface *surface); /** * pre-edit * * Notify when a new composing text (pre-edit) should be set at * the current cursor position. Any previously set composing text * must be removed. Any previously existing selected text must be * removed. * * The argument text contains the pre-edit string buffer. * * The parameters cursor_begin and cursor_end are counted in bytes * relative to the beginning of the submitted text buffer. Cursor * should be hidden when both are equal to -1. * * They could be represented by the client as a line if both values * are the same, or as a text highlight otherwise. * * Values set with this event are double-buffered. They must be * applied and reset to initial on the next zwp_text_input_v3.done * event. * * The initial value of text is an empty string, and cursor_begin, * cursor_end and cursor_hidden are all 0. */ void (*preedit_string)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, const char *text, int32_t cursor_begin, int32_t cursor_end); /** * text commit * * Notify when text should be inserted into the editor widget. * The text to commit could be either just a single character after * a key press or the result of some composing (pre-edit). * * Values set with this event are double-buffered. They must be * applied and reset to initial on the next zwp_text_input_v3.done * event. * * The initial value of text is an empty string. */ void (*commit_string)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, const char *text); /** * delete surrounding text * * Notify when the text around the current cursor position should * be deleted. * * Before_length and after_length are the number of bytes before * and after the current cursor index (excluding the selection) to * delete. * * If a preedit text is present, in effect before_length is counted * from the beginning of it, and after_length from its end (see * done event sequence). * * Values set with this event are double-buffered. They must be * applied and reset to initial on the next zwp_text_input_v3.done * event. * * The initial values of both before_length and after_length are 0. * @param before_length length of text before current cursor position * @param after_length length of text after current cursor position */ void (*delete_surrounding_text)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t before_length, uint32_t after_length); /** * apply changes * * Instruct the application to apply changes to state requested * by the preedit_string, commit_string and delete_surrounding_text * events. The state relating to these events is double-buffered, * and each one modifies the pending state. This event replaces the * current state with the pending state. * * The application must proceed by evaluating the changes in the * following order: * * 1. Replace existing preedit string with the cursor. 2. Delete * requested surrounding text. 3. Insert commit string with the * cursor at its end. 4. Calculate surrounding text to send. 5. * Insert new preedit text in cursor position. 6. Place cursor * inside preedit text. * * The serial number reflects the last state of the * zwp_text_input_v3 object known to the compositor. The value of * the serial argument must be equal to the number of commit * requests already issued on that object. When the client receives * a done event with a serial different than the number of past * commit requests, it must proceed as normal, except it should not * change the current state of the zwp_text_input_v3 object. */ void (*done)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t serial); }; zwp_text_input_v3_add_listener int struct zwp_text_input_v3 *zwp_text_input_v3, const struct zwp_text_input_v3_listener *listener, void *data ZWP_TEXT_INPUT_V3_DESTROY #define ZWP_TEXT_INPUT_V3_DESTROY 0 ZWP_TEXT_INPUT_V3_ENABLE #define ZWP_TEXT_INPUT_V3_ENABLE 1 ZWP_TEXT_INPUT_V3_DISABLE #define ZWP_TEXT_INPUT_V3_DISABLE 2 ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT #define ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT 3 ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE #define ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE 4 ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE #define ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE 5 ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE #define ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE 6 ZWP_TEXT_INPUT_V3_COMMIT #define ZWP_TEXT_INPUT_V3_COMMIT 7 ZWP_TEXT_INPUT_V3_ENTER_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_ENTER_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_LEAVE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_LEAVE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_PREEDIT_STRING_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_PREEDIT_STRING_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_COMMIT_STRING_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_COMMIT_STRING_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_DELETE_SURROUNDING_TEXT_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_DELETE_SURROUNDING_TEXT_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_DONE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_DONE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_DESTROY_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_DESTROY_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_ENABLE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_ENABLE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_DISABLE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_DISABLE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE_SINCE_VERSION 1 ZWP_TEXT_INPUT_V3_COMMIT_SINCE_VERSION #define ZWP_TEXT_INPUT_V3_COMMIT_SINCE_VERSION 1 zwp_text_input_v3_set_user_data void struct zwp_text_input_v3 *zwp_text_input_v3, void *user_data zwp_text_input_v3_get_user_data void * struct zwp_text_input_v3 *zwp_text_input_v3 zwp_text_input_v3_get_version uint32_t struct zwp_text_input_v3 *zwp_text_input_v3 zwp_text_input_v3_destroy void struct zwp_text_input_v3 *zwp_text_input_v3 zwp_text_input_v3_enable void struct zwp_text_input_v3 *zwp_text_input_v3 zwp_text_input_v3_disable void struct zwp_text_input_v3 *zwp_text_input_v3 zwp_text_input_v3_set_surrounding_text void struct zwp_text_input_v3 *zwp_text_input_v3, const char *text, int32_t cursor, int32_t anchor zwp_text_input_v3_set_text_change_cause void struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t cause zwp_text_input_v3_set_content_type void struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t hint, uint32_t purpose zwp_text_input_v3_set_cursor_rectangle void struct zwp_text_input_v3 *zwp_text_input_v3, int32_t x, int32_t y, int32_t width, int32_t height zwp_text_input_v3_commit void struct zwp_text_input_v3 *zwp_text_input_v3 ZWP_TEXT_INPUT_MANAGER_V3_DESTROY #define ZWP_TEXT_INPUT_MANAGER_V3_DESTROY 0 ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT #define ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT 1 ZWP_TEXT_INPUT_MANAGER_V3_DESTROY_SINCE_VERSION #define ZWP_TEXT_INPUT_MANAGER_V3_DESTROY_SINCE_VERSION 1 ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT_SINCE_VERSION #define ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT_SINCE_VERSION 1 zwp_text_input_manager_v3_set_user_data void struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3, void *user_data zwp_text_input_manager_v3_get_user_data void * struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3 zwp_text_input_manager_v3_get_version uint32_t struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3 zwp_text_input_manager_v3_destroy void struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3 zwp_text_input_manager_v3_get_text_input struct zwp_text_input_v3 * struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3, struct wl_seat *seat wl_seat struct wl_seat; wl_surface struct wl_surface; zwp_text_input_manager_v3 struct zwp_text_input_manager_v3; zwp_text_input_v3 struct zwp_text_input_v3; GTK_TYPE_CSS_PARSER_ERROR #define GTK_TYPE_CSS_PARSER_ERROR (gtk_css_parser_error_get_type ()) GTK_TYPE_CSS_PARSER_WARNING #define GTK_TYPE_CSS_PARSER_WARNING (gtk_css_parser_warning_get_type ()) docs/reference/gtk/gtk4.signals0000664000175000017500000013615013710700306016617 0ustar mclasenmclasen GtkAboutDialog::activate-link gboolean l GtkAboutDialog *aboutdialog gchar *arg1 GtkAdjustment::changed void fr GtkAdjustment *adjustment GtkAdjustment::value-changed void fr GtkAdjustment *adjustment GtkAppChooserButton::changed void l GtkAppChooserButton *appchooserbutton GtkAppChooserButton::custom-item-activated void fd GtkAppChooserButton *appchooserbutton gchar *arg1 GtkAppChooserWidget::application-activated void f GtkAppChooserWidget *appchooserwidget GAppInfo *arg1 GtkAppChooserWidget::application-selected void f GtkAppChooserWidget *appchooserwidget GAppInfo *arg1 GtkApplication::query-end void f GtkApplication *application GtkApplication::window-added void f GtkApplication *application GtkWindow *arg1 GtkApplication::window-removed void f GtkApplication *application GtkWindow *arg1 GtkAssistant::apply void l GtkAssistant *assistant GtkAssistant::cancel void l GtkAssistant *assistant GtkAssistant::close void l GtkAssistant *assistant GtkAssistant::escape void fa GtkAssistant *assistant GtkAssistant::prepare void l GtkAssistant *assistant GtkWidget *widget GtkATContext::state-change void f GtkATContext *atcontext guint arg1 guint arg2 guint arg3 gpointer arg4 gpointer arg5 gpointer arg6 GtkButton::activate void fa GtkButton *button GtkButton::clicked void fa GtkButton *button GtkCalendar::day-selected void f GtkCalendar *calendar GtkCalendar::next-month void f GtkCalendar *calendar GtkCalendar::next-year void f GtkCalendar *calendar GtkCalendar::prev-month void f GtkCalendar *calendar GtkCalendar::prev-year void f GtkCalendar *calendar GtkCellArea::add-editable void f GtkCellArea *cellarea GtkCellRenderer *arg1 GtkCellEditable *arg2 GdkRectangle *arg3 gchar *arg4 GtkCellArea::apply-attributes void f GtkCellArea *cellarea GtkTreeModel *arg1 GtkTreeIter *arg2 gboolean arg3 gboolean arg4 GtkCellArea::focus-changed void f GtkCellArea *cellarea GtkCellRenderer *arg1 gchar *arg2 GtkCellArea::remove-editable void f GtkCellArea *cellarea GtkCellRenderer *arg1 GtkCellEditable *arg2 GtkCellEditable::editing-done void l GtkCellEditable *celleditable GtkCellEditable::remove-widget void l GtkCellEditable *celleditable GtkCellRendererAccel::accel-cleared void l GtkCellRendererAccel *cellrendereraccel gchar *arg1 GtkCellRendererAccel::accel-edited void l GtkCellRendererAccel *cellrendereraccel gchar *arg1 guint arg2 GdkModifierType arg3 guint arg4 GtkCellRendererCombo::changed void l GtkCellRendererCombo *cellrenderercombo gchar *arg1 GtkTreeIter *arg2 GtkCellRenderer::editing-canceled void f GtkCellRenderer *cellrenderer GtkCellRenderer::editing-started void f GtkCellRenderer *cellrenderer GtkCellEditable *arg1 gchar *arg2 GtkCellRendererText::edited void l GtkCellRendererText *cellrenderertext gchar *arg1 gchar *arg2 GtkCellRendererToggle::toggled void l GtkCellRendererToggle *cellrenderertoggle gchar *arg1 GtkColorButton::color-set void f GtkColorButton *colorbutton GtkColorChooser::color-activated void f GtkColorChooser *colorchooser GdkRGBA *arg1 GtkColumnView::activate void l GtkColumnView *columnview guint arg1 GtkComboBox::changed void l GtkComboBox *combobox GtkComboBox::format-entry-text gchar* l GtkComboBox *combobox gchar *arg1 GtkComboBox::move-active void la GtkComboBox *combobox GtkScrollType arg1 GtkComboBox::popdown gboolean la GtkComboBox *combobox GtkComboBox::popup void la GtkComboBox *combobox GtkCssProvider::parsing-error void l GtkCssProvider *cssprovider GtkCssSection *arg1 GError *arg2 GtkDialog::close void la GtkDialog *dialog GtkDialog::response void l GtkDialog *dialog gint arg1 GtkDragSource::drag-begin void l GtkDragSource *dragsource GdkDrag *arg1 GtkDragSource::drag-cancel gboolean l GtkDragSource *dragsource GdkDrag *arg1 GdkDragCancelReason arg2 GtkDragSource::drag-end void l GtkDragSource *dragsource GdkDrag *arg1 gboolean arg2 GtkDragSource::prepare GdkContentProvider* l GtkDragSource *dragsource gdouble arg1 gdouble arg2 GtkDrawingArea::resize void l GtkDrawingArea *drawingarea gint arg1 gint arg2 GtkDropTarget::accept gboolean l GtkDropTarget *droptarget GdkDrop *arg1 GtkDropTarget::drop gboolean l GtkDropTarget *droptarget GValue *arg1 gdouble arg2 gdouble arg3 GtkDropTarget::enter GdkDragAction l GtkDropTarget *droptarget gdouble arg1 gdouble arg2 GtkDropTarget::leave void l GtkDropTarget *droptarget GtkDropTarget::motion GdkDragAction l GtkDropTarget *droptarget gdouble arg1 gdouble arg2 GtkDropTargetAsync::accept gboolean l GtkDropTargetAsync *droptargetasync GdkDrop *arg1 GtkDropTargetAsync::drag-enter GdkDragAction l GtkDropTargetAsync *droptargetasync GdkDrop *arg1 gdouble arg2 gdouble arg3 GtkDropTargetAsync::drag-leave void l GtkDropTargetAsync *droptargetasync GdkDrop *arg1 GtkDropTargetAsync::drag-motion GdkDragAction l GtkDropTargetAsync *droptargetasync GdkDrop *arg1 gdouble arg2 gdouble arg3 GtkDropTargetAsync::drop gboolean l GtkDropTargetAsync *droptargetasync GdkDrop *arg1 gdouble arg2 gdouble arg3 GtkEditable::changed void l GtkEditable *editable GtkEditable::delete-text void l GtkEditable *editable gint arg1 gint arg2 GtkEditable::insert-text void l GtkEditable *editable gchar *arg1 gint arg2 gpointer arg3 GtkEmojiChooser::emoji-picked void l GtkEmojiChooser *emojichooser gchar *arg1 GtkEntryBuffer::deleted-text void l GtkEntryBuffer *entrybuffer guint arg1 guint arg2 GtkEntryBuffer::inserted-text void f GtkEntryBuffer *entrybuffer guint arg1 gchar *arg2 guint arg3 GtkEntryCompletion::cursor-on-match gboolean l GtkEntryCompletion *entrycompletion GtkTreeModel *arg1 GtkTreeIter *arg2 GtkEntryCompletion::insert-prefix gboolean l GtkEntryCompletion *entrycompletion gchar *arg1 GtkEntryCompletion::match-selected gboolean l GtkEntryCompletion *entrycompletion GtkTreeModel *arg1 GtkTreeIter *arg2 GtkEntryCompletion::no-matches void l GtkEntryCompletion *entrycompletion GtkEntry::activate void la GtkEntry *entry GtkEntry::icon-press void l GtkEntry *entry GtkEntryIconPosition arg1 GtkEntry::icon-release void l GtkEntry *entry GtkEntryIconPosition arg1 GtkEventControllerKey::im-update void l GtkEventControllerKey *eventcontrollerkey GtkEventControllerKey::key-pressed gboolean l GtkEventControllerKey *eventcontrollerkey guint arg1 guint arg2 GdkModifierType arg3 GtkEventControllerKey::key-released void l GtkEventControllerKey *eventcontrollerkey guint arg1 guint arg2 GdkModifierType arg3 GtkEventControllerKey::modifiers gboolean l GtkEventControllerKey *eventcontrollerkey GdkModifierType arg1 GtkEventControllerFocus::enter void l GtkEventControllerFocus *eventcontrollerfocus GtkEventControllerFocus::leave void l GtkEventControllerFocus *eventcontrollerfocus GtkEventControllerLegacy::event gboolean l GtkEventControllerLegacy *eventcontrollerlegacy GdkEvent *arg1 GtkEventControllerMotion::enter void l GtkEventControllerMotion *eventcontrollermotion gdouble arg1 gdouble arg2 GtkEventControllerMotion::leave void l GtkEventControllerMotion *eventcontrollermotion GtkEventControllerMotion::motion void f GtkEventControllerMotion *eventcontrollermotion gdouble arg1 gdouble arg2 GtkEventControllerScroll::decelerate void f GtkEventControllerScroll *eventcontrollerscroll gdouble arg1 gdouble arg2 GtkEventControllerScroll::scroll gboolean l GtkEventControllerScroll *eventcontrollerscroll gdouble arg1 gdouble arg2 GtkEventControllerScroll::scroll-begin void f GtkEventControllerScroll *eventcontrollerscroll GtkEventControllerScroll::scroll-end void f GtkEventControllerScroll *eventcontrollerscroll GtkExpander::activate void la GtkExpander *expander GtkFileChooserButton::file-set void f GtkFileChooserButton *filechooserbutton GtkFileChooserWidget::desktop-folder void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::down-folder void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::home-folder void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::location-popup void fa GtkFileChooserWidget *filechooserwidget gchar *arg1 GtkFileChooserWidget::location-popup-on-paste void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::location-toggle-popup void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::places-shortcut void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::quick-bookmark void fa GtkFileChooserWidget *filechooserwidget gint arg1 GtkFileChooserWidget::recent-shortcut void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::search-shortcut void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::show-hidden void fa GtkFileChooserWidget *filechooserwidget GtkFileChooserWidget::up-folder void fa GtkFileChooserWidget *filechooserwidget GtkFilter::changed void l GtkFilter *filter GtkFilterChange arg1 GtkFlowBox::activate-cursor-child void la GtkFlowBox *flowbox GtkFlowBox::child-activated void l GtkFlowBox *flowbox GtkFlowBoxChild *arg1 GtkFlowBox::move-cursor gboolean la GtkFlowBox *flowbox GtkMovementStep arg1 gint arg2 gboolean arg3 gboolean arg4 GtkFlowBox::select-all void la GtkFlowBox *flowbox GtkFlowBox::selected-children-changed void f GtkFlowBox *flowbox GtkFlowBox::toggle-cursor-child void la GtkFlowBox *flowbox GtkFlowBox::unselect-all void la GtkFlowBox *flowbox GtkFlowBoxChild::activate void fa GtkFlowBoxChild *flowboxchild GtkFontButton::font-set void f GtkFontButton *fontbutton GtkFontChooser::font-activated void f GtkFontChooser *fontchooser gchar *arg1 GtkGesture::begin void l GtkGesture *gesture GdkEventSequence *arg1 GtkGesture::cancel void l GtkGesture *gesture GdkEventSequence *arg1 GtkGesture::end void l GtkGesture *gesture GdkEventSequence *arg1 GtkGesture::sequence-state-changed void l GtkGesture *gesture GdkEventSequence *arg1 GtkEventSequenceState arg2 GtkGesture::update void l GtkGesture *gesture GdkEventSequence *arg1 GtkGestureClick::pressed void l GtkGestureClick *gestureclick gint arg1 gdouble arg2 gdouble arg3 GtkGestureClick::released void l GtkGestureClick *gestureclick gint arg1 gdouble arg2 gdouble arg3 GtkGestureClick::stopped void l GtkGestureClick *gestureclick GtkGestureClick::unpaired-release void l GtkGestureClick *gestureclick gdouble arg1 gdouble arg2 guint arg3 GdkEventSequence *arg4 GtkGestureDrag::drag-begin void l GtkGestureDrag *gesturedrag gdouble arg1 gdouble arg2 GtkGestureDrag::drag-end void l GtkGestureDrag *gesturedrag gdouble arg1 gdouble arg2 GtkGestureDrag::drag-update void l GtkGestureDrag *gesturedrag gdouble arg1 gdouble arg2 GtkGestureLongPress::cancelled void l GtkGestureLongPress *gesturelongpress GtkGestureLongPress::pressed void l GtkGestureLongPress *gesturelongpress gdouble arg1 gdouble arg2 GtkGesturePan::pan void l GtkGesturePan *gesturepan GtkPanDirection arg1 gdouble arg2 GtkGestureRotate::angle-changed void f GtkGestureRotate *gesturerotate gdouble arg1 gdouble arg2 GtkGestureStylus::down void l GtkGestureStylus *gesturestylus gdouble arg1 gdouble arg2 GtkGestureStylus::motion void l GtkGestureStylus *gesturestylus gdouble arg1 gdouble arg2 GtkGestureStylus::proximity void l GtkGestureStylus *gesturestylus gdouble arg1 gdouble arg2 GtkGestureStylus::up void l GtkGestureStylus *gesturestylus gdouble arg1 gdouble arg2 GtkGestureSwipe::swipe void l GtkGestureSwipe *gestureswipe gdouble arg1 gdouble arg2 GtkGestureZoom::scale-changed void f GtkGestureZoom *gesturezoom gdouble arg1 GtkGLArea::create-context GdkGLContext* l GtkGLArea *glarea GtkGLArea::render gboolean l GtkGLArea *glarea GdkGLContext *arg1 GtkGLArea::resize void l GtkGLArea *glarea gint arg1 gint arg2 GtkGridView::activate void l GtkGridView *gridview guint arg1 GtkIconTheme::changed void l GtkIconTheme *icontheme GtkIconView::activate-cursor-item gboolean la GtkIconView *iconview GtkIconView::item-activated void l GtkIconView *iconview GtkTreePath *arg1 GtkIconView::move-cursor gboolean la GtkIconView *iconview GtkMovementStep arg1 gint arg2 gboolean arg3 gboolean arg4 GtkIconView::select-all void la GtkIconView *iconview GtkIconView::select-cursor-item void la GtkIconView *iconview GtkIconView::selection-changed void f GtkIconView *iconview GtkIconView::toggle-cursor-item void la GtkIconView *iconview GtkIconView::unselect-all void la GtkIconView *iconview GtkIMContext::commit void l GtkIMContext *imcontext gchar *arg1 GtkIMContext::delete-surrounding gboolean l GtkIMContext *imcontext gint arg1 gint arg2 GtkIMContext::preedit-changed void l GtkIMContext *imcontext GtkIMContext::preedit-end void l GtkIMContext *imcontext GtkIMContext::preedit-start void l GtkIMContext *imcontext GtkIMContext::retrieve-surrounding gboolean l GtkIMContext *imcontext GtkInfoBar::close void la GtkInfoBar *infobar GtkInfoBar::response void l GtkInfoBar *infobar gint arg1 GtkLabel::activate-current-link void la GtkLabel *label GtkLabel::activate-link gboolean l GtkLabel *label gchar *arg1 GtkLabel::copy-clipboard void la GtkLabel *label GtkLabel::move-cursor void la GtkLabel *label GtkMovementStep arg1 gint arg2 gboolean arg3 GtkLinkButton::activate-link gboolean l GtkLinkButton *linkbutton GtkListBox::activate-cursor-row void la GtkListBox *listbox GtkListBox::move-cursor void la GtkListBox *listbox GtkMovementStep arg1 gint arg2 gboolean arg3 gboolean arg4 GtkListBox::row-activated void l GtkListBox *listbox GtkListBoxRow *arg1 GtkListBox::row-selected void l GtkListBox *listbox GtkListBoxRow *arg1 GtkListBox::select-all void la GtkListBox *listbox GtkListBox::selected-rows-changed void f GtkListBox *listbox GtkListBox::toggle-cursor-row void la GtkListBox *listbox GtkListBox::unselect-all void la GtkListBox *listbox GtkListBoxRow::activate void fa GtkListBoxRow *listboxrow GtkListView::activate void l GtkListView *listview guint arg1 GtkNativeDialog::response void l GtkNativeDialog *nativedialog gint arg1 GtkNotebook::change-current-page gboolean la GtkNotebook *notebook gint arg1 GtkNotebook::create-window GtkNotebook* l GtkNotebook *notebook GtkWidget *widget GtkNotebook::focus-tab gboolean la GtkNotebook *notebook GtkNotebookTab arg1 GtkNotebook::move-focus-out void la GtkNotebook *notebook GtkDirectionType arg1 GtkNotebook::page-added void l GtkNotebook *notebook GtkWidget *widget guint arg1 GtkNotebook::page-removed void l GtkNotebook *notebook GtkWidget *widget guint arg1 GtkNotebook::page-reordered void l GtkNotebook *notebook GtkWidget *widget guint arg1 GtkNotebook::reorder-tab gboolean la GtkNotebook *notebook GtkDirectionType arg1 gboolean arg2 GtkNotebook::select-page gboolean la GtkNotebook *notebook gboolean arg1 GtkNotebook::switch-page void l GtkNotebook *notebook GtkWidget *widget guint arg1 GtkOverlay::get-child-position gboolean l GtkOverlay *overlay GtkWidget *widget GdkRectangle *arg1 GtkPaned::accept-position gboolean la GtkPaned *paned GtkPaned::cancel-position gboolean la GtkPaned *paned GtkPaned::cycle-child-focus gboolean la GtkPaned *paned gboolean arg1 GtkPaned::cycle-handle-focus gboolean la GtkPaned *paned gboolean arg1 GtkPaned::move-handle gboolean la GtkPaned *paned GtkScrollType arg1 GtkPaned::toggle-handle-focus gboolean la GtkPaned *paned GtkPopover::activate-default void la GtkPopover *popover GtkPopover::closed void l GtkPopover *popover GtkPrinter::details-acquired void l GtkPrinter *printer gboolean arg1 GtkPrintJob::status-changed void l GtkPrintJob *printjob GtkPrintOperation::begin-print void l GtkPrintOperation *printoperation GtkPrintContext *arg1 GtkPrintOperation::create-custom-widget GObject* l GtkPrintOperation *printoperation GtkPrintOperation::custom-widget-apply void l GtkPrintOperation *printoperation GtkWidget *widget GtkPrintOperation::done void l GtkPrintOperation *printoperation GtkPrintOperationResult arg1 GtkPrintOperation::draw-page void l GtkPrintOperation *printoperation GtkPrintContext *arg1 gint arg2 GtkPrintOperation::end-print void l GtkPrintOperation *printoperation GtkPrintContext *arg1 GtkPrintOperation::paginate gboolean l GtkPrintOperation *printoperation GtkPrintContext *arg1 GtkPrintOperation::preview gboolean l GtkPrintOperation *printoperation GtkPrintOperationPreview *arg1 GtkPrintContext *arg2 GtkWindow *arg3 GtkPrintOperation::request-page-setup void l GtkPrintOperation *printoperation GtkPrintContext *arg1 gint arg2 GtkPageSetup *arg3 GtkPrintOperation::status-changed void l GtkPrintOperation *printoperation GtkPrintOperation::update-custom-widget void l GtkPrintOperation *printoperation GtkWidget *widget GtkPageSetup *arg1 GtkPrintSettings *arg2 GtkPrintOperationPreview::got-page-size void l GtkPrintOperationPreview *printoperationpreview GtkPrintContext *arg1 GtkPageSetup *arg2 GtkPrintOperationPreview::ready void l GtkPrintOperationPreview *printoperationpreview GtkPrintContext *arg1 GtkRadioButton::group-changed void f GtkRadioButton *radiobutton GtkRange::adjust-bounds void l GtkRange *range gdouble arg1 GtkRange::change-value gboolean l GtkRange *range GtkScrollType arg1 gdouble arg2 GtkRange::move-slider void la GtkRange *range GtkScrollType arg1 GtkRange::value-changed void l GtkRange *range GtkRecentManager::changed void f GtkRecentManager *recentmanager GtkScaleButton::popdown void la GtkScaleButton *scalebutton GtkScaleButton::popup void la GtkScaleButton *scalebutton GtkScaleButton::value-changed void l GtkScaleButton *scalebutton gdouble arg1 GtkScrolledWindow::edge-overshot void l GtkScrolledWindow *scrolledwindow GtkPositionType arg1 GtkScrolledWindow::edge-reached void l GtkScrolledWindow *scrolledwindow GtkPositionType arg1 GtkScrolledWindow::move-focus-out void la GtkScrolledWindow *scrolledwindow GtkDirectionType arg1 GtkScrolledWindow::scroll-child gboolean la GtkScrolledWindow *scrolledwindow GtkScrollType arg1 gboolean arg2 GtkSearchEntry::activate void la GtkSearchEntry *searchentry GtkSearchEntry::next-match void la GtkSearchEntry *searchentry GtkSearchEntry::previous-match void la GtkSearchEntry *searchentry GtkSearchEntry::search-changed void l GtkSearchEntry *searchentry GtkSearchEntry::search-started void l GtkSearchEntry *searchentry GtkSearchEntry::stop-search void la GtkSearchEntry *searchentry GtkSelectionModel::selection-changed void l GtkSelectionModel *selectionmodel guint arg1 guint arg2 GtkShortcutsWindow::close void la GtkShortcutsWindow *shortcutswindow GtkShortcutsWindow::search void la GtkShortcutsWindow *shortcutswindow GtkShortcutsSection::change-current-page gboolean la GtkShortcutsSection *shortcutssection gint arg1 GtkSignalListItemFactory::bind void f GtkSignalListItemFactory *signallistitemfactory GtkListItem *arg1 GtkSignalListItemFactory::setup void f GtkSignalListItemFactory *signallistitemfactory GtkListItem *arg1 GtkSignalListItemFactory::teardown void f GtkSignalListItemFactory *signallistitemfactory GtkListItem *arg1 GtkSignalListItemFactory::unbind void f GtkSignalListItemFactory *signallistitemfactory GtkListItem *arg1 GtkSorter::changed void l GtkSorter *sorter GtkSorterChange arg1 GtkSpinButton::change-value void la GtkSpinButton *spinbutton GtkScrollType arg1 GtkSpinButton::input gint l GtkSpinButton *spinbutton gpointer arg1 GtkSpinButton::output gboolean l GtkSpinButton *spinbutton GtkSpinButton::value-changed void l GtkSpinButton *spinbutton GtkSpinButton::wrapped void l GtkSpinButton *spinbutton GtkStatusbar::text-popped void l GtkStatusbar *statusbar guint arg1 gchar *arg2 GtkStatusbar::text-pushed void l GtkStatusbar *statusbar guint arg1 gchar *arg2 GtkSwitch::activate void fa GtkSwitch *switch GtkSwitch::state-set gboolean l GtkSwitch *switch gboolean arg1 GtkLevelBar::offset-changed void fd GtkLevelBar *levelbar gchar *arg1 GtkStyleProvider::gtk-private-changed void l GtkStyleProvider *styleprovider GtkTextBuffer::apply-tag void l GtkTextBuffer *textbuffer GtkTextTag *arg1 GtkTextIter *arg2 GtkTextIter *arg3 GtkTextBuffer::begin-user-action void l GtkTextBuffer *textbuffer GtkTextBuffer::changed void l GtkTextBuffer *textbuffer GtkTextBuffer::delete-range void l GtkTextBuffer *textbuffer GtkTextIter *arg1 GtkTextIter *arg2 GtkTextBuffer::end-user-action void l GtkTextBuffer *textbuffer GtkTextBuffer::insert-child-anchor void l GtkTextBuffer *textbuffer GtkTextIter *arg1 GtkTextChildAnchor *arg2 GtkTextBuffer::insert-paintable void l GtkTextBuffer *textbuffer GtkTextIter *arg1 GdkPaintable *arg2 GtkTextBuffer::insert-text void l GtkTextBuffer *textbuffer GtkTextIter *arg1 gchar *arg2 gint arg3 GtkTextBuffer::mark-deleted void l GtkTextBuffer *textbuffer GtkTextMark *arg1 GtkTextBuffer::mark-set void l GtkTextBuffer *textbuffer GtkTextIter *arg1 GtkTextMark *arg2 GtkTextBuffer::modified-changed void l GtkTextBuffer *textbuffer GtkTextBuffer::paste-done void l GtkTextBuffer *textbuffer GdkClipboard *arg1 GtkTextBuffer::redo void l GtkTextBuffer *textbuffer GtkTextBuffer::remove-tag void l GtkTextBuffer *textbuffer GtkTextTag *arg1 GtkTextIter *arg2 GtkTextIter *arg3 GtkTextBuffer::undo void l GtkTextBuffer *textbuffer GtkText::activate void la GtkText *text GtkText::backspace void la GtkText *text GtkText::copy-clipboard void la GtkText *text GtkText::cut-clipboard void la GtkText *text GtkText::delete-from-cursor void la GtkText *text GtkDeleteType arg1 gint arg2 GtkText::insert-at-cursor void la GtkText *text gchar *arg1 GtkText::insert-emoji void la GtkText *text GtkText::move-cursor void la GtkText *text GtkMovementStep arg1 gint arg2 gboolean arg3 GtkText::paste-clipboard void la GtkText *text GtkText::preedit-changed void la GtkText *text gchar *arg1 GtkText::toggle-overwrite void la GtkText *text GtkTextTagTable::tag-added void l GtkTextTagTable *texttagtable GtkTextTag *arg1 GtkTextTagTable::tag-changed void l GtkTextTagTable *texttagtable GtkTextTag *arg1 gboolean arg2 GtkTextTagTable::tag-removed void l GtkTextTagTable *texttagtable GtkTextTag *arg1 GtkTextView::backspace void la GtkTextView *textview GtkTextView::copy-clipboard void la GtkTextView *textview GtkTextView::cut-clipboard void la GtkTextView *textview GtkTextView::delete-from-cursor void la GtkTextView *textview GtkDeleteType arg1 gint arg2 GtkTextView::extend-selection gboolean l GtkTextView *textview GtkTextExtendSelection arg1 GtkTextIter *arg2 GtkTextIter *arg3 GtkTextIter *arg4 GtkTextView::insert-at-cursor void la GtkTextView *textview gchar *arg1 GtkTextView::insert-emoji void la GtkTextView *textview GtkTextView::move-cursor void la GtkTextView *textview GtkMovementStep arg1 gint arg2 gboolean arg3 GtkTextView::move-viewport void la GtkTextView *textview GtkScrollStep arg1 gint arg2 GtkTextView::paste-clipboard void la GtkTextView *textview GtkTextView::preedit-changed void la GtkTextView *textview gchar *arg1 GtkTextView::select-all void la GtkTextView *textview gboolean arg1 GtkTextView::set-anchor void la GtkTextView *textview GtkTextView::toggle-cursor-visible void la GtkTextView *textview GtkTextView::toggle-overwrite void la GtkTextView *textview GtkToggleButton::toggled void f GtkToggleButton *togglebutton GtkTreeModel::row-changed void l GtkTreeModel *treemodel GtkTreePath *arg1 GtkTreeIter *arg2 GtkTreeModel::row-deleted void f GtkTreeModel *treemodel GtkTreePath *arg1 GtkTreeModel::row-has-child-toggled void l GtkTreeModel *treemodel GtkTreePath *arg1 GtkTreeIter *arg2 GtkTreeModel::row-inserted void f GtkTreeModel *treemodel GtkTreePath *arg1 GtkTreeIter *arg2 GtkTreeModel::rows-reordered void f GtkTreeModel *treemodel GtkTreePath *arg1 GtkTreeIter *arg2 gpointer arg3 GtkTreeSelection::changed void f GtkTreeSelection *treeselection GtkTreeSortable::sort-column-changed void l GtkTreeSortable *treesortable GtkTreeViewColumn::clicked void l GtkTreeViewColumn *treeviewcolumn GtkTreeView::columns-changed void l GtkTreeView *treeview GtkTreeView::cursor-changed void l GtkTreeView *treeview GtkTreeView::expand-collapse-cursor-row gboolean la GtkTreeView *treeview gboolean arg1 gboolean arg2 gboolean arg3 GtkTreeView::move-cursor gboolean la GtkTreeView *treeview GtkMovementStep arg1 gint arg2 gboolean arg3 gboolean arg4 GtkTreeView::row-activated void la GtkTreeView *treeview GtkTreePath *arg1 GtkTreeViewColumn *arg2 GtkTreeView::row-collapsed void l GtkTreeView *treeview GtkTreeIter *arg1 GtkTreePath *arg2 GtkTreeView::row-expanded void l GtkTreeView *treeview GtkTreeIter *arg1 GtkTreePath *arg2 GtkTreeView::select-all gboolean la GtkTreeView *treeview GtkTreeView::select-cursor-parent gboolean la GtkTreeView *treeview GtkTreeView::select-cursor-row gboolean la GtkTreeView *treeview gboolean arg1 GtkTreeView::start-interactive-search gboolean la GtkTreeView *treeview GtkTreeView::test-collapse-row gboolean l GtkTreeView *treeview GtkTreeIter *arg1 GtkTreePath *arg2 GtkTreeView::test-expand-row gboolean l GtkTreeView *treeview GtkTreeIter *arg1 GtkTreePath *arg2 GtkTreeView::toggle-cursor-row gboolean la GtkTreeView *treeview GtkTreeView::unselect-all gboolean la GtkTreeView *treeview GtkWidget::destroy void crh GtkWidget *widget GtkWidget::direction-changed void f GtkWidget *widget GtkTextDirection arg1 GtkWidget::hide void f GtkWidget *widget GtkWidget::keynav-failed gboolean l GtkWidget *widget GtkDirectionType arg1 GtkWidget::map void f GtkWidget *widget GtkWidget::mnemonic-activate gboolean l GtkWidget *widget gboolean arg1 GtkWidget::move-focus void la GtkWidget *widget GtkDirectionType arg1 GtkWidget::query-tooltip gboolean l GtkWidget *widget gint arg1 gint arg2 gboolean arg3 GtkTooltip *arg4 GtkWidget::realize void f GtkWidget *widget GtkWidget::show void f GtkWidget *widget GtkWidget::state-flags-changed void f GtkWidget *widget GtkStateFlags arg1 GtkWidget::unmap void f GtkWidget *widget GtkWidget::unrealize void l GtkWidget *widget GtkWindow::activate-default void la GtkWindow *window GtkWindow::activate-focus void la GtkWindow *window GtkWindow::close-request gboolean l GtkWindow *window GtkWindow::enable-debugging gboolean la GtkWindow *window gboolean arg1 GtkWindow::keys-changed void f GtkWindow *window docs/reference/gtk/gtk4.hierarchy0000664000175000017500000001574413710700306017142 0ustar mclasenmclasenGObject GInitiallyUnowned GtkWidget GtkWindow GtkDialog GtkAboutDialog GtkAppChooserDialog GtkColorChooserDialog GtkFileChooserDialog GtkFontChooserDialog GtkMessageDialog GtkPageSetupUnixDialog GtkPrintUnixDialog GtkApplicationWindow GtkAssistant GtkShortcutsWindow GtkAccelLabel GtkActionBar GtkAppChooserButton GtkAppChooserWidget GtkAspectFrame GtkBox GtkShortcutsSection GtkShortcutsGroup GtkButton GtkToggleButton GtkCheckButton GtkRadioButton GtkLinkButton GtkLockButton GtkCalendar GtkCellView GtkColorButton GtkColorChooserWidget GtkColumnView GtkComboBox GtkComboBoxText GtkDragIcon GtkDrawingArea GtkDropDown GtkEditableLabel GtkPopover GtkEmojiChooser GtkPopoverMenu GtkEntry GtkExpander GtkFileChooserButton GtkFileChooserWidget GtkFixed GtkFlowBox GtkFlowBoxChild GtkFontButton GtkFontChooserWidget GtkFrame GtkGLArea GtkGrid GtkListBase GtkGridView GtkListView GtkHeaderBar GtkIconView GtkImage GtkInfoBar GtkLabel GtkListBox GtkListBoxRow GtkMediaControls GtkMenuButton GtkNotebook GtkOverlay GtkPaned GtkPasswordEntry GtkPicture GtkPopoverMenuBar GtkProgressBar GtkRange GtkScale GtkRevealer GtkScaleButton GtkVolumeButton GtkScrollbar GtkScrolledWindow GtkSearchBar GtkSearchEntry GtkSeparator GtkShortcutLabel GtkShortcutsShortcut GtkSpinButton GtkSpinner GtkStack GtkStackSidebar GtkStackSwitcher GtkStatusbar GtkSwitch GtkLevelBar GtkText GtkTextView GtkTreeExpander GtkTreeView GtkVideo GtkViewport GtkWindowControls GtkWindowHandle GtkAdjustment GtkCellArea GtkCellAreaBox GtkCellRenderer GtkCellRendererText GtkCellRendererAccel GtkCellRendererCombo GtkCellRendererSpin GtkCellRendererPixbuf GtkCellRendererProgress GtkCellRendererSpinner GtkCellRendererToggle GtkTreeViewColumn GtkFilter GtkMultiFilter GtkAnyFilter GtkEveryFilter GtkCustomFilter GtkFileFilter GtkStringFilter GApplication GtkApplication GtkAssistantPage GtkATContext GtkLayoutManager GtkBinLayout GtkBoxLayout GtkCenterLayout GtkConstraintLayout GtkFixedLayout GtkGridLayout GtkOverlayLayout GtkBookmarkList GtkBuilderCScope GtkBuilder GtkListItemFactory GtkBuilderListItemFactory GtkSignalListItemFactory GtkCellAreaContext GtkColumnViewColumn GtkConstraint GtkConstraintGuide GtkCssProvider GtkSorter GtkCustomSorter GtkMultiSorter GtkNumericSorter GtkStringSorter GtkTreeListRowSorter GtkDirectoryList GtkEventController GtkGesture GtkGestureSingle GtkDragSource GtkGestureClick GtkGestureDrag GtkGesturePan GtkGestureLongPress GtkGestureStylus GtkGestureSwipe GtkGestureRotate GtkGestureZoom GtkDropTarget GtkDropTargetAsync GtkEventControllerKey GtkEventControllerFocus GtkEventControllerLegacy GtkEventControllerMotion GtkEventControllerScroll GtkPadController GtkShortcutController GtkEntryBuffer GtkEntryCompletion GtkFilterListModel GtkFlattenListModel GtkLayoutChild GtkGridLayoutChild GtkOverlayLayoutChild GtkConstraintLayoutChild GtkFixedLayoutChild GtkIconTheme GtkIMContext GtkIMContextSimple GtkIMMulticontext GtkListItem GtkListStore GtkMapListModel GtkMediaStream GtkMediaFile GMountOperation GtkMountOperation GtkMultiSelection GtkNativeDialog GtkNoSelection GtkNotebookPage GtkPageSetup GtkPrinter GtkPrintContext GtkPrintJob GtkPrintOperation GtkPrintSettings GtkRecentManager GtkSelectionFilterModel GtkSettings GtkShortcut GtkSingleSelection GtkSizeGroup GtkSliceListModel GdkSnapshot GtkSnapshot GtkSortListModel GtkStackPage GtkStringList GtkStringObject GtkStyleContext GtkTextBuffer GtkTextChildAnchor GtkTextMark GtkTextTag GtkTextTagTable GtkTreeListModel GtkTreeListRow GtkTreeModelFilter GtkTreeModelSort GtkTreeSelection GtkTreeStore GtkWindowGroup GListStore GdkCursor GtkTooltip GdkDisplay GtkShortcutAction GtkSignalAction GtkNothingAction GtkNamedAction GtkCallbackAction GtkShortcutTrigger GtkKeyvalTrigger GtkNeverTrigger GtkAlternativeTrigger GApplicationCommandLine GMenuModel GdkPixbuf GdkTexture GFileInfo GdkContentProvider GdkDrag GdkDrop GThemedIcon GdkDrawContext GdkGLContext GTask GPermission GInputStream GMemoryInputStream GFilterInputStream GBufferedInputStream GDataInputStream GSocketInputStream GdkDevice GtkPrintBackend GdkClipboard GDBusAuthObserver GCredentials GIOStream GSocketConnection GUnixConnection GTcpConnection GDBusConnection GDBusProxy GSocketAddress GUnixSocketAddress GInetSocketAddress GProxyAddress GSocket GSocketClient GSocketAddressEnumerator GSocketAddressAddressEnumerator GOutputStream GFilterOutputStream GDataOutputStream GSocketOutputStream GDBusAuth GDBusAuthMechanism GDBusAuthMechanismAnon GDBusAuthMechanismSha1 GDBusAuthMechanismExternal GSocketControlMessage GUnixCredentialsMessage GCancellable GDBusMessage GInterface GTypePlugin GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkActionable GListModel GtkAppChooser GActionGroup GActionMap GtkOrientable GtkBuilderScope GtkCellLayout GtkCellEditable GtkColorChooser GtkScrollable GtkStyleProvider GtkEditable GtkFileChooser GtkFontChooser GtkTreeModel GtkTreeDragSource GtkTreeDragDest GtkTreeSortable GdkPaintable GtkSelectionModel GtkPrintOperationPreview GFile GAppInfo GIcon GLoadableIcon GAction GAsyncResult GSeekable GPollableInputStream GInitable GAsyncInitable GDBusInterface GSocketConnectable GDatagramBased GProxyResolver GFileDescriptorBased GPollableOutputStream GBoxed GValueArray GtkBitset GtkPaperSize GtkTextIter GStrv GVariantDict GBytes GtkTreeIter GdkRectangle CairoRectangleInt GdkRGBA PangoAttrList PangoFontDescription GError GtkCssSection GdkEventSequence GdkContentFormats GValue PangoTabArray GtkTreePath GArray GDBusInterfaceInfo GdkFileList GByteArray GtkExpression GtkCClosureExpression GtkClosureExpression GtkConstantExpression GtkObjectExpression GtkPropertyExpression docs/reference/gtk/gtk4.interfaces0000664000175000017500000002324513710700306017302 0ustar mclasenmclasenGtkWidget GtkAccessible GtkBuildable GtkConstraintTarget GtkWindow GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkAboutDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkAppChooserDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkAppChooser GtkColorChooserDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkColorChooser GtkFileChooserDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkFileChooser GtkFontChooserDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkFontChooser GtkMessageDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkPageSetupUnixDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkPrintUnixDialog GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkApplicationWindow GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GActionGroup GActionMap GtkAssistant GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkShortcutsWindow GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkShortcutManager GtkRoot GtkAccelLabel GtkAccessible GtkBuildable GtkConstraintTarget GtkActionBar GtkAccessible GtkBuildable GtkConstraintTarget GtkAppChooserButton GtkAccessible GtkBuildable GtkConstraintTarget GtkAppChooser GtkAppChooserWidget GtkAccessible GtkBuildable GtkConstraintTarget GtkAppChooser GtkAspectFrame GtkAccessible GtkBuildable GtkConstraintTarget GtkBox GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkShortcutsSection GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkShortcutsGroup GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkToggleButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkCheckButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkRadioButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkLinkButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkLockButton GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkCalendar GtkAccessible GtkBuildable GtkConstraintTarget GtkCellView GtkAccessible GtkBuildable GtkConstraintTarget GtkCellLayout GtkOrientable GtkColorButton GtkAccessible GtkBuildable GtkConstraintTarget GtkColorChooser GtkColorChooserWidget GtkAccessible GtkBuildable GtkConstraintTarget GtkColorChooser GtkColumnView GtkAccessible GtkBuildable GtkConstraintTarget GtkScrollable GtkComboBox GtkAccessible GtkBuildable GtkConstraintTarget GtkCellLayout GtkCellEditable GtkComboBoxText GtkAccessible GtkBuildable GtkConstraintTarget GtkCellLayout GtkCellEditable GtkDragIcon GtkAccessible GtkBuildable GtkConstraintTarget GtkNative GtkRoot GtkDrawingArea GtkAccessible GtkBuildable GtkConstraintTarget GtkDropDown GtkAccessible GtkBuildable GtkConstraintTarget GtkEditableLabel GtkAccessible GtkBuildable GtkConstraintTarget GtkEditable GtkPopover GtkAccessible GtkBuildable GtkConstraintTarget GtkShortcutManager GtkNative GtkEmojiChooser GtkAccessible GtkBuildable GtkConstraintTarget GtkShortcutManager GtkNative GtkPopoverMenu GtkAccessible GtkBuildable GtkConstraintTarget GtkShortcutManager GtkNative GtkEntry GtkAccessible GtkBuildable GtkConstraintTarget GtkEditable GtkCellEditable GtkExpander GtkAccessible GtkBuildable GtkConstraintTarget GtkFileChooserButton GtkAccessible GtkBuildable GtkConstraintTarget GtkFileChooser GtkFileChooserWidget GtkAccessible GtkBuildable GtkConstraintTarget GtkFileChooser GtkFixed GtkAccessible GtkBuildable GtkConstraintTarget GtkFlowBox GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkFlowBoxChild GtkAccessible GtkBuildable GtkConstraintTarget GtkFontButton GtkAccessible GtkBuildable GtkConstraintTarget GtkFontChooser GtkFontChooserWidget GtkAccessible GtkBuildable GtkConstraintTarget GtkFontChooser GtkFrame GtkAccessible GtkBuildable GtkConstraintTarget GtkGLArea GtkAccessible GtkBuildable GtkConstraintTarget GtkGrid GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkListBase GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScrollable GtkGridView GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScrollable GtkListView GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScrollable GtkHeaderBar GtkAccessible GtkBuildable GtkConstraintTarget GtkIconView GtkAccessible GtkBuildable GtkConstraintTarget GtkCellLayout GtkScrollable GtkImage GtkAccessible GtkBuildable GtkConstraintTarget GtkInfoBar GtkAccessible GtkBuildable GtkConstraintTarget GtkLabel GtkAccessible GtkBuildable GtkConstraintTarget GtkListBox GtkAccessible GtkBuildable GtkConstraintTarget GtkListBoxRow GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkMediaControls GtkAccessible GtkBuildable GtkConstraintTarget GtkMenuButton GtkAccessible GtkBuildable GtkConstraintTarget GtkNotebook GtkAccessible GtkBuildable GtkConstraintTarget GtkOverlay GtkAccessible GtkBuildable GtkConstraintTarget GtkPaned GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkPasswordEntry GtkAccessible GtkBuildable GtkConstraintTarget GtkEditable GtkPicture GtkAccessible GtkBuildable GtkConstraintTarget GtkPopoverMenuBar GtkAccessible GtkBuildable GtkConstraintTarget GtkProgressBar GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkRange GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScale GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkRevealer GtkAccessible GtkBuildable GtkConstraintTarget GtkScaleButton GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkVolumeButton GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScrollbar GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkScrolledWindow GtkAccessible GtkBuildable GtkConstraintTarget GtkSearchBar GtkAccessible GtkBuildable GtkConstraintTarget GtkSearchEntry GtkAccessible GtkBuildable GtkConstraintTarget GtkEditable GtkSeparator GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkShortcutLabel GtkAccessible GtkBuildable GtkConstraintTarget GtkShortcutsShortcut GtkAccessible GtkBuildable GtkConstraintTarget GtkSpinButton GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkEditable GtkCellEditable GtkSpinner GtkAccessible GtkBuildable GtkConstraintTarget GtkStack GtkAccessible GtkBuildable GtkConstraintTarget GtkStackSidebar GtkAccessible GtkBuildable GtkConstraintTarget GtkStackSwitcher GtkAccessible GtkBuildable GtkConstraintTarget GtkStatusbar GtkAccessible GtkBuildable GtkConstraintTarget GtkSwitch GtkAccessible GtkBuildable GtkConstraintTarget GtkActionable GtkLevelBar GtkAccessible GtkBuildable GtkConstraintTarget GtkOrientable GtkText GtkAccessible GtkBuildable GtkConstraintTarget GtkEditable GtkTextView GtkAccessible GtkBuildable GtkConstraintTarget GtkScrollable GtkTreeExpander GtkAccessible GtkBuildable GtkConstraintTarget GtkTreeView GtkAccessible GtkBuildable GtkConstraintTarget GtkScrollable GtkVideo GtkAccessible GtkBuildable GtkConstraintTarget GtkViewport GtkAccessible GtkBuildable GtkConstraintTarget GtkScrollable GtkWindowControls GtkAccessible GtkBuildable GtkConstraintTarget GtkWindowHandle GtkAccessible GtkBuildable GtkConstraintTarget GtkCellArea GtkCellLayout GtkBuildable GtkCellAreaBox GtkCellLayout GtkBuildable GtkOrientable GtkCellRendererProgress GtkOrientable GtkTreeViewColumn GtkCellLayout GtkBuildable GtkMultiFilter GListModel GtkBuildable GtkAnyFilter GListModel GtkBuildable GtkEveryFilter GListModel GtkBuildable GtkFileFilter GtkBuildable GApplication GActionGroup GActionMap GtkApplication GActionGroup GActionMap GtkBoxLayout GtkOrientable GtkConstraintLayout GtkBuildable GtkBookmarkList GListModel GtkBuilderCScope GtkBuilderScope GtkConstraintGuide GtkConstraintTarget GtkCssProvider GtkStyleProvider GtkMultiSorter GListModel GtkBuildable GtkDirectoryList GListModel GtkShortcutController GListModel GtkBuildable GtkEntryCompletion GtkCellLayout GtkBuildable GtkFilterListModel GListModel GtkFlattenListModel GListModel GtkListStore GtkTreeModel GtkTreeDragSource GtkTreeDragDest GtkTreeSortable GtkBuildable GtkMapListModel GListModel GtkMediaStream GdkPaintable GtkMediaFile GdkPaintable GtkMultiSelection GListModel GtkSelectionModel GtkNoSelection GListModel GtkSelectionModel GtkPrintOperation GtkPrintOperationPreview GtkSelectionFilterModel GListModel GtkSettings GtkStyleProvider GtkSingleSelection GListModel GtkSelectionModel GtkSizeGroup GtkBuildable GtkSliceListModel GListModel GtkSortListModel GListModel GtkStringList GtkBuildable GListModel GtkTextTagTable GtkBuildable GtkTreeListModel GListModel GtkTreeModelFilter GtkTreeModel GtkTreeDragSource GtkTreeModelSort GtkTreeModel GtkTreeSortable GtkTreeDragSource GtkTreeStore GtkTreeModel GtkTreeDragSource GtkTreeDragDest GtkTreeSortable GtkBuildable GListStore GListModel GdkPixbuf GIcon GLoadableIcon GdkTexture GdkPaintable GThemedIcon GIcon GTask GAsyncResult GMemoryInputStream GSeekable GPollableInputStream GBufferedInputStream GSeekable GDataInputStream GSeekable GSocketInputStream GPollableInputStream GFileDescriptorBased GDBusConnection GInitable GAsyncInitable GDBusProxy GDBusInterface GInitable GAsyncInitable GSocketAddress GSocketConnectable GUnixSocketAddress GSocketConnectable GInetSocketAddress GSocketConnectable GProxyAddress GSocketConnectable GSocket GInitable GDatagramBased GDataOutputStream GSeekable GSocketOutputStream GPollableOutputStream GFileDescriptorBased docs/reference/gtk/gtk4.prerequisites0000664000175000017500000000174713710700306020066 0ustar mclasenmclasenGtkAccessible GObject GtkBuildable GObject GtkConstraintTarget GObject GtkNative GtkWidget GtkShortcutManager GObject GtkRoot GtkNative GtkWidget GtkActionable GtkWidget GListModel GObject GtkAppChooser GtkWidget GActionGroup GObject GActionMap GObject GtkOrientable GObject GtkBuilderScope GObject GtkCellLayout GObject GtkCellEditable GtkWidget GtkColorChooser GObject GtkScrollable GObject GtkStyleProvider GObject GtkEditable GtkWidget GtkFileChooser GObject GtkFontChooser GObject GtkTreeModel GObject GtkTreeSortable GtkTreeModel GObject GdkPaintable GObject GtkSelectionModel GListModel GObject GtkPrintOperationPreview GObject GFile GObject GAppInfo GObject GIcon GObject GLoadableIcon GIcon GObject GAction GObject GAsyncResult GObject GSeekable GObject GPollableInputStream GInputStream GInitable GObject GAsyncInitable GObject GDBusInterface GObject GSocketConnectable GObject GDatagramBased GObject GProxyResolver GObject GFileDescriptorBased GObject GPollableOutputStream GOutputStream docs/reference/gtk/gtk4.args0000664000175000017500000073026213710700306016117 0ustar mclasenmclasen GtkAboutDialog::artists GStrv rw Artists List of people who have contributed artwork to the program. GtkAboutDialog::authors GStrv rw Authors List of authors of the program. GtkAboutDialog::comments gchar* rw Comments string Comments about the program. NULL GtkAboutDialog::copyright gchar* rw Copyright string Copyright information for the program. NULL GtkAboutDialog::documenters GStrv rw Documenters List of people documenting the program. GtkAboutDialog::license gchar* rw License The license of the program. NULL GtkAboutDialog::license-type GtkLicense rw License Type The license type of the program. GTK_LICENSE_UNKNOWN GtkAboutDialog::logo GdkPaintable* rw Logo A logo for the about box. GtkAboutDialog::logo-icon-name gchar* rw Logo Icon Name A named icon to use as the logo for the about box. NULL GtkAboutDialog::program-name gchar* rw Program name The name of the program. If this is not set, it defaults to g_get_application_name(). NULL GtkAboutDialog::system-information gchar* rw System Information Information about the system on which the program is running. NULL GtkAboutDialog::translator-credits gchar* rw Translator credits Credits to the translators. This string should be marked as translatable. NULL GtkAboutDialog::version gchar* rw Program version The version of the program. NULL GtkAboutDialog::website gchar* rw Website URL The URL for the link to the website of the program. NULL GtkAboutDialog::website-label gchar* rw Website label The label for the link to the website of the program. NULL GtkAboutDialog::wrap-license gboolean rw Wrap license Whether to wrap the license text. FALSE GtkAccelLabel::label gchar* rw Label The text displayed next to the accelerator. "" GtkAccelLabel::use-underline gboolean rw Use underline If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key. FALSE GtkAccessible::accessible-role GtkAccessibleRole rw Accessible Role The role of the accessible object. GTK_ACCESSIBLE_ROLE_NONE GtkActionable::action-name gchar* rw Action name The name of the associated action, like “app.quit”. NULL GtkActionable::action-target GVariant* GVariant<*> rw Action target value The parameter for action invocations. NULL GtkActionBar::revealed gboolean rw Reveal Controls whether the action bar shows its contents or not. TRUE GtkAdjustment::lower gdouble rw Minimum Value The minimum value of the adjustment. 0 GtkAdjustment::page-increment gdouble rw Page Increment The page increment of the adjustment. 0 GtkAdjustment::page-size gdouble rw Page Size The page size of the adjustment. 0 GtkAdjustment::step-increment gdouble rw Step Increment The step increment of the adjustment. 0 GtkAdjustment::upper gdouble rw Maximum Value The maximum value of the adjustment. 0 GtkAdjustment::value gdouble rw Value The value of the adjustment. 0 GtkAppChooser::content-type gchar* rwX Content type The content type used by the open with object. NULL GtkAppChooserButton::heading gchar* rw Heading The text to show at the top of the dialog. NULL GtkAppChooserButton::modal gboolean rwx Modal Whether the dialog should be modal. TRUE GtkAppChooserButton::show-default-item gboolean rwx Show default item Whether the combobox should show the default application on top. FALSE GtkAppChooserButton::show-dialog-item gboolean rwx Include an “Other…” item Whether the combobox should include an item that triggers a GtkAppChooserDialog. FALSE GtkAppChooserDialog::gfile GFile* rwX GFile The GFile used by the app chooser dialog. GtkAppChooserDialog::heading gchar* rw Heading The text to show at the top of the dialog. NULL GtkAppChooserWidget::default-text gchar* rw Widget’s default text The default text appearing when there are no applications. NULL GtkAppChooserWidget::show-all gboolean rwx Show all apps Whether the widget should show all applications. FALSE GtkAppChooserWidget::show-default gboolean rwx Show default app Whether the widget should show the default application. FALSE GtkAppChooserWidget::show-fallback gboolean rwx Show fallback apps Whether the widget should show fallback applications. FALSE GtkAppChooserWidget::show-other gboolean rwx Show other apps Whether the widget should show other applications. FALSE GtkAppChooserWidget::show-recommended gboolean rwx Show recommended apps Whether the widget should show recommended applications. TRUE GtkApplication::active-window GtkWindow* r Active window The window which most recently had focus. GtkApplication::menubar GMenuModel* rw Menubar The GMenuModel for the menubar. GtkApplication::register-session gboolean rw Register session Register with the session manager. FALSE GtkApplication::screensaver-active gboolean r Screensaver Active Whether the screensaver is active. FALSE GtkApplicationWindow::show-menubar gboolean rwx Show a menubar TRUE if the window should show a menubar at the top of the window. FALSE GtkAspectFrame::child GtkWidget* rw Child The child widget. GtkAspectFrame::obey-child gboolean rw Obey child Force aspect ratio to match that of the frame’s child. TRUE GtkAspectFrame::ratio gfloat [0.0001,10000] rw Ratio Aspect ratio if obey_child is FALSE. 1 GtkAspectFrame::xalign gfloat [0,1] rw Horizontal Alignment X alignment of the child. 0.5 GtkAspectFrame::yalign gfloat [0,1] rw Vertical Alignment Y alignment of the child. 0.5 GtkAssistant::pages GListModel* r Pages The pages of the assistant. GtkAssistant::use-header-bar gint [-1,1] rwX Use Header Bar Use Header Bar for actions. -1 GtkAssistantPage::child GtkWidget* rwX Child widget The content the assistant page. GtkAssistantPage::complete gboolean rw Page complete Whether all required fields on the page have been filled out. FALSE GtkAssistantPage::page-type GtkAssistantPageType rw Page type The type of the assistant page. GTK_ASSISTANT_PAGE_CONTENT GtkAssistantPage::title gchar* rw Page title The title of the assistant page. NULL GtkATContext::accessible GtkAccessible* rwX Accessible The accessible implementation. GtkATContext::accessible-role GtkAccessibleRole rwX Accessible Role The accessible role of the AT context. GTK_ACCESSIBLE_ROLE_NONE GtkBookmarkList::attributes gchar* rw Attributes Attributes to query. NULL GtkBookmarkList::filename gchar* rwX Filename Bookmark file to load. NULL GtkBookmarkList::io-priority gint >= -2147483647 rw IO priority Priority used when loading. 0 GtkBookmarkList::loading gboolean r loading TRUE if files are being loaded. FALSE GtkBox::baseline-position GtkBaselinePosition rw Baseline position The position of the baseline aligned widgets if extra space is available. GTK_BASELINE_POSITION_CENTER GtkBox::homogeneous gboolean rw Homogeneous Whether the children should all be the same size. FALSE GtkBox::spacing gint >= 0 rw Spacing The amount of space between children. 0 GtkBoxLayout::baseline-position GtkBaselinePosition rw Baseline position The position of the baseline aligned widgets if extra space is available. GTK_BASELINE_POSITION_CENTER GtkBoxLayout::homogeneous gboolean rw Homogeneous Distribute space homogeneously. FALSE GtkBoxLayout::spacing gint >= 0 rw Spacing Spacing between widgets. 0 GtkBuilder::current-object GObject* rw Current object The object the builder is evaluating for. GtkBuilder::scope GtkBuilderScope* rwx Scope The scope the builder is operating in. GtkBuilder::translation-domain gchar* rw Translation Domain The translation domain used by gettext. NULL GtkBuilderListItemFactory::bytes GBytes* rwX Bytes bytes containing the UI definition. GtkBuilderListItemFactory::resource gchar* rwX Resource resource containing the UI definition. NULL GtkBuilderListItemFactory::scope GtkBuilderScope* rwX Scope scope to use when instantiating listitems. GtkButton::child GtkWidget* rw Child The child widget. GtkButton::has-frame gboolean rw Has Frame Whether the button has a frame. TRUE GtkButton::icon-name gchar* rw Icon Name The name of the icon used to automatically populate the button. NULL GtkButton::label gchar* rw Label Text of the label widget inside the button, if the button contains a label widget. NULL GtkButton::use-underline gboolean rw Use underline If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key. FALSE GtkCalendar::day gint [0,31] rw Day The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day). 0 GtkCalendar::month gint [0,11] rw Month The selected month (as a number between 0 and 11). 0 GtkCalendar::show-day-names gboolean rw Show Day Names If TRUE, day names are displayed. TRUE GtkCalendar::show-heading gboolean rw Show Heading If TRUE, a heading is displayed. TRUE GtkCalendar::show-week-numbers gboolean rw Show Week Numbers If TRUE, week numbers are displayed. FALSE GtkCalendar::year gint [1,9999] rw Year The selected year. 1 GtkCellArea::edit-widget GtkCellEditable* r Edit Widget The widget currently editing the edited cell. GtkCellArea::edited-cell GtkCellRenderer* r Edited Cell The cell which is currently being edited. GtkCellArea::focus-cell GtkCellRenderer* rw Focus Cell The cell which currently has focus. GtkCellAreaBox::spacing gint >= 0 rw Spacing Space which is inserted between cells. 0 GtkCellAreaBox::align gboolean crw Align Whether cell should align with adjacent rows. FALSE GtkCellAreaBox::expand gboolean crw Expand Whether the cell expands. FALSE GtkCellAreaBox::fixed-size gboolean crw Fixed Size Whether cells should be the same size in all rows. TRUE GtkCellAreaBox::pack-type GtkPackType crw Pack Type A GtkPackType indicating whether the cell is packed with reference to the start or end of the cell area. GTK_PACK_START GtkCellAreaContext::area GtkCellArea* rwX Area The Cell Area this context was created for. GtkCellAreaContext::minimum-height gint >= -1 r Minimum Height Minimum cached height. -1 GtkCellAreaContext::minimum-width gint >= -1 r Minimum Width Minimum cached width. -1 GtkCellAreaContext::natural-height gint >= -1 r Minimum Height Minimum cached height. -1 GtkCellAreaContext::natural-width gint >= -1 r Minimum Width Minimum cached width. -1 GtkCellEditable::editing-canceled gboolean rw Editing Canceled Indicates that editing has been canceled. FALSE GtkCellRendererAccel::accel-key guint <= G_MAXINT rw Accelerator key The keyval of the accelerator. 0 GtkCellRendererAccel::accel-mode GtkCellRendererAccelMode rw Accelerator Mode The type of accelerators. GTK_CELL_RENDERER_ACCEL_MODE_GTK GtkCellRendererAccel::accel-mods GdkModifierType rw Accelerator modifiers The modifier mask of the accelerator. GtkCellRendererAccel::keycode guint <= G_MAXINT rw Accelerator keycode The hardware keycode of the accelerator. 0 GtkCellRendererCombo::has-entry gboolean rw Has Entry If FALSE, don’t allow to enter strings other than the chosen ones. TRUE GtkCellRendererCombo::model GtkTreeModel* rw Model The model containing the possible values for the combo box. GtkCellRendererCombo::text-column gint >= -1 rw Text Column A column in the data source model to get the strings from. -1 GtkCellRenderer::cell-background gchar* w Cell background color name Cell background color as a string. NULL GtkCellRenderer::cell-background-rgba GdkRGBA* rw Cell background RGBA color Cell background color as a GdkRGBA. GtkCellRenderer::cell-background-set gboolean rw Cell background set Whether the cell background color is set. FALSE GtkCellRenderer::editing gboolean r Editing Whether the cell renderer is currently in editing mode. FALSE GtkCellRenderer::height gint >= -1 rw height The fixed height. -1 GtkCellRenderer::is-expanded gboolean rw Is Expanded Row is an expander row, and is expanded. FALSE GtkCellRenderer::is-expander gboolean rw Is Expander Row has children. FALSE GtkCellRenderer::mode GtkCellRendererMode rw mode Editable mode of the CellRenderer. GTK_CELL_RENDERER_MODE_INERT GtkCellRenderer::sensitive gboolean rw Sensitive Display the cell sensitive. TRUE GtkCellRenderer::visible gboolean rw visible Display the cell. TRUE GtkCellRenderer::width gint >= -1 rw width The fixed width. -1 GtkCellRenderer::xalign gfloat [0,1] rw xalign The x-align. 0.5 GtkCellRenderer::xpad guint rw xpad The xpad. 0 GtkCellRenderer::yalign gfloat [0,1] rw yalign The y-align. 0.5 GtkCellRenderer::ypad guint rw ypad The ypad. 0 GtkCellRendererPixbuf::gicon GIcon* rw Icon The GIcon being displayed. GtkCellRendererPixbuf::icon-name gchar* rw Icon Name The name of the icon from the icon theme. NULL GtkCellRendererPixbuf::icon-size GtkIconSize rw Icon Size The GtkIconSize value that specifies the size of the rendered icon. GTK_ICON_SIZE_INHERIT GtkCellRendererPixbuf::pixbuf GdkPixbuf* w Pixbuf Object The pixbuf to render. GtkCellRendererPixbuf::pixbuf-expander-closed GdkPixbuf* rw Pixbuf Expander Closed Pixbuf for closed expander. GtkCellRendererPixbuf::pixbuf-expander-open GdkPixbuf* rw Pixbuf Expander Open Pixbuf for open expander. GtkCellRendererPixbuf::texture GdkTexture* rw Texture The texture to render. GtkCellRendererProgress::inverted gboolean rw Inverted Invert the direction in which the progress bar grows. FALSE GtkCellRendererProgress::pulse gint >= -1 rw Pulse Set this to positive values to indicate that some progress is made, but you don’t know how much. -1 GtkCellRendererProgress::text gchar* rw Text Text on the progress bar. NULL GtkCellRendererProgress::text-xalign gfloat [0,1] rw Text x alignment The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts. 0.5 GtkCellRendererProgress::text-yalign gfloat [0,1] rw Text y alignment The vertical text alignment, from 0 (top) to 1 (bottom). 0.5 GtkCellRendererProgress::value gint [0,100] rw Value Value of the progress bar. 0 GtkCellRendererSpin::adjustment GtkAdjustment* rw Adjustment The adjustment that holds the value of the spin button. GtkCellRendererSpin::climb-rate gdouble >= 0 rw Climb rate The acceleration rate when you hold down a button. 0 GtkCellRendererSpin::digits guint <= 20 rw Digits The number of decimal places to display. 0 GtkCellRendererSpinner::active gboolean rw Active Whether the spinner is active (ie. shown) in the cell. FALSE GtkCellRendererSpinner::pulse guint rw Pulse Pulse of the spinner. 0 GtkCellRendererSpinner::size GtkIconSize rw Size The GtkIconSize value that specifies the size of the rendered spinner. GTK_ICON_SIZE_INHERIT GtkCellRendererText::align-set gboolean rw Align set Whether this tag affects the alignment mode. FALSE GtkCellRendererText::alignment PangoAlignment rw Alignment How to align the lines. PANGO_ALIGN_LEFT GtkCellRendererText::attributes PangoAttrList* rw Attributes A list of style attributes to apply to the text of the renderer. GtkCellRendererText::background gchar* w Background color name Background color as a string. NULL GtkCellRendererText::background-rgba GdkRGBA* rw Background color as RGBA Background color as a GdkRGBA. GtkCellRendererText::background-set gboolean rw Background set Whether this tag affects the background color. FALSE GtkCellRendererText::editable gboolean rw Editable Whether the text can be modified by the user. FALSE GtkCellRendererText::editable-set gboolean rw Editability set Whether this tag affects text editability. FALSE GtkCellRendererText::ellipsize PangoEllipsizeMode rw Ellipsize The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string. PANGO_ELLIPSIZE_NONE GtkCellRendererText::ellipsize-set gboolean rw Ellipsize set Whether this tag affects the ellipsize mode. FALSE GtkCellRendererText::family gchar* rw Font family Name of the font family, e.g. Sans, Helvetica, Times, Monospace. NULL GtkCellRendererText::family-set gboolean rw Font family set Whether this tag affects the font family. FALSE GtkCellRendererText::font gchar* rw Font Font description as a string, e.g. “Sans Italic 12”. NULL GtkCellRendererText::font-desc PangoFontDescription* rw Font Font description as a PangoFontDescription struct. GtkCellRendererText::foreground gchar* w Foreground color name Foreground color as a string. NULL GtkCellRendererText::foreground-rgba GdkRGBA* rw Foreground color as RGBA Foreground color as a GdkRGBA. GtkCellRendererText::foreground-set gboolean rw Foreground set Whether this tag affects the foreground color. FALSE GtkCellRendererText::language gchar* rw Language The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don’t understand this parameter, you probably don’t need it. NULL GtkCellRendererText::language-set gboolean rw Language set Whether this tag affects the language the text is rendered as. FALSE GtkCellRendererText::markup gchar* w Markup Marked up text to render. NULL GtkCellRendererText::max-width-chars gint >= -1 rw Maximum Width In Characters The maximum width of the cell, in characters. -1 GtkCellRendererText::placeholder-text gchar* rw Placeholder text Text rendered when an editable cell is empty. NULL GtkCellRendererText::rise gint >= -2147483647 rw Rise Offset of text above the baseline (below the baseline if rise is negative). 0 GtkCellRendererText::rise-set gboolean rw Rise set Whether this tag affects the rise. FALSE GtkCellRendererText::scale gdouble >= 0 rw Font scale Font scaling factor. 1 GtkCellRendererText::scale-set gboolean rw Font scale set Whether this tag scales the font size by a factor. FALSE GtkCellRendererText::single-paragraph-mode gboolean rw Single Paragraph Mode Whether to keep all text in a single paragraph. FALSE GtkCellRendererText::size gint >= 0 rw Font size Font size. 0 GtkCellRendererText::size-points gdouble >= 0 rw Font points Font size in points. 0 GtkCellRendererText::size-set gboolean rw Font size set Whether this tag affects the font size. FALSE GtkCellRendererText::stretch PangoStretch rw Font stretch Font stretch. PANGO_STRETCH_NORMAL GtkCellRendererText::stretch-set gboolean rw Font stretch set Whether this tag affects the font stretch. FALSE GtkCellRendererText::strikethrough gboolean rw Strikethrough Whether to strike through the text. FALSE GtkCellRendererText::strikethrough-set gboolean rw Strikethrough set Whether this tag affects strikethrough. FALSE GtkCellRendererText::style PangoStyle rw Font style Font style. PANGO_STYLE_NORMAL GtkCellRendererText::style-set gboolean rw Font style set Whether this tag affects the font style. FALSE GtkCellRendererText::text gchar* rw Text Text to render. NULL GtkCellRendererText::underline PangoUnderline rw Underline Style of underline for this text. PANGO_UNDERLINE_NONE GtkCellRendererText::underline-set gboolean rw Underline set Whether this tag affects underlining. FALSE GtkCellRendererText::variant PangoVariant rw Font variant Font variant. PANGO_VARIANT_NORMAL GtkCellRendererText::variant-set gboolean rw Font variant set Whether this tag affects the font variant. FALSE GtkCellRendererText::weight gint >= 0 rw Font weight Font weight. 400 GtkCellRendererText::weight-set gboolean rw Font weight set Whether this tag affects the font weight. FALSE GtkCellRendererText::width-chars gint >= -1 rw Width In Characters The desired width of the label, in characters. -1 GtkCellRendererText::wrap-mode PangoWrapMode rw Wrap mode How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string. PANGO_WRAP_CHAR GtkCellRendererText::wrap-width gint >= -1 rw Wrap width The width at which the text is wrapped. -1 GtkCellRendererToggle::activatable gboolean rw Activatable The toggle button can be activated. TRUE GtkCellRendererToggle::active gboolean rw Toggle state The toggle state of the button. FALSE GtkCellRendererToggle::inconsistent gboolean rw Inconsistent state The inconsistent state of the button. FALSE GtkCellRendererToggle::radio gboolean rw Radio state Draw the toggle button as a radio button. FALSE GtkCellView::cell-area GtkCellArea* rwX Cell Area The GtkCellArea used to layout cells. GtkCellView::cell-area-context GtkCellAreaContext* rwX Cell Area Context The GtkCellAreaContext used to compute the geometry of the cell view. GtkCellView::draw-sensitive gboolean rw Draw Sensitive Whether to force cells to be drawn in a sensitive state. FALSE GtkCellView::fit-model gboolean rw Fit Model Whether to request enough space for every row in the model. FALSE GtkCellView::model GtkTreeModel* rw CellView model The model for cell view. GtkCheckButton::draw-indicator gboolean rw Draw Indicator If the indicator part of the button is displayed. TRUE GtkCheckButton::inconsistent gboolean rw Inconsistent If the check button is in an “in between” state. FALSE GtkColorButton::modal gboolean rw Modal Whether the dialog is modal. TRUE GtkColorButton::rgba GdkRGBA* rw Current RGBA Color The selected RGBA color. GtkColorButton::show-editor gboolean rw Show Editor Whether to show the color editor right away. FALSE GtkColorButton::title gchar* rw Title The title of the color selection dialog. "Pick a Color" GtkColorButton::use-alpha gboolean rw Use alpha Whether to give the color an alpha value. FALSE GtkColorChooser::rgba GdkRGBA* rw Color Current color, as a GdkRGBA. GtkColorChooser::use-alpha gboolean rw Use alpha Whether alpha should be shown. TRUE GtkColorChooserDialog::show-editor gboolean rw Show editor Show editor. FALSE GtkColorChooserWidget::show-editor gboolean rw Show editor Show editor. FALSE GtkColumnView::columns GListModel* r Columns List of columns. GtkColumnView::enable-rubberband gboolean rw Enable rubberband selection Allow selecting items by dragging with the mouse. FALSE GtkColumnView::model GListModel* rw Model Model for the items displayed. GtkColumnView::reorderable gboolean rw Reorderable Whether columns are reorderable. TRUE GtkColumnView::show-column-separators gboolean rw Show column separators Show separators between columns. FALSE GtkColumnView::show-row-separators gboolean rw Show row separators Show separators between rows. FALSE GtkColumnView::single-click-activate gboolean rw Single click activate Activate rows on single click. FALSE GtkColumnView::sorter GtkSorter* r Sorter Sorter with sorting choices of the user. GtkColumnViewColumn::column-view GtkColumnView* r Column view Column view this column is a part of. GtkColumnViewColumn::expand gboolean rw Expand column gets share of extra width. FALSE GtkColumnViewColumn::factory GtkListItemFactory* rw Factory Factory for populating list items. GtkColumnViewColumn::fixed-width gint >= -1 rw Fixed width Fixed width of this column. -1 GtkColumnViewColumn::header-menu GMenuModel* rw Header menu Menu to use on the title of this column. GtkColumnViewColumn::resizable gboolean rw Resizable Whether this column is resizable. FALSE GtkColumnViewColumn::sorter GtkSorter* rw Sorter Sorter for sorting items according to this column. GtkColumnViewColumn::title gchar* rw Title Title displayed in the header. NULL GtkColumnViewColumn::visible gboolean rw Visible Whether this column is visible. TRUE GtkComboBox::active gint >= -1 rw Active item The item which is currently active. -1 GtkComboBox::active-id gchar* rw Active id The value of the id column for the active row. NULL GtkComboBox::button-sensitivity GtkSensitivityType rw Button Sensitivity Whether the dropdown button is sensitive when the model is empty. GTK_SENSITIVITY_AUTO GtkComboBox::child GtkWidget* rw Child The child_widget. GtkComboBox::entry-text-column gint >= -1 rw Entry Text Column The column in the combo box’s model to associate with strings from the entry if the combo was created with #GtkComboBox:has-entry = %TRUE. -1 GtkComboBox::has-entry gboolean rwX Has Entry Whether combo box has an entry. FALSE GtkComboBox::has-frame gboolean rw Has Frame Whether the combo box draws a frame around the child. TRUE GtkComboBox::id-column gint >= -1 rw ID Column The column in the combo box’s model that provides string IDs for the values in the model. -1 GtkComboBox::model GtkTreeModel* rw ComboBox model The model for the combo box. GtkComboBox::popup-fixed-width gboolean rw Popup Fixed Width Whether the popup’s width should be a fixed width matching the allocated width of the combo box. TRUE GtkComboBox::popup-shown gboolean r Popup shown Whether the combo’s dropdown is shown. FALSE GtkConstraint::constant gdouble rwX Constant The constant to be added to the source attribute. 0 GtkConstraint::multiplier gdouble rwX Multiplier The multiplication factor to be applied to the source attribute. 1 GtkConstraint::relation GtkConstraintRelation rwX Relation The relation between the source and target attributes. GTK_CONSTRAINT_RELATION_EQ GtkConstraint::source GtkConstraintTarget* rwX Source The source of the constraint. GtkConstraint::source-attribute GtkConstraintAttribute rwX Source Attribute The attribute of the source widget set by the constraint. GTK_CONSTRAINT_ATTRIBUTE_NONE GtkConstraint::strength gint [0,1001001000] rwX Strength The strength of the constraint. 1001001000 GtkConstraint::target GtkConstraintTarget* rwX Target The target of the constraint. GtkConstraint::target-attribute GtkConstraintAttribute rwX Target Attribute The attribute of the target set by the constraint. GTK_CONSTRAINT_ATTRIBUTE_NONE GtkConstraintGuide::max-height gint >= 0 rw Maximum height Maximum height. 2147483647 GtkConstraintGuide::max-width gint >= 0 rw Maximum width Maximum width. 2147483647 GtkConstraintGuide::min-height gint >= 0 rw Minimum height Minimum height. 0 GtkConstraintGuide::min-width gint >= 0 rw Minimum width Minimum width. 0 GtkConstraintGuide::name gchar* rw Name A name to use in debug message. NULL GtkConstraintGuide::nat-height gint >= 0 rw Natural height Natural height. 0 GtkConstraintGuide::nat-width gint >= 0 rw Natural width Natural width. 0 GtkConstraintGuide::strength GtkConstraintStrength rw Strength The strength to use for natural size. GTK_CONSTRAINT_STRENGTH_MEDIUM GtkDialog::use-header-bar gint [-1,1] rwX Use Header Bar Use Header Bar for actions. -1 GtkDirectoryList::attributes gchar* rw attributes Attributes to query. NULL GtkDirectoryList::error GError* r error Error encountered while loading files. GtkDirectoryList::file GFile* rw File The file to query. GtkDirectoryList::io-priority gint >= -2147483647 rw IO priority Priority used when loading. 0 GtkDirectoryList::item-type GType* GFileInfo r Item type The type of elements of this object. GtkDirectoryList::loading gboolean r loading TRUE if files are being loaded. FALSE GtkDirectoryList::monitored gboolean rw monitored TRUE if the directory is monitored for changes. TRUE GtkDragIcon::child GtkWidget* rw Child The widget to display as drag icon. GtkDragSource::actions GdkDragAction rw Actions Supported actions. GDK_ACTION_COPY GtkDragSource::content GdkContentProvider* rw Content The content provider for the dragged data. GtkDrawingArea::content-height gint >= 0 rw Content Height Desired height for displayed content. 0 GtkDrawingArea::content-width gint >= 0 rw Content Width Desired width for displayed content. 0 GtkDropTarget::actions GdkDragAction rw Actions The actions supported by this drop target. GtkDropTarget::drop GdkDrop* r Drop Current drop. GtkDropTarget::formats GdkContentFormats* r Formats The supported formats. GtkDropTarget::preload gboolean rw Preload Whether drop data should be preloaded while hovering. FALSE GtkDropTarget::value GValue* r Value The value for this drop operation. GtkDropTargetAsync::actions GdkDragAction rw Actions Actions. GtkDropTargetAsync::formats GdkContentFormats* rw Formats Formats. GtkDropDown::enable-search gboolean rw Enable search Whether to show a search entry in the popup. FALSE GtkDropDown::expression GtkExpression* rw Expression Expression to determine strings to search for. GtkDropDown::factory GtkListItemFactory* rw Factory Factory for populating list items. GtkDropDown::list-factory GtkListItemFactory* rw List Factory Factory for populating list items. GtkDropDown::model GListModel* rw Model Model for the displayed items. GtkDropDown::selected guint rw Selected Position of the selected item. 4294967295 GtkDropDown::selected-item GObject* r Selected Item The selected item. GtkEditable::cursor-position gint [0,65535] r Cursor Position The current position of the insertion cursor in chars. 0 GtkEditable::editable gboolean rw Editable Whether the entry contents can be edited. TRUE GtkEditable::enable-undo gboolean rw Enable Undo If undo/redo should be enabled for the editable. TRUE GtkEditable::max-width-chars gint >= -1 rw Maximum width in characters The desired maximum width of the entry, in characters. -1 GtkEditable::selection-bound gint [0,65535] r Selection Bound The position of the opposite end of the selection from the cursor in chars. 0 GtkEditable::text gchar* rw Text The contents of the entry. "" GtkEditable::width-chars gint >= -1 rw Width in chars Number of characters to leave space for in the entry. -1 GtkEditable::xalign gfloat [0,1] rw X align The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts. 0 GtkEditableLabel::editing gboolean r Editing Whether the widget is in editing mode. FALSE GtkEntryBuffer::length guint <= 65535 r Text length Length of the text currently in the buffer. 0 GtkEntryBuffer::max-length gint [0,65535] rw Maximum length Maximum number of characters for this entry. Zero if no maximum. 0 GtkEntryBuffer::text gchar* rw Text The contents of the buffer. "" GtkEntryCompletion::cell-area GtkCellArea* rwX Cell Area The GtkCellArea used to layout cells. GtkEntryCompletion::inline-completion gboolean rw Inline completion Whether the common prefix should be inserted automatically. FALSE GtkEntryCompletion::inline-selection gboolean rw Inline selection Your description here. FALSE GtkEntryCompletion::minimum-key-length gint >= 0 rw Minimum Key Length Minimum length of the search key in order to look up matches. 1 GtkEntryCompletion::model GtkTreeModel* rw Completion Model The model to find matches in. GtkEntryCompletion::popup-completion gboolean rw Popup completion Whether the completions should be shown in a popup window. TRUE GtkEntryCompletion::popup-set-width gboolean rw Popup set width If TRUE, the popup window will have the same size as the entry. TRUE GtkEntryCompletion::popup-single-match gboolean rw Popup single match If TRUE, the popup window will appear for a single match. TRUE GtkEntryCompletion::text-column gint >= -1 rw Text column The column of the model containing the strings. -1 GtkEntry::activates-default gboolean rw Activates default Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed. FALSE GtkEntry::attributes PangoAttrList* rw Attributes A list of style attributes to apply to the text of the entry. GtkEntry::buffer GtkEntryBuffer* rwx Text Buffer Text buffer object which actually stores entry text. GtkEntry::completion GtkEntryCompletion* rw Completion The auxiliary completion object. GtkEntry::enable-emoji-completion gboolean rw Enable Emoji completion Whether to suggest Emoji replacements. FALSE GtkEntry::extra-menu GMenuModel* rw Extra menu Model menu to append to the context menu. GtkEntry::has-frame gboolean rw Has Frame FALSE removes outside bevel from entry. TRUE GtkEntry::im-module gchar* rw IM module Which IM module should be used. NULL GtkEntry::input-hints GtkInputHints rw hints Hints for the text field behaviour. GtkEntry::input-purpose GtkInputPurpose rw Purpose Purpose of the text field. GTK_INPUT_PURPOSE_FREE_FORM GtkEntry::invisible-char guint rw Invisible character The character to use when masking entry contents (in “password mode”). '*' GtkEntry::invisible-char-set gboolean rw Invisible character set Whether the invisible character has been set. FALSE GtkEntry::max-length gint [0,65535] rw Maximum length Maximum number of characters for this entry. Zero if no maximum. 0 GtkEntry::overwrite-mode gboolean rw Overwrite mode Whether new text overwrites existing text. FALSE GtkEntry::placeholder-text gchar* rw Placeholder text Show text in the entry when it’s empty and unfocused. NULL GtkEntry::primary-icon-activatable gboolean rw Primary icon activatable Whether the primary icon is activatable. TRUE GtkEntry::primary-icon-gicon GIcon* rw Primary GIcon GIcon for primary icon. GtkEntry::primary-icon-name gchar* rw Primary icon name Icon name for primary icon. NULL GtkEntry::primary-icon-paintable GdkPaintable* rw Primary paintable Primary paintable for the entry. GtkEntry::primary-icon-sensitive gboolean rw Primary icon sensitive Whether the primary icon is sensitive. TRUE GtkEntry::primary-icon-storage-type GtkImageType r Primary storage type The representation being used for primary icon. GTK_IMAGE_EMPTY GtkEntry::primary-icon-tooltip-markup gchar* rw Primary icon tooltip markup The contents of the tooltip on the primary icon. NULL GtkEntry::primary-icon-tooltip-text gchar* rw Primary icon tooltip text The contents of the tooltip on the primary icon. NULL GtkEntry::progress-fraction gdouble [0,1] rw Progress Fraction The current fraction of the task that’s been completed. 0 GtkEntry::progress-pulse-step gdouble [0,1] rw Progress Pulse Step The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse(). 0 GtkEntry::scroll-offset gint >= 0 r Scroll offset Number of pixels of the entry scrolled off the screen to the left. 0 GtkEntry::secondary-icon-activatable gboolean rw Secondary icon activatable Whether the secondary icon is activatable. TRUE GtkEntry::secondary-icon-gicon GIcon* rw Secondary GIcon GIcon for secondary icon. GtkEntry::secondary-icon-name gchar* rw Secondary icon name Icon name for secondary icon. NULL GtkEntry::secondary-icon-paintable GdkPaintable* rw Secondary paintable Secondary paintable for the entry. GtkEntry::secondary-icon-sensitive gboolean rw Secondary icon sensitive Whether the secondary icon is sensitive. TRUE GtkEntry::secondary-icon-storage-type GtkImageType r Secondary storage type The representation being used for secondary icon. GTK_IMAGE_EMPTY GtkEntry::secondary-icon-tooltip-markup gchar* rw Secondary icon tooltip markup The contents of the tooltip on the secondary icon. NULL GtkEntry::secondary-icon-tooltip-text gchar* rw Secondary icon tooltip text The contents of the tooltip on the secondary icon. NULL GtkEntry::show-emoji-icon gboolean rw Emoji icon Whether to show an icon for Emoji. FALSE GtkEntry::tabs PangoTabArray* rw Tabs A list of tabstop locations to apply to the text of the entry. GtkEntry::text-length guint <= 65535 r Text length Length of the text currently in the entry. 0 GtkEntry::truncate-multiline gboolean rw Truncate multiline Whether to truncate multiline pastes to one line. FALSE GtkEntry::visibility gboolean rw Visibility FALSE displays the “invisible char” instead of the actual text (password mode). TRUE GtkEventController::name gchar* rw Name Name for this controller. NULL GtkEventController::propagation-limit GtkPropagationLimit rw Propagation limit Propagation limit for events handled by this controller. GTK_LIMIT_SAME_NATIVE GtkEventController::propagation-phase GtkPropagationPhase rw Propagation phase Propagation phase at which this controller is run. GTK_PHASE_BUBBLE GtkEventController::widget GtkWidget* r Widget Widget the gesture relates to. GtkEventControllerFocus::contains-focus gboolean r Contains Focus Whether the focus is in a descendant of the controllers widget. FALSE GtkEventControllerFocus::is-focus gboolean r Is Focus Whether the focus is in the controllers widget. FALSE GtkEventControllerMotion::contains-pointer gboolean r Contains Pointer Whether the pointer is in the controllers widget or a descendant. FALSE GtkEventControllerMotion::is-pointer gboolean r Is Pointer Whether the pointer is in the controllers widget. FALSE GtkEventControllerScroll::flags GtkEventControllerScrollFlags rw Flags Flags. GtkExpander::child GtkWidget* rw Child The child widget. GtkExpander::expanded gboolean rwx Expanded Whether the expander has been opened to reveal the child widget. FALSE GtkExpander::label gchar* rwx Label Text of the expander’s label. NULL GtkExpander::label-widget GtkWidget* rw Label widget A widget to display in place of the usual expander label. GtkExpander::resize-toplevel gboolean rw Resize toplevel Whether the expander will resize the toplevel window upon expanding and collapsing. FALSE GtkExpander::use-markup gboolean rwx Use markup The text of the label includes XML markup. See pango_parse_markup(). FALSE GtkExpander::use-underline gboolean rwx Use underline If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key. FALSE GtkFileChooserButton::dialog GtkFileChooser* wX Dialog The file chooser dialog to use. GtkFileChooserButton::modal gboolean rw Modal Whether to make the dialog modal. TRUE GtkFileChooserButton::title gchar* rw Title The title of the file chooser dialog. "Select a File" GtkFileChooserButton::width-chars gint >= -1 rw Width In Characters The desired width of the button widget, in characters. -1 GtkFileChooser::action GtkFileChooserAction rw Action The type of operation that the file selector is performing. GTK_FILE_CHOOSER_ACTION_OPEN GtkFileChooser::create-folders gboolean rw Allow folder creation Whether a file chooser not in open mode will offer the user to create new folders. TRUE GtkFileChooser::filter GtkFileFilter* rw Filter The current filter for selecting which files are displayed. GtkFileChooser::filters GListModel* r Filters List model of filters. GtkFileChooser::select-multiple gboolean rw Select Multiple Whether to allow multiple files to be selected. FALSE GtkFileChooser::shortcut-folders GListModel* r Shortcut Folders List model of shortcut folders. GtkFileChooserWidget::search-mode gboolean rw Search mode Search mode. FALSE GtkFileChooserWidget::subtitle gchar* r Subtitle Subtitle. "" GtkFileFilter::name gchar* rw Name The human-readable name for this filter. NULL GtkFilterListModel::filter GtkFilter* rw Filter The filter set for this model. GtkFilterListModel::incremental gboolean rw Incremental Filter items incrementally. FALSE GtkFilterListModel::model GListModel* rw Model The model being filtered. GtkFilterListModel::pending guint r Pending Number of items not yet filtered. 0 GtkFlattenListModel::model GListModel* rw Model The model being flattened. GtkFlowBox::accept-unpaired-release gboolean rw Accept unpaired release Accept an unpaired release event. FALSE GtkFlowBox::activate-on-single-click gboolean rw Activate on Single Click Activate row on a single click. TRUE GtkFlowBox::column-spacing guint rw Horizontal spacing The amount of horizontal space between two children. 0 GtkFlowBox::homogeneous gboolean rw Homogeneous Whether the children should all be the same size. FALSE GtkFlowBox::max-children-per-line guint >= 1 rw Maximum Children Per Line The maximum amount of children to request space for consecutively in the given orientation. 7 GtkFlowBox::min-children-per-line guint rw Minimum Children Per Line The minimum number of children to allocate consecutively in the given orientation. 0 GtkFlowBox::row-spacing guint rw Vertical spacing The amount of vertical space between two children. 0 GtkFlowBox::selection-mode GtkSelectionMode rw Selection mode The selection mode. GTK_SELECTION_SINGLE GtkFlowBoxChild::child GtkWidget* rw Child The child widget. GtkFontButton::modal gboolean rw Modal Whether the dialog is modal. TRUE GtkFontButton::title gchar* rw Title The title of the font chooser dialog. "Pick a Font" GtkFontButton::use-font gboolean rw Use font in label Whether the label is drawn in the selected font. FALSE GtkFontButton::use-size gboolean rw Use size in label Whether the label is drawn with the selected font size. FALSE GtkFontChooser::font gchar* rw Font Font description as a string, e.g. “Sans Italic 12”. "Sans 10" GtkFontChooser::font-desc PangoFontDescription* rw Font description Font description as a PangoFontDescription struct. GtkFontChooser::font-features gchar* r Font features Font features as a string. "" GtkFontChooser::language gchar* rw Language Language for which features have been selected. "" GtkFontChooser::level GtkFontChooserLevel rw Selection level Whether to select family, face or font. GTK_FONT_CHOOSER_LEVEL_STYLE | GTK_FONT_CHOOSER_LEVEL_SIZE GtkFontChooser::preview-text gchar* rw Preview text The text to display in order to demonstrate the selected font. "The quick brown fox jumps over the lazy dog." GtkFontChooser::show-preview-entry gboolean rw Show preview text entry Whether the preview text entry is shown or not. TRUE GtkFontChooserWidget::tweak-action GAction* r The tweak action The toggle action to switch to the tweak page. GtkFrame::child GtkWidget* rw Child The child widget. GtkFrame::label gchar* rw Label Text of the frame’s label. NULL GtkFrame::label-widget GtkWidget* rw Label widget A widget to display in place of the usual frame label. GtkFrame::label-xalign gfloat [0,1] rw Label xalign The horizontal alignment of the label. 0 GtkGesture::n-points guint >= 1 rwX Number of points Number of points needed to trigger the gesture. 1 GtkGestureLongPress::delay-factor gdouble [0.5,2] rw Delay factor Factor by which to modify the default timeout. 1 GtkGesturePan::orientation GtkOrientation rw Orientation Allowed orientations. GTK_ORIENTATION_HORIZONTAL GtkGestureSingle::button guint rw Button number Button number to listen to. 1 GtkGestureSingle::exclusive gboolean rw Whether the gesture is exclusive Whether the gesture is exclusive. FALSE GtkGestureSingle::touch-only gboolean rw Handle only touch events Whether the gesture handles only touch events. FALSE GtkGLArea::auto-render gboolean rw Auto render Whether the GtkGLArea renders on each redraw. TRUE GtkGLArea::context GdkGLContext* r Context The GL context. GtkGLArea::has-depth-buffer gboolean rw Has depth buffer Whether a depth buffer is allocated. FALSE GtkGLArea::has-stencil-buffer gboolean rw Has stencil buffer Whether a stencil buffer is allocated. FALSE GtkGLArea::use-es gboolean rw Use OpenGL ES Whether the context uses OpenGL or OpenGL ES. FALSE GtkGrid::baseline-row gint >= 0 rw Baseline Row The row to align the to the baseline when valign is GTK_ALIGN_BASELINE. 0 GtkGrid::column-homogeneous gboolean rw Column Homogeneous If TRUE, the columns are all the same width. FALSE GtkGrid::column-spacing gint [0,32767] rw Column spacing The amount of space between two consecutive columns. 0 GtkGrid::row-homogeneous gboolean rw Row Homogeneous If TRUE, the rows are all the same height. FALSE GtkGrid::row-spacing gint [0,32767] rw Row spacing The amount of space between two consecutive rows. 0 GtkGridLayoutChild::column-span gint >= 1 rw Column span The number of columns that a child spans. 1 GtkGridLayoutChild::left-attach gint rw Left attachment The column number to attach the left side of the child to. 0 GtkGridLayoutChild::row-span gint >= 1 rw Row span The number of rows that a child spans. 1 GtkGridLayoutChild::top-attach gint rw Top attachment The row number to attach the top side of a child widget to. 0 GtkGridLayout::baseline-row gint >= 0 rw Baseline Row The row to align the to the baseline when valign is GTK_ALIGN_BASELINE. 0 GtkGridLayout::column-homogeneous gboolean rw Column Homogeneous If TRUE, the columns are all the same width. FALSE GtkGridLayout::column-spacing gint [0,32767] rw Column spacing The amount of space between two consecutive columns. 0 GtkGridLayout::row-homogeneous gboolean rw Row Homogeneous If TRUE, the rows are all the same height. FALSE GtkGridLayout::row-spacing gint [0,32767] rw Row spacing The amount of space between two consecutive rows. 0 GtkGridView::enable-rubberband gboolean rw Enable rubberband selection Allow selecting items by dragging with the mouse. FALSE GtkGridView::factory GtkListItemFactory* rw Factory Factory for populating list items. GtkGridView::max-columns guint >= 1 rw Max columns Maximum number of columns per row. 7 GtkGridView::min-columns guint >= 1 rw Min columns Minimum number of columns per row. 1 GtkGridView::model GListModel* rw Model Model for the items displayed. GtkGridView::single-click-activate gboolean rw Single click activate Activate rows on single click. FALSE GtkHeaderBar::decoration-layout gchar* rw Decoration Layout The layout for window decorations. NULL GtkHeaderBar::show-title-buttons gboolean rw Show title buttons Whether to show title buttons. TRUE GtkHeaderBar::title-widget GtkWidget* rw Title Widget Title widget to display. GtkIconTheme::display GdkDisplay* rw Display Display. GtkIconTheme::icon-names GStrv r Supported icon names Supported icon names. GtkIconTheme::resource-path GStrv rw Resource path Resource path. GtkIconTheme::search-path GStrv rw Search path Search path. GtkIconTheme::theme-name gchar* rw Theme name Theme name. NULL GtkIconView::activate-on-single-click gboolean rw Activate on Single Click Activate row on a single click. FALSE GtkIconView::cell-area GtkCellArea* rwX Cell Area The GtkCellArea used to layout cells. GtkIconView::column-spacing gint >= 0 rw Column Spacing Space which is inserted between grid columns. 6 GtkIconView::columns gint >= -1 rw Number of columns Number of columns to display. -1 GtkIconView::item-orientation GtkOrientation rw Item Orientation How the text and icon of each item are positioned relative to each other. GTK_ORIENTATION_VERTICAL GtkIconView::item-padding gint >= 0 rw Item Padding Padding around icon view items. 6 GtkIconView::item-width gint >= -1 rw Width for each item The width used for each item. -1 GtkIconView::margin gint >= 0 rw Margin Space which is inserted at the edges of the icon view. 6 GtkIconView::markup-column gint >= -1 rw Markup column Model column used to retrieve the text if using Pango markup. -1 GtkIconView::model GtkTreeModel* rw Icon View Model The model for the icon view. GtkIconView::pixbuf-column gint >= -1 rw Pixbuf column Model column used to retrieve the icon pixbuf from. -1 GtkIconView::reorderable gboolean rw Reorderable View is reorderable. FALSE GtkIconView::row-spacing gint >= 0 rw Row Spacing Space which is inserted between grid rows. 6 GtkIconView::selection-mode GtkSelectionMode rw Selection mode The selection mode. GTK_SELECTION_SINGLE GtkIconView::spacing gint >= 0 rw Spacing Space which is inserted between cells of an item. 0 GtkIconView::text-column gint >= -1 rw Text column Model column used to retrieve the text from. -1 GtkIconView::tooltip-column gint >= -1 rw Tooltip Column The column in the model containing the tooltip texts for the items. -1 GtkImage::file gchar* rw Filename Filename to load and display. NULL GtkImage::gicon GIcon* rw Icon The GIcon being displayed. GtkImage::icon-name gchar* rw Icon Name The name of the icon from the icon theme. NULL GtkImage::icon-size GtkIconSize rw Icon size Symbolic size to use for icon set or named icon. GTK_ICON_SIZE_INHERIT GtkImage::paintable GdkPaintable* rw Paintable A GdkPaintable to display. GtkImage::pixel-size gint >= -1 rw Pixel size Pixel size to use for named icon. -1 GtkImage::resource gchar* rw Resource The resource path being displayed. NULL GtkImage::storage-type GtkImageType r Storage type The representation being used for image data. GTK_IMAGE_EMPTY GtkImage::use-fallback gboolean rw Use Fallback Whether to use icon names fallback. FALSE GtkIMContext::input-hints GtkInputHints rw hints Hints for the text field behaviour. GtkIMContext::input-purpose GtkInputPurpose rw Purpose Purpose of the text field. GTK_INPUT_PURPOSE_FREE_FORM GtkInfoBar::message-type GtkMessageType rwx Message Type The type of message. GTK_MESSAGE_INFO GtkInfoBar::revealed gboolean rw Reveal Controls whether the info bar shows its contents or not. TRUE GtkInfoBar::show-close-button gboolean rwx Show Close Button Whether to include a standard close button. FALSE GtkLabel::attributes PangoAttrList* rw Attributes A list of style attributes to apply to the text of the label. GtkLabel::ellipsize PangoEllipsizeMode rw Ellipsize The preferred place to ellipsize the string, if the label does not have enough room to display the entire string. PANGO_ELLIPSIZE_NONE GtkLabel::extra-menu GMenuModel* rw Extra menu Menu model to append to the context menu. GtkLabel::justify GtkJustification rw Justification 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 GtkLabel:xalign for that. GTK_JUSTIFY_LEFT GtkLabel::label gchar* rw Label The text of the label. "" GtkLabel::lines gint >= -1 rw Number of lines The desired number of lines, when ellipsizing a wrapping label. -1 GtkLabel::max-width-chars gint >= -1 rw Maximum Width In Characters The desired maximum width of the label, in characters. -1 GtkLabel::mnemonic-keyval guint r Mnemonic key The mnemonic accelerator key for this label. 16777215 GtkLabel::mnemonic-widget GtkWidget* rw Mnemonic widget The widget to be activated when the label’s mnemonic key is pressed. GtkLabel::selectable gboolean rw Selectable Whether the label text can be selected with the mouse. FALSE GtkLabel::single-line-mode gboolean rw Single Line Mode Whether the label is in single line mode. FALSE GtkLabel::use-markup gboolean rw Use markup The text of the label includes XML markup. See pango_parse_markup(). FALSE GtkLabel::use-underline gboolean rw Use underline If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key. FALSE GtkLabel::width-chars gint >= -1 rw Width In Characters The desired width of the label, in characters. -1 GtkLabel::wrap gboolean rw Line wrap If set, wrap lines if the text becomes too wide. FALSE GtkLabel::wrap-mode PangoWrapMode rw Line wrap mode If wrap is set, controls how linewrapping is done. PANGO_WRAP_WORD GtkLabel::xalign gfloat [0,1] rw X align The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts. 0.5 GtkLabel::yalign gfloat [0,1] rw Y align The vertical alignment, from 0 (top) to 1 (bottom). 0.5 GtkLayoutChild::child-widget GtkWidget* rwX Child Widget The child widget that is associated to this object. GtkLayoutChild::layout-manager GtkLayoutManager* rwX Layout Manager The layout manager that created this object. GtkLinkButton::uri gchar* rw URI The URI bound to this button. NULL GtkLinkButton::visited gboolean rw Visited Whether this link has been visited. FALSE GtkListItem::activatable gboolean rw Activatable If the item can be activated by the user. TRUE GtkListItem::child GtkWidget* rw Child Widget used for display. GtkListItem::item GObject* r Item Displayed item. GtkListItem::position guint r Position Position of the item. 4294967295 GtkListItem::selectable gboolean rw Selectable If the item can be selected by the user. TRUE GtkListItem::selected gboolean r Selected If the item is currently selected. FALSE GtkListBox::accept-unpaired-release gboolean rw Accept unpaired release Accept unpaired release. FALSE GtkListBox::activate-on-single-click gboolean rw Activate on Single Click Activate row on a single click. TRUE GtkListBox::selection-mode GtkSelectionMode rw Selection mode The selection mode. GTK_SELECTION_SINGLE GtkListBox::show-separators gboolean rw Show separators Show separators between rows. FALSE GtkListBoxRow::activatable gboolean rw Activatable Whether this row can be activated. TRUE GtkListBoxRow::child GtkWidget* rw Child The child widget. GtkListBoxRow::selectable gboolean rw Selectable Whether this row can be selected. TRUE GtkListView::enable-rubberband gboolean rw Enable rubberband selection Allow selecting items by dragging with the mouse. FALSE GtkListView::factory GtkListItemFactory* rw Factory Factory for populating list items. GtkListView::model GListModel* rw Model Model for the items displayed. GtkListView::show-separators gboolean rw Show separators Show separators between rows. FALSE GtkListView::single-click-activate gboolean rw Single click activate Activate rows on single click. FALSE GtkLockButton::permission GPermission* rw Permission The GPermission object controlling this button. GtkLockButton::text-lock gchar* rwx Lock Text The text to display when prompting the user to lock. "Lock" GtkLockButton::text-unlock gchar* rwx Unlock Text The text to display when prompting the user to unlock. "Unlock" GtkLockButton::tooltip-lock gchar* rwx Lock Tooltip The tooltip to display when prompting the user to lock. "Dialog is unlocked.\nClick to prevent further changes" GtkLockButton::tooltip-not-authorized gchar* rwx Not Authorized Tooltip The tooltip to display when prompting the user cannot obtain authorization. "System policy prevents changes.\nContact your system administrator" GtkLockButton::tooltip-unlock gchar* rwx Unlock Tooltip The tooltip to display when prompting the user to unlock. "Dialog is locked.\nClick to make changes" GtkMapListModel::has-map gboolean r has map If a map is set for this model. FALSE GtkMapListModel::model GListModel* rwX Model The model being mapped. GtkMediaControls::media-stream GtkMediaStream* rw Media Stream The media stream managed. GtkMediaFile::file GFile* rw File File being played back. GtkMediaFile::input-stream GInputStream* rw Input stream Input stream being played back. GtkMediaStream::duration gint64 >= 0 r Duration Timestamp in microseconds. 0 GtkMediaStream::ended gboolean r Ended Set when playback has finished. FALSE GtkMediaStream::error GError* r Error Error the stream is in. GtkMediaStream::has-audio gboolean r Has audio Whether the stream contains audio. FALSE GtkMediaStream::has-video gboolean r Has video Whether the stream contains video. FALSE GtkMediaStream::loop gboolean rw Loop Try to restart the media from the beginning once it ended. FALSE GtkMediaStream::muted gboolean rw Muted Whether the audio stream should be muted. FALSE GtkMediaStream::playing gboolean rw Playing Whether the stream is playing. FALSE GtkMediaStream::prepared gboolean rw Prepared Whether the stream has finished initializing. FALSE GtkMediaStream::seekable gboolean r Seekable Set unless seeking is not supported. TRUE GtkMediaStream::seeking gboolean r Seeking Set while a seek is in progress. FALSE GtkMediaStream::timestamp gint64 >= 0 r Timestamp Timestamp in microseconds. 0 GtkMediaStream::volume gdouble [0,1] rw Volume Volume of the audio stream. 1 GtkMenuButton::direction GtkArrowType rw Direction The direction the arrow should point. GTK_ARROW_DOWN GtkMenuButton::has-frame gboolean rw Has frame Whether the button has a frame. TRUE GtkMenuButton::icon-name gchar* rw Icon Name The name of the icon used to automatically populate the button. NULL GtkMenuButton::label gchar* rw Label The label for the button. NULL GtkMenuButton::menu-model GMenuModel* rw Menu model The model from which the popup is made. GtkMenuButton::popover GtkPopover* rw Popover The popover. GtkMenuButton::use-underline gboolean rw Use underline If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key. FALSE GtkMessageDialog::buttons GtkButtonsType wX Message Buttons The buttons shown in the message dialog. GTK_BUTTONS_NONE GtkMessageDialog::message-area GtkWidget* r Message area GtkBox that holds the dialog’s primary and secondary labels. GtkMessageDialog::message-type GtkMessageType rwx Message Type The type of message. GTK_MESSAGE_INFO GtkMessageDialog::secondary-text gchar* rw Secondary Text The secondary text of the message dialog. NULL GtkMessageDialog::secondary-use-markup gboolean rw Use Markup in secondary The secondary text includes Pango markup. FALSE GtkMessageDialog::text gchar* rw Text The primary text of the message dialog. "" GtkMessageDialog::use-markup gboolean rw Use Markup The primary text of the title includes Pango markup. FALSE GtkMountOperation::display GdkDisplay* rw Display The display where this window will be displayed. GtkMountOperation::is-showing gboolean r Is Showing Are we showing a dialog. FALSE GtkMountOperation::parent GtkWindow* rw Parent The parent window. GtkMultiSelection::model GListModel* rw Model List managed by this selection. GtkNativeDialog::modal gboolean rw Modal If TRUE, the dialog is modal (other windows are not usable while this one is up). FALSE GtkNativeDialog::title gchar* rw Dialog Title The title of the file chooser dialog. NULL GtkNativeDialog::transient-for GtkWindow* rwx Transient for Window The transient parent of the dialog. GtkNativeDialog::visible gboolean rw Visible Whether the dialog is currently visible. FALSE GtkNoSelection::model GListModel* rw The model The model being managed. GtkNotebook::enable-popup gboolean rw Enable Popup If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page. FALSE GtkNotebook::group-name gchar* rw Group Name Group name for tab drag and drop. NULL GtkNotebook::page gint >= -1 rw Page The index of the current page. -1 GtkNotebook::pages GListModel* r Pages The pages of the notebook. GtkNotebook::scrollable gboolean rw Scrollable If TRUE, scroll arrows are added if there are too many tabs to fit. FALSE GtkNotebook::show-border gboolean rw Show Border Whether the border should be shown. TRUE GtkNotebook::show-tabs gboolean rw Show Tabs Whether tabs should be shown. TRUE GtkNotebook::tab-pos GtkPositionType rw Tab Position Which side of the notebook holds the tabs. GTK_POS_TOP GtkNotebookPage::child GtkWidget* rwX Child The child for this page. GtkNotebookPage::detachable gboolean rw Tab detachable Whether the tab is detachable. FALSE GtkNotebookPage::menu GtkWidget* rwX Menu The label widget displayed in the child’s menu entry. GtkNotebookPage::menu-label gchar* rw Menu label The text of the menu widget. NULL GtkNotebookPage::position gint >= -1 rw Position The index of the child in the parent. 0 GtkNotebookPage::reorderable gboolean rw Tab reorderable Whether the tab is reorderable by user action. FALSE GtkNotebookPage::tab GtkWidget* rwX Tab The tab widget for this page. GtkNotebookPage::tab-expand gboolean rw Tab expand Whether to expand the child’s tab. FALSE GtkNotebookPage::tab-fill gboolean rw Tab fill Whether the child’s tab should fill the allocated area. TRUE GtkNotebookPage::tab-label gchar* rw Tab label The text of the tab widget. NULL GtkNumericSorter::expression GtkExpression* rw Expression Expression to compare with. GtkNumericSorter::sort-order GtkSortType rw Sort order Whether to sort smaller numbers first. GTK_SORT_ASCENDING GtkOrientable::orientation GtkOrientation rw Orientation The orientation of the orientable. GTK_ORIENTATION_HORIZONTAL GtkOverlay::child GtkWidget* rw Child The child widget. GtkOverlayLayoutChild::clip-overlay gboolean rw Clip Overlay Clip the overlay child widget so as to fit the parent. FALSE GtkOverlayLayoutChild::measure gboolean rw Measure Include in size measurement. FALSE GtkPadController::action-group GActionGroup* rwX Action group Action group to launch actions from. GtkPadController::pad GdkDevice* rwX Pad device Pad device to control. GtkPaned::end-child GtkWidget* rw Second child The second child. GtkPaned::max-position gint >= 0 r Maximal Position Largest possible value for the “position” property. 2147483647 GtkPaned::min-position gint >= 0 r Minimal Position Smallest possible value for the “position” property. 0 GtkPaned::position gint >= 0 rw Position Position of paned separator in pixels (0 means all the way to the left/top). 0 GtkPaned::position-set gboolean rw Position Set TRUE if the Position property should be used. FALSE GtkPaned::resize-end-child gboolean rw Resize second child If TRUE, the second child expands and shrinks along with the paned widget. TRUE GtkPaned::resize-start-child gboolean rw Resize first child If TRUE, the first child expands and shrinks along with the paned widget. TRUE GtkPaned::shrink-end-child gboolean rw Shrink second child If TRUE, the second child can be made smaller than its requisition. TRUE GtkPaned::shrink-start-child gboolean rw Shrink first child If TRUE, the first child can be made smaller than its requisition. TRUE GtkPaned::start-child GtkWidget* rw First child The first child. GtkPaned::wide-handle gboolean rw Wide Handle Whether the paned should have a prominent handle. FALSE GtkPasswordEntry::activates-default gboolean rw Activates default Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed. FALSE GtkPasswordEntry::extra-menu GMenuModel* rw Extra menu Model menu to append to the context menu. GtkPasswordEntry::placeholder-text gchar* rw Placeholder text Show text in the entry when it’s empty and unfocused. NULL GtkPasswordEntry::show-peek-icon gboolean rw Show Peek Icon Whether to show an icon for revealing the content. FALSE GtkPicture::alternative-text gchar* rw Alternative text The alternative textual description. NULL GtkPicture::can-shrink gboolean rw Can shrink Allow self to be smaller than contents. TRUE GtkPicture::file GFile* rw File File to load and display. GtkPicture::keep-aspect-ratio gboolean rw Keep aspect ratio Render contents respecting the aspect ratio. TRUE GtkPicture::paintable GdkPaintable* rw Paintable The GdkPaintable to display. GtkPopover::autohide gboolean rw Autohide Whether to dismiss the popover on outside clicks. TRUE GtkPopover::child GtkWidget* rw Child The child widget. GtkPopover::default-widget GtkWidget* rw Default widget The default widget. GtkPopover::has-arrow gboolean rw Has Arrow Whether to draw an arrow. TRUE GtkPopover::mnemonics-visible gboolean rw Mnemonics visible Whether mnemonics are currently visible in this popover. FALSE GtkPopover::pointing-to GdkRectangle* rw Pointing to Rectangle the bubble window points to. GtkPopover::position GtkPositionType rw Position Position to place the bubble window. GTK_POS_BOTTOM GtkPopoverMenu::menu-model GMenuModel* rw Menu model The model from which the menu is made. GtkPopoverMenu::visible-submenu gchar* rw Visible submenu The name of the visible submenu. NULL GtkPopoverMenuBar::menu-model GMenuModel* rw Menu model The model from which the bar is made. GtkPrinter::accepting-jobs gboolean r Accepting Jobs TRUE if this printer is accepting new jobs. TRUE GtkPrinter::accepts-pdf gboolean rwX Accepts PDF TRUE if this printer can accept PDF. FALSE GtkPrinter::accepts-ps gboolean rwX Accepts PostScript TRUE if this printer can accept PostScript. TRUE GtkPrinter::backend GtkPrintBackend* rwX Backend Backend for the printer. GtkPrinter::icon-name gchar* r Icon Name The icon name to use for the printer. "printer" GtkPrinter::is-virtual gboolean rwX Is Virtual FALSE if this represents a real hardware printer. FALSE GtkPrinter::job-count gint >= 0 r Job Count Number of jobs queued in the printer. 0 GtkPrinter::location gchar* r Location The location of the printer. "" GtkPrinter::name gchar* rwX Name Name of the printer. "" GtkPrinter::paused gboolean r Paused Printer TRUE if this printer is paused. FALSE GtkPrinter::state-message gchar* r State Message String giving the current state of the printer. "" GtkPrintJob::page-setup GtkPageSetup* rwX Page Setup Page Setup. GtkPrintJob::printer GtkPrinter* rwX Printer Printer to print the job to. GtkPrintJob::settings GtkPrintSettings* rwX Settings Printer settings. GtkPrintJob::title gchar* rwX Title Title of the print job. NULL GtkPrintJob::track-print-status gboolean rw Track Print Status TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server. FALSE GtkPrintOperation::allow-async gboolean rw Allow Async TRUE if print process may run asynchronous. FALSE GtkPrintOperation::current-page gint >= -1 rw Current Page The current page in the document. -1 GtkPrintOperation::custom-tab-label gchar* rw Custom tab label Label for the tab containing custom widgets. NULL GtkPrintOperation::default-page-setup GtkPageSetup* rw Default Page Setup The GtkPageSetup used by default. GtkPrintOperation::embed-page-setup gboolean rw Embed Page Setup TRUE if page setup combos are embedded in GtkPrintUnixDialog. FALSE GtkPrintOperation::export-filename gchar* rw Export filename Export filename. NULL GtkPrintOperation::has-selection gboolean rw Has Selection TRUE if a selection exists. FALSE GtkPrintOperation::job-name gchar* rw Job Name A string used for identifying the print job. "" GtkPrintOperation::n-pages gint >= -1 rw Number of Pages The number of pages in the document. -1 GtkPrintOperation::n-pages-to-print gint >= -1 r Number of Pages To Print The number of pages that will be printed. -1 GtkPrintOperation::print-settings GtkPrintSettings* rw Print Settings The GtkPrintSettings used for initializing the dialog. GtkPrintOperation::show-progress gboolean rw Show Dialog TRUE if a progress dialog is shown while printing. FALSE GtkPrintOperation::status GtkPrintStatus r Status The status of the print operation. GTK_PRINT_STATUS_INITIAL GtkPrintOperation::status-string gchar* r Status String A human-readable description of the status. "" GtkPrintOperation::support-selection gboolean rw Support Selection TRUE if the print operation will support print of selection. FALSE GtkPrintOperation::track-print-status gboolean rw Track Print Status TRUE if the print operation will continue to report on the print job status after the print data has been sent to the printer or print server. FALSE GtkPrintOperation::unit GtkUnit rw Unit The unit in which distances can be measured in the context. GTK_UNIT_NONE GtkPrintOperation::use-full-page gboolean rw Use full page TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area. FALSE GtkPrintUnixDialog::current-page gint >= -1 rw Current Page The current page in the document. -1 GtkPrintUnixDialog::embed-page-setup gboolean rw Embed Page Setup TRUE if page setup combos are embedded in GtkPrintUnixDialog. FALSE GtkPrintUnixDialog::has-selection gboolean rw Has Selection Whether the application has a selection. FALSE GtkPrintUnixDialog::manual-capabilities GtkPrintCapabilities rw Manual Capabilities Capabilities the application can handle. GtkPrintUnixDialog::page-setup GtkPageSetup* rw Page Setup The GtkPageSetup to use. GtkPrintUnixDialog::print-settings GtkPrintSettings* rw Print Settings The GtkPrintSettings used for initializing the dialog. GtkPrintUnixDialog::selected-printer GtkPrinter* r Selected Printer The GtkPrinter which is selected. GtkPrintUnixDialog::support-selection gboolean rw Support Selection Whether the dialog supports selection. FALSE GtkProgressBar::ellipsize PangoEllipsizeMode rw Ellipsize The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, if at all. PANGO_ELLIPSIZE_NONE GtkProgressBar::fraction gdouble [0,1] rw Fraction The fraction of total work that has been completed. 0 GtkProgressBar::inverted gboolean rw Inverted Invert the direction in which the progress bar grows. FALSE GtkProgressBar::pulse-step gdouble [0,1] rw Pulse Step The fraction of total progress to move the bouncing block when pulsed. 0.1 GtkProgressBar::show-text gboolean rw Show text Whether the progress is shown as text. FALSE GtkProgressBar::text gchar* rw Text Text to be displayed in the progress bar. NULL GtkRadioButton::group GtkRadioButton* w Group The radio button whose group this widget belongs to. GtkRange::adjustment GtkAdjustment* rwx Adjustment The GtkAdjustment that contains the current value of this range object. GtkRange::fill-level gdouble rw Fill Level The fill level. 1.79769e+308 GtkRange::inverted gboolean rw Inverted Invert direction slider moves to increase range value. FALSE GtkRange::restrict-to-fill-level gboolean rw Restrict to Fill Level Whether to restrict the upper boundary to the fill level. TRUE GtkRange::round-digits gint >= -1 rw Round Digits The number of digits to round the value to. -1 GtkRange::show-fill-level gboolean rw Show Fill Level Whether to display a fill level indicator graphics on trough. FALSE GtkRecentManager::filename gchar* rwX Filename The full path to the file to be used to store and read the list. NULL GtkRecentManager::size gint >= -1 r Size The size of the recently used resources list. 0 GtkRevealer::child GtkWidget* rw Child The child widget. GtkRevealer::child-revealed gboolean r Child Revealed Whether the child is revealed and the animation target reached. FALSE GtkRevealer::reveal-child gboolean rwx Reveal Child Whether the container should reveal the child. FALSE GtkRevealer::transition-duration guint rwx Transition duration The animation duration, in milliseconds. 250 GtkRevealer::transition-type GtkRevealerTransitionType rwx Transition type The type of animation used to transition. GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN GtkScaleButton::adjustment GtkAdjustment* rw Adjustment The GtkAdjustment that contains the current value of this scale button object. GtkScaleButton::icons GStrv rw Icons List of icon names. GtkScaleButton::value gdouble rw Value The value of the scale. 0 GtkScale::digits gint [-1,64] rw Digits The number of decimal places that are displayed in the value. 1 GtkScale::draw-value gboolean rw Draw Value Whether the current value is displayed as a string next to the slider. TRUE GtkScale::has-origin gboolean rw Has Origin Whether the scale has an origin. TRUE GtkScale::value-pos GtkPositionType rw Value Position The position in which the current value is displayed. GTK_POS_TOP GtkScrollable::hadjustment GtkAdjustment* rwx Horizontal adjustment Horizontal adjustment that is shared between the scrollable widget and its controller. GtkScrollable::hscroll-policy GtkScrollablePolicy rw Horizontal Scrollable Policy How the size of the content should be determined. GTK_SCROLL_MINIMUM GtkScrollable::vadjustment GtkAdjustment* rwx Vertical adjustment Vertical adjustment that is shared between the scrollable widget and its controller. GtkScrollable::vscroll-policy GtkScrollablePolicy rw Vertical Scrollable Policy How the size of the content should be determined. GTK_SCROLL_MINIMUM GtkScrollbar::adjustment GtkAdjustment* rwx Adjustment The GtkAdjustment that contains the current value of this scrollbar. GtkScrolledWindow::child GtkWidget* rw Child The child widget. GtkScrolledWindow::hadjustment GtkAdjustment* rwx Horizontal Adjustment The GtkAdjustment for the horizontal position. GtkScrolledWindow::has-frame gboolean rw Has Frame Whether to draw a frame around the contents. FALSE GtkScrolledWindow::hscrollbar-policy GtkPolicyType rw Horizontal Scrollbar Policy When the horizontal scrollbar is displayed. GTK_POLICY_AUTOMATIC GtkScrolledWindow::kinetic-scrolling gboolean rw Kinetic Scrolling Kinetic scrolling mode. TRUE GtkScrolledWindow::max-content-height gint >= -1 rw Maximum Content Height The maximum height that the scrolled window will allocate to its content. -1 GtkScrolledWindow::max-content-width gint >= -1 rw Maximum Content Width The maximum width that the scrolled window will allocate to its content. -1 GtkScrolledWindow::min-content-height gint >= -1 rw Minimum Content Height The minimum height that the scrolled window will allocate to its content. -1 GtkScrolledWindow::min-content-width gint >= -1 rw Minimum Content Width The minimum width that the scrolled window will allocate to its content. -1 GtkScrolledWindow::overlay-scrolling gboolean rw Overlay Scrolling Overlay scrolling mode. TRUE GtkScrolledWindow::propagate-natural-height gboolean rw Propagate Natural Height Propagate Natural Height. FALSE GtkScrolledWindow::propagate-natural-width gboolean rw Propagate Natural Width Propagate Natural Width. FALSE GtkScrolledWindow::vadjustment GtkAdjustment* rwx Vertical Adjustment The GtkAdjustment for the vertical position. GtkScrolledWindow::vscrollbar-policy GtkPolicyType rw Vertical Scrollbar Policy When the vertical scrollbar is displayed. GTK_POLICY_AUTOMATIC GtkScrolledWindow::window-placement GtkCornerType rw Window Placement Where the contents are located with respect to the scrollbars. GTK_CORNER_TOP_LEFT GtkSearchBar::child GtkWidget* rwx Child The child widget. GtkSearchBar::key-capture-widget GtkWidget* rwx Key Capture Widget Key Capture Widget. GtkSearchBar::search-mode-enabled gboolean rw Search Mode Enabled Whether the search mode is on and the search bar shown. FALSE GtkSearchBar::show-close-button gboolean rwx Show Close Button Whether to show the close button in the toolbar. FALSE GtkSearchEntry::activates-default gboolean rw Activates default Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed. FALSE GtkSearchEntry::placeholder-text gchar* rw Placeholder text Show text in the entry when it’s empty and unfocused. NULL GtkSelectionFilterModel::model GtkSelectionModel* rw Model The model being filtered. GtkSettings::gtk-alternative-button-order gboolean rw Alternative button order Whether buttons in dialogs should use the alternative button order. FALSE GtkSettings::gtk-alternative-sort-arrows gboolean rw Alternative sort indicator direction Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending). FALSE GtkSettings::gtk-application-prefer-dark-theme gboolean rw Application prefers a dark theme Whether the application prefers to have a dark theme. FALSE GtkSettings::gtk-cursor-aspect-ratio gfloat [0,1] rw Cursor Aspect Ratio The aspect ratio of the text caret. 0.04 GtkSettings::gtk-cursor-blink gboolean rw Cursor Blink Whether the cursor should blink. TRUE GtkSettings::gtk-cursor-blink-time gint >= 100 rw Cursor Blink Time Length of the cursor blink cycle, in milliseconds. 1200 GtkSettings::gtk-cursor-blink-timeout gint >= 1 rw Cursor Blink Timeout Time after which the cursor stops blinking, in seconds. 10 GtkSettings::gtk-cursor-theme-name gchar* rw Cursor theme name Name of the cursor theme to use, or NULL to use the default theme. NULL GtkSettings::gtk-cursor-theme-size gint [0,128] rw Cursor theme size Size to use for cursors, or 0 to use the default size. 0 GtkSettings::gtk-decoration-layout gchar* rw Decoration Layout The layout for window decorations. "menu:minimize,maximize,close" GtkSettings::gtk-dialogs-use-header gboolean rw Dialogs use header bar Whether builtin GTK dialogs should use a header bar instead of an action area. FALSE GtkSettings::gtk-dnd-drag-threshold gint >= 1 rw Drag threshold Number of pixels the cursor can move before dragging. 8 GtkSettings::gtk-double-click-distance gint >= 0 rw Double Click Distance Maximum distance allowed between two clicks for them to be considered a double click (in pixels). 5 GtkSettings::gtk-double-click-time gint >= 0 rw Double Click Time Maximum time allowed between two clicks for them to be considered a double click (in milliseconds). 400 GtkSettings::gtk-enable-accels gboolean rw Enable Accelerators Whether menu items should have accelerators. TRUE GtkSettings::gtk-enable-animations gboolean rw Enable Animations Whether to enable toolkit-wide animations. TRUE GtkSettings::gtk-enable-event-sounds gboolean rw Enable Event Sounds Whether to play any event sounds at all. TRUE GtkSettings::gtk-enable-input-feedback-sounds gboolean rw Audible Input Feedback Whether to play event sounds as feedback to user input. TRUE GtkSettings::gtk-enable-primary-paste gboolean rw Enable primary paste Whether a middle click on a mouse should paste the “PRIMARY” clipboard content at the cursor location. TRUE GtkSettings::gtk-entry-password-hint-timeout guint rw Password Hint Timeout How long to show the last input character in hidden entries. 0 GtkSettings::gtk-entry-select-on-focus gboolean rw Select on focus Whether to select the contents of an entry when it is focused. TRUE GtkSettings::gtk-error-bell gboolean rw Error Bell When TRUE, keyboard navigation and other errors will cause a beep. TRUE GtkSettings::gtk-font-name gchar* rw Font Name The default font family and size to use. "Sans 10" GtkSettings::gtk-fontconfig-timestamp guint rw Fontconfig configuration timestamp Timestamp of current fontconfig configuration. 0 GtkSettings::gtk-icon-theme-name gchar* rw Icon Theme Name Name of icon theme to use. "Adwaita" GtkSettings::gtk-im-module gchar* rw Default IM module Which IM module should be used by default. NULL GtkSettings::gtk-keynav-use-caret gboolean rw Whether to show cursor in text Whether to show cursor in text. FALSE GtkSettings::gtk-label-select-on-focus gboolean rw Select on focus Whether to select the contents of a selectable label when it is focused. TRUE GtkSettings::gtk-long-press-time guint <= G_MAXINT rw Long press time Time for a button/touch press to be considered a long press (in milliseconds). 500 GtkSettings::gtk-overlay-scrolling gboolean rw Whether to use overlay scrollbars Whether to use overlay scrollbars. TRUE GtkSettings::gtk-primary-button-warps-slider gboolean rw Primary button warps slider Whether a primary click on the trough should warp the slider into position. TRUE GtkSettings::gtk-print-backends gchar* rw Default print backend List of the GtkPrintBackend backends to use by default. "file,cups" GtkSettings::gtk-print-preview-command gchar* rw Default command to run when displaying a print preview Command to run when displaying a print preview. "evince --unlink-tempfile --preview --print-settings %s %f" GtkSettings::gtk-recent-files-enabled gboolean rw Recent Files Enabled Whether GTK remembers recent files. TRUE GtkSettings::gtk-recent-files-max-age gint >= -1 rw Recent Files Max Age Maximum age of recently used files, in days. 30 GtkSettings::gtk-shell-shows-app-menu gboolean rw Desktop shell shows app menu Set to TRUE if the desktop environment is displaying the app menu, FALSE if the app should display it itself. FALSE GtkSettings::gtk-shell-shows-desktop gboolean rw Desktop environment shows the desktop folder Set to TRUE if the desktop environment is displaying the desktop folder, FALSE if not. TRUE GtkSettings::gtk-shell-shows-menubar gboolean rw Desktop shell shows the menubar Set to TRUE if the desktop environment is displaying the menubar, FALSE if the app should display it itself. FALSE GtkSettings::gtk-sound-theme-name gchar* rw Sound Theme Name XDG sound theme name. "freedesktop" GtkSettings::gtk-split-cursor gboolean rw Split Cursor Whether two cursors should be displayed for mixed left-to-right and right-to-left text. TRUE GtkSettings::gtk-theme-name gchar* rw Theme Name Name of theme to load. "Adwaita" GtkSettings::gtk-titlebar-double-click gchar* rw Titlebar double-click action The action to take on titlebar double-click. "toggle-maximize" GtkSettings::gtk-titlebar-middle-click gchar* rw Titlebar middle-click action The action to take on titlebar middle-click. "none" GtkSettings::gtk-titlebar-right-click gchar* rw Titlebar right-click action The action to take on titlebar right-click. "menu" GtkSettings::gtk-xft-antialias gint [-1,1] rw Xft Antialias Whether to antialias Xft fonts; 0=no, 1=yes, -1=default. -1 GtkSettings::gtk-xft-dpi gint [-1,1048576] rw Xft DPI Resolution for Xft, in 1024 * dots/inch. -1 to use default value. -1 GtkSettings::gtk-xft-hinting gint [-1,1] rw Xft Hinting Whether to hint Xft fonts; 0=no, 1=yes, -1=default. -1 GtkSettings::gtk-xft-hintstyle gchar* rw Xft Hint Style What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull. NULL GtkSettings::gtk-xft-rgba gchar* rw Xft RGBA Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr. NULL GtkShortcut::action GtkShortcutAction* rw Action The action activated by this shortcut. GtkShortcut::arguments GVariant* GVariant<*> rw Arguments Arguments passed to activation. NULL GtkShortcut::trigger GtkShortcutTrigger* rw Trigger The trigger for this shortcut. GtkShortcutController::mnemonic-modifiers GdkModifierType rw Mnemonic modifiers The modifiers to be pressed to allow mnemonics activation. GDK_ALT_MASK GtkShortcutController::model GListModel* wX Model A list model to take shortcuts from. GtkShortcutController::scope GtkShortcutScope rw Scope What scope the shortcuts will be handled in. GTK_SHORTCUT_SCOPE_LOCAL GtkShortcutLabel::accelerator gchar* rw Accelerator Accelerator. NULL GtkShortcutLabel::disabled-text gchar* rw Disabled text Disabled text. NULL GtkShortcutsWindow::section-name gchar* rw Section Name Section Name. "internal-search" GtkShortcutsWindow::view-name gchar* rw View Name View Name. NULL GtkShortcutsSection::max-height guint rw Maximum Height Maximum Height. 15 GtkShortcutsSection::section-name gchar* rw Section Name Section Name. NULL GtkShortcutsSection::title gchar* rw Title Title. NULL GtkShortcutsSection::view-name gchar* rw View Name View Name. NULL GtkShortcutsGroup::accel-size-group GtkSizeGroup* w Accelerator Size Group Accelerator Size Group. GtkShortcutsGroup::height guint r Height Height. 1 GtkShortcutsGroup::title gchar* rw Title Title. "" GtkShortcutsGroup::title-size-group GtkSizeGroup* w Title Size Group Title Size Group. GtkShortcutsGroup::view gchar* rw View View. NULL GtkShortcutsShortcut::accel-size-group GtkSizeGroup* w Accelerator Size Group Accelerator Size Group. GtkShortcutsShortcut::accelerator gchar* rw Accelerator The accelerator keys for shortcuts of type “Accelerator”. NULL GtkShortcutsShortcut::action-name gchar* rw Action Name The name of the action. NULL GtkShortcutsShortcut::direction GtkTextDirection rw Direction Text direction for which this shortcut is active. GTK_TEXT_DIR_NONE GtkShortcutsShortcut::icon GIcon* rw Icon The icon to show for shortcuts of type “Other Gesture”. GtkShortcutsShortcut::icon-set gboolean rw Icon Set Whether an icon has been set. FALSE GtkShortcutsShortcut::shortcut-type GtkShortcutType rw Shortcut Type The type of shortcut that is represented. GTK_SHORTCUT_ACCELERATOR GtkShortcutsShortcut::subtitle gchar* rw Subtitle A short description for the gesture. "" GtkShortcutsShortcut::subtitle-set gboolean rw Subtitle Set Whether a subtitle has been set. FALSE GtkShortcutsShortcut::title gchar* rw Title A short description for the shortcut. "" GtkShortcutsShortcut::title-size-group GtkSizeGroup* w Title Size Group Title Size Group. GtkSingleSelection::autoselect gboolean rw Autoselect If the selection will always select an item. TRUE GtkSingleSelection::can-unselect gboolean rw Can unselect If unselecting the selected item is allowed. FALSE GtkSingleSelection::model GListModel* rw The model The model being managed. GtkSingleSelection::selected guint rw Selected Position of the selected item. 4294967295 GtkSingleSelection::selected-item GObject* r Selected Item The selected item. GtkSizeGroup::mode GtkSizeGroupMode rw Mode The directions in which the size group affects the requested sizes of its component widgets. GTK_SIZE_GROUP_HORIZONTAL GtkSliceListModel::model GListModel* rw Model Child model to take slice from. GtkSliceListModel::offset guint rw Offset Offset of slice. 0 GtkSliceListModel::size guint rw Size Maximum size of slice. 10 GtkSortListModel::incremental gboolean rw Incremental Sort items incrementally. FALSE GtkSortListModel::model GListModel* rw Model The model being sorted. GtkSortListModel::pending guint r Pending Estimate of unsorted items remaining. 0 GtkSortListModel::sorter GtkSorter* rw Sorter The sorter for this model. GtkSpinButton::adjustment GtkAdjustment* rw Adjustment The adjustment that holds the value of the spin button. GtkSpinButton::climb-rate gdouble >= 0 rw Climb Rate The acceleration rate when you hold down a button or key. 0 GtkSpinButton::digits guint <= 20 rw Digits The number of decimal places to display. 0 GtkSpinButton::numeric gboolean rw Numeric Whether non-numeric characters should be ignored. FALSE GtkSpinButton::snap-to-ticks gboolean rw Snap to Ticks Whether erroneous values are automatically changed to a spin button’s nearest step increment. FALSE GtkSpinButton::update-policy GtkSpinButtonUpdatePolicy rw Update Policy Whether the spin button should update always, or only when the value is legal. GTK_UPDATE_ALWAYS GtkSpinButton::value gdouble rw Value Reads the current value, or sets a new value. 0 GtkSpinButton::wrap gboolean rw Wrap Whether a spin button should wrap upon reaching its limits. FALSE GtkSpinner::spinning gboolean rw Spinning Whether the spinner is spinning. FALSE GtkStack::hhomogeneous gboolean rw Horizontally homogeneous Horizontally homogeneous sizing. TRUE GtkStack::interpolate-size gboolean rw Interpolate size Whether or not the size should smoothly change when changing between differently sized children. FALSE GtkStack::pages GtkSelectionModel* r Pages A selection model with the stacks pages. GtkStack::transition-duration guint rw Transition duration The animation duration, in milliseconds. 200 GtkStack::transition-running gboolean r Transition running Whether or not the transition is currently running. FALSE GtkStack::transition-type GtkStackTransitionType rw Transition type The type of animation used to transition. GTK_STACK_TRANSITION_TYPE_NONE GtkStack::vhomogeneous gboolean rw Vertically homogeneous Vertically homogeneous sizing. TRUE GtkStack::visible-child GtkWidget* rw Visible child The widget currently visible in the stack. GtkStack::visible-child-name gchar* rw Name of visible child The name of the widget currently visible in the stack. NULL GtkStackPage::child GtkWidget* rwX Child The child of the page. GtkStackPage::icon-name gchar* rw Icon name The icon name of the child page. NULL GtkStackPage::name gchar* rwX Name The name of the child page. NULL GtkStackPage::needs-attention gboolean rw Needs Attention Whether this page needs attention. FALSE GtkStackPage::title gchar* rw Title The title of the child page. NULL GtkStackPage::use-underline gboolean rw Use underline If set, an underline in the title indicates the next character should be used for the mnemonic accelerator key. FALSE GtkStackPage::visible gboolean rw Visible Whether this page is visible. TRUE GtkStackSidebar::stack GtkStack* rw Stack Associated stack for this GtkStackSidebar. GtkStackSwitcher::stack GtkStack* rwx Stack Stack. GtkStringFilter::expression GtkExpression* rw Expression Expression to compare with. GtkStringFilter::ignore-case gboolean rw Ignore case If matching is case sensitive. TRUE GtkStringFilter::match-mode GtkStringFilterMatchMode rw Match mode If exact matches are necessary or if substrings are allowed. GTK_STRING_FILTER_MATCH_MODE_SUBSTRING GtkStringFilter::search gchar* rw Search The search term. NULL GtkStringObject::string gchar* r String String. NULL GtkStringSorter::expression GtkExpression* rw Expression Expression to compare with. GtkStringSorter::ignore-case gboolean rw Ignore case If matching is case sensitive. TRUE GtkSwitch::active gboolean rw Active Whether the switch is on or off. FALSE GtkSwitch::state gboolean rw State The backend state. FALSE GtkLevelBar::inverted gboolean rw Inverted Invert the direction in which the level bar grows. FALSE GtkLevelBar::max-value gdouble >= 0 rw Maximum value level for the bar Maximum value level that can be displayed by the bar. 1 GtkLevelBar::min-value gdouble >= 0 rw Minimum value level for the bar Minimum value level that can be displayed by the bar. 0 GtkLevelBar::mode GtkLevelBarMode rw The mode of the value indicator The mode of the value indicator displayed by the bar. GTK_LEVEL_BAR_MODE_CONTINUOUS GtkLevelBar::value gdouble >= 0 rw Currently filled value level Currently filled value level of the level bar. 0 GtkStyleContext::display GdkDisplay* rw Display The associated GdkDisplay. GtkTextBuffer::can-redo gboolean r Can Redo If the buffer can have the last undone action reapplied. FALSE GtkTextBuffer::can-undo gboolean r Can Undo If the buffer can have the last action undone. FALSE GtkTextBuffer::copy-target-list GdkContentFormats* r Copy target list The list of targets this buffer supports for clipboard copying and DND source. GtkTextBuffer::cursor-position gint >= 0 r Cursor position The position of the insert mark (as offset from the beginning of the buffer). 0 GtkTextBuffer::enable-undo gboolean rw Enable Undo Enable support for undo and redo in the text view. TRUE GtkTextBuffer::has-selection gboolean r Has selection Whether the buffer has some text currently selected. FALSE GtkTextBuffer::paste-target-list GdkContentFormats* r Paste target list The list of targets this buffer supports for clipboard pasting and DND destination. GtkTextBuffer::tag-table GtkTextTagTable* rwX Tag Table Text Tag Table. GtkTextBuffer::text gchar* rw Text Current text of the buffer. "" GtkText::activates-default gboolean rw Activates default Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed. FALSE GtkText::attributes PangoAttrList* rw Attributes A list of style attributes to apply to the text of the self. GtkText::buffer GtkEntryBuffer* rwx Text Buffer Text buffer object which actually stores self text. GtkText::enable-emoji-completion gboolean rw Enable Emoji completion Whether to suggest Emoji replacements. FALSE GtkText::extra-menu GMenuModel* rw Extra menu Menu model to append to the context menu. GtkText::im-module gchar* rw IM module Which IM module should be used. NULL GtkText::input-hints GtkInputHints rw hints Hints for the text field behaviour. GtkText::input-purpose GtkInputPurpose rw Purpose Purpose of the text field. GTK_INPUT_PURPOSE_FREE_FORM GtkText::invisible-char guint rw Invisible character The character to use when masking self contents (in “password mode”). '*' GtkText::invisible-char-set gboolean rw Invisible character set Whether the invisible character has been set. FALSE GtkText::max-length gint [0,65535] rw Maximum length Maximum number of characters for this self. Zero if no maximum. 0 GtkText::overwrite-mode gboolean rw Overwrite mode Whether new text overwrites existing text. FALSE GtkText::placeholder-text gchar* rw Placeholder text Show text in the self when it’s empty and unfocused. NULL GtkText::propagate-text-width gboolean rw Propagate text width Whether the entry should grow and shrink with the content. FALSE GtkText::scroll-offset gint >= 0 r Scroll offset Number of pixels of the self scrolled off the screen to the left. 0 GtkText::tabs PangoTabArray* rw Tabs A list of tabstop locations to apply to the text of the self. GtkText::truncate-multiline gboolean rw Truncate multiline Whether to truncate multiline pastes to one line. FALSE GtkText::visibility gboolean rw Visibility FALSE displays the “invisible char” instead of the actual text (password mode). TRUE GtkTextMark::left-gravity gboolean rwX Left gravity Whether the mark has left gravity. FALSE GtkTextMark::name gchar* rwX Name Mark name. NULL GtkTextTag::accumulative-margin gboolean rw Margin Accumulates Whether left and right margins accumulate. FALSE GtkTextTag::allow-breaks gboolean rw Allow Breaks Whether breaks are allowed. TRUE GtkTextTag::allow-breaks-set gboolean rw Allow breaks set Whether this tag affects line breaks. FALSE GtkTextTag::background gchar* w Background color name Background color as a string. NULL GtkTextTag::background-full-height gboolean rw Background full height Whether the background color fills the entire line height or only the height of the tagged characters. FALSE GtkTextTag::background-full-height-set gboolean rw Background full height set Whether this tag affects background height. FALSE GtkTextTag::background-rgba GdkRGBA* rw Background RGBA Background color as a GdkRGBA. GtkTextTag::background-set gboolean rw Background set Whether this tag affects the background color. FALSE GtkTextTag::direction GtkTextDirection rw Text direction Text direction, e.g. right-to-left or left-to-right. GTK_TEXT_DIR_NONE GtkTextTag::editable gboolean rw Editable Whether the text can be modified by the user. TRUE GtkTextTag::editable-set gboolean rw Editability set Whether this tag affects text editability. FALSE GtkTextTag::fallback gboolean rw Fallback Whether font fallback is enabled. TRUE GtkTextTag::fallback-set gboolean rw Fallback set Whether this tag affects font fallback. FALSE GtkTextTag::family gchar* rw Font family Name of the font family, e.g. Sans, Helvetica, Times, Monospace. NULL GtkTextTag::family-set gboolean rw Font family set Whether this tag affects the font family. FALSE GtkTextTag::font gchar* rw Font Font description as a string, e.g. “Sans Italic 12”. NULL GtkTextTag::font-desc PangoFontDescription* rw Font Font description as a PangoFontDescription struct. GtkTextTag::font-features gchar* rw Font Features OpenType Font Features to use. NULL GtkTextTag::font-features-set gboolean rw Font features set Whether this tag affects font features. FALSE GtkTextTag::foreground gchar* w Foreground color name Foreground color as a string. NULL GtkTextTag::foreground-rgba GdkRGBA* rw Foreground RGBA Foreground color as a GdkRGBA. GtkTextTag::foreground-set gboolean rw Foreground set Whether this tag affects the foreground color. FALSE GtkTextTag::indent gint rw Indent Amount to indent the paragraph, in pixels. 0 GtkTextTag::indent-set gboolean rw Indent set Whether this tag affects indentation. FALSE GtkTextTag::insert-hyphens gboolean rw Insert hyphens Whether to insert hyphens at breaks. TRUE GtkTextTag::insert-hyphens-set gboolean rw Insert hyphens set Whether this tag affects insertion of hyphens. FALSE GtkTextTag::invisible gboolean rw Invisible Whether this text is hidden. FALSE GtkTextTag::invisible-set gboolean rw Invisible set Whether this tag affects text visibility. FALSE GtkTextTag::justification GtkJustification rw Justification Left, right, or center justification. GTK_JUSTIFY_LEFT GtkTextTag::justification-set gboolean rw Justification set Whether this tag affects paragraph justification. FALSE GtkTextTag::language gchar* rw Language The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used. NULL GtkTextTag::language-set gboolean rw Language set Whether this tag affects the language the text is rendered as. FALSE GtkTextTag::left-margin gint >= 0 rw Left margin Width of the left margin in pixels. 0 GtkTextTag::left-margin-set gboolean rw Left margin set Whether this tag affects the left margin. FALSE GtkTextTag::letter-spacing gint >= 0 rw Letter Spacing Extra spacing between graphemes. 0 GtkTextTag::letter-spacing-set gboolean rw Letter spacing set Whether this tag affects letter spacing. FALSE GtkTextTag::name gchar* rwX Tag name Name used to refer to the text tag. NULL for anonymous tags. NULL GtkTextTag::overline PangoOverline rw Overline Style of overline for this text. PANGO_OVERLINE_NONE GtkTextTag::overline-rgba GdkRGBA* rw Overline RGBA Color of overline for this text. GtkTextTag::overline-rgba-set gboolean rw Overline RGBA set Whether this tag affects overlining color. FALSE GtkTextTag::overline-set gboolean rw Overline set Whether this tag affects overlining. FALSE GtkTextTag::paragraph-background gchar* w Paragraph background color name Paragraph background color as a string. NULL GtkTextTag::paragraph-background-rgba GdkRGBA* rw Paragraph background RGBA Paragraph background RGBA as a GdkRGBA. GtkTextTag::paragraph-background-set gboolean rw Paragraph background set Whether this tag affects the paragraph background color. FALSE GtkTextTag::pixels-above-lines gint >= 0 rw Pixels above lines Pixels of blank space above paragraphs. 0 GtkTextTag::pixels-above-lines-set gboolean rw Pixels above lines set Whether this tag affects the number of pixels above lines. FALSE GtkTextTag::pixels-below-lines gint >= 0 rw Pixels below lines Pixels of blank space below paragraphs. 0 GtkTextTag::pixels-below-lines-set gboolean rw Pixels below lines set Whether this tag affects the number of pixels above lines. FALSE GtkTextTag::pixels-inside-wrap gint >= 0 rw Pixels inside wrap Pixels of blank space between wrapped lines in a paragraph. 0 GtkTextTag::pixels-inside-wrap-set gboolean rw Pixels inside wrap set Whether this tag affects the number of pixels between wrapped lines. FALSE GtkTextTag::right-margin gint >= 0 rw Right margin Width of the right margin in pixels. 0 GtkTextTag::right-margin-set gboolean rw Right margin set Whether this tag affects the right margin. FALSE GtkTextTag::rise gint rw Rise Offset of text above the baseline (below the baseline if rise is negative) in Pango units. 0 GtkTextTag::rise-set gboolean rw Rise set Whether this tag affects the rise. FALSE GtkTextTag::scale gdouble >= 0 rw Font scale Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE. 1 GtkTextTag::scale-set gboolean rw Font scale set Whether this tag scales the font size by a factor. FALSE GtkTextTag::show-spaces PangoShowFlags rw Show spaces How to render invisible characters. GtkTextTag::show-spaces-set gboolean rw Show spaces set Whether this tag affects rendering of invisible characters. FALSE GtkTextTag::size gint >= 0 rw Font size Font size in Pango units. 0 GtkTextTag::size-points gdouble >= 0 rw Font points Font size in points. 0 GtkTextTag::size-set gboolean rw Font size set Whether this tag affects the font size. FALSE GtkTextTag::stretch PangoStretch rw Font stretch Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED. PANGO_STRETCH_NORMAL GtkTextTag::stretch-set gboolean rw Font stretch set Whether this tag affects the font stretch. FALSE GtkTextTag::strikethrough gboolean rw Strikethrough Whether to strike through the text. FALSE GtkTextTag::strikethrough-rgba GdkRGBA* rw Strikethrough RGBA Color of strikethrough for this text. GtkTextTag::strikethrough-rgba-set gboolean rw Strikethrough RGBA set Whether this tag affects strikethrough color. FALSE GtkTextTag::strikethrough-set gboolean rw Strikethrough set Whether this tag affects strikethrough. FALSE GtkTextTag::style PangoStyle rw Font style Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC. PANGO_STYLE_NORMAL GtkTextTag::style-set gboolean rw Font style set Whether this tag affects the font style. FALSE GtkTextTag::tabs PangoTabArray* rw Tabs Custom tabs for this text. GtkTextTag::tabs-set gboolean rw Tabs set Whether this tag affects tabs. FALSE GtkTextTag::underline PangoUnderline rw Underline Style of underline for this text. PANGO_UNDERLINE_NONE GtkTextTag::underline-rgba GdkRGBA* rw Underline RGBA Color of underline for this text. GtkTextTag::underline-rgba-set gboolean rw Underline RGBA set Whether this tag affects underlining color. FALSE GtkTextTag::underline-set gboolean rw Underline set Whether this tag affects underlining. FALSE GtkTextTag::variant PangoVariant rw Font variant Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS. PANGO_VARIANT_NORMAL GtkTextTag::variant-set gboolean rw Font variant set Whether this tag affects the font variant. FALSE GtkTextTag::weight gint >= 0 rw Font weight Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD. 400 GtkTextTag::weight-set gboolean rw Font weight set Whether this tag affects the font weight. FALSE GtkTextTag::wrap-mode GtkWrapMode rw Wrap mode Whether to wrap lines never, at word boundaries, or at character boundaries. GTK_WRAP_NONE GtkTextTag::wrap-mode-set gboolean rw Wrap mode set Whether this tag affects line wrap mode. FALSE GtkTextView::accepts-tab gboolean rw Accepts tab Whether Tab will result in a tab character being entered. TRUE GtkTextView::bottom-margin gint >= 0 rw Bottom Margin Height of the bottom margin in pixels. 0 GtkTextView::buffer GtkTextBuffer* rw Buffer The buffer which is displayed. GtkTextView::cursor-visible gboolean rw Cursor Visible If the insertion cursor is shown. TRUE GtkTextView::editable gboolean rw Editable Whether the text can be modified by the user. TRUE GtkTextView::extra-menu GMenuModel* rw Extra menu Menu model to append to the context menu. GtkTextView::im-module gchar* rw IM module Which IM module should be used. NULL GtkTextView::indent gint rw Indent Amount to indent the paragraph, in pixels. 0 GtkTextView::input-hints GtkInputHints rw hints Hints for the text field behaviour. GtkTextView::input-purpose GtkInputPurpose rw Purpose Purpose of the text field. GTK_INPUT_PURPOSE_FREE_FORM GtkTextView::justification GtkJustification rw Justification Left, right, or center justification. GTK_JUSTIFY_LEFT GtkTextView::left-margin gint >= 0 rw Left Margin Width of the left margin in pixels. 0 GtkTextView::monospace gboolean rw Monospace Whether to use a monospace font. FALSE GtkTextView::overwrite gboolean rw Overwrite mode Whether entered text overwrites existing contents. FALSE GtkTextView::pixels-above-lines gint >= 0 rw Pixels Above Lines Pixels of blank space above paragraphs. 0 GtkTextView::pixels-below-lines gint >= 0 rw Pixels Below Lines Pixels of blank space below paragraphs. 0 GtkTextView::pixels-inside-wrap gint >= 0 rw Pixels Inside Wrap Pixels of blank space between wrapped lines in a paragraph. 0 GtkTextView::right-margin gint >= 0 rw Right Margin Width of the right margin in pixels. 0 GtkTextView::tabs PangoTabArray* rw Tabs Custom tabs for this text. GtkTextView::top-margin gint >= 0 rw Top Margin Height of the top margin in pixels. 0 GtkTextView::wrap-mode GtkWrapMode rw Wrap Mode Whether to wrap lines never, at word boundaries, or at character boundaries. GTK_WRAP_NONE GtkToggleButton::active gboolean rw Active If the toggle button should be pressed in. FALSE GtkTreeExpander::child GtkWidget* rw Child The child widget with the actual contents. GtkTreeExpander::item GObject* r Item The item held by this expander's row. GtkTreeExpander::list-row GtkTreeListRow* rw List row The list row to track for expander state. GtkTreeListModel::autoexpand gboolean rw autoexpand If all rows should be expanded by default. FALSE GtkTreeListModel::model GListModel* r Model The root model displayed. GtkTreeListModel::passthrough gboolean rwX passthrough If child model values are passed through. FALSE GtkTreeListRow::children GListModel* r Children Model holding the row’s children. GtkTreeListRow::depth guint r Depth Depth in the tree. 0 GtkTreeListRow::expandable gboolean r Expandable If this row can ever be expanded. FALSE GtkTreeListRow::expanded gboolean rw Expanded If this row is currently expanded. FALSE GtkTreeListRow::item GObject* r Item The item held in this row. GtkTreeListRowSorter::sorter GtkSorter* rw Sorter The underlying sorter. GtkTreeModelFilter::child-model GtkTreeModel* rwX The child model The model for the filtermodel to filter. GtkTreeModelFilter::virtual-root GtkTreePath* rwX The virtual root The virtual root (relative to the child model) for this filtermodel. GtkTreeModelSort::model GtkTreeModel* rwX TreeModelSort Model The model for the TreeModelSort to sort. GtkTreeSelection::mode GtkSelectionMode rw Mode Selection mode. GTK_SELECTION_SINGLE GtkTreeViewColumn::alignment gfloat [0,1] rw Alignment X Alignment of the column header text or widget. 0 GtkTreeViewColumn::cell-area GtkCellArea* rwX Cell Area The GtkCellArea used to layout cells. GtkTreeViewColumn::clickable gboolean rw Clickable Whether the header can be clicked. FALSE GtkTreeViewColumn::expand gboolean rw Expand Column gets share of extra width allocated to the widget. FALSE GtkTreeViewColumn::fixed-width gint >= -1 rw Fixed Width Current fixed width of the column. -1 GtkTreeViewColumn::max-width gint >= -1 rw Maximum Width Maximum allowed width of the column. -1 GtkTreeViewColumn::min-width gint >= -1 rw Minimum Width Minimum allowed width of the column. -1 GtkTreeViewColumn::reorderable gboolean rw Reorderable Whether the column can be reordered around the headers. FALSE GtkTreeViewColumn::resizable gboolean rw Resizable Column is user-resizable. FALSE GtkTreeViewColumn::sizing GtkTreeViewColumnSizing rw Sizing Resize mode of the column. GTK_TREE_VIEW_COLUMN_GROW_ONLY GtkTreeViewColumn::sort-column-id gint >= -1 rw Sort column ID Logical sort column ID this column sorts on when selected for sorting. -1 GtkTreeViewColumn::sort-indicator gboolean rw Sort indicator Whether to show a sort indicator. FALSE GtkTreeViewColumn::sort-order GtkSortType rw Sort order Sort direction the sort indicator should indicate. GTK_SORT_ASCENDING GtkTreeViewColumn::spacing gint >= 0 rw Spacing Space which is inserted between cells. 0 GtkTreeViewColumn::title gchar* rw Title Title to appear in column header. "" GtkTreeViewColumn::visible gboolean rw Visible Whether to display the column. TRUE GtkTreeViewColumn::widget GtkWidget* rw Widget Widget to put in column header button instead of column title. GtkTreeViewColumn::width gint >= 0 r Width Current width of the column. 0 GtkTreeViewColumn::x-offset gint >= -2147483647 r X position Current X position of the column. 0 GtkTreeView::activate-on-single-click gboolean rw Activate on Single Click Activate row on a single click. FALSE GtkTreeView::enable-grid-lines GtkTreeViewGridLines rw Enable Grid Lines Whether grid lines should be drawn in the tree view. GTK_TREE_VIEW_GRID_LINES_NONE GtkTreeView::enable-search gboolean rw Enable Search View allows user to search through columns interactively. TRUE GtkTreeView::enable-tree-lines gboolean rw Enable Tree Lines Whether tree lines should be drawn in the tree view. FALSE GtkTreeView::expander-column GtkTreeViewColumn* rw Expander Column Set the column for the expander column. GtkTreeView::fixed-height-mode gboolean rw Fixed Height Mode Speeds up GtkTreeView by assuming that all rows have the same height. FALSE GtkTreeView::headers-clickable gboolean rw Headers Clickable Column headers respond to click events. TRUE GtkTreeView::headers-visible gboolean rw Headers Visible Show the column header buttons. TRUE GtkTreeView::hover-expand gboolean rw Hover Expand Whether rows should be expanded/collapsed when the pointer moves over them. FALSE GtkTreeView::hover-selection gboolean rw Hover Selection Whether the selection should follow the pointer. FALSE GtkTreeView::level-indentation gint >= 0 rw Level Indentation Extra indentation for each level. 0 GtkTreeView::model GtkTreeModel* rw TreeView Model The model for the tree view. GtkTreeView::reorderable gboolean rw Reorderable View is reorderable. FALSE GtkTreeView::rubber-banding gboolean rw Rubber Banding Whether to enable selection of multiple items by dragging the mouse pointer. FALSE GtkTreeView::search-column gint >= -1 rw Search Column Model column to search through during interactive search. -1 GtkTreeView::show-expanders gboolean rw Show Expanders View has expanders. TRUE GtkTreeView::tooltip-column gint >= -1 rw Tooltip Column The column in the model containing the tooltip texts for the rows. -1 GtkVideo::autoplay gboolean rw Autoplay If playback should begin automatically. FALSE GtkVideo::file GFile* rw File The video file played back. GtkVideo::loop gboolean rw Loop If new media streams should be set to loop. FALSE GtkVideo::media-stream GtkMediaStream* rw Media Stream The media stream played. GtkViewport::child GtkWidget* rw Child The child widget. GtkViewport::scroll-to-focus gboolean rw Scroll to focus Whether to scroll when the focus changes. FALSE GtkVolumeButton::use-symbolic gboolean rwx Use symbolic icons Whether to use symbolic icons. TRUE GtkWidget::can-focus gboolean rw Can focus Whether the widget can accept the input focus. TRUE GtkWidget::can-target gboolean rw Can target Whether the widget can receive pointer events. FALSE GtkWidget::css-classes GStrv rw CSS Style Classes List of CSS classes. GtkWidget::css-name gchar* rwX CSS Name The name of this widget in the CSS tree. NULL GtkWidget::cursor GdkCursor* rw Cursor The cursor to show when hovering above widget. GtkWidget::focus-on-click gboolean rw Focus on click Whether the widget should grab focus when it is clicked with the mouse. TRUE GtkWidget::focusable gboolean rw Focusable Whether the widget can accept the input focus. FALSE GtkWidget::halign GtkAlign rw Horizontal Alignment How to position in extra horizontal space. GTK_ALIGN_FILL GtkWidget::has-default gboolean r Has default Whether the widget is the default widget. FALSE GtkWidget::has-focus gboolean r Has focus Whether the widget has the input focus. FALSE GtkWidget::has-tooltip gboolean rw Has tooltip Whether this widget has a tooltip. FALSE GtkWidget::height-request gint >= -1 rw Height request Override for height request of the widget, or -1 if natural request should be used. -1 GtkWidget::hexpand gboolean rw Horizontal Expand Whether widget wants more horizontal space. FALSE GtkWidget::hexpand-set gboolean rw Horizontal Expand Set Whether to use the hexpand property. FALSE GtkWidget::layout-manager GtkLayoutManager* rw Layout Manager The layout manager used to layout children of the widget. GtkWidget::margin-bottom gint [0,32767] rw Margin on Bottom Pixels of extra space on the bottom side. 0 GtkWidget::margin-end gint [0,32767] rw Margin on End Pixels of extra space on the end. 0 GtkWidget::margin-start gint [0,32767] rw Margin on Start Pixels of extra space on the start. 0 GtkWidget::margin-top gint [0,32767] rw Margin on Top Pixels of extra space on the top side. 0 GtkWidget::name gchar* rw Widget name The name of the widget. NULL GtkWidget::opacity gdouble [0,1] rw Opacity for Widget The opacity of the widget, from 0 to 1. 1 GtkWidget::overflow GtkOverflow rw Overflow How content outside the widget’s content area is treated. GTK_OVERFLOW_VISIBLE GtkWidget::parent GtkWidget* r Parent widget The parent widget of this widget. GtkWidget::receives-default gboolean rw Receives default If TRUE, the widget will receive the default action when it is focused. FALSE GtkWidget::root GtkRoot* r Root widget The root widget in the widget tree. GtkWidget::scale-factor gint >= 1 r Scale factor The scaling factor of the window. 1 GtkWidget::sensitive gboolean rw Sensitive Whether the widget responds to input. TRUE GtkWidget::tooltip-markup gchar* rw Tooltip markup The contents of the tooltip for this widget. NULL GtkWidget::tooltip-text gchar* rw Tooltip Text The contents of the tooltip for this widget. NULL GtkWidget::valign GtkAlign rw Vertical Alignment How to position in extra vertical space. GTK_ALIGN_FILL GtkWidget::vexpand gboolean rw Vertical Expand Whether widget wants more vertical space. FALSE GtkWidget::vexpand-set gboolean rw Vertical Expand Set Whether to use the vexpand property. FALSE GtkWidget::visible gboolean rw Visible Whether the widget is visible. TRUE GtkWidget::width-request gint >= -1 rw Width request Override for width request of the widget, or -1 if natural request should be used. -1 GtkWindow::application GtkApplication* rw GtkApplication The GtkApplication for the window. GtkWindow::child GtkWidget* rw Child The child widget. GtkWindow::decorated gboolean rw Decorated Whether the window should be decorated by the window manager. TRUE GtkWindow::default-height gint >= -1 rw Default Height The default height of the window, used when initially showing the window. -1 GtkWindow::default-widget GtkWidget* rw Default widget The default widget. GtkWindow::default-width gint >= -1 rw Default Width The default width of the window, used when initially showing the window. -1 GtkWindow::deletable gboolean rw Deletable Whether the window frame should have a close button. TRUE GtkWindow::destroy-with-parent gboolean rw Destroy with Parent If this window should be destroyed when the parent is destroyed. FALSE GtkWindow::display GdkDisplay* rw Display The display that will display this window. GtkWindow::focus-visible gboolean rw Focus Visible Whether focus rectangles are currently visible in this window. TRUE GtkWindow::focus-widget GtkWidget* rw Focus widget The focus widget. GtkWindow::hide-on-close gboolean rw Hide on close If this window should be hidden when the user clicks the close button. FALSE GtkWindow::icon-name gchar* rw Icon Name Name of the themed icon for this window. NULL GtkWindow::is-active gboolean r Is Active Whether the toplevel is the current active window. FALSE GtkWindow::is-maximized gboolean r Is maximized Whether the window is maximized. FALSE GtkWindow::mnemonics-visible gboolean rw Mnemonics Visible Whether mnemonics are currently visible in this window. FALSE GtkWindow::modal gboolean rw Modal If TRUE, the window is modal (other windows are not usable while this one is up). FALSE GtkWindow::resizable gboolean rw Resizable If TRUE, users can resize the window. TRUE GtkWindow::startup-id gchar* w Startup ID Unique startup identifier for the window used by startup-notification. NULL GtkWindow::title gchar* rw Window Title The title of the window. NULL GtkWindow::transient-for GtkWindow* rwx Transient for Window The transient parent of the dialog. GtkWindowControls::decoration-layout gchar* rw Decoration Layout The layout for window decorations. NULL GtkWindowControls::empty gboolean r Empty Whether the widget has any window buttons. TRUE GtkWindowControls::side GtkPackType rw Side Whether the widget shows start or end portion of the decoration layout. GTK_PACK_START GtkWindowHandle::child GtkWidget* rw Child The child widget. docs/reference/gtk/gtk4.actions0000664000175000017500000001143213710700306016612 0ustar mclasenmclasen GtkColorChooserWidget:::color.customize (dddd) GtkColorChooserWidget:::color.select (dddd) GtkEditableLabel:::editing.stop b GtkEditableLabel:::editing.start GtkEmojiChooser:::scroll.section i GtkFileChooserDialog:::response.activate GtkGridView:::list.activate-item u GtkLabel:::link.copy GtkLabel:::link.open GtkLabel:::selection.select-all GtkLabel:::selection.delete GtkLabel:::clipboard.paste GtkLabel:::clipboard.copy GtkLabel:::clipboard.cut GtkLabel:::menu.popup GtkLinkButton:::menu.popup GtkLinkButton:::clipboard.copy GtkListView:::list.activate-item u GtkNotebook:::menu.popup GtkText:::menu.popup GtkText:::text.redo GtkText:::text.undo GtkText:::misc.toggle-visibility visibility GtkText:::misc.insert-emoji GtkText:::selection.select-all GtkText:::selection.delete GtkText:::clipboard.paste GtkText:::clipboard.copy GtkText:::clipboard.cut GtkTextView:::menu.popup GtkTextView:::text.redo GtkTextView:::text.undo GtkTextView:::misc.insert-emoji GtkTextView:::selection.select-all GtkTextView:::selection.delete GtkTextView:::clipboard.paste GtkTextView:::clipboard.copy GtkTextView:::clipboard.cut GtkTreeExpander:::listitem.toggle-expand GtkTreeExpander:::listitem.collapse GtkTreeExpander:::listitem.expand GtkWindow:::window.close GtkWindow:::window.toggle-maximized GtkWindow:::window.minimize GtkWindow:::default.activate docs/reference/gtk/xml/0000775000175000017500000000000013710700315015156 5ustar mclasenmclasendocs/reference/gtk/xml/gtkmultifilter.xml0000664000175000017500000002461513710700311020752 0ustar mclasenmclasen ]> GtkMultiFilter 3 GTK4 Library GtkMultiFilter Combining multiple filters Functions void gtk_multi_filter_append () void gtk_multi_filter_remove () GtkFilter * gtk_any_filter_new () GtkFilter * gtk_every_filter_new () Types and Values GtkMultiFilter GtkAnyFilter GtkEveryFilter Object Hierarchy GObject ╰── GtkFilter ╰── GtkMultiFilter ├── GtkAnyFilter ╰── GtkEveryFilter Implemented Interfaces GtkMultiFilter implements GListModel and GtkBuildable. GtkAnyFilter implements GListModel and GtkBuildable. GtkEveryFilter implements GListModel and GtkBuildable. Includes#include <gtk/gtk.h> Description GtkMultiFilter is the base type that implements support for handling multiple filters. GtkAnyFilter is a subclass of GtkMultiFilter that matches an item when at least one of its filters matches. GtkEveryFilter is a subclass of GtkMultiFilter that matches an item when each of its filters matches. Functions gtk_multi_filter_append () gtk_multi_filter_append void gtk_multi_filter_append (GtkMultiFilter *self, GtkFilter *filter); Adds a filter to self to use for matching. Parameters self a GtkMultiFilter filter A new filter to use. [transfer full] gtk_multi_filter_remove () gtk_multi_filter_remove void gtk_multi_filter_remove (GtkMultiFilter *self, guint position); Removes the filter at the given position from the list of filters used by self . If position is larger than the number of filters, nothing happens and the function returns. Parameters self a GtkMultiFilter position position of filter to remove gtk_any_filter_new () gtk_any_filter_new GtkFilter * gtk_any_filter_new (void); Creates a new empty "any" filter. Use gtk_multi_filter_append() to add filters to it. This filter matches an item if any of the filters added to it matches the item. In particular, this means that if no filter has been added to it, the filter matches no item. Returns a new GtkFilter gtk_every_filter_new () gtk_every_filter_new GtkFilter * gtk_every_filter_new (void); Creates a new empty "every" filter. Use gtk_multi_filter_append() to add filters to it. This filter matches an item if each of the filters added to it matches the item. In particular, this means that if no filter has been added to it, the filter matches every item. Returns a new GtkFilter Types and Values GtkMultiFilter GtkMultiFilter typedef struct _GtkMultiFilter GtkMultiFilter; GtkAnyFilter GtkAnyFilter typedef struct _GtkAnyFilter GtkAnyFilter; GtkEveryFilter GtkEveryFilter typedef struct _GtkEveryFilter GtkEveryFilter; docs/reference/gtk/xml/gtkaboutdialog.xml0000664000175000017500000027571313710700310020712 0ustar mclasenmclasen ]> GtkAboutDialog 3 GTK4 Library GtkAboutDialog Display information about an application Functions GtkWidget * gtk_about_dialog_new () const char * gtk_about_dialog_get_program_name () void gtk_about_dialog_set_program_name () const char * gtk_about_dialog_get_version () void gtk_about_dialog_set_version () const char * gtk_about_dialog_get_copyright () void gtk_about_dialog_set_copyright () const char * gtk_about_dialog_get_comments () void gtk_about_dialog_set_comments () const char * gtk_about_dialog_get_license () void gtk_about_dialog_set_license () gboolean gtk_about_dialog_get_wrap_license () void gtk_about_dialog_set_wrap_license () GtkLicense gtk_about_dialog_get_license_type () void gtk_about_dialog_set_license_type () const char * gtk_about_dialog_get_website () void gtk_about_dialog_set_website () const char * gtk_about_dialog_get_website_label () void gtk_about_dialog_set_website_label () const char * const * gtk_about_dialog_get_authors () void gtk_about_dialog_set_authors () const char * const * gtk_about_dialog_get_artists () void gtk_about_dialog_set_artists () const char * const * gtk_about_dialog_get_documenters () void gtk_about_dialog_set_documenters () const char * gtk_about_dialog_get_translator_credits () void gtk_about_dialog_set_translator_credits () GdkPaintable * gtk_about_dialog_get_logo () void gtk_about_dialog_set_logo () const char * gtk_about_dialog_get_logo_icon_name () void gtk_about_dialog_set_logo_icon_name () const char * gtk_about_dialog_get_system_information () void gtk_about_dialog_set_system_information () void gtk_about_dialog_add_credit_section () void gtk_show_about_dialog () Properties GStrvartistsRead / Write GStrvauthorsRead / Write gchar *commentsRead / Write gchar *copyrightRead / Write GStrvdocumentersRead / Write gchar *licenseRead / Write GtkLicenselicense-typeRead / Write GdkPaintable *logoRead / Write gchar *logo-icon-nameRead / Write gchar *program-nameRead / Write gchar *system-informationRead / Write gchar *translator-creditsRead / Write gchar *versionRead / Write gchar *websiteRead / Write gchar *website-labelRead / Write gbooleanwrap-licenseRead / Write Signals gbooleanactivate-linkRun Last Types and Values GtkAboutDialog enumGtkLicense Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkAboutDialog Implemented Interfaces GtkAboutDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description The GtkAboutDialog 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. About dialogs often contain links and email addresses. GtkAboutDialog displays these as clickable links. By default, it calls gtk_show_uri() when a user clicks one. The behaviour can be overridden with the “activate-link” signal. To specify a person with an email address, use a string like "Edgar Allan Poe <edgar@poe.com>". To specify a website with a title, use a string like "GTK team http://www.gtk.org". To make constructing a GtkAboutDialog as convenient as possible, you can use the function gtk_show_about_dialog() which constructs and shows a dialog and keeps it around so that it can be shown again. Note that GTK sets a default title of _("About %s") on the dialog window (where %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 GtkAboutDialog, as shown in the following example: It is also possible to show a GtkAboutDialog like any other GtkDialog, and use the “response” signal to catch user responses. In this case, you might need to know that the “Close” button returns the GTK_RESPONSE_CANCEL response id. Functions gtk_about_dialog_new () gtk_about_dialog_new GtkWidget * gtk_about_dialog_new (void); Creates a new GtkAboutDialog. Returns a newly created GtkAboutDialog gtk_about_dialog_get_program_name () gtk_about_dialog_get_program_name const char * gtk_about_dialog_get_program_name (GtkAboutDialog *about); Returns the program name displayed in the about dialog. Parameters about a GtkAboutDialog Returns The program name. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_program_name () gtk_about_dialog_set_program_name void gtk_about_dialog_set_program_name (GtkAboutDialog *about, const char *name); Sets the name to display in the about dialog. If this is not set, it defaults to g_get_application_name(). Parameters about a GtkAboutDialog name the program name gtk_about_dialog_get_version () gtk_about_dialog_get_version const char * gtk_about_dialog_get_version (GtkAboutDialog *about); Returns the version string. Parameters about a GtkAboutDialog Returns The version string. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_version () gtk_about_dialog_set_version void gtk_about_dialog_set_version (GtkAboutDialog *about, const char *version); Sets the version string to display in the about dialog. Parameters about a GtkAboutDialog version the version string. [allow-none] gtk_about_dialog_get_copyright () gtk_about_dialog_get_copyright const char * gtk_about_dialog_get_copyright (GtkAboutDialog *about); Returns the copyright string. Parameters about a GtkAboutDialog Returns The copyright string. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_copyright () gtk_about_dialog_set_copyright void gtk_about_dialog_set_copyright (GtkAboutDialog *about, const char *copyright); Sets the copyright string to display in the about dialog. This should be a short string of one or two lines. Parameters about a GtkAboutDialog copyright the copyright string. [allow-none] gtk_about_dialog_get_comments () gtk_about_dialog_get_comments const char * gtk_about_dialog_get_comments (GtkAboutDialog *about); Returns the comments string. Parameters about a GtkAboutDialog Returns The comments. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_comments () gtk_about_dialog_set_comments void gtk_about_dialog_set_comments (GtkAboutDialog *about, const char *comments); Sets the comments string to display in the about dialog. This should be a short string of one or two lines. Parameters about a GtkAboutDialog comments a comments string. [allow-none] gtk_about_dialog_get_license () gtk_about_dialog_get_license const char * gtk_about_dialog_get_license (GtkAboutDialog *about); Returns the license information. Parameters about a GtkAboutDialog Returns The license information. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_license () gtk_about_dialog_set_license void gtk_about_dialog_set_license (GtkAboutDialog *about, const char *license); Sets the license information to be displayed in the secondary license dialog. If license is NULL, the license button is hidden. Parameters about a GtkAboutDialog license the license information or NULL. [allow-none] gtk_about_dialog_get_wrap_license () gtk_about_dialog_get_wrap_license gboolean gtk_about_dialog_get_wrap_license (GtkAboutDialog *about); Returns whether the license text in about is automatically wrapped. Parameters about a GtkAboutDialog Returns TRUE if the license text is wrapped gtk_about_dialog_set_wrap_license () gtk_about_dialog_set_wrap_license void gtk_about_dialog_set_wrap_license (GtkAboutDialog *about, gboolean wrap_license); Sets whether the license text in about is automatically wrapped. Parameters about a GtkAboutDialog wrap_license whether to wrap the license gtk_about_dialog_get_license_type () gtk_about_dialog_get_license_type GtkLicense gtk_about_dialog_get_license_type (GtkAboutDialog *about); Retrieves the license set using gtk_about_dialog_set_license_type() Parameters about a GtkAboutDialog Returns a GtkLicense value gtk_about_dialog_set_license_type () gtk_about_dialog_set_license_type void gtk_about_dialog_set_license_type (GtkAboutDialog *about, GtkLicense license_type); Sets the license of the application showing the about dialog from a list of known licenses. This function overrides the license set using gtk_about_dialog_set_license(). Parameters about a GtkAboutDialog license_type the type of license gtk_about_dialog_get_website () gtk_about_dialog_get_website const char * gtk_about_dialog_get_website (GtkAboutDialog *about); Returns the website URL. Parameters about a GtkAboutDialog Returns The website URL. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_website () gtk_about_dialog_set_website void gtk_about_dialog_set_website (GtkAboutDialog *about, const char *website); Sets the URL to use for the website link. Parameters about a GtkAboutDialog website a URL string starting with "http://". [allow-none] gtk_about_dialog_get_website_label () gtk_about_dialog_get_website_label const char * gtk_about_dialog_get_website_label (GtkAboutDialog *about); Returns the label used for the website link. Parameters about a GtkAboutDialog Returns The label used for the website link. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_website_label () gtk_about_dialog_set_website_label void gtk_about_dialog_set_website_label (GtkAboutDialog *about, const char *website_label); Sets the label to be used for the website link. Parameters about a GtkAboutDialog website_label the label used for the website link gtk_about_dialog_get_authors () gtk_about_dialog_get_authors const char * const * gtk_about_dialog_get_authors (GtkAboutDialog *about); Returns the string which are displayed in the authors tab of the secondary credits dialog. Parameters about a GtkAboutDialog Returns A NULL-terminated string array containing the authors. The array is owned by the about dialog and must not be modified. [array zero-terminated=1][transfer none] gtk_about_dialog_set_authors () gtk_about_dialog_set_authors void gtk_about_dialog_set_authors (GtkAboutDialog *about, const char **authors); Sets the strings which are displayed in the authors tab of the secondary credits dialog. Parameters about a GtkAboutDialog authors a NULL-terminated array of strings. [array zero-terminated=1] gtk_about_dialog_get_artists () gtk_about_dialog_get_artists const char * const * gtk_about_dialog_get_artists (GtkAboutDialog *about); Returns the string which are displayed in the artists tab of the secondary credits dialog. Parameters about a GtkAboutDialog Returns A NULL-terminated string array containing the artists. The array is owned by the about dialog and must not be modified. [array zero-terminated=1][transfer none] gtk_about_dialog_set_artists () gtk_about_dialog_set_artists void gtk_about_dialog_set_artists (GtkAboutDialog *about, const char **artists); Sets the strings which are displayed in the artists tab of the secondary credits dialog. Parameters about a GtkAboutDialog artists a NULL-terminated array of strings. [array zero-terminated=1] gtk_about_dialog_get_documenters () gtk_about_dialog_get_documenters const char * const * gtk_about_dialog_get_documenters (GtkAboutDialog *about); Returns the string which are displayed in the documenters tab of the secondary credits dialog. Parameters about a GtkAboutDialog Returns A NULL-terminated string array containing the documenters. The array is owned by the about dialog and must not be modified. [array zero-terminated=1][transfer none] gtk_about_dialog_set_documenters () gtk_about_dialog_set_documenters void gtk_about_dialog_set_documenters (GtkAboutDialog *about, const char **documenters); Sets the strings which are displayed in the documenters tab of the credits dialog. Parameters about a GtkAboutDialog documenters a NULL-terminated array of strings. [array zero-terminated=1] gtk_about_dialog_get_translator_credits () gtk_about_dialog_get_translator_credits const char * gtk_about_dialog_get_translator_credits (GtkAboutDialog *about); Returns the translator credits string which is displayed in the translators tab of the secondary credits dialog. Parameters about a GtkAboutDialog Returns The translator credits string. The string is owned by the about dialog and must not be modified. gtk_about_dialog_set_translator_credits () gtk_about_dialog_set_translator_credits void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about, const char *translator_credits); Sets the translator credits string which is displayed in the translators tab of the secondary credits dialog. The intended use for this string is to display the translator of the language which is currently used in the user interface. Using gettext(), a simple way to achieve that is to mark the string for translation: It is a good idea to use the customary msgid “translator-credits” for this purpose, since translators will already know the purpose of that msgid, and since GtkAboutDialog will detect if “translator-credits” is untranslated and hide the tab. Parameters about a GtkAboutDialog translator_credits the translator credits. [allow-none] gtk_about_dialog_get_logo_icon_name () gtk_about_dialog_get_logo_icon_name const char * gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about); Returns the icon name displayed as logo in the about dialog. Parameters about a GtkAboutDialog Returns the icon name displayed as logo or NULL if the logo has been set via gtk_about_dialog_set_logo(). The string is owned by the dialog. If you want to keep a reference to it, you have to call g_strdup() on it. [transfer none][nullable] gtk_about_dialog_set_logo_icon_name () gtk_about_dialog_set_logo_icon_name void gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about, const char *icon_name); Sets the icon name to be displayed as logo in the about dialog. Parameters about a GtkAboutDialog icon_name an icon name, or NULL. [allow-none] gtk_about_dialog_get_system_information () gtk_about_dialog_get_system_information const char * gtk_about_dialog_get_system_information (GtkAboutDialog *about); Returns the system information that is shown in the about dialog. Parameters about a GtkAboutDialog Returns the system information gtk_about_dialog_set_system_information () gtk_about_dialog_set_system_information void gtk_about_dialog_set_system_information (GtkAboutDialog *about, const char *system_information); Sets the system information to be displayed in the about dialog. If system_information is NULL, the system information tab is hidden. See “system-information”. Parameters about a GtkAboutDialog system_information system information or NULL. [allow-none] gtk_about_dialog_add_credit_section () gtk_about_dialog_add_credit_section void gtk_about_dialog_add_credit_section (GtkAboutDialog *about, const char *section_name, const char **people); Creates a new section in the Credits page. Parameters about A GtkAboutDialog section_name The name of the section people The people who belong to that section. [array zero-terminated=1] gtk_show_about_dialog () gtk_show_about_dialog void gtk_show_about_dialog (GtkWindow *parent, const char *first_property_name, ...); This is a convenience function for showing an application’s about box. The constructed dialog is associated with the parent window and reused for future invocations of this function. Parameters parent transient parent, or NULL for none. [allow-none] first_property_name the name of the first property ... value of first property, followed by more properties, NULL-terminated Types and Values GtkAboutDialog GtkAboutDialog typedef struct _GtkAboutDialog GtkAboutDialog; enum GtkLicense GtkLicense The type of license for an application. This enumeration can be expanded at later date. Members GTK_LICENSE_UNKNOWN No license specified GTK_LICENSE_CUSTOM A license text is going to be specified by the developer GTK_LICENSE_GPL_2_0 The GNU General Public License, version 2.0 or later GTK_LICENSE_GPL_3_0 The GNU General Public License, version 3.0 or later GTK_LICENSE_LGPL_2_1 The GNU Lesser General Public License, version 2.1 or later GTK_LICENSE_LGPL_3_0 The GNU Lesser General Public License, version 3.0 or later GTK_LICENSE_BSD The BSD standard license GTK_LICENSE_MIT_X11 The MIT/X11 standard license GTK_LICENSE_ARTISTIC The Artistic License, version 2.0 GTK_LICENSE_GPL_2_0_ONLY The GNU General Public License, version 2.0 only GTK_LICENSE_GPL_3_0_ONLY The GNU General Public License, version 3.0 only GTK_LICENSE_LGPL_2_1_ONLY The GNU Lesser General Public License, version 2.1 only GTK_LICENSE_LGPL_3_0_ONLY The GNU Lesser General Public License, version 3.0 only GTK_LICENSE_AGPL_3_0 The GNU Affero General Public License, version 3.0 or later GTK_LICENSE_AGPL_3_0_ONLY The GNU Affero General Public License, version 3.0 only GTK_LICENSE_BSD_3 The 3-clause BSD licence GTK_LICENSE_APACHE_2_0 The Apache License, version 2.0 GTK_LICENSE_MPL_2_0 The Mozilla Public License, version 2.0 Property Details The <literal>“artists”</literal> property GtkAboutDialog:artists “artists” GStrv The people who contributed artwork to the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. Owner: GtkAboutDialog Flags: Read / Write The <literal>“authors”</literal> property GtkAboutDialog:authors “authors” GStrv The authors of the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. Owner: GtkAboutDialog Flags: Read / Write The <literal>“comments”</literal> property GtkAboutDialog:comments “comments” gchar * 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. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“copyright”</literal> property GtkAboutDialog:copyright “copyright” gchar * Copyright information for the program. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“documenters”</literal> property GtkAboutDialog:documenters “documenters” GStrv The people documenting the program, as a NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. Owner: GtkAboutDialog Flags: Read / Write The <literal>“license”</literal> property GtkAboutDialog:license “license” gchar * 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 "wrap-license" property is set to TRUE; otherwise the text itself must contain the intended linebreaks. When setting this property to a non-NULL value, the “license-type” property is set to GTK_LICENSE_CUSTOM as a side effect. The text may contain links in this format <http://www.some.place/> and email references in the form <mail-tosome.body >, and these will be converted into clickable links. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“license-type”</literal> property GtkAboutDialog:license-type “license-type” GtkLicense The license of the program, as a value of the GtkLicense enumeration. The GtkAboutDialog will automatically fill out a standard disclaimer and link the user to the appropriate online resource for the license text. If GTK_LICENSE_UNKNOWN is used, the link used will be the same specified in the “website” property. If GTK_LICENSE_CUSTOM is used, the current contents of the “license” property are used. For any other GtkLicense value, the contents of the “license” property are also set by this property as a side effect. Owner: GtkAboutDialog Flags: Read / Write Default value: GTK_LICENSE_UNKNOWN The <literal>“logo-icon-name”</literal> property GtkAboutDialog:logo-icon-name “logo-icon-name” gchar * A named icon to use as the logo for the about box. This property overrides the “logo” property. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“program-name”</literal> property GtkAboutDialog:program-name “program-name” gchar * The name of the program. If this is not set, it defaults to g_get_application_name(). Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“system-information”</literal> property GtkAboutDialog:system-information “system-information” gchar * Information about the system on which the program is running. This is displayed in a separate tab, therefore it is fine to use a long multi-paragraph text. Note that the text should contain the intended linebreaks. The text may contain links in this format <http://www.some.place/> and email references in the form <mail-tosome.body >, and these will be converted into clickable links. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“translator-credits”</literal> property GtkAboutDialog:translator-credits “translator-credits” gchar * 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. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“version”</literal> property GtkAboutDialog:version “version” gchar * The version of the program. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“website”</literal> property GtkAboutDialog:website “website” gchar * The URL for the link to the website of the program. This should be a string starting with "http://. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“website-label”</literal> property GtkAboutDialog:website-label “website-label” gchar * The label for the link to the website of the program. Owner: GtkAboutDialog Flags: Read / Write Default value: NULL The <literal>“wrap-license”</literal> property GtkAboutDialog:wrap-license “wrap-license” gboolean Whether to wrap the text in the license dialog. Owner: GtkAboutDialog Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate-link”</literal> signal GtkAboutDialog::activate-link gboolean user_function (GtkAboutDialog *label, gchar *uri, gpointer user_data) The signal which gets emitted to activate a URI. Applications may connect to it to override the default behaviour, which is to call gtk_show_uri(). Parameters label The object on which the signal was emitted uri the URI that is activated user_data user data set when the signal handler was connected. Returns TRUE if the link has been activated Flags: Run Last docs/reference/gtk/xml/gtkfilterlistmodel.xml0000664000175000017500000005647613710700311021626 0ustar mclasenmclasen ]> GtkFilterListModel 3 GTK4 Library GtkFilterListModel A list model that filters its items Functions GtkFilterListModel * gtk_filter_list_model_new () void gtk_filter_list_model_set_model () GListModel * gtk_filter_list_model_get_model () void gtk_filter_list_model_set_filter () GtkFilter * gtk_filter_list_model_get_filter () void gtk_filter_list_model_set_incremental () gboolean gtk_filter_list_model_get_incremental () guint gtk_filter_list_model_get_pending () Properties GtkFilter *filterRead / Write gbooleanincrementalRead / Write GListModel *modelRead / Write guintpendingRead Types and Values GtkFilterListModel Object Hierarchy GObject ╰── GtkFilterListModel Implemented Interfaces GtkFilterListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkFilterListModel is a list model that filters a given other listmodel. It hides some elements from the other model according to criteria given by a GtkFilter. The model can be set up to do incremental searching, so that filtering long lists doesn't block the UI. See gtk_filter_list_model_set_incremental() for details. Functions gtk_filter_list_model_new () gtk_filter_list_model_new GtkFilterListModel * gtk_filter_list_model_new (GListModel *model, GtkFilter *filter); Creates a new GtkFilterListModel that will filter model using the given filter . Parameters model the model to sort, or NULL. [allow-none][transfer full] filter filter or NULL to not filter items. [allow-none][transfer full] Returns a new GtkFilterListModel gtk_filter_list_model_set_model () gtk_filter_list_model_set_model void gtk_filter_list_model_set_model (GtkFilterListModel *self, GListModel *model); Sets the model to be filtered. Note that GTK makes no effort to ensure that model conforms to the item type of self . It assumes that the caller knows what they are doing and have set up an appropriate filter to ensure that item types match. Parameters self a GtkFilterListModel model The model to be filtered. [allow-none] gtk_filter_list_model_get_model () gtk_filter_list_model_get_model GListModel * gtk_filter_list_model_get_model (GtkFilterListModel *self); Gets the model currently filtered or NULL if none. Parameters self a GtkFilterListModel Returns The model that gets filtered. [nullable][transfer none] gtk_filter_list_model_set_filter () gtk_filter_list_model_set_filter void gtk_filter_list_model_set_filter (GtkFilterListModel *self, GtkFilter *filter); Sets the filter used to filter items. Parameters self a GtkFilterListModel filter filter to use or NULL to not filter items. [allow-none][transfer none] gtk_filter_list_model_get_filter () gtk_filter_list_model_get_filter GtkFilter * gtk_filter_list_model_get_filter (GtkFilterListModel *self); Gets the GtkFilter currently set on self . Parameters self a GtkFilterListModel Returns The filter currently in use or NULL if the list isn't filtered. [nullable][transfer none] gtk_filter_list_model_set_incremental () gtk_filter_list_model_set_incremental void gtk_filter_list_model_set_incremental (GtkFilterListModel *self, gboolean incremental); When incremental filtering is enabled, the GtkFilterListModel will not run filters immediately, but will instead queue an idle handler that incrementally filters the items and adds them to the list. This of course means that items are not instantly added to the list, but only appear incrementally. When your filter blocks the UI while filtering, you might consider turning this on. Depending on your model and filters, this may become interesting around 10,000 to 100,000 items. By default, incremental filtering is disabled. Parameters self a GtkFilterListModel incremental TRUE to enable incremental filtering gtk_filter_list_model_get_incremental () gtk_filter_list_model_get_incremental gboolean gtk_filter_list_model_get_incremental (GtkFilterListModel *self); Returns whether incremental filtering was enabled via gtk_filter_list_model_set_incremental(). Parameters self a GtkFilterListModel Returns TRUE if incremental filtering is enabled gtk_filter_list_model_get_pending () gtk_filter_list_model_get_pending guint gtk_filter_list_model_get_pending (GtkFilterListModel *self); Returns the number of items that have not been filtered yet. When incremental filtering is not enabled, this always returns 0. You can use this value to check if self is busy filtering by comparing the return value to 0 or you can compute the percentage of the filter remaining by dividing the return value by the total number of items in the underlying model: Parameters self a GtkFilterListModel Returns The number of items not yet filtered Types and Values GtkFilterListModel GtkFilterListModel typedef struct _GtkFilterListModel GtkFilterListModel; Property Details The <literal>“filter”</literal> property GtkFilterListModel:filter “filter” GtkFilter * The filter for this model Owner: GtkFilterListModel Flags: Read / Write The <literal>“incremental”</literal> property GtkFilterListModel:incremental “incremental” gboolean If the model should filter items incrementally Owner: GtkFilterListModel Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkFilterListModel:model “model” GListModel * The model being filtered Owner: GtkFilterListModel Flags: Read / Write The <literal>“pending”</literal> property GtkFilterListModel:pending “pending” guint Number of items not yet filtered Owner: GtkFilterListModel Flags: Read Default value: 0 See Also GListModel, GtkFilter docs/reference/gtk/xml/gtkaccelgroup.xml0000664000175000017500000005573413710700310020543 0ustar mclasenmclasen ]> Keyboard Accelerators 3 GTK4 Library Keyboard Accelerators Utilities for accelerators Functions gboolean gtk_accelerator_valid () gboolean gtk_accelerator_parse () char * gtk_accelerator_name () char * gtk_accelerator_get_label () gboolean gtk_accelerator_parse_with_keycode () char * gtk_accelerator_name_with_keycode () char * gtk_accelerator_get_label_with_keycode () GdkModifierType gtk_accelerator_get_default_mod_mask () Includes#include <gtk/gtk.h> Description We have various utility functions to parse and generate textual representations of keyboard accelerators. If you want to set up keyboard accelerators for widgets, GtkShortcutTrigger is probably more convenient than the functions in this section. Functions gtk_accelerator_valid () gtk_accelerator_valid gboolean gtk_accelerator_valid (guint keyval, GdkModifierType modifiers); Determines whether a given keyval and modifier mask constitute a valid keyboard accelerator. For example, the GDK_KEY_a keyval plus GDK_CONTROL_MASK is valid - this is a “Ctrl+a” accelerator. But, you can't, for instance, use the GDK_KEY_Control_L keyval as an accelerator. Parameters keyval a GDK keyval modifiers modifier mask Returns TRUE if the accelerator is valid gtk_accelerator_parse () gtk_accelerator_parse gboolean gtk_accelerator_parse (const char *accelerator, guint *accelerator_key, GdkModifierType *accelerator_mods); Parses a string representing an accelerator. The format looks like “<Control>a” or “<Shift><Alt>F1”. The parser is fairly liberal and allows lower or upper case, and also abbreviations such as “<Ctl>” and “<Ctrl>”. Key names are parsed using gdk_keyval_from_name(). For character keys the name is not the symbol, but the lowercase name, e.g. one would use “<Ctrl>minus” instead of “<Ctrl>-”. If the parse fails, accelerator_key and accelerator_mods will be set to 0 (zero). Parameters accelerator string representing an accelerator accelerator_key return location for accelerator keyval, or NULL. [out][allow-none] accelerator_mods return location for accelerator modifier mask, NULL. [out][allow-none] gtk_accelerator_name () gtk_accelerator_name char * gtk_accelerator_name (guint accelerator_key, GdkModifierType accelerator_mods); Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse(). For example, if you pass in GDK_KEY_q and GDK_CONTROL_MASK, this function returns “<Control>q”. If you need to display accelerators in the user interface, see gtk_accelerator_get_label(). Parameters accelerator_key accelerator keyval accelerator_mods accelerator modifier mask Returns a newly-allocated accelerator name gtk_accelerator_get_label () gtk_accelerator_get_label char * gtk_accelerator_get_label (guint accelerator_key, GdkModifierType accelerator_mods); Converts an accelerator keyval and modifier mask into a string which can be used to represent the accelerator to the user. Parameters accelerator_key accelerator keyval accelerator_mods accelerator modifier mask Returns a newly-allocated string representing the accelerator. gtk_accelerator_parse_with_keycode () gtk_accelerator_parse_with_keycode gboolean gtk_accelerator_parse_with_keycode (const char *accelerator, GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods); Parses a string representing an accelerator, similarly to gtk_accelerator_parse() but handles keycodes as well. This is only useful for system-level components, applications should use gtk_accelerator_parse() instead. If accelerator_codes is given and the result stored in it is non-NULL, the result must be freed with g_free(). If a keycode is present in the accelerator and no accelerator_codes is given, the parse will fail. If the parse fails, accelerator_key , accelerator_mods and accelerator_codes will be set to 0 (zero). Parameters accelerator string representing an accelerator display the GdkDisplay to look up accelerator_codes in. [allow-none] accelerator_key return location for accelerator keyval, or NULL. [out][allow-none] accelerator_codes return location for accelerator keycodes, or NULL. [out][array zero-terminated=1][transfer full][allow-none] accelerator_mods return location for accelerator modifier mask, NULL. [out][allow-none] Returns TRUE if parsing succeeded gtk_accelerator_name_with_keycode () gtk_accelerator_name_with_keycode char * gtk_accelerator_name_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods); Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse_with_keycode(), similarly to gtk_accelerator_name() but handling keycodes. This is only useful for system-level components, applications should use gtk_accelerator_parse() instead. Parameters display a GdkDisplay or NULL to use the default display. [allow-none] accelerator_key accelerator keyval keycode accelerator keycode accelerator_mods accelerator modifier mask Returns a newly allocated accelerator name. gtk_accelerator_get_label_with_keycode () gtk_accelerator_get_label_with_keycode char * gtk_accelerator_get_label_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods); Converts an accelerator keyval and modifier mask into a (possibly translated) string that can be displayed to a user, similarly to gtk_accelerator_get_label(), but handling keycodes. This is only useful for system-level components, applications should use gtk_accelerator_parse() instead. Parameters display a GdkDisplay or NULL to use the default display. [allow-none] accelerator_key accelerator keyval keycode accelerator keycode accelerator_mods accelerator modifier mask Returns a newly-allocated string representing the accelerator. gtk_accelerator_get_default_mod_mask () gtk_accelerator_get_default_mod_mask GdkModifierType gtk_accelerator_get_default_mod_mask (void); Gets the modifier mask. The modifier mask determines which modifiers are considered significant for keyboard accelerators. This includes all keyboard modifiers except for GDK_LOCK_MASK. Returns the modifier mask for accelerators docs/reference/gtk/xml/gtkiconview.xml0000664000175000017500000053607013710700311020240 0ustar mclasenmclasen ]> GtkIconView 3 GTK4 Library GtkIconView A widget which displays a list of icons in a grid Functions void (*GtkIconViewForeachFunc) () GtkWidget * gtk_icon_view_new () GtkWidget * gtk_icon_view_new_with_area () GtkWidget * gtk_icon_view_new_with_model () void gtk_icon_view_set_model () GtkTreeModel * gtk_icon_view_get_model () void gtk_icon_view_set_text_column () int gtk_icon_view_get_text_column () void gtk_icon_view_set_markup_column () int gtk_icon_view_get_markup_column () void gtk_icon_view_set_pixbuf_column () int gtk_icon_view_get_pixbuf_column () GtkTreePath * gtk_icon_view_get_path_at_pos () gboolean gtk_icon_view_get_item_at_pos () void gtk_icon_view_set_cursor () gboolean gtk_icon_view_get_cursor () void gtk_icon_view_selected_foreach () void gtk_icon_view_set_selection_mode () GtkSelectionMode gtk_icon_view_get_selection_mode () void gtk_icon_view_set_item_orientation () GtkOrientation gtk_icon_view_get_item_orientation () void gtk_icon_view_set_columns () int gtk_icon_view_get_columns () void gtk_icon_view_set_item_width () int gtk_icon_view_get_item_width () void gtk_icon_view_set_spacing () int gtk_icon_view_get_spacing () void gtk_icon_view_set_row_spacing () int gtk_icon_view_get_row_spacing () void gtk_icon_view_set_column_spacing () int gtk_icon_view_get_column_spacing () void gtk_icon_view_set_margin () int gtk_icon_view_get_margin () void gtk_icon_view_set_item_padding () int gtk_icon_view_get_item_padding () void gtk_icon_view_set_activate_on_single_click () gboolean gtk_icon_view_get_activate_on_single_click () gboolean gtk_icon_view_get_cell_rect () void gtk_icon_view_select_path () void gtk_icon_view_unselect_path () gboolean gtk_icon_view_path_is_selected () GList * gtk_icon_view_get_selected_items () void gtk_icon_view_select_all () void gtk_icon_view_unselect_all () void gtk_icon_view_item_activated () void gtk_icon_view_scroll_to_path () gboolean gtk_icon_view_get_visible_range () void gtk_icon_view_set_tooltip_item () void gtk_icon_view_set_tooltip_cell () gboolean gtk_icon_view_get_tooltip_context () void gtk_icon_view_set_tooltip_column () int gtk_icon_view_get_tooltip_column () int gtk_icon_view_get_item_row () int gtk_icon_view_get_item_column () void gtk_icon_view_enable_model_drag_source () void gtk_icon_view_enable_model_drag_dest () void gtk_icon_view_unset_model_drag_source () void gtk_icon_view_unset_model_drag_dest () void gtk_icon_view_set_reorderable () gboolean gtk_icon_view_get_reorderable () void gtk_icon_view_set_drag_dest_item () void gtk_icon_view_get_drag_dest_item () gboolean gtk_icon_view_get_dest_item_at_pos () GdkPaintable * gtk_icon_view_create_drag_icon () Properties gbooleanactivate-on-single-clickRead / Write GtkCellArea *cell-areaRead / Write / Construct Only gintcolumn-spacingRead / Write gintcolumnsRead / Write GtkOrientationitem-orientationRead / Write gintitem-paddingRead / Write gintitem-widthRead / Write gintmarginRead / Write gintmarkup-columnRead / Write GtkTreeModel *modelRead / Write gintpixbuf-columnRead / Write gbooleanreorderableRead / Write gintrow-spacingRead / Write GtkSelectionModeselection-modeRead / Write gintspacingRead / Write ginttext-columnRead / Write ginttooltip-columnRead / Write Signals gbooleanactivate-cursor-itemAction voiditem-activatedRun Last gbooleanmove-cursorAction voidselect-allAction voidselect-cursor-itemAction voidselection-changedRun First voidtoggle-cursor-itemAction voidunselect-allAction Types and Values GtkIconView enumGtkIconViewDropPosition Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkIconView Implemented Interfaces GtkIconView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkScrollable. Includes#include <gtk/gtk.h> Description GtkIconView provides an alternative view on a GtkTreeModel. It displays the model as a grid of icons with labels. Like GtkTreeView, it allows to select one or multiple items (depending on the selection mode, see gtk_icon_view_set_selection_mode()). In addition to selection with the arrow keys, GtkIconView supports rubberband selection, which is controlled by dragging the pointer. Note that if the tree model is backed by an actual tree store (as opposed to a flat list where the mapping to icons is obvious), GtkIconView will only display the first level of the tree and ignore the tree’s branches. CSS nodes GtkIconView has a single CSS node with name iconview and style class .view. For rubberband selection, a subnode with name rubberband is used. Functions GtkIconViewForeachFunc () GtkIconViewForeachFunc void (*GtkIconViewForeachFunc) (GtkIconView *icon_view, GtkTreePath *path, gpointer data); A function used by gtk_icon_view_selected_foreach() to map all selected rows. It will be called on every selected row in the view. Parameters icon_view a GtkIconView path The GtkTreePath of a selected row data user data. [closure] gtk_icon_view_new () gtk_icon_view_new GtkWidget * gtk_icon_view_new (void); Creates a new GtkIconView widget Returns A newly created GtkIconView widget gtk_icon_view_new_with_area () gtk_icon_view_new_with_area GtkWidget * gtk_icon_view_new_with_area (GtkCellArea *area); Creates a new GtkIconView widget using the specified area to layout cells inside the icons. Parameters area the GtkCellArea to use to layout cells Returns A newly created GtkIconView widget gtk_icon_view_new_with_model () gtk_icon_view_new_with_model GtkWidget * gtk_icon_view_new_with_model (GtkTreeModel *model); Creates a new GtkIconView widget with the model model . Parameters model The model. Returns A newly created GtkIconView widget. gtk_icon_view_set_model () gtk_icon_view_set_model void gtk_icon_view_set_model (GtkIconView *icon_view, GtkTreeModel *model); Sets the model for a GtkIconView. If the icon_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model. Parameters icon_view A GtkIconView. model The model. [allow-none] gtk_icon_view_get_model () gtk_icon_view_get_model GtkTreeModel * gtk_icon_view_get_model (GtkIconView *icon_view); Returns the model the GtkIconView is based on. Returns NULL if the model is unset. Parameters icon_view a GtkIconView Returns A GtkTreeModel, or NULL if none is currently being used. [nullable][transfer none] gtk_icon_view_set_text_column () gtk_icon_view_set_text_column void gtk_icon_view_set_text_column (GtkIconView *icon_view, int column); Sets the column with text for icon_view to be column . The text column must be of type G_TYPE_STRING. Parameters icon_view A GtkIconView. column A column in the currently used model, or -1 to display no text gtk_icon_view_get_text_column () gtk_icon_view_get_text_column int gtk_icon_view_get_text_column (GtkIconView *icon_view); Returns the column with text for icon_view . Parameters icon_view A GtkIconView. Returns the text column, or -1 if it’s unset. gtk_icon_view_set_markup_column () gtk_icon_view_set_markup_column void gtk_icon_view_set_markup_column (GtkIconView *icon_view, int column); Sets the column with markup information for icon_view to be column . The markup column must be of type G_TYPE_STRING. If the markup column is set to something, it overrides the text column set by gtk_icon_view_set_text_column(). Parameters icon_view A GtkIconView. column A column in the currently used model, or -1 to display no text gtk_icon_view_get_markup_column () gtk_icon_view_get_markup_column int gtk_icon_view_get_markup_column (GtkIconView *icon_view); Returns the column with markup text for icon_view . Parameters icon_view A GtkIconView. Returns the markup column, or -1 if it’s unset. gtk_icon_view_set_pixbuf_column () gtk_icon_view_set_pixbuf_column void gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, int column); Sets the column with pixbufs for icon_view to be column . The pixbuf column must be of type GDK_TYPE_PIXBUF Parameters icon_view A GtkIconView. column A column in the currently used model, or -1 to disable gtk_icon_view_get_pixbuf_column () gtk_icon_view_get_pixbuf_column int gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view); Returns the column with pixbufs for icon_view . Parameters icon_view A GtkIconView. Returns the pixbuf column, or -1 if it’s unset. gtk_icon_view_get_path_at_pos () gtk_icon_view_get_path_at_pos GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, int x, int y); Parameters icon_view A GtkIconView. x The x position to be identified y The y position to be identified Returns The GtkTreePath corresponding to the icon or NULL if no icon exists at that position. [nullable][transfer full] gtk_icon_view_get_item_at_pos () gtk_icon_view_get_item_at_pos gboolean gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, int x, int y, GtkTreePath **path, GtkCellRenderer **cell); Parameters icon_view A GtkIconView. x The x position to be identified y The y position to be identified path Return location for the path, or NULL. [out][allow-none] cell Return location for the renderer responsible for the cell at (x , y ), or NULL. [out][allow-none][transfer none] Returns TRUE if an item exists at the specified position gtk_icon_view_set_cursor () gtk_icon_view_set_cursor void gtk_icon_view_set_cursor (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing); Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular item. If cell is not NULL, then focus is given to the cell specified by it. Additionally, if start_editing is TRUE, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus (icon_view) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. Parameters icon_view A GtkIconView path A GtkTreePath cell One of the cell renderers of icon_view , or NULL. [allow-none] start_editing TRUE if the specified cell should start being edited. gtk_icon_view_get_cursor () gtk_icon_view_get_cursor gboolean gtk_icon_view_get_cursor (GtkIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell); Fills in path and cell with the current cursor path and cell. If the cursor isn’t currently set, then *path will be NULL. If no cell currently has focus, then *cell will be NULL. The returned GtkTreePath must be freed with gtk_tree_path_free(). Parameters icon_view A GtkIconView path Return location for the current cursor path, or NULL. [out][allow-none][transfer full] cell Return location the current focus cell, or NULL. [out][allow-none][transfer none] Returns TRUE if the cursor is set. gtk_icon_view_selected_foreach () gtk_icon_view_selected_foreach void gtk_icon_view_selected_foreach (GtkIconView *icon_view, GtkIconViewForeachFunc func, gpointer data); Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function. Parameters icon_view A GtkIconView. func The function to call for each selected icon. [scope call] data User data to pass to the function. gtk_icon_view_set_selection_mode () gtk_icon_view_set_selection_mode void gtk_icon_view_set_selection_mode (GtkIconView *icon_view, GtkSelectionMode mode); Sets the selection mode of the icon_view . Parameters icon_view A GtkIconView. mode The selection mode gtk_icon_view_get_selection_mode () gtk_icon_view_get_selection_mode GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView *icon_view); Gets the selection mode of the icon_view . Parameters icon_view A GtkIconView. Returns the current selection mode gtk_icon_view_set_item_orientation () gtk_icon_view_set_item_orientation void gtk_icon_view_set_item_orientation (GtkIconView *icon_view, GtkOrientation orientation); Sets the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. Parameters icon_view a GtkIconView orientation the relative position of texts and icons gtk_icon_view_get_item_orientation () gtk_icon_view_get_item_orientation GtkOrientation gtk_icon_view_get_item_orientation (GtkIconView *icon_view); Returns the value of the ::item-orientation property which determines whether the labels are drawn beside the icons instead of below. Parameters icon_view a GtkIconView Returns the relative position of texts and icons gtk_icon_view_set_columns () gtk_icon_view_set_columns void gtk_icon_view_set_columns (GtkIconView *icon_view, int columns); Sets the ::columns property which determines in how many columns the icons are arranged. If columns is -1, the number of columns will be chosen automatically to fill the available area. Parameters icon_view a GtkIconView columns the number of columns gtk_icon_view_get_columns () gtk_icon_view_get_columns int gtk_icon_view_get_columns (GtkIconView *icon_view); Returns the value of the ::columns property. Parameters icon_view a GtkIconView Returns the number of columns, or -1 gtk_icon_view_set_item_width () gtk_icon_view_set_item_width void gtk_icon_view_set_item_width (GtkIconView *icon_view, int item_width); Sets the ::item-width property which specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. Parameters icon_view a GtkIconView item_width the width for each item gtk_icon_view_get_item_width () gtk_icon_view_get_item_width int gtk_icon_view_get_item_width (GtkIconView *icon_view); Returns the value of the ::item-width property. Parameters icon_view a GtkIconView Returns the width of a single item, or -1 gtk_icon_view_set_spacing () gtk_icon_view_set_spacing void gtk_icon_view_set_spacing (GtkIconView *icon_view, int spacing); Sets the ::spacing property which specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. Parameters icon_view a GtkIconView spacing the spacing gtk_icon_view_get_spacing () gtk_icon_view_get_spacing int gtk_icon_view_get_spacing (GtkIconView *icon_view); Returns the value of the ::spacing property. Parameters icon_view a GtkIconView Returns the space between cells gtk_icon_view_set_row_spacing () gtk_icon_view_set_row_spacing void gtk_icon_view_set_row_spacing (GtkIconView *icon_view, int row_spacing); Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view. Parameters icon_view a GtkIconView row_spacing the row spacing gtk_icon_view_get_row_spacing () gtk_icon_view_get_row_spacing int gtk_icon_view_get_row_spacing (GtkIconView *icon_view); Returns the value of the ::row-spacing property. Parameters icon_view a GtkIconView Returns the space between rows gtk_icon_view_set_column_spacing () gtk_icon_view_set_column_spacing void gtk_icon_view_set_column_spacing (GtkIconView *icon_view, int column_spacing); Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view. Parameters icon_view a GtkIconView column_spacing the column spacing gtk_icon_view_get_column_spacing () gtk_icon_view_get_column_spacing int gtk_icon_view_get_column_spacing (GtkIconView *icon_view); Returns the value of the ::column-spacing property. Parameters icon_view a GtkIconView Returns the space between columns gtk_icon_view_set_margin () gtk_icon_view_set_margin void gtk_icon_view_set_margin (GtkIconView *icon_view, int margin); Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view. Parameters icon_view a GtkIconView margin the margin gtk_icon_view_get_margin () gtk_icon_view_get_margin int gtk_icon_view_get_margin (GtkIconView *icon_view); Returns the value of the ::margin property. Parameters icon_view a GtkIconView Returns the space at the borders gtk_icon_view_set_item_padding () gtk_icon_view_set_item_padding void gtk_icon_view_set_item_padding (GtkIconView *icon_view, int item_padding); Sets the “item-padding” property which specifies the padding around each of the icon view’s items. Parameters icon_view a GtkIconView item_padding the item padding gtk_icon_view_get_item_padding () gtk_icon_view_get_item_padding int gtk_icon_view_get_item_padding (GtkIconView *icon_view); Returns the value of the ::item-padding property. Parameters icon_view a GtkIconView Returns the padding around items gtk_icon_view_set_activate_on_single_click () gtk_icon_view_set_activate_on_single_click void gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view, gboolean single); Causes the “item-activated” signal to be emitted on a single click instead of a double click. Parameters icon_view a GtkIconView single TRUE to emit item-activated on a single click gtk_icon_view_get_activate_on_single_click () gtk_icon_view_get_activate_on_single_click gboolean gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view); Gets the setting set by gtk_icon_view_set_activate_on_single_click(). Parameters icon_view a GtkIconView Returns TRUE if item-activated will be emitted on a single click gtk_icon_view_get_cell_rect () gtk_icon_view_get_cell_rect gboolean gtk_icon_view_get_cell_rect (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, GdkRectangle *rect); Fills the bounding rectangle in widget coordinates for the cell specified by path and cell . If cell is NULL the main cell area is used. This function is only valid if icon_view is realized. Parameters icon_view a GtkIconView path a GtkTreePath cell a GtkCellRenderer or NULL. [allow-none] rect rectangle to fill with cell rect. [out] Returns FALSE if there is no such item, TRUE otherwise gtk_icon_view_select_path () gtk_icon_view_select_path void gtk_icon_view_select_path (GtkIconView *icon_view, GtkTreePath *path); Selects the row at path . Parameters icon_view A GtkIconView. path The GtkTreePath to be selected. gtk_icon_view_unselect_path () gtk_icon_view_unselect_path void gtk_icon_view_unselect_path (GtkIconView *icon_view, GtkTreePath *path); Unselects the row at path . Parameters icon_view A GtkIconView. path The GtkTreePath to be unselected. gtk_icon_view_path_is_selected () gtk_icon_view_path_is_selected gboolean gtk_icon_view_path_is_selected (GtkIconView *icon_view, GtkTreePath *path); Returns TRUE if the icon pointed to by path is currently selected. If path does not point to a valid location, FALSE is returned. Parameters icon_view A GtkIconView. path A GtkTreePath to check selection on. Returns TRUE if path is selected. gtk_icon_view_get_selected_items () gtk_icon_view_get_selected_items GList * gtk_icon_view_get_selected_items (GtkIconView *icon_view); Creates a list of paths of all selected items. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of GtkTreeRowReferences. To do this, you can use gtk_tree_row_reference_new(). To free the return value, use: Parameters icon_view A GtkIconView. Returns A GList containing a GtkTreePath for each selected row. [element-type GtkTreePath][transfer full] gtk_icon_view_select_all () gtk_icon_view_select_all void gtk_icon_view_select_all (GtkIconView *icon_view); Selects all the icons. icon_view must has its selection mode set to GTK_SELECTION_MULTIPLE. Parameters icon_view A GtkIconView. gtk_icon_view_unselect_all () gtk_icon_view_unselect_all void gtk_icon_view_unselect_all (GtkIconView *icon_view); Unselects all the icons. Parameters icon_view A GtkIconView. gtk_icon_view_item_activated () gtk_icon_view_item_activated void gtk_icon_view_item_activated (GtkIconView *icon_view, GtkTreePath *path); Activates the item determined by path . Parameters icon_view A GtkIconView path The GtkTreePath to be activated gtk_icon_view_scroll_to_path () gtk_icon_view_scroll_to_path void gtk_icon_view_scroll_to_path (GtkIconView *icon_view, GtkTreePath *path, gboolean use_align, float row_align, float col_align); Moves the alignments of icon_view to the position specified by path . row_align determines where the row is placed, and col_align determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If use_align is FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the item onto the screen. This means that the item will be scrolled to the edge closest to its current position. If the item is currently visible on the screen, nothing is done. This function only works if the model is set, and path is a valid row on the model. If the model changes before the icon_view is realized, the centered path will be modified to reflect this change. Parameters icon_view A GtkIconView. path The path of the item to move to. use_align whether to use alignment arguments, or FALSE. row_align The vertical alignment of the item specified by path . col_align The horizontal alignment of the item specified by path . gtk_icon_view_get_visible_range () gtk_icon_view_get_visible_range gboolean gtk_icon_view_get_visible_range (GtkIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path); Sets start_path and end_path to be the first and last visible path. Note that there may be invisible paths in between. Both paths should be freed with gtk_tree_path_free() after use. Parameters icon_view A GtkIconView start_path Return location for start of region, or NULL. [out][allow-none] end_path Return location for end of region, or NULL. [out][allow-none] Returns TRUE, if valid paths were placed in start_path and end_path gtk_icon_view_set_tooltip_item () gtk_icon_view_set_tooltip_item void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path); Sets the tip area of tooltip to be the area covered by the item at path . See also gtk_icon_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area(). Parameters icon_view a GtkIconView tooltip a GtkTooltip path a GtkTreePath gtk_icon_view_set_tooltip_cell () gtk_icon_view_set_tooltip_cell void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path, GtkCellRenderer *cell); Sets the tip area of tooltip to the area which cell occupies in the item pointed to by path . See also gtk_tooltip_set_tip_area(). See also gtk_icon_view_set_tooltip_column() for a simpler alternative. Parameters icon_view a GtkIconView tooltip a GtkTooltip path a GtkTreePath cell a GtkCellRenderer or NULL. [allow-none] gtk_icon_view_get_tooltip_context () gtk_icon_view_get_tooltip_context gboolean gtk_icon_view_get_tooltip_context (GtkIconView *icon_view, int *x, int *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter); This function is supposed to be used in a “query-tooltip” signal handler for GtkIconView. The x , y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification. The return value indicates whether there is an icon view item at the given coordinates (TRUE) or not (FALSE) for mouse tooltips. For keyboard tooltips the item returned will be the cursor item. When TRUE, then any of model , path and iter which have been provided will be set to point to that row and the corresponding model. Parameters icon_view an GtkIconView x the x coordinate (relative to widget coordinates). [inout] y the y coordinate (relative to widget coordinates). [inout] keyboard_tip whether this is a keyboard tooltip or not model a pointer to receive a GtkTreeModel or NULL. [out][allow-none][transfer none] path a pointer to receive a GtkTreePath or NULL. [out][allow-none] iter a pointer to receive a GtkTreeIter or NULL. [out][allow-none] Returns whether or not the given tooltip context points to an item gtk_icon_view_set_tooltip_column () gtk_icon_view_set_tooltip_column void gtk_icon_view_set_tooltip_column (GtkIconView *icon_view, int column); If you only plan to have simple (text-only) tooltips on full items, you can use this function to have GtkIconView handle these automatically for you. column should be set to the column in icon_view ’s model containing the tooltip texts, or -1 to disable this feature. When enabled, “has-tooltip” will be set to TRUE and icon_view will connect a “query-tooltip” signal handler. Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text. Parameters icon_view a GtkIconView column an integer, which is a valid column number for icon_view ’s model gtk_icon_view_get_tooltip_column () gtk_icon_view_get_tooltip_column int gtk_icon_view_get_tooltip_column (GtkIconView *icon_view); Returns the column of icon_view ’s model which is being used for displaying tooltips on icon_view ’s rows. Parameters icon_view a GtkIconView Returns the index of the tooltip column that is currently being used, or -1 if this is disabled. gtk_icon_view_get_item_row () gtk_icon_view_get_item_row int gtk_icon_view_get_item_row (GtkIconView *icon_view, GtkTreePath *path); Gets the row in which the item path is currently displayed. Row numbers start at 0. Parameters icon_view a GtkIconView path the GtkTreePath of the item Returns The row in which the item is displayed gtk_icon_view_get_item_column () gtk_icon_view_get_item_column int gtk_icon_view_get_item_column (GtkIconView *icon_view, GtkTreePath *path); Gets the column in which the item path is currently displayed. Column numbers start at 0. Parameters icon_view a GtkIconView path the GtkTreePath of the item Returns The column in which the item is displayed gtk_icon_view_enable_model_drag_source () gtk_icon_view_enable_model_drag_source void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions); Turns icon_view into a drag source for automatic DND. Calling this method sets “reorderable” to FALSE. Parameters icon_view a GtkIconView start_button_mask Mask of allowed buttons to start drag formats the formats that the drag will support actions the bitmask of possible actions for a drag from this widget gtk_icon_view_enable_model_drag_dest () gtk_icon_view_enable_model_drag_dest void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view, GdkContentFormats *formats, GdkDragAction actions); Turns icon_view into a drop destination for automatic DND. Calling this method sets “reorderable” to FALSE. Parameters icon_view a GtkIconView formats the formats that the drag will support actions the bitmask of possible actions for a drag to this widget gtk_icon_view_unset_model_drag_source () gtk_icon_view_unset_model_drag_source void gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view); Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this method sets “reorderable” to FALSE. Parameters icon_view a GtkIconView gtk_icon_view_unset_model_drag_dest () gtk_icon_view_unset_model_drag_dest void gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view); Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this method sets “reorderable” to FALSE. Parameters icon_view a GtkIconView gtk_icon_view_set_reorderable () gtk_icon_view_set_reorderable void gtk_icon_view_set_reorderable (GtkIconView *icon_view, gboolean reorderable); This function is a convenience function to allow you to reorder models that support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both GtkTreeStore and GtkListStore support these. If reorderable is TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals. The reordering is implemented by setting up the icon view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose. This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually. Parameters icon_view A GtkIconView. reorderable TRUE, if the list of items can be reordered. gtk_icon_view_get_reorderable () gtk_icon_view_get_reorderable gboolean gtk_icon_view_get_reorderable (GtkIconView *icon_view); Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable(). Parameters icon_view a GtkIconView Returns TRUE if the list can be reordered. gtk_icon_view_set_drag_dest_item () gtk_icon_view_set_drag_dest_item void gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view, GtkTreePath *path, GtkIconViewDropPosition pos); Sets the item that is highlighted for feedback. Parameters icon_view a GtkIconView path The path of the item to highlight, or NULL. [allow-none] pos Specifies where to drop, relative to the item gtk_icon_view_get_drag_dest_item () gtk_icon_view_get_drag_dest_item void gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view, GtkTreePath **path, GtkIconViewDropPosition *pos); Gets information about the item that is highlighted for feedback. Parameters icon_view a GtkIconView path Return location for the path of the highlighted item, or NULL. [out][allow-none] pos Return location for the drop position, or NULL. [out][allow-none] gtk_icon_view_get_dest_item_at_pos () gtk_icon_view_get_dest_item_at_pos gboolean gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view, int drag_x, int drag_y, GtkTreePath **path, GtkIconViewDropPosition *pos); Determines the destination item for a given position. Parameters icon_view a GtkIconView drag_x the position to determine the destination item for drag_y the position to determine the destination item for path Return location for the path of the item, or NULL. [out][allow-none] pos Return location for the drop position, or NULL. [out][allow-none] Returns whether there is an item at the given position. gtk_icon_view_create_drag_icon () gtk_icon_view_create_drag_icon GdkPaintable * gtk_icon_view_create_drag_icon (GtkIconView *icon_view, GtkTreePath *path); Creates a cairo_surface_t representation of the item at path . This image is used for a drag icon. Parameters icon_view a GtkIconView path a GtkTreePath in icon_view Returns a newly-allocated surface of the drag icon. [transfer full] Types and Values GtkIconView GtkIconView typedef struct _GtkIconView GtkIconView; enum GtkIconViewDropPosition GtkIconViewDropPosition An enum for determining where a dropped item goes. Members GTK_ICON_VIEW_NO_DROP no drop possible GTK_ICON_VIEW_DROP_INTO dropped item replaces the item GTK_ICON_VIEW_DROP_LEFT droppped item is inserted to the left GTK_ICON_VIEW_DROP_RIGHT dropped item is inserted to the right GTK_ICON_VIEW_DROP_ABOVE dropped item is inserted above GTK_ICON_VIEW_DROP_BELOW dropped item is inserted below Property Details The <literal>“activate-on-single-click”</literal> property GtkIconView:activate-on-single-click “activate-on-single-click” gboolean The activate-on-single-click property specifies whether the "item-activated" signal will be emitted after a single click. Owner: GtkIconView Flags: Read / Write Default value: FALSE The <literal>“cell-area”</literal> property GtkIconView:cell-area “cell-area” GtkCellArea * The GtkCellArea used to layout cell renderers for this view. If no area is specified when creating the icon view with gtk_icon_view_new_with_area() a GtkCellAreaBox will be used. Owner: GtkIconView Flags: Read / Write / Construct Only The <literal>“column-spacing”</literal> property GtkIconView:column-spacing “column-spacing” gint The column-spacing property specifies the space which is inserted between the columns of the icon view. Owner: GtkIconView Flags: Read / Write Allowed values: >= 0 Default value: 6 The <literal>“columns”</literal> property GtkIconView:columns “columns” gint The columns property contains the number of the columns in which the items should be displayed. If it is -1, the number of columns will be chosen automatically to fill the available area. Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“item-orientation”</literal> property GtkIconView:item-orientation “item-orientation” GtkOrientation The item-orientation property specifies how the cells (i.e. the icon and the text) of the item are positioned relative to each other. Owner: GtkIconView Flags: Read / Write Default value: GTK_ORIENTATION_VERTICAL The <literal>“item-padding”</literal> property GtkIconView:item-padding “item-padding” gint The item-padding property specifies the padding around each of the icon view's item. Owner: GtkIconView Flags: Read / Write Allowed values: >= 0 Default value: 6 The <literal>“item-width”</literal> property GtkIconView:item-width “item-width” gint The item-width property specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“margin”</literal> property GtkIconView:margin “margin” gint The margin property specifies the space which is inserted at the edges of the icon view. Owner: GtkIconView Flags: Read / Write Allowed values: >= 0 Default value: 6 The <literal>“markup-column”</literal> property GtkIconView:markup-column “markup-column” gint The ::markup-column property contains the number of the model column containing markup information to be displayed. The markup column must be of type G_TYPE_STRING. If this property and the :text-column property are both set to column numbers, it overrides the text column. If both are set to -1, no texts are displayed. Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“model”</literal> property GtkIconView:model “model” GtkTreeModel * The model for the icon view.Owner: GtkIconView Flags: Read / Write The <literal>“pixbuf-column”</literal> property GtkIconView:pixbuf-column “pixbuf-column” gint The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displayed. The pixbuf column must be of type GDK_TYPE_PIXBUF. Setting this property to -1 turns off the display of pixbufs. Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“reorderable”</literal> property GtkIconView:reorderable “reorderable” gboolean The reorderable property specifies if the items can be reordered by DND. Owner: GtkIconView Flags: Read / Write Default value: FALSE The <literal>“row-spacing”</literal> property GtkIconView:row-spacing “row-spacing” gint The row-spacing property specifies the space which is inserted between the rows of the icon view. Owner: GtkIconView Flags: Read / Write Allowed values: >= 0 Default value: 6 The <literal>“selection-mode”</literal> property GtkIconView:selection-mode “selection-mode” GtkSelectionMode The ::selection-mode property specifies the selection mode of icon view. If the mode is GTK_SELECTION_MULTIPLE, rubberband selection is enabled, for the other modes, only keyboard selection is possible. Owner: GtkIconView Flags: Read / Write Default value: GTK_SELECTION_SINGLE The <literal>“spacing”</literal> property GtkIconView:spacing “spacing” gint The spacing property specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. Owner: GtkIconView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“text-column”</literal> property GtkIconView:text-column “text-column” gint The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type G_TYPE_STRING. If this property and the :markup-column property are both set to -1, no texts are displayed. Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“tooltip-column”</literal> property GtkIconView:tooltip-column “tooltip-column” gint The column in the model containing the tooltip texts for the items.Owner: GtkIconView Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“activate-cursor-item”</literal> signal GtkIconView::activate-cursor-item gboolean user_function (GtkIconView *iconview, gpointer user_data) A keybinding signal which gets emitted when the user activates the currently focused item. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control activation programmatically. The default bindings for this signal are Space, Return and Enter. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“item-activated”</literal> signal GtkIconView::item-activated void user_function (GtkIconView *iconview, GtkTreePath *path, gpointer user_data) The ::item-activated signal is emitted when the method gtk_icon_view_item_activated() is called, when the user double clicks an item with the "activate-on-single-click" property set to FALSE, or when the user single clicks an item when the "activate-on-single-click" property set to TRUE. It is also emitted when a non-editable item is selected and one of the keys: Space, Return or Enter is pressed. Parameters iconview the object on which the signal is emitted path the GtkTreePath for the activated item user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“move-cursor”</literal> signal GtkIconView::move-cursor gboolean user_function (GtkIconView *iconview, GtkMovementStep step, gint count, gboolean extend, gboolean modify, gpointer user_data) The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal include Arrow keys which move by individual steps Home/End keys which move to the first/last item PageUp/PageDown which move by "pages" All of these will extend the selection when combined with the Shift modifier. Parameters iconview the object which received the signal step the granularity of the move, as a GtkMovementStep count the number of step units to move extend whether to extend the selection modify whether to modify the selection user_data user data set when the signal handler was connected. Flags: Action The <literal>“select-all”</literal> signal GtkIconView::select-all void user_function (GtkIconView *iconview, gpointer user_data) A keybinding signal which gets emitted when the user selects all items. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. The default binding for this signal is Ctrl-a. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“select-cursor-item”</literal> signal GtkIconView::select-cursor-item void user_function (GtkIconView *iconview, gpointer user_data) A keybinding signal which gets emitted when the user selects the item that is currently focused. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. There is no default binding for this signal. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“selection-changed”</literal> signal GtkIconView::selection-changed void user_function (GtkIconView *iconview, gpointer user_data) The ::selection-changed signal is emitted when the selection (i.e. the set of selected items) changes. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run First The <literal>“toggle-cursor-item”</literal> signal GtkIconView::toggle-cursor-item void user_function (GtkIconView *iconview, gpointer user_data) A keybinding signal which gets emitted when the user toggles whether the currently focused item is selected or not. The exact effect of this depend on the selection mode. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. There is no default binding for this signal is Ctrl-Space. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“unselect-all”</literal> signal GtkIconView::unselect-all void user_function (GtkIconView *iconview, gpointer user_data) A keybinding signal which gets emitted when the user unselects all items. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. The default binding for this signal is Ctrl-Shift-a. Parameters iconview the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtkaccellabel.xml0000664000175000017500000006041713710700310020460 0ustar mclasenmclasen ]> GtkAccelLabel 3 GTK4 Library GtkAccelLabel A label which displays an accelerator key on the right of the text Functions GtkWidget * gtk_accel_label_new () guint gtk_accel_label_get_accel_width () void gtk_accel_label_set_accel () void gtk_accel_label_get_accel () gboolean gtk_accel_label_refetch () void gtk_accel_label_set_label () const char * gtk_accel_label_get_label () gboolean gtk_accel_label_get_use_underline () void gtk_accel_label_set_use_underline () Properties gchar *labelRead / Write gbooleanuse-underlineRead / Write Types and Values GtkAccelLabel Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkAccelLabel Implemented Interfaces GtkAccelLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkAccelLabel is a widget that shows an accelerator next to a description of said accelerator, e.g. “Save Document Ctrl+S”. It is commonly used in menus to show the keyboard short-cuts for commands. The accelerator key to display is typically not set explicitly (although it can be, with gtk_accel_label_set_accel()). Instead, the GtkAccelLabel displays the accelerators which have been added to a particular widget. This widget is set by calling gtk_accel_label_set_accel_widget(). For example, a menu item may have an accelerator added to emit the “activate” signal when the “Ctrl+S” key combination is pressed. A GtkAccelLabel is created and added to the menu item widget, and gtk_accel_label_set_accel_widget() is called with the item as the second argument. The GtkAccelLabel will now display “Ctrl+S” after its label. Note that accel labels are typically set up automatically when menus are created. A GtkAccelLabel will only display accelerators which have GTK_ACCEL_VISIBLE set (see GtkAccelFlags). A GtkAccelLabel can display multiple accelerators and even signal names, though it is almost always used to display just one accelerator key. CSS nodes GtkAccelLabel has a main CSS node with the name accellabel. It contains the two child nodes with name label and accelerator. Functions gtk_accel_label_new () gtk_accel_label_new GtkWidget * gtk_accel_label_new (const char *string); Creates a new GtkAccelLabel. Parameters string the label string. Must be non-NULL. Returns a new GtkAccelLabel. gtk_accel_label_get_accel_width () gtk_accel_label_get_accel_width guint gtk_accel_label_get_accel_width (GtkAccelLabel *accel_label); Returns the width needed to display the accelerator key(s). This is used by menus to align all of the menu item widgets, and shouldn't be needed by applications. Parameters accel_label a GtkAccelLabel. Returns the width needed to display the accelerator key(s). gtk_accel_label_set_accel () gtk_accel_label_set_accel void gtk_accel_label_set_accel (GtkAccelLabel *accel_label, guint accelerator_key, GdkModifierType accelerator_mods); Manually sets a keyval and modifier mask as the accelerator rendered by accel_label . If a keyval and modifier are explicitly set then these values are used regardless of any associated accel closure or widget. Providing an accelerator_key of 0 removes the manual setting. Parameters accel_label a GtkAccelLabel accelerator_key a keyval, or 0 accelerator_mods the modifier mask for the accel gtk_accel_label_get_accel () gtk_accel_label_get_accel void gtk_accel_label_get_accel (GtkAccelLabel *accel_label, guint *accelerator_key, GdkModifierType *accelerator_mods); Gets the keyval and modifier mask set with gtk_accel_label_set_accel(). Parameters accel_label a GtkAccelLabel accelerator_key return location for the keyval. [out] accelerator_mods return location for the modifier mask. [out] gtk_accel_label_refetch () gtk_accel_label_refetch gboolean gtk_accel_label_refetch (GtkAccelLabel *accel_label); Recreates the string representing the accelerator keys. This should not be needed since the string is automatically updated whenever accelerators are added or removed from the associated widget. Parameters accel_label a GtkAccelLabel. Returns always returns FALSE. gtk_accel_label_set_label () gtk_accel_label_set_label void gtk_accel_label_set_label (GtkAccelLabel *accel_label, const char *text); Sets the label part of the accel label. Parameters accel_label a GtkAccelLabel text The new label text gtk_accel_label_get_label () gtk_accel_label_get_label const char * gtk_accel_label_get_label (GtkAccelLabel *accel_label); Returns the current label, set via gtk_accel_label_set_label() Parameters accel_label a GtkAccelLabel Returns accel_label 's label. [transfer none] gtk_accel_label_get_use_underline () gtk_accel_label_get_use_underline gboolean gtk_accel_label_get_use_underline (GtkAccelLabel *accel_label); Returns whether the accel label interprets underscores in it's label property as mnemonic indicators. See gtk_accel_label_set_use_underline() and gtk_label_set_use_underline(); Parameters accel_label a GtkAccelLabel Returns whether the accel label uses mnemonic underlines gtk_accel_label_set_use_underline () gtk_accel_label_set_use_underline void gtk_accel_label_set_use_underline (GtkAccelLabel *accel_label, gboolean setting); Controls whether to interpret underscores in the text label of accel_label as mnemonic indicators. See also gtk_label_set_use_underline() Parameters accel_label a GtkAccelLabel setting Whether to use underlines in the label or not Types and Values GtkAccelLabel GtkAccelLabel typedef struct _GtkAccelLabel GtkAccelLabel; Property Details The <literal>“label”</literal> property GtkAccelLabel:label “label” gchar * The text displayed next to the accelerator.Owner: GtkAccelLabel Flags: Read / Write Default value: "" The <literal>“use-underline”</literal> property GtkAccelLabel:use-underline “use-underline” gboolean If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.Owner: GtkAccelLabel Flags: Read / Write Default value: FALSE See Also GtkAccelGroup docs/reference/gtk/xml/gtkimage.xml0000664000175000017500000016362613710700311017502 0ustar mclasenmclasen ]> GtkImage 3 GTK4 Library GtkImage A widget displaying an image Functions GtkWidget * gtk_image_new () GtkWidget * gtk_image_new_from_file () GtkWidget * gtk_image_new_from_resource () GtkWidget * gtk_image_new_from_pixbuf () GtkWidget * gtk_image_new_from_paintable () GtkWidget * gtk_image_new_from_icon_name () GtkWidget * gtk_image_new_from_gicon () void gtk_image_clear () void gtk_image_set_from_file () void gtk_image_set_from_resource () void gtk_image_set_from_pixbuf () void gtk_image_set_from_paintable () void gtk_image_set_from_icon_name () void gtk_image_set_from_gicon () GtkImageType gtk_image_get_storage_type () GdkPaintable * gtk_image_get_paintable () const char * gtk_image_get_icon_name () GIcon * gtk_image_get_gicon () void gtk_image_set_pixel_size () int gtk_image_get_pixel_size () void gtk_image_set_icon_size () GtkIconSize gtk_image_get_icon_size () Properties gchar *fileRead / Write GIcon *giconRead / Write gchar *icon-nameRead / Write GtkIconSizeicon-sizeRead / Write GdkPaintable *paintableRead / Write gintpixel-sizeRead / Write gchar *resourceRead / Write GtkImageTypestorage-typeRead gbooleanuse-fallbackRead / Write Types and Values GtkImage enumGtkImageType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkImage Implemented Interfaces GtkImage implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkImage widget displays an image. Various kinds of object can be displayed as an image; most typically, you would load a GdkTexture from a file, and then display that. There’s a convenience function to do this, gtk_image_new_from_file(), used as follows: 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 with gdk_texture_new_from_file(), then create the GtkImage with gtk_image_new_from_paintable(). Sometimes an application will want to avoid depending on external data files, such as image files. See the documentation of GResource for details. In this case, the “resource”, gtk_image_new_from_resource() and gtk_image_set_from_resource() should be used. CSS nodesGtkImage has a single CSS node with the name image. The style classes .normal-icons or .large-icons may appear, depending on the “icon-size” property. AccessibilityGtkImage uses the GTK_ACCESSIBLE_ROLE_IMG role. Functions gtk_image_new () gtk_image_new GtkWidget * gtk_image_new (void); Creates a new empty GtkImage widget. Returns a newly created GtkImage widget. gtk_image_new_from_file () gtk_image_new_from_file GtkWidget * gtk_image_new_from_file (const char *filename); Creates a new GtkImage displaying the file filename . If the file isn’t found or can’t be loaded, the resulting GtkImage will display a “broken image” icon. This function never returns NULL, it always returns a valid GtkImage widget. If you need to detect failures to load the file, use gdk_texture_new_from_file() to load the file yourself, then create the GtkImage from the texture. The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file. Parameters filename a filename. [type filename] Returns a new GtkImage gtk_image_new_from_resource () gtk_image_new_from_resource GtkWidget * gtk_image_new_from_resource (const char *resource_path); Creates a new GtkImage displaying the resource file resource_path . If the file isn’t found or can’t be loaded, the resulting GtkImage will display a “broken image” icon. This function never returns NULL, it always returns a valid GtkImage widget. If you need to detect failures to load the file, use gdk_pixbuf_new_from_file() to load the file yourself, then create the GtkImage from the pixbuf. The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file. Parameters resource_path a resource path Returns a new GtkImage gtk_image_new_from_pixbuf () gtk_image_new_from_pixbuf GtkWidget * gtk_image_new_from_pixbuf (GdkPixbuf *pixbuf); Creates a new GtkImage displaying pixbuf . The GtkImage does not assume a reference to the pixbuf; you still need to unref it if you own references. GtkImage will add its own reference rather than adopting yours. This is a helper for gtk_image_new_from_paintable(), and you can't get back the exact pixbuf once this is called, only a texture. Note that this function just creates an GtkImage from the pixbuf. The GtkImage created will not react to state changes. Should you want that, you should use gtk_image_new_from_icon_name(). Parameters pixbuf a GdkPixbuf, or NULL. [allow-none] Returns a new GtkImage gtk_image_new_from_paintable () gtk_image_new_from_paintable GtkWidget * gtk_image_new_from_paintable (GdkPaintable *paintable); Creates a new GtkImage displaying paintable . The GtkImage does not assume a reference to the paintable; you still need to unref it if you own references. GtkImage will add its own reference rather than adopting yours. The GtkImage will track changes to the paintable and update its size and contents in response to it. Parameters paintable a GdkPaintable, or NULL. [allow-none] Returns a new GtkImage gtk_image_new_from_icon_name () gtk_image_new_from_icon_name GtkWidget * gtk_image_new_from_icon_name (const char *icon_name); Creates a GtkImage displaying an icon from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size. Parameters icon_name an icon name or NULL. [nullable] Returns a new GtkImage displaying the themed icon gtk_image_new_from_gicon () gtk_image_new_from_gicon GtkWidget * gtk_image_new_from_gicon (GIcon *icon); Creates a GtkImage displaying an icon from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size. Parameters icon an icon Returns a new GtkImage displaying the themed icon gtk_image_clear () gtk_image_clear void gtk_image_clear (GtkImage *image); Resets the image to be empty. Parameters image a GtkImage gtk_image_set_from_file () gtk_image_set_from_file void gtk_image_set_from_file (GtkImage *image, const char *filename); See gtk_image_new_from_file() for details. Parameters image a GtkImage filename a filename or NULL. [type filename][allow-none] gtk_image_set_from_resource () gtk_image_set_from_resource void gtk_image_set_from_resource (GtkImage *image, const char *resource_path); See gtk_image_new_from_resource() for details. Parameters image a GtkImage resource_path a resource path or NULL. [allow-none] gtk_image_set_from_pixbuf () gtk_image_set_from_pixbuf void gtk_image_set_from_pixbuf (GtkImage *image, GdkPixbuf *pixbuf); See gtk_image_new_from_pixbuf() for details. Note: This is a helper for gtk_image_set_from_paintable(), and you can't get back the exact pixbuf once this is called, only a paintable. Parameters image a GtkImage pixbuf a GdkPixbuf or NULL. [allow-none] gtk_image_set_from_paintable () gtk_image_set_from_paintable void gtk_image_set_from_paintable (GtkImage *image, GdkPaintable *paintable); See gtk_image_new_from_paintable() for details. Parameters image a GtkImage paintable a GdkPaintable or NULL. [nullable] gtk_image_set_from_icon_name () gtk_image_set_from_icon_name void gtk_image_set_from_icon_name (GtkImage *image, const char *icon_name); See gtk_image_new_from_icon_name() for details. Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size. Parameters image a GtkImage icon_name an icon name or NULL. [nullable] gtk_image_set_from_gicon () gtk_image_set_from_gicon void gtk_image_set_from_gicon (GtkImage *image, GIcon *icon); See gtk_image_new_from_gicon() for details. Note: Before 3.94, this function was taking an extra icon size argument. See gtk_image_set_icon_size() for another way to set the icon size. Parameters image a GtkImage icon an icon gtk_image_get_storage_type () gtk_image_get_storage_type GtkImageType gtk_image_get_storage_type (GtkImage *image); Gets the type of representation being used by the GtkImage to store image data. If the GtkImage has no image data, the return value will be GTK_IMAGE_EMPTY. Parameters image a GtkImage Returns image representation being used gtk_image_get_paintable () gtk_image_get_paintable GdkPaintable * gtk_image_get_paintable (GtkImage *image); Gets the image GdkPaintable being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_PAINTABLE (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned paintable. Parameters image a GtkImage Returns the displayed paintable, or NULL if the image is empty. [nullable][transfer none] gtk_image_get_icon_name () gtk_image_get_icon_name const char * gtk_image_get_icon_name (GtkImage *image); Gets the icon name and size being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()). The returned string is owned by the GtkImage and should not be freed. Note: This function was changed in 3.94 not to use out parameters anymore, but return the icon name directly. See gtk_image_get_icon_size() for a way to get the icon size. Parameters image a GtkImage Returns the icon name, or NULL. [transfer none][allow-none] gtk_image_get_gicon () gtk_image_get_gicon GIcon * gtk_image_get_gicon (GtkImage *image); Gets the GIcon and size being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_GICON (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned GIcon. Note: This function was changed in 3.94 not to use out parameters anymore, but return the GIcon directly. See gtk_image_get_icon_size() for a way to get the icon size. Parameters image a GtkImage Returns a GIcon, or NULL. [transfer none][allow-none] gtk_image_set_pixel_size () gtk_image_set_pixel_size void gtk_image_set_pixel_size (GtkImage *image, int pixel_size); Sets the pixel size to use for named icons. If the pixel size is set to a value != -1, it is used instead of the icon size set by gtk_image_set_from_icon_name(). Parameters image a GtkImage pixel_size the new pixel size gtk_image_get_pixel_size () gtk_image_get_pixel_size int gtk_image_get_pixel_size (GtkImage *image); Gets the pixel size used for named icons. Parameters image a GtkImage Returns the pixel size used for named icons. gtk_image_set_icon_size () gtk_image_set_icon_size void gtk_image_set_icon_size (GtkImage *image, GtkIconSize icon_size); Suggests an icon size to the theme for named icons. Parameters image a GtkImage icon_size the new icon size gtk_image_get_icon_size () gtk_image_get_icon_size GtkIconSize gtk_image_get_icon_size (GtkImage *image); Gets the icon size used by the image when rendering icons. Parameters image a GtkImage Returns the image size used by icons Types and Values GtkImage GtkImage typedef struct _GtkImage GtkImage; enum GtkImageType GtkImageType Describes the image data representation used by a GtkImage. If you want to get the image from the widget, you can only get the currently-stored representation. e.g. if the gtk_image_get_storage_type() returns GTK_IMAGE_PAINTABLE, then you can call gtk_image_get_paintable(). For empty images, you can request any storage type (call any of the "get" functions), but they will all return NULL values. Members GTK_IMAGE_EMPTY there is no image displayed by the widget GTK_IMAGE_ICON_NAME the widget contains a named icon. This image type was added in GTK+ 2.6 GTK_IMAGE_GICON the widget contains a GIcon. This image type was added in GTK+ 2.14 GTK_IMAGE_PAINTABLE the widget contains a GdkPaintable. This image type was added in GTK+ 3.96 Property Details The <literal>“file”</literal> property GtkImage:file “file” gchar * Filename to load and display.Owner: GtkImage Flags: Read / Write Default value: NULL The <literal>“gicon”</literal> property GtkImage:gicon “gicon” GIcon * The GIcon displayed in the GtkImage. For themed icons, If the icon theme is changed, the image will be updated automatically. Owner: GtkImage Flags: Read / Write The <literal>“icon-name”</literal> property GtkImage:icon-name “icon-name” gchar * The name of the icon in the icon theme. If the icon theme is changed, the image will be updated automatically. Owner: GtkImage Flags: Read / Write Default value: NULL The <literal>“icon-size”</literal> property GtkImage:icon-size “icon-size” GtkIconSize Symbolic size to use for icon set or named icon.Owner: GtkImage Flags: Read / Write Default value: GTK_ICON_SIZE_INHERIT The <literal>“paintable”</literal> property GtkImage:paintable “paintable” GdkPaintable * A GdkPaintable to display.Owner: GtkImage Flags: Read / Write The <literal>“pixel-size”</literal> property GtkImage:pixel-size “pixel-size” gint The "pixel-size" property can be used to specify a fixed size overriding the “icon-size” property for images of type GTK_IMAGE_ICON_NAME. Owner: GtkImage Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“resource”</literal> property GtkImage:resource “resource” gchar * A path to a resource file to display. Owner: GtkImage Flags: Read / Write Default value: NULL The <literal>“storage-type”</literal> property GtkImage:storage-type “storage-type” GtkImageType The representation being used for image data.Owner: GtkImage Flags: Read Default value: GTK_IMAGE_EMPTY The <literal>“use-fallback”</literal> property GtkImage:use-fallback “use-fallback” gboolean Whether the icon displayed in the GtkImage will use standard icon names fallback. The value of this property is only relevant for images of type GTK_IMAGE_ICON_NAME and GTK_IMAGE_GICON. Owner: GtkImage Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkadjustment.xml0000664000175000017500000013411413710700310020563 0ustar mclasenmclasen ]> GtkAdjustment 3 GTK4 Library GtkAdjustment A representation of an adjustable bounded value Functions GtkAdjustment * gtk_adjustment_new () double gtk_adjustment_get_value () void gtk_adjustment_set_value () void gtk_adjustment_clamp_page () void gtk_adjustment_configure () double gtk_adjustment_get_lower () double gtk_adjustment_get_page_increment () double gtk_adjustment_get_page_size () double gtk_adjustment_get_step_increment () double gtk_adjustment_get_minimum_increment () double gtk_adjustment_get_upper () void gtk_adjustment_set_lower () void gtk_adjustment_set_page_increment () void gtk_adjustment_set_page_size () void gtk_adjustment_set_step_increment () void gtk_adjustment_set_upper () Properties gdoublelowerRead / Write gdoublepage-incrementRead / Write gdoublepage-sizeRead / Write gdoublestep-incrementRead / Write gdoubleupperRead / Write gdoublevalueRead / Write Signals voidchangedNo Recursion voidvalue-changedNo Recursion Types and Values GtkAdjustment Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkAdjustment Includes#include <gtk/gtk.h> Description The GtkAdjustment object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several GTK+ widgets, including GtkSpinButton, GtkViewport, and GtkRange (which is a base class for GtkScrollbar and GtkScale). The GtkAdjustment object does not update the value itself. Instead it is left up to the owner of the GtkAdjustment to control the value. Functions gtk_adjustment_new () gtk_adjustment_new GtkAdjustment * gtk_adjustment_new (double value, double lower, double upper, double step_increment, double page_increment, double page_size); Creates a new GtkAdjustment. Parameters value the initial value lower the minimum value upper the maximum value step_increment the step increment page_increment the page increment page_size the page size Returns a new GtkAdjustment gtk_adjustment_get_value () gtk_adjustment_get_value double gtk_adjustment_get_value (GtkAdjustment *adjustment); Gets the current value of the adjustment. See gtk_adjustment_set_value(). Parameters adjustment a GtkAdjustment Returns The current value of the adjustment gtk_adjustment_set_value () gtk_adjustment_set_value void gtk_adjustment_set_value (GtkAdjustment *adjustment, double value); Sets the GtkAdjustment value. The value is clamped to lie between “lower” and “upper”. Note that for adjustments which are used in a GtkScrollbar, the effective range of allowed values goes from “lower” to “upper” - “page-size”. Parameters adjustment a GtkAdjustment value the new value gtk_adjustment_clamp_page () gtk_adjustment_clamp_page void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, double lower, double upper); Updates the “value” property to ensure that the range between lower and upper is in the current page (i.e. between “value” and “value” + “page-size”). If the range is larger than the page size, then only the start of it will be in the current page. A “value-changed” signal will be emitted if the value is changed. Parameters adjustment a GtkAdjustment lower the lower value upper the upper value gtk_adjustment_configure () gtk_adjustment_configure void gtk_adjustment_configure (GtkAdjustment *adjustment, double value, double lower, double upper, double step_increment, double page_increment, double page_size); Sets all properties of the adjustment at once. Use this function to avoid multiple emissions of the “changed” signal. See gtk_adjustment_set_lower() for an alternative way of compressing multiple emissions of “changed” into one. Parameters adjustment a GtkAdjustment value the new value lower the new minimum value upper the new maximum value step_increment the new step increment page_increment the new page increment page_size the new page size gtk_adjustment_get_lower () gtk_adjustment_get_lower double gtk_adjustment_get_lower (GtkAdjustment *adjustment); Retrieves the minimum value of the adjustment. Parameters adjustment a GtkAdjustment Returns The current minimum value of the adjustment gtk_adjustment_get_page_increment () gtk_adjustment_get_page_increment double gtk_adjustment_get_page_increment (GtkAdjustment *adjustment); Retrieves the page increment of the adjustment. Parameters adjustment a GtkAdjustment Returns The current page increment of the adjustment gtk_adjustment_get_page_size () gtk_adjustment_get_page_size double gtk_adjustment_get_page_size (GtkAdjustment *adjustment); Retrieves the page size of the adjustment. Parameters adjustment a GtkAdjustment Returns The current page size of the adjustment gtk_adjustment_get_step_increment () gtk_adjustment_get_step_increment double gtk_adjustment_get_step_increment (GtkAdjustment *adjustment); Retrieves the step increment of the adjustment. Parameters adjustment a GtkAdjustment Returns The current step increment of the adjustment. gtk_adjustment_get_minimum_increment () gtk_adjustment_get_minimum_increment double gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment); Gets the smaller of step increment and page increment. Parameters adjustment a GtkAdjustment Returns the minimum increment of adjustment gtk_adjustment_get_upper () gtk_adjustment_get_upper double gtk_adjustment_get_upper (GtkAdjustment *adjustment); Retrieves the maximum value of the adjustment. Parameters adjustment a GtkAdjustment Returns The current maximum value of the adjustment gtk_adjustment_set_lower () gtk_adjustment_set_lower void gtk_adjustment_set_lower (GtkAdjustment *adjustment, double lower); Sets the minimum value of the adjustment. When setting multiple adjustment properties via their individual setters, multiple “changed” signals will be emitted. However, since the emission of the “changed” signal is tied to the emission of the “notify” signals of the changed properties, it’s possible to compress the “changed” signals into one by calling g_object_freeze_notify() and g_object_thaw_notify() around the calls to the individual setters. Alternatively, using a single g_object_set() for all the properties to change, or using gtk_adjustment_configure() has the same effect of compressing “changed” emissions. Parameters adjustment a GtkAdjustment lower the new minimum value gtk_adjustment_set_page_increment () gtk_adjustment_set_page_increment void gtk_adjustment_set_page_increment (GtkAdjustment *adjustment, double page_increment); Sets the page increment of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties. Parameters adjustment a GtkAdjustment page_increment the new page increment gtk_adjustment_set_page_size () gtk_adjustment_set_page_size void gtk_adjustment_set_page_size (GtkAdjustment *adjustment, double page_size); Sets the page size of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the GtkAdjustment::changed signal when setting multiple adjustment properties. Parameters adjustment a GtkAdjustment page_size the new page size gtk_adjustment_set_step_increment () gtk_adjustment_set_step_increment void gtk_adjustment_set_step_increment (GtkAdjustment *adjustment, double step_increment); Sets the step increment of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties. Parameters adjustment a GtkAdjustment step_increment the new step increment gtk_adjustment_set_upper () gtk_adjustment_set_upper void gtk_adjustment_set_upper (GtkAdjustment *adjustment, double upper); Sets the maximum value of the adjustment. Note that values will be restricted by upper - page-size if the page-size property is nonzero. See gtk_adjustment_set_lower() about how to compress multiple emissions of the “changed” signal when setting multiple adjustment properties. Parameters adjustment a GtkAdjustment upper the new maximum value Types and Values GtkAdjustment GtkAdjustment typedef struct _GtkAdjustment GtkAdjustment; The GtkAdjustment contains only private fields and should not be directly accessed. Property Details The <literal>“lower”</literal> property GtkAdjustment:lower “lower” gdouble The minimum value of the adjustment. Owner: GtkAdjustment Flags: Read / Write Default value: 0 The <literal>“page-increment”</literal> property GtkAdjustment:page-increment “page-increment” gdouble The page increment of the adjustment. Owner: GtkAdjustment Flags: Read / Write Default value: 0 The <literal>“page-size”</literal> property GtkAdjustment:page-size “page-size” gdouble The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a GtkSpinButton. Owner: GtkAdjustment Flags: Read / Write Default value: 0 The <literal>“step-increment”</literal> property GtkAdjustment:step-increment “step-increment” gdouble The step increment of the adjustment. Owner: GtkAdjustment Flags: Read / Write Default value: 0 The <literal>“upper”</literal> property GtkAdjustment:upper “upper” gdouble The maximum value of the adjustment. Note that values will be restricted by upper - page-size if the page-size property is nonzero. Owner: GtkAdjustment Flags: Read / Write Default value: 0 The <literal>“value”</literal> property GtkAdjustment:value “value” gdouble The value of the adjustment. Owner: GtkAdjustment Flags: Read / Write Default value: 0 Signal Details The <literal>“changed”</literal> signal GtkAdjustment::changed void user_function (GtkAdjustment *adjustment, gpointer user_data) Emitted when one or more of the GtkAdjustment properties have been changed, other than the “value” property. Parameters adjustment the object which received the signal user_data user data set when the signal handler was connected. Flags: No Recursion The <literal>“value-changed”</literal> signal GtkAdjustment::value-changed void user_function (GtkAdjustment *adjustment, gpointer user_data) Emitted when the “value” property has been changed. Parameters adjustment the object which received the signal user_data user data set when the signal handler was connected. Flags: No Recursion docs/reference/gtk/xml/gtknumericsorter.xml0000664000175000017500000003515213710700312021312 0ustar mclasenmclasen ]> GtkNumericSorter 3 GTK4 Library GtkNumericSorter Sort by comparing numbers Functions GtkSorter * gtk_numeric_sorter_new () GtkExpression * gtk_numeric_sorter_get_expression () void gtk_numeric_sorter_set_expression () GtkSortType gtk_numeric_sorter_get_sort_order () void gtk_numeric_sorter_set_sort_order () Properties GtkExpression *expressionRead / Write GtkSortTypesort-orderRead / Write Types and Values GtkNumericSorter Object Hierarchy GObject ╰── GtkSorter ╰── GtkNumericSorter Includes#include <gtk/gtk.h> Description GtkNumericSorter is a GtkSorter that compares numbers. To obtain the numbers to compare, this sorter evaluates a GtkExpression. Functions gtk_numeric_sorter_new () gtk_numeric_sorter_new GtkSorter * gtk_numeric_sorter_new (GtkExpression *expression); Creates a new numeric sorter using the given expression . Smaller numbers will be sorted first. You can call gtk_numeric_sorter_set_sort_order() to change this. Parameters expression The expression to evaluate. [transfer full][nullable] Returns a new GtkSorter gtk_numeric_sorter_get_expression () gtk_numeric_sorter_get_expression GtkExpression * gtk_numeric_sorter_get_expression (GtkNumericSorter *self); Gets the expression that is evaluated to obtain numbers from items. Parameters self a GtkNumericSorter Returns a GtkExpression, or NULL. [transfer none][nullable] gtk_numeric_sorter_set_expression () gtk_numeric_sorter_set_expression void gtk_numeric_sorter_set_expression (GtkNumericSorter *self, GtkExpression *expression); Sets the expression that is evaluated to obtain numbers from items. Unless an expression is set on self , the sorter will always compare items as invalid. The expression must have a return type that can be compared numerically, such as G_TYPE_INT or G_TYPE_DOUBLE. Parameters self a GtkNumericSorter expression a GtkExpression, or NULL. [nullable][transfer none] gtk_numeric_sorter_get_sort_order () gtk_numeric_sorter_get_sort_order GtkSortType gtk_numeric_sorter_get_sort_order (GtkNumericSorter *self); Gets whether this sorter will sort smaller numbers first. Parameters self a GtkNumericSorter Returns the order of the numbers gtk_numeric_sorter_set_sort_order () gtk_numeric_sorter_set_sort_order void gtk_numeric_sorter_set_sort_order (GtkNumericSorter *self, GtkSortType sort_order); Sets whether to sort smaller numbers before larger ones. Parameters self a GtkNumericSorter sort_order whether to sort smaller numbers first Types and Values GtkNumericSorter GtkNumericSorter typedef struct _GtkNumericSorter GtkNumericSorter; Property Details The <literal>“expression”</literal> property GtkNumericSorter:expression “expression” GtkExpression * The expression to evalute on items to get a number to compare with [type GtkExpression]Owner: GtkNumericSorter Flags: Read / Write The <literal>“sort-order”</literal> property GtkNumericSorter:sort-order “sort-order” GtkSortType Whether the sorter will sort smaller numbers first Owner: GtkNumericSorter Flags: Read / Write Default value: GTK_SORT_ASCENDING See Also GtkExpression docs/reference/gtk/xml/gtkassistant.xml0000664000175000017500000022452713710700311020427 0ustar mclasenmclasen ]> GtkAssistant 3 GTK4 Library GtkAssistant A widget used to guide users through multi-step operations Functions GtkWidget * gtk_assistant_new () GtkAssistantPage * gtk_assistant_get_page () GListModel * gtk_assistant_get_pages () GtkWidget * gtk_assistant_page_get_child () int gtk_assistant_get_current_page () void gtk_assistant_set_current_page () int gtk_assistant_get_n_pages () GtkWidget * gtk_assistant_get_nth_page () int gtk_assistant_prepend_page () int gtk_assistant_append_page () int gtk_assistant_insert_page () void gtk_assistant_remove_page () int (*GtkAssistantPageFunc) () void gtk_assistant_set_forward_page_func () void gtk_assistant_set_page_type () GtkAssistantPageType gtk_assistant_get_page_type () void gtk_assistant_set_page_title () const char * gtk_assistant_get_page_title () void gtk_assistant_set_page_complete () gboolean gtk_assistant_get_page_complete () void gtk_assistant_add_action_widget () void gtk_assistant_remove_action_widget () void gtk_assistant_update_buttons_state () void gtk_assistant_commit () void gtk_assistant_next_page () void gtk_assistant_previous_page () Properties GListModel *pagesRead gintuse-header-barRead / Write / Construct Only GtkWidget *childRead / Write / Construct Only gbooleancompleteRead / Write GtkAssistantPageTypepage-typeRead / Write gchar *titleRead / Write Signals voidapplyRun Last voidcancelRun Last voidcloseRun Last voidescapeAction voidprepareRun Last Types and Values GtkAssistant GtkAssistantPage enumGtkAssistantPageType Object Hierarchy GObject ├── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkAssistant ╰── GtkAssistantPage Implemented Interfaces GtkAssistant implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description A GtkAssistant 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. The design of GtkAssistant is that it controls what buttons to show and to make sensitive, based on what it knows about the page sequence and the type of each page, in addition to state information like the page completion and committed status. If you have a case that doesn’t quite fit in GtkAssistants way of handling buttons, you can use the GTK_ASSISTANT_PAGE_CUSTOM page type and handle buttons yourself. GtkAssistant maintains a GtkAssistantPage object for each added child, which holds additional per-child properties. You obtain the GtkAssistantPage for a child with gtk_assistant_get_page(). GtkAssistant as GtkBuildableThe GtkAssistant implementation of the GtkBuildable interface exposes the action_area as internal children with the name “action_area”. To add pages to an assistant in GtkBuilder, simply add it as a child to the GtkAssistant object. If you need to set per-object properties, create a GtkAssistantPage object explicitly, and set the child widget as a property on it. CSS nodesGtkAssistant has a single CSS node with the name window and style class .assistant. Functions gtk_assistant_new () gtk_assistant_new GtkWidget * gtk_assistant_new (void); Creates a new GtkAssistant. Returns a newly created GtkAssistant gtk_assistant_get_page () gtk_assistant_get_page GtkAssistantPage * gtk_assistant_get_page (GtkAssistant *assistant, GtkWidget *child); Returns the GtkAssistantPage object for child . Parameters assistant a GtkAssistant child a child of assistant Returns the GtkAssistantPage for child . [transfer none] gtk_assistant_get_pages () gtk_assistant_get_pages GListModel * gtk_assistant_get_pages (GtkAssistant *assistant); Gets a list model of the assistant pages. Parameters assistant a GtkAssistant Returns A list model of the pages. [transfer full][attributes element-type=GtkAssistantPage] gtk_assistant_page_get_child () gtk_assistant_page_get_child GtkWidget * gtk_assistant_page_get_child (GtkAssistantPage *page); Returns the child to which page belongs. Parameters page a GtkAssistantPage Returns the child to which page belongs. [transfer none] gtk_assistant_get_current_page () gtk_assistant_get_current_page int gtk_assistant_get_current_page (GtkAssistant *assistant); Returns the page number of the current page. Parameters assistant a GtkAssistant Returns The index (starting from 0) of the current page in the assistant , or -1 if the assistant has no pages, or no current page. gtk_assistant_set_current_page () gtk_assistant_set_current_page void gtk_assistant_set_current_page (GtkAssistant *assistant, int page_num); Switches the page to page_num . Note that this will only be necessary in custom buttons, as the assistant flow can be set with gtk_assistant_set_forward_page_func(). Parameters assistant a GtkAssistant page_num index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the assistant , nothing will be done. gtk_assistant_get_n_pages () gtk_assistant_get_n_pages int gtk_assistant_get_n_pages (GtkAssistant *assistant); Returns the number of pages in the assistant Parameters assistant a GtkAssistant Returns the number of pages in the assistant gtk_assistant_get_nth_page () gtk_assistant_get_nth_page GtkWidget * gtk_assistant_get_nth_page (GtkAssistant *assistant, int page_num); Returns the child widget contained in page number page_num . Parameters assistant a GtkAssistant page_num the index of a page in the assistant , or -1 to get the last page Returns the child widget, or NULL if page_num is out of bounds. [nullable][transfer none] gtk_assistant_prepend_page () gtk_assistant_prepend_page int gtk_assistant_prepend_page (GtkAssistant *assistant, GtkWidget *page); Prepends a page to the assistant . Parameters assistant a GtkAssistant page a GtkWidget Returns the index (starting at 0) of the inserted page gtk_assistant_append_page () gtk_assistant_append_page int gtk_assistant_append_page (GtkAssistant *assistant, GtkWidget *page); Appends a page to the assistant . Parameters assistant a GtkAssistant page a GtkWidget Returns the index (starting at 0) of the inserted page gtk_assistant_insert_page () gtk_assistant_insert_page int gtk_assistant_insert_page (GtkAssistant *assistant, GtkWidget *page, int position); Inserts a page in the assistant at a given position. Parameters assistant a GtkAssistant page a GtkWidget position the index (starting at 0) at which to insert the page, or -1 to append the page to the assistant Returns the index (starting from 0) of the inserted page gtk_assistant_remove_page () gtk_assistant_remove_page void gtk_assistant_remove_page (GtkAssistant *assistant, int page_num); Removes the page_num ’s page from assistant . Parameters assistant a GtkAssistant page_num the index of a page in the assistant , or -1 to remove the last page GtkAssistantPageFunc () GtkAssistantPageFunc int (*GtkAssistantPageFunc) (int current_page, gpointer data); A function used by gtk_assistant_set_forward_page_func() to know which is the next page given a current one. It’s called both for computing the next page when the user presses the “forward” button and for handling the behavior of the “last” button. Parameters current_page The page number used to calculate the next page. data user data. [closure] Returns The next page number. gtk_assistant_set_forward_page_func () gtk_assistant_set_forward_page_func void gtk_assistant_set_forward_page_func (GtkAssistant *assistant, GtkAssistantPageFunc page_func, gpointer data, GDestroyNotify destroy); Sets the page forwarding function to be page_func . This function will be used to determine what will be the next page when the user presses the forward button. Setting page_func to NULL will make the assistant to use the default forward function, which just goes to the next visible page. Parameters assistant a GtkAssistant page_func the GtkAssistantPageFunc, or NULL to use the default one. [allow-none] data user data for page_func destroy destroy notifier for data gtk_assistant_set_page_type () gtk_assistant_set_page_type void gtk_assistant_set_page_type (GtkAssistant *assistant, GtkWidget *page, GtkAssistantPageType type); Sets the page type for page . The page type determines the page behavior in the assistant . Parameters assistant a GtkAssistant page a page of assistant type the new type for page gtk_assistant_get_page_type () gtk_assistant_get_page_type GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant *assistant, GtkWidget *page); Gets the page type of page . Parameters assistant a GtkAssistant page a page of assistant Returns the page type of page gtk_assistant_set_page_title () gtk_assistant_set_page_title void gtk_assistant_set_page_title (GtkAssistant *assistant, GtkWidget *page, const char *title); Sets a title for page . The title is displayed in the header area of the assistant when page is the current page. Parameters assistant a GtkAssistant page a page of assistant title the new title for page gtk_assistant_get_page_title () gtk_assistant_get_page_title const char * gtk_assistant_get_page_title (GtkAssistant *assistant, GtkWidget *page); Gets the title for page . Parameters assistant a GtkAssistant page a page of assistant Returns the title for page gtk_assistant_set_page_complete () gtk_assistant_set_page_complete void gtk_assistant_set_page_complete (GtkAssistant *assistant, GtkWidget *page, gboolean complete); Sets whether page contents are complete. This will make assistant update the buttons state to be able to continue the task. Parameters assistant a GtkAssistant page a page of assistant complete the completeness status of the page gtk_assistant_get_page_complete () gtk_assistant_get_page_complete gboolean gtk_assistant_get_page_complete (GtkAssistant *assistant, GtkWidget *page); Gets whether page is complete. Parameters assistant a GtkAssistant page a page of assistant Returns TRUE if page is complete. gtk_assistant_add_action_widget () gtk_assistant_add_action_widget void gtk_assistant_add_action_widget (GtkAssistant *assistant, GtkWidget *child); Adds a widget to the action area of a GtkAssistant. Parameters assistant a GtkAssistant child a GtkWidget gtk_assistant_remove_action_widget () gtk_assistant_remove_action_widget void gtk_assistant_remove_action_widget (GtkAssistant *assistant, GtkWidget *child); Removes a widget from the action area of a GtkAssistant. Parameters assistant a GtkAssistant child a GtkWidget gtk_assistant_update_buttons_state () gtk_assistant_update_buttons_state void gtk_assistant_update_buttons_state (GtkAssistant *assistant); Forces assistant to recompute the buttons state. 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. 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. Parameters assistant a GtkAssistant gtk_assistant_commit () gtk_assistant_commit void gtk_assistant_commit (GtkAssistant *assistant); Erases the visited page history so the back button is not shown on the current page, and removes the cancel button from subsequent pages. Use this when the information provided up to the current page is hereafter deemed permanent and cannot be modified or undone. For example, showing a progress page to track a long-running, unreversible operation after the user has clicked apply on a confirmation page. Parameters assistant a GtkAssistant gtk_assistant_next_page () gtk_assistant_next_page void gtk_assistant_next_page (GtkAssistant *assistant); Navigate to the next page. It is a programming error to call this function when there is no next page. This function is for use when creating pages of the GTK_ASSISTANT_PAGE_CUSTOM type. Parameters assistant a GtkAssistant gtk_assistant_previous_page () gtk_assistant_previous_page void gtk_assistant_previous_page (GtkAssistant *assistant); Navigate to the previous visited page. It is a programming error to call this function when no previous page is available. This function is for use when creating pages of the GTK_ASSISTANT_PAGE_CUSTOM type. Parameters assistant a GtkAssistant Types and Values GtkAssistant GtkAssistant typedef struct _GtkAssistant GtkAssistant; GtkAssistantPage GtkAssistantPage typedef struct _GtkAssistantPage GtkAssistantPage; enum GtkAssistantPageType GtkAssistantPageType An enum for determining the page role inside the GtkAssistant. It's used to handle buttons sensitivity and visibility. Note that an assistant needs to end its page flow with a page of type GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_SUMMARY or GTK_ASSISTANT_PAGE_PROGRESS to be correct. The Cancel button will only be shown if the page isn’t “committed”. See gtk_assistant_commit() for details. Members GTK_ASSISTANT_PAGE_CONTENT The page has regular contents. Both the Back and forward buttons will be shown. GTK_ASSISTANT_PAGE_INTRO The page contains an introduction to the assistant task. Only the Forward button will be shown if there is a next page. GTK_ASSISTANT_PAGE_CONFIRM The page lets the user confirm or deny the changes. The Back and Apply buttons will be shown. GTK_ASSISTANT_PAGE_SUMMARY The page informs the user of the changes done. Only the Close button will be shown. GTK_ASSISTANT_PAGE_PROGRESS Used for tasks that take a long time to complete, blocks the assistant until the page is marked as complete. Only the back button will be shown. GTK_ASSISTANT_PAGE_CUSTOM Used for when other page types are not appropriate. No buttons will be shown, and the application must add its own buttons through gtk_assistant_add_action_widget(). Property Details The <literal>“pages”</literal> property GtkAssistant:pages “pages” GListModel * The pages of the assistant.Owner: GtkAssistant Flags: Read The <literal>“use-header-bar”</literal> property GtkAssistant:use-header-bar “use-header-bar” gint TRUE if the assistant uses a GtkHeaderBar for action buttons instead of the action-area. For technical reasons, this property is declared as an integer property, but you should only set it to TRUE or FALSE. Owner: GtkAssistant Flags: Read / Write / Construct Only Allowed values: [-1,1] Default value: -1 The <literal>“child”</literal> property GtkAssistantPage:child “child” GtkWidget * The content the assistant page.Owner: GtkAssistantPage Flags: Read / Write / Construct Only The <literal>“complete”</literal> property GtkAssistantPage:complete “complete” gboolean Setting the "complete" property to TRUE marks a page as complete (i.e.: all the required fields are filled out). GTK+ uses this information to control the sensitivity of the navigation buttons. Owner: GtkAssistantPage Flags: Read / Write Default value: FALSE The <literal>“page-type”</literal> property GtkAssistantPage:page-type “page-type” GtkAssistantPageType The type of the assistant page. Owner: GtkAssistantPage Flags: Read / Write Default value: GTK_ASSISTANT_PAGE_CONTENT The <literal>“title”</literal> property GtkAssistantPage:title “title” gchar * The title of the page. Owner: GtkAssistantPage Flags: Read / Write Default value: NULL Signal Details The <literal>“apply”</literal> signal GtkAssistant::apply void user_function (GtkAssistant *assistant, gpointer user_data) The ::apply signal is emitted when the apply button is clicked. The default behavior of the GtkAssistant is to switch to the page after the current page, unless the current page is the last one. A handler for the ::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 putting a page of type GTK_ASSISTANT_PAGE_PROGRESS after the confirmation page and handle this operation within the “prepare” signal of the progress page. Parameters assistant the GtkAssistant user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“cancel”</literal> signal GtkAssistant::cancel void user_function (GtkAssistant *assistant, gpointer user_data) The ::cancel signal is emitted when then the cancel button is clicked. Parameters assistant the GtkAssistant user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“close”</literal> signal GtkAssistant::close void user_function (GtkAssistant *assistant, gpointer user_data) The ::close 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 GTK_ASSISTANT_PAGE_CONFIRM) is clicked. Parameters assistant the GtkAssistant user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“escape”</literal> signal GtkAssistant::escape void user_function (GtkAssistant *assistant, gpointer user_data) Flags: Action The <literal>“prepare”</literal> signal GtkAssistant::prepare void user_function (GtkAssistant *assistant, GtkWidget *page, gpointer user_data) The ::prepare 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 preparations which are necessary before showing page . Parameters assistant the GtkAssistant page the current page user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkimcontext.xml0000664000175000017500000017362413710700311020431 0ustar mclasenmclasen ]> GtkIMContext 3 GTK4 Library GtkIMContext Base class for input method contexts Functions void gtk_im_context_get_preedit_string () gboolean gtk_im_context_filter_keypress () gboolean gtk_im_context_filter_key () void gtk_im_context_focus_in () void gtk_im_context_focus_out () void gtk_im_context_reset () void gtk_im_context_set_client_widget () void gtk_im_context_set_cursor_location () void gtk_im_context_set_use_preedit () void gtk_im_context_set_surrounding () gboolean gtk_im_context_get_surrounding () gboolean gtk_im_context_delete_surrounding () Properties GtkInputHintsinput-hintsRead / Write GtkInputPurposeinput-purposeRead / Write Signals voidcommitRun Last gbooleandelete-surroundingRun Last voidpreedit-changedRun Last voidpreedit-endRun Last voidpreedit-startRun Last gbooleanretrieve-surroundingRun Last Types and Values structGtkIMContext structGtkIMContextClass Object Hierarchy GObject ╰── GtkIMContext ├── GtkIMContextSimple ╰── GtkIMMulticontext Includes#include <gtk/gtk.h> #include <gtk/gtkimmodule.h> Description GtkIMContext defines the interface for GTK+ input methods. An input method is used by GTK+ text input widgets like GtkEntry to map from key events to Unicode character strings. The default input method can be set programmatically via the “gtk-im-module” GtkSettings property. Alternatively, you may set the GTK_IM_MODULE environment variable as documented in Running GTK+ Applications. The GtkEntry “im-module” and GtkTextView “im-module” properties may also be used to set input methods for specific widget instances. For instance, a certain entry widget might be expected to contain certain characters which would be easier to input with a certain input method. An input method may consume multiple key events in sequence and finally output the composed result. This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text. For instance, the default GTK+ input method implements the input of arbitrary Unicode code points by holding down the Control and Shift keys and then typing “U” followed by the hexadecimal digits of the code point. When releasing the Control and Shift keys, preediting ends and the character is inserted as text. Ctrl+Shift+u20AC for example results in the € sign. Additional input methods can be made available for use by GTK+ widgets as loadable modules. An input method module is a small shared library which implements a subclass of GtkIMContext or GtkIMContextSimple and exports these four functions: This function should register the GType of the GtkIMContext subclass which implements the input method by means of g_type_module_register_type(). Note that g_type_register_static() cannot be used as the type needs to be registered dynamically. Here goes any cleanup code your input method might require on module unload. This function returns the list of input methods provided by the module. The example implementation above shows a common solution and simply returns a pointer to statically defined array of GtkIMContextInfo items for each provided input method. This function should return a pointer to a newly created instance of the GtkIMContext subclass identified by context_id . The context ID is the same as specified in the GtkIMContextInfo array returned by im_module_list(). After a new loadable input method module has been installed on the system, the configuration file gtk.immodules needs to be regenerated by gtk-query-immodules-3.0, in order for the new input method to become available to GTK+ applications. Functions gtk_im_context_get_preedit_string () gtk_im_context_get_preedit_string void gtk_im_context_get_preedit_string (GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos); Retrieve the current preedit string for the input context, and a list of attributes to apply to the string. This string should be displayed inserted at the insertion point. Parameters context a GtkIMContext str location to store the retrieved string. The string retrieved must be freed with g_free(). [out][transfer full] attrs location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). [out][transfer full] cursor_pos location to store position of cursor (in characters) within the preedit string. [out] gtk_im_context_filter_keypress () gtk_im_context_filter_keypress gboolean gtk_im_context_filter_keypress (GtkIMContext *context, GdkEvent *event); Allow an input method to internally handle key press and release events. If this function returns TRUE, then no further processing should be done for this key event. Parameters context a GtkIMContext event the key event Returns TRUE if the input method handled the key event. gtk_im_context_filter_key () gtk_im_context_filter_key gboolean gtk_im_context_filter_key (GtkIMContext *context, gboolean press, GdkSurface *surface, GdkDevice *device, guint32 time, guint keycode, GdkModifierType state, int group); Allow an input method to forward key press and release events to another input method, without necessarily having a GdkEvent available. Parameters context a GtkIMContext press whether to forward a key press or release event surface the surface the event is for device the device that the event is for time the timestamp for the event keycode the keycode for the event state modifier state for the event group the active keyboard group for the event Returns TRUE if the input method handled the key event. gtk_im_context_focus_in () gtk_im_context_focus_in void gtk_im_context_focus_in (GtkIMContext *context); Notify the input method that the widget to which this input context corresponds has gained focus. The input method may, for example, change the displayed feedback to reflect this change. Parameters context a GtkIMContext gtk_im_context_focus_out () gtk_im_context_focus_out void gtk_im_context_focus_out (GtkIMContext *context); Notify the input method that the widget to which this input context corresponds has lost focus. The input method may, for example, change the displayed feedback or reset the contexts state to reflect this change. Parameters context a GtkIMContext gtk_im_context_reset () gtk_im_context_reset void gtk_im_context_reset (GtkIMContext *context); Notify the input method that a change such as a change in cursor position has been made. This will typically cause the input method to clear the preedit state. Parameters context a GtkIMContext gtk_im_context_set_client_widget () gtk_im_context_set_client_widget void gtk_im_context_set_client_widget (GtkIMContext *context, GtkWidget *widget); Set the client window for the input context; this is the GtkWidget holding the input focus. This widget is used in order to correctly position status windows, and may also be used for purposes internal to the input method. Parameters context a GtkIMContext widget the client widget. This may be NULL to indicate that the previous client widget no longer exists. [allow-none] gtk_im_context_set_cursor_location () gtk_im_context_set_cursor_location void gtk_im_context_set_cursor_location (GtkIMContext *context, const GdkRectangle *area); Notify the input method that a change in cursor position has been made. The location is relative to the client window. Parameters context a GtkIMContext area new location gtk_im_context_set_use_preedit () gtk_im_context_set_use_preedit void gtk_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit); Sets whether the IM context should use the preedit string to display feedback. If use_preedit is FALSE (default is TRUE), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window. Parameters context a GtkIMContext use_preedit whether the IM context should use the preedit string. gtk_im_context_set_surrounding () gtk_im_context_set_surrounding void gtk_im_context_set_surrounding (GtkIMContext *context, const char *text, int len, int cursor_index); Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the GtkIMContext::retrieve_surrounding signal, and will likely have no effect if called at other times. Parameters context a GtkIMContext text text surrounding the insertion point, as UTF-8. the preedit string should not be included within text . len the length of text , or -1 if text is nul-terminated cursor_index the byte index of the insertion cursor within text . gtk_im_context_get_surrounding () gtk_im_context_get_surrounding gboolean gtk_im_context_get_surrounding (GtkIMContext *context, char **text, int *cursor_index); Retrieves context around the insertion point. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed. This function is implemented by emitting the GtkIMContext::retrieve_surrounding signal on the input method; in response to this signal, a widget should provide as much context as is available, up to an entire paragraph, by calling gtk_im_context_set_surrounding(). Note that there is no obligation for a widget to respond to the ::retrieve_surrounding signal, so input methods must be prepared to function without context. Parameters context a GtkIMContext text location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns TRUE, then you must free the result stored in this location with g_free(). [out][transfer full] cursor_index location to store byte index of the insertion cursor within text . [out] Returns TRUE if surrounding text was provided; in this case you must free the result stored in *text. gtk_im_context_delete_surrounding () gtk_im_context_delete_surrounding gboolean gtk_im_context_delete_surrounding (GtkIMContext *context, int offset, int n_chars); Asks the widget that the input context is attached to delete characters around the cursor position by emitting the GtkIMContext::delete_surrounding signal. Note that offset and n_chars are in characters not in bytes which differs from the usage other places in GtkIMContext. In order to use this function, you should first call gtk_im_context_get_surrounding() to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted. This function is used by an input method that wants to make subsitutions in the existing text in response to new input. It is not useful for applications. Parameters context a GtkIMContext offset offset from cursor position in chars; a negative value means start before the cursor. n_chars number of characters to delete. Returns TRUE if the signal was handled. Types and Values struct GtkIMContext GtkIMContext struct GtkIMContext; struct GtkIMContextClass GtkIMContextClass struct GtkIMContextClass { /* Signals */ void (*preedit_start) (GtkIMContext *context); void (*preedit_end) (GtkIMContext *context); void (*preedit_changed) (GtkIMContext *context); void (*commit) (GtkIMContext *context, const char *str); gboolean (*retrieve_surrounding) (GtkIMContext *context); gboolean (*delete_surrounding) (GtkIMContext *context, int offset, int n_chars); /* Virtual functions */ void (*set_client_widget) (GtkIMContext *context, GtkWidget *widget); void (*get_preedit_string) (GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos); gboolean (*filter_keypress) (GtkIMContext *context, GdkEvent *event); void (*focus_in) (GtkIMContext *context); void (*focus_out) (GtkIMContext *context); void (*reset) (GtkIMContext *context); void (*set_cursor_location) (GtkIMContext *context, GdkRectangle *area); void (*set_use_preedit) (GtkIMContext *context, gboolean use_preedit); void (*set_surrounding) (GtkIMContext *context, const char *text, int len, int cursor_index); gboolean (*get_surrounding) (GtkIMContext *context, char **text, int *cursor_index); }; Members preedit_start () Default handler of the “preedit-start” signal. preedit_end () Default handler of the “preedit-end” signal. preedit_changed () Default handler of the “preedit-changed” signal. commit () Default handler of the “commit” signal. retrieve_surrounding () Default handler of the “retrieve-surrounding” signal. delete_surrounding () Default handler of the “delete-surrounding” signal. set_client_widget () Called via gtk_im_context_set_client_widget() when the input window where the entered text will appear changes. Override this to keep track of the current input window, for instance for the purpose of positioning a status display of your input method. get_preedit_string () Called via gtk_im_context_get_preedit_string() to retrieve the text currently being preedited for display at the cursor position. Any input method which composes complex characters or any other compositions from multiple sequential key presses should override this method to provide feedback. filter_keypress () Called via gtk_im_context_filter_keypress() on every key press or release event. Every non-trivial input method needs to override this in order to implement the mapping from key events to text. A return value of TRUE indicates to the caller that the event was consumed by the input method. In that case, the “commit” signal should be emitted upon completion of a key sequence to pass the resulting text back to the input widget. Alternatively, FALSE may be returned to indicate that the event wasn’t handled by the input method. If a builtin mapping exists for the key, it is used to produce a character. focus_in () Called via gtk_im_context_focus_in() when the input widget has gained focus. May be overridden to keep track of the current focus. focus_out () Called via gtk_im_context_focus_out() when the input widget has lost focus. May be overridden to keep track of the current focus. reset () Called via gtk_im_context_reset() to signal a change such as a change in cursor position. An input method that implements preediting should override this method to clear the preedit state on reset. set_cursor_location () Called via gtk_im_context_set_cursor_location() to inform the input method of the current cursor location relative to the client window. May be overridden to implement the display of popup windows at the cursor position. set_use_preedit () Called via gtk_im_context_set_use_preedit() to control the use of the preedit string. Override this to display feedback by some other means if turned off. set_surrounding () Called via gtk_im_context_set_surrounding() in response to signal “retrieve-surrounding” to update the input method’s idea of the context around the cursor. It is not necessary to override this method even with input methods which implement context-dependent behavior. The base implementation is sufficient for gtk_im_context_get_surrounding() to work. get_surrounding () Called via gtk_im_context_get_surrounding() to update the context around the cursor location. It is not necessary to override this method even with input methods which implement context-dependent behavior. The base implementation emits “retrieve-surrounding” and records the context received by the subsequent invocation of get_surrounding . Property Details The <literal>“input-hints”</literal> property GtkIMContext:input-hints “input-hints” GtkInputHints Hints for the text field behaviour.Owner: GtkIMContext Flags: Read / Write The <literal>“input-purpose”</literal> property GtkIMContext:input-purpose “input-purpose” GtkInputPurpose Purpose of the text field.Owner: GtkIMContext Flags: Read / Write Default value: GTK_INPUT_PURPOSE_FREE_FORM Signal Details The <literal>“commit”</literal> signal GtkIMContext::commit void user_function (GtkIMContext *context, gchar *str, gpointer user_data) The ::commit signal is emitted when a complete input sequence has been entered by the user. This can be a single character immediately after a key press or the final result of preediting. Parameters context the object on which the signal is emitted str the completed character(s) entered by the user user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“delete-surrounding”</literal> signal GtkIMContext::delete-surrounding gboolean user_function (GtkIMContext *context, gint offset, gint n_chars, gpointer user_data) The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor. Parameters context the object on which the signal is emitted offset the character offset from the cursor position of the text to be deleted. A negative value indicates a position before the cursor. n_chars the number of characters to be deleted user_data user data set when the signal handler was connected. Returns TRUE if the signal was handled. Flags: Run Last The <literal>“preedit-changed”</literal> signal GtkIMContext::preedit-changed void user_function (GtkIMContext *context, gpointer user_data) The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed. It is also emitted at the end of a preedit sequence, in which case gtk_im_context_get_preedit_string() returns the empty string. Parameters context the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“preedit-end”</literal> signal GtkIMContext::preedit-end void user_function (GtkIMContext *context, gpointer user_data) The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled. Parameters context the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“preedit-start”</literal> signal GtkIMContext::preedit-start void user_function (GtkIMContext *context, gpointer user_data) The ::preedit-start signal is emitted when a new preediting sequence starts. Parameters context the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“retrieve-surrounding”</literal> signal GtkIMContext::retrieve-surrounding gboolean user_function (GtkIMContext *context, gpointer user_data) The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor. The callback should set the input method surrounding context by calling the gtk_im_context_set_surrounding() method. Parameters context the object on which the signal is emitted user_data user data set when the signal handler was connected. Returns TRUE if the signal was handled. Flags: Run Last docs/reference/gtk/xml/gtkaspectframe.xml0000664000175000017500000006744613710700311020715 0ustar mclasenmclasen ]> GtkAspectFrame 3 GTK4 Library GtkAspectFrame A frame that constrains its child to a particular aspect ratio Functions GtkWidget * gtk_aspect_frame_new () void gtk_aspect_frame_set_xalign () float gtk_aspect_frame_get_xalign () void gtk_aspect_frame_set_yalign () float gtk_aspect_frame_get_yalign () void gtk_aspect_frame_set_ratio () float gtk_aspect_frame_get_ratio () void gtk_aspect_frame_set_obey_child () gboolean gtk_aspect_frame_get_obey_child () void gtk_aspect_frame_set_child () GtkWidget * gtk_aspect_frame_get_child () Properties GtkWidget *childRead / Write gbooleanobey-childRead / Write gfloatratioRead / Write gfloatxalignRead / Write gfloatyalignRead / Write Types and Values GtkAspectFrame Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkAspectFrame Implemented Interfaces GtkAspectFrame implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkAspectFrame is useful when you want pack a widget so that it can resize but always retains the same aspect ratio. For instance, one might be drawing a small preview of a larger image. GtkAspectFrame derives from GtkFrame, so it can draw a label and a frame around the child. The frame will be “shrink-wrapped” to the size of the child. CSS nodesGtkAspectFrame uses a CSS node with name frame. Functions gtk_aspect_frame_new () gtk_aspect_frame_new GtkWidget * gtk_aspect_frame_new (float xalign, float yalign, float ratio, gboolean obey_child); Create a new GtkAspectFrame. Parameters xalign Horizontal alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) yalign Vertical alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (top aligned) to 1.0 (bottom aligned) ratio The desired aspect ratio. obey_child If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child. Returns the new GtkAspectFrame. gtk_aspect_frame_set_xalign () gtk_aspect_frame_set_xalign void gtk_aspect_frame_set_xalign (GtkAspectFrame *self, float xalign); Sets the horizontal alignment of the child within the allocation of the GtkAspectFrame. Parameters self a GtkAspectFrame xalign horizontal alignment, from 0.0 (left aligned) to 1.0 (right aligned) gtk_aspect_frame_get_xalign () gtk_aspect_frame_get_xalign float gtk_aspect_frame_get_xalign (GtkAspectFrame *self); Returns the horizontal alignment of the child within the allocation of the GtkAspectFrame. Parameters self a GtkAspectFrame Returns the horizontal alignment gtk_aspect_frame_set_yalign () gtk_aspect_frame_set_yalign void gtk_aspect_frame_set_yalign (GtkAspectFrame *self, float yalign); Sets the vertical alignment of the child within the allocation of the GtkAspectFrame. Parameters self a GtkAspectFrame yalign horizontal alignment, from 0.0 (top aligned) to 1.0 (bottom aligned) gtk_aspect_frame_get_yalign () gtk_aspect_frame_get_yalign float gtk_aspect_frame_get_yalign (GtkAspectFrame *self); Returns the vertical alignment of the child within the allocation of the GtkAspectFrame. Parameters self a GtkAspectFrame Returns the vertical alignment gtk_aspect_frame_set_ratio () gtk_aspect_frame_set_ratio void gtk_aspect_frame_set_ratio (GtkAspectFrame *self, float ratio); Sets the desired aspect ratio of the child. Parameters self a GtkAspectFrame ratio aspect ratio of the child gtk_aspect_frame_get_ratio () gtk_aspect_frame_get_ratio float gtk_aspect_frame_get_ratio (GtkAspectFrame *self); Returns the desired aspect ratio of the child. Parameters self a GtkAspectFrame Returns the desired aspect ratio gtk_aspect_frame_set_obey_child () gtk_aspect_frame_set_obey_child void gtk_aspect_frame_set_obey_child (GtkAspectFrame *self, gboolean obey_child); Sets whether the aspect ratio of the childs size request should override the set aspect ratio of the GtkAspectFrame. Parameters self a GtkAspectFrame obey_child If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child. gtk_aspect_frame_get_obey_child () gtk_aspect_frame_get_obey_child gboolean gtk_aspect_frame_get_obey_child (GtkAspectFrame *self); Returns whether the childs size request should override the set aspect ratio of the GtkAspectFrame. Parameters self a GtkAspectFrame Returns whether to obey the childs size request gtk_aspect_frame_set_child () gtk_aspect_frame_set_child void gtk_aspect_frame_set_child (GtkAspectFrame *self, GtkWidget *child); Sets the child widget of self . Parameters self a GtkAspectFrame child the child widget. [allow-none] gtk_aspect_frame_get_child () gtk_aspect_frame_get_child GtkWidget * gtk_aspect_frame_get_child (GtkAspectFrame *self); Gets the child widget of self . Parameters self a GtkAspectFrame Returns the child widget of self@. [nullable][transfer none] Types and Values GtkAspectFrame GtkAspectFrame typedef struct _GtkAspectFrame GtkAspectFrame; Property Details The <literal>“child”</literal> property GtkAspectFrame:child “child” GtkWidget * The child widget.Owner: GtkAspectFrame Flags: Read / Write The <literal>“obey-child”</literal> property GtkAspectFrame:obey-child “obey-child” gboolean Force aspect ratio to match that of the frame’s child.Owner: GtkAspectFrame Flags: Read / Write Default value: TRUE The <literal>“ratio”</literal> property GtkAspectFrame:ratio “ratio” gfloat Aspect ratio if obey_child is FALSE.Owner: GtkAspectFrame Flags: Read / Write Allowed values: [0.0001,10000] Default value: 1 The <literal>“xalign”</literal> property GtkAspectFrame:xalign “xalign” gfloat X alignment of the child.Owner: GtkAspectFrame Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“yalign”</literal> property GtkAspectFrame:yalign “yalign” gfloat Y alignment of the child.Owner: GtkAspectFrame Flags: Read / Write Allowed values: [0,1] Default value: 0.5 docs/reference/gtk/xml/gtkcustomsorter.xml0000664000175000017500000002064013710700312021156 0ustar mclasenmclasen ]> GtkCustomSorter 3 GTK4 Library GtkCustomSorter Sorting with a callbacks Functions GtkSorter * gtk_custom_sorter_new () void gtk_custom_sorter_set_sort_func () Types and Values GtkCustomSorter Object Hierarchy GObject ╰── GtkSorter ╰── GtkCustomSorter Includes#include <gtk/gtk.h> Description GtkCustomSorter is a GtkSorter implementation that sorts via a traditional GCompareDataFunc callback. Functions gtk_custom_sorter_new () gtk_custom_sorter_new GtkSorter * gtk_custom_sorter_new (GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy); Creates a new GtkSorter that works by calling sort_func to compare items. If sort_func is NULL, all items are considered equal. Parameters sort_func the GCompareDataFunc to use for sorting user_data user data to pass to sort_func . [nullable] user_destroy destroy notify for user_data . [nullable] Returns a new GtkSorter gtk_custom_sorter_set_sort_func () gtk_custom_sorter_set_sort_func void gtk_custom_sorter_set_sort_func (GtkCustomSorter *self, GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy); Sets (or unsets) the function used for sorting items. If sort_func is NULL, all items are considered equal. If the sort func changes its sorting behavior, gtk_sorter_changed() needs to be called. If a previous function was set, its user_destroy will be called now. Parameters self a GtkCustomSorter sort_func function to sort items. [nullable] user_data user data to pass to match_func . [nullable] user_destroy destroy notify for user_data Types and Values GtkCustomSorter GtkCustomSorter typedef struct _GtkCustomSorter GtkCustomSorter; docs/reference/gtk/xml/gtkbox.xml0000664000175000017500000007520613710700311017204 0ustar mclasenmclasen ]> GtkBox 3 GTK4 Library GtkBox A container for packing widgets in a single row or column Functions GtkWidget * gtk_box_new () gboolean gtk_box_get_homogeneous () void gtk_box_set_homogeneous () int gtk_box_get_spacing () void gtk_box_set_spacing () GtkBaselinePosition gtk_box_get_baseline_position () void gtk_box_set_baseline_position () void gtk_box_append () void gtk_box_prepend () void gtk_box_remove () void gtk_box_insert_child_after () void gtk_box_reorder_child_after () Properties GtkBaselinePositionbaseline-positionRead / Write gbooleanhomogeneousRead / Write gintspacingRead / Write Types and Values structGtkBox structGtkBoxClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkBox ├── GtkShortcutsSection ╰── GtkShortcutsGroup Implemented Interfaces GtkBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description The GtkBox widget arranges child widgets into a single row or column, depending upon the value of its “orientation” property. Within the other dimension, all children are allocated the same size. Of course, the “halign” and “valign” properties can be used on the children to influence their allocation. Use repeated calls to gtk_box_append() to pack widgets into a GtkBox from start to end. Use gtk_box_remove() to remove widgets from the GtkBox. gtk_box_insert_child_after() can be used to add a child at a particular position. Use gtk_box_set_homogeneous() to specify whether or not all children of the GtkBox are forced to get the same amount of space. Use gtk_box_set_spacing() to determine how much space will be minimally placed between all children in the GtkBox. Note that spacing is added between the children. Use gtk_box_reorder_child_after() to move a child to a different place in the box. CSS nodesGtkBox uses a single CSS node with name box. Functions gtk_box_new () gtk_box_new GtkWidget * gtk_box_new (GtkOrientation orientation, int spacing); Creates a new GtkBox. Parameters orientation the box’s orientation. spacing the number of pixels to place by default between children. Returns a new GtkBox. gtk_box_get_homogeneous () gtk_box_get_homogeneous gboolean gtk_box_get_homogeneous (GtkBox *box); Returns whether the box is homogeneous (all children are the same size). See gtk_box_set_homogeneous(). Parameters box a GtkBox Returns TRUE if the box is homogeneous. gtk_box_set_homogeneous () gtk_box_set_homogeneous void gtk_box_set_homogeneous (GtkBox *box, gboolean homogeneous); Sets the “homogeneous” property of box , controlling whether or not all children of box are given equal space in the box. Parameters box a GtkBox homogeneous a boolean value, TRUE to create equal allotments, FALSE for variable allotments gtk_box_get_spacing () gtk_box_get_spacing int gtk_box_get_spacing (GtkBox *box); Gets the value set by gtk_box_set_spacing(). Parameters box a GtkBox Returns spacing between children gtk_box_set_spacing () gtk_box_set_spacing void gtk_box_set_spacing (GtkBox *box, int spacing); Sets the “spacing” property of box , which is the number of pixels to place between children of box . Parameters box a GtkBox spacing the number of pixels to put between children gtk_box_get_baseline_position () gtk_box_get_baseline_position GtkBaselinePosition gtk_box_get_baseline_position (GtkBox *box); Gets the value set by gtk_box_set_baseline_position(). Parameters box a GtkBox Returns the baseline position gtk_box_set_baseline_position () gtk_box_set_baseline_position void gtk_box_set_baseline_position (GtkBox *box, GtkBaselinePosition position); Sets the baseline position of a box. This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then position is used to allocate the baseline wrt the extra space available. Parameters box a GtkBox position a GtkBaselinePosition gtk_box_append () gtk_box_append void gtk_box_append (GtkBox *box, GtkWidget *child); Adds child as the last child to box . Parameters box a GtkBox child the GtkWidget to append gtk_box_prepend () gtk_box_prepend void gtk_box_prepend (GtkBox *box, GtkWidget *child); Adds child as the first child to box . Parameters box a GtkBox child the GtkWidget to prepend gtk_box_remove () gtk_box_remove void gtk_box_remove (GtkBox *box, GtkWidget *child); Removes a child widget from box , after it has been added with gtk_box_append(), gtk_box_prepend(), or gtk_box_insert_child_after(). Parameters box a GtkBox child the child to remove gtk_box_insert_child_after () gtk_box_insert_child_after void gtk_box_insert_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling); Inserts child in the position after sibling in the list of box children. If sibling is NULL, insert child at the first position. Parameters box a GtkBox child the GtkWidget to insert sibling the sibling to move child after, or NULL. [nullable] gtk_box_reorder_child_after () gtk_box_reorder_child_after void gtk_box_reorder_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling); Moves child to the position after sibling in the list of box children. If sibling is NULL, move child to the first position. Parameters box a GtkBox child the GtkWidget to move, must be a child of box sibling the sibling to move child after, or NULL. [nullable] Types and Values struct GtkBox GtkBox struct GtkBox; struct GtkBoxClass GtkBoxClass struct GtkBoxClass { GtkWidgetClass parent_class; }; Members Property Details The <literal>“baseline-position”</literal> property GtkBox:baseline-position “baseline-position” GtkBaselinePosition The position of the baseline aligned widgets if extra space is available.Owner: GtkBox Flags: Read / Write Default value: GTK_BASELINE_POSITION_CENTER The <literal>“homogeneous”</literal> property GtkBox:homogeneous “homogeneous” gboolean Whether the children should all be the same size.Owner: GtkBox Flags: Read / Write Default value: FALSE The <literal>“spacing”</literal> property GtkBox:spacing “spacing” gint The amount of space between children.Owner: GtkBox Flags: Read / Write Allowed values: >= 0 Default value: 0 See Also GtkGrid docs/reference/gtk/xml/gtkmultisorter.xml0000664000175000017500000001744513710700312021007 0ustar mclasenmclasen ]> GtkMultiSorter 3 GTK4 Library GtkMultiSorter Combining multiple sorters Functions GtkSorter * gtk_multi_sorter_new () void gtk_multi_sorter_append () void gtk_multi_sorter_remove () Types and Values GtkMultiSorter Object Hierarchy GObject ╰── GtkSorter ╰── GtkMultiSorter Implemented Interfaces GtkMultiSorter implements GListModel and GtkBuildable. Includes#include <gtk/gtk.h> Description GtkMultiSorter combines multiple sorters by trying them in turn. If the first sorter compares two items as equal, the second is tried next, and so on. Functions gtk_multi_sorter_new () gtk_multi_sorter_new GtkSorter * gtk_multi_sorter_new (void); Creates a new multi sorter. This sorter compares items by trying each of the sorters in turn, until one returns non-zero. In particular, if no sorter has been added to it, it will always compare items as equal. Returns a new GtkSorter gtk_multi_sorter_append () gtk_multi_sorter_append void gtk_multi_sorter_append (GtkMultiSorter *self, GtkSorter *sorter); Add sorter to self to use for sorting at the end. self will consult all existing sorters before it will sort with the given sorter . Parameters self a GtkMultiSorter sorter a sorter to add. [transfer full] gtk_multi_sorter_remove () gtk_multi_sorter_remove void gtk_multi_sorter_remove (GtkMultiSorter *self, guint position); Removes the sorter at the given position from the list of sorter used by self . If position is larger than the number of sorters, nothing happens. Parameters self a GtkMultiSorter position position of sorter to remove Types and Values GtkMultiSorter GtkMultiSorter typedef struct _GtkMultiSorter GtkMultiSorter; docs/reference/gtk/xml/gtkcenterbox.xml0000664000175000017500000004670313710700311020405 0ustar mclasenmclasen ]> GtkCenterBox 3 GTK4 Library GtkCenterBox A centering container Functions GtkWidget * gtk_center_box_new () void gtk_center_box_set_start_widget () void gtk_center_box_set_center_widget () void gtk_center_box_set_end_widget () GtkWidget * gtk_center_box_get_start_widget () GtkWidget * gtk_center_box_get_center_widget () GtkWidget * gtk_center_box_get_end_widget () void gtk_center_box_set_baseline_position () GtkBaselinePosition gtk_center_box_get_baseline_position () Types and Values GtkCenterBox Includes#include <gtk/gtk.h> Description The GtkCenterBox widget arranges three children in a horizontal or vertical arrangement, keeping the middle child centered as well as possible. To add children to GtkCenterBox, use gtk_center_box_set_start_widget(), gtk_center_box_set_center_widget() and gtk_center_box_set_end_widget(). The sizing and positioning of children can be influenced with the align and expand properties of the children. GtkCenterBox as GtkBuildableThe GtkCenterBox implementation of the GtkBuildable interface supports placing children in the 3 positions by specifying “start”, “center” or “end” as the “type” attribute of a <child> element. CSS nodesGtkCenterBox uses a single CSS node with the name “box”, The first child of the GtkCenterBox will be allocated depending on the text direction, i.e. in left-to-right layouts it will be allocated on the left and in right-to-left layouts on the right. In vertical orientation, the nodes of the children are arranged from top to bottom. Functions gtk_center_box_new () gtk_center_box_new GtkWidget * gtk_center_box_new (void); Creates a new GtkCenterBox. Returns the new GtkCenterBox. gtk_center_box_set_start_widget () gtk_center_box_set_start_widget void gtk_center_box_set_start_widget (GtkCenterBox *self, GtkWidget *child); Sets the start widget. To remove the existing start widget, pass NULL. Parameters self a GtkCenterBox child the new start widget, or NULL. [nullable] gtk_center_box_set_center_widget () gtk_center_box_set_center_widget void gtk_center_box_set_center_widget (GtkCenterBox *self, GtkWidget *child); Sets the center widget. To remove the existing center widget, pas NULL. Parameters self a GtkCenterBox child the new center widget, or NULL. [nullable] gtk_center_box_set_end_widget () gtk_center_box_set_end_widget void gtk_center_box_set_end_widget (GtkCenterBox *self, GtkWidget *child); Sets the end widget. To remove the existing end widget, pass NULL. Parameters self a GtkCenterBox child the new end widget, or NULL. [nullable] gtk_center_box_get_start_widget () gtk_center_box_get_start_widget GtkWidget * gtk_center_box_get_start_widget (GtkCenterBox *self); Gets the start widget, or NULL if there is none. Parameters self a GtkCenterBox Returns the start widget. [transfer none][nullable] gtk_center_box_get_center_widget () gtk_center_box_get_center_widget GtkWidget * gtk_center_box_get_center_widget (GtkCenterBox *self); Gets the center widget, or NULL if there is none. Parameters self a GtkCenterBox Returns the center widget. [transfer none][nullable] gtk_center_box_get_end_widget () gtk_center_box_get_end_widget GtkWidget * gtk_center_box_get_end_widget (GtkCenterBox *self); Gets the end widget, or NULL if there is none. Parameters self a GtkCenterBox Returns the end widget. [transfer none][nullable] gtk_center_box_set_baseline_position () gtk_center_box_set_baseline_position void gtk_center_box_set_baseline_position (GtkCenterBox *self, GtkBaselinePosition position); Sets the baseline position of a center box. This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then position is used to allocate the baseline wrt. the extra space available. Parameters self a GtkCenterBox position a GtkBaselinePosition gtk_center_box_get_baseline_position () gtk_center_box_get_baseline_position GtkBaselinePosition gtk_center_box_get_baseline_position (GtkCenterBox *self); Gets the value set by gtk_center_box_set_baseline_position(). Parameters self a GtkCenterBox Returns the baseline position Types and Values GtkCenterBox GtkCenterBox typedef struct _GtkCenterBox GtkCenterBox; See Also GtkBox docs/reference/gtk/xml/gtksortlistmodel.xml0000664000175000017500000005605613710700312021323 0ustar mclasenmclasen ]> GtkSortListModel 3 GTK4 Library GtkSortListModel A list model that sorts its items Functions GtkSortListModel * gtk_sort_list_model_new () void gtk_sort_list_model_set_sorter () GtkSorter * gtk_sort_list_model_get_sorter () void gtk_sort_list_model_set_model () GListModel * gtk_sort_list_model_get_model () void gtk_sort_list_model_set_incremental () gboolean gtk_sort_list_model_get_incremental () guint gtk_sort_list_model_get_pending () Properties gbooleanincrementalRead / Write GListModel *modelRead / Write guintpendingRead GtkSorter *sorterRead / Write Types and Values GtkSortListModel Object Hierarchy GObject ╰── GtkSortListModel Implemented Interfaces GtkSortListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkSortListModel is a list model that takes a list model and sorts its elements according to a GtkSorter. GtkSortListModel is a generic model and because of that it cannot take advantage of any external knowledge when sorting. If you run into performance issues with GtkSortListModel, it is strongly recommended that you write your own sorting list model. Functions gtk_sort_list_model_new () gtk_sort_list_model_new GtkSortListModel * gtk_sort_list_model_new (GListModel *model, GtkSorter *sorter); Creates a new sort list model that uses the sorter to sort model . Parameters model the model to sort, or NULL. [allow-none][transfer full] sorter the GtkSorter to sort model with, or NULL. [allow-none][transfer full] Returns a new GtkSortListModel gtk_sort_list_model_set_sorter () gtk_sort_list_model_set_sorter void gtk_sort_list_model_set_sorter (GtkSortListModel *self, GtkSorter *sorter); Sets a new sorter on self . Parameters self a GtkSortListModel sorter the GtkSorter to sort model with. [allow-none] gtk_sort_list_model_get_sorter () gtk_sort_list_model_get_sorter GtkSorter * gtk_sort_list_model_get_sorter (GtkSortListModel *self); Gets the sorter that is used to sort self . Parameters self a GtkSortListModel Returns the sorter of self. [nullable][transfer none] gtk_sort_list_model_set_model () gtk_sort_list_model_set_model void gtk_sort_list_model_set_model (GtkSortListModel *self, GListModel *model); Sets the model to be sorted. The model 's item type must conform to the item type of self . Parameters self a GtkSortListModel model The model to be sorted. [allow-none] gtk_sort_list_model_get_model () gtk_sort_list_model_get_model GListModel * gtk_sort_list_model_get_model (GtkSortListModel *self); Gets the model currently sorted or NULL if none. Parameters self a GtkSortListModel Returns The model that gets sorted. [nullable][transfer none] gtk_sort_list_model_set_incremental () gtk_sort_list_model_set_incremental void gtk_sort_list_model_set_incremental (GtkSortListModel *self, gboolean incremental); Sets the sort model to do an incremental sort. When incremental sorting is enabled, the sortlistmodel will not do a complete sort immediately, but will instead queue an idle handler that incrementally sorts the items towards their correct position. This of course means that items do not instantly appear in the right place. It also means that the total sorting time is a lot slower. When your filter blocks the UI while sorting, you might consider turning this on. Depending on your model and sorters, this may become interesting around 10,000 to 100,000 items. By default, incremental sorting is disabled. Parameters self a GtkSortListModel incremental TRUE to sort incrementally gtk_sort_list_model_get_incremental () gtk_sort_list_model_get_incremental gboolean gtk_sort_list_model_get_incremental (GtkSortListModel *self); Returns whether incremental sorting was enabled via gtk_sort_list_model_set_incremental(). Parameters self a GtkSortListModel Returns TRUE if incremental sorting is enabled gtk_sort_list_model_get_pending () gtk_sort_list_model_get_pending guint gtk_sort_list_model_get_pending (GtkSortListModel *self); Estimates progress of an ongoing sorting operation The estimate is the number of items that would still need to be sorted to finish the sorting operation if this was a linear algorithm. So this number is not related to how many items are already correctly sorted. If you want to estimate the progress, you can use code like this: If no sort operation is ongoing - in particular when “incremental” is FALSE - this function returns 0. Parameters self a GtkSortListModel Returns a progress estimate of remaining items to sort Types and Values GtkSortListModel GtkSortListModel typedef struct _GtkSortListModel GtkSortListModel; Property Details The <literal>“incremental”</literal> property GtkSortListModel:incremental “incremental” gboolean If the model should sort items incrementally Owner: GtkSortListModel Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkSortListModel:model “model” GListModel * The model being sorted Owner: GtkSortListModel Flags: Read / Write The <literal>“pending”</literal> property GtkSortListModel:pending “pending” guint Estimate of unsorted items remaining Owner: GtkSortListModel Flags: Read Default value: 0 The <literal>“sorter”</literal> property GtkSortListModel:sorter “sorter” GtkSorter * The sorter for this model Owner: GtkSortListModel Flags: Read / Write See Also GListModel, GtkSorter docs/reference/gtk/xml/gtklistbox.xml0000664000175000017500000037035013710700311020076 0ustar mclasenmclasen ]> GtkListBox 3 GTK4 Library GtkListBox A list container Functions gboolean (*GtkListBoxFilterFunc) () int (*GtkListBoxSortFunc) () void (*GtkListBoxUpdateHeaderFunc) () GtkWidget * gtk_list_box_new () void gtk_list_box_prepend () void gtk_list_box_insert () void gtk_list_box_remove () void gtk_list_box_select_row () void gtk_list_box_unselect_row () void gtk_list_box_select_all () void gtk_list_box_unselect_all () GtkListBoxRow * gtk_list_box_get_selected_row () void (*GtkListBoxForeachFunc) () void gtk_list_box_selected_foreach () GList * gtk_list_box_get_selected_rows () void gtk_list_box_set_show_separators () gboolean gtk_list_box_get_show_separators () void gtk_list_box_set_selection_mode () GtkSelectionMode gtk_list_box_get_selection_mode () void gtk_list_box_set_activate_on_single_click () gboolean gtk_list_box_get_activate_on_single_click () GtkAdjustment * gtk_list_box_get_adjustment () void gtk_list_box_set_adjustment () void gtk_list_box_set_placeholder () GtkListBoxRow * gtk_list_box_get_row_at_index () GtkListBoxRow * gtk_list_box_get_row_at_y () void gtk_list_box_invalidate_filter () void gtk_list_box_invalidate_headers () void gtk_list_box_invalidate_sort () void gtk_list_box_set_filter_func () void gtk_list_box_set_header_func () void gtk_list_box_set_sort_func () void gtk_list_box_drag_highlight_row () void gtk_list_box_drag_unhighlight_row () GtkWidget * (*GtkListBoxCreateWidgetFunc) () void gtk_list_box_bind_model () GtkWidget * gtk_list_box_row_new () void gtk_list_box_row_changed () gboolean gtk_list_box_row_is_selected () GtkWidget * gtk_list_box_row_get_child () void gtk_list_box_row_set_child () GtkWidget * gtk_list_box_row_get_header () void gtk_list_box_row_set_header () int gtk_list_box_row_get_index () void gtk_list_box_row_set_activatable () gboolean gtk_list_box_row_get_activatable () void gtk_list_box_row_set_selectable () gboolean gtk_list_box_row_get_selectable () Properties gbooleanaccept-unpaired-releaseRead / Write gbooleanactivate-on-single-clickRead / Write GtkSelectionModeselection-modeRead / Write gbooleanshow-separatorsRead / Write gbooleanactivatableRead / Write GtkWidget *childRead / Write gbooleanselectableRead / Write Signals voidactivate-cursor-rowAction voidmove-cursorAction voidrow-activatedRun Last voidrow-selectedRun Last voidselect-allAction voidselected-rows-changedRun First voidtoggle-cursor-rowAction voidunselect-allAction voidactivateAction Types and Values GtkListBox structGtkListBoxRow structGtkListBoxRowClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ├── GtkListBox ╰── GtkListBoxRow Implemented Interfaces GtkListBox implements GtkAccessible, GtkBuildable and GtkConstraintTarget. GtkListBoxRow implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description A GtkListBox is a vertical container that contains GtkListBoxRow children. These rows can by dynamically sorted and filtered, and headers can be added dynamically depending on the row content. It also allows keyboard and mouse navigation and selection like a typical list. Using GtkListBox is often an alternative to GtkTreeView, especially when the list contents has a more complicated layout than what is allowed by a GtkCellRenderer, or when the contents is interactive (i.e. has a button in it). Although a GtkListBox must have only GtkListBoxRow children you can add any kind of widget to it via gtk_container_add(), and a GtkListBoxRow widget will automatically be inserted between the list and the widget. GtkListBoxRows can be marked as activatable or selectable. If a row is activatable, “row-activated” will be emitted for it when the user tries to activate it. If it is selectable, the row will be marked as selected when the user tries to select it. The GtkListBox widget was added in GTK+ 3.10. GtkListBox as GtkBuildableThe GtkListBox implementation of the GtkBuildable interface supports setting a child as the placeholder by specifying “placeholder” as the “type” attribute of a <child> element. See gtk_list_box_set_placeholder() for info. CSS nodes GtkListBox uses a single CSS node named list. It may carry the .separators style class, when the “show-separators” property is set. Each GtkListBoxRow uses a single CSS node named row. The row nodes get the .activatable style class added when appropriate. Functions GtkListBoxFilterFunc () GtkListBoxFilterFunc gboolean (*GtkListBoxFilterFunc) (GtkListBoxRow *row, gpointer user_data); Will be called whenever the row changes or is added and lets you control if the row should be visible or not. Parameters row the row that may be filtered user_data user data. [closure] Returns TRUE if the row should be visible, FALSE otherwise GtkListBoxSortFunc () GtkListBoxSortFunc int (*GtkListBoxSortFunc) (GtkListBoxRow *row1, GtkListBoxRow *row2, gpointer user_data); Compare two rows to determine which should be first. Parameters row1 the first row row2 the second row user_data user data. [closure] Returns < 0 if row1 should be before row2 , 0 if they are equal and > 0 otherwise GtkListBoxUpdateHeaderFunc () GtkListBoxUpdateHeaderFunc void (*GtkListBoxUpdateHeaderFunc) (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data); Whenever row changes or which row is before row changes this is called, which lets you update the header on row . You may remove or set a new one via gtk_list_box_row_set_header() or just change the state of the current header widget. Parameters row the row to update before the row before row , or NULL if it is first. [allow-none] user_data user data. [closure] gtk_list_box_new () gtk_list_box_new GtkWidget * gtk_list_box_new (void); Creates a new GtkListBox container. Returns a new GtkListBox gtk_list_box_prepend () gtk_list_box_prepend void gtk_list_box_prepend (GtkListBox *box, GtkWidget *child); Prepend a widget to the list. If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect of gtk_container_add(). Parameters box a GtkListBox child the GtkWidget to add gtk_list_box_insert () gtk_list_box_insert void gtk_list_box_insert (GtkListBox *box, GtkWidget *child, int position); Insert the child into the box at position . If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect of gtk_container_add(). If position is -1, or larger than the total number of items in the box , then the child will be appended to the end. Parameters box a GtkListBox child the GtkWidget to add position the position to insert child in gtk_list_box_remove () gtk_list_box_remove void gtk_list_box_remove (GtkListBox *box, GtkWidget *child); Removes a child from box . Parameters box a GtkListBox child the child to remove gtk_list_box_select_row () gtk_list_box_select_row void gtk_list_box_select_row (GtkListBox *box, GtkListBoxRow *row); Make row the currently selected row. Parameters box a GtkListBox row The row to select or NULL. [allow-none] gtk_list_box_unselect_row () gtk_list_box_unselect_row void gtk_list_box_unselect_row (GtkListBox *box, GtkListBoxRow *row); Unselects a single row of box , if the selection mode allows it. Parameters box a GtkListBox row the row to unselected gtk_list_box_select_all () gtk_list_box_select_all void gtk_list_box_select_all (GtkListBox *box); Select all children of box , if the selection mode allows it. Parameters box a GtkListBox gtk_list_box_unselect_all () gtk_list_box_unselect_all void gtk_list_box_unselect_all (GtkListBox *box); Unselect all children of box , if the selection mode allows it. Parameters box a GtkListBox gtk_list_box_get_selected_row () gtk_list_box_get_selected_row GtkListBoxRow * gtk_list_box_get_selected_row (GtkListBox *box); Gets the selected row. Note that the box may allow multiple selection, in which case you should use gtk_list_box_selected_foreach() to find all selected rows. Parameters box a GtkListBox Returns the selected row. [transfer none] GtkListBoxForeachFunc () GtkListBoxForeachFunc void (*GtkListBoxForeachFunc) (GtkListBox *box, GtkListBoxRow *row, gpointer user_data); A function used by gtk_list_box_selected_foreach(). It will be called on every selected child of the box . Parameters box a GtkListBox row a GtkListBoxRow user_data user data. [closure] gtk_list_box_selected_foreach () gtk_list_box_selected_foreach void gtk_list_box_selected_foreach (GtkListBox *box, GtkListBoxForeachFunc func, gpointer data); Calls a function for each selected child. Note that the selection cannot be modified from within this function. Parameters box a GtkListBox func the function to call for each selected child. [scope call] data user data to pass to the function gtk_list_box_get_selected_rows () gtk_list_box_get_selected_rows GList * gtk_list_box_get_selected_rows (GtkListBox *box); Creates a list of all selected children. Parameters box a GtkListBox Returns A GList containing the GtkWidget for each selected child. Free with g_list_free() when done. [element-type GtkListBoxRow][transfer container] gtk_list_box_set_show_separators () gtk_list_box_set_show_separators void gtk_list_box_set_show_separators (GtkListBox *box, gboolean show_separators); Sets whether the list box should show separators between rows. Parameters box a GtkListBox show_separators TRUE to show separators gtk_list_box_get_show_separators () gtk_list_box_get_show_separators gboolean gtk_list_box_get_show_separators (GtkListBox *box); Returns whether the list box should show separators between rows. Parameters box a GtkListBox Returns TRUE if the list box shows separators gtk_list_box_set_selection_mode () gtk_list_box_set_selection_mode void gtk_list_box_set_selection_mode (GtkListBox *box, GtkSelectionMode mode); Sets how selection works in the listbox. See GtkSelectionMode for details. Parameters box a GtkListBox mode The GtkSelectionMode gtk_list_box_get_selection_mode () gtk_list_box_get_selection_mode GtkSelectionMode gtk_list_box_get_selection_mode (GtkListBox *box); Gets the selection mode of the listbox. Parameters box a GtkListBox Returns a GtkSelectionMode gtk_list_box_set_activate_on_single_click () gtk_list_box_set_activate_on_single_click void gtk_list_box_set_activate_on_single_click (GtkListBox *box, gboolean single); If single is TRUE, rows will be activated when you click on them, otherwise you need to double-click. Parameters box a GtkListBox single a boolean gtk_list_box_get_activate_on_single_click () gtk_list_box_get_activate_on_single_click gboolean gtk_list_box_get_activate_on_single_click (GtkListBox *box); Returns whether rows activate on single clicks. Parameters box a GtkListBox Returns TRUE if rows are activated on single click, FALSE otherwise gtk_list_box_get_adjustment () gtk_list_box_get_adjustment GtkAdjustment * gtk_list_box_get_adjustment (GtkListBox *box); Gets the adjustment (if any) that the widget uses to for vertical scrolling. Parameters box a GtkListBox Returns the adjustment. [transfer none] gtk_list_box_set_adjustment () gtk_list_box_set_adjustment void gtk_list_box_set_adjustment (GtkListBox *box, GtkAdjustment *adjustment); Sets the adjustment (if any) that the widget uses to for vertical scrolling. For instance, this is used to get the page size for PageUp/Down key handling. In the normal case when the box is packed inside a GtkScrolledWindow the adjustment from that will be picked up automatically, so there is no need to manually do that. Parameters box a GtkListBox adjustment the adjustment, or NULL. [allow-none] gtk_list_box_set_placeholder () gtk_list_box_set_placeholder void gtk_list_box_set_placeholder (GtkListBox *box, GtkWidget *placeholder); Sets the placeholder widget that is shown in the list when it doesn't display any visible children. Parameters box a GtkListBox placeholder a GtkWidget or NULL. [allow-none] gtk_list_box_get_row_at_index () gtk_list_box_get_row_at_index GtkListBoxRow * gtk_list_box_get_row_at_index (GtkListBox *box, int index_); Gets the n-th child in the list (not counting headers). If _index is negative or larger than the number of items in the list, NULL is returned. Parameters box a GtkListBox index_ the index of the row Returns the child GtkWidget or NULL. [transfer none][nullable] gtk_list_box_get_row_at_y () gtk_list_box_get_row_at_y GtkListBoxRow * gtk_list_box_get_row_at_y (GtkListBox *box, int y); Gets the row at the y position. Parameters box a GtkListBox y position Returns the row or NULL in case no row exists for the given y coordinate. [transfer none][nullable] gtk_list_box_invalidate_filter () gtk_list_box_invalidate_filter void gtk_list_box_invalidate_filter (GtkListBox *box); Update the filtering for all rows. Call this when result of the filter function on the box is changed due to an external factor. For instance, this would be used if the filter function just looked for a specific search string and the entry with the search string has changed. Parameters box a GtkListBox gtk_list_box_invalidate_headers () gtk_list_box_invalidate_headers void gtk_list_box_invalidate_headers (GtkListBox *box); Update the separators for all rows. Call this when result of the header function on the box is changed due to an external factor. Parameters box a GtkListBox gtk_list_box_invalidate_sort () gtk_list_box_invalidate_sort void gtk_list_box_invalidate_sort (GtkListBox *box); Update the sorting for all rows. Call this when result of the sort function on the box is changed due to an external factor. Parameters box a GtkListBox gtk_list_box_set_filter_func () gtk_list_box_set_filter_func void gtk_list_box_set_filter_func (GtkListBox *box, GtkListBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy); By setting a filter function on the box one can decide dynamically which of the rows to show. For instance, to implement a search function on a list that filters the original list to only show the matching rows. The filter_func will be called for each row after the call, and it will continue to be called each time a row changes (via gtk_list_box_row_changed()) or when gtk_list_box_invalidate_filter() is called. Note that using a filter function is incompatible with using a model (see gtk_list_box_bind_model()). Parameters box a GtkListBox filter_func callback that lets you filter which rows to show. [allow-none] user_data user data passed to filter_func . [closure] destroy destroy notifier for user_data gtk_list_box_set_header_func () gtk_list_box_set_header_func void gtk_list_box_set_header_func (GtkListBox *box, GtkListBoxUpdateHeaderFunc update_header, gpointer user_data, GDestroyNotify destroy); By setting a header function on the box one can dynamically add headers in front of rows, depending on the contents of the row and its position in the list. For instance, one could use it to add headers in front of the first item of a new kind, in a list sorted by the kind. The update_header can look at the current header widget using gtk_list_box_row_get_header() and either update the state of the widget as needed, or set a new one using gtk_list_box_row_set_header(). If no header is needed, set the header to NULL. Note that you may get many calls update_header to this for a particular row when e.g. changing things that don’t affect the header. In this case it is important for performance to not blindly replace an existing header with an identical one. The update_header function will be called for each row after the call, and it will continue to be called each time a row changes (via gtk_list_box_row_changed()) and when the row before changes (either by gtk_list_box_row_changed() on the previous row, or when the previous row becomes a different row). It is also called for all rows when gtk_list_box_invalidate_headers() is called. Parameters box a GtkListBox update_header callback that lets you add row headers. [allow-none] user_data user data passed to update_header . [closure] destroy destroy notifier for user_data gtk_list_box_set_sort_func () gtk_list_box_set_sort_func void gtk_list_box_set_sort_func (GtkListBox *box, GtkListBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy); By setting a sort function on the box one can dynamically reorder the rows of the list, based on the contents of the rows. The sort_func will be called for each row after the call, and will continue to be called each time a row changes (via gtk_list_box_row_changed()) and when gtk_list_box_invalidate_sort() is called. Note that using a sort function is incompatible with using a model (see gtk_list_box_bind_model()). Parameters box a GtkListBox sort_func the sort function. [allow-none] user_data user data passed to sort_func . [closure] destroy destroy notifier for user_data gtk_list_box_drag_highlight_row () gtk_list_box_drag_highlight_row void gtk_list_box_drag_highlight_row (GtkListBox *box, GtkListBoxRow *row); This is a helper function for implementing DnD onto a GtkListBox. The passed in row will be highlighted via gtk_drag_highlight(), and any previously highlighted row will be unhighlighted. The row will also be unhighlighted when the widget gets a drag leave event. Parameters box a GtkListBox row a GtkListBoxRow gtk_list_box_drag_unhighlight_row () gtk_list_box_drag_unhighlight_row void gtk_list_box_drag_unhighlight_row (GtkListBox *box); If a row has previously been highlighted via gtk_list_box_drag_highlight_row() it will have the highlight removed. Parameters box a GtkListBox GtkListBoxCreateWidgetFunc () GtkListBoxCreateWidgetFunc GtkWidget * (*GtkListBoxCreateWidgetFunc) (gpointer item, gpointer user_data); Called for list boxes that are bound to a GListModel with gtk_list_box_bind_model() for each item that gets added to the model. Parameters item the item from the model for which to create a widget for. [type GObject] user_data user data. [closure] Returns a GtkWidget that represents item . [transfer full] gtk_list_box_bind_model () gtk_list_box_bind_model void gtk_list_box_bind_model (GtkListBox *box, GListModel *model, GtkListBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func); Binds model to box . If box was already bound to a model, that previous binding is destroyed. The contents of box are cleared and then filled with widgets that represent items from model . box is updated whenever model changes. If model is NULL, box is left empty. It is undefined to add or remove widgets directly (for example, with gtk_list_box_insert() or gtk_container_add()) while box is bound to a model. Note that using a model is incompatible with the filtering and sorting functionality in GtkListBox. When using a model, filtering and sorting should be implemented by the model. Parameters box a GtkListBox model the GListModel to be bound to box . [nullable] create_widget_func a function that creates widgets for items or NULL in case you also passed NULL as model . [nullable] user_data user data passed to create_widget_func . [closure] user_data_free_func function for freeing user_data gtk_list_box_row_new () gtk_list_box_row_new GtkWidget * gtk_list_box_row_new (void); Creates a new GtkListBoxRow, to be used as a child of a GtkListBox. Returns a new GtkListBoxRow gtk_list_box_row_changed () gtk_list_box_row_changed void gtk_list_box_row_changed (GtkListBoxRow *row); Marks row as changed, causing any state that depends on this to be updated. This affects sorting, filtering and headers. Note that calls to this method must be in sync with the data used for the row functions. For instance, if the list is mirroring some external data set, and *two* rows changed in the external data set then when you call gtk_list_box_row_changed() on the first row the sort function must only read the new data for the first of the two changed rows, otherwise the resorting of the rows will be wrong. This generally means that if you don’t fully control the data model you have to duplicate the data that affects the listbox row functions into the row widgets themselves. Another alternative is to call gtk_list_box_invalidate_sort() on any model change, but that is more expensive. Parameters row a GtkListBoxRow gtk_list_box_row_is_selected () gtk_list_box_row_is_selected gboolean gtk_list_box_row_is_selected (GtkListBoxRow *row); Returns whether the child is currently selected in its GtkListBox container. Parameters row a GtkListBoxRow Returns TRUE if row is selected gtk_list_box_row_get_child () gtk_list_box_row_get_child GtkWidget * gtk_list_box_row_get_child (GtkListBoxRow *row); Gets the child widget of row . Parameters row a GtkListBoxRow Returns the child widget of row . [nullable][transfer none] gtk_list_box_row_set_child () gtk_list_box_row_set_child void gtk_list_box_row_set_child (GtkListBoxRow *row, GtkWidget *child); Sets the child widget of self . Parameters row a GtkListBoxRow child the child widget. [allow-none] gtk_list_box_row_get_header () gtk_list_box_row_get_header GtkWidget * gtk_list_box_row_get_header (GtkListBoxRow *row); Returns the current header of the row . This can be used in a GtkListBoxUpdateHeaderFunc to see if there is a header set already, and if so to update the state of it. Parameters row a GtkListBoxRow Returns the current header, or NULL if none. [transfer none][nullable] gtk_list_box_row_set_header () gtk_list_box_row_set_header void gtk_list_box_row_set_header (GtkListBoxRow *row, GtkWidget *header); Sets the current header of the row . This is only allowed to be called from a GtkListBoxUpdateHeaderFunc. It will replace any existing header in the row, and be shown in front of the row in the listbox. Parameters row a GtkListBoxRow header the header, or NULL. [allow-none] gtk_list_box_row_get_index () gtk_list_box_row_get_index int gtk_list_box_row_get_index (GtkListBoxRow *row); Gets the current index of the row in its GtkListBox container. Parameters row a GtkListBoxRow Returns the index of the row , or -1 if the row is not in a listbox gtk_list_box_row_set_activatable () gtk_list_box_row_set_activatable void gtk_list_box_row_set_activatable (GtkListBoxRow *row, gboolean activatable); Set the “activatable” property for this row. Parameters row a GtkListBoxRow activatable TRUE to mark the row as activatable gtk_list_box_row_get_activatable () gtk_list_box_row_get_activatable gboolean gtk_list_box_row_get_activatable (GtkListBoxRow *row); Gets the value of the “activatable” property for this row. Parameters row a GtkListBoxRow Returns TRUE if the row is activatable gtk_list_box_row_set_selectable () gtk_list_box_row_set_selectable void gtk_list_box_row_set_selectable (GtkListBoxRow *row, gboolean selectable); Set the “selectable” property for this row. Parameters row a GtkListBoxRow selectable TRUE to mark the row as selectable gtk_list_box_row_get_selectable () gtk_list_box_row_get_selectable gboolean gtk_list_box_row_get_selectable (GtkListBoxRow *row); Gets the value of the “selectable” property for this row. Parameters row a GtkListBoxRow Returns TRUE if the row is selectable Types and Values GtkListBox GtkListBox typedef struct _GtkListBox GtkListBox; struct GtkListBoxRow GtkListBoxRow struct GtkListBoxRow; struct GtkListBoxRowClass GtkListBoxRowClass struct GtkListBoxRowClass { GtkWidgetClass parent_class; void (* activate) (GtkListBoxRow *row); }; Members activate () Property Details The <literal>“accept-unpaired-release”</literal> property GtkListBox:accept-unpaired-release “accept-unpaired-release” gboolean Accept unpaired release.Owner: GtkListBox Flags: Read / Write Default value: FALSE The <literal>“activate-on-single-click”</literal> property GtkListBox:activate-on-single-click “activate-on-single-click” gboolean Activate row on a single click.Owner: GtkListBox Flags: Read / Write Default value: TRUE The <literal>“selection-mode”</literal> property GtkListBox:selection-mode “selection-mode” GtkSelectionMode The selection mode.Owner: GtkListBox Flags: Read / Write Default value: GTK_SELECTION_SINGLE The <literal>“show-separators”</literal> property GtkListBox:show-separators “show-separators” gboolean Show separators between rows.Owner: GtkListBox Flags: Read / Write Default value: FALSE The <literal>“activatable”</literal> property GtkListBoxRow:activatable “activatable” gboolean The property determines whether the “row-activated” signal will be emitted for this row. Owner: GtkListBoxRow Flags: Read / Write Default value: TRUE The <literal>“child”</literal> property GtkListBoxRow:child “child” GtkWidget * The child widget.Owner: GtkListBoxRow Flags: Read / Write The <literal>“selectable”</literal> property GtkListBoxRow:selectable “selectable” gboolean The property determines whether this row can be selected. Owner: GtkListBoxRow Flags: Read / Write Default value: TRUE Signal Details The <literal>“activate-cursor-row”</literal> signal GtkListBox::activate-cursor-row void user_function (GtkListBox *listbox, gpointer user_data) Flags: Action The <literal>“move-cursor”</literal> signal GtkListBox::move-cursor void user_function (GtkListBox *listbox, GtkMovementStep arg1, gint arg2, gboolean arg3, gboolean arg4, gpointer user_data) Flags: Action The <literal>“row-activated”</literal> signal GtkListBox::row-activated void user_function (GtkListBox *box, GtkListBoxRow *row, gpointer user_data) The ::row-activated signal is emitted when a row has been activated by the user. Parameters box the GtkListBox row the activated row user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“row-selected”</literal> signal GtkListBox::row-selected void user_function (GtkListBox *box, GtkListBoxRow *row, gpointer user_data) The ::row-selected signal is emitted when a new row is selected, or (with a NULL row ) when the selection is cleared. When the box is using GTK_SELECTION_MULTIPLE, this signal will not give you the full picture of selection changes, and you should use the “selected-rows-changed” signal instead. Parameters box the GtkListBox row the selected row. [nullable] user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“select-all”</literal> signal GtkListBox::select-all void user_function (GtkListBox *box, gpointer user_data) The ::select-all signal is a keybinding signal which gets emitted to select all children of the box, if the selection mode permits it. The default bindings for this signal is Ctrl-a. Parameters box the GtkListBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“selected-rows-changed”</literal> signal GtkListBox::selected-rows-changed void user_function (GtkListBox *box, gpointer user_data) The ::selected-rows-changed signal is emitted when the set of selected rows changes. Parameters box the GtkListBox on wich the signal is emitted user_data user data set when the signal handler was connected. Flags: Run First The <literal>“toggle-cursor-row”</literal> signal GtkListBox::toggle-cursor-row void user_function (GtkListBox *listbox, gpointer user_data) Flags: Action The <literal>“unselect-all”</literal> signal GtkListBox::unselect-all void user_function (GtkListBox *box, gpointer user_data) The ::unselect-all signal is a keybinding signal which gets emitted to unselect all children of the box, if the selection mode permits it. The default bindings for this signal is Ctrl-Shift-a. Parameters box the GtkListBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“activate”</literal> signal GtkListBoxRow::activate void user_function (GtkListBoxRow *listboxrow, gpointer user_data) This is a keybinding signal, which will cause this row to be activated. If you want to be notified when the user activates a row (by key or not), use the “row-activated” signal on the row’s parent GtkListBox. Parameters user_data user data set when the signal handler was connected. Flags: Action See Also GtkScrolledWindow docs/reference/gtk/xml/gtkspinbutton.xml0000664000175000017500000023340513710700312020617 0ustar mclasenmclasen ]> GtkSpinButton 3 GTK4 Library GtkSpinButton Retrieve an integer or floating-point number from the user Functions void gtk_spin_button_configure () GtkWidget * gtk_spin_button_new () GtkWidget * gtk_spin_button_new_with_range () void gtk_spin_button_set_adjustment () GtkAdjustment * gtk_spin_button_get_adjustment () void gtk_spin_button_set_digits () void gtk_spin_button_set_increments () void gtk_spin_button_set_range () int gtk_spin_button_get_value_as_int () void gtk_spin_button_set_value () void gtk_spin_button_set_update_policy () void gtk_spin_button_set_numeric () void gtk_spin_button_spin () void gtk_spin_button_set_wrap () void gtk_spin_button_set_snap_to_ticks () void gtk_spin_button_update () guint gtk_spin_button_get_digits () void gtk_spin_button_get_increments () gboolean gtk_spin_button_get_numeric () void gtk_spin_button_get_range () gboolean gtk_spin_button_get_snap_to_ticks () GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy () double gtk_spin_button_get_value () gboolean gtk_spin_button_get_wrap () Properties GtkAdjustment *adjustmentRead / Write gdoubleclimb-rateRead / Write guintdigitsRead / Write gbooleannumericRead / Write gbooleansnap-to-ticksRead / Write GtkSpinButtonUpdatePolicyupdate-policyRead / Write gdoublevalueRead / Write gbooleanwrapRead / Write Signals voidchange-valueAction gintinputRun Last gbooleanoutputRun Last voidvalue-changedRun Last voidwrappedRun Last Types and Values GtkSpinButton enumGtkSpinButtonUpdatePolicy enumGtkSpinType #defineGTK_INPUT_ERROR Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSpinButton Implemented Interfaces GtkSpinButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable, GtkEditable and GtkCellEditable. Includes#include <gtk/gtk.h> Description A GtkSpinButton is an ideal way to allow the user to set the value of some attribute. Rather than having to directly type a number into a GtkEntry, GtkSpinButton allows the user to click on one of two arrows to increment or decrement the displayed value. A value can still be typed in, with the bonus that it can be checked to ensure it is in a given range. The main properties of a GtkSpinButton are through an adjustment. See the GtkAdjustment section for more details about an adjustment's properties. Note that GtkSpinButton will by default make its entry large enough to accomodate the lower and upper bounds of the adjustment. If this is not desired, the automatic sizing can be turned off by explicitly setting “width-chars” to a value != -1. Using a GtkSpinButton to get an integer Using a GtkSpinButton to get a floating point value CSS nodes GtkSpinButtons main CSS node has the name spinbutton. It creates subnodes for the entry and the two buttons, with these names. The button nodes have the style classes .up and .down. The GtkText subnodes (if present) are put below the text node. The orientation of the spin button is reflected in the .vertical or .horizontal style class on the main node. AccessiblityGtkSpinButton uses the GTK_ACCESSIBLE_ROLE_SPIN_BUTTON role. Functions gtk_spin_button_configure () gtk_spin_button_configure void gtk_spin_button_configure (GtkSpinButton *spin_button, GtkAdjustment *adjustment, double climb_rate, guint digits); Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are updated accordingly. Parameters spin_button a GtkSpinButton adjustment a GtkAdjustment to replace the spin button’s existing adjustment, or NULL to leave its current adjustment unchanged. [nullable] climb_rate the new climb rate digits the number of decimal places to display in the spin button gtk_spin_button_new () gtk_spin_button_new GtkWidget * gtk_spin_button_new (GtkAdjustment *adjustment, double climb_rate, guint digits); Creates a new GtkSpinButton. Parameters adjustment the GtkAdjustment object that this spin button should use, or NULL. [allow-none] climb_rate specifies by how much the rate of change in the value will accelerate if you continue to hold down an up/down button or arrow key digits the number of decimal places to display Returns The new spin button as a GtkWidget gtk_spin_button_new_with_range () gtk_spin_button_new_with_range GtkWidget * gtk_spin_button_new_with_range (double min, double max, double step); This is a convenience constructor that allows creation of a numeric GtkSpinButton without manually creating an adjustment. The value is initially set to the minimum value and a page increment of 10 * step is the default. The precision of the spin button is equivalent to the precision of step . Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_spin_button_set_digits() to correct it. Parameters min Minimum allowable value max Maximum allowable value step Increment added or subtracted by spinning the widget Returns The new spin button as a GtkWidget gtk_spin_button_set_adjustment () gtk_spin_button_set_adjustment void gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, GtkAdjustment *adjustment); Replaces the GtkAdjustment associated with spin_button . Parameters spin_button a GtkSpinButton adjustment a GtkAdjustment to replace the existing adjustment gtk_spin_button_get_adjustment () gtk_spin_button_get_adjustment GtkAdjustment * gtk_spin_button_get_adjustment (GtkSpinButton *spin_button); Get the adjustment associated with a GtkSpinButton Parameters spin_button a GtkSpinButton Returns the GtkAdjustment of spin_button . [transfer none] gtk_spin_button_set_digits () gtk_spin_button_set_digits void gtk_spin_button_set_digits (GtkSpinButton *spin_button, guint digits); Set the precision to be displayed by spin_button . Up to 20 digit precision is allowed. Parameters spin_button a GtkSpinButton digits the number of digits after the decimal point to be displayed for the spin button’s value gtk_spin_button_set_increments () gtk_spin_button_set_increments void gtk_spin_button_set_increments (GtkSpinButton *spin_button, double step, double page); Sets the step and page increments for spin_button. This affects how quickly the value changes when the spin button’s arrows are activated. Parameters spin_button a GtkSpinButton step increment applied for a button 1 press. page increment applied for a button 2 press. gtk_spin_button_set_range () gtk_spin_button_set_range void gtk_spin_button_set_range (GtkSpinButton *spin_button, double min, double max); Sets the minimum and maximum allowable values for spin_button . If the current value is outside this range, it will be adjusted to fit within the range, otherwise it will remain unchanged. Parameters spin_button a GtkSpinButton min minimum allowable value max maximum allowable value gtk_spin_button_get_value_as_int () gtk_spin_button_get_value_as_int int gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button); Get the value spin_button represented as an integer. Parameters spin_button a GtkSpinButton Returns the value of spin_button gtk_spin_button_set_value () gtk_spin_button_set_value void gtk_spin_button_set_value (GtkSpinButton *spin_button, double value); Sets the value of spin_button . Parameters spin_button a GtkSpinButton value the new value gtk_spin_button_set_update_policy () gtk_spin_button_set_update_policy void gtk_spin_button_set_update_policy (GtkSpinButton *spin_button, GtkSpinButtonUpdatePolicy policy); Sets the update behavior of a spin button. This determines whether the spin button is always updated or only when a valid value is set. Parameters spin_button a GtkSpinButton policy a GtkSpinButtonUpdatePolicy value gtk_spin_button_set_numeric () gtk_spin_button_set_numeric void gtk_spin_button_set_numeric (GtkSpinButton *spin_button, gboolean numeric); Sets the flag that determines if non-numeric text can be typed into the spin button. Parameters spin_button a GtkSpinButton numeric flag indicating if only numeric entry is allowed gtk_spin_button_spin () gtk_spin_button_spin void gtk_spin_button_spin (GtkSpinButton *spin_button, GtkSpinType direction, double increment); Increment or decrement a spin button’s value in a specified direction by a specified amount. Parameters spin_button a GtkSpinButton direction a GtkSpinType indicating the direction to spin increment step increment to apply in the specified direction gtk_spin_button_set_wrap () gtk_spin_button_set_wrap void gtk_spin_button_set_wrap (GtkSpinButton *spin_button, gboolean wrap); Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. Parameters spin_button a GtkSpinButton wrap a flag indicating if wrapping behavior is performed gtk_spin_button_set_snap_to_ticks () gtk_spin_button_set_snap_to_ticks void gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, gboolean snap_to_ticks); Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value. Parameters spin_button a GtkSpinButton snap_to_ticks a flag indicating if invalid values should be corrected gtk_spin_button_update () gtk_spin_button_update void gtk_spin_button_update (GtkSpinButton *spin_button); Manually force an update of the spin button. Parameters spin_button a GtkSpinButton gtk_spin_button_get_digits () gtk_spin_button_get_digits guint gtk_spin_button_get_digits (GtkSpinButton *spin_button); Fetches the precision of spin_button . See gtk_spin_button_set_digits(). Parameters spin_button a GtkSpinButton Returns the current precision gtk_spin_button_get_increments () gtk_spin_button_get_increments void gtk_spin_button_get_increments (GtkSpinButton *spin_button, double *step, double *page); Gets the current step and page the increments used by spin_button . See gtk_spin_button_set_increments(). Parameters spin_button a GtkSpinButton step location to store step increment, or NULL. [out][allow-none] page location to store page increment, or NULL. [out][allow-none] gtk_spin_button_get_numeric () gtk_spin_button_get_numeric gboolean gtk_spin_button_get_numeric (GtkSpinButton *spin_button); Returns whether non-numeric text can be typed into the spin button. See gtk_spin_button_set_numeric(). Parameters spin_button a GtkSpinButton Returns TRUE if only numeric text can be entered gtk_spin_button_get_range () gtk_spin_button_get_range void gtk_spin_button_get_range (GtkSpinButton *spin_button, double *min, double *max); Gets the range allowed for spin_button . See gtk_spin_button_set_range(). Parameters spin_button a GtkSpinButton min location to store minimum allowed value, or NULL. [out][optional] max location to store maximum allowed value, or NULL. [out][optional] gtk_spin_button_get_snap_to_ticks () gtk_spin_button_get_snap_to_ticks gboolean gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button); Returns whether the values are corrected to the nearest step. See gtk_spin_button_set_snap_to_ticks(). Parameters spin_button a GtkSpinButton Returns TRUE if values are snapped to the nearest step gtk_spin_button_get_update_policy () gtk_spin_button_get_update_policy GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy (GtkSpinButton *spin_button); Gets the update behavior of a spin button. See gtk_spin_button_set_update_policy(). Parameters spin_button a GtkSpinButton Returns the current update policy gtk_spin_button_get_value () gtk_spin_button_get_value double gtk_spin_button_get_value (GtkSpinButton *spin_button); Get the value in the spin_button . Parameters spin_button a GtkSpinButton Returns the value of spin_button gtk_spin_button_get_wrap () gtk_spin_button_get_wrap gboolean gtk_spin_button_get_wrap (GtkSpinButton *spin_button); Returns whether the spin button’s value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. See gtk_spin_button_set_wrap(). Parameters spin_button a GtkSpinButton Returns TRUE if the spin button wraps around Types and Values GtkSpinButton GtkSpinButton typedef struct _GtkSpinButton GtkSpinButton; enum GtkSpinButtonUpdatePolicy GtkSpinButtonUpdatePolicy The spin button update policy determines whether the spin button displays values even if they are outside the bounds of its adjustment. See gtk_spin_button_set_update_policy(). Members GTK_UPDATE_ALWAYS When refreshing your GtkSpinButton, the value is always displayed GTK_UPDATE_IF_VALID When refreshing your GtkSpinButton, the value is only displayed if it is valid within the bounds of the spin button's adjustment enum GtkSpinType GtkSpinType The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin(). Members GTK_SPIN_STEP_FORWARD Increment by the adjustments step increment. GTK_SPIN_STEP_BACKWARD Decrement by the adjustments step increment. GTK_SPIN_PAGE_FORWARD Increment by the adjustments page increment. GTK_SPIN_PAGE_BACKWARD Decrement by the adjustments page increment. GTK_SPIN_HOME Go to the adjustments lower bound. GTK_SPIN_END Go to the adjustments upper bound. GTK_SPIN_USER_DEFINED Change by a specified amount. GTK_INPUT_ERROR GTK_INPUT_ERROR #define GTK_INPUT_ERROR -1 Constant to return from a signal handler for the “input” signal in case of conversion failure. Property Details The <literal>“adjustment”</literal> property GtkSpinButton:adjustment “adjustment” GtkAdjustment * The adjustment that holds the value of the spin button.Owner: GtkSpinButton Flags: Read / Write The <literal>“climb-rate”</literal> property GtkSpinButton:climb-rate “climb-rate” gdouble The acceleration rate when you hold down a button or key.Owner: GtkSpinButton Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“digits”</literal> property GtkSpinButton:digits “digits” guint The number of decimal places to display.Owner: GtkSpinButton Flags: Read / Write Allowed values: <= 20 Default value: 0 The <literal>“numeric”</literal> property GtkSpinButton:numeric “numeric” gboolean Whether non-numeric characters should be ignored.Owner: GtkSpinButton Flags: Read / Write Default value: FALSE The <literal>“snap-to-ticks”</literal> property GtkSpinButton:snap-to-ticks “snap-to-ticks” gboolean Whether erroneous values are automatically changed to a spin button’s nearest step increment.Owner: GtkSpinButton Flags: Read / Write Default value: FALSE The <literal>“update-policy”</literal> property GtkSpinButton:update-policy “update-policy” GtkSpinButtonUpdatePolicy Whether the spin button should update always, or only when the value is legal.Owner: GtkSpinButton Flags: Read / Write Default value: GTK_UPDATE_ALWAYS The <literal>“value”</literal> property GtkSpinButton:value “value” gdouble Reads the current value, or sets a new value.Owner: GtkSpinButton Flags: Read / Write Default value: 0 The <literal>“wrap”</literal> property GtkSpinButton:wrap “wrap” gboolean Whether a spin button should wrap upon reaching its limits.Owner: GtkSpinButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“change-value”</literal> signal GtkSpinButton::change-value void user_function (GtkSpinButton *spin_button, GtkScrollType scroll, gpointer user_data) The ::change-value signal is a keybinding signal which gets emitted when the user initiates a value change. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal are Up/Down and PageUp and/PageDown. Parameters spin_button the object on which the signal was emitted scroll a GtkScrollType to specify the speed and amount of change user_data user data set when the signal handler was connected. Flags: Action The <literal>“input”</literal> signal GtkSpinButton::input gint user_function (GtkSpinButton *spin_button, gpointer new_value, gpointer user_data) The ::input signal can be used to influence the conversion of the users input into a double value. The signal handler is expected to use gtk_editable_get_text() to retrieve the text of the spinbutton and set new_value to the new value. The default conversion uses g_strtod(). Parameters spin_button the object on which the signal was emitted new_value return location for the new value. [out][type double] user_data user data set when the signal handler was connected. Returns TRUE for a successful conversion, FALSE if the input was not handled, and GTK_INPUT_ERROR if the conversion failed. Flags: Run Last The <literal>“output”</literal> signal GtkSpinButton::output gboolean user_function (GtkSpinButton *spin_button, gpointer user_data) The ::output signal can be used to change to formatting of the value that is displayed in the spin buttons entry. Parameters spin_button the object on which the signal was emitted user_data user data set when the signal handler was connected. Returns TRUE if the value has been displayed Flags: Run Last The <literal>“value-changed”</literal> signal GtkSpinButton::value-changed void user_function (GtkSpinButton *spin_button, gpointer user_data) The ::value-changed signal is emitted when the value represented by spinbutton changes. Also see the “output” signal. Parameters spin_button the object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“wrapped”</literal> signal GtkSpinButton::wrapped void user_function (GtkSpinButton *spin_button, gpointer user_data) The ::wrapped signal is emitted right after the spinbutton wraps from its maximum to minimum value or vice-versa. Parameters spin_button the object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkEntry docs/reference/gtk/xml/gtkbitset.xml0000664000175000017500000022745113710700311017707 0ustar mclasenmclasen ]> GtkBitset 3 GTK4 Library GtkBitset Sets of integers Functions GtkBitset * gtk_bitset_ref () void gtk_bitset_unref () GtkBitset * gtk_bitset_new_empty () GtkBitset * gtk_bitset_new_range () GtkBitset * gtk_bitset_copy () gboolean gtk_bitset_contains () gboolean gtk_bitset_is_empty () gboolean gtk_bitset_equals () guint gtk_bitset_get_minimum () guint gtk_bitset_get_maximum () guint64 gtk_bitset_get_size () guint64 gtk_bitset_get_size_in_range () guint gtk_bitset_get_nth () void gtk_bitset_remove_all () gboolean gtk_bitset_add () gboolean gtk_bitset_remove () void gtk_bitset_add_range () void gtk_bitset_remove_range () void gtk_bitset_add_range_closed () void gtk_bitset_remove_range_closed () void gtk_bitset_add_rectangle () void gtk_bitset_remove_rectangle () void gtk_bitset_union () void gtk_bitset_intersect () void gtk_bitset_subtract () void gtk_bitset_difference () void gtk_bitset_shift_left () void gtk_bitset_shift_right () void gtk_bitset_splice () gboolean gtk_bitset_iter_init_first () gboolean gtk_bitset_iter_init_last () gboolean gtk_bitset_iter_init_at () gboolean gtk_bitset_iter_next () gboolean gtk_bitset_iter_previous () guint gtk_bitset_iter_get_value () gboolean gtk_bitset_iter_is_valid () Types and Values GtkBitset structGtkBitsetIter Object Hierarchy GBoxed ╰── GtkBitset Includes#include <gtk/gtk.h> Description GtkBitset is a data structure for representing a set of unsigned integers. Another name for this data structure is "bitmap". The current implementation is based on roaring bitmaps. A bitset allows adding a set of integers and provides support for set operations like unions, intersections and checks for equality or if a value is contained in the set. GtkBitset also contains various functions to query metadata about the bitset, such as the minimum or maximum values or its size. The fastest way to iterate values in a bitset is GtkBitsetIter. The main use case for GtkBitset is implementing complex selections for GtkSelectionModel. Functions gtk_bitset_ref () gtk_bitset_ref GtkBitset * gtk_bitset_ref (GtkBitset *self); Acquires a reference on the given GtkBitset. Parameters self a GtkBitset. [allow-none] Returns the GtkBitset with an additional reference. [transfer none] gtk_bitset_unref () gtk_bitset_unref void gtk_bitset_unref (GtkBitset *self); Releases a reference on the given GtkBitset. If the reference was the last, the resources associated to the self are freed. Parameters self a GtkBitset. [allow-none] gtk_bitset_new_empty () gtk_bitset_new_empty GtkBitset * gtk_bitset_new_empty (void); Creates a new empty bitset. Returns A new empty bitset gtk_bitset_new_range () gtk_bitset_new_range GtkBitset * gtk_bitset_new_range (guint start, guint n_items); Creates a bitset with the given range set. Parameters start first value to add n_items number of consecutive values to add Returns A new bitset gtk_bitset_copy () gtk_bitset_copy GtkBitset * gtk_bitset_copy (const GtkBitset *self); Creates a copy of self . Parameters self a GtkBitset Returns A new bitset that contains the same values as self . [transfer full] gtk_bitset_contains () gtk_bitset_contains gboolean gtk_bitset_contains (const GtkBitset *self, guint value); Checks if the given value has been added to bitset Parameters self a GtkBitset value the value to check Returns TRUE if self contains value gtk_bitset_is_empty () gtk_bitset_is_empty gboolean gtk_bitset_is_empty (const GtkBitset *self); Check if no value is contained in bitset. Parameters self a GtkBitset Returns TRUE if self is empty gtk_bitset_equals () gtk_bitset_equals gboolean gtk_bitset_equals (const GtkBitset *self, const GtkBitset *other); Returns TRUE if self and other contain the same values. Parameters self a GtkBitset other another GtkBitset Returns TRUE if self and other contain the same values gtk_bitset_get_minimum () gtk_bitset_get_minimum guint gtk_bitset_get_minimum (const GtkBitset *self); Returns the smallest value in self . If self is empty, G_MAXUINT is returned. Parameters self a GtkBitset Returns The smallest value in self gtk_bitset_get_maximum () gtk_bitset_get_maximum guint gtk_bitset_get_maximum (const GtkBitset *self); Returns the largest value in self . If self is empty, 0 is returned. Parameters self a GtkBitset Returns The largest value in self gtk_bitset_get_size () gtk_bitset_get_size guint64 gtk_bitset_get_size (const GtkBitset *self); Gets the number of values that were added to the set. For example, if the set is empty, 0 is returned. Note that this function returns a guint64, because when all values are set, the return value is G_MAXUINT + 1. Unless you are sure this cannot happen (it can't with GListModel), be sure to use a 64bit type. Parameters self a GtkBitSet Returns The number of values in the set. gtk_bitset_get_size_in_range () gtk_bitset_get_size_in_range guint64 gtk_bitset_get_size_in_range (const GtkBitset *self, guint first, guint last); Gets the number of values that are part of the set from first to last (inclusive). Note that this function returns a guint64, because when all values are set, the return value is G_MAXUINT + 1. Unless you are sure this cannot happen (it can't with GListModel), be sure to use a 64bit type. Parameters self a GtkBitSet first the first element to include last the last element to include Returns The number of values in the set from first to last . gtk_bitset_get_nth () gtk_bitset_get_nth guint gtk_bitset_get_nth (const GtkBitset *self, guint nth); Returns the value of the nth item in self. If nth is >= the size of self , 0 is returned. Parameters self a GtkBitset nth index of the item to get Returns the value of the nth item in self gtk_bitset_remove_all () gtk_bitset_remove_all void gtk_bitset_remove_all (GtkBitset *self); Removes all values from the bitset so that it is empty again. Parameters self a GtkBitset gtk_bitset_add () gtk_bitset_add gboolean gtk_bitset_add (GtkBitset *self, guint value); Adds value to self if it wasn't part of it before. Parameters self a GtkBitset value value to add Returns TRUE if value was not part of self and self was changed. gtk_bitset_remove () gtk_bitset_remove gboolean gtk_bitset_remove (GtkBitset *self, guint value); Removes value from self if it was part of it before. Parameters self a GtkBitset value value to add Returns TRUE if value was part of self and self was changed. gtk_bitset_add_range () gtk_bitset_add_range void gtk_bitset_add_range (GtkBitset *self, guint start, guint n_items); Adds all values from start (inclusive) to start + n_items (exclusive) in self . Parameters self a GtkBitset start first value to add n_items number of consecutive values to add gtk_bitset_remove_range () gtk_bitset_remove_range void gtk_bitset_remove_range (GtkBitset *self, guint start, guint n_items); Removes all values from start (inclusive) to start + n_items (exclusive) in self . Parameters self a GtkBitset start first value to remove n_items number of consecutive values to remove gtk_bitset_add_range_closed () gtk_bitset_add_range_closed void gtk_bitset_add_range_closed (GtkBitset *self, guint first, guint last); Adds the closed range [first , last ], so first , last and all values inbetween. first must be smaller than last . Parameters self a GtkBitset first first value to add last last value to add gtk_bitset_remove_range_closed () gtk_bitset_remove_range_closed void gtk_bitset_remove_range_closed (GtkBitset *self, guint first, guint last); Removes the closed range [first , last ], so first , last and all values inbetween. first must be smaller than last . Parameters self a GtkBitset first first value to remove last last value to remove gtk_bitset_add_rectangle () gtk_bitset_add_rectangle void gtk_bitset_add_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride); Interprets the values as a 2-dimensional boolean grid with the given stride and inside that grid, adds a rectangle with the given width and height . Parameters self a GtkBitset start first value to add width width of the rectangle height height of the rectangle stride row stride of the grid gtk_bitset_remove_rectangle () gtk_bitset_remove_rectangle void gtk_bitset_remove_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride); Interprets the values as a 2-dimensional boolean grid with the given stride and inside that grid, removes a rectangle with the given width and height . Parameters self a GtkBitset start first value to remove width width of the rectangle height height of the rectangle stride row stride of the grid gtk_bitset_union () gtk_bitset_union void gtk_bitset_union (GtkBitset *self, const GtkBitset *other); Sets self to be the union of self and other , that is add all values from other into self that weren't part of it. It is allowed for self and other to be the same bitset. Nothing will happen in that case. Parameters self a GtkBitset other the GtkBitset to union with gtk_bitset_intersect () gtk_bitset_intersect void gtk_bitset_intersect (GtkBitset *self, const GtkBitset *other); Sets self to be the intersection of self and other , that is remove all values from self that are not part of other . It is allowed for self and other to be the same bitset. Nothing will happen in that case. Parameters self a GtkBitset other the GtkBitset to intersect with gtk_bitset_subtract () gtk_bitset_subtract void gtk_bitset_subtract (GtkBitset *self, const GtkBitset *other); Sets self to be the subtraction of other from self , that is remove all values from self that are part of other . It is allowed for self and other to be the same bitset. The bitset will be emptied in that case. Parameters self a GtkBitset other the GtkBitset to subtract gtk_bitset_difference () gtk_bitset_difference void gtk_bitset_difference (GtkBitset *self, const GtkBitset *other); Sets self to be the symmetric difference of self and other , that is set self to contain all values that were either contained in self or in other , but not in both. This operation is also called an XOR. It is allowed for self and other to be the same bitset. The bitset will be emptied in that case. Parameters self a GtkBitset other the GtkBitset to compute the difference from gtk_bitset_shift_left () gtk_bitset_shift_left void gtk_bitset_shift_left (GtkBitset *self, guint amount); Shifts all values in self to the left by amount . Values smaller than amount are discarded. Parameters self a $GtkBitset amount amount to shift all values to the left gtk_bitset_shift_right () gtk_bitset_shift_right void gtk_bitset_shift_right (GtkBitset *self, guint amount); Shifts all values in self to the right by amount . Values that end up too large to be held in a guint are discarded. Parameters self a $GtkBitset amount amount to shift all values to the right gtk_bitset_splice () gtk_bitset_splice void gtk_bitset_splice (GtkBitset *self, guint position, guint removed, guint added); This is a support function for GListModel handling, by mirroring the “items-changed” signal. First, it "cuts" the values from position to removed from the bitset. That is, it removes all those values and shifts all larger values to the left by removed places. Then, it "pastes" new room into the bitset by shifting all values larger than position by added spaces to the right. This frees up space that can then be filled. Parameters self a GtkBitset position position at which to slice removed number of values to remove added number of values to add gtk_bitset_iter_init_first () gtk_bitset_iter_init_first gboolean gtk_bitset_iter_init_first (GtkBitsetIter *iter, const GtkBitset *set, guint *value); Initializes an iterator for set and points it to the first value in set . If set is empty, FALSE is returned and value is set to G_MAXUINT. Parameters iter a pointer to an uninitialized GtkBitsetIter. [out] set a GtkBitset value Set to the first value in set . [out][optional] Returns TRUE if set isn't empty. gtk_bitset_iter_init_last () gtk_bitset_iter_init_last gboolean gtk_bitset_iter_init_last (GtkBitsetIter *iter, const GtkBitset *set, guint *value); Initializes an iterator for set and points it to the last value in set . If set is empty, FALSE is returned. Parameters iter a pointer to an uninitialized GtkBitsetIter. [out] set a GtkBitset value Set to the last value in set . [out][optional] Returns TRUE if set isn't empty. gtk_bitset_iter_init_at () gtk_bitset_iter_init_at gboolean gtk_bitset_iter_init_at (GtkBitsetIter *iter, const GtkBitset *set, guint target, guint *value); Initializes iter to point to target . If target is not found, finds the next value after it. If no value >= target exists in set , this function returns FALSE. Parameters iter a pointer to an uninitialized GtkBitsetIter. [out] set a GtkBitset target target value to start iterating at value Set to the found value in set . [out][optional] Returns TRUE if a value was found. gtk_bitset_iter_next () gtk_bitset_iter_next gboolean gtk_bitset_iter_next (GtkBitsetIter *iter, guint *value); Moves iter to the next value in the set. If it was already pointing to the last value in the set, FALSE is returned and iter is invalidated. Parameters iter a pointer to a valid GtkBitsetIter value Set to the next value. [out][optional] Returns TRUE if a next value existed gtk_bitset_iter_previous () gtk_bitset_iter_previous gboolean gtk_bitset_iter_previous (GtkBitsetIter *iter, guint *value); Moves iter to the previous value in the set. If it was already pointing to the first value in the set, FALSE is returned and iter is invalidated. Parameters iter a pointer to a valid GtkBitsetIter value Set to the previous value. [out][optional] Returns TRUE if a previous value existed gtk_bitset_iter_get_value () gtk_bitset_iter_get_value guint gtk_bitset_iter_get_value (const GtkBitsetIter *iter); Gets the current value that iter points to. If iter is not valid and gtk_bitset_iter_is_valid() returns FALSE, this function returns 0. Parameters iter a GtkBitsetIter Returns The current value pointer to by iter gtk_bitset_iter_is_valid () gtk_bitset_iter_is_valid gboolean gtk_bitset_iter_is_valid (const GtkBitsetIter *iter); Checks if iter points to a valid value. Parameters iter a GtkBitsetIter Returns TRUE if iter points to a valid value Types and Values GtkBitset GtkBitset typedef struct _GtkBitset GtkBitset; The GtkBitset structure contains only private data. struct GtkBitsetIter GtkBitsetIter struct GtkBitsetIter { gpointer private_data[10]; }; An opaque, stack-allocated struct for iterating over the elements of a GtkBitset. Before a GtkBitsetIter can be used, it needs to be initialized with gtk_bitset_iter_init_first(), gtk_bitset_iter_init_last() or gtk_bitset_iter_init_at(). See Also GtkSelectionModel docs/reference/gtk/xml/gtkimcontextsimple.xml0000664000175000017500000002355413710700311021637 0ustar mclasenmclasen ]> GtkIMContextSimple 3 GTK4 Library GtkIMContextSimple An input method context supporting table-based input methods Functions GtkIMContext * gtk_im_context_simple_new () void gtk_im_context_simple_add_table () void gtk_im_context_simple_add_compose_file () Types and Values structGtkIMContextSimple #defineGTK_MAX_COMPOSE_LEN Object Hierarchy GObject ╰── GtkIMContext ╰── GtkIMContextSimple Includes#include <gtk/gtk.h> Description GtkIMContextSimple is a simple input method context supporting table-based input methods. It has a built-in table of compose sequences that is derived from the X11 Compose files. GtkIMContextSimple reads additional compose sequences from the first of the following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). The syntax of these files is described in the Compose(5) manual page. Unicode charactersGtkIMContextSimple also supports numeric entry of Unicode characters by typing Ctrl-Shift-u, followed by a hexadecimal Unicode codepoint. For example, Ctrl-Shift-u 1 2 3 Enter yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ. Functions gtk_im_context_simple_new () gtk_im_context_simple_new GtkIMContext * gtk_im_context_simple_new (void); Creates a new GtkIMContextSimple. Returns a new GtkIMContextSimple. gtk_im_context_simple_add_table () gtk_im_context_simple_add_table void gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple, guint16 *data, int max_seq_len, int n_seqs); Adds an additional table to search to the input context. Each row of the table consists of max_seq_len key symbols followed by two guint16 interpreted as the high and low words of a gunicode value. Tables are searched starting from the last added. The table must be sorted in dictionary order on the numeric value of the key symbol fields. (Values beyond the length of the sequence should be zero.) [skip] Parameters context_simple A GtkIMContextSimple data the table. [array] max_seq_len Maximum length of a sequence in the table (cannot be greater than GTK_MAX_COMPOSE_LEN) n_seqs number of sequences in the table gtk_im_context_simple_add_compose_file () gtk_im_context_simple_add_compose_file void gtk_im_context_simple_add_compose_file (GtkIMContextSimple *context_simple, const char *compose_file); Adds an additional table from the X11 compose file. Parameters context_simple A GtkIMContextSimple compose_file The path of compose file Types and Values struct GtkIMContextSimple GtkIMContextSimple struct GtkIMContextSimple; GTK_MAX_COMPOSE_LEN GTK_MAX_COMPOSE_LEN #define GTK_MAX_COMPOSE_LEN 7 The maximum length of sequences in compose tables. docs/reference/gtk/xml/gtkselectionmodel.xml0000664000175000017500000010626213710700311021417 0ustar mclasenmclasen ]> GtkSelectionModel 3 GTK4 Library GtkSelectionModel An extension of the list model interface that handles selections Functions gboolean gtk_selection_model_is_selected () GtkBitset * gtk_selection_model_get_selection () GtkBitset * gtk_selection_model_get_selection_in_range () gboolean gtk_selection_model_select_item () gboolean gtk_selection_model_unselect_item () gboolean gtk_selection_model_select_range () gboolean gtk_selection_model_unselect_range () gboolean gtk_selection_model_select_all () gboolean gtk_selection_model_unselect_all () gboolean gtk_selection_model_set_selection () void gtk_selection_model_selection_changed () Signals voidselection-changedRun Last Types and Values GtkSelectionModel Object Hierarchy GInterface ╰── GtkSelectionModel Prerequisites GtkSelectionModel requires GListModel and GObject. Known Implementations GtkSelectionModel is implemented by GtkMultiSelection, GtkNoSelection and GtkSingleSelection. Includes#include <gtk/gtk.h> Description GtkSelectionModel is an interface that extends the GListModel interface by adding support for selections. This support is then used by widgets using list models to add the ability to select and unselect various items. GTK provides default implementations of the mode common selection modes such as GtkSingleSelection, so you will only need to implement this interface if you want detailed control about how selections should be handled. A GtkSelectionModel supports a single boolean per item indicating if an item is selected or not. This can be queried via gtk_selection_model_is_selected(). When the selected state of one or more items changes, the model will emit the “selection-changed” signal by calling the gtk_selection_model_selection_changed() function. The positions given in that signal may have their selection state changed, though that is not a requirement. If new items added to the model via the “items-changed” signal are selected or not is up to the implementation. Note that items added via “items-changed” may already be selected and no “selection-changed” will be emitted for them. So to track which items are selected, it is necessary to listen to both signals. Additionally, the interface can expose functionality to select and unselect items. If these functions are implemented, GTK's list widgets will allow users to select and unselect items. However, GtkSelectionModels are free to only implement them partially or not at all. In that case the widgets will not support the unimplemented operations. When selecting or unselecting is supported by a model, the return values of the selection functions do NOT indicate if selection or unselection happened. They are only meant to indicate complete failure, like when this mode of selecting is not supported by the model. Selections may happen asynchronously, so the only reliable way to find out when an item was selected is to listen to the signals that indicate selection. Functions gtk_selection_model_is_selected () gtk_selection_model_is_selected gboolean gtk_selection_model_is_selected (GtkSelectionModel *model, guint position); Checks if the given item is selected. Parameters model a GtkSelectionModel position the position of the item to query Returns TRUE if the item is selected gtk_selection_model_get_selection () gtk_selection_model_get_selection GtkBitset * gtk_selection_model_get_selection (GtkSelectionModel *model); Gets the set containing all currently selected items in the model. This function may be slow, so if you are only interested in single item, consider using gtk_selection_model_is_selected() or if you are only interested in a few consider gtk_selection_model_get_selection_in_range(). Parameters model a GtkSelectionModel Returns a GtkBitset containing all the values currently selected in model . If no items are selected, the bitset is empty. The bitset must not be modified. [transfer full] gtk_selection_model_get_selection_in_range () gtk_selection_model_get_selection_in_range GtkBitset * gtk_selection_model_get_selection_in_range (GtkSelectionModel *model, guint position, guint n_items); Gets a set containing a set where the values in the range [position, position + n_items) match the selected state of the items in that range. All values outside that range are undefined. This function is an optimization for gtk_selection_model_get_selection() when you are only interested in part of the model's selected state. A common use case is in response to the :selection-changed signal. Parameters model a GtkSelectionModel position start of the queired range n_items number of items in the queried range Returns A GtkBitset that matches the selection state for the given state with all other values being undefined. The bitset must not be modified. gtk_selection_model_select_item () gtk_selection_model_select_item gboolean gtk_selection_model_select_item (GtkSelectionModel *model, guint position, gboolean unselect_rest); Requests to select an item in the model. Parameters model a GtkSelectionModel position the position of the item to select unselect_rest whether previously selected items should be unselected Returns TRUE if this action was supported and no fallback should be tried. This does not mean the item was selected. gtk_selection_model_unselect_item () gtk_selection_model_unselect_item gboolean gtk_selection_model_unselect_item (GtkSelectionModel *model, guint position); Requests to unselect an item in the model. Parameters model a GtkSelectionModel position the position of the item to unselect Returns TRUE if this action was supported and no fallback should be tried. This does not mean the item was unselected. gtk_selection_model_select_range () gtk_selection_model_select_range gboolean gtk_selection_model_select_range (GtkSelectionModel *model, guint position, guint n_items, gboolean unselect_rest); Requests to select a range of items in the model. Parameters model a GtkSelectionModel position the first item to select n_items the number of items to select unselect_rest whether previously selected items should be unselected Returns TRUE if this action was supported and no fallback should be tried. This does not mean the range was selected. gtk_selection_model_unselect_range () gtk_selection_model_unselect_range gboolean gtk_selection_model_unselect_range (GtkSelectionModel *model, guint position, guint n_items); Requests to unselect a range of items in the model. Parameters model a GtkSelectionModel position the first item to unselect n_items the number of items to unselect Returns TRUE if this action was supported and no fallback should be tried. This does not mean the range was unselected. gtk_selection_model_select_all () gtk_selection_model_select_all gboolean gtk_selection_model_select_all (GtkSelectionModel *model); Requests to select all items in the model. Parameters model a GtkSelectionModel Returns TRUE if this action was supported and no fallback should be tried. This does not mean that all items are now selected. gtk_selection_model_unselect_all () gtk_selection_model_unselect_all gboolean gtk_selection_model_unselect_all (GtkSelectionModel *model); Requests to unselect all items in the model. Parameters model a GtkSelectionModel Returns TRUE if this action was supported and no fallback should be tried. This does not mean that all items are now unselected. gtk_selection_model_set_selection () gtk_selection_model_set_selection gboolean gtk_selection_model_set_selection (GtkSelectionModel *model, GtkBitset *selected, GtkBitset *mask); This is the most advanced selection updating method that allows the most fine-grained control over selection changes. If you can, you should try the simpler versions, as implementations are more likely to implement support for those. Requests that the selection state of all positions set in mask be updated to the respecitve value in the selected bitmask. In pseudocode, it would look something like this: mask and selected must not be modified. They may refer to the same bitset, which would mean that every item in the set should be selected. Parameters model a GtkSelectionModel selected bitmask specifying if items should be selected or unselected mask bitmask specifying which items should be updated Returns TRUE if this action was supported and no fallback should be tried. This does not mean that all items were updated according to the inputs. gtk_selection_model_selection_changed () gtk_selection_model_selection_changed void gtk_selection_model_selection_changed (GtkSelectionModel *model, guint position, guint n_items); Helper function for implementations of GtkSelectionModel. Call this when a the selection changes to emit the ::selection-changed signal. Parameters model a GtkSelectionModel position the first changed item n_items the number of changed items Types and Values GtkSelectionModel GtkSelectionModel typedef struct _GtkSelectionModel GtkSelectionModel; Signal Details The <literal>“selection-changed”</literal> signal GtkSelectionModel::selection-changed void user_function (GtkSelectionModel *model, guint position, guint n_items, gpointer user_data) Emitted when the selection state of some of the items in model changes. Note that this signal does not specify the new selection state of the items, they need to be queried manually. It is also not necessary for a model to change the selection state of any of the items in the selection model, though it would be rather useless to emit such a signal. Parameters model a GtkSelectionModel position The first item that may have changed n_items number of items with changes user_data user data set when the signal handler was connected. Flags: Run Last See Also GListModel, GtkSingleSelection docs/reference/gtk/xml/gtkimmulticontext.xml0000664000175000017500000001634113710700311021474 0ustar mclasenmclasen ]> GtkIMMulticontext 3 GTK4 Library GtkIMMulticontext An input method context supporting multiple, loadable input methods Functions GtkIMContext * gtk_im_multicontext_new () const char * gtk_im_multicontext_get_context_id () void gtk_im_multicontext_set_context_id () Types and Values structGtkIMMulticontext Object Hierarchy GObject ╰── GtkIMContext ╰── GtkIMMulticontext Includes#include <gtk/gtk.h> Description Functions gtk_im_multicontext_new () gtk_im_multicontext_new GtkIMContext * gtk_im_multicontext_new (void); Creates a new GtkIMMulticontext. Returns a new GtkIMMulticontext. gtk_im_multicontext_get_context_id () gtk_im_multicontext_get_context_id const char * gtk_im_multicontext_get_context_id (GtkIMMulticontext *context); Gets the id of the currently active delegate of the context . Parameters context a GtkIMMulticontext Returns the id of the currently active delegate gtk_im_multicontext_set_context_id () gtk_im_multicontext_set_context_id void gtk_im_multicontext_set_context_id (GtkIMMulticontext *context, const char *context_id); Sets the context id for context . This causes the currently active delegate of context to be replaced by the delegate corresponding to the new context id. Parameters context a GtkIMMulticontext context_id the id to use Types and Values struct GtkIMMulticontext GtkIMMulticontext struct GtkIMMulticontext; docs/reference/gtk/xml/gtknoselection.xml0000664000175000017500000002374113710700311020733 0ustar mclasenmclasen ]> GtkNoSelection 3 GTK4 Library GtkNoSelection A selection model that does not allow selecting anything Functions GtkNoSelection * gtk_no_selection_new () GListModel * gtk_no_selection_get_model () void gtk_no_selection_set_model () Properties GListModel *modelRead / Write Types and Values GtkNoSelection Object Hierarchy GObject ╰── GtkNoSelection Implemented Interfaces GtkNoSelection implements GListModel and GtkSelectionModel. Includes#include <gtk/gtk.h> Description GtkNoSelection is an implementation of the GtkSelectionModel interface that does not allow selecting anything. This model is meant to be used as a simple wrapper to GListModels when a GtkSelectionModel is required. Functions gtk_no_selection_new () gtk_no_selection_new GtkNoSelection * gtk_no_selection_new (GListModel *model); Creates a new selection to handle model . Parameters model the GListModel to manage, or NULL. [allow-none][transfer full] Returns a new GtkNoSelection. [transfer full][type GtkNoSelection] gtk_no_selection_get_model () gtk_no_selection_get_model GListModel * gtk_no_selection_get_model (GtkNoSelection *self); Gets the model that self is wrapping. Parameters self a GtkNoSelection Returns The model being wrapped. [transfer none] gtk_no_selection_set_model () gtk_no_selection_set_model void gtk_no_selection_set_model (GtkNoSelection *self, GListModel *model); Sets the model that self should wrap. If model is NULL, this model will be empty. Parameters self a GtkNoSelection model A GListModel to wrap. [allow-none] Types and Values GtkNoSelection GtkNoSelection typedef struct _GtkNoSelection GtkNoSelection; Property Details The <literal>“model”</literal> property GtkNoSelection:model “model” GListModel * The model being managed Owner: GtkNoSelection Flags: Read / Write See Also GtkSelectionModel docs/reference/gtk/xml/gtklabel.xml0000664000175000017500000041610213710700311017465 0ustar mclasenmclasen ]> GtkLabel 3 GTK4 Library GtkLabel A widget that displays a small to medium amount of text Functions GtkWidget * gtk_label_new () void gtk_label_set_text () void gtk_label_set_attributes () void gtk_label_set_markup () void gtk_label_set_markup_with_mnemonic () void gtk_label_set_justify () void gtk_label_set_xalign () void gtk_label_set_yalign () void gtk_label_set_ellipsize () void gtk_label_set_width_chars () void gtk_label_set_max_width_chars () void gtk_label_set_wrap () void gtk_label_set_wrap_mode () void gtk_label_set_lines () void gtk_label_get_layout_offsets () guint gtk_label_get_mnemonic_keyval () gboolean gtk_label_get_selectable () const char * gtk_label_get_text () GtkWidget * gtk_label_new_with_mnemonic () void gtk_label_select_region () void gtk_label_set_mnemonic_widget () void gtk_label_set_selectable () void gtk_label_set_text_with_mnemonic () PangoAttrList * gtk_label_get_attributes () GtkJustification gtk_label_get_justify () float gtk_label_get_xalign () float gtk_label_get_yalign () PangoEllipsizeMode gtk_label_get_ellipsize () int gtk_label_get_width_chars () int gtk_label_get_max_width_chars () const char * gtk_label_get_label () PangoLayout * gtk_label_get_layout () gboolean gtk_label_get_wrap () PangoWrapMode gtk_label_get_wrap_mode () int gtk_label_get_lines () GtkWidget * gtk_label_get_mnemonic_widget () gboolean gtk_label_get_selection_bounds () gboolean gtk_label_get_use_markup () gboolean gtk_label_get_use_underline () gboolean gtk_label_get_single_line_mode () void gtk_label_set_label () void gtk_label_set_use_markup () void gtk_label_set_use_underline () void gtk_label_set_single_line_mode () const char * gtk_label_get_current_uri () void gtk_label_set_extra_menu () GMenuModel * gtk_label_get_extra_menu () Properties PangoAttrList *attributesRead / Write PangoEllipsizeModeellipsizeRead / Write GMenuModel *extra-menuRead / Write GtkJustificationjustifyRead / Write gchar *labelRead / Write gintlinesRead / Write gintmax-width-charsRead / Write guintmnemonic-keyvalRead GtkWidget *mnemonic-widgetRead / Write gbooleanselectableRead / Write gbooleansingle-line-modeRead / Write gbooleanuse-markupRead / Write gbooleanuse-underlineRead / Write gintwidth-charsRead / Write gbooleanwrapRead / Write PangoWrapModewrap-modeRead / Write gfloatxalignRead / Write gfloatyalignRead / Write Signals voidactivate-current-linkAction gbooleanactivate-linkRun Last voidcopy-clipboardAction voidmove-cursorAction Actions link.copy link.open selection.select-all selection.delete clipboard.paste clipboard.copy clipboard.cut menu.popup Types and Values GtkLabel Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkLabel Implemented Interfaces GtkLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkLabel widget displays a small amount of text. As the name implies, most labels are used to label another widget such as a GtkButton. CSS nodes GtkLabel has a single CSS node with the name label. A wide variety of style classes may be applied to labels, such as .title, .subtitle, .dim-label, etc. In the GtkShortcutsWindow, labels are used wth the .keycap style class. If the label has a selection, it gets a subnode with name selection. If the label has links, there is one subnode per link. These subnodes carry the link or visited state depending on whether they have been visited. In this case, label node also gets a .link style class. GtkLabel as GtkBuildableThe GtkLabel implementation of the GtkBuildable interface supports a custom <attributes> element, which supports any number of <attribute> elements. The <attribute> element has attributes named “name“, “value“, “start“ and “end“ and allows you to specify PangoAttribute values for this label. An example of a UI definition fragment specifying Pango attributes: ]]> The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead. AccessibilityGtkLabel uses the GTK_ACCESSIBLE_ROLE_LABEL role. MnemonicsLabels 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 the functions gtk_label_new_with_mnemonic() or gtk_label_set_text_with_mnemonic(). Mnemonics automatically activate any activatable widget the label is inside, such as a GtkButton; if the label is not inside the mnemonic’s target widget, you have to tell the label about the target using gtk_label_set_mnemonic_widget(). Here’s a simple example where the label is inside a button: There’s a convenience function to create buttons with a mnemonic label already inside: To create a mnemonic for a widget alongside the label, such as a GtkEntry, you have to point the label at the entry with gtk_label_set_mnemonic_widget(): Markup (styled text)To make it easy to format text in a label (changing colors, fonts, etc.), label text can be provided in a simple markup format. Here’s how to create a label with a small font: Small text"); ]]> (See complete documentation of available tags in the Pango manual.) The markup passed to gtk_label_set_markup() must be valid; for example, literal <, > and & characters must be escaped as <, >, and &. If you pass text obtained from the user, file, or a network to gtk_label_set_markup(), you’ll want to escape it with g_markup_escape_text() or g_markup_printf_escaped(). Markup strings are just a convenient way to set the PangoAttrList on a label; gtk_label_set_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. Selectable labelsLabels can be made selectable with gtk_label_set_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. Text layoutA 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. Labels can automatically wrap text if you call gtk_label_set_wrap(). gtk_label_set_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 the “halign” and “valign” properties. The “width-chars” and “max-width-chars” properties can be used to control the size allocation of ellipsized or wrapped labels. For ellipsizing labels, if either is specified (and less than the actual text size), it is used as the minimum width, and the actual text size is used as the natural width of the label. For wrapping labels, width-chars is used as the minimum width, if specified, and max-width-chars is used as the natural width. Even if max-width-chars specified, wrapping labels will be rewrapped to use all of the available width. Note that the interpretation of “width-chars” and “max-width-chars” has changed a bit with the introduction of width-for-height geometry management. LinksGTK+ supports markup for clickable hyperlinks in addition to regular Pango markup. The markup for links is borrowed from HTML, using the <a> with “href“, “title“ and “class“ attributes. GTK+ renders links similar to the way they appear in web browsers, with colored, underlined text. The “title“ attribute is displayed as a tooltip on the link. The “class“ attribute is used as style class on the CSS node for the link. An example looks like this: Our
website\">" "GTK+ website for more..."; GtkWidget *label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), text); ]]> It is possible to implement custom handling for links and their tooltips with the “activate-link” signal and the gtk_label_get_current_uri() function. Functions gtk_label_new () gtk_label_new GtkWidget * gtk_label_new (const char *str); Creates a new label with the given text inside it. You can pass NULL to get an empty label widget. Parameters str The text of the label. [nullable] Returns the new GtkLabel gtk_label_set_text () gtk_label_set_text void gtk_label_set_text (GtkLabel *self, const char *str); Sets the text within the GtkLabel widget. It overwrites any text that was there before. This function will clear any previously set mnemonic accelerators, and set the “use-underline” property to FALSE as a side effect. This function will set the “use-markup” property to FALSE as a side effect. See also: gtk_label_set_markup() Parameters self a GtkLabel str The text you want to set gtk_label_set_attributes () gtk_label_set_attributes void gtk_label_set_attributes (GtkLabel *self, PangoAttrList *attrs); Sets a PangoAttrList; the attributes in the list are applied to the label text. The attributes set with this function will be applied and merged with any other attributes previously effected by way of the “use-underline” or “use-markup” properties. While it is not recommended to mix markup strings with manually set attributes, if you must; know that the attributes will be applied to the label after the markup string is parsed. Parameters self a GtkLabel attrs a PangoAttrList, or NULL. [nullable] gtk_label_set_markup () gtk_label_set_markup void gtk_label_set_markup (GtkLabel *self, const char *str); Parses str which is marked up with the Pango text markup language, setting the label’s text and attribute list based on the parse results. If the str is external data, you may need to escape it with g_markup_escape_text() or g_markup_printf_escaped(): \%s"; char *markup; markup = g_markup_printf_escaped (format, str); gtk_label_set_markup (GTK_LABEL (self), markup); g_free (markup); ]]> This function will set the “use-markup” property to TRUE as a side effect. If you set the label contents using the “label” property you should also ensure that you set the “use-markup” property accordingly. See also: gtk_label_set_text() Parameters self a GtkLabel str a markup string (see Pango markup format) gtk_label_set_markup_with_mnemonic () gtk_label_set_markup_with_mnemonic void gtk_label_set_markup_with_mnemonic (GtkLabel *self, const char *str); Parses str which is marked up with the Pango text markup language, setting the label’s text and attribute list based on the parse results. If characters in str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). Parameters self a GtkLabel str a markup string (see Pango markup format) gtk_label_set_justify () gtk_label_set_justify void gtk_label_set_justify (GtkLabel *self, GtkJustification jtype); Sets the alignment of the lines in the text of the label relative to each other. GTK_JUSTIFY_LEFT is the default value when the widget is first created with gtk_label_new(). If you instead want to set the alignment of the label as a whole, use gtk_widget_set_halign() instead. gtk_label_set_justify() has no effect on labels containing only a single line. Parameters self a GtkLabel jtype a GtkJustification gtk_label_set_xalign () gtk_label_set_xalign void gtk_label_set_xalign (GtkLabel *self, float xalign); Sets the “xalign” property for label . Parameters self a GtkLabel xalign the new xalign value, between 0 and 1 gtk_label_set_yalign () gtk_label_set_yalign void gtk_label_set_yalign (GtkLabel *self, float yalign); Sets the “yalign” property for label . Parameters self a GtkLabel yalign the new yalign value, between 0 and 1 gtk_label_set_ellipsize () gtk_label_set_ellipsize void gtk_label_set_ellipsize (GtkLabel *self, PangoEllipsizeMode mode); Sets the mode used to ellipsize (add an ellipsis: "...") to the text if there is not enough space to render the entire string. Parameters self a GtkLabel mode a PangoEllipsizeMode gtk_label_set_width_chars () gtk_label_set_width_chars void gtk_label_set_width_chars (GtkLabel *self, int n_chars); Sets the desired width in characters of label to n_chars . Parameters self a GtkLabel n_chars the new desired width, in characters. gtk_label_set_max_width_chars () gtk_label_set_max_width_chars void gtk_label_set_max_width_chars (GtkLabel *self, int n_chars); Sets the desired maximum width in characters of label to n_chars . Parameters self a GtkLabel n_chars the new desired maximum width, in characters. gtk_label_set_wrap () gtk_label_set_wrap void gtk_label_set_wrap (GtkLabel *self, gboolean wrap); Toggles line wrapping within the GtkLabel widget. TRUE makes it 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. 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 gtk_widget_set_size_request(). Parameters self a GtkLabel wrap the setting gtk_label_set_wrap_mode () gtk_label_set_wrap_mode void gtk_label_set_wrap_mode (GtkLabel *self, PangoWrapMode wrap_mode); If line wrapping is on (see gtk_label_set_wrap()) this controls how the line wrapping is done. The default is PANGO_WRAP_WORD which means wrap on word boundaries. Parameters self a GtkLabel wrap_mode the line wrapping mode gtk_label_set_lines () gtk_label_set_lines void gtk_label_set_lines (GtkLabel *self, int lines); Sets the number of lines to which an ellipsized, wrapping label should be limited. This has no effect if the label is not wrapping or ellipsized. Set this to -1 if you don’t want to limit the number of lines. Parameters self a GtkLabel lines the desired number of lines, or -1 gtk_label_get_layout_offsets () gtk_label_get_layout_offsets void gtk_label_get_layout_offsets (GtkLabel *self, int *x, int *y); Obtains the coordinates where the label will draw the PangoLayout representing the text in the label; useful to convert mouse events into coordinates inside the PangoLayout, e.g. to take some action if some part of the label is clicked. Remember when using the PangoLayout functions you need to convert to and from pixels using PANGO_PIXELS() or PANGO_SCALE. Parameters self a GtkLabel x location to store X offset of layout, or NULL. [out][optional] y location to store Y offset of layout, or NULL. [out][optional] gtk_label_get_mnemonic_keyval () gtk_label_get_mnemonic_keyval guint gtk_label_get_mnemonic_keyval (GtkLabel *self); If the label has been set so that it has a mnemonic key this function returns the keyval used for the mnemonic accelerator. If there is no mnemonic set up it returns GDK_KEY_VoidSymbol. Parameters self a GtkLabel Returns GDK keyval usable for accelerators, or GDK_KEY_VoidSymbol gtk_label_get_selectable () gtk_label_get_selectable gboolean gtk_label_get_selectable (GtkLabel *self); Gets the value set by gtk_label_set_selectable(). Parameters self a GtkLabel Returns TRUE if the user can copy text from the label gtk_label_get_text () gtk_label_get_text const char * gtk_label_get_text (GtkLabel *self); Fetches the text from a label widget, as displayed on the screen. This does not include any embedded underlines indicating mnemonics or Pango markup. (See gtk_label_get_label()) Parameters self a GtkLabel Returns the text in the label widget. This is the internal string used by the label, and must not be modified. gtk_label_new_with_mnemonic () gtk_label_new_with_mnemonic GtkWidget * gtk_label_new_with_mnemonic (const char *str); Creates a new GtkLabel, containing the text in str . If characters in str are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). If gtk_label_set_mnemonic_widget() is not called, then the first activatable ancestor of the GtkLabel will be chosen as the mnemonic widget. For instance, if the label is inside a button or menu item, the button or menu item will automatically become the mnemonic widget and be activated by the mnemonic. Parameters str The text of the label, with an underscore in front of the mnemonic character. [nullable] Returns the new GtkLabel gtk_label_select_region () gtk_label_select_region void gtk_label_select_region (GtkLabel *self, int start_offset, int end_offset); Selects a range of characters in the label, if the label is selectable. See gtk_label_set_selectable(). If the label is not selectable, this function has no effect. If start_offset or end_offset are -1, then the end of the label will be substituted. Parameters self a GtkLabel start_offset start offset (in characters not bytes) end_offset end offset (in characters not bytes) gtk_label_set_mnemonic_widget () gtk_label_set_mnemonic_widget void gtk_label_set_mnemonic_widget (GtkLabel *self, GtkWidget *widget); If the label has been set so that it has a mnemonic key (using i.e. gtk_label_set_markup_with_mnemonic(), gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic() or the “use_underline” property) the label can be associated with a widget that is the target of the mnemonic. When the label is inside a widget (like a GtkButton or a GtkNotebook tab) it is automatically associated with the correct widget, but sometimes (i.e. when the target is a GtkEntry next to the label) you need to set it explicitly using this function. The target widget will be accelerated by emitting the GtkWidget::mnemonic-activate signal on it. The default handler for this signal will activate the widget if there are no mnemonic collisions and toggle focus between the colliding widgets otherwise. Parameters self a GtkLabel widget the target GtkWidget, or NULL to unset. [nullable] gtk_label_set_selectable () gtk_label_set_selectable void gtk_label_set_selectable (GtkLabel *self, gboolean setting); Selectable labels allow the user to select text from the label, for copy-and-paste. Parameters self a GtkLabel setting TRUE to allow selecting text in the label gtk_label_set_text_with_mnemonic () gtk_label_set_text_with_mnemonic void gtk_label_set_text_with_mnemonic (GtkLabel *self, const char *str); Sets the label’s text from the string str . If characters in str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). Parameters self a GtkLabel str a string gtk_label_get_attributes () gtk_label_get_attributes PangoAttrList * gtk_label_get_attributes (GtkLabel *self); Gets the attribute list that was set on the label using gtk_label_set_attributes(), if any. This function does not reflect attributes that come from the labels markup (see gtk_label_set_markup()). If you want to get the effective attributes for the label, use pango_layout_get_attribute (gtk_label_get_layout (self)). Parameters self a GtkLabel Returns the attribute list, or NULL if none was set. [nullable][transfer none] gtk_label_get_justify () gtk_label_get_justify GtkJustification gtk_label_get_justify (GtkLabel *self); Returns the justification of the label. See gtk_label_set_justify(). Parameters self a GtkLabel Returns GtkJustification gtk_label_get_xalign () gtk_label_get_xalign float gtk_label_get_xalign (GtkLabel *self); Gets the “xalign” property for label . Parameters self a GtkLabel Returns the xalign property gtk_label_get_yalign () gtk_label_get_yalign float gtk_label_get_yalign (GtkLabel *self); Gets the “yalign” property for label . Parameters self a GtkLabel Returns the yalign property gtk_label_get_ellipsize () gtk_label_get_ellipsize PangoEllipsizeMode gtk_label_get_ellipsize (GtkLabel *self); Returns the ellipsizing position of the label. See gtk_label_set_ellipsize(). Parameters self a GtkLabel Returns PangoEllipsizeMode gtk_label_get_width_chars () gtk_label_get_width_chars int gtk_label_get_width_chars (GtkLabel *self); Retrieves the desired width of label , in characters. See gtk_label_set_width_chars(). Parameters self a GtkLabel Returns the width of the label in characters. gtk_label_get_max_width_chars () gtk_label_get_max_width_chars int gtk_label_get_max_width_chars (GtkLabel *self); Retrieves the desired maximum width of label , in characters. See gtk_label_set_width_chars(). Parameters self a GtkLabel Returns the maximum width of the label in characters. gtk_label_get_label () gtk_label_get_label const char * gtk_label_get_label (GtkLabel *self); Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup. (See gtk_label_get_text()). Parameters self a GtkLabel Returns the text of the label widget. This string is owned by the widget and must not be modified or freed. gtk_label_get_layout () gtk_label_get_layout PangoLayout * gtk_label_get_layout (GtkLabel *self); Gets the PangoLayout used to display the label. The layout is useful to e.g. convert text positions to pixel positions, in combination with gtk_label_get_layout_offsets(). The returned layout is owned by the label so need not be freed by the caller. The label is free to recreate its layout at any time, so it should be considered read-only. Parameters self a GtkLabel Returns the PangoLayout for this label. [transfer none] gtk_label_get_wrap () gtk_label_get_wrap gboolean gtk_label_get_wrap (GtkLabel *self); Returns whether lines in the label are automatically wrapped. See gtk_label_set_wrap(). Parameters self a GtkLabel Returns TRUE if the lines of the label are automatically wrapped. gtk_label_get_wrap_mode () gtk_label_get_wrap_mode PangoWrapMode gtk_label_get_wrap_mode (GtkLabel *self); Returns line wrap mode used by the label. See gtk_label_set_wrap_mode(). Parameters self a GtkLabel Returns TRUE if the lines of the label are automatically wrapped. gtk_label_get_lines () gtk_label_get_lines int gtk_label_get_lines (GtkLabel *self); Gets the number of lines to which an ellipsized, wrapping label should be limited. See gtk_label_set_lines(). Parameters self a GtkLabel Returns The number of lines gtk_label_get_mnemonic_widget () gtk_label_get_mnemonic_widget GtkWidget * gtk_label_get_mnemonic_widget (GtkLabel *self); Retrieves the target of the mnemonic (keyboard shortcut) of this label. See gtk_label_set_mnemonic_widget(). Parameters self a GtkLabel Returns the target of the label’s mnemonic, or NULL if none has been set and the default algorithm will be used. [nullable][transfer none] gtk_label_get_selection_bounds () gtk_label_get_selection_bounds gboolean gtk_label_get_selection_bounds (GtkLabel *self, int *start, int *end); Gets the selected range of characters in the label, returning TRUE if there’s a selection. Parameters self a GtkLabel start return location for start of selection, as a character offset. [out] end return location for end of selection, as a character offset. [out] Returns TRUE if selection is non-empty gtk_label_get_use_markup () gtk_label_get_use_markup gboolean gtk_label_get_use_markup (GtkLabel *self); Returns whether the label’s text is interpreted as marked up with the Pango text markup language. See gtk_label_set_use_markup(). Parameters self a GtkLabel Returns TRUE if the label’s text will be parsed for markup. gtk_label_get_use_underline () gtk_label_get_use_underline gboolean gtk_label_get_use_underline (GtkLabel *self); Returns whether an embedded underline in the label indicates a mnemonic. See gtk_label_set_use_underline(). Parameters self a GtkLabel Returns TRUE whether an embedded underline in the label indicates the mnemonic accelerator keys. gtk_label_get_single_line_mode () gtk_label_get_single_line_mode gboolean gtk_label_get_single_line_mode (GtkLabel *self); Returns whether the label is in single line mode. Parameters self a GtkLabel Returns TRUE when the label is in single line mode. gtk_label_set_label () gtk_label_set_label void gtk_label_set_label (GtkLabel *self, const char *str); Sets the text of the label. The label is interpreted as including embedded underlines and/or Pango markup depending on the values of the “use-underline” and “use-markup” properties. Parameters self a GtkLabel str the new text to set for the label gtk_label_set_use_markup () gtk_label_set_use_markup void gtk_label_set_use_markup (GtkLabel *self, gboolean setting); Sets whether the text of the label contains markup in Pango’s text markup language. See gtk_label_set_markup(). Parameters self a GtkLabel setting TRUE if the label’s text should be parsed for markup. gtk_label_set_use_underline () gtk_label_set_use_underline void gtk_label_set_use_underline (GtkLabel *self, gboolean setting); If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key. Parameters self a GtkLabel setting TRUE if underlines in the text indicate mnemonics gtk_label_set_single_line_mode () gtk_label_set_single_line_mode void gtk_label_set_single_line_mode (GtkLabel *self, gboolean single_line_mode); Sets whether the label is in single line mode. Parameters self a GtkLabel single_line_mode TRUE if the label should be in single line mode gtk_label_get_current_uri () gtk_label_get_current_uri const char * gtk_label_get_current_uri (GtkLabel *self); Returns the URI for the currently active link in the label. The active link is the one under the mouse pointer or, in a selectable label, the link in which the text cursor is currently positioned. This function is intended for use in a “activate-link” handler or for use in a “query-tooltip” handler. Parameters self a GtkLabel Returns the currently active URI or NULL if there is none. The string is owned by GTK+ and must not be freed or modified. [nullable] gtk_label_set_extra_menu () gtk_label_set_extra_menu void gtk_label_set_extra_menu (GtkLabel *self, GMenuModel *model); Sets a menu model to add when constructing the context menu for label . Parameters self a GtkLabel model a GMenuModel. [allow-none] gtk_label_get_extra_menu () gtk_label_get_extra_menu GMenuModel * gtk_label_get_extra_menu (GtkLabel *self); Gets the menu model set with gtk_label_set_extra_menu(). Parameters self a GtkLabel Returns (nullable): the menu model. [transfer none] Types and Values GtkLabel GtkLabel typedef struct _GtkLabel GtkLabel; Property Details The <literal>“attributes”</literal> property GtkLabel:attributes “attributes” PangoAttrList * A list of style attributes to apply to the text of the label.Owner: GtkLabel Flags: Read / Write The <literal>“ellipsize”</literal> property GtkLabel:ellipsize “ellipsize” PangoEllipsizeMode The preferred place to ellipsize the string, if the label does not have enough room to display the entire string, specified as a PangoEllipsizeMode. Note that setting this property to a value other than PANGO_ELLIPSIZE_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 GtkNotebook tab-expand child property is set to TRUE. Other ways to set a label's width are gtk_widget_set_size_request() and gtk_label_set_width_chars(). Owner: GtkLabel Flags: Read / Write Default value: PANGO_ELLIPSIZE_NONE The <literal>“extra-menu”</literal> property GtkLabel:extra-menu “extra-menu” GMenuModel * A menu model whose contents will be appended to the context menu. Owner: GtkLabel Flags: Read / Write The <literal>“justify”</literal> property GtkLabel:justify “justify” GtkJustification 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 GtkLabel:xalign for that.Owner: GtkLabel Flags: Read / Write Default value: GTK_JUSTIFY_LEFT The <literal>“label”</literal> property GtkLabel:label “label” gchar * The contents of the label. If the string contains Pango XML markup, you will have to set the “use-markup” property to TRUE in order for the label to display the markup attributes. See also gtk_label_set_markup() for a convenience function that sets both this property and the “use-markup” property at the same time. If the string contains underlines acting as mnemonics, you will have to set the “use-underline” property to TRUE in order for the label to display them. Owner: GtkLabel Flags: Read / Write Default value: "" The <literal>“lines”</literal> property GtkLabel:lines “lines” gint The number of lines to which an ellipsized, wrapping label should be limited. This property has no effect if the label is not wrapping or ellipsized. Set this property to -1 if you don't want to limit the number of lines. Owner: GtkLabel Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“max-width-chars”</literal> property GtkLabel:max-width-chars “max-width-chars” gint The desired maximum width of the label, in characters. If this property is set to -1, the width will be calculated automatically. See the section on text layout for details of how “width-chars” and “max-width-chars” determine the width of ellipsized and wrapped labels. Owner: GtkLabel Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“mnemonic-keyval”</literal> property GtkLabel:mnemonic-keyval “mnemonic-keyval” guint The mnemonic accelerator key for this label.Owner: GtkLabel Flags: Read Default value: 16777215 The <literal>“mnemonic-widget”</literal> property GtkLabel:mnemonic-widget “mnemonic-widget” GtkWidget * The widget to be activated when the label’s mnemonic key is pressed.Owner: GtkLabel Flags: Read / Write The <literal>“selectable”</literal> property GtkLabel:selectable “selectable” gboolean Whether the label text can be selected with the mouse.Owner: GtkLabel Flags: Read / Write Default value: FALSE The <literal>“single-line-mode”</literal> property GtkLabel:single-line-mode “single-line-mode” gboolean 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. Owner: GtkLabel Flags: Read / Write Default value: FALSE The <literal>“use-markup”</literal> property GtkLabel:use-markup “use-markup” gboolean The text of the label includes XML markup. See pango_parse_markup().Owner: GtkLabel Flags: Read / Write Default value: FALSE The <literal>“use-underline”</literal> property GtkLabel:use-underline “use-underline” gboolean If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.Owner: GtkLabel Flags: Read / Write Default value: FALSE The <literal>“width-chars”</literal> property GtkLabel:width-chars “width-chars” gint The desired width of the label, in characters. If this property is set to -1, the width will be calculated automatically. See the section on text layout for details of how “width-chars” and “max-width-chars” determine the width of ellipsized and wrapped labels. Owner: GtkLabel Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“wrap”</literal> property GtkLabel:wrap “wrap” gboolean If set, wrap lines if the text becomes too wide.Owner: GtkLabel Flags: Read / Write Default value: FALSE The <literal>“wrap-mode”</literal> property GtkLabel:wrap-mode “wrap-mode” PangoWrapMode If line wrapping is on (see the “wrap” property) this controls how the line wrapping is done. The default is PANGO_WRAP_WORD, which means wrap on word boundaries. Owner: GtkLabel Flags: Read / Write Default value: PANGO_WRAP_WORD The <literal>“xalign”</literal> property GtkLabel:xalign “xalign” gfloat The xalign property determines the horizontal aligment of the label text inside the labels size allocation. Compare this to “halign”, which determines how the labels size allocation is positioned in the space available for the label. Owner: GtkLabel Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“yalign”</literal> property GtkLabel:yalign “yalign” gfloat The yalign property determines the vertical aligment of the label text inside the labels size allocation. Compare this to “valign”, which determines how the labels size allocation is positioned in the space available for the label. Owner: GtkLabel Flags: Read / Write Allowed values: [0,1] Default value: 0.5 Signal Details The <literal>“activate-current-link”</literal> signal GtkLabel::activate-current-link void user_function (GtkLabel *self, gpointer user_data) A keybinding signal which gets emitted when the user activates a link in the label. Applications may also emit the signal with g_signal_emit_by_name() if they need to control activation of URIs programmatically. The default bindings for this signal are all forms of the Enter key. Parameters self The label on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“activate-link”</literal> signal GtkLabel::activate-link gboolean user_function (GtkLabel *self, gchar *uri, gpointer user_data) The signal which gets emitted to activate a URI. Applications may connect to it to override the default behaviour, which is to call gtk_show_uri(). Parameters self The label on which the signal was emitted uri the URI that is activated user_data user data set when the signal handler was connected. Returns TRUE if the link has been activated Flags: Run Last The <literal>“copy-clipboard”</literal> signal GtkLabel::copy-clipboard void user_function (GtkLabel *self, gpointer user_data) The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard. The default binding for this signal is Ctrl-c. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“move-cursor”</literal> signal GtkLabel::move-cursor void user_function (GtkLabel *entry, GtkMovementStep step, gint count, gboolean extend_selection, gpointer user_data) The ::move-cursor 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. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here. Arrow keys move by individual characters/lines Ctrl-arrow key combinations move by words/paragraphs Home/End keys move to the ends of the buffer Parameters entry the object which received the signal step the granularity of the move, as a GtkMovementStep count the number of step units to move extend_selection TRUE if the move should extend the selection user_data user data set when the signal handler was connected. Flags: Action Action Details The <literal>“link.copy”</literal> action GtkLabel|link.copy Copies the link to the clipboard, when activated on a link inside the label. The <literal>“link.open”</literal> action GtkLabel|link.open Opens the link, when activated on a link inside the label. The <literal>“selection.select-all”</literal> action GtkLabel|selection.select-all Selects all of the text, if the label allows selection. The <literal>“selection.delete”</literal> action GtkLabel|selection.delete Doesn't do anything, since text in labels can't be deleted. The <literal>“clipboard.paste”</literal> action GtkLabel|clipboard.paste Doesn't do anything, since text in labels can't be edited. The <literal>“clipboard.copy”</literal> action GtkLabel|clipboard.copy Copies the text to the clipboard. The <literal>“clipboard.cut”</literal> action GtkLabel|clipboard.cut Doesn't do anything, since text in labels can't be deleted. The <literal>“menu.popup”</literal> action GtkLabel|menu.popup Opens the context menu. docs/reference/gtk/xml/gtksingleselection.xml0000664000175000017500000006765313710700311021612 0ustar mclasenmclasen ]> GtkSingleSelection 3 GTK4 Library GtkSingleSelection A selection model that allows selecting a single item Functions GtkSingleSelection * gtk_single_selection_new () GListModel * gtk_single_selection_get_model () void gtk_single_selection_set_model () guint gtk_single_selection_get_selected () void gtk_single_selection_set_selected () gpointer gtk_single_selection_get_selected_item () gboolean gtk_single_selection_get_autoselect () void gtk_single_selection_set_autoselect () gboolean gtk_single_selection_get_can_unselect () void gtk_single_selection_set_can_unselect () Properties gbooleanautoselectRead / Write gbooleancan-unselectRead / Write GListModel *modelRead / Write guintselectedRead / Write GObject *selected-itemRead Types and Values GtkSingleSelection #defineGTK_INVALID_LIST_POSITION Object Hierarchy GObject ╰── GtkSingleSelection Implemented Interfaces GtkSingleSelection implements GListModel and GtkSelectionModel. Includes#include <gtk/gtk.h> Description GtkSingleSelection is an implementation of the GtkSelectionModel interface that allows selecting a single element. It is the default selection method used by list widgets in GTK. Note that the selection is *persistent* -- if the selected item is removed and re-added in the same ::items-changed emission, it stays selected. In particular, this means that changing the sort order of an underlying sort model will preserve the selection. Functions gtk_single_selection_new () gtk_single_selection_new GtkSingleSelection * gtk_single_selection_new (GListModel *model); Creates a new selection to handle model . Parameters model the GListModel to manage, or NULL. [allow-none][transfer full] Returns a new GtkSingleSelection. [transfer full][type GtkSingleSelection] gtk_single_selection_get_model () gtk_single_selection_get_model GListModel * gtk_single_selection_get_model (GtkSingleSelection *self); Gets the model that self is wrapping. Parameters self a GtkSingleSelection Returns The model being wrapped. [transfer none] gtk_single_selection_set_model () gtk_single_selection_set_model void gtk_single_selection_set_model (GtkSingleSelection *self, GListModel *model); Sets the model that self should wrap. If model is NULL, self will be empty. Parameters self a GtkSingleSelection model A GListModel to wrap. [allow-none] gtk_single_selection_get_selected () gtk_single_selection_get_selected guint gtk_single_selection_get_selected (GtkSingleSelection *self); Gets the position of the selected item. If no item is selected, GTK_INVALID_LIST_POSITION is returned. Parameters self a GtkSingleSelection Returns The position of the selected item gtk_single_selection_set_selected () gtk_single_selection_set_selected void gtk_single_selection_set_selected (GtkSingleSelection *self, guint position); Selects the item at the given position. If the list does not have an item at position or GTK_INVALID_LIST_POSITION is given, the behavior depends on the value of the GtkSingleSelection:autoselect property: If it is set, no change will occur and the old item will stay selected. If it is unset, the selection will be unset and no item will be selected. Parameters self a GtkSingleSelection position the item to select or GTK_INVALID_LIST_POSITION gtk_single_selection_get_selected_item () gtk_single_selection_get_selected_item gpointer gtk_single_selection_get_selected_item (GtkSingleSelection *self); Gets the selected item. If no item is selected, NULL is returned. Parameters self a GtkSingleSelection Returns The selected item. [transfer none] gtk_single_selection_get_autoselect () gtk_single_selection_get_autoselect gboolean gtk_single_selection_get_autoselect (GtkSingleSelection *self); Checks if autoselect has been enabled or disabled via gtk_single_selection_set_autoselect(). Parameters self a GtkSingleSelection Returns TRUE if autoselect is enabled gtk_single_selection_set_autoselect () gtk_single_selection_set_autoselect void gtk_single_selection_set_autoselect (GtkSingleSelection *self, gboolean autoselect); If autoselect is TRUE, self will enforce that an item is always selected. It will select a new item when the currently selected item is deleted and it will disallow unselecting the current item. Parameters self a GtkSingleSelection autoselect TRUE to always select an item gtk_single_selection_get_can_unselect () gtk_single_selection_get_can_unselect gboolean gtk_single_selection_get_can_unselect (GtkSingleSelection *self); If TRUE, gtk_selection_model_unselect_item() is supported and allows unselecting the selected item. Parameters self a GtkSingleSelection Returns TRUE to support unselecting gtk_single_selection_set_can_unselect () gtk_single_selection_set_can_unselect void gtk_single_selection_set_can_unselect (GtkSingleSelection *self, gboolean can_unselect); If TRUE, unselecting the current item via gtk_selection_model_unselect_item() is supported. Note that setting GtkSingleSelection:autoselect will cause the unselecting to not work, so it practically makes no sense to set both at the same time the same time.. Parameters self a GtkSingleSelection can_unselect TRUE to allow unselecting Types and Values GtkSingleSelection GtkSingleSelection typedef struct _GtkSingleSelection GtkSingleSelection; GTK_INVALID_LIST_POSITION GTK_INVALID_LIST_POSITION #define GTK_INVALID_LIST_POSITION (G_MAXUINT) The value used to refer to a guaranteed invalid position in a GListModel. This value may be returned from some functions, others may accept it as input. Its interpretation may differ for different functions. Refer to each function's documentation for if this value is allowed and what it does. Property Details The <literal>“autoselect”</literal> property GtkSingleSelection:autoselect “autoselect” gboolean If the selection will always select an item Owner: GtkSingleSelection Flags: Read / Write Default value: TRUE The <literal>“can-unselect”</literal> property GtkSingleSelection:can-unselect “can-unselect” gboolean If unselecting the selected item is allowed Owner: GtkSingleSelection Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkSingleSelection:model “model” GListModel * The model being managed Owner: GtkSingleSelection Flags: Read / Write The <literal>“selected”</literal> property GtkSingleSelection:selected “selected” guint Position of the selected item Owner: GtkSingleSelection Flags: Read / Write Default value: 4294967295 The <literal>“selected-item”</literal> property GtkSingleSelection:selected-item “selected-item” GObject * The selected item Owner: GtkSingleSelection Flags: Read See Also GtkSelectionModel docs/reference/gtk/xml/gtklinkbutton.xml0000664000175000017500000005367013710700311020606 0ustar mclasenmclasen ]> GtkLinkButton 3 GTK4 Library GtkLinkButton Create buttons bound to a URL Functions GtkWidget * gtk_link_button_new () GtkWidget * gtk_link_button_new_with_label () const char * gtk_link_button_get_uri () void gtk_link_button_set_uri () gboolean gtk_link_button_get_visited () void gtk_link_button_set_visited () Properties gchar *uriRead / Write gbooleanvisitedRead / Write Signals gbooleanactivate-linkRun Last Actions menu.popup clipboard.copy Types and Values GtkLinkButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ╰── GtkLinkButton Implemented Interfaces GtkLinkButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description A GtkLinkButton is a GtkButton 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. A link button is created by calling either gtk_link_button_new() or gtk_link_button_new_with_label(). If using the former, the URI you pass to the constructor is used as a label for the widget. The URI bound to a GtkLinkButton can be set specifically using gtk_link_button_set_uri(), and retrieved using gtk_link_button_get_uri(). By default, GtkLinkButton calls gtk_show_uri() when the button is clicked. This behaviour can be overridden by connecting to the “activate-link” signal and returning TRUE from the signal handler. CSS nodesGtkLinkButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .link style class. AccessibilityGtkLinkButton uses the GTK_ACCESSIBKE_ROLE_BUTTON role. Functions gtk_link_button_new () gtk_link_button_new GtkWidget * gtk_link_button_new (const char *uri); Creates a new GtkLinkButton with the URI as its text. Parameters uri a valid URI Returns a new link button widget. gtk_link_button_new_with_label () gtk_link_button_new_with_label GtkWidget * gtk_link_button_new_with_label (const char *uri, const char *label); Creates a new GtkLinkButton containing a label. Parameters uri a valid URI label the text of the button. [allow-none] Returns a new link button widget. [transfer none] gtk_link_button_get_uri () gtk_link_button_get_uri const char * gtk_link_button_get_uri (GtkLinkButton *link_button); Retrieves the URI set using gtk_link_button_set_uri(). Parameters link_button a GtkLinkButton Returns a valid URI. The returned string is owned by the link button and should not be modified or freed. gtk_link_button_set_uri () gtk_link_button_set_uri void gtk_link_button_set_uri (GtkLinkButton *link_button, const char *uri); Sets uri as the URI where the GtkLinkButton points. As a side-effect this unsets the “visited” state of the button. Parameters link_button a GtkLinkButton uri a valid URI gtk_link_button_get_visited () gtk_link_button_get_visited gboolean gtk_link_button_get_visited (GtkLinkButton *link_button); Retrieves the “visited” state of the URI where the GtkLinkButton points. The button becomes visited when it is clicked. If the URI is changed on the button, the “visited” state is unset again. The state may also be changed using gtk_link_button_set_visited(). Parameters link_button a GtkLinkButton Returns TRUE if the link has been visited, FALSE otherwise gtk_link_button_set_visited () gtk_link_button_set_visited void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited); Sets the “visited” state of the URI where the GtkLinkButton points. See gtk_link_button_get_visited() for more details. Parameters link_button a GtkLinkButton visited the new “visited” state Types and Values GtkLinkButton GtkLinkButton typedef struct _GtkLinkButton GtkLinkButton; Property Details The <literal>“uri”</literal> property GtkLinkButton:uri “uri” gchar * The URI bound to this button. Owner: GtkLinkButton Flags: Read / Write Default value: NULL The <literal>“visited”</literal> property GtkLinkButton:visited “visited” gboolean The 'visited' state of this button. A visited link is drawn in a different color. Owner: GtkLinkButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate-link”</literal> signal GtkLinkButton::activate-link gboolean user_function (GtkLinkButton *button, gpointer user_data) The ::activate-link signal is emitted each time the GtkLinkButton has been clicked. The default handler will call gtk_show_uri() with the URI stored inside the “uri” property. To override the default behavior, you can connect to the ::activate-link signal and stop the propagation of the signal by returning TRUE from your handler. Parameters button the GtkLinkButton that emitted the signal user_data user data set when the signal handler was connected. Flags: Run Last Action Details The <literal>“menu.popup”</literal> action GtkLinkButton|menu.popup Opens the context menu. The <literal>“clipboard.copy”</literal> action GtkLinkButton|clipboard.copy Copies the url to the clipboard. See Also GtkButton docs/reference/gtk/xml/gtkmultiselection.xml0000664000175000017500000002407413710700311021451 0ustar mclasenmclasen ]> GtkMultiSelection 3 GTK4 Library GtkMultiSelection A selection model that allows selecting multiple items Functions GtkMultiSelection * gtk_multi_selection_new () GListModel * gtk_multi_selection_get_model () void gtk_multi_selection_set_model () Properties GListModel *modelRead / Write Types and Values GtkMultiSelection Object Hierarchy GObject ╰── GtkMultiSelection Implemented Interfaces GtkMultiSelection implements GListModel and GtkSelectionModel. Includes#include <gtk/gtk.h> Description GtkMultiSelection is an implementation of the GtkSelectionModel interface that allows selecting multiple elements. Functions gtk_multi_selection_new () gtk_multi_selection_new GtkMultiSelection * gtk_multi_selection_new (GListModel *model); Creates a new selection to handle model . Parameters model the GListModel to manage, or NULL. [allow-none][transfer full] Returns a new GtkMultiSelection. [transfer full] gtk_multi_selection_get_model () gtk_multi_selection_get_model GListModel * gtk_multi_selection_get_model (GtkMultiSelection *self); Returns the underlying model of self . Parameters self a GtkMultiSelection Returns the underlying model. [transfer none] gtk_multi_selection_set_model () gtk_multi_selection_set_model void gtk_multi_selection_set_model (GtkMultiSelection *self, GListModel *model); Sets the model that self should wrap. If model is NULL, self will be empty. Parameters self a GtkMultiSelection model A GListModel to wrap. [allow-none] Types and Values GtkMultiSelection GtkMultiSelection typedef struct _GtkMultiSelection GtkMultiSelection; Property Details The <literal>“model”</literal> property GtkMultiSelection:model “model” GListModel * The list managed by this selection Owner: GtkMultiSelection Flags: Read / Write See Also GtkSelectionModel docs/reference/gtk/xml/gtkspinner.xml0000664000175000017500000002721413710700312020067 0ustar mclasenmclasen ]> GtkSpinner 3 GTK4 Library GtkSpinner Show a spinner animation Functions GtkWidget * gtk_spinner_new () void gtk_spinner_start () void gtk_spinner_stop () void gtk_spinner_set_spinning () gboolean gtk_spinner_get_spinning () Properties gbooleanspinningRead / Write Types and Values GtkSpinner Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSpinner Implemented Interfaces GtkSpinner implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkSpinner widget displays an icon-size spinning animation. It is often used as an alternative to a GtkProgressBar for displaying indefinite activity, instead of actual progress. To start the animation, use gtk_spinner_start(), to stop it use gtk_spinner_stop(). CSS nodesGtkSpinner has a single CSS node with the name spinner. When the animation is active, the :checked pseudoclass is added to this node. Functions gtk_spinner_new () gtk_spinner_new GtkWidget * gtk_spinner_new (void); Returns a new spinner widget. Not yet started. Returns a new GtkSpinner gtk_spinner_start () gtk_spinner_start void gtk_spinner_start (GtkSpinner *spinner); Starts the animation of the spinner. Parameters spinner a GtkSpinner gtk_spinner_stop () gtk_spinner_stop void gtk_spinner_stop (GtkSpinner *spinner); Stops the animation of the spinner. Parameters spinner a GtkSpinner gtk_spinner_set_spinning () gtk_spinner_set_spinning void gtk_spinner_set_spinning (GtkSpinner *spinner, gboolean spinning); Sets the activity of the spinner. Parameters spinner a GtkSpinner spinning whether the spinner should be spinning gtk_spinner_get_spinning () gtk_spinner_get_spinning gboolean gtk_spinner_get_spinning (GtkSpinner *spinner); Returns whether the spinner is spinning. Parameters spinner a GtkSpinner Returns TRUE if the spinner is active Types and Values GtkSpinner GtkSpinner typedef struct _GtkSpinner GtkSpinner; Property Details The <literal>“spinning”</literal> property GtkSpinner:spinning “spinning” gboolean Whether the spinner is spinning.Owner: GtkSpinner Flags: Read / Write Default value: FALSE See Also GtkCellRendererSpinner, GtkProgressBar docs/reference/gtk/xml/gtklistitem.xml0000664000175000017500000006234413710700311020245 0ustar mclasenmclasen ]> GtkListItem 3 GTK4 Library GtkListItem Object used to represent items of a list model Functions gpointer gtk_list_item_get_item () guint gtk_list_item_get_position () GtkWidget * gtk_list_item_get_child () void gtk_list_item_set_child () gboolean gtk_list_item_get_selected () gboolean gtk_list_item_get_selectable () void gtk_list_item_set_selectable () gboolean gtk_list_item_get_activatable () void gtk_list_item_set_activatable () Properties gbooleanactivatableRead / Write GtkWidget *childRead / Write GObject *itemRead guintpositionRead gbooleanselectableRead / Write gbooleanselectedRead Types and Values GtkListItem Object Hierarchy GObject ╰── GtkListItem Includes#include <gtk/gtk.h> Description GtkListItem is the object that list-handling containers such as GtkListView use to represent items in a GListModel. They are managed by the container and cannot be created by application code. GtkListItems need to be populated by application code. This is done by calling gtk_list_item_set_child(). GtkListItems exist in 2 stages: The unbound stage where the listitem is not currently connected to an item in the list. In that case, the “item” property is set to NULL. The bound stage where the listitem references an item from the list. The “item” property is not NULL. Functions gtk_list_item_get_item () gtk_list_item_get_item gpointer gtk_list_item_get_item (GtkListItem *self); Gets the item that is currently displayed in model that self is currently bound to or NULL if self is unbound. Parameters self a GtkListItem Returns The item displayed. [nullable][transfer none][type GObject] gtk_list_item_get_position () gtk_list_item_get_position guint gtk_list_item_get_position (GtkListItem *self); Gets the position in the model that self currently displays. If self is unbound, GTK_INVALID_LIST_POSITION is returned. Parameters self a GtkListItem Returns The position of this item gtk_list_item_get_child () gtk_list_item_get_child GtkWidget * gtk_list_item_get_child (GtkListItem *self); Gets the child previously set via gtk_list_item_set_child() or NULL if none was set. Parameters self a GtkListItem Returns The child. [transfer none][nullable] gtk_list_item_set_child () gtk_list_item_set_child void gtk_list_item_set_child (GtkListItem *self, GtkWidget *child); Sets the child to be used for this listitem. This function is typically called by applications when setting up a listitem so that the widget can be reused when binding it multiple times. Parameters self a GtkListItem child The list item's child or NULL to unset. [nullable] gtk_list_item_get_selected () gtk_list_item_get_selected gboolean gtk_list_item_get_selected (GtkListItem *self); Checks if the item is displayed as selected. The selected state is maintained by the container and its list model and cannot be set otherwise. Parameters self a GtkListItem Returns TRUE if the item is selected. gtk_list_item_get_selectable () gtk_list_item_get_selectable gboolean gtk_list_item_get_selectable (GtkListItem *self); Checks if a list item has been set to be selectable via gtk_list_item_set_selectable(). Do not confuse this function with gtk_list_item_get_selected(). Parameters self a GtkListItem Returns TRUE if the item is selectable gtk_list_item_set_selectable () gtk_list_item_set_selectable void gtk_list_item_set_selectable (GtkListItem *self, gboolean selectable); Sets self to be selectable. If an item is selectable, clicking on the item or using the keyboard will try to select or unselect the item. If this succeeds is up to the model to determine, as it is managing the selected state. Note that this means that making an item non-selectable has no influence on the selected state at all. A non-selectable item may still be selected. By default, list items are selectable. When rebinding them to a new item, they will also be reset to be selectable by GTK. Parameters self a GtkListItem selectable if the item should be selectable gtk_list_item_get_activatable () gtk_list_item_get_activatable gboolean gtk_list_item_get_activatable (GtkListItem *self); Checks if a list item has been set to be activatable via gtk_list_item_set_activatable(). Parameters self a GtkListItem Returns TRUE if the item is activatable gtk_list_item_set_activatable () gtk_list_item_set_activatable void gtk_list_item_set_activatable (GtkListItem *self, gboolean activatable); Sets self to be activatable. If an item is activatable, double-clicking on the item, using the Return key or calling gtk_widget_activate() will activate the item. Activating instructs the containing view to handle activation. GtkListView for example will be emitting the “activate” signal. By default, list items are activatable Parameters self a GtkListItem activatable if the item should be activatable Types and Values GtkListItem GtkListItem typedef struct _GtkListItem GtkListItem; Property Details The <literal>“activatable”</literal> property GtkListItem:activatable “activatable” gboolean If the item can be activated by the user Owner: GtkListItem Flags: Read / Write Default value: TRUE The <literal>“child”</literal> property GtkListItem:child “child” GtkWidget * Widget used for display Owner: GtkListItem Flags: Read / Write The <literal>“item”</literal> property GtkListItem:item “item” GObject * Displayed item Owner: GtkListItem Flags: Read The <literal>“position”</literal> property GtkListItem:position “position” guint Position of the item Owner: GtkListItem Flags: Read Default value: 4294967295 The <literal>“selectable”</literal> property GtkListItem:selectable “selectable” gboolean If the item can be selected by the user Owner: GtkListItem Flags: Read / Write Default value: TRUE The <literal>“selected”</literal> property GtkListItem:selected “selected” gboolean If the item is currently selected Owner: GtkListItem Flags: Read Default value: FALSE See Also GtkListView, GListModel docs/reference/gtk/xml/gtkmaplistmodel.xml0000664000175000017500000004771713710700311021114 0ustar mclasenmclasen ]> GtkMapListModel 3 GTK4 Library GtkMapListModel A list model that transforms its items Functions gpointer (*GtkMapListModelMapFunc) () GtkMapListModel * gtk_map_list_model_new () void gtk_map_list_model_set_map_func () void gtk_map_list_model_set_model () GListModel * gtk_map_list_model_get_model () gboolean gtk_map_list_model_has_map () Properties gbooleanhas-mapRead GListModel *modelRead / Write / Construct Only Types and Values GtkMapListModel Object Hierarchy GObject ╰── GtkMapListModel Implemented Interfaces GtkMapListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkMapListModel is a list model that takes a list model and maps the items in that model to different items according to a GtkMapListModelMapFunc. Example: Create a list of GtkEventControllers GtkMapListModel will attempt to discard the mapped objects as soon as they are no longer needed and recreate them if necessary. Functions GtkMapListModelMapFunc () GtkMapListModelMapFunc gpointer (*GtkMapListModelMapFunc) (gpointer item, gpointer user_data); User function that is called to map an item of the original model to an item expected by the map model. The returned items must conform to the item type of the model they are used with. Parameters item The item to map. [type GObject][transfer full] user_data user data Returns The item to map to. This function may not return NULL. [type GObject][transfer full] gtk_map_list_model_new () gtk_map_list_model_new GtkMapListModel * gtk_map_list_model_new (GListModel *model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy); Creates a new GtkMapListModel for the given arguments. Parameters model The model to map or NULL for none. [transfer full][allow-none] map_func map function or NULL to not map items. [allow-none] user_data user data passed to map_func . [closure] user_destroy destroy notifier for user_data Returns a new GtkMapListModel gtk_map_list_model_set_map_func () gtk_map_list_model_set_map_func void gtk_map_list_model_set_map_func (GtkMapListModel *self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy); Sets the function used to map items. The function will be called whenever an item needs to be mapped and must return the item to use for the given input item. Note that GtkMapListModel may call this function multiple times on the same item, because it may delete items it doesn't need anymore. GTK makes no effort to ensure that map_func conforms to the item type of self . It assumes that the caller knows what they are doing and the map function returns items of the appropriate type. Parameters self a GtkMapListModel map_func map function or NULL to not map items. [allow-none] user_data user data passed to map_func . [closure] user_destroy destroy notifier for user_data gtk_map_list_model_set_model () gtk_map_list_model_set_model void gtk_map_list_model_set_model (GtkMapListModel *self, GListModel *model); Sets the model to be mapped. GTK makes no effort to ensure that model conforms to the item type expected by the map function. It assumes that the caller knows what they are doing and have set up an appropriate map function. Parameters self a GtkMapListModel model The model to be mapped. [allow-none] gtk_map_list_model_get_model () gtk_map_list_model_get_model GListModel * gtk_map_list_model_get_model (GtkMapListModel *self); Gets the model that is currently being mapped or NULL if none. Parameters self a GtkMapListModel Returns The model that gets mapped. [nullable][transfer none] gtk_map_list_model_has_map () gtk_map_list_model_has_map gboolean gtk_map_list_model_has_map (GtkMapListModel *self); Checks if a map function is currently set on self Parameters self a GtkMapListModel Returns TRUE if a map function is set Types and Values GtkMapListModel GtkMapListModel typedef struct _GtkMapListModel GtkMapListModel; Property Details The <literal>“has-map”</literal> property GtkMapListModel:has-map “has-map” gboolean If a map is set for this model Owner: GtkMapListModel Flags: Read Default value: FALSE The <literal>“model”</literal> property GtkMapListModel:model “model” GListModel * The model being mapped Owner: GtkMapListModel Flags: Read / Write / Construct Only See Also GListModel docs/reference/gtk/xml/gtklistitemfactory.xml0000664000175000017500000001271213710700311021627 0ustar mclasenmclasen ]> GtkListItemFactory 3 GTK4 Library GtkListItemFactory Mapping list items to widgets Types and Values GtkListItemFactory Object Hierarchy GObject ╰── GtkListItemFactory ├── GtkBuilderListItemFactory ╰── GtkSignalListItemFactory Includes#include <gtk/gtk.h> Description GtkListItemFactory is one of the core concepts of handling list widgets. It is the object tasked with creating widgets for items taken from a GListModel when the views need them and updating them as the items displayed by the view change. A view is usually only able to display anything after both a factory and a model have been set on the view. So it is important that you do not skip this step when setting up your first view. Because views do not display the whole list at once but only a few items, they only need to maintain a few widgets at a time. They will instruct the GtkListItemFactory to create these widgets and bind them to the items that are currently displayed. As the list model changes or the user scrolls to the list, the items will change and the view will instruct the factory to bind the widgets to those new items. The actual widgets used for displaying those widgets is provided by you. When the factory needs widgets created, it will create a GtkListItem and hand it to your code to set up a widget for. This list item will provide various properties with information about what item to display and provide you with some opportunities to configure its behavior. See the GtkListItem documentation for further details. Various implementations of GtkListItemFactory exist to allow you different ways to provide those widgets. The most common implementations are GtkBuilderListItemFactory which takes a GtkBuilder .ui file and then creates widgets and manages everything automatically from the information in that file and GtkSignalListItemFactory which allows you to connect to signals with your own code and retain full control over how the widgets are setup and managed. A GtkListItemFactory is supposed to be final - that means its behavior should not change and the first widget created from it should behave the same way as the last widget created from it. If you intend to do changes to the behavior, it is recommended that you create a new GtkListItemFactory which will allow the views to recreate its widgets. Once you have chosen your factory and created it, you need to set it on the view widget you want to use it with, such as via gtk_list_view_set_factory(). Reusing factories across different views is allowed, but very uncommon. Functions Types and Values GtkListItemFactory GtkListItemFactory typedef struct _GtkListItemFactory GtkListItemFactory; docs/reference/gtk/xml/gtkbuilderlistitemfactory.xml0000664000175000017500000004265113710700311023203 0ustar mclasenmclasen ]> GtkBuilderListItemFactory 3 GTK4 Library GtkBuilderListItemFactory A listitem factory using ui files Functions GtkListItemFactory * gtk_builder_list_item_factory_new_from_bytes () GtkListItemFactory * gtk_builder_list_item_factory_new_from_resource () GBytes * gtk_builder_list_item_factory_get_bytes () const char * gtk_builder_list_item_factory_get_resource () GtkBuilderScope * gtk_builder_list_item_factory_get_scope () Properties GBytes *bytesRead / Write / Construct Only gchar *resourceRead / Write / Construct Only GtkBuilderScope *scopeRead / Write / Construct Only Types and Values GtkBuilderListItemFactory Object Hierarchy GObject ╰── GtkListItemFactory ╰── GtkBuilderListItemFactory Includes#include <gtk/gtk.h> Description GtkBuilderListItemFactory is a GtkListItemFactory that creates widgets by instantiating GtkBuilder UI templates. The templates must be extending GtkListItem, and typically use GtkExpressions to obtain data from the items in the model. Example: ]]> Functions gtk_builder_list_item_factory_new_from_bytes () gtk_builder_list_item_factory_new_from_bytes GtkListItemFactory * gtk_builder_list_item_factory_new_from_bytes (GtkBuilderScope *scope, GBytes *bytes); Creates s new GtkBuilderListItemFactory that instantiates widgets using bytes as the data to pass to GtkBuilder. Parameters scope A scope to use when instantiating. [nullable][transfer none] bytes the bytes containing the ui file to instantiate Returns a new GtkBuilderListItemFactory gtk_builder_list_item_factory_new_from_resource () gtk_builder_list_item_factory_new_from_resource GtkListItemFactory * gtk_builder_list_item_factory_new_from_resource (GtkBuilderScope *scope, const char *resource_path); Creates s new GtkBuilderListItemFactory that instantiates widgets using data read from the given resource_path to pass to GtkBuilder. Parameters scope A scope to use when instantiating. [nullable][transfer none] resource_path valid path to a resource that contains the data Returns a new GtkBuilderListItemFactory gtk_builder_list_item_factory_get_bytes () gtk_builder_list_item_factory_get_bytes GBytes * gtk_builder_list_item_factory_get_bytes (GtkBuilderListItemFactory *self); Gets the data used as the GtkBuilder UI template for constructing listitems. Parameters self a GtkBuilderListItemFactory Returns The GtkBuilder data. [transfer none] gtk_builder_list_item_factory_get_resource () gtk_builder_list_item_factory_get_resource const char * gtk_builder_list_item_factory_get_resource (GtkBuilderListItemFactory *self); If the data references a resource, gets the path of that resource. Parameters self a GtkBuilderListItemFactory Returns The path to the resource or NULL if none. [transfer none][nullable] gtk_builder_list_item_factory_get_scope () gtk_builder_list_item_factory_get_scope GtkBuilderScope * gtk_builder_list_item_factory_get_scope (GtkBuilderListItemFactory *self); Gets the scope used when constructing listitems. Parameters self a GtkBuilderListItemFactory Returns The scope used when constructing listitems. [transfer none][nullable] Types and Values GtkBuilderListItemFactory GtkBuilderListItemFactory typedef struct _GtkBuilderListItemFactory GtkBuilderListItemFactory; Property Details The <literal>“bytes”</literal> property GtkBuilderListItemFactory:bytes “bytes” GBytes * bytes containing the UI definition Owner: GtkBuilderListItemFactory Flags: Read / Write / Construct Only The <literal>“resource”</literal> property GtkBuilderListItemFactory:resource “resource” gchar * resource containing the UI definition Owner: GtkBuilderListItemFactory Flags: Read / Write / Construct Only Default value: NULL The <literal>“scope”</literal> property GtkBuilderListItemFactory:scope “scope” GtkBuilderScope * scope to use when instantiating listitems Owner: GtkBuilderListItemFactory Flags: Read / Write / Construct Only docs/reference/gtk/xml/gtkcustomfilter.xml0000664000175000017500000002537013710700311021131 0ustar mclasenmclasen ]> GtkCustomFilter 3 GTK4 Library GtkCustomFilter Filtering with callbacks Functions gboolean (*GtkCustomFilterFunc) () GtkFilter * gtk_custom_filter_new () void gtk_custom_filter_set_filter_func () Types and Values GtkCustomFilter Object Hierarchy GObject ╰── GtkFilter ╰── GtkCustomFilter Includes#include <gtk/gtk.h> Description GtkCustomFilter is a GtkFilter that uses a callback to determine whether to include an item or not. Functions GtkCustomFilterFunc () GtkCustomFilterFunc gboolean (*GtkCustomFilterFunc) (gpointer item, gpointer user_data); User function that is called to determine if the item should be matched. If the filter matches the item, this function must return TRUE. If the item should be filtered out, FALSE must be returned. Parameters item The item to be matched. [type GObject] user_data user data Returns TRUE to keep the item around gtk_custom_filter_new () gtk_custom_filter_new GtkFilter * gtk_custom_filter_new (GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy); Creates a new filter using the given match_func to filter items. If match_func is NULL, the filter matches all items. If the filter func changes its filtering behavior, gtk_filter_changed() needs to be called. Parameters match_func function to filter items. [nullable] user_data user data to pass to match_func . [nullable] user_destroy destroy notify for user_data Returns a new GtkFilter gtk_custom_filter_set_filter_func () gtk_custom_filter_set_filter_func void gtk_custom_filter_set_filter_func (GtkCustomFilter *self, GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy); Sets (or unsets) the function used for filtering items. If match_func is NULL, the filter matches all items. If the filter func changes its filtering behavior, gtk_filter_changed() needs to be called. If a previous function was set, its user_destroy will be called now. Parameters self a GtkCustomFilter match_func function to filter items. [nullable] user_data user data to pass to match_func . [nullable] user_destroy destroy notify for user_data Types and Values GtkCustomFilter GtkCustomFilter typedef struct _GtkCustomFilter GtkCustomFilter; docs/reference/gtk/xml/gtksignallistitemfactory.xml0000664000175000017500000004301613710700311023026 0ustar mclasenmclasen ]> GtkSignalListItemFactory 3 GTK4 Library GtkSignalListItemFactory A listitem factory providing signals Functions GtkListItemFactory * gtk_signal_list_item_factory_new () Signals voidbindRun First voidsetupRun First voidteardownRun First voidunbindRun First Types and Values GtkSignalListItemFactory Object Hierarchy GObject ╰── GtkListItemFactory ╰── GtkSignalListItemFactory Includes#include <gtk/gtk.h> Description GtkSignalListItemFactory is a GtkListItemFactory that provides signals that user code can connect to to manage listitems. Signals are emitted for every listitem in the same order: “setup” is emitted to set up permanent things on the listitem. This usually means constructing the widgets used in the row and adding them to the listitem. “bind” is emitted to bind the item passed via “item” to the widgets that have been created in step 1 or to add item-specific widgets. Signals are connected to listen to changes - both to changes in the item to update the widgets or to changes in the widgets to update the item. After this signal has been called, the listitem may be shown in a list widget. “unbind” is emitted to undo everything done in step 2. Usually this means disconnecting signal handlers. Once this signal has been called, the listitem will no longer be used in a list widget. “bind” and “unbind” may be emitted multiple times again to bind the listitem for use with new items. By reusing listitems, potentially costly setup can be avoided. However, it means code needs to make sure to properly clean up the listitem in step 3 so that no information from the previous use leaks into the next use. “teardown” is emitted to allow undoing the effects of “setup”. After this signal was emitted on a listitem, the listitem will be destroyed and not be used again. Note that during the signal emissions, changing properties on the GtkListItems passed will not trigger notify signals as the listitem's notifications are frozen. See g_object_freeze_notify() for details. For tracking changes in other properties in the GtkListItem, the “notify” signal is recommended. The signal can be connected in the “setup” signal and removed again during “teardown”. Functions gtk_signal_list_item_factory_new () gtk_signal_list_item_factory_new GtkListItemFactory * gtk_signal_list_item_factory_new (void); Creates a new GtkSignalListItemFactory. You need to connect signal handlers before you use it. Returns a new GtkSignalListItemFactory Types and Values GtkSignalListItemFactory GtkSignalListItemFactory typedef struct _GtkSignalListItemFactory GtkSignalListItemFactory; The object for the GtkSignalListItemFactory. Signal Details The <literal>“bind”</literal> signal GtkSignalListItemFactory::bind void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data) The ::bind signal is emitted when a new GtkListItem:item has been set on the listitem and should be bound for use. After this signal was emitted, the listitem might be shown in a GtkListView or other list widget. The GtkSignalListItemFactory::unbind signal is the opposite of this signal and can be used to undo everything done in this signal. Parameters self The GtkSignalListItemFactory listitem The GtkListItem to bind user_data user data set when the signal handler was connected. Flags: Run First The <literal>“setup”</literal> signal GtkSignalListItemFactory::setup void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data) The ::setup signal is emitted when a new listitem has been created and needs to be setup for use. It is the first signal emitted for every listitem. The GtkSignalListItemFactory::teardown signal is the opposite of this signal and can be used to undo everything done in this signal. Parameters self The GtkSignalListItemFactory listitem The GtkListItem to set up user_data user data set when the signal handler was connected. Flags: Run First The <literal>“teardown”</literal> signal GtkSignalListItemFactory::teardown void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data) The ::teardown signal is emitted when a listitem is about to be destroyed. It is the last signal ever emitted for this listitem . This signal is the opposite of the GtkSignalListItemFactory::setup signal and should be used to undo everything done in that signal. Parameters self The GtkSignalListItemFactory listitem The GtkListItem to teardown user_data user data set when the signal handler was connected. Flags: Run First The <literal>“unbind”</literal> signal GtkSignalListItemFactory::unbind void user_function (GtkSignalListItemFactory *self, GtkListItem *listitem, gpointer user_data) The ::unbind signal is emitted when a listitem has been removed from use in a list widget and its new GtkListItem:item is about to be unset. This signal is the opposite of the GtkSignalListItemFactory::bind signal and should be used to undo everything done in that signal. Parameters self The GtkSignalListItemFactory listitem The GtkListItem to unbind user_data user data set when the signal handler was connected. Flags: Run First See Also GtkListItemFactory docs/reference/gtk/xml/gtkstatusbar.xml0000664000175000017500000005174713710700312020431 0ustar mclasenmclasen ]> GtkStatusbar 3 GTK4 Library GtkStatusbar Report messages of minor importance to the user Functions GtkWidget * gtk_statusbar_new () guint gtk_statusbar_get_context_id () guint gtk_statusbar_push () void gtk_statusbar_pop () void gtk_statusbar_remove () void gtk_statusbar_remove_all () Signals voidtext-poppedRun Last voidtext-pushedRun Last Types and Values GtkStatusbar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkStatusbar Implemented Interfaces GtkStatusbar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkStatusbar is usually placed along the bottom of an application's main GtkWindow. 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). 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. Any messages added to a statusbar’s stack must specify a context id that is used to uniquely identify the source of a message. This context id can be generated by gtk_statusbar_get_context_id(), given a message and the statusbar that it will be added to. 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 identifier of a message. 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 ids). Status bars are created using gtk_statusbar_new(). Messages are added to the bar’s stack with gtk_statusbar_push(). The message at the top of the stack can be removed using gtk_statusbar_pop(). A message can be removed from anywhere in the stack if its message id was recorded at the time it was added. This is done using gtk_statusbar_remove(). CSS nodeGtkStatusbar has a single CSS node with name statusbar. Functions gtk_statusbar_new () gtk_statusbar_new GtkWidget * gtk_statusbar_new (void); Creates a new GtkStatusbar ready for messages. Returns the new GtkStatusbar gtk_statusbar_get_context_id () gtk_statusbar_get_context_id guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar, const char *context_description); Returns a new context identifier, given a description of the actual context. Note that the description is not shown in the UI. Parameters statusbar a GtkStatusbar context_description textual description of what context the new message is being used in Returns an integer id gtk_statusbar_push () gtk_statusbar_push guint gtk_statusbar_push (GtkStatusbar *statusbar, guint context_id, const char *text); Pushes a new message onto a statusbar’s stack. Parameters statusbar a GtkStatusbar context_id the message’s context id, as returned by gtk_statusbar_get_context_id() text the message to add to the statusbar Returns a message id that can be used with gtk_statusbar_remove(). gtk_statusbar_pop () gtk_statusbar_pop void gtk_statusbar_pop (GtkStatusbar *statusbar, guint context_id); Removes the first message in the GtkStatusbar’s stack with the given context id. Note that this may not change the displayed message, if the message at the top of the stack has a different context id. Parameters statusbar a GtkStatusbar context_id a context identifier gtk_statusbar_remove () gtk_statusbar_remove void gtk_statusbar_remove (GtkStatusbar *statusbar, guint context_id, guint message_id); Forces the removal of a message from a statusbar’s stack. The exact context_id and message_id must be specified. Parameters statusbar a GtkStatusbar context_id a context identifier message_id a message identifier, as returned by gtk_statusbar_push() gtk_statusbar_remove_all () gtk_statusbar_remove_all void gtk_statusbar_remove_all (GtkStatusbar *statusbar, guint context_id); Forces the removal of all messages from a statusbar's stack with the exact context_id . Parameters statusbar a GtkStatusbar context_id a context identifier Types and Values GtkStatusbar GtkStatusbar typedef struct _GtkStatusbar GtkStatusbar; Signal Details The <literal>“text-popped”</literal> signal GtkStatusbar::text-popped void user_function (GtkStatusbar *statusbar, guint context_id, gchar *text, gpointer user_data) Is emitted whenever a new message is popped off a statusbar's stack. Parameters statusbar the object which received the signal context_id the context id of the relevant message/statusbar text the message that was just popped user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“text-pushed”</literal> signal GtkStatusbar::text-pushed void user_function (GtkStatusbar *statusbar, guint context_id, gchar *text, gpointer user_data) Is emitted whenever a new message gets pushed onto a statusbar's stack. Parameters statusbar the object which received the signal context_id the context id of the relevant message/statusbar text the message that was pushed user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtklistview.xml0000664000175000017500000011360613710700311020257 0ustar mclasenmclasen ]> GtkListView 3 GTK4 Library GtkListView A widget for displaying lists Functions GtkWidget * gtk_list_view_new () GtkWidget * gtk_list_view_new_with_factory () void gtk_list_view_set_factory () GtkListItemFactory * gtk_list_view_get_factory () void gtk_list_view_set_model () GListModel * gtk_list_view_get_model () void gtk_list_view_set_show_separators () gboolean gtk_list_view_get_show_separators () void gtk_list_view_set_single_click_activate () gboolean gtk_list_view_get_single_click_activate () void gtk_list_view_set_enable_rubberband () gboolean gtk_list_view_get_enable_rubberband () Properties gbooleanenable-rubberbandRead / Write GtkListItemFactory *factoryRead / Write GListModel *modelRead / Write gbooleanshow-separatorsRead / Write gbooleansingle-click-activateRead / Write Signals voidactivateRun Last Actions list.activate-itemu Types and Values GtkListView Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkListBase ╰── GtkListView Implemented Interfaces GtkListView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable and GtkScrollable. Includes#include <gtk/gtk.h> Description GtkListView is a widget to present a view into a large dynamic list of items. GtkListView uses its factory to generate one row widget for each visible item and shows them in a linear display, either vertically or horizontally. The “show-separators” property offers a simple way to display separators between the rows. GtkListView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkListView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on _rubberband selection_, using “enable-rubberband”. If you need multiple columns with headers, see GtkColumnView. To learn more about the list widget framework, see the overview. An example of using GtkListView: CSS nodes GtkListView uses a single CSS node named listview. It may carry the .separators style class, when “show-separators” property is set. Each child widget uses a single CSS node named row. For rubberband selection, a node with name rubberband is used. Functions gtk_list_view_new () gtk_list_view_new GtkWidget * gtk_list_view_new (GListModel *model); Creates a new GtkListView. You most likely want to call gtk_list_view_set_factory() to set up a way to map its items to widgets. Parameters model the model to use, or NULL. [allow-none][transfer full] Returns a new GtkListView gtk_list_view_new_with_factory () gtk_list_view_new_with_factory GtkWidget * gtk_list_view_new_with_factory (GListModel *model, GtkListItemFactory *factory); Creates a new GtkListView that uses the given factory for mapping items to widgets. The function takes ownership of the argument, so you can write code like list_view = gtk_list_view_new_with_factory (create_model(), gtk_builder_list_item_factory_new_from_resource ("/resource.ui")); Parameters model the model to use, or NULL. [allow-none][transfer full] factory The factory to populate items with, or NULL. [allow-none][transfer full] Returns a new GtkListView using the given factory gtk_list_view_set_factory () gtk_list_view_set_factory void gtk_list_view_set_factory (GtkListView *self, GtkListItemFactory *factory); Sets the GtkListItemFactory to use for populating list items. Parameters self a GtkListView factory the factory to use or NULL for none. [allow-none][transfer none] gtk_list_view_get_factory () gtk_list_view_get_factory GtkListItemFactory * gtk_list_view_get_factory (GtkListView *self); Gets the factory that's currently used to populate list items. Parameters self a GtkListView Returns The factory in use. [nullable][transfer none] gtk_list_view_set_model () gtk_list_view_set_model void gtk_list_view_set_model (GtkListView *self, GListModel *model); Sets the GListModel to use. If the model is a GtkSelectionModel, it is used for managing the selection. Otherwise, self creates a GtkSingleSelection for the selection. Parameters self a GtkListView model the model to use or NULL for none. [allow-none][transfer none] gtk_list_view_get_model () gtk_list_view_get_model GListModel * gtk_list_view_get_model (GtkListView *self); Gets the model that's currently used to read the items displayed. Parameters self a GtkListView Returns The model in use. [nullable][transfer none] gtk_list_view_set_show_separators () gtk_list_view_set_show_separators void gtk_list_view_set_show_separators (GtkListView *self, gboolean show_separators); Sets whether the list box should show separators between rows. Parameters self a GtkListView show_separators TRUE to show separators gtk_list_view_get_show_separators () gtk_list_view_get_show_separators gboolean gtk_list_view_get_show_separators (GtkListView *self); Returns whether the list box should show separators between rows. Parameters self a GtkListView Returns TRUE if the list box shows separators gtk_list_view_set_single_click_activate () gtk_list_view_set_single_click_activate void gtk_list_view_set_single_click_activate (GtkListView *self, gboolean single_click_activate); Sets whether rows should be activated on single click and selected on hover. Parameters self a GtkListView single_click_activate TRUE to activate items on single click gtk_list_view_get_single_click_activate () gtk_list_view_get_single_click_activate gboolean gtk_list_view_get_single_click_activate (GtkListView *self); Returns whether rows will be activated on single click and selected on hover. Parameters self a GtkListView Returns TRUE if rows are activated on single click gtk_list_view_set_enable_rubberband () gtk_list_view_set_enable_rubberband void gtk_list_view_set_enable_rubberband (GtkListView *self, gboolean enable_rubberband); Sets whether selections can be changed by dragging with the mouse. Parameters self a GtkListView enable_rubberband TRUE to enable rubberband selection gtk_list_view_get_enable_rubberband () gtk_list_view_get_enable_rubberband gboolean gtk_list_view_get_enable_rubberband (GtkListView *self); Returns whether rows can be selected by dragging with the mouse. Parameters self a GtkListView Returns TRUE if rubberband selection is enabled Types and Values GtkListView GtkListView typedef struct _GtkListView GtkListView; GtkListView is the simple list implementation for GTK's list widgets. Property Details The <literal>“enable-rubberband”</literal> property GtkListView:enable-rubberband “enable-rubberband” gboolean Allow rubberband selection Owner: GtkListView Flags: Read / Write Default value: FALSE The <literal>“factory”</literal> property GtkListView:factory “factory” GtkListItemFactory * Factory for populating list items Owner: GtkListView Flags: Read / Write The <literal>“model”</literal> property GtkListView:model “model” GListModel * Model for the items displayed Owner: GtkListView Flags: Read / Write The <literal>“show-separators”</literal> property GtkListView:show-separators “show-separators” gboolean Show separators between rows Owner: GtkListView Flags: Read / Write Default value: FALSE The <literal>“single-click-activate”</literal> property GtkListView:single-click-activate “single-click-activate” gboolean Activate rows on single click and select them on hover Owner: GtkListView Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate”</literal> signal GtkListView::activate void user_function (GtkListView *self, guint position, gpointer user_data) The ::activate signal is emitted when a row has been activated by the user, usually via activating the GtkListView|list.activate-item action. This allows for a convenient way to handle activation in a listview. See gtk_list_item_set_activatable() for details on how to use this signal. Parameters self The GtkListView position position of item to activate user_data user data set when the signal handler was connected. Flags: Run Last Action Details The <literal>“list.activate-item”</literal> action GtkListView|list.activate-item Activates the item given in position by emitting the GtkListView::activate signal. Parameter type: u Parameters position position of item to activate See Also GListModel, GtkColumnView, GtkGridView docs/reference/gtk/xml/gtkmenubutton.xml0000664000175000017500000014754713710700311020624 0ustar mclasenmclasen ]> GtkMenuButton 3 GTK4 Library GtkMenuButton A widget that shows a popup when clicked on Functions GtkWidget * gtk_menu_button_new () void gtk_menu_button_set_popover () GtkPopover * gtk_menu_button_get_popover () void gtk_menu_button_set_menu_model () GMenuModel * gtk_menu_button_get_menu_model () void gtk_menu_button_set_direction () GtkArrowType gtk_menu_button_get_direction () void gtk_menu_button_set_icon_name () const char * gtk_menu_button_get_icon_name () void gtk_menu_button_set_label () const char * gtk_menu_button_get_label () void gtk_menu_button_set_has_frame () gboolean gtk_menu_button_get_has_frame () gboolean gtk_menu_button_get_use_underline () void gtk_menu_button_set_use_underline () void gtk_menu_button_popup () void gtk_menu_button_popdown () void (*GtkMenuButtonCreatePopupFunc) () void gtk_menu_button_set_create_popup_func () Properties GtkArrowTypedirectionRead / Write gbooleanhas-frameRead / Write gchar *icon-nameRead / Write gchar *labelRead / Write GMenuModel *menu-modelRead / Write GtkPopover *popoverRead / Write gbooleanuse-underlineRead / Write Types and Values GtkMenuButton enumGtkArrowType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkMenuButton Implemented Interfaces GtkMenuButton implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkMenuButton widget is used to display a popup when clicked on. This popup can be provided either as a GtkPopover or as an abstract GMenuModel. The GtkMenuButton widget can show either an icon (set with the “icon-name” property) or a label (set with the “label” property). If neither is explicitly set, a GtkImage is automatically created, using an arrow image oriented according to “direction” or the generic “open-menu-symbolic” icon if the direction is not set. The positioning of the popup is determined by the “direction” property of the menu button. For menus, the “halign” and “valign” properties of the menu are also taken into account. For example, when the direction is GTK_ARROW_DOWN and the horizontal alignment is GTK_ALIGN_START, the menu will be positioned below the button, with the starting edge (depending on the text direction) of the menu aligned with the starting edge of the button. If there is not enough space below the button, the menu is popped up above the button instead. If the alignment would move part of the menu offscreen, it is “pushed in”. Direction = Down halign = start halign = center halign = end Direction = Up halign = start halign = center halign = end Direction = Left valign = start valign = center valign = end Direction = Right valign = start valign = center valign = end CSS nodesGtkMenuButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .popup style class. Functions gtk_menu_button_new () gtk_menu_button_new GtkWidget * gtk_menu_button_new (void); Creates a new GtkMenuButton widget with downwards-pointing arrow as the only child. You can replace the child widget with another GtkWidget should you wish to. Returns The newly created GtkMenuButton widget gtk_menu_button_set_popover () gtk_menu_button_set_popover void gtk_menu_button_set_popover (GtkMenuButton *menu_button, GtkWidget *popover); Sets the GtkPopover that will be popped up when the menu_button is clicked, or NULL to dissociate any existing popover and disable the button. If “menu-model” is set, the menu model is dissociated from the menu_button , and the property is set to NULL. Parameters menu_button a GtkMenuButton popover a GtkPopover, or NULL to unset and disable the button. [nullable] gtk_menu_button_get_popover () gtk_menu_button_get_popover GtkPopover * gtk_menu_button_get_popover (GtkMenuButton *menu_button); Returns the GtkPopover that pops out of the button. If the button is not using a GtkPopover, this function returns NULL. Parameters menu_button a GtkMenuButton Returns a GtkPopover or NULL. [nullable][transfer none] gtk_menu_button_set_menu_model () gtk_menu_button_set_menu_model void gtk_menu_button_set_menu_model (GtkMenuButton *menu_button, GMenuModel *menu_model); Sets the GMenuModel from which the popup will be constructed, or NULL to dissociate any existing menu model and disable the button. A GtkPopover will be created from the menu model with gtk_popover_menu_new_from_model(). Actions will be connected as documented for this function. If “popover” is already set, it will be dissociated from the menu_button , and the property is set to NULL. Parameters menu_button a GtkMenuButton menu_model a GMenuModel, or NULL to unset and disable the button. [nullable] gtk_menu_button_get_menu_model () gtk_menu_button_get_menu_model GMenuModel * gtk_menu_button_get_menu_model (GtkMenuButton *menu_button); Returns the GMenuModel used to generate the popup. Parameters menu_button a GtkMenuButton Returns a GMenuModel or NULL. [nullable][transfer none] gtk_menu_button_set_direction () gtk_menu_button_set_direction void gtk_menu_button_set_direction (GtkMenuButton *menu_button, GtkArrowType direction); Sets the direction in which the popup will be popped up, as well as changing the arrow’s direction. The child will not be changed to an arrow if it was customized. If the does not fit in the available space in the given direction, GTK+ will its best to keep it inside the screen and fully visible. If you pass GTK_ARROW_NONE for a direction , the popup will behave as if you passed GTK_ARROW_DOWN (although you won’t see any arrows). Parameters menu_button a GtkMenuButton direction a GtkArrowType gtk_menu_button_get_direction () gtk_menu_button_get_direction GtkArrowType gtk_menu_button_get_direction (GtkMenuButton *menu_button); Returns the direction the popup will be pointing at when popped up. Parameters menu_button a GtkMenuButton Returns a GtkArrowType value gtk_menu_button_set_icon_name () gtk_menu_button_set_icon_name void gtk_menu_button_set_icon_name (GtkMenuButton *menu_button, const char *icon_name); Sets the name of an icon to show inside the menu button. Parameters menu_button a GtkMenuButton icon_name the icon name gtk_menu_button_get_icon_name () gtk_menu_button_get_icon_name const char * gtk_menu_button_get_icon_name (GtkMenuButton *menu_button); Gets the name of the icon shown in the button. Parameters menu_button a GtkMenuButton Returns the name of the icon shown in the button gtk_menu_button_set_label () gtk_menu_button_set_label void gtk_menu_button_set_label (GtkMenuButton *menu_button, const char *label); Sets the label to show inside the menu button. Parameters menu_button a GtkMenuButton label the label gtk_menu_button_get_label () gtk_menu_button_get_label const char * gtk_menu_button_get_label (GtkMenuButton *menu_button); Gets the label shown in the button Parameters menu_button a GtkMenuButton Returns the label shown in the button gtk_menu_button_set_has_frame () gtk_menu_button_set_has_frame void gtk_menu_button_set_has_frame (GtkMenuButton *menu_button, gboolean has_frame); Sets the style of the button. Parameters menu_button a GtkMenuButton has_frame whether the button should have a visible frame gtk_menu_button_get_has_frame () gtk_menu_button_get_has_frame gboolean gtk_menu_button_get_has_frame (GtkMenuButton *menu_button); Returns whether the button has a frame. Parameters menu_button a GtkMenuButton Returns TRUE if the button has a frame gtk_menu_button_get_use_underline () gtk_menu_button_get_use_underline gboolean gtk_menu_button_get_use_underline (GtkMenuButton *menu_button); Returns whether an embedded underline in the text indicates a mnemonic. See gtk_menu_button_set_use_underline(). Parameters menu_button a GtkMenuButton Returns TRUE whether an embedded underline in the text indicates the mnemonic accelerator keys. gtk_menu_button_set_use_underline () gtk_menu_button_set_use_underline void gtk_menu_button_set_use_underline (GtkMenuButton *menu_button, gboolean use_underline); If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key. Parameters menu_button a GtkMenuButton use_underline TRUE if underlines in the text indicate mnemonics gtk_menu_button_popup () gtk_menu_button_popup void gtk_menu_button_popup (GtkMenuButton *menu_button); Pop up the menu. Parameters menu_button a GtkMenuButton gtk_menu_button_popdown () gtk_menu_button_popdown void gtk_menu_button_popdown (GtkMenuButton *menu_button); Dismiss the menu. Parameters menu_button a GtkMenuButton GtkMenuButtonCreatePopupFunc () GtkMenuButtonCreatePopupFunc void (*GtkMenuButtonCreatePopupFunc) (GtkMenuButton *menu_button, gpointer user_data); User-provided callback function to create a popup for menu_button on demand. This function is called when the popup of menu_button is shown, but none has been provided via gtk_menu_button_set_popover() or gtk_menu_button_set_menu_model(). Parameters menu_button the GtkMenuButton gtk_menu_button_set_create_popup_func () gtk_menu_button_set_create_popup_func void gtk_menu_button_set_create_popup_func (GtkMenuButton *menu_button, GtkMenuButtonCreatePopupFunc func, gpointer user_data, GDestroyNotify destroy_notify); Sets func to be called when a popup is about to be shown. func should use one of gtk_menu_button_set_popover() gtk_menu_button_set_menu_model() to set a popup for menu_button . If func is non-NULL, menu_button will always be sensitive. Using this function will not reset the menu widget attached to menu_button . Instead, this can be done manually in func . Parameters menu_button a GtkMenuButton func function to call when a popuop is about to be shown, but none has been provided via other means, or NULL to reset to default behavior. [nullable] user_data user data to pass to func . [closure] destroy_notify destroy notify for user_data . [nullable] Types and Values GtkMenuButton GtkMenuButton typedef struct _GtkMenuButton GtkMenuButton; enum GtkArrowType GtkArrowType Used to indicate the direction in which an arrow should point. Members GTK_ARROW_UP Represents an upward pointing arrow. GTK_ARROW_DOWN Represents a downward pointing arrow. GTK_ARROW_LEFT Represents a left pointing arrow. GTK_ARROW_RIGHT Represents a right pointing arrow. GTK_ARROW_NONE No arrow. Property Details The <literal>“direction”</literal> property GtkMenuButton:direction “direction” GtkArrowType The GtkArrowType representing the direction in which the menu or popover will be popped out. Owner: GtkMenuButton Flags: Read / Write Default value: GTK_ARROW_DOWN The <literal>“has-frame”</literal> property GtkMenuButton:has-frame “has-frame” gboolean Whether the button has a frame.Owner: GtkMenuButton Flags: Read / Write Default value: TRUE The <literal>“icon-name”</literal> property GtkMenuButton:icon-name “icon-name” gchar * The name of the icon used to automatically populate the button.Owner: GtkMenuButton Flags: Read / Write Default value: NULL The <literal>“label”</literal> property GtkMenuButton:label “label” gchar * The label for the button.Owner: GtkMenuButton Flags: Read / Write Default value: NULL The <literal>“menu-model”</literal> property GtkMenuButton:menu-model “menu-model” GMenuModel * The GMenuModel from which the popup will be created. See gtk_menu_button_set_menu_model() for the interaction with the “popup” property. Owner: GtkMenuButton Flags: Read / Write The <literal>“popover”</literal> property GtkMenuButton:popover “popover” GtkPopover * The GtkPopover that will be popped up when the button is clicked. Owner: GtkMenuButton Flags: Read / Write The <literal>“use-underline”</literal> property GtkMenuButton:use-underline “use-underline” gboolean If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.Owner: GtkMenuButton Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkcolumnview.xml0000664000175000017500000015174013710700311020602 0ustar mclasenmclasen ]> GtkColumnView 3 GTK4 Library GtkColumnView A widget for displaying lists in multiple columns Functions GtkWidget * gtk_column_view_new () void gtk_column_view_append_column () void gtk_column_view_insert_column () void gtk_column_view_remove_column () GListModel * gtk_column_view_get_columns () GListModel * gtk_column_view_get_model () void gtk_column_view_set_model () GtkSorter * gtk_column_view_get_sorter () gboolean gtk_column_view_get_show_row_separators () void gtk_column_view_set_show_row_separators () gboolean gtk_column_view_get_show_column_separators () void gtk_column_view_set_show_column_separators () void gtk_column_view_sort_by_column () void gtk_column_view_set_single_click_activate () gboolean gtk_column_view_get_single_click_activate () void gtk_column_view_set_reorderable () gboolean gtk_column_view_get_reorderable () void gtk_column_view_set_enable_rubberband () gboolean gtk_column_view_get_enable_rubberband () Properties GListModel *columnsRead gbooleanenable-rubberbandRead / Write GListModel *modelRead / Write gbooleanreorderableRead / Write gbooleanshow-column-separatorsRead / Write gbooleanshow-row-separatorsRead / Write gbooleansingle-click-activateRead / Write GtkSorter *sorterRead Signals voidactivateRun Last Types and Values GtkColumnView Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkColumnView Implemented Interfaces GtkColumnView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable. Includes#include <gtk/gtk.h> Description GtkColumnView is a widget to present a view into a large dynamic list of items using multiple columns with headers. GtkColumnView uses the factories of its columns to generate a cell widget for each column, for each visible item and displays them together as the row for this item. The “show-row-separators” and “show-column-separators” properties offer a simple way to display separators between the rows or columns. GtkColumnView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkColumnView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on *rubberband selection*, using “enable-rubberband”. The column view supports sorting that can be customized by the user by clicking on column headers. To set this up, the GtkSorter returned by gtk_column_view_get_sorter() must be attached to a sort model for the data that the view is showing, and the columns must have sorters attached to them by calling gtk_column_view_column_set_sorter(). The initial sort order can be set with gtk_column_view_sort_by_column(). The column view also supports interactive resizing and reordering of columns, via Drag-and-Drop of the column headers. This can be enabled or disabled with the “reorderable” and “resizable” properties. To learn more about the list widget framework, see the overview. CSS nodes ┊ ┊ │ ╰── │ ├── listview │ ┊ ╰── [rubberband] ]]> GtkColumnView uses a single CSS node named columnview. It may carry the .column-separators style class, when “show-column-separators” property is set. Header widets appear below a node with name header. The rows are contained in a GtkListView widget, so there is a listview node with the same structure as for a standalone GtkListView widget. If “show-row-separators” is set, it will be passed on to the list view, causing its CSS node to carry the .separators style class. For rubberband selection, a node with name rubberband is used. Functions gtk_column_view_new () gtk_column_view_new GtkWidget * gtk_column_view_new (GListModel *model); Creates a new GtkColumnView. You most likely want to call gtk_column_view_append_column() to add columns next. Parameters model the list model to use, or NULL. [allow-none][transfer full] Returns a new GtkColumnView gtk_column_view_append_column () gtk_column_view_append_column void gtk_column_view_append_column (GtkColumnView *self, GtkColumnViewColumn *column); Appends the column to the end of the columns in self . Parameters self a GtkColumnView column a GtkColumnViewColumn that hasn't been added to a GtkColumnView yet gtk_column_view_insert_column () gtk_column_view_insert_column void gtk_column_view_insert_column (GtkColumnView *self, guint position, GtkColumnViewColumn *column); Inserts a column at the given position in the columns of self . If column is already a column of self , it will be repositioned. Parameters self a GtkColumnView position the position to insert column at column the GtkColumnViewColumn to insert gtk_column_view_remove_column () gtk_column_view_remove_column void gtk_column_view_remove_column (GtkColumnView *self, GtkColumnViewColumn *column); Removes the column from the list of columns of self . Parameters self a GtkColumnView column a GtkColumnViewColumn that's part of self gtk_column_view_get_columns () gtk_column_view_get_columns GListModel * gtk_column_view_get_columns (GtkColumnView *self); Gets the list of columns in this column view. This list is constant over the lifetime of self and can be used to monitor changes to the columns of self by connecting to the “items-changed” signal. Parameters self a GtkColumnView Returns The list managing the columns. [transfer none] gtk_column_view_get_model () gtk_column_view_get_model GListModel * gtk_column_view_get_model (GtkColumnView *self); Gets the model that's currently used to read the items displayed. Parameters self a GtkColumnView Returns The model in use. [nullable][transfer none] gtk_column_view_set_model () gtk_column_view_set_model void gtk_column_view_set_model (GtkColumnView *self, GListModel *model); Sets the GListModel to use. If the model is a GtkSelectionModel, it is used for managing the selection. Otherwise, self creates a GtkSingleSelection for the selection. Parameters self a GtkColumnView model the model to use or NULL for none. [allow-none][transfer none] gtk_column_view_get_sorter () gtk_column_view_get_sorter GtkSorter * gtk_column_view_get_sorter (GtkColumnView *self); Returns a special sorter that reflects the users sorting choices in the column view. To allow users to customizable sorting by clicking on column headers, this sorter needs to be set on the sort model underneath the model that is displayed by the view. See gtk_column_view_column_set_sorter() for setting up per-column sorting. Here is an example: Parameters self a GtkColumnView Returns the GtkSorter of self . [transfer none] gtk_column_view_get_show_row_separators () gtk_column_view_get_show_row_separators gboolean gtk_column_view_get_show_row_separators (GtkColumnView *self); Returns whether the list should show separators between rows. Parameters self a GtkColumnView Returns TRUE if the list shows separators gtk_column_view_set_show_row_separators () gtk_column_view_set_show_row_separators void gtk_column_view_set_show_row_separators (GtkColumnView *self, gboolean show_row_separators); Sets whether the list should show separators between rows. Parameters self a GtkColumnView show_row_separators TRUE to show row separators gtk_column_view_get_show_column_separators () gtk_column_view_get_show_column_separators gboolean gtk_column_view_get_show_column_separators (GtkColumnView *self); Returns whether the list should show separators between columns. Parameters self a GtkColumnView Returns TRUE if the list shows column separators gtk_column_view_set_show_column_separators () gtk_column_view_set_show_column_separators void gtk_column_view_set_show_column_separators (GtkColumnView *self, gboolean show_column_separators); Sets whether the list should show separators between columns. Parameters self a GtkColumnView show_column_separators TRUE to show column separators gtk_column_view_sort_by_column () gtk_column_view_sort_by_column void gtk_column_view_sort_by_column (GtkColumnView *self, GtkColumnViewColumn *column, GtkSortType direction); Sets the sorting of the view. This function should be used to set up the initial sorting. At runtime, users can change the sorting of a column view by clicking on the list headers. This call only has an effect if the sorter returned by gtk_column_view_get_sorter() is set on a sort model, and gtk_column_view_column_set_sorter() has been called on column to associate a sorter with the column. If column is NULL, the view will be unsorted. Parameters self a GtkColumnView column the GtkColumnViewColumn to sort by, or NULL. [allow-none] direction the direction to sort in gtk_column_view_set_single_click_activate () gtk_column_view_set_single_click_activate void gtk_column_view_set_single_click_activate (GtkColumnView *self, gboolean single_click_activate); Sets whether rows should be activated on single click and selected on hover. Parameters self a GtkColumnView single_click_activate TRUE to activate items on single click gtk_column_view_get_single_click_activate () gtk_column_view_get_single_click_activate gboolean gtk_column_view_get_single_click_activate (GtkColumnView *self); Returns whether rows will be activated on single click and selected on hover. Parameters self a GtkColumnView Returns TRUE if rows are activated on single click gtk_column_view_set_reorderable () gtk_column_view_set_reorderable void gtk_column_view_set_reorderable (GtkColumnView *self, gboolean reorderable); Sets whether columns should be reorderable by dragging. Parameters self a GtkColumnView reorderable whether columns should be reorderable gtk_column_view_get_reorderable () gtk_column_view_get_reorderable gboolean gtk_column_view_get_reorderable (GtkColumnView *self); Returns whether columns are reorderable. Parameters self a GtkColumnView Returns TRUE if columns are reorderable gtk_column_view_set_enable_rubberband () gtk_column_view_set_enable_rubberband void gtk_column_view_set_enable_rubberband (GtkColumnView *self, gboolean enable_rubberband); Sets whether selections can be changed by dragging with the mouse. Parameters self a GtkColumnView enable_rubberband TRUE to enable rubberband selection gtk_column_view_get_enable_rubberband () gtk_column_view_get_enable_rubberband gboolean gtk_column_view_get_enable_rubberband (GtkColumnView *self); Returns whether rows can be selected by dragging with the mouse. Parameters self a GtkColumnView Returns TRUE if rubberband selection is enabled Types and Values GtkColumnView GtkColumnView typedef struct _GtkColumnView GtkColumnView; GtkColumnView is the simple list implementation for GTK's list widgets. Property Details The <literal>“columns”</literal> property GtkColumnView:columns “columns” GListModel * The list of columns Owner: GtkColumnView Flags: Read The <literal>“enable-rubberband”</literal> property GtkColumnView:enable-rubberband “enable-rubberband” gboolean Allow rubberband selection Owner: GtkColumnView Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkColumnView:model “model” GListModel * Model for the items displayed Owner: GtkColumnView Flags: Read / Write The <literal>“reorderable”</literal> property GtkColumnView:reorderable “reorderable” gboolean Whether columns are reorderable Owner: GtkColumnView Flags: Read / Write Default value: TRUE The <literal>“show-column-separators”</literal> property GtkColumnView:show-column-separators “show-column-separators” gboolean Show separators between columns Owner: GtkColumnView Flags: Read / Write Default value: FALSE The <literal>“show-row-separators”</literal> property GtkColumnView:show-row-separators “show-row-separators” gboolean Show separators between rows Owner: GtkColumnView Flags: Read / Write Default value: FALSE The <literal>“single-click-activate”</literal> property GtkColumnView:single-click-activate “single-click-activate” gboolean Activate rows on single click and select them on hover Owner: GtkColumnView Flags: Read / Write Default value: FALSE The <literal>“sorter”</literal> property GtkColumnView:sorter “sorter” GtkSorter * Sorter with the sorting choices of the user Owner: GtkColumnView Flags: Read Signal Details The <literal>“activate”</literal> signal GtkColumnView::activate void user_function (GtkColumnView *self, guint position, gpointer user_data) The ::activate signal is emitted when a row has been activated by the user, usually via activating the GtkListBase|list.activate-item action. This allows for a convenient way to handle activation in a columnview. See gtk_list_item_set_activatable() for details on how to use this signal. Parameters self The GtkColumnView position position of item to activate user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkColumnViewColumn, GtkTreeView docs/reference/gtk/xml/gtkmessagedialog.xml0000664000175000017500000011002213710700311021202 0ustar mclasenmclasen ]> GtkMessageDialog 3 GTK4 Library GtkMessageDialog A convenient message window Functions GtkWidget * gtk_message_dialog_new () GtkWidget * gtk_message_dialog_new_with_markup () void gtk_message_dialog_set_markup () void gtk_message_dialog_format_secondary_text () void gtk_message_dialog_format_secondary_markup () GtkWidget * gtk_message_dialog_get_message_area () Properties GtkButtonsTypebuttonsWrite / Construct Only GtkWidget *message-areaRead GtkMessageTypemessage-typeRead / Write / Construct gchar *secondary-textRead / Write gbooleansecondary-use-markupRead / Write gchar *textRead / Write gbooleanuse-markupRead / Write Types and Values structGtkMessageDialog enumGtkMessageType enumGtkButtonsType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkMessageDialog Implemented Interfaces GtkMessageDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description GtkMessageDialog presents a dialog with some message text. It’s simply a convenience widget; you could construct the equivalent of GtkMessageDialog from GtkDialog without too much effort, but GtkMessageDialog saves typing. The easiest way to do a modal message dialog is to use the GTK_DIALOG_MODAL flag, which will call gtk_window_set_modal() internally. The dialog will prevent interaction with the parent window until it's hidden or destroyed. You can use the “response” signal to know when the user dismissed the dialog. An example for using a modal dialog: You might do a non-modal GtkMessageDialog simply by omitting the GTK_DIALOG_MODAL flag: GtkMessageDialog as GtkBuildableThe GtkMessageDialog implementation of the GtkBuildable interface exposes the message area as an internal child with the name “message_area”. Functions gtk_message_dialog_new () gtk_message_dialog_new GtkWidget * gtk_message_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char *message_format, ...); Creates a new message dialog, which is a simple dialog with some text the user may want to see. When the user clicks a button a “response” signal is emitted with response IDs from GtkResponseType. See GtkDialog for more details. Parameters parent transient parent, or NULL for none. [allow-none] flags flags type type of message buttons set of buttons to use message_format printf()-style format string, or NULL. [allow-none] ... arguments for message_format Returns a new GtkMessageDialog. [transfer none] gtk_message_dialog_new_with_markup () gtk_message_dialog_new_with_markup GtkWidget * gtk_message_dialog_new_with_markup (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char *message_format, ...); Creates a new message dialog, which is a simple dialog with some text that is marked up with the Pango text markup language. When the user clicks a button a “response” signal is emitted with response IDs from GtkResponseType. See GtkDialog for more details. Special XML characters in the printf() arguments passed to this function will automatically be escaped as necessary. (See g_markup_printf_escaped() for how this is implemented.) Usually this is what you want, but if you have an existing Pango markup string that you want to use literally as the label, then you need to use gtk_message_dialog_set_markup() instead, since you can’t pass the markup string either as the format (it might contain “%” characters) or as a string argument. Parameters parent transient parent, or NULL for none. [allow-none] flags flags type type of message buttons set of buttons to use message_format printf()-style format string, or NULL. [allow-none] ... arguments for message_format Returns a new GtkMessageDialog gtk_message_dialog_set_markup () gtk_message_dialog_set_markup void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog, const char *str); Sets the text of the message dialog to be str , which is marked up with the Pango text markup language. Parameters message_dialog a GtkMessageDialog str markup string (see Pango markup format) gtk_message_dialog_format_secondary_text () gtk_message_dialog_format_secondary_text void gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog, const char *message_format, ...); Sets the secondary text of the message dialog to be message_format (with printf()-style). Parameters message_dialog a GtkMessageDialog message_format printf()-style format string, or NULL. [allow-none] ... arguments for message_format gtk_message_dialog_format_secondary_markup () gtk_message_dialog_format_secondary_markup void gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog, const char *message_format, ...); Sets the secondary text of the message dialog to be message_format (with printf()-style), which is marked up with the Pango text markup language. Due to an oversight, this function does not escape special XML characters like gtk_message_dialog_new_with_markup() does. Thus, if the arguments may contain special XML characters, you should use g_markup_printf_escaped() to escape it. Parameters message_dialog a GtkMessageDialog message_format printf()-style markup string (see Pango markup format), or NULL ... arguments for message_format gtk_message_dialog_get_message_area () gtk_message_dialog_get_message_area GtkWidget * gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog); Returns the message area of the dialog. This is the box where the dialog’s primary and secondary labels are packed. You can add your own extra content to that box and it will appear below those labels. See gtk_dialog_get_content_area() for the corresponding function in the parent GtkDialog. Parameters message_dialog a GtkMessageDialog Returns A GtkBox corresponding to the “message area” in the message_dialog . [transfer none] Types and Values struct GtkMessageDialog GtkMessageDialog struct GtkMessageDialog; enum GtkMessageType GtkMessageType The type of message being displayed in the dialog. Members GTK_MESSAGE_INFO Informational message GTK_MESSAGE_WARNING Non-fatal warning message GTK_MESSAGE_QUESTION Question requiring a choice GTK_MESSAGE_ERROR Fatal error message GTK_MESSAGE_OTHER None of the above enum GtkButtonsType GtkButtonsType Prebuilt sets of buttons for the dialog. If none of these choices are appropriate, simply use GTK_BUTTONS_NONE then call gtk_dialog_add_buttons().
Please note that GTK_BUTTONS_OK, GTK_BUTTONS_YES_NO and GTK_BUTTONS_OK_CANCEL are discouraged by the GNOME Human Interface Guidelines.
Members GTK_BUTTONS_NONE no buttons at all GTK_BUTTONS_OK an OK button GTK_BUTTONS_CLOSE a Close button GTK_BUTTONS_CANCEL a Cancel button GTK_BUTTONS_YES_NO Yes and No buttons GTK_BUTTONS_OK_CANCEL OK and Cancel buttons
Property Details The <literal>“buttons”</literal> property GtkMessageDialog:buttons “buttons” GtkButtonsType The buttons shown in the message dialog.Owner: GtkMessageDialog Flags: Write / Construct Only Default value: GTK_BUTTONS_NONE The <literal>“message-area”</literal> property GtkMessageDialog:message-area “message-area” GtkWidget * The GtkBox that corresponds to the message area of this dialog. See gtk_message_dialog_get_message_area() for a detailed description of this area. Owner: GtkMessageDialog Flags: Read The <literal>“message-type”</literal> property GtkMessageDialog:message-type “message-type” GtkMessageType The type of the message. Owner: GtkMessageDialog Flags: Read / Write / Construct Default value: GTK_MESSAGE_INFO The <literal>“secondary-text”</literal> property GtkMessageDialog:secondary-text “secondary-text” gchar * The secondary text of the message dialog. Owner: GtkMessageDialog Flags: Read / Write Default value: NULL The <literal>“secondary-use-markup”</literal> property GtkMessageDialog:secondary-use-markup “secondary-use-markup” gboolean TRUE if the secondary text of the dialog includes Pango markup. See pango_parse_markup(). Owner: GtkMessageDialog Flags: Read / Write Default value: FALSE The <literal>“text”</literal> property GtkMessageDialog:text “text” gchar * The primary text of the message dialog. If the dialog has a secondary text, this will appear as the title. Owner: GtkMessageDialog Flags: Read / Write Default value: "" The <literal>“use-markup”</literal> property GtkMessageDialog:use-markup “use-markup” gboolean TRUE if the primary text of the dialog includes Pango markup. See pango_parse_markup(). Owner: GtkMessageDialog Flags: Read / Write Default value: FALSE See Also GtkDialog
docs/reference/gtk/xml/gtkcolumnviewcolumn.xml0000664000175000017500000013537613710700311022027 0ustar mclasenmclasen ]> GtkColumnViewColumn 3 GTK4 Library GtkColumnViewColumn The column added to GtkColumnView Functions GtkColumnViewColumn * gtk_column_view_column_new () GtkColumnViewColumn * gtk_column_view_column_new_with_factory () GtkColumnView * gtk_column_view_column_get_column_view () void gtk_column_view_column_set_factory () GtkListItemFactory * gtk_column_view_column_get_factory () void gtk_column_view_column_set_title () const char * gtk_column_view_column_get_title () void gtk_column_view_column_set_sorter () GtkSorter * gtk_column_view_column_get_sorter () void gtk_column_view_column_set_visible () gboolean gtk_column_view_column_get_visible () void gtk_column_view_column_set_resizable () gboolean gtk_column_view_column_get_resizable () void gtk_column_view_column_set_header_menu () GMenuModel * gtk_column_view_column_get_header_menu () void gtk_column_view_column_set_fixed_width () int gtk_column_view_column_get_fixed_width () void gtk_column_view_column_set_expand () gboolean gtk_column_view_column_get_expand () Properties GtkColumnView *column-viewRead gbooleanexpandRead / Write GtkListItemFactory *factoryRead / Write gintfixed-widthRead / Write GMenuModel *header-menuRead / Write gbooleanresizableRead / Write GtkSorter *sorterRead / Write gchar *titleRead / Write gbooleanvisibleRead / Write Types and Values GtkColumnViewColumn Object Hierarchy GObject ╰── GtkColumnViewColumn Includes#include <gtk/gtk.h> Description GtkColumnViewColumn represents the columns being added to GtkColumnView. Functions gtk_column_view_column_new () gtk_column_view_column_new GtkColumnViewColumn * gtk_column_view_column_new (const char *title); Creates a new GtkColumnViewColumn. You most likely want to call gtk_column_add_column() next. Parameters title Title to use for this column. [nullable] Returns a new GtkColumnViewColumn gtk_column_view_column_new_with_factory () gtk_column_view_column_new_with_factory GtkColumnViewColumn * gtk_column_view_column_new_with_factory (const char *title, GtkListItemFactory *factory); Creates a new GtkColumnViewColumn that uses the given factory for mapping items to widgets. You most likely want to call gtk_column_add_column() next. The function takes ownership of the argument, so you can write code like column = gtk_column_view_column_new_with_factory (_("Name"), gtk_builder_list_item_factory_new_from_resource ("/name.ui")); Parameters title Title to use for this column. [nullable] factory The factory to populate items with. [transfer full] Returns a new GtkColumnViewColumn using the given factory gtk_column_view_column_get_column_view () gtk_column_view_column_get_column_view GtkColumnView * gtk_column_view_column_get_column_view (GtkColumnViewColumn *self); Gets the column view that's currently displaying this column. If self has not been added to a column view yet, NULL is returned. Parameters self a GtkColumnViewColumn Returns The column view displaying self . [nullable][transfer none] gtk_column_view_column_set_factory () gtk_column_view_column_set_factory void gtk_column_view_column_set_factory (GtkColumnViewColumn *self, GtkListItemFactory *factory); Sets the GtkListItemFactory to use for populating list items for this column. Parameters self a GtkColumnViewColumn factory the factory to use or NULL for none. [allow-none][transfer none] gtk_column_view_column_get_factory () gtk_column_view_column_get_factory GtkListItemFactory * gtk_column_view_column_get_factory (GtkColumnViewColumn *self); Gets the factory that's currently used to populate list items for this column. Parameters self a GtkColumnViewColumn Returns The factory in use. [nullable][transfer none] gtk_column_view_column_set_title () gtk_column_view_column_set_title void gtk_column_view_column_set_title (GtkColumnViewColumn *self, const char *title); Sets the title of this column. The title is displayed in the header of a GtkColumnView for this column and is therefor user-facing text that should be translated. Parameters self a GtkColumnViewColumn title Title to use for this column. [nullable] gtk_column_view_column_get_title () gtk_column_view_column_get_title const char * gtk_column_view_column_get_title (GtkColumnViewColumn *self); Returns the title set with gtk_column_view_column_set_title(). Parameters self a GtkColumnViewColumn Returns The column's title. [nullable] gtk_column_view_column_set_sorter () gtk_column_view_column_set_sorter void gtk_column_view_column_set_sorter (GtkColumnViewColumn *self, GtkSorter *sorter); Associates a sorter with the column. This sorter can be made active by clicking on the column header, or by calling gtk_column_view_sort_by_column(). Parameters self a GtkColumnViewColumn sorter the GtkSorter to associate with column . [nullable] gtk_column_view_column_get_sorter () gtk_column_view_column_get_sorter GtkSorter * gtk_column_view_column_get_sorter (GtkColumnViewColumn *self); Returns the sorter that is associated with the column. Parameters self a GtkColumnViewColumn Returns the GtkSorter of self . [transfer none] gtk_column_view_column_set_visible () gtk_column_view_column_set_visible void gtk_column_view_column_set_visible (GtkColumnViewColumn *self, gboolean visible); Sets whether this column should be visible in views. Parameters self a GtkColumnViewColumn visible whether this column should be visible gtk_column_view_column_get_visible () gtk_column_view_column_get_visible gboolean gtk_column_view_column_get_visible (GtkColumnViewColumn *self); Returns whether this column is visible. Parameters self a GtkColumnViewColumn Returns TRUE if this column is visible gtk_column_view_column_set_resizable () gtk_column_view_column_set_resizable void gtk_column_view_column_set_resizable (GtkColumnViewColumn *self, gboolean resizable); Sets whether this column should be resizable by dragging. Parameters self a GtkColumnViewColumn resizable whether this column should be resizable gtk_column_view_column_get_resizable () gtk_column_view_column_get_resizable gboolean gtk_column_view_column_get_resizable (GtkColumnViewColumn *self); Returns whether this column is resizable. Parameters self a GtkColumnView Returns TRUE if this column is resizable gtk_column_view_column_set_header_menu () gtk_column_view_column_set_header_menu void gtk_column_view_column_set_header_menu (GtkColumnViewColumn *self, GMenuModel *menu); Sets the menu model that is used to create the context menu for the column header. Parameters self a GtkColumnViewColumn menu a GMenuModel, or NULL. [allow-none] gtk_column_view_column_get_header_menu () gtk_column_view_column_get_header_menu GMenuModel * gtk_column_view_column_get_header_menu (GtkColumnViewColumn *self); Gets the menu model that is used to create the context menu for the column header. Parameters self a GtkColumnViewColumn Returns the GMenuModel, or NULL. [transfer none][nullable] gtk_column_view_column_set_fixed_width () gtk_column_view_column_set_fixed_width void gtk_column_view_column_set_fixed_width (GtkColumnViewColumn *self, int fixed_width); If fixed_width is not -1, sets the fixed width of column ; otherwise unsets it. Setting a fixed width overrides the automatically calculated width. Interactive resizing also sets the “fixed-width” property. Parameters self a GtkColumnViewColumn fixed_width the new fixed width, or -1 gtk_column_view_column_get_fixed_width () gtk_column_view_column_get_fixed_width int gtk_column_view_column_get_fixed_width (GtkColumnViewColumn *self); Gets the fixed width of the column. Parameters self a GtkColumnViewColumn Returns the fixed with of the column gtk_column_view_column_set_expand () gtk_column_view_column_set_expand void gtk_column_view_column_set_expand (GtkColumnViewColumn *self, gboolean expand); Sets the column to take available extra space. The extra space is shared equally amongst all columns that have the expand set to TRUE. Parameters self a GtkColumnViewColumn expand TRUE if this column should expand to fill available sace gtk_column_view_column_get_expand () gtk_column_view_column_get_expand gboolean gtk_column_view_column_get_expand (GtkColumnViewColumn *self); Returns whether this column should expand. Parameters self a GtkColumnViewColumn Returns TRUE if this column expands Types and Values GtkColumnViewColumn GtkColumnViewColumn typedef struct _GtkColumnViewColumn GtkColumnViewColumn; GtkColumnViewColumns are added to GtkColumnViews. Property Details The <literal>“column-view”</literal> property GtkColumnViewColumn:column-view “column-view” GtkColumnView * GtkColumnView this column is a part of Owner: GtkColumnViewColumn Flags: Read The <literal>“expand”</literal> property GtkColumnViewColumn:expand “expand” gboolean Column gets share of extra width allocated to the view Owner: GtkColumnViewColumn Flags: Read / Write Default value: FALSE The <literal>“factory”</literal> property GtkColumnViewColumn:factory “factory” GtkListItemFactory * Factory for populating list items Owner: GtkColumnViewColumn Flags: Read / Write The <literal>“fixed-width”</literal> property GtkColumnViewColumn:fixed-width “fixed-width” gint If not -1, this is the width that the column is allocated, regardless of the size of its content. Owner: GtkColumnViewColumn Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“header-menu”</literal> property GtkColumnViewColumn:header-menu “header-menu” GMenuModel * Menu model used to create the context menu for the column header. Owner: GtkColumnViewColumn Flags: Read / Write The <literal>“resizable”</literal> property GtkColumnViewColumn:resizable “resizable” gboolean Whether this column is resizable Owner: GtkColumnViewColumn Flags: Read / Write Default value: FALSE The <literal>“sorter”</literal> property GtkColumnViewColumn:sorter “sorter” GtkSorter * Sorter for sorting items according to this column Owner: GtkColumnViewColumn Flags: Read / Write The <literal>“title”</literal> property GtkColumnViewColumn:title “title” gchar * Title displayed in the header Owner: GtkColumnViewColumn Flags: Read / Write Default value: NULL The <literal>“visible”</literal> property GtkColumnViewColumn:visible “visible” gboolean Whether this column is visible Owner: GtkColumnViewColumn Flags: Read / Write Default value: TRUE See Also GtkColumnView docs/reference/gtk/xml/gtklevelbar.xml0000664000175000017500000013342113710700312020203 0ustar mclasenmclasen ]> GtkLevelBar 3 GTK4 Library GtkLevelBar A bar that can used as a level indicator Functions GtkWidget * gtk_level_bar_new () GtkWidget * gtk_level_bar_new_for_interval () void gtk_level_bar_set_mode () GtkLevelBarMode gtk_level_bar_get_mode () void gtk_level_bar_set_value () double gtk_level_bar_get_value () void gtk_level_bar_set_min_value () double gtk_level_bar_get_min_value () void gtk_level_bar_set_max_value () double gtk_level_bar_get_max_value () void gtk_level_bar_set_inverted () gboolean gtk_level_bar_get_inverted () void gtk_level_bar_add_offset_value () void gtk_level_bar_remove_offset_value () gboolean gtk_level_bar_get_offset_value () Properties gbooleaninvertedRead / Write gdoublemax-valueRead / Write gdoublemin-valueRead / Write GtkLevelBarModemodeRead / Write gdoublevalueRead / Write Signals voidoffset-changedHas Details Types and Values #defineGTK_LEVEL_BAR_OFFSET_LOW #defineGTK_LEVEL_BAR_OFFSET_HIGH #defineGTK_LEVEL_BAR_OFFSET_FULL enumGtkLevelBarMode GtkLevelBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkLevelBar Implemented Interfaces GtkLevelBar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description The GtkLevelBar is a bar widget that can be used as a level indicator. Typical use cases are displaying the strength of a password, or showing the charge level of a battery. Use gtk_level_bar_set_value() to set the current value, and gtk_level_bar_add_offset_value() to set the value offsets at which the bar will be considered in a different state. GTK will add a few offsets by default on the level bar: GTK_LEVEL_BAR_OFFSET_LOW, GTK_LEVEL_BAR_OFFSET_HIGH and GTK_LEVEL_BAR_OFFSET_FULL, with values 0.25, 0.75 and 1.0 respectively. Note that it is your responsibility to update preexisting offsets when changing the minimum or maximum value. GTK+ will simply clamp them to the new range. Adding a custom offset on the bar The default interval of values is between zero and one, but it’s possible to modify the interval using gtk_level_bar_set_min_value() and gtk_level_bar_set_max_value(). The value will be always drawn in proportion to the admissible interval, i.e. a value of 15 with a specified interval between 10 and 20 is equivalent to a value of 0.5 with an interval between 0 and 1. When GTK_LEVEL_BAR_MODE_DISCRETE is used, the bar level is rendered as a finite number of separated blocks instead of a single one. The number of blocks that will be rendered is equal to the number of units specified by the admissible interval. For instance, to build a bar rendered with five blocks, it’s sufficient to set the minimum value to 0 and the maximum value to 5 after changing the indicator mode to discrete. GtkLevelBar was introduced in GTK+ 3.6. GtkLevelBar as GtkBuildableThe GtkLevelBar implementation of the GtkBuildable interface supports a custom <offsets> element, which can contain any number of <offset> elements, each of which must have name and value attributes. CSS nodes GtkLevelBar has a main CSS node with name levelbar and one of the style classes .discrete or .continuous and a subnode with name trough. Below the trough node are a number of nodes with name block and style class .filled or .empty. In continuous mode, there is exactly one node of each, in discrete mode, the number of filled and unfilled nodes corresponds to blocks that are drawn. The block.filled nodes also get a style class .level-name corresponding to the level for the current value. In horizontal orientation, the nodes are always arranged from left to right, regardless of text direction. AccessibilityGtkLevelBar uses the GTK_ACCESSIBLE_ROLE_METER role. Functions gtk_level_bar_new () gtk_level_bar_new GtkWidget * gtk_level_bar_new (void); Creates a new GtkLevelBar. Returns a GtkLevelBar. gtk_level_bar_new_for_interval () gtk_level_bar_new_for_interval GtkWidget * gtk_level_bar_new_for_interval (double min_value, double max_value); Utility constructor that creates a new GtkLevelBar for the specified interval. Parameters min_value a positive value max_value a positive value Returns a GtkLevelBar gtk_level_bar_set_mode () gtk_level_bar_set_mode void gtk_level_bar_set_mode (GtkLevelBar *self, GtkLevelBarMode mode); Sets the value of the “mode” property. Parameters self a GtkLevelBar mode a GtkLevelBarMode gtk_level_bar_get_mode () gtk_level_bar_get_mode GtkLevelBarMode gtk_level_bar_get_mode (GtkLevelBar *self); Returns the value of the “mode” property. Parameters self a GtkLevelBar Returns a GtkLevelBarMode gtk_level_bar_set_value () gtk_level_bar_set_value void gtk_level_bar_set_value (GtkLevelBar *self, double value); Sets the value of the “value” property. Parameters self a GtkLevelBar value a value in the interval between “min-value” and “max-value” gtk_level_bar_get_value () gtk_level_bar_get_value double gtk_level_bar_get_value (GtkLevelBar *self); Returns the value of the “value” property. Parameters self a GtkLevelBar Returns a value in the interval between “min-value” and “max-value” gtk_level_bar_set_min_value () gtk_level_bar_set_min_value void gtk_level_bar_set_min_value (GtkLevelBar *self, double value); Sets the value of the “min-value” property. You probably want to update preexisting level offsets after calling this function. Parameters self a GtkLevelBar value a positive value gtk_level_bar_get_min_value () gtk_level_bar_get_min_value double gtk_level_bar_get_min_value (GtkLevelBar *self); Returns the value of the “min-value” property. Parameters self a GtkLevelBar Returns a positive value gtk_level_bar_set_max_value () gtk_level_bar_set_max_value void gtk_level_bar_set_max_value (GtkLevelBar *self, double value); Sets the value of the “max-value” property. You probably want to update preexisting level offsets after calling this function. Parameters self a GtkLevelBar value a positive value gtk_level_bar_get_max_value () gtk_level_bar_get_max_value double gtk_level_bar_get_max_value (GtkLevelBar *self); Returns the value of the “max-value” property. Parameters self a GtkLevelBar Returns a positive value gtk_level_bar_set_inverted () gtk_level_bar_set_inverted void gtk_level_bar_set_inverted (GtkLevelBar *self, gboolean inverted); Sets the value of the “inverted” property. Parameters self a GtkLevelBar inverted TRUE to invert the level bar gtk_level_bar_get_inverted () gtk_level_bar_get_inverted gboolean gtk_level_bar_get_inverted (GtkLevelBar *self); Return the value of the “inverted” property. Parameters self a GtkLevelBar Returns TRUE if the level bar is inverted gtk_level_bar_add_offset_value () gtk_level_bar_add_offset_value void gtk_level_bar_add_offset_value (GtkLevelBar *self, const char *name, double value); Adds a new offset marker on self at the position specified by value . When the bar value is in the interval topped by value (or between value and “max-value” in case the offset is the last one on the bar) a style class named level-name will be applied when rendering the level bar fill. If another offset marker named name exists, its value will be replaced by value . Parameters self a GtkLevelBar name the name of the new offset value the value for the new offset gtk_level_bar_remove_offset_value () gtk_level_bar_remove_offset_value void gtk_level_bar_remove_offset_value (GtkLevelBar *self, const char *name); Removes an offset marker previously added with gtk_level_bar_add_offset_value(). Parameters self a GtkLevelBar name the name of an offset in the bar. [allow-none] gtk_level_bar_get_offset_value () gtk_level_bar_get_offset_value gboolean gtk_level_bar_get_offset_value (GtkLevelBar *self, const char *name, double *value); Fetches the value specified for the offset marker name in self , returning TRUE in case an offset named name was found. Parameters self a GtkLevelBar name the name of an offset in the bar. [allow-none] value location where to store the value. [out] Returns TRUE if the specified offset is found Types and Values GTK_LEVEL_BAR_OFFSET_LOW GTK_LEVEL_BAR_OFFSET_LOW #define GTK_LEVEL_BAR_OFFSET_LOW "low" The name used for the stock low offset included by GtkLevelBar. GTK_LEVEL_BAR_OFFSET_HIGH GTK_LEVEL_BAR_OFFSET_HIGH #define GTK_LEVEL_BAR_OFFSET_HIGH "high" The name used for the stock high offset included by GtkLevelBar. GTK_LEVEL_BAR_OFFSET_FULL GTK_LEVEL_BAR_OFFSET_FULL #define GTK_LEVEL_BAR_OFFSET_FULL "full" The name used for the stock full offset included by GtkLevelBar. enum GtkLevelBarMode GtkLevelBarMode Describes how GtkLevelBar contents should be rendered. Note that this enumeration could be extended with additional modes in the future. Members GTK_LEVEL_BAR_MODE_CONTINUOUS the bar has a continuous mode GTK_LEVEL_BAR_MODE_DISCRETE the bar has a discrete mode GtkLevelBar GtkLevelBar typedef struct _GtkLevelBar GtkLevelBar; Property Details The <literal>“inverted”</literal> property GtkLevelBar:inverted “inverted” gboolean Level bars normally grow from top to bottom or left to right. Inverted level bars grow in the opposite direction. Owner: GtkLevelBar Flags: Read / Write Default value: FALSE The <literal>“max-value”</literal> property GtkLevelBar:max-value “max-value” gdouble The “max-value” property determaxes the maximum value of the interval that can be displayed by the bar. Owner: GtkLevelBar Flags: Read / Write Allowed values: >= 0 Default value: 1 The <literal>“min-value”</literal> property GtkLevelBar:min-value “min-value” gdouble The “min-value” property determines the minimum value of the interval that can be displayed by the bar. Owner: GtkLevelBar Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“mode”</literal> property GtkLevelBar:mode “mode” GtkLevelBarMode The “mode” property determines the way GtkLevelBar interprets the value properties to draw the level fill area. Specifically, when the value is GTK_LEVEL_BAR_MODE_CONTINUOUS, GtkLevelBar will draw a single block representing the current value in that area; when the value is GTK_LEVEL_BAR_MODE_DISCRETE, the widget will draw a succession of separate blocks filling the draw area, with the number of blocks being equal to the units separating the integral roundings of “min-value” and “max-value”. Owner: GtkLevelBar Flags: Read / Write Default value: GTK_LEVEL_BAR_MODE_CONTINUOUS The <literal>“value”</literal> property GtkLevelBar:value “value” gdouble The “value” property determines the currently filled value of the level bar. Owner: GtkLevelBar Flags: Read / Write Allowed values: >= 0 Default value: 0 Signal Details The <literal>“offset-changed”</literal> signal GtkLevelBar::offset-changed void user_function (GtkLevelBar *self, gchar *name, gpointer user_data) Emitted when an offset specified on the bar changes value as an effect to gtk_level_bar_add_offset_value() being called. The signal supports detailed connections; you can connect to the detailed signal "changed::x" in order to only receive callbacks when the value of offset "x" changes. Parameters self a GtkLevelBar name the name of the offset that changed value user_data user data set when the signal handler was connected. Flags: Has Details docs/reference/gtk/xml/gtkgridview.xml0000664000175000017500000012001413710700311020220 0ustar mclasenmclasen ]> GtkGridView 3 GTK4 Library GtkGridView A widget for displaying grids Functions GtkWidget * gtk_grid_view_new () GtkWidget * gtk_grid_view_new_with_factory () void gtk_grid_view_set_model () GListModel * gtk_grid_view_get_model () void gtk_grid_view_set_max_columns () guint gtk_grid_view_get_max_columns () void gtk_grid_view_set_min_columns () guint gtk_grid_view_get_min_columns () void gtk_grid_view_set_single_click_activate () gboolean gtk_grid_view_get_single_click_activate () void gtk_grid_view_set_enable_rubberband () gboolean gtk_grid_view_get_enable_rubberband () void gtk_grid_view_set_factory () GtkListItemFactory * gtk_grid_view_get_factory () Properties gbooleanenable-rubberbandRead / Write GtkListItemFactory *factoryRead / Write guintmax-columnsRead / Write guintmin-columnsRead / Write GListModel *modelRead / Write gbooleansingle-click-activateRead / Write Signals voidactivateRun Last Actions list.activate-itemu Types and Values GtkGridView Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkListBase ╰── GtkGridView Implemented Interfaces GtkGridView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkOrientable and GtkScrollable. Includes#include <gtk/gtk.h> Description GtkGridView is a widget to present a view into a large dynamic grid of items. GtkGridView uses its factory to generate one child widget for each visible item and shows them in a grid. The orientation of the grid view determines if the grid reflows vertically or horizontally. GtkGridView allows the user to select items according to the selection characteristics of the model. If the provided model is not a GtkSelectionModel, GtkGridView will wrap it in a GtkSingleSelection. For models that allow multiple selected items, it is possible to turn on _rubberband selection_, using “enable-rubberband”. To learn more about the list widget framework, see the overview. CSS nodes GtkGridView uses a single CSS node with name gridview. Each child uses a single CSS node with name child. For rubberband selection, a subnode with name rubberband is used. Functions gtk_grid_view_new () gtk_grid_view_new GtkWidget * gtk_grid_view_new (GListModel *model); Creates a new GtkGridView. You most likely want to call gtk_grid_view_set_factory() to set up a way to map its items to widgets next. Parameters model the model to use, or NULL. [allow-none][transfer full] Returns a new GtkGridView gtk_grid_view_new_with_factory () gtk_grid_view_new_with_factory GtkWidget * gtk_grid_view_new_with_factory (GListModel *model, GtkListItemFactory *factory); Creates a new GtkGridView that uses the given factory for mapping items to widgets. The function takes ownership of the argument, so you can write code like grid_view = gtk_grid_view_new_with_factory (create_model(), gtk_builder_list_item_factory_new_from_resource ("/resource.ui")); Parameters model the model to use, or NULL. [allow-none][transfer full] factory The factory to populate items with, or NULL. [allow-none][transfer full] Returns a new GtkGridView using the given factory gtk_grid_view_set_model () gtk_grid_view_set_model void gtk_grid_view_set_model (GtkGridView *self, GListModel *model); Sets the GListModel to use for Parameters self a GtkGridView model the model to use or NULL for none. [allow-none][transfer none] gtk_grid_view_get_model () gtk_grid_view_get_model GListModel * gtk_grid_view_get_model (GtkGridView *self); Gets the model that's currently used to read the items displayed. Parameters self a GtkGridView Returns The model in use. [nullable][transfer none] gtk_grid_view_set_max_columns () gtk_grid_view_set_max_columns void gtk_grid_view_set_max_columns (GtkGridView *self, guint max_columns); Sets the maximum number of columns to use. This number must be at least 1. If max_columns is smaller than the minimum set via gtk_grid_view_set_min_columns(), that value is used instead. Parameters self a GtkGridView max_columns The maximum number of columns gtk_grid_view_get_max_columns () gtk_grid_view_get_max_columns guint gtk_grid_view_get_max_columns (GtkGridView *self); Gets the maximum number of columns that the grid will use. Parameters self a GtkGridView Returns The maximum number of columns gtk_grid_view_set_min_columns () gtk_grid_view_set_min_columns void gtk_grid_view_set_min_columns (GtkGridView *self, guint min_columns); Sets the minimum number of columns to use. This number must be at least 1. If min_columns is smaller than the minimum set via gtk_grid_view_set_max_columns(), that value is ignored. Parameters self a GtkGridView min_columns The minimum number of columns gtk_grid_view_get_min_columns () gtk_grid_view_get_min_columns guint gtk_grid_view_get_min_columns (GtkGridView *self); Gets the minimum number of columns that the grid will use. Parameters self a GtkGridView Returns The minimum number of columns gtk_grid_view_set_single_click_activate () gtk_grid_view_set_single_click_activate void gtk_grid_view_set_single_click_activate (GtkGridView *self, gboolean single_click_activate); Sets whether items should be activated on single click and selected on hover. Parameters self a GtkGridView single_click_activate TRUE to activate items on single click gtk_grid_view_get_single_click_activate () gtk_grid_view_get_single_click_activate gboolean gtk_grid_view_get_single_click_activate (GtkGridView *self); Returns whether items will be activated on single click and selected on hover. Parameters self a GtkListView Returns TRUE if items are activated on single click gtk_grid_view_set_enable_rubberband () gtk_grid_view_set_enable_rubberband void gtk_grid_view_set_enable_rubberband (GtkGridView *self, gboolean enable_rubberband); Sets whether selections can be changed by dragging with the mouse. Parameters self a GtkGridView enable_rubberband TRUE to enable rubberband selection gtk_grid_view_get_enable_rubberband () gtk_grid_view_get_enable_rubberband gboolean gtk_grid_view_get_enable_rubberband (GtkGridView *self); Returns whether rows can be selected by dragging with the mouse. Parameters self a GtkGridView Returns TRUE if rubberband selection is enabled gtk_grid_view_set_factory () gtk_grid_view_set_factory void gtk_grid_view_set_factory (GtkGridView *self, GtkListItemFactory *factory); Sets the GtkListItemFactory to use for populating list items. Parameters self a GtkGridView factory the factory to use or NULL for none. [allow-none][transfer none] gtk_grid_view_get_factory () gtk_grid_view_get_factory GtkListItemFactory * gtk_grid_view_get_factory (GtkGridView *self); Gets the factory that's currently used to populate list items. Parameters self a GtkGridView Returns The factory in use. [nullable][transfer none] Types and Values GtkGridView GtkGridView typedef struct _GtkGridView GtkGridView; GtkGridView is a list widget implementation that arranges its items in a grid. Property Details The <literal>“enable-rubberband”</literal> property GtkGridView:enable-rubberband “enable-rubberband” gboolean Allow rubberband selection Owner: GtkGridView Flags: Read / Write Default value: FALSE The <literal>“factory”</literal> property GtkGridView:factory “factory” GtkListItemFactory * Factory for populating list items Owner: GtkGridView Flags: Read / Write The <literal>“max-columns”</literal> property GtkGridView:max-columns “max-columns” guint Maximum number of columns per row If this number is smaller than GtkGridView:min-columns, that value is used instead. Owner: GtkGridView Flags: Read / Write Allowed values: >= 1 Default value: 7 The <literal>“min-columns”</literal> property GtkGridView:min-columns “min-columns” guint Minimum number of columns per row Owner: GtkGridView Flags: Read / Write Allowed values: >= 1 Default value: 1 The <literal>“model”</literal> property GtkGridView:model “model” GListModel * Model for the items displayed Owner: GtkGridView Flags: Read / Write The <literal>“single-click-activate”</literal> property GtkGridView:single-click-activate “single-click-activate” gboolean Activate rows on single click and select them on hover Owner: GtkGridView Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate”</literal> signal GtkGridView::activate void user_function (GtkGridView *self, guint position, gpointer user_data) The ::activate signal is emitted when a cell has been activated by the user, usually via activating the GtkGridView|list.activate-item action. This allows for a convenient way to handle activation in a gridview. See GtkListItem:activatable for details on how to use this signal. Parameters self The GtkGridView position position of item to activate user_data user data set when the signal handler was connected. Flags: Run Last Action Details The <literal>“list.activate-item”</literal> action GtkGridView|list.activate-item Activates the item given in position by emitting the GtkGridView::activate signal. Parameter type: u Parameters position position of item to activate See Also GListModel, GtkListView, GtkColumnView docs/reference/gtk/xml/gtktextbuffer.xml0000664000175000017500000071151213710700312020570 0ustar mclasenmclasen ]> GtkTextBuffer 3 GTK4 Library GtkTextBuffer Stores attributed text for display in a GtkTextView Functions GtkTextBuffer * gtk_text_buffer_new () int gtk_text_buffer_get_line_count () int gtk_text_buffer_get_char_count () GtkTextTagTable * gtk_text_buffer_get_tag_table () void gtk_text_buffer_insert () void gtk_text_buffer_insert_at_cursor () gboolean gtk_text_buffer_insert_interactive () gboolean gtk_text_buffer_insert_interactive_at_cursor () void gtk_text_buffer_insert_range () gboolean gtk_text_buffer_insert_range_interactive () void gtk_text_buffer_insert_with_tags () void gtk_text_buffer_insert_with_tags_by_name () void gtk_text_buffer_insert_markup () void gtk_text_buffer_insert_paintable () void gtk_text_buffer_delete () gboolean gtk_text_buffer_delete_interactive () gboolean gtk_text_buffer_backspace () void gtk_text_buffer_set_text () char * gtk_text_buffer_get_text () char * gtk_text_buffer_get_slice () void gtk_text_buffer_insert_child_anchor () GtkTextChildAnchor * gtk_text_buffer_create_child_anchor () GtkTextMark * gtk_text_buffer_create_mark () void gtk_text_buffer_move_mark () void gtk_text_buffer_move_mark_by_name () void gtk_text_buffer_add_mark () void gtk_text_buffer_delete_mark () void gtk_text_buffer_delete_mark_by_name () GtkTextMark * gtk_text_buffer_get_mark () GtkTextMark * gtk_text_buffer_get_insert () GtkTextMark * gtk_text_buffer_get_selection_bound () gboolean gtk_text_buffer_get_has_selection () void gtk_text_buffer_place_cursor () void gtk_text_buffer_select_range () void gtk_text_buffer_apply_tag () void gtk_text_buffer_remove_tag () void gtk_text_buffer_apply_tag_by_name () void gtk_text_buffer_remove_tag_by_name () void gtk_text_buffer_remove_all_tags () GtkTextTag * gtk_text_buffer_create_tag () void gtk_text_buffer_get_iter_at_line_offset () void gtk_text_buffer_get_iter_at_offset () void gtk_text_buffer_get_iter_at_line () void gtk_text_buffer_get_iter_at_line_index () void gtk_text_buffer_get_iter_at_mark () void gtk_text_buffer_get_iter_at_child_anchor () void gtk_text_buffer_get_start_iter () void gtk_text_buffer_get_end_iter () void gtk_text_buffer_get_bounds () gboolean gtk_text_buffer_get_modified () void gtk_text_buffer_set_modified () gboolean gtk_text_buffer_delete_selection () void gtk_text_buffer_paste_clipboard () void gtk_text_buffer_copy_clipboard () void gtk_text_buffer_cut_clipboard () gboolean gtk_text_buffer_get_selection_bounds () GdkContentProvider * gtk_text_buffer_get_selection_content () void gtk_text_buffer_begin_user_action () void gtk_text_buffer_end_user_action () void gtk_text_buffer_add_selection_clipboard () void gtk_text_buffer_remove_selection_clipboard () gboolean gtk_text_buffer_get_can_undo () gboolean gtk_text_buffer_get_can_redo () gboolean gtk_text_buffer_get_enable_undo () void gtk_text_buffer_set_enable_undo () guint gtk_text_buffer_get_max_undo_levels () void gtk_text_buffer_set_max_undo_levels () void gtk_text_buffer_undo () void gtk_text_buffer_redo () void gtk_text_buffer_begin_irreversible_action () void gtk_text_buffer_end_irreversible_action () Properties gbooleancan-redoRead gbooleancan-undoRead GdkContentFormats *copy-target-listRead gintcursor-positionRead gbooleanenable-undoRead / Write gbooleanhas-selectionRead GdkContentFormats *paste-target-listRead GtkTextTagTable *tag-tableRead / Write / Construct Only gchar *textRead / Write Signals voidapply-tagRun Last voidbegin-user-actionRun Last voidchangedRun Last voiddelete-rangeRun Last voidend-user-actionRun Last voidinsert-child-anchorRun Last voidinsert-paintableRun Last voidinsert-textRun Last voidmark-deletedRun Last voidmark-setRun Last voidmodified-changedRun Last voidpaste-doneRun Last voidredoRun Last voidremove-tagRun Last voidundoRun Last Types and Values GtkTextBuffer structGtkTextBufferClass Object Hierarchy GObject ╰── GtkTextBuffer Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. Functions gtk_text_buffer_new () gtk_text_buffer_new GtkTextBuffer * gtk_text_buffer_new (GtkTextTagTable *table); Creates a new text buffer. Parameters table a tag table, or NULL to create a new one. [allow-none] Returns a new text buffer gtk_text_buffer_get_line_count () gtk_text_buffer_get_line_count int gtk_text_buffer_get_line_count (GtkTextBuffer *buffer); Obtains the number of lines in the buffer. This value is cached, so the function is very fast. Parameters buffer a GtkTextBuffer Returns number of lines in the buffer gtk_text_buffer_get_char_count () gtk_text_buffer_get_char_count int gtk_text_buffer_get_char_count (GtkTextBuffer *buffer); Gets the number of characters in the buffer; note that characters and bytes are not the same, you can’t e.g. expect the contents of the buffer in string form to be this many bytes long. The character count is cached, so this function is very fast. Parameters buffer a GtkTextBuffer Returns number of characters in the buffer gtk_text_buffer_get_tag_table () gtk_text_buffer_get_tag_table GtkTextTagTable * gtk_text_buffer_get_tag_table (GtkTextBuffer *buffer); Get the GtkTextTagTable associated with this buffer. Parameters buffer a GtkTextBuffer Returns the buffer’s tag table. [transfer none] gtk_text_buffer_insert () gtk_text_buffer_insert void gtk_text_buffer_insert (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len); Inserts len bytes of text at position iter . If len is -1, text must be nul-terminated and will be inserted in its entirety. Emits the “insert-text” signal; insertion actually occurs in the default handler for the signal. iter is invalidated when insertion occurs (because the buffer contents change), but the default signal handler revalidates it to point to the end of the inserted text. Parameters buffer a GtkTextBuffer iter a position in the buffer text text in UTF-8 format len length of text in bytes, or -1 gtk_text_buffer_insert_at_cursor () gtk_text_buffer_insert_at_cursor void gtk_text_buffer_insert_at_cursor (GtkTextBuffer *buffer, const char *text, int len); Simply calls gtk_text_buffer_insert(), using the current cursor position as the insertion point. Parameters buffer a GtkTextBuffer text text in UTF-8 format len length of text, in bytes gtk_text_buffer_insert_interactive () gtk_text_buffer_insert_interactive gboolean gtk_text_buffer_insert_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, gboolean default_editable); Like gtk_text_buffer_insert(), but the insertion will not occur if iter is at a non-editable location in the buffer. Usually you want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive). default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here. Parameters buffer a GtkTextBuffer iter a position in buffer text some UTF-8 text len length of text in bytes, or -1 default_editable default editability of buffer Returns whether text was actually inserted gtk_text_buffer_insert_interactive_at_cursor () gtk_text_buffer_insert_interactive_at_cursor gboolean gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer, const char *text, int len, gboolean default_editable); Calls gtk_text_buffer_insert_interactive() at the cursor position. default_editable indicates the editability of text that doesn't have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here. Parameters buffer a GtkTextBuffer text text in UTF-8 format len length of text in bytes, or -1 default_editable default editability of buffer Returns whether text was actually inserted gtk_text_buffer_insert_range () gtk_text_buffer_insert_range void gtk_text_buffer_insert_range (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end); Copies text, tags, and paintables between start and end (the order of start and end doesn’t matter) and inserts the copy at iter . Used instead of simply getting/inserting text because it preserves images and tags. If start and end are in a different buffer from buffer , the two buffers must share the same tag table. Implemented via emissions of the insert_text and apply_tag signals, so expect those. Parameters buffer a GtkTextBuffer iter a position in buffer start a position in a GtkTextBuffer end another position in the same buffer as start gtk_text_buffer_insert_range_interactive () gtk_text_buffer_insert_range_interactive gboolean gtk_text_buffer_insert_range_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end, gboolean default_editable); Same as gtk_text_buffer_insert_range(), but does nothing if the insertion point isn’t editable. The default_editable parameter indicates whether the text is editable at iter if no tags enclosing iter affect editability. Typically the result of gtk_text_view_get_editable() is appropriate here. Parameters buffer a GtkTextBuffer iter a position in buffer start a position in a GtkTextBuffer end another position in the same buffer as start default_editable default editability of the buffer Returns whether an insertion was possible at iter gtk_text_buffer_insert_with_tags () gtk_text_buffer_insert_with_tags void gtk_text_buffer_insert_with_tags (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, GtkTextTag *first_tag, ...); Inserts text into buffer at iter , applying the list of tags to the newly-inserted text. The last tag specified must be NULL to terminate the list. Equivalent to calling gtk_text_buffer_insert(), then gtk_text_buffer_apply_tag() on the inserted text; gtk_text_buffer_insert_with_tags() is just a convenience function. Parameters buffer a GtkTextBuffer iter an iterator in buffer text UTF-8 text len length of text , or -1 first_tag first tag to apply to text ... NULL-terminated list of tags to apply gtk_text_buffer_insert_with_tags_by_name () gtk_text_buffer_insert_with_tags_by_name void gtk_text_buffer_insert_with_tags_by_name (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, const char *first_tag_name, ...); Same as gtk_text_buffer_insert_with_tags(), but allows you to pass in tag names instead of tag objects. Parameters buffer a GtkTextBuffer iter position in buffer text UTF-8 text len length of text , or -1 first_tag_name name of a tag to apply to text ... more tag names gtk_text_buffer_insert_markup () gtk_text_buffer_insert_markup void gtk_text_buffer_insert_markup (GtkTextBuffer *buffer, GtkTextIter *iter, const char *markup, int len); Inserts the text in markup at position iter . markup will be inserted in its entirety and must be nul-terminated and valid UTF-8. Emits the “insert-text” signal, possibly multiple times; insertion actually occurs in the default handler for the signal. iter will point to the end of the inserted text on return. Parameters buffer a GtkTextBuffer iter location to insert the markup markup a nul-terminated UTF-8 string containing Pango markup len length of markup in bytes, or -1 gtk_text_buffer_insert_paintable () gtk_text_buffer_insert_paintable void gtk_text_buffer_insert_paintable (GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable); Inserts an image into the text buffer at iter . The image will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode “object replacement character” 0xFFFC. Note that the “slice” variants for obtaining portions of the buffer as a string include this character for paintable, but the “text” variants do not. e.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text(). Parameters buffer a GtkTextBuffer iter location to insert the paintable paintable a GdkPaintable gtk_text_buffer_delete () gtk_text_buffer_delete void gtk_text_buffer_delete (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); Deletes text between start and end . The order of start and end is not actually relevant; gtk_text_buffer_delete() will reorder them. This function actually emits the “delete-range” signal, and the default handler of that signal deletes the text. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the start and end will be re-initialized to point to the location where text was deleted. Parameters buffer a GtkTextBuffer start a position in buffer end another position in buffer gtk_text_buffer_delete_interactive () gtk_text_buffer_delete_interactive gboolean gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter, gboolean default_editable); Deletes all editable text in the given range. Calls gtk_text_buffer_delete() for each editable sub-range of [start ,end ). start and end are revalidated to point to the location of the last deleted range, or left untouched if no text was deleted. Parameters buffer a GtkTextBuffer start_iter start of range to delete end_iter end of range default_editable whether the buffer is editable by default Returns whether some text was actually deleted gtk_text_buffer_backspace () gtk_text_buffer_backspace gboolean gtk_text_buffer_backspace (GtkTextBuffer *buffer, GtkTextIter *iter, gboolean interactive, gboolean default_editable); Performs the appropriate action as if the user hit the delete key with the cursor at the position specified by iter . In the normal case a single character will be deleted, but when combining accents are involved, more than one character can be deleted, and when precomposed character and accent combinations are involved, less than one character will be deleted. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the iter will be re-initialized to point to the location where text was deleted. Parameters buffer a GtkTextBuffer iter a position in buffer interactive whether the deletion is caused by user interaction default_editable whether the buffer is editable by default Returns TRUE if the buffer was modified gtk_text_buffer_set_text () gtk_text_buffer_set_text void gtk_text_buffer_set_text (GtkTextBuffer *buffer, const char *text, int len); Deletes current contents of buffer , and inserts text instead. If len is -1, text must be nul-terminated. text must be valid UTF-8. Parameters buffer a GtkTextBuffer text UTF-8 text to insert len length of text in bytes gtk_text_buffer_get_text () gtk_text_buffer_get_text char * gtk_text_buffer_get_text (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars); Returns the text in the range [start ,end ). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if include_hidden_chars is FALSE. Does not include characters representing embedded images, so byte and character indexes into the returned string do not correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_slice(). Parameters buffer a GtkTextBuffer start start of a range end end of a range include_hidden_chars whether to include invisible text Returns an allocated UTF-8 string. [transfer full] gtk_text_buffer_get_slice () gtk_text_buffer_get_slice char * gtk_text_buffer_get_slice (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars); Returns the text in the range [start ,end ). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if include_hidden_chars is FALSE. The returned string includes a 0xFFFC character whenever the buffer contains embedded images, so byte and character indexes into the returned string do correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a paintable or widget is in the buffer. Parameters buffer a GtkTextBuffer start start of a range end end of a range include_hidden_chars whether to include invisible text Returns an allocated UTF-8 string. [transfer full] gtk_text_buffer_insert_child_anchor () gtk_text_buffer_insert_child_anchor void gtk_text_buffer_insert_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor); Inserts a child widget anchor into the text buffer at iter . The anchor will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode “object replacement character” 0xFFFC. Note that the “slice” variants for obtaining portions of the buffer as a string include this character for child anchors, but the “text” variants do not. E.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text(). Consider gtk_text_buffer_create_child_anchor() as a more convenient alternative to this function. The buffer will add a reference to the anchor, so you can unref it after insertion. Parameters buffer a GtkTextBuffer iter location to insert the anchor anchor a GtkTextChildAnchor gtk_text_buffer_create_child_anchor () gtk_text_buffer_create_child_anchor GtkTextChildAnchor * gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter); This is a convenience function which simply creates a child anchor with gtk_text_child_anchor_new() and inserts it into the buffer with gtk_text_buffer_insert_child_anchor(). The new anchor is owned by the buffer; no reference count is returned to the caller of gtk_text_buffer_create_child_anchor(). Parameters buffer a GtkTextBuffer iter location in the buffer Returns the created child anchor. [transfer none] gtk_text_buffer_create_mark () gtk_text_buffer_create_mark GtkTextMark * gtk_text_buffer_create_mark (GtkTextBuffer *buffer, const char *mark_name, const GtkTextIter *where, gboolean left_gravity); Creates a mark at position where . If mark_name is NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark’s current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (left_gravity = FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you’re typing). The caller of this function does not own a reference to the returned GtkTextMark, so you can ignore the return value if you like. Marks are owned by the buffer and go away when the buffer does. Emits the “mark-set” signal as notification of the mark's initial placement. Parameters buffer a GtkTextBuffer mark_name name for mark, or NULL. [allow-none] where location to place mark left_gravity whether the mark has left gravity Returns the new GtkTextMark object. [transfer none] gtk_text_buffer_move_mark () gtk_text_buffer_move_mark void gtk_text_buffer_move_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where); Moves mark to the new location where . Emits the “mark-set” signal as notification of the move. Parameters buffer a GtkTextBuffer mark a GtkTextMark where new location for mark in buffer gtk_text_buffer_move_mark_by_name () gtk_text_buffer_move_mark_by_name void gtk_text_buffer_move_mark_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *where); Moves the mark named name (which must exist) to location where . See gtk_text_buffer_move_mark() for details. Parameters buffer a GtkTextBuffer name name of a mark where new location for mark gtk_text_buffer_add_mark () gtk_text_buffer_add_mark void gtk_text_buffer_add_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where); Adds the mark at position where . The mark must not be added to another buffer, and if its name is not NULL then there must not be another mark in the buffer with the same name. Emits the “mark-set” signal as notification of the mark's initial placement. Parameters buffer a GtkTextBuffer mark the mark to add where location to place mark gtk_text_buffer_delete_mark () gtk_text_buffer_delete_mark void gtk_text_buffer_delete_mark (GtkTextBuffer *buffer, GtkTextMark *mark); Deletes mark , so that it’s no longer located anywhere in the buffer. Removes the reference the buffer holds to the mark, so if you haven’t called g_object_ref() on the mark, it will be freed. Even if the mark isn’t freed, most operations on mark become invalid, until it gets added to a buffer again with gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to find out if a mark has been removed from its buffer. The “mark-deleted” signal will be emitted as notification after the mark is deleted. Parameters buffer a GtkTextBuffer mark a GtkTextMark in buffer gtk_text_buffer_delete_mark_by_name () gtk_text_buffer_delete_mark_by_name void gtk_text_buffer_delete_mark_by_name (GtkTextBuffer *buffer, const char *name); Deletes the mark named name ; the mark must exist. See gtk_text_buffer_delete_mark() for details. Parameters buffer a GtkTextBuffer name name of a mark in buffer gtk_text_buffer_get_mark () gtk_text_buffer_get_mark GtkTextMark * gtk_text_buffer_get_mark (GtkTextBuffer *buffer, const char *name); Returns the mark named name in buffer buffer , or NULL if no such mark exists in the buffer. Parameters buffer a GtkTextBuffer name a mark name Returns a GtkTextMark, or NULL. [nullable][transfer none] gtk_text_buffer_get_insert () gtk_text_buffer_get_insert GtkTextMark * gtk_text_buffer_get_insert (GtkTextBuffer *buffer); Returns the mark that represents the cursor (insertion point). Equivalent to calling gtk_text_buffer_get_mark() to get the mark named “insert”, but very slightly more efficient, and involves less typing. Parameters buffer a GtkTextBuffer Returns insertion point mark. [transfer none] gtk_text_buffer_get_selection_bound () gtk_text_buffer_get_selection_bound GtkTextMark * gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer); Returns the mark that represents the selection bound. Equivalent to calling gtk_text_buffer_get_mark() to get the mark named “selection_bound”, but very slightly more efficient, and involves less typing. The currently-selected text in buffer is the region between the “selection_bound” and “insert” marks. If “selection_bound” and “insert” are in the same place, then there is no current selection. gtk_text_buffer_get_selection_bounds() is another convenient function for handling the selection, if you just want to know whether there’s a selection and what its bounds are. Parameters buffer a GtkTextBuffer Returns selection bound mark. [transfer none] gtk_text_buffer_get_has_selection () gtk_text_buffer_get_has_selection gboolean gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer); Indicates whether the buffer has some text currently selected. Parameters buffer a GtkTextBuffer Returns TRUE if the there is text selected gtk_text_buffer_place_cursor () gtk_text_buffer_place_cursor void gtk_text_buffer_place_cursor (GtkTextBuffer *buffer, const GtkTextIter *where); This function moves the “insert” and “selection_bound” marks simultaneously. If you move them to the same place in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized. Parameters buffer a GtkTextBuffer where where to put the cursor gtk_text_buffer_select_range () gtk_text_buffer_select_range void gtk_text_buffer_select_range (GtkTextBuffer *buffer, const GtkTextIter *ins, const GtkTextIter *bound); This function moves the “insert” and “selection_bound” marks simultaneously. If you move them in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized. Parameters buffer a GtkTextBuffer ins where to put the “insert” mark bound where to put the “selection_bound” mark gtk_text_buffer_apply_tag () gtk_text_buffer_apply_tag void gtk_text_buffer_apply_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); Emits the “apply-tag” signal on buffer . The default handler for the signal applies tag to the given range. start and end do not have to be in order. Parameters buffer a GtkTextBuffer tag a GtkTextTag start one bound of range to be tagged end other bound of range to be tagged gtk_text_buffer_remove_tag () gtk_text_buffer_remove_tag void gtk_text_buffer_remove_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); Emits the “remove-tag” signal. The default handler for the signal removes all occurrences of tag from the given range. start and end don’t have to be in order. Parameters buffer a GtkTextBuffer tag a GtkTextTag start one bound of range to be untagged end other bound of range to be untagged gtk_text_buffer_apply_tag_by_name () gtk_text_buffer_apply_tag_by_name void gtk_text_buffer_apply_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end); Calls gtk_text_tag_table_lookup() on the buffer’s tag table to get a GtkTextTag, then calls gtk_text_buffer_apply_tag(). Parameters buffer a GtkTextBuffer name name of a named GtkTextTag start one bound of range to be tagged end other bound of range to be tagged gtk_text_buffer_remove_tag_by_name () gtk_text_buffer_remove_tag_by_name void gtk_text_buffer_remove_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end); Calls gtk_text_tag_table_lookup() on the buffer’s tag table to get a GtkTextTag, then calls gtk_text_buffer_remove_tag(). Parameters buffer a GtkTextBuffer name name of a GtkTextTag start one bound of range to be untagged end other bound of range to be untagged gtk_text_buffer_remove_all_tags () gtk_text_buffer_remove_all_tags void gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end); Removes all tags in the range between start and end . Be careful with this function; it could remove tags added in code unrelated to the code you’re currently writing. That is, using this function is probably a bad idea if you have two or more unrelated code sections that add tags. Parameters buffer a GtkTextBuffer start one bound of range to be untagged end other bound of range to be untagged gtk_text_buffer_create_tag () gtk_text_buffer_create_tag GtkTextTag * gtk_text_buffer_create_tag (GtkTextBuffer *buffer, const char *tag_name, const char *first_property_name, ...); Creates a tag and adds it to the tag table for buffer . Equivalent to calling gtk_text_tag_new() and then adding the tag to the buffer’s tag table. The returned tag is owned by the buffer’s tag table, so the ref count will be equal to one. If tag_name is NULL, the tag is anonymous. If tag_name is non-NULL, a tag called tag_name must not already exist in the tag table for this buffer. The first_property_name argument and subsequent arguments are a list of properties to set on the tag, as with g_object_set(). Parameters buffer a GtkTextBuffer tag_name name of the new tag, or NULL. [allow-none] first_property_name name of first property to set, or NULL. [allow-none] ... NULL-terminated list of property names and values Returns a new tag. [transfer none] gtk_text_buffer_get_iter_at_line_offset () gtk_text_buffer_get_iter_at_line_offset void gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int char_offset); Obtains an iterator pointing to char_offset within the given line. Note characters, not bytes; UTF-8 may encode one character as multiple bytes. Before the 3.20 version, it was not allowed to pass an invalid location. If line_number is greater than the number of lines in the buffer , the end iterator is returned. And if char_offset is off the end of the line, the iterator at the end of the line is returned. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] line_number line number counting from 0 char_offset char offset from start of line gtk_text_buffer_get_iter_at_offset () gtk_text_buffer_get_iter_at_offset void gtk_text_buffer_get_iter_at_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int char_offset); Initializes iter to a position char_offset chars from the start of the entire buffer. If char_offset is -1 or greater than the number of characters in the buffer, iter is initialized to the end iterator, the iterator one past the last valid character in the buffer. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] char_offset char offset from start of buffer, counting from 0, or -1 gtk_text_buffer_get_iter_at_line () gtk_text_buffer_get_iter_at_line void gtk_text_buffer_get_iter_at_line (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number); Initializes iter to the start of the given line. If line_number is greater than the number of lines in the buffer , the end iterator is returned. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] line_number line number counting from 0 gtk_text_buffer_get_iter_at_line_index () gtk_text_buffer_get_iter_at_line_index void gtk_text_buffer_get_iter_at_line_index (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int byte_index); Obtains an iterator pointing to byte_index within the given line. byte_index must be the start of a UTF-8 character. Note bytes, not characters; UTF-8 may encode one character as multiple bytes. If line_number is greater than the number of lines in the buffer , the end iterator is returned. And if byte_index is off the end of the line, the iterator at the end of the line is returned. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] line_number line number counting from 0 byte_index byte index from start of line gtk_text_buffer_get_iter_at_mark () gtk_text_buffer_get_iter_at_mark void gtk_text_buffer_get_iter_at_mark (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark); Initializes iter with the current position of mark . Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] mark a GtkTextMark in buffer gtk_text_buffer_get_iter_at_child_anchor () gtk_text_buffer_get_iter_at_child_anchor void gtk_text_buffer_get_iter_at_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor); Obtains the location of anchor within buffer . Parameters buffer a GtkTextBuffer iter an iterator to be initialized. [out] anchor a child anchor that appears in buffer gtk_text_buffer_get_start_iter () gtk_text_buffer_get_start_iter void gtk_text_buffer_get_start_iter (GtkTextBuffer *buffer, GtkTextIter *iter); Initialized iter with the first position in the text buffer. This is the same as using gtk_text_buffer_get_iter_at_offset() to get the iter at character offset 0. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] gtk_text_buffer_get_end_iter () gtk_text_buffer_get_end_iter void gtk_text_buffer_get_end_iter (GtkTextBuffer *buffer, GtkTextIter *iter); Initializes iter with the “end iterator,” one past the last valid character in the text buffer. If dereferenced with gtk_text_iter_get_char(), the end iterator has a character value of 0. The entire buffer lies in the range from the first position in the buffer (call gtk_text_buffer_get_start_iter() to get character position 0) to the end iterator. Parameters buffer a GtkTextBuffer iter iterator to initialize. [out] gtk_text_buffer_get_bounds () gtk_text_buffer_get_bounds void gtk_text_buffer_get_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); Retrieves the first and last iterators in the buffer, i.e. the entire buffer lies within the range [start ,end ). Parameters buffer a GtkTextBuffer start iterator to initialize with first position in the buffer. [out] end iterator to initialize with the end iterator. [out] gtk_text_buffer_get_modified () gtk_text_buffer_get_modified gboolean gtk_text_buffer_get_modified (GtkTextBuffer *buffer); Indicates whether the buffer has been modified since the last call to gtk_text_buffer_set_modified() set the modification flag to FALSE. Used for example to enable a “save” function in a text editor. Parameters buffer a GtkTextBuffer Returns TRUE if the buffer has been modified gtk_text_buffer_set_modified () gtk_text_buffer_set_modified void gtk_text_buffer_set_modified (GtkTextBuffer *buffer, gboolean setting); Used to keep track of whether the buffer has been modified since the last time it was saved. Whenever the buffer is saved to disk, call gtk_text_buffer_set_modified (buffer , FALSE). When the buffer is modified, it will automatically toggled on the modified bit again. When the modified bit flips, the buffer emits the “modified-changed” signal. Parameters buffer a GtkTextBuffer setting modification flag setting gtk_text_buffer_delete_selection () gtk_text_buffer_delete_selection gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer, gboolean interactive, gboolean default_editable); Deletes the range between the “insert” and “selection_bound” marks, that is, the currently-selected text. If interactive is TRUE, the editability of the selection will be considered (users can’t delete uneditable text). Parameters buffer a GtkTextBuffer interactive whether the deletion is caused by user interaction default_editable whether the buffer is editable by default Returns whether there was a non-empty selection to delete gtk_text_buffer_paste_clipboard () gtk_text_buffer_paste_clipboard void gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, GtkTextIter *override_location, gboolean default_editable); Pastes the contents of a clipboard. If override_location is NULL, the pasted text will be inserted at the cursor position, or the buffer selection will be replaced if the selection is non-empty. Note: pasting is asynchronous, that is, we’ll ask for the paste data and return, and at some point later after the main loop runs, the paste data will be inserted. Parameters buffer a GtkTextBuffer clipboard the GdkClipboard to paste from override_location location to insert pasted text, or NULL. [allow-none] default_editable whether the buffer is editable by default gtk_text_buffer_copy_clipboard () gtk_text_buffer_copy_clipboard void gtk_text_buffer_copy_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard); Copies the currently-selected text to a clipboard. Parameters buffer a GtkTextBuffer clipboard the GdkClipboard object to copy to gtk_text_buffer_cut_clipboard () gtk_text_buffer_cut_clipboard void gtk_text_buffer_cut_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, gboolean default_editable); Copies the currently-selected text to a clipboard, then deletes said text if it’s editable. Parameters buffer a GtkTextBuffer clipboard the GdkClipboard object to cut to default_editable default editability of the buffer gtk_text_buffer_get_selection_bounds () gtk_text_buffer_get_selection_bounds gboolean gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); Returns TRUE if some text is selected; places the bounds of the selection in start and end (if the selection has length 0, then start and end are filled in with the same value). start and end will be in ascending order. If start and end are NULL, then they are not filled in, but the return value still indicates whether text is selected. Parameters buffer a GtkTextBuffer a GtkTextBuffer start iterator to initialize with selection start. [out] end iterator to initialize with selection end. [out] Returns whether the selection has nonzero length gtk_text_buffer_get_selection_content () gtk_text_buffer_get_selection_content GdkContentProvider * gtk_text_buffer_get_selection_content (GtkTextBuffer *buffer); Get a content provider for this buffer. Parameters buffer a GtkTextBuffer Returns a new GdkContentProvider. [transfer full] gtk_text_buffer_begin_user_action () gtk_text_buffer_begin_user_action void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer); Called to indicate that the buffer operations between here and a call to gtk_text_buffer_end_user_action() are part of a single user-visible operation. The operations between gtk_text_buffer_begin_user_action() and gtk_text_buffer_end_user_action() can then be grouped when creating an undo stack. GtkTextBuffer maintains a count of calls to gtk_text_buffer_begin_user_action() that have not been closed with a call to gtk_text_buffer_end_user_action(), and emits the “begin-user-action” and “end-user-action” signals only for the outermost pair of calls. This allows you to build user actions from other user actions. The “interactive” buffer mutation functions, such as gtk_text_buffer_insert_interactive(), automatically call begin/end user action around the buffer operations they perform, so there's no need to add extra calls if you user action consists solely of a single call to one of those functions. Parameters buffer a GtkTextBuffer gtk_text_buffer_end_user_action () gtk_text_buffer_end_user_action void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer); Should be paired with a call to gtk_text_buffer_begin_user_action(). See that function for a full explanation. Parameters buffer a GtkTextBuffer gtk_text_buffer_add_selection_clipboard () gtk_text_buffer_add_selection_clipboard void gtk_text_buffer_add_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard); Adds clipboard to the list of clipboards in which the selection contents of buffer are available. In most cases, clipboard will be the GdkClipboard returned by gtk_widget_get_primary_clipboard() for a view of buffer . Parameters buffer a GtkTextBuffer clipboard a GdkClipboard gtk_text_buffer_remove_selection_clipboard () gtk_text_buffer_remove_selection_clipboard void gtk_text_buffer_remove_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard); Removes a GdkClipboard added with gtk_text_buffer_add_selection_clipboard(). Parameters buffer a GtkTextBuffer clipboard a GdkClipboard added to buffer by gtk_text_buffer_add_selection_clipboard() gtk_text_buffer_get_can_undo () gtk_text_buffer_get_can_undo gboolean gtk_text_buffer_get_can_undo (GtkTextBuffer *buffer); Gets whether there is an undoable action in the history. Parameters buffer a GtkTextBuffer Returns TRUE if there is an undoable action gtk_text_buffer_get_can_redo () gtk_text_buffer_get_can_redo gboolean gtk_text_buffer_get_can_redo (GtkTextBuffer *buffer); Gets whether there is a redoable action in the history. Parameters buffer a GtkTextBuffer Returns TRUE if there is an redoable action gtk_text_buffer_get_enable_undo () gtk_text_buffer_get_enable_undo gboolean gtk_text_buffer_get_enable_undo (GtkTextBuffer *buffer); Gets whether the buffer is saving modifications to the buffer to allow for undo and redo actions. See gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() to create changes to the buffer that cannot be undone. Parameters buffer a GtkTextBuffer gtk_text_buffer_set_enable_undo () gtk_text_buffer_set_enable_undo void gtk_text_buffer_set_enable_undo (GtkTextBuffer *buffer, gboolean enable_undo); Sets whether or not to enable undoable actions in the text buffer. If enabled, the user will be able to undo the last number of actions up to gtk_text_buffer_get_max_undo_levels(). See gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() to create changes to the buffer that cannot be undone. Parameters buffer a GtkTextBuffer enable_undo TRUE to enable undo gtk_text_buffer_get_max_undo_levels () gtk_text_buffer_get_max_undo_levels guint gtk_text_buffer_get_max_undo_levels (GtkTextBuffer *buffer); Gets the maximum number of undo levels to perform. If 0, unlimited undo actions may be performed. Note that this may have a memory usage impact as it requires storing an additional copy of the inserted or removed text within the text buffer. Parameters buffer a GtkTextBuffer gtk_text_buffer_set_max_undo_levels () gtk_text_buffer_set_max_undo_levels void gtk_text_buffer_set_max_undo_levels (GtkTextBuffer *buffer, guint max_undo_levels); Sets the maximum number of undo levels to perform. If 0, unlimited undo actions may be performed. Note that this may have a memory usage impact as it requires storing an additional copy of the inserted or removed text within the text buffer. Parameters buffer a GtkTextBuffer max_undo_levels the maximum number of undo actions to perform gtk_text_buffer_undo () gtk_text_buffer_undo void gtk_text_buffer_undo (GtkTextBuffer *buffer); Undoes the last undoable action on the buffer, if there is one. Parameters buffer a GtkTextBuffer gtk_text_buffer_redo () gtk_text_buffer_redo void gtk_text_buffer_redo (GtkTextBuffer *buffer); Redoes the next redoable action on the buffer, if there is one. Parameters buffer a GtkTextBuffer gtk_text_buffer_begin_irreversible_action () gtk_text_buffer_begin_irreversible_action void gtk_text_buffer_begin_irreversible_action (GtkTextBuffer *buffer); Denotes the beginning of an action that may not be undone. This will cause any previous operations in the undo/redo queue to be cleared. This should be paired with a call to gtk_text_buffer_end_irreversible_action() after the irreversible action has completed. You may nest calls to gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() pairs. Parameters buffer a GtkTextBuffer gtk_text_buffer_end_irreversible_action () gtk_text_buffer_end_irreversible_action void gtk_text_buffer_end_irreversible_action (GtkTextBuffer *buffer); Denotes the end of an action that may not be undone. This will cause any previous operations in the undo/redo queue to be cleared. This should be called after completing modifications to the text buffer after gtk_text_buffer_begin_irreversible_action() was called. You may nest calls to gtk_text_buffer_begin_irreversible_action() and gtk_text_buffer_end_irreversible_action() pairs. Parameters buffer a GtkTextBuffer Types and Values GtkTextBuffer GtkTextBuffer typedef struct _GtkTextBuffer GtkTextBuffer; struct GtkTextBufferClass GtkTextBufferClass struct GtkTextBufferClass { GObjectClass parent_class; void (* insert_text) (GtkTextBuffer *buffer, GtkTextIter *pos, const char *new_text, int new_text_length); void (* insert_paintable) (GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable); void (* insert_child_anchor) (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor); void (* delete_range) (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); void (* changed) (GtkTextBuffer *buffer); void (* modified_changed) (GtkTextBuffer *buffer); void (* mark_set) (GtkTextBuffer *buffer, const GtkTextIter *location, GtkTextMark *mark); void (* mark_deleted) (GtkTextBuffer *buffer, GtkTextMark *mark); void (* apply_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); void (* remove_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end); void (* begin_user_action) (GtkTextBuffer *buffer); void (* end_user_action) (GtkTextBuffer *buffer); void (* paste_done) (GtkTextBuffer *buffer, GdkClipboard *clipboard); void (* undo) (GtkTextBuffer *buffer); void (* redo) (GtkTextBuffer *buffer); }; Members insert_text () The class handler for the “insert-text” signal. insert_paintable () The class handler for the “insert-paintable” signal. insert_child_anchor () The class handler for the “insert-child-anchor” signal. delete_range () The class handler for the “delete-range” signal. changed () The class handler for the “changed” signal. modified_changed () The class handler for the “modified-changed” signal. mark_set () The class handler for the “mark-set” signal. mark_deleted () The class handler for the “mark-deleted” signal. apply_tag () The class handler for the “apply-tag” signal. remove_tag () The class handler for the “remove-tag” signal. begin_user_action () The class handler for the “begin-user-action” signal. end_user_action () The class handler for the “end-user-action” signal. paste_done () The class handler for the “paste-done” signal. undo () redo () Property Details The <literal>“can-redo”</literal> property GtkTextBuffer:can-redo “can-redo” gboolean The “can-redo” property denotes that the buffer can reapply the last undone action. Owner: GtkTextBuffer Flags: Read Default value: FALSE The <literal>“can-undo”</literal> property GtkTextBuffer:can-undo “can-undo” gboolean The “can-undo” property denotes that the buffer can undo the last applied action. Owner: GtkTextBuffer Flags: Read Default value: FALSE The <literal>“copy-target-list”</literal> property GtkTextBuffer:copy-target-list “copy-target-list” GdkContentFormats * The list of targets this buffer supports for clipboard copying and as DND source. Owner: GtkTextBuffer Flags: Read The <literal>“cursor-position”</literal> property GtkTextBuffer:cursor-position “cursor-position” gint The position of the insert mark (as offset from the beginning of the buffer). It is useful for getting notified when the cursor moves. Owner: GtkTextBuffer Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“enable-undo”</literal> property GtkTextBuffer:enable-undo “enable-undo” gboolean The “enable-undo” property denotes if support for undoing and redoing changes to the buffer is allowed. Owner: GtkTextBuffer Flags: Read / Write Default value: TRUE The <literal>“has-selection”</literal> property GtkTextBuffer:has-selection “has-selection” gboolean Whether the buffer has some text currently selected. Owner: GtkTextBuffer Flags: Read Default value: FALSE The <literal>“paste-target-list”</literal> property GtkTextBuffer:paste-target-list “paste-target-list” GdkContentFormats * The list of targets this buffer supports for clipboard pasting and as DND destination. Owner: GtkTextBuffer Flags: Read The <literal>“tag-table”</literal> property GtkTextBuffer:tag-table “tag-table” GtkTextTagTable * Text Tag Table.Owner: GtkTextBuffer Flags: Read / Write / Construct Only The <literal>“text”</literal> property GtkTextBuffer:text “text” gchar * The text content of the buffer. Without child widgets and images, see gtk_text_buffer_get_text() for more information. Owner: GtkTextBuffer Flags: Read / Write Default value: "" Signal Details The <literal>“apply-tag”</literal> signal GtkTextBuffer::apply-tag void user_function (GtkTextBuffer *textbuffer, GtkTextTag *tag, GtkTextIter *start, GtkTextIter *end, gpointer user_data) The “apply-tag” signal is emitted to apply a tag to a range of text in a GtkTextBuffer. Applying actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them). See also: gtk_text_buffer_apply_tag(), gtk_text_buffer_insert_with_tags(), gtk_text_buffer_insert_range(). Parameters textbuffer the object which received the signal tag the applied tag start the start of the range the tag is applied to end the end of the range the tag is applied to user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“begin-user-action”</literal> signal GtkTextBuffer::begin-user-action void user_function (GtkTextBuffer *textbuffer, gpointer user_data) The “begin-user-action” signal is emitted at the beginning of a single user-visible operation on a GtkTextBuffer. See also: gtk_text_buffer_begin_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection(). Parameters textbuffer the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“changed”</literal> signal GtkTextBuffer::changed void user_function (GtkTextBuffer *textbuffer, gpointer user_data) The “changed” signal is emitted when the content of a GtkTextBuffer has changed. Parameters textbuffer the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“delete-range”</literal> signal GtkTextBuffer::delete-range void user_function (GtkTextBuffer *textbuffer, GtkTextIter *start, GtkTextIter *end, gpointer user_data) The “delete-range” signal is emitted to delete a range from a GtkTextBuffer. Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them). The default signal handler revalidates the start and end iters to both point to the location where text was deleted. Handlers which run after the default handler (see g_signal_connect_after()) do not have access to the deleted text. See also: gtk_text_buffer_delete(). Parameters textbuffer the object which received the signal start the start of the range to be deleted end the end of the range to be deleted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“end-user-action”</literal> signal GtkTextBuffer::end-user-action void user_function (GtkTextBuffer *textbuffer, gpointer user_data) The “end-user-action” signal is emitted at the end of a single user-visible operation on the GtkTextBuffer. See also: gtk_text_buffer_end_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection(), gtk_text_buffer_backspace(). Parameters textbuffer the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“insert-child-anchor”</literal> signal GtkTextBuffer::insert-child-anchor void user_function (GtkTextBuffer *textbuffer, GtkTextIter *location, GtkTextChildAnchor *anchor, gpointer user_data) The “insert-child-anchor” signal is emitted to insert a GtkTextChildAnchor in a GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted anchor . See also: gtk_text_buffer_insert_child_anchor(). Parameters textbuffer the object which received the signal location position to insert anchor in textbuffer anchor the GtkTextChildAnchor to be inserted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“insert-paintable”</literal> signal GtkTextBuffer::insert-paintable void user_function (GtkTextBuffer *textbuffer, GtkTextIter *location, GdkPaintable *paintable, gpointer user_data) The “insert-paintable” signal is emitted to insert a GdkPaintable in a GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted paintable . See also: gtk_text_buffer_insert_paintable(). Parameters textbuffer the object which received the signal location position to insert paintable in textbuffer paintable the GdkPaintable to be inserted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“insert-text”</literal> signal GtkTextBuffer::insert-text void user_function (GtkTextBuffer *textbuffer, GtkTextIter *location, gchar *text, gint len, gpointer user_data) The ::insert-text signal is emitted to insert text in a GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the location iter (or has to revalidate it). The default signal handler revalidates it to point to the end of the inserted text. See also: gtk_text_buffer_insert(), gtk_text_buffer_insert_range(). Parameters textbuffer the object which received the signal location position to insert text in textbuffer text the UTF-8 text to be inserted len length of the inserted text in bytes user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“mark-deleted”</literal> signal GtkTextBuffer::mark-deleted void user_function (GtkTextBuffer *textbuffer, GtkTextMark *mark, gpointer user_data) The “mark-deleted” signal is emitted as notification after a GtkTextMark is deleted. See also: gtk_text_buffer_delete_mark(). Parameters textbuffer the object which received the signal mark The mark that was deleted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“mark-set”</literal> signal GtkTextBuffer::mark-set void user_function (GtkTextBuffer *textbuffer, GtkTextIter *location, GtkTextMark *mark, gpointer user_data) The “mark-set” signal is emitted as notification after a GtkTextMark is set. See also: gtk_text_buffer_create_mark(), gtk_text_buffer_move_mark(). Parameters textbuffer the object which received the signal location The location of mark in textbuffer mark The mark that is set user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“modified-changed”</literal> signal GtkTextBuffer::modified-changed void user_function (GtkTextBuffer *textbuffer, gpointer user_data) The “modified-changed” signal is emitted when the modified bit of a GtkTextBuffer flips. See also: gtk_text_buffer_set_modified(). Parameters textbuffer the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“paste-done”</literal> signal GtkTextBuffer::paste-done void user_function (GtkTextBuffer *textbuffer, GdkClipboard *clipboard, gpointer user_data) The paste-done signal is emitted after paste operation has been completed. This is useful to properly scroll the view to the end of the pasted text. See gtk_text_buffer_paste_clipboard() for more details. Parameters textbuffer the object which received the signal clipboard the GdkClipboard pasted from user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“redo”</literal> signal GtkTextBuffer::redo void user_function (GtkTextBuffer *buffer, gpointer user_data) The "redo" signal is emitted when a request has been made to redo the previously undone operation. Parameters buffer a GtkTextBuffer user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“remove-tag”</literal> signal GtkTextBuffer::remove-tag void user_function (GtkTextBuffer *textbuffer, GtkTextTag *tag, GtkTextIter *start, GtkTextIter *end, gpointer user_data) The “remove-tag” signal is emitted to remove all occurrences of tag from a range of text in a GtkTextBuffer. Removal actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the start and end iters (or has to revalidate them). See also: gtk_text_buffer_remove_tag(). Parameters textbuffer the object which received the signal tag the tag to be removed start the start of the range the tag is removed from end the end of the range the tag is removed from user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“undo”</literal> signal GtkTextBuffer::undo void user_function (GtkTextBuffer *buffer, gpointer user_data) The "undo" signal is emitted when a request has been made to undo the previous operation or set of operations that have been grouped together. Parameters buffer a GtkTextBuffer user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkTextView, GtkTextIter, GtkTextMark docs/reference/gtk/xml/gtkbuildable.xml0000664000175000017500000012766413710700311020345 0ustar mclasenmclasen ]> GtkBuildable 3 GTK4 Library GtkBuildable Interface for objects that can be built by GtkBuilder Functions void gtk_buildable_set_name () const char * gtk_buildable_get_name () void gtk_buildable_add_child () void gtk_buildable_set_buildable_property () GObject * gtk_buildable_construct_child () gboolean gtk_buildable_custom_tag_start () void gtk_buildable_custom_tag_end () void gtk_buildable_custom_finished () void gtk_buildable_parser_finished () GObject * gtk_buildable_get_internal_child () Types and Values GtkBuildable structGtkBuildableIface Object Hierarchy GInterface ╰── GtkBuildable Prerequisites GtkBuildable requires GObject. Known Implementations GtkBuildable is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAnyFilter, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellArea, GtkCellAreaBox, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkConstraintLayout, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkEntryCompletion, GtkEveryFilter, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileFilter, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListStore, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkMultiFilter, GtkMultiSorter, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutController, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSizeGroup, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkStringList, GtkSwitch, GtkText, GtkTextTagTable, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeStore, GtkTreeView, GtkTreeViewColumn, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle. Includes#include <gtk/gtk.h> Description GtkBuildable allows objects to extend and customize their deserialization from GtkBuilder UI descriptions. The interface includes methods for setting names and properties of objects, parsing custom tags and constructing child objects. The GtkBuildable interface is implemented by all widgets and many of the non-widget objects that are provided by GTK+. The main user of this interface is GtkBuilder. There should be very little need for applications to call any of these functions directly. An object only needs to implement this interface if it needs to extend the GtkBuilder format or run any extra routines at deserialization time. Functions gtk_buildable_set_name () gtk_buildable_set_name void gtk_buildable_set_name (GtkBuildable *buildable, const char *name); Sets the name of the buildable object. Parameters buildable a GtkBuildable name name to set gtk_buildable_get_name () gtk_buildable_get_name const char * gtk_buildable_get_name (GtkBuildable *buildable); Gets the name of the buildable object. GtkBuilder sets the name based on the GtkBuilder UI definition used to construct the buildable . Parameters buildable a GtkBuildable Returns the name set with gtk_buildable_set_name() gtk_buildable_add_child () gtk_buildable_add_child void gtk_buildable_add_child (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *type); Adds a child to buildable . type is an optional string describing how the child should be added. Parameters buildable a GtkBuildable builder a GtkBuilder child child to add type kind of child or NULL. [allow-none] gtk_buildable_set_buildable_property () gtk_buildable_set_buildable_property void gtk_buildable_set_buildable_property (GtkBuildable *buildable, GtkBuilder *builder, const char *name, const GValue *value); Sets the property name name to value on the buildable object. Parameters buildable a GtkBuildable builder a GtkBuilder name name of property value value of property gtk_buildable_construct_child () gtk_buildable_construct_child GObject * gtk_buildable_construct_child (GtkBuildable *buildable, GtkBuilder *builder, const char *name); Constructs a child of buildable with the name name . GtkBuilder calls this function if a “constructor” has been specified in the UI definition. Parameters buildable A GtkBuildable builder GtkBuilder used to construct this object name name of child to construct Returns the constructed child. [transfer full] gtk_buildable_custom_tag_start () gtk_buildable_custom_tag_start gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, GtkBuildableParser *parser, gpointer *data); This is called for each unknown element under <child>. Parameters buildable a GtkBuildable builder a GtkBuilder used to construct this object child child object or NULL for non-child tags. [allow-none] tagname name of tag parser a GMarkupParser to fill in. [out] data return location for user data that will be passed in to parser functions. [out] Returns TRUE if an object has a custom implementation, FALSE if it doesn't. gtk_buildable_custom_tag_end () gtk_buildable_custom_tag_end void gtk_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); This is called at the end of each custom element handled by the buildable. Parameters buildable A GtkBuildable builder GtkBuilder used to construct this object child child object or NULL for non-child tags. [allow-none] tagname name of tag data user data that will be passed in to parser functions gtk_buildable_custom_finished () gtk_buildable_custom_finished void gtk_buildable_custom_finished (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); This is similar to gtk_buildable_parser_finished() but is called once for each custom tag handled by the buildable . Parameters buildable a GtkBuildable builder a GtkBuilder child child object or NULL for non-child tags. [allow-none] tagname the name of the tag data user data created in custom_tag_start gtk_buildable_parser_finished () gtk_buildable_parser_finished void gtk_buildable_parser_finished (GtkBuildable *buildable, GtkBuilder *builder); Called when the builder finishes the parsing of a GtkBuilder UI definition. Note that this will be called once for each time gtk_builder_add_from_file() or gtk_builder_add_from_string() is called on a builder. Parameters buildable a GtkBuildable builder a GtkBuilder gtk_buildable_get_internal_child () gtk_buildable_get_internal_child GObject * gtk_buildable_get_internal_child (GtkBuildable *buildable, GtkBuilder *builder, const char *childname); Get the internal child called childname of the buildable object. Parameters buildable a GtkBuildable builder a GtkBuilder childname name of child Returns the internal child of the buildable object. [transfer none] Types and Values GtkBuildable GtkBuildable typedef struct _GtkBuildable GtkBuildable; struct GtkBuildableIface GtkBuildableIface struct GtkBuildableIface { GTypeInterface g_iface; /* virtual table */ void (* set_name) (GtkBuildable *buildable, const char *name); const char * (* get_name) (GtkBuildable *buildable); void (* add_child) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *type); void (* set_buildable_property) (GtkBuildable *buildable, GtkBuilder *builder, const char *name, const GValue *value); GObject * (* construct_child) (GtkBuildable *buildable, GtkBuilder *builder, const char *name); gboolean (* custom_tag_start) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, GtkBuildableParser *parser, gpointer *data); void (* custom_tag_end) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); void (* custom_finished) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const char *tagname, gpointer data); void (* parser_finished) (GtkBuildable *buildable, GtkBuilder *builder); GObject * (* get_internal_child) (GtkBuildable *buildable, GtkBuilder *builder, const char *childname); }; The GtkBuildableIface interface contains method that are necessary to allow GtkBuilder to construct an object from a GtkBuilder UI definition. Members set_name () Stores the name attribute given in the GtkBuilder UI definition. GtkWidget stores the name as object data. Implement this method if your object has some notion of “name” and it makes sense to map the XML name attribute to it. get_name () The getter corresponding to set_name . Implement this if you implement set_name . add_child () Adds a child. The type parameter can be used to differentiate the kind of child. GtkWidget implements this to add event controllers to the widget, GtkNotebook uses the type to distinguish between page labels (of type "page-label") and normal children. set_buildable_property () Sets a property of a buildable object. It is normally not necessary to implement this, g_object_set_property() is used by default. GtkWindow implements this to delay showing itself (i.e. setting the “visible” property) until the whole interface is created. construct_child () Constructs a child of a buildable that has been specified as “constructor” in the UI definition. This can be used to reference a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy. A reference to the constructed object is returned and becomes owned by the caller. custom_tag_start () Implement this if the buildable needs to parse content below <child>. To handle an element, the implementation must fill in the parser and user_data and return TRUE. GtkWidget implements this to parse keyboard accelerators specified in <accelerator> elements. Note that user_data must be freed in custom_tag_end or custom_finished . custom_tag_end () Called for the end tag of each custom element that is handled by the buildable (see custom_tag_start ). custom_finished () Called for each custom tag handled by the buildable when the builder finishes parsing (see custom_tag_start ) parser_finished () Called when a builder finishes the parsing of a UI definition. It is normally not necessary to implement this, unless you need to perform special cleanup actions. GtkWindow sets the “visible” property here. get_internal_child () Returns an internal child of a buildable. GtkDialog implements this to give access to its vbox , making it possible to add children to the vbox in a UI definition. Implement this if the buildable has internal children that may need to be accessed from a UI definition. docs/reference/gtk/xml/gtkinfobar.xml0000664000175000017500000013474613710700311020041 0ustar mclasenmclasen ]> GtkInfoBar 3 GTK4 Library GtkInfoBar Report important messages to the user Functions GtkWidget * gtk_info_bar_new () GtkWidget * gtk_info_bar_new_with_buttons () void gtk_info_bar_add_action_widget () void gtk_info_bar_remove_action_widget () GtkWidget * gtk_info_bar_add_button () void gtk_info_bar_add_buttons () void gtk_info_bar_set_response_sensitive () void gtk_info_bar_set_default_response () void gtk_info_bar_response () void gtk_info_bar_set_message_type () GtkMessageType gtk_info_bar_get_message_type () gboolean gtk_info_bar_get_show_close_button () void gtk_info_bar_set_show_close_button () gboolean gtk_info_bar_get_revealed () void gtk_info_bar_set_revealed () void gtk_info_bar_add_child () void gtk_info_bar_remove_child () Properties GtkMessageTypemessage-typeRead / Write / Construct gbooleanrevealedRead / Write gbooleanshow-close-buttonRead / Write / Construct Signals voidcloseAction voidresponseRun Last Types and Values GtkInfoBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkInfoBar Implemented Interfaces GtkInfoBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkInfoBar is a widget that can be used to show messages to the user without showing a dialog. It is often temporarily shown at the top or bottom of a document. In contrast to GtkDialog, which has an action area at the bottom, GtkInfoBar has an action area at the side. The API of GtkInfoBar is very similar to GtkDialog, allowing you to add buttons to the action area with gtk_info_bar_add_button() or gtk_info_bar_new_with_buttons(). The sensitivity of action widgets can be controlled with gtk_info_bar_set_response_sensitive(). To add widgets to the main content area of a GtkInfoBar, use gtk_info_bar_add_child(). Similar to GtkMessageDialog, the contents of a GtkInfoBar can by classified as error message, warning, informational message, etc, by using gtk_info_bar_set_message_type(). GTK+ may use the message type to determine how the message is displayed. A simple example for using a GtkInfoBar: GtkInfoBar as GtkBuildableThe GtkInfoBar implementation of the GtkBuildable interface exposes the content area and action area as internal children with the names “content_area” and “action_area”. GtkInfoBar supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs action_area ). CSS nodesGtkInfoBar has a single CSS node with name infobar. The node may get one of the style classes .info, .warning, .error or .question, depending on the message type. If the info bar shows a close button, that button will have the .close style class applied. Functions gtk_info_bar_new () gtk_info_bar_new GtkWidget * gtk_info_bar_new (void); Creates a new GtkInfoBar object. Returns a new GtkInfoBar object gtk_info_bar_new_with_buttons () gtk_info_bar_new_with_buttons GtkWidget * gtk_info_bar_new_with_buttons (const char *first_button_text, ...); Creates a new GtkInfoBar with buttons. Button text/response ID pairs should be listed, with a NULL pointer ending the list. A response ID can be any positive number, or one of the values in the GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkInfoBar will emit the “response” signal with the corresponding response ID. Parameters first_button_text ext to go in first button, or NULL. [allow-none] ... response ID for first button, then additional buttons, ending with NULL Returns a new GtkInfoBar gtk_info_bar_add_action_widget () gtk_info_bar_add_action_widget void gtk_info_bar_add_action_widget (GtkInfoBar *info_bar, GtkWidget *child, int response_id); Add an activatable widget to the action area of a GtkInfoBar, connecting a signal handler that will emit the “response” signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area. Parameters info_bar a GtkInfoBar child an activatable widget response_id response ID for child gtk_info_bar_remove_action_widget () gtk_info_bar_remove_action_widget void gtk_info_bar_remove_action_widget (GtkInfoBar *info_bar, GtkWidget *widget); Removes a widget from the action area of info_bar , after it been put there by a call to gtk_info_bar_add_action_widget() or gtk_info_bar_add_button(). Parameters info_bar a GtkInfoBar widget an action widget to remove gtk_info_bar_add_button () gtk_info_bar_add_button GtkWidget * gtk_info_bar_add_button (GtkInfoBar *info_bar, const char *button_text, int response_id); Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id. The button is appended to the end of the info bars's action area. The button widget is returned, but usually you don't need it. Parameters info_bar a GtkInfoBar button_text text of button response_id response ID for the button Returns the GtkButton widget that was added. [transfer none][type Gtk.Button] gtk_info_bar_add_buttons () gtk_info_bar_add_buttons void gtk_info_bar_add_buttons (GtkInfoBar *info_bar, const char *first_button_text, ...); Adds more buttons, same as calling gtk_info_bar_add_button() repeatedly. The variable argument list should be NULL-terminated as with gtk_info_bar_new_with_buttons(). Each button must have both text and response ID. Parameters info_bar a GtkInfoBar first_button_text button text ... response ID for first button, then more text-response_id pairs, ending with NULL gtk_info_bar_set_response_sensitive () gtk_info_bar_set_response_sensitive void gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar, int response_id, gboolean setting); Calls gtk_widget_set_sensitive (widget, setting) for each widget in the info bars’s action area with the given response_id. A convenient way to sensitize/desensitize dialog buttons. Parameters info_bar a GtkInfoBar response_id a response ID setting TRUE for sensitive gtk_info_bar_set_default_response () gtk_info_bar_set_default_response void gtk_info_bar_set_default_response (GtkInfoBar *info_bar, int response_id); Sets the last widget in the info bar’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget. Note that this function currently requires info_bar to be added to a widget hierarchy. Parameters info_bar a GtkInfoBar response_id a response ID gtk_info_bar_response () gtk_info_bar_response void gtk_info_bar_response (GtkInfoBar *info_bar, int response_id); Emits the “response” signal with the given response_id . Parameters info_bar a GtkInfoBar response_id a response ID gtk_info_bar_set_message_type () gtk_info_bar_set_message_type void gtk_info_bar_set_message_type (GtkInfoBar *info_bar, GtkMessageType message_type); Sets the message type of the message area. GTK+ uses this type to determine how the message is displayed. Parameters info_bar a GtkInfoBar message_type a GtkMessageType gtk_info_bar_get_message_type () gtk_info_bar_get_message_type GtkMessageType gtk_info_bar_get_message_type (GtkInfoBar *info_bar); Returns the message type of the message area. Parameters info_bar a GtkInfoBar Returns the message type of the message area. gtk_info_bar_get_show_close_button () gtk_info_bar_get_show_close_button gboolean gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar); Returns whether the widget will display a standard close button. Parameters info_bar a GtkInfoBar Returns TRUE if the widget displays standard close button gtk_info_bar_set_show_close_button () gtk_info_bar_set_show_close_button void gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar, gboolean setting); If true, a standard close button is shown. When clicked it emits the response GTK_RESPONSE_CLOSE. Parameters info_bar a GtkInfoBar setting TRUE to include a close button gtk_info_bar_get_revealed () gtk_info_bar_get_revealed gboolean gtk_info_bar_get_revealed (GtkInfoBar *info_bar); Returns whether the info bar is currently revealed. Parameters info_bar a GtkInfoBar Returns the current value of the “revealed” property gtk_info_bar_set_revealed () gtk_info_bar_set_revealed void gtk_info_bar_set_revealed (GtkInfoBar *info_bar, gboolean revealed); Sets the “revealed” property to revealed . Changing this will make info_bar reveal (TRUE) or conceal (FALSE) itself via a sliding transition. Note: this does not show or hide info_bar in the “visible” sense, so revealing has no effect if “visible” is FALSE. Parameters info_bar a GtkInfoBar revealed The new value of the property gtk_info_bar_add_child () gtk_info_bar_add_child void gtk_info_bar_add_child (GtkInfoBar *info_bar, GtkWidget *widget); Adds a widget to the content area of the info bar. Parameters info_bar a GtkInfoBar widget the child to be added gtk_info_bar_remove_child () gtk_info_bar_remove_child void gtk_info_bar_remove_child (GtkInfoBar *info_bar, GtkWidget *widget); Removes a widget from the content area of the info bar, after it has been added with gtk_info_bar_add_child(). Parameters info_bar a GtkInfoBar widget a child that has been added to the content area Types and Values GtkInfoBar GtkInfoBar typedef struct _GtkInfoBar GtkInfoBar; Property Details The <literal>“message-type”</literal> property GtkInfoBar:message-type “message-type” GtkMessageType The type of the message. The type may be used to determine the appearance of the info bar. Owner: GtkInfoBar Flags: Read / Write / Construct Default value: GTK_MESSAGE_INFO The <literal>“revealed”</literal> property GtkInfoBar:revealed “revealed” gboolean Controls whether the info bar shows its contents or not.Owner: GtkInfoBar Flags: Read / Write Default value: TRUE The <literal>“show-close-button”</literal> property GtkInfoBar:show-close-button “show-close-button” gboolean Whether to include a standard close button. Owner: GtkInfoBar Flags: Read / Write / Construct Default value: FALSE Signal Details The <literal>“close”</literal> signal GtkInfoBar::close void user_function (GtkInfoBar *infobar, gpointer user_data) The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to dismiss the info bar. The default binding for this signal is the Escape key. Parameters user_data user data set when the signal handler was connected. Flags: Action The <literal>“response”</literal> signal GtkInfoBar::response void user_function (GtkInfoBar *info_bar, gint response_id, gpointer user_data) Emitted when an action widget is clicked or the application programmer calls gtk_info_bar_response(). The response_id depends on which action widget was clicked. Parameters info_bar the object on which the signal is emitted response_id the response ID user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkStatusbar, GtkMessageDialog docs/reference/gtk/xml/gtkbuilderscope.xml0000664000175000017500000003201213710700311021060 0ustar mclasenmclasen ]> GtkBuilderScope 3 GTK4 Library GtkBuilderScope Bindings for GtkBuilder Functions GtkBuilderScope * gtk_builder_cscope_new () void gtk_builder_cscope_add_callback_symbol () void gtk_builder_cscope_add_callback_symbols () GCallback gtk_builder_cscope_lookup_callback_symbol () Includes#include <gtk/gtk.h> Description GtkBuilderScope is an interface to provide support to GtkBuilder, primarily for looking up programming-language-specific values for strings that are given in a GtkBuilder UI file. The primary intended audience is bindings that want to provide deeper integration of GtkBuilder into the language. A GtkBuilderScope instance may be used with multiple GtkBuilder objects, even at once. By default, GTK will use its own implementation of GtkBuilderScope for the C language which can be created via gtk_builder_cscope_new(). GtkBuilderCScope instances use symbols explicitly added to builder with prior calls to gtk_builder_cscope_add_callback_symbol(). If developers want to do that, they are encouraged to create their own scopes for that purpose. In the case that symbols are not explicitly added; GTK will uses GModule’s introspective features (by opening the module NULL) to look at the application’s symbol table. From here it tries to match the signal function names given in the interface description with symbols in the application. Note that unless gtk_builder_cscope_add_callback_symbol() is called for all signal callbacks which are referenced by the loaded XML, this functionality will require that GModule be supported on the platform. Functions gtk_builder_cscope_new () gtk_builder_cscope_new GtkBuilderScope * gtk_builder_cscope_new (void); Creates a new GtkBuilderCScope object to use with future GtkBuilder instances. Calling this function is only necessary if you want to add custom callbacks via gtk_builder_cscope_add_callback_symbol(). Returns a new GtkBuilderCScope. [transfer full] gtk_builder_cscope_add_callback_symbol () gtk_builder_cscope_add_callback_symbol void gtk_builder_cscope_add_callback_symbol (GtkBuilderCScope *self, const char *callback_name, GCallback callback_symbol); Adds the callback_symbol to the scope of builder under the given callback_name . Using this function overrides the behavior of gtk_builder_create_closure() for any callback symbols that are added. Using this method allows for better encapsulation as it does not require that callback symbols be declared in the global namespace. Parameters self a GtkBuilderCScope callback_name The name of the callback, as expected in the XML callback_symbol The callback pointer. [scope async] gtk_builder_cscope_add_callback_symbols () gtk_builder_cscope_add_callback_symbols void gtk_builder_cscope_add_callback_symbols (GtkBuilderCScope *self, const char *first_callback_name, GCallback first_callback_symbol, ...); A convenience function to add many callbacks instead of calling gtk_builder_cscope_add_callback_symbol() for each symbol. [skip] Parameters self a GtkBuilderCScope first_callback_name The name of the callback, as expected in the XML first_callback_symbol The callback pointer. [scope async] ... A list of callback name and callback symbol pairs terminated with NULL gtk_builder_cscope_lookup_callback_symbol () gtk_builder_cscope_lookup_callback_symbol GCallback gtk_builder_cscope_lookup_callback_symbol (GtkBuilderCScope *self, const char *callback_name); Fetches a symbol previously added to self with gtk_builder_cscope_add_callback_symbol(). [skip] Parameters self a GtkBuilderCScope callback_name The name of the callback Returns The callback symbol in builder for callback_name , or NULL. [nullable][transfer none] See Also GtkBuilder, GClosure docs/reference/gtk/xml/gtktextiter.xml0000664000175000017500000060724013710700312020264 0ustar mclasenmclasen ]> GtkTextIter 3 GTK4 Library GtkTextIter Text buffer iterator Functions GtkTextBuffer * gtk_text_iter_get_buffer () GtkTextIter * gtk_text_iter_copy () void gtk_text_iter_assign () void gtk_text_iter_free () int gtk_text_iter_get_offset () int gtk_text_iter_get_line () int gtk_text_iter_get_line_offset () int gtk_text_iter_get_line_index () int gtk_text_iter_get_visible_line_index () int gtk_text_iter_get_visible_line_offset () gunichar gtk_text_iter_get_char () char * gtk_text_iter_get_slice () char * gtk_text_iter_get_text () char * gtk_text_iter_get_visible_slice () char * gtk_text_iter_get_visible_text () GSList * gtk_text_iter_get_marks () GSList * gtk_text_iter_get_toggled_tags () GtkTextChildAnchor * gtk_text_iter_get_child_anchor () gboolean gtk_text_iter_starts_tag () gboolean gtk_text_iter_ends_tag () gboolean gtk_text_iter_toggles_tag () gboolean gtk_text_iter_has_tag () GSList * gtk_text_iter_get_tags () gboolean gtk_text_iter_editable () gboolean gtk_text_iter_can_insert () gboolean gtk_text_iter_starts_word () gboolean gtk_text_iter_ends_word () gboolean gtk_text_iter_inside_word () gboolean gtk_text_iter_starts_line () gboolean gtk_text_iter_ends_line () gboolean gtk_text_iter_starts_sentence () gboolean gtk_text_iter_ends_sentence () gboolean gtk_text_iter_inside_sentence () gboolean gtk_text_iter_is_cursor_position () int gtk_text_iter_get_chars_in_line () int gtk_text_iter_get_bytes_in_line () PangoLanguage * gtk_text_iter_get_language () gboolean gtk_text_iter_is_end () gboolean gtk_text_iter_is_start () gboolean gtk_text_iter_forward_char () gboolean gtk_text_iter_backward_char () gboolean gtk_text_iter_forward_chars () gboolean gtk_text_iter_backward_chars () gboolean gtk_text_iter_forward_line () gboolean gtk_text_iter_backward_line () gboolean gtk_text_iter_forward_lines () gboolean gtk_text_iter_backward_lines () gboolean gtk_text_iter_forward_word_ends () gboolean gtk_text_iter_backward_word_starts () gboolean gtk_text_iter_forward_word_end () gboolean gtk_text_iter_backward_word_start () gboolean gtk_text_iter_forward_cursor_position () gboolean gtk_text_iter_backward_cursor_position () gboolean gtk_text_iter_forward_cursor_positions () gboolean gtk_text_iter_backward_cursor_positions () gboolean gtk_text_iter_backward_sentence_start () gboolean gtk_text_iter_backward_sentence_starts () gboolean gtk_text_iter_forward_sentence_end () gboolean gtk_text_iter_forward_sentence_ends () gboolean gtk_text_iter_forward_visible_word_ends () gboolean gtk_text_iter_backward_visible_word_starts () gboolean gtk_text_iter_forward_visible_word_end () gboolean gtk_text_iter_backward_visible_word_start () gboolean gtk_text_iter_forward_visible_cursor_position () gboolean gtk_text_iter_backward_visible_cursor_position () gboolean gtk_text_iter_forward_visible_cursor_positions () gboolean gtk_text_iter_backward_visible_cursor_positions () gboolean gtk_text_iter_forward_visible_line () gboolean gtk_text_iter_backward_visible_line () gboolean gtk_text_iter_forward_visible_lines () gboolean gtk_text_iter_backward_visible_lines () void gtk_text_iter_set_offset () void gtk_text_iter_set_line () void gtk_text_iter_set_line_offset () void gtk_text_iter_set_line_index () void gtk_text_iter_set_visible_line_index () void gtk_text_iter_set_visible_line_offset () void gtk_text_iter_forward_to_end () gboolean gtk_text_iter_forward_to_line_end () gboolean gtk_text_iter_forward_to_tag_toggle () gboolean gtk_text_iter_backward_to_tag_toggle () gboolean (*GtkTextCharPredicate) () gboolean gtk_text_iter_forward_find_char () gboolean gtk_text_iter_backward_find_char () gboolean gtk_text_iter_forward_search () gboolean gtk_text_iter_backward_search () gboolean gtk_text_iter_equal () int gtk_text_iter_compare () gboolean gtk_text_iter_in_range () void gtk_text_iter_order () Types and Values GtkTextIter enumGtkTextSearchFlags Object Hierarchy GBoxed ╰── GtkTextIter Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. Functions gtk_text_iter_get_buffer () gtk_text_iter_get_buffer GtkTextBuffer * gtk_text_iter_get_buffer (const GtkTextIter *iter); Returns the GtkTextBuffer this iterator is associated with. Parameters iter an iterator Returns the buffer. [transfer none] gtk_text_iter_copy () gtk_text_iter_copy GtkTextIter * gtk_text_iter_copy (const GtkTextIter *iter); Creates a dynamically-allocated copy of an iterator. This function is not useful in applications, because iterators can be copied with a simple assignment (GtkTextIter i = j;). The function is used by language bindings. Parameters iter an iterator Returns a copy of the iter , free with gtk_text_iter_free() gtk_text_iter_assign () gtk_text_iter_assign void gtk_text_iter_assign (GtkTextIter *iter, const GtkTextIter *other); Assigns the value of other to iter . This function is not useful in applications, because iterators can be assigned with GtkTextIter i = j;. The function is used by language bindings. Parameters iter a GtkTextIter other another GtkTextIter gtk_text_iter_free () gtk_text_iter_free void gtk_text_iter_free (GtkTextIter *iter); Free an iterator allocated on the heap. This function is intended for use in language bindings, and is not especially useful for applications, because iterators can simply be allocated on the stack. Parameters iter a dynamically-allocated iterator gtk_text_iter_get_offset () gtk_text_iter_get_offset int gtk_text_iter_get_offset (const GtkTextIter *iter); Returns the character offset of an iterator. Each character in a GtkTextBuffer has an offset, starting with 0 for the first character in the buffer. Use gtk_text_buffer_get_iter_at_offset() to convert an offset back into an iterator. Parameters iter an iterator Returns a character offset gtk_text_iter_get_line () gtk_text_iter_get_line int gtk_text_iter_get_line (const GtkTextIter *iter); Returns the line number containing the iterator. Lines in a GtkTextBuffer are numbered beginning with 0 for the first line in the buffer. Parameters iter an iterator Returns a line number gtk_text_iter_get_line_offset () gtk_text_iter_get_line_offset int gtk_text_iter_get_line_offset (const GtkTextIter *iter); Returns the character offset of the iterator, counting from the start of a newline-terminated line. The first character on the line has offset 0. Parameters iter an iterator Returns offset from start of line gtk_text_iter_get_line_index () gtk_text_iter_get_line_index int gtk_text_iter_get_line_index (const GtkTextIter *iter); Returns the byte index of the iterator, counting from the start of a newline-terminated line. Remember that GtkTextBuffer encodes text in UTF-8, and that characters can require a variable number of bytes to represent. Parameters iter an iterator Returns distance from start of line, in bytes gtk_text_iter_get_visible_line_index () gtk_text_iter_get_visible_line_index int gtk_text_iter_get_visible_line_index (const GtkTextIter *iter); Returns the number of bytes from the start of the line to the given iter , not counting bytes that are invisible due to tags with the “invisible” flag toggled on. Parameters iter a GtkTextIter Returns byte index of iter with respect to the start of the line gtk_text_iter_get_visible_line_offset () gtk_text_iter_get_visible_line_offset int gtk_text_iter_get_visible_line_offset (const GtkTextIter *iter); Returns the offset in characters from the start of the line to the given iter , not counting characters that are invisible due to tags with the “invisible” flag toggled on. Parameters iter a GtkTextIter Returns offset in visible characters from the start of the line gtk_text_iter_get_char () gtk_text_iter_get_char gunichar gtk_text_iter_get_char (const GtkTextIter *iter); The Unicode character at this iterator is returned. (Equivalent to operator* on a C++ iterator.) If the element at this iterator is a non-character element, such as an image embedded in the buffer, the Unicode “unknown” character 0xFFFC is returned. If invoked on the end iterator, zero is returned; zero is not a valid Unicode character. So you can write a loop which ends when gtk_text_iter_get_char() returns 0. Parameters iter an iterator Returns a Unicode character, or 0 if iter is not dereferenceable gtk_text_iter_get_slice () gtk_text_iter_get_slice char * gtk_text_iter_get_slice (const GtkTextIter *start, const GtkTextIter *end); Returns the text in the given range. A “slice” is an array of characters encoded in UTF-8 format, including the Unicode “unknown” character 0xFFFC for iterable non-character elements in the buffer, such as images. Because images are encoded in the slice, byte and character offsets in the returned array will correspond to byte offsets in the text buffer. Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a paintable or widget is in the buffer. Parameters start iterator at start of a range end iterator at end of a range Returns slice of text from the buffer. [transfer full] gtk_text_iter_get_text () gtk_text_iter_get_text char * gtk_text_iter_get_text (const GtkTextIter *start, const GtkTextIter *end); Returns text in the given range. If the range contains non-text elements such as images, the character and byte offsets in the returned string will not correspond to character and byte offsets in the buffer. If you want offsets to correspond, see gtk_text_iter_get_slice(). Parameters start iterator at start of a range end iterator at end of a range Returns array of characters from the buffer. [transfer full] gtk_text_iter_get_visible_slice () gtk_text_iter_get_visible_slice char * gtk_text_iter_get_visible_slice (const GtkTextIter *start, const GtkTextIter *end); Like gtk_text_iter_get_slice(), but invisible text is not included. Invisible text is usually invisible because a GtkTextTag with the “invisible” attribute turned on has been applied to it. Parameters start iterator at start of range end iterator at end of range Returns slice of text from the buffer. [transfer full] gtk_text_iter_get_visible_text () gtk_text_iter_get_visible_text char * gtk_text_iter_get_visible_text (const GtkTextIter *start, const GtkTextIter *end); Like gtk_text_iter_get_text(), but invisible text is not included. Invisible text is usually invisible because a GtkTextTag with the “invisible” attribute turned on has been applied to it. Parameters start iterator at start of range end iterator at end of range Returns string containing visible text in the range. [transfer full] gtk_text_iter_get_marks () gtk_text_iter_get_marks GSList * gtk_text_iter_get_marks (const GtkTextIter *iter); Returns a list of all GtkTextMark at this location. Because marks are not iterable (they don’t take up any "space" in the buffer, they are just marks in between iterable locations), multiple marks can exist in the same place. The returned list is not in any meaningful order. Parameters iter an iterator Returns list of GtkTextMark. [element-type GtkTextMark][transfer container] gtk_text_iter_get_toggled_tags () gtk_text_iter_get_toggled_tags GSList * gtk_text_iter_get_toggled_tags (const GtkTextIter *iter, gboolean toggled_on); Returns a list of GtkTextTag that are toggled on or off at this point. (If toggled_on is TRUE, the list contains tags that are toggled on.) If a tag is toggled on at iter , then some non-empty range of characters following iter has that tag applied to it. If a tag is toggled off, then some non-empty range following iter does not have the tag applied to it. Parameters iter an iterator toggled_on TRUE to get toggled-on tags Returns tags toggled at this point. [element-type GtkTextTag][transfer container] gtk_text_iter_get_child_anchor () gtk_text_iter_get_child_anchor GtkTextChildAnchor * gtk_text_iter_get_child_anchor (const GtkTextIter *iter); If the location at iter contains a child anchor, the anchor is returned (with no new reference count added). Otherwise, NULL is returned. Parameters iter an iterator Returns the anchor at iter . [transfer none] gtk_text_iter_starts_tag () gtk_text_iter_starts_tag gboolean gtk_text_iter_starts_tag (const GtkTextIter *iter, GtkTextTag *tag); Returns TRUE if tag is toggled on at exactly this point. If tag is NULL, returns TRUE if any tag is toggled on at this point. Note that if gtk_text_iter_starts_tag() returns TRUE, it means that iter is at the beginning of the tagged range, and that the character at iter is inside the tagged range. In other words, unlike gtk_text_iter_ends_tag(), if gtk_text_iter_starts_tag() returns TRUE, gtk_text_iter_has_tag() will also return TRUE for the same parameters. Parameters iter an iterator tag a GtkTextTag, or NULL. [nullable] Returns whether iter is the start of a range tagged with tag gtk_text_iter_ends_tag () gtk_text_iter_ends_tag gboolean gtk_text_iter_ends_tag (const GtkTextIter *iter, GtkTextTag *tag); Returns TRUE if tag is toggled off at exactly this point. If tag is NULL, returns TRUE if any tag is toggled off at this point. Note that if gtk_text_iter_ends_tag() returns TRUE, it means that iter is at the end of the tagged range, but that the character at iter is outside the tagged range. In other words, unlike gtk_text_iter_starts_tag(), if gtk_text_iter_ends_tag() returns TRUE, gtk_text_iter_has_tag() will return FALSE for the same parameters. Parameters iter an iterator tag a GtkTextTag, or NULL. [allow-none] Returns whether iter is the end of a range tagged with tag gtk_text_iter_toggles_tag () gtk_text_iter_toggles_tag gboolean gtk_text_iter_toggles_tag (const GtkTextIter *iter, GtkTextTag *tag); This is equivalent to (gtk_text_iter_starts_tag() || gtk_text_iter_ends_tag()), i.e. it tells you whether a range with tag applied to it begins or ends at iter . Parameters iter an iterator tag a GtkTextTag, or NULL. [allow-none] Returns whether tag is toggled on or off at iter gtk_text_iter_has_tag () gtk_text_iter_has_tag gboolean gtk_text_iter_has_tag (const GtkTextIter *iter, GtkTextTag *tag); Returns TRUE if iter points to a character that is part of a range tagged with tag . See also gtk_text_iter_starts_tag() and gtk_text_iter_ends_tag(). Parameters iter an iterator tag a GtkTextTag Returns whether iter is tagged with tag gtk_text_iter_get_tags () gtk_text_iter_get_tags GSList * gtk_text_iter_get_tags (const GtkTextIter *iter); Returns a list of tags that apply to iter , in ascending order of priority (highest-priority tags are last). The GtkTextTag in the list don’t have a reference added, but you have to free the list itself. Parameters iter a GtkTextIter Returns list of GtkTextTag. [element-type GtkTextTag][transfer container] gtk_text_iter_editable () gtk_text_iter_editable gboolean gtk_text_iter_editable (const GtkTextIter *iter, gboolean default_setting); Returns whether the character at iter is within an editable region of text. Non-editable text is “locked” and can’t be changed by the user via GtkTextView. This function is simply a convenience wrapper around gtk_text_iter_get_attributes(). If no tags applied to this text affect editability, default_setting will be returned. You don’t want to use this function to decide whether text can be inserted at iter , because for insertion you don’t want to know whether the char at iter is inside an editable range, you want to know whether a new character inserted at iter would be inside an editable range. Use gtk_text_iter_can_insert() to handle this case. Parameters iter an iterator default_setting TRUE if text is editable by default Returns whether iter is inside an editable range gtk_text_iter_can_insert () gtk_text_iter_can_insert gboolean gtk_text_iter_can_insert (const GtkTextIter *iter, gboolean default_editability); Considering the default editability of the buffer, and tags that affect editability, determines whether text inserted at iter would be editable. If text inserted at iter would be editable then the user should be allowed to insert text at iter . gtk_text_buffer_insert_interactive() uses this function to decide whether insertions are allowed at a given position. Parameters iter an iterator default_editability TRUE if text is editable by default Returns whether text inserted at iter would be editable gtk_text_iter_starts_word () gtk_text_iter_starts_word gboolean gtk_text_iter_starts_word (const GtkTextIter *iter); Determines whether iter begins a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter is at the start of a word gtk_text_iter_ends_word () gtk_text_iter_ends_word gboolean gtk_text_iter_ends_word (const GtkTextIter *iter); Determines whether iter ends a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter is at the end of a word gtk_text_iter_inside_word () gtk_text_iter_inside_word gboolean gtk_text_iter_inside_word (const GtkTextIter *iter); Determines whether the character pointed by iter is part of a natural-language word (as opposed to say inside some whitespace). Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Note that if gtk_text_iter_starts_word() returns TRUE, then this function returns TRUE too, since iter points to the first character of the word. Parameters iter a GtkTextIter Returns TRUE if iter is inside a word gtk_text_iter_starts_line () gtk_text_iter_starts_line gboolean gtk_text_iter_starts_line (const GtkTextIter *iter); Returns TRUE if iter begins a paragraph, i.e. if gtk_text_iter_get_line_offset() would return 0. However this function is potentially more efficient than gtk_text_iter_get_line_offset() because it doesn’t have to compute the offset, it just has to see whether it’s 0. Parameters iter an iterator Returns whether iter begins a line gtk_text_iter_ends_line () gtk_text_iter_ends_line gboolean gtk_text_iter_ends_line (const GtkTextIter *iter); Returns TRUE if iter points to the start of the paragraph delimiter characters for a line (delimiters will be either a newline, a carriage return, a carriage return followed by a newline, or a Unicode paragraph separator character). Note that an iterator pointing to the \n of a \r\n pair will not be counted as the end of a line, the line ends before the \r. The end iterator is considered to be at the end of a line, even though there are no paragraph delimiter chars there. Parameters iter an iterator Returns whether iter is at the end of a line gtk_text_iter_starts_sentence () gtk_text_iter_starts_sentence gboolean gtk_text_iter_starts_sentence (const GtkTextIter *iter); Determines whether iter begins a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). Parameters iter a GtkTextIter Returns TRUE if iter is at the start of a sentence. gtk_text_iter_ends_sentence () gtk_text_iter_ends_sentence gboolean gtk_text_iter_ends_sentence (const GtkTextIter *iter); Determines whether iter ends a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). Parameters iter a GtkTextIter Returns TRUE if iter is at the end of a sentence. gtk_text_iter_inside_sentence () gtk_text_iter_inside_sentence gboolean gtk_text_iter_inside_sentence (const GtkTextIter *iter); Determines whether iter is inside a sentence (as opposed to in between two sentences, e.g. after a period and before the first letter of the next sentence). Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). Parameters iter a GtkTextIter Returns TRUE if iter is inside a sentence. gtk_text_iter_is_cursor_position () gtk_text_iter_is_cursor_position gboolean gtk_text_iter_is_cursor_position (const GtkTextIter *iter); See gtk_text_iter_forward_cursor_position() or PangoLogAttr or pango_break() for details on what a cursor position is. Parameters iter a GtkTextIter Returns TRUE if the cursor can be placed at iter gtk_text_iter_get_chars_in_line () gtk_text_iter_get_chars_in_line int gtk_text_iter_get_chars_in_line (const GtkTextIter *iter); Returns the number of characters in the line containing iter , including the paragraph delimiters. Parameters iter an iterator Returns number of characters in the line gtk_text_iter_get_bytes_in_line () gtk_text_iter_get_bytes_in_line int gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter); Returns the number of bytes in the line containing iter , including the paragraph delimiters. Parameters iter an iterator Returns number of bytes in the line gtk_text_iter_get_language () gtk_text_iter_get_language PangoLanguage * gtk_text_iter_get_language (const GtkTextIter *iter); A convenience wrapper around gtk_text_iter_get_attributes(), which returns the language in effect at iter . If no tags affecting language apply to iter , the return value is identical to that of gtk_get_default_language(). Parameters iter an iterator Returns language in effect at iter . [transfer full] gtk_text_iter_is_end () gtk_text_iter_is_end gboolean gtk_text_iter_is_end (const GtkTextIter *iter); Returns TRUE if iter is the end iterator, i.e. one past the last dereferenceable iterator in the buffer. gtk_text_iter_is_end() is the most efficient way to check whether an iterator is the end iterator. Parameters iter an iterator Returns whether iter is the end iterator gtk_text_iter_is_start () gtk_text_iter_is_start gboolean gtk_text_iter_is_start (const GtkTextIter *iter); Returns TRUE if iter is the first iterator in the buffer, that is if iter has a character offset of 0. Parameters iter an iterator Returns whether iter is the first in the buffer gtk_text_iter_forward_char () gtk_text_iter_forward_char gboolean gtk_text_iter_forward_char (GtkTextIter *iter); Moves iter forward by one character offset. Note that images embedded in the buffer occupy 1 character slot, so gtk_text_iter_forward_char() may actually move onto an image instead of a character, if you have images in your buffer. If iter is the end iterator or one character before it, iter will now point at the end iterator, and gtk_text_iter_forward_char() returns FALSE for convenience when writing loops. Parameters iter an iterator Returns whether iter moved and is dereferenceable gtk_text_iter_backward_char () gtk_text_iter_backward_char gboolean gtk_text_iter_backward_char (GtkTextIter *iter); Moves backward by one character offset. Returns TRUE if movement was possible; if iter was the first in the buffer (character offset 0), gtk_text_iter_backward_char() returns FALSE for convenience when writing loops. Parameters iter an iterator Returns whether movement was possible gtk_text_iter_forward_chars () gtk_text_iter_forward_chars gboolean gtk_text_iter_forward_chars (GtkTextIter *iter, int count); Moves count characters if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the new position of iter is different from its original position, and dereferenceable (the last iterator in the buffer is not dereferenceable). If count is 0, the function does nothing and returns FALSE. Parameters iter an iterator count number of characters to move, may be negative Returns whether iter moved and is dereferenceable gtk_text_iter_backward_chars () gtk_text_iter_backward_chars gboolean gtk_text_iter_backward_chars (GtkTextIter *iter, int count); Moves count characters backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. Parameters iter an iterator count number of characters to move Returns whether iter moved and is dereferenceable gtk_text_iter_forward_line () gtk_text_iter_forward_line gboolean gtk_text_iter_forward_line (GtkTextIter *iter); Moves iter to the start of the next line. If the iter is already on the last line of the buffer, moves the iter to the end of the current line. If after the operation, the iter is at the end of the buffer and not dereferencable, returns FALSE. Otherwise, returns TRUE. Parameters iter an iterator Returns whether iter can be dereferenced gtk_text_iter_backward_line () gtk_text_iter_backward_line gboolean gtk_text_iter_backward_line (GtkTextIter *iter); Moves iter to the start of the previous line. Returns TRUE if iter could be moved; i.e. if iter was at character offset 0, this function returns FALSE. Therefore if iter was already on line 0, but not at the start of the line, iter is snapped to the start of the line and the function returns TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.) Parameters iter an iterator Returns whether iter moved gtk_text_iter_forward_lines () gtk_text_iter_forward_lines gboolean gtk_text_iter_forward_lines (GtkTextIter *iter, int count); Moves count lines forward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves backward by 0 - count lines. Parameters iter a GtkTextIter count number of lines to move forward Returns whether iter moved and is dereferenceable gtk_text_iter_backward_lines () gtk_text_iter_backward_lines gboolean gtk_text_iter_backward_lines (GtkTextIter *iter, int count); Moves count lines backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves forward by 0 - count lines. Parameters iter a GtkTextIter count number of lines to move backward Returns whether iter moved and is dereferenceable gtk_text_iter_forward_word_ends () gtk_text_iter_forward_word_ends gboolean gtk_text_iter_forward_word_ends (GtkTextIter *iter, int count); Calls gtk_text_iter_forward_word_end() up to count times. Parameters iter a GtkTextIter count number of times to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_backward_word_starts () gtk_text_iter_backward_word_starts gboolean gtk_text_iter_backward_word_starts (GtkTextIter *iter, int count); Calls gtk_text_iter_backward_word_start() up to count times. Parameters iter a GtkTextIter count number of times to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_word_end () gtk_text_iter_forward_word_end gboolean gtk_text_iter_forward_word_end (GtkTextIter *iter); Moves forward to the next word end. (If iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_backward_word_start () gtk_text_iter_backward_word_start gboolean gtk_text_iter_backward_word_start (GtkTextIter *iter); Moves backward to the previous word start. (If iter is currently on a word start, moves backward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_cursor_position () gtk_text_iter_forward_cursor_position gboolean gtk_text_iter_forward_cursor_position (GtkTextIter *iter); Moves iter forward by a single cursor position. Cursor positions are (unsurprisingly) positions where the cursor can appear. Perhaps surprisingly, there may not be a cursor position between all characters. The most common example for European languages would be a carriage return/newline sequence. For some Unicode characters, the equivalent of say the letter “a” with an accent mark will be represented as two characters, first the letter then a "combining mark" that causes the accent to be rendered; so the cursor can’t go between those two characters. See also the PangoLogAttr and pango_break() function. Parameters iter a GtkTextIter Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_backward_cursor_position () gtk_text_iter_backward_cursor_position gboolean gtk_text_iter_backward_cursor_position (GtkTextIter *iter); Like gtk_text_iter_forward_cursor_position(), but moves backward. Parameters iter a GtkTextIter Returns TRUE if we moved gtk_text_iter_forward_cursor_positions () gtk_text_iter_forward_cursor_positions gboolean gtk_text_iter_forward_cursor_positions (GtkTextIter *iter, int count); Moves up to count cursor positions. See gtk_text_iter_forward_cursor_position() for details. Parameters iter a GtkTextIter count number of positions to move Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_backward_cursor_positions () gtk_text_iter_backward_cursor_positions gboolean gtk_text_iter_backward_cursor_positions (GtkTextIter *iter, int count); Moves up to count cursor positions. See gtk_text_iter_forward_cursor_position() for details. Parameters iter a GtkTextIter count number of positions to move Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_backward_sentence_start () gtk_text_iter_backward_sentence_start gboolean gtk_text_iter_backward_sentence_start (GtkTextIter *iter); Moves backward to the previous sentence start; if iter is already at the start of a sentence, moves backward to the next one. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_backward_sentence_starts () gtk_text_iter_backward_sentence_starts gboolean gtk_text_iter_backward_sentence_starts (GtkTextIter *iter, int count); Calls gtk_text_iter_backward_sentence_start() up to count times, or until it returns FALSE. If count is negative, moves forward instead of backward. Parameters iter a GtkTextIter count number of sentences to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_sentence_end () gtk_text_iter_forward_sentence_end gboolean gtk_text_iter_forward_sentence_end (GtkTextIter *iter); Moves forward to the next sentence end. (If iter is at the end of a sentence, moves to the next end of sentence.) Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_sentence_ends () gtk_text_iter_forward_sentence_ends gboolean gtk_text_iter_forward_sentence_ends (GtkTextIter *iter, int count); Calls gtk_text_iter_forward_sentence_end() count times (or until gtk_text_iter_forward_sentence_end() returns FALSE). If count is negative, moves backward instead of forward. Parameters iter a GtkTextIter count number of sentences to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_visible_word_ends () gtk_text_iter_forward_visible_word_ends gboolean gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter, int count); Calls gtk_text_iter_forward_visible_word_end() up to count times. Parameters iter a GtkTextIter count number of times to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_backward_visible_word_starts () gtk_text_iter_backward_visible_word_starts gboolean gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter, int count); Calls gtk_text_iter_backward_visible_word_start() up to count times. Parameters iter a GtkTextIter count number of times to move Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_visible_word_end () gtk_text_iter_forward_visible_word_end gboolean gtk_text_iter_forward_visible_word_end (GtkTextIter *iter); Moves forward to the next visible word end. (If iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_backward_visible_word_start () gtk_text_iter_backward_visible_word_start gboolean gtk_text_iter_backward_visible_word_start (GtkTextIter *iter); Moves backward to the previous visible word start. (If iter is currently on a word start, moves backward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). Parameters iter a GtkTextIter Returns TRUE if iter moved and is not the end iterator gtk_text_iter_forward_visible_cursor_position () gtk_text_iter_forward_visible_cursor_position gboolean gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter); Moves iter forward to the next visible cursor position. See gtk_text_iter_forward_cursor_position() for details. Parameters iter a GtkTextIter Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_backward_visible_cursor_position () gtk_text_iter_backward_visible_cursor_position gboolean gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter); Moves iter forward to the previous visible cursor position. See gtk_text_iter_backward_cursor_position() for details. Parameters iter a GtkTextIter Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_forward_visible_cursor_positions () gtk_text_iter_forward_visible_cursor_positions gboolean gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter, int count); Moves up to count visible cursor positions. See gtk_text_iter_forward_cursor_position() for details. Parameters iter a GtkTextIter count number of positions to move Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_backward_visible_cursor_positions () gtk_text_iter_backward_visible_cursor_positions gboolean gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter, int count); Moves up to count visible cursor positions. See gtk_text_iter_backward_cursor_position() for details. Parameters iter a GtkTextIter count number of positions to move Returns TRUE if we moved and the new position is dereferenceable gtk_text_iter_forward_visible_line () gtk_text_iter_forward_visible_line gboolean gtk_text_iter_forward_visible_line (GtkTextIter *iter); Moves iter to the start of the next visible line. Returns TRUE if there was a next line to move to, and FALSE if iter was simply moved to the end of the buffer and is now not dereferenceable, or if iter was already at the end of the buffer. Parameters iter an iterator Returns whether iter can be dereferenced gtk_text_iter_backward_visible_line () gtk_text_iter_backward_visible_line gboolean gtk_text_iter_backward_visible_line (GtkTextIter *iter); Moves iter to the start of the previous visible line. Returns TRUE if iter could be moved; i.e. if iter was at character offset 0, this function returns FALSE. Therefore if iter was already on line 0, but not at the start of the line, iter is snapped to the start of the line and the function returns TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.) Parameters iter an iterator Returns whether iter moved gtk_text_iter_forward_visible_lines () gtk_text_iter_forward_visible_lines gboolean gtk_text_iter_forward_visible_lines (GtkTextIter *iter, int count); Moves count visible lines forward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves backward by 0 - count lines. Parameters iter a GtkTextIter count number of lines to move forward Returns whether iter moved and is dereferenceable gtk_text_iter_backward_visible_lines () gtk_text_iter_backward_visible_lines gboolean gtk_text_iter_backward_visible_lines (GtkTextIter *iter, int count); Moves count visible lines backward, if possible (if count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn’t move, or moved onto the end iterator, then FALSE is returned. If count is 0, the function does nothing and returns FALSE. If count is negative, moves forward by 0 - count lines. Parameters iter a GtkTextIter count number of lines to move backward Returns whether iter moved and is dereferenceable gtk_text_iter_set_offset () gtk_text_iter_set_offset void gtk_text_iter_set_offset (GtkTextIter *iter, int char_offset); Sets iter to point to char_offset . char_offset counts from the start of the entire text buffer, starting with 0. Parameters iter a GtkTextIter char_offset a character number gtk_text_iter_set_line () gtk_text_iter_set_line void gtk_text_iter_set_line (GtkTextIter *iter, int line_number); Moves iterator iter to the start of the line line_number . If line_number is negative or larger than the number of lines in the buffer, moves iter to the start of the last line in the buffer. Parameters iter a GtkTextIter line_number line number (counted from 0) gtk_text_iter_set_line_offset () gtk_text_iter_set_line_offset void gtk_text_iter_set_line_offset (GtkTextIter *iter, int char_on_line); Moves iter within a line, to a new character (not byte) offset. The given character offset must be less than or equal to the number of characters in the line; if equal, iter moves to the start of the next line. See gtk_text_iter_set_line_index() if you have a byte index rather than a character offset. Parameters iter a GtkTextIter char_on_line a character offset relative to the start of iter ’s current line gtk_text_iter_set_line_index () gtk_text_iter_set_line_index void gtk_text_iter_set_line_index (GtkTextIter *iter, int byte_on_line); Same as gtk_text_iter_set_line_offset(), but works with a byte index. The given byte index must be at the start of a character, it can’t be in the middle of a UTF-8 encoded character. Parameters iter a GtkTextIter byte_on_line a byte index relative to the start of iter ’s current line gtk_text_iter_set_visible_line_index () gtk_text_iter_set_visible_line_index void gtk_text_iter_set_visible_line_index (GtkTextIter *iter, int byte_on_line); Like gtk_text_iter_set_line_index(), but the index is in visible bytes, i.e. text with a tag making it invisible is not counted in the index. Parameters iter a GtkTextIter byte_on_line a byte index gtk_text_iter_set_visible_line_offset () gtk_text_iter_set_visible_line_offset void gtk_text_iter_set_visible_line_offset (GtkTextIter *iter, int char_on_line); Like gtk_text_iter_set_line_offset(), but the offset is in visible characters, i.e. text with a tag making it invisible is not counted in the offset. Parameters iter a GtkTextIter char_on_line a character offset gtk_text_iter_forward_to_end () gtk_text_iter_forward_to_end void gtk_text_iter_forward_to_end (GtkTextIter *iter); Moves iter forward to the “end iterator,” which points one past the last valid character in the buffer. gtk_text_iter_get_char() called on the end iterator returns 0, which is convenient for writing loops. Parameters iter a GtkTextIter gtk_text_iter_forward_to_line_end () gtk_text_iter_forward_to_line_end gboolean gtk_text_iter_forward_to_line_end (GtkTextIter *iter); Moves the iterator to point to the paragraph delimiter characters, which will be either a newline, a carriage return, a carriage return/newline in sequence, or the Unicode paragraph separator character. If the iterator is already at the paragraph delimiter characters, moves to the paragraph delimiter characters for the next line. If iter is on the last line in the buffer, which does not end in paragraph delimiters, moves to the end iterator (end of the last line), and returns FALSE. Parameters iter a GtkTextIter Returns TRUE if we moved and the new location is not the end iterator gtk_text_iter_forward_to_tag_toggle () gtk_text_iter_forward_to_tag_toggle gboolean gtk_text_iter_forward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag); Moves forward to the next toggle (on or off) of the GtkTextTag tag , or to the next toggle of any tag if tag is NULL. If no matching tag toggles are found, returns FALSE, otherwise TRUE. Does not return toggles located at iter , only toggles after iter . Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found. Parameters iter a GtkTextIter tag a GtkTextTag, or NULL. [allow-none] Returns whether we found a tag toggle after iter gtk_text_iter_backward_to_tag_toggle () gtk_text_iter_backward_to_tag_toggle gboolean gtk_text_iter_backward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag); Moves backward to the next toggle (on or off) of the GtkTextTag tag , or to the next toggle of any tag if tag is NULL. If no matching tag toggles are found, returns FALSE, otherwise TRUE. Does not return toggles located at iter , only toggles before iter . Sets iter to the location of the toggle, or the start of the buffer if no toggle is found. Parameters iter a GtkTextIter tag a GtkTextTag, or NULL. [allow-none] Returns whether we found a tag toggle before iter GtkTextCharPredicate () GtkTextCharPredicate gboolean (*GtkTextCharPredicate) (gunichar ch, gpointer user_data); gtk_text_iter_forward_find_char () gtk_text_iter_forward_find_char gboolean gtk_text_iter_forward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit); Advances iter , calling pred on each character. If pred returns TRUE, returns TRUE and stops scanning. If pred never returns TRUE, iter is set to limit if limit is non-NULL, otherwise to the end iterator. Parameters iter a GtkTextIter pred a function to be called on each character. [scope call] user_data user data for pred . [closure] limit search limit, or NULL for none. [allow-none] Returns whether a match was found gtk_text_iter_backward_find_char () gtk_text_iter_backward_find_char gboolean gtk_text_iter_backward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit); Same as gtk_text_iter_forward_find_char(), but goes backward from iter . Parameters iter a GtkTextIter pred function to be called on each character. [scope call] user_data user data for pred . [closure] limit search limit, or NULL for none. [allow-none] Returns whether a match was found gtk_text_iter_forward_search () gtk_text_iter_forward_search gboolean gtk_text_iter_forward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit); Searches forward for str . Any match is returned by setting match_start to the first character of the match and match_end to the first character after the match. The search will not continue past limit . Note that a search is a linear or O(n) operation, so you may wish to use limit to avoid locking up your UI on large buffers. match_start will never be set to a GtkTextIter located before iter , even if there is a possible match_end after or at iter . Parameters iter start of search str a search string flags flags affecting how the search is done match_start return location for start of match, or NULL. [out caller-allocates][allow-none] match_end return location for end of match, or NULL. [out caller-allocates][allow-none] limit location of last possible match_end , or NULL for the end of the buffer. [allow-none] Returns whether a match was found gtk_text_iter_backward_search () gtk_text_iter_backward_search gboolean gtk_text_iter_backward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit); Same as gtk_text_iter_forward_search(), but moves backward. match_end will never be set to a GtkTextIter located after iter , even if there is a possible match_start before or at iter . Parameters iter a GtkTextIter where the search begins str search string flags bitmask of flags affecting the search match_start return location for start of match, or NULL. [out caller-allocates][allow-none] match_end return location for end of match, or NULL. [out caller-allocates][allow-none] limit location of last possible match_start , or NULL for start of buffer. [allow-none] Returns whether a match was found gtk_text_iter_equal () gtk_text_iter_equal gboolean gtk_text_iter_equal (const GtkTextIter *lhs, const GtkTextIter *rhs); Tests whether two iterators are equal, using the fastest possible mechanism. This function is very fast; you can expect it to perform better than e.g. getting the character offset for each iterator and comparing the offsets yourself. Also, it’s a bit faster than gtk_text_iter_compare(). Parameters lhs a GtkTextIter rhs another GtkTextIter Returns TRUE if the iterators point to the same place in the buffer gtk_text_iter_compare () gtk_text_iter_compare int gtk_text_iter_compare (const GtkTextIter *lhs, const GtkTextIter *rhs); A qsort()-style function that returns negative if lhs is less than rhs , positive if lhs is greater than rhs , and 0 if they’re equal. Ordering is in character offset order, i.e. the first character in the buffer is less than the second character in the buffer. Parameters lhs a GtkTextIter rhs another GtkTextIter Returns -1 if lhs is less than rhs , 1 if lhs is greater, 0 if they are equal gtk_text_iter_in_range () gtk_text_iter_in_range gboolean gtk_text_iter_in_range (const GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end); Checks whether iter falls in the range [start , end ). start and end must be in ascending order. Parameters iter a GtkTextIter start start of range end end of range Returns TRUE if iter is in the range gtk_text_iter_order () gtk_text_iter_order void gtk_text_iter_order (GtkTextIter *first, GtkTextIter *second); Swaps the value of first and second if second comes before first in the buffer. That is, ensures that first and second are in sequence. Most text buffer functions that take a range call this automatically on your behalf, so there’s no real reason to call it yourself in those cases. There are some exceptions, such as gtk_text_iter_in_range(), that expect a pre-sorted range. Parameters first a GtkTextIter second another GtkTextIter Types and Values GtkTextIter GtkTextIter typedef struct { /* GtkTextIter is an opaque datatype; ignore all these fields. * Initialize the iter with gtk_text_buffer_get_iter_* * functions */ } GtkTextIter; enum GtkTextSearchFlags GtkTextSearchFlags Flags affecting how a search is done. If neither GTK_TEXT_SEARCH_VISIBLE_ONLY nor GTK_TEXT_SEARCH_TEXT_ONLY are enabled, the match must be exact; the special 0xFFFC character will match embedded paintables or child widgets. Members GTK_TEXT_SEARCH_VISIBLE_ONLY Search only visible data. A search match may have invisible text interspersed. GTK_TEXT_SEARCH_TEXT_ONLY Search only text. A match may have paintables or child widgets mixed inside the matched range. GTK_TEXT_SEARCH_CASE_INSENSITIVE The text will be matched regardless of what case it is in. docs/reference/gtk/xml/gtkbuilder.xml0000664000175000017500000027023713710700311020043 0ustar mclasenmclasen ]> GtkBuilder 3 GTK4 Library GtkBuilder Build an interface from an XML UI definition Functions GtkBuilder * gtk_builder_new () GtkBuilder * gtk_builder_new_from_file () GtkBuilder * gtk_builder_new_from_resource () GtkBuilder * gtk_builder_new_from_string () GClosure * gtk_builder_create_closure () gboolean gtk_builder_add_from_file () gboolean gtk_builder_add_from_resource () gboolean gtk_builder_add_from_string () gboolean gtk_builder_add_objects_from_file () gboolean gtk_builder_add_objects_from_string () gboolean gtk_builder_add_objects_from_resource () gboolean gtk_builder_extend_with_template () GObject * gtk_builder_get_object () GSList * gtk_builder_get_objects () void gtk_builder_expose_object () void gtk_builder_set_current_object () GObject * gtk_builder_get_current_object () void gtk_builder_set_scope () GtkBuilderScope * gtk_builder_get_scope () void gtk_builder_set_translation_domain () const char * gtk_builder_get_translation_domain () GType gtk_builder_get_type_from_name () gboolean gtk_builder_value_from_string () gboolean gtk_builder_value_from_string_type () #defineGTK_BUILDER_WARN_INVALID_CHILD_TYPE() Properties GObject *current-objectRead / Write GtkBuilderScope *scopeRead / Write / Construct gchar *translation-domainRead / Write Types and Values GtkBuilder enumGtkBuilderClosureFlags enumGtkBuilderError #defineGTK_BUILDER_ERROR Object Hierarchy GObject ╰── GtkBuilder Includes#include <gtk/gtk.h> Description A GtkBuilder is an auxiliary object that reads textual descriptions of a user interface and instantiates the described objects. To create a GtkBuilder from a user interface description, call gtk_builder_new_from_file(), gtk_builder_new_from_resource() or gtk_builder_new_from_string(). In the (unusual) case that you want to add user interface descriptions from multiple sources to the same GtkBuilder you can call gtk_builder_new() to get an empty builder and populate it by (multiple) calls to gtk_builder_add_from_file(), gtk_builder_add_from_resource() or gtk_builder_add_from_string(). A GtkBuilder holds a reference to all objects that it has constructed and drops these references when it is finalized. This finalization can cause the destruction of non-widget objects or widgets which are not contained in a toplevel window. For toplevel windows constructed by a builder, it is the responsibility of the user to call gtk_window_destroy() to get rid of them and all the widgets they contain. The functions gtk_builder_get_object() and gtk_builder_get_objects() can be used to access the widgets in the interface by the names assigned to them inside the UI description. Toplevel windows returned by these functions will stay around until the user explicitly destroys them with gtk_window_destroy(). Other widgets will either be part of a larger hierarchy constructed by the builder (in which case you should not have to worry about their lifecycle), or without a parent, in which case they have to be added to some container to make use of them. Non-widget objects need to be reffed with g_object_ref() to keep them beyond the lifespan of the builder. The function gtk_builder_connect_signals() and variants thereof can be used to connect handlers to the named signals in the description. GtkBuilder UI DefinitionsGtkBuilder parses textual descriptions of user interfaces which are specified in XML format. We refer to these descriptions as “GtkBuilder UI definitions” or just “UI definitions” if the context is clear. The toplevel element is <interface>. It optionally takes a “domain” attribute, which will make the builder look for translated strings using dgettext() in the domain specified. This can also be done by calling gtk_builder_set_translation_domain() on the builder. Objects are described by <object> elements, which can contain <property> elements to set properties, <signal> elements which connect signals to handlers, and <child> elements, which describe child objects (most often widgets inside a container, but also e.g. actions in an action group, or columns in a tree model). A <child> element contains an <object> element which describes the child object. The target toolkit version(s) are described by <requires> elements, the “lib” attribute specifies the widget library in question (currently the only supported value is “gtk+”) and the “version” attribute specifies the target version in the form “<major>.<minor>”. The builder will error out if the version requirements are not met. Typically, the specific kind of object represented by an <object> element is specified by the “class” attribute. If the type has not been loaded yet, GTK tries to find the get_type() function from the class name by applying heuristics. This works in most cases, but if necessary, it is possible to specify the name of the get_type() function explicitly with the "type-func" attribute. Objects may be given a name with the “id” attribute, which allows the application to retrieve them from the builder with gtk_builder_get_object(). An id is also necessary to use the object as property value in other parts of the UI definition. GTK reserves ids starting and ending with ___ (three consecutive underscores) for its own purposes. Setting properties of objects is pretty straightforward with the <property> element: the “name” attribute specifies the name of the property, and the content of the element specifies the value. If the “translatable” attribute is set to a true value, GTK uses gettext() (or dgettext() if the builder has a translation domain set) to find a translation for the value. This happens before the value is parsed, so it can be used for properties of any type, but it is probably most useful for string properties. It is also possible to specify a context to disambiguate short strings, and comments which may help the translators. GtkBuilder can parse textual representations for the most common property types: characters, strings, integers, floating-point numbers, booleans (strings like “TRUE”, “t”, “yes”, “y”, “1” are interpreted as TRUE, strings like “FALSE”, “f”, “no”, “n”, “0” are interpreted as FALSE), enumerations (can be specified by their name, nick or integer value), flags (can be specified by their name, nick, integer value, optionally combined with “|”, e.g. “GTK_INPUT_HINT_EMOJI|GTK_INPUT_HINT_LOWERCASE”) and colors (in a format understood by gdk_rgba_parse()). GVariants can be specified in the format understood by g_variant_parse(), and pixbufs can be specified as a filename of an image file to load. Objects can be referred to by their name and by default refer to objects declared in the local XML fragment and objects exposed via gtk_builder_expose_object(). In general, GtkBuilder allows forward references to objects — declared in the local XML; an object doesn’t have to be constructed before it can be referred to. The exception to this rule is that an object has to be constructed before it can be used as the value of a construct-only property. It is also possible to bind a property value to another object's property value using the attributes "bind-source" to specify the source object of the binding, and optionally, "bind-property" and "bind-flags" to specify the source property and source binding flags respectively. Internally builder implements this using GBinding objects. For more information see g_object_bind_property() Sometimes it is necessary to refer to widgets which have implicitly been constructed by GTK as part of a composite widget, to set properties on them or to add further children (e.g. the content area of a GtkDialog). This can be achieved by setting the “internal-child” property of the <child> element to a true value. Note that GtkBuilder still requires an <object> element for the internal child, even if it has already been constructed. A number of widgets have different places where a child can be added (e.g. tabs vs. page content in notebooks). This can be reflected in a UI definition by specifying the “type” attribute on a <child> The possible values for the “type” attribute are described in the sections describing the widget-specific portions of UI definitions. Signal handlers and function pointersSignal handlers are set up with the <signal> element. The “name” attribute specifies the name of the signal, and the “handler” attribute specifies the function to connect to the signal. The remaining attributes, “after”, “swapped” and “object”, have the same meaning as the corresponding parameters of the g_signal_connect_object() or g_signal_connect_data() functions. A “last_modification_time” attribute is also allowed, but it does not have a meaning to the builder. If you rely on GModule support to lookup callbacks in the symbol table, the following details should be noted: When compiling applications for Windows, you must declare signal callbacks with G_MODULE_EXPORT, or they will not be put in the symbol table. On Linux and Unices, this is not necessary; applications should instead be compiled with the -Wl,--export-dynamic CFLAGS, and linked against gmodule-export-2.0. A GtkBuilder UI Definition gtk-ok ]]> Beyond this general structure, several object classes define their own XML DTD fragments for filling in the ANY placeholders in the DTD above. Note that a custom element in a <child> element gets parsed by the custom tag handler of the parent object, while a custom element in an <object> element gets parsed by the custom tag handler of the object. These XML fragments are explained in the documentation of the respective objects. Additionally, since 3.10 a special <template> tag has been added to the format allowing one to define a widget class’s components. See the GtkWidget documentation for details. Functions gtk_builder_new () gtk_builder_new GtkBuilder * gtk_builder_new (void); Creates a new empty builder object. This function is only useful if you intend to make multiple calls to gtk_builder_add_from_file(), gtk_builder_add_from_resource() or gtk_builder_add_from_string() in order to merge multiple UI descriptions into a single builder. Most users will probably want to use gtk_builder_new_from_file(), gtk_builder_new_from_resource() or gtk_builder_new_from_string(). Returns a new (empty) GtkBuilder object gtk_builder_new_from_file () gtk_builder_new_from_file GtkBuilder * gtk_builder_new_from_file (const char *filename); Builds the GtkBuilder UI definition in the file filename . If there is an error opening the file or parsing the description then the program will be aborted. You should only ever attempt to parse user interface descriptions that are shipped as part of your program. Parameters filename filename of user interface description file Returns a GtkBuilder containing the described interface gtk_builder_new_from_resource () gtk_builder_new_from_resource GtkBuilder * gtk_builder_new_from_resource (const char *resource_path); Builds the GtkBuilder UI definition at resource_path . If there is an error locating the resource or parsing the description, then the program will be aborted. Parameters resource_path a GResource resource path Returns a GtkBuilder containing the described interface gtk_builder_new_from_string () gtk_builder_new_from_string GtkBuilder * gtk_builder_new_from_string (const char *string, gssize length); Builds the user interface described by string (in the GtkBuilder UI definition format). If string is NULL-terminated, then length should be -1. If length is not -1, then it is the length of string . If there is an error parsing string then the program will be aborted. You should not attempt to parse user interface description from untrusted sources. Parameters string a user interface (XML) description length the length of string , or -1 Returns a GtkBuilder containing the interface described by string gtk_builder_create_closure () gtk_builder_create_closure GClosure * gtk_builder_create_closure (GtkBuilder *builder, const char *function_name, GtkBuilderClosureFlags flags, GObject *object, GError **error); Creates a closure to invoke the function called function_name . If a closure function was set via gtk_builder_set_closure_func(), will be invoked. Otherwise, gtk_builder_create_cclosure() will be called. If no closure could be created, NULL will be returned and error will be set. Parameters builder a GtkBuilder function_name name of the function to look up flags closure creation flags object Object to create the closure with. [nullable] error return location for an error, or NULL. [allow-none] Returns A new closure for invoking function_name . [nullable] gtk_builder_add_from_file () gtk_builder_add_from_file gboolean gtk_builder_add_from_file (GtkBuilder *builder, const char *filename, GError **error); Parses a file containing a GtkBuilder UI definition and merges it with the current contents of builder . Most users will probably want to use gtk_builder_new_from_file(). If an error occurs, 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_FILE_ERROR domain. It’s not really reasonable to attempt to handle failures of this call. You should not use this function with untrusted files (ie: files that are not part of your application). Broken GtkBuilder files can easily crash your program, and it’s possible that memory was leaked leading up to the reported failure. The only reasonable thing to do when an error is detected is to call g_error(). Parameters builder a GtkBuilder filename the name of the file to parse error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_add_from_resource () gtk_builder_add_from_resource gboolean gtk_builder_add_from_resource (GtkBuilder *builder, const char *resource_path, GError **error); Parses a resource file containing a GtkBuilder UI definition and merges it with the current contents of builder . Most users will probably want to use gtk_builder_new_from_resource(). If an error occurs, 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_RESOURCE_ERROR domain. It’s not really reasonable to attempt to handle failures of this call. The only reasonable thing to do when an error is detected is to call g_error(). Parameters builder a GtkBuilder resource_path the path of the resource file to parse error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_add_from_string () gtk_builder_add_from_string gboolean gtk_builder_add_from_string (GtkBuilder *builder, const char *buffer, gssize length, GError **error); Parses a string containing a GtkBuilder UI definition and merges it with the current contents of builder . Most users will probably want to use gtk_builder_new_from_string(). Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_VARIANT_PARSE_ERROR domain. It’s not really reasonable to attempt to handle failures of this call. The only reasonable thing to do when an error is detected is to call g_error(). Parameters builder a GtkBuilder buffer the string to parse length the length of buffer (may be -1 if buffer is nul-terminated) error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_add_objects_from_file () gtk_builder_add_objects_from_file gboolean gtk_builder_add_objects_from_file (GtkBuilder *builder, const char *filename, const char **object_ids, GError **error); Parses a file containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder . Upon errors 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_FILE_ERROR domain. If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids . Parameters builder a GtkBuilder filename the name of the file to parse object_ids nul-terminated array of objects to build. [array zero-terminated=1][element-type utf8] error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_add_objects_from_string () gtk_builder_add_objects_from_string gboolean gtk_builder_add_objects_from_string (GtkBuilder *builder, const char *buffer, gssize length, const char **object_ids, GError **error); Parses a string containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder . Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR or G_MARKUP_ERROR domain. If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids . Parameters builder a GtkBuilder buffer the string to parse length the length of buffer (may be -1 if buffer is nul-terminated) object_ids nul-terminated array of objects to build. [array zero-terminated=1][element-type utf8] error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_add_objects_from_resource () gtk_builder_add_objects_from_resource gboolean gtk_builder_add_objects_from_resource (GtkBuilder *builder, const char *resource_path, const char **object_ids, GError **error); Parses a resource file containing a GtkBuilder UI definition building only the requested objects and merges them with the current contents of builder . Upon errors 0 will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR, G_MARKUP_ERROR or G_RESOURCE_ERROR domain. If you are adding an object that depends on an object that is not its child (for instance a GtkTreeView that depends on its GtkTreeModel), you have to explicitly list all of them in object_ids . Parameters builder a GtkBuilder resource_path the path of the resource file to parse object_ids nul-terminated array of objects to build. [array zero-terminated=1][element-type utf8] error return location for an error, or NULL. [allow-none] Returns TRUE on success, FALSE if an error occurred gtk_builder_extend_with_template () gtk_builder_extend_with_template gboolean gtk_builder_extend_with_template (GtkBuilder *builder, GObject *object, GType template_type, const char *buffer, gssize length, GError **error); Main private entry point for building composite container components from template XML. This is exported purely to let gtk-builder-tool validate templates, applications have no need to call this function. Parameters builder a GtkBuilder object the object that is being extended template_type the type that the template is for buffer the string to parse length the length of buffer (may be -1 if buffer is nul-terminated) error return location for an error, or NULL. [allow-none] Returns A positive value on success, 0 if an error occurred gtk_builder_get_object () gtk_builder_get_object GObject * gtk_builder_get_object (GtkBuilder *builder, const char *name); Gets the object named name . Note that this function does not increment the reference count of the returned object. Parameters builder a GtkBuilder name name of object to get Returns the object named name or NULL if it could not be found in the object tree. [nullable][transfer none] gtk_builder_get_objects () gtk_builder_get_objects GSList * gtk_builder_get_objects (GtkBuilder *builder); Gets all objects that have been constructed by builder . Note that this function does not increment the reference counts of the returned objects. Parameters builder a GtkBuilder Returns a newly-allocated GSList containing all the objects constructed by the GtkBuilder instance. It should be freed by g_slist_free(). [element-type GObject][transfer container] gtk_builder_expose_object () gtk_builder_expose_object void gtk_builder_expose_object (GtkBuilder *builder, const char *name, GObject *object); Add object to the builder object pool so it can be referenced just like any other object built by builder. Parameters builder a GtkBuilder name the name of the object exposed to the builder object the object to expose gtk_builder_set_current_object () gtk_builder_set_current_object void gtk_builder_set_current_object (GtkBuilder *builder, GObject *current_object); Sets the current object for the builder . The current object can be tought of as the this object that the builder is working for and will often be used as the default object when an object is optional. gtk_widget_init_template() for example will set the current object to the widget the template is inited for. For functions like gtk_builder_new_from_resource(), the current object will be NULL. Parameters builder a GtkBuilder current_object the new current object or NULL for none. [nullable][transfer none] gtk_builder_get_current_object () gtk_builder_get_current_object GObject * gtk_builder_get_current_object (GtkBuilder *builder); Gets the current object set via gtk_builder_set_current_object(). Parameters builder a GtkBuilder Returns the current object. [nullable][transfer none] gtk_builder_set_scope () gtk_builder_set_scope void gtk_builder_set_scope (GtkBuilder *builder, GtkBuilderScope *scope); Sets the scope the builder should operate in. If scope is NULL a new GtkBuilderCScope will be created. See the GtkBuilderScope documentation for details. Parameters builder a GtkBuilder scope the scope to use or NULL for the default. [nullable][transfer none] gtk_builder_get_scope () gtk_builder_get_scope GtkBuilderScope * gtk_builder_get_scope (GtkBuilder *builder); Gets the scope in use that was set via gtk_builder_set_scope(). See the GtkBuilderScope documentation for details. Parameters builder a GtkBuilder Returns the current scope. [transfer none] gtk_builder_set_translation_domain () gtk_builder_set_translation_domain void gtk_builder_set_translation_domain (GtkBuilder *builder, const char *domain); Sets the translation domain of builder . See “translation-domain”. Parameters builder a GtkBuilder domain the translation domain or NULL. [nullable] gtk_builder_get_translation_domain () gtk_builder_get_translation_domain const char * gtk_builder_get_translation_domain (GtkBuilder *builder); Gets the translation domain of builder . Parameters builder a GtkBuilder Returns the translation domain or NULL in case it was never set or explicitly unset via gtk_builder_set_translation_domain(). This string is owned by the builder object and must not be modified or freed. [transfer none][nullable] gtk_builder_get_type_from_name () gtk_builder_get_type_from_name GType gtk_builder_get_type_from_name (GtkBuilder *builder, const char *type_name); Looks up a type by name, using the virtual function that GtkBuilder has for that purpose. This is mainly used when implementing the GtkBuildable interface on a type. Parameters builder a GtkBuilder type_name type name to lookup Returns the GType found for type_name or G_TYPE_INVALID if no type was found gtk_builder_value_from_string () gtk_builder_value_from_string gboolean gtk_builder_value_from_string (GtkBuilder *builder, GParamSpec *pspec, const char *string, GValue *value, GError **error); This function demarshals a value from a string. This function calls g_value_init() on the value argument, so it need not be initialised beforehand. This function can handle char, uchar, boolean, int, uint, long, ulong, enum, flags, float, double, string, GdkRGBA and GtkAdjustment type values. Support for GtkWidget type values is still to come. Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR domain. Parameters builder a GtkBuilder pspec the GParamSpec for the property string the string representation of the value value the GValue to store the result in. [out] error return location for an error, or NULL. [allow-none] Returns TRUE on success gtk_builder_value_from_string_type () gtk_builder_value_from_string_type gboolean gtk_builder_value_from_string_type (GtkBuilder *builder, GType type, const char *string, GValue *value, GError **error); Like gtk_builder_value_from_string(), this function demarshals a value from a string, but takes a GType instead of GParamSpec. This function calls g_value_init() on the value argument, so it need not be initialised beforehand. Upon errors FALSE will be returned and error will be assigned a GError from the GTK_BUILDER_ERROR domain. Parameters builder a GtkBuilder type the GType of the value string the string representation of the value value the GValue to store the result in. [out] error return location for an error, or NULL. [allow-none] Returns TRUE on success GTK_BUILDER_WARN_INVALID_CHILD_TYPE() GTK_BUILDER_WARN_INVALID_CHILD_TYPE #define GTK_BUILDER_WARN_INVALID_CHILD_TYPE(object, type) This macro should be used to emit a warning about and unexpected type value in a GtkBuildable add_child implementation. Parameters object the GtkBuildable on which the warning occurred type the unexpected type value Types and Values GtkBuilder GtkBuilder typedef struct _GtkBuilder GtkBuilder; enum GtkBuilderClosureFlags GtkBuilderClosureFlags The list of flags that can be passed to gtk_builder_scope_create_closure(). New values may be added in the future for new features, so external implementations of GtkBuilderScopeInterface should test the flags for unknown values and raise a %GTK_BUILDER_ERROR_INVALID_ATTRIBUTE error when they encounter one. Members GTK_BUILDER_CLOSURE_SWAPPED The closure should be created swapped. See g_cclosure_new_swap() for details. enum GtkBuilderError GtkBuilderError Error codes that identify various errors that can occur while using GtkBuilder. Members GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION A type-func attribute didn’t name a function that returns a GType. GTK_BUILDER_ERROR_UNHANDLED_TAG The input contained a tag that GtkBuilder can’t handle. GTK_BUILDER_ERROR_MISSING_ATTRIBUTE An attribute that is required by GtkBuilder was missing. GTK_BUILDER_ERROR_INVALID_ATTRIBUTE GtkBuilder found an attribute that it doesn’t understand. GTK_BUILDER_ERROR_INVALID_TAG GtkBuilder found a tag that it doesn’t understand. GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE A required property value was missing. GTK_BUILDER_ERROR_INVALID_VALUE GtkBuilder couldn’t parse some attribute value. GTK_BUILDER_ERROR_VERSION_MISMATCH The input file requires a newer version of GTK+. GTK_BUILDER_ERROR_DUPLICATE_ID An object id occurred twice. GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED A specified object type is of the same type or derived from the type of the composite class being extended with builder XML. GTK_BUILDER_ERROR_TEMPLATE_MISMATCH The wrong type was specified in a composite class’s template XML GTK_BUILDER_ERROR_INVALID_PROPERTY The specified property is unknown for the object class. GTK_BUILDER_ERROR_INVALID_SIGNAL The specified signal is unknown for the object class. GTK_BUILDER_ERROR_INVALID_ID An object id is unknown. GTK_BUILDER_ERROR_INVALID_FUNCTION A function could not be found. This often happens when symbols are set to be kept private. Compiling code with -rdynamic or using the gmodule-export-2.0 pkgconfig module can fix this problem. GTK_BUILDER_ERROR GTK_BUILDER_ERROR #define GTK_BUILDER_ERROR (gtk_builder_error_quark ()) Property Details The <literal>“current-object”</literal> property GtkBuilder:current-object “current-object” GObject * The object the builder is evaluating for. Owner: GtkBuilder Flags: Read / Write The <literal>“scope”</literal> property GtkBuilder:scope “scope” GtkBuilderScope * The scope the builder is operating in Owner: GtkBuilder Flags: Read / Write / Construct The <literal>“translation-domain”</literal> property GtkBuilder:translation-domain “translation-domain” gchar * The translation domain used when translating property values that have been marked as translatable in interface descriptions. If the translation domain is NULL, GtkBuilder uses gettext(), otherwise g_dgettext(). Owner: GtkBuilder Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtktextmark.xml0000664000175000017500000004704713710700312020256 0ustar mclasenmclasen ]> GtkTextMark 3 GTK4 Library GtkTextMark A position in the buffer preserved across buffer modifications Functions GtkTextMark * gtk_text_mark_new () void gtk_text_mark_set_visible () gboolean gtk_text_mark_get_visible () gboolean gtk_text_mark_get_deleted () const char * gtk_text_mark_get_name () GtkTextBuffer * gtk_text_mark_get_buffer () gboolean gtk_text_mark_get_left_gravity () Properties gbooleanleft-gravityRead / Write / Construct Only gchar *nameRead / Write / Construct Only Types and Values structGtkTextMark Object Hierarchy GObject ╰── GtkTextMark Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. A GtkTextMark is like a bookmark in a text buffer; it preserves a position in the text. You can convert the mark to an iterator using gtk_text_buffer_get_iter_at_mark(). Unlike iterators, marks remain valid across buffer mutations, because their behavior is defined when text is inserted or deleted. When text containing a mark is deleted, the mark remains in the position originally occupied by the deleted text. When text is inserted at a mark, a mark with “left gravity” will be moved to the beginning of the newly-inserted text, and a mark with “right gravity” will be moved to the end. Note that “left” and “right” here refer to logical direction (left is the toward the start of the buffer); in some languages such as Hebrew the logically-leftmost text is not actually on the left when displayed. Marks are reference counted, but the reference count only controls the validity of the memory; marks can be deleted from the buffer at any time with gtk_text_buffer_delete_mark(). Once deleted from the buffer, a mark is essentially useless. Marks optionally have names; these can be convenient to avoid passing the GtkTextMark object around. Marks are typically created using the gtk_text_buffer_create_mark() function. Functions gtk_text_mark_new () gtk_text_mark_new GtkTextMark * gtk_text_mark_new (const char *name, gboolean left_gravity); Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark’s current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (left_gravity = FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you’re typing). Parameters name mark name or NULL. [allow-none] left_gravity whether the mark should have left gravity Returns new GtkTextMark gtk_text_mark_set_visible () gtk_text_mark_set_visible void gtk_text_mark_set_visible (GtkTextMark *mark, gboolean setting); Sets the visibility of mark ; the insertion point is normally visible, i.e. you can see it as a vertical bar. Also, the text widget uses a visible mark to indicate where a drop will occur when dragging-and-dropping text. Most other marks are not visible. Marks are not visible by default. Parameters mark a GtkTextMark setting visibility of mark gtk_text_mark_get_visible () gtk_text_mark_get_visible gboolean gtk_text_mark_get_visible (GtkTextMark *mark); Returns TRUE if the mark is visible (i.e. a cursor is displayed for it). Parameters mark a GtkTextMark Returns TRUE if visible gtk_text_mark_get_deleted () gtk_text_mark_get_deleted gboolean gtk_text_mark_get_deleted (GtkTextMark *mark); Returns TRUE if the mark has been removed from its buffer with gtk_text_buffer_delete_mark(). See gtk_text_buffer_add_mark() for a way to add it to a buffer again. Parameters mark a GtkTextMark Returns whether the mark is deleted gtk_text_mark_get_name () gtk_text_mark_get_name const char * gtk_text_mark_get_name (GtkTextMark *mark); Returns the mark name; returns NULL for anonymous marks. Parameters mark a GtkTextMark Returns mark name. [nullable] gtk_text_mark_get_buffer () gtk_text_mark_get_buffer GtkTextBuffer * gtk_text_mark_get_buffer (GtkTextMark *mark); Gets the buffer this mark is located inside, or NULL if the mark is deleted. Parameters mark a GtkTextMark Returns the mark’s GtkTextBuffer. [transfer none] gtk_text_mark_get_left_gravity () gtk_text_mark_get_left_gravity gboolean gtk_text_mark_get_left_gravity (GtkTextMark *mark); Determines whether the mark has left gravity. Parameters mark a GtkTextMark Returns TRUE if the mark has left gravity, FALSE otherwise Types and Values struct GtkTextMark GtkTextMark struct GtkTextMark; Property Details The <literal>“left-gravity”</literal> property GtkTextMark:left-gravity “left-gravity” gboolean Whether the mark has left gravity. When text is inserted at the mark’s current location, if the mark has left gravity it will be moved to the left of the newly-inserted text, otherwise to the right. Owner: GtkTextMark Flags: Read / Write / Construct Only Default value: FALSE The <literal>“name”</literal> property GtkTextMark:name “name” gchar * The name of the mark or NULL if the mark is anonymous. Owner: GtkTextMark Flags: Read / Write / Construct Only Default value: NULL docs/reference/gtk/xml/gtkbutton.xml0000664000175000017500000011557313710700311017731 0ustar mclasenmclasen ]> GtkButton 3 GTK4 Library GtkButton A widget that emits a signal when clicked on Functions GtkWidget * gtk_button_new () GtkWidget * gtk_button_new_with_label () GtkWidget * gtk_button_new_with_mnemonic () GtkWidget * gtk_button_new_from_icon_name () void gtk_button_set_has_frame () gboolean gtk_button_get_has_frame () const char * gtk_button_get_label () void gtk_button_set_label () gboolean gtk_button_get_use_underline () void gtk_button_set_use_underline () void gtk_button_set_icon_name () const char * gtk_button_get_icon_name () void gtk_button_set_child () GtkWidget * gtk_button_get_child () Properties GtkWidget *childRead / Write gbooleanhas-frameRead / Write gchar *icon-nameRead / Write gchar *labelRead / Write gbooleanuse-underlineRead / Write Signals voidactivateAction voidclickedAction Types and Values structGtkButton structGtkButtonClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ├── GtkToggleButton ├── GtkLinkButton ╰── GtkLockButton Implemented Interfaces GtkButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description The GtkButton widget is generally used to trigger a callback function that is called when the button is pressed. The various signals and how to use them are outlined below. The GtkButton widget can hold any valid child widget. That is, it can hold almost any other standard GtkWidget. The most commonly used child is the GtkLabel. CSS nodesGtkButton has a single CSS node with name button. The node will get the style classes .image-button or .text-button, if the content is just an image or label, respectively. It may also receive the .flat style class. Other style classes that are commonly used with GtkButton include .suggested-action and .destructive-action. In special cases, buttons can be made round by adding the .circular style class. Button-like widgets like GtkToggleButton, GtkMenuButton, GtkVolumeButton, GtkLockButton, GtkColorButton or GtkFontButton use style classes such as .toggle, .popup, .scale, .lock, .color on the button node to differentiate themselves from a plain GtkButton. AccessibilityGtkButton uses the GTK_ACCESSIBLE_ROLE_BUTTON role. Functions gtk_button_new () gtk_button_new GtkWidget * gtk_button_new (void); Creates a new GtkButton widget. To add a child widget to the button, use gtk_container_add(). Returns The newly created GtkButton widget. gtk_button_new_with_label () gtk_button_new_with_label GtkWidget * gtk_button_new_with_label (const char *label); Creates a GtkButton widget with a GtkLabel child containing the given text. Parameters label The text you want the GtkLabel to hold. Returns The newly created GtkButton widget. gtk_button_new_with_mnemonic () gtk_button_new_with_mnemonic GtkWidget * gtk_button_new_with_mnemonic (const char *label); Creates a new GtkButton containing a label. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. Parameters label The text of the button, with an underscore in front of the mnemonic character Returns a new GtkButton gtk_button_new_from_icon_name () gtk_button_new_from_icon_name GtkWidget * gtk_button_new_from_icon_name (const char *icon_name); Creates a new button containing an icon from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. Parameters icon_name an icon name or NULL. [nullable] Returns a new GtkButton displaying the themed icon gtk_button_set_has_frame () gtk_button_set_has_frame void gtk_button_set_has_frame (GtkButton *button, gboolean has_frame); Sets the style of the button. Buttons can has a flat appearance or have a frame drawn around them. Parameters button a GtkButton has_frame whether the button should have a visible frame gtk_button_get_has_frame () gtk_button_get_has_frame gboolean gtk_button_get_has_frame (GtkButton *button); Returns whether the button has a frame. Parameters button a GtkButton Returns TRUE if the button has a frame gtk_button_get_label () gtk_button_get_label const char * gtk_button_get_label (GtkButton *button); Fetches the text from the label of the button, as set by gtk_button_set_label(). If the label text has not been set the return value will be NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container. Parameters button a GtkButton Returns The text of the label widget. This string is owned by the widget and must not be modified or freed. [nullable] gtk_button_set_label () gtk_button_set_label void gtk_button_set_label (GtkButton *button, const char *label); Sets the text of the label of the button to label . This will also clear any previously set labels. Parameters button a GtkButton label a string gtk_button_get_use_underline () gtk_button_get_use_underline gboolean gtk_button_get_use_underline (GtkButton *button); Returns whether an embedded underline in the button label indicates a mnemonic. See gtk_button_set_use_underline(). Parameters button a GtkButton Returns TRUE if an embedded underline in the button label indicates the mnemonic accelerator keys. gtk_button_set_use_underline () gtk_button_set_use_underline void gtk_button_set_use_underline (GtkButton *button, gboolean use_underline); If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key. Parameters button a GtkButton use_underline TRUE if underlines in the text indicate mnemonics gtk_button_set_icon_name () gtk_button_set_icon_name void gtk_button_set_icon_name (GtkButton *button, const char *icon_name); Adds a GtkImage with the given icon name as a child. If button already contains a child widget, that child widget will be removed and replaced with the image. Parameters button A GtkButton icon_name An icon name gtk_button_get_icon_name () gtk_button_get_icon_name const char * gtk_button_get_icon_name (GtkButton *button); Returns the icon name set via gtk_button_set_icon_name(). Parameters button A GtkButton Returns The icon name set via gtk_button_set_icon_name(). [nullable] gtk_button_set_child () gtk_button_set_child void gtk_button_set_child (GtkButton *button, GtkWidget *child); Sets the child widget of button . Parameters button a GtkButton child the child widget. [allow-none] gtk_button_get_child () gtk_button_get_child GtkWidget * gtk_button_get_child (GtkButton *button); Gets the child widget of button . Parameters button a GtkButton Returns the child widget of button . [nullable][transfer none] Types and Values struct GtkButton GtkButton struct GtkButton; struct GtkButtonClass GtkButtonClass struct GtkButtonClass { GtkWidgetClass parent_class; void (* clicked) (GtkButton *button); void (* activate) (GtkButton *button); }; Members clicked () Signal emitted when the button has been activated (pressed and released). activate () Signal that causes the button to animate press then release. Applications should never connect to this signal, but use the clicked signal. Property Details The <literal>“child”</literal> property GtkButton:child “child” GtkWidget * The child widget.Owner: GtkButton Flags: Read / Write The <literal>“has-frame”</literal> property GtkButton:has-frame “has-frame” gboolean Whether the button has a frame.Owner: GtkButton Flags: Read / Write Default value: TRUE The <literal>“icon-name”</literal> property GtkButton:icon-name “icon-name” gchar * The name of the icon used to automatically populate the button.Owner: GtkButton Flags: Read / Write Default value: NULL The <literal>“label”</literal> property GtkButton:label “label” gchar * Text of the label widget inside the button, if the button contains a label widget.Owner: GtkButton Flags: Read / Write Default value: NULL The <literal>“use-underline”</literal> property GtkButton:use-underline “use-underline” gboolean If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.Owner: GtkButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate”</literal> signal GtkButton::activate void user_function (GtkButton *widget, gpointer user_data) The ::activate signal on GtkButton 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 “clicked” signal. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Action The <literal>“clicked”</literal> signal GtkButton::clicked void user_function (GtkButton *button, gpointer user_data) Emitted when the button has been activated (pressed and released). Parameters button the object that received the signal user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtktexttag.xml0000664000175000017500000022311713710700312020071 0ustar mclasenmclasen ]> GtkTextTag 3 GTK4 Library GtkTextTag A tag that can be applied to text in a GtkTextBuffer Functions GtkTextTag * gtk_text_tag_new () int gtk_text_tag_get_priority () void gtk_text_tag_set_priority () void gtk_text_tag_changed () Properties gbooleanaccumulative-marginRead / Write gbooleanallow-breaksRead / Write gbooleanallow-breaks-setRead / Write gchar *backgroundWrite gbooleanbackground-full-heightRead / Write gbooleanbackground-full-height-setRead / Write GdkRGBA *background-rgbaRead / Write gbooleanbackground-setRead / Write GtkTextDirectiondirectionRead / Write gbooleaneditableRead / Write gbooleaneditable-setRead / Write gbooleanfallbackRead / Write gbooleanfallback-setRead / Write gchar *familyRead / Write gbooleanfamily-setRead / Write gchar *fontRead / Write PangoFontDescription *font-descRead / Write gchar *font-featuresRead / Write gbooleanfont-features-setRead / Write gchar *foregroundWrite GdkRGBA *foreground-rgbaRead / Write gbooleanforeground-setRead / Write gintindentRead / Write gbooleanindent-setRead / Write gbooleaninsert-hyphensRead / Write gbooleaninsert-hyphens-setRead / Write gbooleaninvisibleRead / Write gbooleaninvisible-setRead / Write GtkJustificationjustificationRead / Write gbooleanjustification-setRead / Write gchar *languageRead / Write gbooleanlanguage-setRead / Write gintleft-marginRead / Write gbooleanleft-margin-setRead / Write gintletter-spacingRead / Write gbooleanletter-spacing-setRead / Write gchar *nameRead / Write / Construct Only PangoOverlineoverlineRead / Write GdkRGBA *overline-rgbaRead / Write gbooleanoverline-rgba-setRead / Write gbooleanoverline-setRead / Write gchar *paragraph-backgroundWrite GdkRGBA *paragraph-background-rgbaRead / Write gbooleanparagraph-background-setRead / Write gintpixels-above-linesRead / Write gbooleanpixels-above-lines-setRead / Write gintpixels-below-linesRead / Write gbooleanpixels-below-lines-setRead / Write gintpixels-inside-wrapRead / Write gbooleanpixels-inside-wrap-setRead / Write gintright-marginRead / Write gbooleanright-margin-setRead / Write gintriseRead / Write gbooleanrise-setRead / Write gdoublescaleRead / Write gbooleanscale-setRead / Write PangoShowFlagsshow-spacesRead / Write gbooleanshow-spaces-setRead / Write gintsizeRead / Write gdoublesize-pointsRead / Write gbooleansize-setRead / Write PangoStretchstretchRead / Write gbooleanstretch-setRead / Write gbooleanstrikethroughRead / Write GdkRGBA *strikethrough-rgbaRead / Write gbooleanstrikethrough-rgba-setRead / Write gbooleanstrikethrough-setRead / Write PangoStylestyleRead / Write gbooleanstyle-setRead / Write PangoTabArray *tabsRead / Write gbooleantabs-setRead / Write PangoUnderlineunderlineRead / Write GdkRGBA *underline-rgbaRead / Write gbooleanunderline-rgba-setRead / Write gbooleanunderline-setRead / Write PangoVariantvariantRead / Write gbooleanvariant-setRead / Write gintweightRead / Write gbooleanweight-setRead / Write GtkWrapModewrap-modeRead / Write gbooleanwrap-mode-setRead / Write Types and Values structGtkTextTag Object Hierarchy GObject ╰── GtkTextTag Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. Tags should be in the GtkTextTagTable for a given GtkTextBuffer before using them with that buffer. gtk_text_buffer_create_tag() is the best way to create tags. See “gtk4-demo” for numerous examples. For each property of GtkTextTag, there is a “set” property, e.g. “font-set” corresponds to “font”. These “set” properties reflect whether a property has been set or not. They are maintained by GTK+ and you should not set them independently. Functions gtk_text_tag_new () gtk_text_tag_new GtkTextTag * gtk_text_tag_new (const char *name); Creates a GtkTextTag. Configure the tag using object arguments, i.e. using g_object_set(). Parameters name tag name, or NULL. [allow-none] Returns a new GtkTextTag gtk_text_tag_get_priority () gtk_text_tag_get_priority int gtk_text_tag_get_priority (GtkTextTag *tag); Get the tag priority. Parameters tag a GtkTextTag Returns The tag’s priority. gtk_text_tag_set_priority () gtk_text_tag_set_priority void gtk_text_tag_set_priority (GtkTextTag *tag, int priority); Sets the priority of a GtkTextTag. Valid priorities start at 0 and go to one less than gtk_text_tag_table_get_size(). Each tag in a table has a unique priority; setting the priority of one tag shifts the priorities of all the other tags in the table to maintain a unique priority for each tag. Higher priority tags “win” if two tags both set the same text attribute. When adding a tag to a tag table, it will be assigned the highest priority in the table by default; so normally the precedence of a set of tags is the order in which they were added to the table, or created with gtk_text_buffer_create_tag(), which adds the tag to the buffer’s table automatically. Parameters tag a GtkTextTag priority the new priority gtk_text_tag_changed () gtk_text_tag_changed void gtk_text_tag_changed (GtkTextTag *tag, gboolean size_changed); Emits the “tag-changed” signal on the GtkTextTagTable where the tag is included. The signal is already emitted when setting a GtkTextTag property. This function is useful for a GtkTextTag subclass. Parameters tag a GtkTextTag. size_changed whether the change affects the GtkTextView layout. Types and Values struct GtkTextTag GtkTextTag struct GtkTextTag; Property Details The <literal>“accumulative-margin”</literal> property GtkTextTag:accumulative-margin “accumulative-margin” gboolean Whether the margins accumulate or override each other. When set to TRUE the margins of this tag are added to the margins of any other non-accumulative margins present. When set to FALSE the margins override one another (the default). Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“allow-breaks”</literal> property GtkTextTag:allow-breaks “allow-breaks” gboolean Whether breaks are allowed.Owner: GtkTextTag Flags: Read / Write Default value: TRUE The <literal>“allow-breaks-set”</literal> property GtkTextTag:allow-breaks-set “allow-breaks-set” gboolean Whether this tag affects line breaks.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“background”</literal> property GtkTextTag:background “background” gchar * Background color as a string.Owner: GtkTextTag Flags: Write Default value: NULL The <literal>“background-full-height”</literal> property GtkTextTag:background-full-height “background-full-height” gboolean Whether the background color fills the entire line height or only the height of the tagged characters.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“background-full-height-set”</literal> property GtkTextTag:background-full-height-set “background-full-height-set” gboolean Whether this tag affects background height.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“background-rgba”</literal> property GtkTextTag:background-rgba “background-rgba” GdkRGBA * Background color as a GdkRGBA. Owner: GtkTextTag Flags: Read / Write The <literal>“background-set”</literal> property GtkTextTag:background-set “background-set” gboolean Whether this tag affects the background color.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“direction”</literal> property GtkTextTag:direction “direction” GtkTextDirection Text direction, e.g. right-to-left or left-to-right.Owner: GtkTextTag Flags: Read / Write Default value: GTK_TEXT_DIR_NONE The <literal>“editable”</literal> property GtkTextTag:editable “editable” gboolean Whether the text can be modified by the user.Owner: GtkTextTag Flags: Read / Write Default value: TRUE The <literal>“editable-set”</literal> property GtkTextTag:editable-set “editable-set” gboolean Whether this tag affects text editability.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“fallback”</literal> property GtkTextTag:fallback “fallback” gboolean Whether font fallback is enabled. When set to TRUE, other fonts will be substituted where the current font is missing glyphs. Owner: GtkTextTag Flags: Read / Write Default value: TRUE The <literal>“fallback-set”</literal> property GtkTextTag:fallback-set “fallback-set” gboolean Whether this tag affects font fallback.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“family”</literal> property GtkTextTag:family “family” gchar * Name of the font family, e.g. Sans, Helvetica, Times, Monospace.Owner: GtkTextTag Flags: Read / Write Default value: NULL The <literal>“family-set”</literal> property GtkTextTag:family-set “family-set” gboolean Whether this tag affects the font family.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“font”</literal> property GtkTextTag:font “font” gchar * Font description as string, e.g. \"Sans Italic 12\". Note that the initial value of this property depends on the internals of PangoFontDescription. Owner: GtkTextTag Flags: Read / Write Default value: NULL The <literal>“font-desc”</literal> property GtkTextTag:font-desc “font-desc” PangoFontDescription * Font description as a PangoFontDescription struct.Owner: GtkTextTag Flags: Read / Write The <literal>“font-features”</literal> property GtkTextTag:font-features “font-features” gchar * OpenType font features, as a string. Owner: GtkTextTag Flags: Read / Write Default value: NULL The <literal>“font-features-set”</literal> property GtkTextTag:font-features-set “font-features-set” gboolean Whether this tag affects font features.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“foreground”</literal> property GtkTextTag:foreground “foreground” gchar * Foreground color as a string.Owner: GtkTextTag Flags: Write Default value: NULL The <literal>“foreground-rgba”</literal> property GtkTextTag:foreground-rgba “foreground-rgba” GdkRGBA * Foreground color as a GdkRGBA. Owner: GtkTextTag Flags: Read / Write The <literal>“foreground-set”</literal> property GtkTextTag:foreground-set “foreground-set” gboolean Whether this tag affects the foreground color.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“indent”</literal> property GtkTextTag:indent “indent” gint Amount to indent the paragraph, in pixels.Owner: GtkTextTag Flags: Read / Write Default value: 0 The <literal>“indent-set”</literal> property GtkTextTag:indent-set “indent-set” gboolean Whether this tag affects indentation.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“insert-hyphens”</literal> property GtkTextTag:insert-hyphens “insert-hyphens” gboolean Whether to insert hyphens at breaks.Owner: GtkTextTag Flags: Read / Write Default value: TRUE The <literal>“insert-hyphens-set”</literal> property GtkTextTag:insert-hyphens-set “insert-hyphens-set” gboolean Whether this tag affects insertion of hyphens.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“invisible”</literal> property GtkTextTag:invisible “invisible” gboolean Whether this text is hidden. Note that there may still be problems with the support for invisible text, in particular when navigating programmatically inside a buffer containing invisible segments. Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“invisible-set”</literal> property GtkTextTag:invisible-set “invisible-set” gboolean Whether this tag affects text visibility.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“justification”</literal> property GtkTextTag:justification “justification” GtkJustification Left, right, or center justification.Owner: GtkTextTag Flags: Read / Write Default value: GTK_JUSTIFY_LEFT The <literal>“justification-set”</literal> property GtkTextTag:justification-set “justification-set” gboolean Whether this tag affects paragraph justification.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“language”</literal> property GtkTextTag:language “language” gchar * The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used. Note that the initial value of this property depends on the current locale, see also gtk_get_default_language(). Owner: GtkTextTag Flags: Read / Write Default value: NULL The <literal>“language-set”</literal> property GtkTextTag:language-set “language-set” gboolean Whether this tag affects the language the text is rendered as.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“left-margin”</literal> property GtkTextTag:left-margin “left-margin” gint Width of the left margin in pixels.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“left-margin-set”</literal> property GtkTextTag:left-margin-set “left-margin-set” gboolean Whether this tag affects the left margin.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“letter-spacing”</literal> property GtkTextTag:letter-spacing “letter-spacing” gint Extra spacing between graphemes, in Pango units. Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“letter-spacing-set”</literal> property GtkTextTag:letter-spacing-set “letter-spacing-set” gboolean Whether this tag affects letter spacing.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“name”</literal> property GtkTextTag:name “name” gchar * Name used to refer to the text tag. NULL for anonymous tags.Owner: GtkTextTag Flags: Read / Write / Construct Only Default value: NULL The <literal>“overline”</literal> property GtkTextTag:overline “overline” PangoOverline Style of overline for this text.Owner: GtkTextTag Flags: Read / Write Default value: PANGO_OVERLINE_NONE The <literal>“overline-rgba”</literal> property GtkTextTag:overline-rgba “overline-rgba” GdkRGBA * Color of overline for this text.Owner: GtkTextTag Flags: Read / Write The <literal>“overline-rgba-set”</literal> property GtkTextTag:overline-rgba-set “overline-rgba-set” gboolean Whether this tag affects overlining color.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“overline-set”</literal> property GtkTextTag:overline-set “overline-set” gboolean Whether this tag affects overlining.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“paragraph-background”</literal> property GtkTextTag:paragraph-background “paragraph-background” gchar * The paragraph background color as a string. Owner: GtkTextTag Flags: Write Default value: NULL The <literal>“paragraph-background-rgba”</literal> property GtkTextTag:paragraph-background-rgba “paragraph-background-rgba” GdkRGBA * The paragraph background color as a GdkRGBA. Owner: GtkTextTag Flags: Read / Write The <literal>“paragraph-background-set”</literal> property GtkTextTag:paragraph-background-set “paragraph-background-set” gboolean Whether this tag affects the paragraph background color.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“pixels-above-lines”</literal> property GtkTextTag:pixels-above-lines “pixels-above-lines” gint Pixels of blank space above paragraphs.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“pixels-above-lines-set”</literal> property GtkTextTag:pixels-above-lines-set “pixels-above-lines-set” gboolean Whether this tag affects the number of pixels above lines.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“pixels-below-lines”</literal> property GtkTextTag:pixels-below-lines “pixels-below-lines” gint Pixels of blank space below paragraphs.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“pixels-below-lines-set”</literal> property GtkTextTag:pixels-below-lines-set “pixels-below-lines-set” gboolean Whether this tag affects the number of pixels above lines.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“pixels-inside-wrap”</literal> property GtkTextTag:pixels-inside-wrap “pixels-inside-wrap” gint Pixels of blank space between wrapped lines in a paragraph.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“pixels-inside-wrap-set”</literal> property GtkTextTag:pixels-inside-wrap-set “pixels-inside-wrap-set” gboolean Whether this tag affects the number of pixels between wrapped lines.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“right-margin”</literal> property GtkTextTag:right-margin “right-margin” gint Width of the right margin in pixels.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“right-margin-set”</literal> property GtkTextTag:right-margin-set “right-margin-set” gboolean Whether this tag affects the right margin.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“rise”</literal> property GtkTextTag:rise “rise” gint Offset of text above the baseline (below the baseline if rise is negative) in Pango units.Owner: GtkTextTag Flags: Read / Write Default value: 0 The <literal>“rise-set”</literal> property GtkTextTag:rise-set “rise-set” gboolean Whether this tag affects the rise.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“scale”</literal> property GtkTextTag:scale “scale” gdouble Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 1 The <literal>“scale-set”</literal> property GtkTextTag:scale-set “scale-set” gboolean Whether this tag scales the font size by a factor.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“show-spaces”</literal> property GtkTextTag:show-spaces “show-spaces” PangoShowFlags How to render invisible characters.Owner: GtkTextTag Flags: Read / Write The <literal>“show-spaces-set”</literal> property GtkTextTag:show-spaces-set “show-spaces-set” gboolean Whether this tag affects rendering of invisible characters.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“size”</literal> property GtkTextTag:size “size” gint Font size in Pango units.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“size-points”</literal> property GtkTextTag:size-points “size-points” gdouble Font size in points.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“size-set”</literal> property GtkTextTag:size-set “size-set” gboolean Whether this tag affects the font size.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“stretch”</literal> property GtkTextTag:stretch “stretch” PangoStretch Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED.Owner: GtkTextTag Flags: Read / Write Default value: PANGO_STRETCH_NORMAL The <literal>“stretch-set”</literal> property GtkTextTag:stretch-set “stretch-set” gboolean Whether this tag affects the font stretch.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“strikethrough”</literal> property GtkTextTag:strikethrough “strikethrough” gboolean Whether to strike through the text.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“strikethrough-rgba”</literal> property GtkTextTag:strikethrough-rgba “strikethrough-rgba” GdkRGBA * This property modifies the color of strikeouts. If not set, strikeouts will use the forground color. Owner: GtkTextTag Flags: Read / Write The <literal>“strikethrough-rgba-set”</literal> property GtkTextTag:strikethrough-rgba-set “strikethrough-rgba-set” gboolean If the “strikethrough-rgba” property has been set. Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“strikethrough-set”</literal> property GtkTextTag:strikethrough-set “strikethrough-set” gboolean Whether this tag affects strikethrough.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“style”</literal> property GtkTextTag:style “style” PangoStyle Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC.Owner: GtkTextTag Flags: Read / Write Default value: PANGO_STYLE_NORMAL The <literal>“style-set”</literal> property GtkTextTag:style-set “style-set” gboolean Whether this tag affects the font style.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“tabs”</literal> property GtkTextTag:tabs “tabs” PangoTabArray * Custom tabs for this text.Owner: GtkTextTag Flags: Read / Write The <literal>“tabs-set”</literal> property GtkTextTag:tabs-set “tabs-set” gboolean Whether this tag affects tabs.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“underline”</literal> property GtkTextTag:underline “underline” PangoUnderline Style of underline for this text.Owner: GtkTextTag Flags: Read / Write Default value: PANGO_UNDERLINE_NONE The <literal>“underline-rgba”</literal> property GtkTextTag:underline-rgba “underline-rgba” GdkRGBA * This property modifies the color of underlines. If not set, underlines will use the forground color. If “underline” is set to PANGO_UNDERLINE_ERROR, an alternate color may be applied instead of the foreground. Setting this property will always override those defaults. Owner: GtkTextTag Flags: Read / Write The <literal>“underline-rgba-set”</literal> property GtkTextTag:underline-rgba-set “underline-rgba-set” gboolean If the “underline-rgba” property has been set. Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“underline-set”</literal> property GtkTextTag:underline-set “underline-set” gboolean Whether this tag affects underlining.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“variant”</literal> property GtkTextTag:variant “variant” PangoVariant Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS.Owner: GtkTextTag Flags: Read / Write Default value: PANGO_VARIANT_NORMAL The <literal>“variant-set”</literal> property GtkTextTag:variant-set “variant-set” gboolean Whether this tag affects the font variant.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“weight”</literal> property GtkTextTag:weight “weight” gint Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD.Owner: GtkTextTag Flags: Read / Write Allowed values: >= 0 Default value: 400 The <literal>“weight-set”</literal> property GtkTextTag:weight-set “weight-set” gboolean Whether this tag affects the font weight.Owner: GtkTextTag Flags: Read / Write Default value: FALSE The <literal>“wrap-mode”</literal> property GtkTextTag:wrap-mode “wrap-mode” GtkWrapMode Whether to wrap lines never, at word boundaries, or at character boundaries.Owner: GtkTextTag Flags: Read / Write Default value: GTK_WRAP_NONE The <literal>“wrap-mode-set”</literal> property GtkTextTag:wrap-mode-set “wrap-mode-set” gboolean Whether this tag affects line wrap mode.Owner: GtkTextTag Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkcalendar.xml0000664000175000017500000012116713710700311020163 0ustar mclasenmclasen ]> GtkCalendar 3 GTK4 Library GtkCalendar Displays a calendar and allows the user to select a date Functions GtkWidget * gtk_calendar_new () void gtk_calendar_select_day () void gtk_calendar_mark_day () void gtk_calendar_unmark_day () gboolean gtk_calendar_get_day_is_marked () void gtk_calendar_clear_marks () gboolean gtk_calendar_get_show_day_names () void gtk_calendar_set_show_day_names () gboolean gtk_calendar_get_show_heading () void gtk_calendar_set_show_heading () gboolean gtk_calendar_get_show_week_numbers () void gtk_calendar_set_show_week_numbers () GDateTime * gtk_calendar_get_date () Properties gintdayRead / Write gintmonthRead / Write gbooleanshow-day-namesRead / Write gbooleanshow-headingRead / Write gbooleanshow-week-numbersRead / Write gintyearRead / Write Signals voidday-selectedRun First voidnext-monthRun First voidnext-yearRun First voidprev-monthRun First voidprev-yearRun First Types and Values GtkCalendar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkCalendar Implemented Interfaces GtkCalendar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkCalendar is a widget that displays a Gregorian calendar, one month at a time. It can be created with gtk_calendar_new(). The date that is currently displayed can be altered with gtk_calendar_select_day(). To place a visual marker on a particular day, use gtk_calendar_mark_day() and to remove the marker, gtk_calendar_unmark_day(). Alternative, all marks can be cleared with gtk_calendar_clear_marks(). The selected date can be retrieved from a GtkCalendar using gtk_calendar_get_date(). Users should be aware that, although the Gregorian calendar is the legal calendar in most countries, it was adopted progressively between 1582 and 1929. Display before these dates is likely to be historically incorrect. CSS nodes GtkCalendar has a main node with name calendar. It contains a subnode called header containing the widgets for switching between years and months. The grid subnode contains all day labels, including week numbers on the left (marked with the .week-number css class) and day names on top (marked with the .day-name css class). Day labels that belong to the previous or next month get the .other-month style class. The label of the current day get the .today style class. Marked day labels get the :selected state assigned. Functions gtk_calendar_new () gtk_calendar_new GtkWidget * gtk_calendar_new (void); Creates a new calendar, with the current date being selected. Returns a newly GtkCalendar widget gtk_calendar_select_day () gtk_calendar_select_day void gtk_calendar_select_day (GtkCalendar *self, GDateTime *date); Will switch to date 's year and month and select its day. Parameters self a GtkCalendar. date a GDateTime representing the day to select. [transfer none] gtk_calendar_mark_day () gtk_calendar_mark_day void gtk_calendar_mark_day (GtkCalendar *calendar, guint day); Places a visual marker on a particular day. Parameters calendar a GtkCalendar day the day number to mark between 1 and 31. gtk_calendar_unmark_day () gtk_calendar_unmark_day void gtk_calendar_unmark_day (GtkCalendar *calendar, guint day); Removes the visual marker from a particular day. Parameters calendar a GtkCalendar. day the day number to unmark between 1 and 31. gtk_calendar_get_day_is_marked () gtk_calendar_get_day_is_marked gboolean gtk_calendar_get_day_is_marked (GtkCalendar *calendar, guint day); Returns if the day of the calendar is already marked. Parameters calendar a GtkCalendar day the day number between 1 and 31. Returns whether the day is marked. gtk_calendar_clear_marks () gtk_calendar_clear_marks void gtk_calendar_clear_marks (GtkCalendar *calendar); Remove all visual markers. Parameters calendar a GtkCalendar gtk_calendar_get_show_day_names () gtk_calendar_get_show_day_names gboolean gtk_calendar_get_show_day_names (GtkCalendar *self); Returns whether self is currently showing the names of the week days above the day numbers, i.e. the value of the “show-day-names” property. Parameters self a GtkCalendar Returns Whether the calendar shows day names. gtk_calendar_set_show_day_names () gtk_calendar_set_show_day_names void gtk_calendar_set_show_day_names (GtkCalendar *self, gboolean value); Sets whether the calendar shows day names. Parameters self a GtkCalendar value Whether to show day names above the day numbers gtk_calendar_get_show_heading () gtk_calendar_get_show_heading gboolean gtk_calendar_get_show_heading (GtkCalendar *self); Returns whether self is currently showing the heading, i.e. the value of the “show-heading” property. Return: Whether the calendar is showing a heading. Parameters self a GtkCalendar gtk_calendar_set_show_heading () gtk_calendar_set_show_heading void gtk_calendar_set_show_heading (GtkCalendar *self, gboolean value); Sets whether the calendar should show a heading containing the current year and month as well as buttons for changing both. Parameters self a GtkCalendar value Whether to show the heading in the calendar gtk_calendar_get_show_week_numbers () gtk_calendar_get_show_week_numbers gboolean gtk_calendar_get_show_week_numbers (GtkCalendar *self); Returns whether self is showing week numbers right now, i.e. the value of the “show-week-numbers” property. Return: Whether the calendar is showing week numbers. Parameters self a GtkCalendar gtk_calendar_set_show_week_numbers () gtk_calendar_set_show_week_numbers void gtk_calendar_set_show_week_numbers (GtkCalendar *self, gboolean value); Sets whether week numbers are shown in the calendar. Parameters self a GtkCalendar value whether to show week numbers on the left of the days gtk_calendar_get_date () gtk_calendar_get_date GDateTime * gtk_calendar_get_date (GtkCalendar *self); Returns a GDateTime representing the shown year, month and the selected day, in the local time zone. Parameters self a GtkCalendar Returns the GDate representing the shown date. [transfer full] Types and Values GtkCalendar GtkCalendar typedef struct _GtkCalendar GtkCalendar; Property Details The <literal>“day”</literal> property GtkCalendar:day “day” gint The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day). This property gets initially set to the current day. Owner: GtkCalendar Flags: Read / Write Allowed values: [0,31] Default value: 0 The <literal>“month”</literal> property GtkCalendar:month “month” gint The selected month (as a number between 0 and 11). This property gets initially set to the current month. Owner: GtkCalendar Flags: Read / Write Allowed values: [0,11] Default value: 0 The <literal>“show-day-names”</literal> property GtkCalendar:show-day-names “show-day-names” gboolean Determines whether day names are displayed. Owner: GtkCalendar Flags: Read / Write Default value: TRUE The <literal>“show-heading”</literal> property GtkCalendar:show-heading “show-heading” gboolean Determines whether a heading is displayed. Owner: GtkCalendar Flags: Read / Write Default value: TRUE The <literal>“show-week-numbers”</literal> property GtkCalendar:show-week-numbers “show-week-numbers” gboolean Determines whether week numbers are displayed. Owner: GtkCalendar Flags: Read / Write Default value: FALSE The <literal>“year”</literal> property GtkCalendar:year “year” gint The selected year. This property gets initially set to the current year. Owner: GtkCalendar Flags: Read / Write Allowed values: [1,9999] Default value: 1 Signal Details The <literal>“day-selected”</literal> signal GtkCalendar::day-selected void user_function (GtkCalendar *calendar, gpointer user_data) Emitted when the user selects a day. Parameters calendar the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“next-month”</literal> signal GtkCalendar::next-month void user_function (GtkCalendar *calendar, gpointer user_data) Emitted when the user switched to the next month. Parameters calendar the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“next-year”</literal> signal GtkCalendar::next-year void user_function (GtkCalendar *calendar, gpointer user_data) Emitted when user switched to the next year. Parameters calendar the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“prev-month”</literal> signal GtkCalendar::prev-month void user_function (GtkCalendar *calendar, gpointer user_data) Emitted when the user switched to the previous month. Parameters calendar the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“prev-year”</literal> signal GtkCalendar::prev-year void user_function (GtkCalendar *calendar, gpointer user_data) Emitted when user switched to the previous year. Parameters calendar the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtknativedialog.xml0000664000175000017500000007103513710700312021057 0ustar mclasenmclasen ]> GtkNativeDialog 3 GTK4 Library GtkNativeDialog Integrate with native dialogs Functions void gtk_native_dialog_show () void gtk_native_dialog_hide () void gtk_native_dialog_destroy () gboolean gtk_native_dialog_get_visible () void gtk_native_dialog_set_modal () gboolean gtk_native_dialog_get_modal () void gtk_native_dialog_set_title () const char * gtk_native_dialog_get_title () void gtk_native_dialog_set_transient_for () GtkWindow * gtk_native_dialog_get_transient_for () Properties gbooleanmodalRead / Write gchar *titleRead / Write GtkWindow *transient-forRead / Write / Construct gbooleanvisibleRead / Write Signals voidresponseRun Last Types and Values GtkNativeDialog structGtkNativeDialogClass Object Hierarchy GObject ╰── GtkNativeDialog Includes#include <gtk/gtk.h> Description Native dialogs are platform dialogs that don't use GtkDialog or GtkWindow. They are used in order to integrate better with a platform, by looking the same as other native applications and supporting platform specific features. The GtkDialog functions cannot be used on such objects, but we need a similar API in order to drive them. The GtkNativeDialog object is an API that allows you to do this. It allows you to set various common properties on the dialog, as well as show and hide it and get a “response” signal when the user finished with the dialog. Functions gtk_native_dialog_show () gtk_native_dialog_show void gtk_native_dialog_show (GtkNativeDialog *self); Shows the dialog on the display, allowing the user to interact with it. When the user accepts the state of the dialog the dialog will be automatically hidden and the “response” signal will be emitted. Multiple calls while the dialog is visible will be ignored. Parameters self a GtkNativeDialog gtk_native_dialog_hide () gtk_native_dialog_hide void gtk_native_dialog_hide (GtkNativeDialog *self); Hides the dialog if it is visilbe, aborting any interaction. Once this is called the “response” signal will not be emitted until after the next call to gtk_native_dialog_show(). If the dialog is not visible this does nothing. Parameters self a GtkNativeDialog gtk_native_dialog_destroy () gtk_native_dialog_destroy void gtk_native_dialog_destroy (GtkNativeDialog *self); Destroys a dialog. When a dialog is destroyed, it will break any references it holds to other objects. If it is visible it will be hidden and any underlying window system resources will be destroyed. Note that this does not release any reference to the object (as opposed to destroying a GtkWindow) because there is no reference from the windowing system to the GtkNativeDialog. Parameters self a GtkNativeDialog gtk_native_dialog_get_visible () gtk_native_dialog_get_visible gboolean gtk_native_dialog_get_visible (GtkNativeDialog *self); Determines whether the dialog is visible. Parameters self a GtkNativeDialog Returns TRUE if the dialog is visible gtk_native_dialog_set_modal () gtk_native_dialog_set_modal void gtk_native_dialog_set_modal (GtkNativeDialog *self, gboolean modal); Sets a dialog modal or non-modal. Modal dialogs prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use gtk_native_dialog_set_transient_for() to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent. Parameters self a GtkNativeDialog modal whether the window is modal gtk_native_dialog_get_modal () gtk_native_dialog_get_modal gboolean gtk_native_dialog_get_modal (GtkNativeDialog *self); Returns whether the dialog is modal. See gtk_native_dialog_set_modal(). Parameters self a GtkNativeDialog Returns TRUE if the dialog is set to be modal gtk_native_dialog_set_title () gtk_native_dialog_set_title void gtk_native_dialog_set_title (GtkNativeDialog *self, const char *title); Sets the title of the GtkNativeDialog. Parameters self a GtkNativeDialog title title of the dialog gtk_native_dialog_get_title () gtk_native_dialog_get_title const char * gtk_native_dialog_get_title (GtkNativeDialog *self); Gets the title of the GtkNativeDialog. Parameters self a GtkNativeDialog Returns the title of the dialog, or NULL if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed. [nullable] gtk_native_dialog_set_transient_for () gtk_native_dialog_set_transient_for void gtk_native_dialog_set_transient_for (GtkNativeDialog *self, GtkWindow *parent); 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. Passing NULL for parent unsets the current transient window. Parameters self a GtkNativeDialog parent parent window, or NULL. [allow-none] gtk_native_dialog_get_transient_for () gtk_native_dialog_get_transient_for GtkWindow * gtk_native_dialog_get_transient_for (GtkNativeDialog *self); Fetches the transient parent for this window. See gtk_native_dialog_set_transient_for(). Parameters self a GtkNativeDialog Returns the transient parent for this window, or NULL if no transient parent has been set. [nullable][transfer none] Types and Values GtkNativeDialog GtkNativeDialog typedef struct _GtkNativeDialog GtkNativeDialog; struct GtkNativeDialogClass GtkNativeDialogClass struct GtkNativeDialogClass { GObjectClass parent_class; void (* response) (GtkNativeDialog *self, int response_id); }; Property Details The <literal>“modal”</literal> property GtkNativeDialog:modal “modal” gboolean Whether the window should be modal with respect to its transient parent. Owner: GtkNativeDialog Flags: Read / Write Default value: FALSE The <literal>“title”</literal> property GtkNativeDialog:title “title” gchar * The title of the dialog window Owner: GtkNativeDialog Flags: Read / Write Default value: NULL The <literal>“transient-for”</literal> property GtkNativeDialog:transient-for “transient-for” GtkWindow * The transient parent of the dialog, or NULL for none. Owner: GtkNativeDialog Flags: Read / Write / Construct The <literal>“visible”</literal> property GtkNativeDialog:visible “visible” gboolean Whether the window is currently visible. Owner: GtkNativeDialog Flags: Read / Write Default value: FALSE Signal Details The <literal>“response”</literal> signal GtkNativeDialog::response void user_function (GtkNativeDialog *self, gint response_id, gpointer user_data) Emitted when the user responds to the dialog. When this is called the dialog has been hidden. If you call gtk_native_dialog_hide() before the user responds to the dialog this signal will not be emitted. Parameters self the object on which the signal is emitted response_id the response ID user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkFileChooserNative, GtkDialog docs/reference/gtk/xml/gtkcheckbutton.xml0000664000175000017500000004721713710700311020726 0ustar mclasenmclasen ]> GtkCheckButton 3 GTK4 Library GtkCheckButton Create widgets with a discrete toggle button Functions GtkWidget * gtk_check_button_new () GtkWidget * gtk_check_button_new_with_label () GtkWidget * gtk_check_button_new_with_mnemonic () gboolean gtk_check_button_get_draw_indicator () void gtk_check_button_set_draw_indicator () gboolean gtk_check_button_get_inconsistent () void gtk_check_button_set_inconsistent () Properties gbooleandraw-indicatorRead / Write gbooleaninconsistentRead / Write Types and Values structGtkCheckButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ╰── GtkToggleButton ╰── GtkCheckButton ╰── GtkRadioButton Implemented Interfaces GtkCheckButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description A GtkCheckButton places a discrete GtkToggleButton next to a widget, (usually a GtkLabel). See the section on GtkToggleButton widgets for more information about toggle/check buttons. The important signal ( “toggled” ) is also inherited from GtkToggleButton. CSS nodes ]]> A GtkCheckButton with indicator (see gtk_check_button_set_draw_indicator()) has a main CSS node with name checkbutton and a subnode with name check. ]]> A GtkCheckButton without indicator changes the name of its main node to button and adds a .check style class to it. The subnode is invisible in this case. AccessibilityGtkCheckButton uses the GTK_ACCESSIBLE_ROLE_CHECKBOX role. Functions gtk_check_button_new () gtk_check_button_new GtkWidget * gtk_check_button_new (void); Creates a new GtkCheckButton. Returns a GtkWidget. gtk_check_button_new_with_label () gtk_check_button_new_with_label GtkWidget * gtk_check_button_new_with_label (const char *label); Creates a new GtkCheckButton with a GtkLabel to the right of it. Parameters label the text for the check button. Returns a GtkWidget. gtk_check_button_new_with_mnemonic () gtk_check_button_new_with_mnemonic GtkWidget * gtk_check_button_new_with_mnemonic (const char *label); Creates a new GtkCheckButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the check button. Parameters label The text of the button, with an underscore in front of the mnemonic character Returns a new GtkCheckButton gtk_check_button_get_draw_indicator () gtk_check_button_get_draw_indicator gboolean gtk_check_button_get_draw_indicator (GtkCheckButton *check_button); Returns Whether or not the indicator part of the button gets drawn. Parameters check_button a GtkCheckButton Returns The value of the GtkCheckButton:draw-indicator property. gtk_check_button_set_draw_indicator () gtk_check_button_set_draw_indicator void gtk_check_button_set_draw_indicator (GtkCheckButton *check_button, gboolean draw_indicator); Sets whether the indicator part of the button is drawn. This is important for cases where the check button should have the functionality of a check button, but the visuals of a regular button, like in a GtkStackSwitcher. Parameters check_button a GtkCheckButton draw_indicator Whether or not to draw the indicator part of the button gtk_check_button_get_inconsistent () gtk_check_button_get_inconsistent gboolean gtk_check_button_get_inconsistent (GtkCheckButton *check_button); Returns whether the check button is in an inconsistent state. Parameters check_button a GtkCheckButton Returns TRUE if check_button is currently in an 'in between' state, FALSE otherwise. gtk_check_button_set_inconsistent () gtk_check_button_set_inconsistent void gtk_check_button_set_inconsistent (GtkCheckButton *check_button, gboolean inconsistent); If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a check button, and the current values in that range are inconsistent, you may want to display the toggle in an "in between" state. Normally you would turn off the inconsistent state again if the user checks the check button. This has to be done manually, gtk_check_button_set_inconsistent only affects visual appearance, not the semantics of the button. Parameters check_button a GtkCheckButton inconsistent TRUE if state is inconsistent Types and Values struct GtkCheckButton GtkCheckButton struct GtkCheckButton; Property Details The <literal>“draw-indicator”</literal> property GtkCheckButton:draw-indicator “draw-indicator” gboolean If the indicator part of the button is displayed.Owner: GtkCheckButton Flags: Read / Write Default value: TRUE The <literal>“inconsistent”</literal> property GtkCheckButton:inconsistent “inconsistent” gboolean If the check button is in an “in between” state.Owner: GtkCheckButton Flags: Read / Write Default value: FALSE See Also GtkCheckMenuItem, GtkButton, GtkToggleButton, GtkRadioButton docs/reference/gtk/xml/gtknotebook.xml0000664000175000017500000041640213710700312020232 0ustar mclasenmclasen ]> GtkNotebook 3 GTK4 Library GtkNotebook A tabbed notebook container Functions GtkWidget * gtk_notebook_new () GtkNotebookPage * gtk_notebook_get_page () GListModel * gtk_notebook_get_pages () GtkWidget * gtk_notebook_page_get_child () int gtk_notebook_append_page () int gtk_notebook_append_page_menu () int gtk_notebook_prepend_page () int gtk_notebook_prepend_page_menu () int gtk_notebook_insert_page () int gtk_notebook_insert_page_menu () void gtk_notebook_remove_page () void gtk_notebook_detach_tab () int gtk_notebook_page_num () void gtk_notebook_next_page () void gtk_notebook_prev_page () void gtk_notebook_reorder_child () void gtk_notebook_set_tab_pos () void gtk_notebook_set_show_tabs () void gtk_notebook_set_show_border () void gtk_notebook_set_scrollable () void gtk_notebook_popup_enable () void gtk_notebook_popup_disable () int gtk_notebook_get_current_page () GtkWidget * gtk_notebook_get_menu_label () GtkWidget * gtk_notebook_get_nth_page () int gtk_notebook_get_n_pages () GtkWidget * gtk_notebook_get_tab_label () void gtk_notebook_set_menu_label () void gtk_notebook_set_menu_label_text () void gtk_notebook_set_tab_label () void gtk_notebook_set_tab_label_text () void gtk_notebook_set_tab_reorderable () void gtk_notebook_set_tab_detachable () const char * gtk_notebook_get_menu_label_text () gboolean gtk_notebook_get_scrollable () gboolean gtk_notebook_get_show_border () gboolean gtk_notebook_get_show_tabs () const char * gtk_notebook_get_tab_label_text () GtkPositionType gtk_notebook_get_tab_pos () gboolean gtk_notebook_get_tab_reorderable () gboolean gtk_notebook_get_tab_detachable () void gtk_notebook_set_current_page () void gtk_notebook_set_group_name () const char * gtk_notebook_get_group_name () void gtk_notebook_set_action_widget () GtkWidget * gtk_notebook_get_action_widget () Properties gbooleanenable-popupRead / Write gchar *group-nameRead / Write gintpageRead / Write GListModel *pagesRead gbooleanscrollableRead / Write gbooleanshow-borderRead / Write gbooleanshow-tabsRead / Write GtkPositionTypetab-posRead / Write GtkWidget *childRead / Write / Construct Only gbooleandetachableRead / Write GtkWidget *menuRead / Write / Construct Only gchar *menu-labelRead / Write gintpositionRead / Write gbooleanreorderableRead / Write GtkWidget *tabRead / Write / Construct Only gbooleantab-expandRead / Write gbooleantab-fillRead / Write gchar *tab-labelRead / Write Signals gbooleanchange-current-pageAction GtkNotebook*create-windowRun Last gbooleanfocus-tabAction voidmove-focus-outAction voidpage-addedRun Last voidpage-removedRun Last voidpage-reorderedRun Last gbooleanreorder-tabAction gbooleanselect-pageAction voidswitch-pageRun Last Actions menu.popup Types and Values GtkNotebook GtkNotebookPage Object Hierarchy GObject ├── GInitiallyUnowned ╰── GtkWidget ╰── GtkNotebook ╰── GtkNotebookPage Implemented Interfaces GtkNotebook implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkNotebook widget is a GtkContainer whose children are pages that can be switched between using tab labels along one edge. There are many configuration options for GtkNotebook. Among other things, you can choose on which edge the tabs appear (see gtk_notebook_set_tab_pos()), whether, if there are too many tabs to fit the notebook should be made bigger or scrolling arrows added (see gtk_notebook_set_scrollable()), and whether there will be a popup menu allowing the users to switch pages. (see gtk_notebook_popup_enable(), gtk_notebook_popup_disable()) GtkNotebook as GtkBuildableThe GtkNotebook implementation of the GtkBuildable interface supports placing children into tabs by specifying “tab” as the “type” attribute of a <child> element. Note that the content of the tab must be created before the tab can be filled. A tab child can be specified without specifying a <child> type attribute. To add a child widget in the notebooks action area, specify "action-start" or “action-end” as the “type” attribute of the <child> element. An example of a UI definition fragment with GtkNotebook: Content Tab ]]> CSS nodes] │ ├── tabs │ │ ├── [arrow] │ │ ├── tab │ │ │ ╰── ┊ ┊ ┊ │ │ ├── tab[.reorderable-page] │ │ │ ╰── │ │ ╰── [arrow] │ ╰── [] │ ╰── stack ├── ┊ ╰── ]]> GtkNotebook has a main CSS node with name notebook, a subnode with name header and below that a subnode with name tabs which contains one subnode per tab with name tab. If action widgets are present, their CSS nodes are placed next to the tabs node. If the notebook is scrollable, CSS nodes with name arrow are placed as first and last child of the tabs node. The main node gets the .frame style class when the notebook has a border (see gtk_notebook_set_show_border()). The header node gets one of the style class .top, .bottom, .left or .right, depending on where the tabs are placed. For reorderable pages, the tab node gets the .reorderable-page class. A tab node gets the .dnd style class while it is moved with drag-and-drop. The nodes are always arranged from left-to-right, regardless of text direction. Functions gtk_notebook_new () gtk_notebook_new GtkWidget * gtk_notebook_new (void); Creates a new GtkNotebook widget with no pages. Returns the newly created GtkNotebook gtk_notebook_get_page () gtk_notebook_get_page GtkNotebookPage * gtk_notebook_get_page (GtkNotebook *notebook, GtkWidget *child); Returns the GtkNotebookPage for child . Parameters notebook a GtkNotebook child a child of notebook Returns the GtkNotebookPage for child . [transfer none] gtk_notebook_get_pages () gtk_notebook_get_pages GListModel * gtk_notebook_get_pages (GtkNotebook *notebook); Returns a GListModel that contains the pages of the notebook, and can be used to keep an up-to-date view. Parameters notebook a GtkNotebook Returns a GListModel for the notebook's children. [transfer full][attributes element-type=GtkNotebookPage] gtk_notebook_page_get_child () gtk_notebook_page_get_child GtkWidget * gtk_notebook_page_get_child (GtkNotebookPage *page); Returns the notebook child to which page belongs. Parameters page a GtkNotebookPage Returns the child to which page belongs. [transfer none] gtk_notebook_append_page () gtk_notebook_append_page int gtk_notebook_append_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); Appends a page to notebook . Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] Returns the index (starting from 0) of the appended page in the notebook, or -1 if function fails gtk_notebook_append_page_menu () gtk_notebook_append_page_menu int gtk_notebook_append_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label); Appends a page to notebook , specifying the widget to use as the label in the popup menu. Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] menu_label the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used. [allow-none] Returns the index (starting from 0) of the appended page in the notebook, or -1 if function fails gtk_notebook_prepend_page () gtk_notebook_prepend_page int gtk_notebook_prepend_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); Prepends a page to notebook . Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] Returns the index (starting from 0) of the prepended page in the notebook, or -1 if function fails gtk_notebook_prepend_page_menu () gtk_notebook_prepend_page_menu int gtk_notebook_prepend_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label); Prepends a page to notebook , specifying the widget to use as the label in the popup menu. Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] menu_label the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used. [allow-none] Returns the index (starting from 0) of the prepended page in the notebook, or -1 if function fails gtk_notebook_insert_page () gtk_notebook_insert_page int gtk_notebook_insert_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, int position); Insert a page into notebook at the given position. Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] position the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages Returns the index (starting from 0) of the inserted page in the notebook, or -1 if function fails gtk_notebook_insert_page_menu () gtk_notebook_insert_page_menu int gtk_notebook_insert_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label, int position); Insert a page into notebook at the given position, specifying the widget to use as the label in the popup menu. Parameters notebook a GtkNotebook child the GtkWidget to use as the contents of the page tab_label the GtkWidget to be used as the label for the page, or NULL to use the default label, “page N”. [allow-none] menu_label the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used. [allow-none] position the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages. Returns the index (starting from 0) of the inserted page in the notebook gtk_notebook_remove_page () gtk_notebook_remove_page void gtk_notebook_remove_page (GtkNotebook *notebook, int page_num); Removes a page from the notebook given its index in the notebook. Parameters notebook a GtkNotebook page_num the index of a notebook page, starting from 0. If -1, the last page will be removed. gtk_notebook_detach_tab () gtk_notebook_detach_tab void gtk_notebook_detach_tab (GtkNotebook *notebook, GtkWidget *child); Removes the child from the notebook. This function is very similar to gtk_container_remove(), but additionally informs the notebook that the removal is happening as part of a tab DND operation, which should not be cancelled. Parameters notebook a GtkNotebook child a child gtk_notebook_page_num () gtk_notebook_page_num int gtk_notebook_page_num (GtkNotebook *notebook, GtkWidget *child); Finds the index of the page which contains the given child widget. Parameters notebook a GtkNotebook child a GtkWidget Returns the index of the page containing child , or -1 if child is not in the notebook gtk_notebook_next_page () gtk_notebook_next_page void gtk_notebook_next_page (GtkNotebook *notebook); Switches to the next page. Nothing happens if the current page is the last page. Parameters notebook a GtkNotebook gtk_notebook_prev_page () gtk_notebook_prev_page void gtk_notebook_prev_page (GtkNotebook *notebook); Switches to the previous page. Nothing happens if the current page is the first page. Parameters notebook a GtkNotebook gtk_notebook_reorder_child () gtk_notebook_reorder_child void gtk_notebook_reorder_child (GtkNotebook *notebook, GtkWidget *child, int position); Reorders the page containing child , so that it appears in position position . If position is greater than or equal to the number of children in the list or negative, child will be moved to the end of the list. Parameters notebook a GtkNotebook child the child to move position the new position, or -1 to move to the end gtk_notebook_set_tab_pos () gtk_notebook_set_tab_pos void gtk_notebook_set_tab_pos (GtkNotebook *notebook, GtkPositionType pos); Sets the edge at which the tabs for switching pages in the notebook are drawn. Parameters notebook a GtkNotebook. pos the edge to draw the tabs at gtk_notebook_set_show_tabs () gtk_notebook_set_show_tabs void gtk_notebook_set_show_tabs (GtkNotebook *notebook, gboolean show_tabs); Sets whether to show the tabs for the notebook or not. Parameters notebook a GtkNotebook show_tabs TRUE if the tabs should be shown gtk_notebook_set_show_border () gtk_notebook_set_show_border void gtk_notebook_set_show_border (GtkNotebook *notebook, gboolean show_border); Sets whether a bevel will be drawn around the notebook pages. This only has a visual effect when the tabs are not shown. See gtk_notebook_set_show_tabs(). Parameters notebook a GtkNotebook show_border TRUE if a bevel should be drawn around the notebook gtk_notebook_set_scrollable () gtk_notebook_set_scrollable void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable); Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area. Parameters notebook a GtkNotebook scrollable TRUE if scroll arrows should be added gtk_notebook_popup_enable () gtk_notebook_popup_enable void gtk_notebook_popup_enable (GtkNotebook *notebook); Enables the popup menu: if the user clicks with the right mouse button on the tab labels, a menu with all the pages will be popped up. Parameters notebook a GtkNotebook gtk_notebook_popup_disable () gtk_notebook_popup_disable void gtk_notebook_popup_disable (GtkNotebook *notebook); Disables the popup menu. Parameters notebook a GtkNotebook gtk_notebook_get_current_page () gtk_notebook_get_current_page int gtk_notebook_get_current_page (GtkNotebook *notebook); Returns the page number of the current page. Parameters notebook a GtkNotebook Returns the index (starting from 0) of the current page in the notebook. If the notebook has no pages, then -1 will be returned. gtk_notebook_get_menu_label () gtk_notebook_get_menu_label GtkWidget * gtk_notebook_get_menu_label (GtkNotebook *notebook, GtkWidget *child); Retrieves the menu label widget of the page containing child . Parameters notebook a GtkNotebook child a widget contained in a page of notebook Returns the menu label, or NULL if the notebook page does not have a menu label other than the default (the tab label). [nullable][transfer none] gtk_notebook_get_nth_page () gtk_notebook_get_nth_page GtkWidget * gtk_notebook_get_nth_page (GtkNotebook *notebook, int page_num); Returns the child widget contained in page number page_num . Parameters notebook a GtkNotebook page_num the index of a page in the notebook, or -1 to get the last page Returns the child widget, or NULL if page_num is out of bounds. [nullable][transfer none] gtk_notebook_get_n_pages () gtk_notebook_get_n_pages int gtk_notebook_get_n_pages (GtkNotebook *notebook); Gets the number of pages in a notebook. Parameters notebook a GtkNotebook Returns the number of pages in the notebook gtk_notebook_get_tab_label () gtk_notebook_get_tab_label GtkWidget * gtk_notebook_get_tab_label (GtkNotebook *notebook, GtkWidget *child); Returns the tab label widget for the page child . NULL is returned if child is not in notebook or if no tab label has specifically been set for child . Parameters notebook a GtkNotebook child the page Returns the tab label. [transfer none][nullable] gtk_notebook_set_menu_label () gtk_notebook_set_menu_label void gtk_notebook_set_menu_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label); Changes the menu label for the page containing child . Parameters notebook a GtkNotebook child the child widget menu_label the menu label, or NULL for default. [allow-none] gtk_notebook_set_menu_label_text () gtk_notebook_set_menu_label_text void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, GtkWidget *child, const char *menu_text); Creates a new label and sets it as the menu label of child . Parameters notebook a GtkNotebook child the child widget menu_text the label text gtk_notebook_set_tab_label () gtk_notebook_set_tab_label void gtk_notebook_set_tab_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); Changes the tab label for child . If NULL is specified for tab_label , then the page will have the label “page N”. Parameters notebook a GtkNotebook child the page tab_label the tab label widget to use, or NULL for default tab label. [allow-none] gtk_notebook_set_tab_label_text () gtk_notebook_set_tab_label_text void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, GtkWidget *child, const char *tab_text); Creates a new label and sets it as the tab label for the page containing child . Parameters notebook a GtkNotebook child the page tab_text the label text gtk_notebook_set_tab_reorderable () gtk_notebook_set_tab_reorderable void gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, GtkWidget *child, gboolean reorderable); Sets whether the notebook tab can be reordered via drag and drop or not. Parameters notebook a GtkNotebook child a child GtkWidget reorderable whether the tab is reorderable or not gtk_notebook_set_tab_detachable () gtk_notebook_set_tab_detachable void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, GtkWidget *child, gboolean detachable); Sets whether the tab can be detached from notebook to another notebook or widget. Note that 2 notebooks must share a common group identificator (see gtk_notebook_set_group_name()) to allow automatic tabs interchange between them. If you want a widget to interact with a notebook through DnD (i.e.: accept dragged tabs from it) it must be set as a drop destination and accept the target “GTK_NOTEBOOK_TAB”. The notebook will fill the selection with a GtkWidget** pointing to the child widget that corresponds to the dropped tab. Note that you should use gtk_notebook_detach_tab() instead of gtk_container_remove() if you want to remove the tab from the source notebook as part of accepting a drop. Otherwise, the source notebook will think that the dragged tab was removed from underneath the ongoing drag operation, and will initiate a drag cancel animation. If you want a notebook to accept drags from other widgets, you will have to set your own DnD code to do it. Parameters notebook a GtkNotebook child a child GtkWidget detachable whether the tab is detachable or not gtk_notebook_get_menu_label_text () gtk_notebook_get_menu_label_text const char * gtk_notebook_get_menu_label_text (GtkNotebook *notebook, GtkWidget *child); Retrieves the text of the menu label for the page containing child . Parameters notebook a GtkNotebook child the child widget of a page of the notebook. Returns the text of the tab label, or NULL if the widget does not have a menu label other than the default menu label, or the menu label widget is not a GtkLabel. The string is owned by the widget and must not be freed. [nullable] gtk_notebook_get_scrollable () gtk_notebook_get_scrollable gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook); Returns whether the tab label area has arrows for scrolling. See gtk_notebook_set_scrollable(). Parameters notebook a GtkNotebook Returns TRUE if arrows for scrolling are present gtk_notebook_get_show_border () gtk_notebook_get_show_border gboolean gtk_notebook_get_show_border (GtkNotebook *notebook); Returns whether a bevel will be drawn around the notebook pages. See gtk_notebook_set_show_border(). Parameters notebook a GtkNotebook Returns TRUE if the bevel is drawn gtk_notebook_get_show_tabs () gtk_notebook_get_show_tabs gboolean gtk_notebook_get_show_tabs (GtkNotebook *notebook); Returns whether the tabs of the notebook are shown. See gtk_notebook_set_show_tabs(). Parameters notebook a GtkNotebook Returns TRUE if the tabs are shown gtk_notebook_get_tab_label_text () gtk_notebook_get_tab_label_text const char * gtk_notebook_get_tab_label_text (GtkNotebook *notebook, GtkWidget *child); Retrieves the text of the tab label for the page containing child . Parameters notebook a GtkNotebook child a widget contained in a page of notebook Returns the text of the tab label, or NULL if the tab label widget is not a GtkLabel. The string is owned by the widget and must not be freed. [nullable] gtk_notebook_get_tab_pos () gtk_notebook_get_tab_pos GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook); Gets the edge at which the tabs for switching pages in the notebook are drawn. Parameters notebook a GtkNotebook Returns the edge at which the tabs are drawn gtk_notebook_get_tab_reorderable () gtk_notebook_get_tab_reorderable gboolean gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, GtkWidget *child); Gets whether the tab can be reordered via drag and drop or not. Parameters notebook a GtkNotebook child a child GtkWidget Returns TRUE if the tab is reorderable. gtk_notebook_get_tab_detachable () gtk_notebook_get_tab_detachable gboolean gtk_notebook_get_tab_detachable (GtkNotebook *notebook, GtkWidget *child); Returns whether the tab contents can be detached from notebook . Parameters notebook a GtkNotebook child a child GtkWidget Returns TRUE if the tab is detachable. gtk_notebook_set_current_page () gtk_notebook_set_current_page void gtk_notebook_set_current_page (GtkNotebook *notebook, int page_num); Switches to the page number page_num . Note that due to historical reasons, GtkNotebook refuses to switch to a page unless the child widget is visible. Therefore, it is recommended to show child widgets before adding them to a notebook. Parameters notebook a GtkNotebook page_num index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the notebook, nothing will be done. gtk_notebook_set_group_name () gtk_notebook_set_group_name void gtk_notebook_set_group_name (GtkNotebook *notebook, const char *group_name); Sets a group name for notebook . Notebooks with the same name will be able to exchange tabs via drag and drop. A notebook with a NULL group name will not be able to exchange tabs with any other notebook. Parameters notebook a GtkNotebook group_name the name of the notebook group, or NULL to unset it. [allow-none] gtk_notebook_get_group_name () gtk_notebook_get_group_name const char * gtk_notebook_get_group_name (GtkNotebook *notebook); Gets the current group name for notebook . Parameters notebook a GtkNotebook Returns the group name, or NULL if none is set. [nullable][transfer none] gtk_notebook_set_action_widget () gtk_notebook_set_action_widget void gtk_notebook_set_action_widget (GtkNotebook *notebook, GtkWidget *widget, GtkPackType pack_type); Sets widget as one of the action widgets. Depending on the pack type the widget will be placed before or after the tabs. You can use a GtkBox if you need to pack more than one widget on the same side. Note that action widgets are “internal” children of the notebook and thus not included in the list returned from gtk_container_foreach(). Parameters notebook a GtkNotebook widget a GtkWidget pack_type pack type of the action widget gtk_notebook_get_action_widget () gtk_notebook_get_action_widget GtkWidget * gtk_notebook_get_action_widget (GtkNotebook *notebook, GtkPackType pack_type); Gets one of the action widgets. See gtk_notebook_set_action_widget(). Parameters notebook a GtkNotebook pack_type pack type of the action widget to receive Returns The action widget with the given pack_type or NULL when this action widget has not been set. [nullable][transfer none] Types and Values GtkNotebook GtkNotebook typedef struct _GtkNotebook GtkNotebook; GtkNotebookPage GtkNotebookPage typedef struct _GtkNotebookPage GtkNotebookPage; Property Details The <literal>“enable-popup”</literal> property GtkNotebook:enable-popup “enable-popup” gboolean If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page.Owner: GtkNotebook Flags: Read / Write Default value: FALSE The <literal>“group-name”</literal> property GtkNotebook:group-name “group-name” gchar * Group name for tab drag and drop. Owner: GtkNotebook Flags: Read / Write Default value: NULL The <literal>“page”</literal> property GtkNotebook:page “page” gint The index of the current page.Owner: GtkNotebook Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“pages”</literal> property GtkNotebook:pages “pages” GListModel * The pages of the notebook.Owner: GtkNotebook Flags: Read The <literal>“scrollable”</literal> property GtkNotebook:scrollable “scrollable” gboolean If TRUE, scroll arrows are added if there are too many tabs to fit.Owner: GtkNotebook Flags: Read / Write Default value: FALSE The <literal>“show-border”</literal> property GtkNotebook:show-border “show-border” gboolean Whether the border should be shown.Owner: GtkNotebook Flags: Read / Write Default value: TRUE The <literal>“show-tabs”</literal> property GtkNotebook:show-tabs “show-tabs” gboolean Whether tabs should be shown.Owner: GtkNotebook Flags: Read / Write Default value: TRUE The <literal>“tab-pos”</literal> property GtkNotebook:tab-pos “tab-pos” GtkPositionType Which side of the notebook holds the tabs.Owner: GtkNotebook Flags: Read / Write Default value: GTK_POS_TOP The <literal>“child”</literal> property GtkNotebookPage:child “child” GtkWidget * The child for this page.Owner: GtkNotebookPage Flags: Read / Write / Construct Only The <literal>“detachable”</literal> property GtkNotebookPage:detachable “detachable” gboolean Whether the tab is detachable.Owner: GtkNotebookPage Flags: Read / Write Default value: FALSE The <literal>“menu”</literal> property GtkNotebookPage:menu “menu” GtkWidget * The label widget displayed in the child’s menu entry.Owner: GtkNotebookPage Flags: Read / Write / Construct Only The <literal>“menu-label”</literal> property GtkNotebookPage:menu-label “menu-label” gchar * The text of the menu widget.Owner: GtkNotebookPage Flags: Read / Write Default value: NULL The <literal>“position”</literal> property GtkNotebookPage:position “position” gint The index of the child in the parent.Owner: GtkNotebookPage Flags: Read / Write Allowed values: >= -1 Default value: 0 The <literal>“reorderable”</literal> property GtkNotebookPage:reorderable “reorderable” gboolean Whether the tab is reorderable by user action.Owner: GtkNotebookPage Flags: Read / Write Default value: FALSE The <literal>“tab”</literal> property GtkNotebookPage:tab “tab” GtkWidget * The tab widget for this page.Owner: GtkNotebookPage Flags: Read / Write / Construct Only The <literal>“tab-expand”</literal> property GtkNotebookPage:tab-expand “tab-expand” gboolean Whether to expand the child’s tab.Owner: GtkNotebookPage Flags: Read / Write Default value: FALSE The <literal>“tab-fill”</literal> property GtkNotebookPage:tab-fill “tab-fill” gboolean Whether the child’s tab should fill the allocated area.Owner: GtkNotebookPage Flags: Read / Write Default value: TRUE The <literal>“tab-label”</literal> property GtkNotebookPage:tab-label “tab-label” gchar * The text of the tab widget.Owner: GtkNotebookPage Flags: Read / Write Default value: NULL Signal Details The <literal>“change-current-page”</literal> signal GtkNotebook::change-current-page gboolean user_function (GtkNotebook *notebook, gint arg1, gpointer user_data) Flags: Action The <literal>“create-window”</literal> signal GtkNotebook::create-window GtkNotebook* user_function (GtkNotebook *notebook, GtkWidget *page, gpointer user_data) The ::create-window signal is emitted when a detachable tab is dropped on the root window. A handler for this signal can create a window containing a notebook where the tab will be attached. It is also responsible for moving/resizing the window and adding the necessary properties to the notebook (e.g. the “group-name” ). Parameters notebook the GtkNotebook emitting the signal page the tab of notebook that is being detached user_data user data set when the signal handler was connected. Returns a GtkNotebook that page should be added to, or NULL. [transfer none] Flags: Run Last The <literal>“focus-tab”</literal> signal GtkNotebook::focus-tab gboolean user_function (GtkNotebook *notebook, GtkNotebookTab arg1, gpointer user_data) Flags: Action The <literal>“move-focus-out”</literal> signal GtkNotebook::move-focus-out void user_function (GtkNotebook *notebook, GtkDirectionType arg1, gpointer user_data) Flags: Action The <literal>“page-added”</literal> signal GtkNotebook::page-added void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) the ::page-added signal is emitted in the notebook right after a page is added to the notebook. Parameters notebook the GtkNotebook child the child GtkWidget affected page_num the new page number for child user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“page-removed”</literal> signal GtkNotebook::page-removed void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) the ::page-removed signal is emitted in the notebook right after a page is removed from the notebook. Parameters notebook the GtkNotebook child the child GtkWidget affected page_num the child page number user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“page-reordered”</literal> signal GtkNotebook::page-reordered void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) the ::page-reordered signal is emitted in the notebook right after a page has been reordered. Parameters notebook the GtkNotebook child the child GtkWidget affected page_num the new page number for child user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“reorder-tab”</literal> signal GtkNotebook::reorder-tab gboolean user_function (GtkNotebook *notebook, GtkDirectionType arg1, gboolean arg2, gpointer user_data) Flags: Action The <literal>“select-page”</literal> signal GtkNotebook::select-page gboolean user_function (GtkNotebook *notebook, gboolean arg1, gpointer user_data) Flags: Action The <literal>“switch-page”</literal> signal GtkNotebook::switch-page void user_function (GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data) Emitted when the user or a function changes the current page. Parameters notebook the object which received the signal. page the new current page page_num the index of the page user_data user data set when the signal handler was connected. Flags: Run Last Action Details The <literal>“menu.popup”</literal> action GtkNotebook|menu.popup Opens the context menu. See Also GtkContainer docs/reference/gtk/xml/gtkcolorbutton.xml0000664000175000017500000005015013710700311020755 0ustar mclasenmclasen ]> GtkColorButton 3 GTK4 Library GtkColorButton A button to launch a color selection dialog Functions GtkWidget * gtk_color_button_new () GtkWidget * gtk_color_button_new_with_rgba () void gtk_color_button_set_title () const char * gtk_color_button_get_title () void gtk_color_button_set_modal () gboolean gtk_color_button_get_modal () Properties gbooleanmodalRead / Write GdkRGBA *rgbaRead / Write gbooleanshow-editorRead / Write gchar *titleRead / Write gbooleanuse-alphaRead / Write Signals voidcolor-setRun First Types and Values GtkColorButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkColorButton Implemented Interfaces GtkColorButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkColorChooser. Includes#include <gtk/gtk.h> Description The GtkColorButton is a button which displays the currently selected color and allows to open a color selection dialog to change the color. It is suitable widget for selecting a color in a preference dialog. CSS nodesGtkColorButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .color style class. Functions gtk_color_button_new () gtk_color_button_new GtkWidget * gtk_color_button_new (void); Creates a new color button. This returns a widget in the form of a small button containing a swatch representing the current selected color. When the button is clicked, a color-selection dialog will open, allowing the user to select a color. The swatch will be updated to reflect the new color when the user finishes. Returns a new color button gtk_color_button_new_with_rgba () gtk_color_button_new_with_rgba GtkWidget * gtk_color_button_new_with_rgba (const GdkRGBA *rgba); Creates a new color button. Parameters rgba A GdkRGBA to set the current color with Returns a new color button gtk_color_button_set_title () gtk_color_button_set_title void gtk_color_button_set_title (GtkColorButton *button, const char *title); Sets the title for the color selection dialog. Parameters button a GtkColorButton title String containing new window title gtk_color_button_get_title () gtk_color_button_get_title const char * gtk_color_button_get_title (GtkColorButton *button); Gets the title of the color selection dialog. Parameters button a GtkColorButton Returns An internal string, do not free the return value gtk_color_button_set_modal () gtk_color_button_set_modal void gtk_color_button_set_modal (GtkColorButton *button, gboolean modal); Sets whether the dialog should be modal. Parameters button a GtkColorButton modal TRUE to make the dialog modal gtk_color_button_get_modal () gtk_color_button_get_modal gboolean gtk_color_button_get_modal (GtkColorButton *button); Gets whether the dialog is modal. Parameters button a GtkColorButton Returns TRUE if the dialog is modal Types and Values GtkColorButton GtkColorButton typedef struct _GtkColorButton GtkColorButton; Property Details The <literal>“modal”</literal> property GtkColorButton:modal “modal” gboolean Whether the dialog is modal.Owner: GtkColorButton Flags: Read / Write Default value: TRUE The <literal>“rgba”</literal> property GtkColorButton:rgba “rgba” GdkRGBA * The RGBA color. Owner: GtkColorButton Flags: Read / Write The <literal>“show-editor”</literal> property GtkColorButton:show-editor “show-editor” gboolean Set this property to TRUE to skip the palette in the dialog and go directly to the color editor. This property should be used in cases where the palette in the editor would be redundant, such as when the color button is already part of a palette. Owner: GtkColorButton Flags: Read / Write Default value: FALSE The <literal>“title”</literal> property GtkColorButton:title “title” gchar * The title of the color selection dialog Owner: GtkColorButton Flags: Read / Write Default value: "Pick a Color" The <literal>“use-alpha”</literal> property GtkColorButton:use-alpha “use-alpha” gboolean If this property is set to TRUE, the color swatch on the button is rendered against a checkerboard background to show its opacity and the opacity slider is displayed in the color selection dialog. Owner: GtkColorButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“color-set”</literal> signal GtkColorButton::color-set void user_function (GtkColorButton *widget, gpointer user_data) The ::color-set signal is emitted when the user selects a color. When handling this signal, use gtk_color_chooser_get_rgba() to find out which color was just selected. Note that this signal is only emitted when the user changes the color. If you need to react to programmatic color changes as well, use the notify::color signal. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First See Also GtkFontButton docs/reference/gtk/xml/gtktexttagtable.xml0000664000175000017500000005554013710700312021104 0ustar mclasenmclasen ]> GtkTextTagTable 3 GTK4 Library GtkTextTagTable Collection of tags that can be used together Functions void (*GtkTextTagTableForeach) () GtkTextTagTable * gtk_text_tag_table_new () gboolean gtk_text_tag_table_add () void gtk_text_tag_table_remove () GtkTextTag * gtk_text_tag_table_lookup () void gtk_text_tag_table_foreach () int gtk_text_tag_table_get_size () Signals voidtag-addedRun Last voidtag-changedRun Last voidtag-removedRun Last Types and Values GtkTextTagTable Object Hierarchy GObject ╰── GtkTextTagTable Implemented Interfaces GtkTextTagTable implements GtkBuildable. Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. GtkTextTagTables as GtkBuildableThe GtkTextTagTable implementation of the GtkBuildable interface supports adding tags by specifying “tag” as the “type” attribute of a <child> element. An example of a UI definition fragment specifying tags: ]]> Functions GtkTextTagTableForeach () GtkTextTagTableForeach void (*GtkTextTagTableForeach) (GtkTextTag *tag, gpointer data); Parameters tag the GtkTextTag data data passed to gtk_text_tag_table_foreach(). [closure] gtk_text_tag_table_new () gtk_text_tag_table_new GtkTextTagTable * gtk_text_tag_table_new (void); Creates a new GtkTextTagTable. The table contains no tags by default. Returns a new GtkTextTagTable gtk_text_tag_table_add () gtk_text_tag_table_add gboolean gtk_text_tag_table_add (GtkTextTagTable *table, GtkTextTag *tag); Add a tag to the table. The tag is assigned the highest priority in the table. tag must not be in a tag table already, and may not have the same name as an already-added tag. Parameters table a GtkTextTagTable tag a GtkTextTag Returns TRUE on success. gtk_text_tag_table_remove () gtk_text_tag_table_remove void gtk_text_tag_table_remove (GtkTextTagTable *table, GtkTextTag *tag); Remove a tag from the table. If a GtkTextBuffer has table as its tag table, the tag is removed from the buffer. The table’s reference to the tag is removed, so the tag will end up destroyed if you don’t have a reference to it. Parameters table a GtkTextTagTable tag a GtkTextTag gtk_text_tag_table_lookup () gtk_text_tag_table_lookup GtkTextTag * gtk_text_tag_table_lookup (GtkTextTagTable *table, const char *name); Look up a named tag. Parameters table a GtkTextTagTable name name of a tag Returns The tag, or NULL if none by that name is in the table. [nullable][transfer none] gtk_text_tag_table_foreach () gtk_text_tag_table_foreach void gtk_text_tag_table_foreach (GtkTextTagTable *table, GtkTextTagTableForeach func, gpointer data); Calls func on each tag in table , with user data data . Note that the table may not be modified while iterating over it (you can’t add/remove tags). Parameters table a GtkTextTagTable func a function to call on each tag. [scope call] data user data gtk_text_tag_table_get_size () gtk_text_tag_table_get_size int gtk_text_tag_table_get_size (GtkTextTagTable *table); Returns the size of the table (number of tags) Parameters table a GtkTextTagTable Returns number of tags in table Types and Values GtkTextTagTable GtkTextTagTable typedef struct _GtkTextTagTable GtkTextTagTable; Signal Details The <literal>“tag-added”</literal> signal GtkTextTagTable::tag-added void user_function (GtkTextTagTable *texttagtable, GtkTextTag *tag, gpointer user_data) Parameters texttagtable the object which received the signal. tag the added tag. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“tag-changed”</literal> signal GtkTextTagTable::tag-changed void user_function (GtkTextTagTable *texttagtable, GtkTextTag *tag, gboolean size_changed, gpointer user_data) Parameters texttagtable the object which received the signal. tag the changed tag. size_changed whether the change affects the GtkTextView layout. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“tag-removed”</literal> signal GtkTextTagTable::tag-removed void user_function (GtkTextTagTable *texttagtable, GtkTextTag *tag, gpointer user_data) Parameters texttagtable the object which received the signal. tag the removed tag. user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkcombobox.xml0000664000175000017500000023727413710700311020231 0ustar mclasenmclasen ]> GtkComboBox 3 GTK4 Library GtkComboBox A widget used to choose from a list of items Functions GtkWidget * gtk_combo_box_new () GtkWidget * gtk_combo_box_new_with_entry () GtkWidget * gtk_combo_box_new_with_model () GtkWidget * gtk_combo_box_new_with_model_and_entry () int gtk_combo_box_get_active () void gtk_combo_box_set_active () gboolean gtk_combo_box_get_active_iter () void gtk_combo_box_set_active_iter () int gtk_combo_box_get_id_column () void gtk_combo_box_set_id_column () const char * gtk_combo_box_get_active_id () gboolean gtk_combo_box_set_active_id () GtkTreeModel * gtk_combo_box_get_model () void gtk_combo_box_set_model () void gtk_combo_box_popdown () GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func () void gtk_combo_box_set_row_separator_func () void gtk_combo_box_set_button_sensitivity () GtkSensitivityType gtk_combo_box_get_button_sensitivity () gboolean gtk_combo_box_get_has_entry () void gtk_combo_box_set_entry_text_column () int gtk_combo_box_get_entry_text_column () void gtk_combo_box_set_popup_fixed_width () gboolean gtk_combo_box_get_popup_fixed_width () void gtk_combo_box_set_child () GtkWidget * gtk_combo_box_get_child () Properties gintactiveRead / Write gchar *active-idRead / Write GtkSensitivityTypebutton-sensitivityRead / Write GtkWidget *childRead / Write gintentry-text-columnRead / Write gbooleanhas-entryRead / Write / Construct Only gbooleanhas-frameRead / Write gintid-columnRead / Write GtkTreeModel *modelRead / Write gbooleanpopup-fixed-widthRead / Write gbooleanpopup-shownRead Signals voidchangedRun Last gchar*format-entry-textRun Last voidmove-activeAction gbooleanpopdownAction voidpopupAction Types and Values structGtkComboBox structGtkComboBoxClass enumGtkSensitivityType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkComboBox ╰── GtkComboBoxText Implemented Interfaces GtkComboBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkCellEditable. Includes#include <gtk/gtk.h> Description A GtkComboBox is a widget that allows the user to choose from a list of valid choices. The GtkComboBox displays the selected choice. When activated, the GtkComboBox displays a popup which allows the user to make a new choice. The style in which the selected value is displayed, and the style of the popup is determined by the current theme. It may be similar to a Windows-style combo box. The GtkComboBox uses the model-view pattern; the list of valid choices is specified in the form of a tree model, and the display of the choices can be adapted to the data in the model by using cell renderers, as you would in a tree view. This is possible since GtkComboBox implements the GtkCellLayout interface. The tree model holding the valid choices is not restricted to a flat list, it can be a real tree, and the popup will reflect the tree structure. To allow the user to enter values not in the model, the “has-entry” property allows the GtkComboBox to contain a GtkEntry. This entry can be accessed by calling gtk_bin_get_child() on the combo box. For a simple list of textual choices, the model-view API of GtkComboBox can be a bit overwhelming. In this case, GtkComboBoxText offers a simple alternative. Both GtkComboBox and GtkComboBoxText can contain an entry. CSS nodes A normal combobox contains a box with the .linked class, a button with the .combo class and inside those buttons, there are a cellview and an arrow. A GtkComboBox with an entry has a single CSS node with name combobox. It contains a box with the .linked class. That box contains an entry and a button, both with the .combo class added. The button also contains another node with name arrow. Functions gtk_combo_box_new () gtk_combo_box_new GtkWidget * gtk_combo_box_new (void); Creates a new empty GtkComboBox. Returns A new GtkComboBox. gtk_combo_box_new_with_entry () gtk_combo_box_new_with_entry GtkWidget * gtk_combo_box_new_with_entry (void); Creates a new empty GtkComboBox with an entry. Returns A new GtkComboBox. gtk_combo_box_new_with_model () gtk_combo_box_new_with_model GtkWidget * gtk_combo_box_new_with_model (GtkTreeModel *model); Creates a new GtkComboBox with the model initialized to model . Parameters model A GtkTreeModel. Returns A new GtkComboBox. gtk_combo_box_new_with_model_and_entry () gtk_combo_box_new_with_model_and_entry GtkWidget * gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model); Creates a new empty GtkComboBox with an entry and with the model initialized to model . Parameters model A GtkTreeModel Returns A new GtkComboBox gtk_combo_box_get_active () gtk_combo_box_get_active int gtk_combo_box_get_active (GtkComboBox *combo_box); Returns the index of the currently active item, or -1 if there’s no active item. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this function returns gtk_tree_path_get_indices (path)[0], where path is the GtkTreePath of the active item. Parameters combo_box A GtkComboBox Returns An integer which is the index of the currently active item, or -1 if there’s no active item. gtk_combo_box_set_active () gtk_combo_box_set_active void gtk_combo_box_set_active (GtkComboBox *combo_box, int index_); Sets the active item of combo_box to be the item at index . Parameters combo_box A GtkComboBox index_ An index in the model passed during construction, or -1 to have no active item gtk_combo_box_get_active_iter () gtk_combo_box_get_active_iter gboolean gtk_combo_box_get_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter); Sets iter to point to the currently active item, if any item is active. Otherwise, iter is left unchanged. Parameters combo_box A GtkComboBox iter A GtkTreeIter. [out] Returns TRUE if iter was set, FALSE otherwise gtk_combo_box_set_active_iter () gtk_combo_box_set_active_iter void gtk_combo_box_set_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter); Sets the current active item to be the one referenced by iter , or unsets the active item if iter is NULL. Parameters combo_box A GtkComboBox iter The GtkTreeIter, or NULL. [allow-none] gtk_combo_box_get_id_column () gtk_combo_box_get_id_column int gtk_combo_box_get_id_column (GtkComboBox *combo_box); Returns the column which combo_box is using to get string IDs for values from. Parameters combo_box A GtkComboBox Returns A column in the data source model of combo_box . gtk_combo_box_set_id_column () gtk_combo_box_set_id_column void gtk_combo_box_set_id_column (GtkComboBox *combo_box, int id_column); Sets the model column which combo_box should use to get string IDs for values from. The column id_column in the model of combo_box must be of type G_TYPE_STRING. Parameters combo_box A GtkComboBox id_column A column in model to get string IDs for values from gtk_combo_box_get_active_id () gtk_combo_box_get_active_id const char * gtk_combo_box_get_active_id (GtkComboBox *combo_box); Returns the ID of the active row of combo_box . This value is taken from the active row and the column specified by the “id-column” property of combo_box (see gtk_combo_box_set_id_column()). The returned value is an interned string which means that you can compare the pointer by value to other interned strings and that you must not free it. If the “id-column” property of combo_box is not set, or if no row is active, or if the active row has a NULL ID value, then NULL is returned. Parameters combo_box a GtkComboBox Returns the ID of the active row, or NULL. [nullable] gtk_combo_box_set_active_id () gtk_combo_box_set_active_id gboolean gtk_combo_box_set_active_id (GtkComboBox *combo_box, const char *active_id); Changes the active row of combo_box to the one that has an ID equal to active_id , or unsets the active row if active_id is NULL. Rows having a NULL ID string cannot be made active by this function. If the “id-column” property of combo_box is unset or if no row has the given ID then the function does nothing and returns FALSE. Parameters combo_box a GtkComboBox active_id the ID of the row to select, or NULL. [allow-none] Returns TRUE if a row with a matching ID was found. If a NULL active_id was given to unset the active row, the function always returns TRUE. gtk_combo_box_get_model () gtk_combo_box_get_model GtkTreeModel * gtk_combo_box_get_model (GtkComboBox *combo_box); Returns the GtkTreeModel which is acting as data source for combo_box . Parameters combo_box A GtkComboBox Returns A GtkTreeModel which was passed during construction. [transfer none] gtk_combo_box_set_model () gtk_combo_box_set_model void gtk_combo_box_set_model (GtkComboBox *combo_box, GtkTreeModel *model); Sets the model used by combo_box to be model . Will unset a previously set model (if applicable). If model is NULL, then it will unset the model. Note that this function does not clear the cell renderers, you have to call gtk_cell_layout_clear() yourself if you need to set up different cell renderers for the new model. Parameters combo_box A GtkComboBox model A GtkTreeModel. [allow-none] gtk_combo_box_popdown () gtk_combo_box_popdown void gtk_combo_box_popdown (GtkComboBox *combo_box); Hides the menu or dropdown list of combo_box . This function is mostly intended for use by accessibility technologies; applications should have little use for it. Parameters combo_box a GtkComboBox gtk_combo_box_get_row_separator_func () gtk_combo_box_get_row_separator_func GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box); Returns the current row separator function. [skip] Parameters combo_box a GtkComboBox Returns the current row separator function. gtk_combo_box_set_row_separator_func () gtk_combo_box_set_row_separator_func void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy); Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is NULL, no separators are drawn. This is the default value. Parameters combo_box a GtkComboBox func a GtkTreeViewRowSeparatorFunc data user data to pass to func , or NULL. [allow-none] destroy destroy notifier for data , or NULL. [allow-none] gtk_combo_box_set_button_sensitivity () gtk_combo_box_set_button_sensitivity void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box, GtkSensitivityType sensitivity); Sets whether the dropdown button of the combo box should be always sensitive (GTK_SENSITIVITY_ON), never sensitive (GTK_SENSITIVITY_OFF) or only if there is at least one item to display (GTK_SENSITIVITY_AUTO). Parameters combo_box a GtkComboBox sensitivity specify the sensitivity of the dropdown button gtk_combo_box_get_button_sensitivity () gtk_combo_box_get_button_sensitivity GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box); Returns whether the combo box sets the dropdown button sensitive or not when there are no items in the model. Parameters combo_box a GtkComboBox Returns GTK_SENSITIVITY_ON if the dropdown button is sensitive when the model is empty, GTK_SENSITIVITY_OFF if the button is always insensitive or GTK_SENSITIVITY_AUTO if it is only sensitive as long as the model has one item to be selected. gtk_combo_box_get_has_entry () gtk_combo_box_get_has_entry gboolean gtk_combo_box_get_has_entry (GtkComboBox *combo_box); Returns whether the combo box has an entry. Parameters combo_box a GtkComboBox Returns whether there is an entry in combo_box . gtk_combo_box_set_entry_text_column () gtk_combo_box_set_entry_text_column void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box, int text_column); Sets the model column which combo_box should use to get strings from to be text_column . The column text_column in the model of combo_box must be of type G_TYPE_STRING. This is only relevant if combo_box has been created with “has-entry” as TRUE. Parameters combo_box A GtkComboBox text_column A column in model to get the strings from for the internal entry gtk_combo_box_get_entry_text_column () gtk_combo_box_get_entry_text_column int gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box); Returns the column which combo_box is using to get the strings from to display in the internal entry. Parameters combo_box A GtkComboBox. Returns A column in the data source model of combo_box . gtk_combo_box_set_popup_fixed_width () gtk_combo_box_set_popup_fixed_width void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box, gboolean fixed); Specifies whether the popup’s width should be a fixed width matching the allocated width of the combo box. Parameters combo_box a GtkComboBox fixed whether to use a fixed popup width gtk_combo_box_get_popup_fixed_width () gtk_combo_box_get_popup_fixed_width gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box); Gets whether the popup uses a fixed width matching the allocated width of the combo box. Parameters combo_box a GtkComboBox Returns TRUE if the popup uses a fixed width gtk_combo_box_set_child () gtk_combo_box_set_child void gtk_combo_box_set_child (GtkComboBox *combo_box, GtkWidget *child); Sets the child widget of combo_box . Parameters combo_box a GtkComboBox child the child widget. [allow-none] gtk_combo_box_get_child () gtk_combo_box_get_child GtkWidget * gtk_combo_box_get_child (GtkComboBox *combo_box); Gets the child widget of combo_box . Parameters combo_box a GtkComboBox Returns the child widget of combo_box . [nullable][transfer none] Types and Values struct GtkComboBox GtkComboBox struct GtkComboBox; struct GtkComboBoxClass GtkComboBoxClass struct GtkComboBoxClass { GtkWidgetClass parent_class; /* signals */ void (* changed) (GtkComboBox *combo_box); char *(* format_entry_text) (GtkComboBox *combo_box, const char *path); }; Members changed () Signal is emitted when the active item is changed. format_entry_text () Signal which allows you to change how the text displayed in a combo box’s entry is displayed. enum GtkSensitivityType GtkSensitivityType Determines how GTK+ handles the sensitivity of stepper arrows at the end of range widgets. Members GTK_SENSITIVITY_AUTO The arrow is made insensitive if the thumb is at the end GTK_SENSITIVITY_ON The arrow is always sensitive GTK_SENSITIVITY_OFF The arrow is always insensitive Property Details The <literal>“active”</literal> property GtkComboBox:active “active” gint The item which is currently active. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this property has the value gtk_tree_path_get_indices (path)[0], where path is the GtkTreePath of the active item. Owner: GtkComboBox Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“active-id”</literal> property GtkComboBox:active-id “active-id” gchar * The value of the ID column of the active row. Owner: GtkComboBox Flags: Read / Write Default value: NULL The <literal>“button-sensitivity”</literal> property GtkComboBox:button-sensitivity “button-sensitivity” GtkSensitivityType Whether the dropdown button is sensitive when the model is empty. Owner: GtkComboBox Flags: Read / Write Default value: GTK_SENSITIVITY_AUTO The <literal>“child”</literal> property GtkComboBox:child “child” GtkWidget * The child_widget.Owner: GtkComboBox Flags: Read / Write The <literal>“entry-text-column”</literal> property GtkComboBox:entry-text-column “entry-text-column” gint The column in the combo box's model to associate with strings from the entry if the combo was created with “has-entry” = TRUE. Owner: GtkComboBox Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“has-entry”</literal> property GtkComboBox:has-entry “has-entry” gboolean Whether the combo box has an entry. Owner: GtkComboBox Flags: Read / Write / Construct Only Default value: FALSE The <literal>“has-frame”</literal> property GtkComboBox:has-frame “has-frame” gboolean The has-frame property controls whether a frame is drawn around the entry. Owner: GtkComboBox Flags: Read / Write Default value: TRUE The <literal>“id-column”</literal> property GtkComboBox:id-column “id-column” gint The column in the combo box's model that provides string IDs for the values in the model, if != -1. Owner: GtkComboBox Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“model”</literal> property GtkComboBox:model “model” GtkTreeModel * The model from which the combo box takes the values shown in the list. Owner: GtkComboBox Flags: Read / Write The <literal>“popup-fixed-width”</literal> property GtkComboBox:popup-fixed-width “popup-fixed-width” gboolean Whether the popup's width should be a fixed width matching the allocated width of the combo box. Owner: GtkComboBox Flags: Read / Write Default value: TRUE The <literal>“popup-shown”</literal> property GtkComboBox:popup-shown “popup-shown” gboolean Whether the combo boxes dropdown is popped up. Note that this property is mainly useful, because it allows you to connect to notify::popup-shown. Owner: GtkComboBox Flags: Read Default value: FALSE Signal Details The <literal>“changed”</literal> signal GtkComboBox::changed void user_function (GtkComboBox *widget, gpointer user_data) The changed signal is emitted when the active item is changed. The can be due to the user selecting a different item from the list, or due to a call to gtk_combo_box_set_active_iter(). It will also be emitted while typing into the entry of a combo box with an entry. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“format-entry-text”</literal> signal GtkComboBox::format-entry-text gchar* user_function (GtkComboBox *combo, gchar *path, gpointer user_data) For combo boxes that are created with an entry (See GtkComboBox:has-entry). A signal which allows you to change how the text displayed in a combo box's entry is displayed. Connect a signal handler which returns an allocated string representing path . That string will then be used to set the text in the combo box's entry. The default signal handler uses the text from the GtkComboBox::entry-text-column model column. Here's an example signal handler which fetches data from the model and displays it in the entry. Parameters combo the object which received the signal path the GtkTreePath string from the combo box's current model to format text for user_data user data set when the signal handler was connected. Returns a newly allocated string representing path for the current GtkComboBox model. [transfer full] Flags: Run Last The <literal>“move-active”</literal> signal GtkComboBox::move-active void user_function (GtkComboBox *widget, GtkScrollType scroll_type, gpointer user_data) The ::move-active signal is a keybinding signal which gets emitted to move the active selection. Parameters widget the object that received the signal scroll_type a GtkScrollType user_data user data set when the signal handler was connected. Flags: Action The <literal>“popdown”</literal> signal GtkComboBox::popdown gboolean user_function (GtkComboBox *button, gpointer user_data) The ::popdown signal is a keybinding signal which gets emitted to popdown the combo box list. The default bindings for this signal are Alt+Up and Escape. Parameters button the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“popup”</literal> signal GtkComboBox::popup void user_function (GtkComboBox *widget, gpointer user_data) The ::popup signal is a keybinding signal which gets emitted to popup the combo box list. The default binding for this signal is Alt+Down. Parameters widget the object that received the signal user_data user data set when the signal handler was connected. Flags: Action See Also GtkComboBoxText, GtkTreeModel, GtkCellRenderer docs/reference/gtk/xml/gtkpaned.xml0000664000175000017500000016206013710700312017477 0ustar mclasenmclasen ]> GtkPaned 3 GTK4 Library GtkPaned A widget with two adjustable panes Functions GtkWidget * gtk_paned_new () void gtk_paned_set_start_child () GtkWidget * gtk_paned_get_start_child () void gtk_paned_set_end_child () GtkWidget * gtk_paned_get_end_child () void gtk_paned_set_resize_start_child () gboolean gtk_paned_get_resize_start_child () void gtk_paned_set_resize_end_child () gboolean gtk_paned_get_resize_end_child () void gtk_paned_set_shrink_start_child () gboolean gtk_paned_get_shrink_start_child () void gtk_paned_set_shrink_end_child () gboolean gtk_paned_get_shrink_end_child () void gtk_paned_set_position () int gtk_paned_get_position () void gtk_paned_set_wide_handle () gboolean gtk_paned_get_wide_handle () Properties GtkWidget *end-childRead / Write gintmax-positionRead gintmin-positionRead gintpositionRead / Write gbooleanposition-setRead / Write gbooleanresize-end-childRead / Write gbooleanresize-start-childRead / Write gbooleanshrink-end-childRead / Write gbooleanshrink-start-childRead / Write GtkWidget *start-childRead / Write gbooleanwide-handleRead / Write Signals gbooleanaccept-positionAction gbooleancancel-positionAction gbooleancycle-child-focusAction gbooleancycle-handle-focusAction gbooleanmove-handleAction gbooleantoggle-handle-focusAction Types and Values GtkPaned Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPaned Implemented Interfaces GtkPaned implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkPaned has two panes, arranged either horizontally or vertically. The division between the two panes is adjustable by the user by dragging a handle. Child widgets are added to the panes of the widget with gtk_paned_set_start_child() and gtk_paned_set_end_child(). The division between the two children is set by default from the size requests of the children, but it can be adjusted by the user. A paned widget draws a separator between the two child widgets and a small handle that the user can drag to adjust the division. It does not draw any relief around the children or around the separator. (The space in which the separator is called the gutter.) Often, it is useful to put each child inside a GtkFrame so that the gutter appears as a ridge. No separator is drawn if one of the children is missing. Each child has two options that can be set, resize and shrink . If resize is true, then when the GtkPaned is resized, that child will expand or shrink along with the paned widget. If shrink is true, then that child can be made smaller than its requisition by the user. Setting shrink to FALSE allows the application to set a minimum size. If resize is false for both children, then this is treated as if resize is true for both children. The application can set the position of the slider as if it were set by the user, by calling gtk_paned_set_position(). CSS nodes ├── separator[.wide] ╰── ]]> GtkPaned has a main CSS node with name paned, and a subnode for the separator with name separator. The subnode gets a .wide style class when the paned is supposed to be wide. In horizontal orientation, the nodes are arranged based on the text direction, so in left-to-right mode, :first-child will select the leftmost child, while it will select the rightmost child in RTL layouts. Creating a paned widget with minimum sizes. Functions gtk_paned_new () gtk_paned_new GtkWidget * gtk_paned_new (GtkOrientation orientation); Creates a new GtkPaned widget. Parameters orientation the paned’s orientation. Returns a new GtkPaned. gtk_paned_set_start_child () gtk_paned_set_start_child void gtk_paned_set_start_child (GtkPaned *paned, GtkWidget *child); Sets the start child of paned to child . Parameters paned a GtkPaned child the widget to add gtk_paned_get_start_child () gtk_paned_get_start_child GtkWidget * gtk_paned_get_start_child (GtkPaned *paned); Retrieves the start child of the given GtkPaned. See also: “start-child” Parameters paned a GtkPaned Returns the start child widget. [transfer none][nullable] gtk_paned_set_end_child () gtk_paned_set_end_child void gtk_paned_set_end_child (GtkPaned *paned, GtkWidget *child); Sets the end child of paned to child . Parameters paned a GtkPaned child the widget to add gtk_paned_get_end_child () gtk_paned_get_end_child GtkWidget * gtk_paned_get_end_child (GtkPaned *paned); Retrieves the end child of the given GtkPaned. See also: “end-child” Parameters paned a GtkPaned Returns the end child widget. [transfer none][nullable] gtk_paned_set_resize_start_child () gtk_paned_set_resize_start_child void gtk_paned_set_resize_start_child (GtkPaned *paned, gboolean resize); Sets the “resize-start-child” property Parameters paned a GtkPaned resize TRUE to let the start child be resized gtk_paned_get_resize_start_child () gtk_paned_get_resize_start_child gboolean gtk_paned_get_resize_start_child (GtkPaned *paned); Returns whether the start child can be resized. Parameters paned a GtkPaned Returns TRUE if the start child is resizable gtk_paned_set_resize_end_child () gtk_paned_set_resize_end_child void gtk_paned_set_resize_end_child (GtkPaned *paned, gboolean resize); Sets the “resize-end-child” property Parameters paned a GtkPaned resize TRUE to let the end child be resized gtk_paned_get_resize_end_child () gtk_paned_get_resize_end_child gboolean gtk_paned_get_resize_end_child (GtkPaned *paned); Returns whether the end child can be resized. Parameters paned a GtkPaned Returns TRUE if the end child is resizable gtk_paned_set_shrink_start_child () gtk_paned_set_shrink_start_child void gtk_paned_set_shrink_start_child (GtkPaned *paned, gboolean resize); Sets the “shrink-start-child” property Parameters paned a GtkPaned resize TRUE to let the start child be shrunk gtk_paned_get_shrink_start_child () gtk_paned_get_shrink_start_child gboolean gtk_paned_get_shrink_start_child (GtkPaned *paned); Returns whether the start child can be shrunk. Parameters paned a GtkPaned Returns TRUE if the start child is shrinkable gtk_paned_set_shrink_end_child () gtk_paned_set_shrink_end_child void gtk_paned_set_shrink_end_child (GtkPaned *paned, gboolean resize); Sets the “shrink-end-child” property Parameters paned a GtkPaned resize TRUE to let the end child be shrunk gtk_paned_get_shrink_end_child () gtk_paned_get_shrink_end_child gboolean gtk_paned_get_shrink_end_child (GtkPaned *paned); Returns whether the end child can be shrunk. Parameters paned a GtkPaned Returns TRUE if the end child is shrinkable gtk_paned_set_position () gtk_paned_set_position void gtk_paned_set_position (GtkPaned *paned, int position); Sets the position of the divider between the two panes. Parameters paned a GtkPaned widget position pixel position of divider, a negative value means that the position is unset. gtk_paned_get_position () gtk_paned_get_position int gtk_paned_get_position (GtkPaned *paned); Obtains the position of the divider between the two panes. Parameters paned a GtkPaned widget Returns position of the divider gtk_paned_set_wide_handle () gtk_paned_set_wide_handle void gtk_paned_set_wide_handle (GtkPaned *paned, gboolean wide); Sets the “wide-handle” property. Parameters paned a GtkPaned wide the new value for the “wide-handle” property gtk_paned_get_wide_handle () gtk_paned_get_wide_handle gboolean gtk_paned_get_wide_handle (GtkPaned *paned); Gets the “wide-handle” property. Parameters paned a GtkPaned Returns TRUE if the paned should have a wide handle Types and Values GtkPaned GtkPaned typedef struct _GtkPaned GtkPaned; Property Details The <literal>“end-child”</literal> property GtkPaned:end-child “end-child” GtkWidget * The second child.Owner: GtkPaned Flags: Read / Write The <literal>“max-position”</literal> property GtkPaned:max-position “max-position” gint The largest possible value for the position property. This property is derived from the size and shrinkability of the widget's children. Owner: GtkPaned Flags: Read Allowed values: >= 0 Default value: 2147483647 The <literal>“min-position”</literal> property GtkPaned:min-position “min-position” gint The smallest possible value for the position property. This property is derived from the size and shrinkability of the widget's children. Owner: GtkPaned Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“position”</literal> property GtkPaned:position “position” gint Position of paned separator in pixels (0 means all the way to the left/top).Owner: GtkPaned Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“position-set”</literal> property GtkPaned:position-set “position-set” gboolean TRUE if the Position property should be used.Owner: GtkPaned Flags: Read / Write Default value: FALSE The <literal>“resize-end-child”</literal> property GtkPaned:resize-end-child “resize-end-child” gboolean The "resize-end-child" property determines whether the second child expands and shrinks along with the paned widget. Owner: GtkPaned Flags: Read / Write Default value: TRUE The <literal>“resize-start-child”</literal> property GtkPaned:resize-start-child “resize-start-child” gboolean The "resize-start-child" property determines whether the first child expands and shrinks along with the paned widget. Owner: GtkPaned Flags: Read / Write Default value: TRUE The <literal>“shrink-end-child”</literal> property GtkPaned:shrink-end-child “shrink-end-child” gboolean The "shrink-end-child" property determines whether the second child can be made smaller than its requisition. Owner: GtkPaned Flags: Read / Write Default value: TRUE The <literal>“shrink-start-child”</literal> property GtkPaned:shrink-start-child “shrink-start-child” gboolean The "shrink-start-child" property determines whether the first child can be made smaller than its requisition. Owner: GtkPaned Flags: Read / Write Default value: TRUE The <literal>“start-child”</literal> property GtkPaned:start-child “start-child” GtkWidget * The first child.Owner: GtkPaned Flags: Read / Write The <literal>“wide-handle”</literal> property GtkPaned:wide-handle “wide-handle” gboolean Setting this property to TRUE indicates that the paned needs to provide stronger visual separation (e.g. because it separates between two notebooks, whose tab rows would otherwise merge visually). Owner: GtkPaned Flags: Read / Write Default value: FALSE Signal Details The <literal>“accept-position”</literal> signal GtkPaned::accept-position gboolean user_function (GtkPaned *widget, gpointer user_data) The ::accept-position signal is a keybinding signal which gets emitted to accept the current position of the handle when moving it using key bindings. The default binding for this signal is Return or Space. Parameters widget the object that received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“cancel-position”</literal> signal GtkPaned::cancel-position gboolean user_function (GtkPaned *widget, gpointer user_data) The ::cancel-position signal is a keybinding signal which gets emitted to cancel moving the position of the handle using key bindings. The position of the handle will be reset to the value prior to moving it. The default binding for this signal is Escape. Parameters widget the object that received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“cycle-child-focus”</literal> signal GtkPaned::cycle-child-focus gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data) The ::cycle-child-focus signal is a keybinding signal which gets emitted to cycle the focus between the children of the paned. The default binding is f6. Parameters widget the object that received the signal reversed whether cycling backward or forward user_data user data set when the signal handler was connected. Flags: Action The <literal>“cycle-handle-focus”</literal> signal GtkPaned::cycle-handle-focus gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data) The ::cycle-handle-focus signal is a keybinding signal which gets emitted to cycle whether the paned should grab focus to allow the user to change position of the handle by using key bindings. The default binding for this signal is f8. Parameters widget the object that received the signal reversed whether cycling backward or forward user_data user data set when the signal handler was connected. Flags: Action The <literal>“move-handle”</literal> signal GtkPaned::move-handle gboolean user_function (GtkPaned *widget, GtkScrollType scroll_type, gpointer user_data) The ::move-handle signal is a keybinding signal which gets emitted to move the handle when the user is using key bindings to move it. Parameters widget the object that received the signal scroll_type a GtkScrollType user_data user data set when the signal handler was connected. Flags: Action The <literal>“toggle-handle-focus”</literal> signal GtkPaned::toggle-handle-focus gboolean user_function (GtkPaned *widget, gpointer user_data) The ::toggle-handle-focus is a keybinding signal which gets emitted to accept the current position of the handle and then move focus to the next widget in the focus chain. The default binding is Tab. Parameters widget the object that received the signal user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtkcomboboxtext.xml0000664000175000017500000006722013710700311021126 0ustar mclasenmclasen ]> GtkComboBoxText 3 GTK4 Library GtkComboBoxText A simple, text-only combo box Functions GtkWidget * gtk_combo_box_text_new () GtkWidget * gtk_combo_box_text_new_with_entry () void gtk_combo_box_text_append () void gtk_combo_box_text_prepend () void gtk_combo_box_text_insert () void gtk_combo_box_text_append_text () void gtk_combo_box_text_prepend_text () void gtk_combo_box_text_insert_text () void gtk_combo_box_text_remove () void gtk_combo_box_text_remove_all () char * gtk_combo_box_text_get_active_text () Types and Values GtkComboBoxText Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkComboBox ╰── GtkComboBoxText Implemented Interfaces GtkComboBoxText implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkCellEditable. Includes#include <gtk/gtk.h> Description A GtkComboBoxText is a simple variant of GtkComboBox that hides the model-view complexity for simple text-only use cases. To create a GtkComboBoxText, use gtk_combo_box_text_new() or gtk_combo_box_text_new_with_entry(). You can add items to a GtkComboBoxText with gtk_combo_box_text_append_text(), gtk_combo_box_text_insert_text() or gtk_combo_box_text_prepend_text() and remove options with gtk_combo_box_text_remove(). If the GtkComboBoxText contains an entry (via the “has-entry” property), its contents can be retrieved using gtk_combo_box_text_get_active_text(). The entry itself can be accessed by calling gtk_bin_get_child() on the combo box. You should not call gtk_combo_box_set_model() or attempt to pack more cells into this combo box via its GtkCellLayout interface. GtkComboBoxText as GtkBuildableThe GtkComboBoxText implementation of the GtkBuildable interface supports adding items directly using the <items> element and specifying <item> elements for each item. Each <item> element can specify the “id” corresponding to the appended text and also supports the regular translation attributes “translatable”, “context” and “comments”. Here is a UI definition fragment specifying GtkComboBoxText items: Factory Home Subway ]]> CSS nodes GtkComboBoxText has a single CSS node with name combobox. It adds the style class .combo to the main CSS nodes of its entry and button children, and the .linked class to the node of its internal box. Functions gtk_combo_box_text_new () gtk_combo_box_text_new GtkWidget * gtk_combo_box_text_new (void); Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings. Returns A new GtkComboBoxText gtk_combo_box_text_new_with_entry () gtk_combo_box_text_new_with_entry GtkWidget * gtk_combo_box_text_new_with_entry (void); Creates a new GtkComboBoxText, which is a GtkComboBox just displaying strings. The combo box created by this function has an entry. Returns a new GtkComboBoxText gtk_combo_box_text_append () gtk_combo_box_text_append void gtk_combo_box_text_append (GtkComboBoxText *combo_box, const char *id, const char *text); Appends text to the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row. This is the same as calling gtk_combo_box_text_insert() with a position of -1. Parameters combo_box A GtkComboBoxText id a string ID for this value, or NULL. [allow-none] text A string gtk_combo_box_text_prepend () gtk_combo_box_text_prepend void gtk_combo_box_text_prepend (GtkComboBoxText *combo_box, const char *id, const char *text); Prepends text to the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row. This is the same as calling gtk_combo_box_text_insert() with a position of 0. Parameters combo_box A GtkComboBox id a string ID for this value, or NULL. [allow-none] text a string gtk_combo_box_text_insert () gtk_combo_box_text_insert void gtk_combo_box_text_insert (GtkComboBoxText *combo_box, int position, const char *id, const char *text); Inserts text at position in the list of strings stored in combo_box . If id is non-NULL then it is used as the ID of the row. See “id-column”. If position is negative then text is appended. Parameters combo_box A GtkComboBoxText position An index to insert text id a string ID for this value, or NULL. [allow-none] text A string to display gtk_combo_box_text_append_text () gtk_combo_box_text_append_text void gtk_combo_box_text_append_text (GtkComboBoxText *combo_box, const char *text); Appends text to the list of strings stored in combo_box . This is the same as calling gtk_combo_box_text_insert_text() with a position of -1. Parameters combo_box A GtkComboBoxText text A string gtk_combo_box_text_prepend_text () gtk_combo_box_text_prepend_text void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const char *text); Prepends text to the list of strings stored in combo_box . This is the same as calling gtk_combo_box_text_insert_text() with a position of 0. Parameters combo_box A GtkComboBox text A string gtk_combo_box_text_insert_text () gtk_combo_box_text_insert_text void gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box, int position, const char *text); Inserts text at position in the list of strings stored in combo_box . If position is negative then text is appended. This is the same as calling gtk_combo_box_text_insert() with a NULL ID string. Parameters combo_box A GtkComboBoxText position An index to insert text text A string gtk_combo_box_text_remove () gtk_combo_box_text_remove void gtk_combo_box_text_remove (GtkComboBoxText *combo_box, int position); Removes the string at position from combo_box . Parameters combo_box A GtkComboBox position Index of the item to remove gtk_combo_box_text_remove_all () gtk_combo_box_text_remove_all void gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box); Removes all the text entries from the combo box. Parameters combo_box A GtkComboBoxText gtk_combo_box_text_get_active_text () gtk_combo_box_text_get_active_text char * gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box); Returns the currently active string in combo_box , or NULL if none is selected. If combo_box contains an entry, this function will return its contents (which will not necessarily be an item from the list). Parameters combo_box A GtkComboBoxText Returns a newly allocated string containing the currently active text. Must be freed with g_free(). [nullable][transfer full] Types and Values GtkComboBoxText GtkComboBoxText typedef struct _GtkComboBoxText GtkComboBoxText; See Also GtkComboBox docs/reference/gtk/xml/gtktextview.xml0000664000175000017500000073507413710700312020302 0ustar mclasenmclasen ]> GtkTextView 3 GTK4 Library GtkTextView Widget that displays a GtkTextBuffer Functions GtkWidget * gtk_text_view_new () GtkWidget * gtk_text_view_new_with_buffer () void gtk_text_view_set_buffer () GtkTextBuffer * gtk_text_view_get_buffer () void gtk_text_view_scroll_to_mark () gboolean gtk_text_view_scroll_to_iter () void gtk_text_view_scroll_mark_onscreen () gboolean gtk_text_view_move_mark_onscreen () gboolean gtk_text_view_place_cursor_onscreen () void gtk_text_view_get_visible_rect () void gtk_text_view_get_iter_location () void gtk_text_view_get_cursor_locations () void gtk_text_view_get_line_at_y () void gtk_text_view_get_line_yrange () gboolean gtk_text_view_get_iter_at_location () gboolean gtk_text_view_get_iter_at_position () void gtk_text_view_buffer_to_window_coords () void gtk_text_view_window_to_buffer_coords () gboolean gtk_text_view_forward_display_line () gboolean gtk_text_view_backward_display_line () gboolean gtk_text_view_forward_display_line_end () gboolean gtk_text_view_backward_display_line_start () gboolean gtk_text_view_starts_display_line () gboolean gtk_text_view_move_visually () void gtk_text_view_add_child_at_anchor () void gtk_text_view_remove () GtkTextChildAnchor * gtk_text_child_anchor_new () GtkWidget ** gtk_text_child_anchor_get_widgets () gboolean gtk_text_child_anchor_get_deleted () GtkWidget * gtk_text_view_get_gutter () void gtk_text_view_set_gutter () void gtk_text_view_add_overlay () void gtk_text_view_move_overlay () void gtk_text_view_set_wrap_mode () GtkWrapMode gtk_text_view_get_wrap_mode () void gtk_text_view_set_editable () gboolean gtk_text_view_get_editable () void gtk_text_view_set_cursor_visible () gboolean gtk_text_view_get_cursor_visible () void gtk_text_view_reset_cursor_blink () void gtk_text_view_set_overwrite () gboolean gtk_text_view_get_overwrite () void gtk_text_view_set_pixels_above_lines () int gtk_text_view_get_pixels_above_lines () void gtk_text_view_set_pixels_below_lines () int gtk_text_view_get_pixels_below_lines () void gtk_text_view_set_pixels_inside_wrap () int gtk_text_view_get_pixels_inside_wrap () void gtk_text_view_set_justification () GtkJustification gtk_text_view_get_justification () void gtk_text_view_set_left_margin () int gtk_text_view_get_left_margin () void gtk_text_view_set_right_margin () int gtk_text_view_get_right_margin () void gtk_text_view_set_top_margin () int gtk_text_view_get_top_margin () void gtk_text_view_set_bottom_margin () int gtk_text_view_get_bottom_margin () void gtk_text_view_set_indent () int gtk_text_view_get_indent () void gtk_text_view_set_tabs () PangoTabArray * gtk_text_view_get_tabs () void gtk_text_view_set_accepts_tab () gboolean gtk_text_view_get_accepts_tab () gboolean gtk_text_view_im_context_filter_keypress () void gtk_text_view_reset_im_context () void gtk_text_view_set_input_purpose () GtkInputPurpose gtk_text_view_get_input_purpose () void gtk_text_view_set_input_hints () GtkInputHints gtk_text_view_get_input_hints () void gtk_text_view_set_monospace () gboolean gtk_text_view_get_monospace () void gtk_text_view_set_extra_menu () GMenuModel * gtk_text_view_get_extra_menu () Properties gbooleanaccepts-tabRead / Write gintbottom-marginRead / Write GtkTextBuffer *bufferRead / Write gbooleancursor-visibleRead / Write gbooleaneditableRead / Write GMenuModel *extra-menuRead / Write gchar *im-moduleRead / Write gintindentRead / Write GtkInputHintsinput-hintsRead / Write GtkInputPurposeinput-purposeRead / Write GtkJustificationjustificationRead / Write gintleft-marginRead / Write gbooleanmonospaceRead / Write gbooleanoverwriteRead / Write gintpixels-above-linesRead / Write gintpixels-below-linesRead / Write gintpixels-inside-wrapRead / Write gintright-marginRead / Write PangoTabArray *tabsRead / Write ginttop-marginRead / Write GtkWrapModewrap-modeRead / Write Signals voidbackspaceAction voidcopy-clipboardAction voidcut-clipboardAction voiddelete-from-cursorAction gbooleanextend-selectionRun Last voidinsert-at-cursorAction voidinsert-emojiAction voidmove-cursorAction voidmove-viewportAction voidpaste-clipboardAction voidpreedit-changedAction voidselect-allAction voidset-anchorAction voidtoggle-cursor-visibleAction voidtoggle-overwriteAction Actions menu.popup text.redo text.undo misc.insert-emoji selection.select-all selection.delete clipboard.paste clipboard.copy clipboard.cut Types and Values structGtkTextView structGtkTextViewClass enumGtkTextViewLayer enumGtkTextWindowType enumGtkTextExtendSelection enumGtkWrapMode structGtkTextChildAnchor #defineGTK_TEXT_VIEW_PRIORITY_VALIDATE Object Hierarchy GObject ├── GInitiallyUnowned ╰── GtkWidget ╰── GtkTextView ╰── GtkTextChildAnchor Implemented Interfaces GtkTextView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable. Includes#include <gtk/gtk.h> Description You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together. CSS nodes GtkTextView has a main css node with name textview and style class .view, and subnodes for each of the border windows, and the main text area, with names border and text, respectively. The border nodes each get one of the style classes .left, .right, .top or .bottom. A node representing the selection will appear below the text node. If a context menu is opened, the window node will appear as a subnode of the main node. AccessibilityGtkTextView uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role. Functions gtk_text_view_new () gtk_text_view_new GtkWidget * gtk_text_view_new (void); Creates a new GtkTextView. If you don’t call gtk_text_view_set_buffer() before using the text view, an empty default buffer will be created for you. Get the buffer with gtk_text_view_get_buffer(). If you want to specify your own buffer, consider gtk_text_view_new_with_buffer(). Returns a new GtkTextView gtk_text_view_new_with_buffer () gtk_text_view_new_with_buffer GtkWidget * gtk_text_view_new_with_buffer (GtkTextBuffer *buffer); Creates a new GtkTextView widget displaying the buffer buffer . One buffer can be shared among many widgets. buffer may be NULL to create a default buffer, in which case this function is equivalent to gtk_text_view_new(). The text view adds its own reference count to the buffer; it does not take over an existing reference. Parameters buffer a GtkTextBuffer Returns a new GtkTextView. gtk_text_view_set_buffer () gtk_text_view_set_buffer void gtk_text_view_set_buffer (GtkTextView *text_view, GtkTextBuffer *buffer); Sets buffer as the buffer being displayed by text_view . The previous buffer displayed by the text view is unreferenced, and a reference is added to buffer . If you owned a reference to buffer before passing it to this function, you must remove that reference yourself; GtkTextView will not “adopt” it. Parameters text_view a GtkTextView buffer a GtkTextBuffer. [allow-none] gtk_text_view_get_buffer () gtk_text_view_get_buffer GtkTextBuffer * gtk_text_view_get_buffer (GtkTextView *text_view); Returns the GtkTextBuffer being displayed by this text view. The reference count on the buffer is not incremented; the caller of this function won’t own a new reference. Parameters text_view a GtkTextView Returns a GtkTextBuffer. [transfer none] gtk_text_view_scroll_to_mark () gtk_text_view_scroll_to_mark void gtk_text_view_scroll_to_mark (GtkTextView *text_view, GtkTextMark *mark, double within_margin, gboolean use_align, double xalign, double yalign); Scrolls text_view so that mark is on the screen in the position indicated by xalign and yalign . An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If use_align is FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size within_margin . Parameters text_view a GtkTextView mark a GtkTextMark within_margin margin as a [0.0,0.5) fraction of screen size use_align whether to use alignment arguments (if FALSE, just get the mark onscreen) xalign horizontal alignment of mark within visible area yalign vertical alignment of mark within visible area gtk_text_view_scroll_to_iter () gtk_text_view_scroll_to_iter gboolean gtk_text_view_scroll_to_iter (GtkTextView *text_view, GtkTextIter *iter, double within_margin, gboolean use_align, double xalign, double yalign); Scrolls text_view so that iter is on the screen in the position indicated by xalign and yalign . An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If use_align is FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size within_margin . Note that this function uses the currently-computed height of the lines in the text buffer. Line heights are computed in an idle handler; so this function may not have the desired effect if it’s called before the height computations. To avoid oddness, consider using gtk_text_view_scroll_to_mark() which saves a point to be scrolled to after line validation. Parameters text_view a GtkTextView iter a GtkTextIter within_margin margin as a [0.0,0.5) fraction of screen size use_align whether to use alignment arguments (if FALSE, just get the mark onscreen) xalign horizontal alignment of mark within visible area yalign vertical alignment of mark within visible area Returns TRUE if scrolling occurred gtk_text_view_scroll_mark_onscreen () gtk_text_view_scroll_mark_onscreen void gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); Scrolls text_view the minimum distance such that mark is contained within the visible area of the widget. Parameters text_view a GtkTextView mark a mark in the buffer for text_view gtk_text_view_move_mark_onscreen () gtk_text_view_move_mark_onscreen gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); Moves a mark within the buffer so that it's located within the currently-visible text area. Parameters text_view a GtkTextView mark a GtkTextMark Returns TRUE if the mark moved (wasn’t already onscreen) gtk_text_view_place_cursor_onscreen () gtk_text_view_place_cursor_onscreen gboolean gtk_text_view_place_cursor_onscreen (GtkTextView *text_view); Moves the cursor to the currently visible region of the buffer, if it isn’t there already. Parameters text_view a GtkTextView Returns TRUE if the cursor had to be moved. gtk_text_view_get_visible_rect () gtk_text_view_get_visible_rect void gtk_text_view_get_visible_rect (GtkTextView *text_view, GdkRectangle *visible_rect); Fills visible_rect with the currently-visible region of the buffer, in buffer coordinates. Convert to window coordinates with gtk_text_view_buffer_to_window_coords(). Parameters text_view a GtkTextView visible_rect rectangle to fill. [out] gtk_text_view_get_iter_location () gtk_text_view_get_iter_location void gtk_text_view_get_iter_location (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location); Gets a rectangle which roughly contains the character at iter . The rectangle position is in buffer coordinates; use gtk_text_view_buffer_to_window_coords() to convert these coordinates to coordinates for one of the windows in the text view. Parameters text_view a GtkTextView iter a GtkTextIter location bounds of the character at iter . [out] gtk_text_view_get_cursor_locations () gtk_text_view_get_cursor_locations void gtk_text_view_get_cursor_locations (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *strong, GdkRectangle *weak); Given an iter within a text layout, determine the positions of the strong and weak cursors if the insertion point is at that iterator. The position of each cursor is stored as a zero-width rectangle. The strong cursor location is the location where characters of the directionality equal to the base direction of the paragraph are inserted. The weak cursor location is the location where characters of the directionality opposite to the base direction of the paragraph are inserted. If iter is NULL, the actual cursor position is used. Note that if iter happens to be the actual cursor position, and there is currently an IM preedit sequence being entered, the returned locations will be adjusted to account for the preedit cursor’s offset within the preedit sequence. The rectangle position is in buffer coordinates; use gtk_text_view_buffer_to_window_coords() to convert these coordinates to coordinates for one of the windows in the text view. Parameters text_view a GtkTextView iter a GtkTextIter. [allow-none] strong location to store the strong cursor position (may be NULL). [out][allow-none] weak location to store the weak cursor position (may be NULL). [out][allow-none] gtk_text_view_get_line_at_y () gtk_text_view_get_line_at_y void gtk_text_view_get_line_at_y (GtkTextView *text_view, GtkTextIter *target_iter, int y, int *line_top); Gets the GtkTextIter at the start of the line containing the coordinate y . y is in buffer coordinates, convert from window coordinates with gtk_text_view_window_to_buffer_coords(). If non-NULL, line_top will be filled with the coordinate of the top edge of the line. Parameters text_view a GtkTextView target_iter a GtkTextIter. [out] y a y coordinate line_top return location for top coordinate of the line. [out] gtk_text_view_get_line_yrange () gtk_text_view_get_line_yrange void gtk_text_view_get_line_yrange (GtkTextView *text_view, const GtkTextIter *iter, int *y, int *height); Gets the y coordinate of the top of the line containing iter , and the height of the line. The coordinate is a buffer coordinate; convert to window coordinates with gtk_text_view_buffer_to_window_coords(). Parameters text_view a GtkTextView iter a GtkTextIter y return location for a y coordinate. [out] height return location for a height. [out] gtk_text_view_get_iter_at_location () gtk_text_view_get_iter_at_location gboolean gtk_text_view_get_iter_at_location (GtkTextView *text_view, GtkTextIter *iter, int x, int y); Retrieves the iterator at buffer coordinates x and y . Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords(). Parameters text_view a GtkTextView iter a GtkTextIter. [out] x x position, in buffer coordinates y y position, in buffer coordinates Returns TRUE if the position is over text gtk_text_view_get_iter_at_position () gtk_text_view_get_iter_at_position gboolean gtk_text_view_get_iter_at_position (GtkTextView *text_view, GtkTextIter *iter, int *trailing, int x, int y); Retrieves the iterator pointing to the character at buffer coordinates x and y . Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords(). Note that this is different from gtk_text_view_get_iter_at_location(), which returns cursor locations, i.e. positions between characters. Parameters text_view a GtkTextView iter a GtkTextIter. [out] trailing if non-NULL, location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the grapheme. [out][allow-none] x x position, in buffer coordinates y y position, in buffer coordinates Returns TRUE if the position is over text gtk_text_view_buffer_to_window_coords () gtk_text_view_buffer_to_window_coords void gtk_text_view_buffer_to_window_coords (GtkTextView *text_view, GtkTextWindowType win, int buffer_x, int buffer_y, int *window_x, int *window_y); Converts coordinate (buffer_x , buffer_y ) to coordinates for the window win , and stores the result in (window_x , window_y ). Note that you can’t convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()). Parameters text_view a GtkTextView win a GtkTextWindowType buffer_x buffer x coordinate buffer_y buffer y coordinate window_x window x coordinate return location or NULL. [out][allow-none] window_y window y coordinate return location or NULL. [out][allow-none] gtk_text_view_window_to_buffer_coords () gtk_text_view_window_to_buffer_coords void gtk_text_view_window_to_buffer_coords (GtkTextView *text_view, GtkTextWindowType win, int window_x, int window_y, int *buffer_x, int *buffer_y); Converts coordinates on the window identified by win to buffer coordinates, storing the result in (buffer_x ,buffer_y ). Note that you can’t convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()). Parameters text_view a GtkTextView win a GtkTextWindowType window_x window x coordinate window_y window y coordinate buffer_x buffer x coordinate return location or NULL. [out][allow-none] buffer_y buffer y coordinate return location or NULL. [out][allow-none] gtk_text_view_forward_display_line () gtk_text_view_forward_display_line gboolean gtk_text_view_forward_display_line (GtkTextView *text_view, GtkTextIter *iter); Moves the given iter forward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer. Parameters text_view a GtkTextView iter a GtkTextIter Returns TRUE if iter was moved and is not on the end iterator gtk_text_view_backward_display_line () gtk_text_view_backward_display_line gboolean gtk_text_view_backward_display_line (GtkTextView *text_view, GtkTextIter *iter); Moves the given iter backward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer. Parameters text_view a GtkTextView iter a GtkTextIter Returns TRUE if iter was moved and is not on the end iterator gtk_text_view_forward_display_line_end () gtk_text_view_forward_display_line_end gboolean gtk_text_view_forward_display_line_end (GtkTextView *text_view, GtkTextIter *iter); Moves the given iter forward to the next display line end. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer. Parameters text_view a GtkTextView iter a GtkTextIter Returns TRUE if iter was moved and is not on the end iterator gtk_text_view_backward_display_line_start () gtk_text_view_backward_display_line_start gboolean gtk_text_view_backward_display_line_start (GtkTextView *text_view, GtkTextIter *iter); Moves the given iter backward to the next display line start. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view’s width; paragraphs are the same in all views, since they depend on the contents of the GtkTextBuffer. Parameters text_view a GtkTextView iter a GtkTextIter Returns TRUE if iter was moved and is not on the end iterator gtk_text_view_starts_display_line () gtk_text_view_starts_display_line gboolean gtk_text_view_starts_display_line (GtkTextView *text_view, const GtkTextIter *iter); Determines whether iter is at the start of a display line. See gtk_text_view_forward_display_line() for an explanation of display lines vs. paragraphs. Parameters text_view a GtkTextView iter a GtkTextIter Returns TRUE if iter begins a wrapped line gtk_text_view_move_visually () gtk_text_view_move_visually gboolean gtk_text_view_move_visually (GtkTextView *text_view, GtkTextIter *iter, int count); Move the iterator a given number of characters visually, treating it as the strong cursor position. If count is positive, then the new strong cursor position will be count positions to the right of the old cursor position. If count is negative then the new strong cursor position will be count positions to the left of the old cursor position. In the presence of bi-directional text, the correspondence between logical and visual order will depend on the direction of the current run, and there may be jumps when the cursor is moved off of the end of a run. Parameters text_view a GtkTextView iter a GtkTextIter count number of characters to move (negative moves left, positive moves right) Returns TRUE if iter moved and is not on the end iterator gtk_text_view_add_child_at_anchor () gtk_text_view_add_child_at_anchor void gtk_text_view_add_child_at_anchor (GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor); Adds a child widget in the text buffer, at the given anchor . Parameters text_view a GtkTextView child a GtkWidget anchor a GtkTextChildAnchor in the GtkTextBuffer for text_view gtk_text_view_remove () gtk_text_view_remove void gtk_text_view_remove (GtkTextView *text_view, GtkWidget *child); Removes a child widget from text_view . Parameters text_view a GtkTextView child the child to remove gtk_text_child_anchor_new () gtk_text_child_anchor_new GtkTextChildAnchor * gtk_text_child_anchor_new (void); Creates a new GtkTextChildAnchor. Usually you would then insert it into a GtkTextBuffer with gtk_text_buffer_insert_child_anchor(). To perform the creation and insertion in one step, use the convenience function gtk_text_buffer_create_child_anchor(). Returns a new GtkTextChildAnchor gtk_text_child_anchor_get_widgets () gtk_text_child_anchor_get_widgets GtkWidget ** gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor, guint *out_len); Gets a list of all widgets anchored at this child anchor. The order in which the widgets are returned is not defined. Parameters anchor a GtkTextChildAnchor out_len return location for the length of the array. [out] Returns an array of widgets anchored at anchor . [array length=out_len][transfer container] gtk_text_child_anchor_get_deleted () gtk_text_child_anchor_get_deleted gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); Determines whether a child anchor has been deleted from the buffer. Keep in mind that the child anchor will be unreferenced when removed from the buffer, so you need to hold your own reference (with g_object_ref()) if you plan to use this function — otherwise all deleted child anchors will also be finalized. Parameters anchor a GtkTextChildAnchor Returns TRUE if the child anchor has been deleted from its buffer gtk_text_view_get_gutter () gtk_text_view_get_gutter GtkWidget * gtk_text_view_get_gutter (GtkTextView *text_view, GtkTextWindowType win); Gets a GtkWidget that has previously been set with gtk_text_view_set_gutter(). win must be one of GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, or GTK_TEXT_WINDOW_BOTTOM. Parameters text_view a GtkTextView win a GtkTextWindowType Returns a GtkWidget or NULL. [transfer none][nullable] gtk_text_view_set_gutter () gtk_text_view_set_gutter void gtk_text_view_set_gutter (GtkTextView *text_view, GtkTextWindowType win, GtkWidget *widget); Places widget into the gutter specified by win . win must be one of GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, or GTK_TEXT_WINDOW_BOTTOM. Parameters text_view a GtkTextView win a GtkTextWindowType widget a GtkWidget or NULL. [nullable] gtk_text_view_add_overlay () gtk_text_view_add_overlay void gtk_text_view_add_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos); Adds child at a fixed coordinate in the GtkTextView's text window. The xpos and ypos must be in buffer coordinates (see gtk_text_view_get_iter_location() to conver to buffer coordinates). child will scroll with the text view. If instead you want a widget that will not move with the GtkTextView contents see GtkOverlay. Parameters text_view a GtkTextView child a GtkWidget xpos X position of child in window coordinates ypos Y position of child in window coordinates gtk_text_view_move_overlay () gtk_text_view_move_overlay void gtk_text_view_move_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos); Updates the position of a child, as for gtk_text_view_add_overlay(). Parameters text_view a GtkTextView child a widget already added with gtk_text_view_add_overlay() xpos new X position in buffer coordinates ypos new Y position in buffer coordinates gtk_text_view_set_wrap_mode () gtk_text_view_set_wrap_mode void gtk_text_view_set_wrap_mode (GtkTextView *text_view, GtkWrapMode wrap_mode); Sets the line wrapping for the view. Parameters text_view a GtkTextView wrap_mode a GtkWrapMode gtk_text_view_get_wrap_mode () gtk_text_view_get_wrap_mode GtkWrapMode gtk_text_view_get_wrap_mode (GtkTextView *text_view); Gets the line wrapping for the view. Parameters text_view a GtkTextView Returns the line wrap setting gtk_text_view_set_editable () gtk_text_view_set_editable void gtk_text_view_set_editable (GtkTextView *text_view, gboolean setting); Sets the default editability of the GtkTextView. You can override this default setting with tags in the buffer, using the “editable” attribute of tags. Parameters text_view a GtkTextView setting whether it’s editable gtk_text_view_get_editable () gtk_text_view_get_editable gboolean gtk_text_view_get_editable (GtkTextView *text_view); Returns the default editability of the GtkTextView. Tags in the buffer may override this setting for some ranges of text. Parameters text_view a GtkTextView Returns whether text is editable by default gtk_text_view_set_cursor_visible () gtk_text_view_set_cursor_visible void gtk_text_view_set_cursor_visible (GtkTextView *text_view, gboolean setting); Toggles whether the insertion point should be displayed. A buffer with no editable text probably shouldn’t have a visible cursor, so you may want to turn the cursor off. Note that this property may be overridden by the “gtk-keynav-use-caret” settings. Parameters text_view a GtkTextView setting whether to show the insertion cursor gtk_text_view_get_cursor_visible () gtk_text_view_get_cursor_visible gboolean gtk_text_view_get_cursor_visible (GtkTextView *text_view); Find out whether the cursor should be displayed. Parameters text_view a GtkTextView Returns whether the insertion mark is visible gtk_text_view_reset_cursor_blink () gtk_text_view_reset_cursor_blink void gtk_text_view_reset_cursor_blink (GtkTextView *text_view); Ensures that the cursor is shown (i.e. not in an 'off' blink interval) and resets the time that it will stay blinking (or visible, in case blinking is disabled). This function should be called in response to user input (e.g. from derived classes that override the textview's event handlers). Parameters text_view a GtkTextView gtk_text_view_set_overwrite () gtk_text_view_set_overwrite void gtk_text_view_set_overwrite (GtkTextView *text_view, gboolean overwrite); Changes the GtkTextView overwrite mode. Parameters text_view a GtkTextView overwrite TRUE to turn on overwrite mode, FALSE to turn it off gtk_text_view_get_overwrite () gtk_text_view_get_overwrite gboolean gtk_text_view_get_overwrite (GtkTextView *text_view); Returns whether the GtkTextView is in overwrite mode or not. Parameters text_view a GtkTextView Returns whether text_view is in overwrite mode or not. gtk_text_view_set_pixels_above_lines () gtk_text_view_set_pixels_above_lines void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view, int pixels_above_lines); Sets the default number of blank pixels above paragraphs in text_view . Tags in the buffer for text_view may override the defaults. Parameters text_view a GtkTextView pixels_above_lines pixels above paragraphs gtk_text_view_get_pixels_above_lines () gtk_text_view_get_pixels_above_lines int gtk_text_view_get_pixels_above_lines (GtkTextView *text_view); Gets the default number of pixels to put above paragraphs. Adding this function with gtk_text_view_get_pixels_below_lines() is equal to the line space between each paragraph. Parameters text_view a GtkTextView Returns default number of pixels above paragraphs gtk_text_view_set_pixels_below_lines () gtk_text_view_set_pixels_below_lines void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, int pixels_below_lines); Sets the default number of pixels of blank space to put below paragraphs in text_view . May be overridden by tags applied to text_view ’s buffer. Parameters text_view a GtkTextView pixels_below_lines pixels below paragraphs gtk_text_view_get_pixels_below_lines () gtk_text_view_get_pixels_below_lines int gtk_text_view_get_pixels_below_lines (GtkTextView *text_view); Gets the value set by gtk_text_view_set_pixels_below_lines(). The line space is the sum of the value returned by this function and the value returned by gtk_text_view_get_pixels_above_lines(). Parameters text_view a GtkTextView Returns default number of blank pixels below paragraphs gtk_text_view_set_pixels_inside_wrap () gtk_text_view_set_pixels_inside_wrap void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, int pixels_inside_wrap); Sets the default number of pixels of blank space to leave between display/wrapped lines within a paragraph. May be overridden by tags in text_view ’s buffer. Parameters text_view a GtkTextView pixels_inside_wrap default number of pixels between wrapped lines gtk_text_view_get_pixels_inside_wrap () gtk_text_view_get_pixels_inside_wrap int gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view); Gets the value set by gtk_text_view_set_pixels_inside_wrap(). Parameters text_view a GtkTextView Returns default number of pixels of blank space between wrapped lines gtk_text_view_set_justification () gtk_text_view_set_justification void gtk_text_view_set_justification (GtkTextView *text_view, GtkJustification justification); Sets the default justification of text in text_view . Tags in the view’s buffer may override the default. Parameters text_view a GtkTextView justification justification gtk_text_view_get_justification () gtk_text_view_get_justification GtkJustification gtk_text_view_get_justification (GtkTextView *text_view); Gets the default justification of paragraphs in text_view . Tags in the buffer may override the default. Parameters text_view a GtkTextView Returns default justification gtk_text_view_set_left_margin () gtk_text_view_set_left_margin void gtk_text_view_set_left_margin (GtkTextView *text_view, int left_margin); Sets the default left margin for text in text_view . Tags in the buffer may override the default. Note that this function is confusingly named. In CSS terms, the value set here is padding. Parameters text_view a GtkTextView left_margin left margin in pixels gtk_text_view_get_left_margin () gtk_text_view_get_left_margin int gtk_text_view_get_left_margin (GtkTextView *text_view); Gets the default left margin size of paragraphs in the text_view . Tags in the buffer may override the default. Parameters text_view a GtkTextView Returns left margin in pixels gtk_text_view_set_right_margin () gtk_text_view_set_right_margin void gtk_text_view_set_right_margin (GtkTextView *text_view, int right_margin); Sets the default right margin for text in the text view. Tags in the buffer may override the default. Note that this function is confusingly named. In CSS terms, the value set here is padding. Parameters text_view a GtkTextView right_margin right margin in pixels gtk_text_view_get_right_margin () gtk_text_view_get_right_margin int gtk_text_view_get_right_margin (GtkTextView *text_view); Gets the default right margin for text in text_view . Tags in the buffer may override the default. Parameters text_view a GtkTextView Returns right margin in pixels gtk_text_view_set_top_margin () gtk_text_view_set_top_margin void gtk_text_view_set_top_margin (GtkTextView *text_view, int top_margin); Sets the top margin for text in text_view . Note that this function is confusingly named. In CSS terms, the value set here is padding. Parameters text_view a GtkTextView top_margin top margin in pixels gtk_text_view_get_top_margin () gtk_text_view_get_top_margin int gtk_text_view_get_top_margin (GtkTextView *text_view); Gets the top margin for text in the text_view . Parameters text_view a GtkTextView Returns top margin in pixels gtk_text_view_set_bottom_margin () gtk_text_view_set_bottom_margin void gtk_text_view_set_bottom_margin (GtkTextView *text_view, int bottom_margin); Sets the bottom margin for text in text_view . Note that this function is confusingly named. In CSS terms, the value set here is padding. Parameters text_view a GtkTextView bottom_margin bottom margin in pixels gtk_text_view_get_bottom_margin () gtk_text_view_get_bottom_margin int gtk_text_view_get_bottom_margin (GtkTextView *text_view); Gets the bottom margin for text in the text_view . Parameters text_view a GtkTextView Returns bottom margin in pixels gtk_text_view_set_indent () gtk_text_view_set_indent void gtk_text_view_set_indent (GtkTextView *text_view, int indent); Sets the default indentation for paragraphs in text_view . Tags in the buffer may override the default. Parameters text_view a GtkTextView indent indentation in pixels gtk_text_view_get_indent () gtk_text_view_get_indent int gtk_text_view_get_indent (GtkTextView *text_view); Gets the default indentation of paragraphs in text_view . Tags in the view’s buffer may override the default. The indentation may be negative. Parameters text_view a GtkTextView Returns number of pixels of indentation gtk_text_view_set_tabs () gtk_text_view_set_tabs void gtk_text_view_set_tabs (GtkTextView *text_view, PangoTabArray *tabs); Sets the default tab stops for paragraphs in text_view . Tags in the buffer may override the default. Parameters text_view a GtkTextView tabs tabs as a PangoTabArray gtk_text_view_get_tabs () gtk_text_view_get_tabs PangoTabArray * gtk_text_view_get_tabs (GtkTextView *text_view); Gets the default tabs for text_view . Tags in the buffer may override the defaults. The returned array will be NULL if “standard” (8-space) tabs are used. Free the return value with pango_tab_array_free(). Parameters text_view a GtkTextView Returns copy of default tab array, or NULL if “standard" tabs are used; must be freed with pango_tab_array_free(). [nullable][transfer full] gtk_text_view_set_accepts_tab () gtk_text_view_set_accepts_tab void gtk_text_view_set_accepts_tab (GtkTextView *text_view, gboolean accepts_tab); Sets the behavior of the text widget when the Tab key is pressed. If accepts_tab is TRUE, a tab character is inserted. If accepts_tab is FALSE the keyboard focus is moved to the next widget in the focus chain. Parameters text_view A GtkTextView accepts_tab TRUE if pressing the Tab key should insert a tab character, FALSE, if pressing the Tab key should move the keyboard focus. gtk_text_view_get_accepts_tab () gtk_text_view_get_accepts_tab gboolean gtk_text_view_get_accepts_tab (GtkTextView *text_view); Returns whether pressing the Tab key inserts a tab characters. gtk_text_view_set_accepts_tab(). Parameters text_view A GtkTextView Returns TRUE if pressing the Tab key inserts a tab character, FALSE if pressing the Tab key moves the keyboard focus. gtk_text_view_im_context_filter_keypress () gtk_text_view_im_context_filter_keypress gboolean gtk_text_view_im_context_filter_keypress (GtkTextView *text_view, GdkEvent *event); Allow the GtkTextView input method to internally handle key press and release events. If this function returns TRUE, then no further processing should be done for this key event. See gtk_im_context_filter_keypress(). Note that you are expected to call this function from your handler when overriding key event handling. This is needed in the case when you need to insert your own key handling between the input method and the default key event handling of the GtkTextView. key_press_event (widget, event); } ]]> Parameters text_view a GtkTextView event the key event Returns TRUE if the input method handled the key event. gtk_text_view_reset_im_context () gtk_text_view_reset_im_context void gtk_text_view_reset_im_context (GtkTextView *text_view); Reset the input method context of the text view if needed. This can be necessary in the case where modifying the buffer would confuse on-going input method behavior. Parameters text_view a GtkTextView gtk_text_view_set_input_purpose () gtk_text_view_set_input_purpose void gtk_text_view_set_input_purpose (GtkTextView *text_view, GtkInputPurpose purpose); Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour. Parameters text_view a GtkTextView purpose the purpose gtk_text_view_get_input_purpose () gtk_text_view_get_input_purpose GtkInputPurpose gtk_text_view_get_input_purpose (GtkTextView *text_view); Gets the value of the “input-purpose” property. Parameters text_view a GtkTextView gtk_text_view_set_input_hints () gtk_text_view_set_input_hints void gtk_text_view_set_input_hints (GtkTextView *text_view, GtkInputHints hints); Sets the “input-hints” property, which allows input methods to fine-tune their behaviour. Parameters text_view a GtkTextView hints the hints gtk_text_view_get_input_hints () gtk_text_view_get_input_hints GtkInputHints gtk_text_view_get_input_hints (GtkTextView *text_view); Gets the value of the “input-hints” property. Parameters text_view a GtkTextView gtk_text_view_set_monospace () gtk_text_view_set_monospace void gtk_text_view_set_monospace (GtkTextView *text_view, gboolean monospace); Sets the “monospace” property, which indicates that the text view should use monospace fonts. Parameters text_view a GtkTextView monospace TRUE to request monospace styling gtk_text_view_get_monospace () gtk_text_view_get_monospace gboolean gtk_text_view_get_monospace (GtkTextView *text_view); Gets the value of the “monospace” property. Return: TRUE if monospace fonts are desired Parameters text_view a GtkTextView gtk_text_view_set_extra_menu () gtk_text_view_set_extra_menu void gtk_text_view_set_extra_menu (GtkTextView *text_view, GMenuModel *model); Sets a menu model to add when constructing the context menu for text_view . Parameters text_view a GtkTextView model a GMenuModel. [allow-none] gtk_text_view_get_extra_menu () gtk_text_view_get_extra_menu GMenuModel * gtk_text_view_get_extra_menu (GtkTextView *text_view); Gets the menu model set with gtk_text_view_set_extra_menu(). Parameters text_view a GtkTextView Returns (nullable): the menu model. [transfer none] Types and Values struct GtkTextView GtkTextView struct GtkTextView; struct GtkTextViewClass GtkTextViewClass struct GtkTextViewClass { GtkWidgetClass parent_class; void (* move_cursor) (GtkTextView *text_view, GtkMovementStep step, int count, gboolean extend_selection); void (* set_anchor) (GtkTextView *text_view); void (* insert_at_cursor) (GtkTextView *text_view, const char *str); void (* delete_from_cursor) (GtkTextView *text_view, GtkDeleteType type, int count); void (* backspace) (GtkTextView *text_view); void (* cut_clipboard) (GtkTextView *text_view); void (* copy_clipboard) (GtkTextView *text_view); void (* paste_clipboard) (GtkTextView *text_view); void (* toggle_overwrite) (GtkTextView *text_view); GtkTextBuffer * (* create_buffer) (GtkTextView *text_view); void (* snapshot_layer) (GtkTextView *text_view, GtkTextViewLayer layer, GtkSnapshot *snapshot); gboolean (* extend_selection) (GtkTextView *text_view, GtkTextExtendSelection granularity, const GtkTextIter *location, GtkTextIter *start, GtkTextIter *end); void (* insert_emoji) (GtkTextView *text_view); }; Members move_cursor () The class handler for the “move-cursor” keybinding signal. set_anchor () The class handler for the “set-anchor” keybinding signal. insert_at_cursor () The class handler for the “insert-at-cursor” keybinding signal. delete_from_cursor () The class handler for the “delete-from-cursor” keybinding signal. backspace () The class handler for the “backspace” keybinding signal. cut_clipboard () The class handler for the “cut-clipboard” keybinding signal copy_clipboard () The class handler for the “copy-clipboard” keybinding signal. paste_clipboard () The class handler for the “paste-clipboard” keybinding signal. toggle_overwrite () The class handler for the “toggle-overwrite” keybinding signal. create_buffer () The create_buffer vfunc is called to create a GtkTextBuffer for the text view. The default implementation is to just call gtk_text_buffer_new(). snapshot_layer () The snapshot_layer vfunc is called before and after the text view is drawing its own text. Applications can override this vfunc in a subclass to draw customized content underneath or above the text. In the GTK_TEXT_VIEW_LAYER_BELOW_TEXT and GTK_TEXT_VIEW_LAYER_ABOVE_TEXT the drawing is done in the buffer coordinate space, but the older (deprecated) layers GTK_TEXT_VIEW_LAYER_BELOW and GTK_TEXT_VIEW_LAYER_ABOVE work in viewport coordinates, which makes them unnecessarily hard to use. extend_selection () The class handler for the “extend-selection” signal. insert_emoji () The class handler for the “insert-emoji” signal. enum GtkTextViewLayer GtkTextViewLayer Used to reference the layers of GtkTextView for the purpose of customized drawing with the ::snapshot_layer vfunc. Members GTK_TEXT_VIEW_LAYER_BELOW_TEXT The layer rendered below the text (but above the background). GTK_TEXT_VIEW_LAYER_ABOVE_TEXT The layer rendered above the text. enum GtkTextWindowType GtkTextWindowType Used to reference the parts of GtkTextView. Members GTK_TEXT_WINDOW_WIDGET Window that floats over scrolling areas. GTK_TEXT_WINDOW_TEXT Scrollable text window. GTK_TEXT_WINDOW_LEFT Left side border window. GTK_TEXT_WINDOW_RIGHT Right side border window. GTK_TEXT_WINDOW_TOP Top border window. GTK_TEXT_WINDOW_BOTTOM Bottom border window. enum GtkTextExtendSelection GtkTextExtendSelection Granularity types that extend the text selection. Use the “extend-selection” signal to customize the selection. Members GTK_TEXT_EXTEND_SELECTION_WORD Selects the current word. It is triggered by a double-click for example. GTK_TEXT_EXTEND_SELECTION_LINE Selects the current line. It is triggered by a triple-click for example. enum GtkWrapMode GtkWrapMode Describes a type of line wrapping. Members GTK_WRAP_NONE do not wrap lines; just make the text area wider GTK_WRAP_CHAR wrap text, breaking lines anywhere the cursor can appear (between characters, usually - if you want to be technical, between graphemes, see pango_get_log_attrs()) GTK_WRAP_WORD wrap text, breaking lines in between words GTK_WRAP_WORD_CHAR wrap text, breaking lines in between words, or if that is not enough, also between graphemes struct GtkTextChildAnchor GtkTextChildAnchor struct GtkTextChildAnchor; A GtkTextChildAnchor is a spot in the buffer where child widgets can be “anchored” (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, to allow for multiple views. GTK_TEXT_VIEW_PRIORITY_VALIDATE GTK_TEXT_VIEW_PRIORITY_VALIDATE #define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) The priority at which the text view validates onscreen lines in an idle job in the background. Property Details The <literal>“accepts-tab”</literal> property GtkTextView:accepts-tab “accepts-tab” gboolean Whether Tab will result in a tab character being entered.Owner: GtkTextView Flags: Read / Write Default value: TRUE The <literal>“bottom-margin”</literal> property GtkTextView:bottom-margin “bottom-margin” gint The bottom margin for text in the text view. Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme. Don't confuse this property with “margin-bottom”. Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“buffer”</literal> property GtkTextView:buffer “buffer” GtkTextBuffer * The buffer which is displayed.Owner: GtkTextView Flags: Read / Write The <literal>“cursor-visible”</literal> property GtkTextView:cursor-visible “cursor-visible” gboolean If the insertion cursor is shown.Owner: GtkTextView Flags: Read / Write Default value: TRUE The <literal>“editable”</literal> property GtkTextView:editable “editable” gboolean Whether the text can be modified by the user.Owner: GtkTextView Flags: Read / Write Default value: TRUE The <literal>“extra-menu”</literal> property GtkTextView:extra-menu “extra-menu” GMenuModel * Menu model to append to the context menu.Owner: GtkTextView Flags: Read / Write The <literal>“im-module”</literal> property GtkTextView:im-module “im-module” gchar * Which IM (input method) module should be used for this text_view. See GtkIMContext. Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property. Owner: GtkTextView Flags: Read / Write Default value: NULL The <literal>“indent”</literal> property GtkTextView:indent “indent” gint Amount to indent the paragraph, in pixels.Owner: GtkTextView Flags: Read / Write Default value: 0 The <literal>“input-hints”</literal> property GtkTextView:input-hints “input-hints” GtkInputHints Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour. Owner: GtkTextView Flags: Read / Write The <literal>“input-purpose”</literal> property GtkTextView:input-purpose “input-purpose” GtkInputPurpose The purpose of this text field. This property can be used by on-screen keyboards and other input methods to adjust their behaviour. Owner: GtkTextView Flags: Read / Write Default value: GTK_INPUT_PURPOSE_FREE_FORM The <literal>“justification”</literal> property GtkTextView:justification “justification” GtkJustification Left, right, or center justification.Owner: GtkTextView Flags: Read / Write Default value: GTK_JUSTIFY_LEFT The <literal>“left-margin”</literal> property GtkTextView:left-margin “left-margin” gint The default left margin for text in the text view. Tags in the buffer may override the default. Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme. Don't confuse this property with “margin-left”. Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“monospace”</literal> property GtkTextView:monospace “monospace” gboolean If TRUE, set the GTK_STYLE_CLASS_MONOSPACE style class on the text view to indicate that a monospace font is desired. Owner: GtkTextView Flags: Read / Write Default value: FALSE The <literal>“overwrite”</literal> property GtkTextView:overwrite “overwrite” gboolean Whether entered text overwrites existing contents.Owner: GtkTextView Flags: Read / Write Default value: FALSE The <literal>“pixels-above-lines”</literal> property GtkTextView:pixels-above-lines “pixels-above-lines” gint Pixels of blank space above paragraphs.Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“pixels-below-lines”</literal> property GtkTextView:pixels-below-lines “pixels-below-lines” gint Pixels of blank space below paragraphs.Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“pixels-inside-wrap”</literal> property GtkTextView:pixels-inside-wrap “pixels-inside-wrap” gint Pixels of blank space between wrapped lines in a paragraph.Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“right-margin”</literal> property GtkTextView:right-margin “right-margin” gint The default right margin for text in the text view. Tags in the buffer may override the default. Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme. Don't confuse this property with “margin-right”. Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“tabs”</literal> property GtkTextView:tabs “tabs” PangoTabArray * Custom tabs for this text.Owner: GtkTextView Flags: Read / Write The <literal>“top-margin”</literal> property GtkTextView:top-margin “top-margin” gint The top margin for text in the text view. Note that this property is confusingly named. In CSS terms, the value set here is padding, and it is applied in addition to the padding from the theme. Don't confuse this property with “margin-top”. Owner: GtkTextView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“wrap-mode”</literal> property GtkTextView:wrap-mode “wrap-mode” GtkWrapMode Whether to wrap lines never, at word boundaries, or at character boundaries.Owner: GtkTextView Flags: Read / Write Default value: GTK_WRAP_NONE Signal Details The <literal>“backspace”</literal> signal GtkTextView::backspace void user_function (GtkTextView *text_view, gpointer user_data) The ::backspace signal is a keybinding signal which gets emitted when the user asks for it. The default bindings for this signal are Backspace and Shift-Backspace. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“copy-clipboard”</literal> signal GtkTextView::copy-clipboard void user_function (GtkTextView *text_view, gpointer user_data) The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard. The default bindings for this signal are Ctrl-c and Ctrl-Insert. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“cut-clipboard”</literal> signal GtkTextView::cut-clipboard void user_function (GtkTextView *text_view, gpointer user_data) The ::cut-clipboard signal is a keybinding signal which gets emitted to cut the selection to the clipboard. The default bindings for this signal are Ctrl-x and Shift-Delete. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“delete-from-cursor”</literal> signal GtkTextView::delete-from-cursor void user_function (GtkTextView *text_view, GtkDeleteType type, gint count, gpointer user_data) The ::delete-from-cursor signal is a keybinding signal which gets emitted when the user initiates a text deletion. If the type is GTK_DELETE_CHARS, GTK+ deletes the selection if there is one, otherwise it deletes the requested number of characters. The default bindings for this signal are Delete for deleting a character, Ctrl-Delete for deleting a word and Ctrl-Backspace for deleting a word backwards. Parameters text_view the object which received the signal type the granularity of the deletion, as a GtkDeleteType count the number of type units to delete user_data user data set when the signal handler was connected. Flags: Action The <literal>“extend-selection”</literal> signal GtkTextView::extend-selection gboolean user_function (GtkTextView *text_view, GtkTextExtendSelection granularity, GtkTextIter *location, GtkTextIter *start, GtkTextIter *end, gpointer user_data) The ::extend-selection signal is emitted when the selection needs to be extended at location . Parameters text_view the object which received the signal granularity the granularity type location the location where to extend the selection start where the selection should start end where the selection should end user_data user data set when the signal handler was connected. Returns GDK_EVENT_STOP to stop other handlers from being invoked for the event. GDK_EVENT_PROPAGATE to propagate the event further. Flags: Run Last The <literal>“insert-at-cursor”</literal> signal GtkTextView::insert-at-cursor void user_function (GtkTextView *text_view, gchar *string, gpointer user_data) The ::insert-at-cursor signal is a keybinding signal which gets emitted when the user initiates the insertion of a fixed string at the cursor. This signal has no default bindings. Parameters text_view the object which received the signal string the string to insert user_data user data set when the signal handler was connected. Flags: Action The <literal>“insert-emoji”</literal> signal GtkTextView::insert-emoji void user_function (GtkTextView *text_view, gpointer user_data) The ::insert-emoji signal is a keybinding signal which gets emitted to present the Emoji chooser for the text_view . The default bindings for this signal are Ctrl-. and Ctrl-; Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“move-cursor”</literal> signal GtkTextView::move-cursor void user_function (GtkTextView *text_view, GtkMovementStep step, gint count, gboolean extend_selection, gpointer user_data) The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. If the cursor is not visible in text_view , this signal causes the viewport to be moved instead. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here. Arrow keys move by individual characters/lines Ctrl-arrow key combinations move by words/paragraphs Home/End keys move to the ends of the buffer PageUp/PageDown keys move vertically by pages Ctrl-PageUp/PageDown keys move horizontally by pages Parameters text_view the object which received the signal step the granularity of the move, as a GtkMovementStep count the number of step units to move extend_selection TRUE if the move should extend the selection user_data user data set when the signal handler was connected. Flags: Action The <literal>“move-viewport”</literal> signal GtkTextView::move-viewport void user_function (GtkTextView *text_view, GtkScrollStep step, gint count, gpointer user_data) The ::move-viewport signal is a keybinding signal which can be bound to key combinations to allow the user to move the viewport, i.e. change what part of the text view is visible in a containing scrolled window. There are no default bindings for this signal. Parameters text_view the object which received the signal step the granularity of the movement, as a GtkScrollStep count the number of step units to move user_data user data set when the signal handler was connected. Flags: Action The <literal>“paste-clipboard”</literal> signal GtkTextView::paste-clipboard void user_function (GtkTextView *text_view, gpointer user_data) The ::paste-clipboard signal is a keybinding signal which gets emitted to paste the contents of the clipboard into the text view. The default bindings for this signal are Ctrl-v and Shift-Insert. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“preedit-changed”</literal> signal GtkTextView::preedit-changed void user_function (GtkTextView *text_view, gchar *preedit, gpointer user_data) If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal. This signal is only emitted if the text at the given position is actually editable. Parameters text_view the object which received the signal preedit the current preedit string user_data user data set when the signal handler was connected. Flags: Action The <literal>“select-all”</literal> signal GtkTextView::select-all void user_function (GtkTextView *text_view, gboolean select, gpointer user_data) The ::select-all signal is a keybinding signal which gets emitted to select or unselect the complete contents of the text view. The default bindings for this signal are Ctrl-a and Ctrl-/ for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting. Parameters text_view the object which received the signal select TRUE to select, FALSE to unselect user_data user data set when the signal handler was connected. Flags: Action The <literal>“set-anchor”</literal> signal GtkTextView::set-anchor void user_function (GtkTextView *text_view, gpointer user_data) The ::set-anchor signal is a keybinding signal which gets emitted when the user initiates setting the "anchor" mark. The "anchor" mark gets placed at the same position as the "insert" mark. This signal has no default bindings. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“toggle-cursor-visible”</literal> signal GtkTextView::toggle-cursor-visible void user_function (GtkTextView *text_view, gpointer user_data) The ::toggle-cursor-visible signal is a keybinding signal which gets emitted to toggle the “cursor-visible” property. The default binding for this signal is F7. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“toggle-overwrite”</literal> signal GtkTextView::toggle-overwrite void user_function (GtkTextView *text_view, gpointer user_data) The ::toggle-overwrite signal is a keybinding signal which gets emitted to toggle the overwrite mode of the text view. The default bindings for this signal is Insert. Parameters text_view the object which received the signal user_data user data set when the signal handler was connected. Flags: Action Action Details The <literal>“menu.popup”</literal> action GtkTextView|menu.popup Opens the context menu. The <literal>“text.redo”</literal> action GtkTextView|text.redo Redoes the last change to the contents. The <literal>“text.undo”</literal> action GtkTextView|text.undo Undoes the last change to the contents. The <literal>“misc.insert-emoji”</literal> action GtkTextView|misc.insert-emoji Opens the Emoji chooser. The <literal>“selection.select-all”</literal> action GtkTextView|selection.select-all Selects all of the widgets content. The <literal>“selection.delete”</literal> action GtkTextView|selection.delete Deletes the current selection. The <literal>“clipboard.paste”</literal> action GtkTextView|clipboard.paste Inserts the contents of the clipboard into the widget. The <literal>“clipboard.copy”</literal> action GtkTextView|clipboard.copy Copies the contents to the clipboard. The <literal>“clipboard.cut”</literal> action GtkTextView|clipboard.cut Copies the contents to the clipboard and deletes it from the widget. See Also GtkTextBuffer, GtkTextIter docs/reference/gtk/xml/gtkdialog.xml0000664000175000017500000015035113710700311017646 0ustar mclasenmclasen ]> GtkDialog 3 GTK4 Library GtkDialog Create popup windows Functions GtkWidget * gtk_dialog_new () GtkWidget * gtk_dialog_new_with_buttons () void gtk_dialog_response () GtkWidget * gtk_dialog_add_button () void gtk_dialog_add_buttons () void gtk_dialog_add_action_widget () void gtk_dialog_set_default_response () void gtk_dialog_set_response_sensitive () int gtk_dialog_get_response_for_widget () GtkWidget * gtk_dialog_get_widget_for_response () GtkWidget * gtk_dialog_get_content_area () GtkWidget * gtk_dialog_get_header_bar () Properties gintuse-header-barRead / Write / Construct Only Signals voidcloseAction voidresponseRun Last Types and Values structGtkDialog structGtkDialogClass enumGtkDialogFlags enumGtkResponseType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ├── GtkAboutDialog ├── GtkAppChooserDialog ├── GtkColorChooserDialog ├── GtkFileChooserDialog ├── GtkFontChooserDialog ├── GtkMessageDialog ├── GtkPageSetupUnixDialog ╰── GtkPrintUnixDialog Implemented Interfaces GtkDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description 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. GTK+ treats a dialog as a window split vertically. The top section is a GtkBox, and is where widgets such as a GtkLabel or a GtkEntry should be packed. The bottom area is known as the “action area”. This is generally used for packing buttons into the dialog which may perform functions such as cancel, ok, or apply. GtkDialog boxes are created with a call to gtk_dialog_new() or gtk_dialog_new_with_buttons(). gtk_dialog_new_with_buttons() is recommended; it allows you to set the dialog title, some convenient flags, and add simple buttons. A “modal” dialog (that is, one which freezes the rest of the application from user input), can be created by calling gtk_window_set_modal() on the dialog. Use the GTK_WINDOW() macro to cast the widget returned from gtk_dialog_new() into a GtkWindow. When using gtk_dialog_new_with_buttons() you can also pass the GTK_DIALOG_MODAL flag to make a dialog modal. If you add buttons to GtkDialog using gtk_dialog_new_with_buttons(), gtk_dialog_add_button(), gtk_dialog_add_buttons(), or gtk_dialog_add_action_widget(), clicking the button will emit a signal called “response” with a response ID that you 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 GtkResponseType enumeration (these all have values less than zero). If a dialog receives a delete event, the “response” signal will be emitted with a response ID of GTK_RESPONSE_DELETE_EVENT. For the simple dialog in the following example, in reality you’d probably use GtkMessageDialog 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. An example for simple GtkDialog usage: GtkDialog as GtkBuildableThe GtkDialog implementation of the GtkBuildable interface exposes the content_area and action_area as internal children with the names “content_area” and “action_area”. GtkDialog supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs action_area ). To mark a response as default, set the “default“ attribute of the <action-widget> element to true. GtkDialog supports adding action widgets by specifying “action“ as the “type“ attribute of a <child> element. The widget will be added either to the action area or the headerbar of the dialog, depending on the “use-header-bar“ property. The response id has to be associated with the action widget using the <action-widgets> element. An example of a GtkDialog UI definition fragment: button_cancel button_ok ]]> AccessibilityGtkDialog uses the GTK_ACCESSIBLE_ROLE_DIALOG role. Functions gtk_dialog_new () gtk_dialog_new GtkWidget * gtk_dialog_new (void); Creates a new dialog box. Widgets should not be packed into this GtkWindow directly, but into the content_area and action_area , as described above. Returns the new dialog as a GtkWidget gtk_dialog_new_with_buttons () gtk_dialog_new_with_buttons GtkWidget * gtk_dialog_new_with_buttons (const char *title, GtkWindow *parent, GtkDialogFlags flags, const char *first_button_text, ...); Creates a new GtkDialog with title title (or NULL for the default title; see gtk_window_set_title()) and transient parent parent (or NULL for none; see gtk_window_set_transient_for()). The flags argument can be used to make the dialog modal (GTK_DIALOG_MODAL) and/or to have it destroyed along with its transient parent (GTK_DIALOG_DESTROY_WITH_PARENT). After flags , button text/response ID pairs should be listed, with a NULL pointer ending the list. Button text can be arbitrary text. A response ID can be any positive number, or one of the values in the GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkDialog will emit the “response” signal with the corresponding response ID. If a GtkDialog receives a delete event, it will emit ::response with a response ID of GTK_RESPONSE_DELETE_EVENT. However, destroying a dialog does not emit the ::response signal; so be careful relying on ::response when using the GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right, so the first button in the list will be the leftmost button in the dialog. Here’s a simple example: Parameters title Title of the dialog, or NULL. [allow-none] parent Transient parent of the dialog, or NULL. [allow-none] flags from GtkDialogFlags first_button_text text to go in first button, or NULL. [allow-none] ... response ID for first button, then additional buttons, ending with NULL Returns a new GtkDialog gtk_dialog_response () gtk_dialog_response void gtk_dialog_response (GtkDialog *dialog, int response_id); Emits the “response” signal with the given response ID. Used to indicate that the user has responded to the dialog in some way. Parameters dialog a GtkDialog response_id response ID gtk_dialog_add_button () gtk_dialog_add_button GtkWidget * gtk_dialog_add_button (GtkDialog *dialog, const char *button_text, int response_id); Adds a button with the given text and sets things up so that clicking the button will emit the “response” signal with the given response_id . The button is appended to the end of the dialog’s action area. The button widget is returned, but usually you don’t need it. Parameters dialog a GtkDialog button_text text of button response_id response ID for the button Returns the GtkButton widget that was added. [transfer none] gtk_dialog_add_buttons () gtk_dialog_add_buttons void gtk_dialog_add_buttons (GtkDialog *dialog, const char *first_button_text, ...); Adds more buttons, same as calling gtk_dialog_add_button() repeatedly. The variable argument list should be NULL-terminated as with gtk_dialog_new_with_buttons(). Each button must have both text and response ID. Parameters dialog a GtkDialog first_button_text button text ... response ID for first button, then more text-response_id pairs gtk_dialog_add_action_widget () gtk_dialog_add_action_widget void gtk_dialog_add_action_widget (GtkDialog *dialog, GtkWidget *child, int response_id); Adds an activatable widget to the action area of a GtkDialog, connecting a signal handler that will emit the “response” signal on the dialog when the widget is activated. The 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 action_area field of the GtkDialog struct. Parameters dialog a GtkDialog child an activatable widget response_id response ID for child gtk_dialog_set_default_response () gtk_dialog_set_default_response void gtk_dialog_set_default_response (GtkDialog *dialog, int response_id); Sets the last widget in the dialog’s action area with the given response_id as the default widget for the dialog. Pressing “Enter” normally activates the default widget. Parameters dialog a GtkDialog response_id a response ID gtk_dialog_set_response_sensitive () gtk_dialog_set_response_sensitive void gtk_dialog_set_response_sensitive (GtkDialog *dialog, int response_id, gboolean setting); Calls gtk_widget_set_sensitive (widget, @setting) for each widget in the dialog’s action area with the given response_id . A convenient way to sensitize/desensitize dialog buttons. Parameters dialog a GtkDialog response_id a response ID setting TRUE for sensitive gtk_dialog_get_response_for_widget () gtk_dialog_get_response_for_widget int gtk_dialog_get_response_for_widget (GtkDialog *dialog, GtkWidget *widget); Gets the response id of a widget in the action area of a dialog. Parameters dialog a GtkDialog widget a widget in the action area of dialog Returns the response id of widget , or GTK_RESPONSE_NONE if widget doesn’t have a response id set. gtk_dialog_get_widget_for_response () gtk_dialog_get_widget_for_response GtkWidget * gtk_dialog_get_widget_for_response (GtkDialog *dialog, int response_id); Gets the widget button that uses the given response ID in the action area of a dialog. Parameters dialog a GtkDialog response_id the response ID used by the dialog widget Returns the widget button that uses the given response_id , or NULL. [nullable][transfer none] gtk_dialog_get_content_area () gtk_dialog_get_content_area GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog); Returns the content area of dialog . Parameters dialog a GtkDialog Returns the content area GtkBox. [type Gtk.Box][transfer none] gtk_dialog_get_header_bar () gtk_dialog_get_header_bar GtkWidget * gtk_dialog_get_header_bar (GtkDialog *dialog); Returns the header bar of dialog . Note that the headerbar is only used by the dialog if the “use-header-bar” property is TRUE. Parameters dialog a GtkDialog Returns the header bar. [type Gtk.HeaderBar][transfer none] Types and Values struct GtkDialog GtkDialog struct GtkDialog; The GtkDialog contains only private fields and should not be directly accessed. struct GtkDialogClass GtkDialogClass struct GtkDialogClass { GtkWindowClass parent_class; void (* response) (GtkDialog *dialog, int response_id); /* Keybinding signals */ void (* close) (GtkDialog *dialog); }; Members response () Signal emitted when an action widget is activated. close () Signal emitted when the user uses a keybinding to close the dialog. enum GtkDialogFlags GtkDialogFlags Flags used to influence dialog construction. Members GTK_DIALOG_MODAL Make the constructed dialog modal, see gtk_window_set_modal() GTK_DIALOG_DESTROY_WITH_PARENT Destroy the dialog when its parent is destroyed, see gtk_window_set_destroy_with_parent() GTK_DIALOG_USE_HEADER_BAR Create dialog with actions in header bar instead of action area enum GtkResponseType GtkResponseType Predefined values for use as response ids in gtk_dialog_add_button(). All predefined values are negative; GTK+ leaves values of 0 or greater for application-defined response ids. Members GTK_RESPONSE_NONE Returned if an action widget has no response id, or if the dialog gets programmatically hidden or destroyed GTK_RESPONSE_REJECT Generic response id, not used by GTK+ dialogs GTK_RESPONSE_ACCEPT Generic response id, not used by GTK+ dialogs GTK_RESPONSE_DELETE_EVENT Returned if the dialog is deleted GTK_RESPONSE_OK Returned by OK buttons in GTK+ dialogs GTK_RESPONSE_CANCEL Returned by Cancel buttons in GTK+ dialogs GTK_RESPONSE_CLOSE Returned by Close buttons in GTK+ dialogs GTK_RESPONSE_YES Returned by Yes buttons in GTK+ dialogs GTK_RESPONSE_NO Returned by No buttons in GTK+ dialogs GTK_RESPONSE_APPLY Returned by Apply buttons in GTK+ dialogs GTK_RESPONSE_HELP Returned by Help buttons in GTK+ dialogs Property Details The <literal>“use-header-bar”</literal> property GtkDialog:use-header-bar “use-header-bar” gint TRUE if the dialog uses a GtkHeaderBar for action buttons instead of the action-area. For technical reasons, this property is declared as an integer property, but you should only set it to TRUE or FALSE. Owner: GtkDialog Flags: Read / Write / Construct Only Allowed values: [-1,1] Default value: -1 Signal Details The <literal>“close”</literal> signal GtkDialog::close void user_function (GtkDialog *dialog, gpointer user_data) The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the dialog. The default binding for this signal is the Escape key. Parameters user_data user data set when the signal handler was connected. Flags: Action The <literal>“response”</literal> signal GtkDialog::response void user_function (GtkDialog *dialog, gint response_id, gpointer user_data) Emitted when an action widget is clicked, the dialog receives a delete event, or the application programmer calls gtk_dialog_response(). On a delete event, the response ID is GTK_RESPONSE_DELETE_EVENT. Otherwise, it depends on which action widget was clicked. Parameters dialog the object on which the signal is emitted response_id the response ID user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkBox, GtkWindow, GtkButton docs/reference/gtk/xml/gtkpicture.xml0000664000175000017500000013302213710700312020057 0ustar mclasenmclasen ]> GtkPicture 3 GTK4 Library GtkPicture A widget displaying a GdkPaintable Functions GtkWidget * gtk_picture_new () GtkWidget * gtk_picture_new_for_paintable () GtkWidget * gtk_picture_new_for_pixbuf () GtkWidget * gtk_picture_new_for_file () GtkWidget * gtk_picture_new_for_filename () GtkWidget * gtk_picture_new_for_resource () void gtk_picture_set_paintable () GdkPaintable * gtk_picture_get_paintable () void gtk_picture_set_pixbuf () void gtk_picture_set_file () GFile * gtk_picture_get_file () void gtk_picture_set_filename () void gtk_picture_set_resource () void gtk_picture_set_keep_aspect_ratio () gboolean gtk_picture_get_keep_aspect_ratio () void gtk_picture_set_can_shrink () gboolean gtk_picture_get_can_shrink () void gtk_picture_set_alternative_text () const char * gtk_picture_get_alternative_text () Properties gchar *alternative-textRead / Write gbooleancan-shrinkRead / Write GFile *fileRead / Write gbooleankeep-aspect-ratioRead / Write GdkPaintable *paintableRead / Write Types and Values GtkPicture Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPicture Implemented Interfaces GtkPicture implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkPicture widget displays a GdkPaintable. Many convenience functions are provided to make pictures simple to use. For example, if you want to load an image from a file, and then display that, there’s a convenience function to do this: If the file isn’t loaded successfully, the picture 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 with gdk_texture_new_from_file(), then create the GtkPicture with gtk_picture_new_for_paintable(). Sometimes an application will want to avoid depending on external data files, such as image files. See the documentation of GResource for details. In this case, gtk_picture_new_for_resource() and gtk_picture_set_resource() should be used. CSS nodesGtkPicture has a single CSS node with the name picture. AccessibilityGtkImage uses the GTK_ACCESSIBLE_ROLE_IMG role. Functions gtk_picture_new () gtk_picture_new GtkWidget * gtk_picture_new (void); Creates a new empty GtkPicture widget. Returns a newly created GtkPicture widget. gtk_picture_new_for_paintable () gtk_picture_new_for_paintable GtkWidget * gtk_picture_new_for_paintable (GdkPaintable *paintable); Creates a new GtkPicture displaying paintable . The GtkPicture will track changes to the paintable and update its size and contents in response to it. Parameters paintable a GdkPaintable, or NULL. [nullable] Returns a new GtkPicture gtk_picture_new_for_pixbuf () gtk_picture_new_for_pixbuf GtkWidget * gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf); Creates a new GtkPicture displaying pixbuf . This is a utility function that calls gtk_picture_new_for_paintable(), See that function for details. The pixbuf must not be modified after passing it to this function. Parameters pixbuf a GdkPixbuf, or NULL. [nullable] Returns a new GtkPicture gtk_picture_new_for_file () gtk_picture_new_for_file GtkWidget * gtk_picture_new_for_file (GFile *file); Creates a new GtkPicture displaying the given file . If the file isn’t found or can’t be loaded, the resulting GtkPicture be empty. If you need to detect failures to load the file, use gdk_texture_new_from_file() to load the file yourself, then create the GtkPicture from the texture. Parameters file a GFile. [nullable] Returns a new GtkPicture gtk_picture_new_for_filename () gtk_picture_new_for_filename GtkWidget * gtk_picture_new_for_filename (const char *filename); Creates a new GtkPicture displaying the file filename . This is a utility function that calls gtk_picture_new_for_file(). See that function for details. Parameters filename a filename. [type filename][nullable] Returns a new GtkPicture gtk_picture_new_for_resource () gtk_picture_new_for_resource GtkWidget * gtk_picture_new_for_resource (const char *resource_path); Creates a new GtkPicture displaying the file filename . This is a utility function that calls gtk_picture_new_for_file(). See that function for details. Parameters resource_path resource path to play back. [nullable] Returns a new GtkPicture gtk_picture_set_paintable () gtk_picture_set_paintable void gtk_picture_set_paintable (GtkPicture *self, GdkPaintable *paintable); Makes self display the given paintable . If paintable is NULL, nothing will be displayed. See gtk_picture_new_for_paintable() for details. Parameters self a GtkPicture paintable a GdkPaintable or NULL. [nullable] gtk_picture_get_paintable () gtk_picture_get_paintable GdkPaintable * gtk_picture_get_paintable (GtkPicture *self); Gets the GdkPaintable being displayed by the GtkPicture. Parameters self a GtkPicture Returns the displayed paintable, or NULL if the picture is empty. [nullable][transfer none] gtk_picture_set_pixbuf () gtk_picture_set_pixbuf void gtk_picture_set_pixbuf (GtkPicture *self, GdkPixbuf *pixbuf); See gtk_picture_new_for_pixbuf() for details. This is a utility function that calls gtk_picture_set_paintable(), Parameters self a GtkPicture pixbuf a GdkPixbuf or NULL. [nullable] gtk_picture_set_file () gtk_picture_set_file void gtk_picture_set_file (GtkPicture *self, GFile *file); Makes self load and display file . See gtk_picture_new_for_file() for details. Parameters self a GtkPicture file a GFile or NULL. [nullable] gtk_picture_get_file () gtk_picture_get_file GFile * gtk_picture_get_file (GtkPicture *self); Gets the GFile currently displayed if self is displaying a file. If self is not displaying a file, for example when gtk_picture_set_paintable() was used, then NULL is returned. Parameters self a GtkPicture Returns The GFile displayed by self . [nullable][transfer none] gtk_picture_set_filename () gtk_picture_set_filename void gtk_picture_set_filename (GtkPicture *self, const char *filename); Makes self load and display the given filename . This is a utility function that calls gtk_picture_set_file(). Parameters self a GtkPicture filename the filename to play. [nullable] gtk_picture_set_resource () gtk_picture_set_resource void gtk_picture_set_resource (GtkPicture *self, const char *resource_path); Makes self load and display the resource at the given resource_path . This is a utility function that calls gtk_picture_set_file(), Parameters self a GtkPicture resource_path the resource to set. [nullable] gtk_picture_set_keep_aspect_ratio () gtk_picture_set_keep_aspect_ratio void gtk_picture_set_keep_aspect_ratio (GtkPicture *self, gboolean keep_aspect_ratio); If set to TRUE, the self will render its contents according to their aspect ratio. That means that empty space may show up at the top/bottom or left/right of self . If set to FALSE or if the contents provide no aspect ratio, the contents will be stretched over the picture's whole area. Parameters self a GtkPicture keep_aspect_ratio whether to keep aspect ratio gtk_picture_get_keep_aspect_ratio () gtk_picture_get_keep_aspect_ratio gboolean gtk_picture_get_keep_aspect_ratio (GtkPicture *self); Gets the value set via gtk_picture_set_keep_aspect_ratio(). Parameters self a GtkPicture Returns TRUE if the self tries to keep the contents' aspect ratio gtk_picture_set_can_shrink () gtk_picture_set_can_shrink void gtk_picture_set_can_shrink (GtkPicture *self, gboolean can_shrink); If set to TRUE, the self can be made smaller than its contents. The contents will then be scaled down when rendering. If you want to still force a minimum size manually, consider using gtk_widget_set_size_request(). Also of note is that a similar function for growing does not exist because the grow behavior can be controlled via gtk_widget_set_halign() and gtk_widget_set_valign(). Parameters self a GtkPicture can_shrink if self can be made smaller than its contents gtk_picture_get_can_shrink () gtk_picture_get_can_shrink gboolean gtk_picture_get_can_shrink (GtkPicture *self); Gets the value set via gtk_picture_set_can_shrink(). Parameters self a GtkPicture Returns TRUE if the picture can be made smaller than its contents gtk_picture_set_alternative_text () gtk_picture_set_alternative_text void gtk_picture_set_alternative_text (GtkPicture *self, const char *alternative_text); Sets an alternative textual description for the picture contents. It is equivalent to the "alt" attribute for images on websites. This text will be made available to accessibility tools. If the picture cannot be described textually, set this property to NULL. Parameters self a GtkPicture alternative_text a textual description of the contents. [nullable] gtk_picture_get_alternative_text () gtk_picture_get_alternative_text const char * gtk_picture_get_alternative_text (GtkPicture *self); Gets the alternative textual description of the picture or returns NULL if the picture cannot be described textually. Parameters self a GtkPicture Returns the alternative textual description of self . [nullable][transfer none] Types and Values GtkPicture GtkPicture typedef struct _GtkPicture GtkPicture; Property Details The <literal>“alternative-text”</literal> property GtkPicture:alternative-text “alternative-text” gchar * The alternative textual description for the picture. Owner: GtkPicture Flags: Read / Write Default value: NULL The <literal>“can-shrink”</literal> property GtkPicture:can-shrink “can-shrink” gboolean If the GtkPicture can be made smaller than the self it contains. Owner: GtkPicture Flags: Read / Write Default value: TRUE The <literal>“file”</literal> property GtkPicture:file “file” GFile * The GFile that is displayed or NULL if none. Owner: GtkPicture Flags: Read / Write The <literal>“keep-aspect-ratio”</literal> property GtkPicture:keep-aspect-ratio “keep-aspect-ratio” gboolean Whether the GtkPicture will render its contents trying to preserve the aspect ratio of the contents. Owner: GtkPicture Flags: Read / Write Default value: TRUE The <literal>“paintable”</literal> property GtkPicture:paintable “paintable” GdkPaintable * The GdkPaintable to be displayed by this GtkPicture. Owner: GtkPicture Flags: Read / Write docs/reference/gtk/xml/gtkdrawingarea.xml0000664000175000017500000006544413710700311020703 0ustar mclasenmclasen ]> GtkDrawingArea 3 GTK4 Library GtkDrawingArea A simple widget for drawing with cairo Functions GtkWidget * gtk_drawing_area_new () int gtk_drawing_area_get_content_width () void gtk_drawing_area_set_content_width () int gtk_drawing_area_get_content_height () void gtk_drawing_area_set_content_height () void (*GtkDrawingAreaDrawFunc) () void gtk_drawing_area_set_draw_func () Properties gintcontent-heightRead / Write gintcontent-widthRead / Write Signals voidresizeRun Last Types and Values structGtkDrawingArea Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkDrawingArea Implemented Interfaces GtkDrawingArea implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkDrawingArea widget is used for creating custom user interface elements. It’s essentially a blank widget; you can draw on it. After creating a drawing area, the application may want to connect to: The “realize” signal to take any necessary actions when the widget is instantiated on a particular display. (Create GDK resources in response to this signal.) The “resize” signal to take any necessary actions when the widget changes size. Call gtk_drawing_area_set_draw_func() to handle redrawing the contents of the widget. The following code portion demonstrates using a drawing area to display a circle in the normal widget foreground color. Simple GtkDrawingArea usage The draw function is normally called when a drawing area first comes onscreen, or when it’s covered by another window and then uncovered. You can also force a redraw by adding to the “damage region” of the drawing area’s window using gtk_widget_queue_draw(). This will cause the drawing area to call the draw function again. The available routines for drawing are documented on the GDK Drawing Primitives page and the cairo documentation. To receive mouse events on a drawing area, you will need to enable them with gtk_widget_add_events(). To receive keyboard events, you will need to set the “can-focus” property on the drawing area, and you should probably draw some user-visible indication that the drawing area is focused. Use gtk_widget_has_focus() in your expose event handler to decide whether to draw the focus indicator. See gtk_render_focus() for one way to draw focus. If you need more complex control over your widget, you should consider creating your own GtkWidget subclass. Functions gtk_drawing_area_new () gtk_drawing_area_new GtkWidget * gtk_drawing_area_new (void); Creates a new drawing area. Returns a new GtkDrawingArea gtk_drawing_area_get_content_width () gtk_drawing_area_get_content_width int gtk_drawing_area_get_content_width (GtkDrawingArea *self); Retrieves the value previously set via gtk_drawing_area_set_content_width(). Parameters self a GtkDrawingArea Returns The width requested for content of the drawing area gtk_drawing_area_set_content_width () gtk_drawing_area_set_content_width void gtk_drawing_area_set_content_width (GtkDrawingArea *self, int width); Sets the desired width of the contents of the drawing area. Note that because widgets may be allocated larger sizes than they requested, it is possible that the actual width passed to your draw function is larger than the width set here. You can use gtk_widget_set_halign() to avoid that. If the width is set to 0 (the default), the drawing area may disappear. Parameters self a GtkDrawingArea width the width of contents gtk_drawing_area_get_content_height () gtk_drawing_area_get_content_height int gtk_drawing_area_get_content_height (GtkDrawingArea *self); Retrieves the value previously set via gtk_drawing_area_set_content_height(). Parameters self a GtkDrawingArea Returns The height requested for content of the drawing area gtk_drawing_area_set_content_height () gtk_drawing_area_set_content_height void gtk_drawing_area_set_content_height (GtkDrawingArea *self, int height); Sets the desired height of the contents of the drawing area. Note that because widgets may be allocated larger sizes than they requested, it is possible that the actual height passed to your draw function is larger than the height set here. You can use gtk_widget_set_valign() to avoid that. If the height is set to 0 (the default), the drawing area may disappear. Parameters self a GtkDrawingArea height the height of contents GtkDrawingAreaDrawFunc () GtkDrawingAreaDrawFunc void (*GtkDrawingAreaDrawFunc) (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer user_data); Whenever drawing_area needs to redraw, this function will be called. This function should exclusively redraw the contents of the drawing area and must not call any widget functions that cause changes. Parameters drawing_area the GtkDrawingArea to redraw cr the context to draw to width the actual width of the contents. This value will be at least as wide as GtkDrawingArea:width. height the actual height of the contents. This value will be at least as wide as GtkDrawingArea:height. user_data user data. [closure] gtk_drawing_area_set_draw_func () gtk_drawing_area_set_draw_func void gtk_drawing_area_set_draw_func (GtkDrawingArea *self, GtkDrawingAreaDrawFunc draw_func, gpointer user_data, GDestroyNotify destroy); Setting a draw function is the main thing you want to do when using a drawing area. It is called whenever GTK needs to draw the contents of the drawing area to the screen. The draw function will be called during the drawing stage of GTK. In the drawing stage it is not allowed to change properties of any GTK widgets or call any functions that would cause any properties to be changed. You should restrict yourself exclusively to drawing your contents in the draw function. If what you are drawing does change, call gtk_widget_queue_draw() on the drawing area. This will cause a redraw and will call draw_func again. Parameters self a GtkDrawingArea draw_func callback that lets you draw the drawing area's contents. [allow-none] user_data user data passed to draw_func . [closure] destroy destroy notifier for user_data Types and Values struct GtkDrawingArea GtkDrawingArea struct GtkDrawingArea; Property Details The <literal>“content-height”</literal> property GtkDrawingArea:content-height “content-height” gint The content height. See gtk_drawing_area_set_content_height() for details. Owner: GtkDrawingArea Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“content-width”</literal> property GtkDrawingArea:content-width “content-width” gint The content width. See gtk_drawing_area_set_content_width() for details. Owner: GtkDrawingArea Flags: Read / Write Allowed values: >= 0 Default value: 0 Signal Details The <literal>“resize”</literal> signal GtkDrawingArea::resize void user_function (GtkDrawingArea *area, gint width, gint height, gpointer user_data) The ::resize signal is emitted once when the widget is realized, and then each time the widget is changed while realized. This is useful in order to keep state up to date with the widget size, like for instance a backing surface. Parameters area the GtkDrawingArea that emitted the signal width the width of the viewport height the height of the viewport user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkImage docs/reference/gtk/xml/gtktogglebutton.xml0000664000175000017500000004767313710700312021141 0ustar mclasenmclasen ]> GtkToggleButton 3 GTK4 Library GtkToggleButton Create buttons which retain their state Functions GtkWidget * gtk_toggle_button_new () GtkWidget * gtk_toggle_button_new_with_label () GtkWidget * gtk_toggle_button_new_with_mnemonic () void gtk_toggle_button_toggled () gboolean gtk_toggle_button_get_active () void gtk_toggle_button_set_active () Properties gbooleanactiveRead / Write Signals voidtoggledRun First Types and Values structGtkToggleButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ╰── GtkToggleButton ╰── GtkCheckButton Implemented Interfaces GtkToggleButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description A GtkToggleButton is a GtkButton which will remain “pressed-in” when clicked. Clicking again will cause the toggle button to return to its normal state. A toggle button is created by calling either gtk_toggle_button_new() or gtk_toggle_button_new_with_label(). If using the former, it is advisable to pack a widget, (such as a GtkLabel and/or a GtkImage), into the toggle button’s container. (See GtkButton for more information). The state of a GtkToggleButton can be set specifically using gtk_toggle_button_set_active(), and retrieved using gtk_toggle_button_get_active(). To simply switch the state of a toggle button, use gtk_toggle_button_toggled(). CSS nodesGtkToggleButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .toggle style class. Creating two <link linkend="GtkToggleButton"><type>GtkToggleButton</type></link> widgets. Functions gtk_toggle_button_new () gtk_toggle_button_new GtkWidget * gtk_toggle_button_new (void); Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new(). Returns a new toggle button. gtk_toggle_button_new_with_label () gtk_toggle_button_new_with_label GtkWidget * gtk_toggle_button_new_with_label (const char *label); Creates a new toggle button with a text label. Parameters label a string containing the message to be placed in the toggle button. Returns a new toggle button. gtk_toggle_button_new_with_mnemonic () gtk_toggle_button_new_with_mnemonic GtkWidget * gtk_toggle_button_new_with_mnemonic (const char *label); Creates a new GtkToggleButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button. Parameters label the text of the button, with an underscore in front of the mnemonic character Returns a new GtkToggleButton gtk_toggle_button_toggled () gtk_toggle_button_toggled void gtk_toggle_button_toggled (GtkToggleButton *toggle_button); Emits the “toggled” signal on the GtkToggleButton. There is no good reason for an application ever to call this function. Parameters toggle_button a GtkToggleButton. gtk_toggle_button_get_active () gtk_toggle_button_get_active gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button); Queries a GtkToggleButton and returns its current state. Returns TRUE if the toggle button is pressed in and FALSE if it is raised. Parameters toggle_button a GtkToggleButton. Returns a gboolean value. gtk_toggle_button_set_active () gtk_toggle_button_set_active void gtk_toggle_button_set_active (GtkToggleButton *toggle_button, gboolean is_active); Sets the status of the toggle button. Set to TRUE if you want the GtkToggleButton to be “pressed in”, and FALSE to raise it. If the status of the button changes, this action causes the “toggled” signal to be emitted. Parameters toggle_button a GtkToggleButton. is_active TRUE or FALSE. Types and Values struct GtkToggleButton GtkToggleButton struct GtkToggleButton; Property Details The <literal>“active”</literal> property GtkToggleButton:active “active” gboolean If the toggle button should be pressed in.Owner: GtkToggleButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“toggled”</literal> signal GtkToggleButton::toggled void user_function (GtkToggleButton *togglebutton, gpointer user_data) Should be connected if you wish to perform an action whenever the GtkToggleButton's state is changed. Parameters togglebutton the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First See Also GtkButton, GtkCheckButton, GtkCheckMenuItem docs/reference/gtk/xml/gtkeditable.xml0000664000175000017500000023276313710700311020170 0ustar mclasenmclasen ]> GtkEditable 3 GTK4 Library GtkEditable Interface for text-editing widgets Functions const char * gtk_editable_get_text () void gtk_editable_set_text () char * gtk_editable_get_chars () void gtk_editable_insert_text () void gtk_editable_delete_text () gboolean gtk_editable_get_selection_bounds () void gtk_editable_select_region () void gtk_editable_delete_selection () void gtk_editable_set_position () int gtk_editable_get_position () void gtk_editable_set_editable () gboolean gtk_editable_get_editable () void gtk_editable_set_alignment () float gtk_editable_get_alignment () int gtk_editable_get_width_chars () void gtk_editable_set_width_chars () int gtk_editable_get_max_width_chars () void gtk_editable_set_max_width_chars () gboolean gtk_editable_get_enable_undo () void gtk_editable_set_enable_undo () guint gtk_editable_install_properties () void gtk_editable_init_delegate () void gtk_editable_finish_delegate () gboolean gtk_editable_delegate_set_property () gboolean gtk_editable_delegate_get_property () Properties gintcursor-positionRead gbooleaneditableRead / Write gbooleanenable-undoRead / Write gintmax-width-charsRead / Write gintselection-boundRead gchar *textRead / Write gintwidth-charsRead / Write gfloatxalignRead / Write Signals voidchangedRun Last voiddelete-textRun Last voidinsert-textRun Last Types and Values GtkEditable structGtkEditableInterface enumGtkEditableProperties Object Hierarchy GInterface ╰── GtkEditable Prerequisites GtkEditable requires GtkWidget. Known Implementations GtkEditable is implemented by GtkEditableLabel, GtkEntry, GtkPasswordEntry, GtkSearchEntry, GtkSpinButton and GtkText. Includes#include <gtk/gtk.h> Description The GtkEditable interface is an interface which should be implemented by text editing widgets, such as GtkEntry and GtkSpinButton. It contains functions for generically manipulating an editable widget, a large number of action signals used for key bindings, and several signals that an application can connect to modify the behavior of a widget. As an example of the latter usage, by connecting the following handler to “insert-text”, an application can convert all entry into a widget into uppercase. Forcing entry to uppercase.; void insert_text_handler (GtkEditable *editable, const char *text, int length, int *position, gpointer data) { char *result = g_utf8_strup (text, length); g_signal_handlers_block_by_func (editable, (gpointer) insert_text_handler, data); gtk_editable_insert_text (editable, result, length, position); g_signal_handlers_unblock_by_func (editable, (gpointer) insert_text_handler, data); g_signal_stop_emission_by_name (editable, "insert_text"); g_free (result); } ]]> Implementing GtkEditableThe most likely scenario for implementing GtkEditable on your own widget is that you will embed a GtkText inside a complex widget, and want to delegate the editable functionality to that text widget. GtkEditable provides some utility functions to make this easy. In your class_init function, call gtk_editable_install_properties(), passing the first available property ID: In your interface_init function for the GtkEditable interface, provide an implementation for the get_delegate vfunc that returns your text widget: text_widget); } static void my_editable_init (GtkEditableInterface *iface) { iface->get_delegate = get_editable_delegate; } ]]> You don't need to provide any other vfuncs. The default implementations work by forwarding to the delegate that the GtkEditableInterface.get_delegate() vfunc returns. In your instance_init function, create your text widget, and then call gtk_editable_init_delegate(): text_widget = gtk_text_new (); gtk_editable_init_delegate (GTK_EDITABLE (self)); ... } ]]> In your dispose function, call gtk_editable_finish_delegate() before destroying your text widget: text_widget, gtk_widget_unparent); ... } ]]> Finally, use gtk_editable_delegate_set_property() in your set_property function (and similar for get_property), to set the editable properties: Functions gtk_editable_get_text () gtk_editable_get_text const char * gtk_editable_get_text (GtkEditable *editable); Retrieves the contents of editable . The returned string is owned by GTK and must not be modified or freed. Parameters editable a GtkEditable Returns a pointer to the contents of the editable. [transfer none] gtk_editable_set_text () gtk_editable_set_text void gtk_editable_set_text (GtkEditable *editable, const char *text); Sets the text in the editable to the given value, replacing the current contents. Parameters editable a GtkEditable text the text to set gtk_editable_get_chars () gtk_editable_get_chars char * gtk_editable_get_chars (GtkEditable *editable, int start_pos, int end_pos); Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters retrieved are those characters from start_pos to the end of the text. Note that positions are specified in characters, not bytes. Parameters editable a GtkEditable start_pos start of text end_pos end of text Returns a pointer to the contents of the widget as a string. This string is allocated by the GtkEditable implementation and should be freed by the caller. [transfer full] gtk_editable_insert_text () gtk_editable_insert_text void gtk_editable_insert_text (GtkEditable *editable, const char *text, int length, int *position); Inserts length bytes of text into the contents of the widget, at position position . Note that the position is in characters, not in bytes. The function updates position to point after the newly inserted text. [virtual do_insert_text] Parameters editable a GtkEditable text the text to append length the length of the text in bytes, or -1 position location of the position text will be inserted at. [inout] gtk_editable_delete_text () gtk_editable_delete_text void gtk_editable_delete_text (GtkEditable *editable, int start_pos, int end_pos); Deletes a sequence of characters. The characters that are deleted are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters deleted are those from start_pos to the end of the text. Note that the positions are specified in characters, not bytes. [virtual do_delete_text] Parameters editable a GtkEditable start_pos start position end_pos end position gtk_editable_get_selection_bounds () gtk_editable_get_selection_bounds gboolean gtk_editable_get_selection_bounds (GtkEditable *editable, int *start_pos, int *end_pos); Retrieves the selection bound of the editable. start_pos will be filled with the start of the selection and end_pos with end. If no text was selected both will be identical and FALSE will be returned. Note that positions are specified in characters, not bytes. Parameters editable a GtkEditable start_pos location to store the starting position, or NULL. [out][allow-none] end_pos location to store the end position, or NULL. [out][allow-none] Returns TRUE if there is a non-empty selection, FALSE otherwise gtk_editable_select_region () gtk_editable_select_region void gtk_editable_select_region (GtkEditable *editable, int start_pos, int end_pos); Selects a region of text. The characters that are selected are those characters at positions from start_pos up to, but not including end_pos . If end_pos is negative, then the characters selected are those characters from start_pos to the end of the text. Note that positions are specified in characters, not bytes. [virtual set_selection_bounds] Parameters editable a GtkEditable start_pos start of region end_pos end of region gtk_editable_delete_selection () gtk_editable_delete_selection void gtk_editable_delete_selection (GtkEditable *editable); Deletes the currently selected text of the editable. This call doesn’t do anything if there is no selected text. Parameters editable a GtkEditable gtk_editable_set_position () gtk_editable_set_position void gtk_editable_set_position (GtkEditable *editable, int position); Sets the cursor position in the editable to the given value. The cursor is displayed before the character with the given (base 0) index in the contents of the editable. The value must be less than or equal to the number of characters in the editable. A value of -1 indicates that the position should be set after the last character of the editable. Note that position is in characters, not in bytes. Parameters editable a GtkEditable position the position of the cursor gtk_editable_get_position () gtk_editable_get_position int gtk_editable_get_position (GtkEditable *editable); Retrieves the current position of the cursor relative to the start of the content of the editable. Note that this position is in characters, not in bytes. Parameters editable a GtkEditable Returns the cursor position gtk_editable_set_editable () gtk_editable_set_editable void gtk_editable_set_editable (GtkEditable *editable, gboolean is_editable); Determines if the user can edit the text in the editable widget or not. Parameters editable a GtkEditable is_editable TRUE if the user is allowed to edit the text in the widget gtk_editable_get_editable () gtk_editable_get_editable gboolean gtk_editable_get_editable (GtkEditable *editable); Retrieves whether editable is editable. See gtk_editable_set_editable(). Parameters editable a GtkEditable Returns TRUE if editable is editable. gtk_editable_set_alignment () gtk_editable_set_alignment void gtk_editable_set_alignment (GtkEditable *editable, float xalign); Sets the alignment for the contents of the editable. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the editable. Parameters editable a GtkEditable xalign The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts gtk_editable_get_alignment () gtk_editable_get_alignment float gtk_editable_get_alignment (GtkEditable *editable); Gets the value set by gtk_editable_set_alignment(). Parameters editable a GtkEditable Returns the alignment gtk_editable_get_width_chars () gtk_editable_get_width_chars int gtk_editable_get_width_chars (GtkEditable *editable); Gets the value set by gtk_editable_set_width_chars(). Parameters editable a GtkEditable Returns number of chars to request space for, or negative if unset gtk_editable_set_width_chars () gtk_editable_set_width_chars void gtk_editable_set_width_chars (GtkEditable *editable, int n_chars); Changes the size request of the editable to be about the right size for n_chars characters. Note that it changes the size request, the size can still be affected by how you pack the widget into containers. If n_chars is -1, the size reverts to the default size. Parameters editable a GtkEditable n_chars width in chars gtk_editable_get_max_width_chars () gtk_editable_get_max_width_chars int gtk_editable_get_max_width_chars (GtkEditable *editable); Retrieves the desired maximum width of editable , in characters. See gtk_editable_set_max_width_chars(). Parameters editable a GtkEditable Returns the maximum width of the entry, in characters gtk_editable_set_max_width_chars () gtk_editable_set_max_width_chars void gtk_editable_set_max_width_chars (GtkEditable *editable, int n_chars); Sets the desired maximum width in characters of editable . Parameters editable a GtkEditable n_chars the new desired maximum width, in characters gtk_editable_get_enable_undo () gtk_editable_get_enable_undo gboolean gtk_editable_get_enable_undo (GtkEditable *editable); Gets if undo/redo actions are enabled for editable Parameters editable a GtkEditable Returns TRUE if undo is enabled gtk_editable_set_enable_undo () gtk_editable_set_enable_undo void gtk_editable_set_enable_undo (GtkEditable *editable, gboolean enable_undo); If enabled, changes to editable will be saved for undo/redo actions. This results in an additional copy of text changes and are not stored in secure memory. As such, undo is forcefully disabled when “visibility” is set to FALSE. Parameters editable a GtkEditable enable_undo if undo/redo should be enabled gtk_editable_install_properties () gtk_editable_install_properties guint gtk_editable_install_properties (GObjectClass *object_class, guint first_prop); Installs the GtkEditable properties for class . This is a helper function that should be called in class_init, after installing your own properties. To handle the properties in your set_property and get_property functions, you can either use gtk_editable_delegate_set_property() and gtk_editable_delegate_get_property() (if you are using a delegate), or remember the first_prop offset and add it to the values in the GtkEditableProperties enumeration to get the property IDs for these properties. Parameters object_class a GObjectClass first_prop property ID to use for the first property Returns the number of properties that were installed gtk_editable_init_delegate () gtk_editable_init_delegate void gtk_editable_init_delegate (GtkEditable *editable); Sets up a delegate for GtkEditable, assuming that the get_delegate vfunc in the GtkEditable interface has been set up for the editable 's type. This is a helper function that should be called in instance init, after creating the delegate object. Parameters editable a GtkEditable gtk_editable_finish_delegate () gtk_editable_finish_delegate void gtk_editable_finish_delegate (GtkEditable *editable); Undoes the setup done by gtk_editable_init_delegate(). This is a helper function that should be called from dispose, before removing the delegate object. Parameters editable a GtkEditable gtk_editable_delegate_set_property () gtk_editable_delegate_set_property gboolean gtk_editable_delegate_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); Sets a property on the GtkEditable delegate for object . This is a helper function that should be called in set_property, before handling your own properties. Parameters object a GObject prop_id a property ID value value to set pspec the GParamSpec for the property Returns TRUE if the property was found gtk_editable_delegate_get_property () gtk_editable_delegate_get_property gboolean gtk_editable_delegate_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); Gets a property of the GtkEditable delegate for object . This is helper function that should be called in get_property, before handling your own properties. Parameters object a GObject prop_id a property ID value value to set pspec the GParamSpec for the property Returns TRUE if the property was found Types and Values GtkEditable GtkEditable typedef struct _GtkEditable GtkEditable; struct GtkEditableInterface GtkEditableInterface struct GtkEditableInterface { GTypeInterface base_iface; /* signals */ void (* insert_text) (GtkEditable *editable, const char *text, int length, int *position); void (* delete_text) (GtkEditable *editable, int start_pos, int end_pos); void (* changed) (GtkEditable *editable); /* vtable */ const char * (* get_text) (GtkEditable *editable); void (* do_insert_text) (GtkEditable *editable, const char *text, int length, int *position); void (* do_delete_text) (GtkEditable *editable, int start_pos, int end_pos); gboolean (* get_selection_bounds) (GtkEditable *editable, int *start_pos, int *end_pos); void (* set_selection_bounds) (GtkEditable *editable, int start_pos, int end_pos); GtkEditable * (* get_delegate) (GtkEditable *editable); }; enum GtkEditableProperties GtkEditableProperties Members GTK_EDITABLE_PROP_TEXT GTK_EDITABLE_PROP_CURSOR_POSITION GTK_EDITABLE_PROP_SELECTION_BOUND GTK_EDITABLE_PROP_EDITABLE GTK_EDITABLE_PROP_WIDTH_CHARS GTK_EDITABLE_PROP_MAX_WIDTH_CHARS GTK_EDITABLE_PROP_XALIGN GTK_EDITABLE_PROP_ENABLE_UNDO GTK_EDITABLE_NUM_PROPERTIES Property Details The <literal>“cursor-position”</literal> property GtkEditable:cursor-position “cursor-position” gint The current position of the insertion cursor in chars.Owner: GtkEditable Flags: Read Allowed values: [0,65535] Default value: 0 The <literal>“editable”</literal> property GtkEditable:editable “editable” gboolean Whether the entry contents can be edited.Owner: GtkEditable Flags: Read / Write Default value: TRUE The <literal>“enable-undo”</literal> property GtkEditable:enable-undo “enable-undo” gboolean If undo/redo should be enabled for the editable.Owner: GtkEditable Flags: Read / Write Default value: TRUE The <literal>“max-width-chars”</literal> property GtkEditable:max-width-chars “max-width-chars” gint The desired maximum width of the entry, in characters.Owner: GtkEditable Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“selection-bound”</literal> property GtkEditable:selection-bound “selection-bound” gint The position of the opposite end of the selection from the cursor in chars.Owner: GtkEditable Flags: Read Allowed values: [0,65535] Default value: 0 The <literal>“text”</literal> property GtkEditable:text “text” gchar * The contents of the entry.Owner: GtkEditable Flags: Read / Write Default value: "" The <literal>“width-chars”</literal> property GtkEditable:width-chars “width-chars” gint Number of characters to leave space for in the entry.Owner: GtkEditable Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“xalign”</literal> property GtkEditable:xalign “xalign” gfloat The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.Owner: GtkEditable Flags: Read / Write Allowed values: [0,1] Default value: 0 Signal Details The <literal>“changed”</literal> signal GtkEditable::changed void user_function (GtkEditable *editable, gpointer user_data) The ::changed signal is emitted at the end of a single user-visible operation on the contents of the GtkEditable. E.g., a paste operation that replaces the contents of the selection will cause only one signal emission (even though it is implemented by first deleting the selection, then inserting the new content, and may cause multiple ::notify::text signals to be emitted). Parameters editable the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“delete-text”</literal> signal GtkEditable::delete-text void user_function (GtkEditable *editable, gint start_pos, gint end_pos, gpointer user_data) This signal is emitted when text is deleted from the widget by the user. The default handler for this signal will normally be responsible for deleting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the range of deleted text, or prevent it from being deleted entirely. The start_pos and end_pos parameters are interpreted as for gtk_editable_delete_text(). Parameters editable the object which received the signal start_pos the starting position end_pos the end position user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“insert-text”</literal> signal GtkEditable::insert-text void user_function (GtkEditable *editable, gchar *text, gint length, gpointer position, gpointer user_data) This signal is emitted when text is inserted into the widget by the user. The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely. Parameters editable the object which received the signal text the new text to insert length the length of the new text, in bytes, or -1 if new_text is nul-terminated position the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text. [inout][type int] user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkprogressbar.xml0000664000175000017500000011321113710700312020733 0ustar mclasenmclasen ]> GtkProgressBar 3 GTK4 Library GtkProgressBar A widget which indicates progress visually Functions GtkWidget * gtk_progress_bar_new () void gtk_progress_bar_pulse () void gtk_progress_bar_set_fraction () double gtk_progress_bar_get_fraction () void gtk_progress_bar_set_inverted () gboolean gtk_progress_bar_get_inverted () void gtk_progress_bar_set_show_text () gboolean gtk_progress_bar_get_show_text () void gtk_progress_bar_set_text () const char * gtk_progress_bar_get_text () void gtk_progress_bar_set_ellipsize () PangoEllipsizeMode gtk_progress_bar_get_ellipsize () void gtk_progress_bar_set_pulse_step () double gtk_progress_bar_get_pulse_step () Properties PangoEllipsizeModeellipsizeRead / Write gdoublefractionRead / Write gbooleaninvertedRead / Write gdoublepulse-stepRead / Write gbooleanshow-textRead / Write gchar *textRead / Write Types and Values GtkProgressBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkProgressBar Implemented Interfaces GtkProgressBar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description The GtkProgressBar is typically used to display the progress of a long running operation. It provides a visual clue that processing is underway. The GtkProgressBar can be used in two different modes: percentage mode and activity mode. When an application can determine how much work needs to take place (e.g. read a fixed number of bytes from a file) and can monitor its progress, it can use the GtkProgressBar in percentage mode and the user sees a growing bar indicating the percentage of the work that has been completed. In this mode, the application is required to call gtk_progress_bar_set_fraction() periodically to update the progress bar. When an application has no accurate way of knowing the amount of work to do, it can use the GtkProgressBar in activity mode, which shows activity by a block moving back and forth within the progress area. In this mode, the application is required to call gtk_progress_bar_pulse() periodically to update the progress bar. There is quite a bit of flexibility provided to control the appearance of the GtkProgressBar. Functions are provided to control the orientation of the bar, optional text can be displayed along with the bar, and the step size used in activity mode can be set. CSS nodes GtkProgressBar has a main CSS node with name progressbar and subnodes with names text and trough, of which the latter has a subnode named progress. The text subnode is only present if text is shown. The progress subnode has the style class .pulse when in activity mode. It gets the style classes .left, .right, .top or .bottom added when the progress 'touches' the corresponding end of the GtkProgressBar. The .osd class on the progressbar node is for use in overlays like the one Epiphany has for page loading progress. AccessibilityGtkProgressBar uses the GTK_ACCESSIBLE_ROLE_PROGRESS_BAR role. Functions gtk_progress_bar_new () gtk_progress_bar_new GtkWidget * gtk_progress_bar_new (void); Creates a new GtkProgressBar. Returns a GtkProgressBar. gtk_progress_bar_pulse () gtk_progress_bar_pulse void gtk_progress_bar_pulse (GtkProgressBar *pbar); Indicates that some progress has been 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 gtk_progress_bar_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_progress_bar_set_pulse_step()). Parameters pbar a GtkProgressBar gtk_progress_bar_set_fraction () gtk_progress_bar_set_fraction void gtk_progress_bar_set_fraction (GtkProgressBar *pbar, double fraction); Causes the progress bar to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive. Parameters pbar a GtkProgressBar fraction fraction of the task that’s been completed gtk_progress_bar_get_fraction () gtk_progress_bar_get_fraction double gtk_progress_bar_get_fraction (GtkProgressBar *pbar); Returns the current fraction of the task that’s been completed. Parameters pbar a GtkProgressBar Returns a fraction from 0.0 to 1.0 gtk_progress_bar_set_inverted () gtk_progress_bar_set_inverted void gtk_progress_bar_set_inverted (GtkProgressBar *pbar, gboolean inverted); Progress bars normally grow from top to bottom or left to right. Inverted progress bars grow in the opposite direction. Parameters pbar a GtkProgressBar inverted TRUE to invert the progress bar gtk_progress_bar_get_inverted () gtk_progress_bar_get_inverted gboolean gtk_progress_bar_get_inverted (GtkProgressBar *pbar); Gets the value set by gtk_progress_bar_set_inverted(). Parameters pbar a GtkProgressBar Returns TRUE if the progress bar is inverted gtk_progress_bar_set_show_text () gtk_progress_bar_set_show_text void gtk_progress_bar_set_show_text (GtkProgressBar *pbar, gboolean show_text); Sets whether the progress bar will show text next to the bar. The shown text is either the value of the “text” property or, if that is NULL, the “fraction” value, as a percentage. To make a progress bar that is styled and sized suitably for containing text (even if the actual text is blank), set “show-text” to TRUE and “text” to the empty string (not NULL). Parameters pbar a GtkProgressBar show_text whether to show text gtk_progress_bar_get_show_text () gtk_progress_bar_get_show_text gboolean gtk_progress_bar_get_show_text (GtkProgressBar *pbar); Gets the value of the “show-text” property. See gtk_progress_bar_set_show_text(). Parameters pbar a GtkProgressBar Returns TRUE if text is shown in the progress bar gtk_progress_bar_set_text () gtk_progress_bar_set_text void gtk_progress_bar_set_text (GtkProgressBar *pbar, const char *text); Causes the given text to appear next to the progress bar. If text is NULL and “show-text” is TRUE, the current value of “fraction” will be displayed as a percentage. If text is non-NULL and “show-text” is TRUE, the text will be displayed. In this case, it will not display the progress percentage. If text is the empty string, the progress bar will still be styled and sized suitably for containing text, as long as “show-text” is TRUE. Parameters pbar a GtkProgressBar text a UTF-8 string, or NULL. [allow-none] gtk_progress_bar_get_text () gtk_progress_bar_get_text const char * gtk_progress_bar_get_text (GtkProgressBar *pbar); Retrieves the text that is displayed with the progress bar, if any, otherwise NULL. The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the progress bar. Parameters pbar a GtkProgressBar Returns text, or NULL; this string is owned by the widget and should not be modified or freed. [nullable] gtk_progress_bar_set_ellipsize () gtk_progress_bar_set_ellipsize void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar, PangoEllipsizeMode mode); Sets the mode used to ellipsize (add an ellipsis: "...") the text if there is not enough space to render the entire string. Parameters pbar a GtkProgressBar mode a PangoEllipsizeMode gtk_progress_bar_get_ellipsize () gtk_progress_bar_get_ellipsize PangoEllipsizeMode gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar); Returns the ellipsizing position of the progress bar. See gtk_progress_bar_set_ellipsize(). Parameters pbar a GtkProgressBar Returns PangoEllipsizeMode gtk_progress_bar_set_pulse_step () gtk_progress_bar_set_pulse_step void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar, double fraction); Sets the fraction of total progress bar length to move the bouncing block for each call to gtk_progress_bar_pulse(). Parameters pbar a GtkProgressBar fraction fraction between 0.0 and 1.0 gtk_progress_bar_get_pulse_step () gtk_progress_bar_get_pulse_step double gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar); Retrieves the pulse step set with gtk_progress_bar_set_pulse_step(). Parameters pbar a GtkProgressBar Returns a fraction from 0.0 to 1.0 Types and Values GtkProgressBar GtkProgressBar typedef struct _GtkProgressBar GtkProgressBar; Property Details The <literal>“ellipsize”</literal> property GtkProgressBar:ellipsize “ellipsize” PangoEllipsizeMode The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, specified as a PangoEllipsizeMode. Note that setting this property to a value other than PANGO_ELLIPSIZE_NONE has the side-effect that the progress bar requests only enough space to display the ellipsis ("..."). Another means to set a progress bar's width is gtk_widget_set_size_request(). Owner: GtkProgressBar Flags: Read / Write Default value: PANGO_ELLIPSIZE_NONE The <literal>“fraction”</literal> property GtkProgressBar:fraction “fraction” gdouble The fraction of total work that has been completed.Owner: GtkProgressBar Flags: Read / Write Allowed values: [0,1] Default value: 0 The <literal>“inverted”</literal> property GtkProgressBar:inverted “inverted” gboolean Invert the direction in which the progress bar grows.Owner: GtkProgressBar Flags: Read / Write Default value: FALSE The <literal>“pulse-step”</literal> property GtkProgressBar:pulse-step “pulse-step” gdouble The fraction of total progress to move the bouncing block when pulsed.Owner: GtkProgressBar Flags: Read / Write Allowed values: [0,1] Default value: 0.1 The <literal>“show-text”</literal> property GtkProgressBar:show-text “show-text” gboolean Sets whether the progress bar will show a text in addition to the bar itself. The shown text is either the value of the “text” property or, if that is NULL, the “fraction” value, as a percentage. To make a progress bar that is styled and sized suitably for showing text (even if the actual text is blank), set “show-text” to TRUE and “text” to the empty string (not NULL). Owner: GtkProgressBar Flags: Read / Write Default value: FALSE The <literal>“text”</literal> property GtkProgressBar:text “text” gchar * Text to be displayed in the progress bar.Owner: GtkProgressBar Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtkeditablelabel.xml0000664000175000017500000003643613710700311021167 0ustar mclasenmclasen ]> GtkEditableLabel 3 GTK4 Library GtkEditableLabel A label that can be edited Functions GtkWidget * gtk_editable_label_new () gboolean gtk_editable_label_get_editing () void gtk_editable_label_start_editing () void gtk_editable_label_stop_editing () Properties gbooleaneditingRead Actions editing.stopb editing.start Types and Values GtkEditableLabel Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkEditableLabel Implemented Interfaces GtkEditableLabel implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable. Includes#include <gtk/gtk.h> Description A GtkEditableLabel is a GtkLabel that allows users to edit the text by switching the widget to an “edit mode”. GtkEditableLabel does not have API of its own, but it implements the GtkEditable interface. The default bindings for activating the edit mode is to click or press the Enter key. The default bindings for leaving the edit mode are the Enter key (to save the results) or the Escape key (to cancel the editing). CSS nodes GtkEditableLabel has a main node with the name editablelabel. When the entry is in editing mode, it gets the .editing style class. For all the subnodes added to the text node in various situations, see GtkText. Functions gtk_editable_label_new () gtk_editable_label_new GtkWidget * gtk_editable_label_new (const char *str); Creates a new GtkEditableLabel widget. Parameters str the text for the label Returns the new GtkEditableLabel gtk_editable_label_get_editing () gtk_editable_label_get_editing gboolean gtk_editable_label_get_editing (GtkEditableLabel *self); Returns whether the label is currently in “editing mode”. Parameters self a GtkEditableLabel Returns TRUE if self is currently in editing mode gtk_editable_label_start_editing () gtk_editable_label_start_editing void gtk_editable_label_start_editing (GtkEditableLabel *self); Switches the label into “editing mode”. Parameters self a GtkEditableLabel gtk_editable_label_stop_editing () gtk_editable_label_stop_editing void gtk_editable_label_stop_editing (GtkEditableLabel *self, gboolean commit); Switches the label out of “editing mode”. If commit is TRUE, the resulting text is kept as the “text” property value, otherwise the resulting text is discarded and the label will keep its previous “text” property value. Parameters self a GtkEditableLabel commit whether to set the edited text on the label Types and Values GtkEditableLabel GtkEditableLabel typedef struct _GtkEditableLabel GtkEditableLabel; Property Details The <literal>“editing”</literal> property GtkEditableLabel:editing “editing” gboolean This property is TRUE while the widget is in edit mode. Owner: GtkEditableLabel Flags: Read Default value: FALSE Action Details The <literal>“editing.stop”</literal> action GtkEditableLabel|editing.stop Switch the widget out of editing mode. If commit is TRUE, then the results of the editing are taken as the new value of “text”. The default binding for this action is the Escape key. This action is disabled when “editing” is FALSE. Parameter type: b Parameters commit Whether the make changes permanent The <literal>“editing.start”</literal> action GtkEditableLabel|editing.start Switch the widget into editing mode, so that the user can make changes to the text. The default bindings for this action are clicking on the widget and the Enter key. This action is disabled when “editing” is FALSE. See Also GtkEditable, GtkLabel, GtkEntry docs/reference/gtk/xml/gtktooltip.xml0000664000175000017500000005037613710700312020110 0ustar mclasenmclasen ]> GtkTooltip 3 GTK4 Library GtkTooltip Add tips to your widgets Functions void gtk_tooltip_set_markup () void gtk_tooltip_set_text () void gtk_tooltip_set_icon () void gtk_tooltip_set_icon_from_icon_name () void gtk_tooltip_set_icon_from_gicon () void gtk_tooltip_set_custom () void gtk_tooltip_set_tip_area () Types and Values GtkTooltip Object Hierarchy GObject ╰── GtkTooltip Includes#include <gtk/gtk.h> Description Basic tooltips can be realized simply by using gtk_widget_set_tooltip_text() or gtk_widget_set_tooltip_markup() without any explicit tooltip object. When you need a tooltip with a little more fancy contents, like adding an image, or you want the tooltip to have different contents per GtkTreeView row or cell, you will have to do a little more work: Set the “has-tooltip” property to TRUE, this will make GTK+ monitor the widget for motion and related events which are needed to determine when and where to show a tooltip. Connect to the “query-tooltip” signal. This signal will be emitted when a tooltip is supposed to be shown. One of the arguments passed to the signal handler is a GtkTooltip object. This is the object that we are about to display as a tooltip, and can be manipulated in your callback using functions like gtk_tooltip_set_icon(). There are functions for setting the tooltip’s markup, setting an image from a named icon, or even putting in a custom widget. Return TRUE from your query-tooltip handler. This causes the tooltip to be show. If you return FALSE, it will not be shown. In the probably rare case where you want to have even more control over the tooltip that is about to be shown, you can set your own GtkWindow which will be used as tooltip window. This works as follows: Set “has-tooltip” and connect to “query-tooltip” as before. Use gtk_widget_set_tooltip_window() to set a GtkWindow created by you as tooltip window. In the “query-tooltip” callback you can access your window using gtk_widget_get_tooltip_window() and manipulate as you wish. The semantics of the return value are exactly as before, return TRUE to show the window, FALSE to not show it. Functions gtk_tooltip_set_markup () gtk_tooltip_set_markup void gtk_tooltip_set_markup (GtkTooltip *tooltip, const char *markup); Sets the text of the tooltip to be markup , which is marked up with the Pango text markup language. If markup is NULL, the label will be hidden. Parameters tooltip a GtkTooltip markup a markup string (see Pango markup format) or NULL. [allow-none] gtk_tooltip_set_text () gtk_tooltip_set_text void gtk_tooltip_set_text (GtkTooltip *tooltip, const char *text); Sets the text of the tooltip to be text . If text is NULL, the label will be hidden. See also gtk_tooltip_set_markup(). Parameters tooltip a GtkTooltip text a text string or NULL. [allow-none] gtk_tooltip_set_icon () gtk_tooltip_set_icon void gtk_tooltip_set_icon (GtkTooltip *tooltip, GdkPaintable *paintable); Sets the icon of the tooltip (which is in front of the text) to be paintable . If paintable is NULL, the image will be hidden. Parameters tooltip a GtkTooltip paintable a GdkPaintable, or NULL. [allow-none] gtk_tooltip_set_icon_from_icon_name () gtk_tooltip_set_icon_from_icon_name void gtk_tooltip_set_icon_from_icon_name (GtkTooltip *tooltip, const char *icon_name); Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by icon_name with the size indicated by size . If icon_name is NULL, the image will be hidden. Parameters tooltip a GtkTooltip icon_name an icon name, or NULL. [allow-none] gtk_tooltip_set_icon_from_gicon () gtk_tooltip_set_icon_from_gicon void gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip, GIcon *gicon); Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by gicon with the size indicated by size . If gicon is NULL, the image will be hidden. Parameters tooltip a GtkTooltip gicon a GIcon representing the icon, or NULL. [allow-none] gtk_tooltip_set_custom () gtk_tooltip_set_custom void gtk_tooltip_set_custom (GtkTooltip *tooltip, GtkWidget *custom_widget); Replaces the widget packed into the tooltip with custom_widget . custom_widget does not get destroyed when the tooltip goes away. By default a box with a GtkImage and GtkLabel is embedded in the tooltip, which can be configured using gtk_tooltip_set_markup() and gtk_tooltip_set_icon(). Parameters tooltip a GtkTooltip custom_widget a GtkWidget, or NULL to unset the old custom widget. [allow-none] gtk_tooltip_set_tip_area () gtk_tooltip_set_tip_area void gtk_tooltip_set_tip_area (GtkTooltip *tooltip, const GdkRectangle *rect); Sets the area of the widget, where the contents of this tooltip apply, to be rect (in widget coordinates). This is especially useful for properly setting tooltips on GtkTreeView rows and cells, GtkIconViews, etc. For setting tooltips on GtkTreeView, please refer to the convenience functions for this: gtk_tree_view_set_tooltip_row() and gtk_tree_view_set_tooltip_cell(). Parameters tooltip a GtkTooltip rect a GdkRectangle Types and Values GtkTooltip GtkTooltip typedef struct _GtkTooltip GtkTooltip; docs/reference/gtk/xml/gtktext.xml0000664000175000017500000031516313710700311017377 0ustar mclasenmclasen ]> GtkText 3 GTK4 Library GtkText A simple single-line text entry field Functions GtkWidget * gtk_text_new () GtkWidget * gtk_text_new_with_buffer () void gtk_text_set_buffer () GtkEntryBuffer * gtk_text_get_buffer () void gtk_text_set_visibility () gboolean gtk_text_get_visibility () void gtk_text_set_invisible_char () gunichar gtk_text_get_invisible_char () void gtk_text_unset_invisible_char () void gtk_text_set_overwrite_mode () gboolean gtk_text_get_overwrite_mode () void gtk_text_set_max_length () int gtk_text_get_max_length () guint16 gtk_text_get_text_length () void gtk_text_set_activates_default () gboolean gtk_text_get_activates_default () void gtk_text_set_placeholder_text () const char * gtk_text_get_placeholder_text () void gtk_text_set_input_purpose () GtkInputPurpose gtk_text_get_input_purpose () void gtk_text_set_input_hints () GtkInputHints gtk_text_get_input_hints () void gtk_text_set_attributes () PangoAttrList * gtk_text_get_attributes () void gtk_text_set_tabs () PangoTabArray * gtk_text_get_tabs () gboolean gtk_text_grab_focus_without_selecting () void gtk_text_set_extra_menu () GMenuModel * gtk_text_get_extra_menu () Properties gbooleanactivates-defaultRead / Write PangoAttrList *attributesRead / Write GtkEntryBuffer *bufferRead / Write / Construct gbooleanenable-emoji-completionRead / Write GMenuModel *extra-menuRead / Write gchar *im-moduleRead / Write GtkInputHintsinput-hintsRead / Write GtkInputPurposeinput-purposeRead / Write guintinvisible-charRead / Write gbooleaninvisible-char-setRead / Write gintmax-lengthRead / Write gbooleanoverwrite-modeRead / Write gchar *placeholder-textRead / Write gbooleanpropagate-text-widthRead / Write gintscroll-offsetRead PangoTabArray *tabsRead / Write gbooleantruncate-multilineRead / Write gbooleanvisibilityRead / Write Signals voidactivateAction voidbackspaceAction voidcopy-clipboardAction voidcut-clipboardAction voiddelete-from-cursorAction voidinsert-at-cursorAction voidinsert-emojiAction voidmove-cursorAction voidpaste-clipboardAction voidpreedit-changedAction voidtoggle-overwriteAction Actions menu.popup text.redo text.undo misc.toggle-visibility misc.insert-emoji selection.select-all selection.delete clipboard.paste clipboard.copy clipboard.cut Types and Values structGtkText structGtkTextClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkText Implemented Interfaces GtkText implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable. Includes#include <gtk/gtk.h> Description The GtkText widget is a single line text entry widget. A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible. When using an entry for passwords and other sensitive information, it can be put into “password mode” using gtk_text_set_visibility(). In this mode, entered text is displayed using a “invisible” character. By default, GTK picks the best invisible character that is available in the current font, but it can be changed with gtk_text_set_invisible_char(). If you are looking to add icons or progress display in an entry, look at GtkEntry. There other alternatives for more specialized use cases, such as GtkSearchEntry. If you need multi-line editable text, look at GtkTextView. CSS nodes GtkText has a main node with the name text. Depending on the properties of the widget, the .read-only style class may appear. When the entry has a selection, it adds a subnode with the name selection. When the entry is in overwrite mode, it adds a subnode with the name block-cursor that determines how the block cursor is drawn. The CSS node for a context menu is added as a subnode below text as well. The undershoot nodes are used to draw the underflow indication when content is scrolled out of view. These nodes get the .left and .right style classes added depending on where the indication is drawn. When touch is used and touch selection handles are shown, they are using CSS nodes with name cursor-handle. They get the .top or .bottom style class depending on where they are shown in relation to the selection. If there is just a single handle for the text cursor, it gets the style class .insertion-cursor. Functions gtk_text_new () gtk_text_new GtkWidget * gtk_text_new (void); Creates a new self. Returns a new GtkText. gtk_text_new_with_buffer () gtk_text_new_with_buffer GtkWidget * gtk_text_new_with_buffer (GtkEntryBuffer *buffer); Creates a new self with the specified text buffer. Parameters buffer The buffer to use for the new GtkText. Returns a new GtkText gtk_text_set_buffer () gtk_text_set_buffer void gtk_text_set_buffer (GtkText *self, GtkEntryBuffer *buffer); Set the GtkEntryBuffer object which holds the text for this widget. Parameters self a GtkText buffer a GtkEntryBuffer gtk_text_get_buffer () gtk_text_get_buffer GtkEntryBuffer * gtk_text_get_buffer (GtkText *self); Get the GtkEntryBuffer object which holds the text for this self. Parameters self a GtkText Returns A GtkEntryBuffer object. [transfer none] gtk_text_set_visibility () gtk_text_set_visibility void gtk_text_set_visibility (GtkText *self, gboolean visible); Sets whether the contents of the self are visible or not. When visibility is set to FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the self widget is copied to the clipboard. By default, GTK picks the best invisible character available in the current font, but it can be changed with gtk_text_set_invisible_char(). Note that you probably want to set “input-purpose” to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN to inform input methods about the purpose of this self, in addition to setting visibility to FALSE. Parameters self a GtkText visible TRUE if the contents of the self are displayed as plaintext gtk_text_get_visibility () gtk_text_get_visibility gboolean gtk_text_get_visibility (GtkText *self); Retrieves whether the text in self is visible. See gtk_text_set_visibility(). Parameters self a GtkText Returns TRUE if the text is currently visible gtk_text_set_invisible_char () gtk_text_set_invisible_char void gtk_text_set_invisible_char (GtkText *self, gunichar ch); Sets the character to use in place of the actual text when gtk_text_set_visibility() has been called to set text visibility to FALSE. i.e. this is the character used in “password mode” to show the user how many characters have been typed. By default, GTK picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type. Parameters self a GtkText ch a Unicode character gtk_text_get_invisible_char () gtk_text_get_invisible_char gunichar gtk_text_get_invisible_char (GtkText *self); Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_text_set_invisible_char(). Parameters self a GtkText Returns the current invisible char, or 0, if the self does not show invisible text at all. gtk_text_unset_invisible_char () gtk_text_unset_invisible_char void gtk_text_unset_invisible_char (GtkText *self); Unsets the invisible char previously set with gtk_text_set_invisible_char(). So that the default invisible char is used again. Parameters self a GtkText gtk_text_set_overwrite_mode () gtk_text_set_overwrite_mode void gtk_text_set_overwrite_mode (GtkText *self, gboolean overwrite); Sets whether the text is overwritten when typing in the GtkText. Parameters self a GtkText overwrite new value gtk_text_get_overwrite_mode () gtk_text_get_overwrite_mode gboolean gtk_text_get_overwrite_mode (GtkText *self); Gets the value set by gtk_text_set_overwrite_mode(). Parameters self a GtkText Returns whether the text is overwritten when typing. gtk_text_set_max_length () gtk_text_set_max_length void gtk_text_set_max_length (GtkText *self, int length); Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit. This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_set_max_length() on it. ]| Parameters self a GtkText length the maximum length of the self, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. gtk_text_get_max_length () gtk_text_get_max_length int gtk_text_get_max_length (GtkText *self); Retrieves the maximum allowed length of the text in self . See gtk_text_set_max_length(). This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_get_max_length() on it. Parameters self a GtkText Returns the maximum allowed number of characters in GtkText, or 0 if there is no maximum. gtk_text_get_text_length () gtk_text_get_text_length guint16 gtk_text_get_text_length (GtkText *self); Retrieves the current length of the text in self . This is equivalent to getting self 's GtkEntryBuffer and calling gtk_entry_buffer_get_length() on it. Parameters self a GtkText Returns the current number of characters in GtkText, or 0 if there are none. gtk_text_set_activates_default () gtk_text_set_activates_default void gtk_text_set_activates_default (GtkText *self, gboolean activates); If activates is TRUE, pressing Enter in the self will activate the default widget for the window containing the self. This usually means that the dialog box containing the self will be closed, since the default widget is usually one of the dialog buttons. Parameters self a GtkText activates TRUE to activate window’s default widget on Enter keypress gtk_text_get_activates_default () gtk_text_get_activates_default gboolean gtk_text_get_activates_default (GtkText *self); Retrieves the value set by gtk_text_set_activates_default(). Parameters self a GtkText Returns TRUE if the self will activate the default widget gtk_text_set_placeholder_text () gtk_text_set_placeholder_text void gtk_text_set_placeholder_text (GtkText *self, const char *text); Sets text to be displayed in self when it is empty. This can be used to give a visual hint of the expected contents of the self. Parameters self a GtkText text a string to be displayed when self is empty and unfocused, or NULL. [nullable] gtk_text_get_placeholder_text () gtk_text_get_placeholder_text const char * gtk_text_get_placeholder_text (GtkText *self); Retrieves the text that will be displayed when self is empty and unfocused Parameters self a GtkText Returns a pointer to the placeholder text as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. If no placeholder text has been set, NULL will be returned. [nullable][transfer none] gtk_text_set_input_purpose () gtk_text_set_input_purpose void gtk_text_set_input_purpose (GtkText *self, GtkInputPurpose purpose); Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour. Parameters self a GtkText purpose the purpose gtk_text_get_input_purpose () gtk_text_get_input_purpose GtkInputPurpose gtk_text_get_input_purpose (GtkText *self); Gets the value of the “input-purpose” property. Parameters self a GtkText gtk_text_set_input_hints () gtk_text_set_input_hints void gtk_text_set_input_hints (GtkText *self, GtkInputHints hints); Sets the “input-hints” property, which allows input methods to fine-tune their behaviour. Parameters self a GtkText hints the hints gtk_text_get_input_hints () gtk_text_get_input_hints GtkInputHints gtk_text_get_input_hints (GtkText *self); Gets the value of the “input-hints” property. Parameters self a GtkText gtk_text_set_attributes () gtk_text_set_attributes void gtk_text_set_attributes (GtkText *self, PangoAttrList *attrs); Sets a PangoAttrList; the attributes in the list are applied to the text. Parameters self a GtkText attrs a PangoAttrList or NULL to unset. [nullable] gtk_text_get_attributes () gtk_text_get_attributes PangoAttrList * gtk_text_get_attributes (GtkText *self); Gets the attribute list that was set on the self using gtk_text_set_attributes(), if any. Parameters self a GtkText Returns the attribute list, or NULL if none was set. [transfer none][nullable] gtk_text_set_tabs () gtk_text_set_tabs void gtk_text_set_tabs (GtkText *self, PangoTabArray *tabs); Sets a PangoTabArray; the tabstops in the array are applied to the self text. Parameters self a GtkText tabs a PangoTabArray. [nullable] gtk_text_get_tabs () gtk_text_get_tabs PangoTabArray * gtk_text_get_tabs (GtkText *self); Gets the tabstops that were set on the self using gtk_text_set_tabs(), if any. Parameters self a GtkText Returns the tabstops, or NULL if none was set. [nullable][transfer none] gtk_text_grab_focus_without_selecting () gtk_text_grab_focus_without_selecting gboolean gtk_text_grab_focus_without_selecting (GtkText *self); Causes self to have keyboard focus. It behaves like gtk_widget_grab_focus(), except that it doesn't select the contents of the self. You only want to call this on some special entries which the user usually doesn't want to replace all text in, such as search-as-you-type entries. Parameters self a GtkText Returns TRUE if focus is now inside self gtk_text_set_extra_menu () gtk_text_set_extra_menu void gtk_text_set_extra_menu (GtkText *self, GMenuModel *model); Sets a menu model to add when constructing the context menu for self . Parameters self a GtkText model a GMenuModel. [allow-none] gtk_text_get_extra_menu () gtk_text_get_extra_menu GMenuModel * gtk_text_get_extra_menu (GtkText *self); Gets the menu model set with gtk_text_set_extra_menu(). Parameters self a GtkText Returns (nullable): the menu model. [transfer none] Types and Values struct GtkText GtkText struct GtkText; struct GtkTextClass GtkTextClass struct GtkTextClass { GtkWidgetClass parent_class; /* Action signals */ void (* activate) (GtkText *self); void (* move_cursor) (GtkText *self, GtkMovementStep step, int count, gboolean extend); void (* insert_at_cursor) (GtkText *self, const char *str); void (* delete_from_cursor) (GtkText *self, GtkDeleteType type, int count); void (* backspace) (GtkText *self); void (* cut_clipboard) (GtkText *self); void (* copy_clipboard) (GtkText *self); void (* paste_clipboard) (GtkText *self); void (* toggle_overwrite) (GtkText *self); void (* insert_emoji) (GtkText *self); void (* undo) (GtkText *self); void (* redo) (GtkText *self); }; Property Details The <literal>“activates-default”</literal> property GtkText:activates-default “activates-default” gboolean Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“attributes”</literal> property GtkText:attributes “attributes” PangoAttrList * A list of Pango attributes to apply to the text of the self. This is mainly useful to change the size or weight of the text. The PangoAttribute's start_index and end_index must refer to the GtkEntryBuffer text, i.e. without the preedit string. Owner: GtkText Flags: Read / Write The <literal>“buffer”</literal> property GtkText:buffer “buffer” GtkEntryBuffer * Text buffer object which actually stores self text.Owner: GtkText Flags: Read / Write / Construct The <literal>“enable-emoji-completion”</literal> property GtkText:enable-emoji-completion “enable-emoji-completion” gboolean Whether to suggest Emoji replacements.Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“extra-menu”</literal> property GtkText:extra-menu “extra-menu” GMenuModel * A menu model whose contents will be appended to the context menu. Owner: GtkText Flags: Read / Write The <literal>“im-module”</literal> property GtkText:im-module “im-module” gchar * Which IM (input method) module should be used for this self. See GtkIMContext. Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property. Owner: GtkText Flags: Read / Write Default value: NULL The <literal>“input-hints”</literal> property GtkText:input-hints “input-hints” GtkInputHints Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour. Owner: GtkText Flags: Read / Write The <literal>“input-purpose”</literal> property GtkText:input-purpose “input-purpose” GtkInputPurpose The purpose of this text field. This property can be used by on-screen keyboards and other input methods to adjust their behaviour. Note that setting the purpose to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN is independent from setting “visibility”. Owner: GtkText Flags: Read / Write Default value: GTK_INPUT_PURPOSE_FREE_FORM The <literal>“invisible-char”</literal> property GtkText:invisible-char “invisible-char” guint The character to use when masking self contents (in “password mode”).Owner: GtkText Flags: Read / Write Default value: '*' The <literal>“invisible-char-set”</literal> property GtkText:invisible-char-set “invisible-char-set” gboolean Whether the invisible char has been set for the GtkText. Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“max-length”</literal> property GtkText:max-length “max-length” gint Maximum number of characters for this self. Zero if no maximum.Owner: GtkText Flags: Read / Write Allowed values: [0,65535] Default value: 0 The <literal>“overwrite-mode”</literal> property GtkText:overwrite-mode “overwrite-mode” gboolean If text is overwritten when typing in the GtkText. Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“placeholder-text”</literal> property GtkText:placeholder-text “placeholder-text” gchar * The text that will be displayed in the GtkText when it is empty and unfocused. Owner: GtkText Flags: Read / Write Default value: NULL The <literal>“propagate-text-width”</literal> property GtkText:propagate-text-width “propagate-text-width” gboolean Whether the entry should grow and shrink with the content.Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“scroll-offset”</literal> property GtkText:scroll-offset “scroll-offset” gint Number of pixels of the self scrolled off the screen to the left.Owner: GtkText Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“tabs”</literal> property GtkText:tabs “tabs” PangoTabArray * A list of tabstops to apply to the text of the self. Owner: GtkText Flags: Read / Write The <literal>“truncate-multiline”</literal> property GtkText:truncate-multiline “truncate-multiline” gboolean When TRUE, pasted multi-line text is truncated to the first line. Owner: GtkText Flags: Read / Write Default value: FALSE The <literal>“visibility”</literal> property GtkText:visibility “visibility” gboolean FALSE displays the “invisible char” instead of the actual text (password mode).Owner: GtkText Flags: Read / Write Default value: TRUE Signal Details The <literal>“activate”</literal> signal GtkText::activate void user_function (GtkText *self, gpointer user_data) The ::activate signal is emitted when the user hits the Enter key. The default bindings for this signal are all forms of the Enter key. Parameters self The self on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“backspace”</literal> signal GtkText::backspace void user_function (GtkText *self, gpointer user_data) The ::backspace signal is a keybinding signal which gets emitted when the user asks for it. The default bindings for this signal are Backspace and Shift-Backspace. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“copy-clipboard”</literal> signal GtkText::copy-clipboard void user_function (GtkText *self, gpointer user_data) The ::copy-clipboard signal is a keybinding signal which gets emitted to copy the selection to the clipboard. The default bindings for this signal are Ctrl-c and Ctrl-Insert. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“cut-clipboard”</literal> signal GtkText::cut-clipboard void user_function (GtkText *self, gpointer user_data) The ::cut-clipboard signal is a keybinding signal which gets emitted to cut the selection to the clipboard. The default bindings for this signal are Ctrl-x and Shift-Delete. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“delete-from-cursor”</literal> signal GtkText::delete-from-cursor void user_function (GtkText *self, GtkDeleteType type, gint count, gpointer user_data) The ::delete-from-cursor signal is a keybinding signal which gets emitted when the user initiates a text deletion. If the type is GTK_DELETE_CHARS, GTK deletes the selection if there is one, otherwise it deletes the requested number of characters. The default bindings for this signal are Delete for deleting a character and Ctrl-Delete for deleting a word. Parameters self the object which received the signal type the granularity of the deletion, as a GtkDeleteType count the number of type units to delete user_data user data set when the signal handler was connected. Flags: Action The <literal>“insert-at-cursor”</literal> signal GtkText::insert-at-cursor void user_function (GtkText *self, gchar *string, gpointer user_data) The ::insert-at-cursor signal is a keybinding signal which gets emitted when the user initiates the insertion of a fixed string at the cursor. This signal has no default bindings. Parameters self the object which received the signal string the string to insert user_data user data set when the signal handler was connected. Flags: Action The <literal>“insert-emoji”</literal> signal GtkText::insert-emoji void user_function (GtkText *self, gpointer user_data) The ::insert-emoji signal is a keybinding signal which gets emitted to present the Emoji chooser for the self . The default bindings for this signal are Ctrl-. and Ctrl-; Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“move-cursor”</literal> signal GtkText::move-cursor void user_function (GtkText *self, GtkMovementStep step, gint count, gboolean extend, gpointer user_data) The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. If the cursor is not visible in self , this signal causes the viewport to be moved instead. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here. Arrow keys move by individual characters/lines Ctrl-arrow key combinations move by words/paragraphs Home/End keys move to the ends of the buffer Parameters self the object which received the signal step the granularity of the move, as a GtkMovementStep count the number of step units to move extend TRUE if the move should extend the selection user_data user data set when the signal handler was connected. Flags: Action The <literal>“paste-clipboard”</literal> signal GtkText::paste-clipboard void user_function (GtkText *self, gpointer user_data) The ::paste-clipboard signal is a keybinding signal which gets emitted to paste the contents of the clipboard into the text view. The default bindings for this signal are Ctrl-v and Shift-Insert. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“preedit-changed”</literal> signal GtkText::preedit-changed void user_function (GtkText *self, gchar *preedit, gpointer user_data) If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal. Parameters self the object which received the signal preedit the current preedit string user_data user data set when the signal handler was connected. Flags: Action The <literal>“toggle-overwrite”</literal> signal GtkText::toggle-overwrite void user_function (GtkText *self, gpointer user_data) The ::toggle-overwrite signal is a keybinding signal which gets emitted to toggle the overwrite mode of the self. The default bindings for this signal is Insert. Parameters self the object which received the signal user_data user data set when the signal handler was connected. Flags: Action Action Details The <literal>“menu.popup”</literal> action GtkText|menu.popup Opens the context menu. The <literal>“text.redo”</literal> action GtkText|text.redo Redoes the last change to the contents. The <literal>“text.undo”</literal> action GtkText|text.undo Undoes the last change to the contents. The <literal>“misc.toggle-visibility”</literal> action GtkText|misc.toggle-visibility Toggles the “visibility” property. The <literal>“misc.insert-emoji”</literal> action GtkText|misc.insert-emoji Opens the Emoji chooser. The <literal>“selection.select-all”</literal> action GtkText|selection.select-all Selects all of the widgets content. The <literal>“selection.delete”</literal> action GtkText|selection.delete Deletes the current selection. The <literal>“clipboard.paste”</literal> action GtkText|clipboard.paste Inserts the contents of the clipboard into the widget. The <literal>“clipboard.copy”</literal> action GtkText|clipboard.copy Copies the contents to the clipboard. The <literal>“clipboard.cut”</literal> action GtkText|clipboard.cut Copies the contents to the clipboard and deletes it from the widget. See Also GtkEntry, GtkTextView docs/reference/gtk/xml/gtktreelistrow.xml0000664000175000017500000004710713710700312020777 0ustar mclasenmclasen ]> GtkTreeListRow 3 GTK4 Library GtkTreeListRow A row in a GtkTreeListModel Functions gpointer gtk_tree_list_row_get_item () void gtk_tree_list_row_set_expanded () gboolean gtk_tree_list_row_get_expanded () gboolean gtk_tree_list_row_is_expandable () guint gtk_tree_list_row_get_position () guint gtk_tree_list_row_get_depth () GListModel * gtk_tree_list_row_get_children () GtkTreeListRow * gtk_tree_list_row_get_parent () GtkTreeListRow * gtk_tree_list_row_get_child_row () Includes#include <gtk/gtk.h> Description GtkTreeListRow is the object used by GtkTreeListModel to represent items. It allows navigating the model as a tree and modify the state of rows. GtkTreeListRow instances are created by a GtkTreeListModel only when the “passthrough” property is not set. There are various support objects that can make use of GtkTreeListRow objects, such as the GtkTreeExpander widget that allows displaying an icon to expand or collapse a row or GtkTreeListRowSorter that makes it possible to sort trees properly. Functions gtk_tree_list_row_get_item () gtk_tree_list_row_get_item gpointer gtk_tree_list_row_get_item (GtkTreeListRow *self); Gets the item corresponding to this row, The value returned by this function never changes until the row is destroyed. Parameters self a GtkTreeListRow Returns The item of this row or NULL when the row was destroyed. [nullable][type GObject][transfer full] gtk_tree_list_row_set_expanded () gtk_tree_list_row_set_expanded void gtk_tree_list_row_set_expanded (GtkTreeListRow *self, gboolean expanded); Expands or collapses a row. If a row is expanded, the model of calling the GtkTreeListModelCreateModelFunc for the row's item will be inserted after this row. If a row is collapsed, those items will be removed from the model. If the row is not expandable, this function does nothing. Parameters self a GtkTreeListRow expanded TRUE if the row should be expanded gtk_tree_list_row_get_expanded () gtk_tree_list_row_get_expanded gboolean gtk_tree_list_row_get_expanded (GtkTreeListRow *self); Gets if a row is currently expanded. Parameters self a GtkTreeListRow Returns TRUE if the row is expanded gtk_tree_list_row_is_expandable () gtk_tree_list_row_is_expandable gboolean gtk_tree_list_row_is_expandable (GtkTreeListRow *self); Checks if a row can be expanded. This does not mean that the row is actually expanded, this can be checked with gtk_tree_list_row_get_expanded() If a row is expandable never changes until the row is destroyed. Parameters self a GtkTreeListRow Returns TRUE if the row is expandable gtk_tree_list_row_get_position () gtk_tree_list_row_get_position guint gtk_tree_list_row_get_position (GtkTreeListRow *self); Returns the position in the GtkTreeListModel that self occupies at the moment. Parameters self a GtkTreeListRow Returns The position in the model gtk_tree_list_row_get_depth () gtk_tree_list_row_get_depth guint gtk_tree_list_row_get_depth (GtkTreeListRow *self); Gets the depth of this row. Rows that correspond to items in the root model have a depth of zero, rows corresponding to items of models of direct children of the root model have a depth of 1 and so on. The depth of a row never changes until the row is destroyed. Parameters self a GtkTreeListRow Returns The depth of this row gtk_tree_list_row_get_children () gtk_tree_list_row_get_children GListModel * gtk_tree_list_row_get_children (GtkTreeListRow *self); If the row is expanded, gets the model holding the children of self . This model is the model created by the GtkTreeListModelCreateModelFunc and contains the original items, no matter what value “passthrough” is set to. Parameters self a GtkTreeListRow Returns The model containing the children. [nullable][transfer none] gtk_tree_list_row_get_parent () gtk_tree_list_row_get_parent GtkTreeListRow * gtk_tree_list_row_get_parent (GtkTreeListRow *self); Gets the row representing the parent for self . That is the row that would need to be collapsed to make this row disappear. If self is a row corresponding to the root model, NULL is returned. The value returned by this function never changes until the row is destroyed. Parameters self a GtkTreeListRow Returns The parent of self . [nullable][transfer full] gtk_tree_list_row_get_child_row () gtk_tree_list_row_get_child_row GtkTreeListRow * gtk_tree_list_row_get_child_row (GtkTreeListRow *self, guint position); If self is not expanded or position is greater than the number of children, NULL is returned. Parameters self a GtkTreeListRow position position of the child to get Returns the child in position . [nullable][transfer full] See Also GtkTreeListModel docs/reference/gtk/xml/gtkentry.xml0000664000175000017500000054257513710700311017565 0ustar mclasenmclasen ]> GtkEntry 3 GTK4 Library GtkEntry A single line text entry field Functions GtkWidget * gtk_entry_new () GtkWidget * gtk_entry_new_with_buffer () GtkEntryBuffer * gtk_entry_get_buffer () void gtk_entry_set_buffer () guint16 gtk_entry_get_text_length () void gtk_entry_set_visibility () gboolean gtk_entry_get_visibility () void gtk_entry_set_invisible_char () gunichar gtk_entry_get_invisible_char () void gtk_entry_unset_invisible_char () void gtk_entry_set_max_length () int gtk_entry_get_max_length () void gtk_entry_set_activates_default () gboolean gtk_entry_get_activates_default () void gtk_entry_set_has_frame () gboolean gtk_entry_get_has_frame () void gtk_entry_set_alignment () float gtk_entry_get_alignment () void gtk_entry_set_placeholder_text () const char * gtk_entry_get_placeholder_text () void gtk_entry_set_overwrite_mode () gboolean gtk_entry_get_overwrite_mode () void gtk_entry_set_attributes () PangoAttrList * gtk_entry_get_attributes () void gtk_entry_set_completion () GtkEntryCompletion * gtk_entry_get_completion () void gtk_entry_set_progress_fraction () double gtk_entry_get_progress_fraction () void gtk_entry_set_progress_pulse_step () double gtk_entry_get_progress_pulse_step () void gtk_entry_progress_pulse () void gtk_entry_reset_im_context () void gtk_entry_set_tabs () PangoTabArray * gtk_entry_get_tabs () void gtk_entry_set_icon_from_paintable () void gtk_entry_set_icon_from_icon_name () void gtk_entry_set_icon_from_gicon () GtkImageType gtk_entry_get_icon_storage_type () GdkPaintable * gtk_entry_get_icon_paintable () const char * gtk_entry_get_icon_name () GIcon * gtk_entry_get_icon_gicon () void gtk_entry_set_icon_activatable () gboolean gtk_entry_get_icon_activatable () void gtk_entry_set_icon_sensitive () gboolean gtk_entry_get_icon_sensitive () int gtk_entry_get_icon_at_pos () void gtk_entry_set_icon_tooltip_text () char * gtk_entry_get_icon_tooltip_text () void gtk_entry_set_icon_tooltip_markup () char * gtk_entry_get_icon_tooltip_markup () void gtk_entry_set_icon_drag_source () int gtk_entry_get_current_icon_drag_source () void gtk_entry_get_icon_area () void gtk_entry_set_input_purpose () GtkInputPurpose gtk_entry_get_input_purpose () void gtk_entry_set_input_hints () GtkInputHints gtk_entry_get_input_hints () gboolean gtk_entry_grab_focus_without_selecting () void gtk_entry_set_extra_menu () GMenuModel * gtk_entry_get_extra_menu () Properties gbooleanactivates-defaultRead / Write PangoAttrList *attributesRead / Write GtkEntryBuffer *bufferRead / Write / Construct GtkEntryCompletion *completionRead / Write gbooleanenable-emoji-completionRead / Write GMenuModel *extra-menuRead / Write gbooleanhas-frameRead / Write gchar *im-moduleRead / Write GtkInputHintsinput-hintsRead / Write GtkInputPurposeinput-purposeRead / Write guintinvisible-charRead / Write gbooleaninvisible-char-setRead / Write gintmax-lengthRead / Write gbooleanoverwrite-modeRead / Write gchar *placeholder-textRead / Write gbooleanprimary-icon-activatableRead / Write GIcon *primary-icon-giconRead / Write gchar *primary-icon-nameRead / Write GdkPaintable *primary-icon-paintableRead / Write gbooleanprimary-icon-sensitiveRead / Write GtkImageTypeprimary-icon-storage-typeRead gchar *primary-icon-tooltip-markupRead / Write gchar *primary-icon-tooltip-textRead / Write gdoubleprogress-fractionRead / Write gdoubleprogress-pulse-stepRead / Write gintscroll-offsetRead gbooleansecondary-icon-activatableRead / Write GIcon *secondary-icon-giconRead / Write gchar *secondary-icon-nameRead / Write GdkPaintable *secondary-icon-paintableRead / Write gbooleansecondary-icon-sensitiveRead / Write GtkImageTypesecondary-icon-storage-typeRead gchar *secondary-icon-tooltip-markupRead / Write gchar *secondary-icon-tooltip-textRead / Write gbooleanshow-emoji-iconRead / Write PangoTabArray *tabsRead / Write guinttext-lengthRead gbooleantruncate-multilineRead / Write gbooleanvisibilityRead / Write Signals voidactivateAction voidicon-pressRun Last voidicon-releaseRun Last Types and Values structGtkEntry structGtkEntryClass enumGtkEntryIconPosition enumGtkInputPurpose enumGtkInputHints Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkEntry Implemented Interfaces GtkEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkEditable and GtkCellEditable. Includes#include <gtk/gtk.h> Description The GtkEntry widget is a single line text entry widget. A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible. When using an entry for passwords and other sensitive information, it can be put into “password mode” using gtk_entry_set_visibility(). In this mode, entered text is displayed using a “invisible” character. By default, GTK+ picks the best invisible character that is available in the current font, but it can be changed with gtk_entry_set_invisible_char(). GtkEntry has the ability to display progress or activity information behind the text. To make an entry display such information, use gtk_entry_set_progress_fraction() or gtk_entry_set_progress_pulse_step(). Additionally, GtkEntry can show icons at either side of the entry. These icons can be activatable by clicking, can be set up as drag source and can have tooltips. To add an icon, use gtk_entry_set_icon_from_gicon() or one of the various other functions that set an icon from an icon name or a paintable. To trigger an action when the user clicks an icon, connect to the “icon-press” signal. To allow DND operations from an icon, use gtk_entry_set_icon_drag_source(). To set a tooltip on an icon, use gtk_entry_set_icon_tooltip_text() or the corresponding function for markup. Note that functionality or information that is only available by clicking on an icon in an entry may not be accessible at all to users which are not able to use a mouse or other pointing device. It is therefore recommended that any such functionality should also be available by other means, e.g. via the context menu of the entry. CSS nodes GtkEntry has a main node with the name entry. Depending on the properties of the entry, the style classes .read-only and .flat may appear. The style classes .warning and .error may also be used with entries. When the entry shows icons, it adds subnodes with the name image and the style class .left or .right, depending on where the icon appears. When the entry shows progress, it adds a subnode with the name progress. The node has the style class .pulse when the shown progress is pulsing. For all the subnodes added to the text node in various situations, see GtkText. GtkEntry as GtkBuildableThe GtkEntry implementation of the GtkBuildable interface supports a custom <attributes> element, which supports any number of <attribute> elements. The <attribute> element has attributes named “name“, “value“, “start“ and “end“ and allows you to specify PangoAttribute values for this label. An example of a UI definition fragment specifying Pango attributes: ]]> The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead. AccessibilityGtkEntry uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role. Functions gtk_entry_new () gtk_entry_new GtkWidget * gtk_entry_new (void); Creates a new entry. Returns a new GtkEntry. gtk_entry_new_with_buffer () gtk_entry_new_with_buffer GtkWidget * gtk_entry_new_with_buffer (GtkEntryBuffer *buffer); Creates a new entry with the specified text buffer. Parameters buffer The buffer to use for the new GtkEntry. Returns a new GtkEntry gtk_entry_get_buffer () gtk_entry_get_buffer GtkEntryBuffer * gtk_entry_get_buffer (GtkEntry *entry); Get the GtkEntryBuffer object which holds the text for this widget. Parameters entry a GtkEntry Returns A GtkEntryBuffer object. [transfer none] gtk_entry_set_buffer () gtk_entry_set_buffer void gtk_entry_set_buffer (GtkEntry *entry, GtkEntryBuffer *buffer); Set the GtkEntryBuffer object which holds the text for this widget. Parameters entry a GtkEntry buffer a GtkEntryBuffer gtk_entry_get_text_length () gtk_entry_get_text_length guint16 gtk_entry_get_text_length (GtkEntry *entry); Retrieves the current length of the text in entry . This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_get_length() on it. Parameters entry a GtkEntry Returns the current number of characters in GtkEntry, or 0 if there are none. gtk_entry_set_visibility () gtk_entry_set_visibility void gtk_entry_set_visibility (GtkEntry *entry, gboolean visible); Sets whether the contents of the entry are visible or not. When visibility is set to FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the entry widget is copied elsewhere. By default, GTK+ picks the best invisible character available in the current font, but it can be changed with gtk_entry_set_invisible_char(). Note that you probably want to set “input-purpose” to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN to inform input methods about the purpose of this entry, in addition to setting visibility to FALSE. Parameters entry a GtkEntry visible TRUE if the contents of the entry are displayed as plaintext gtk_entry_get_visibility () gtk_entry_get_visibility gboolean gtk_entry_get_visibility (GtkEntry *entry); Retrieves whether the text in entry is visible. See gtk_entry_set_visibility(). Parameters entry a GtkEntry Returns TRUE if the text is currently visible gtk_entry_set_invisible_char () gtk_entry_set_invisible_char void gtk_entry_set_invisible_char (GtkEntry *entry, gunichar ch); Sets the character to use in place of the actual text when gtk_entry_set_visibility() has been called to set text visibility to FALSE. i.e. this is the character used in “password mode” to show the user how many characters have been typed. By default, GTK+ picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type. Parameters entry a GtkEntry ch a Unicode character gtk_entry_get_invisible_char () gtk_entry_get_invisible_char gunichar gtk_entry_get_invisible_char (GtkEntry *entry); Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_entry_set_invisible_char(). Parameters entry a GtkEntry Returns the current invisible char, or 0, if the entry does not show invisible text at all. gtk_entry_unset_invisible_char () gtk_entry_unset_invisible_char void gtk_entry_unset_invisible_char (GtkEntry *entry); Unsets the invisible char previously set with gtk_entry_set_invisible_char(). So that the default invisible char is used again. Parameters entry a GtkEntry gtk_entry_set_max_length () gtk_entry_set_max_length void gtk_entry_set_max_length (GtkEntry *entry, int max); Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit. This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_set_max_length() on it. ]| Parameters entry a GtkEntry max the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. gtk_entry_get_max_length () gtk_entry_get_max_length int gtk_entry_get_max_length (GtkEntry *entry); Retrieves the maximum allowed length of the text in entry . See gtk_entry_set_max_length(). This is equivalent to getting entry 's GtkEntryBuffer and calling gtk_entry_buffer_get_max_length() on it. Parameters entry a GtkEntry Returns the maximum allowed number of characters in GtkEntry, or 0 if there is no maximum. gtk_entry_set_activates_default () gtk_entry_set_activates_default void gtk_entry_set_activates_default (GtkEntry *entry, gboolean setting); If setting is TRUE, pressing Enter in the entry will activate the default widget for the window containing the entry. This usually means that the dialog box containing the entry will be closed, since the default widget is usually one of the dialog buttons. Parameters entry a GtkEntry setting TRUE to activate window’s default widget on Enter keypress gtk_entry_get_activates_default () gtk_entry_get_activates_default gboolean gtk_entry_get_activates_default (GtkEntry *entry); Retrieves the value set by gtk_entry_set_activates_default(). Parameters entry a GtkEntry Returns TRUE if the entry will activate the default widget gtk_entry_set_has_frame () gtk_entry_set_has_frame void gtk_entry_set_has_frame (GtkEntry *entry, gboolean setting); Sets whether the entry has a beveled frame around it. Parameters entry a GtkEntry setting new value gtk_entry_get_has_frame () gtk_entry_get_has_frame gboolean gtk_entry_get_has_frame (GtkEntry *entry); Gets the value set by gtk_entry_set_has_frame(). Parameters entry a GtkEntry Returns whether the entry has a beveled frame gtk_entry_set_alignment () gtk_entry_set_alignment void gtk_entry_set_alignment (GtkEntry *entry, float xalign); Sets the alignment for the contents of the entry. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the entry. Parameters entry a GtkEntry xalign The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts gtk_entry_get_alignment () gtk_entry_get_alignment float gtk_entry_get_alignment (GtkEntry *entry); Gets the value set by gtk_entry_set_alignment(). Parameters entry a GtkEntry Returns the alignment gtk_entry_set_placeholder_text () gtk_entry_set_placeholder_text void gtk_entry_set_placeholder_text (GtkEntry *entry, const char *text); Sets text to be displayed in entry when it is empty. This can be used to give a visual hint of the expected contents of the GtkEntry. Parameters entry a GtkEntry text a string to be displayed when entry is empty and unfocused, or NULL. [nullable] gtk_entry_get_placeholder_text () gtk_entry_get_placeholder_text const char * gtk_entry_get_placeholder_text (GtkEntry *entry); Retrieves the text that will be displayed when entry is empty and unfocused Parameters entry a GtkEntry Returns a pointer to the placeholder text as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. If no placeholder text has been set, NULL will be returned. [nullable][transfer none] gtk_entry_set_overwrite_mode () gtk_entry_set_overwrite_mode void gtk_entry_set_overwrite_mode (GtkEntry *entry, gboolean overwrite); Sets whether the text is overwritten when typing in the GtkEntry. Parameters entry a GtkEntry overwrite new value gtk_entry_get_overwrite_mode () gtk_entry_get_overwrite_mode gboolean gtk_entry_get_overwrite_mode (GtkEntry *entry); Gets the value set by gtk_entry_set_overwrite_mode(). Parameters entry a GtkEntry Returns whether the text is overwritten when typing. gtk_entry_set_attributes () gtk_entry_set_attributes void gtk_entry_set_attributes (GtkEntry *entry, PangoAttrList *attrs); Sets a PangoAttrList; the attributes in the list are applied to the entry text. Parameters entry a GtkEntry attrs a PangoAttrList gtk_entry_get_attributes () gtk_entry_get_attributes PangoAttrList * gtk_entry_get_attributes (GtkEntry *entry); Gets the attribute list that was set on the entry using gtk_entry_set_attributes(), if any. Parameters entry a GtkEntry Returns the attribute list, or NULL if none was set. [transfer none][nullable] gtk_entry_set_completion () gtk_entry_set_completion void gtk_entry_set_completion (GtkEntry *entry, GtkEntryCompletion *completion); Sets completion to be the auxiliary completion object to use with entry . All further configuration of the completion mechanism is done on completion using the GtkEntryCompletion API. Completion is disabled if completion is set to NULL. Parameters entry A GtkEntry completion The GtkEntryCompletion or NULL. [allow-none] gtk_entry_get_completion () gtk_entry_get_completion GtkEntryCompletion * gtk_entry_get_completion (GtkEntry *entry); Returns the auxiliary completion object currently in use by entry . Parameters entry A GtkEntry Returns The auxiliary completion object currently in use by entry . [transfer none] gtk_entry_set_progress_fraction () gtk_entry_set_progress_fraction void gtk_entry_set_progress_fraction (GtkEntry *entry, double fraction); Causes the entry’s progress indicator to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive. Parameters entry a GtkEntry fraction fraction of the task that’s been completed gtk_entry_get_progress_fraction () gtk_entry_get_progress_fraction double gtk_entry_get_progress_fraction (GtkEntry *entry); Returns the current fraction of the task that’s been completed. See gtk_entry_set_progress_fraction(). Parameters entry a GtkEntry Returns a fraction from 0.0 to 1.0 gtk_entry_set_progress_pulse_step () gtk_entry_set_progress_pulse_step void gtk_entry_set_progress_pulse_step (GtkEntry *entry, double fraction); Sets the fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse(). Parameters entry a GtkEntry fraction fraction between 0.0 and 1.0 gtk_entry_get_progress_pulse_step () gtk_entry_get_progress_pulse_step double gtk_entry_get_progress_pulse_step (GtkEntry *entry); Retrieves the pulse step set with gtk_entry_set_progress_pulse_step(). Parameters entry a GtkEntry Returns a fraction from 0.0 to 1.0 gtk_entry_progress_pulse () gtk_entry_progress_pulse void gtk_entry_progress_pulse (GtkEntry *entry); Indicates that some progress is made, but you don’t know how much. Causes the entry’s progress indicator to enter “activity mode,” where a block bounces back and forth. Each call to gtk_entry_progress_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_entry_set_progress_pulse_step()). Parameters entry a GtkEntry gtk_entry_reset_im_context () gtk_entry_reset_im_context void gtk_entry_reset_im_context (GtkEntry *entry); Reset the input method context of the entry if needed. This can be necessary in the case where modifying the buffer would confuse on-going input method behavior. Parameters entry a GtkEntry gtk_entry_set_tabs () gtk_entry_set_tabs void gtk_entry_set_tabs (GtkEntry *entry, PangoTabArray *tabs); Sets a PangoTabArray; the tabstops in the array are applied to the entry text. Parameters entry a GtkEntry tabs a PangoTabArray. [nullable] gtk_entry_get_tabs () gtk_entry_get_tabs PangoTabArray * gtk_entry_get_tabs (GtkEntry *entry); Gets the tabstops that were set on the entry using gtk_entry_set_tabs(), if any. Parameters entry a GtkEntry Returns the tabstops, or NULL if none was set. [nullable][transfer none] gtk_entry_set_icon_from_paintable () gtk_entry_set_icon_from_paintable void gtk_entry_set_icon_from_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkPaintable *paintable); Sets the icon shown in the specified position using a GdkPaintable If paintable is NULL, no icon will be shown in the specified position. Parameters entry a GtkEntry icon_pos Icon position paintable A GdkPaintable, or NULL. [allow-none] gtk_entry_set_icon_from_icon_name () gtk_entry_set_icon_from_icon_name void gtk_entry_set_icon_from_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *icon_name); Sets the icon shown in the entry at the specified position from the current icon theme. If the icon name isn’t known, a “broken image” icon will be displayed instead. If icon_name is NULL, no icon will be shown in the specified position. Parameters entry A GtkEntry icon_pos The position at which to set the icon icon_name An icon name, or NULL. [allow-none] gtk_entry_set_icon_from_gicon () gtk_entry_set_icon_from_gicon void gtk_entry_set_icon_from_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos, GIcon *icon); Sets the icon shown in the entry at the specified position from the current icon theme. If the icon isn’t known, a “broken image” icon will be displayed instead. If icon is NULL, no icon will be shown in the specified position. Parameters entry A GtkEntry icon_pos The position at which to set the icon icon The icon to set, or NULL. [allow-none] gtk_entry_get_icon_storage_type () gtk_entry_get_icon_storage_type GtkImageType gtk_entry_get_icon_storage_type (GtkEntry *entry, GtkEntryIconPosition icon_pos); Gets the type of representation being used by the icon to store image data. If the icon has no image data, the return value will be GTK_IMAGE_EMPTY. Parameters entry a GtkEntry icon_pos Icon position Returns image representation being used gtk_entry_get_icon_paintable () gtk_entry_get_icon_paintable GdkPaintable * gtk_entry_get_icon_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos); Retrieves the GdkPaintable used for the icon. If no GdkPaintable was used for the icon, NULL is returned. Parameters entry A GtkEntry icon_pos Icon position Returns A GdkPaintable, or NULL if no icon is set for this position or the icon set is not a GdkPaintable. [transfer none][nullable] gtk_entry_get_icon_name () gtk_entry_get_icon_name const char * gtk_entry_get_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos); Retrieves the icon name used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by paintable or gicon). Parameters entry A GtkEntry icon_pos Icon position Returns An icon name, or NULL if no icon is set or if the icon wasn’t set from an icon name. [nullable] gtk_entry_get_icon_gicon () gtk_entry_get_icon_gicon GIcon * gtk_entry_get_icon_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos); Retrieves the GIcon used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by paintable or icon name). Parameters entry A GtkEntry icon_pos Icon position Returns A GIcon, or NULL if no icon is set or if the icon is not a GIcon. [transfer none][nullable] gtk_entry_set_icon_activatable () gtk_entry_set_icon_activatable void gtk_entry_set_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean activatable); Sets whether the icon is activatable. Parameters entry A GtkEntry icon_pos Icon position activatable TRUE if the icon should be activatable gtk_entry_get_icon_activatable () gtk_entry_get_icon_activatable gboolean gtk_entry_get_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos); Returns whether the icon is activatable. Parameters entry a GtkEntry icon_pos Icon position Returns TRUE if the icon is activatable. gtk_entry_set_icon_sensitive () gtk_entry_set_icon_sensitive void gtk_entry_set_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean sensitive); Sets the sensitivity for the specified icon. Parameters entry A GtkEntry icon_pos Icon position sensitive Specifies whether the icon should appear sensitive or insensitive gtk_entry_get_icon_sensitive () gtk_entry_get_icon_sensitive gboolean gtk_entry_get_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos); Returns whether the icon appears sensitive or insensitive. Parameters entry a GtkEntry icon_pos Icon position Returns TRUE if the icon is sensitive. gtk_entry_get_icon_at_pos () gtk_entry_get_icon_at_pos int gtk_entry_get_icon_at_pos (GtkEntry *entry, int x, int y); Finds the icon at the given position and return its index. The position’s coordinates are relative to the entry ’s top left corner. If x , y doesn’t lie inside an icon, -1 is returned. This function is intended for use in a “query-tooltip” signal handler. Parameters entry a GtkEntry x the x coordinate of the position to find, relative to entry y the y coordinate of the position to find, relative to entry Returns the index of the icon at the given position, or -1 gtk_entry_set_icon_tooltip_text () gtk_entry_set_icon_tooltip_text void gtk_entry_set_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip); Sets tooltip as the contents of the tooltip for the icon at the specified position. Use NULL for tooltip to remove an existing tooltip. See also gtk_widget_set_tooltip_text() and gtk_entry_set_icon_tooltip_markup(). If you unset the widget tooltip via gtk_widget_set_tooltip_text() or gtk_widget_set_tooltip_markup(), this sets GtkWidget:has-tooltip to FALSE, which suppresses icon tooltips too. You can resolve this by then calling gtk_widget_set_has_tooltip() to set GtkWidget:has-tooltip back to TRUE, or setting at least one non-empty tooltip on any icon achieves the same result. Parameters entry a GtkEntry icon_pos the icon position tooltip the contents of the tooltip for the icon, or NULL. [allow-none] gtk_entry_get_icon_tooltip_text () gtk_entry_get_icon_tooltip_text char * gtk_entry_get_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos); Gets the contents of the tooltip on the icon at the specified position in entry . Parameters entry a GtkEntry icon_pos the icon position Returns the tooltip text, or NULL. Free the returned string with g_free() when done. [nullable] gtk_entry_set_icon_tooltip_markup () gtk_entry_set_icon_tooltip_markup void gtk_entry_set_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip); Sets tooltip as the contents of the tooltip for the icon at the specified position. tooltip is assumed to be marked up with the Pango text markup language. Use NULL for tooltip to remove an existing tooltip. See also gtk_widget_set_tooltip_markup() and gtk_entry_set_icon_tooltip_text(). Parameters entry a GtkEntry icon_pos the icon position tooltip the contents of the tooltip for the icon, or NULL. [allow-none] gtk_entry_get_icon_tooltip_markup () gtk_entry_get_icon_tooltip_markup char * gtk_entry_get_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos); Gets the contents of the tooltip on the icon at the specified position in entry . Parameters entry a GtkEntry icon_pos the icon position Returns the tooltip text, or NULL. Free the returned string with g_free() when done. [nullable] gtk_entry_set_icon_drag_source () gtk_entry_set_icon_drag_source void gtk_entry_set_icon_drag_source (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkContentProvider *provider, GdkDragAction actions); Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon. To handle the drag operation, you need to connect to the usual “drag-data-get” (or possibly “drag-data-delete”) signal, and use gtk_entry_get_current_icon_drag_source() in your signal handler to find out if the drag was started from an icon. By default, GTK+ uses the icon as the drag icon. You can use the “drag-begin” signal to set a different icon. Note that you have to use g_signal_connect_after() to ensure that your signal handler gets executed after the default handler. Parameters entry a GtkEntry icon_pos icon position provider a GdkContentProvider actions a bitmask of the allowed drag actions gtk_entry_get_current_icon_drag_source () gtk_entry_get_current_icon_drag_source int gtk_entry_get_current_icon_drag_source (GtkEntry *entry); Returns the index of the icon which is the source of the current DND operation, or -1. This function is meant to be used in a “drag-data-get” callback. Parameters entry a GtkEntry Returns index of the icon which is the source of the current DND operation, or -1. gtk_entry_get_icon_area () gtk_entry_get_icon_area void gtk_entry_get_icon_area (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkRectangle *icon_area); Gets the area where entry’s icon at icon_pos is drawn. This function is useful when drawing something to the entry in a draw callback. If the entry is not realized or has no icon at the given position, icon_area is filled with zeros. Otherwise, icon_area will be filled with the icon's allocation, relative to entry 's allocation. Parameters entry A GtkEntry icon_pos Icon position icon_area Return location for the icon’s area. [out] gtk_entry_set_input_purpose () gtk_entry_set_input_purpose void gtk_entry_set_input_purpose (GtkEntry *entry, GtkInputPurpose purpose); Sets the “input-purpose” property which can be used by on-screen keyboards and other input methods to adjust their behaviour. Parameters entry a GtkEntry purpose the purpose gtk_entry_get_input_purpose () gtk_entry_get_input_purpose GtkInputPurpose gtk_entry_get_input_purpose (GtkEntry *entry); Gets the value of the “input-purpose” property. Parameters entry a GtkEntry gtk_entry_set_input_hints () gtk_entry_set_input_hints void gtk_entry_set_input_hints (GtkEntry *entry, GtkInputHints hints); Sets the “input-hints” property, which allows input methods to fine-tune their behaviour. Parameters entry a GtkEntry hints the hints gtk_entry_get_input_hints () gtk_entry_get_input_hints GtkInputHints gtk_entry_get_input_hints (GtkEntry *entry); Gets the value of the “input-hints” property. Parameters entry a GtkEntry gtk_entry_grab_focus_without_selecting () gtk_entry_grab_focus_without_selecting gboolean gtk_entry_grab_focus_without_selecting (GtkEntry *entry); Causes entry to have keyboard focus. It behaves like gtk_widget_grab_focus(), except that it doesn't select the contents of the entry. You only want to call this on some special entries which the user usually doesn't want to replace all text in, such as search-as-you-type entries. Parameters entry a GtkEntry Returns TRUE if focus is now inside self gtk_entry_set_extra_menu () gtk_entry_set_extra_menu void gtk_entry_set_extra_menu (GtkEntry *entry, GMenuModel *model); Sets a menu model to add when constructing the context menu for entry . Parameters entry a GtkEntry model a GMenuModel. [allow-none] gtk_entry_get_extra_menu () gtk_entry_get_extra_menu GMenuModel * gtk_entry_get_extra_menu (GtkEntry *entry); Gets the menu model set with gtk_entry_set_extra_menu(). Parameters entry a GtkEntry Returns the menu model. [transfer none][nullable] Types and Values struct GtkEntry GtkEntry struct GtkEntry; struct GtkEntryClass GtkEntryClass struct GtkEntryClass { GtkWidgetClass parent_class; /* Action signals */ void (* activate) (GtkEntry *entry); }; Class structure for GtkEntry. All virtual functions have a default implementation. Derived classes may set the virtual function pointers for the signal handlers to NULL, but must keep get_text_area_size and get_frame_size non-NULL; either use the default implementation, or provide a custom one. Members activate () Class handler for the “activate” signal. The default implementation activates the gtk.activate-default action. enum GtkEntryIconPosition GtkEntryIconPosition Specifies the side of the entry at which an icon is placed. Members GTK_ENTRY_ICON_PRIMARY At the beginning of the entry (depending on the text direction). GTK_ENTRY_ICON_SECONDARY At the end of the entry (depending on the text direction). enum GtkInputPurpose GtkInputPurpose Describes primary purpose of the input widget. This information is useful for on-screen keyboards and similar input methods to decide which keys should be presented to the user. Note that the purpose is not meant to impose a totally strict rule about allowed characters, and does not replace input validation. It is fine for an on-screen keyboard to let the user override the character set restriction that is expressed by the purpose. The application is expected to validate the entry contents, even if it specified a purpose. The difference between GTK_INPUT_PURPOSE_DIGITS and GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits while the latter also some punctuation (like commas or points, plus, minus) and “e” or “E” as in 3.14E+000. This enumeration may be extended in the future; input methods should interpret unknown values as “free form”. Members GTK_INPUT_PURPOSE_FREE_FORM Allow any character GTK_INPUT_PURPOSE_ALPHA Allow only alphabetic characters GTK_INPUT_PURPOSE_DIGITS Allow only digits GTK_INPUT_PURPOSE_NUMBER Edited field expects numbers GTK_INPUT_PURPOSE_PHONE Edited field expects phone number GTK_INPUT_PURPOSE_URL Edited field expects URL GTK_INPUT_PURPOSE_EMAIL Edited field expects email address GTK_INPUT_PURPOSE_NAME Edited field expects the name of a person GTK_INPUT_PURPOSE_PASSWORD Like GTK_INPUT_PURPOSE_FREE_FORM , but characters are hidden GTK_INPUT_PURPOSE_PIN Like GTK_INPUT_PURPOSE_DIGITS , but characters are hidden GTK_INPUT_PURPOSE_TERMINAL Allow any character, in addition to control codes enum GtkInputHints GtkInputHints Describes hints that might be taken into account by input methods or applications. Note that input methods may already tailor their behaviour according to the GtkInputPurpose of the entry. Some common sense is expected when using these flags - mixing GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense. This enumeration may be extended in the future; input methods should ignore unknown values. Members GTK_INPUT_HINT_NONE No special behaviour suggested GTK_INPUT_HINT_SPELLCHECK Suggest checking for typos GTK_INPUT_HINT_NO_SPELLCHECK Suggest not checking for typos GTK_INPUT_HINT_WORD_COMPLETION Suggest word completion GTK_INPUT_HINT_LOWERCASE Suggest to convert all text to lowercase GTK_INPUT_HINT_UPPERCASE_CHARS Suggest to capitalize all text GTK_INPUT_HINT_UPPERCASE_WORDS Suggest to capitalize the first character of each word GTK_INPUT_HINT_UPPERCASE_SENTENCES Suggest to capitalize the first word of each sentence GTK_INPUT_HINT_INHIBIT_OSK Suggest to not show an onscreen keyboard (e.g for a calculator that already has all the keys). GTK_INPUT_HINT_VERTICAL_WRITING The text is vertical GTK_INPUT_HINT_EMOJI Suggest offering Emoji support GTK_INPUT_HINT_NO_EMOJI Suggest not offering Emoji support Property Details The <literal>“activates-default”</literal> property GtkEntry:activates-default “activates-default” gboolean Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“attributes”</literal> property GtkEntry:attributes “attributes” PangoAttrList * A list of Pango attributes to apply to the text of the entry. This is mainly useful to change the size or weight of the text. The PangoAttribute's start_index and end_index must refer to the GtkEntryBuffer text, i.e. without the preedit string. Owner: GtkEntry Flags: Read / Write The <literal>“buffer”</literal> property GtkEntry:buffer “buffer” GtkEntryBuffer * Text buffer object which actually stores entry text.Owner: GtkEntry Flags: Read / Write / Construct The <literal>“completion”</literal> property GtkEntry:completion “completion” GtkEntryCompletion * The auxiliary completion object to use with the entry. Owner: GtkEntry Flags: Read / Write The <literal>“enable-emoji-completion”</literal> property GtkEntry:enable-emoji-completion “enable-emoji-completion” gboolean Whether to suggest Emoji replacements.Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“extra-menu”</literal> property GtkEntry:extra-menu “extra-menu” GMenuModel * A menu model whose contents will be appended to the context menu. Owner: GtkEntry Flags: Read / Write The <literal>“has-frame”</literal> property GtkEntry:has-frame “has-frame” gboolean FALSE removes outside bevel from entry.Owner: GtkEntry Flags: Read / Write Default value: TRUE The <literal>“im-module”</literal> property GtkEntry:im-module “im-module” gchar * Which IM (input method) module should be used for this entry. See GtkIMContext. Setting this to a non-NULL value overrides the system-wide IM module setting. See the GtkSettings “gtk-im-module” property. Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“input-hints”</literal> property GtkEntry:input-hints “input-hints” GtkInputHints Additional hints (beyond “input-purpose”) that allow input methods to fine-tune their behaviour. Owner: GtkEntry Flags: Read / Write The <literal>“input-purpose”</literal> property GtkEntry:input-purpose “input-purpose” GtkInputPurpose The purpose of this text field. This property can be used by on-screen keyboards and other input methods to adjust their behaviour. Note that setting the purpose to GTK_INPUT_PURPOSE_PASSWORD or GTK_INPUT_PURPOSE_PIN is independent from setting “visibility”. Owner: GtkEntry Flags: Read / Write Default value: GTK_INPUT_PURPOSE_FREE_FORM The <literal>“invisible-char”</literal> property GtkEntry:invisible-char “invisible-char” guint The character to use when masking entry contents (in “password mode”).Owner: GtkEntry Flags: Read / Write Default value: '*' The <literal>“invisible-char-set”</literal> property GtkEntry:invisible-char-set “invisible-char-set” gboolean Whether the invisible char has been set for the GtkEntry. Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“max-length”</literal> property GtkEntry:max-length “max-length” gint Maximum number of characters for this entry. Zero if no maximum.Owner: GtkEntry Flags: Read / Write Allowed values: [0,65535] Default value: 0 The <literal>“overwrite-mode”</literal> property GtkEntry:overwrite-mode “overwrite-mode” gboolean If text is overwritten when typing in the GtkEntry. Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“placeholder-text”</literal> property GtkEntry:placeholder-text “placeholder-text” gchar * The text that will be displayed in the GtkEntry when it is empty and unfocused. Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“primary-icon-activatable”</literal> property GtkEntry:primary-icon-activatable “primary-icon-activatable” gboolean Whether the primary icon is activatable. GTK+ emits the “icon-press” and “icon-release” signals only on sensitive, activatable icons. Sensitive, but non-activatable icons can be used for purely informational purposes. Owner: GtkEntry Flags: Read / Write Default value: TRUE The <literal>“primary-icon-gicon”</literal> property GtkEntry:primary-icon-gicon “primary-icon-gicon” GIcon * The GIcon to use for the primary icon for the entry. Owner: GtkEntry Flags: Read / Write The <literal>“primary-icon-name”</literal> property GtkEntry:primary-icon-name “primary-icon-name” gchar * The icon name to use for the primary icon for the entry. Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“primary-icon-paintable”</literal> property GtkEntry:primary-icon-paintable “primary-icon-paintable” GdkPaintable * A GdkPaintable to use as the primary icon for the entry. Owner: GtkEntry Flags: Read / Write The <literal>“primary-icon-sensitive”</literal> property GtkEntry:primary-icon-sensitive “primary-icon-sensitive” gboolean Whether the primary icon is sensitive. An insensitive icon appears grayed out. GTK+ does not emit the “icon-press” and “icon-release” signals and does not allow DND from insensitive icons. An icon should be set insensitive if the action that would trigger when clicked is currently not available. Owner: GtkEntry Flags: Read / Write Default value: TRUE The <literal>“primary-icon-storage-type”</literal> property GtkEntry:primary-icon-storage-type “primary-icon-storage-type” GtkImageType The representation which is used for the primary icon of the entry. Owner: GtkEntry Flags: Read Default value: GTK_IMAGE_EMPTY The <literal>“primary-icon-tooltip-markup”</literal> property GtkEntry:primary-icon-tooltip-markup “primary-icon-tooltip-markup” gchar * The contents of the tooltip on the primary icon, which is marked up with the Pango text markup language. Also see gtk_entry_set_icon_tooltip_markup(). Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“primary-icon-tooltip-text”</literal> property GtkEntry:primary-icon-tooltip-text “primary-icon-tooltip-text” gchar * The contents of the tooltip on the primary icon. Also see gtk_entry_set_icon_tooltip_text(). Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“progress-fraction”</literal> property GtkEntry:progress-fraction “progress-fraction” gdouble The current fraction of the task that's been completed. Owner: GtkEntry Flags: Read / Write Allowed values: [0,1] Default value: 0 The <literal>“progress-pulse-step”</literal> property GtkEntry:progress-pulse-step “progress-pulse-step” gdouble The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse(). Owner: GtkEntry Flags: Read / Write Allowed values: [0,1] Default value: 0 The <literal>“scroll-offset”</literal> property GtkEntry:scroll-offset “scroll-offset” gint Number of pixels of the entry scrolled off the screen to the left.Owner: GtkEntry Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“secondary-icon-activatable”</literal> property GtkEntry:secondary-icon-activatable “secondary-icon-activatable” gboolean Whether the secondary icon is activatable. GTK+ emits the “icon-press” and “icon-release” signals only on sensitive, activatable icons. Sensitive, but non-activatable icons can be used for purely informational purposes. Owner: GtkEntry Flags: Read / Write Default value: TRUE The <literal>“secondary-icon-gicon”</literal> property GtkEntry:secondary-icon-gicon “secondary-icon-gicon” GIcon * The GIcon to use for the secondary icon for the entry. Owner: GtkEntry Flags: Read / Write The <literal>“secondary-icon-name”</literal> property GtkEntry:secondary-icon-name “secondary-icon-name” gchar * The icon name to use for the secondary icon for the entry. Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“secondary-icon-paintable”</literal> property GtkEntry:secondary-icon-paintable “secondary-icon-paintable” GdkPaintable * A GdkPaintable to use as the secondary icon for the entry. Owner: GtkEntry Flags: Read / Write The <literal>“secondary-icon-sensitive”</literal> property GtkEntry:secondary-icon-sensitive “secondary-icon-sensitive” gboolean Whether the secondary icon is sensitive. An insensitive icon appears grayed out. GTK+ does not emit the “icon-press” and “icon-release” signals and does not allow DND from insensitive icons. An icon should be set insensitive if the action that would trigger when clicked is currently not available. Owner: GtkEntry Flags: Read / Write Default value: TRUE The <literal>“secondary-icon-storage-type”</literal> property GtkEntry:secondary-icon-storage-type “secondary-icon-storage-type” GtkImageType The representation which is used for the secondary icon of the entry. Owner: GtkEntry Flags: Read Default value: GTK_IMAGE_EMPTY The <literal>“secondary-icon-tooltip-markup”</literal> property GtkEntry:secondary-icon-tooltip-markup “secondary-icon-tooltip-markup” gchar * The contents of the tooltip on the secondary icon, which is marked up with the Pango text markup language. Also see gtk_entry_set_icon_tooltip_markup(). Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“secondary-icon-tooltip-text”</literal> property GtkEntry:secondary-icon-tooltip-text “secondary-icon-tooltip-text” gchar * The contents of the tooltip on the secondary icon. Also see gtk_entry_set_icon_tooltip_text(). Owner: GtkEntry Flags: Read / Write Default value: NULL The <literal>“show-emoji-icon”</literal> property GtkEntry:show-emoji-icon “show-emoji-icon” gboolean Whether to show an icon for Emoji.Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“tabs”</literal> property GtkEntry:tabs “tabs” PangoTabArray * A list of tabstop locations to apply to the text of the entry.Owner: GtkEntry Flags: Read / Write The <literal>“text-length”</literal> property GtkEntry:text-length “text-length” guint The length of the text in the GtkEntry. Owner: GtkEntry Flags: Read Allowed values: <= 65535 Default value: 0 The <literal>“truncate-multiline”</literal> property GtkEntry:truncate-multiline “truncate-multiline” gboolean When TRUE, pasted multi-line text is truncated to the first line. Owner: GtkEntry Flags: Read / Write Default value: FALSE The <literal>“visibility”</literal> property GtkEntry:visibility “visibility” gboolean FALSE displays the “invisible char” instead of the actual text (password mode).Owner: GtkEntry Flags: Read / Write Default value: TRUE Signal Details The <literal>“activate”</literal> signal GtkEntry::activate void user_function (GtkEntry *entry, gpointer user_data) Flags: Action The <literal>“icon-press”</literal> signal GtkEntry::icon-press void user_function (GtkEntry *entry, GtkEntryIconPosition icon_pos, gpointer user_data) The ::icon-press signal is emitted when an activatable icon is clicked. Parameters entry The entry on which the signal is emitted icon_pos The position of the clicked icon user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“icon-release”</literal> signal GtkEntry::icon-release void user_function (GtkEntry *entry, GtkEntryIconPosition icon_pos, gpointer user_data) The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon. Parameters entry The entry on which the signal is emitted icon_pos The position of the clicked icon user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkTextView, GtkEntryCompletion docs/reference/gtk/xml/gtkradiobutton.xml0000664000175000017500000010103613710700312020736 0ustar mclasenmclasen ]> GtkRadioButton 3 GTK4 Library GtkRadioButton A choice from multiple check buttons Functions GtkWidget * gtk_radio_button_new () GtkWidget * gtk_radio_button_new_from_widget () GtkWidget * gtk_radio_button_new_with_label () GtkWidget * gtk_radio_button_new_with_label_from_widget () GtkWidget * gtk_radio_button_new_with_mnemonic () GtkWidget * gtk_radio_button_new_with_mnemonic_from_widget () void gtk_radio_button_set_group () GSList * gtk_radio_button_get_group () void gtk_radio_button_join_group () Properties GtkRadioButton *groupWrite Signals voidgroup-changedRun First Types and Values GtkRadioButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ╰── GtkToggleButton ╰── GtkCheckButton ╰── GtkRadioButton Implemented Interfaces GtkRadioButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description A single radio button performs the same basic function as a GtkCheckButton, 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. 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 GtkRadioButton is one way of giving the user a choice from many options. Radio button widgets are created with gtk_radio_button_new(), passing NULL as the argument if this is the first radio button in a group. In subsequent calls, the group you wish to add this button to should be passed as an argument. Optionally, gtk_radio_button_new_with_label() can be used if you want a text label on the radio button. Alternatively, when adding widgets to an existing group of radio buttons, use gtk_radio_button_new_from_widget() with a GtkRadioButton that already has a group assigned to it. The convenience function gtk_radio_button_new_with_label_from_widget() is also provided. To retrieve the group a GtkRadioButton is assigned to, use gtk_radio_button_get_group(). To remove a GtkRadioButton from one group and make it part of a new one, use gtk_radio_button_set_group(). The group list does not need to be freed, as each GtkRadioButton will remove itself and its list item when it is destroyed. How to create a group of two radio buttons. When an unselected button in the group is clicked the clicked button receives the “toggled” signal, as does the previously selected button. Inside the “toggled” handler, gtk_toggle_button_get_active() can be used to determine if the button has been selected or deselected. CSS nodes ]]> A GtkRadioButton with indicator (see gtk_check_button_set_draw_indicator())) has a main CSS node with name radiobutton and a subnode with name radio. ]]> A GtkRadioButton without indicator changes the name of its main node to button and adds a .radio style class to it. The subnode is invisible in this case. AccessibilityGtkRadioButton uses the GTK_ACCESSIBLE_ROLE_RADIO role. Functions gtk_radio_button_new () gtk_radio_button_new GtkWidget * gtk_radio_button_new (GSList *group); Creates a new GtkRadioButton. To be of any practical value, a widget should then be packed into the radio button. Parameters group an existing radio button group, or NULL if you are creating a new group. [element-type GtkRadioButton][allow-none] Returns a new radio button gtk_radio_button_new_from_widget () gtk_radio_button_new_from_widget GtkWidget * gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member); Creates a new GtkRadioButton, adding it to the same group as radio_group_member . As with gtk_radio_button_new(), a widget should be packed into the radio button. [constructor] Parameters radio_group_member an existing GtkRadioButton. [allow-none] Returns a new radio button. [transfer none] gtk_radio_button_new_with_label () gtk_radio_button_new_with_label GtkWidget * gtk_radio_button_new_with_label (GSList *group, const char *label); Creates a new GtkRadioButton with a text label. Parameters group an existing radio button group, or NULL if you are creating a new group. [element-type GtkRadioButton][allow-none] label the text label to display next to the radio button. Returns a new radio button. gtk_radio_button_new_with_label_from_widget () gtk_radio_button_new_with_label_from_widget GtkWidget * gtk_radio_button_new_with_label_from_widget (GtkRadioButton *radio_group_member, const char *label); Creates a new GtkRadioButton with a text label, adding it to the same group as radio_group_member . [constructor] Parameters radio_group_member widget to get radio group from or NULL. [allow-none] label a text string to display next to the radio button. Returns a new radio button. [transfer none] gtk_radio_button_new_with_mnemonic () gtk_radio_button_new_with_mnemonic GtkWidget * gtk_radio_button_new_with_mnemonic (GSList *group, const char *label); Creates a new GtkRadioButton containing a label, adding it to the same group as group . The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button. Parameters group the radio button group, or NULL. [element-type GtkRadioButton][allow-none] label the text of the button, with an underscore in front of the mnemonic character Returns a new GtkRadioButton gtk_radio_button_new_with_mnemonic_from_widget () gtk_radio_button_new_with_mnemonic_from_widget GtkWidget * gtk_radio_button_new_with_mnemonic_from_widget (GtkRadioButton *radio_group_member, const char *label); Creates a new GtkRadioButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the button. [constructor] Parameters radio_group_member widget to get radio group from or NULL. [allow-none] label the text of the button, with an underscore in front of the mnemonic character Returns a new GtkRadioButton. [transfer none] gtk_radio_button_set_group () gtk_radio_button_set_group void gtk_radio_button_set_group (GtkRadioButton *radio_button, GSList *group); Sets a GtkRadioButton’s group. It should be noted that this does not change the layout of your interface in any way, so if you are changing the group, it is likely you will need to re-arrange the user interface to reflect these changes. Parameters radio_button a GtkRadioButton. group an existing radio button group, such as one returned from gtk_radio_button_get_group(), or NULL. [element-type GtkRadioButton][allow-none] gtk_radio_button_get_group () gtk_radio_button_get_group GSList * gtk_radio_button_get_group (GtkRadioButton *radio_button); Retrieves the group assigned to a radio button. Parameters radio_button a GtkRadioButton. Returns a linked list containing all the radio buttons in the same group as radio_button . The returned list is owned by the radio button and must not be modified or freed. [element-type GtkRadioButton][transfer none] gtk_radio_button_join_group () gtk_radio_button_join_group void gtk_radio_button_join_group (GtkRadioButton *radio_button, GtkRadioButton *group_source); Joins a GtkRadioButton object to the group of another GtkRadioButton object Use this in language bindings instead of the gtk_radio_button_get_group() and gtk_radio_button_set_group() methods A common way to set up a group of radio buttons is the following: Parameters radio_button the GtkRadioButton object group_source a radio button object whos group we are joining, or NULL to remove the radio button from its group. [allow-none] Types and Values GtkRadioButton GtkRadioButton typedef struct _GtkRadioButton GtkRadioButton; Property Details The <literal>“group”</literal> property GtkRadioButton:group “group” GtkRadioButton * Sets a new group for a radio button. Owner: GtkRadioButton Flags: Write Signal Details The <literal>“group-changed”</literal> signal GtkRadioButton::group-changed void user_function (GtkRadioButton *button, gpointer user_data) 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. Parameters button the object which received the signal user_data user data set when the signal handler was connected. Flags: Run First See Also GtkComboBox docs/reference/gtk/xml/gtkpasswordentry.xml0000664000175000017500000004050713710700311021334 0ustar mclasenmclasen ]> GtkPasswordEntry 3 GTK4 Library GtkPasswordEntry An entry for secrets Functions GtkWidget * gtk_password_entry_new () void gtk_password_entry_set_show_peek_icon () gboolean gtk_password_entry_get_show_peek_icon () void gtk_password_entry_set_extra_menu () GMenuModel * gtk_password_entry_get_extra_menu () Properties gbooleanactivates-defaultRead / Write GMenuModel *extra-menuRead / Write gchar *placeholder-textRead / Write gbooleanshow-peek-iconRead / Write Types and Values structGtkPasswordEntry Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPasswordEntry Implemented Interfaces GtkPasswordEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable. Includes#include <gtk/gtk.h> Description GtkPasswordEntry is entry that has been tailored for entering secrets. It does not show its contents in clear text, does not allow to copy it to the clipboard, and it shows a warning when Caps Lock is engaged. Optionally, it can offer a way to reveal the contents in clear text. GtkPasswordEntry provides only minimal API and should be used with the GtkEditable API. CSS Nodes GtkPasswordEntry has a single CSS node with name entry that carries a .passwordstyle class. The text Css node below it has a child with name image and style class .caps-lock-indicator for the Caps Lock icon, and possibly other children. AccessibilityGtkPasswordEntry uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role. Functions gtk_password_entry_new () gtk_password_entry_new GtkWidget * gtk_password_entry_new (void); Creates a GtkPasswordEntry. Returns a new GtkPasswordEntry gtk_password_entry_set_show_peek_icon () gtk_password_entry_set_show_peek_icon void gtk_password_entry_set_show_peek_icon (GtkPasswordEntry *entry, gboolean show_peek_icon); Sets whether the entry should have a clickable icon to show the contents of the entry in clear text. Setting this to FALSE also hides the text again. Parameters entry a GtkPasswordEntry show_peek_icon whether to show the peek icon gtk_password_entry_get_show_peek_icon () gtk_password_entry_get_show_peek_icon gboolean gtk_password_entry_get_show_peek_icon (GtkPasswordEntry *entry); Returns whether the entry is showing a clickable icon to reveal the contents of the entry in clear text. Parameters entry a GtkPasswordEntry Returns TRUE if an icon is shown gtk_password_entry_set_extra_menu () gtk_password_entry_set_extra_menu void gtk_password_entry_set_extra_menu (GtkPasswordEntry *entry, GMenuModel *model); Sets a menu model to add when constructing the context menu for entry . Parameters entry a GtkPasswordEntry model a GMenuModel. [allow-none] gtk_password_entry_get_extra_menu () gtk_password_entry_get_extra_menu GMenuModel * gtk_password_entry_get_extra_menu (GtkPasswordEntry *entry); Gets the menu model set with gtk_password_entry_set_extra_menu(). Parameters entry a GtkText Returns (nullable): the menu model. [transfer none] Types and Values struct GtkPasswordEntry GtkPasswordEntry struct GtkPasswordEntry; Property Details The <literal>“activates-default”</literal> property GtkPasswordEntry:activates-default “activates-default” gboolean Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.Owner: GtkPasswordEntry Flags: Read / Write Default value: FALSE The <literal>“extra-menu”</literal> property GtkPasswordEntry:extra-menu “extra-menu” GMenuModel * A menu model whose contents will be appended to the context menu. Owner: GtkPasswordEntry Flags: Read / Write The <literal>“placeholder-text”</literal> property GtkPasswordEntry:placeholder-text “placeholder-text” gchar * Show text in the entry when it’s empty and unfocused.Owner: GtkPasswordEntry Flags: Read / Write Default value: NULL The <literal>“show-peek-icon”</literal> property GtkPasswordEntry:show-peek-icon “show-peek-icon” gboolean Whether to show an icon for revealing the content.Owner: GtkPasswordEntry Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkrange.xml0000664000175000017500000017037713710700312017516 0ustar mclasenmclasen ]> GtkRange 3 GTK4 Library GtkRange Base class for widgets which visualize an adjustment Functions double gtk_range_get_fill_level () gboolean gtk_range_get_restrict_to_fill_level () gboolean gtk_range_get_show_fill_level () void gtk_range_set_fill_level () void gtk_range_set_restrict_to_fill_level () void gtk_range_set_show_fill_level () GtkAdjustment * gtk_range_get_adjustment () void gtk_range_set_adjustment () gboolean gtk_range_get_inverted () void gtk_range_set_inverted () double gtk_range_get_value () void gtk_range_set_value () void gtk_range_set_increments () void gtk_range_set_range () int gtk_range_get_round_digits () void gtk_range_set_round_digits () gboolean gtk_range_get_flippable () void gtk_range_set_flippable () void gtk_range_get_range_rect () void gtk_range_get_slider_range () gboolean gtk_range_get_slider_size_fixed () void gtk_range_set_slider_size_fixed () Properties GtkAdjustment *adjustmentRead / Write / Construct gdoublefill-levelRead / Write gbooleaninvertedRead / Write gbooleanrestrict-to-fill-levelRead / Write gintround-digitsRead / Write gbooleanshow-fill-levelRead / Write Signals voidadjust-boundsRun Last gbooleanchange-valueRun Last voidmove-sliderAction voidvalue-changedRun Last Types and Values structGtkRange Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkRange ╰── GtkScale Implemented Interfaces GtkRange implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkRange is the common base class for widgets which visualize an adjustment, e.g GtkScale or GtkScrollbar. Apart from signals for monitoring the parameters of the adjustment, GtkRange provides properties and methods for setting a “fill level” on range widgets. See gtk_range_set_fill_level(). Functions gtk_range_get_fill_level () gtk_range_get_fill_level double gtk_range_get_fill_level (GtkRange *range); Gets the current position of the fill level indicator. Parameters range A GtkRange Returns The current fill level gtk_range_get_restrict_to_fill_level () gtk_range_get_restrict_to_fill_level gboolean gtk_range_get_restrict_to_fill_level (GtkRange *range); Gets whether the range is restricted to the fill level. Parameters range A GtkRange Returns TRUE if range is restricted to the fill level. gtk_range_get_show_fill_level () gtk_range_get_show_fill_level gboolean gtk_range_get_show_fill_level (GtkRange *range); Gets whether the range displays the fill level graphically. Parameters range A GtkRange Returns TRUE if range shows the fill level. gtk_range_set_fill_level () gtk_range_set_fill_level void gtk_range_set_fill_level (GtkRange *range, double fill_level); Set the new position of the fill level indicator. The “fill level” is probably best described by its most prominent use case, which is an indicator for the amount of pre-buffering in a streaming media player. In that use case, the value of the range would indicate the current play position, and the fill level would be the position up to which the file/stream has been downloaded. This amount of prebuffering can be displayed on the range’s trough and is themeable separately from the trough. To enable fill level display, use gtk_range_set_show_fill_level(). The range defaults to not showing the fill level. Additionally, it’s possible to restrict the range’s slider position to values which are smaller than the fill level. This is controller by gtk_range_set_restrict_to_fill_level() and is by default enabled. Parameters range a GtkRange fill_level the new position of the fill level indicator gtk_range_set_restrict_to_fill_level () gtk_range_set_restrict_to_fill_level void gtk_range_set_restrict_to_fill_level (GtkRange *range, gboolean restrict_to_fill_level); Sets whether the slider is restricted to the fill level. See gtk_range_set_fill_level() for a general description of the fill level concept. Parameters range A GtkRange restrict_to_fill_level Whether the fill level restricts slider movement. gtk_range_set_show_fill_level () gtk_range_set_show_fill_level void gtk_range_set_show_fill_level (GtkRange *range, gboolean show_fill_level); Sets whether a graphical fill level is show on the trough. See gtk_range_set_fill_level() for a general description of the fill level concept. Parameters range A GtkRange show_fill_level Whether a fill level indicator graphics is shown. gtk_range_get_adjustment () gtk_range_get_adjustment GtkAdjustment * gtk_range_get_adjustment (GtkRange *range); Get the GtkAdjustment which is the “model” object for GtkRange. See gtk_range_set_adjustment() for details. The return value does not have a reference added, so should not be unreferenced. Parameters range a GtkRange Returns a GtkAdjustment. [transfer none] gtk_range_set_adjustment () gtk_range_set_adjustment void gtk_range_set_adjustment (GtkRange *range, GtkAdjustment *adjustment); Sets the adjustment to be used as the “model” object for this range widget. The adjustment indicates the current range value, the minimum and maximum range values, the step/page increments used for keybindings and scrolling, and the page size. The page size is normally 0 for GtkScale and nonzero for GtkScrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider. Parameters range a GtkRange adjustment a GtkAdjustment gtk_range_get_inverted () gtk_range_get_inverted gboolean gtk_range_get_inverted (GtkRange *range); Gets the value set by gtk_range_set_inverted(). Parameters range a GtkRange Returns TRUE if the range is inverted gtk_range_set_inverted () gtk_range_set_inverted void gtk_range_set_inverted (GtkRange *range, gboolean setting); Ranges normally move from lower to higher values as the slider moves from top to bottom or left to right. Inverted ranges have higher values at the top or on the right rather than on the bottom or left. Parameters range a GtkRange setting TRUE to invert the range gtk_range_get_value () gtk_range_get_value double gtk_range_get_value (GtkRange *range); Gets the current value of the range. Parameters range a GtkRange Returns current value of the range. gtk_range_set_value () gtk_range_set_value void gtk_range_set_value (GtkRange *range, double value); Sets the current value of the range; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The range emits the “value-changed” signal if the value changes. Parameters range a GtkRange value new value of the range gtk_range_set_increments () gtk_range_set_increments void gtk_range_set_increments (GtkRange *range, double step, double page); Sets the step and page sizes for the range. The step size is used when the user clicks the GtkScrollbar arrows or moves GtkScale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys. Parameters range a GtkRange step step size page page size gtk_range_set_range () gtk_range_set_range void gtk_range_set_range (GtkRange *range, double min, double max); Sets the allowable values in the GtkRange, and clamps the range value to be between min and max . (If the range has a non-zero page size, it is clamped between min and max - page-size.) Parameters range a GtkRange min minimum range value max maximum range value gtk_range_get_round_digits () gtk_range_get_round_digits int gtk_range_get_round_digits (GtkRange *range); Gets the number of digits to round the value to when it changes. See “change-value”. Parameters range a GtkRange Returns the number of digits to round to gtk_range_set_round_digits () gtk_range_set_round_digits void gtk_range_set_round_digits (GtkRange *range, int round_digits); Sets the number of digits to round the value to when it changes. See “change-value”. Parameters range a GtkRange round_digits the precision in digits, or -1 gtk_range_get_flippable () gtk_range_get_flippable gboolean gtk_range_get_flippable (GtkRange *range); Gets the value set by gtk_range_set_flippable(). Parameters range a GtkRange Returns TRUE if the range is flippable gtk_range_set_flippable () gtk_range_set_flippable void gtk_range_set_flippable (GtkRange *range, gboolean flippable); If a range is flippable, it will switch its direction if it is horizontal and its direction is GTK_TEXT_DIR_RTL. See gtk_widget_get_direction(). Parameters range a GtkRange flippable TRUE to make the range flippable gtk_range_get_range_rect () gtk_range_get_range_rect void gtk_range_get_range_rect (GtkRange *range, GdkRectangle *range_rect); This function returns the area that contains the range’s trough, in coordinates relative to range 's origin. This function is useful mainly for GtkRange subclasses. Parameters range a GtkRange range_rect return location for the range rectangle. [out] gtk_range_get_slider_range () gtk_range_get_slider_range void gtk_range_get_slider_range (GtkRange *range, int *slider_start, int *slider_end); This function returns sliders range along the long dimension, in widget->window coordinates. This function is useful mainly for GtkRange subclasses. Parameters range a GtkRange slider_start return location for the slider's start, or NULL. [out][allow-none] slider_end return location for the slider's end, or NULL. [out][allow-none] gtk_range_get_slider_size_fixed () gtk_range_get_slider_size_fixed gboolean gtk_range_get_slider_size_fixed (GtkRange *range); This function is useful mainly for GtkRange subclasses. See gtk_range_set_slider_size_fixed(). Parameters range a GtkRange Returns whether the range’s slider has a fixed size. gtk_range_set_slider_size_fixed () gtk_range_set_slider_size_fixed void gtk_range_set_slider_size_fixed (GtkRange *range, gboolean size_fixed); Sets whether the range’s slider has a fixed size, or a size that depends on its adjustment’s page size. This function is useful mainly for GtkRange subclasses. Parameters range a GtkRange size_fixed TRUE to make the slider size constant Types and Values struct GtkRange GtkRange struct GtkRange; Property Details The <literal>“adjustment”</literal> property GtkRange:adjustment “adjustment” GtkAdjustment * The GtkAdjustment that contains the current value of this range object.Owner: GtkRange Flags: Read / Write / Construct The <literal>“fill-level”</literal> property GtkRange:fill-level “fill-level” gdouble The fill level (e.g. prebuffering of a network stream). See gtk_range_set_fill_level(). Owner: GtkRange Flags: Read / Write Default value: 1.79769e+308 The <literal>“inverted”</literal> property GtkRange:inverted “inverted” gboolean Invert direction slider moves to increase range value.Owner: GtkRange Flags: Read / Write Default value: FALSE The <literal>“restrict-to-fill-level”</literal> property GtkRange:restrict-to-fill-level “restrict-to-fill-level” gboolean The restrict-to-fill-level property controls whether slider movement is restricted to an upper boundary set by the fill level. See gtk_range_set_restrict_to_fill_level(). Owner: GtkRange Flags: Read / Write Default value: TRUE The <literal>“round-digits”</literal> property GtkRange:round-digits “round-digits” gint The number of digits to round the value to when it changes, or -1. See “change-value”. Owner: GtkRange Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“show-fill-level”</literal> property GtkRange:show-fill-level “show-fill-level” gboolean The show-fill-level property controls whether fill level indicator graphics are displayed on the trough. See gtk_range_set_show_fill_level(). Owner: GtkRange Flags: Read / Write Default value: FALSE Signal Details The <literal>“adjust-bounds”</literal> signal GtkRange::adjust-bounds void user_function (GtkRange *range, gdouble value, gpointer user_data) Emitted before clamping a value, to give the application a chance to adjust the bounds. Parameters range the GtkRange that received the signal value the value before we clamp user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“change-value”</literal> signal GtkRange::change-value gboolean user_function (GtkRange *range, GtkScrollType scroll, gdouble value, gpointer user_data) The “change-value” signal is emitted when a scroll action is performed on a range. It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return TRUE to prevent further processing. Or, by returning FALSE, it can pass the event to other handlers until the default GTK+ handler is reached. The value parameter is unrounded. An application that overrides the GtkRange::change-value signal is responsible for clamping the value to the desired number of decimal digits; the default GTK+ handler clamps the value based on “round-digits”. Parameters range the GtkRange that received the signal scroll the type of scroll action that was performed value the new value resulting from the scroll action user_data user data set when the signal handler was connected. Returns TRUE to prevent other handlers from being invoked for the signal, FALSE to propagate the signal further Flags: Run Last The <literal>“move-slider”</literal> signal GtkRange::move-slider void user_function (GtkRange *range, GtkScrollType step, gpointer user_data) Virtual function that moves the slider. Used for keybindings. Parameters range the GtkRange that received the signal step how to move the slider user_data user data set when the signal handler was connected. Flags: Action The <literal>“value-changed”</literal> signal GtkRange::value-changed void user_function (GtkRange *range, gpointer user_data) Emitted when the range value changes. Parameters range the GtkRange that received the signal user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkentrybuffer.xml0000664000175000017500000010540613710700311020743 0ustar mclasenmclasen ]> GtkEntryBuffer 3 GTK4 Library GtkEntryBuffer Text buffer for GtkEntry Functions GtkEntryBuffer * gtk_entry_buffer_new () const char * gtk_entry_buffer_get_text () void gtk_entry_buffer_set_text () gsize gtk_entry_buffer_get_bytes () guint gtk_entry_buffer_get_length () int gtk_entry_buffer_get_max_length () void gtk_entry_buffer_set_max_length () guint gtk_entry_buffer_insert_text () guint gtk_entry_buffer_delete_text () void gtk_entry_buffer_emit_deleted_text () void gtk_entry_buffer_emit_inserted_text () Properties guintlengthRead gintmax-lengthRead / Write gchar *textRead / Write Signals voiddeleted-textRun Last voidinserted-textRun First Types and Values structGtkEntryBuffer Object Hierarchy GObject ╰── GtkEntryBuffer Includes#include <gtk/gtk.h> Description The GtkEntryBuffer class contains the actual text displayed in a GtkEntry widget. A single GtkEntryBuffer object can be shared by multiple GtkEntry widgets which will then share the same text content, but not the cursor position, visibility attributes, icon etc. GtkEntryBuffer may be derived from. Such a derived class might allow text to be stored in an alternate location, such as non-pageable memory, useful in the case of important passwords. Or a derived class could integrate with an application’s concept of undo/redo. Functions gtk_entry_buffer_new () gtk_entry_buffer_new GtkEntryBuffer * gtk_entry_buffer_new (const char *initial_chars, int n_initial_chars); Create a new GtkEntryBuffer object. Optionally, specify initial text to set in the buffer. Parameters initial_chars initial buffer text, or NULL. [allow-none] n_initial_chars number of characters in initial_chars , or -1 Returns A new GtkEntryBuffer object. gtk_entry_buffer_get_text () gtk_entry_buffer_get_text const char * gtk_entry_buffer_get_text (GtkEntryBuffer *buffer); Retrieves the contents of the buffer. The memory pointer returned by this call will not change unless this object emits a signal, or is finalized. Parameters buffer a GtkEntryBuffer Returns a pointer to the contents of the widget as a string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored. gtk_entry_buffer_set_text () gtk_entry_buffer_set_text void gtk_entry_buffer_set_text (GtkEntryBuffer *buffer, const char *chars, int n_chars); Sets the text in the buffer. This is roughly equivalent to calling gtk_entry_buffer_delete_text() and gtk_entry_buffer_insert_text(). Note that n_chars is in characters, not in bytes. Parameters buffer a GtkEntryBuffer chars the new text n_chars the number of characters in text , or -1 gtk_entry_buffer_get_bytes () gtk_entry_buffer_get_bytes gsize gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer); Retrieves the length in bytes of the buffer. See gtk_entry_buffer_get_length(). Parameters buffer a GtkEntryBuffer Returns The byte length of the buffer. gtk_entry_buffer_get_length () gtk_entry_buffer_get_length guint gtk_entry_buffer_get_length (GtkEntryBuffer *buffer); Retrieves the length in characters of the buffer. Parameters buffer a GtkEntryBuffer Returns The number of characters in the buffer. gtk_entry_buffer_get_max_length () gtk_entry_buffer_get_max_length int gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer); Retrieves the maximum allowed length of the text in buffer . See gtk_entry_buffer_set_max_length(). Parameters buffer a GtkEntryBuffer Returns the maximum allowed number of characters in GtkEntryBuffer, or 0 if there is no maximum. gtk_entry_buffer_set_max_length () gtk_entry_buffer_set_max_length void gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer, int max_length); Sets the maximum allowed length of the contents of the buffer. If the current contents are longer than the given length, then they will be truncated to fit. Parameters buffer a GtkEntryBuffer max_length the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. gtk_entry_buffer_insert_text () gtk_entry_buffer_insert_text guint gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer, guint position, const char *chars, int n_chars); Inserts n_chars characters of chars into the contents of the buffer, at position position . If n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If position or n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. Parameters buffer a GtkEntryBuffer position the position at which to insert text. chars the text to insert into the buffer. n_chars the length of the text in characters, or -1 Returns The number of characters actually inserted. gtk_entry_buffer_delete_text () gtk_entry_buffer_delete_text guint gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer, guint position, int n_chars); Deletes a sequence of characters from the buffer. n_chars characters are deleted starting at position . If n_chars is negative, then all characters until the end of the text are deleted. If position or n_chars are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. Parameters buffer a GtkEntryBuffer position position at which to delete text n_chars number of characters to delete Returns The number of characters deleted. gtk_entry_buffer_emit_deleted_text () gtk_entry_buffer_emit_deleted_text void gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer, guint position, guint n_chars); Used when subclassing GtkEntryBuffer Parameters buffer a GtkEntryBuffer position position at which text was deleted n_chars number of characters deleted gtk_entry_buffer_emit_inserted_text () gtk_entry_buffer_emit_inserted_text void gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars); Used when subclassing GtkEntryBuffer Parameters buffer a GtkEntryBuffer position position at which text was inserted chars text that was inserted n_chars number of characters inserted Types and Values struct GtkEntryBuffer GtkEntryBuffer struct GtkEntryBuffer; Property Details The <literal>“length”</literal> property GtkEntryBuffer:length “length” guint The length (in characters) of the text in buffer. Owner: GtkEntryBuffer Flags: Read Allowed values: <= 65535 Default value: 0 The <literal>“max-length”</literal> property GtkEntryBuffer:max-length “max-length” gint The maximum length (in characters) of the text in the buffer. Owner: GtkEntryBuffer Flags: Read / Write Allowed values: [0,65535] Default value: 0 The <literal>“text”</literal> property GtkEntryBuffer:text “text” gchar * The contents of the buffer. Owner: GtkEntryBuffer Flags: Read / Write Default value: "" Signal Details The <literal>“deleted-text”</literal> signal GtkEntryBuffer::deleted-text void user_function (GtkEntryBuffer *buffer, guint position, guint n_chars, gpointer user_data) The text is altered in the default handler for this signal. If you want access to the text after the text has been modified, use G_CONNECT_AFTER. Parameters buffer a GtkEntryBuffer position the position the text was deleted at. n_chars The number of characters that were deleted. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“inserted-text”</literal> signal GtkEntryBuffer::inserted-text void user_function (GtkEntryBuffer *buffer, guint position, gchar *chars, guint n_chars, gpointer user_data) This signal is emitted after text is inserted into the buffer. Parameters buffer a GtkEntryBuffer position the position the text was inserted at. chars The text that was inserted. n_chars The number of characters that were inserted. user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtkrecentmanager.xml0000664000175000017500000026102413710700312021223 0ustar mclasenmclasen ]> GtkRecentManager 3 GTK4 Library GtkRecentManager Managing recently used files Functions GtkRecentManager * gtk_recent_manager_new () GtkRecentManager * gtk_recent_manager_get_default () gboolean gtk_recent_manager_add_item () gboolean gtk_recent_manager_add_full () gboolean gtk_recent_manager_remove_item () GtkRecentInfo * gtk_recent_manager_lookup_item () gboolean gtk_recent_manager_has_item () gboolean gtk_recent_manager_move_item () GList * gtk_recent_manager_get_items () int gtk_recent_manager_purge_items () GtkRecentInfo * gtk_recent_info_ref () void gtk_recent_info_unref () const char * gtk_recent_info_get_uri () const char * gtk_recent_info_get_display_name () const char * gtk_recent_info_get_description () const char * gtk_recent_info_get_mime_type () time_t gtk_recent_info_get_added () time_t gtk_recent_info_get_modified () time_t gtk_recent_info_get_visited () gboolean gtk_recent_info_get_private_hint () gboolean gtk_recent_info_get_application_info () char ** gtk_recent_info_get_applications () char * gtk_recent_info_last_application () gboolean gtk_recent_info_has_application () GAppInfo * gtk_recent_info_create_app_info () char ** gtk_recent_info_get_groups () gboolean gtk_recent_info_has_group () GIcon * gtk_recent_info_get_gicon () char * gtk_recent_info_get_short_name () char * gtk_recent_info_get_uri_display () int gtk_recent_info_get_age () gboolean gtk_recent_info_is_local () gboolean gtk_recent_info_exists () gboolean gtk_recent_info_match () Properties gchar *filenameRead / Write / Construct Only gintsizeRead Signals voidchangedRun First Types and Values structGtkRecentManager GtkRecentInfo structGtkRecentData #defineGTK_RECENT_MANAGER_ERROR enumGtkRecentManagerError Object Hierarchy GObject ╰── GtkRecentManager Includes#include <gtk/gtk.h> Description GtkRecentManager provides a facility for adding, removing and looking up recently used files. Each recently used file is identified by its URI, and has meta-data associated to it, like the names and command lines of the applications that have registered it, the number of time each application has registered the same file, the mime type of the file and whether the file should be displayed only by the applications that have registered it. The recently used files list is per user. The GtkRecentManager acts like a database of all the recently used files. You can create new GtkRecentManager objects, but it is more efficient to use the default manager created by GTK+. Adding a new recently used file is as simple as: The GtkRecentManager will try to gather all the needed information from the file itself through GIO. Looking up the meta-data associated with a recently used file given its URI requires calling gtk_recent_manager_lookup_item(): message); g_error_free (error); } else { // Use the info object gtk_recent_info_unref (info); } ]]> In order to retrieve the list of recently used files, you can use gtk_recent_manager_get_items(), which returns a list of GtkRecentInfo. A GtkRecentManager is the model used to populate the contents of one, or more GtkRecentChooser implementations. Note that the maximum age of the recently used files list is controllable through the “gtk-recent-files-max-age” property. Recently used files are supported since GTK+ 2.10. Functions gtk_recent_manager_new () gtk_recent_manager_new GtkRecentManager * gtk_recent_manager_new (void); Creates a new recent manager object. Recent manager objects are used to handle the list of recently used resources. A GtkRecentManager object monitors the recently used resources list, and emits the “changed” signal each time something inside the list changes. GtkRecentManager objects are expensive: be sure to create them only when needed. You should use gtk_recent_manager_get_default() instead. Returns A newly created GtkRecentManager object gtk_recent_manager_get_default () gtk_recent_manager_get_default GtkRecentManager * gtk_recent_manager_get_default (void); Gets a unique instance of GtkRecentManager, that you can share in your application without caring about memory management. Returns A unique GtkRecentManager. Do not ref or unref it. [transfer none] gtk_recent_manager_add_item () gtk_recent_manager_add_item gboolean gtk_recent_manager_add_item (GtkRecentManager *manager, const char *uri); Adds a new resource, pointed by uri , into the recently used resources list. This function automatically retrieves some of the needed metadata and setting other metadata to common default values; it then feeds the data to gtk_recent_manager_add_full(). See gtk_recent_manager_add_full() if you want to explicitly define the metadata for the resource pointed by uri . Parameters manager a GtkRecentManager uri a valid URI Returns TRUE if the new item was successfully added to the recently used resources list gtk_recent_manager_add_full () gtk_recent_manager_add_full gboolean gtk_recent_manager_add_full (GtkRecentManager *manager, const char *uri, const GtkRecentData *recent_data); Adds a new resource, pointed by uri , into the recently used resources list, using the metadata specified inside the GtkRecentData passed in recent_data . The passed URI will be used to identify this resource inside the list. In order to register the new recently used resource, metadata about the resource must be passed as well as the URI; the metadata is stored in a GtkRecentData, which must contain the MIME type of the resource pointed by the URI; the name of the application that is registering the item, and a command line to be used when launching the item. Optionally, a GtkRecentData might contain a UTF-8 string to be used when viewing the item instead of the last component of the URI; a short description of the item; whether the item should be considered private - that is, should be displayed only by the applications that have registered it. Parameters manager a GtkRecentManager uri a valid URI recent_data metadata of the resource Returns TRUE if the new item was successfully added to the recently used resources list, FALSE otherwise gtk_recent_manager_remove_item () gtk_recent_manager_remove_item gboolean gtk_recent_manager_remove_item (GtkRecentManager *manager, const char *uri, GError **error); Removes a resource pointed by uri from the recently used resources list handled by a recent manager. Parameters manager a GtkRecentManager uri the URI of the item you wish to remove error return location for a GError, or NULL. [allow-none] Returns TRUE if the item pointed by uri has been successfully removed by the recently used resources list, and FALSE otherwise gtk_recent_manager_lookup_item () gtk_recent_manager_lookup_item GtkRecentInfo * gtk_recent_manager_lookup_item (GtkRecentManager *manager, const char *uri, GError **error); Searches for a URI inside the recently used resources list, and returns a GtkRecentInfo containing informations about the resource like its MIME type, or its display name. Parameters manager a GtkRecentManager uri a URI error a return location for a GError, or NULL. [allow-none] Returns a GtkRecentInfo containing information about the resource pointed by uri , or NULL if the URI was not registered in the recently used resources list. Free with gtk_recent_info_unref(). [nullable] gtk_recent_manager_has_item () gtk_recent_manager_has_item gboolean gtk_recent_manager_has_item (GtkRecentManager *manager, const char *uri); Checks whether there is a recently used resource registered with uri inside the recent manager. Parameters manager a GtkRecentManager uri a URI Returns TRUE if the resource was found, FALSE otherwise gtk_recent_manager_move_item () gtk_recent_manager_move_item gboolean gtk_recent_manager_move_item (GtkRecentManager *manager, const char *uri, const char *new_uri, GError **error); Changes the location of a recently used resource from uri to new_uri . Please note that this function will not affect the resource pointed by the URIs, but only the URI used in the recently used resources list. Parameters manager a GtkRecentManager uri the URI of a recently used resource new_uri the new URI of the recently used resource, or NULL to remove the item pointed by uri in the list. [allow-none] error a return location for a GError, or NULL. [allow-none] Returns TRUE on success gtk_recent_manager_get_items () gtk_recent_manager_get_items GList * gtk_recent_manager_get_items (GtkRecentManager *manager); Gets the list of recently used resources. Parameters manager a GtkRecentManager Returns a list of newly allocated GtkRecentInfo objects. Use gtk_recent_info_unref() on each item inside the list, and then free the list itself using g_list_free(). [element-type GtkRecentInfo][transfer full] gtk_recent_manager_purge_items () gtk_recent_manager_purge_items int gtk_recent_manager_purge_items (GtkRecentManager *manager, GError **error); Purges every item from the recently used resources list. Parameters manager a GtkRecentManager error a return location for a GError, or NULL. [allow-none] Returns the number of items that have been removed from the recently used resources list gtk_recent_info_ref () gtk_recent_info_ref GtkRecentInfo * gtk_recent_info_ref (GtkRecentInfo *info); Increases the reference count of recent_info by one. Parameters info a GtkRecentInfo Returns the recent info object with its reference count increased by one gtk_recent_info_unref () gtk_recent_info_unref void gtk_recent_info_unref (GtkRecentInfo *info); Decreases the reference count of info by one. If the reference count reaches zero, info is deallocated, and the memory freed. Parameters info a GtkRecentInfo gtk_recent_info_get_uri () gtk_recent_info_get_uri const char * gtk_recent_info_get_uri (GtkRecentInfo *info); Gets the URI of the resource. Parameters info a GtkRecentInfo Returns the URI of the resource. The returned string is owned by the recent manager, and should not be freed. gtk_recent_info_get_display_name () gtk_recent_info_get_display_name const char * gtk_recent_info_get_display_name (GtkRecentInfo *info); Gets the name of the resource. If none has been defined, the basename of the resource is obtained. Parameters info a GtkRecentInfo Returns the display name of the resource. The returned string is owned by the recent manager, and should not be freed. gtk_recent_info_get_description () gtk_recent_info_get_description const char * gtk_recent_info_get_description (GtkRecentInfo *info); Gets the (short) description of the resource. Parameters info a GtkRecentInfo Returns the description of the resource. The returned string is owned by the recent manager, and should not be freed. gtk_recent_info_get_mime_type () gtk_recent_info_get_mime_type const char * gtk_recent_info_get_mime_type (GtkRecentInfo *info); Gets the MIME type of the resource. Parameters info a GtkRecentInfo Returns the MIME type of the resource. The returned string is owned by the recent manager, and should not be freed. gtk_recent_info_get_added () gtk_recent_info_get_added time_t gtk_recent_info_get_added (GtkRecentInfo *info); Gets the timestamp (seconds from system’s Epoch) when the resource was added to the recently used resources list. Parameters info a GtkRecentInfo Returns the number of seconds elapsed from system’s Epoch when the resource was added to the list, or -1 on failure. gtk_recent_info_get_modified () gtk_recent_info_get_modified time_t gtk_recent_info_get_modified (GtkRecentInfo *info); Gets the timestamp (seconds from system’s Epoch) when the meta-data for the resource was last modified. Parameters info a GtkRecentInfo Returns the number of seconds elapsed from system’s Epoch when the resource was last modified, or -1 on failure. gtk_recent_info_get_visited () gtk_recent_info_get_visited time_t gtk_recent_info_get_visited (GtkRecentInfo *info); Gets the timestamp (seconds from system’s Epoch) when the meta-data for the resource was last visited. Parameters info a GtkRecentInfo Returns the number of seconds elapsed from system’s Epoch when the resource was last visited, or -1 on failure. gtk_recent_info_get_private_hint () gtk_recent_info_get_private_hint gboolean gtk_recent_info_get_private_hint (GtkRecentInfo *info); Gets the value of the “private” flag. Resources in the recently used list that have this flag set to TRUE should only be displayed by the applications that have registered them. Parameters info a GtkRecentInfo Returns TRUE if the private flag was found, FALSE otherwise gtk_recent_info_get_application_info () gtk_recent_info_get_application_info gboolean gtk_recent_info_get_application_info (GtkRecentInfo *info, const char *app_name, const char **app_exec, guint *count, time_t *time_); Gets the data regarding the application that has registered the resource pointed by info . If the command line contains any escape characters defined inside the storage specification, they will be expanded. Parameters info a GtkRecentInfo app_name the name of the application that has registered this item app_exec return location for the string containing the command line. [transfer none][out] count return location for the number of times this item was registered. [out] time_ return location for the timestamp this item was last registered for this application. [out] Returns TRUE if an application with app_name has registered this resource inside the recently used list, or FALSE otherwise. The app_exec string is owned by the GtkRecentInfo and should not be modified or freed gtk_recent_info_get_applications () gtk_recent_info_get_applications char ** gtk_recent_info_get_applications (GtkRecentInfo *info, gsize *length); Retrieves the list of applications that have registered this resource. Parameters info a GtkRecentInfo length return location for the length of the returned list. [out][allow-none] Returns a newly allocated NULL-terminated array of strings. Use g_strfreev() to free it. [array length=length zero-terminated=1][transfer full] gtk_recent_info_last_application () gtk_recent_info_last_application char * gtk_recent_info_last_application (GtkRecentInfo *info); Gets the name of the last application that have registered the recently used resource represented by info . Parameters info a GtkRecentInfo Returns an application name. Use g_free() to free it. gtk_recent_info_has_application () gtk_recent_info_has_application gboolean gtk_recent_info_has_application (GtkRecentInfo *info, const char *app_name); Checks whether an application registered this resource using app_name . Parameters info a GtkRecentInfo app_name a string containing an application name Returns TRUE if an application with name app_name was found, FALSE otherwise gtk_recent_info_create_app_info () gtk_recent_info_create_app_info GAppInfo * gtk_recent_info_create_app_info (GtkRecentInfo *info, const char *app_name, GError **error); Creates a GAppInfo for the specified GtkRecentInfo Parameters info a GtkRecentInfo app_name the name of the application that should be mapped to a GAppInfo; if NULL is used then the default application for the MIME type is used. [allow-none] error return location for a GError, or NULL. [allow-none] Returns the newly created GAppInfo, or NULL. In case of error, error will be set either with a GTK_RECENT_MANAGER_ERROR or a G_IO_ERROR. [nullable][transfer full] gtk_recent_info_get_groups () gtk_recent_info_get_groups char ** gtk_recent_info_get_groups (GtkRecentInfo *info, gsize *length); Returns all groups registered for the recently used item info . The array of returned group names will be NULL terminated, so length might optionally be NULL. Parameters info a GtkRecentInfo length return location for the number of groups returned. [out][allow-none] Returns a newly allocated NULL terminated array of strings. Use g_strfreev() to free it. [array length=length zero-terminated=1][transfer full] gtk_recent_info_has_group () gtk_recent_info_has_group gboolean gtk_recent_info_has_group (GtkRecentInfo *info, const char *group_name); Checks whether group_name appears inside the groups registered for the recently used item info . Parameters info a GtkRecentInfo group_name name of a group Returns TRUE if the group was found gtk_recent_info_get_gicon () gtk_recent_info_get_gicon GIcon * gtk_recent_info_get_gicon (GtkRecentInfo *info); Retrieves the icon associated to the resource MIME type. Parameters info a GtkRecentInfo Returns a GIcon containing the icon, or NULL. Use g_object_unref() when finished using the icon. [nullable][transfer full] gtk_recent_info_get_short_name () gtk_recent_info_get_short_name char * gtk_recent_info_get_short_name (GtkRecentInfo *info); Computes a valid UTF-8 string that can be used as the name of the item in a menu or list. For example, calling this function on an item that refers to “file:///foo/bar.txt” will yield “bar.txt”. Parameters info an GtkRecentInfo Returns A newly-allocated string in UTF-8 encoding free it with g_free() gtk_recent_info_get_uri_display () gtk_recent_info_get_uri_display char * gtk_recent_info_get_uri_display (GtkRecentInfo *info); Gets a displayable version of the resource’s URI. If the resource is local, it returns a local path; if the resource is not local, it returns the UTF-8 encoded content of gtk_recent_info_get_uri(). Parameters info a GtkRecentInfo Returns a newly allocated UTF-8 string containing the resource’s URI or NULL. Use g_free() when done using it. [nullable] gtk_recent_info_get_age () gtk_recent_info_get_age int gtk_recent_info_get_age (GtkRecentInfo *info); Gets the number of days elapsed since the last update of the resource pointed by info . Parameters info a GtkRecentInfo Returns a positive integer containing the number of days elapsed since the time this resource was last modified gtk_recent_info_is_local () gtk_recent_info_is_local gboolean gtk_recent_info_is_local (GtkRecentInfo *info); Checks whether the resource is local or not by looking at the scheme of its URI. Parameters info a GtkRecentInfo Returns TRUE if the resource is local gtk_recent_info_exists () gtk_recent_info_exists gboolean gtk_recent_info_exists (GtkRecentInfo *info); Checks whether the resource pointed by info still exists. At the moment this check is done only on resources pointing to local files. Parameters info a GtkRecentInfo Returns TRUE if the resource exists gtk_recent_info_match () gtk_recent_info_match gboolean gtk_recent_info_match (GtkRecentInfo *info_a, GtkRecentInfo *info_b); Checks whether two GtkRecentInfo point to the same resource. Parameters info_a a GtkRecentInfo info_b a GtkRecentInfo Returns TRUE if both GtkRecentInfo point to the same resource, FALSE otherwise Types and Values struct GtkRecentManager GtkRecentManager struct GtkRecentManager; GtkRecentManager contains only private data and should be accessed using the provided API. GtkRecentInfo GtkRecentInfo typedef struct _GtkRecentInfo GtkRecentInfo; GtkRecentInfo contains private data only, and should be accessed using the provided API. GtkRecentInfo contains all the meta-data associated with an entry in the recently used files list. struct GtkRecentData GtkRecentData struct GtkRecentData { char *display_name; char *description; char *mime_type; char *app_name; char *app_exec; char **groups; gboolean is_private; }; Meta-data to be passed to gtk_recent_manager_add_full() when registering a recently used resource. Members char *display_name; a UTF-8 encoded string, containing the name of the recently used resource to be displayed, or NULL; char *description; a UTF-8 encoded string, containing a short description of the resource, or NULL; char *mime_type; the MIME type of the resource; char *app_name; the name of the application that is registering this recently used resource; char *app_exec; command line used to launch this resource; may contain the “%f” and “%u” escape characters which will be expanded to the resource file path and URI respectively when the command line is retrieved; char **groups; a vector of strings containing groups names;. [array zero-terminated=1] gboolean is_private; whether this resource should be displayed only by the applications that have registered it or not. GTK_RECENT_MANAGER_ERROR GTK_RECENT_MANAGER_ERROR #define GTK_RECENT_MANAGER_ERROR (gtk_recent_manager_error_quark ()) The GError domain for GtkRecentManager errors. enum GtkRecentManagerError GtkRecentManagerError Error codes for GtkRecentManager operations Members GTK_RECENT_MANAGER_ERROR_NOT_FOUND the URI specified does not exists in the recently used resources list. GTK_RECENT_MANAGER_ERROR_INVALID_URI the URI specified is not valid. GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING the supplied string is not UTF-8 encoded. GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED no application has registered the specified item. GTK_RECENT_MANAGER_ERROR_READ failure while reading the recently used resources file. GTK_RECENT_MANAGER_ERROR_WRITE failure while writing the recently used resources file. GTK_RECENT_MANAGER_ERROR_UNKNOWN unspecified error. Property Details The <literal>“filename”</literal> property GtkRecentManager:filename “filename” gchar * The full path to the file to be used to store and read the recently used resources list Owner: GtkRecentManager Flags: Read / Write / Construct Only Default value: NULL The <literal>“size”</literal> property GtkRecentManager:size “size” gint The size of the recently used resources list. Owner: GtkRecentManager Flags: Read Allowed values: >= -1 Default value: 0 Signal Details The <literal>“changed”</literal> signal GtkRecentManager::changed void user_function (GtkRecentManager *recent_manager, gpointer user_data) Emitted when the current recently used resources manager changes its contents, either by calling gtk_recent_manager_add_item() or by another application. Parameters recent_manager the recent manager user_data user data set when the signal handler was connected. Flags: Run First See Also GBookmarkFile, GtkSettings, GtkRecentChooser docs/reference/gtk/xml/gtkentrycompletion.xml0000664000175000017500000022722513710700311021647 0ustar mclasenmclasen ]> GtkEntryCompletion 3 GTK4 Library GtkEntryCompletion Completion functionality for GtkEntry Functions gboolean (*GtkEntryCompletionMatchFunc) () GtkEntryCompletion * gtk_entry_completion_new () GtkEntryCompletion * gtk_entry_completion_new_with_area () GtkWidget * gtk_entry_completion_get_entry () void gtk_entry_completion_set_model () GtkTreeModel * gtk_entry_completion_get_model () void gtk_entry_completion_set_match_func () void gtk_entry_completion_set_minimum_key_length () int gtk_entry_completion_get_minimum_key_length () char * gtk_entry_completion_compute_prefix () void gtk_entry_completion_complete () const char * gtk_entry_completion_get_completion_prefix () void gtk_entry_completion_insert_prefix () void gtk_entry_completion_set_text_column () int gtk_entry_completion_get_text_column () void gtk_entry_completion_set_inline_completion () gboolean gtk_entry_completion_get_inline_completion () void gtk_entry_completion_set_inline_selection () gboolean gtk_entry_completion_get_inline_selection () void gtk_entry_completion_set_popup_completion () gboolean gtk_entry_completion_get_popup_completion () void gtk_entry_completion_set_popup_set_width () gboolean gtk_entry_completion_get_popup_set_width () void gtk_entry_completion_set_popup_single_match () gboolean gtk_entry_completion_get_popup_single_match () Properties GtkCellArea *cell-areaRead / Write / Construct Only gbooleaninline-completionRead / Write gbooleaninline-selectionRead / Write gintminimum-key-lengthRead / Write GtkTreeModel *modelRead / Write gbooleanpopup-completionRead / Write gbooleanpopup-set-widthRead / Write gbooleanpopup-single-matchRead / Write ginttext-columnRead / Write Signals gbooleancursor-on-matchRun Last gbooleaninsert-prefixRun Last gbooleanmatch-selectedRun Last voidno-matchesRun Last Types and Values GtkEntryCompletion Object Hierarchy GObject ╰── GtkEntryCompletion Implemented Interfaces GtkEntryCompletion implements GtkCellLayout and GtkBuildable. Includes#include <gtk/gtk.h> Description GtkEntryCompletion is an auxiliary object to be used in conjunction with GtkEntry to provide the completion functionality. It implements the GtkCellLayout interface, to allow the user to add extra cells to the GtkTreeView with completion matches. “Completion functionality” means that when the user modifies the text in the entry, GtkEntryCompletion checks which rows in the model match the current content of the entry, and displays a list of matches. By default, the matching is done by comparing the entry text case-insensitively against the text column of the model (see gtk_entry_completion_set_text_column()), but this can be overridden with a custom match function (see gtk_entry_completion_set_match_func()). When the user selects a completion, the content of the entry is updated. By default, the content of the entry is replaced by the text column of the model, but this can be overridden by connecting to the “match-selected” signal and updating the entry in the signal handler. Note that you should return TRUE from the signal handler to suppress the default behaviour. To add completion functionality to an entry, use gtk_entry_set_completion(). GtkEntryCompletion uses a GtkTreeModelFilter model to represent the subset of the entire model that is currently matching. While the GtkEntryCompletion signals “match-selected” and “cursor-on-match” take the original model and an iter pointing to that model as arguments, other callbacks and signals (such as GtkCellLayoutDataFuncs or “apply-attributes”) will generally take the filter model as argument. As long as you are only calling gtk_tree_model_get(), this will make no difference to you. If for some reason, you need the original model, use gtk_tree_model_filter_get_model(). Don’t forget to use gtk_tree_model_filter_convert_iter_to_child_iter() to obtain a matching iter. Functions GtkEntryCompletionMatchFunc () GtkEntryCompletionMatchFunc gboolean (*GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion, const char *key, GtkTreeIter *iter, gpointer user_data); A function which decides whether the row indicated by iter matches a given key , and should be displayed as a possible completion for key . Note that key is normalized and case-folded (see g_utf8_normalize() and g_utf8_casefold()). If this is not appropriate, match functions have access to the unmodified key via gtk_editable_get_text (GTK_EDITABLE (gtk_entry_completion_get_entry())). Parameters completion the GtkEntryCompletion key the string to match, normalized and case-folded iter a GtkTreeIter indicating the row to match user_data user data given to gtk_entry_completion_set_match_func() Returns TRUE if iter should be displayed as a possible completion for key gtk_entry_completion_new () gtk_entry_completion_new GtkEntryCompletion * gtk_entry_completion_new (void); Creates a new GtkEntryCompletion object. Returns A newly created GtkEntryCompletion object gtk_entry_completion_new_with_area () gtk_entry_completion_new_with_area GtkEntryCompletion * gtk_entry_completion_new_with_area (GtkCellArea *area); Creates a new GtkEntryCompletion object using the specified area to layout cells in the underlying GtkTreeViewColumn for the drop-down menu. Parameters area the GtkCellArea used to layout cells Returns A newly created GtkEntryCompletion object gtk_entry_completion_get_entry () gtk_entry_completion_get_entry GtkWidget * gtk_entry_completion_get_entry (GtkEntryCompletion *completion); Gets the entry completion has been attached to. Parameters completion a GtkEntryCompletion Returns The entry completion has been attached to. [transfer none] gtk_entry_completion_set_model () gtk_entry_completion_set_model void gtk_entry_completion_set_model (GtkEntryCompletion *completion, GtkTreeModel *model); Sets the model for a GtkEntryCompletion. If completion already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the model. Parameters completion a GtkEntryCompletion model the GtkTreeModel. [allow-none] gtk_entry_completion_get_model () gtk_entry_completion_get_model GtkTreeModel * gtk_entry_completion_get_model (GtkEntryCompletion *completion); Returns the model the GtkEntryCompletion is using as data source. Returns NULL if the model is unset. Parameters completion a GtkEntryCompletion Returns A GtkTreeModel, or NULL if none is currently being used. [nullable][transfer none] gtk_entry_completion_set_match_func () gtk_entry_completion_set_match_func void gtk_entry_completion_set_match_func (GtkEntryCompletion *completion, GtkEntryCompletionMatchFunc func, gpointer func_data, GDestroyNotify func_notify); Sets the match function for completion to be func . The match function is used to determine if a row should or should not be in the completion list. Parameters completion a GtkEntryCompletion func the GtkEntryCompletionMatchFunc to use func_data user data for func func_notify destroy notify for func_data . gtk_entry_completion_set_minimum_key_length () gtk_entry_completion_set_minimum_key_length void gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion, int length); Requires the length of the search key for completion to be at least length . This is useful for long lists, where completing using a small key takes a lot of time and will come up with meaningless results anyway (ie, a too large dataset). Parameters completion a GtkEntryCompletion length the minimum length of the key in order to start completing gtk_entry_completion_get_minimum_key_length () gtk_entry_completion_get_minimum_key_length int gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion); Returns the minimum key length as set for completion . Parameters completion a GtkEntryCompletion Returns The currently used minimum key length gtk_entry_completion_compute_prefix () gtk_entry_completion_compute_prefix char * gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion, const char *key); Computes the common prefix that is shared by all rows in completion that start with key . If no row matches key , NULL will be returned. Note that a text column must have been set for this function to work, see gtk_entry_completion_set_text_column() for details. Parameters completion the entry completion key The text to complete for Returns The common prefix all rows starting with key or NULL if no row matches key . [nullable][transfer full] gtk_entry_completion_complete () gtk_entry_completion_complete void gtk_entry_completion_complete (GtkEntryCompletion *completion); Requests a completion operation, or in other words a refiltering of the current list with completions, using the current key. The completion list view will be updated accordingly. Parameters completion a GtkEntryCompletion gtk_entry_completion_get_completion_prefix () gtk_entry_completion_get_completion_prefix const char * gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion); Get the original text entered by the user that triggered the completion or NULL if there’s no completion ongoing. Parameters completion a GtkEntryCompletion Returns the prefix for the current completion gtk_entry_completion_insert_prefix () gtk_entry_completion_insert_prefix void gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion); Requests a prefix insertion. Parameters completion a GtkEntryCompletion gtk_entry_completion_set_text_column () gtk_entry_completion_set_text_column void gtk_entry_completion_set_text_column (GtkEntryCompletion *completion, int column); Convenience function for setting up the most used case of this code: a completion list with just strings. This function will set up completion to have a list displaying all (and just) strings in the completion list, and to get those strings from column in the model of completion . This functions creates and adds a GtkCellRendererText for the selected column. If you need to set the text column, but don't want the cell renderer, use g_object_set() to set the “text-column” property directly. Parameters completion a GtkEntryCompletion column the column in the model of completion to get strings from gtk_entry_completion_get_text_column () gtk_entry_completion_get_text_column int gtk_entry_completion_get_text_column (GtkEntryCompletion *completion); Returns the column in the model of completion to get strings from. Parameters completion a GtkEntryCompletion Returns the column containing the strings gtk_entry_completion_set_inline_completion () gtk_entry_completion_set_inline_completion void gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion, gboolean inline_completion); Sets whether the common prefix of the possible completions should be automatically inserted in the entry. Parameters completion a GtkEntryCompletion inline_completion TRUE to do inline completion gtk_entry_completion_get_inline_completion () gtk_entry_completion_get_inline_completion gboolean gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion); Returns whether the common prefix of the possible completions should be automatically inserted in the entry. Parameters completion a GtkEntryCompletion Returns TRUE if inline completion is turned on gtk_entry_completion_set_inline_selection () gtk_entry_completion_set_inline_selection void gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion, gboolean inline_selection); Sets whether it is possible to cycle through the possible completions inside the entry. Parameters completion a GtkEntryCompletion inline_selection TRUE to do inline selection gtk_entry_completion_get_inline_selection () gtk_entry_completion_get_inline_selection gboolean gtk_entry_completion_get_inline_selection (GtkEntryCompletion *completion); Returns TRUE if inline-selection mode is turned on. Parameters completion a GtkEntryCompletion Returns TRUE if inline-selection mode is on gtk_entry_completion_set_popup_completion () gtk_entry_completion_set_popup_completion void gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion, gboolean popup_completion); Sets whether the completions should be presented in a popup window. Parameters completion a GtkEntryCompletion popup_completion TRUE to do popup completion gtk_entry_completion_get_popup_completion () gtk_entry_completion_get_popup_completion gboolean gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion); Returns whether the completions should be presented in a popup window. Parameters completion a GtkEntryCompletion Returns TRUE if popup completion is turned on gtk_entry_completion_set_popup_set_width () gtk_entry_completion_set_popup_set_width void gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion, gboolean popup_set_width); Sets whether the completion popup window will be resized to be the same width as the entry. Parameters completion a GtkEntryCompletion popup_set_width TRUE to make the width of the popup the same as the entry gtk_entry_completion_get_popup_set_width () gtk_entry_completion_get_popup_set_width gboolean gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion); Returns whether the completion popup window will be resized to the width of the entry. Parameters completion a GtkEntryCompletion Returns TRUE if the popup window will be resized to the width of the entry gtk_entry_completion_set_popup_single_match () gtk_entry_completion_set_popup_single_match void gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion, gboolean popup_single_match); Sets whether the completion popup window will appear even if there is only a single match. You may want to set this to FALSE if you are using inline completion. Parameters completion a GtkEntryCompletion popup_single_match TRUE if the popup should appear even for a single match gtk_entry_completion_get_popup_single_match () gtk_entry_completion_get_popup_single_match gboolean gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion); Returns whether the completion popup window will appear even if there is only a single match. Parameters completion a GtkEntryCompletion Returns TRUE if the popup window will appear regardless of the number of matches Types and Values GtkEntryCompletion GtkEntryCompletion typedef struct _GtkEntryCompletion GtkEntryCompletion; Property Details The <literal>“cell-area”</literal> property GtkEntryCompletion:cell-area “cell-area” GtkCellArea * The GtkCellArea used to layout cell renderers in the treeview column. If no area is specified when creating the entry completion with gtk_entry_completion_new_with_area() a horizontally oriented GtkCellAreaBox will be used. Owner: GtkEntryCompletion Flags: Read / Write / Construct Only The <literal>“inline-completion”</literal> property GtkEntryCompletion:inline-completion “inline-completion” gboolean Determines whether the common prefix of the possible completions should be inserted automatically in the entry. Note that this requires text-column to be set, even if you are using a custom match function. Owner: GtkEntryCompletion Flags: Read / Write Default value: FALSE The <literal>“inline-selection”</literal> property GtkEntryCompletion:inline-selection “inline-selection” gboolean Determines whether the possible completions on the popup will appear in the entry as you navigate through them. Owner: GtkEntryCompletion Flags: Read / Write Default value: FALSE The <literal>“minimum-key-length”</literal> property GtkEntryCompletion:minimum-key-length “minimum-key-length” gint Minimum length of the search key in order to look up matches.Owner: GtkEntryCompletion Flags: Read / Write Allowed values: >= 0 Default value: 1 The <literal>“model”</literal> property GtkEntryCompletion:model “model” GtkTreeModel * The model to find matches in.Owner: GtkEntryCompletion Flags: Read / Write The <literal>“popup-completion”</literal> property GtkEntryCompletion:popup-completion “popup-completion” gboolean Determines whether the possible completions should be shown in a popup window. Owner: GtkEntryCompletion Flags: Read / Write Default value: TRUE The <literal>“popup-set-width”</literal> property GtkEntryCompletion:popup-set-width “popup-set-width” gboolean Determines whether the completions popup window will be resized to the width of the entry. Owner: GtkEntryCompletion Flags: Read / Write Default value: TRUE The <literal>“popup-single-match”</literal> property GtkEntryCompletion:popup-single-match “popup-single-match” gboolean Determines whether the completions popup window will shown for a single possible completion. You probably want to set this to FALSE if you are using inline completion. Owner: GtkEntryCompletion Flags: Read / Write Default value: TRUE The <literal>“text-column”</literal> property GtkEntryCompletion:text-column “text-column” gint The column of the model containing the strings. Note that the strings must be UTF-8. Owner: GtkEntryCompletion Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“cursor-on-match”</literal> signal GtkEntryCompletion::cursor-on-match gboolean user_function (GtkEntryCompletion *widget, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) Gets emitted when a match from the cursor is on a match of the list. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter . Note that model is the model that was passed to gtk_entry_completion_set_model(). Parameters widget the object which received the signal model the GtkTreeModel containing the matches iter a GtkTreeIter positioned at the selected match user_data user data set when the signal handler was connected. Returns TRUE if the signal has been handled Flags: Run Last The <literal>“insert-prefix”</literal> signal GtkEntryCompletion::insert-prefix gboolean user_function (GtkEntryCompletion *widget, gchar *prefix, gpointer user_data) Gets emitted when the inline autocompletion is triggered. The default behaviour is to make the entry display the whole prefix and select the newly inserted part. Applications may connect to this signal in order to insert only a smaller part of the prefix into the entry - e.g. the entry used in the GtkFileChooser inserts only the part of the prefix up to the next '/'. Parameters widget the object which received the signal prefix the common prefix of all possible completions user_data user data set when the signal handler was connected. Returns TRUE if the signal has been handled Flags: Run Last The <literal>“match-selected”</literal> signal GtkEntryCompletion::match-selected gboolean user_function (GtkEntryCompletion *widget, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) Gets emitted when a match from the list is selected. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter . Note that model is the model that was passed to gtk_entry_completion_set_model(). Parameters widget the object which received the signal model the GtkTreeModel containing the matches iter a GtkTreeIter positioned at the selected match user_data user data set when the signal handler was connected. Returns TRUE if the signal has been handled Flags: Run Last The <literal>“no-matches”</literal> signal GtkEntryCompletion::no-matches void user_function (GtkEntryCompletion *widget, gpointer user_data) Gets emitted when the filter model has zero number of rows in completion_complete method. (In other words when GtkEntryCompletion is out of suggestions) Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtktreelistmodel.xml0000664000175000017500000007430313710700312021266 0ustar mclasenmclasen ]> GtkTreeListModel 3 GTK4 Library GtkTreeListModel A list model that can create child models on demand Functions GListModel * (*GtkTreeListModelCreateModelFunc) () GtkTreeListModel * gtk_tree_list_model_new () GListModel * gtk_tree_list_model_get_model () gboolean gtk_tree_list_model_get_passthrough () void gtk_tree_list_model_set_autoexpand () gboolean gtk_tree_list_model_get_autoexpand () GtkTreeListRow * gtk_tree_list_model_get_child_row () GtkTreeListRow * gtk_tree_list_model_get_row () Properties gbooleanautoexpandRead / Write GListModel *modelRead gbooleanpassthroughRead / Write / Construct Only GListModel *childrenRead guintdepthRead gbooleanexpandableRead gbooleanexpandedRead / Write GObject *itemRead Types and Values GtkTreeListModel GtkTreeListRow Object Hierarchy GObject ├── GtkTreeListModel ╰── GtkTreeListRow Implemented Interfaces GtkTreeListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkTreeListModel is a GListModel implementation that can expand rows by creating new child list models on demand. Functions GtkTreeListModelCreateModelFunc () GtkTreeListModelCreateModelFunc GListModel * (*GtkTreeListModelCreateModelFunc) (gpointer item, gpointer user_data); Prototype of the function called to create new child models when gtk_tree_list_row_set_expanded() is called. This function can return NULL to indicate that item is guaranteed to be a leaf node and will never have children. If it does not have children but may get children later, it should return an empty model that is filled once children arrive. Parameters item The item that is being expanded. [type GObject] user_data User data passed when registering the function Returns The model tracking the children of item or NULL if item can never have children. [nullable][transfer full] gtk_tree_list_model_new () gtk_tree_list_model_new GtkTreeListModel * gtk_tree_list_model_new (GListModel *root, gboolean passthrough, gboolean autoexpand, GtkTreeListModelCreateModelFunc create_func, gpointer user_data, GDestroyNotify user_destroy); Creates a new empty GtkTreeListModel displaying root with all rows collapsed. Parameters root The GListModel to use as root. [transfer full] passthrough TRUE to pass through items from the models autoexpand TRUE to set the autoexpand property and expand the root model create_func Function to call to create the GListModel for the children of an item user_data Data to pass to create_func . [closure] user_destroy Function to call to free user_data Returns a newly created GtkTreeListModel. gtk_tree_list_model_get_model () gtk_tree_list_model_get_model GListModel * gtk_tree_list_model_get_model (GtkTreeListModel *self); Gets the root model that self was created with. Parameters self a GtkTreeListModel Returns the root model. [transfer none] gtk_tree_list_model_get_passthrough () gtk_tree_list_model_get_passthrough gboolean gtk_tree_list_model_get_passthrough (GtkTreeListModel *self); If this function returns FALSE, the GListModel functions for self return custom GtkTreeListRow objects. You need to call gtk_tree_list_row_get_item() on these objects to get the original item. If TRUE, the values of the child models are passed through in their original state. You then need to call gtk_tree_list_model_get_row() to get the custom GtkTreeListRows. Parameters self a GtkTreeListModel Returns TRUE if the model is passing through original row items gtk_tree_list_model_set_autoexpand () gtk_tree_list_model_set_autoexpand void gtk_tree_list_model_set_autoexpand (GtkTreeListModel *self, gboolean autoexpand); If set to TRUE, the model will recursively expand all rows that get added to the model. This can be either rows added by changes to the underlying models or via gtk_tree_list_model_set_expanded(). Parameters self a GtkTreeListModel autoexpand TRUE to make the model autoexpand its rows gtk_tree_list_model_get_autoexpand () gtk_tree_list_model_get_autoexpand gboolean gtk_tree_list_model_get_autoexpand (GtkTreeListModel *self); Gets whether the model is set to automatically expand new rows that get added. This can be either rows added by changes to the underlying models or via gtk_tree_list_model_set_expanded(). Parameters self a GtkTreeListModel Returns TRUE if the model is set to autoexpand gtk_tree_list_model_get_child_row () gtk_tree_list_model_get_child_row GtkTreeListRow * gtk_tree_list_model_get_child_row (GtkTreeListModel *self, guint position); Gets the row item corresponding to the child at index position for self 's root model. If position is greater than the number of children in the root model, NULL is returned. Do not confuse this function with gtk_tree_list_model_get_row(). Parameters self a GtkTreeListModel position position of the child to get Returns the child in position . [nullable][transfer full] gtk_tree_list_model_get_row () gtk_tree_list_model_get_row GtkTreeListRow * gtk_tree_list_model_get_row (GtkTreeListModel *self, guint position); Gets the row object for the given row. If position is greater than the number of items in self , NULL is returned. The row object can be used to expand and collapse rows as well as to inspect its position in the tree. See its documentation for details. This row object is persistent and will refer to the current item as long as the row is present in self , independent of other rows being added or removed. If self is set to not be passthrough, this function is equivalent to calling g_list_model_get_item(). Do not confuse this function with gtk_tree_list_model_get_child_row(). Parameters self a GtkTreeListModel position the position of the row to fetch Returns The row item. [nullable][transfer full] Types and Values GtkTreeListModel GtkTreeListModel typedef struct _GtkTreeListModel GtkTreeListModel; GtkTreeListRow GtkTreeListRow typedef struct _GtkTreeListRow GtkTreeListRow; Property Details The <literal>“autoexpand”</literal> property GtkTreeListModel:autoexpand “autoexpand” gboolean If all rows should be expanded by default Owner: GtkTreeListModel Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkTreeListModel:model “model” GListModel * The root model displayed Owner: GtkTreeListModel Flags: Read The <literal>“passthrough”</literal> property GtkTreeListModel:passthrough “passthrough” gboolean If FALSE, the GListModel functions for this object return custom GtkTreeListRow objects. If TRUE, the values of the child models are pass through unmodified. Owner: GtkTreeListModel Flags: Read / Write / Construct Only Default value: FALSE The <literal>“children”</literal> property GtkTreeListRow:children “children” GListModel * The model holding the row's children. Owner: GtkTreeListRow Flags: Read The <literal>“depth”</literal> property GtkTreeListRow:depth “depth” guint The depth in the tree of this row Owner: GtkTreeListRow Flags: Read Default value: 0 The <literal>“expandable”</literal> property GtkTreeListRow:expandable “expandable” gboolean If this row can ever be expanded Owner: GtkTreeListRow Flags: Read Default value: FALSE The <literal>“expanded”</literal> property GtkTreeListRow:expanded “expanded” gboolean If this row is currently expanded Owner: GtkTreeListRow Flags: Read / Write Default value: FALSE The <literal>“item”</literal> property GtkTreeListRow:item “item” GObject * The item held in this row Owner: GtkTreeListRow Flags: Read See Also GListModel docs/reference/gtk/xml/gtkexpander.xml0000664000175000017500000012533313710700311020217 0ustar mclasenmclasen ]> GtkExpander 3 GTK4 Library GtkExpander A container which can hide its child Functions GtkWidget * gtk_expander_new () GtkWidget * gtk_expander_new_with_mnemonic () void gtk_expander_set_expanded () gboolean gtk_expander_get_expanded () void gtk_expander_set_label () const char * gtk_expander_get_label () void gtk_expander_set_use_underline () gboolean gtk_expander_get_use_underline () void gtk_expander_set_use_markup () gboolean gtk_expander_get_use_markup () void gtk_expander_set_label_widget () GtkWidget * gtk_expander_get_label_widget () void gtk_expander_set_resize_toplevel () gboolean gtk_expander_get_resize_toplevel () void gtk_expander_set_child () GtkWidget * gtk_expander_get_child () Properties GtkWidget *childRead / Write gbooleanexpandedRead / Write / Construct gchar *labelRead / Write / Construct GtkWidget *label-widgetRead / Write gbooleanresize-toplevelRead / Write gbooleanuse-markupRead / Write / Construct gbooleanuse-underlineRead / Write / Construct Signals voidactivateAction Types and Values GtkExpander Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkExpander Implemented Interfaces GtkExpander implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkExpander allows the user to hide or show its child by clicking on an expander triangle similar to the triangles used in a GtkTreeView. Normally you use an expander as you would use a frame; you create the child widget and use gtk_expander_set_child() to add it to the expander. When the expander is toggled, it will take care of showing and hiding the child automatically. Special UsageThere are situations in which you may prefer to show and hide the expanded widget yourself, such as when you want to actually create the widget at expansion time. In this case, create a GtkExpander but do not add a child to it. The expander widget has an “expanded” property which can be used to monitor its expansion state. You should watch this property with a signal connection as follows: GtkExpander as GtkBuildableThe GtkExpander implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute. An example of a UI definition fragment with GtkExpander: ]]> CSS nodes ╰── ]]> GtkExpander has three CSS nodes, the main node with the name expander, a subnode with name title and node below it with name arrow. The arrow of an expander that is showing its child gets the :checked pseudoclass added to it. AccessibilityGtkExpander uses the GTK_ACCESSIBLE_ROLE_BUTTON role. Functions gtk_expander_new () gtk_expander_new GtkWidget * gtk_expander_new (const char *label); Creates a new expander using label as the text of the label. Parameters label the text of the label. [nullable] Returns a new GtkExpander widget. gtk_expander_new_with_mnemonic () gtk_expander_new_with_mnemonic GtkWidget * gtk_expander_new_with_mnemonic (const char *label); Creates a new expander using label as the text of the label. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. Parameters label the text of the label with an underscore in front of the mnemonic character. [nullable] Returns a new GtkExpander widget. gtk_expander_set_expanded () gtk_expander_set_expanded void gtk_expander_set_expanded (GtkExpander *expander, gboolean expanded); Sets the state of the expander. Set to TRUE, if you want the child widget to be revealed, and FALSE if you want the child widget to be hidden. Parameters expander a GtkExpander expanded whether the child widget is revealed gtk_expander_get_expanded () gtk_expander_get_expanded gboolean gtk_expander_get_expanded (GtkExpander *expander); Queries a GtkExpander and returns its current state. Returns TRUE if the child widget is revealed. See gtk_expander_set_expanded(). Parameters expander a GtkExpander Returns the current state of the expander gtk_expander_set_label () gtk_expander_set_label void gtk_expander_set_label (GtkExpander *expander, const char *label); Sets the text of the label of the expander to label . This will also clear any previously set labels. Parameters expander a GtkExpander label a string. [nullable] gtk_expander_get_label () gtk_expander_get_label const char * gtk_expander_get_label (GtkExpander *expander); Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup, as set by gtk_expander_set_label(). If the label text has not been set the return value will be NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container. Note that this function behaved differently in versions prior to 2.14 and used to return the label text stripped of embedded underlines indicating mnemonics and Pango markup. This problem can be avoided by fetching the label text directly from the label widget. Parameters expander a GtkExpander Returns The text of the label widget. This string is owned by the widget and must not be modified or freed. [nullable] gtk_expander_set_use_underline () gtk_expander_set_use_underline void gtk_expander_set_use_underline (GtkExpander *expander, gboolean use_underline); If true, an underline in the text of the expander label indicates the next character should be used for the mnemonic accelerator key. Parameters expander a GtkExpander use_underline TRUE if underlines in the text indicate mnemonics gtk_expander_get_use_underline () gtk_expander_get_use_underline gboolean gtk_expander_get_use_underline (GtkExpander *expander); Returns whether an embedded underline in the expander label indicates a mnemonic. See gtk_expander_set_use_underline(). Parameters expander a GtkExpander Returns TRUE if an embedded underline in the expander label indicates the mnemonic accelerator keys gtk_expander_set_use_markup () gtk_expander_set_use_markup void gtk_expander_set_use_markup (GtkExpander *expander, gboolean use_markup); Sets whether the text of the label contains markup in Pango’s text markup language. See gtk_label_set_markup(). Parameters expander a GtkExpander use_markup TRUE if the label’s text should be parsed for markup gtk_expander_get_use_markup () gtk_expander_get_use_markup gboolean gtk_expander_get_use_markup (GtkExpander *expander); Returns whether the label’s text is interpreted as marked up with the Pango text markup language. See gtk_expander_set_use_markup(). Parameters expander a GtkExpander Returns TRUE if the label’s text will be parsed for markup gtk_expander_set_label_widget () gtk_expander_set_label_widget void gtk_expander_set_label_widget (GtkExpander *expander, GtkWidget *label_widget); Set the label widget for the expander. This is the widget that will appear embedded alongside the expander arrow. Parameters expander a GtkExpander label_widget the new label widget. [nullable] gtk_expander_get_label_widget () gtk_expander_get_label_widget GtkWidget * gtk_expander_get_label_widget (GtkExpander *expander); Retrieves the label widget for the frame. See gtk_expander_set_label_widget(). Parameters expander a GtkExpander Returns the label widget, or NULL if there is none. [nullable][transfer none] gtk_expander_set_resize_toplevel () gtk_expander_set_resize_toplevel void gtk_expander_set_resize_toplevel (GtkExpander *expander, gboolean resize_toplevel); Sets whether the expander will resize the toplevel widget containing the expander upon resizing and collpasing. Parameters expander a GtkExpander resize_toplevel whether to resize the toplevel gtk_expander_get_resize_toplevel () gtk_expander_get_resize_toplevel gboolean gtk_expander_get_resize_toplevel (GtkExpander *expander); Returns whether the expander will resize the toplevel widget containing the expander upon resizing and collpasing. Parameters expander a GtkExpander Returns the “resize toplevel” setting. gtk_expander_set_child () gtk_expander_set_child void gtk_expander_set_child (GtkExpander *expander, GtkWidget *child); Sets the child widget of expander . Parameters expander a GtkExpander child the child widget. [allow-none] gtk_expander_get_child () gtk_expander_get_child GtkWidget * gtk_expander_get_child (GtkExpander *expander); Gets the child widget of expander . Parameters expander a GtkExpander Returns the child widget of expander . [nullable][transfer none] Types and Values GtkExpander GtkExpander typedef struct _GtkExpander GtkExpander; Property Details The <literal>“child”</literal> property GtkExpander:child “child” GtkWidget * The child widget.Owner: GtkExpander Flags: Read / Write The <literal>“expanded”</literal> property GtkExpander:expanded “expanded” gboolean Whether the expander has been opened to reveal the child widget.Owner: GtkExpander Flags: Read / Write / Construct Default value: FALSE The <literal>“label”</literal> property GtkExpander:label “label” gchar * Text of the expander’s label.Owner: GtkExpander Flags: Read / Write / Construct Default value: NULL The <literal>“label-widget”</literal> property GtkExpander:label-widget “label-widget” GtkWidget * A widget to display in place of the usual expander label.Owner: GtkExpander Flags: Read / Write The <literal>“resize-toplevel”</literal> property GtkExpander:resize-toplevel “resize-toplevel” gboolean When this property is TRUE, the expander will resize the toplevel widget containing the expander upon expanding and collapsing. Owner: GtkExpander Flags: Read / Write Default value: FALSE The <literal>“use-markup”</literal> property GtkExpander:use-markup “use-markup” gboolean The text of the label includes XML markup. See pango_parse_markup().Owner: GtkExpander Flags: Read / Write / Construct Default value: FALSE The <literal>“use-underline”</literal> property GtkExpander:use-underline “use-underline” gboolean If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.Owner: GtkExpander Flags: Read / Write / Construct Default value: FALSE Signal Details The <literal>“activate”</literal> signal GtkExpander::activate void user_function (GtkExpander *expander, gpointer user_data) Flags: Action docs/reference/gtk/xml/gtkscale.xml0000664000175000017500000013062313710700312017477 0ustar mclasenmclasen ]> GtkScale 3 GTK4 Library GtkScale A slider widget for selecting a value from a range Functions char * (*GtkScaleFormatValueFunc) () GtkWidget * gtk_scale_new () GtkWidget * gtk_scale_new_with_range () void gtk_scale_set_format_value_func () void gtk_scale_set_digits () void gtk_scale_set_draw_value () void gtk_scale_set_has_origin () void gtk_scale_set_value_pos () int gtk_scale_get_digits () gboolean gtk_scale_get_draw_value () gboolean gtk_scale_get_has_origin () GtkPositionType gtk_scale_get_value_pos () PangoLayout * gtk_scale_get_layout () void gtk_scale_get_layout_offsets () void gtk_scale_add_mark () void gtk_scale_clear_marks () Properties gintdigitsRead / Write gbooleandraw-valueRead / Write gbooleanhas-originRead / Write GtkPositionTypevalue-posRead / Write Types and Values structGtkScale Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkRange ╰── GtkScale Implemented Interfaces GtkScale implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description A GtkScale is a slider control used to select a numeric value. To use it, you’ll probably want to investigate the methods on its base class, GtkRange, in addition to the methods for GtkScale itself. To set the value of a scale, you would normally use gtk_range_set_value(). To detect changes to the value, you would normally use the “value-changed” signal. Note that using the same upper and lower bounds for the GtkScale (through the GtkRange methods) will hide the slider itself. This is useful for applications that want to show an undeterminate value on the scale, without changing the layout of the application (such as movie or music players). GtkScale as GtkBuildableGtkScale supports a custom <marks> element, which can contain multiple <mark> elements. The “value” and “position” attributes have the same meaning as gtk_scale_add_mark() parameters of the same name. If the element is not empty, its content is taken as the markup to show at the mark. It can be translated with the usual ”translatable” and “context” attributes. CSS nodes GtkScale has a main CSS node with name scale and a subnode for its contents, with subnodes named trough and slider. The main node gets the style class .fine-tune added when the scale is in 'fine-tuning' mode. If the scale has an origin (see gtk_scale_set_has_origin()), there is a subnode with name highlight below the trough node that is used for rendering the highlighted part of the trough. If the scale is showing a fill level (see gtk_range_set_show_fill_level()), there is a subnode with name fill below the trough node that is used for rendering the filled in part of the trough. If marks are present, there is a marks subnode before or after the trough node, below which each mark gets a node with name mark. The marks nodes get either the .top or .bottom style class. The mark node has a subnode named indicator. If the mark has text, it also has a subnode named label. When the mark is either above or left of the scale, the label subnode is the first when present. Otherwise, the indicator subnode is the first. The main CSS node gets the 'marks-before' and/or 'marks-after' style classes added depending on what marks are present. If the scale is displaying the value (see “draw-value”), there is subnode with name value. This node will get the .top or .bottom style classes similar to the marks node. AccessibilityGtkScale uses the GTK_ACCESSIBLE_ROLE_SLIDER role. Functions GtkScaleFormatValueFunc () GtkScaleFormatValueFunc char * (*GtkScaleFormatValueFunc) (GtkScale *scale, double value, gpointer user_data); Parameters scale The GtkScale value The numeric value to format user_data user data. [closure] Returns A newly allocated string describing a textual representation of the given numerical value. [not nullable] gtk_scale_new () gtk_scale_new GtkWidget * gtk_scale_new (GtkOrientation orientation, GtkAdjustment *adjustment); Creates a new GtkScale. Parameters orientation the scale’s orientation. adjustment the GtkAdjustment which sets the range of the scale, or NULL to create a new adjustment. [nullable] Returns a new GtkScale gtk_scale_new_with_range () gtk_scale_new_with_range GtkWidget * gtk_scale_new_with_range (GtkOrientation orientation, double min, double max, double step); Creates a new scale widget with the given orientation that lets the user input a number between min and max (including min and max ) with the increment step . step must be nonzero; it’s the distance the slider moves when using the arrow keys to adjust the scale value. Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_scale_set_digits() to correct it. Parameters orientation the scale’s orientation. min minimum value max maximum value step step increment (tick size) used with keyboard shortcuts Returns a new GtkScale gtk_scale_set_format_value_func () gtk_scale_set_format_value_func void gtk_scale_set_format_value_func (GtkScale *scale, GtkScaleFormatValueFunc func, gpointer user_data, GDestroyNotify destroy_notify); func allows you to change how the scale value is displayed. The given function will return an allocated string representing value . That string will then be used to display the scale's value. If NULL is passed as func , the value will be displayed on its own, rounded according to the value of the “digits” property. Parameters scale a GtkScale func function that formats the value. [nullable] user_data user data to pass to func . [closure] destroy_notify destroy function for user_data . [nullable] gtk_scale_set_digits () gtk_scale_set_digits void gtk_scale_set_digits (GtkScale *scale, int digits); Sets the number of decimal places that are displayed in the value. Also causes the value of the adjustment to be rounded to this number of digits, so the retrieved value matches the displayed one, if “draw-value” is TRUE when the value changes. If you want to enforce rounding the value when “draw-value” is FALSE, you can set “round-digits” instead. Note that rounding to a small number of digits can interfere with the smooth autoscrolling that is built into GtkScale. As an alternative, you can use gtk_scale_set_format_value_func() to format the displayed value yourself. Parameters scale a GtkScale digits the number of decimal places to display, e.g. use 1 to display 1.0, 2 to display 1.00, etc gtk_scale_set_draw_value () gtk_scale_set_draw_value void gtk_scale_set_draw_value (GtkScale *scale, gboolean draw_value); Specifies whether the current value is displayed as a string next to the slider. Parameters scale a GtkScale draw_value TRUE to draw the value gtk_scale_set_has_origin () gtk_scale_set_has_origin void gtk_scale_set_has_origin (GtkScale *scale, gboolean has_origin); If “has-origin” is set to TRUE (the default), the scale will highlight the part of the trough between the origin (bottom or left side) and the current value. Parameters scale a GtkScale has_origin TRUE if the scale has an origin gtk_scale_set_value_pos () gtk_scale_set_value_pos void gtk_scale_set_value_pos (GtkScale *scale, GtkPositionType pos); Sets the position in which the current value is displayed. Parameters scale a GtkScale pos the position in which the current value is displayed gtk_scale_get_digits () gtk_scale_get_digits int gtk_scale_get_digits (GtkScale *scale); Gets the number of decimal places that are displayed in the value. Parameters scale a GtkScale Returns the number of decimal places that are displayed gtk_scale_get_draw_value () gtk_scale_get_draw_value gboolean gtk_scale_get_draw_value (GtkScale *scale); Returns whether the current value is displayed as a string next to the slider. Parameters scale a GtkScale Returns whether the current value is displayed as a string gtk_scale_get_has_origin () gtk_scale_get_has_origin gboolean gtk_scale_get_has_origin (GtkScale *scale); Returns whether the scale has an origin. Parameters scale a GtkScale Returns TRUE if the scale has an origin. gtk_scale_get_value_pos () gtk_scale_get_value_pos GtkPositionType gtk_scale_get_value_pos (GtkScale *scale); Gets the position in which the current value is displayed. Parameters scale a GtkScale Returns the position in which the current value is displayed gtk_scale_get_layout () gtk_scale_get_layout PangoLayout * gtk_scale_get_layout (GtkScale *scale); Gets the PangoLayout used to display the scale. The returned object is owned by the scale so does not need to be freed by the caller. Parameters scale A GtkScale Returns the PangoLayout for this scale, or NULL if the “draw-value” property is FALSE. [transfer none][nullable] gtk_scale_get_layout_offsets () gtk_scale_get_layout_offsets void gtk_scale_get_layout_offsets (GtkScale *scale, int *x, int *y); Obtains the coordinates where the scale will draw the PangoLayout representing the text in the scale. Remember when using the PangoLayout function you need to convert to and from pixels using PANGO_PIXELS() or PANGO_SCALE. If the “draw-value” property is FALSE, the return values are undefined. Parameters scale a GtkScale x location to store X offset of layout, or NULL. [out][allow-none] y location to store Y offset of layout, or NULL. [out][allow-none] gtk_scale_add_mark () gtk_scale_add_mark void gtk_scale_add_mark (GtkScale *scale, double value, GtkPositionType position, const char *markup); Adds a mark at value . A mark is indicated visually by drawing a tick mark next to the scale, and GTK+ makes it easy for the user to position the scale exactly at the marks value. If markup is not NULL, text is shown next to the tick mark. To remove marks from a scale, use gtk_scale_clear_marks(). Parameters scale a GtkScale value the value at which the mark is placed, must be between the lower and upper limits of the scales’ adjustment position where to draw the mark. For a horizontal scale, GTK_POS_TOP and GTK_POS_LEFT are drawn above the scale, anything else below. For a vertical scale, GTK_POS_LEFT and GTK_POS_TOP are drawn to the left of the scale, anything else to the right. markup Text to be shown at the mark, using Pango markup, or NULL. [allow-none] gtk_scale_clear_marks () gtk_scale_clear_marks void gtk_scale_clear_marks (GtkScale *scale); Removes any marks that have been added with gtk_scale_add_mark(). Parameters scale a GtkScale Types and Values struct GtkScale GtkScale struct GtkScale; Property Details The <literal>“digits”</literal> property GtkScale:digits “digits” gint The number of decimal places that are displayed in the value.Owner: GtkScale Flags: Read / Write Allowed values: [-1,64] Default value: 1 The <literal>“draw-value”</literal> property GtkScale:draw-value “draw-value” gboolean Whether the current value is displayed as a string next to the slider.Owner: GtkScale Flags: Read / Write Default value: TRUE The <literal>“has-origin”</literal> property GtkScale:has-origin “has-origin” gboolean Whether the scale has an origin.Owner: GtkScale Flags: Read / Write Default value: TRUE The <literal>“value-pos”</literal> property GtkScale:value-pos “value-pos” GtkPositionType The position in which the current value is displayed.Owner: GtkScale Flags: Read / Write Default value: GTK_POS_TOP docs/reference/gtk/xml/gtkfilechooser.xml0000664000175000017500000021625013710700311020712 0ustar mclasenmclasen ]> GtkFileChooser 3 GTK4 Library GtkFileChooser File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog Functions void gtk_file_chooser_set_action () GtkFileChooserAction gtk_file_chooser_get_action () void gtk_file_chooser_set_select_multiple () gboolean gtk_file_chooser_get_select_multiple () void gtk_file_chooser_set_create_folders () gboolean gtk_file_chooser_get_create_folders () void gtk_file_chooser_set_current_name () char * gtk_file_chooser_get_current_name () GFile * gtk_file_chooser_get_file () gboolean gtk_file_chooser_set_file () GListModel * gtk_file_chooser_get_files () gboolean gtk_file_chooser_set_current_folder () GFile * gtk_file_chooser_get_current_folder () void gtk_file_chooser_add_filter () void gtk_file_chooser_remove_filter () GListModel * gtk_file_chooser_get_filters () void gtk_file_chooser_set_filter () GtkFileFilter * gtk_file_chooser_get_filter () gboolean gtk_file_chooser_add_shortcut_folder () gboolean gtk_file_chooser_remove_shortcut_folder () GListModel * gtk_file_chooser_get_shortcut_folders () void gtk_file_chooser_add_choice () void gtk_file_chooser_remove_choice () void gtk_file_chooser_set_choice () const char * gtk_file_chooser_get_choice () Properties GtkFileChooserActionactionRead / Write gbooleancreate-foldersRead / Write GtkFileFilter *filterRead / Write GListModel *filtersRead gbooleanselect-multipleRead / Write GListModel *shortcut-foldersRead Types and Values GtkFileChooser enumGtkFileChooserAction #defineGTK_FILE_CHOOSER_ERROR enumGtkFileChooserError Object Hierarchy GInterface ╰── GtkFileChooser Prerequisites GtkFileChooser requires GObject. Known Implementations GtkFileChooser is implemented by GtkFileChooserButton, GtkFileChooserDialog and GtkFileChooserWidget. Includes#include <gtk/gtk.h> Description GtkFileChooser is an interface that can be implemented by file selection widgets. In GTK+, the main objects that implement this interface are GtkFileChooserWidget, GtkFileChooserDialog, and GtkFileChooserButton. You do not need to write an object that implements the GtkFileChooser interface unless you are trying to adapt an existing file selector to expose a standard programming interface. GtkFileChooser allows for shortcuts to various places in the filesystem. In the default implementation these are displayed in the left pane. It may be a bit confusing at first that these shortcuts come from various sources and in various flavours, so lets explain the terminology here: Bookmarks: are created by the user, by dragging folders from the right pane to the left pane, or by using the “Add”. Bookmarks can be renamed and deleted by the user. Shortcuts: can be provided by the application. For example, a Paint program may want to add a shortcut for a Clipart folder. Shortcuts cannot be modified by the user. Volumes: are provided by the underlying filesystem abstraction. They are the “roots” of the filesystem. File Names and EncodingsWhen the user is finished selecting files in a GtkFileChooser, your program can get the selected filenames as GFiles. Adding optionsYou can add extra widgets to a file chooser to provide options that are not present in the default design, by using gtk_file_chooser_add_choice(). Each choice has an identifier and a user visible label; additionally, each choice can have multiple options. If a choice has no option, it will be rendered as a check button with the given label; if a choice has options, it will be rendered as a combo box. Functions gtk_file_chooser_set_action () gtk_file_chooser_set_action void gtk_file_chooser_set_action (GtkFileChooser *chooser, GtkFileChooserAction action); Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action. For example, an option to create a new folder might be shown if the action is GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is GTK_FILE_CHOOSER_ACTION_OPEN. Parameters chooser a GtkFileChooser action the action that the file selector is performing gtk_file_chooser_get_action () gtk_file_chooser_get_action GtkFileChooserAction gtk_file_chooser_get_action (GtkFileChooser *chooser); Gets the type of operation that the file chooser is performing; see gtk_file_chooser_set_action(). Parameters chooser a GtkFileChooser Returns the action that the file selector is performing gtk_file_chooser_set_select_multiple () gtk_file_chooser_set_select_multiple void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, gboolean select_multiple); Sets whether multiple files can be selected in the file selector. This is only relevant if the action is set to be GTK_FILE_CHOOSER_ACTION_OPEN or GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. Parameters chooser a GtkFileChooser select_multiple TRUE if multiple files can be selected. gtk_file_chooser_get_select_multiple () gtk_file_chooser_get_select_multiple gboolean gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser); Gets whether multiple files can be selected in the file selector. See gtk_file_chooser_set_select_multiple(). Parameters chooser a GtkFileChooser Returns TRUE if multiple files can be selected. gtk_file_chooser_set_create_folders () gtk_file_chooser_set_create_folders void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, gboolean create_folders); Sets whether file choser will offer to create new folders. This is only relevant if the action is not set to be GTK_FILE_CHOOSER_ACTION_OPEN. Parameters chooser a GtkFileChooser create_folders TRUE if the Create Folder button should be displayed gtk_file_chooser_get_create_folders () gtk_file_chooser_get_create_folders gboolean gtk_file_chooser_get_create_folders (GtkFileChooser *chooser); Gets whether file choser will offer to create new folders. See gtk_file_chooser_set_create_folders(). Parameters chooser a GtkFileChooser Returns TRUE if the Create Folder button should be displayed. gtk_file_chooser_set_current_name () gtk_file_chooser_set_current_name void gtk_file_chooser_set_current_name (GtkFileChooser *chooser, const char *name); Sets the current name in the file selector, as if entered by the user. Note that the name passed in here is a UTF-8 string rather than a filename. This function is meant for such uses as a suggested name in a “Save As...” dialog. You can pass “Untitled.doc” or a similarly suitable suggestion for the name . If you want to preselect a particular existing file, you should use gtk_file_chooser_set_file() instead. Please see the documentation for those functions for an example of using gtk_file_chooser_set_current_name() as well. Parameters chooser a GtkFileChooser name the filename to use, as a UTF-8 string. [type filename] gtk_file_chooser_get_current_name () gtk_file_chooser_get_current_name char * gtk_file_chooser_get_current_name (GtkFileChooser *chooser); Gets the current name in the file selector, as entered by the user in the text entry for “Name”. This is meant to be used in save dialogs, to get the currently typed filename when the file itself does not exist yet. Parameters chooser a GtkFileChooser Returns The raw text from the file chooser’s “Name” entry. Free this with g_free(). Note that this string is not a full pathname or URI; it is whatever the contents of the entry are. Note also that this string is in UTF-8 encoding, which is not necessarily the system’s encoding for filenames. gtk_file_chooser_get_file () gtk_file_chooser_get_file GFile * gtk_file_chooser_get_file (GtkFileChooser *chooser); Gets the GFile for the currently selected file in the file selector. If multiple files are selected, one of the files will be returned at random. If the file chooser is in folder mode, this function returns the selected folder. Parameters chooser a GtkFileChooser Returns a selected GFile. You own the returned file; use g_object_unref() to release it. [transfer full] gtk_file_chooser_set_file () gtk_file_chooser_set_file gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser, GFile *file, GError **error); Sets file as the current filename for the file chooser, by changing to the file’s parent folder and actually selecting the file in list. If the chooser is in GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name will also appear in the dialog’s file name entry. If the file name isn’t in the current folder of chooser , then the current folder of chooser will be changed to the folder containing filename . This is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_filename(). Note that the file must exist, or nothing will be done except for the directory change. If you are implementing a save dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does Save As... If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: Parameters chooser a GtkFileChooser file the GFile to set as current error location to store the error, or NULL to ignore errors. [allow-none] Returns Not useful. gtk_file_chooser_get_files () gtk_file_chooser_get_files GListModel * gtk_file_chooser_get_files (GtkFileChooser *chooser); Lists all the selected files and subfolders in the current folder of chooser as GFile. Parameters chooser a GtkFileChooser Returns a list model containing a GFile for each selected file and subfolder in the current folder. Free the returned list with g_object_unref(). [transfer full] gtk_file_chooser_set_current_folder () gtk_file_chooser_set_current_folder gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, GFile *file, GError **error); Sets the current folder for chooser from a GFile. Parameters chooser a GtkFileChooser file the GFile for the new folder error location to store error, or NULL. Returns TRUE if the folder could be changed successfully, FALSE otherwise. gtk_file_chooser_get_current_folder () gtk_file_chooser_get_current_folder GFile * gtk_file_chooser_get_current_folder (GtkFileChooser *chooser); Gets the current folder of chooser as GFile. Parameters chooser a GtkFileChooser Returns the GFile for the current folder. [transfer full] gtk_file_chooser_add_filter () gtk_file_chooser_add_filter void gtk_file_chooser_add_filter (GtkFileChooser *chooser, GtkFileFilter *filter); Adds filter to the list of filters that the user can select between. When a filter is selected, only files that are passed by that filter are displayed. Note that the chooser takes ownership of the filter if it is floating, so you have to ref and sink it if you want to keep a reference. Parameters chooser a GtkFileChooser filter a GtkFileFilter. [transfer none] gtk_file_chooser_remove_filter () gtk_file_chooser_remove_filter void gtk_file_chooser_remove_filter (GtkFileChooser *chooser, GtkFileFilter *filter); Removes filter from the list of filters that the user can select between. Parameters chooser a GtkFileChooser filter a GtkFileFilter gtk_file_chooser_get_filters () gtk_file_chooser_get_filters GListModel * gtk_file_chooser_get_filters (GtkFileChooser *chooser); Gets the current set of user-selectable filters, as a list model; see gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter(). You should not modify the returned list model. Future changes to chooser may or may not affect the returned model. Parameters chooser a GtkFileChooser Returns a GListModel containing the current set of user-selectable filters. [transfer full] gtk_file_chooser_set_filter () gtk_file_chooser_set_filter void gtk_file_chooser_set_filter (GtkFileChooser *chooser, GtkFileFilter *filter); Sets the current filter; only the files that pass the filter will be displayed. If the user-selectable list of filters is non-empty, then the filter should be one of the filters in that list. Setting the current filter when the list of filters is empty is useful if you want to restrict the displayed set of files without letting the user change it. Parameters chooser a GtkFileChooser filter a GtkFileFilter gtk_file_chooser_get_filter () gtk_file_chooser_get_filter GtkFileFilter * gtk_file_chooser_get_filter (GtkFileChooser *chooser); Gets the current filter; see gtk_file_chooser_set_filter(). Parameters chooser a GtkFileChooser Returns the current filter, or NULL. [nullable][transfer none] gtk_file_chooser_add_shortcut_folder () gtk_file_chooser_add_shortcut_folder gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error); Adds a folder to be displayed with the shortcut folders in a file chooser. Parameters chooser a GtkFileChooser folder a GFile for the folder to add error location to store error, or NULL Returns TRUE if the folder could be added successfully, FALSE otherwise. gtk_file_chooser_remove_shortcut_folder () gtk_file_chooser_remove_shortcut_folder gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error); Removes a folder from the shortcut folders in a file chooser. Parameters chooser a GtkFileChooser folder a GFile for the folder to remove error location to store error, or NULL Returns TRUE if the folder could be removed successfully, FALSE otherwise. gtk_file_chooser_get_shortcut_folders () gtk_file_chooser_get_shortcut_folders GListModel * gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser); Queries the list of shortcut folders in the file chooser, as set by gtk_file_chooser_add_shortcut_folder(). You should not modify the returned list model. Future changes to chooser may or may not affect the returned model. Parameters chooser a GtkFileChooser Returns A list model of GFiles. [transfer full] gtk_file_chooser_add_choice () gtk_file_chooser_add_choice void gtk_file_chooser_add_choice (GtkFileChooser *chooser, const char *id, const char *label, const char **options, const char **option_labels); Adds a 'choice' to the file chooser. This is typically implemented as a combobox or, for boolean choices, as a checkbutton. You can select a value using gtk_file_chooser_set_choice() before the dialog is shown, and you can obtain the user-selected value in the ::response signal handler using gtk_file_chooser_get_choice(). Parameters chooser a GtkFileChooser id id for the added choice label user-visible label for the added choice options ids for the options of the choice, or NULL for a boolean choice. [nullable][array zero-terminated=1] option_labels user-visible labels for the options, must be the same length as options . [nullable][array zero-terminated=1] gtk_file_chooser_remove_choice () gtk_file_chooser_remove_choice void gtk_file_chooser_remove_choice (GtkFileChooser *chooser, const char *id); Removes a 'choice' that has been added with gtk_file_chooser_add_choice(). Parameters chooser a GtkFileChooser id the ID of the choice to remove gtk_file_chooser_set_choice () gtk_file_chooser_set_choice void gtk_file_chooser_set_choice (GtkFileChooser *chooser, const char *id, const char *option); Selects an option in a 'choice' that has been added with gtk_file_chooser_add_choice(). For a boolean choice, the possible options are "true" and "false". Parameters chooser a GtkFileChooser id the ID of the choice to set option the ID of the option to select gtk_file_chooser_get_choice () gtk_file_chooser_get_choice const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser, const char *id); Gets the currently selected option in the 'choice' with the given ID. Parameters chooser a GtkFileChooser id the ID of the choice to get Returns the ID of the currently selected option Types and Values GtkFileChooser GtkFileChooser typedef struct _GtkFileChooser GtkFileChooser; enum GtkFileChooserAction GtkFileChooserAction Describes whether a GtkFileChooser is being used to open existing files or to save to a possibly new file. Members GTK_FILE_CHOOSER_ACTION_OPEN Indicates open mode. The file chooser will only let the user pick an existing file. GTK_FILE_CHOOSER_ACTION_SAVE Indicates save mode. The file chooser will let the user pick an existing file, or type in a new filename. GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER Indicates an Open mode for selecting folders. The file chooser will let the user pick an existing folder. GTK_FILE_CHOOSER_ERROR GTK_FILE_CHOOSER_ERROR #define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ()) Used to get the GError quark for GtkFileChooser errors. enum GtkFileChooserError GtkFileChooserError These identify the various errors that can occur while calling GtkFileChooser functions. Members GTK_FILE_CHOOSER_ERROR_NONEXISTENT Indicates that a file does not exist. GTK_FILE_CHOOSER_ERROR_BAD_FILENAME Indicates a malformed filename. GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS Indicates a duplicate path (e.g. when adding a bookmark). GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME Indicates an incomplete hostname (e.g. "http://foo" without a slash after that). Property Details The <literal>“action”</literal> property GtkFileChooser:action “action” GtkFileChooserAction The type of operation that the file selector is performing.Owner: GtkFileChooser Flags: Read / Write Default value: GTK_FILE_CHOOSER_ACTION_OPEN The <literal>“create-folders”</literal> property GtkFileChooser:create-folders “create-folders” gboolean Whether a file chooser not in GTK_FILE_CHOOSER_ACTION_OPEN mode will offer the user to create new folders. Owner: GtkFileChooser Flags: Read / Write Default value: TRUE The <literal>“filter”</literal> property GtkFileChooser:filter “filter” GtkFileFilter * The current filter for selecting which files are displayed.Owner: GtkFileChooser Flags: Read / Write The <literal>“filters”</literal> property GtkFileChooser:filters “filters” GListModel * A GListModel containing the filters that have been added with gtk_file_chooser_add_filter(). The returned object should not be modified. It may or may not be updated for later changes. Owner: GtkFileChooser Flags: Read The <literal>“select-multiple”</literal> property GtkFileChooser:select-multiple “select-multiple” gboolean Whether to allow multiple files to be selected.Owner: GtkFileChooser Flags: Read / Write Default value: FALSE The <literal>“shortcut-folders”</literal> property GtkFileChooser:shortcut-folders “shortcut-folders” GListModel * A GListModel containing the shortcut folders that have been added with gtk_file_chooser_add_shortcut(). The returned object should not be modified. It may or may not be updated for later changes. Owner: GtkFileChooser Flags: Read See Also GtkFileChooserDialog, GtkFileChooserWidget, GtkFileChooserButton docs/reference/gtk/xml/gtkscalebutton.xml0000664000175000017500000007631313710700312020740 0ustar mclasenmclasen ]> GtkScaleButton 3 GTK4 Library GtkScaleButton A button which pops up a scale Functions GtkWidget * gtk_scale_button_new () void gtk_scale_button_set_adjustment () void gtk_scale_button_set_icons () void gtk_scale_button_set_value () GtkAdjustment * gtk_scale_button_get_adjustment () double gtk_scale_button_get_value () GtkWidget * gtk_scale_button_get_popup () GtkWidget * gtk_scale_button_get_plus_button () GtkWidget * gtk_scale_button_get_minus_button () Properties GtkAdjustment *adjustmentRead / Write GStrviconsRead / Write gdoublevalueRead / Write Signals voidpopdownAction voidpopupAction voidvalue-changedRun Last Types and Values structGtkScaleButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkScaleButton ╰── GtkVolumeButton Implemented Interfaces GtkScaleButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkScaleButton 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 GtkVolumeButton subclass that is tailored for this use case. CSS nodesGtkScaleButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .scale style class. Functions gtk_scale_button_new () gtk_scale_button_new GtkWidget * gtk_scale_button_new (double min, double max, double step, const char **icons); Creates a GtkScaleButton, with a range between min and max , with a stepping of step . Parameters min the minimum value of the scale (usually 0) max the maximum value of the scale (usually 100) step the stepping of value when a scroll-wheel event, or up/down arrow event occurs (usually 2) icons a NULL-terminated array of icon names, or NULL if you want to set the list later with gtk_scale_button_set_icons(). [allow-none][array zero-terminated=1] Returns a new GtkScaleButton gtk_scale_button_set_adjustment () gtk_scale_button_set_adjustment void gtk_scale_button_set_adjustment (GtkScaleButton *button, GtkAdjustment *adjustment); Sets the GtkAdjustment to be used as a model for the GtkScaleButton’s scale. See gtk_range_set_adjustment() for details. Parameters button a GtkScaleButton adjustment a GtkAdjustment gtk_scale_button_set_icons () gtk_scale_button_set_icons void gtk_scale_button_set_icons (GtkScaleButton *button, const char **icons); Sets the icons to be used by the scale button. For details, see the “icons” property. Parameters button a GtkScaleButton icons a NULL-terminated array of icon names. [array zero-terminated=1] gtk_scale_button_set_value () gtk_scale_button_set_value void gtk_scale_button_set_value (GtkScaleButton *button, double value); Sets the current value of the scale; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The scale button emits the “value-changed” signal if the value changes. Parameters button a GtkScaleButton value new value of the scale button gtk_scale_button_get_adjustment () gtk_scale_button_get_adjustment GtkAdjustment * gtk_scale_button_get_adjustment (GtkScaleButton *button); Gets the GtkAdjustment associated with the GtkScaleButton’s scale. See gtk_range_get_adjustment() for details. Parameters button a GtkScaleButton Returns the adjustment associated with the scale. [transfer none] gtk_scale_button_get_value () gtk_scale_button_get_value double gtk_scale_button_get_value (GtkScaleButton *button); Gets the current value of the scale button. Parameters button a GtkScaleButton Returns current value of the scale button gtk_scale_button_get_popup () gtk_scale_button_get_popup GtkWidget * gtk_scale_button_get_popup (GtkScaleButton *button); Retrieves the popup of the GtkScaleButton. Parameters button a GtkScaleButton Returns the popup of the GtkScaleButton. [transfer none] gtk_scale_button_get_plus_button () gtk_scale_button_get_plus_button GtkWidget * gtk_scale_button_get_plus_button (GtkScaleButton *button); Retrieves the plus button of the GtkScaleButton. Parameters button a GtkScaleButton Returns the plus button of the GtkScaleButton as a GtkButton. [transfer none][type Gtk.Button] gtk_scale_button_get_minus_button () gtk_scale_button_get_minus_button GtkWidget * gtk_scale_button_get_minus_button (GtkScaleButton *button); Retrieves the minus button of the GtkScaleButton. Parameters button a GtkScaleButton Returns the minus button of the GtkScaleButton as a GtkButton. [transfer none][type Gtk.Button] Types and Values struct GtkScaleButton GtkScaleButton struct GtkScaleButton; Property Details The <literal>“adjustment”</literal> property GtkScaleButton:adjustment “adjustment” GtkAdjustment * The GtkAdjustment that contains the current value of this scale button object.Owner: GtkScaleButton Flags: Read / Write The <literal>“icons”</literal> property GtkScaleButton:icons “icons” GStrv The names of the icons to be used by the scale button. The first item in the array 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. 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%. It is recommended to use at least 3 icons so that the GtkScaleButton reflects the current value of the scale better for the users. Owner: GtkScaleButton Flags: Read / Write The <literal>“value”</literal> property GtkScaleButton:value “value” gdouble The value of the scale.Owner: GtkScaleButton Flags: Read / Write Default value: 0 Signal Details The <literal>“popdown”</literal> signal GtkScaleButton::popdown void user_function (GtkScaleButton *button, gpointer user_data) The ::popdown signal is a keybinding signal which gets emitted to popdown the scale widget. The default binding for this signal is Escape. Parameters button the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“popup”</literal> signal GtkScaleButton::popup void user_function (GtkScaleButton *button, gpointer user_data) The ::popup signal is a keybinding signal which gets emitted to popup the scale widget. The default bindings for this signal are Space, Enter and Return. Parameters button the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“value-changed”</literal> signal GtkScaleButton::value-changed void user_function (GtkScaleButton *button, gdouble value, gpointer user_data) The ::value-changed signal is emitted when the value field has changed. Parameters button the object which received the signal value the new value user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkfilechoosernative.xml0000664000175000017500000005231013710700311022114 0ustar mclasenmclasen ]> GtkFileChooserNative 3 GTK4 Library GtkFileChooserNative A native file chooser dialog, suitable for “File Open” or “File Save” commands Functions GtkFileChooserNative * gtk_file_chooser_native_new () const char * gtk_file_chooser_native_get_accept_label () void gtk_file_chooser_native_set_accept_label () const char * gtk_file_chooser_native_get_cancel_label () void gtk_file_chooser_native_set_cancel_label () Types and Values GtkFileChooserNative Includes#include <gtk/gtk.h> Description GtkFileChooserNative is an abstraction of a dialog box suitable for use with “File Open” or “File Save as” commands. By default, this just uses a GtkFileChooserDialog to implement the actual dialog. However, on certain platforms, such as Windows and macOS, the native platform file chooser is used instead. When the application is running in a sandboxed environment without direct filesystem access (such as Flatpak), GtkFileChooserNative may call the proper APIs (portals) to let the user choose a file and make it available to the application. While the API of GtkFileChooserNative closely mirrors GtkFileChooserDialog, the main difference is that there is no access to any GtkWindow or GtkWidget for the dialog. This is required, as there may not be one in the case of a platform native dialog. Showing, hiding and running the dialog is handled by the GtkNativeDialog functions. Typical usageIn the simplest of cases, you can the following code to use GtkFileChooserDialog to select a file for opening: To use a dialog for saving, you can use this: For more information on how to best set up a file dialog, see GtkFileChooserDialog. Response CodesGtkFileChooserNative inherits from GtkNativeDialog, which means it will return GTK_RESPONSE_ACCEPT if the user accepted, and GTK_RESPONSE_CANCEL if he pressed cancel. It can also return GTK_RESPONSE_DELETE_EVENT if the window was unexpectedly closed. Differences from <link linkend="GtkFileChooserDialog"><type>GtkFileChooserDialog</type></link>There are a few things in the GtkFileChooser API that are not possible to use with GtkFileChooserNative, as such use would prohibit the use of a native dialog. No operations that change the dialog work while the dialog is visible. Set all the properties that are required before showing the dialog. Win32 detailsOn windows the IFileDialog implementation (added in Windows Vista) is used. It supports many of the features that GtkFileChooserDialog does, but there are some things it does not handle: Any GtkFileFilter added using a mimetype If any of these features are used the regular GtkFileChooserDialog will be used in place of the native one. Portal detailsWhen the org.freedesktop.portal.FileChooser portal is available on the session bus, it is used to bring up an out-of-process file chooser. Depending on the kind of session the application is running in, this may or may not be a GTK file chooser. macOS detailsOn macOS the NSSavePanel and NSOpenPanel classes are used to provide native file chooser dialogs. Some features provided by GtkFileChooserDialog are not supported: Shortcut folders. Functions gtk_file_chooser_native_new () gtk_file_chooser_native_new GtkFileChooserNative * gtk_file_chooser_native_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *accept_label, const char *cancel_label); Creates a new GtkFileChooserNative. Parameters title Title of the native, or NULL. [allow-none] parent Transient parent of the native, or NULL. [allow-none] action Open or save mode for the dialog accept_label text to go in the accept button, or NULL for the default. [allow-none] cancel_label text to go in the cancel button, or NULL for the default. [allow-none] Returns a new GtkFileChooserNative gtk_file_chooser_native_get_accept_label () gtk_file_chooser_native_get_accept_label const char * gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self); Retrieves the custom label text for the accept button. Parameters self a GtkFileChooserNative Returns The custom label, or NULL for the default. This string is owned by GTK+ and should not be modified or freed. [nullable] gtk_file_chooser_native_set_accept_label () gtk_file_chooser_native_set_accept_label void gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, const char *accept_label); Sets the custom label text for the accept button. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. Parameters self a GtkFileChooserNative accept_label custom label or NULL for the default. [allow-none] gtk_file_chooser_native_get_cancel_label () gtk_file_chooser_native_get_cancel_label const char * gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self); Retrieves the custom label text for the cancel button. Parameters self a GtkFileChooserNative Returns The custom label, or NULL for the default. This string is owned by GTK+ and should not be modified or freed. [nullable] gtk_file_chooser_native_set_cancel_label () gtk_file_chooser_native_set_cancel_label void gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self, const char *cancel_label); Sets the custom label text for the cancel button. If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. Parameters self a GtkFileChooserNative cancel_label custom label or NULL for the default. [allow-none] Types and Values GtkFileChooserNative GtkFileChooserNative typedef struct _GtkFileChooserNative GtkFileChooserNative; See Also GtkFileChooser, GtkNativeDialog, GtkFileChooserDialog docs/reference/gtk/xml/gtkscrollable.xml0000664000175000017500000006730313710700312020536 0ustar mclasenmclasen ]> GtkScrollable 3 GTK4 Library GtkScrollable An interface for scrollable widgets Functions GtkAdjustment * gtk_scrollable_get_hadjustment () void gtk_scrollable_set_hadjustment () GtkAdjustment * gtk_scrollable_get_vadjustment () void gtk_scrollable_set_vadjustment () GtkScrollablePolicy gtk_scrollable_get_hscroll_policy () void gtk_scrollable_set_hscroll_policy () GtkScrollablePolicy gtk_scrollable_get_vscroll_policy () void gtk_scrollable_set_vscroll_policy () gboolean gtk_scrollable_get_border () Properties GtkAdjustment *hadjustmentRead / Write / Construct GtkScrollablePolicyhscroll-policyRead / Write GtkAdjustment *vadjustmentRead / Write / Construct GtkScrollablePolicyvscroll-policyRead / Write Types and Values GtkScrollable enumGtkScrollablePolicy Object Hierarchy GInterface ╰── GtkScrollable Prerequisites GtkScrollable requires GObject. Known Implementations GtkScrollable is implemented by GtkColumnView, GtkGridView, GtkIconView, GtkListView, GtkTextView, GtkTreeView and GtkViewport. Includes#include <gtk/gtk.h> Description GtkScrollable is an interface that is implemented by widgets with native scrolling ability. To implement this interface you should override the “hadjustment” and “vadjustment” properties. Creating a scrollable widgetAll scrollable widgets should do the following. When a parent widget sets the scrollable child widget’s adjustments, the widget should populate the adjustments’ “lower”, “upper”, “step-increment”, “page-increment” and “page-size” properties and connect to the “value-changed” signal. Because its preferred size is the size for a fully expanded widget, the scrollable widget must be able to cope with underallocations. This means that it must accept any value passed to its GtkWidgetClass.size_allocate() function. When the parent allocates space to the scrollable child widget, the widget should update the adjustments’ properties with new values. When any of the adjustments emits the “value-changed” signal, the scrollable widget should scroll its contents. Functions gtk_scrollable_get_hadjustment () gtk_scrollable_get_hadjustment GtkAdjustment * gtk_scrollable_get_hadjustment (GtkScrollable *scrollable); Retrieves the GtkAdjustment used for horizontal scrolling. Parameters scrollable a GtkScrollable Returns horizontal GtkAdjustment. [transfer none] gtk_scrollable_set_hadjustment () gtk_scrollable_set_hadjustment void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, GtkAdjustment *hadjustment); Sets the horizontal adjustment of the GtkScrollable. Parameters scrollable a GtkScrollable hadjustment a GtkAdjustment. [allow-none] gtk_scrollable_get_vadjustment () gtk_scrollable_get_vadjustment GtkAdjustment * gtk_scrollable_get_vadjustment (GtkScrollable *scrollable); Retrieves the GtkAdjustment used for vertical scrolling. Parameters scrollable a GtkScrollable Returns vertical GtkAdjustment. [transfer none] gtk_scrollable_set_vadjustment () gtk_scrollable_set_vadjustment void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable, GtkAdjustment *vadjustment); Sets the vertical adjustment of the GtkScrollable. Parameters scrollable a GtkScrollable vadjustment a GtkAdjustment. [allow-none] gtk_scrollable_get_hscroll_policy () gtk_scrollable_get_hscroll_policy GtkScrollablePolicy gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable); Gets the horizontal GtkScrollablePolicy. Parameters scrollable a GtkScrollable Returns The horizontal GtkScrollablePolicy. gtk_scrollable_set_hscroll_policy () gtk_scrollable_set_hscroll_policy void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy); Sets the GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width. Parameters scrollable a GtkScrollable policy the horizontal GtkScrollablePolicy gtk_scrollable_get_vscroll_policy () gtk_scrollable_get_vscroll_policy GtkScrollablePolicy gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable); Gets the vertical GtkScrollablePolicy. Parameters scrollable a GtkScrollable Returns The vertical GtkScrollablePolicy. gtk_scrollable_set_vscroll_policy () gtk_scrollable_set_vscroll_policy void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy); Sets the GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height. Parameters scrollable a GtkScrollable policy the vertical GtkScrollablePolicy gtk_scrollable_get_border () gtk_scrollable_get_border gboolean gtk_scrollable_get_border (GtkScrollable *scrollable, GtkBorder *border); Returns the size of a non-scrolling border around the outside of the scrollable. An example for this would be treeview headers. GTK+ can use this information to display overlayed graphics, like the overshoot indication, at the right position. Parameters scrollable a GtkScrollable border return location for the results. [out caller-allocates] Returns TRUE if border has been set Types and Values GtkScrollable GtkScrollable typedef struct _GtkScrollable GtkScrollable; enum GtkScrollablePolicy GtkScrollablePolicy Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation. Members GTK_SCROLL_MINIMUM Scrollable adjustments are based on the minimum size GTK_SCROLL_NATURAL Scrollable adjustments are based on the natural size Property Details The <literal>“hadjustment”</literal> property GtkScrollable:hadjustment “hadjustment” GtkAdjustment * Horizontal GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent. Owner: GtkScrollable Flags: Read / Write / Construct The <literal>“hscroll-policy”</literal> property GtkScrollable:hscroll-policy “hscroll-policy” GtkScrollablePolicy Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width. Owner: GtkScrollable Flags: Read / Write Default value: GTK_SCROLL_MINIMUM The <literal>“vadjustment”</literal> property GtkScrollable:vadjustment “vadjustment” GtkAdjustment * Vertical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent. Owner: GtkScrollable Flags: Read / Write / Construct The <literal>“vscroll-policy”</literal> property GtkScrollable:vscroll-policy “vscroll-policy” GtkScrollablePolicy Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height. Owner: GtkScrollable Flags: Read / Write Default value: GTK_SCROLL_MINIMUM docs/reference/gtk/xml/gtkfilechooserdialog.xml0000664000175000017500000004203113710700311022064 0ustar mclasenmclasen ]> GtkFileChooserDialog 3 GTK4 Library GtkFileChooserDialog A file chooser dialog, suitable for “File Open” or “File Save” commands Functions GtkWidget * gtk_file_chooser_dialog_new () Actions response.activate Types and Values GtkFileChooserDialog Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkFileChooserDialog Implemented Interfaces GtkFileChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkFileChooser. Includes#include <gtk/gtk.h> Description GtkFileChooserDialog is a dialog box suitable for use with “File Open” or “File Save” commands. This widget works by putting a GtkFileChooserWidget inside a GtkDialog. It exposes the GtkFileChooser interface, so you can use all of the GtkFileChooser functions on the file chooser dialog as well as those for GtkDialog. Note that GtkFileChooserDialog does not have any methods of its own. Instead, you should use the functions that work on a GtkFileChooser. If you want to integrate well with the platform you should use the GtkFileChooserNative API, which will use a platform-specific dialog if available and fall back to GtkFileChooserDialog otherwise. Typical usageIn the simplest of cases, you can the following code to use GtkFileChooserDialog to select a file for opening: To use a dialog for saving, you can use this: Setting up a file chooser dialogThere are various cases in which you may need to use a GtkFileChooserDialog: To select a file for opening. Use GTK_FILE_CHOOSER_ACTION_OPEN. To save a file for the first time. Use GTK_FILE_CHOOSER_ACTION_SAVE, and suggest a name such as “Untitled” with gtk_file_chooser_set_current_name(). To save a file under a different name. Use GTK_FILE_CHOOSER_ACTION_SAVE, and set the existing file with gtk_file_chooser_set_file(). To choose a folder instead of a file. Use GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. Note that old versions of the file chooser’s documentation suggested using gtk_file_chooser_set_current_folder() in various situations, with the intention of letting the application suggest a reasonable default folder. This is no longer considered to be a good policy, as now the file chooser is able to make good suggestions on its own. In general, you should only cause the file chooser to show a specific folder when it is appropriate to use gtk_file_chooser_set_file(), i.e. when you are doing a Save As command and you already have a file saved somewhere. Response CodesGtkFileChooserDialog inherits from GtkDialog, so buttons that go in its action area have response codes such as GTK_RESPONSE_ACCEPT and GTK_RESPONSE_CANCEL. For example, you could call gtk_file_chooser_dialog_new() as follows: This will create buttons for “Cancel” and “Open” that use predefined response identifiers from GtkResponseType. For most dialog boxes you can use your own custom response codes rather than the ones in GtkResponseType, but GtkFileChooserDialog assumes that its “accept”-type action, e.g. an “Open” or “Save” button, will have one of the following response codes: GTK_RESPONSE_ACCEPT GTK_RESPONSE_OK GTK_RESPONSE_YES GTK_RESPONSE_APPLY This is because GtkFileChooserDialog must intercept responses and switch to folders if appropriate, rather than letting the dialog terminate — the implementation uses these known response codes to know which responses can be blocked if appropriate. To summarize, make sure you use a predefined response code when you use GtkFileChooserDialog to ensure proper operation. Functions gtk_file_chooser_dialog_new () gtk_file_chooser_dialog_new GtkWidget * gtk_file_chooser_dialog_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *first_button_text, ...); Creates a new GtkFileChooserDialog. This function is analogous to gtk_dialog_new_with_buttons(). Parameters title Title of the dialog, or NULL. [allow-none] parent Transient parent of the dialog, or NULL. [allow-none] action Open or save mode for the dialog first_button_text text to go in the first button, or NULL. [allow-none] ... response ID for the first button, then additional (button, id) pairs, ending with NULL Returns a new GtkFileChooserDialog Types and Values GtkFileChooserDialog GtkFileChooserDialog typedef struct _GtkFileChooserDialog GtkFileChooserDialog; Action Details The <literal>“response.activate”</literal> action GtkFileChooserDialog|response.activate Activate the default response of the dialog. See Also GtkFileChooser, GtkDialog, GtkFileChooserNative docs/reference/gtk/xml/gtkscrollbar.xml0000664000175000017500000003120413710700312020366 0ustar mclasenmclasen ]> GtkScrollbar 3 GTK4 Library GtkScrollbar A Scrollbar Functions GtkWidget * gtk_scrollbar_new () GtkAdjustment * gtk_scrollbar_get_adjustment () void gtk_scrollbar_set_adjustment () Properties GtkAdjustment *adjustmentRead / Write / Construct Types and Values GtkScrollbar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkScrollbar Implemented Interfaces GtkScrollbar implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description The GtkScrollbar widget is a horizontal or vertical scrollbar, depending on the value of the “orientation” property. Its position and movement are controlled by the adjustment that is passed to or created by gtk_scrollbar_new(). See GtkAdjustment for more details. The “value” field sets the position of the thumb and must be between “lower” and “upper” - “page-size”. The “page-size” represents the size of the visible scrollable area. The fields “step-increment” and “page-increment” fields are added to or subtracted from the “value” when the user asks to move by a step (using e.g. the cursor arrow keys or, if present, the stepper buttons) or by a page (using e.g. the Page Down/Up keys). CSS nodes GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents. The main node gets the .horizontal or .vertical style classes applied, depending on the scrollbar's orientation. The range node gets the style class .fine-tune added when the scrollbar is in 'fine-tuning' mode. If steppers are enabled, they are represented by up to four additional subnodes with name button. These get the style classes .up and .down to indicate in which direction they are moving. Other style classes that may be added to scrollbars inside GtkScrolledWindow include the positional classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering). AccessibilityGtkScrollbar uses the GTK_ACCESSIBLE_ROLE_SCROLLBAR role. Functions gtk_scrollbar_new () gtk_scrollbar_new GtkWidget * gtk_scrollbar_new (GtkOrientation orientation, GtkAdjustment *adjustment); Creates a new scrollbar with the given orientation. Parameters orientation the scrollbar’s orientation. adjustment the GtkAdjustment to use, or NULL to create a new adjustment. [allow-none] Returns the new GtkScrollbar. gtk_scrollbar_get_adjustment () gtk_scrollbar_get_adjustment GtkAdjustment * gtk_scrollbar_get_adjustment (GtkScrollbar *self); Returns the scrollbar's adjustment. Parameters self a GtkScrollbar Returns the scrollbar's adjustment. [transfer none] gtk_scrollbar_set_adjustment () gtk_scrollbar_set_adjustment void gtk_scrollbar_set_adjustment (GtkScrollbar *self, GtkAdjustment *adjustment); Makes the scrollbar use the given adjustment. Parameters self a GtkScrollbar adjustment the adjustment to set. [nullable] Types and Values GtkScrollbar GtkScrollbar typedef struct _GtkScrollbar GtkScrollbar; Property Details The <literal>“adjustment”</literal> property GtkScrollbar:adjustment “adjustment” GtkAdjustment * The GtkAdjustment that contains the current value of this scrollbar.Owner: GtkScrollbar Flags: Read / Write / Construct See Also GtkAdjustment, GtkScrolledWindow docs/reference/gtk/xml/gtkfilechooserwidget.xml0000664000175000017500000010531413710700311022114 0ustar mclasenmclasen ]> GtkFileChooserWidget 3 GTK4 Library GtkFileChooserWidget A file chooser widget Functions GtkWidget * gtk_file_chooser_widget_new () Properties gbooleansearch-modeRead / Write gchar *subtitleRead Signals voiddesktop-folderAction voiddown-folderAction voidhome-folderAction voidlocation-popupAction voidlocation-popup-on-pasteAction voidlocation-toggle-popupAction voidplaces-shortcutAction voidquick-bookmarkAction voidrecent-shortcutAction voidsearch-shortcutAction voidshow-hiddenAction voidup-folderAction Types and Values GtkFileChooserWidget Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFileChooserWidget Implemented Interfaces GtkFileChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFileChooser. Includes#include <gtk/gtk.h> Description GtkFileChooserWidget is a widget for choosing files. It exposes the GtkFileChooser interface, and you should use the methods of this interface to interact with the widget. CSS nodesGtkFileChooserWidget has a single CSS node with name filechooser. Functions gtk_file_chooser_widget_new () gtk_file_chooser_widget_new GtkWidget * gtk_file_chooser_widget_new (GtkFileChooserAction action); Creates a new GtkFileChooserWidget. This is a file chooser widget that can be embedded in custom windows, and it is the same widget that is used by GtkFileChooserDialog. Parameters action Open or save mode for the widget Returns a new GtkFileChooserWidget Types and Values GtkFileChooserWidget GtkFileChooserWidget typedef struct _GtkFileChooserWidget GtkFileChooserWidget; Property Details The <literal>“search-mode”</literal> property GtkFileChooserWidget:search-mode “search-mode” gboolean Search mode.Owner: GtkFileChooserWidget Flags: Read / Write Default value: FALSE The <literal>“subtitle”</literal> property GtkFileChooserWidget:subtitle “subtitle” gchar * Subtitle.Owner: GtkFileChooserWidget Flags: Read Default value: "" Signal Details The <literal>“desktop-folder”</literal> signal GtkFileChooserWidget::desktop-folder void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::desktop-folder signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show the user's Desktop folder in the file list. The default binding for this signal is Alt + D. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“down-folder”</literal> signal GtkFileChooserWidget::down-folder void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::down-folder signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser go to a child of the current folder in the file hierarchy. The subfolder that will be used is displayed in the path bar widget of the file chooser. For example, if the path bar is showing "/foo/bar/baz", with bar currently displayed, then this will cause the file chooser to switch to the "baz" subfolder. The default binding for this signal is Alt + Down. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“home-folder”</literal> signal GtkFileChooserWidget::home-folder void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::home-folder signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show the user's home folder in the file list. The default binding for this signal is Alt + Home. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“location-popup”</literal> signal GtkFileChooserWidget::location-popup void user_function (GtkFileChooserWidget *widget, gchar *path, gpointer user_data) The ::location-popup signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show a "Location" prompt which the user can use to manually type the name of the file he wishes to select. The default bindings for this signal are Control + L with a path string of "" (the empty string). It is also bound to / with a path string of "/" (a slash): this lets you type / and immediately type a path name. On Unix systems, this is bound to ~ (tilde) with a path string of "~" itself for access to home directories. Parameters widget the object which received the signal path a string that gets put in the text entry for the file name user_data user data set when the signal handler was connected. Flags: Action The <literal>“location-popup-on-paste”</literal> signal GtkFileChooserWidget::location-popup-on-paste void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::location-popup-on-paste signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show a "Location" prompt when the user pastes into a GtkFileChooserWidget. The default binding for this signal is Control + V. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“location-toggle-popup”</literal> signal GtkFileChooserWidget::location-toggle-popup void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::location-toggle-popup signal is a keybinding signal which gets emitted when the user asks for it. This is used to toggle the visibility of a "Location" prompt which the user can use to manually type the name of the file he wishes to select. The default binding for this signal is Control + L. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“places-shortcut”</literal> signal GtkFileChooserWidget::places-shortcut void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::places-shortcut signal is a keybinding signal which gets emitted when the user asks for it. This is used to move the focus to the places sidebar. The default binding for this signal is Alt + P. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“quick-bookmark”</literal> signal GtkFileChooserWidget::quick-bookmark void user_function (GtkFileChooserWidget *widget, gint bookmark_index, gpointer user_data) The ::quick-bookmark signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser switch to the bookmark specified in the bookmark_index parameter. For example, if you have three bookmarks, you can pass 0, 1, 2 to this signal to switch to each of them, respectively. The default binding for this signal is Alt + 1, Alt + 2, etc. until Alt + 0. Note that in the default binding, that Alt + 1 is actually defined to switch to the bookmark at index 0, and so on successively; Alt + 0 is defined to switch to the bookmark at index 10. Parameters widget the object which received the signal bookmark_index the number of the bookmark to switch to user_data user data set when the signal handler was connected. Flags: Action The <literal>“recent-shortcut”</literal> signal GtkFileChooserWidget::recent-shortcut void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::recent-shortcut signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show the Recent location. The default binding for this signal is Alt + R. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“search-shortcut”</literal> signal GtkFileChooserWidget::search-shortcut void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::search-shortcut signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser show the search entry. The default binding for this signal is Alt + S. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“show-hidden”</literal> signal GtkFileChooserWidget::show-hidden void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::show-hidden signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser display hidden files. The default binding for this signal is Control + H. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“up-folder”</literal> signal GtkFileChooserWidget::up-folder void user_function (GtkFileChooserWidget *widget, gpointer user_data) The ::up-folder signal is a keybinding signal which gets emitted when the user asks for it. This is used to make the file chooser go to the parent of the current folder in the file hierarchy. The default binding for this signal is Alt + Up. Parameters widget the object which received the signal user_data user data set when the signal handler was connected. Flags: Action See Also GtkFileChooserDialog docs/reference/gtk/xml/gtkscrolledwindow.xml0000664000175000017500000032171713710700312021455 0ustar mclasenmclasen ]> GtkScrolledWindow 3 GTK4 Library GtkScrolledWindow Adds scrollbars to its child widget Functions GtkWidget * gtk_scrolled_window_new () GtkWidget * gtk_scrolled_window_get_child () void gtk_scrolled_window_set_child () GtkAdjustment * gtk_scrolled_window_get_hadjustment () void gtk_scrolled_window_set_hadjustment () GtkAdjustment * gtk_scrolled_window_get_vadjustment () void gtk_scrolled_window_set_vadjustment () GtkWidget * gtk_scrolled_window_get_hscrollbar () GtkWidget * gtk_scrolled_window_get_vscrollbar () void gtk_scrolled_window_get_policy () void gtk_scrolled_window_set_policy () GtkCornerType gtk_scrolled_window_get_placement () void gtk_scrolled_window_set_placement () void gtk_scrolled_window_unset_placement () gboolean gtk_scrolled_window_get_has_frame () void gtk_scrolled_window_set_has_frame () gboolean gtk_scrolled_window_get_kinetic_scrolling () void gtk_scrolled_window_set_kinetic_scrolling () gboolean gtk_scrolled_window_get_capture_button_press () void gtk_scrolled_window_set_capture_button_press () gboolean gtk_scrolled_window_get_overlay_scrolling () void gtk_scrolled_window_set_overlay_scrolling () int gtk_scrolled_window_get_min_content_width () void gtk_scrolled_window_set_min_content_width () int gtk_scrolled_window_get_min_content_height () void gtk_scrolled_window_set_min_content_height () int gtk_scrolled_window_get_max_content_width () void gtk_scrolled_window_set_max_content_width () int gtk_scrolled_window_get_max_content_height () void gtk_scrolled_window_set_max_content_height () gboolean gtk_scrolled_window_get_propagate_natural_width () void gtk_scrolled_window_set_propagate_natural_width () gboolean gtk_scrolled_window_get_propagate_natural_height () void gtk_scrolled_window_set_propagate_natural_height () Properties GtkWidget *childRead / Write GtkAdjustment *hadjustmentRead / Write / Construct gbooleanhas-frameRead / Write GtkPolicyTypehscrollbar-policyRead / Write gbooleankinetic-scrollingRead / Write gintmax-content-heightRead / Write gintmax-content-widthRead / Write gintmin-content-heightRead / Write gintmin-content-widthRead / Write gbooleanoverlay-scrollingRead / Write gbooleanpropagate-natural-heightRead / Write gbooleanpropagate-natural-widthRead / Write GtkAdjustment *vadjustmentRead / Write / Construct GtkPolicyTypevscrollbar-policyRead / Write GtkCornerTypewindow-placementRead / Write Signals voidedge-overshotRun Last voidedge-reachedRun Last voidmove-focus-outAction gbooleanscroll-childAction Types and Values GtkScrolledWindow enumGtkPolicyType enumGtkCornerType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkScrolledWindow Implemented Interfaces GtkScrolledWindow implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkScrolledWindow is a container that accepts a single child widget, makes that child scrollable using either internally added scrollbars or externally associated adjustments, and optionally draws a frame around the child. Widgets with native scrolling support, i.e. those whose classes implement the GtkScrollable interface, are added directly. For other types of widget, the class GtkViewport acts as an adaptor, giving scrollability to other widgets. GtkScrolledWindow’s implementation of gtk_container_add() intelligently accounts for whether or not the added child is a GtkScrollable. If it isn’t, GtkScrolledWindow wraps the child in a GtkViewport and adds that for you. Therefore, you can just add any child widget and not worry about the details. If gtk_container_add() has added a GtkViewport for you, you can remove both your added child widget from the GtkViewport, and the GtkViewport from the GtkScrolledWindow, like this: Unless “hscrollbar-policy” and “vscrollbar-policy” are GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL, GtkScrolledWindow adds internal GtkScrollbar widgets around its child. The scroll position of the child, and if applicable the scrollbars, is controlled by the “hadjustment” and “vadjustment” that are associated with the GtkScrolledWindow. See the docs on GtkScrollbar for the details, but note that the “step_increment” and “page_increment” fields are only effective if the policy causes scrollbars to be present. If a GtkScrolledWindow doesn’t behave quite as you would like, or doesn’t have exactly the right layout, it’s very possible to set up your own scrolling with GtkScrollbar and for example a GtkGrid. Touch supportGtkScrolledWindow has built-in support for touch devices. When a touchscreen is used, swiping will move the scrolled window, and will expose 'kinetic' behavior. This can be turned off with the “kinetic-scrolling” property if it is undesired. GtkScrolledWindow also displays visual 'overshoot' indication when the content is pulled beyond the end, and this situation can be captured with the “edge-overshot” signal. If no mouse device is present, the scrollbars will overlayed as narrow, auto-hiding indicators over the content. If traditional scrollbars are desired although no mouse is present, this behaviour can be turned off with the “overlay-scrolling” property. CSS nodesGtkScrolledWindow has a main CSS node with name scrolledwindow. It gets a .frame style class added when “has-frame” is TRUE. It uses subnodes with names overshoot and undershoot to draw the overflow and underflow indications. These nodes get the .left, .right, .top or .bottom style class added depending on where the indication is drawn. GtkScrolledWindow also sets the positional style classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering) on its scrollbars. If both scrollbars are visible, the area where they meet is drawn with a subnode named junction. Functions gtk_scrolled_window_new () gtk_scrolled_window_new GtkWidget * gtk_scrolled_window_new (void); Creates a new scrolled window. Returns a new scrolled window gtk_scrolled_window_get_child () gtk_scrolled_window_get_child GtkWidget * gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled_window); Gets the child widget of scrolled_window . Parameters scrolled_window a GtkScrolledWindow Returns the child widget of scrolled_window . [nullable][transfer none] gtk_scrolled_window_set_child () gtk_scrolled_window_set_child void gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, GtkWidget *child); Sets the child widget of scrolled_window . Parameters scrolled_window a GtkScrolledWindow child the child widget. [allow-none] gtk_scrolled_window_get_hadjustment () gtk_scrolled_window_get_hadjustment GtkAdjustment * gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window); Returns the horizontal scrollbar’s adjustment, used to connect the horizontal scrollbar to the child widget’s horizontal scroll functionality. Parameters scrolled_window a GtkScrolledWindow Returns the horizontal GtkAdjustment. [transfer none] gtk_scrolled_window_set_hadjustment () gtk_scrolled_window_set_hadjustment void gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *hadjustment); Sets the GtkAdjustment for the horizontal scrollbar. Parameters scrolled_window a GtkScrolledWindow hadjustment the GtkAdjustment to use, or NULL to create a new one. [nullable] gtk_scrolled_window_get_vadjustment () gtk_scrolled_window_get_vadjustment GtkAdjustment * gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window); Returns the vertical scrollbar’s adjustment, used to connect the vertical scrollbar to the child widget’s vertical scroll functionality. Parameters scrolled_window a GtkScrolledWindow Returns the vertical GtkAdjustment. [transfer none] gtk_scrolled_window_set_vadjustment () gtk_scrolled_window_set_vadjustment void gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *vadjustment); Sets the GtkAdjustment for the vertical scrollbar. Parameters scrolled_window a GtkScrolledWindow vadjustment the GtkAdjustment to use, or NULL to create a new one. [nullable] gtk_scrolled_window_get_hscrollbar () gtk_scrolled_window_get_hscrollbar GtkWidget * gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window); Returns the horizontal scrollbar of scrolled_window . Parameters scrolled_window a GtkScrolledWindow Returns the horizontal scrollbar of the scrolled window. [transfer none] gtk_scrolled_window_get_vscrollbar () gtk_scrolled_window_get_vscrollbar GtkWidget * gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window); Returns the vertical scrollbar of scrolled_window . Parameters scrolled_window a GtkScrolledWindow Returns the vertical scrollbar of the scrolled window. [transfer none] gtk_scrolled_window_get_policy () gtk_scrolled_window_get_policy void gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType *hscrollbar_policy, GtkPolicyType *vscrollbar_policy); Retrieves the current policy values for the horizontal and vertical scrollbars. See gtk_scrolled_window_set_policy(). Parameters scrolled_window a GtkScrolledWindow hscrollbar_policy location to store the policy for the horizontal scrollbar, or NULL. [out][optional] vscrollbar_policy location to store the policy for the vertical scrollbar, or NULL. [out][optional] gtk_scrolled_window_set_policy () gtk_scrolled_window_set_policy void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy); Sets the scrollbar policy for the horizontal and vertical scrollbars. The policy determines when the scrollbar should appear; it is a value from the GtkPolicyType enumeration. If GTK_POLICY_ALWAYS, the scrollbar is always present; if GTK_POLICY_NEVER, the scrollbar is never present; if GTK_POLICY_AUTOMATIC, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough — the display is larger than the page size). Parameters scrolled_window a GtkScrolledWindow hscrollbar_policy policy for horizontal bar vscrollbar_policy policy for vertical bar gtk_scrolled_window_get_placement () gtk_scrolled_window_get_placement GtkCornerType gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window); Gets the placement of the contents with respect to the scrollbars for the scrolled window. See gtk_scrolled_window_set_placement(). Parameters scrolled_window a GtkScrolledWindow Returns the current placement value. See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_unset_placement(). gtk_scrolled_window_set_placement () gtk_scrolled_window_set_placement void gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window, GtkCornerType window_placement); Sets the placement of the contents with respect to the scrollbars for the scrolled window. The default is GTK_CORNER_TOP_LEFT, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in GtkCornerType are GTK_CORNER_TOP_RIGHT, GTK_CORNER_BOTTOM_LEFT, and GTK_CORNER_BOTTOM_RIGHT. See also gtk_scrolled_window_get_placement() and gtk_scrolled_window_unset_placement(). Parameters scrolled_window a GtkScrolledWindow window_placement position of the child window gtk_scrolled_window_unset_placement () gtk_scrolled_window_unset_placement void gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window); Unsets the placement of the contents with respect to the scrollbars for the scrolled window. If no window placement is set for a scrolled window, it defaults to GTK_CORNER_TOP_LEFT. See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_get_placement(). Parameters scrolled_window a GtkScrolledWindow gtk_scrolled_window_get_has_frame () gtk_scrolled_window_get_has_frame gboolean gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window); Gets whether the scrolled window draws a frame. See gtk_scrolled_window_set_has_frame(). Parameters scrolled_window a GtkScrolledWindow Returns TRUE if the scrolled_window has a frame gtk_scrolled_window_set_has_frame () gtk_scrolled_window_set_has_frame void gtk_scrolled_window_set_has_frame (GtkScrolledWindow *scrolled_window, gboolean has_frame); Changes the frame drawn around the contents of scrolled_window . Parameters scrolled_window a GtkScrolledWindow has_frame whether to draw a frame around scrolled window contents gtk_scrolled_window_get_kinetic_scrolling () gtk_scrolled_window_get_kinetic_scrolling gboolean gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window); Returns the specified kinetic scrolling behavior. Parameters scrolled_window a GtkScrolledWindow Returns the scrolling behavior flags. gtk_scrolled_window_set_kinetic_scrolling () gtk_scrolled_window_set_kinetic_scrolling void gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window, gboolean kinetic_scrolling); Turns kinetic scrolling on or off. Kinetic scrolling only applies to devices with source GDK_SOURCE_TOUCHSCREEN. Parameters scrolled_window a GtkScrolledWindow kinetic_scrolling TRUE to enable kinetic scrolling gtk_scrolled_window_get_capture_button_press () gtk_scrolled_window_get_capture_button_press gboolean gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window); Return whether button presses are captured during kinetic scrolling. See gtk_scrolled_window_set_capture_button_press(). Parameters scrolled_window a GtkScrolledWindow Returns TRUE if button presses are captured during kinetic scrolling gtk_scrolled_window_set_capture_button_press () gtk_scrolled_window_set_capture_button_press void gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window, gboolean capture_button_press); Changes the behaviour of scrolled_window with regard to the initial event that possibly starts kinetic scrolling. When capture_button_press is set to TRUE, the event is captured by the scrolled window, and then later replayed if it is meant to go to the child widget. This should be enabled if any child widgets perform non-reversible actions on button press events. If they don't, and additionally handle “grab-broken-event”, it might be better to set capture_button_press to FALSE. This setting only has an effect if kinetic scrolling is enabled. Parameters scrolled_window a GtkScrolledWindow capture_button_press TRUE to capture button presses gtk_scrolled_window_get_overlay_scrolling () gtk_scrolled_window_get_overlay_scrolling gboolean gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow *scrolled_window); Returns whether overlay scrolling is enabled for this scrolled window. Parameters scrolled_window a GtkScrolledWindow Returns TRUE if overlay scrolling is enabled gtk_scrolled_window_set_overlay_scrolling () gtk_scrolled_window_set_overlay_scrolling void gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window, gboolean overlay_scrolling); Enables or disables overlay scrolling for this scrolled window. Parameters scrolled_window a GtkScrolledWindow overlay_scrolling whether to enable overlay scrolling gtk_scrolled_window_get_min_content_width () gtk_scrolled_window_get_min_content_width int gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window); Gets the minimum content width of scrolled_window , or -1 if not set. Parameters scrolled_window a GtkScrolledWindow Returns the minimum content width gtk_scrolled_window_set_min_content_width () gtk_scrolled_window_set_min_content_width void gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window, int width); Sets the minimum width that scrolled_window should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content. It is a programming error to set the minimum content width to a value greater than “max-content-width”. Parameters scrolled_window a GtkScrolledWindow width the minimal content width gtk_scrolled_window_get_min_content_height () gtk_scrolled_window_get_min_content_height int gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window); Gets the minimal content height of scrolled_window , or -1 if not set. Parameters scrolled_window a GtkScrolledWindow Returns the minimal content height gtk_scrolled_window_set_min_content_height () gtk_scrolled_window_set_min_content_height void gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window, int height); Sets the minimum height that scrolled_window should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content. It is a programming error to set the minimum content height to a value greater than “max-content-height”. Parameters scrolled_window a GtkScrolledWindow height the minimal content height gtk_scrolled_window_get_max_content_width () gtk_scrolled_window_get_max_content_width int gtk_scrolled_window_get_max_content_width (GtkScrolledWindow *scrolled_window); Returns the maximum content width set. Parameters scrolled_window a GtkScrolledWindow Returns the maximum content width, or -1 gtk_scrolled_window_set_max_content_width () gtk_scrolled_window_set_max_content_width void gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window, int width); Sets the maximum width that scrolled_window should keep visible. The scrolled_window will grow up to this width before it starts scrolling the content. It is a programming error to set the maximum content width to a value smaller than “min-content-width”. Parameters scrolled_window a GtkScrolledWindow width the maximum content width gtk_scrolled_window_get_max_content_height () gtk_scrolled_window_get_max_content_height int gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window); Returns the maximum content height set. Parameters scrolled_window a GtkScrolledWindow Returns the maximum content height, or -1 gtk_scrolled_window_set_max_content_height () gtk_scrolled_window_set_max_content_height void gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window, int height); Sets the maximum height that scrolled_window should keep visible. The scrolled_window will grow up to this height before it starts scrolling the content. It is a programming error to set the maximum content height to a value smaller than “min-content-height”. Parameters scrolled_window a GtkScrolledWindow height the maximum content height gtk_scrolled_window_get_propagate_natural_width () gtk_scrolled_window_get_propagate_natural_width gboolean gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_window); Reports whether the natural width of the child will be calculated and propagated through the scrolled window’s requested natural width. Parameters scrolled_window a GtkScrolledWindow Returns whether natural width propagation is enabled. gtk_scrolled_window_set_propagate_natural_width () gtk_scrolled_window_set_propagate_natural_width void gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window, gboolean propagate); Sets whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width. Parameters scrolled_window a GtkScrolledWindow propagate whether to propagate natural width gtk_scrolled_window_get_propagate_natural_height () gtk_scrolled_window_get_propagate_natural_height gboolean gtk_scrolled_window_get_propagate_natural_height (GtkScrolledWindow *scrolled_window); Reports whether the natural height of the child will be calculated and propagated through the scrolled window’s requested natural height. Parameters scrolled_window a GtkScrolledWindow Returns whether natural height propagation is enabled. gtk_scrolled_window_set_propagate_natural_height () gtk_scrolled_window_set_propagate_natural_height void gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window, gboolean propagate); Sets whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height. Parameters scrolled_window a GtkScrolledWindow propagate whether to propagate natural height Types and Values GtkScrolledWindow GtkScrolledWindow typedef struct _GtkScrolledWindow GtkScrolledWindow; enum GtkPolicyType GtkPolicyType Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars. Members GTK_POLICY_ALWAYS The scrollbar is always visible. The view size is independent of the content. GTK_POLICY_AUTOMATIC The scrollbar will appear and disappear as necessary. For example, when all of a GtkTreeView can not be seen. GTK_POLICY_NEVER The scrollbar should never appear. In this mode the content determines the size. GTK_POLICY_EXTERNAL Don't show a scrollbar, but don't force the size to follow the content. This can be used e.g. to make multiple scrolled windows share a scrollbar. enum GtkCornerType GtkCornerType Specifies which corner a child widget should be placed in when packed into a GtkScrolledWindow. This is effectively the opposite of where the scroll bars are placed. Members GTK_CORNER_TOP_LEFT Place the scrollbars on the right and bottom of the widget (default behaviour). GTK_CORNER_BOTTOM_LEFT Place the scrollbars on the top and right of the widget. GTK_CORNER_TOP_RIGHT Place the scrollbars on the left and bottom of the widget. GTK_CORNER_BOTTOM_RIGHT Place the scrollbars on the top and left of the widget. Property Details The <literal>“child”</literal> property GtkScrolledWindow:child “child” GtkWidget * The child widget.Owner: GtkScrolledWindow Flags: Read / Write The <literal>“hadjustment”</literal> property GtkScrolledWindow:hadjustment “hadjustment” GtkAdjustment * The GtkAdjustment for the horizontal position.Owner: GtkScrolledWindow Flags: Read / Write / Construct The <literal>“has-frame”</literal> property GtkScrolledWindow:has-frame “has-frame” gboolean Whether to draw a frame around the contents.Owner: GtkScrolledWindow Flags: Read / Write Default value: FALSE The <literal>“hscrollbar-policy”</literal> property GtkScrolledWindow:hscrollbar-policy “hscrollbar-policy” GtkPolicyType When the horizontal scrollbar is displayed.Owner: GtkScrolledWindow Flags: Read / Write Default value: GTK_POLICY_AUTOMATIC The <literal>“kinetic-scrolling”</literal> property GtkScrolledWindow:kinetic-scrolling “kinetic-scrolling” gboolean Whether kinetic scrolling is enabled or not. Kinetic scrolling only applies to devices with source GDK_SOURCE_TOUCHSCREEN. Owner: GtkScrolledWindow Flags: Read / Write Default value: TRUE The <literal>“max-content-height”</literal> property GtkScrolledWindow:max-content-height “max-content-height” gint The maximum content height of scrolled_window , or -1 if not set. Owner: GtkScrolledWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“max-content-width”</literal> property GtkScrolledWindow:max-content-width “max-content-width” gint The maximum content width of scrolled_window , or -1 if not set. Owner: GtkScrolledWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“min-content-height”</literal> property GtkScrolledWindow:min-content-height “min-content-height” gint The minimum content height of scrolled_window , or -1 if not set. Owner: GtkScrolledWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“min-content-width”</literal> property GtkScrolledWindow:min-content-width “min-content-width” gint The minimum content width of scrolled_window , or -1 if not set. Owner: GtkScrolledWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“overlay-scrolling”</literal> property GtkScrolledWindow:overlay-scrolling “overlay-scrolling” gboolean Whether overlay scrolling is enabled or not. If it is, the scrollbars are only added as traditional widgets when a mouse is present. Otherwise, they are overlayed on top of the content, as narrow indicators. Note that overlay scrolling can also be globally disabled, with the “gtk-overlay-scrolling” setting. Owner: GtkScrolledWindow Flags: Read / Write Default value: TRUE The <literal>“propagate-natural-height”</literal> property GtkScrolledWindow:propagate-natural-height “propagate-natural-height” gboolean Whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height. This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child. Owner: GtkScrolledWindow Flags: Read / Write Default value: FALSE The <literal>“propagate-natural-width”</literal> property GtkScrolledWindow:propagate-natural-width “propagate-natural-width” gboolean Whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width. This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child. Owner: GtkScrolledWindow Flags: Read / Write Default value: FALSE The <literal>“vadjustment”</literal> property GtkScrolledWindow:vadjustment “vadjustment” GtkAdjustment * The GtkAdjustment for the vertical position.Owner: GtkScrolledWindow Flags: Read / Write / Construct The <literal>“vscrollbar-policy”</literal> property GtkScrolledWindow:vscrollbar-policy “vscrollbar-policy” GtkPolicyType When the vertical scrollbar is displayed.Owner: GtkScrolledWindow Flags: Read / Write Default value: GTK_POLICY_AUTOMATIC The <literal>“window-placement”</literal> property GtkScrolledWindow:window-placement “window-placement” GtkCornerType Where the contents are located with respect to the scrollbars.Owner: GtkScrolledWindow Flags: Read / Write Default value: GTK_CORNER_TOP_LEFT Signal Details The <literal>“edge-overshot”</literal> signal GtkScrolledWindow::edge-overshot void user_function (GtkScrolledWindow *scrolled_window, GtkPositionType pos, gpointer user_data) The ::edge-overshot signal is emitted whenever user initiated scrolling makes the scrolled window firmly surpass (i.e. with some edge resistance) the lower or upper limits defined by the adjustment in that orientation. A similar behavior without edge resistance is provided by the “edge-reached” signal. Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges. Parameters scrolled_window a GtkScrolledWindow pos edge side that was hit user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“edge-reached”</literal> signal GtkScrolledWindow::edge-reached void user_function (GtkScrolledWindow *scrolled_window, GtkPositionType pos, gpointer user_data) The ::edge-reached signal is emitted whenever user-initiated scrolling makes the scrolled window exactly reach the lower or upper limits defined by the adjustment in that orientation. A similar behavior with edge resistance is provided by the “edge-overshot” signal. Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges. Parameters scrolled_window a GtkScrolledWindow pos edge side that was reached user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“move-focus-out”</literal> signal GtkScrolledWindow::move-focus-out void user_function (GtkScrolledWindow *scrolled_window, GtkDirectionType direction_type, gpointer user_data) The ::move-focus-out signal is a keybinding signal which gets emitted when focus is moved away from the scrolled window by a keybinding. The “move-focus” signal is emitted with direction_type on this scrolled window’s toplevel parent in the container hierarchy. The default bindings for this signal are Ctrl + Tab to move forward and Ctrl + Shift + Tab to move backward. Parameters scrolled_window a GtkScrolledWindow direction_type either GTK_DIR_TAB_FORWARD or GTK_DIR_TAB_BACKWARD user_data user data set when the signal handler was connected. Flags: Action The <literal>“scroll-child”</literal> signal GtkScrolledWindow::scroll-child gboolean user_function (GtkScrolledWindow *scrolled_window, GtkScrollType scroll, gboolean horizontal, gpointer user_data) The ::scroll-child signal is a keybinding signal which gets emitted when a keybinding that scrolls is pressed. The horizontal or vertical adjustment is updated which triggers a signal that the scrolled window’s child may listen to and scroll itself. Parameters scrolled_window a GtkScrolledWindow scroll a GtkScrollType describing how much to scroll horizontal whether the keybinding scrolls the child horizontally or not user_data user data set when the signal handler was connected. Flags: Action See Also GtkScrollable, GtkViewport, GtkAdjustment docs/reference/gtk/xml/gtkfilechooserbutton.xml0000664000175000017500000006521113710700311022145 0ustar mclasenmclasen ]> GtkFileChooserButton 3 GTK4 Library GtkFileChooserButton A button to launch a file chooser dialog Functions GtkWidget * gtk_file_chooser_button_new () GtkWidget * gtk_file_chooser_button_new_with_dialog () const char * gtk_file_chooser_button_get_title () void gtk_file_chooser_button_set_title () int gtk_file_chooser_button_get_width_chars () void gtk_file_chooser_button_set_width_chars () gboolean gtk_file_chooser_button_get_modal () void gtk_file_chooser_button_set_modal () Properties GtkFileChooser *dialogWrite / Construct Only gbooleanmodalRead / Write gchar *titleRead / Write gintwidth-charsRead / Write Signals voidfile-setRun First Types and Values GtkFileChooserButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFileChooserButton Implemented Interfaces GtkFileChooserButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFileChooser. Includes#include <gtk/gtk.h> Description The GtkFileChooserButton is a widget that lets the user select a file. It implements the GtkFileChooser interface. Visually, it is a file name with a button to bring up a GtkFileChooserDialog. The user can then use that dialog to change the file associated with that button. This widget does not support setting the “select-multiple” property to TRUE. Create a button to let the user select a file in /etc The GtkFileChooserButton supports the GtkFileChooserActions GTK_FILE_CHOOSER_ACTION_OPEN and GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
The GtkFileChooserButton will ellipsize the label, and will thus request little horizontal space. To give the button more space, you should call gtk_widget_get_preferred_size(), gtk_file_chooser_button_set_width_chars(), or pack the button in such a way that other interface elements give space to the widget.
CSS nodesGtkFileChooserButton has a single CSS node with the name “filechooserbutton”.
Functions gtk_file_chooser_button_new () gtk_file_chooser_button_new GtkWidget * gtk_file_chooser_button_new (const char *title, GtkFileChooserAction action); Creates a new file-selecting button widget. Parameters title the title of the browse dialog. action the open mode for the widget. Returns a new button widget. gtk_file_chooser_button_new_with_dialog () gtk_file_chooser_button_new_with_dialog GtkWidget * gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog); Creates a GtkFileChooserButton widget which uses dialog as its file-picking window. Note that dialog must be a GtkDialog (or subclass) which implements the GtkFileChooser interface and must not have GTK_DIALOG_DESTROY_WITH_PARENT set. Also note that the dialog needs to have its confirmative button added with response GTK_RESPONSE_ACCEPT or GTK_RESPONSE_OK in order for the button to take over the file selected in the dialog. Parameters dialog the widget to use as dialog. [type Gtk.Dialog] Returns a new button widget. gtk_file_chooser_button_get_title () gtk_file_chooser_button_get_title const char * gtk_file_chooser_button_get_title (GtkFileChooserButton *button); Retrieves the title of the browse dialog used by button . The returned value should not be modified or freed. Parameters button the button widget to examine. Returns a pointer to the browse dialog’s title. gtk_file_chooser_button_set_title () gtk_file_chooser_button_set_title void gtk_file_chooser_button_set_title (GtkFileChooserButton *button, const char *title); Modifies the title of the browse dialog used by button . Parameters button the button widget to modify. title the new browse dialog title. gtk_file_chooser_button_get_width_chars () gtk_file_chooser_button_get_width_chars int gtk_file_chooser_button_get_width_chars (GtkFileChooserButton *button); Retrieves the width in characters of the button widget’s entry and/or label. Parameters button the button widget to examine. Returns an integer width (in characters) that the button will use to size itself. gtk_file_chooser_button_set_width_chars () gtk_file_chooser_button_set_width_chars void gtk_file_chooser_button_set_width_chars (GtkFileChooserButton *button, int n_chars); Sets the width (in characters) that button will use to n_chars . Parameters button the button widget to examine. n_chars the new width, in characters. gtk_file_chooser_button_get_modal () gtk_file_chooser_button_get_modal gboolean gtk_file_chooser_button_get_modal (GtkFileChooserButton *button); Gets whether the dialog is modal. Parameters button a GtkFileChooserButton Returns TRUE if the dialog is modal gtk_file_chooser_button_set_modal () gtk_file_chooser_button_set_modal void gtk_file_chooser_button_set_modal (GtkFileChooserButton *button, gboolean modal); Sets whether the dialog should be modal. Parameters button a GtkFileChooserButton modal TRUE to make the dialog modal Types and Values GtkFileChooserButton GtkFileChooserButton typedef struct _GtkFileChooserButton GtkFileChooserButton; Property Details The <literal>“dialog”</literal> property GtkFileChooserButton:dialog “dialog” GtkFileChooser * Instance of the GtkFileChooserDialog associated with the button. Owner: GtkFileChooserButton Flags: Write / Construct Only The <literal>“modal”</literal> property GtkFileChooserButton:modal “modal” gboolean Whether to make the dialog modal.Owner: GtkFileChooserButton Flags: Read / Write Default value: TRUE The <literal>“title”</literal> property GtkFileChooserButton:title “title” gchar * Title to put on the GtkFileChooserDialog associated with the button. Owner: GtkFileChooserButton Flags: Read / Write Default value: "Select a File" The <literal>“width-chars”</literal> property GtkFileChooserButton:width-chars “width-chars” gint The width of the entry and label inside the button, in characters. Owner: GtkFileChooserButton Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“file-set”</literal> signal GtkFileChooserButton::file-set void user_function (GtkFileChooserButton *widget, gpointer user_data) The ::file-set signal is emitted when the user selects a file. Note that this signal is only emitted when the user changes the file. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First See Also GtkFileChooserDialog
docs/reference/gtk/xml/gtksearchbar.xml0000664000175000017500000006302113710700312020337 0ustar mclasenmclasen ]> GtkSearchBar 3 GTK4 Library GtkSearchBar A toolbar to integrate a search entry with Functions GtkWidget * gtk_search_bar_new () void gtk_search_bar_set_child () GtkWidget * gtk_search_bar_get_child () void gtk_search_bar_connect_entry () gboolean gtk_search_bar_get_search_mode () void gtk_search_bar_set_search_mode () gboolean gtk_search_bar_get_show_close_button () void gtk_search_bar_set_show_close_button () void gtk_search_bar_set_key_capture_widget () GtkWidget * gtk_search_bar_get_key_capture_widget () Properties GtkWidget *childRead / Write / Construct GtkWidget *key-capture-widgetRead / Write / Construct gbooleansearch-mode-enabledRead / Write gbooleanshow-close-buttonRead / Write / Construct Types and Values GtkSearchBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSearchBar Implemented Interfaces GtkSearchBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkSearchBar is a container made to have a search entry (possibly with additional connex widgets, such as drop-down menus, or buttons) built-in. The search bar would appear when a search is started through typing on the keyboard, or the application’s search mode is toggled on. For keyboard presses to start a search, the search bar must be told of a widget to capture key events from through gtk_search_bar_set_key_capture_widget(). This widget will typically be the top-level window, or a parent container of the search bar. Common shortcuts such as Ctrl+F should be handled as an application action, or through the menu items. You will also need to tell the search bar about which entry you are using as your search entry using gtk_search_bar_connect_entry(). The following example shows you how to create a more complex search entry. CSS nodes GtkSearchBar has a main CSS node with name searchbar. It has a child node with name revealer that contains a node with name box. The box node contains both the CSS node of the child widget as well as an optional button node which gets the .close style class applied. Creating a search barA simple example Functions gtk_search_bar_new () gtk_search_bar_new GtkWidget * gtk_search_bar_new (void); Creates a GtkSearchBar. You will need to tell it about which widget is going to be your text entry using gtk_search_bar_connect_entry(). Returns a new GtkSearchBar gtk_search_bar_set_child () gtk_search_bar_set_child void gtk_search_bar_set_child (GtkSearchBar *bar, GtkWidget *child); Sets the child widget of bar . Parameters bar a GtkSearchBar child the child widget. [allow-none] gtk_search_bar_get_child () gtk_search_bar_get_child GtkWidget * gtk_search_bar_get_child (GtkSearchBar *bar); Gets the child widget of bar . Parameters bar a GtkSearchBar Returns the child widget of bar . [nullable][transfer none] gtk_search_bar_connect_entry () gtk_search_bar_connect_entry void gtk_search_bar_connect_entry (GtkSearchBar *bar, GtkEditable *entry); Connects the GtkEntry widget passed as the one to be used in this search bar. The entry should be a descendant of the search bar. This is only required if the entry isn’t the direct child of the search bar (as in our main example). Parameters bar a GtkSearchBar entry a GtkEditable gtk_search_bar_get_search_mode () gtk_search_bar_get_search_mode gboolean gtk_search_bar_get_search_mode (GtkSearchBar *bar); Returns whether the search mode is on or off. Parameters bar a GtkSearchBar Returns whether search mode is toggled on gtk_search_bar_set_search_mode () gtk_search_bar_set_search_mode void gtk_search_bar_set_search_mode (GtkSearchBar *bar, gboolean search_mode); Switches the search mode on or off. Parameters bar a GtkSearchBar search_mode the new state of the search mode gtk_search_bar_get_show_close_button () gtk_search_bar_get_show_close_button gboolean gtk_search_bar_get_show_close_button (GtkSearchBar *bar); Returns whether the close button is shown. Parameters bar a GtkSearchBar Returns whether the close button is shown gtk_search_bar_set_show_close_button () gtk_search_bar_set_show_close_button void gtk_search_bar_set_show_close_button (GtkSearchBar *bar, gboolean visible); Shows or hides the close button. Applications that already have a “search” toggle button should not show a close button in their search bar, as it duplicates the role of the toggle button. Parameters bar a GtkSearchBar visible whether the close button will be shown or not gtk_search_bar_set_key_capture_widget () gtk_search_bar_set_key_capture_widget void gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar, GtkWidget *widget); Sets widget as the widget that bar will capture key events from. If key events are handled by the search bar, the bar will be shown, and the entry populated with the entered text. Parameters bar a GtkSearchBar widget a GtkWidget. [nullable][transfer none] gtk_search_bar_get_key_capture_widget () gtk_search_bar_get_key_capture_widget GtkWidget * gtk_search_bar_get_key_capture_widget (GtkSearchBar *bar); Gets the widget that bar is capturing key events from. Parameters bar a GtkSearchBar Returns The key capture widget. [transfer none] Types and Values GtkSearchBar GtkSearchBar typedef struct _GtkSearchBar GtkSearchBar; Property Details The <literal>“child”</literal> property GtkSearchBar:child “child” GtkWidget * The child widget.Owner: GtkSearchBar Flags: Read / Write / Construct The <literal>“key-capture-widget”</literal> property GtkSearchBar:key-capture-widget “key-capture-widget” GtkWidget * Key Capture Widget.Owner: GtkSearchBar Flags: Read / Write / Construct The <literal>“search-mode-enabled”</literal> property GtkSearchBar:search-mode-enabled “search-mode-enabled” gboolean Whether the search mode is on and the search bar shown. See gtk_search_bar_set_search_mode() for details. Owner: GtkSearchBar Flags: Read / Write Default value: FALSE The <literal>“show-close-button”</literal> property GtkSearchBar:show-close-button “show-close-button” gboolean Whether to show the close button in the search bar. Owner: GtkSearchBar Flags: Read / Write / Construct Default value: FALSE docs/reference/gtk/xml/gtkfilefilter.xml0000664000175000017500000005500313710700311020532 0ustar mclasenmclasen ]> GtkFileFilter 3 GTK4 Library GtkFileFilter Filtering files Functions GtkFileFilter * gtk_file_filter_new () void gtk_file_filter_set_name () const char * gtk_file_filter_get_name () void gtk_file_filter_add_mime_type () void gtk_file_filter_add_pattern () void gtk_file_filter_add_pixbuf_formats () const char ** gtk_file_filter_get_attributes () GtkFileFilter * gtk_file_filter_new_from_gvariant () GVariant * gtk_file_filter_to_gvariant () Properties gchar *nameRead / Write Types and Values GtkFileFilter Object Hierarchy GObject ╰── GtkFilter ╰── GtkFileFilter Implemented Interfaces GtkFileFilter implements GtkBuildable. Includes#include <gtk/gtk.h> Description A GtkFileFilter can be used to restrict the files being shown in a GtkFileChooser. Files can be filtered based on their name (with gtk_file_filter_add_pattern()) or on their mime type (with gtk_file_filter_add_mime_type()). Filtering by mime types handles aliasing and subclassing of mime types; e.g. a filter for text/plain also matches a file with mime type application/rtf, since application/rtf is a subclass of text/plain. Note that GtkFileFilter allows wildcards for the subtype of a mime type, so you can e.g. filter for image/*. Normally, file filters are used by adding them to a GtkFileChooser (see gtk_file_chooser_add_filter()), but it is also possible to manually use a file filter on any GtkFilterListModel containing GFileInfo objects. GtkFileFilter as GtkBuildableThe GtkFileFilter implementation of the GtkBuildable interface supports adding rules using the <mime-types> and <patterns> elements and listing the rules within. Specifying a <mime-type> or <pattern> has the same effect as as calling gtk_file_filter_add_mime_type() or gtk_file_filter_add_pattern(). An example of a UI definition fragment specifying GtkFileFilter rules: Text and Images text/plain image/ * *.txt *.png
]]>
Functions gtk_file_filter_new () gtk_file_filter_new GtkFileFilter * gtk_file_filter_new (void); Creates a new GtkFileFilter with no rules added to it. Such a filter doesn’t accept any files, so is not particularly useful until you add rules with gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(), or gtk_file_filter_add_pixbuf_formats(). To create a filter that accepts any file, use: Returns a new GtkFileFilter gtk_file_filter_set_name () gtk_file_filter_set_name void gtk_file_filter_set_name (GtkFileFilter *filter, const char *name); Sets a human-readable name of the filter; this is the string that will be displayed in the file chooser if there is a selectable list of filters. Parameters filter a GtkFileFilter name the human-readable-name for the filter, or NULL to remove any existing name. [allow-none] gtk_file_filter_get_name () gtk_file_filter_get_name const char * gtk_file_filter_get_name (GtkFileFilter *filter); Gets the human-readable name for the filter. See gtk_file_filter_set_name(). Parameters filter a GtkFileFilter Returns The human-readable name of the filter, or NULL. This value is owned by GTK and must not be modified or freed. [nullable] gtk_file_filter_add_mime_type () gtk_file_filter_add_mime_type void gtk_file_filter_add_mime_type (GtkFileFilter *filter, const char *mime_type); Adds a rule allowing a given mime type to filter . Parameters filter A GtkFileFilter mime_type name of a MIME type gtk_file_filter_add_pattern () gtk_file_filter_add_pattern void gtk_file_filter_add_pattern (GtkFileFilter *filter, const char *pattern); Adds a rule allowing a shell style glob to a filter. Parameters filter a GtkFileFilter pattern a shell style glob gtk_file_filter_add_pixbuf_formats () gtk_file_filter_add_pixbuf_formats void gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter); Adds a rule allowing image files in the formats supported by GdkPixbuf. This is equivalent to calling gtk_file_filter_add_mime_type() for all the supported mime types. Parameters filter a GtkFileFilter gtk_file_filter_get_attributes () gtk_file_filter_get_attributes const char ** gtk_file_filter_get_attributes (GtkFileFilter *filter); Gets the attributes that need to be filled in for the GFileInfo passed to gtk_file_filter_filter() This function will not typically be used by applications; it is intended principally for use in the implementation of GtkFileChooser. Parameters filter a GtkFileFilter Returns the attributes. [transfer none] gtk_file_filter_new_from_gvariant () gtk_file_filter_new_from_gvariant GtkFileFilter * gtk_file_filter_new_from_gvariant (GVariant *variant); Deserialize a file filter from an a{sv} variant in the format produced by gtk_file_filter_to_gvariant(). Parameters variant an a{sv} GVariant Returns a new GtkFileFilter object. [transfer full] gtk_file_filter_to_gvariant () gtk_file_filter_to_gvariant GVariant * gtk_file_filter_to_gvariant (GtkFileFilter *filter); Serialize a file filter to an a{sv} variant. Parameters filter a GtkFileFilter Returns a new, floating, GVariant. [transfer none] Types and Values GtkFileFilter GtkFileFilter typedef struct _GtkFileFilter GtkFileFilter; Property Details The <literal>“name”</literal> property GtkFileFilter:name “name” gchar * The human-readable name of the filter. This is the string that will be displayed in the file selector user interface if there is a selectable list of filters. Owner: GtkFileFilter Flags: Read / Write Default value: NULL See Also GtkFileChooser
docs/reference/gtk/xml/gtksearchentry.xml0000664000175000017500000005727313710700312020750 0ustar mclasenmclasen ]> GtkSearchEntry 3 GTK4 Library GtkSearchEntry An entry which shows a search icon Functions GtkWidget * gtk_search_entry_new () void gtk_search_entry_set_key_capture_widget () GtkWidget * gtk_search_entry_get_key_capture_widget () Properties gbooleanactivates-defaultRead / Write gchar *placeholder-textRead / Write Signals voidactivateAction voidnext-matchAction voidprevious-matchAction voidsearch-changedRun Last voidsearch-startedRun Last voidstop-searchAction Types and Values GtkSearchEntry Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSearchEntry Implemented Interfaces GtkSearchEntry implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkEditable. Includes#include <gtk/gtk.h> Description GtkSearchEntry is an entry widget that has been tailored for use as a search entry. The main aPI for interacting with a GtkSearchEntry as entry is the GtkEditable interface. It will show an inactive symbolic “find” icon when the search entry is empty, and a symbolic “clear” icon when there is text. Clicking on the “clear” icon will empty the search entry. To make filtering appear more reactive, it is a good idea to not react to every change in the entry text immediately, but only after a short delay. To support this, GtkSearchEntry emits the “search-changed” signal which can be used instead of the “changed” signal. The “previous-match”, “next-match” and “stop-search” signals can be used to implement moving between search results and ending the search. Often, GtkSearchEntry will be fed events by means of being placed inside a GtkSearchBar. If that is not the case, you can use gtk_search_entry_set_key_capture_widget() to let it capture key input from another widget. CSS Nodes GtkSearchEntry has a single CSS node with name entry that carries a .sarch style class, and the text node is a child of that. AccessibilityGtkSearchEntry uses the GTK_ACCESSIBLE_ROLE_SEARCH_BOX role. Functions gtk_search_entry_new () gtk_search_entry_new GtkWidget * gtk_search_entry_new (void); Creates a GtkSearchEntry, with a find icon when the search field is empty, and a clear icon when it isn't. Returns a new GtkSearchEntry gtk_search_entry_set_key_capture_widget () gtk_search_entry_set_key_capture_widget void gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry, GtkWidget *widget); Sets widget as the widget that entry will capture key events from. Key events are consumed by the search entry to start or continue a search. If the entry is part of a GtkSearchBar, it is preferable to call gtk_search_bar_set_key_capture_widget() instead, which will reveal the entry in addition to triggering the search entry. Parameters entry a GtkSearchEntry widget a GtkWidget. [nullable][transfer none] gtk_search_entry_get_key_capture_widget () gtk_search_entry_get_key_capture_widget GtkWidget * gtk_search_entry_get_key_capture_widget (GtkSearchEntry *entry); Gets the widget that entry is capturing key events from. Parameters entry a GtkSearchEntry Returns The key capture widget. [transfer none] Types and Values GtkSearchEntry GtkSearchEntry typedef struct _GtkSearchEntry GtkSearchEntry; Property Details The <literal>“activates-default”</literal> property GtkSearchEntry:activates-default “activates-default” gboolean Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed.Owner: GtkSearchEntry Flags: Read / Write Default value: FALSE The <literal>“placeholder-text”</literal> property GtkSearchEntry:placeholder-text “placeholder-text” gchar * Show text in the entry when it’s empty and unfocused.Owner: GtkSearchEntry Flags: Read / Write Default value: NULL Signal Details The <literal>“activate”</literal> signal GtkSearchEntry::activate void user_function (GtkSearchEntry *searchentry, gpointer user_data) Flags: Action The <literal>“next-match”</literal> signal GtkSearchEntry::next-match void user_function (GtkSearchEntry *entry, gpointer user_data) The ::next-match signal is a keybinding signal which gets emitted when the user initiates a move to the next match for the current search string. Applications should connect to it, to implement moving between matches. The default bindings for this signal is Ctrl-g. Parameters entry the entry on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“previous-match”</literal> signal GtkSearchEntry::previous-match void user_function (GtkSearchEntry *entry, gpointer user_data) The ::previous-match signal is a keybinding signal which gets emitted when the user initiates a move to the previous match for the current search string. Applications should connect to it, to implement moving between matches. The default bindings for this signal is Ctrl-Shift-g. Parameters entry the entry on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“search-changed”</literal> signal GtkSearchEntry::search-changed void user_function (GtkSearchEntry *entry, gpointer user_data) The “search-changed” signal is emitted with a short delay of 150 milliseconds after the last change to the entry text. Parameters entry the entry on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“search-started”</literal> signal GtkSearchEntry::search-started void user_function (GtkSearchEntry *entry, gpointer user_data) The ::search-started signal gets emitted when the user initiated a search on the entry. Parameters entry the entry on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“stop-search”</literal> signal GtkSearchEntry::stop-search void user_function (GtkSearchEntry *entry, gpointer user_data) The ::stop-search signal is a keybinding signal which gets emitted when the user stops a search via keyboard input. Applications should connect to it, to implement hiding the search entry in this case. The default bindings for this signal is Escape. Parameters entry the entry on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtkdirectorylist.xml0000664000175000017500000007746613710700311021326 0ustar mclasenmclasen ]> GtkDirectoryList 3 GTK4 Library GtkDirectoryList A list model for directory listings Functions GtkDirectoryList * gtk_directory_list_new () const char * gtk_directory_list_get_attributes () void gtk_directory_list_set_attributes () GFile * gtk_directory_list_get_file () void gtk_directory_list_set_file () int gtk_directory_list_get_io_priority () void gtk_directory_list_set_io_priority () gboolean gtk_directory_list_get_monitored () void gtk_directory_list_set_monitored () gboolean gtk_directory_list_is_loading () const GError * gtk_directory_list_get_error () Properties gchar *attributesRead / Write GError *errorRead GFile *fileRead / Write gintio-priorityRead / Write GType *item-typeRead gbooleanloadingRead gbooleanmonitoredRead / Write Types and Values GtkDirectoryList Object Hierarchy GObject ╰── GtkDirectoryList Implemented Interfaces GtkDirectoryList implements GListModel. Includes#include <gtk/gtk.h> Description GtkDirectoryList is a list model that wraps g_file_enumerate_children_async(). It presents a GListModel and fills it asynchronously with the GFileInfos returned from that function. Enumeration will start automatically when a the GtkDirectoryList:file property is set. While the GtkDirectoryList is being filled, the GtkDirectoryList:loading property will be set to TRUE. You can listen to that property if you want to show information like a GtkSpinner or a "Loading..." text. If loading fails at any point, the GtkDirectoryList:error property will be set to give more indication about the failure. The GFileInfos returned from a GtkDirectoryList have the "standard::file" attribute set to the GFile they refer to. This way you can get at the file that is referred to in the same way you would via g_file_enumerator_get_child(). This means you do not need access to the GtkDirectoryList but can access the GFile directly from the GFileInfo when operating with a GtkListView or similar. Functions gtk_directory_list_new () gtk_directory_list_new GtkDirectoryList * gtk_directory_list_new (const char *attributes, GFile *file); Creates a new GtkDirectoryList querying the given file with the given attributes . Parameters file The file to query. [allow-none] attributes The attributes to query with. [allow-none] Returns a new GtkDirectoryList gtk_directory_list_get_attributes () gtk_directory_list_get_attributes const char * gtk_directory_list_get_attributes (GtkDirectoryList *self); Gets the attributes queried on the children. Parameters self a GtkDirectoryList Returns The queried attributes. [nullable][transfer none] gtk_directory_list_set_attributes () gtk_directory_list_set_attributes void gtk_directory_list_set_attributes (GtkDirectoryList *self, const char *attributes); Sets the attributes to be enumerated and starts the enumeration. If attributes is NULL, no attributes will be queried, but a list of GFileInfos will still be created. Parameters self a GtkDirectoryList attributes the attributes to enumerate. [allow-none] gtk_directory_list_get_file () gtk_directory_list_get_file GFile * gtk_directory_list_get_file (GtkDirectoryList *self); Gets the file whose children are currently enumerated. Parameters self a GtkDirectoryList Returns The file whose children are enumerated. [nullable][transfer none] gtk_directory_list_set_file () gtk_directory_list_set_file void gtk_directory_list_set_file (GtkDirectoryList *self, GFile *file); Sets the file to be enumerated and starts the enumeration. If file is NULL, the result will be an empty list. Parameters self a GtkDirectoryList file the GFile to be enumerated. [allow-none] gtk_directory_list_get_io_priority () gtk_directory_list_get_io_priority int gtk_directory_list_get_io_priority (GtkDirectoryList *self); Gets the IO priority set via gtk_directory_list_set_io_priority(). Parameters self a GtkDirectoryList Returns The IO priority. gtk_directory_list_set_io_priority () gtk_directory_list_set_io_priority void gtk_directory_list_set_io_priority (GtkDirectoryList *self, int io_priority); Sets the IO priority to use while loading directories. Setting the priority while self is loading will reprioritize the ongoing load as soon as possible. The default IO priority is G_PRIORITY_DEFAULT, which is higher than the GTK redraw priority. If you are loading a lot of directories in parrallel, lowering it to something like G_PRIORITY_DEFAULT_IDLE may increase responsiveness. Parameters self a GtkDirectoryList io_priority IO priority to use gtk_directory_list_get_monitored () gtk_directory_list_get_monitored gboolean gtk_directory_list_get_monitored (GtkDirectoryList *self); Returns whether the directory list is monitoring the directory for changes. Parameters self a GtkDirectoryList Returns TRUE if the directory is monitored gtk_directory_list_set_monitored () gtk_directory_list_set_monitored void gtk_directory_list_set_monitored (GtkDirectoryList *self, gboolean monitored); Sets whether the directory list will monitor the directory for changes. If monitoring is enabled, the “items-changed” signal will be emitted when the directory contents change. When monitoring is turned on after the initial creation of the directory list, the directory is reloaded to avoid missing files that appeared between the initial loading and when monitoring was turned on. Parameters self a GtkDirectoryList monitored TRUE to monitor the directory for changes gtk_directory_list_is_loading () gtk_directory_list_is_loading gboolean gtk_directory_list_is_loading (GtkDirectoryList *self); Returns TRUE if the children enumeration is currently in progress. Files will be added to self from time to time while loading is going on. The order in which are added is undefined and may change inbetween runs. Parameters self a GtkDirectoryList Returns TRUE if self is loading gtk_directory_list_get_error () gtk_directory_list_get_error const GError * gtk_directory_list_get_error (GtkDirectoryList *self); Gets the loading error, if any. If an error occurs during the loading process, the loading process will finish and this property allows querying the error that happened. This error will persist until a file is loaded again. An error being set does not mean that no files were loaded, and all successfully queried files will remain in the list. Parameters self a GtkDirectoryList Returns The loading error or NULL if loading finished successfully. [nullable][transfer none] Types and Values GtkDirectoryList GtkDirectoryList typedef struct _GtkDirectoryList GtkDirectoryList; Property Details The <literal>“attributes”</literal> property GtkDirectoryList:attributes “attributes” gchar * The attributes to query Owner: GtkDirectoryList Flags: Read / Write Default value: NULL The <literal>“error”</literal> property GtkDirectoryList:error “error” GError * Error encountered while loading files Owner: GtkDirectoryList Flags: Read The <literal>“file”</literal> property GtkDirectoryList:file “file” GFile * File to query Owner: GtkDirectoryList Flags: Read / Write The <literal>“io-priority”</literal> property GtkDirectoryList:io-priority “io-priority” gint Priority used when loading Owner: GtkDirectoryList Flags: Read / Write Allowed values: >= -2147483647 Default value: 0 The <literal>“item-type”</literal> property GtkDirectoryList:item-type “item-type” GType * The GType for elements of this object Owner: GtkDirectoryList Flags: Read Allowed values: GFileInfo The <literal>“loading”</literal> property GtkDirectoryList:loading “loading” gboolean TRUE if files are being loaded Owner: GtkDirectoryList Flags: Read Default value: FALSE The <literal>“monitored”</literal> property GtkDirectoryList:monitored “monitored” gboolean TRUE if the directory is monitored for changed Owner: GtkDirectoryList Flags: Read / Write Default value: TRUE See Also GListModel, g_file_enumerate_children() docs/reference/gtk/xml/gtkseparator.xml0000664000175000017500000001241413710700312020405 0ustar mclasenmclasen ]> GtkSeparator 3 GTK4 Library GtkSeparator A separator widget Functions GtkWidget * gtk_separator_new () Types and Values GtkSeparator Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSeparator Implemented Interfaces GtkSeparator implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkSeparator is a horizontal or vertical separator widget, depending on the value of the “orientation” property, used to group the widgets within a window. It displays a line with a shadow to make it appear sunken into the interface. CSS nodesGtkSeparator has a single CSS node with name separator. The node gets one of the .horizontal or .vertical style classes. AccessibilityGtkSeparator uses the GTK_ACCESSIBLE_ROLE_SEPARATOR role. Functions gtk_separator_new () gtk_separator_new GtkWidget * gtk_separator_new (GtkOrientation orientation); Creates a new GtkSeparator with the given orientation. Parameters orientation the separator’s orientation. Returns a new GtkSeparator. Types and Values GtkSeparator GtkSeparator typedef struct _GtkSeparator GtkSeparator; docs/reference/gtk/xml/gtkbookmarklist.xml0000664000175000017500000004745513710700311021122 0ustar mclasenmclasen ]> GtkBookmarkList 3 GTK4 Library GtkBookmarkList A list model for recently used files Functions GtkBookmarkList * gtk_bookmark_list_new () const char * gtk_bookmark_list_get_filename () void gtk_bookmark_list_set_attributes () const char * gtk_bookmark_list_get_attributes () void gtk_bookmark_list_set_io_priority () int gtk_bookmark_list_get_io_priority () gboolean gtk_bookmark_list_is_loading () Properties gchar *attributesRead / Write gchar *filenameRead / Write / Construct Only gintio-priorityRead / Write gbooleanloadingRead Types and Values GtkBookmarkList Object Hierarchy GObject ╰── GtkBookmarkList Implemented Interfaces GtkBookmarkList implements GListModel. Includes#include <gtk/gtk.h> Description GtkBookmarkList is a list model that wraps GBookmarkFile. It presents a GListModel and fills it asynchronously with the GFileInfos returned from that function. The GFileInfos in the list have some attributes in the recent namespace added: recent::private (boolean) and recent:applications (stringv). Functions gtk_bookmark_list_new () gtk_bookmark_list_new GtkBookmarkList * gtk_bookmark_list_new (const char *filename, const char *attributes); Creates a new GtkBookmarkList with the given attributes . Parameters filename The bookmark file to load. [allow-none] attributes The attributes to query. [allow-none] Returns a new GtkBookmarkList gtk_bookmark_list_get_filename () gtk_bookmark_list_get_filename const char * gtk_bookmark_list_get_filename (GtkBookmarkList *self); Returns the filename of the bookmark file that this list is loading. Parameters self a GtkBookmarkList Returns the filename of the .xbel file gtk_bookmark_list_set_attributes () gtk_bookmark_list_set_attributes void gtk_bookmark_list_set_attributes (GtkBookmarkList *self, const char *attributes); Sets the attributes to be enumerated and starts the enumeration. If attributes is NULL, no attributes will be queried, but a list of GFileInfos will still be created. Parameters self a GtkBookmarkList attributes the attributes to enumerate. [allow-none] gtk_bookmark_list_get_attributes () gtk_bookmark_list_get_attributes const char * gtk_bookmark_list_get_attributes (GtkBookmarkList *self); Gets the attributes queried on the children. Parameters self a GtkBookmarkList Returns The queried attributes. [nullable][transfer none] gtk_bookmark_list_set_io_priority () gtk_bookmark_list_set_io_priority void gtk_bookmark_list_set_io_priority (GtkBookmarkList *self, int io_priority); Sets the IO priority to use while loading files. The default IO priority is G_PRIORITY_DEFAULT. Parameters self a GtkBookmarkList io_priority IO priority to use gtk_bookmark_list_get_io_priority () gtk_bookmark_list_get_io_priority int gtk_bookmark_list_get_io_priority (GtkBookmarkList *self); Gets the IO priority set via gtk_bookmark_list_set_io_priority(). Parameters self a GtkBookmarkList Returns The IO priority. gtk_bookmark_list_is_loading () gtk_bookmark_list_is_loading gboolean gtk_bookmark_list_is_loading (GtkBookmarkList *self); Returns TRUE if the files are currently being loaded. Files will be added to self from time to time while loading is going on. The order in which are added is undefined and may change inbetween runs. Parameters self a GtkBookmarkList Returns TRUE if self is loading Types and Values GtkBookmarkList GtkBookmarkList typedef struct _GtkBookmarkList GtkBookmarkList; Property Details The <literal>“attributes”</literal> property GtkBookmarkList:attributes “attributes” gchar * The attributes to query Owner: GtkBookmarkList Flags: Read / Write Default value: NULL The <literal>“filename”</literal> property GtkBookmarkList:filename “filename” gchar * Bookmark file to load.Owner: GtkBookmarkList Flags: Read / Write / Construct Only Default value: NULL The <literal>“io-priority”</literal> property GtkBookmarkList:io-priority “io-priority” gint Priority used when loading Owner: GtkBookmarkList Flags: Read / Write Allowed values: >= -2147483647 Default value: 0 The <literal>“loading”</literal> property GtkBookmarkList:loading “loading” gboolean TRUE if files are being loaded Owner: GtkBookmarkList Flags: Read Default value: FALSE See Also GListModel, GBookmarkFile docs/reference/gtk/xml/gtktreeexpander.xml0000664000175000017500000004711113710700312021075 0ustar mclasenmclasen ]> GtkTreeExpander 3 GTK4 Library GtkTreeExpander An indenting expander button for use in a tree list Functions GtkWidget * gtk_tree_expander_new () GtkWidget * gtk_tree_expander_get_child () void gtk_tree_expander_set_child () gpointer gtk_tree_expander_get_item () GtkTreeListRow * gtk_tree_expander_get_list_row () void gtk_tree_expander_set_list_row () Properties GtkWidget *childRead / Write GObject *itemRead GtkTreeListRow *list-rowRead / Write Actions listitem.toggle-expand listitem.collapse listitem.expand Types and Values GtkTreeExpander Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkTreeExpander Implemented Interfaces GtkTreeExpander implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkTreeExpander is a widget that provides an expander for a list. It is typically placed as a bottommost child into a GtkListView to allow users to expand and collapse children in a list with a GtkTreeListModel. It will provide the common UI elements, gestures and keybindings for this purpose. On top of this, the "listitem.expand", "listitem.collapse" and "listitem.toggle-expand" actions are provided to allow adding custom UI for managing expanded state. The GtkTreeListModel must be set to not be passthrough. Then it will provide GtkTreeListRow items which can be set via gtk_tree_expander_set_list_row() on the expander. The expander will then watch that row item automatically. gtk_tree_expander_set_child() sets the widget that displays the actual row contents. CSS nodes ]]> GtkTreeExpander has zero or one CSS nodes with the name "expander" that should display the expander icon. The node will be :checked when it is expanded. If the node is not expandable, an "indent" node will be displayed instead. For every level of depth, another "indent" node is prepended. Functions gtk_tree_expander_new () gtk_tree_expander_new GtkWidget * gtk_tree_expander_new (void); Creates a new GtkTreeExpander Returns a new GtkTreeExpander gtk_tree_expander_get_child () gtk_tree_expander_get_child GtkWidget * gtk_tree_expander_get_child (GtkTreeExpander *self); Gets the child widget displayed by self . Parameters self a GtkTreeExpander Returns The child displayed by self . [nullable][transfer none] gtk_tree_expander_set_child () gtk_tree_expander_set_child void gtk_tree_expander_set_child (GtkTreeExpander *self, GtkWidget *child); Sets the content widget to display. Parameters self a GtkTreeExpander widget child a GtkWidget, or NULL. [nullable] gtk_tree_expander_get_item () gtk_tree_expander_get_item gpointer gtk_tree_expander_get_item (GtkTreeExpander *self); Forwards the item set on the GtkTreeListRow that self is managing. This call is essentially equivalent to calling gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (@self)). Parameters self a GtkTreeExpander Returns The item of the row. [nullable][transfer none] gtk_tree_expander_get_list_row () gtk_tree_expander_get_list_row GtkTreeListRow * gtk_tree_expander_get_list_row (GtkTreeExpander *self); Gets the list row managed by self . Parameters self a GtkTreeExpander Returns The list row displayed by self . [nullable][transfer none] gtk_tree_expander_set_list_row () gtk_tree_expander_set_list_row void gtk_tree_expander_set_list_row (GtkTreeExpander *self, GtkTreeListRow *list_row); Sets the tree list row that this expander should manage. Parameters self a GtkTreeExpander widget list_row a GtkTreeListRow, or NULL. [nullable] Types and Values GtkTreeExpander GtkTreeExpander typedef struct _GtkTreeExpander GtkTreeExpander; Property Details The <literal>“child”</literal> property GtkTreeExpander:child “child” GtkWidget * The child widget with the actual contents Owner: GtkTreeExpander Flags: Read / Write The <literal>“item”</literal> property GtkTreeExpander:item “item” GObject * The item held by this expander's row Owner: GtkTreeExpander Flags: Read The <literal>“list-row”</literal> property GtkTreeExpander:list-row “list-row” GtkTreeListRow * The list row to track for expander state Owner: GtkTreeExpander Flags: Read / Write Action Details The <literal>“listitem.toggle-expand”</literal> action GtkTreeExpander|listitem.toggle-expand Tries to expand the expander if it was collapsed or collapses it if it was expanded. The <literal>“listitem.collapse”</literal> action GtkTreeExpander|listitem.collapse Collapses the expander. The <literal>“listitem.expand”</literal> action GtkTreeExpander|listitem.expand Expands the expander if it can be expanded. See Also GtkTreeListModel docs/reference/gtk/xml/gtkfilter.xml0000664000175000017500000003730013710700311017672 0ustar mclasenmclasen ]> GtkFilter 3 GTK4 Library GtkFilter Filtering items Functions gboolean gtk_filter_match () GtkFilterMatch gtk_filter_get_strictness () void gtk_filter_changed () Signals voidchangedRun Last Types and Values GtkFilter enumGtkFilterChange Object Hierarchy GObject ╰── GtkFilter ├── GtkMultiFilter ├── GtkCustomFilter ├── GtkFileFilter ╰── GtkStringFilter Includes#include <gtk/gtk.h> Description A GtkFilter object describes the filtering to be performed by a GtkFilterListModel. The model will use the filter to determine if it should include items or not by calling gtk_filter_match() for each item and only keeping the ones that the function returns TRUE for. Filters may change what items they match through their lifetime. In that case, they will emit the “changed” signal to notify that previous filter results are no longer valid and that items should be checked again via gtk_filter_match(). GTK provides various pre-made filter implementations for common filtering operations. These filters often include properties that can be linked to various widgets to easily allow searches. However, in particular for large lists or complex search methods, it is also possible to subclass GtkFilter and provide one's own filter. Functions gtk_filter_match () gtk_filter_match gboolean gtk_filter_match (GtkFilter *self, gpointer item); Checks if the given item is matched by the filter or not. Parameters self a GtkFilter item The item to check. [type GObject][transfer none] Returns TRUE if the filter matches the item and a filter model should keep it, FALSE if not. gtk_filter_get_strictness () gtk_filter_get_strictness GtkFilterMatch gtk_filter_get_strictness (GtkFilter *self); Gets the known strictness of filters . If the strictness is not known, GTK_FILTER_MATCH_SOME is returned. This value may change after emission of the “changed” signal. This function is meant purely for optimization purposes, filters can choose to omit implementing it, but GtkFilterListModel uses it. Parameters self a GtkFilter Returns the strictness of self gtk_filter_changed () gtk_filter_changed void gtk_filter_changed (GtkFilter *self, GtkFilterChange change); Emits the “changed” signal to notify all users of the filter that the filter changed. Users of the filter should then check items again via gtk_filter_match(). Depending on the change parameter, not all items need to be changed, but only some. Refer to the GtkFilterChange documentation for details. This function is intended for implementors of GtkFilter subclasses and should not be called from other functions. Parameters self a GtkFilter change How the filter changed Types and Values GtkFilter GtkFilter typedef struct _GtkFilter GtkFilter; The object describing a filter. enum GtkFilterChange GtkFilterChange Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items. If you are writing an implementation and are not sure which value to pass, GTK_FILTER_CHANGE_DIFFERENT is always a correct choice. Members GTK_FILTER_CHANGE_DIFFERENT The filter change cannot be described with any of the other enumeration values. GTK_FILTER_CHANGE_LESS_STRICT The filter is less strict than it was before: All items that it used to return TRUE for still return TRUE, others now may, too. GTK_FILTER_CHANGE_MORE_STRICT The filter is more strict than it was before: All items that it used to return FALSE for still return FALSE, others now may, too. Signal Details The <literal>“changed”</literal> signal GtkFilter::changed void user_function (GtkFilter *self, GtkFilterChange change, gpointer user_data) This signal is emitted whenever the filter changed. Users of the filter should then check items again via gtk_filter_match(). GtkFilterListModel handles this signal automatically. Depending on the change parameter, not all items need to be changed, but only some. Refer to the GtkFilterChange documentation for details. Parameters self The GtkFilter change how the filter changed user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkFilerListModel docs/reference/gtk/xml/gtkfixed.xml0000664000175000017500000004777613710700311017526 0ustar mclasenmclasen ]> GtkFixed 3 GTK4 Library GtkFixed A container which allows you to position widgets at fixed coordinates Functions GtkWidget * gtk_fixed_new () void gtk_fixed_put () void gtk_fixed_remove () void gtk_fixed_move () void gtk_fixed_get_child_position () GskTransform * gtk_fixed_get_child_transform () void gtk_fixed_set_child_transform () Types and Values structGtkFixed Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFixed Implemented Interfaces GtkFixed implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkFixed widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels. GtkFixed performs no automatic layout management. For most applications, you should not use this container! It keeps you from having to learn about the other GTK+ containers, but it results in broken applications. With GtkFixed, the following things will result in truncated text, overlapping widgets, and other display bugs: Themes, which may change widget sizes. Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using a different OS that provides different fonts. Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases. In addition, GtkFixed does not pay attention to text direction and thus may produce unwanted results if your app is run under right-to-left languages such as Hebrew or Arabic. That is: normally GTK will order containers appropriately for the text direction, e.g. to put labels to the right of the thing they label when using an RTL language, but it can’t do that with GtkFixed. So if you need to reorder widgets depending on the text direction, you would need to manually detect it and adjust child positions accordingly. Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application. If you know none of these things are an issue for your application, and prefer the simplicity of GtkFixed, by all means use the widget. But you should be aware of the tradeoffs. Functions gtk_fixed_new () gtk_fixed_new GtkWidget * gtk_fixed_new (void); Creates a new GtkFixed. Returns a new GtkFixed. gtk_fixed_put () gtk_fixed_put void gtk_fixed_put (GtkFixed *fixed, GtkWidget *widget, double x, double y); Adds a widget to a GtkFixed container and assigns a translation transformation to the given x and y coordinates to it. Parameters fixed a GtkFixed. widget the widget to add. x the horizontal position to place the widget at. y the vertical position to place the widget at. gtk_fixed_remove () gtk_fixed_remove void gtk_fixed_remove (GtkFixed *fixed, GtkWidget *widget); Removes a child from fixed , after it has been added with gtk_fixed_put(). Parameters fixed a GtkFixed widget the child widget to remove gtk_fixed_move () gtk_fixed_move void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, double x, double y); Sets a translation transformation to the given x and y coordinates to the child widget of the given GtkFixed container. Parameters fixed a GtkFixed. widget the child widget. x the horizontal position to move the widget to. y the vertical position to move the widget to. gtk_fixed_get_child_position () gtk_fixed_get_child_position void gtk_fixed_get_child_position (GtkFixed *fixed, GtkWidget *widget, double *x, double *y); Retrieves the translation transformation of the given child GtkWidget in the given GtkFixed container. See also: gtk_fixed_get_child_transform(). Parameters fixed a GtkFixed widget a child of fixed x the horizontal position of the widget . [out] y the vertical position of the widget . [out] gtk_fixed_get_child_transform () gtk_fixed_get_child_transform GskTransform * gtk_fixed_get_child_transform (GtkFixed *fixed, GtkWidget *widget); Retrieves the transformation for widget set using gtk_fixed_set_child_transform(). Parameters fixed a GtkFixed widget a GtkWidget, child of fixed Returns a GskTransform or NULL in case no transform has been set on widget . [transfer none][nullable] gtk_fixed_set_child_transform () gtk_fixed_set_child_transform void gtk_fixed_set_child_transform (GtkFixed *fixed, GtkWidget *widget, GskTransform *transform); Sets the transformation for widget . This is a convenience function that retrieves the GtkFixedLayoutChild instance associated to widget and calls gtk_fixed_layout_child_set_transform(). Parameters fixed a GtkFixed widget a GtkWidget, child of fixed transform the transformation assigned to widget or NULL to reset widget 's transform. [nullable] Types and Values struct GtkFixed GtkFixed struct GtkFixed; docs/reference/gtk/xml/gtksettings.xml0000664000175000017500000017220213710700312020247 0ustar mclasenmclasen ]> Settings 3 GTK4 Library Settings Sharing settings between applications Functions GtkSettings * gtk_settings_get_default () GtkSettings * gtk_settings_get_for_display () void gtk_settings_reset_property () Properties gbooleangtk-alternative-button-orderRead / Write gbooleangtk-alternative-sort-arrowsRead / Write gbooleangtk-application-prefer-dark-themeRead / Write gfloatgtk-cursor-aspect-ratioRead / Write gbooleangtk-cursor-blinkRead / Write gintgtk-cursor-blink-timeRead / Write gintgtk-cursor-blink-timeoutRead / Write gchar *gtk-cursor-theme-nameRead / Write gintgtk-cursor-theme-sizeRead / Write gchar *gtk-decoration-layoutRead / Write gbooleangtk-dialogs-use-headerRead / Write gintgtk-dnd-drag-thresholdRead / Write gintgtk-double-click-distanceRead / Write gintgtk-double-click-timeRead / Write gbooleangtk-enable-accelsRead / Write gbooleangtk-enable-animationsRead / Write gbooleangtk-enable-event-soundsRead / Write gbooleangtk-enable-input-feedback-soundsRead / Write gbooleangtk-enable-primary-pasteRead / Write guintgtk-entry-password-hint-timeoutRead / Write gbooleangtk-entry-select-on-focusRead / Write gbooleangtk-error-bellRead / Write gchar *gtk-font-nameRead / Write guintgtk-fontconfig-timestampRead / Write gchar *gtk-icon-theme-nameRead / Write gchar *gtk-im-moduleRead / Write gbooleangtk-keynav-use-caretRead / Write gbooleangtk-label-select-on-focusRead / Write guintgtk-long-press-timeRead / Write gbooleangtk-overlay-scrollingRead / Write gbooleangtk-primary-button-warps-sliderRead / Write gchar *gtk-print-backendsRead / Write gchar *gtk-print-preview-commandRead / Write gbooleangtk-recent-files-enabledRead / Write gintgtk-recent-files-max-ageRead / Write gbooleangtk-shell-shows-app-menuRead / Write gbooleangtk-shell-shows-desktopRead / Write gbooleangtk-shell-shows-menubarRead / Write gchar *gtk-sound-theme-nameRead / Write gbooleangtk-split-cursorRead / Write gchar *gtk-theme-nameRead / Write gchar *gtk-titlebar-double-clickRead / Write gchar *gtk-titlebar-middle-clickRead / Write gchar *gtk-titlebar-right-clickRead / Write gintgtk-xft-antialiasRead / Write gintgtk-xft-dpiRead / Write gintgtk-xft-hintingRead / Write gchar *gtk-xft-hintstyleRead / Write gchar *gtk-xft-rgbaRead / Write Types and Values GtkSettings structGtkSettingsValue enumGtkSystemSetting Object Hierarchy GObject ╰── GtkSettings Implemented Interfaces GtkSettings implements GtkStyleProvider. Includes#include <gtk/gtk.h> Description GtkSettings provide a mechanism to share global settings between applications. On the X window system, this sharing is realized by an XSettings manager that is usually part of the desktop environment, along with utilities that let the user change these settings. On Wayland, the settings are obtained either via a settings portal, or by reading desktop settings from DConf. In the absence of these sharing mechanisms, GTK reads default values for settings from settings.ini files in /etc/gtk-4.0, $XDG_CONFIG_DIRS/gtk-4.0 and $XDG_CONFIG_HOME/gtk-4.0. These files must be valid key files (see GKeyFile), and have a section called Settings. Themes can also provide default values for settings by installing a settings.ini file next to their gtk.css file. Applications can override system-wide settings by setting the property of the GtkSettings object with g_object_set(). This should be restricted to special cases though; GtkSettings are not meant as an application configuration facility. There is one GtkSettings instance per display. It can be obtained with gtk_settings_get_for_display(), but in many cases, it is more convenient to use gtk_widget_get_settings(). Functions gtk_settings_get_default () gtk_settings_get_default GtkSettings * gtk_settings_get_default (void); Gets the GtkSettings object for the default display, creating it if necessary. See gtk_settings_get_for_display(). Returns a GtkSettings object. If there is no default display, then returns NULL. [nullable][transfer none] gtk_settings_get_for_display () gtk_settings_get_for_display GtkSettings * gtk_settings_get_for_display (GdkDisplay *display); Gets the GtkSettings object for display , creating it if necessary. Parameters display a GdkDisplay. Returns a GtkSettings object. [transfer none] gtk_settings_reset_property () gtk_settings_reset_property void gtk_settings_reset_property (GtkSettings *settings, const char *name); Undoes the effect of calling g_object_set() to install an application-specific value for a setting. After this call, the setting will again follow the session-wide value for this setting. Parameters settings a GtkSettings object name the name of the setting to reset Types and Values GtkSettings GtkSettings typedef struct _GtkSettings GtkSettings; struct GtkSettingsValue GtkSettingsValue struct GtkSettingsValue { /* origin should be something like "filename:linenumber" for rc files, * or e.g. "XProperty" for other sources */ char *origin; /* valid types are LONG, DOUBLE and STRING corresponding to the token parsed, * or a GSTRING holding an unparsed statement */ GValue value; }; Members char *origin; Origin should be something like “filename:linenumber” for rc files, or e.g. “XProperty” for other sources. GValue value; Valid types are LONG, DOUBLE and STRING corresponding to the token parsed, or a GSTRING holding an unparsed statement enum GtkSystemSetting GtkSystemSetting Values that can be passed to the GtkWidgetClass.system_setting_changed vfunc to indicate that a system setting has changed and widgets may need to drop caches, or react otherwise. Most of the values correspond to GtkSettings properties. More values may be added over time. Members GTK_SYSTEM_SETTING_DPI the “gtk-xft-dpi” setting has changed GTK_SYSTEM_SETTING_FONT_NAME The “gtk-font-name” setting has changed GTK_SYSTEM_SETTING_FONT_CONFIG The font configuration has changed in a way that requires text to be redrawn. This can be any of the “gtk-xft-antialias”, “gtk-xft-hinting”, “gtk-xft-hintstyle”, “gtk-xft-rgba” or “gtk-fontconfig-timestamp” settings GTK_SYSTEM_SETTING_DISPLAY The display has changed GTK_SYSTEM_SETTING_ICON_THEME The icon theme has changed in a way that requires icons to be looked up again Property Details The <literal>“gtk-alternative-button-order”</literal> property GtkSettings:gtk-alternative-button-order “gtk-alternative-button-order” gboolean Whether buttons in dialogs should use the alternative button order.Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-alternative-sort-arrows”</literal> property GtkSettings:gtk-alternative-sort-arrows “gtk-alternative-sort-arrows” gboolean Controls the direction of the sort indicators in sorted list and tree views. By default an arrow pointing down means the column is sorted in ascending order. When set to TRUE, this order will be inverted. Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-application-prefer-dark-theme”</literal> property GtkSettings:gtk-application-prefer-dark-theme “gtk-application-prefer-dark-theme” gboolean Whether the application prefers to use a dark theme. If a GTK theme includes a dark variant, it will be used instead of the configured theme. Some applications benefit from minimizing the amount of light pollution that interferes with the content. Good candidates for dark themes are photo and video editors that make the actual content get all the attention and minimize the distraction of the chrome. Dark themes should not be used for documents, where large spaces are white/light and the dark chrome creates too much contrast (web browser, text editor...). Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-cursor-aspect-ratio”</literal> property GtkSettings:gtk-cursor-aspect-ratio “gtk-cursor-aspect-ratio” gfloat The aspect ratio of the text caret.Owner: GtkSettings Flags: Read / Write Allowed values: [0,1] Default value: 0.04 The <literal>“gtk-cursor-blink”</literal> property GtkSettings:gtk-cursor-blink “gtk-cursor-blink” gboolean Whether the cursor should blink. Also see the “gtk-cursor-blink-timeout” setting, which allows more flexible control over cursor blinking. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-cursor-blink-time”</literal> property GtkSettings:gtk-cursor-blink-time “gtk-cursor-blink-time” gint Length of the cursor blink cycle, in milliseconds.Owner: GtkSettings Flags: Read / Write Allowed values: >= 100 Default value: 1200 The <literal>“gtk-cursor-blink-timeout”</literal> property GtkSettings:gtk-cursor-blink-timeout “gtk-cursor-blink-timeout” gint Time after which the cursor stops blinking, in seconds. The timer is reset after each user interaction. Setting this to zero has the same effect as setting “gtk-cursor-blink” to FALSE. Owner: GtkSettings Flags: Read / Write Allowed values: >= 1 Default value: 10 The <literal>“gtk-cursor-theme-name”</literal> property GtkSettings:gtk-cursor-theme-name “gtk-cursor-theme-name” gchar * Name of the cursor theme to use, or NULL to use the default theme.Owner: GtkSettings Flags: Read / Write Default value: NULL The <literal>“gtk-cursor-theme-size”</literal> property GtkSettings:gtk-cursor-theme-size “gtk-cursor-theme-size” gint Size to use for cursors, or 0 to use the default size.Owner: GtkSettings Flags: Read / Write Allowed values: [0,128] Default value: 0 The <literal>“gtk-decoration-layout”</literal> property GtkSettings:gtk-decoration-layout “gtk-decoration-layout” gchar * This setting determines which buttons should be put in the titlebar of client-side decorated windows, and whether they should be placed at the left of right. The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close, icon (the window icon) and menu (a menu button for the fallback app menu). For example, "menu:minimize,maximize,close" specifies a menu on the left, and minimize, maximize and close buttons on the right. Note that buttons will only be shown when they are meaningful. E.g. a menu button only appears when the desktop shell does not show the app menu, and a close button only appears on a window that can be closed. Also note that the setting can be overridden with the “decoration-layout” property. Owner: GtkSettings Flags: Read / Write Default value: "menu:minimize,maximize,close" The <literal>“gtk-dialogs-use-header”</literal> property GtkSettings:gtk-dialogs-use-header “gtk-dialogs-use-header” gboolean Whether builtin GTK dialogs such as the file chooser, the color chooser or the font chooser will use a header bar at the top to show action widgets, or an action area at the bottom. This setting does not affect custom dialogs using GtkDialog directly, or message dialogs. Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-dnd-drag-threshold”</literal> property GtkSettings:gtk-dnd-drag-threshold “gtk-dnd-drag-threshold” gint Number of pixels the cursor can move before dragging.Owner: GtkSettings Flags: Read / Write Allowed values: >= 1 Default value: 8 The <literal>“gtk-double-click-distance”</literal> property GtkSettings:gtk-double-click-distance “gtk-double-click-distance” gint Maximum distance allowed between two clicks for them to be considered a double click (in pixels).Owner: GtkSettings Flags: Read / Write Allowed values: >= 0 Default value: 5 The <literal>“gtk-double-click-time”</literal> property GtkSettings:gtk-double-click-time “gtk-double-click-time” gint Maximum time allowed between two clicks for them to be considered a double click (in milliseconds).Owner: GtkSettings Flags: Read / Write Allowed values: >= 0 Default value: 400 The <literal>“gtk-enable-accels”</literal> property GtkSettings:gtk-enable-accels “gtk-enable-accels” gboolean Whether menu items should have visible accelerators which can be activated. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-enable-animations”</literal> property GtkSettings:gtk-enable-animations “gtk-enable-animations” gboolean Whether to enable toolkit-wide animations.Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-enable-event-sounds”</literal> property GtkSettings:gtk-enable-event-sounds “gtk-enable-event-sounds” gboolean Whether to play any event sounds at all. See the Sound Theme Specifications for more information on event sounds and sound themes. GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-enable-input-feedback-sounds”</literal> property GtkSettings:gtk-enable-input-feedback-sounds “gtk-enable-input-feedback-sounds” gboolean Whether to play event sounds as feedback to user input. See the Sound Theme Specifications for more information on event sounds and sound themes. GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-enable-primary-paste”</literal> property GtkSettings:gtk-enable-primary-paste “gtk-enable-primary-paste” gboolean Whether a middle click on a mouse should paste the 'PRIMARY' clipboard content at the cursor location. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-entry-password-hint-timeout”</literal> property GtkSettings:gtk-entry-password-hint-timeout “gtk-entry-password-hint-timeout” guint How long to show the last input character in hidden entries. This value is in milliseconds. 0 disables showing the last char. 600 is a good value for enabling it. Owner: GtkSettings Flags: Read / Write Default value: 0 The <literal>“gtk-entry-select-on-focus”</literal> property GtkSettings:gtk-entry-select-on-focus “gtk-entry-select-on-focus” gboolean Whether to select the contents of an entry when it is focused.Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-error-bell”</literal> property GtkSettings:gtk-error-bell “gtk-error-bell” gboolean When TRUE, keyboard navigation and other input-related errors will cause a beep. Since the error bell is implemented using gdk_surface_beep(), the windowing system may offer ways to configure the error bell in many ways, such as flashing the window or similar visual effects. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-font-name”</literal> property GtkSettings:gtk-font-name “gtk-font-name” gchar * The default font to use. GTK uses the family name and size from this string. Owner: GtkSettings Flags: Read / Write Default value: "Sans 10" The <literal>“gtk-fontconfig-timestamp”</literal> property GtkSettings:gtk-fontconfig-timestamp “gtk-fontconfig-timestamp” guint Timestamp of current fontconfig configuration.Owner: GtkSettings Flags: Read / Write Default value: 0 The <literal>“gtk-icon-theme-name”</literal> property GtkSettings:gtk-icon-theme-name “gtk-icon-theme-name” gchar * Name of icon theme to use.Owner: GtkSettings Flags: Read / Write Default value: "Adwaita" The <literal>“gtk-im-module”</literal> property GtkSettings:gtk-im-module “gtk-im-module” gchar * Which IM (input method) module should be used by default. This is the input method that will be used if the user has not explicitly chosen another input method from the IM context menu. This also can be a colon-separated list of input methods, which GTK will try in turn until it finds one available on the system. See GtkIMContext. Owner: GtkSettings Flags: Read / Write Default value: NULL The <literal>“gtk-keynav-use-caret”</literal> property GtkSettings:gtk-keynav-use-caret “gtk-keynav-use-caret” gboolean Whether GTK should make sure that text can be navigated with a caret, even if it is not editable. This is useful when using a screen reader. Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-label-select-on-focus”</literal> property GtkSettings:gtk-label-select-on-focus “gtk-label-select-on-focus” gboolean Whether to select the contents of a selectable label when it is focused.Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-long-press-time”</literal> property GtkSettings:gtk-long-press-time “gtk-long-press-time” guint The time for a button or touch press to be considered a "long press". Owner: GtkSettings Flags: Read / Write Allowed values: <= G_MAXINT Default value: 500 The <literal>“gtk-overlay-scrolling”</literal> property GtkSettings:gtk-overlay-scrolling “gtk-overlay-scrolling” gboolean Whether scrolled windows may use overlayed scrolling indicators. If this is set to FALSE, scrolled windows will have permanent scrollbars. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-primary-button-warps-slider”</literal> property GtkSettings:gtk-primary-button-warps-slider “gtk-primary-button-warps-slider” gboolean If the value of this setting is TRUE, clicking the primary button in a GtkRange trough will move the slider, and hence set the range’s value, to the point that you clicked. If it is FALSE, a primary click will cause the slider/value to move by the range’s page-size towards the point clicked. Whichever action you choose for the primary button, the other action will be available by holding Shift and primary-clicking, or (since GTK 3.22.25) clicking the middle mouse button. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-print-backends”</literal> property GtkSettings:gtk-print-backends “gtk-print-backends” gchar * A comma-separated list of print backends to use in the print dialog. Available print backends depend on the GTK installation, and may include "file", "cups", "lpr" or "papi". Owner: GtkSettings Flags: Read / Write Default value: "file,cups" The <literal>“gtk-print-preview-command”</literal> property GtkSettings:gtk-print-preview-command “gtk-print-preview-command” gchar * A command to run for displaying the print preview. The command should contain a %f placeholder, which will get replaced by the path to the pdf file. The command may also contain a %s placeholder, which will get replaced by the path to a file containing the print settings in the format produced by gtk_print_settings_to_file(). The preview application is responsible for removing the pdf file and the print settings file when it is done. Owner: GtkSettings Flags: Read / Write Default value: "evince --unlink-tempfile --preview --print-settings %s %f" The <literal>“gtk-recent-files-enabled”</literal> property GtkSettings:gtk-recent-files-enabled “gtk-recent-files-enabled” gboolean Whether GTK should keep track of items inside the recently used resources list. If set to FALSE, the list will always be empty. Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-recent-files-max-age”</literal> property GtkSettings:gtk-recent-files-max-age “gtk-recent-files-max-age” gint The maximum age, in days, of the items inside the recently used resources list. Items older than this setting will be excised from the list. If set to 0, the list will always be empty; if set to -1, no item will be removed. Owner: GtkSettings Flags: Read / Write Allowed values: >= -1 Default value: 30 The <literal>“gtk-shell-shows-app-menu”</literal> property GtkSettings:gtk-shell-shows-app-menu “gtk-shell-shows-app-menu” gboolean Set to TRUE if the desktop environment is displaying the app menu, FALSE if the app should display it itself.Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-shell-shows-desktop”</literal> property GtkSettings:gtk-shell-shows-desktop “gtk-shell-shows-desktop” gboolean Set to TRUE if the desktop environment is displaying the desktop folder, FALSE if not.Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-shell-shows-menubar”</literal> property GtkSettings:gtk-shell-shows-menubar “gtk-shell-shows-menubar” gboolean Set to TRUE if the desktop environment is displaying the menubar, FALSE if the app should display it itself.Owner: GtkSettings Flags: Read / Write Default value: FALSE The <literal>“gtk-sound-theme-name”</literal> property GtkSettings:gtk-sound-theme-name “gtk-sound-theme-name” gchar * The XDG sound theme to use for event sounds. See the Sound Theme Specifications for more information on event sounds and sound themes. GTK itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Owner: GtkSettings Flags: Read / Write Default value: "freedesktop" The <literal>“gtk-split-cursor”</literal> property GtkSettings:gtk-split-cursor “gtk-split-cursor” gboolean Whether two cursors should be displayed for mixed left-to-right and right-to-left text.Owner: GtkSettings Flags: Read / Write Default value: TRUE The <literal>“gtk-theme-name”</literal> property GtkSettings:gtk-theme-name “gtk-theme-name” gchar * Name of theme to load.Owner: GtkSettings Flags: Read / Write Default value: "Adwaita" The <literal>“gtk-titlebar-double-click”</literal> property GtkSettings:gtk-titlebar-double-click “gtk-titlebar-double-click” gchar * This setting determines the action to take when a double-click occurs on the titlebar of client-side decorated windows. Recognized actions are minimize, toggle-maximize, menu, lower or none. Owner: GtkSettings Flags: Read / Write Default value: "toggle-maximize" The <literal>“gtk-titlebar-middle-click”</literal> property GtkSettings:gtk-titlebar-middle-click “gtk-titlebar-middle-click” gchar * This setting determines the action to take when a middle-click occurs on the titlebar of client-side decorated windows. Recognized actions are minimize, toggle-maximize, menu, lower or none. Owner: GtkSettings Flags: Read / Write Default value: "none" The <literal>“gtk-titlebar-right-click”</literal> property GtkSettings:gtk-titlebar-right-click “gtk-titlebar-right-click” gchar * This setting determines the action to take when a right-click occurs on the titlebar of client-side decorated windows. Recognized actions are minimize, toggle-maximize, menu, lower or none. Owner: GtkSettings Flags: Read / Write Default value: "menu" The <literal>“gtk-xft-antialias”</literal> property GtkSettings:gtk-xft-antialias “gtk-xft-antialias” gint Whether to antialias Xft fonts; 0=no, 1=yes, -1=default.Owner: GtkSettings Flags: Read / Write Allowed values: [-1,1] Default value: -1 The <literal>“gtk-xft-dpi”</literal> property GtkSettings:gtk-xft-dpi “gtk-xft-dpi” gint Resolution for Xft, in 1024 * dots/inch. -1 to use default value.Owner: GtkSettings Flags: Read / Write Allowed values: [-1,1048576] Default value: -1 The <literal>“gtk-xft-hinting”</literal> property GtkSettings:gtk-xft-hinting “gtk-xft-hinting” gint Whether to hint Xft fonts; 0=no, 1=yes, -1=default.Owner: GtkSettings Flags: Read / Write Allowed values: [-1,1] Default value: -1 The <literal>“gtk-xft-hintstyle”</literal> property GtkSettings:gtk-xft-hintstyle “gtk-xft-hintstyle” gchar * What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull.Owner: GtkSettings Flags: Read / Write Default value: NULL The <literal>“gtk-xft-rgba”</literal> property GtkSettings:gtk-xft-rgba “gtk-xft-rgba” gchar * Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr.Owner: GtkSettings Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtkflattenlistmodel.xml0000664000175000017500000003040513710700311021756 0ustar mclasenmclasen ]> GtkFlattenListModel 3 GTK4 Library GtkFlattenListModel A list model that flattens a list of lists Functions GtkFlattenListModel * gtk_flatten_list_model_new () void gtk_flatten_list_model_set_model () GListModel * gtk_flatten_list_model_get_model () GListModel * gtk_flatten_list_model_get_model_for_item () Properties GListModel *modelRead / Write Types and Values GtkFlattenListModel Object Hierarchy GObject ╰── GtkFlattenListModel Implemented Interfaces GtkFlattenListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkFlattenListModel is a list model that takes a list model containing list models and flattens it into a single model. Another term for this is concatenation: GtkFlattenListModel takes a list of lists and concatenates them into a single list. Functions gtk_flatten_list_model_new () gtk_flatten_list_model_new GtkFlattenListModel * gtk_flatten_list_model_new (GListModel *model); Creates a new GtkFlattenListModel that flattens list . Parameters model the model to be flattened. [nullable][transfer full] Returns a new GtkFlattenListModel gtk_flatten_list_model_set_model () gtk_flatten_list_model_set_model void gtk_flatten_list_model_set_model (GtkFlattenListModel *self, GListModel *model); Sets a new model to be flattened. Parameters self a GtkFlattenListModel model the new model or NULL. [nullable][transfer none] gtk_flatten_list_model_get_model () gtk_flatten_list_model_get_model GListModel * gtk_flatten_list_model_get_model (GtkFlattenListModel *self); Gets the model set via gtk_flatten_list_model_set_model(). Parameters self a GtkFlattenListModel Returns The model flattened by self . [nullable][transfer none] gtk_flatten_list_model_get_model_for_item () gtk_flatten_list_model_get_model_for_item GListModel * gtk_flatten_list_model_get_model_for_item (GtkFlattenListModel *self, guint position); Returns the model containing the item at the given position. Parameters self a GtkFlattenListModel position a position Returns the model containing the item at position . [transfer none] Types and Values GtkFlattenListModel GtkFlattenListModel typedef struct _GtkFlattenListModel GtkFlattenListModel; Property Details The <literal>“model”</literal> property GtkFlattenListModel:model “model” GListModel * The model being flattened Owner: GtkFlattenListModel Flags: Read / Write See Also GListModel docs/reference/gtk/xml/gtksizegroup.xml0000664000175000017500000005265713710700312020451 0ustar mclasenmclasen ]> GtkSizeGroup 3 GTK4 Library GtkSizeGroup Grouping widgets so they request the same size Functions GtkSizeGroup * gtk_size_group_new () void gtk_size_group_set_mode () GtkSizeGroupMode gtk_size_group_get_mode () void gtk_size_group_add_widget () void gtk_size_group_remove_widget () GSList * gtk_size_group_get_widgets () Properties GtkSizeGroupModemodeRead / Write Types and Values structGtkSizeGroup enumGtkSizeGroupMode Object Hierarchy GObject ╰── GtkSizeGroup Implemented Interfaces GtkSizeGroup implements GtkBuildable. Includes#include <gtk/gtk.h> Description GtkSizeGroup provides a mechanism for grouping a number of widgets together so they all request the same amount of space. This is typically useful when you want a column of widgets to have the same size, but you can’t use a GtkGrid widget. In detail, the size requested for each widget in a GtkSizeGroup is the maximum of the sizes that would have been requested for each widget in the size group if they were not in the size group. The mode of the size group (see gtk_size_group_set_mode()) determines whether this applies to the horizontal size, the vertical size, or both sizes. Note that size groups only affect the amount of space requested, not the size that the widgets finally receive. If you want the widgets in a GtkSizeGroup to actually be the same size, you need to pack them in such a way that they get the size they request and not more. For example, if you are packing your widgets into a table, you would not include the GTK_FILL flag. GtkSizeGroup objects are referenced by each widget in the size group, so once you have added all widgets to a GtkSizeGroup, you can drop the initial reference to the size group with g_object_unref(). If the widgets in the size group are subsequently destroyed, then they will be removed from the size group and drop their references on the size group; when all widgets have been removed, the size group will be freed. Widgets can be part of multiple size groups; GTK+ will compute the horizontal size of a widget from the horizontal requisition of all widgets that can be reached from the widget by a chain of size groups of type GTK_SIZE_GROUP_HORIZONTAL or GTK_SIZE_GROUP_BOTH, and the vertical size from the vertical requisition of all widgets that can be reached from the widget by a chain of size groups of type GTK_SIZE_GROUP_VERTICAL or GTK_SIZE_GROUP_BOTH. Note that only non-contextual sizes of every widget are ever consulted by size groups (since size groups have no knowledge of what size a widget will be allocated in one dimension, it cannot derive how much height a widget will receive for a given width). When grouping widgets that trade height for width in mode GTK_SIZE_GROUP_VERTICAL or GTK_SIZE_GROUP_BOTH: the height for the minimum width will be the requested height for all widgets in the group. The same is of course true when horizontally grouping width for height widgets. Widgets that trade height-for-width should set a reasonably large minimum width by way of “width-chars” for instance. Widgets with static sizes as well as widgets that grow (such as ellipsizing text) need no such considerations. GtkSizeGroup as GtkBuildableSize groups can be specified in a UI definition by placing an <object> element with class="GtkSizeGroup" somewhere in the UI definition. The widgets that belong to the size group are specified by a <widgets> element that may contain multiple <widget> elements, one for each member of the size group. The ”name” attribute gives the id of the widget. An example of a UI definition fragment with GtkSizeGroup: horizontal ]]> Functions gtk_size_group_new () gtk_size_group_new GtkSizeGroup * gtk_size_group_new (GtkSizeGroupMode mode); Create a new GtkSizeGroup. Parameters mode the mode for the new size group. Returns a newly created GtkSizeGroup gtk_size_group_set_mode () gtk_size_group_set_mode void gtk_size_group_set_mode (GtkSizeGroup *size_group, GtkSizeGroupMode mode); Sets the GtkSizeGroupMode of the size group. The mode of the size group determines whether the widgets in the size group should all have the same horizontal requisition (GTK_SIZE_GROUP_HORIZONTAL) all have the same vertical requisition (GTK_SIZE_GROUP_VERTICAL), or should all have the same requisition in both directions (GTK_SIZE_GROUP_BOTH). Parameters size_group a GtkSizeGroup mode the mode to set for the size group. gtk_size_group_get_mode () gtk_size_group_get_mode GtkSizeGroupMode gtk_size_group_get_mode (GtkSizeGroup *size_group); Gets the current mode of the size group. See gtk_size_group_set_mode(). Parameters size_group a GtkSizeGroup Returns the current mode of the size group. gtk_size_group_add_widget () gtk_size_group_add_widget void gtk_size_group_add_widget (GtkSizeGroup *size_group, GtkWidget *widget); Adds a widget to a GtkSizeGroup. In the future, the requisition of the widget will be determined as the maximum of its requisition and the requisition of the other widgets in the size group. Whether this applies horizontally, vertically, or in both directions depends on the mode of the size group. See gtk_size_group_set_mode(). When the widget is destroyed or no longer referenced elsewhere, it will be removed from the size group. Parameters size_group a GtkSizeGroup widget the GtkWidget to add gtk_size_group_remove_widget () gtk_size_group_remove_widget void gtk_size_group_remove_widget (GtkSizeGroup *size_group, GtkWidget *widget); Removes a widget from a GtkSizeGroup. Parameters size_group a GtkSizeGroup widget the GtkWidget to remove gtk_size_group_get_widgets () gtk_size_group_get_widgets GSList * gtk_size_group_get_widgets (GtkSizeGroup *size_group); Returns the list of widgets associated with size_group . Parameters size_group a GtkSizeGroup Returns a GSList of widgets. The list is owned by GTK+ and should not be modified. [element-type GtkWidget][transfer none] Types and Values struct GtkSizeGroup GtkSizeGroup struct GtkSizeGroup; enum GtkSizeGroupMode GtkSizeGroupMode The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets. Members GTK_SIZE_GROUP_NONE group has no effect GTK_SIZE_GROUP_HORIZONTAL group affects horizontal requisition GTK_SIZE_GROUP_VERTICAL group affects vertical requisition GTK_SIZE_GROUP_BOTH group affects both horizontal and vertical requisition Property Details The <literal>“mode”</literal> property GtkSizeGroup:mode “mode” GtkSizeGroupMode The directions in which the size group affects the requested sizes of its component widgets.Owner: GtkSizeGroup Flags: Read / Write Default value: GTK_SIZE_GROUP_HORIZONTAL docs/reference/gtk/xml/gtkfontbutton.xml0000664000175000017500000006325413710700311020616 0ustar mclasenmclasen ]> GtkFontButton 3 GTK4 Library GtkFontButton A button to launch a font chooser dialog Functions GtkWidget * gtk_font_button_new () GtkWidget * gtk_font_button_new_with_font () void gtk_font_button_set_use_font () gboolean gtk_font_button_get_use_font () void gtk_font_button_set_use_size () gboolean gtk_font_button_get_use_size () void gtk_font_button_set_title () const char * gtk_font_button_get_title () void gtk_font_button_set_modal () gboolean gtk_font_button_get_modal () Properties gbooleanmodalRead / Write gchar *titleRead / Write gbooleanuse-fontRead / Write gbooleanuse-sizeRead / Write Signals voidfont-setRun First Types and Values GtkFontButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFontButton Implemented Interfaces GtkFontButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFontChooser. Includes#include <gtk/gtk.h> Description The GtkFontButton is a button which displays the currently selected font an allows to open a font chooser dialog to change the font. It is suitable widget for selecting a font in a preference dialog. CSS nodesGtkFontButton has a single CSS node with name fontbutton. Functions gtk_font_button_new () gtk_font_button_new GtkWidget * gtk_font_button_new (void); Creates a new font picker widget. Returns a new font picker widget. gtk_font_button_new_with_font () gtk_font_button_new_with_font GtkWidget * gtk_font_button_new_with_font (const char *fontname); Creates a new font picker widget. Parameters fontname Name of font to display in font chooser dialog Returns a new font picker widget. gtk_font_button_set_use_font () gtk_font_button_set_use_font void gtk_font_button_set_use_font (GtkFontButton *font_button, gboolean use_font); If use_font is TRUE, the font name will be written using the selected font. Parameters font_button a GtkFontButton use_font If TRUE, font name will be written using font chosen. gtk_font_button_get_use_font () gtk_font_button_get_use_font gboolean gtk_font_button_get_use_font (GtkFontButton *font_button); Returns whether the selected font is used in the label. Parameters font_button a GtkFontButton Returns whether the selected font is used in the label. gtk_font_button_set_use_size () gtk_font_button_set_use_size void gtk_font_button_set_use_size (GtkFontButton *font_button, gboolean use_size); If use_size is TRUE, the font name will be written using the selected size. Parameters font_button a GtkFontButton use_size If TRUE, font name will be written using the selected size. gtk_font_button_get_use_size () gtk_font_button_get_use_size gboolean gtk_font_button_get_use_size (GtkFontButton *font_button); Returns whether the selected size is used in the label. Parameters font_button a GtkFontButton Returns whether the selected size is used in the label. gtk_font_button_set_title () gtk_font_button_set_title void gtk_font_button_set_title (GtkFontButton *font_button, const char *title); Sets the title for the font chooser dialog. Parameters font_button a GtkFontButton title a string containing the font chooser dialog title gtk_font_button_get_title () gtk_font_button_get_title const char * gtk_font_button_get_title (GtkFontButton *font_button); Retrieves the title of the font chooser dialog. Parameters font_button a GtkFontButton Returns an internal copy of the title string which must not be freed. gtk_font_button_set_modal () gtk_font_button_set_modal void gtk_font_button_set_modal (GtkFontButton *font_button, gboolean modal); Sets whether the dialog should be modal. Parameters font_button a GtkFontButton modal TRUE to make the dialog modal gtk_font_button_get_modal () gtk_font_button_get_modal gboolean gtk_font_button_get_modal (GtkFontButton *font_button); Gets whether the dialog is modal. Parameters font_button a GtkFontButton Returns TRUE if the dialog is modal Types and Values GtkFontButton GtkFontButton typedef struct _GtkFontButton GtkFontButton; Property Details The <literal>“modal”</literal> property GtkFontButton:modal “modal” gboolean Whether the dialog is modal.Owner: GtkFontButton Flags: Read / Write Default value: TRUE The <literal>“title”</literal> property GtkFontButton:title “title” gchar * The title of the font chooser dialog. Owner: GtkFontButton Flags: Read / Write Default value: "Pick a Font" The <literal>“use-font”</literal> property GtkFontButton:use-font “use-font” gboolean If this property is set to TRUE, the label will be drawn in the selected font. Owner: GtkFontButton Flags: Read / Write Default value: FALSE The <literal>“use-size”</literal> property GtkFontButton:use-size “use-size” gboolean If this property is set to TRUE, the label will be drawn with the selected font size. Owner: GtkFontButton Flags: Read / Write Default value: FALSE Signal Details The <literal>“font-set”</literal> signal GtkFontButton::font-set void user_function (GtkFontButton *widget, gpointer user_data) The ::font-set signal is emitted when the user selects a font. When handling this signal, use gtk_font_chooser_get_font() to find out which font was just selected. Note that this signal is only emitted when the user changes the font. If you need to react to programmatic font changes as well, use the notify::font signal. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First See Also GtkFontChooserDialog, GtkColorButton. docs/reference/gtk/xml/gtkslicelistmodel.xml0000664000175000017500000004566413710700312021436 0ustar mclasenmclasen ]> GtkSliceListModel 3 GTK4 Library GtkSliceListModel A list model that presents a slice out of a larger list Functions GtkSliceListModel * gtk_slice_list_model_new () void gtk_slice_list_model_set_model () GListModel * gtk_slice_list_model_get_model () void gtk_slice_list_model_set_offset () guint gtk_slice_list_model_get_offset () void gtk_slice_list_model_set_size () guint gtk_slice_list_model_get_size () Properties GListModel *modelRead / Write guintoffsetRead / Write guintsizeRead / Write Types and Values GtkSliceListModel Object Hierarchy GObject ╰── GtkSliceListModel Implemented Interfaces GtkSliceListModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkSliceListModel is a list model that takes a list model and presents a slice of that model. This is useful when implementing paging by setting the size to the number of elements per page and updating the offset whenever a different page is opened. Functions gtk_slice_list_model_new () gtk_slice_list_model_new GtkSliceListModel * gtk_slice_list_model_new (GListModel *model, guint offset, guint size); Creates a new slice model that presents the slice from offset to offset + size our of the given model . Parameters model The model to use, or NULL. [transfer full][allow-none] offset the offset of the slice size maximum size of the slice Returns A new GtkSliceListModel gtk_slice_list_model_set_model () gtk_slice_list_model_set_model void gtk_slice_list_model_set_model (GtkSliceListModel *self, GListModel *model); Sets the model to show a slice of. The model's item type must conform to self 's item type. Parameters self a GtkSliceListModel model The model to be sliced. [allow-none] gtk_slice_list_model_get_model () gtk_slice_list_model_get_model GListModel * gtk_slice_list_model_get_model (GtkSliceListModel *self); Gets the model that is currently being used or NULL if none. Parameters self a GtkSliceListModel Returns The model in use. [nullable][transfer none] gtk_slice_list_model_set_offset () gtk_slice_list_model_set_offset void gtk_slice_list_model_set_offset (GtkSliceListModel *self, guint offset); Sets the offset into the original model for this slice. If the offset is too large for the sliced model, self will end up empty. Parameters self a GtkSliceListModel offset the new offset to use gtk_slice_list_model_get_offset () gtk_slice_list_model_get_offset guint gtk_slice_list_model_get_offset (GtkSliceListModel *self); Gets the offset set via gtk_slice_list_model_set_offset() Parameters self a GtkSliceListModel Returns The offset gtk_slice_list_model_set_size () gtk_slice_list_model_set_size void gtk_slice_list_model_set_size (GtkSliceListModel *self, guint size); Sets the maximum size. self will never have more items than size . It can however have fewer items if the offset is too large or the model sliced from doesn't have enough items. Parameters self a GtkSliceListModel size the maximum size gtk_slice_list_model_get_size () gtk_slice_list_model_get_size guint gtk_slice_list_model_get_size (GtkSliceListModel *self); Gets the size set via gtk_slice_list_model_set_size(). Parameters self a GtkSliceListModel Returns The size Types and Values GtkSliceListModel GtkSliceListModel typedef struct _GtkSliceListModel GtkSliceListModel; Property Details The <literal>“model”</literal> property GtkSliceListModel:model “model” GListModel * Child model to take slice from Owner: GtkSliceListModel Flags: Read / Write The <literal>“offset”</literal> property GtkSliceListModel:offset “offset” guint Offset of slice Owner: GtkSliceListModel Flags: Read / Write Default value: 0 The <literal>“size”</literal> property GtkSliceListModel:size “size” guint Maximum size of slice Owner: GtkSliceListModel Flags: Read / Write Default value: 10 See Also GListModel docs/reference/gtk/xml/gtkfontchooser.xml0000664000175000017500000015605213710700311020744 0ustar mclasenmclasen ]> GtkFontChooser 3 GTK4 Library GtkFontChooser Interface implemented by widgets displaying fonts Functions PangoFontFamily * gtk_font_chooser_get_font_family () PangoFontFace * gtk_font_chooser_get_font_face () int gtk_font_chooser_get_font_size () char * gtk_font_chooser_get_font () void gtk_font_chooser_set_font () PangoFontDescription * gtk_font_chooser_get_font_desc () void gtk_font_chooser_set_font_desc () char * gtk_font_chooser_get_font_features () char * gtk_font_chooser_get_language () void gtk_font_chooser_set_language () char * gtk_font_chooser_get_preview_text () void gtk_font_chooser_set_preview_text () gboolean gtk_font_chooser_get_show_preview_entry () void gtk_font_chooser_set_show_preview_entry () GtkFontChooserLevel gtk_font_chooser_get_level () void gtk_font_chooser_set_level () gboolean (*GtkFontFilterFunc) () void gtk_font_chooser_set_filter_func () void gtk_font_chooser_set_font_map () PangoFontMap * gtk_font_chooser_get_font_map () Properties gchar *fontRead / Write PangoFontDescription *font-descRead / Write gchar *font-featuresRead gchar *languageRead / Write GtkFontChooserLevellevelRead / Write gchar *preview-textRead / Write gbooleanshow-preview-entryRead / Write Signals voidfont-activatedRun First Types and Values GtkFontChooser enumGtkFontChooserLevel Object Hierarchy GInterface ╰── GtkFontChooser Prerequisites GtkFontChooser requires GObject. Known Implementations GtkFontChooser is implemented by GtkFontButton, GtkFontChooserDialog and GtkFontChooserWidget. Includes#include <gtk/gtk.h> Description GtkFontChooser is an interface that can be implemented by widgets displaying the list of fonts. In GTK+, the main objects that implement this interface are GtkFontChooserWidget, GtkFontChooserDialog and GtkFontButton. The GtkFontChooser interface has been introduced in GTK+ 3.2. Functions gtk_font_chooser_get_font_family () gtk_font_chooser_get_font_family PangoFontFamily * gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser); Gets the PangoFontFamily representing the selected font family. Font families are a collection of font faces. If the selected font is not installed, returns NULL. Parameters fontchooser a GtkFontChooser Returns A PangoFontFamily representing the selected font family, or NULL. The returned object is owned by fontchooser and must not be modified or freed. [nullable][transfer none] gtk_font_chooser_get_font_face () gtk_font_chooser_get_font_face PangoFontFace * gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser); Gets the PangoFontFace representing the selected font group details (i.e. family, slant, weight, width, etc). If the selected font is not installed, returns NULL. Parameters fontchooser a GtkFontChooser Returns A PangoFontFace representing the selected font group details, or NULL. The returned object is owned by fontchooser and must not be modified or freed. [nullable][transfer none] gtk_font_chooser_get_font_size () gtk_font_chooser_get_font_size int gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser); The selected font size. Parameters fontchooser a GtkFontChooser Returns A n integer representing the selected font size, or -1 if no font size is selected. gtk_font_chooser_get_font () gtk_font_chooser_get_font char * gtk_font_chooser_get_font (GtkFontChooser *fontchooser); Gets the currently-selected font name. Note that this can be a different string than what you set with gtk_font_chooser_set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”. Use pango_font_description_equal() if you want to compare two font descriptions. Parameters fontchooser a GtkFontChooser Returns A string with the name of the current font, or NULL if no font is selected. You must free this string with g_free(). [nullable][transfer full] gtk_font_chooser_set_font () gtk_font_chooser_set_font void gtk_font_chooser_set_font (GtkFontChooser *fontchooser, const char *fontname); Sets the currently-selected font. Parameters fontchooser a GtkFontChooser fontname a font name like “Helvetica 12” or “Times Bold 18” gtk_font_chooser_get_font_desc () gtk_font_chooser_get_font_desc PangoFontDescription * gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser); Gets the currently-selected font. Note that this can be a different string than what you set with gtk_font_chooser_set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”. Use pango_font_description_equal() if you want to compare two font descriptions. Parameters fontchooser a GtkFontChooser Returns A PangoFontDescription for the current font, or NULL if no font is selected. [nullable][transfer full] gtk_font_chooser_set_font_desc () gtk_font_chooser_set_font_desc void gtk_font_chooser_set_font_desc (GtkFontChooser *fontchooser, const PangoFontDescription *font_desc); Sets the currently-selected font from font_desc . Parameters fontchooser a GtkFontChooser font_desc a PangoFontDescription gtk_font_chooser_get_font_features () gtk_font_chooser_get_font_features char * gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser); Gets the currently-selected font features. Parameters fontchooser a GtkFontChooser Returns the currently selected font features gtk_font_chooser_get_language () gtk_font_chooser_get_language char * gtk_font_chooser_get_language (GtkFontChooser *fontchooser); Gets the language that is used for font features. Parameters fontchooser a GtkFontChooser Returns the currently selected language gtk_font_chooser_set_language () gtk_font_chooser_set_language void gtk_font_chooser_set_language (GtkFontChooser *fontchooser, const char *language); Sets the language to use for font features. Parameters fontchooser a GtkFontChooser language a language gtk_font_chooser_get_preview_text () gtk_font_chooser_get_preview_text char * gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser); Gets the text displayed in the preview area. Parameters fontchooser a GtkFontChooser Returns the text displayed in the preview area. [transfer full] gtk_font_chooser_set_preview_text () gtk_font_chooser_set_preview_text void gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser, const char *text); Sets the text displayed in the preview area. The text is used to show how the selected font looks. Parameters fontchooser a GtkFontChooser text the text to display in the preview area. [transfer none] gtk_font_chooser_get_show_preview_entry () gtk_font_chooser_get_show_preview_entry gboolean gtk_font_chooser_get_show_preview_entry (GtkFontChooser *fontchooser); Returns whether the preview entry is shown or not. Parameters fontchooser a GtkFontChooser Returns TRUE if the preview entry is shown or FALSE if it is hidden. gtk_font_chooser_set_show_preview_entry () gtk_font_chooser_set_show_preview_entry void gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser, gboolean show_preview_entry); Shows or hides the editable preview entry. Parameters fontchooser a GtkFontChooser show_preview_entry whether to show the editable preview entry or not gtk_font_chooser_get_level () gtk_font_chooser_get_level GtkFontChooserLevel gtk_font_chooser_get_level (GtkFontChooser *fontchooser); Returns the current level of granularity for selecting fonts. Parameters fontchooser a GtkFontChooser Returns the current granularity level gtk_font_chooser_set_level () gtk_font_chooser_set_level void gtk_font_chooser_set_level (GtkFontChooser *fontchooser, GtkFontChooserLevel level); Sets the desired level of granularity for selecting fonts. Parameters fontchooser a GtkFontChooser level the desired level of granularity GtkFontFilterFunc () GtkFontFilterFunc gboolean (*GtkFontFilterFunc) (const PangoFontFamily *family, const PangoFontFace *face, gpointer data); The type of function that is used for deciding what fonts get shown in a GtkFontChooser. See gtk_font_chooser_set_filter_func(). Parameters family a PangoFontFamily face a PangoFontFace belonging to family data user data passed to gtk_font_chooser_set_filter_func(). [closure] Returns TRUE if the font should be displayed gtk_font_chooser_set_filter_func () gtk_font_chooser_set_filter_func void gtk_font_chooser_set_filter_func (GtkFontChooser *fontchooser, GtkFontFilterFunc filter, gpointer user_data, GDestroyNotify destroy); Adds a filter function that decides which fonts to display in the font chooser. Parameters fontchooser a GtkFontChooser filter a GtkFontFilterFunc, or NULL. [allow-none] user_data data to pass to filter . [closure] destroy function to call to free data when it is no longer needed gtk_font_chooser_set_font_map () gtk_font_chooser_set_font_map void gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser, PangoFontMap *fontmap); Sets a custom font map to use for this font chooser widget. A custom font map can be used to present application-specific fonts instead of or in addition to the normal system fonts. Note that other GTK+ widgets will only be able to use the application-specific font if it is present in the font map they use: Parameters fontchooser a GtkFontChooser fontmap a PangoFontMap. [allow-none] gtk_font_chooser_get_font_map () gtk_font_chooser_get_font_map PangoFontMap * gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser); Gets the custom font map of this font chooser widget, or NULL if it does not have one. Parameters fontchooser a GtkFontChooser Returns a PangoFontMap, or NULL. [nullable][transfer full] Types and Values GtkFontChooser GtkFontChooser typedef struct _GtkFontChooser GtkFontChooser; enum GtkFontChooserLevel GtkFontChooserLevel This enumeration specifies the granularity of font selection that is desired in a font chooser. This enumeration may be extended in the future; applications should ignore unknown values. Members GTK_FONT_CHOOSER_LEVEL_FAMILY Allow selecting a font family GTK_FONT_CHOOSER_LEVEL_STYLE Allow selecting a specific font face GTK_FONT_CHOOSER_LEVEL_SIZE Allow selecting a specific font size GTK_FONT_CHOOSER_LEVEL_VARIATIONS Allow changing OpenType font variation axes GTK_FONT_CHOOSER_LEVEL_FEATURES Allow selecting specific OpenType font features Property Details The <literal>“font”</literal> property GtkFontChooser:font “font” gchar * The font description as a string, e.g. "Sans Italic 12". Owner: GtkFontChooser Flags: Read / Write Default value: "Sans 10" The <literal>“font-desc”</literal> property GtkFontChooser:font-desc “font-desc” PangoFontDescription * The font description as a PangoFontDescription. Owner: GtkFontChooser Flags: Read / Write The <literal>“font-features”</literal> property GtkFontChooser:font-features “font-features” gchar * The selected font features, in a format that is compatible with CSS and with Pango attributes. Owner: GtkFontChooser Flags: Read Default value: "" The <literal>“language”</literal> property GtkFontChooser:language “language” gchar * The language for which the “font-features” were selected, in a format that is compatible with CSS and with Pango attributes. Owner: GtkFontChooser Flags: Read / Write Default value: "" The <literal>“level”</literal> property GtkFontChooser:level “level” GtkFontChooserLevel The level of granularity to offer for selecting fonts. Owner: GtkFontChooser Flags: Read / Write Default value: GTK_FONT_CHOOSER_LEVEL_STYLE | GTK_FONT_CHOOSER_LEVEL_SIZE The <literal>“preview-text”</literal> property GtkFontChooser:preview-text “preview-text” gchar * The string with which to preview the font. Owner: GtkFontChooser Flags: Read / Write Default value: "The quick brown fox jumps over the lazy dog." The <literal>“show-preview-entry”</literal> property GtkFontChooser:show-preview-entry “show-preview-entry” gboolean Whether to show an entry to change the preview text. Owner: GtkFontChooser Flags: Read / Write Default value: TRUE Signal Details The <literal>“font-activated”</literal> signal GtkFontChooser::font-activated void user_function (GtkFontChooser *self, gchar *fontname, gpointer user_data) Emitted when a font is activated. This usually happens when the user double clicks an item, or an item is selected and the user presses one of the keys Space, Shift+Space, Return or Enter. Parameters self the object which received the signal fontname the font name user_data user data set when the signal handler was connected. Flags: Run First See Also GtkFontChooserDialog, GtkFontChooserWidget, GtkFontButton docs/reference/gtk/xml/gtksorter.xml0000664000175000017500000004605313710700312017731 0ustar mclasenmclasen ]> GtkSorter 3 GTK4 Library GtkSorter Sorting items Functions GtkOrdering gtk_sorter_compare () GtkSorterOrder gtk_sorter_get_order () void gtk_sorter_changed () Signals voidchangedRun Last Types and Values GtkSorter enumGtkSorterOrder enumGtkSorterChange Object Hierarchy GObject ╰── GtkSorter ├── GtkCustomSorter ├── GtkMultiSorter ├── GtkNumericSorter ├── GtkStringSorter ╰── GtkTreeListRowSorter Includes#include <gtk/gtk.h> Description GtkSorter is the way to describe sorting criteria. Its primary user is GtkSortListModel. The model will use a sorter to determine the order in which its items should appear by calling gtk_sorter_compare() for pairs of items. Sorters may change their sorting behavior through their lifetime. In that case, they will emit the “changed” signal to notify that the sort order is no longer valid and should be updated by calling gtk_sorter_compare() again. GTK provides various pre-made sorter implementations for common sorting operations. GtkColumnView has built-in support for sorting lists via the “sorter” property, where the user can change the sorting by clicking on list headers. Of course, in particular for large lists, it is also possible to subclass GtkSorter and provide one's own sorter. Functions gtk_sorter_compare () gtk_sorter_compare GtkOrdering gtk_sorter_compare (GtkSorter *self, gpointer item1, gpointer item2); Compares two given items according to the sort order implemented by the sorter. Sorters implement a partial order: It is reflexive, ie a = a It is antisymmetric, ie if a < b and b < a, then a = b It is transitive, ie given any 3 items with a ≤ b and b ≤ c, then a ≤ c The sorter may signal it conforms to additional constraints via the return value of gtk_sorter_get_order(). Parameters self a GtkSorter item1 first item to compare. [type GObject][transfer none] item2 second item to compare. [type GObject][transfer none] Returns GTK_ORDERING_EQUAL if item1 == item2 , GTK_ORDERING_SMALLER if item1 < item2 , GTK_ORDERING_LARGER if item1 > item2 gtk_sorter_get_order () gtk_sorter_get_order GtkSorterOrder gtk_sorter_get_order (GtkSorter *self); Gets the order that self conforms to. See GtkSorterOrder for details of the possible return values. This function is intended to allow optimizations. Parameters self a GtkSorter Returns The order gtk_sorter_changed () gtk_sorter_changed void gtk_sorter_changed (GtkSorter *self, GtkSorterChange change); Emits the “changed” signal to notify all users of the sorter that it has changed. Users of the sorter should then update the sort order via gtk_sorter_compare(). Depending on the change parameter, it may be possible to update the sort order without a full resorting. Refer to the GtkSorterChange documentation for details. This function is intended for implementors of GtkSorter subclasses and should not be called from other functions. Parameters self a GtkSorter change How the sorter changed Types and Values GtkSorter GtkSorter typedef struct _GtkSorter GtkSorter; enum GtkSorterOrder GtkSorterOrder Describes the type of order that a GtkSorter may describe. Members GTK_SORTER_ORDER_PARTIAL A partial order. Any GtkOrdering is possible. GTK_SORTER_ORDER_NONE No order, all elements are considered equal. gtk_sorter_compare() will only return GTK_ORDERING_EQUAL. GTK_SORTER_ORDER_TOTAL A total order. gtk_sorter_compare() will only return GTK_ORDERING_EQUAL if an item is compared with itself. Two different items will never cause this value to be returned. enum GtkSorterChange GtkSorterChange Describes changes in a sorter in more detail and allows users to optimize resorting. Members GTK_SORTER_CHANGE_DIFFERENT The sorter change cannot be described by any of the other enumeration values GTK_SORTER_CHANGE_INVERTED The sort order was inverted. Comparisons that returned GTK_ORDERING_SMALLER now return GTK_ORDERING_LARGER and vice versa. Other comparisons return the same values as before. GTK_SORTER_CHANGE_LESS_STRICT The sorter is less strict: Comparisons may now return GTK_ORDERING_EQUAL that did not do so before. GTK_SORTER_CHANGE_MORE_STRICT The sorter is more strict: Comparisons that did return GTK_ORDERING_EQUAL may not do so anymore. Signal Details The <literal>“changed”</literal> signal GtkSorter::changed void user_function (GtkSorter *self, GtkSorterChange change, gpointer user_data) This signal is emitted whenever the sorter changed. Users of the sorter should then update the sort order again via gtk_sorter_compare(). GtkSortListModel handles this signal automatically. Depending on the change parameter, it may be possible to update the sort order without a full resorting. Refer to the GtkSorterChange documentation for details. Parameters self The GtkSorter change how the sorter changed user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkSortListModel docs/reference/gtk/xml/gtkfontchooserwidget.xml0000664000175000017500000001606013710700311022142 0ustar mclasenmclasen ]> GtkFontChooserWidget 3 GTK4 Library GtkFontChooserWidget A widget for selecting fonts Functions GtkWidget * gtk_font_chooser_widget_new () Properties GAction *tweak-actionRead Types and Values GtkFontChooserWidget Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFontChooserWidget Implemented Interfaces GtkFontChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkFontChooser. Includes#include <gtk/gtk.h> Description The GtkFontChooserWidget widget lists the available fonts, styles and sizes, allowing the user to select a font. It is used in the GtkFontChooserDialog widget to provide a dialog box for selecting fonts. To set the font which is initially selected, use gtk_font_chooser_set_font() or gtk_font_chooser_set_font_desc(). To get the selected font use gtk_font_chooser_get_font() or gtk_font_chooser_get_font_desc(). To change the text which is shown in the preview area, use gtk_font_chooser_set_preview_text(). CSS nodesGtkFontChooserWidget has a single CSS node with name fontchooser. Functions gtk_font_chooser_widget_new () gtk_font_chooser_widget_new GtkWidget * gtk_font_chooser_widget_new (void); Creates a new GtkFontChooserWidget. Returns a new GtkFontChooserWidget Types and Values GtkFontChooserWidget GtkFontChooserWidget typedef struct _GtkFontChooserWidget GtkFontChooserWidget; Property Details The <literal>“tweak-action”</literal> property GtkFontChooserWidget:tweak-action “tweak-action” GAction * A toggle action that can be used to switch to the tweak page of the font chooser widget, which lets the user tweak the OpenType features and variation axes of the selected font. The action will be enabled or disabled depending on whether the selected font has any features or axes. Owner: GtkFontChooserWidget Flags: Read See Also GtkFontChooserDialog docs/reference/gtk/xml/gtkstringsorter.xml0000664000175000017500000003464213710700312021161 0ustar mclasenmclasen ]> GtkStringSorter 3 GTK4 Library GtkStringSorter Sort by comparing strings Functions GtkSorter * gtk_string_sorter_new () GtkExpression * gtk_string_sorter_get_expression () void gtk_string_sorter_set_expression () gboolean gtk_string_sorter_get_ignore_case () void gtk_string_sorter_set_ignore_case () Properties GtkExpression *expressionRead / Write gbooleanignore-caseRead / Write Types and Values GtkStringSorter Object Hierarchy GObject ╰── GtkSorter ╰── GtkStringSorter Includes#include <gtk/gtk.h> Description GtkStringSorter is a GtkSorter that compares strings. It does the comparison in a linguistically correct way using the current locale by normalizing Unicode strings and possibly case-folding them before performing the comparison. To obtain the strings to compare, this sorter evaluates a GtkExpression. Functions gtk_string_sorter_new () gtk_string_sorter_new GtkSorter * gtk_string_sorter_new (GtkExpression *expression); Creates a new string sorter that compares items using the given expression . Unless an expression is set on it, this sorter will always compare items as invalid. Parameters expression The expression to evaluate. [transfer full][nullable] Returns a new GtkSorter gtk_string_sorter_get_expression () gtk_string_sorter_get_expression GtkExpression * gtk_string_sorter_get_expression (GtkStringSorter *self); Gets the expression that is evaluated to obtain strings from items. Parameters self a GtkStringSorter Returns a GtkExpression, or NULL. [transfer none][nullable] gtk_string_sorter_set_expression () gtk_string_sorter_set_expression void gtk_string_sorter_set_expression (GtkStringSorter *self, GtkExpression *expression); Sets the expression that is evaluated to obtain strings from items. The expression must have the type G_TYPE_STRING. Parameters self a GtkStringSorter expression a GtkExpression, or NULL. [nullable][transfer none] gtk_string_sorter_get_ignore_case () gtk_string_sorter_get_ignore_case gboolean gtk_string_sorter_get_ignore_case (GtkStringSorter *self); Gets whether the sorter ignores case differences. Parameters self a GtkStringSorter Returns TRUE if self is ignoring case differences gtk_string_sorter_set_ignore_case () gtk_string_sorter_set_ignore_case void gtk_string_sorter_set_ignore_case (GtkStringSorter *self, gboolean ignore_case); Sets whether the sorter will ignore case differences. Parameters self a GtkStringSorter ignore_case TRUE to ignore case differences Types and Values GtkStringSorter GtkStringSorter typedef struct _GtkStringSorter GtkStringSorter; Property Details The <literal>“expression”</literal> property GtkStringSorter:expression “expression” GtkExpression * The expression to evalute on item to get a string to compare with [type GtkExpression]Owner: GtkStringSorter Flags: Read / Write The <literal>“ignore-case”</literal> property GtkStringSorter:ignore-case “ignore-case” gboolean If matching is case sensitive Owner: GtkStringSorter Flags: Read / Write Default value: TRUE See Also GtkExpression docs/reference/gtk/xml/gtkfontchooserdialog.xml0000664000175000017500000001476613710700311022131 0ustar mclasenmclasen ]> GtkFontChooserDialog 3 GTK4 Library GtkFontChooserDialog A dialog for selecting fonts Functions GtkWidget * gtk_font_chooser_dialog_new () Types and Values GtkFontChooserDialog Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkFontChooserDialog Implemented Interfaces GtkFontChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkFontChooser. Includes#include <gtk/gtk.h> Description The GtkFontChooserDialog widget is a dialog for selecting a font. It implements the GtkFontChooser interface. GtkFontChooserDialog as GtkBuildableThe GtkFontChooserDialog implementation of the GtkBuildable interface exposes the buttons with the names “select_button” and “cancel_button”. Functions gtk_font_chooser_dialog_new () gtk_font_chooser_dialog_new GtkWidget * gtk_font_chooser_dialog_new (const char *title, GtkWindow *parent); Creates a new GtkFontChooserDialog. Parameters title Title of the dialog, or NULL. [allow-none] parent Transient parent of the dialog, or NULL. [allow-none] Returns a new GtkFontChooserDialog Types and Values GtkFontChooserDialog GtkFontChooserDialog typedef struct _GtkFontChooserDialog GtkFontChooserDialog; See Also GtkFontChooser, GtkDialog docs/reference/gtk/xml/gtkframe.xml0000664000175000017500000006151513710700311017504 0ustar mclasenmclasen ]> GtkFrame 3 GTK4 Library GtkFrame A widget with a decorative frame and optional label Functions GtkWidget * gtk_frame_new () void gtk_frame_set_child () GtkWidget * gtk_frame_get_child () void gtk_frame_set_label () const char * gtk_frame_get_label () void gtk_frame_set_label_widget () GtkWidget * gtk_frame_get_label_widget () void gtk_frame_set_label_align () float gtk_frame_get_label_align () Properties GtkWidget *childRead / Write gchar *labelRead / Write GtkWidget *label-widgetRead / Write gfloatlabel-xalignRead / Write Types and Values structGtkFrame structGtkFrameClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkFrame Implemented Interfaces GtkFrame implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The frame widget is a widget that surrounds its child with a decorative frame and an optional label. If present, the label is drawn inside the top edge of the frame. The horizontal position of the label can be controlled with gtk_frame_set_label_align(). GtkFrame as GtkBuildableThe GtkFrame implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute. An example of a UI definition fragment with GtkFrame: ]]> CSS nodes ╰── ]]> GtkFrame has a main CSS node with name “frame”, which is used to draw the visible border. You can set the appearance of the border using CSS properties like “border-style” on this node. Functions gtk_frame_new () gtk_frame_new GtkWidget * gtk_frame_new (const char *label); Creates a new GtkFrame, with optional label label . If label is NULL, the label is omitted. Parameters label the text to use as the label of the frame. [allow-none] Returns a new GtkFrame widget gtk_frame_set_child () gtk_frame_set_child void gtk_frame_set_child (GtkFrame *frame, GtkWidget *child); Sets the child widget of frame . Parameters frame a GtkFrame child the child widget. [allow-none] gtk_frame_get_child () gtk_frame_get_child GtkWidget * gtk_frame_get_child (GtkFrame *frame); Gets the child widget of frame . Parameters frame a GtkFrame Returns the child widget of frame . [nullable][transfer none] gtk_frame_set_label () gtk_frame_set_label void gtk_frame_set_label (GtkFrame *frame, const char *label); Removes the current “label-widget”. If label is not NULL, creates a new GtkLabel with that text and adds it as the “label-widget”. Parameters frame a GtkFrame label the text to use as the label of the frame. [allow-none] gtk_frame_get_label () gtk_frame_get_label const char * gtk_frame_get_label (GtkFrame *frame); If the frame’s label widget is a GtkLabel, returns the text in the label widget. (The frame will have a GtkLabel for the label widget if a non-NULL argument was passed to gtk_frame_new().) Parameters frame a GtkFrame Returns the text in the label, or NULL if there was no label widget or the lable widget was not a GtkLabel. This string is owned by GTK+ and must not be modified or freed. [nullable] gtk_frame_set_label_widget () gtk_frame_set_label_widget void gtk_frame_set_label_widget (GtkFrame *frame, GtkWidget *label_widget); Sets the “label-widget” for the frame. This is the widget that will appear embedded in the top edge of the frame as a title. Parameters frame a GtkFrame label_widget the new label widget. [nullable] gtk_frame_get_label_widget () gtk_frame_get_label_widget GtkWidget * gtk_frame_get_label_widget (GtkFrame *frame); Retrieves the label widget for the frame. See gtk_frame_set_label_widget(). Parameters frame a GtkFrame Returns the label widget, or NULL if there is none. [nullable][transfer none] gtk_frame_set_label_align () gtk_frame_set_label_align void gtk_frame_set_label_align (GtkFrame *frame, float xalign); Sets the X alignment of the frame widget’s label. The default value for a newly created frame is 0.0. Parameters frame a GtkFrame xalign The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment. gtk_frame_get_label_align () gtk_frame_get_label_align float gtk_frame_get_label_align (GtkFrame *frame); Retrieves the X alignment of the frame’s label. See gtk_frame_set_label_align(). Parameters frame a GtkFrame Types and Values struct GtkFrame GtkFrame struct GtkFrame; struct GtkFrameClass GtkFrameClass struct GtkFrameClass { GtkWidgetClass parent_class; void (*compute_child_allocation) (GtkFrame *frame, GtkAllocation *allocation); }; Members compute_child_allocation () Property Details The <literal>“child”</literal> property GtkFrame:child “child” GtkWidget * The child widget.Owner: GtkFrame Flags: Read / Write The <literal>“label”</literal> property GtkFrame:label “label” gchar * Text of the frame’s label.Owner: GtkFrame Flags: Read / Write Default value: NULL The <literal>“label-widget”</literal> property GtkFrame:label-widget “label-widget” GtkWidget * A widget to display in place of the usual frame label.Owner: GtkFrame Flags: Read / Write The <literal>“label-xalign”</literal> property GtkFrame:label-xalign “label-xalign” gfloat The horizontal alignment of the label.Owner: GtkFrame Flags: Read / Write Allowed values: [0,1] Default value: 0 docs/reference/gtk/xml/gtkmain.xml0000664000175000017500000003225413710700313017336 0ustar mclasenmclasen ]> Initialization 3 GTK4 Library Initialization Library initialization and main loop Functions void gtk_disable_setlocale () PangoLanguage * gtk_get_default_language () GtkTextDirection gtk_get_locale_direction () void gtk_init () gboolean gtk_init_check () Types and Values #defineGTK_PRIORITY_RESIZE Includes#include <gtk/gtk.h> Description Before using GTK, you need to initialize it using gtk_init(); this connects to the windowing system, sets up the locale and performs other initialization tasks. gtk_init() exits the application if errors occur; to avoid this, you can use gtk_init_check(), which allows you to recover from a failed GTK initialization - you might start up your application in text mode instead. Like all GUI toolkits, GTK uses an event-driven programming model. When the user is doing nothing, GTK sits in the “main loop” and waits for input. If the user performs some action - say, a mouse click - then the main loop “wakes up” and delivers an event to GTK. GTK forwards the event to one or more widgets. When widgets receive an event, they frequently emit one or more “signals”. Signals notify your program that "something interesting happened" by invoking functions you’ve connected to the signal with g_signal_connect(). Functions connected to a signal are often called “callbacks”. When your callbacks are invoked, you would typically take some action - for example, when an Open button is clicked you might display a GtkFileChooserDialog. After a callback finishes, GTK will return to the main loop and await more user input. Typical <link linkend="main"><function>main()</function></link> function for a GTK application See GMainLoop in the GLib documentation to learn more about main loops and their features. Functions gtk_disable_setlocale () gtk_disable_setlocale void gtk_disable_setlocale (void); Prevents gtk_init(), gtk_init_check() and gtk_parse_args() from automatically calling setlocale (LC_ALL, ""). You would want to use this function if you wanted to set the locale for your program to something other than the user’s locale, or if you wanted to set different values for different locale categories. Most programs should not need to call this function. gtk_get_default_language () gtk_get_default_language PangoLanguage * gtk_get_default_language (void); Returns the PangoLanguage for the default language currently in effect. (Note that this can change over the life of an application.) The default language is derived from the current locale. It determines, for example, whether GTK uses the right-to-left or left-to-right text direction. This function is equivalent to pango_language_get_default(). See that function for details. Returns the default language as a PangoLanguage, must not be freed. [transfer none] gtk_get_locale_direction () gtk_get_locale_direction GtkTextDirection gtk_get_locale_direction (void); Get the direction of the current locale. This is the expected reading direction for text and UI. This function depends on the current locale being set with setlocale() and will default to setting the GTK_TEXT_DIR_LTR direction otherwise. GTK_TEXT_DIR_NONE will never be returned. GTK sets the default text direction according to the locale during gtk_init(), and you should normally use gtk_widget_get_direction() or gtk_widget_get_default_direction() to obtain the current direction. This function is only needed rare cases when the locale is changed after GTK has already been initialized. In this case, you can use it to update the default text direction as follows: Returns the GtkTextDirection of the current locale gtk_init () gtk_init void gtk_init (void); Call this function before using any other GTK functions in your GUI applications. It will initialize everything needed to operate the toolkit and parses some standard command line options. If you are using GtkApplication, you don't have to call gtk_init() or gtk_init_check(); the “startup” handler does it for you. This function will terminate your program if it was unable to initialize the windowing system for some reason. If you want your program to fall back to a textual interface you want to call gtk_init_check() instead. GTK calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore SIGPIPE signals, since these are almost never wanted in graphical applications. If you do need to handle SIGPIPE for some reason, reset the handler after gtk_init(), but notice that other libraries (e.g. libdbus or gvfs) might do similar things. gtk_init_check () gtk_init_check gboolean gtk_init_check (void); This function does the same work as gtk_init() with only a single change: It does not terminate the program if the windowing system can’t be initialized. Instead it returns FALSE on failure. This way the application can fall back to some other means of communication with the user - for example a curses or command line interface. Returns TRUE if the windowing system has been successfully initialized, FALSE otherwise Types and Values GTK_PRIORITY_RESIZE GTK_PRIORITY_RESIZE #define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) Use this priority for functionality related to size allocation. It is used internally by GTK+ to compute the sizes of widgets. This priority is higher than GDK_PRIORITY_REDRAW to avoid resizing a widget which was just redrawn. See Also See the GLib manual, especially GMainLoop and signal-related functions such as g_signal_connect() docs/reference/gtk/xml/gtktreelistrowsorter.xml0000664000175000017500000002547113710700312022236 0ustar mclasenmclasen ]> GtkTreeListRowSorter 3 GTK4 Library GtkTreeListRowSorter Sort trees by levels Functions GtkSorter * gtk_tree_list_row_sorter_new () GtkSorter * gtk_tree_list_row_sorter_get_sorter () void gtk_tree_list_row_sorter_set_sorter () Properties GtkSorter *sorterRead / Write Types and Values GtkTreeListRowSorter Object Hierarchy GObject ╰── GtkSorter ╰── GtkTreeListRowSorter Includes#include <gtk/gtk.h> Description GtkTreeListRowSorter is a special-purpose sorter that will apply a given sorter to the levels in a tree, while respecting the tree structure. Here is an example for setting up a column view with a tree model and a GtkTreeListSorter: Functions gtk_tree_list_row_sorter_new () gtk_tree_list_row_sorter_new GtkSorter * gtk_tree_list_row_sorter_new (GtkSorter *sorter); Create a special-purpose sorter that applies the sorting of sorter to the levels of a GtkTreeListModel. Note that this sorter relies on “passthrough” being FALSE as it can only sort GtkTreeListRows. Parameters sorter a GtkSorter, or NULL. [nullable][transfer full] Returns a new GtkSorter gtk_tree_list_row_sorter_get_sorter () gtk_tree_list_row_sorter_get_sorter GtkSorter * gtk_tree_list_row_sorter_get_sorter (GtkTreeListRowSorter *self); Returns the sorter used by self . Parameters self a GtkTreeListRowSorter Returns the sorter used. [transfer none][nullable] gtk_tree_list_row_sorter_set_sorter () gtk_tree_list_row_sorter_set_sorter void gtk_tree_list_row_sorter_set_sorter (GtkTreeListRowSorter *self, GtkSorter *sorter); Sets the sorter to use for items with the same parent. This sorter will be passed the “item” of the tree list rows passed to self . Parameters self a GtkTreeListRowSorter sorter The sorter to use, or NULL. [nullable][transfer none] Types and Values GtkTreeListRowSorter GtkTreeListRowSorter typedef struct _GtkTreeListRowSorter GtkTreeListRowSorter; Property Details The <literal>“sorter”</literal> property GtkTreeListRowSorter:sorter “sorter” GtkSorter * The underlying sorter Owner: GtkTreeListRowSorter Flags: Read / Write See Also GtkTreeListModel docs/reference/gtk/xml/gtktreemodel.xml0000664000175000017500000052670213710700312020377 0ustar mclasenmclasen ]> GtkTreeModel 3 GTK4 Library GtkTreeModel The tree interface used by GtkTreeView Functions gboolean (*GtkTreeModelForeachFunc) () GtkTreePath * gtk_tree_path_new () GtkTreePath * gtk_tree_path_new_from_string () GtkTreePath * gtk_tree_path_new_from_indices () GtkTreePath * gtk_tree_path_new_from_indicesv () char * gtk_tree_path_to_string () GtkTreePath * gtk_tree_path_new_first () void gtk_tree_path_append_index () void gtk_tree_path_prepend_index () int gtk_tree_path_get_depth () int * gtk_tree_path_get_indices () int * gtk_tree_path_get_indices_with_depth () void gtk_tree_path_free () GtkTreePath * gtk_tree_path_copy () int gtk_tree_path_compare () void gtk_tree_path_next () gboolean gtk_tree_path_prev () gboolean gtk_tree_path_up () void gtk_tree_path_down () gboolean gtk_tree_path_is_ancestor () gboolean gtk_tree_path_is_descendant () GtkTreeRowReference * gtk_tree_row_reference_new () GtkTreeRowReference * gtk_tree_row_reference_new_proxy () GtkTreeModel * gtk_tree_row_reference_get_model () GtkTreePath * gtk_tree_row_reference_get_path () gboolean gtk_tree_row_reference_valid () void gtk_tree_row_reference_free () GtkTreeRowReference * gtk_tree_row_reference_copy () void gtk_tree_row_reference_inserted () void gtk_tree_row_reference_deleted () void gtk_tree_row_reference_reordered () GtkTreeIter * gtk_tree_iter_copy () void gtk_tree_iter_free () GtkTreeModelFlags gtk_tree_model_get_flags () int gtk_tree_model_get_n_columns () GType gtk_tree_model_get_column_type () gboolean gtk_tree_model_get_iter () gboolean gtk_tree_model_get_iter_from_string () gboolean gtk_tree_model_get_iter_first () GtkTreePath * gtk_tree_model_get_path () void gtk_tree_model_get_value () gboolean gtk_tree_model_iter_next () gboolean gtk_tree_model_iter_previous () gboolean gtk_tree_model_iter_children () gboolean gtk_tree_model_iter_has_child () int gtk_tree_model_iter_n_children () gboolean gtk_tree_model_iter_nth_child () gboolean gtk_tree_model_iter_parent () char * gtk_tree_model_get_string_from_iter () void gtk_tree_model_ref_node () void gtk_tree_model_unref_node () void gtk_tree_model_get () void gtk_tree_model_get_valist () void gtk_tree_model_foreach () void gtk_tree_model_row_changed () void gtk_tree_model_row_inserted () void gtk_tree_model_row_has_child_toggled () void gtk_tree_model_row_deleted () void gtk_tree_model_rows_reordered () void gtk_tree_model_rows_reordered_with_length () Signals voidrow-changedRun Last voidrow-deletedRun First voidrow-has-child-toggledRun Last voidrow-insertedRun First voidrows-reorderedRun First Types and Values GtkTreeModel structGtkTreeIter GtkTreePath GtkTreeRowReference structGtkTreeModelIface enumGtkTreeModelFlags Object Hierarchy GBoxed ├── GtkTreeIter ╰── GtkTreePath GInterface ╰── GtkTreeModel Prerequisites GtkTreeModel requires GObject. Known Derived Interfaces GtkTreeModel is required by GtkTreeSortable. Known Implementations GtkTreeModel is implemented by GtkListStore, GtkTreeModelFilter, GtkTreeModelSort and GtkTreeStore. Includes#include <gtk/gtk.h> Description The GtkTreeModel interface defines a generic tree interface for use by the GtkTreeView widget. It is an abstract interface, and is designed to be usable with any appropriate data structure. The programmer just has to implement this interface on their own data type for it to be viewable by a GtkTreeView widget. The model is represented as a hierarchical tree of strongly-typed, columned data. In other words, the model can be seen as a tree where every node has different values depending on which column is being queried. The type of data found in a column is determined by using the GType system (ie. G_TYPE_INT, GTK_TYPE_BUTTON, G_TYPE_POINTER, etc). The types are homogeneous per column across all nodes. It is important to note that this interface only provides a way of examining a model and observing changes. The implementation of each individual model decides how and if changes are made. In order to make life simpler for programmers who do not need to write their own specialized model, two generic models are provided — the GtkTreeStore and the GtkListStore. To use these, the developer simply pushes data into these models as necessary. These models provide the data structure as well as all appropriate tree interfaces. As a result, implementing drag and drop, sorting, and storing data is trivial. For the vast majority of trees and lists, these two models are sufficient. Models are accessed on a node/column level of granularity. One can query for the value of a model at a certain node and a certain column on that node. There are two structures used to reference a particular node in a model. They are the GtkTreePath and the GtkTreeIter (“iter” is short for iterator). Most of the interface consists of operations on a GtkTreeIter. A path is essentially a potential node. It is a location on a model that may or may not actually correspond to a node on a specific model. The GtkTreePath can be converted into either an array of unsigned integers or a string. The string form is a list of numbers separated by a colon. Each number refers to the offset at that level. Thus, the path 0 refers to the root node and the path 2:4 refers to the fifth child of the third node. By contrast, a GtkTreeIter is a reference to a specific node on a specific model. It is a generic struct with an integer and three generic pointers. These are filled in by the model in a model-specific way. One can convert a path to an iterator by calling gtk_tree_model_get_iter(). These iterators are the primary way of accessing a model and are similar to the iterators used by GtkTextBuffer. They are generally statically allocated on the stack and only used for a short time. The model interface defines a set of operations using them for navigating the model. It is expected that models fill in the iterator with private data. For example, the GtkListStore model, which is internally a simple linked list, stores a list node in one of the pointers. The GtkTreeModelSort stores an array and an offset in two of the pointers. Additionally, there is an integer field. This field is generally filled with a unique stamp per model. This stamp is for catching errors resulting from using invalid iterators with a model. The lifecycle of an iterator can be a little confusing at first. Iterators are expected to always be valid for as long as the model is unchanged (and doesn’t emit a signal). The model is considered to own all outstanding iterators and nothing needs to be done to free them from the user’s point of view. Additionally, some models guarantee that an iterator is valid for as long as the node it refers to is valid (most notably the GtkTreeStore and GtkListStore). Although generally uninteresting, as one always has to allow for the case where iterators do not persist beyond a signal, some very important performance enhancements were made in the sort model. As a result, the GTK_TREE_MODEL_ITERS_PERSIST flag was added to indicate this behavior. To help show some common operation of a model, some examples are provided. The first example shows three ways of getting the iter at the location 3:2:5. While the first method shown is easier, the second is much more common, as you often get paths from callbacks. Acquiring a <link linkend="GtkTreeIter-struct"><type>GtkTreeIter</type></link> This second example shows a quick way of iterating through a list and getting a string and an integer from each row. The populate_model() function used below is not shown, as it is specific to the GtkListStore. For information on how to write such a function, see the GtkListStore documentation. Reading data from a <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> The GtkTreeModel interface contains two methods for reference counting: gtk_tree_model_ref_node() and gtk_tree_model_unref_node(). These two methods are optional to implement. The reference counting is meant as a way for views to let models know when nodes are being displayed. GtkTreeView will take a reference on a node when it is visible, which means the node is either in the toplevel or expanded. Being displayed does not mean that the node is currently directly visible to the user in the viewport. Based on this reference counting scheme a caching model, for example, can decide whether or not to cache a node based on the reference count. A file-system based model would not want to keep the entire file hierarchy in memory, but just the folders that are currently expanded in every current view. When working with reference counting, the following rules must be taken into account: Never take a reference on a node without owning a reference on its parent. This means that all parent nodes of a referenced node must be referenced as well. Outstanding references on a deleted node are not released. This is not possible because the node has already been deleted by the time the row-deleted signal is received. Models are not obligated to emit a signal on rows of which none of its siblings are referenced. To phrase this differently, signals are only required for levels in which nodes are referenced. For the root level however, signals must be emitted at all times (however the root level is always referenced when any view is attached). Functions GtkTreeModelForeachFunc () GtkTreeModelForeachFunc gboolean (*GtkTreeModelForeachFunc) (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data); Type of the callback passed to gtk_tree_model_foreach() to iterate over the rows in a tree model. Parameters model the GtkTreeModel being iterated path the current GtkTreePath iter the current GtkTreeIter data The user data passed to gtk_tree_model_foreach(). [closure] Returns TRUE to stop iterating, FALSE to continue gtk_tree_path_new () gtk_tree_path_new GtkTreePath * gtk_tree_path_new (void); Creates a new GtkTreePath. This refers to a row. Returns A newly created GtkTreePath. gtk_tree_path_new_from_string () gtk_tree_path_new_from_string GtkTreePath * gtk_tree_path_new_from_string (const char *path); Creates a new GtkTreePath initialized to path . path is expected to be a colon separated list of numbers. For example, the string “10:4:0” would create a path of depth 3 pointing to the 11th child of the root node, the 5th child of that 11th child, and the 1st child of that 5th child. If an invalid path string is passed in, NULL is returned. Parameters path The string representation of a path Returns A newly-created GtkTreePath, or NULL gtk_tree_path_new_from_indices () gtk_tree_path_new_from_indices GtkTreePath * gtk_tree_path_new_from_indices (int first_index, ...); Creates a new path with first_index and varargs as indices. Parameters first_index first integer ... list of integers terminated by -1 Returns A newly created GtkTreePath gtk_tree_path_new_from_indicesv () gtk_tree_path_new_from_indicesv GtkTreePath * gtk_tree_path_new_from_indicesv (int *indices, gsize length); Creates a new path with the given indices array of length . [rename-to gtk_tree_path_new_from_indices] Parameters indices array of indices. [array length=length] length length of indices array Returns A newly created GtkTreePath gtk_tree_path_to_string () gtk_tree_path_to_string char * gtk_tree_path_to_string (GtkTreePath *path); Generates a string representation of the path. This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string. Parameters path A GtkTreePath Returns A newly-allocated string. Must be freed with g_free(). gtk_tree_path_new_first () gtk_tree_path_new_first GtkTreePath * gtk_tree_path_new_first (void); Creates a new GtkTreePath. The string representation of this path is “0”. Returns A new GtkTreePath gtk_tree_path_append_index () gtk_tree_path_append_index void gtk_tree_path_append_index (GtkTreePath *path, int index_); Appends a new index to a path. As a result, the depth of the path is increased. Parameters path a GtkTreePath index_ the index gtk_tree_path_prepend_index () gtk_tree_path_prepend_index void gtk_tree_path_prepend_index (GtkTreePath *path, int index_); Prepends a new index to a path. As a result, the depth of the path is increased. Parameters path a GtkTreePath index_ the index gtk_tree_path_get_depth () gtk_tree_path_get_depth int gtk_tree_path_get_depth (GtkTreePath *path); Returns the current depth of path . Parameters path a GtkTreePath Returns The depth of path gtk_tree_path_get_indices () gtk_tree_path_get_indices int * gtk_tree_path_get_indices (GtkTreePath *path); Returns the current indices of path . This is an array of integers, each representing a node in a tree. This value should not be freed. The length of the array can be obtained with gtk_tree_path_get_depth(). [skip] Parameters path a GtkTreePath Returns The current indices, or NULL gtk_tree_path_get_indices_with_depth () gtk_tree_path_get_indices_with_depth int * gtk_tree_path_get_indices_with_depth (GtkTreePath *path, int *depth); Returns the current indices of path . This is an array of integers, each representing a node in a tree. It also returns the number of elements in the array. The array should not be freed. [rename-to gtk_tree_path_get_indices] Parameters path a GtkTreePath depth return location for number of elements returned in the integer array, or NULL. [out][allow-none] Returns The current indices, or NULL. [array length=depth][transfer none] gtk_tree_path_free () gtk_tree_path_free void gtk_tree_path_free (GtkTreePath *path); Frees path . If path is NULL, it simply returns. Parameters path a GtkTreePath. [allow-none] gtk_tree_path_copy () gtk_tree_path_copy GtkTreePath * gtk_tree_path_copy (const GtkTreePath *path); Creates a new GtkTreePath as a copy of path . Parameters path a GtkTreePath Returns a new GtkTreePath gtk_tree_path_compare () gtk_tree_path_compare int gtk_tree_path_compare (const GtkTreePath *a, const GtkTreePath *b); Compares two paths. If a appears before b in a tree, then -1 is returned. If b appears before a , then 1 is returned. If the two nodes are equal, then 0 is returned. Parameters a a GtkTreePath b a GtkTreePath to compare with Returns the relative positions of a and b gtk_tree_path_next () gtk_tree_path_next void gtk_tree_path_next (GtkTreePath *path); Moves the path to point to the next node at the current depth. Parameters path a GtkTreePath gtk_tree_path_prev () gtk_tree_path_prev gboolean gtk_tree_path_prev (GtkTreePath *path); Moves the path to point to the previous node at the current depth, if it exists. Parameters path a GtkTreePath Returns TRUE if path has a previous node, and the move was made gtk_tree_path_up () gtk_tree_path_up gboolean gtk_tree_path_up (GtkTreePath *path); Moves the path to point to its parent node, if it has a parent. Parameters path a GtkTreePath Returns TRUE if path has a parent, and the move was made gtk_tree_path_down () gtk_tree_path_down void gtk_tree_path_down (GtkTreePath *path); Moves path to point to the first child of the current path. Parameters path a GtkTreePath gtk_tree_path_is_ancestor () gtk_tree_path_is_ancestor gboolean gtk_tree_path_is_ancestor (GtkTreePath *path, GtkTreePath *descendant); Returns TRUE if descendant is a descendant of path . Parameters path a GtkTreePath descendant another GtkTreePath Returns TRUE if descendant is contained inside path gtk_tree_path_is_descendant () gtk_tree_path_is_descendant gboolean gtk_tree_path_is_descendant (GtkTreePath *path, GtkTreePath *ancestor); Returns TRUE if path is a descendant of ancestor . Parameters path a GtkTreePath ancestor another GtkTreePath Returns TRUE if ancestor contains path somewhere below it gtk_tree_row_reference_new () gtk_tree_row_reference_new GtkTreeRowReference * gtk_tree_row_reference_new (GtkTreeModel *model, GtkTreePath *path); Creates a row reference based on path . This reference will keep pointing to the node pointed to by path , so long as it exists. Any changes that occur on model are propagated, and the path is updated appropriately. If path isn’t a valid path in model , then NULL is returned. Parameters model a GtkTreeModel path a valid GtkTreePath to monitor Returns a newly allocated GtkTreeRowReference, or NULL gtk_tree_row_reference_new_proxy () gtk_tree_row_reference_new_proxy GtkTreeRowReference * gtk_tree_row_reference_new_proxy (GObject *proxy, GtkTreeModel *model, GtkTreePath *path); You do not need to use this function. Creates a row reference based on path . This reference will keep pointing to the node pointed to by path , so long as it exists. If path isn’t a valid path in model , then NULL is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), gtk_tree_row_reference_reordered(). These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK+ objects like GtkTreeView already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object as model and proxy doesn’t work for reasons of internal implementation. This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications. Parameters proxy a proxy GObject model a GtkTreeModel path a valid GtkTreePath to monitor Returns a newly allocated GtkTreeRowReference, or NULL gtk_tree_row_reference_get_model () gtk_tree_row_reference_get_model GtkTreeModel * gtk_tree_row_reference_get_model (GtkTreeRowReference *reference); Returns the model that the row reference is monitoring. Parameters reference a GtkTreeRowReference Returns the model. [transfer none] gtk_tree_row_reference_get_path () gtk_tree_row_reference_get_path GtkTreePath * gtk_tree_row_reference_get_path (GtkTreeRowReference *reference); Returns a path that the row reference currently points to, or NULL if the path pointed to is no longer valid. Parameters reference a GtkTreeRowReference Returns a current path, or NULL. [nullable][transfer full] gtk_tree_row_reference_valid () gtk_tree_row_reference_valid gboolean gtk_tree_row_reference_valid (GtkTreeRowReference *reference); Returns TRUE if the reference is non-NULL and refers to a current valid path. Parameters reference a GtkTreeRowReference, or NULL. [allow-none] Returns TRUE if reference points to a valid path gtk_tree_row_reference_free () gtk_tree_row_reference_free void gtk_tree_row_reference_free (GtkTreeRowReference *reference); Free’s reference . reference may be NULL Parameters reference a GtkTreeRowReference, or NULL. [allow-none] gtk_tree_row_reference_copy () gtk_tree_row_reference_copy GtkTreeRowReference * gtk_tree_row_reference_copy (GtkTreeRowReference *reference); Copies a GtkTreeRowReference. Parameters reference a GtkTreeRowReference Returns a copy of reference gtk_tree_row_reference_inserted () gtk_tree_row_reference_inserted void gtk_tree_row_reference_inserted (GObject *proxy, GtkTreePath *path); Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “row-inserted” signal. Parameters proxy a GObject path the row position that was inserted gtk_tree_row_reference_deleted () gtk_tree_row_reference_deleted void gtk_tree_row_reference_deleted (GObject *proxy, GtkTreePath *path); Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “row-deleted” signal. Parameters proxy a GObject path the path position that was deleted gtk_tree_row_reference_reordered () gtk_tree_row_reference_reordered void gtk_tree_row_reference_reordered (GObject *proxy, GtkTreePath *path, GtkTreeIter *iter, int *new_order); Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the “rows-reordered” signal. [skip] Parameters proxy a GObject path the parent path of the reordered signal iter the iter pointing to the parent of the reordered new_order the new order of rows. [array] gtk_tree_iter_copy () gtk_tree_iter_copy GtkTreeIter * gtk_tree_iter_copy (GtkTreeIter *iter); Creates a dynamically allocated tree iterator as a copy of iter . This function is not intended for use in applications, because you can just copy the structs by value (GtkTreeIter new_iter = iter;). You must free this iter with gtk_tree_iter_free(). Parameters iter a GtkTreeIter Returns a newly-allocated copy of iter gtk_tree_iter_free () gtk_tree_iter_free void gtk_tree_iter_free (GtkTreeIter *iter); Frees an iterator that has been allocated by gtk_tree_iter_copy(). This function is mainly used for language bindings. Parameters iter a dynamically allocated tree iterator gtk_tree_model_get_flags () gtk_tree_model_get_flags GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model); Returns a set of flags supported by this interface. The flags are a bitwise combination of GtkTreeModelFlags. The flags supported should not change during the lifetime of the tree_model . Parameters tree_model a GtkTreeModel Returns the flags supported by this interface gtk_tree_model_get_n_columns () gtk_tree_model_get_n_columns int gtk_tree_model_get_n_columns (GtkTreeModel *tree_model); Returns the number of columns supported by tree_model . Parameters tree_model a GtkTreeModel Returns the number of columns gtk_tree_model_get_column_type () gtk_tree_model_get_column_type GType gtk_tree_model_get_column_type (GtkTreeModel *tree_model, int index_); Returns the type of the column. Parameters tree_model a GtkTreeModel index_ the column index Returns the type of the column gtk_tree_model_get_iter () gtk_tree_model_get_iter gboolean gtk_tree_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); Sets iter to a valid iterator pointing to path . If path does not exist, iter is set to an invalid iterator and FALSE is returned. Parameters tree_model a GtkTreeModel iter the uninitialized GtkTreeIter. [out] path the GtkTreePath Returns TRUE, if iter was set gtk_tree_model_get_iter_from_string () gtk_tree_model_get_iter_from_string gboolean gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model, GtkTreeIter *iter, const char *path_string); Sets iter to a valid iterator pointing to path_string , if it exists. Otherwise, iter is left invalid and FALSE is returned. Parameters tree_model a GtkTreeModel iter an uninitialized GtkTreeIter. [out] path_string a string representation of a GtkTreePath Returns TRUE, if iter was set gtk_tree_model_get_iter_first () gtk_tree_model_get_iter_first gboolean gtk_tree_model_get_iter_first (GtkTreeModel *tree_model, GtkTreeIter *iter); Initializes iter with the first iterator in the tree (the one at the path "0") and returns TRUE. Returns FALSE if the tree is empty. Parameters tree_model a GtkTreeModel iter the uninitialized GtkTreeIter. [out] Returns TRUE, if iter was set gtk_tree_model_get_path () gtk_tree_model_get_path GtkTreePath * gtk_tree_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter); Returns a newly-created GtkTreePath referenced by iter . This path should be freed with gtk_tree_path_free(). Parameters tree_model a GtkTreeModel iter the GtkTreeIter Returns a newly-created GtkTreePath gtk_tree_model_get_value () gtk_tree_model_get_value void gtk_tree_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value); Initializes and sets value to that at column . When done with value , g_value_unset() needs to be called to free any allocated memory. Parameters tree_model a GtkTreeModel iter the GtkTreeIter column the column to lookup the value at value an empty GValue to set. [out][transfer none] gtk_tree_model_iter_next () gtk_tree_model_iter_next gboolean gtk_tree_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); Sets iter to point to the node following it at the current level. If there is no next iter , FALSE is returned and iter is set to be invalid. Parameters tree_model a GtkTreeModel iter the GtkTreeIter. [in] Returns TRUE if iter has been changed to the next node gtk_tree_model_iter_previous () gtk_tree_model_iter_previous gboolean gtk_tree_model_iter_previous (GtkTreeModel *tree_model, GtkTreeIter *iter); Sets iter to point to the previous node at the current level. If there is no previous iter , FALSE is returned and iter is set to be invalid. Parameters tree_model a GtkTreeModel iter the GtkTreeIter. [in] Returns TRUE if iter has been changed to the previous node gtk_tree_model_iter_children () gtk_tree_model_iter_children gboolean gtk_tree_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); Sets iter to point to the first child of parent . If parent has no children, FALSE is returned and iter is set to be invalid. parent will remain a valid node after this function has been called. If parent is NULL returns the first node, equivalent to gtk_tree_model_get_iter_first (tree_model, iter); Parameters tree_model a GtkTreeModel iter the new GtkTreeIter to be set to the child. [out] parent the GtkTreeIter, or NULL. [allow-none] Returns TRUE, if iter has been set to the first child gtk_tree_model_iter_has_child () gtk_tree_model_iter_has_child gboolean gtk_tree_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter); Returns TRUE if iter has children, FALSE otherwise. Parameters tree_model a GtkTreeModel iter the GtkTreeIter to test for children Returns TRUE if iter has children gtk_tree_model_iter_n_children () gtk_tree_model_iter_n_children int gtk_tree_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter); Returns the number of children that iter has. As a special case, if iter is NULL, then the number of toplevel nodes is returned. Parameters tree_model a GtkTreeModel iter the GtkTreeIter, or NULL. [allow-none] Returns the number of children of iter gtk_tree_model_iter_nth_child () gtk_tree_model_iter_nth_child gboolean gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n); Sets iter to be the child of parent , using the given index. The first index is 0. If n is too big, or parent has no children, iter is set to an invalid iterator and FALSE is returned. parent will remain a valid node after this function has been called. As a special case, if parent is NULL, then the n -th root node is set. Parameters tree_model a GtkTreeModel iter the GtkTreeIter to set to the nth child. [out] parent the GtkTreeIter to get the child from, or NULL. [allow-none] n the index of the desired child Returns TRUE, if parent has an n -th child gtk_tree_model_iter_parent () gtk_tree_model_iter_parent gboolean gtk_tree_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child); Sets iter to be the parent of child . If child is at the toplevel, and doesn’t have a parent, then iter is set to an invalid iterator and FALSE is returned. child will remain a valid node after this function has been called. iter will be initialized before the lookup is performed, so child and iter cannot point to the same memory location. Parameters tree_model a GtkTreeModel iter the new GtkTreeIter to set to the parent. [out] child the GtkTreeIter Returns TRUE, if iter is set to the parent of child gtk_tree_model_get_string_from_iter () gtk_tree_model_get_string_from_iter char * gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model, GtkTreeIter *iter); Generates a string representation of the iter. This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string. Parameters tree_model a GtkTreeModel iter a GtkTreeIter Returns a newly-allocated string. Must be freed with g_free(). gtk_tree_model_ref_node () gtk_tree_model_ref_node void gtk_tree_model_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter); Lets the tree ref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. This function is primarily meant as a way for views to let caching models know when nodes are being displayed (and hence, whether or not to cache that node). Being displayed means a node is in an expanded branch, regardless of whether the node is currently visible in the viewport. For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view. A model should be expected to be able to get an iter independent of its reffed state. Parameters tree_model a GtkTreeModel iter the GtkTreeIter gtk_tree_model_unref_node () gtk_tree_model_unref_node void gtk_tree_model_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter); Lets the tree unref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. For more information on what this means, see gtk_tree_model_ref_node(). Please note that nodes that are deleted are not unreffed. Parameters tree_model a GtkTreeModel iter the GtkTreeIter gtk_tree_model_get () gtk_tree_model_get void gtk_tree_model_get (GtkTreeModel *tree_model, GtkTreeIter *iter, ...); Gets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by a place to store the value being retrieved. The list is terminated by a -1. For example, to get a value from column 0 with type G_TYPE_STRING, you would write: gtk_tree_model_get (model, iter, 0, &amp;place_string_here, -1), where place_string_here is a gchararray to be filled with the string. Returned values with type G_TYPE_OBJECT have to be unreferenced, values with type G_TYPE_STRING or G_TYPE_BOXED have to be freed. Other values are passed by value. Parameters tree_model a GtkTreeModel iter a row in tree_model ... pairs of column number and value return locations, terminated by -1 gtk_tree_model_get_valist () gtk_tree_model_get_valist void gtk_tree_model_get_valist (GtkTreeModel *tree_model, GtkTreeIter *iter, va_list var_args); See gtk_tree_model_get(), this version takes a va_list for language bindings to use. Parameters tree_model a GtkTreeModel iter a row in tree_model var_args va_list of column/return location pairs gtk_tree_model_foreach () gtk_tree_model_foreach void gtk_tree_model_foreach (GtkTreeModel *model, GtkTreeModelForeachFunc func, gpointer user_data); Calls func on each node in model in a depth-first fashion. If func returns TRUE, then the tree ceases to be walked, and gtk_tree_model_foreach() returns. Parameters model a GtkTreeModel func a function to be called on each row. [scope call] user_data user data to passed to func . [closure] gtk_tree_model_row_changed () gtk_tree_model_row_changed void gtk_tree_model_row_changed (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); Emits the “row-changed” signal on tree_model . Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the changed row iter a valid GtkTreeIter pointing to the changed row gtk_tree_model_row_inserted () gtk_tree_model_row_inserted void gtk_tree_model_row_inserted (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); Emits the “row-inserted” signal on tree_model . Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the inserted row iter a valid GtkTreeIter pointing to the inserted row gtk_tree_model_row_has_child_toggled () gtk_tree_model_row_has_child_toggled void gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); Emits the “row-has-child-toggled” signal on tree_model . This should be called by models after the child state of a node changes. Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the changed row iter a valid GtkTreeIter pointing to the changed row gtk_tree_model_row_deleted () gtk_tree_model_row_deleted void gtk_tree_model_row_deleted (GtkTreeModel *tree_model, GtkTreePath *path); Emits the “row-deleted” signal on tree_model . This should be called by models after a row has been removed. The location pointed to by path should be the location that the row previously was at. It may not be a valid location anymore. Nodes that are deleted are not unreffed, this means that any outstanding references on the deleted node should not be released. Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the previous location of the deleted row gtk_tree_model_rows_reordered () gtk_tree_model_rows_reordered void gtk_tree_model_rows_reordered (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order); Emits the “rows-reordered” signal on tree_model . This should be called by models when their rows have been reordered. [skip] Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the tree node whose children have been reordered iter a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0 new_order an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos gtk_tree_model_rows_reordered_with_length () gtk_tree_model_rows_reordered_with_length void gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order, int length); Emits the “rows-reordered” signal on tree_model . This should be called by models when their rows have been reordered. [rename-to gtk_tree_model_rows_reordered] Parameters tree_model a GtkTreeModel path a GtkTreePath pointing to the tree node whose children have been reordered iter a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0. [allow-none] new_order an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos. [array length=length] length length of new_order array Types and Values GtkTreeModel GtkTreeModel typedef struct _GtkTreeModel GtkTreeModel; struct GtkTreeIter GtkTreeIter struct GtkTreeIter { int stamp; gpointer user_data; gpointer user_data2; gpointer user_data3; }; The GtkTreeIter is the primary structure for accessing a GtkTreeModel. Models are expected to put a unique integer in the stamp member, and put model-specific data in the three user_data members. Members int stamp; a unique stamp to catch invalid iterators gpointer user_data; model-specific data gpointer user_data2; model-specific data gpointer user_data3; model-specific data GtkTreePath GtkTreePath typedef struct _GtkTreePath GtkTreePath; GtkTreeRowReference GtkTreeRowReference typedef struct _GtkTreeRowReference GtkTreeRowReference; A GtkTreeRowReference tracks model changes so that it always refers to the same row (a GtkTreePath refers to a position, not a fixed row). Create a new GtkTreeRowReference with gtk_tree_row_reference_new(). struct GtkTreeModelIface GtkTreeModelIface struct GtkTreeModelIface { /* Signals */ void (* row_changed) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_inserted) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_has_child_toggled) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter); void (* row_deleted) (GtkTreeModel *tree_model, GtkTreePath *path); void (* rows_reordered) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order); /* Virtual Table */ GtkTreeModelFlags (* get_flags) (GtkTreeModel *tree_model); int (* get_n_columns) (GtkTreeModel *tree_model); GType (* get_column_type) (GtkTreeModel *tree_model, int index_); gboolean (* get_iter) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); GtkTreePath *(* get_path) (GtkTreeModel *tree_model, GtkTreeIter *iter); void (* get_value) (GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value); gboolean (* iter_next) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_previous) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_children) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); gboolean (* iter_has_child) (GtkTreeModel *tree_model, GtkTreeIter *iter); int (* iter_n_children) (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean (* iter_nth_child) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n); gboolean (* iter_parent) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child); void (* ref_node) (GtkTreeModel *tree_model, GtkTreeIter *iter); void (* unref_node) (GtkTreeModel *tree_model, GtkTreeIter *iter); }; Members row_changed () Signal emitted when a row in the model has changed. row_inserted () Signal emitted when a new row has been inserted in the model. row_has_child_toggled () Signal emitted when a row has gotten the first child row or lost its last child row. row_deleted () Signal emitted when a row has been deleted. rows_reordered () Signal emitted when the children of a node in the GtkTreeModel have been reordered. get_flags () Get GtkTreeModelFlags supported by this interface. get_n_columns () Get the number of columns supported by the model. get_column_type () Get the type of the column. get_iter () Sets iter to a valid iterator pointing to path. get_path () Gets a newly-created GtkTreePath referenced by iter. get_value () Initializes and sets value to that at column. iter_next () Sets iter to point to the node following it at the current level. iter_previous () Sets iter to point to the previous node at the current level. iter_children () Sets iter to point to the first child of parent. iter_has_child () TRUE if iter has children, FALSE otherwise. iter_n_children () Gets the number of children that iter has. iter_nth_child () Sets iter to be the child of parent, using the given index. iter_parent () Sets iter to be the parent of child. ref_node () Lets the tree ref the node. unref_node () Lets the tree unref the node. enum GtkTreeModelFlags GtkTreeModelFlags These flags indicate various properties of a GtkTreeModel. They are returned by gtk_tree_model_get_flags(), and must be static for the lifetime of the object. A more complete description of GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of this section. Members GTK_TREE_MODEL_ITERS_PERSIST iterators survive all signals emitted by the tree GTK_TREE_MODEL_LIST_ONLY the model is a list only, and never has children Signal Details The <literal>“row-changed”</literal> signal GtkTreeModel::row-changed void user_function (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) This signal is emitted when a row in the model has changed. Parameters tree_model the GtkTreeModel on which the signal is emitted path a GtkTreePath identifying the changed row iter a valid GtkTreeIter pointing to the changed row user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“row-deleted”</literal> signal GtkTreeModel::row-deleted void user_function (GtkTreeModel *tree_model, GtkTreePath *path, gpointer user_data) This signal is emitted when a row has been deleted. Note that no iterator is passed to the signal handler, since the row is already deleted. This should be called by models after a row has been removed. The location pointed to by path should be the location that the row previously was at. It may not be a valid location anymore. Parameters tree_model the GtkTreeModel on which the signal is emitted path a GtkTreePath identifying the row user_data user data set when the signal handler was connected. Flags: Run First The <literal>“row-has-child-toggled”</literal> signal GtkTreeModel::row-has-child-toggled void user_function (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) This signal is emitted when a row has gotten the first child row or lost its last child row. Parameters tree_model the GtkTreeModel on which the signal is emitted path a GtkTreePath identifying the row iter a valid GtkTreeIter pointing to the row user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“row-inserted”</literal> signal GtkTreeModel::row-inserted void user_function (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) This signal is emitted when a new row has been inserted in the model. Note that the row may still be empty at this point, since it is a common pattern to first insert an empty row, and then fill it with the desired values. Parameters tree_model the GtkTreeModel on which the signal is emitted path a GtkTreePath identifying the new row iter a valid GtkTreeIter pointing to the new row user_data user data set when the signal handler was connected. Flags: Run First The <literal>“rows-reordered”</literal> signal GtkTreeModel::rows-reordered void user_function (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gpointer new_order, gpointer user_data) This signal is emitted when the children of a node in the GtkTreeModel have been reordered. Note that this signal is not emitted when rows are reordered by DND, since this is implemented by removing and then reinserting the row. [skip] Parameters tree_model the GtkTreeModel on which the signal is emitted path a GtkTreePath identifying the tree node whose children have been reordered iter a valid GtkTreeIter pointing to the node whose children have been reordered, or NULL if the depth of path is 0 new_order an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos user_data user data set when the signal handler was connected. Flags: Run First See Also GtkTreeView, GtkTreeStore, GtkListStore, GtkTreeView drag-and-drop GtkTreeSortable docs/reference/gtk/xml/gtktreemodelsort.xml0000664000175000017500000007326413710700312021307 0ustar mclasenmclasen ]> GtkTreeModelSort 3 GTK4 Library GtkTreeModelSort A GtkTreeModel which makes an underlying tree model sortable Functions GtkTreeModel * gtk_tree_model_sort_new_with_model () GtkTreeModel * gtk_tree_model_sort_get_model () GtkTreePath * gtk_tree_model_sort_convert_child_path_to_path () gboolean gtk_tree_model_sort_convert_child_iter_to_iter () GtkTreePath * gtk_tree_model_sort_convert_path_to_child_path () void gtk_tree_model_sort_convert_iter_to_child_iter () void gtk_tree_model_sort_reset_default_sort_func () void gtk_tree_model_sort_clear_cache () gboolean gtk_tree_model_sort_iter_is_valid () Properties GtkTreeModel *modelRead / Write / Construct Only Types and Values structGtkTreeModelSort Object Hierarchy GObject ╰── GtkTreeModelSort Implemented Interfaces GtkTreeModelSort implements GtkTreeModel, GtkTreeSortable and GtkTreeDragSource. Includes#include <gtk/gtk.h> Description The GtkTreeModelSort is a model which implements the GtkTreeSortable interface. It does not hold any data itself, but rather is created with a child model and proxies its data. It has identical column types to this child model, and the changes in the child are propagated. The primary purpose of this model is to provide a way to sort a different model without modifying it. Note that the sort function used by GtkTreeModelSort is not guaranteed to be stable. The use of this is best demonstrated through an example. In the following sample code we create two GtkTreeView widgets each with a view of the same data. As the model is wrapped here by a GtkTreeModelSort, the two GtkTreeViews can each sort their view of the data without affecting the other. By contrast, if we simply put the same model in each widget, then sorting the first would sort the second. Using a <link linkend="GtkTreeModelSort"><type>GtkTreeModelSort</type></link> To demonstrate how to access the underlying child model from the sort model, the next example will be a callback for the GtkTreeSelection “changed” signal. In this callback, we get a string from COLUMN_1 of the model. We then modify the string, find the same selected row on the child model, and change the row there. Accessing the child model of in a selection changed callback Functions gtk_tree_model_sort_new_with_model () gtk_tree_model_sort_new_with_model GtkTreeModel * gtk_tree_model_sort_new_with_model (GtkTreeModel *child_model); Creates a new GtkTreeModelSort, with child_model as the child model. [constructor] Parameters child_model A GtkTreeModel Returns A new GtkTreeModelSort. [transfer full][type Gtk.TreeModelSort] gtk_tree_model_sort_get_model () gtk_tree_model_sort_get_model GtkTreeModel * gtk_tree_model_sort_get_model (GtkTreeModelSort *tree_model); Returns the model the GtkTreeModelSort is sorting. Parameters tree_model a GtkTreeModelSort Returns the "child model" being sorted. [transfer none] gtk_tree_model_sort_convert_child_path_to_path () gtk_tree_model_sort_convert_child_path_to_path GtkTreePath * gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *child_path); Converts child_path to a path relative to tree_model_sort . That is, child_path points to a path in the child model. The returned path will point to the same row in the sorted model. If child_path isn’t a valid path on the child model, then NULL is returned. Parameters tree_model_sort A GtkTreeModelSort child_path A GtkTreePath to convert Returns A newly allocated GtkTreePath, or NULL. [nullable][transfer full] gtk_tree_model_sort_convert_child_iter_to_iter () gtk_tree_model_sort_convert_child_iter_to_iter gboolean gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *sort_iter, GtkTreeIter *child_iter); Sets sort_iter to point to the row in tree_model_sort that corresponds to the row pointed at by child_iter . If sort_iter was not set, FALSE is returned. Note: a boolean is only returned since 2.14. Parameters tree_model_sort A GtkTreeModelSort sort_iter An uninitialized GtkTreeIter. [out] child_iter A valid GtkTreeIter pointing to a row on the child model Returns TRUE, if sort_iter was set, i.e. if sort_iter is a valid iterator pointer to a visible row in the child model. gtk_tree_model_sort_convert_path_to_child_path () gtk_tree_model_sort_convert_path_to_child_path GtkTreePath * gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *sorted_path); Converts sorted_path to a path on the child model of tree_model_sort . That is, sorted_path points to a location in tree_model_sort . The returned path will point to the same location in the model not being sorted. If sorted_path does not point to a location in the child model, NULL is returned. Parameters tree_model_sort A GtkTreeModelSort sorted_path A GtkTreePath to convert Returns A newly allocated GtkTreePath, or NULL. [nullable][transfer full] gtk_tree_model_sort_convert_iter_to_child_iter () gtk_tree_model_sort_convert_iter_to_child_iter void gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *child_iter, GtkTreeIter *sorted_iter); Sets child_iter to point to the row pointed to by sorted_iter . Parameters tree_model_sort A GtkTreeModelSort child_iter An uninitialized GtkTreeIter. [out] sorted_iter A valid GtkTreeIter pointing to a row on tree_model_sort . gtk_tree_model_sort_reset_default_sort_func () gtk_tree_model_sort_reset_default_sort_func void gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort); This resets the default sort function to be in the “unsorted” state. That is, it is in the same order as the child model. It will re-sort the model to be in the same order as the child model only if the GtkTreeModelSort is in “unsorted” state. Parameters tree_model_sort A GtkTreeModelSort gtk_tree_model_sort_clear_cache () gtk_tree_model_sort_clear_cache void gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort); This function should almost never be called. It clears the tree_model_sort of any cached iterators that haven’t been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being sorted is static (and doesn’t change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid. Parameters tree_model_sort A GtkTreeModelSort gtk_tree_model_sort_iter_is_valid () gtk_tree_model_sort_iter_is_valid gboolean gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort, GtkTreeIter *iter);
This function is slow. Only use it for debugging and/or testing purposes.
Checks if the given iter is a valid iter for this GtkTreeModelSort. Parameters tree_model_sort A GtkTreeModelSort. iter A GtkTreeIter. Returns TRUE if the iter is valid, FALSE if the iter is invalid.
Types and Values struct GtkTreeModelSort GtkTreeModelSort struct GtkTreeModelSort; Property Details The <literal>“model”</literal> property GtkTreeModelSort:model “model” GtkTreeModel * The model for the TreeModelSort to sort.Owner: GtkTreeModelSort Flags: Read / Write / Construct Only See Also GtkTreeModel, GtkListStore, GtkTreeStore, GtkTreeSortable, GtkTreeModelFilter
docs/reference/gtk/xml/gtktreemodelfilter.xml0000664000175000017500000013352213710700312021577 0ustar mclasenmclasen ]> GtkTreeModelFilter 3 GTK4 Library GtkTreeModelFilter A GtkTreeModel which hides parts of an underlying tree model Functions gboolean (*GtkTreeModelFilterVisibleFunc) () void (*GtkTreeModelFilterModifyFunc) () GtkTreeModel * gtk_tree_model_filter_new () void gtk_tree_model_filter_set_visible_func () void gtk_tree_model_filter_set_modify_func () void gtk_tree_model_filter_set_visible_column () GtkTreeModel * gtk_tree_model_filter_get_model () gboolean gtk_tree_model_filter_convert_child_iter_to_iter () void gtk_tree_model_filter_convert_iter_to_child_iter () GtkTreePath * gtk_tree_model_filter_convert_child_path_to_path () GtkTreePath * gtk_tree_model_filter_convert_path_to_child_path () void gtk_tree_model_filter_refilter () void gtk_tree_model_filter_clear_cache () Properties GtkTreeModel *child-modelRead / Write / Construct Only GtkTreePath *virtual-rootRead / Write / Construct Only Types and Values structGtkTreeModelFilter Object Hierarchy GObject ╰── GtkTreeModelFilter Implemented Interfaces GtkTreeModelFilter implements GtkTreeModel and GtkTreeDragSource. Includes#include <gtk/gtk.h> Description A GtkTreeModelFilter is a tree model which wraps another tree model, and can do the following things: Filter specific rows, based on data from a “visible column”, a column storing booleans indicating whether the row should be filtered or not, or based on the return value of a “visible function”, which gets a model, iter and user_data and returns a boolean indicating whether the row should be filtered or not. Modify the “appearance” of the model, using a modify function. This is extremely powerful and allows for just changing some values and also for creating a completely different model based on the given child model. Set a different root node, also known as a “virtual root”. You can pass in a GtkTreePath indicating the root node for the filter at construction time. The basic API is similar to GtkTreeModelSort. For an example on its usage, see the section on GtkTreeModelSort. When using GtkTreeModelFilter, it is important to realize that GtkTreeModelFilter maintains an internal cache of all nodes which are visible in its clients. The cache is likely to be a subtree of the tree exposed by the child model. GtkTreeModelFilter will not cache the entire child model when unnecessary to not compromise the caching mechanism that is exposed by the reference counting scheme. If the child model implements reference counting, unnecessary signals may not be emitted because of reference counting rule 3, see the GtkTreeModel documentation. (Note that e.g. GtkTreeStore does not implement reference counting and will always emit all signals, even when the receiving node is not visible). Because of this, limitations for possible visible functions do apply. In general, visible functions should only use data or properties from the node for which the visibility state must be determined, its siblings or its parents. Usually, having a dependency on the state of any child node is not possible, unless references are taken on these explicitly. When no such reference exists, no signals may be received for these child nodes (see reference couting rule number 3 in the GtkTreeModel section). Determining the visibility state of a given node based on the state of its child nodes is a frequently occurring use case. Therefore, GtkTreeModelFilter explicitly supports this. For example, when a node does not have any children, you might not want the node to be visible. As soon as the first row is added to the node’s child level (or the last row removed), the node’s visibility should be updated. This introduces a dependency from the node on its child nodes. In order to accommodate this, GtkTreeModelFilter must make sure the necessary signals are received from the child model. This is achieved by building, for all nodes which are exposed as visible nodes to GtkTreeModelFilter's clients, the child level (if any) and take a reference on the first node in this level. Furthermore, for every row-inserted, row-changed or row-deleted signal (also these which were not handled because the node was not cached), GtkTreeModelFilter will check if the visibility state of any parent node has changed. Beware, however, that this explicit support is limited to these two cases. For example, if you want a node to be visible only if two nodes in a child’s child level (2 levels deeper) are visible, you are on your own. In this case, either rely on GtkTreeStore to emit all signals because it does not implement reference counting, or for models that do implement reference counting, obtain references on these child levels yourself. Functions GtkTreeModelFilterVisibleFunc () GtkTreeModelFilterVisibleFunc gboolean (*GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); A function which decides whether the row indicated by iter is visible. Parameters model the child model of the GtkTreeModelFilter iter a GtkTreeIter pointing to the row in model whose visibility is determined data user data given to gtk_tree_model_filter_set_visible_func(). [closure] Returns Whether the row indicated by iter is visible. GtkTreeModelFilterModifyFunc () GtkTreeModelFilterModifyFunc void (*GtkTreeModelFilterModifyFunc) (GtkTreeModel *model, GtkTreeIter *iter, GValue *value, int column, gpointer data); A function which calculates display values from raw values in the model. It must fill value with the display value for the column column in the row indicated by iter . Since this function is called for each data access, it’s not a particularly efficient operation. Parameters model the GtkTreeModelFilter iter a GtkTreeIter pointing to the row whose display values are determined value A GValue which is already initialized for with the correct type for the column column . [out caller-allocates] column the column whose display value is determined data user data given to gtk_tree_model_filter_set_modify_func(). [closure] gtk_tree_model_filter_new () gtk_tree_model_filter_new GtkTreeModel * gtk_tree_model_filter_new (GtkTreeModel *child_model, GtkTreePath *root); Creates a new GtkTreeModel, with child_model as the child_model and root as the virtual root. Parameters child_model A GtkTreeModel. root A GtkTreePath or NULL. [allow-none] Returns A new GtkTreeModel. [transfer full] gtk_tree_model_filter_set_visible_func () gtk_tree_model_filter_set_visible_func void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GDestroyNotify destroy); Sets the visible function used when filtering the filter to be func . The function should return TRUE if the given row should be visible and FALSE otherwise. If the condition calculated by the function changes over time (e.g. because it depends on some global parameters), you must call gtk_tree_model_filter_refilter() to keep the visibility information of the model up-to-date. Note that func is called whenever a row is inserted, when it may still be empty. The visible function should therefore take special care of empty rows, like in the example below. Note that gtk_tree_model_filter_set_visible_func() or gtk_tree_model_filter_set_visible_column() can only be called once for a given filter model. Parameters filter A GtkTreeModelFilter func A GtkTreeModelFilterVisibleFunc, the visible function data User data to pass to the visible function, or NULL. [allow-none] destroy Destroy notifier of data , or NULL. [allow-none] gtk_tree_model_filter_set_modify_func () gtk_tree_model_filter_set_modify_func void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, int n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GDestroyNotify destroy); With the n_columns and types parameters, you give an array of column types for this model (which will be exposed to the parent model/view). The func , data and destroy parameters are for specifying the modify function. The modify function will get called for each data access, the goal of the modify function is to return the data which should be displayed at the location specified using the parameters of the modify function. Note that gtk_tree_model_filter_set_modify_func() can only be called once for a given filter model. Parameters filter A GtkTreeModelFilter. n_columns The number of columns in the filter model. types The GTypes of the columns. [array length=n_columns] func A GtkTreeModelFilterModifyFunc data User data to pass to the modify function, or NULL. [allow-none] destroy Destroy notifier of data , or NULL. [allow-none] gtk_tree_model_filter_set_visible_column () gtk_tree_model_filter_set_visible_column void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, int column); Sets column of the child_model to be the column where filter should look for visibility information. columns should be a column of type G_TYPE_BOOLEAN, where TRUE means that a row is visible, and FALSE if not. Note that gtk_tree_model_filter_set_visible_func() or gtk_tree_model_filter_set_visible_column() can only be called once for a given filter model. Parameters filter A GtkTreeModelFilter column A int which is the column containing the visible information gtk_tree_model_filter_get_model () gtk_tree_model_filter_get_model GtkTreeModel * gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter); Returns a pointer to the child model of filter . Parameters filter A GtkTreeModelFilter. Returns A pointer to a GtkTreeModel. [transfer none] gtk_tree_model_filter_convert_child_iter_to_iter () gtk_tree_model_filter_convert_child_iter_to_iter gboolean gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter); Sets filter_iter to point to the row in filter that corresponds to the row pointed at by child_iter . If filter_iter was not set, FALSE is returned. Parameters filter A GtkTreeModelFilter. filter_iter An uninitialized GtkTreeIter. [out] child_iter A valid GtkTreeIter pointing to a row on the child model. Returns TRUE, if filter_iter was set, i.e. if child_iter is a valid iterator pointing to a visible row in child model. gtk_tree_model_filter_convert_iter_to_child_iter () gtk_tree_model_filter_convert_iter_to_child_iter void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter); Sets child_iter to point to the row pointed to by filter_iter . Parameters filter A GtkTreeModelFilter. child_iter An uninitialized GtkTreeIter. [out] filter_iter A valid GtkTreeIter pointing to a row on filter . gtk_tree_model_filter_convert_child_path_to_path () gtk_tree_model_filter_convert_child_path_to_path GtkTreePath * gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, GtkTreePath *child_path); Converts child_path to a path relative to filter . That is, child_path points to a path in the child model. The rerturned path will point to the same row in the filtered model. If child_path isn’t a valid path on the child model or points to a row which is not visible in filter , then NULL is returned. Parameters filter A GtkTreeModelFilter. child_path A GtkTreePath to convert. Returns A newly allocated GtkTreePath, or NULL. [nullable][transfer full] gtk_tree_model_filter_convert_path_to_child_path () gtk_tree_model_filter_convert_path_to_child_path GtkTreePath * gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *filter, GtkTreePath *filter_path); Converts filter_path to a path on the child model of filter . That is, filter_path points to a location in filter . The returned path will point to the same location in the model not being filtered. If filter_path does not point to a location in the child model, NULL is returned. Parameters filter A GtkTreeModelFilter. filter_path A GtkTreePath to convert. Returns A newly allocated GtkTreePath, or NULL. [nullable][transfer full] gtk_tree_model_filter_refilter () gtk_tree_model_filter_refilter void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter); Emits ::row_changed for each row in the child model, which causes the filter to re-evaluate whether a row is visible or not. Parameters filter A GtkTreeModelFilter. gtk_tree_model_filter_clear_cache () gtk_tree_model_filter_clear_cache void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter); This function should almost never be called. It clears the filter of any cached iterators that haven’t been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being filtered is static (and doesn’t change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid. Parameters filter A GtkTreeModelFilter. Types and Values struct GtkTreeModelFilter GtkTreeModelFilter struct GtkTreeModelFilter; Property Details The <literal>“child-model”</literal> property GtkTreeModelFilter:child-model “child-model” GtkTreeModel * The model for the filtermodel to filter.Owner: GtkTreeModelFilter Flags: Read / Write / Construct Only The <literal>“virtual-root”</literal> property GtkTreeModelFilter:virtual-root “virtual-root” GtkTreePath * The virtual root (relative to the child model) for this filtermodel.Owner: GtkTreeModelFilter Flags: Read / Write / Construct Only See Also GtkTreeModelSort docs/reference/gtk/xml/gtktreeselection.xml0000664000175000017500000016147113710700312021262 0ustar mclasenmclasen ]> GtkTreeSelection 3 GTK4 Library GtkTreeSelection The selection object for GtkTreeView Functions gboolean (*GtkTreeSelectionFunc) () void (*GtkTreeSelectionForeachFunc) () void gtk_tree_selection_set_mode () GtkSelectionMode gtk_tree_selection_get_mode () void gtk_tree_selection_set_select_function () GtkTreeSelectionFunc gtk_tree_selection_get_select_function () gpointer gtk_tree_selection_get_user_data () GtkTreeView * gtk_tree_selection_get_tree_view () gboolean gtk_tree_selection_get_selected () void gtk_tree_selection_selected_foreach () GList * gtk_tree_selection_get_selected_rows () int gtk_tree_selection_count_selected_rows () void gtk_tree_selection_select_path () void gtk_tree_selection_unselect_path () gboolean gtk_tree_selection_path_is_selected () void gtk_tree_selection_select_iter () void gtk_tree_selection_unselect_iter () gboolean gtk_tree_selection_iter_is_selected () void gtk_tree_selection_select_all () void gtk_tree_selection_unselect_all () void gtk_tree_selection_select_range () void gtk_tree_selection_unselect_range () Properties GtkSelectionModemodeRead / Write Signals voidchangedRun First Types and Values GtkTreeSelection Object Hierarchy GObject ╰── GtkTreeSelection Includes#include <gtk/gtk.h> Description The GtkTreeSelection object is a helper object to manage the selection for a GtkTreeView widget. The GtkTreeSelection object is automatically created when a new GtkTreeView widget is created, and cannot exist independently of this widget. The primary reason the GtkTreeSelection objects exists is for cleanliness of code and API. That is, there is no conceptual reason all these functions could not be methods on the GtkTreeView widget instead of a separate function. The GtkTreeSelection object is gotten from a GtkTreeView by calling gtk_tree_view_get_selection(). It can be manipulated to check the selection status of the tree, as well as select and deselect individual rows. Selection is done completely view side. As a result, multiple views of the same model can have completely different selections. Additionally, you cannot change the selection of a row on the model that is not currently displayed by the view without expanding its parents first. One of the important things to remember when monitoring the selection of a view is that the “changed” signal is mostly a hint. That is, it may only emit one signal when a range of rows is selected. Additionally, it may on occasion emit a “changed” signal when nothing has happened (mostly as a result of programmers calling select_row on an already selected row). Functions GtkTreeSelectionFunc () GtkTreeSelectionFunc gboolean (*GtkTreeSelectionFunc) (GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data); A function used by gtk_tree_selection_set_select_function() to filter whether or not a row may be selected. It is called whenever a row's state might change. A return value of TRUE indicates to selection that it is okay to change the selection. Parameters selection A GtkTreeSelection model A GtkTreeModel being viewed path The GtkTreePath of the row in question path_currently_selected TRUE, if the path is currently selected data user data. [closure] Returns TRUE, if the selection state of the row can be toggled GtkTreeSelectionForeachFunc () GtkTreeSelectionForeachFunc void (*GtkTreeSelectionForeachFunc) (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data); A function used by gtk_tree_selection_selected_foreach() to map all selected rows. It will be called on every selected row in the view. Parameters model The GtkTreeModel being viewed path The GtkTreePath of a selected row iter A GtkTreeIter pointing to a selected row data user data. [closure] gtk_tree_selection_set_mode () gtk_tree_selection_set_mode void gtk_tree_selection_set_mode (GtkTreeSelection *selection, GtkSelectionMode type); Sets the selection mode of the selection . If the previous type was GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was previously selected. Parameters selection A GtkTreeSelection. type The selection mode gtk_tree_selection_get_mode () gtk_tree_selection_get_mode GtkSelectionMode gtk_tree_selection_get_mode (GtkTreeSelection *selection); Gets the selection mode for selection . See gtk_tree_selection_set_mode(). Parameters selection a GtkTreeSelection Returns the current selection mode gtk_tree_selection_set_select_function () gtk_tree_selection_set_select_function void gtk_tree_selection_set_select_function (GtkTreeSelection *selection, GtkTreeSelectionFunc func, gpointer data, GDestroyNotify destroy); Sets the selection function. If set, this function is called before any node is selected or unselected, giving some control over which nodes are selected. The select function should return TRUE if the state of the node may be toggled, and FALSE if the state of the node should be left unchanged. Parameters selection A GtkTreeSelection. func The selection function. May be NULL. [nullable] data The selection function’s data. May be NULL destroy The destroy function for user data. May be NULL gtk_tree_selection_get_select_function () gtk_tree_selection_get_select_function GtkTreeSelectionFunc gtk_tree_selection_get_select_function (GtkTreeSelection *selection); Returns the current selection function. [skip] Parameters selection A GtkTreeSelection. Returns The function. gtk_tree_selection_get_user_data () gtk_tree_selection_get_user_data gpointer gtk_tree_selection_get_user_data (GtkTreeSelection *selection); Returns the user data for the selection function. [skip] Parameters selection A GtkTreeSelection. Returns The user data. gtk_tree_selection_get_tree_view () gtk_tree_selection_get_tree_view GtkTreeView * gtk_tree_selection_get_tree_view (GtkTreeSelection *selection); Returns the tree view associated with selection . Parameters selection A GtkTreeSelection Returns A GtkTreeView. [transfer none] gtk_tree_selection_get_selected () gtk_tree_selection_get_selected gboolean gtk_tree_selection_get_selected (GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter); Sets iter to the currently selected node if selection is set to GTK_SELECTION_SINGLE or GTK_SELECTION_BROWSE. iter may be NULL if you just want to test if selection has any selected nodes. model is filled with the current model as a convenience. This function will not work if you use selection is GTK_SELECTION_MULTIPLE. Parameters selection A GtkTreeSelection. model A pointer to set to the GtkTreeModel, or NULL. [out][allow-none][transfer none] iter The GtkTreeIter, or NULL. [out][allow-none] Returns TRUE, if there is a selected node. gtk_tree_selection_selected_foreach () gtk_tree_selection_selected_foreach void gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, GtkTreeSelectionForeachFunc func, gpointer data); Calls a function for each selected node. Note that you cannot modify the tree or selection from within this function. As a result, gtk_tree_selection_get_selected_rows() might be more useful. Parameters selection A GtkTreeSelection. func The function to call for each selected node. [scope call] data user data to pass to the function. gtk_tree_selection_get_selected_rows () gtk_tree_selection_get_selected_rows GList * gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, GtkTreeModel **model); Creates a list of path of all selected rows. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of GtkTreeRowReferences. To do this, you can use gtk_tree_row_reference_new(). To free the return value, use: Parameters selection A GtkTreeSelection. model A pointer to set to the GtkTreeModel, or NULL. [out][allow-none][transfer none] Returns A GList containing a GtkTreePath for each selected row. [element-type GtkTreePath][transfer full] gtk_tree_selection_count_selected_rows () gtk_tree_selection_count_selected_rows int gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection); Returns the number of rows that have been selected in tree . Parameters selection A GtkTreeSelection. Returns The number of rows selected. gtk_tree_selection_select_path () gtk_tree_selection_select_path void gtk_tree_selection_select_path (GtkTreeSelection *selection, GtkTreePath *path); Select the row at path . Parameters selection A GtkTreeSelection. path The GtkTreePath to be selected. gtk_tree_selection_unselect_path () gtk_tree_selection_unselect_path void gtk_tree_selection_unselect_path (GtkTreeSelection *selection, GtkTreePath *path); Unselects the row at path . Parameters selection A GtkTreeSelection. path The GtkTreePath to be unselected. gtk_tree_selection_path_is_selected () gtk_tree_selection_path_is_selected gboolean gtk_tree_selection_path_is_selected (GtkTreeSelection *selection, GtkTreePath *path); Returns TRUE if the row pointed to by path is currently selected. If path does not point to a valid location, FALSE is returned Parameters selection A GtkTreeSelection. path A GtkTreePath to check selection on. Returns TRUE if path is selected. gtk_tree_selection_select_iter () gtk_tree_selection_select_iter void gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter); Selects the specified iterator. Parameters selection A GtkTreeSelection. iter The GtkTreeIter to be selected. gtk_tree_selection_unselect_iter () gtk_tree_selection_unselect_iter void gtk_tree_selection_unselect_iter (GtkTreeSelection *selection, GtkTreeIter *iter); Unselects the specified iterator. Parameters selection A GtkTreeSelection. iter The GtkTreeIter to be unselected. gtk_tree_selection_iter_is_selected () gtk_tree_selection_iter_is_selected gboolean gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection, GtkTreeIter *iter); Returns TRUE if the row at iter is currently selected. Parameters selection A GtkTreeSelection iter A valid GtkTreeIter Returns TRUE, if iter is selected gtk_tree_selection_select_all () gtk_tree_selection_select_all void gtk_tree_selection_select_all (GtkTreeSelection *selection); Selects all the nodes. selection must be set to GTK_SELECTION_MULTIPLE mode. Parameters selection A GtkTreeSelection. gtk_tree_selection_unselect_all () gtk_tree_selection_unselect_all void gtk_tree_selection_unselect_all (GtkTreeSelection *selection); Unselects all the nodes. Parameters selection A GtkTreeSelection. gtk_tree_selection_select_range () gtk_tree_selection_select_range void gtk_tree_selection_select_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path); Selects a range of nodes, determined by start_path and end_path inclusive. selection must be set to GTK_SELECTION_MULTIPLE mode. Parameters selection A GtkTreeSelection. start_path The initial node of the range. end_path The final node of the range. gtk_tree_selection_unselect_range () gtk_tree_selection_unselect_range void gtk_tree_selection_unselect_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path); Unselects a range of nodes, determined by start_path and end_path inclusive. Parameters selection A GtkTreeSelection. start_path The initial node of the range. end_path The initial node of the range. Types and Values GtkTreeSelection GtkTreeSelection typedef struct _GtkTreeSelection GtkTreeSelection; Property Details The <literal>“mode”</literal> property GtkTreeSelection:mode “mode” GtkSelectionMode Selection mode. See gtk_tree_selection_set_mode() for more information on this property. Owner: GtkTreeSelection Flags: Read / Write Default value: GTK_SELECTION_SINGLE Signal Details The <literal>“changed”</literal> signal GtkTreeSelection::changed void user_function (GtkTreeSelection *treeselection, gpointer user_data) Emitted whenever the selection has (possibly) changed. Please note that this signal is mostly a hint. It may only be emitted once when a range of rows are selected, and it may occasionally be emitted when nothing has happened. Parameters treeselection the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First See Also GtkTreeView, GtkTreeViewColumn, GtkTreeModel, GtkTreeSortable, GtkTreeModelSort, GtkListStore, GtkTreeStore, GtkCellRenderer, GtkCellEditable, GtkCellRendererPixbuf, GtkCellRendererText, GtkCellRendererToggle, GtkTreeView drag-and-drop docs/reference/gtk/xml/gtktreesortable.xml0000664000175000017500000007720713710700312021113 0ustar mclasenmclasen ]> GtkTreeSortable 3 GTK4 Library GtkTreeSortable The interface for sortable models used by GtkTreeView Functions int (*GtkTreeIterCompareFunc) () void gtk_tree_sortable_sort_column_changed () gboolean gtk_tree_sortable_get_sort_column_id () void gtk_tree_sortable_set_sort_column_id () void gtk_tree_sortable_set_sort_func () void gtk_tree_sortable_set_default_sort_func () gboolean gtk_tree_sortable_has_default_sort_func () Signals voidsort-column-changedRun Last Types and Values GtkTreeSortable structGtkTreeSortableIface #defineGTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID #defineGTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID Object Hierarchy GInterface ╰── GtkTreeSortable Prerequisites GtkTreeSortable requires GtkTreeModel and GObject. Known Implementations GtkTreeSortable is implemented by GtkListStore, GtkTreeModelSort and GtkTreeStore. Includes#include <gtk/gtk.h> Description GtkTreeSortable is an interface to be implemented by tree models which support sorting. The GtkTreeView uses the methods provided by this interface to sort the model. Functions GtkTreeIterCompareFunc () GtkTreeIterCompareFunc int (*GtkTreeIterCompareFunc) (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data); A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive integer if a sorts before b , a sorts with b , or a sorts after b respectively. If two iters compare as equal, their order in the sorted model is undefined. In order to ensure that the GtkTreeSortable behaves as expected, the GtkTreeIterCompareFunc must define a partial order on the model, i.e. it must be reflexive, antisymmetric and transitive. For example, if model is a product catalogue, then a compare function for the “price” column could be one which returns price_of(@a) - price_of(@b). Parameters model The GtkTreeModel the comparison is within a A GtkTreeIter in model b Another GtkTreeIter in model user_data Data passed when the compare func is assigned e.g. by gtk_tree_sortable_set_sort_func() Returns a negative integer, zero or a positive integer depending on whether a sorts before, with or after b gtk_tree_sortable_sort_column_changed () gtk_tree_sortable_sort_column_changed void gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable); Emits a “sort-column-changed” signal on sortable . Parameters sortable A GtkTreeSortable gtk_tree_sortable_get_sort_column_id () gtk_tree_sortable_get_sort_column_id gboolean gtk_tree_sortable_get_sort_column_id (GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order); Fills in sort_column_id and order with the current sort column and the order. It returns TRUE unless the sort_column_id is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID. Parameters sortable A GtkTreeSortable sort_column_id The sort column id to be filled in. [out] order The GtkSortType to be filled in. [out] Returns TRUE if the sort column is not one of the special sort column ids. gtk_tree_sortable_set_sort_column_id () gtk_tree_sortable_set_sort_column_id void gtk_tree_sortable_set_sort_column_id (GtkTreeSortable *sortable, int sort_column_id, GtkSortType order); Sets the current sort column to be sort_column_id . The sortable will resort itself to reflect this change, after emitting a “sort-column-changed” signal. sort_column_id may either be a regular column id, or one of the following special values: GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function will be used, if it is set GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: no sorting will occur Parameters sortable A GtkTreeSortable sort_column_id the sort column id to set order The sort order of the column gtk_tree_sortable_set_sort_func () gtk_tree_sortable_set_sort_func void gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); Sets the comparison function used when sorting to be sort_func . If the current sort column id of sortable is the same as sort_column_id , then the model will sort using this function. Parameters sortable A GtkTreeSortable sort_column_id the sort column id to set the function for sort_func The comparison function user_data User data to pass to sort_func , or NULL. [closure] destroy Destroy notifier of user_data , or NULL. [allow-none] gtk_tree_sortable_set_default_sort_func () gtk_tree_sortable_set_default_sort_func void gtk_tree_sortable_set_default_sort_func (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); Sets the default comparison function used when sorting to be sort_func . If the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function. If sort_func is NULL, then there will be no default comparison function. This means that once the model has been sorted, it can’t go back to the default state. In this case, when the current sort column id of sortable is GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted. Parameters sortable A GtkTreeSortable sort_func The comparison function user_data User data to pass to sort_func , or NULL. [closure] destroy Destroy notifier of user_data , or NULL. [allow-none] gtk_tree_sortable_has_default_sort_func () gtk_tree_sortable_has_default_sort_func gboolean gtk_tree_sortable_has_default_sort_func (GtkTreeSortable *sortable); Returns TRUE if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not. Parameters sortable A GtkTreeSortable Returns TRUE, if the model has a default sort function Types and Values GtkTreeSortable GtkTreeSortable typedef struct _GtkTreeSortable GtkTreeSortable; struct GtkTreeSortableIface GtkTreeSortableIface struct GtkTreeSortableIface { /* signals */ void (* sort_column_changed) (GtkTreeSortable *sortable); /* virtual table */ gboolean (* get_sort_column_id) (GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order); void (* set_sort_column_id) (GtkTreeSortable *sortable, int sort_column_id, GtkSortType order); void (* set_sort_func) (GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); void (* set_default_sort_func) (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); gboolean (* has_default_sort_func) (GtkTreeSortable *sortable); }; Members sort_column_changed () Signal emitted when the sort column or sort order of sortable is changed. get_sort_column_id () Fills in sort_column_id and order with the current sort column and the order. set_sort_column_id () Sets the current sort column to be sort_column_id. set_sort_func () Sets the comparison function used when sorting to be sort_func. set_default_sort_func () Sets the default comparison function used when sorting to be sort_func. has_default_sort_func () TRUE if the model has a default sort function. GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID #define GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID (-1) The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a GtkTreeSortable use the default sort function. See also gtk_tree_sortable_set_sort_column_id() GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID #define GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID (-2) The GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID can be used to make a GtkTreeSortable use no sorting. See also gtk_tree_sortable_set_sort_column_id() Signal Details The <literal>“sort-column-changed”</literal> signal GtkTreeSortable::sort-column-changed void user_function (GtkTreeSortable *sortable, gpointer user_data) The ::sort-column-changed signal is emitted when the sort column or sort order of sortable is changed. The signal is emitted before the contents of sortable are resorted. Parameters sortable the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkTreeModel, GtkTreeView docs/reference/gtk/xml/gtktreednd.xml0000664000175000017500000007062013710700312020035 0ustar mclasenmclasen ]> GtkTreeView drag-and-drop 3 GTK4 Library GtkTreeView drag-and-drop Interfaces for drag-and-drop support in GtkTreeView Functions gboolean gtk_tree_drag_source_drag_data_delete () GdkContentProvider * gtk_tree_drag_source_drag_data_get () gboolean gtk_tree_drag_source_row_draggable () gboolean gtk_tree_drag_dest_drag_data_received () gboolean gtk_tree_drag_dest_row_drop_possible () GdkContentProvider * gtk_tree_create_row_drag_content () gboolean gtk_tree_get_row_drag_data () Types and Values GtkTreeDragSource structGtkTreeDragSourceIface GtkTreeDragDest structGtkTreeDragDestIface #defineGTK_TYPE_TREE_ROW_DATA Object Hierarchy GInterface ├── GtkTreeDragDest ╰── GtkTreeDragSource Known Implementations GtkTreeDragSource is implemented by GtkListStore, GtkTreeModelFilter, GtkTreeModelSort and GtkTreeStore. GtkTreeDragDest is implemented by GtkListStore and GtkTreeStore. Includes#include <gtk/gtk.h> Description GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level API. The low-level API consists of the GTK+ DND API, augmented by some treeview utility functions: gtk_tree_view_set_drag_dest_row(), gtk_tree_view_get_drag_dest_row(), gtk_tree_view_get_dest_row_at_pos(), gtk_tree_view_create_row_drag_icon(), gtk_tree_set_row_drag_data() and gtk_tree_get_row_drag_data(). This API leaves a lot of flexibility, but nothing is done automatically, and implementing advanced features like hover-to-open-rows or autoscrolling on top of this API is a lot of work. On the other hand, if you write to the high-level API, then all the bookkeeping of rows is done for you, as well as things like hover-to-open and auto-scroll, but your models have to implement the GtkTreeDragSource and GtkTreeDragDest interfaces. Functions gtk_tree_drag_source_drag_data_delete () gtk_tree_drag_source_drag_data_delete gboolean gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source, GtkTreePath *path); Asks the GtkTreeDragSource to delete the row at path , because it was moved somewhere else via drag-and-drop. Returns FALSE if the deletion fails because path no longer exists, or for some model-specific reason. Should robustly handle a path no longer found in the model! Parameters drag_source a GtkTreeDragSource path row that was being dragged Returns TRUE if the row was successfully deleted gtk_tree_drag_source_drag_data_get () gtk_tree_drag_source_drag_data_get GdkContentProvider * gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source, GtkTreePath *path); Asks the GtkTreeDragSource to return a GdkContentProvider representing the row at path . Should robustly handle a path no longer found in the model! Parameters drag_source a GtkTreeDragSource path row that was dragged Returns a GdkContentProvider for the given path or NULL if none exists. [nullable][transfer full] gtk_tree_drag_source_row_draggable () gtk_tree_drag_source_row_draggable gboolean gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source, GtkTreePath *path); Asks the GtkTreeDragSource whether a particular row can be used as the source of a DND operation. If the source doesn’t implement this interface, the row is assumed draggable. Parameters drag_source a GtkTreeDragSource path row on which user is initiating a drag Returns TRUE if the row can be dragged gtk_tree_drag_dest_drag_data_received () gtk_tree_drag_dest_drag_data_received gboolean gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value); Asks the GtkTreeDragDest to insert a row before the path dest , deriving the contents of the row from value . If dest is outside the tree so that inserting before it is impossible, FALSE will be returned. Also, FALSE may be returned if the new row is not created for some model-specific reason. Should robustly handle a dest no longer found in the model! Parameters drag_dest a GtkTreeDragDest dest row to drop in front of value data to drop Returns whether a new row was created before position dest gtk_tree_drag_dest_row_drop_possible () gtk_tree_drag_dest_row_drop_possible gboolean gtk_tree_drag_dest_row_drop_possible (GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value); Determines whether a drop is possible before the given dest_path , at the same depth as dest_path . i.e., can we drop the data in value at that location. dest_path does not have to exist; the return value will almost certainly be FALSE if the parent of dest_path doesn’t exist, though. Parameters drag_dest a GtkTreeDragDest dest_path destination row value the data being dropped Returns TRUE if a drop is possible before dest_path gtk_tree_create_row_drag_content () gtk_tree_create_row_drag_content GdkContentProvider * gtk_tree_create_row_drag_content (GtkTreeModel *tree_model, GtkTreePath *path); Creates a content provider for dragging path from tree_model . Parameters tree_model a GtkTreeModel path a row in tree_model Returns a new GdkContentProvider. [transfer full] gtk_tree_get_row_drag_data () gtk_tree_get_row_drag_data gboolean gtk_tree_get_row_drag_data (const GValue *value, GtkTreeModel **tree_model, GtkTreePath **path); Obtains a tree_model and path from value of target type GTK_TYPE_TREE_ROW_DATA. The returned path must be freed with gtk_tree_path_free(). Parameters value a GValue tree_model a GtkTreeModel. [nullable][optional][transfer none][out] path row in tree_model . [nullable][optional][out] Returns TRUE if selection_data had target type GTK_TYPE_TREE_ROW_DATA is otherwise valid Types and Values GtkTreeDragSource GtkTreeDragSource typedef struct _GtkTreeDragSource GtkTreeDragSource; struct GtkTreeDragSourceIface GtkTreeDragSourceIface struct GtkTreeDragSourceIface { /* VTable - not signals */ gboolean (* row_draggable) (GtkTreeDragSource *drag_source, GtkTreePath *path); GdkContentProvider * (* drag_data_get)(GtkTreeDragSource *drag_source, GtkTreePath *path); gboolean (* drag_data_delete) (GtkTreeDragSource *drag_source, GtkTreePath *path); }; Members row_draggable () Asks the GtkTreeDragSource whether a particular row can be used as the source of a DND operation. drag_data_get () Asks the GtkTreeDragSource to fill in selection_data with a representation of the row at path. drag_data_delete () Asks the GtkTreeDragSource to delete the row at path, because it was moved somewhere else via drag-and-drop. GtkTreeDragDest GtkTreeDragDest typedef struct _GtkTreeDragDest GtkTreeDragDest; struct GtkTreeDragDestIface GtkTreeDragDestIface struct GtkTreeDragDestIface { /* VTable - not signals */ gboolean (* drag_data_received) (GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value); gboolean (* row_drop_possible) (GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value); }; Members drag_data_received () Asks the GtkTreeDragDest to insert a row before the path dest, deriving the contents of the row from selection_data. row_drop_possible () Determines whether a drop is possible before the given dest_path, at the same depth as dest_path. GTK_TYPE_TREE_ROW_DATA GTK_TYPE_TREE_ROW_DATA #define GTK_TYPE_TREE_ROW_DATA (gtk_tree_row_data_get_type ()) Data in this format will be provided by gtk_tree_create_row_drag_content() and can be consumed via gtk_tree_get_row_drag_data(). docs/reference/gtk/xml/gtktreestore.xml0000664000175000017500000020522013710700312020420 0ustar mclasenmclasen ]> GtkTreeStore 3 GTK4 Library GtkTreeStore A tree-like data structure that can be used with the GtkTreeView Functions GtkTreeStore * gtk_tree_store_new () GtkTreeStore * gtk_tree_store_newv () void gtk_tree_store_set_column_types () void gtk_tree_store_set_value () void gtk_tree_store_set () void gtk_tree_store_set_valist () void gtk_tree_store_set_valuesv () gboolean gtk_tree_store_remove () void gtk_tree_store_insert () void gtk_tree_store_insert_before () void gtk_tree_store_insert_after () void gtk_tree_store_insert_with_values () void gtk_tree_store_insert_with_valuesv () void gtk_tree_store_prepend () void gtk_tree_store_append () gboolean gtk_tree_store_is_ancestor () int gtk_tree_store_iter_depth () void gtk_tree_store_clear () gboolean gtk_tree_store_iter_is_valid () void gtk_tree_store_reorder () void gtk_tree_store_swap () void gtk_tree_store_move_before () void gtk_tree_store_move_after () Types and Values structGtkTreeStore Object Hierarchy GObject ╰── GtkTreeStore Implemented Interfaces GtkTreeStore implements GtkTreeModel, GtkTreeDragSource, GtkTreeDragDest, GtkTreeSortable and GtkBuildable. Includes#include <gtk/gtk.h> Description The GtkTreeStore object is a list model for use with a GtkTreeView widget. It implements the GtkTreeModel interface, and consequentially, can use all of the methods available there. It also implements the GtkTreeSortable interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces. GtkTreeStore as GtkBuildableThe GtkTreeStore implementation of the GtkBuildable interface allows to specify the model columns with a <columns> element that may contain multiple <column> elements, each specifying one model column. The “type” attribute specifies the data type for the column. An example of a UI Definition fragment for a tree store:
]]>
Functions gtk_tree_store_new () gtk_tree_store_new GtkTreeStore * gtk_tree_store_new (int n_columns, ...); Creates a new tree store as with n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported. As an example, gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE); will create a new GtkTreeStore with three columns, of type int, gchararray, and GdkTexture respectively. Parameters n_columns number of columns in the tree store ... all GType types for the columns, from first to last Returns a new GtkTreeStore gtk_tree_store_newv () gtk_tree_store_newv GtkTreeStore * gtk_tree_store_newv (int n_columns, GType *types); Non vararg creation function. Used primarily by language bindings. [rename-to gtk_tree_store_new] Parameters n_columns number of columns in the tree store types an array of GType types for the columns, from first to last. [array length=n_columns] Returns a new GtkTreeStore. [transfer full] gtk_tree_store_set_column_types () gtk_tree_store_set_column_types void gtk_tree_store_set_column_types (GtkTreeStore *tree_store, int n_columns, GType *types); This function is meant primarily for GObjects that inherit from GtkTreeStore, and should only be used when constructing a new GtkTreeStore. It will not function after a row has been added, or a method on the GtkTreeModel interface is called. Parameters tree_store A GtkTreeStore n_columns Number of columns for the tree store types An array of GType types, one for each column. [array length=n_columns] gtk_tree_store_set_value () gtk_tree_store_set_value void gtk_tree_store_set_value (GtkTreeStore *tree_store, GtkTreeIter *iter, int column, GValue *value); Sets the data in the cell specified by iter and column . The type of value must be convertible to the type of the column. Parameters tree_store a GtkTreeStore iter A valid GtkTreeIter for the row being modified column column number to modify value new value for the cell gtk_tree_store_set () gtk_tree_store_set void gtk_tree_store_set (GtkTreeStore *tree_store, GtkTreeIter *iter, ...); Sets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type G_TYPE_STRING to “Foo”, you would write gtk_tree_store_set (store, iter, 0, "Foo", -1). The value will be referenced by the store if it is a G_TYPE_OBJECT, and it will be copied if it is a G_TYPE_STRING or G_TYPE_BOXED. Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter for the row being modified ... pairs of column number and value, terminated with -1 gtk_tree_store_set_valist () gtk_tree_store_set_valist void gtk_tree_store_set_valist (GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args); See gtk_tree_store_set(); this version takes a va_list for use by language bindings. Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter for the row being modified var_args va_list of column/value pairs gtk_tree_store_set_valuesv () gtk_tree_store_set_valuesv void gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values); A variant of gtk_tree_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings or in case the number of columns to change is not known until run-time. [rename-to gtk_tree_store_set] Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter for the row being modified columns an array of column numbers. [array length=n_values] values an array of GValues. [array length=n_values] n_values the length of the columns and values arrays gtk_tree_store_remove () gtk_tree_store_remove gboolean gtk_tree_store_remove (GtkTreeStore *tree_store, GtkTreeIter *iter); Removes iter from tree_store . After being removed, iter is set to the next valid row at that level, or invalidated if it previously pointed to the last one. Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter Returns TRUE if iter is still valid, FALSE if not. gtk_tree_store_insert () gtk_tree_store_insert void gtk_tree_store_insert (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position); Creates a new row at position . If parent is non-NULL, then the row will be made a child of parent . Otherwise, the row will be created at the toplevel. If position is -1 or is larger than the number of rows at that level, then the new row will be inserted to the end of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set to the new row. [out] parent A valid GtkTreeIter, or NULL. [allow-none] position position to insert the new row, or -1 for last gtk_tree_store_insert_before () gtk_tree_store_insert_before void gtk_tree_store_insert_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling); Inserts a new row before sibling . If sibling is NULL, then the row will be appended to parent ’s children. If parent and sibling are NULL, then the row will be appended to the toplevel. If both sibling and parent are set, then parent must be the parent of sibling . When sibling is set, parent is optional. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set to the new row. [out] parent A valid GtkTreeIter, or NULL. [allow-none] sibling A valid GtkTreeIter, or NULL. [allow-none] gtk_tree_store_insert_after () gtk_tree_store_insert_after void gtk_tree_store_insert_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling); Inserts a new row after sibling . If sibling is NULL, then the row will be prepended to parent ’s children. If parent and sibling are NULL, then the row will be prepended to the toplevel. If both sibling and parent are set, then parent must be the parent of sibling . When sibling is set, parent is optional. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set to the new row. [out] parent A valid GtkTreeIter, or NULL. [allow-none] sibling A valid GtkTreeIter, or NULL. [allow-none] gtk_tree_store_insert_with_values () gtk_tree_store_insert_with_values void gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, ...); Creates a new row at position . iter will be changed to point to this new row. If position is -1, or larger than the number of rows on the list, then the new row will be appended to the list. The row will be filled with the values given to this function. Calling gtk_tree_store_insert_with_values (tree_store, iter, position, ...) has the same effect as calling with the different that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and if the tree store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_tree_store_insert_with_values() should generally be preferred when inserting rows in a sorted tree store. Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set the new row, or NULL. [out][allow-none] parent A valid GtkTreeIter, or NULL. [allow-none] position position to insert the new row, or -1 to append after existing rows ... pairs of column number and value, terminated with -1 gtk_tree_store_insert_with_valuesv () gtk_tree_store_insert_with_valuesv void gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, int *columns, GValue *values, int n_values); A variant of gtk_tree_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings. [rename-to gtk_tree_store_insert_with_values] Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set the new row, or NULL. [out][allow-none] parent A valid GtkTreeIter, or NULL. [allow-none] position position to insert the new row, or -1 for last columns an array of column numbers. [array length=n_values] values an array of GValues. [array length=n_values] n_values the length of the columns and values arrays gtk_tree_store_prepend () gtk_tree_store_prepend void gtk_tree_store_prepend (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent); Prepends a new row to tree_store . If parent is non-NULL, then it will prepend the new row before the first child of parent , otherwise it will prepend a row to the top level. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set to the prepended row. [out] parent A valid GtkTreeIter, or NULL. [allow-none] gtk_tree_store_append () gtk_tree_store_append void gtk_tree_store_append (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent); Appends a new row to tree_store . If parent is non-NULL, then it will append the new row after the last child of parent , otherwise it will append a row to the top level. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). Parameters tree_store A GtkTreeStore iter An unset GtkTreeIter to set to the appended row. [out] parent A valid GtkTreeIter, or NULL. [allow-none] gtk_tree_store_is_ancestor () gtk_tree_store_is_ancestor gboolean gtk_tree_store_is_ancestor (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *descendant); Returns TRUE if iter is an ancestor of descendant . That is, iter is the parent (or grandparent or great-grandparent) of descendant . Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter descendant A valid GtkTreeIter Returns TRUE, if iter is an ancestor of descendant gtk_tree_store_iter_depth () gtk_tree_store_iter_depth int gtk_tree_store_iter_depth (GtkTreeStore *tree_store, GtkTreeIter *iter); Returns the depth of iter . This will be 0 for anything on the root level, 1 for anything down a level, etc. Parameters tree_store A GtkTreeStore iter A valid GtkTreeIter Returns The depth of iter gtk_tree_store_clear () gtk_tree_store_clear void gtk_tree_store_clear (GtkTreeStore *tree_store); Removes all rows from tree_store Parameters tree_store a GtkTreeStore gtk_tree_store_iter_is_valid () gtk_tree_store_iter_is_valid gboolean gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store, GtkTreeIter *iter); WARNING: This function is slow. Only use it for debugging and/or testing purposes. Checks if the given iter is a valid iter for this GtkTreeStore. Parameters tree_store A GtkTreeStore. iter A GtkTreeIter. Returns TRUE if the iter is valid, FALSE if the iter is invalid. gtk_tree_store_reorder () gtk_tree_store_reorder void gtk_tree_store_reorder (GtkTreeStore *tree_store, GtkTreeIter *parent, int *new_order); Reorders the children of parent in tree_store to follow the order indicated by new_order . Note that this function only works with unsorted stores. [skip] Parameters tree_store A GtkTreeStore parent A GtkTreeIter, or NULL. [nullable] new_order an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos. [array] gtk_tree_store_swap () gtk_tree_store_swap void gtk_tree_store_swap (GtkTreeStore *tree_store, GtkTreeIter *a, GtkTreeIter *b); Swaps a and b in the same level of tree_store . Note that this function only works with unsorted stores. Parameters tree_store A GtkTreeStore. a A GtkTreeIter. b Another GtkTreeIter. gtk_tree_store_move_before () gtk_tree_store_move_before void gtk_tree_store_move_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position); Moves iter in tree_store to the position before position . iter and position should be in the same level. Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the end of the level. Parameters tree_store A GtkTreeStore. iter A GtkTreeIter. position A GtkTreeIter or NULL. [allow-none] gtk_tree_store_move_after () gtk_tree_store_move_after void gtk_tree_store_move_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position); Moves iter in tree_store to the position after position . iter and position should be in the same level. Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the start of the level. Parameters tree_store A GtkTreeStore. iter A GtkTreeIter. position A GtkTreeIter. [allow-none] Types and Values struct GtkTreeStore GtkTreeStore struct GtkTreeStore; See Also GtkTreeModel
docs/reference/gtk/xml/gtktreeviewcolumn.xml0000664000175000017500000042131413710700312021460 0ustar mclasenmclasen ]> GtkTreeViewColumn 3 GTK4 Library GtkTreeViewColumn A visible column in a GtkTreeView widget Functions void (*GtkTreeCellDataFunc) () GtkTreeViewColumn * gtk_tree_view_column_new () GtkTreeViewColumn * gtk_tree_view_column_new_with_area () GtkTreeViewColumn * gtk_tree_view_column_new_with_attributes () void gtk_tree_view_column_pack_start () void gtk_tree_view_column_pack_end () void gtk_tree_view_column_clear () void gtk_tree_view_column_add_attribute () void gtk_tree_view_column_set_attributes () void gtk_tree_view_column_set_cell_data_func () void gtk_tree_view_column_clear_attributes () void gtk_tree_view_column_set_spacing () int gtk_tree_view_column_get_spacing () void gtk_tree_view_column_set_visible () gboolean gtk_tree_view_column_get_visible () void gtk_tree_view_column_set_resizable () gboolean gtk_tree_view_column_get_resizable () void gtk_tree_view_column_set_sizing () GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing () int gtk_tree_view_column_get_width () int gtk_tree_view_column_get_fixed_width () void gtk_tree_view_column_set_fixed_width () void gtk_tree_view_column_set_min_width () int gtk_tree_view_column_get_min_width () void gtk_tree_view_column_set_max_width () int gtk_tree_view_column_get_max_width () void gtk_tree_view_column_clicked () void gtk_tree_view_column_set_title () const char * gtk_tree_view_column_get_title () void gtk_tree_view_column_set_expand () gboolean gtk_tree_view_column_get_expand () void gtk_tree_view_column_set_clickable () gboolean gtk_tree_view_column_get_clickable () void gtk_tree_view_column_set_widget () GtkWidget * gtk_tree_view_column_get_widget () GtkWidget * gtk_tree_view_column_get_button () void gtk_tree_view_column_set_alignment () float gtk_tree_view_column_get_alignment () void gtk_tree_view_column_set_reorderable () gboolean gtk_tree_view_column_get_reorderable () void gtk_tree_view_column_set_sort_column_id () int gtk_tree_view_column_get_sort_column_id () void gtk_tree_view_column_set_sort_indicator () gboolean gtk_tree_view_column_get_sort_indicator () void gtk_tree_view_column_set_sort_order () GtkSortType gtk_tree_view_column_get_sort_order () void gtk_tree_view_column_cell_set_cell_data () void gtk_tree_view_column_cell_get_size () gboolean gtk_tree_view_column_cell_get_position () gboolean gtk_tree_view_column_cell_is_visible () void gtk_tree_view_column_focus_cell () void gtk_tree_view_column_queue_resize () GtkWidget * gtk_tree_view_column_get_tree_view () int gtk_tree_view_column_get_x_offset () Properties gfloatalignmentRead / Write GtkCellArea *cell-areaRead / Write / Construct Only gbooleanclickableRead / Write gbooleanexpandRead / Write gintfixed-widthRead / Write gintmax-widthRead / Write gintmin-widthRead / Write gbooleanreorderableRead / Write gbooleanresizableRead / Write GtkTreeViewColumnSizingsizingRead / Write gintsort-column-idRead / Write gbooleansort-indicatorRead / Write GtkSortTypesort-orderRead / Write gintspacingRead / Write gchar *titleRead / Write gbooleanvisibleRead / Write GtkWidget *widgetRead / Write gintwidthRead gintx-offsetRead Signals voidclickedRun Last Types and Values enumGtkTreeViewColumnSizing GtkTreeViewColumn Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkTreeViewColumn Implemented Interfaces GtkTreeViewColumn implements GtkCellLayout and GtkBuildable. Includes#include <gtk/gtk.h> Description The GtkTreeViewColumn object represents a visible column in a GtkTreeView widget. It allows to set properties of the column header, and functions as a holding pen for the cell renderers which determine how the data in the column is displayed. Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together. Functions GtkTreeCellDataFunc () GtkTreeCellDataFunc void (*GtkTreeCellDataFunc) (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data); A function to set the properties of a cell instead of just using the straight mapping between the cell and the model. This is useful for customizing the cell renderer. For example, a function might get an integer from the tree_model , and render it to the “text” attribute of “cell” by converting it to its written equivalent. This is set by calling gtk_tree_view_column_set_cell_data_func() Parameters tree_column A GtkTreeViewColumn cell The GtkCellRenderer that is being rendered by tree_column tree_model The GtkTreeModel being rendered iter A GtkTreeIter of the current row rendered data user data. [closure] gtk_tree_view_column_new () gtk_tree_view_column_new GtkTreeViewColumn * gtk_tree_view_column_new (void); Creates a new GtkTreeViewColumn. Returns A newly created GtkTreeViewColumn. gtk_tree_view_column_new_with_area () gtk_tree_view_column_new_with_area GtkTreeViewColumn * gtk_tree_view_column_new_with_area (GtkCellArea *area); Creates a new GtkTreeViewColumn using area to render its cells. Parameters area the GtkCellArea that the newly created column should use to layout cells. Returns A newly created GtkTreeViewColumn. gtk_tree_view_column_new_with_attributes () gtk_tree_view_column_new_with_attributes GtkTreeViewColumn * gtk_tree_view_column_new_with_attributes (const char *title, GtkCellRenderer *cell, ...); Creates a new GtkTreeViewColumn with a number of default values. This is equivalent to calling gtk_tree_view_column_set_title(), gtk_tree_view_column_pack_start(), and gtk_tree_view_column_set_attributes() on the newly created GtkTreeViewColumn. Here’s a simple example: Parameters title The title to set the header to cell The GtkCellRenderer ... A NULL-terminated list of attributes Returns A newly created GtkTreeViewColumn. gtk_tree_view_column_pack_start () gtk_tree_view_column_pack_start void gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand); Packs the cell into the beginning of the column. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Parameters tree_column A GtkTreeViewColumn. cell The GtkCellRenderer. expand TRUE if cell is to be given extra space allocated to tree_column . gtk_tree_view_column_pack_end () gtk_tree_view_column_pack_end void gtk_tree_view_column_pack_end (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand); Adds the cell to end of the column. If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Parameters tree_column A GtkTreeViewColumn. cell The GtkCellRenderer. expand TRUE if cell is to be given extra space allocated to tree_column . gtk_tree_view_column_clear () gtk_tree_view_column_clear void gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column); Unsets all the mappings on all renderers on the tree_column . Parameters tree_column A GtkTreeViewColumn gtk_tree_view_column_add_attribute () gtk_tree_view_column_add_attribute void gtk_tree_view_column_add_attribute (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, const char *attribute, int column); Adds an attribute mapping to the list in tree_column . The column is the column of the model to get a value from, and the attribute is the parameter on cell_renderer to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of a GtkCellRendererText get its values from column 2. Parameters tree_column A GtkTreeViewColumn. cell_renderer the GtkCellRenderer to set attributes on attribute An attribute on the renderer column The column position on the model to get the attribute from. gtk_tree_view_column_set_attributes () gtk_tree_view_column_set_attributes void gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, ...); Sets the attributes in the list as the attributes of tree_column . The attributes should be in attribute/column order, as in gtk_tree_view_column_add_attribute(). All existing attributes are removed, and replaced with the new attributes. Parameters tree_column A GtkTreeViewColumn cell_renderer the GtkCellRenderer we’re setting the attributes of ... A NULL-terminated list of attributes gtk_tree_view_column_set_cell_data_func () gtk_tree_view_column_set_cell_data_func void gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, GtkTreeCellDataFunc func, gpointer func_data, GDestroyNotify destroy); Sets the GtkTreeCellDataFunc to use for the column. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of tree_column 's cell renderer as appropriate. func may be NULL to remove an older one. Parameters tree_column A GtkTreeViewColumn cell_renderer A GtkCellRenderer func The GtkTreeCellDataFunc to use. [allow-none] func_data The user data for func . [closure] destroy The destroy notification for func_data gtk_tree_view_column_clear_attributes () gtk_tree_view_column_clear_attributes void gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer); Clears all existing attributes previously set with gtk_tree_view_column_set_attributes(). Parameters tree_column a GtkTreeViewColumn cell_renderer a GtkCellRenderer to clear the attribute mapping on. gtk_tree_view_column_set_spacing () gtk_tree_view_column_set_spacing void gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, int spacing); Sets the spacing field of tree_column , which is the number of pixels to place between cell renderers packed into it. Parameters tree_column A GtkTreeViewColumn. spacing distance between cell renderers in pixels. gtk_tree_view_column_get_spacing () gtk_tree_view_column_get_spacing int gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column); Returns the spacing of tree_column . Parameters tree_column A GtkTreeViewColumn. Returns the spacing of tree_column . gtk_tree_view_column_set_visible () gtk_tree_view_column_set_visible void gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column, gboolean visible); Sets the visibility of tree_column . Parameters tree_column A GtkTreeViewColumn. visible TRUE if the tree_column is visible. gtk_tree_view_column_get_visible () gtk_tree_view_column_get_visible gboolean gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column); Returns TRUE if tree_column is visible. Parameters tree_column A GtkTreeViewColumn. Returns whether the column is visible or not. If it is visible, then the tree will show the column. gtk_tree_view_column_set_resizable () gtk_tree_view_column_set_resizable void gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column, gboolean resizable); If resizable is TRUE, then the user can explicitly resize the column by grabbing the outer edge of the column button. If resizable is TRUE and sizing mode of the column is GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing mode is changed to GTK_TREE_VIEW_COLUMN_GROW_ONLY. Parameters tree_column A GtkTreeViewColumn resizable TRUE, if the column can be resized gtk_tree_view_column_get_resizable () gtk_tree_view_column_get_resizable gboolean gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column); Returns TRUE if the tree_column can be resized by the end user. Parameters tree_column A GtkTreeViewColumn Returns TRUE, if the tree_column can be resized. gtk_tree_view_column_set_sizing () gtk_tree_view_column_set_sizing void gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, GtkTreeViewColumnSizing type); Sets the growth behavior of tree_column to type . Parameters tree_column A GtkTreeViewColumn. type The GtkTreeViewColumnSizing. gtk_tree_view_column_get_sizing () gtk_tree_view_column_get_sizing GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column); Returns the current type of tree_column . Parameters tree_column A GtkTreeViewColumn. Returns The type of tree_column . gtk_tree_view_column_get_width () gtk_tree_view_column_get_width int gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column); Returns the current size of tree_column in pixels. Parameters tree_column A GtkTreeViewColumn. Returns The current width of tree_column . gtk_tree_view_column_get_fixed_width () gtk_tree_view_column_get_fixed_width int gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column); Gets the fixed width of the column. This may not be the actual displayed width of the column; for that, use gtk_tree_view_column_get_width(). Parameters tree_column A GtkTreeViewColumn. Returns The fixed width of the column. gtk_tree_view_column_set_fixed_width () gtk_tree_view_column_set_fixed_width void gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column, int fixed_width); If fixed_width is not -1, sets the fixed width of tree_column ; otherwise unsets it. The effective value of fixed_width is clamped between the minimum and maximum width of the column; however, the value stored in the “fixed-width” property is not clamped. If the column sizing is GTK_TREE_VIEW_COLUMN_GROW_ONLY or GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting a fixed width overrides the automatically calculated width. Note that fixed_width is only a hint to GTK+; the width actually allocated to the column may be greater or less than requested. Along with “expand”, the “fixed-width” property changes when the column is resized by the user. Parameters tree_column A GtkTreeViewColumn. fixed_width The new fixed width, in pixels, or -1. gtk_tree_view_column_set_min_width () gtk_tree_view_column_set_min_width void gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column, int min_width); Sets the minimum width of the tree_column . If min_width is -1, then the minimum width is unset. Parameters tree_column A GtkTreeViewColumn. min_width The minimum width of the column in pixels, or -1. gtk_tree_view_column_get_min_width () gtk_tree_view_column_get_min_width int gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column); Returns the minimum width in pixels of the tree_column , or -1 if no minimum width is set. Parameters tree_column A GtkTreeViewColumn. Returns The minimum width of the tree_column . gtk_tree_view_column_set_max_width () gtk_tree_view_column_set_max_width void gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column, int max_width); Sets the maximum width of the tree_column . If max_width is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it’s the last column in a view. In this case, the column expands to fill any extra space. Parameters tree_column A GtkTreeViewColumn. max_width The maximum width of the column in pixels, or -1. gtk_tree_view_column_get_max_width () gtk_tree_view_column_get_max_width int gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column); Returns the maximum width in pixels of the tree_column , or -1 if no maximum width is set. Parameters tree_column A GtkTreeViewColumn. Returns The maximum width of the tree_column . gtk_tree_view_column_clicked () gtk_tree_view_column_clicked void gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column); Emits the “clicked” signal on the column. This function will only work if tree_column is clickable. Parameters tree_column a GtkTreeViewColumn gtk_tree_view_column_set_title () gtk_tree_view_column_set_title void gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column, const char *title); Sets the title of the tree_column . If a custom widget has been set, then this value is ignored. Parameters tree_column A GtkTreeViewColumn. title The title of the tree_column . gtk_tree_view_column_get_title () gtk_tree_view_column_get_title const char * gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column); Returns the title of the widget. Parameters tree_column A GtkTreeViewColumn. Returns the title of the column. This string should not be modified or freed. gtk_tree_view_column_set_expand () gtk_tree_view_column_set_expand void gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column, gboolean expand); Sets the column to take available extra space. This space is shared equally amongst all columns that have the expand set to TRUE. If no column has this option set, then the last column gets all extra space. By default, every column is created with this FALSE. Along with “fixed-width”, the “expand” property changes when the column is resized by the user. Parameters tree_column A GtkTreeViewColumn. expand TRUE if the column should expand to fill available space. gtk_tree_view_column_get_expand () gtk_tree_view_column_get_expand gboolean gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column); Returns TRUE if the column expands to fill available space. Parameters tree_column A GtkTreeViewColumn. Returns TRUE if the column expands to fill available space. gtk_tree_view_column_set_clickable () gtk_tree_view_column_set_clickable void gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column, gboolean clickable); Sets the header to be active if clickable is TRUE. When the header is active, then it can take keyboard focus, and can be clicked. Parameters tree_column A GtkTreeViewColumn. clickable TRUE if the header is active. gtk_tree_view_column_get_clickable () gtk_tree_view_column_get_clickable gboolean gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column); Returns TRUE if the user can click on the header for the column. Parameters tree_column a GtkTreeViewColumn Returns TRUE if user can click the column header. gtk_tree_view_column_set_widget () gtk_tree_view_column_set_widget void gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column, GtkWidget *widget); Sets the widget in the header to be widget . If widget is NULL, then the header button is set with a GtkLabel set to the title of tree_column . Parameters tree_column A GtkTreeViewColumn. widget A child GtkWidget, or NULL. [allow-none] gtk_tree_view_column_get_widget () gtk_tree_view_column_get_widget GtkWidget * gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column); Returns the GtkWidget in the button on the column header. If a custom widget has not been set then NULL is returned. Parameters tree_column A GtkTreeViewColumn. Returns The GtkWidget in the column header, or NULL. [nullable][transfer none] gtk_tree_view_column_get_button () gtk_tree_view_column_get_button GtkWidget * gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column); Returns the button used in the treeview column header Parameters tree_column A GtkTreeViewColumn Returns The button for the column header. [transfer none] gtk_tree_view_column_set_alignment () gtk_tree_view_column_set_alignment void gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column, float xalign); Sets the alignment of the title or custom widget inside the column header. The alignment determines its location inside the button -- 0.0 for left, 0.5 for center, 1.0 for right. Parameters tree_column A GtkTreeViewColumn. xalign The alignment, which is between [0.0 and 1.0] inclusive. gtk_tree_view_column_get_alignment () gtk_tree_view_column_get_alignment float gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column); Returns the current x alignment of tree_column . This value can range between 0.0 and 1.0. Parameters tree_column A GtkTreeViewColumn. Returns The current alignent of tree_column . gtk_tree_view_column_set_reorderable () gtk_tree_view_column_set_reorderable void gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column, gboolean reorderable); If reorderable is TRUE, then the column can be reordered by the end user dragging the header. Parameters tree_column A GtkTreeViewColumn reorderable TRUE, if the column can be reordered. gtk_tree_view_column_get_reorderable () gtk_tree_view_column_get_reorderable gboolean gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column); Returns TRUE if the tree_column can be reordered by the user. Parameters tree_column A GtkTreeViewColumn Returns TRUE if the tree_column can be reordered by the user. gtk_tree_view_column_set_sort_column_id () gtk_tree_view_column_set_sort_column_id void gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column, int sort_column_id); Sets the logical sort_column_id that this column sorts on when this column is selected for sorting. Doing so makes the column header clickable. Parameters tree_column a GtkTreeViewColumn sort_column_id The sort_column_id of the model to sort on. gtk_tree_view_column_get_sort_column_id () gtk_tree_view_column_get_sort_column_id int gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column); Gets the logical sort_column_id that the model sorts on when this column is selected for sorting. See gtk_tree_view_column_set_sort_column_id(). Parameters tree_column a GtkTreeViewColumn Returns the current sort_column_id for this column, or -1 if this column can’t be used for sorting. gtk_tree_view_column_set_sort_indicator () gtk_tree_view_column_set_sort_indicator void gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn *tree_column, gboolean setting); Call this function with a setting of TRUE to display an arrow in the header button indicating the column is sorted. Call gtk_tree_view_column_set_sort_order() to change the direction of the arrow. Parameters tree_column a GtkTreeViewColumn setting TRUE to display an indicator that the column is sorted gtk_tree_view_column_get_sort_indicator () gtk_tree_view_column_get_sort_indicator gboolean gtk_tree_view_column_get_sort_indicator (GtkTreeViewColumn *tree_column); Gets the value set by gtk_tree_view_column_set_sort_indicator(). Parameters tree_column a GtkTreeViewColumn Returns whether the sort indicator arrow is displayed gtk_tree_view_column_set_sort_order () gtk_tree_view_column_set_sort_order void gtk_tree_view_column_set_sort_order (GtkTreeViewColumn *tree_column, GtkSortType order); Changes the appearance of the sort indicator. This does not actually sort the model. Use gtk_tree_view_column_set_sort_column_id() if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction with gtk_tree_sortable_set_sort_column_id() to do that. For custom models, the mechanism will vary. The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see gtk_tree_view_column_set_sort_indicator(). Parameters tree_column a GtkTreeViewColumn order sort order that the sort indicator should indicate gtk_tree_view_column_get_sort_order () gtk_tree_view_column_get_sort_order GtkSortType gtk_tree_view_column_get_sort_order (GtkTreeViewColumn *tree_column); Gets the value set by gtk_tree_view_column_set_sort_order(). Parameters tree_column a GtkTreeViewColumn Returns the sort order the sort indicator is indicating gtk_tree_view_column_cell_set_cell_data () gtk_tree_view_column_cell_set_cell_data void gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded); Sets the cell renderer based on the tree_model and iter . That is, for every attribute mapping in tree_column , it will get a value from the set column on the iter , and use that value to set the attribute on the cell renderer. This is used primarily by the GtkTreeView. Parameters tree_column A GtkTreeViewColumn. tree_model The GtkTreeModel to get the cell renderers attributes from. iter The GtkTreeIter to get the cell renderer’s attributes from. is_expander TRUE, if the row has children is_expanded TRUE, if the row has visible children gtk_tree_view_column_cell_get_size () gtk_tree_view_column_cell_get_size void gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, int *x_offset, int *y_offset, int *width, int *height); Obtains the width and height needed to render the column. This is used primarily by the GtkTreeView. Parameters tree_column A GtkTreeViewColumn. x_offset location to return x offset of a cell relative to cell_area , or NULL. [out][optional] y_offset location to return y offset of a cell relative to cell_area , or NULL. [out][optional] width location to return width needed to render a cell, or NULL. [out][optional] height location to return height needed to render a cell, or NULL. [out][optional] gtk_tree_view_column_cell_get_position () gtk_tree_view_column_cell_get_position gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, int *x_offset, int *width); Obtains the horizontal position and size of a cell in a column. If the cell is not found in the column, start_pos and width are not changed and FALSE is returned. Parameters tree_column a GtkTreeViewColumn cell_renderer a GtkCellRenderer x_offset return location for the horizontal position of cell within tree_column , may be NULL. [out][allow-none] width return location for the width of cell , may be NULL. [out][allow-none] Returns TRUE if cell belongs to tree_column . gtk_tree_view_column_cell_is_visible () gtk_tree_view_column_cell_is_visible gboolean gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column); Returns TRUE if any of the cells packed into the tree_column are visible. For this to be meaningful, you must first initialize the cells with gtk_tree_view_column_cell_set_cell_data() Parameters tree_column A GtkTreeViewColumn Returns TRUE, if any of the cells packed into the tree_column are currently visible gtk_tree_view_column_focus_cell () gtk_tree_view_column_focus_cell void gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell); Sets the current keyboard focus to be at cell , if the column contains 2 or more editable and activatable cells. Parameters tree_column A GtkTreeViewColumn cell A GtkCellRenderer gtk_tree_view_column_queue_resize () gtk_tree_view_column_queue_resize void gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column); Flags the column, and the cell renderers added to this column, to have their sizes renegotiated. Parameters tree_column A GtkTreeViewColumn gtk_tree_view_column_get_tree_view () gtk_tree_view_column_get_tree_view GtkWidget * gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column); Returns the GtkTreeView wherein tree_column has been inserted. If column is currently not inserted in any tree view, NULL is returned. Parameters tree_column A GtkTreeViewColumn Returns The tree view wherein column has been inserted if any, NULL otherwise. [nullable][transfer none] gtk_tree_view_column_get_x_offset () gtk_tree_view_column_get_x_offset int gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column); Returns the current X offset of tree_column in pixels. Parameters tree_column A GtkTreeViewColumn. Returns The current X offset of tree_column . Types and Values enum GtkTreeViewColumnSizing GtkTreeViewColumnSizing The sizing method the column uses to determine its width. Please note that GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and can make columns appear choppy. Members GTK_TREE_VIEW_COLUMN_GROW_ONLY Columns only get bigger in reaction to changes in the model GTK_TREE_VIEW_COLUMN_AUTOSIZE Columns resize to be the optimal size everytime the model changes. GTK_TREE_VIEW_COLUMN_FIXED Columns are a fixed numbers of pixels wide. GtkTreeViewColumn GtkTreeViewColumn typedef struct _GtkTreeViewColumn GtkTreeViewColumn; Property Details The <literal>“alignment”</literal> property GtkTreeViewColumn:alignment “alignment” gfloat X Alignment of the column header text or widget.Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: [0,1] Default value: 0 The <literal>“cell-area”</literal> property GtkTreeViewColumn:cell-area “cell-area” GtkCellArea * The GtkCellArea used to layout cell renderers for this column. If no area is specified when creating the tree view column with gtk_tree_view_column_new_with_area() a horizontally oriented GtkCellAreaBox will be used. Owner: GtkTreeViewColumn Flags: Read / Write / Construct Only The <literal>“clickable”</literal> property GtkTreeViewColumn:clickable “clickable” gboolean Whether the header can be clicked.Owner: GtkTreeViewColumn Flags: Read / Write Default value: FALSE The <literal>“expand”</literal> property GtkTreeViewColumn:expand “expand” gboolean Column gets share of extra width allocated to the widget.Owner: GtkTreeViewColumn Flags: Read / Write Default value: FALSE The <literal>“fixed-width”</literal> property GtkTreeViewColumn:fixed-width “fixed-width” gint Current fixed width of the column.Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“max-width”</literal> property GtkTreeViewColumn:max-width “max-width” gint Maximum allowed width of the column.Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“min-width”</literal> property GtkTreeViewColumn:min-width “min-width” gint Minimum allowed width of the column.Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“reorderable”</literal> property GtkTreeViewColumn:reorderable “reorderable” gboolean Whether the column can be reordered around the headers.Owner: GtkTreeViewColumn Flags: Read / Write Default value: FALSE The <literal>“resizable”</literal> property GtkTreeViewColumn:resizable “resizable” gboolean Column is user-resizable.Owner: GtkTreeViewColumn Flags: Read / Write Default value: FALSE The <literal>“sizing”</literal> property GtkTreeViewColumn:sizing “sizing” GtkTreeViewColumnSizing Resize mode of the column.Owner: GtkTreeViewColumn Flags: Read / Write Default value: GTK_TREE_VIEW_COLUMN_GROW_ONLY The <literal>“sort-column-id”</literal> property GtkTreeViewColumn:sort-column-id “sort-column-id” gint Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header clickable. Set to -1 to make the column unsortable. Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“sort-indicator”</literal> property GtkTreeViewColumn:sort-indicator “sort-indicator” gboolean Whether to show a sort indicator.Owner: GtkTreeViewColumn Flags: Read / Write Default value: FALSE The <literal>“sort-order”</literal> property GtkTreeViewColumn:sort-order “sort-order” GtkSortType Sort direction the sort indicator should indicate.Owner: GtkTreeViewColumn Flags: Read / Write Default value: GTK_SORT_ASCENDING The <literal>“spacing”</literal> property GtkTreeViewColumn:spacing “spacing” gint Space which is inserted between cells.Owner: GtkTreeViewColumn Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“title”</literal> property GtkTreeViewColumn:title “title” gchar * Title to appear in column header.Owner: GtkTreeViewColumn Flags: Read / Write Default value: "" The <literal>“visible”</literal> property GtkTreeViewColumn:visible “visible” gboolean Whether to display the column.Owner: GtkTreeViewColumn Flags: Read / Write Default value: TRUE The <literal>“widget”</literal> property GtkTreeViewColumn:widget “widget” GtkWidget * Widget to put in column header button instead of column title.Owner: GtkTreeViewColumn Flags: Read / Write The <literal>“width”</literal> property GtkTreeViewColumn:width “width” gint Current width of the column.Owner: GtkTreeViewColumn Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“x-offset”</literal> property GtkTreeViewColumn:x-offset “x-offset” gint Current X position of the column.Owner: GtkTreeViewColumn Flags: Read Allowed values: >= -2147483647 Default value: 0 Signal Details The <literal>“clicked”</literal> signal GtkTreeViewColumn::clicked void user_function (GtkTreeViewColumn *treeviewcolumn, gpointer user_data) Flags: Run Last See Also GtkTreeView, GtkTreeSelection, GtkTreeModel, GtkTreeSortable, GtkTreeModelSort, GtkListStore, GtkTreeStore, GtkCellRenderer, GtkCellEditable, GtkCellRendererPixbuf, GtkCellRendererText, GtkCellRendererToggle, GtkTreeView drag-and-drop docs/reference/gtk/xml/gtktreeview.xml0000664000175000017500000110072713710700313020246 0ustar mclasenmclasen ]> GtkTreeView 3 GTK4 Library GtkTreeView A widget for displaying both trees and lists Functions gboolean (*GtkTreeViewColumnDropFunc) () void (*GtkTreeViewMappingFunc) () gboolean (*GtkTreeViewSearchEqualFunc) () GtkWidget * gtk_tree_view_new () int gtk_tree_view_get_level_indentation () gboolean gtk_tree_view_get_show_expanders () void gtk_tree_view_set_level_indentation () void gtk_tree_view_set_show_expanders () GtkWidget * gtk_tree_view_new_with_model () GtkTreeModel * gtk_tree_view_get_model () void gtk_tree_view_set_model () GtkTreeSelection * gtk_tree_view_get_selection () gboolean gtk_tree_view_get_headers_visible () void gtk_tree_view_set_headers_visible () void gtk_tree_view_columns_autosize () gboolean gtk_tree_view_get_headers_clickable () void gtk_tree_view_set_headers_clickable () void gtk_tree_view_set_activate_on_single_click () gboolean gtk_tree_view_get_activate_on_single_click () int gtk_tree_view_append_column () int gtk_tree_view_remove_column () int gtk_tree_view_insert_column () int gtk_tree_view_insert_column_with_attributes () int gtk_tree_view_insert_column_with_data_func () guint gtk_tree_view_get_n_columns () GtkTreeViewColumn * gtk_tree_view_get_column () GList * gtk_tree_view_get_columns () void gtk_tree_view_move_column_after () void gtk_tree_view_set_expander_column () GtkTreeViewColumn * gtk_tree_view_get_expander_column () void gtk_tree_view_set_column_drag_function () void gtk_tree_view_scroll_to_point () void gtk_tree_view_scroll_to_cell () void gtk_tree_view_set_cursor () void gtk_tree_view_set_cursor_on_cell () void gtk_tree_view_get_cursor () void gtk_tree_view_row_activated () void gtk_tree_view_expand_all () void gtk_tree_view_collapse_all () void gtk_tree_view_expand_to_path () gboolean gtk_tree_view_expand_row () gboolean gtk_tree_view_collapse_row () void gtk_tree_view_map_expanded_rows () gboolean gtk_tree_view_row_expanded () void gtk_tree_view_set_reorderable () gboolean gtk_tree_view_get_reorderable () gboolean gtk_tree_view_get_path_at_pos () gboolean gtk_tree_view_is_blank_at_pos () void gtk_tree_view_get_cell_area () void gtk_tree_view_get_background_area () void gtk_tree_view_get_visible_rect () gboolean gtk_tree_view_get_visible_range () void gtk_tree_view_convert_bin_window_to_tree_coords () void gtk_tree_view_convert_bin_window_to_widget_coords () void gtk_tree_view_convert_tree_to_bin_window_coords () void gtk_tree_view_convert_tree_to_widget_coords () void gtk_tree_view_convert_widget_to_bin_window_coords () void gtk_tree_view_convert_widget_to_tree_coords () void gtk_tree_view_enable_model_drag_dest () void gtk_tree_view_enable_model_drag_source () void gtk_tree_view_unset_rows_drag_source () void gtk_tree_view_unset_rows_drag_dest () void gtk_tree_view_set_drag_dest_row () void gtk_tree_view_get_drag_dest_row () gboolean gtk_tree_view_get_dest_row_at_pos () GdkPaintable * gtk_tree_view_create_row_drag_icon () void gtk_tree_view_set_enable_search () gboolean gtk_tree_view_get_enable_search () int gtk_tree_view_get_search_column () void gtk_tree_view_set_search_column () GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func () void gtk_tree_view_set_search_equal_func () GtkEditable * gtk_tree_view_get_search_entry () void gtk_tree_view_set_search_entry () gboolean gtk_tree_view_get_fixed_height_mode () void gtk_tree_view_set_fixed_height_mode () gboolean gtk_tree_view_get_hover_selection () void gtk_tree_view_set_hover_selection () gboolean gtk_tree_view_get_hover_expand () void gtk_tree_view_set_hover_expand () gboolean (*GtkTreeViewRowSeparatorFunc) () GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func () void gtk_tree_view_set_row_separator_func () gboolean gtk_tree_view_get_rubber_banding () void gtk_tree_view_set_rubber_banding () gboolean gtk_tree_view_is_rubber_banding_active () gboolean gtk_tree_view_get_enable_tree_lines () void gtk_tree_view_set_enable_tree_lines () GtkTreeViewGridLines gtk_tree_view_get_grid_lines () void gtk_tree_view_set_grid_lines () void gtk_tree_view_set_tooltip_row () void gtk_tree_view_set_tooltip_cell () gboolean gtk_tree_view_get_tooltip_context () int gtk_tree_view_get_tooltip_column () void gtk_tree_view_set_tooltip_column () Properties gbooleanactivate-on-single-clickRead / Write GtkTreeViewGridLinesenable-grid-linesRead / Write gbooleanenable-searchRead / Write gbooleanenable-tree-linesRead / Write GtkTreeViewColumn *expander-columnRead / Write gbooleanfixed-height-modeRead / Write gbooleanheaders-clickableRead / Write gbooleanheaders-visibleRead / Write gbooleanhover-expandRead / Write gbooleanhover-selectionRead / Write gintlevel-indentationRead / Write GtkTreeModel *modelRead / Write gbooleanreorderableRead / Write gbooleanrubber-bandingRead / Write gintsearch-columnRead / Write gbooleanshow-expandersRead / Write ginttooltip-columnRead / Write Signals voidcolumns-changedRun Last voidcursor-changedRun Last gbooleanexpand-collapse-cursor-rowAction gbooleanmove-cursorAction voidrow-activatedAction voidrow-collapsedRun Last voidrow-expandedRun Last gbooleanselect-allAction gbooleanselect-cursor-parentAction gbooleanselect-cursor-rowAction gbooleanstart-interactive-searchAction gbooleantest-collapse-rowRun Last gbooleantest-expand-rowRun Last gbooleantoggle-cursor-rowAction gbooleanunselect-allAction Types and Values structGtkTreeView enumGtkTreeViewDropPosition enumGtkTreeViewGridLines Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkTreeView Implemented Interfaces GtkTreeView implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable. Includes#include <gtk/gtk.h> Description Widget that displays any object that implements the GtkTreeModel interface. Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together. Several different coordinate systems are exposed in the GtkTreeView API. These are: Coordinate systems in GtkTreeView API: Widget coordinates: Coordinates relative to the widget (usually widget->window). Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to. Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These coordinates start at (0, 0) for row 0 of the tree. Several functions are available for converting between the different coordinate systems. The most common translations are between widget and bin window coordinates and between bin window and tree coordinates. For the former you can use gtk_tree_view_convert_widget_to_bin_window_coords() (and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords() (and vice versa). GtkTreeView as GtkBuildableThe GtkTreeView implementation of the GtkBuildable interface accepts GtkTreeViewColumn objects as <child> elements and exposes the internal GtkTreeSelection in UI definitions. An example of a UI definition fragment with GtkTreeView: liststore1 Test 1 ]]> CSS nodes ┊ ┊ │ ╰── │ ├── [rubberband] ╰── [dndtarget] ]]> GtkTreeView has a main CSS node with name treeview and style class .view. It has a subnode with name header, which is the parent for all the column header widgets' CSS nodes. For rubberband selection, a subnode with name rubberband is used. For the drop target location during DND, a subnode with name dndtarget is used. Functions GtkTreeViewColumnDropFunc () GtkTreeViewColumnDropFunc gboolean (*GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data); Function type for determining whether column can be dropped in a particular spot (as determined by prev_column and next_column ). In left to right locales, prev_column is on the left of the potential drop spot, and next_column is on the right. In right to left mode, this is reversed. This function should return TRUE if the spot is a valid drop spot. Please note that returning TRUE does not actually indicate that the column drop was made, but is meant only to indicate a possible drop spot to the user. Parameters tree_view A GtkTreeView column The GtkTreeViewColumn being dragged prev_column A GtkTreeViewColumn on one side of column next_column A GtkTreeViewColumn on the other side of column data user data. [closure] Returns TRUE, if column can be dropped in this spot GtkTreeViewMappingFunc () GtkTreeViewMappingFunc void (*GtkTreeViewMappingFunc) (GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data); Function used for gtk_tree_view_map_expanded_rows(). Parameters tree_view A GtkTreeView path The path that’s expanded user_data user data GtkTreeViewSearchEqualFunc () GtkTreeViewSearchEqualFunc gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, int column, const char *key, GtkTreeIter *iter, gpointer search_data); A function used for checking whether a row in model matches a search key string entered by the user. Note the return value is reversed from what you would normally expect, though it has some similarity to strcmp() returning 0 for equal strings. Parameters model the GtkTreeModel being searched column the search column set by gtk_tree_view_set_search_column() key the key string to compare with iter a GtkTreeIter pointing the row of model that should be compared with key . search_data user data from gtk_tree_view_set_search_equal_func(). [closure] Returns FALSE if the row matches, TRUE otherwise. gtk_tree_view_new () gtk_tree_view_new GtkWidget * gtk_tree_view_new (void); Creates a new GtkTreeView widget. Returns A newly created GtkTreeView widget. gtk_tree_view_get_level_indentation () gtk_tree_view_get_level_indentation int gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); Returns the amount, in pixels, of extra indentation for child levels in tree_view . Parameters tree_view a GtkTreeView. Returns the amount of extra indentation for child levels in tree_view . A return value of 0 means that this feature is disabled. gtk_tree_view_get_show_expanders () gtk_tree_view_get_show_expanders gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); Returns whether or not expanders are drawn in tree_view . Parameters tree_view a GtkTreeView. Returns TRUE if expanders are drawn in tree_view , FALSE otherwise. gtk_tree_view_set_level_indentation () gtk_tree_view_set_level_indentation void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, int indentation); Sets the amount of extra indentation for child levels to use in tree_view in addition to the default indentation. The value should be specified in pixels, a value of 0 disables this feature and in this case only the default indentation will be used. This does not have any visible effects for lists. Parameters tree_view a GtkTreeView indentation the amount, in pixels, of extra indentation in tree_view . gtk_tree_view_set_show_expanders () gtk_tree_view_set_show_expanders void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, gboolean enabled); Sets whether to draw and enable expanders and indent child rows in tree_view . When disabled there will be no expanders visible in trees and there will be no way to expand and collapse rows by default. Also note that hiding the expanders will disable the default indentation. You can set a custom indentation in this case using gtk_tree_view_set_level_indentation(). This does not have any visible effects for lists. Parameters tree_view a GtkTreeView enabled TRUE to enable expander drawing, FALSE otherwise. gtk_tree_view_new_with_model () gtk_tree_view_new_with_model GtkWidget * gtk_tree_view_new_with_model (GtkTreeModel *model); Creates a new GtkTreeView widget with the model initialized to model . Parameters model the model. Returns A newly created GtkTreeView widget. gtk_tree_view_get_model () gtk_tree_view_get_model GtkTreeModel * gtk_tree_view_get_model (GtkTreeView *tree_view); Returns the model the GtkTreeView is based on. Returns NULL if the model is unset. Parameters tree_view a GtkTreeView Returns A GtkTreeModel, or NULL if none is currently being used. [transfer none][nullable] gtk_tree_view_set_model () gtk_tree_view_set_model void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model); Sets the model for a GtkTreeView. If the tree_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model. Parameters tree_view A GtkTreeView. model The model. [allow-none] gtk_tree_view_get_selection () gtk_tree_view_get_selection GtkTreeSelection * gtk_tree_view_get_selection (GtkTreeView *tree_view); Gets the GtkTreeSelection associated with tree_view . Parameters tree_view A GtkTreeView. Returns A GtkTreeSelection object. [transfer none] gtk_tree_view_get_headers_visible () gtk_tree_view_get_headers_visible gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view); Returns TRUE if the headers on the tree_view are visible. Parameters tree_view A GtkTreeView. Returns Whether the headers are visible or not. gtk_tree_view_set_headers_visible () gtk_tree_view_set_headers_visible void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible); Sets the visibility state of the headers. Parameters tree_view A GtkTreeView. headers_visible TRUE if the headers are visible gtk_tree_view_columns_autosize () gtk_tree_view_columns_autosize void gtk_tree_view_columns_autosize (GtkTreeView *tree_view); Resizes all columns to their optimal width. Only works after the treeview has been realized. Parameters tree_view A GtkTreeView. gtk_tree_view_get_headers_clickable () gtk_tree_view_get_headers_clickable gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view); Returns whether all header columns are clickable. Parameters tree_view A GtkTreeView. Returns TRUE if all header columns are clickable, otherwise FALSE gtk_tree_view_set_headers_clickable () gtk_tree_view_set_headers_clickable void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting); Allow the column title buttons to be clicked. Parameters tree_view A GtkTreeView. setting TRUE if the columns are clickable. gtk_tree_view_set_activate_on_single_click () gtk_tree_view_set_activate_on_single_click void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, gboolean single); Cause the “row-activated” signal to be emitted on a single click instead of a double click. Parameters tree_view a GtkTreeView single TRUE to emit row-activated on a single click gtk_tree_view_get_activate_on_single_click () gtk_tree_view_get_activate_on_single_click gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view); Gets the setting set by gtk_tree_view_set_activate_on_single_click(). Parameters tree_view a GtkTreeView Returns TRUE if row-activated will be emitted on a single click gtk_tree_view_append_column () gtk_tree_view_append_column int gtk_tree_view_append_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); Appends column to the list of columns. If tree_view has “fixed_height” mode enabled, then column must have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED. Parameters tree_view A GtkTreeView. column The GtkTreeViewColumn to add. Returns The number of columns in tree_view after appending. gtk_tree_view_remove_column () gtk_tree_view_remove_column int gtk_tree_view_remove_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); Removes column from tree_view . Parameters tree_view A GtkTreeView. column The GtkTreeViewColumn to remove. Returns The number of columns in tree_view after removing. gtk_tree_view_insert_column () gtk_tree_view_insert_column int gtk_tree_view_insert_column (GtkTreeView *tree_view, GtkTreeViewColumn *column, int position); This inserts the column into the tree_view at position . If position is -1, then the column is inserted at the end. If tree_view has “fixed_height” mode enabled, then column must have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED. Parameters tree_view A GtkTreeView. column The GtkTreeViewColumn to be inserted. position The position to insert column in. Returns The number of columns in tree_view after insertion. gtk_tree_view_insert_column_with_attributes () gtk_tree_view_insert_column_with_attributes int gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, ...); Creates a new GtkTreeViewColumn and inserts it into the tree_view at position . If position is -1, then the newly created column is inserted at the end. The column is initialized with the attributes given. If tree_view has “fixed_height” mode enabled, then the new column will have its sizing property set to be GTK_TREE_VIEW_COLUMN_FIXED. Parameters tree_view A GtkTreeView position The position to insert the new column in title The title to set the header to cell The GtkCellRenderer ... A NULL-terminated list of attributes Returns The number of columns in tree_view after insertion. gtk_tree_view_insert_column_with_data_func () gtk_tree_view_insert_column_with_data_func int gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify); Convenience function that inserts a new column into the GtkTreeView with the given cell renderer and a GtkTreeCellDataFunc to set cell renderer attributes (normally using data from the model). See also gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). If tree_view has “fixed_height” mode enabled, then the new column will have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED. Parameters tree_view a GtkTreeView position Position to insert, -1 for append title column title cell cell renderer for column func function to set attributes of cell renderer data data for func dnotify destroy notifier for data Returns number of columns in the tree view post-insert gtk_tree_view_get_n_columns () gtk_tree_view_get_n_columns guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view); Queries the number of columns in the given tree_view . Parameters tree_view a GtkTreeView Returns The number of columns in the tree_view gtk_tree_view_get_column () gtk_tree_view_get_column GtkTreeViewColumn * gtk_tree_view_get_column (GtkTreeView *tree_view, int n); Gets the GtkTreeViewColumn at the given position in the tree_view. Parameters tree_view A GtkTreeView. n The position of the column, counting from 0. Returns The GtkTreeViewColumn, or NULL if the position is outside the range of columns. [nullable][transfer none] gtk_tree_view_get_columns () gtk_tree_view_get_columns GList * gtk_tree_view_get_columns (GtkTreeView *tree_view); Returns a GList of all the GtkTreeViewColumn s currently in tree_view . The returned list must be freed with g_list_free(). Parameters tree_view A GtkTreeView Returns A list of GtkTreeViewColumn s. [element-type GtkTreeViewColumn][transfer container] gtk_tree_view_move_column_after () gtk_tree_view_move_column_after void gtk_tree_view_move_column_after (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column); Moves column to be after to base_column . If base_column is NULL, then column is placed in the first position. Parameters tree_view A GtkTreeView column The GtkTreeViewColumn to be moved. base_column The GtkTreeViewColumn to be moved relative to, or NULL. [allow-none] gtk_tree_view_set_expander_column () gtk_tree_view_set_expander_column void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); Sets the column to draw the expander arrow at. It must be in tree_view . If column is NULL, then the expander arrow is always at the first visible column. If you do not want expander arrow to appear in your tree, set the expander column to a hidden column. Parameters tree_view A GtkTreeView column NULL, or the column to draw the expander arrow at. [nullable] gtk_tree_view_get_expander_column () gtk_tree_view_get_expander_column GtkTreeViewColumn * gtk_tree_view_get_expander_column (GtkTreeView *tree_view); Returns the column that is the current expander column. This column has the expander arrow drawn next to it. Parameters tree_view A GtkTreeView Returns The expander column. [transfer none] gtk_tree_view_set_column_drag_function () gtk_tree_view_set_column_drag_function void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy); Sets a user function for determining where a column may be dropped when dragged. This function is called on every column pair in turn at the beginning of a column drag to determine where a drop can take place. The arguments passed to func are: the tree_view , the GtkTreeViewColumn being dragged, the two GtkTreeViewColumn s determining the drop spot, and user_data . If either of the GtkTreeViewColumn arguments for the drop spot are NULL, then they indicate an edge. If func is set to be NULL, then tree_view reverts to the default behavior of allowing all columns to be dropped everywhere. Parameters tree_view A GtkTreeView. func A function to determine which columns are reorderable, or NULL. [allow-none] user_data User data to be passed to func , or NULL. [closure] destroy Destroy notifier for user_data , or NULL. [allow-none] gtk_tree_view_scroll_to_point () gtk_tree_view_scroll_to_point void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, int tree_x, int tree_y); Scrolls the tree view such that the top-left corner of the visible area is tree_x , tree_y , where tree_x and tree_y are specified in tree coordinates. The tree_view must be realized before this function is called. If it isn't, you probably want to be using gtk_tree_view_scroll_to_cell(). If either tree_x or tree_y are -1, then that direction isn’t scrolled. Parameters tree_view a GtkTreeView tree_x X coordinate of new top-left pixel of visible area, or -1 tree_y Y coordinate of new top-left pixel of visible area, or -1 gtk_tree_view_scroll_to_cell () gtk_tree_view_scroll_to_cell void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, float row_align, float col_align); Moves the alignments of tree_view to the position specified by column and path . If column is NULL, then no horizontal scrolling occurs. Likewise, if path is NULL no vertical scrolling occurs. At a minimum, one of column or path need to be non-NULL. row_align determines where the row is placed, and col_align determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If use_align is FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the cell onto the screen. This means that the cell will be scrolled to the edge closest to its current position. If the cell is currently visible on the screen, nothing is done. This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree_view is realized, the centered path will be modified to reflect this change. Parameters tree_view A GtkTreeView. path The path of the row to move to, or NULL. [allow-none] column The GtkTreeViewColumn to move horizontally to, or NULL. [allow-none] use_align whether to use alignment arguments, or FALSE. row_align The vertical alignment of the row specified by path . col_align The horizontal alignment of the column specified by column . gtk_tree_view_set_cursor () gtk_tree_view_set_cursor void gtk_tree_view_set_cursor (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing); Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular row. If focus_column is not NULL, then focus is given to the column specified by it. Additionally, if focus_column is specified, and start_editing is TRUE, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus (tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. If path is invalid for model , the current cursor (if any) will be unset and the function will return without failing. Parameters tree_view A GtkTreeView path A GtkTreePath focus_column A GtkTreeViewColumn, or NULL. [allow-none] start_editing TRUE if the specified cell should start being edited. gtk_tree_view_set_cursor_on_cell () gtk_tree_view_set_cursor_on_cell void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing); Sets the current keyboard focus to be at path , and selects it. This is useful when you want to focus the user’s attention on a particular row. If focus_column is not NULL, then focus is given to the column specified by it. If focus_column and focus_cell are not NULL, and focus_column contains 2 or more editable or activatable cells, then focus is given to the cell specified by focus_cell . Additionally, if focus_column is specified, and start_editing is TRUE, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus (tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. If path is invalid for model , the current cursor (if any) will be unset and the function will return without failing. Parameters tree_view A GtkTreeView path A GtkTreePath focus_column A GtkTreeViewColumn, or NULL. [allow-none] focus_cell A GtkCellRenderer, or NULL. [allow-none] start_editing TRUE if the specified cell should start being edited. gtk_tree_view_get_cursor () gtk_tree_view_get_cursor void gtk_tree_view_get_cursor (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column); Fills in path and focus_column with the current path and focus column. If the cursor isn’t currently set, then *path will be NULL. If no column currently has focus, then *focus_column will be NULL. The returned GtkTreePath must be freed with gtk_tree_path_free() when you are done with it. Parameters tree_view A GtkTreeView path A pointer to be filled with the current cursor path, or NULL. [out][transfer full][optional][nullable] focus_column A pointer to be filled with the current focus column, or NULL. [out][transfer none][optional][nullable] gtk_tree_view_row_activated () gtk_tree_view_row_activated void gtk_tree_view_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column); Activates the cell determined by path and column . Parameters tree_view A GtkTreeView path The GtkTreePath to be activated. column The GtkTreeViewColumn to be activated. gtk_tree_view_expand_all () gtk_tree_view_expand_all void gtk_tree_view_expand_all (GtkTreeView *tree_view); Recursively expands all nodes in the tree_view . Parameters tree_view A GtkTreeView. gtk_tree_view_collapse_all () gtk_tree_view_collapse_all void gtk_tree_view_collapse_all (GtkTreeView *tree_view); Recursively collapses all visible, expanded nodes in tree_view . Parameters tree_view A GtkTreeView. gtk_tree_view_expand_to_path () gtk_tree_view_expand_to_path void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, GtkTreePath *path); Expands the row at path . This will also expand all parent rows of path as necessary. Parameters tree_view A GtkTreeView. path path to a row. gtk_tree_view_expand_row () gtk_tree_view_expand_row gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all); Opens the row so its children are visible. Parameters tree_view a GtkTreeView path path to a row open_all whether to recursively expand, or just expand immediate children Returns TRUE if the row existed and had children gtk_tree_view_collapse_row () gtk_tree_view_collapse_row gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, GtkTreePath *path); Collapses a row (hides its child rows, if they exist). Parameters tree_view a GtkTreeView path path to a row in the tree_view Returns TRUE if the row was collapsed. gtk_tree_view_map_expanded_rows () gtk_tree_view_map_expanded_rows void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data); Calls func on all expanded rows. Parameters tree_view A GtkTreeView func A function to be called. [scope call] data User data to be passed to the function. gtk_tree_view_row_expanded () gtk_tree_view_row_expanded gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, GtkTreePath *path); Returns TRUE if the node pointed to by path is expanded in tree_view . Parameters tree_view A GtkTreeView. path A GtkTreePath to test expansion state. Returns TRUE if path is expanded. gtk_tree_view_set_reorderable () gtk_tree_view_set_reorderable void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, gboolean reorderable); This function is a convenience function to allow you to reorder models that support the GtkTreeDragSourceIface and the GtkTreeDragDestIface. Both GtkTreeStore and GtkListStore support these. If reorderable is TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model’s “row-inserted” and “row-deleted” signals. The reordering is implemented by setting up the tree view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose. This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually. Parameters tree_view A GtkTreeView. reorderable TRUE, if the tree can be reordered. gtk_tree_view_get_reorderable () gtk_tree_view_get_reorderable gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view); Retrieves whether the user can reorder the tree via drag-and-drop. See gtk_tree_view_set_reorderable(). Parameters tree_view a GtkTreeView Returns TRUE if the tree can be reordered. gtk_tree_view_get_path_at_pos () gtk_tree_view_get_path_at_pos gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y); Finds the path at the point (x , y ), relative to bin_window coordinates. That is, x and y are relative to an events coordinates. Widget-relative coordinates must be converted using gtk_tree_view_convert_widget_to_bin_window_coords(). It is primarily for things like popup menus. If path is non-NULL, then it will be filled with the GtkTreePath at that point. This path should be freed with gtk_tree_path_free(). If column is non-NULL, then it will be filled with the column at that point. cell_x and cell_y return the coordinates relative to the cell background (i.e. the background_area passed to gtk_cell_renderer_render()). This function is only meaningful if tree_view is realized. Therefore this function will always return FALSE if tree_view is not realized or does not have a model. For converting widget coordinates (eg. the ones you get from GtkWidget::query-tooltip), please see gtk_tree_view_convert_widget_to_bin_window_coords(). Parameters tree_view A GtkTreeView. x The x position to be identified (relative to bin_window). y The y position to be identified (relative to bin_window). path A pointer to a GtkTreePath pointer to be filled in, or NULL. [out][optional][nullable] column A pointer to a GtkTreeViewColumn pointer to be filled in, or NULL. [out][transfer none][optional][nullable] cell_x A pointer where the X coordinate relative to the cell can be placed, or NULL. [out][optional] cell_y A pointer where the Y coordinate relative to the cell can be placed, or NULL. [out][optional] Returns TRUE if a row exists at that coordinate. gtk_tree_view_is_blank_at_pos () gtk_tree_view_is_blank_at_pos gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y); Determine whether the point (x , y ) in tree_view is blank, that is no cell content nor an expander arrow is drawn at the location. If so, the location can be considered as the background. You might wish to take special action on clicks on the background, such as clearing a current selection, having a custom context menu or starting rubber banding. The x and y coordinate that are provided must be relative to bin_window coordinates. Widget-relative coordinates must be converted using gtk_tree_view_convert_widget_to_bin_window_coords(). For converting widget coordinates (eg. the ones you get from GtkWidget::query-tooltip), please see gtk_tree_view_convert_widget_to_bin_window_coords(). The path , column , cell_x and cell_y arguments will be filled in likewise as for gtk_tree_view_get_path_at_pos(). Please see gtk_tree_view_get_path_at_pos() for more information. Parameters tree_view A GtkTreeView x The x position to be identified (relative to bin_window) y The y position to be identified (relative to bin_window) path A pointer to a GtkTreePath pointer to be filled in, or NULL. [out][optional][nullable] column A pointer to a GtkTreeViewColumn pointer to be filled in, or NULL. [out][transfer none][optional][nullable] cell_x A pointer where the X coordinate relative to the cell can be placed, or NULL. [out][optional] cell_y A pointer where the Y coordinate relative to the cell can be placed, or NULL. [out][optional] Returns TRUE if the area at the given coordinates is blank, FALSE otherwise. gtk_tree_view_get_cell_area () gtk_tree_view_get_cell_area void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect); Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by path and the column specified by column . If path is NULL, or points to a path not currently displayed, the y and height fields of the rectangle will be filled with 0. If column is NULL, the x and width fields will be filled with 0. The sum of all cell rects does not cover the entire tree; there are extra pixels in between rows, for example. The returned rectangle is equivalent to the cell_area passed to gtk_cell_renderer_render(). This function is only valid if tree_view is realized. Parameters tree_view a GtkTreeView path a GtkTreePath for the row, or NULL to get only horizontal coordinates. [allow-none] column a GtkTreeViewColumn for the column, or NULL to get only vertical coordinates. [allow-none] rect rectangle to fill with cell rect. [out] gtk_tree_view_get_background_area () gtk_tree_view_get_background_area void gtk_tree_view_get_background_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect); Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by path and the column specified by column . If path is NULL, or points to a node not found in the tree, the y and height fields of the rectangle will be filled with 0. If column is NULL, the x and width fields will be filled with 0. The returned rectangle is equivalent to the background_area passed to gtk_cell_renderer_render(). These background areas tile to cover the entire bin window. Contrast with the cell_area , returned by gtk_tree_view_get_cell_area(), which returns only the cell itself, excluding surrounding borders and the tree expander area. Parameters tree_view a GtkTreeView path a GtkTreePath for the row, or NULL to get only horizontal coordinates. [allow-none] column a GtkTreeViewColumn for the column, or NULL to get only vertical coordinates. [allow-none] rect rectangle to fill with cell background rect. [out] gtk_tree_view_get_visible_rect () gtk_tree_view_get_visible_rect void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect); Fills visible_rect with the currently-visible region of the buffer, in tree coordinates. Convert to bin_window coordinates with gtk_tree_view_convert_tree_to_bin_window_coords(). Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire scrollable area of the tree. Parameters tree_view a GtkTreeView visible_rect rectangle to fill. [out] gtk_tree_view_get_visible_range () gtk_tree_view_get_visible_range gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path); Sets start_path and end_path to be the first and last visible path. Note that there may be invisible paths in between. The paths should be freed with gtk_tree_path_free() after use. Parameters tree_view A GtkTreeView start_path Return location for start of region, or NULL. [out][allow-none] end_path Return location for end of region, or NULL. [out][allow-none] Returns TRUE, if valid paths were placed in start_path and end_path . gtk_tree_view_convert_bin_window_to_tree_coords () gtk_tree_view_convert_bin_window_to_tree_coords void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, int bx, int by, int *tx, int *ty); Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree). Parameters tree_view a GtkTreeView bx X coordinate relative to bin_window by Y coordinate relative to bin_window tx return location for tree X coordinate. [out] ty return location for tree Y coordinate. [out] gtk_tree_view_convert_bin_window_to_widget_coords () gtk_tree_view_convert_bin_window_to_widget_coords void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, int bx, int by, int *wx, int *wy); Converts bin_window coordinates to widget relative coordinates. Parameters tree_view a GtkTreeView bx bin_window X coordinate by bin_window Y coordinate wx return location for widget X coordinate. [out] wy return location for widget Y coordinate. [out] gtk_tree_view_convert_tree_to_bin_window_coords () gtk_tree_view_convert_tree_to_bin_window_coords void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, int tx, int ty, int *bx, int *by); Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates. Parameters tree_view a GtkTreeView tx tree X coordinate ty tree Y coordinate bx return location for X coordinate relative to bin_window. [out] by return location for Y coordinate relative to bin_window. [out] gtk_tree_view_convert_tree_to_widget_coords () gtk_tree_view_convert_tree_to_widget_coords void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, int tx, int ty, int *wx, int *wy); Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates. Parameters tree_view a GtkTreeView tx X coordinate relative to the tree ty Y coordinate relative to the tree wx return location for widget X coordinate. [out] wy return location for widget Y coordinate. [out] gtk_tree_view_convert_widget_to_bin_window_coords () gtk_tree_view_convert_widget_to_bin_window_coords void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, int wx, int wy, int *bx, int *by); Converts widget coordinates to coordinates for the bin_window. Parameters tree_view a GtkTreeView wx X coordinate relative to the widget wy Y coordinate relative to the widget bx return location for bin_window X coordinate. [out] by return location for bin_window Y coordinate. [out] gtk_tree_view_convert_widget_to_tree_coords () gtk_tree_view_convert_widget_to_tree_coords void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, int wx, int wy, int *tx, int *ty); Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree). Parameters tree_view a GtkTreeView wx X coordinate relative to the widget wy Y coordinate relative to the widget tx return location for tree X coordinate. [out] ty return location for tree Y coordinate. [out] gtk_tree_view_enable_model_drag_dest () gtk_tree_view_enable_model_drag_dest void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, GdkContentFormats *formats, GdkDragAction actions); Turns tree_view into a drop destination for automatic DND. Calling this method sets “reorderable” to FALSE. Parameters tree_view a GtkTreeView formats the target formats that the drag will support actions the bitmask of possible actions for a drag from this widget gtk_tree_view_enable_model_drag_source () gtk_tree_view_enable_model_drag_source void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions); Turns tree_view into a drag source for automatic DND. Calling this method sets “reorderable” to FALSE. Parameters tree_view a GtkTreeView start_button_mask Mask of allowed buttons to start drag formats the target formats that the drag will support actions the bitmask of possible actions for a drag from this widget gtk_tree_view_unset_rows_drag_source () gtk_tree_view_unset_rows_drag_source void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view); Undoes the effect of gtk_tree_view_enable_model_drag_source(). Calling this method sets “reorderable” to FALSE. Parameters tree_view a GtkTreeView gtk_tree_view_unset_rows_drag_dest () gtk_tree_view_unset_rows_drag_dest void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view); Undoes the effect of gtk_tree_view_enable_model_drag_dest(). Calling this method sets “reorderable” to FALSE. Parameters tree_view a GtkTreeView gtk_tree_view_set_drag_dest_row () gtk_tree_view_set_drag_dest_row void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos); Sets the row that is highlighted for feedback. If path is NULL, an existing highlight is removed. Parameters tree_view a GtkTreeView path The path of the row to highlight, or NULL. [allow-none] pos Specifies whether to drop before, after or into the row gtk_tree_view_get_drag_dest_row () gtk_tree_view_get_drag_dest_row void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos); Gets information about the row that is highlighted for feedback. Parameters tree_view a GtkTreeView path Return location for the path of the highlighted row, or NULL. [out][optional][nullable] pos Return location for the drop position, or NULL. [out][optional] gtk_tree_view_get_dest_row_at_pos () gtk_tree_view_get_dest_row_at_pos gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, int drag_x, int drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos); Determines the destination row for a given position. drag_x and drag_y are expected to be in widget coordinates. This function is only meaningful if tree_view is realized. Therefore this function will always return FALSE if tree_view is not realized or does not have a model. Parameters tree_view a GtkTreeView drag_x the position to determine the destination row for drag_y the position to determine the destination row for path Return location for the path of the highlighted row, or NULL. [out][optional][nullable] pos Return location for the drop position, or NULL. [out][optional] Returns whether there is a row at the given position, TRUE if this is indeed the case. gtk_tree_view_create_row_drag_icon () gtk_tree_view_create_row_drag_icon GdkPaintable * gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path); Creates a cairo_surface_t representation of the row at path . This image is used for a drag icon. Parameters tree_view a GtkTreeView path a GtkTreePath in tree_view Returns a newly-allocated surface of the drag icon. [transfer full] gtk_tree_view_set_enable_search () gtk_tree_view_set_enable_search void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, gboolean enable_search); If enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find"). Note that even if this is FALSE, the user can still initiate a search using the “start-interactive-search” key binding. Parameters tree_view A GtkTreeView enable_search TRUE, if the user can search interactively gtk_tree_view_get_enable_search () gtk_tree_view_get_enable_search gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view); Returns whether or not the tree allows to start interactive searching by typing in text. Parameters tree_view A GtkTreeView Returns whether or not to let the user search interactively gtk_tree_view_get_search_column () gtk_tree_view_get_search_column int gtk_tree_view_get_search_column (GtkTreeView *tree_view); Gets the column searched on by the interactive search code. Parameters tree_view A GtkTreeView Returns the column the interactive search code searches in. gtk_tree_view_set_search_column () gtk_tree_view_set_search_column void gtk_tree_view_set_search_column (GtkTreeView *tree_view, int column); Sets column as the column where the interactive search code should search in for the current model. If the search column is set, users can use the “start-interactive-search” key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search. Note that column refers to a column of the current model. The search column is reset to -1 when the model is changed. Parameters tree_view A GtkTreeView column the column of the model to search in, or -1 to disable searching gtk_tree_view_get_search_equal_func () gtk_tree_view_get_search_equal_func GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view); Returns the compare function currently in use. [skip] Parameters tree_view A GtkTreeView Returns the currently used compare function for the search code. gtk_tree_view_set_search_equal_func () gtk_tree_view_set_search_equal_func void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy); Sets the compare function for the interactive search capabilities; note that somewhat like strcmp() returning 0 for equality GtkTreeViewSearchEqualFunc returns FALSE on matches. Parameters tree_view A GtkTreeView search_equal_func the compare function to use during the search search_user_data user data to pass to search_equal_func , or NULL. [allow-none] search_destroy Destroy notifier for search_user_data , or NULL. [allow-none] gtk_tree_view_get_search_entry () gtk_tree_view_get_search_entry GtkEditable * gtk_tree_view_get_search_entry (GtkTreeView *tree_view); Returns the GtkEntry which is currently in use as interactive search entry for tree_view . In case the built-in entry is being used, NULL will be returned. Parameters tree_view A GtkTreeView Returns the entry currently in use as search entry. [transfer none] gtk_tree_view_set_search_entry () gtk_tree_view_set_search_entry void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, GtkEditable *entry); Sets the entry which the interactive search code will use for this tree_view . This is useful when you want to provide a search entry in our interface at all time at a fixed position. Passing NULL for entry will make the interactive search code use the built-in popup entry again. Parameters tree_view A GtkTreeView entry the entry the interactive search code of tree_view should use or NULL. [allow-none] gtk_tree_view_get_fixed_height_mode () gtk_tree_view_get_fixed_height_mode gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view); Returns whether fixed height mode is turned on for tree_view . Parameters tree_view a GtkTreeView Returns TRUE if tree_view is in fixed height mode gtk_tree_view_set_fixed_height_mode () gtk_tree_view_set_fixed_height_mode void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, gboolean enable); Enables or disables the fixed height mode of tree_view . Fixed height mode speeds up GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height and all columns are of type GTK_TREE_VIEW_COLUMN_FIXED. Parameters tree_view a GtkTreeView enable TRUE to enable fixed height mode gtk_tree_view_get_hover_selection () gtk_tree_view_get_hover_selection gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); Returns whether hover selection mode is turned on for tree_view . Parameters tree_view a GtkTreeView Returns TRUE if tree_view is in hover selection mode gtk_tree_view_set_hover_selection () gtk_tree_view_set_hover_selection void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, gboolean hover); Enables or disables the hover selection mode of tree_view . Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes GTK_SELECTION_SINGLE and GTK_SELECTION_BROWSE. Parameters tree_view a GtkTreeView hover TRUE to enable hover selection mode gtk_tree_view_get_hover_expand () gtk_tree_view_get_hover_expand gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); Returns whether hover expansion mode is turned on for tree_view . Parameters tree_view a GtkTreeView Returns TRUE if tree_view is in hover expansion mode gtk_tree_view_set_hover_expand () gtk_tree_view_set_hover_expand void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, gboolean expand); Enables or disables the hover expansion mode of tree_view . Hover expansion makes rows expand or collapse if the pointer moves over them. Parameters tree_view a GtkTreeView expand TRUE to enable hover selection mode GtkTreeViewRowSeparatorFunc () GtkTreeViewRowSeparatorFunc gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); Function type for determining whether the row pointed to by iter should be rendered as a separator. A common way to implement this is to have a boolean column in the model, whose values the GtkTreeViewRowSeparatorFunc returns. Parameters model the GtkTreeModel iter a GtkTreeIter pointing at a row in model data user data. [closure] Returns TRUE if the row is a separator gtk_tree_view_get_row_separator_func () gtk_tree_view_get_row_separator_func GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); Returns the current row separator function. [skip] Parameters tree_view a GtkTreeView Returns the current row separator function. gtk_tree_view_set_row_separator_func () gtk_tree_view_set_row_separator_func void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy); Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is NULL, no separators are drawn. This is the default value. Parameters tree_view a GtkTreeView func a GtkTreeViewRowSeparatorFunc. [allow-none] data user data to pass to func , or NULL. [allow-none] destroy destroy notifier for data , or NULL. [allow-none] gtk_tree_view_get_rubber_banding () gtk_tree_view_get_rubber_banding gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view); Returns whether rubber banding is turned on for tree_view . If the selection mode is GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse. Parameters tree_view a GtkTreeView Returns TRUE if rubber banding in tree_view is enabled. gtk_tree_view_set_rubber_banding () gtk_tree_view_set_rubber_banding void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, gboolean enable); Enables or disables rubber banding in tree_view . If the selection mode is GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse. Parameters tree_view a GtkTreeView enable TRUE to enable rubber banding gtk_tree_view_is_rubber_banding_active () gtk_tree_view_is_rubber_banding_active gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view); Returns whether a rubber banding operation is currently being done in tree_view . Parameters tree_view a GtkTreeView Returns TRUE if a rubber banding operation is currently being done in tree_view . gtk_tree_view_get_enable_tree_lines () gtk_tree_view_get_enable_tree_lines gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); Returns whether or not tree lines are drawn in tree_view . Parameters tree_view a GtkTreeView. Returns TRUE if tree lines are drawn in tree_view , FALSE otherwise. gtk_tree_view_set_enable_tree_lines () gtk_tree_view_set_enable_tree_lines void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, gboolean enabled); Sets whether to draw lines interconnecting the expanders in tree_view . This does not have any visible effects for lists. Parameters tree_view a GtkTreeView enabled TRUE to enable tree line drawing, FALSE otherwise. gtk_tree_view_get_grid_lines () gtk_tree_view_get_grid_lines GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); Returns which grid lines are enabled in tree_view . Parameters tree_view a GtkTreeView Returns a GtkTreeViewGridLines value indicating which grid lines are enabled. gtk_tree_view_set_grid_lines () gtk_tree_view_set_grid_lines void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines); Sets which grid lines to draw in tree_view . Parameters tree_view a GtkTreeView grid_lines a GtkTreeViewGridLines value indicating which grid lines to enable. gtk_tree_view_set_tooltip_row () gtk_tree_view_set_tooltip_row void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path); Sets the tip area of tooltip to be the area covered by the row at path . See also gtk_tree_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area(). Parameters tree_view a GtkTreeView tooltip a GtkTooltip path a GtkTreePath gtk_tree_view_set_tooltip_cell () gtk_tree_view_set_tooltip_cell void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell); Sets the tip area of tooltip to the area path , column and cell have in common. For example if path is NULL and column is set, the tip area will be set to the full area covered by column . See also gtk_tooltip_set_tip_area(). Note that if path is not specified and cell is set and part of a column containing the expander, the tooltip might not show and hide at the correct position. In such cases path must be set to the current node under the mouse cursor for this function to operate correctly. See also gtk_tree_view_set_tooltip_column() for a simpler alternative. Parameters tree_view a GtkTreeView tooltip a GtkTooltip path a GtkTreePath or NULL. [allow-none] column a GtkTreeViewColumn or NULL. [allow-none] cell a GtkCellRenderer or NULL. [allow-none] gtk_tree_view_get_tooltip_context () gtk_tree_view_get_tooltip_context gboolean gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view, int *x, int *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter); This function is supposed to be used in a “query-tooltip” signal handler for GtkTreeView. The x , y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification. The return value indicates whether there is a tree view row at the given coordinates (TRUE) or not (FALSE) for mouse tooltips. For keyboard tooltips the row returned will be the cursor row. When TRUE, then any of model , path and iter which have been provided will be set to point to that row and the corresponding model. x and y will always be converted to be relative to tree_view ’s bin_window if keyboard_tooltip is FALSE. Parameters tree_view a GtkTreeView x the x coordinate (relative to widget coordinates). [inout] y the y coordinate (relative to widget coordinates). [inout] keyboard_tip whether this is a keyboard tooltip or not model a pointer to receive a GtkTreeModel or NULL. [out][optional][nullable][transfer none] path a pointer to receive a GtkTreePath or NULL. [out][optional] iter a pointer to receive a GtkTreeIter or NULL. [out][optional] Returns whether or not the given tooltip context points to a row. gtk_tree_view_get_tooltip_column () gtk_tree_view_get_tooltip_column int gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); Returns the column of tree_view ’s model which is being used for displaying tooltips on tree_view ’s rows. Parameters tree_view a GtkTreeView Returns the index of the tooltip column that is currently being used, or -1 if this is disabled. gtk_tree_view_set_tooltip_column () gtk_tree_view_set_tooltip_column void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, int column); If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have GtkTreeView handle these automatically for you. column should be set to the column in tree_view ’s model containing the tooltip texts, or -1 to disable this feature. When enabled, “has-tooltip” will be set to TRUE and tree_view will connect a “query-tooltip” signal handler. Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text. Parameters tree_view a GtkTreeView column an integer, which is a valid column number for tree_view ’s model Types and Values struct GtkTreeView GtkTreeView struct GtkTreeView; enum GtkTreeViewDropPosition GtkTreeViewDropPosition An enum for determining where a dropped row goes. Members GTK_TREE_VIEW_DROP_BEFORE dropped row is inserted before GTK_TREE_VIEW_DROP_AFTER dropped row is inserted after GTK_TREE_VIEW_DROP_INTO_OR_BEFORE dropped row becomes a child or is inserted before GTK_TREE_VIEW_DROP_INTO_OR_AFTER dropped row becomes a child or is inserted after enum GtkTreeViewGridLines GtkTreeViewGridLines Used to indicate which grid lines to draw in a tree view. Members GTK_TREE_VIEW_GRID_LINES_NONE No grid lines. GTK_TREE_VIEW_GRID_LINES_HORIZONTAL Horizontal grid lines. GTK_TREE_VIEW_GRID_LINES_VERTICAL Vertical grid lines. GTK_TREE_VIEW_GRID_LINES_BOTH Horizontal and vertical grid lines. Property Details The <literal>“activate-on-single-click”</literal> property GtkTreeView:activate-on-single-click “activate-on-single-click” gboolean The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click. Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“enable-grid-lines”</literal> property GtkTreeView:enable-grid-lines “enable-grid-lines” GtkTreeViewGridLines Whether grid lines should be drawn in the tree view.Owner: GtkTreeView Flags: Read / Write Default value: GTK_TREE_VIEW_GRID_LINES_NONE The <literal>“enable-search”</literal> property GtkTreeView:enable-search “enable-search” gboolean View allows user to search through columns interactively.Owner: GtkTreeView Flags: Read / Write Default value: TRUE The <literal>“enable-tree-lines”</literal> property GtkTreeView:enable-tree-lines “enable-tree-lines” gboolean Whether tree lines should be drawn in the tree view.Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“expander-column”</literal> property GtkTreeView:expander-column “expander-column” GtkTreeViewColumn * Set the column for the expander column.Owner: GtkTreeView Flags: Read / Write The <literal>“fixed-height-mode”</literal> property GtkTreeView:fixed-height-mode “fixed-height-mode” gboolean Setting the ::fixed-height-mode property to TRUE speeds up GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height. Please see gtk_tree_view_set_fixed_height_mode() for more information on this option. Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“headers-clickable”</literal> property GtkTreeView:headers-clickable “headers-clickable” gboolean Column headers respond to click events.Owner: GtkTreeView Flags: Read / Write Default value: TRUE The <literal>“headers-visible”</literal> property GtkTreeView:headers-visible “headers-visible” gboolean Show the column header buttons.Owner: GtkTreeView Flags: Read / Write Default value: TRUE The <literal>“hover-expand”</literal> property GtkTreeView:hover-expand “hover-expand” gboolean Enables or disables the hover expansion mode of tree_view . Hover expansion makes rows expand or collapse if the pointer moves over them. This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion. Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“hover-selection”</literal> property GtkTreeView:hover-selection “hover-selection” gboolean Enables or disables the hover selection mode of tree_view . Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes GTK_SELECTION_SINGLE and GTK_SELECTION_BROWSE. This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion. Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“level-indentation”</literal> property GtkTreeView:level-indentation “level-indentation” gint Extra indentation for each level. Owner: GtkTreeView Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“model”</literal> property GtkTreeView:model “model” GtkTreeModel * The model for the tree view.Owner: GtkTreeView Flags: Read / Write The <literal>“reorderable”</literal> property GtkTreeView:reorderable “reorderable” gboolean View is reorderable.Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“rubber-banding”</literal> property GtkTreeView:rubber-banding “rubber-banding” gboolean Whether to enable selection of multiple items by dragging the mouse pointer.Owner: GtkTreeView Flags: Read / Write Default value: FALSE The <literal>“search-column”</literal> property GtkTreeView:search-column “search-column” gint Model column to search through during interactive search.Owner: GtkTreeView Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“show-expanders”</literal> property GtkTreeView:show-expanders “show-expanders” gboolean TRUE if the view has expanders. Owner: GtkTreeView Flags: Read / Write Default value: TRUE The <literal>“tooltip-column”</literal> property GtkTreeView:tooltip-column “tooltip-column” gint The column in the model containing the tooltip texts for the rows.Owner: GtkTreeView Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“columns-changed”</literal> signal GtkTreeView::columns-changed void user_function (GtkTreeView *tree_view, gpointer user_data) The number of columns of the treeview has changed. Parameters tree_view the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“cursor-changed”</literal> signal GtkTreeView::cursor-changed void user_function (GtkTreeView *tree_view, gpointer user_data) The position of the cursor (focused cell) has changed. Parameters tree_view the object on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“expand-collapse-cursor-row”</literal> signal GtkTreeView::expand-collapse-cursor-row gboolean user_function (GtkTreeView *treeview, gboolean arg1, gboolean arg2, gboolean arg3, gpointer user_data) Flags: Action The <literal>“move-cursor”</literal> signal GtkTreeView::move-cursor gboolean user_function (GtkTreeView *tree_view, GtkMovementStep step, gint direction, gboolean extend, gboolean modify, gpointer user_data) The “move-cursor” signal is a keybinding signal which gets emitted when the user presses one of the cursor keys. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. In contrast to gtk_tree_view_set_cursor() and gtk_tree_view_set_cursor_on_cell() when moving horizontally “move-cursor” does not reset the current selection. Parameters tree_view the object on which the signal is emitted. step the granularity of the move, as a GtkMovementStep. GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS, GTK_MOVEMENT_DISPLAY_LINES, GTK_MOVEMENT_PAGES and GTK_MOVEMENT_BUFFER_ENDS are supported. GTK_MOVEMENT_LOGICAL_POSITIONS and GTK_MOVEMENT_VISUAL_POSITIONS are treated identically. direction the direction to move: +1 to move forwards; -1 to move backwards. The resulting movement is undefined for all other values. extend whether to extend the selection modify whether to modify the selection user_data user data set when the signal handler was connected. Returns TRUE if step is supported, FALSE otherwise. Flags: Action The <literal>“row-activated”</literal> signal GtkTreeView::row-activated void user_function (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) The "row-activated" signal is emitted when the method gtk_tree_view_row_activated() is called, when the user double clicks a treeview row with the "activate-on-single-click" property set to FALSE, or when the user single clicks a row when the "activate-on-single-click" property set to TRUE. It is also emitted when a non-editable row is selected and one of the keys: Space, Shift+Space, Return or Enter is pressed. For selection handling refer to the tree widget conceptual overview as well as GtkTreeSelection. Parameters tree_view the object on which the signal is emitted path the GtkTreePath for the activated row column the GtkTreeViewColumn in which the activation occurred user_data user data set when the signal handler was connected. Flags: Action The <literal>“row-collapsed”</literal> signal GtkTreeView::row-collapsed void user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) The given row has been collapsed (child nodes are hidden). Parameters tree_view the object on which the signal is emitted iter the tree iter of the collapsed row path a tree path that points to the row user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“row-expanded”</literal> signal GtkTreeView::row-expanded void user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) The given row has been expanded (child nodes are shown). Parameters tree_view the object on which the signal is emitted iter the tree iter of the expanded row path a tree path that points to the row user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“select-all”</literal> signal GtkTreeView::select-all gboolean user_function (GtkTreeView *treeview, gpointer user_data) Flags: Action The <literal>“select-cursor-parent”</literal> signal GtkTreeView::select-cursor-parent gboolean user_function (GtkTreeView *treeview, gpointer user_data) Flags: Action The <literal>“select-cursor-row”</literal> signal GtkTreeView::select-cursor-row gboolean user_function (GtkTreeView *treeview, gboolean arg1, gpointer user_data) Flags: Action The <literal>“start-interactive-search”</literal> signal GtkTreeView::start-interactive-search gboolean user_function (GtkTreeView *treeview, gpointer user_data) Flags: Action The <literal>“test-collapse-row”</literal> signal GtkTreeView::test-collapse-row gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows. Parameters tree_view the object on which the signal is emitted iter the tree iter of the row to collapse path a tree path that points to the row user_data user data set when the signal handler was connected. Returns FALSE to allow collapsing, TRUE to reject Flags: Run Last The <literal>“test-expand-row”</literal> signal GtkTreeView::test-expand-row gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows. Parameters tree_view the object on which the signal is emitted iter the tree iter of the row to expand path a tree path that points to the row user_data user data set when the signal handler was connected. Returns FALSE to allow expansion, TRUE to reject Flags: Run Last The <literal>“toggle-cursor-row”</literal> signal GtkTreeView::toggle-cursor-row gboolean user_function (GtkTreeView *treeview, gpointer user_data) Flags: Action The <literal>“unselect-all”</literal> signal GtkTreeView::unselect-all gboolean user_function (GtkTreeView *treeview, gpointer user_data) Flags: Action See Also GtkTreeViewColumn, GtkTreeSelection, GtkTreeModel, GtkTreeView drag-and-drop, GtkTreeSortable, GtkTreeModelSort, GtkListStore, GtkTreeStore, GtkCellRenderer, GtkCellEditable, GtkCellRendererPixbuf, GtkCellRendererText, GtkCellRendererToggle docs/reference/gtk/xml/gtkcellview.xml0000664000175000017500000010457113710700313020226 0ustar mclasenmclasen ]> GtkCellView 3 GTK4 Library GtkCellView A widget displaying a single row of a GtkTreeModel Functions GtkWidget * gtk_cell_view_new () GtkWidget * gtk_cell_view_new_with_context () GtkWidget * gtk_cell_view_new_with_text () GtkWidget * gtk_cell_view_new_with_markup () GtkWidget * gtk_cell_view_new_with_texture () void gtk_cell_view_set_model () GtkTreeModel * gtk_cell_view_get_model () void gtk_cell_view_set_displayed_row () GtkTreePath * gtk_cell_view_get_displayed_row () void gtk_cell_view_set_draw_sensitive () gboolean gtk_cell_view_get_draw_sensitive () void gtk_cell_view_set_fit_model () gboolean gtk_cell_view_get_fit_model () Properties GtkCellArea *cell-areaRead / Write / Construct Only GtkCellAreaContext *cell-area-contextRead / Write / Construct Only gbooleandraw-sensitiveRead / Write gbooleanfit-modelRead / Write GtkTreeModel *modelRead / Write Types and Values GtkCellView Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkCellView Implemented Interfaces GtkCellView implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkCellLayout and GtkOrientable. Includes#include <gtk/gtk.h> Description A GtkCellView displays a single row of a GtkTreeModel using a GtkCellArea and GtkCellAreaContext. A GtkCellAreaContext can be provided to the GtkCellView at construction time in order to keep the cellview in context of a group of cell views, this ensures that the renderers displayed will be properly aligned with eachother (like the aligned cells in the menus of GtkComboBox). GtkCellView is GtkOrientable in order to decide in which orientation the underlying GtkCellAreaContext should be allocated. Taking the GtkComboBox menu as an example, cellviews should be oriented horizontally if the menus are listed top-to-bottom and thus all share the same width but may have separate individual heights (left-to-right menus should be allocated vertically since they all share the same height but may have variable widths). CSS nodesGtkCellView has a single CSS node with name cellview. Functions gtk_cell_view_new () gtk_cell_view_new GtkWidget * gtk_cell_view_new (void); Creates a new GtkCellView widget. Returns A newly created GtkCellView widget. gtk_cell_view_new_with_context () gtk_cell_view_new_with_context GtkWidget * gtk_cell_view_new_with_context (GtkCellArea *area, GtkCellAreaContext *context); Creates a new GtkCellView widget with a specific GtkCellArea to layout cells and a specific GtkCellAreaContext. Specifying the same context for a handfull of cells lets the underlying area synchronize the geometry for those cells, in this way alignments with cellviews for other rows are possible. Parameters area the GtkCellArea to layout cells context the GtkCellAreaContext in which to calculate cell geometry Returns A newly created GtkCellView widget. gtk_cell_view_new_with_text () gtk_cell_view_new_with_text GtkWidget * gtk_cell_view_new_with_text (const char *text); Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show text . Parameters text the text to display in the cell view Returns A newly created GtkCellView widget. gtk_cell_view_new_with_markup () gtk_cell_view_new_with_markup GtkWidget * gtk_cell_view_new_with_markup (const char *markup); Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show markup . The text can be marked up with the Pango text markup language. Parameters markup the text to display in the cell view Returns A newly created GtkCellView widget. gtk_cell_view_new_with_texture () gtk_cell_view_new_with_texture GtkWidget * gtk_cell_view_new_with_texture (GdkTexture *texture); Creates a new GtkCellView widget, adds a GtkCellRendererPixbuf to it, and makes it show texture . Parameters texture the image to display in the cell view Returns A newly created GtkCellView widget. gtk_cell_view_set_model () gtk_cell_view_set_model void gtk_cell_view_set_model (GtkCellView *cell_view, GtkTreeModel *model); Sets the model for cell_view . If cell_view already has a model set, it will remove it before setting the new model. If model is NULL, then it will unset the old model. Parameters cell_view a GtkCellView model a GtkTreeModel. [allow-none] gtk_cell_view_get_model () gtk_cell_view_get_model GtkTreeModel * gtk_cell_view_get_model (GtkCellView *cell_view); Returns the model for cell_view . If no model is used NULL is returned. Parameters cell_view a GtkCellView Returns a GtkTreeModel used or NULL. [nullable][transfer none] gtk_cell_view_set_displayed_row () gtk_cell_view_set_displayed_row void gtk_cell_view_set_displayed_row (GtkCellView *cell_view, GtkTreePath *path); Sets the row of the model that is currently displayed by the GtkCellView. If the path is unset, then the contents of the cellview “stick” at their last value; this is not normally a desired result, but may be a needed intermediate state if say, the model for the GtkCellView becomes temporarily empty. Parameters cell_view a GtkCellView path a GtkTreePath or NULL to unset. [allow-none] gtk_cell_view_get_displayed_row () gtk_cell_view_get_displayed_row GtkTreePath * gtk_cell_view_get_displayed_row (GtkCellView *cell_view); Returns a GtkTreePath referring to the currently displayed row. If no row is currently displayed, NULL is returned. Parameters cell_view a GtkCellView Returns the currently displayed row or NULL. [nullable][transfer full] gtk_cell_view_set_draw_sensitive () gtk_cell_view_set_draw_sensitive void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, gboolean draw_sensitive); Sets whether cell_view should draw all of its cells in a sensitive state, this is used by GtkComboBox menus to ensure that rows with insensitive cells that contain children appear sensitive in the parent menu item. Parameters cell_view a GtkCellView draw_sensitive whether to draw all cells in a sensitive state. gtk_cell_view_get_draw_sensitive () gtk_cell_view_get_draw_sensitive gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view); Gets whether cell_view is configured to draw all of its cells in a sensitive state. Parameters cell_view a GtkCellView Returns whether cell_view draws all of its cells in a sensitive state gtk_cell_view_set_fit_model () gtk_cell_view_set_fit_model void gtk_cell_view_set_fit_model (GtkCellView *cell_view, gboolean fit_model); Sets whether cell_view should request space to fit the entire GtkTreeModel. This is used by GtkComboBox to ensure that the cell view displayed on the combo box’s button always gets enough space and does not resize when selection changes. Parameters cell_view a GtkCellView fit_model whether cell_view should request space for the whole model. gtk_cell_view_get_fit_model () gtk_cell_view_get_fit_model gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view); Gets whether cell_view is configured to request space to fit the entire GtkTreeModel. Parameters cell_view a GtkCellView Returns whether cell_view requests space to fit the entire GtkTreeModel. Types and Values GtkCellView GtkCellView typedef struct _GtkCellView GtkCellView; Property Details The <literal>“cell-area”</literal> property GtkCellView:cell-area “cell-area” GtkCellArea * The GtkCellArea rendering cells If no area is specified when creating the cell view with gtk_cell_view_new_with_context() a horizontally oriented GtkCellAreaBox will be used. since 3.0 Owner: GtkCellView Flags: Read / Write / Construct Only The <literal>“cell-area-context”</literal> property GtkCellView:cell-area-context “cell-area-context” GtkCellAreaContext * The GtkCellAreaContext used to compute the geometry of the cell view. A group of cell views can be assigned the same context in order to ensure the sizes and cell alignments match across all the views with the same context. GtkComboBox menus uses this to assign the same context to all cell views in the menu items for a single menu (each submenu creates its own context since the size of each submenu does not depend on parent or sibling menus). since 3.0 Owner: GtkCellView Flags: Read / Write / Construct Only The <literal>“draw-sensitive”</literal> property GtkCellView:draw-sensitive “draw-sensitive” gboolean Whether all cells should be draw as sensitive for this view regardless of the actual cell properties (used to make menus with submenus appear sensitive when the items in submenus might be insensitive). since 3.0 Owner: GtkCellView Flags: Read / Write Default value: FALSE The <literal>“fit-model”</literal> property GtkCellView:fit-model “fit-model” gboolean Whether the view should request enough space to always fit the size of every row in the model (used by the combo box to ensure the combo box size doesnt change when different items are selected). since 3.0 Owner: GtkCellView Flags: Read / Write Default value: FALSE The <literal>“model”</literal> property GtkCellView:model “model” GtkTreeModel * The model for cell view since 2.10 Owner: GtkCellView Flags: Read / Write docs/reference/gtk/xml/gtkcelllayout.xml0000664000175000017500000012124413710700313020565 0ustar mclasenmclasen ]> GtkCellLayout 3 GTK4 Library GtkCellLayout An interface for packing cells Functions void (*GtkCellLayoutDataFunc) () void gtk_cell_layout_pack_start () void gtk_cell_layout_pack_end () GtkCellArea * gtk_cell_layout_get_area () GList * gtk_cell_layout_get_cells () void gtk_cell_layout_reorder () void gtk_cell_layout_clear () void gtk_cell_layout_set_attributes () void gtk_cell_layout_add_attribute () void gtk_cell_layout_set_cell_data_func () void gtk_cell_layout_clear_attributes () Types and Values GtkCellLayout structGtkCellLayoutIface Object Hierarchy GInterface ╰── GtkCellLayout Prerequisites GtkCellLayout requires GObject. Known Implementations GtkCellLayout is implemented by GtkCellArea, GtkCellAreaBox, GtkCellView, GtkComboBox, GtkComboBoxText, GtkEntryCompletion, GtkIconView and GtkTreeViewColumn. Includes#include <gtk/gtk.h> Description GtkCellLayout is an interface to be implemented by all objects which want to provide a GtkTreeViewColumn like API for packing cells, setting attributes and data funcs. One of the notable features provided by implementations of GtkCellLayout are attributes. Attributes let you set the properties in flexible ways. They can just be set to constant values like regular properties. But they can also be mapped to a column of the underlying tree model with gtk_cell_layout_set_attributes(), which means that the value of the attribute can change from cell to cell as they are rendered by the cell renderer. Finally, it is possible to specify a function with gtk_cell_layout_set_cell_data_func() that is called to determine the value of the attribute for each cell that is rendered. GtkCellLayouts as GtkBuildableImplementations of GtkCellLayout which also implement the GtkBuildable interface (GtkCellView, GtkIconView, GtkComboBox, GtkEntryCompletion, GtkTreeViewColumn) accept GtkCellRenderer objects as <child> elements in UI definitions. They support a custom <attributes> element for their children, which can contain multiple <attribute> elements. Each <attribute> element has a name attribute which specifies a property of the cell renderer; the content of the element is the attribute value. This is an example of a UI definition fragment specifying attributes: 0 " ]]> Furthermore for implementations of GtkCellLayout that use a GtkCellArea to lay out cells (all GtkCellLayouts in GTK+ use a GtkCellArea) cell properties can also be defined in the format by specifying the custom <cell-packing> attribute which can contain multiple <property> elements defined in the normal way. Here is a UI definition fragment specifying cell properties: True False " ]]> Subclassing GtkCellLayout implementationsWhen subclassing a widget that implements GtkCellLayout like GtkIconView or GtkComboBox, there are some considerations related to the fact that these widgets internally use a GtkCellArea. The cell area is exposed as a construct-only property by these widgets. This means that it is possible to e.g. do to use a custom cell area with a combo box. But construct properties are only initialized after instance init() functions have run, which means that using functions which rely on the existence of the cell area in your subclass’ init() function will cause the default cell area to be instantiated. In this case, a provided construct property value will be ignored (with a warning, to alert you to the problem). If supporting alternative cell areas with your derived widget is not important, then this does not have to concern you. If you want to support alternative cell areas, you can do so by moving the problematic calls out of init() and into a constructor() for your class. Functions GtkCellLayoutDataFunc () GtkCellLayoutDataFunc void (*GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data); A function which should set the value of cell_layout ’s cell renderer(s) as appropriate. Parameters cell_layout a GtkCellLayout cell the cell renderer whose value is to be set tree_model the model iter a GtkTreeIter indicating the row to set the value for data user data passed to gtk_cell_layout_set_cell_data_func(). [closure] gtk_cell_layout_pack_start () gtk_cell_layout_pack_start void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); Packs the cell into the beginning of cell_layout . If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Note that reusing the same cell renderer is not supported. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer expand TRUE if cell is to be given extra space allocated to cell_layout gtk_cell_layout_pack_end () gtk_cell_layout_pack_end void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); Adds the cell to the end of cell_layout . If expand is FALSE, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is TRUE. Note that reusing the same cell renderer is not supported. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer expand TRUE if cell is to be given extra space allocated to cell_layout gtk_cell_layout_get_area () gtk_cell_layout_get_area GtkCellArea * gtk_cell_layout_get_area (GtkCellLayout *cell_layout); Returns the underlying GtkCellArea which might be cell_layout if called on a GtkCellArea or might be NULL if no GtkCellArea is used by cell_layout . Parameters cell_layout a GtkCellLayout Returns the cell area used by cell_layout , or NULL in case no cell area is used. [transfer none][nullable] gtk_cell_layout_get_cells () gtk_cell_layout_get_cells GList * gtk_cell_layout_get_cells (GtkCellLayout *cell_layout); Returns the cell renderers which have been added to cell_layout . Parameters cell_layout a GtkCellLayout Returns a list of cell renderers. The list, but not the renderers has been newly allocated and should be freed with g_list_free() when no longer needed. [element-type GtkCellRenderer][transfer container] gtk_cell_layout_reorder () gtk_cell_layout_reorder void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position); Re-inserts cell at position . Note that cell has already to be packed into cell_layout for this to function properly. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer to reorder position new position to insert cell at gtk_cell_layout_clear () gtk_cell_layout_clear void gtk_cell_layout_clear (GtkCellLayout *cell_layout); Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout . Parameters cell_layout a GtkCellLayout gtk_cell_layout_set_attributes () gtk_cell_layout_set_attributes void gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell, ...); Sets the attributes in list as the attributes of cell_layout . The attributes should be in attribute/column order, as in gtk_cell_layout_add_attribute(). All existing attributes are removed, and replaced with the new attributes. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer ... a NULL-terminated list of attributes gtk_cell_layout_add_attribute () gtk_cell_layout_add_attribute void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column); Adds an attribute mapping to the list in cell_layout . The column is the column of the model to get a value from, and the attribute is the parameter on cell to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of a GtkCellRendererText get its values from column 2. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer attribute an attribute on the renderer column the column position on the model to get the attribute from gtk_cell_layout_set_cell_data_func () gtk_cell_layout_set_cell_data_func void gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy); Sets the GtkCellLayoutDataFunc to use for cell_layout . This function is used instead of the standard attributes mapping for setting the column value, and should set the value of cell_layout ’s cell renderer(s) as appropriate. func may be NULL to remove a previously set function. Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer func the GtkCellLayoutDataFunc to use, or NULL. [allow-none] func_data user data for func . [closure] destroy destroy notify for func_data gtk_cell_layout_clear_attributes () gtk_cell_layout_clear_attributes void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell); Clears all existing attributes previously set with gtk_cell_layout_set_attributes(). Parameters cell_layout a GtkCellLayout cell a GtkCellRenderer to clear the attribute mapping on Types and Values GtkCellLayout GtkCellLayout typedef struct _GtkCellLayout GtkCellLayout; struct GtkCellLayoutIface GtkCellLayoutIface struct GtkCellLayoutIface { /* Virtual Table */ void (* pack_start) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); void (* pack_end) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); void (* clear) (GtkCellLayout *cell_layout); void (* add_attribute) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column); void (* set_cell_data_func) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy); void (* clear_attributes) (GtkCellLayout *cell_layout, GtkCellRenderer *cell); void (* reorder) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position); GList* (* get_cells) (GtkCellLayout *cell_layout); GtkCellArea *(* get_area) (GtkCellLayout *cell_layout); }; Members pack_start () Packs the cell into the beginning of cell_layout. pack_end () Adds the cell to the end of cell_layout. clear () Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout. add_attribute () Adds an attribute mapping to the list in cell_layout. set_cell_data_func () Sets the GtkCellLayoutDataFunc to use for cell_layout. clear_attributes () Clears all existing attributes previously set with gtk_cell_layout_set_attributes(). reorder () Re-inserts cell at position. get_cells () Get the cell renderers which have been added to cell_layout. get_area () Get the underlying GtkCellArea which might be cell_layout if called on a GtkCellArea or might be NULL if no GtkCellArea is used by cell_layout. docs/reference/gtk/xml/gtkcellarea.xml0000664000175000017500000057574213710700313020200 0ustar mclasenmclasen ]> GtkCellArea 3 GTK4 Library GtkCellArea An abstract class for laying out GtkCellRenderers Functions gboolean (*GtkCellCallback) () gboolean (*GtkCellAllocCallback) () #defineGTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID() void gtk_cell_area_add () void gtk_cell_area_remove () gboolean gtk_cell_area_has_renderer () void gtk_cell_area_foreach () void gtk_cell_area_foreach_alloc () int gtk_cell_area_event () void gtk_cell_area_snapshot () void gtk_cell_area_get_cell_allocation () GtkCellRenderer * gtk_cell_area_get_cell_at_position () GtkCellAreaContext * gtk_cell_area_create_context () GtkCellAreaContext * gtk_cell_area_copy_context () GtkSizeRequestMode gtk_cell_area_get_request_mode () void gtk_cell_area_get_preferred_width () void gtk_cell_area_get_preferred_height_for_width () void gtk_cell_area_get_preferred_height () void gtk_cell_area_get_preferred_width_for_height () const char * gtk_cell_area_get_current_path_string () void gtk_cell_area_apply_attributes () void gtk_cell_area_attribute_connect () void gtk_cell_area_attribute_disconnect () int gtk_cell_area_attribute_get_column () void gtk_cell_area_class_install_cell_property () GParamSpec * gtk_cell_area_class_find_cell_property () GParamSpec ** gtk_cell_area_class_list_cell_properties () void gtk_cell_area_add_with_properties () void gtk_cell_area_cell_set () void gtk_cell_area_cell_get () void gtk_cell_area_cell_set_valist () void gtk_cell_area_cell_get_valist () void gtk_cell_area_cell_set_property () void gtk_cell_area_cell_get_property () gboolean gtk_cell_area_is_activatable () gboolean gtk_cell_area_activate () gboolean gtk_cell_area_focus () void gtk_cell_area_set_focus_cell () GtkCellRenderer * gtk_cell_area_get_focus_cell () void gtk_cell_area_add_focus_sibling () void gtk_cell_area_remove_focus_sibling () gboolean gtk_cell_area_is_focus_sibling () const GList * gtk_cell_area_get_focus_siblings () GtkCellRenderer * gtk_cell_area_get_focus_from_sibling () GtkCellRenderer * gtk_cell_area_get_edited_cell () GtkCellEditable * gtk_cell_area_get_edit_widget () gboolean gtk_cell_area_activate_cell () void gtk_cell_area_stop_editing () void gtk_cell_area_inner_cell_area () void gtk_cell_area_request_renderer () Properties GtkCellEditable *edit-widgetRead GtkCellRenderer *edited-cellRead GtkCellRenderer *focus-cellRead / Write Signals voidadd-editableRun First voidapply-attributesRun First voidfocus-changedRun First voidremove-editableRun First Types and Values structGtkCellArea structGtkCellAreaClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellArea ╰── GtkCellAreaBox Implemented Interfaces GtkCellArea implements GtkCellLayout and GtkBuildable. Includes#include <gtk/gtk.h> Description The GtkCellArea is an abstract class for GtkCellLayout widgets (also referred to as "layouting widgets") to interface with an arbitrary number of GtkCellRenderers and interact with the user for a given GtkTreeModel row. The cell area handles events, focus navigation, drawing and size requests and allocations for a given row of data. Usually users dont have to interact with the GtkCellArea directly unless they are implementing a cell-layouting widget themselves. Requesting area sizesAs outlined in GtkWidget’s geometry management section, GTK+ uses a height-for-width geometry management system to compute the sizes of widgets and user interfaces. GtkCellArea uses the same semantics to calculate the size of an area for an arbitrary number of GtkTreeModel rows. When requesting the size of a cell area one needs to calculate the size for a handful of rows, and this will be done differently by different layouting widgets. For instance a GtkTreeViewColumn always lines up the areas from top to bottom while a GtkIconView on the other hand might enforce that all areas received the same width and wrap the areas around, requesting height for more cell areas when allocated less width. It’s also important for areas to maintain some cell alignments with areas rendered for adjacent rows (cells can appear “columnized” inside an area even when the size of cells are different in each row). For this reason the GtkCellArea uses a GtkCellAreaContext object to store the alignments and sizes along the way (as well as the overall largest minimum and natural size for all the rows which have been calculated with the said context). The GtkCellAreaContext is an opaque object specific to the GtkCellArea which created it (see gtk_cell_area_create_context()). The owning cell-layouting widget can create as many contexts as it wishes to calculate sizes of rows which should receive the same size in at least one orientation (horizontally or vertically), However, it’s important that the same GtkCellAreaContext which was used to request the sizes for a given GtkTreeModel row be used when rendering or processing events for that row. In order to request the width of all the rows at the root level of a GtkTreeModel one would do the following: Note that in this example it’s not important to observe the returned minimum and natural width of the area for each row unless the cell-layouting object is actually interested in the widths of individual rows. The overall width is however stored in the accompanying GtkCellAreaContext object and can be consulted at any time. This can be useful since GtkCellLayout widgets usually have to support requesting and rendering rows in treemodels with an exceedingly large amount of rows. The GtkCellLayout widget in that case would calculate the required width of the rows in an idle or timeout source (see g_timeout_add()) and when the widget is requested its actual width in GtkWidgetClass.get_preferred_width() it can simply consult the width accumulated so far in the GtkCellAreaContext object. A simple example where rows are rendered from top to bottom and take up the full width of the layouting widget would look like: priv; foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo); gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); } ]]> In the above example the Foo widget has to make sure that some row sizes have been calculated (the amount of rows that Foo judged was appropriate to request space for in a single timeout iteration) before simply returning the amount of space required by the area via the GtkCellAreaContext. Requesting the height for width (or width for height) of an area is a similar task except in this case the GtkCellAreaContext does not store the data (actually, it does not know how much space the layouting widget plans to allocate it for every row. It’s up to the layouting widget to render each row of data with the appropriate height and width which was requested by the GtkCellArea). In order to request the height for width of all the rows at the root level of a GtkTreeModel one would do the following: Note that in the above example we would need to cache the heights returned for each row so that we would know what sizes to render the areas for each row. However we would only want to really cache the heights if the request is intended for the layouting widgets real allocation. In some cases the layouting widget is requested the height for an arbitrary for_width, this is a special case for layouting widgets who need to request size for tens of thousands of rows. For this case it’s only important that the layouting widget calculate one reasonably sized chunk of rows and return that height synchronously. The reasoning here is that any layouting widget is at least capable of synchronously calculating enough height to fill the screen height (or scrolled window height) in response to a single call to GtkWidgetClass.get_preferred_height_for_width(). Returning a perfect height for width that is larger than the screen area is inconsequential since after the layouting receives an allocation from a scrolled window it simply continues to drive the scrollbar values while more and more height is required for the row heights that are calculated in the background. Rendering AreasOnce area sizes have been aquired at least for the rows in the visible area of the layouting widget they can be rendered at GtkWidgetClass.draw() time. A crude example of how to render all the rows at the root level runs as follows: Note that the cached height in this example really depends on how the layouting widget works. The layouting widget might decide to give every row its minimum or natural height or, if the model content is expected to fit inside the layouting widget without scrolling, it would make sense to calculate the allocation for each row at the time the widget is allocated using gtk_distribute_natural_allocation(). Handling Events and Driving Keyboard FocusPassing events to the area is as simple as handling events on any normal widget and then passing them to the gtk_cell_area_event() API as they come in. Usually GtkCellArea is only interested in button events, however some customized derived areas can be implemented who are interested in handling other events. Handling an event can trigger the “focus-changed” signal to fire; as well as “add-editable” in the case that an editable cell was clicked and needs to start editing. You can call gtk_cell_area_stop_editing() at any time to cancel any cell editing that is currently in progress. The GtkCellArea drives keyboard focus from cell to cell in a way similar to GtkWidget. For layouting widgets that support giving focus to cells it’s important to remember to pass GTK_CELL_RENDERER_FOCUSED to the area functions for the row that has focus and to tell the area to paint the focus at render time. Layouting widgets that accept focus on cells should implement the GtkWidgetClass.focus() virtual method. The layouting widget is always responsible for knowing where GtkTreeModel rows are rendered inside the widget, so at GtkWidgetClass.focus() time the layouting widget should use the GtkCellArea methods to navigate focus inside the area and then observe the GtkDirectionType to pass the focus to adjacent rows and areas. A basic example of how the GtkWidgetClass.focus() virtual method should be implemented: priv; int focus_row; gboolean have_focus = FALSE; focus_row = priv->focus_row; if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row); while (valid) { gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); if (gtk_cell_area_focus (priv->area, direction)) { priv->focus_row = focus_row; have_focus = TRUE; break; } else { if (direction == GTK_DIR_RIGHT || direction == GTK_DIR_LEFT) break; else if (direction == GTK_DIR_UP || direction == GTK_DIR_TAB_BACKWARD) { if (focus_row == 0) break; else { focus_row--; valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); } } else { if (focus_row == last_row) break; else { focus_row++; valid = gtk_tree_model_iter_next (priv->model, &iter); } } } } return have_focus; } ]]> Note that the layouting widget is responsible for matching the GtkDirectionType values to the way it lays out its cells. Cell PropertiesThe GtkCellArea introduces cell properties for GtkCellRenderers in very much the same way that GtkContainer introduces child properties for GtkWidgets. This provides some general interfaces for defining the relationship cell areas have with their cells. For instance in a GtkCellAreaBox a cell might “expand” and receive extra space when the area is allocated more than its full natural request, or a cell might be configured to “align” with adjacent rows which were requested and rendered with the same GtkCellAreaContext. Use gtk_cell_area_class_install_cell_property() to install cell properties for a cell area class and gtk_cell_area_class_find_cell_property() or gtk_cell_area_class_list_cell_properties() to get information about existing cell properties. To set the value of a cell property, use gtk_cell_area_cell_set_property(), gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). To obtain the value of a cell property, use gtk_cell_area_cell_get_property(), gtk_cell_area_cell_get() or gtk_cell_area_cell_get_valist(). Functions GtkCellCallback () GtkCellCallback gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, gpointer data); The type of the callback functions used for iterating over the cell renderers of a GtkCellArea, see gtk_cell_area_foreach(). Parameters renderer the cell renderer to operate on data user-supplied data. [closure] Returns TRUE to stop iterating over cells. GtkCellAllocCallback () GtkCellAllocCallback gboolean (*GtkCellAllocCallback) (GtkCellRenderer *renderer, const GdkRectangle *cell_area, const GdkRectangle *cell_background, gpointer data); The type of the callback functions used for iterating over the cell renderers and their allocated areas inside a GtkCellArea, see gtk_cell_area_foreach_alloc(). Parameters renderer the cell renderer to operate on cell_area the area allocated to renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). cell_background the background area for renderer inside the background area provided to gtk_cell_area_foreach_alloc(). data user-supplied data. [closure] Returns TRUE to stop iterating over cells. GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID() GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID #define GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID(object, property_id, pspec) This macro should be used to emit a standard warning about unexpected properties in set_cell_property() and get_cell_property() implementations. Parameters object the GObject on which set_cell_property() or get_cell_property() was called property_id the numeric id of the property pspec the GParamSpec of the property gtk_cell_area_add () gtk_cell_area_add void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer); Adds renderer to area with the default child cell properties. Parameters area a GtkCellArea renderer the GtkCellRenderer to add to area gtk_cell_area_remove () gtk_cell_area_remove void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer); Removes renderer from area . Parameters area a GtkCellArea renderer the GtkCellRenderer to remove from area gtk_cell_area_has_renderer () gtk_cell_area_has_renderer gboolean gtk_cell_area_has_renderer (GtkCellArea *area, GtkCellRenderer *renderer); Checks if area contains renderer . Parameters area a GtkCellArea renderer the GtkCellRenderer to check Returns TRUE if renderer is in the area . gtk_cell_area_foreach () gtk_cell_area_foreach void gtk_cell_area_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); Calls callback for every GtkCellRenderer in area . Parameters area a GtkCellArea callback the GtkCellCallback to call. [scope call] callback_data user provided data pointer gtk_cell_area_foreach_alloc () gtk_cell_area_foreach_alloc void gtk_cell_area_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); Calls callback for every GtkCellRenderer in area with the allocated rectangle inside cell_area . Parameters area a GtkCellArea context the GtkCellAreaContext for this row of data. widget the GtkWidget that area is rendering to cell_area the widget relative coordinates and size for area background_area the widget relative coordinates of the background area callback the GtkCellAllocCallback to call. [scope call] callback_data user provided data pointer gtk_cell_area_event () gtk_cell_area_event int gtk_cell_area_event (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); Delegates event handling to a GtkCellArea. Parameters area a GtkCellArea context the GtkCellAreaContext for this row of data. widget the GtkWidget that area is rendering to event the GdkEvent to handle cell_area the widget relative coordinates for area flags the GtkCellRendererState for area in this row. Returns TRUE if the event was handled by area . gtk_cell_area_snapshot () gtk_cell_area_snapshot void gtk_cell_area_snapshot (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus); Snapshots area ’s cells according to area ’s layout onto at the given coordinates. Parameters area a GtkCellArea context the GtkCellAreaContext for this row of data. widget the GtkWidget that area is rendering to snapshot the GtkSnapshot to draw to background_area the widget relative coordinates for area ’s background cell_area the widget relative coordinates for area flags the GtkCellRendererState for area in this row. paint_focus whether area should paint focus on focused cells for focused rows or not. gtk_cell_area_get_cell_allocation () gtk_cell_area_get_cell_allocation void gtk_cell_area_get_cell_allocation (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation); Derives the allocation of renderer inside area if area were to be renderered in cell_area . Parameters area a GtkCellArea context the GtkCellAreaContext used to hold sizes for area . widget the GtkWidget that area is rendering on renderer the GtkCellRenderer to get the allocation for cell_area the whole allocated area for area in widget for this row allocation where to store the allocation for renderer . [out] gtk_cell_area_get_cell_at_position () gtk_cell_area_get_cell_at_position GtkCellRenderer * gtk_cell_area_get_cell_at_position (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, int x, int y, GdkRectangle *alloc_area); Gets the GtkCellRenderer at x and y coordinates inside area and optionally returns the full cell allocation for it inside cell_area . Parameters area a GtkCellArea context the GtkCellAreaContext used to hold sizes for area . widget the GtkWidget that area is rendering on cell_area the whole allocated area for area in widget for this row x the x position y the y position alloc_area where to store the inner allocated area of the returned cell renderer, or NULL. [out][allow-none] Returns the GtkCellRenderer at x and y . [transfer none] gtk_cell_area_create_context () gtk_cell_area_create_context GtkCellAreaContext * gtk_cell_area_create_context (GtkCellArea *area); Creates a GtkCellAreaContext to be used with area for all purposes. GtkCellAreaContext stores geometry information for rows for which it was operated on, it is important to use the same context for the same row of data at all times (i.e. one should render and handle events with the same GtkCellAreaContext which was used to request the size of those rows of data). Parameters area a GtkCellArea Returns a newly created GtkCellAreaContext which can be used with area . [transfer full] gtk_cell_area_copy_context () gtk_cell_area_copy_context GtkCellAreaContext * gtk_cell_area_copy_context (GtkCellArea *area, GtkCellAreaContext *context); This is sometimes needed for cases where rows need to share alignments in one orientation but may be separately grouped in the opposing orientation. For instance, GtkIconView creates all icons (rows) to have the same width and the cells theirin to have the same horizontal alignments. However each row of icons may have a separate collective height. GtkIconView uses this to request the heights of each row based on a context which was already used to request all the row widths that are to be displayed. Parameters area a GtkCellArea context the GtkCellAreaContext to copy Returns a newly created GtkCellAreaContext copy of context . [transfer full] gtk_cell_area_get_request_mode () gtk_cell_area_get_request_mode GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); Gets whether the area prefers a height-for-width layout or a width-for-height layout. Parameters area a GtkCellArea Returns The GtkSizeRequestMode preferred by area . gtk_cell_area_get_preferred_width () gtk_cell_area_get_preferred_width void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width); Retrieves a cell area’s initial minimum and natural width. area will store some geometrical information in context along the way; when requesting sizes over an arbitrary number of rows, it’s not important to check the minimum_width and natural_width of this call but rather to consult gtk_cell_area_context_get_preferred_width() after a series of requests. Parameters area a GtkCellArea context the GtkCellAreaContext to perform this request with widget the GtkWidget where area will be rendering minimum_width location to store the minimum width, or NULL. [out][allow-none] natural_width location to store the natural width, or NULL. [out][allow-none] gtk_cell_area_get_preferred_height_for_width () gtk_cell_area_get_preferred_height_for_width void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height); Retrieves a cell area’s minimum and natural height if it would be given the specified width . area stores some geometrical information in context along the way while calling gtk_cell_area_get_preferred_width(). It’s important to perform a series of gtk_cell_area_get_preferred_width() requests with context first and then call gtk_cell_area_get_preferred_height_for_width() on each cell area individually to get the height for width of each fully requested row. If at some point, the width of a single row changes, it should be requested with gtk_cell_area_get_preferred_width() again and then the full width of the requested rows checked again with gtk_cell_area_context_get_preferred_width(). Parameters area a GtkCellArea context the GtkCellAreaContext which has already been requested for widths. widget the GtkWidget where area will be rendering width the width for which to check the height of this area minimum_height location to store the minimum height, or NULL. [out][allow-none] natural_height location to store the natural height, or NULL. [out][allow-none] gtk_cell_area_get_preferred_height () gtk_cell_area_get_preferred_height void gtk_cell_area_get_preferred_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height); Retrieves a cell area’s initial minimum and natural height. area will store some geometrical information in context along the way; when requesting sizes over an arbitrary number of rows, it’s not important to check the minimum_height and natural_height of this call but rather to consult gtk_cell_area_context_get_preferred_height() after a series of requests. Parameters area a GtkCellArea context the GtkCellAreaContext to perform this request with widget the GtkWidget where area will be rendering minimum_height location to store the minimum height, or NULL. [out][allow-none] natural_height location to store the natural height, or NULL. [out][allow-none] gtk_cell_area_get_preferred_width_for_height () gtk_cell_area_get_preferred_width_for_height void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width); Retrieves a cell area’s minimum and natural width if it would be given the specified height . area stores some geometrical information in context along the way while calling gtk_cell_area_get_preferred_height(). It’s important to perform a series of gtk_cell_area_get_preferred_height() requests with context first and then call gtk_cell_area_get_preferred_width_for_height() on each cell area individually to get the height for width of each fully requested row. If at some point, the height of a single row changes, it should be requested with gtk_cell_area_get_preferred_height() again and then the full height of the requested rows checked again with gtk_cell_area_context_get_preferred_height(). Parameters area a GtkCellArea context the GtkCellAreaContext which has already been requested for widths. widget the GtkWidget where area will be rendering height the height for which to check the width of this area minimum_width location to store the minimum width, or NULL. [out][allow-none] natural_width location to store the natural width, or NULL. [out][allow-none] gtk_cell_area_get_current_path_string () gtk_cell_area_get_current_path_string const char * gtk_cell_area_get_current_path_string (GtkCellArea *area); Gets the current GtkTreePath string for the currently applied GtkTreeIter, this is implicitly updated when gtk_cell_area_apply_attributes() is called and can be used to interact with renderers from GtkCellArea subclasses. Parameters area a GtkCellArea Returns The current GtkTreePath string for the current attributes applied to area . This string belongs to the area and should not be freed. gtk_cell_area_apply_attributes () gtk_cell_area_apply_attributes void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded); Applies any connected attributes to the renderers in area by pulling the values from tree_model . Parameters area a GtkCellArea tree_model the GtkTreeModel to pull values from iter the GtkTreeIter in tree_model to apply values for is_expander whether iter has children is_expanded whether iter is expanded in the view and children are visible gtk_cell_area_attribute_connect () gtk_cell_area_attribute_connect void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute, int column); Connects an attribute to apply values from column for the GtkTreeModel in use. Parameters area a GtkCellArea renderer the GtkCellRenderer to connect an attribute for attribute the attribute name column the GtkTreeModel column to fetch attribute values from gtk_cell_area_attribute_disconnect () gtk_cell_area_attribute_disconnect void gtk_cell_area_attribute_disconnect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute); Disconnects attribute for the renderer in area so that attribute will no longer be updated with values from the model. Parameters area a GtkCellArea renderer the GtkCellRenderer to disconnect an attribute for attribute the attribute name gtk_cell_area_attribute_get_column () gtk_cell_area_attribute_get_column int gtk_cell_area_attribute_get_column (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute); Returns the model column that an attribute has been mapped to, or -1 if the attribute is not mapped. Parameters area a GtkCellArea renderer a GtkCellRenderer attribute an attribute on the renderer Returns the model column, or -1 gtk_cell_area_class_install_cell_property () gtk_cell_area_class_install_cell_property void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, guint property_id, GParamSpec *pspec); Installs a cell property on a cell area class. Parameters aclass a GtkCellAreaClass property_id the id for the property pspec the GParamSpec for the property gtk_cell_area_class_find_cell_property () gtk_cell_area_class_find_cell_property GParamSpec * gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, const char *property_name); Finds a cell property of a cell area class by name. Parameters aclass a GtkCellAreaClass property_name the name of the child property to find Returns the GParamSpec of the child property or NULL if aclass has no child property with that name. [transfer none] gtk_cell_area_class_list_cell_properties () gtk_cell_area_class_list_cell_properties GParamSpec ** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, guint *n_properties); Returns all cell properties of a cell area class. Parameters aclass a GtkCellAreaClass n_properties location to return the number of cell properties found. [out] Returns a newly allocated NULL-terminated array of GParamSpec*. The array must be freed with g_free(). [array length=n_properties][transfer container] gtk_cell_area_add_with_properties () gtk_cell_area_add_with_properties void gtk_cell_area_add_with_properties (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ...); Adds renderer to area , setting cell properties at the same time. See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details. Parameters area a GtkCellArea renderer a GtkCellRenderer to be placed inside area first_prop_name the name of the first cell property to set ... a NULL-terminated list of property names and values, starting with first_prop_name gtk_cell_area_cell_set () gtk_cell_area_cell_set void gtk_cell_area_cell_set (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ...); Sets one or more cell properties for cell in area . Parameters area a GtkCellArea renderer a GtkCellRenderer which is a cell inside area first_prop_name the name of the first cell property to set ... a NULL-terminated list of property names and values, starting with first_prop_name gtk_cell_area_cell_get () gtk_cell_area_cell_get void gtk_cell_area_cell_get (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_prop_name, ...); Gets the values of one or more cell properties for renderer in area . Parameters area a GtkCellArea renderer a GtkCellRenderer which is inside area first_prop_name the name of the first cell property to get ... return location for the first cell property, followed optionally by more name/return location pairs, followed by NULL gtk_cell_area_cell_set_valist () gtk_cell_area_cell_set_valist void gtk_cell_area_cell_set_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args); Sets one or more cell properties for renderer in area . Parameters area a GtkCellArea renderer a GtkCellRenderer which inside area first_property_name the name of the first cell property to set var_args a NULL-terminated list of property names and values, starting with first_prop_name gtk_cell_area_cell_get_valist () gtk_cell_area_cell_get_valist void gtk_cell_area_cell_get_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args); Gets the values of one or more cell properties for renderer in area . Parameters area a GtkCellArea renderer a GtkCellRenderer inside area first_property_name the name of the first property to get var_args return location for the first property, followed optionally by more name/return location pairs, followed by NULL gtk_cell_area_cell_set_property () gtk_cell_area_cell_set_property void gtk_cell_area_cell_set_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, const GValue *value); Sets a cell property for renderer in area . Parameters area a GtkCellArea renderer a GtkCellRenderer inside area property_name the name of the cell property to set value the value to set the cell property to gtk_cell_area_cell_get_property () gtk_cell_area_cell_get_property void gtk_cell_area_cell_get_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, GValue *value); Gets the value of a cell property for renderer in area . Parameters area a GtkCellArea renderer a GtkCellRenderer inside area property_name the name of the property to get value a location to return the value gtk_cell_area_is_activatable () gtk_cell_area_is_activatable gboolean gtk_cell_area_is_activatable (GtkCellArea *area); Returns whether the area can do anything when activated, after applying new attributes to area . Parameters area a GtkCellArea Returns whether area can do anything when activated. gtk_cell_area_activate () gtk_cell_area_activate gboolean gtk_cell_area_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only); Activates area , usually by activating the currently focused cell, however some subclasses which embed widgets in the area can also activate a widget if it currently has the focus. Parameters area a GtkCellArea context the GtkCellAreaContext in context with the current row data widget the GtkWidget that area is rendering on cell_area the size and location of area relative to widget ’s allocation flags the GtkCellRendererState flags for area for this row of data. edit_only if TRUE then only cell renderers that are GTK_CELL_RENDERER_MODE_EDITABLE will be activated. Returns Whether area was successfully activated. gtk_cell_area_focus () gtk_cell_area_focus gboolean gtk_cell_area_focus (GtkCellArea *area, GtkDirectionType direction); This should be called by the area ’s owning layout widget when focus is to be passed to area , or moved within area for a given direction and row data. Implementing GtkCellArea classes should implement this method to receive and navigate focus in its own way particular to how it lays out cells. Parameters area a GtkCellArea direction the GtkDirectionType Returns TRUE if focus remains inside area as a result of this call. gtk_cell_area_set_focus_cell () gtk_cell_area_set_focus_cell void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer); Explicitly sets the currently focused cell to renderer . This is generally called by implementations of GtkCellAreaClass.focus() or GtkCellAreaClass.event(), however it can also be used to implement functions such as gtk_tree_view_set_cursor_on_cell(). Parameters area a GtkCellArea renderer the GtkCellRenderer to give focus to gtk_cell_area_get_focus_cell () gtk_cell_area_get_focus_cell GtkCellRenderer * gtk_cell_area_get_focus_cell (GtkCellArea *area); Retrieves the currently focused cell for area Parameters area a GtkCellArea Returns the currently focused cell in area . [transfer none] gtk_cell_area_add_focus_sibling () gtk_cell_area_add_focus_sibling void gtk_cell_area_add_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling); Adds sibling to renderer ’s focusable area, focus will be drawn around renderer and all of its siblings if renderer can focus for a given row. Events handled by focus siblings can also activate the given focusable renderer . Parameters area a GtkCellArea renderer the GtkCellRenderer expected to have focus sibling the GtkCellRenderer to add to renderer ’s focus area gtk_cell_area_remove_focus_sibling () gtk_cell_area_remove_focus_sibling void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling); Removes sibling from renderer ’s focus sibling list (see gtk_cell_area_add_focus_sibling()). Parameters area a GtkCellArea renderer the GtkCellRenderer expected to have focus sibling the GtkCellRenderer to remove from renderer ’s focus area gtk_cell_area_is_focus_sibling () gtk_cell_area_is_focus_sibling gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling); Returns whether sibling is one of renderer ’s focus siblings (see gtk_cell_area_add_focus_sibling()). Parameters area a GtkCellArea renderer the GtkCellRenderer expected to have focus sibling the GtkCellRenderer to check against renderer ’s sibling list Returns TRUE if sibling is a focus sibling of renderer gtk_cell_area_get_focus_siblings () gtk_cell_area_get_focus_siblings const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, GtkCellRenderer *renderer); Gets the focus sibling cell renderers for renderer . Parameters area a GtkCellArea renderer the GtkCellRenderer expected to have focus Returns A GList of GtkCellRenderers. The returned list is internal and should not be freed. [element-type GtkCellRenderer][transfer none] gtk_cell_area_get_focus_from_sibling () gtk_cell_area_get_focus_from_sibling GtkCellRenderer * gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, GtkCellRenderer *renderer); Gets the GtkCellRenderer which is expected to be focusable for which renderer is, or may be a sibling. This is handy for GtkCellArea subclasses when handling events, after determining the renderer at the event location it can then chose to activate the focus cell for which the event cell may have been a sibling. Parameters area a GtkCellArea renderer the GtkCellRenderer Returns the GtkCellRenderer for which renderer is a sibling, or NULL. [nullable][transfer none] gtk_cell_area_get_edited_cell () gtk_cell_area_get_edited_cell GtkCellRenderer * gtk_cell_area_get_edited_cell (GtkCellArea *area); Gets the GtkCellRenderer in area that is currently being edited. Parameters area a GtkCellArea Returns The currently edited GtkCellRenderer. [transfer none] gtk_cell_area_get_edit_widget () gtk_cell_area_get_edit_widget GtkCellEditable * gtk_cell_area_get_edit_widget (GtkCellArea *area); Gets the GtkCellEditable widget currently used to edit the currently edited cell. Parameters area a GtkCellArea Returns The currently active GtkCellEditable widget. [transfer none] gtk_cell_area_activate_cell () gtk_cell_area_activate_cell gboolean gtk_cell_area_activate_cell (GtkCellArea *area, GtkWidget *widget, GtkCellRenderer *renderer, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); This is used by GtkCellArea subclasses when handling events to activate cells, the base GtkCellArea class activates cells for keyboard events for free in its own GtkCellArea->activate() implementation. Parameters area a GtkCellArea widget the GtkWidget that area is rendering onto renderer the GtkCellRenderer in area to activate event the GdkEvent for which cell activation should occur cell_area the GdkRectangle in widget relative coordinates of renderer for the current row. flags the GtkCellRendererState for renderer Returns whether cell activation was successful gtk_cell_area_stop_editing () gtk_cell_area_stop_editing void gtk_cell_area_stop_editing (GtkCellArea *area, gboolean canceled); Explicitly stops the editing of the currently edited cell. If canceled is TRUE, the currently edited cell renderer will emit the ::editing-canceled signal, otherwise the the ::editing-done signal will be emitted on the current edit widget. See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget(). Parameters area a GtkCellArea canceled whether editing was canceled. gtk_cell_area_inner_cell_area () gtk_cell_area_inner_cell_area void gtk_cell_area_inner_cell_area (GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area); This is a convenience function for GtkCellArea implementations to get the inner area where a given GtkCellRenderer will be rendered. It removes any padding previously added by gtk_cell_area_request_renderer(). Parameters area a GtkCellArea widget the GtkWidget that area is rendering onto cell_area the widget relative coordinates where one of area ’s cells is to be placed inner_area the return location for the inner cell area. [out] gtk_cell_area_request_renderer () gtk_cell_area_request_renderer void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, GtkOrientation orientation, GtkWidget *widget, int for_size, int *minimum_size, int *natural_size); This is a convenience function for GtkCellArea implementations to request size for cell renderers. It’s important to use this function to request size and then use gtk_cell_area_inner_cell_area() at render and event time since this function will add padding around the cell for focus painting. Parameters area a GtkCellArea renderer the GtkCellRenderer to request size for orientation the GtkOrientation in which to request size widget the GtkWidget that area is rendering onto for_size the allocation contextual size to request for, or -1 if the base request for the orientation is to be returned. minimum_size location to store the minimum size, or NULL. [out][allow-none] natural_size location to store the natural size, or NULL. [out][allow-none] Types and Values struct GtkCellArea GtkCellArea struct GtkCellArea; struct GtkCellAreaClass GtkCellAreaClass struct GtkCellAreaClass { /* Basic methods */ void (* add) (GtkCellArea *area, GtkCellRenderer *renderer); void (* remove) (GtkCellArea *area, GtkCellRenderer *renderer); void (* foreach) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); void (* foreach_alloc) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); int (* event) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); void (* snapshot) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus); void (* apply_attributes) (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded); /* Geometry */ GtkCellAreaContext *(* create_context) (GtkCellArea *area); GtkCellAreaContext *(* copy_context) (GtkCellArea *area, GtkCellAreaContext *context); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width); void (* get_preferred_height_for_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height); void (* get_preferred_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height); void (* get_preferred_width_for_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width); /* Cell Properties */ void (* set_cell_property) (GtkCellArea *area, GtkCellRenderer *renderer, guint property_id, const GValue *value, GParamSpec *pspec); void (* get_cell_property) (GtkCellArea *area, GtkCellRenderer *renderer, guint property_id, GValue *value, GParamSpec *pspec); /* Focus */ gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); gboolean (* is_activatable) (GtkCellArea *area); gboolean (* activate) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only); }; Members add () adds a GtkCellRenderer to the area. remove () removes a GtkCellRenderer from the area. foreach () calls the GtkCellCallback function on every GtkCellRenderer in the area with the provided user data until the callback returns TRUE. foreach_alloc () Calls the GtkCellAllocCallback function on every GtkCellRenderer in the area with the allocated area for the cell and the provided user data until the callback returns TRUE. event () Handle an event in the area, this is generally used to activate a cell at the event location for button events but can also be used to generically pass events to GtkWidgets drawn onto the area. snapshot () Actually snapshot the area’s cells to the specified rectangle, background_area should be correctly distributed to the cells corresponding background areas. apply_attributes () Apply the cell attributes to the cells. This is implemented as a signal and generally GtkCellArea subclasses don't need to implement it since it is handled by the base class. create_context () Creates and returns a class specific GtkCellAreaContext to store cell alignment and allocation details for a said GtkCellArea class. copy_context () Creates a new GtkCellAreaContext in the same state as the passed context with any cell alignment data and allocations intact. get_request_mode () This allows an area to tell its layouting widget whether it prefers to be allocated in GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. get_preferred_width () Calculates the minimum and natural width of the areas cells with the current attributes applied while considering the particular layouting details of the said GtkCellArea. While requests are performed over a series of rows, alignments and overall minimum and natural sizes should be stored in the corresponding GtkCellAreaContext. get_preferred_height_for_width () Calculates the minimum and natural height for the area if the passed context would be allocated the given width. When implementing this virtual method it is safe to assume that context has already stored the aligned cell widths for every GtkTreeModel row that context will be allocated for since this information was stored at GtkCellAreaClass.get_preferred_width() time. This virtual method should also store any necessary alignments of cell heights for the case that the context is allocated a height. get_preferred_height () Calculates the minimum and natural height of the areas cells with the current attributes applied. Essentially this is the same as GtkCellAreaClass.get_preferred_width() only for areas that are being requested as GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. get_preferred_width_for_height () Calculates the minimum and natural width for the area if the passed context would be allocated the given height. The same as GtkCellAreaClass.get_preferred_height_for_width() only for handling requests in the GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. set_cell_property () This should be implemented to handle changes in child cell properties for a given GtkCellRenderer that were previously installed on the GtkCellAreaClass with gtk_cell_area_class_install_cell_property(). get_cell_property () This should be implemented to report the values of child cell properties for a given child GtkCellRenderer. focus () This virtual method should be implemented to navigate focus from cell to cell inside the GtkCellArea. The GtkCellArea should move focus from cell to cell inside the area and return FALSE if focus logically leaves the area with the following exceptions: When the area contains no activatable cells, the entire area receives focus. Focus should not be given to cells that are actually “focus siblings” of other sibling cells (see gtk_cell_area_get_focus_from_sibling()). Focus is set by calling gtk_cell_area_set_focus_cell(). is_activatable () Returns whether the GtkCellArea can respond to GtkCellAreaClass.activate(), usually this does not need to be implemented since the base class takes care of this however it can be enhanced if the GtkCellArea subclass can handle activation in other ways than activating its GtkCellRenderers. activate () This is called when the layouting widget rendering the GtkCellArea activates the focus cell (see gtk_cell_area_get_focus_cell()). Property Details The <literal>“edit-widget”</literal> property GtkCellArea:edit-widget “edit-widget” GtkCellEditable * The widget currently editing the edited cell This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell(). Owner: GtkCellArea Flags: Read The <literal>“edited-cell”</literal> property GtkCellArea:edited-cell “edited-cell” GtkCellRenderer * The cell in the area that is currently edited This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell(). Owner: GtkCellArea Flags: Read The <literal>“focus-cell”</literal> property GtkCellArea:focus-cell “focus-cell” GtkCellRenderer * The cell in the area that currently has focus Owner: GtkCellArea Flags: Read / Write Signal Details The <literal>“add-editable”</literal> signal GtkCellArea::add-editable void user_function (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable, GdkRectangle *cell_area, gchar *path, gpointer user_data) Indicates that editing has started on renderer and that editable should be added to the owning cell-layouting widget at cell_area . Parameters area the GtkCellArea where editing started renderer the GtkCellRenderer that started the edited editable the GtkCellEditable widget to add cell_area the GtkWidget relative GdkRectangle coordinates where editable should be added path the GtkTreePath string this edit was initiated for user_data user data set when the signal handler was connected. Flags: Run First The <literal>“apply-attributes”</literal> signal GtkCellArea::apply-attributes void user_function (GtkCellArea *area, GtkTreeModel *model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded, gpointer user_data) This signal is emitted whenever applying attributes to area from model Parameters area the GtkCellArea to apply the attributes to model the GtkTreeModel to apply the attributes from iter the GtkTreeIter indicating which row to apply the attributes of is_expander whether the view shows children for this row is_expanded whether the view is currently showing the children of this row user_data user data set when the signal handler was connected. Flags: Run First The <literal>“focus-changed”</literal> signal GtkCellArea::focus-changed void user_function (GtkCellArea *area, GtkCellRenderer *renderer, gchar *path, gpointer user_data) Indicates that focus changed on this area . This signal is emitted either as a result of focus handling or event handling. It's possible that the signal is emitted even if the currently focused renderer did not change, this is because focus may change to the same renderer in the same cell area for a different row of data. Parameters area the GtkCellArea where focus changed renderer the GtkCellRenderer that has focus path the current GtkTreePath string set for area user_data user data set when the signal handler was connected. Flags: Run First The <literal>“remove-editable”</literal> signal GtkCellArea::remove-editable void user_function (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable, gpointer user_data) Indicates that editing finished on renderer and that editable should be removed from the owning cell-layouting widget. Parameters area the GtkCellArea where editing finished renderer the GtkCellRenderer that finished editeding editable the GtkCellEditable widget to remove user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtkcellareacontext.xml0000664000175000017500000012137613710700313021573 0ustar mclasenmclasen ]> GtkCellAreaContext 3 GTK4 Library GtkCellAreaContext Stores geometrical information for a series of rows in a GtkCellArea Functions GtkCellArea * gtk_cell_area_context_get_area () void gtk_cell_area_context_allocate () void gtk_cell_area_context_reset () void gtk_cell_area_context_get_preferred_width () void gtk_cell_area_context_get_preferred_height () void gtk_cell_area_context_get_preferred_height_for_width () void gtk_cell_area_context_get_preferred_width_for_height () void gtk_cell_area_context_get_allocation () void gtk_cell_area_context_push_preferred_width () void gtk_cell_area_context_push_preferred_height () Properties GtkCellArea *areaRead / Write / Construct Only gintminimum-heightRead gintminimum-widthRead gintnatural-heightRead gintnatural-widthRead Types and Values structGtkCellAreaContextClass GtkCellAreaContext Object Hierarchy GObject ╰── GtkCellAreaContext Includes#include <gtk/gtk.h> Description The GtkCellAreaContext object is created by a given GtkCellArea implementation via its GtkCellAreaClass.create_context() virtual method and is used to store cell sizes and alignments for a series of GtkTreeModel rows that are requested and rendered in the same context. GtkCellLayout widgets can create any number of contexts in which to request and render groups of data rows. However, it’s important that the same context which was used to request sizes for a given GtkTreeModel row also be used for the same row when calling other GtkCellArea APIs such as gtk_cell_area_render() and gtk_cell_area_event(). Functions gtk_cell_area_context_get_area () gtk_cell_area_context_get_area GtkCellArea * gtk_cell_area_context_get_area (GtkCellAreaContext *context); Fetches the GtkCellArea this context was created by. This is generally unneeded by layouting widgets; however, it is important for the context implementation itself to fetch information about the area it is being used for. For instance at GtkCellAreaContextClass.allocate() time it’s important to know details about any cell spacing that the GtkCellArea is configured with in order to compute a proper allocation. Parameters context a GtkCellAreaContext Returns the GtkCellArea this context was created by. [transfer none] gtk_cell_area_context_allocate () gtk_cell_area_context_allocate void gtk_cell_area_context_allocate (GtkCellAreaContext *context, int width, int height); Allocates a width and/or a height for all rows which are to be rendered with context . Usually allocation is performed only horizontally or sometimes vertically since a group of rows are usually rendered side by side vertically or horizontally and share either the same width or the same height. Sometimes they are allocated in both horizontal and vertical orientations producing a homogeneous effect of the rows. This is generally the case for GtkTreeView when “fixed-height-mode” is enabled. Parameters context a GtkCellAreaContext width the allocated width for all GtkTreeModel rows rendered with context , or -1. height the allocated height for all GtkTreeModel rows rendered with context , or -1. gtk_cell_area_context_reset () gtk_cell_area_context_reset void gtk_cell_area_context_reset (GtkCellAreaContext *context); Resets any previously cached request and allocation data. When underlying GtkTreeModel data changes its important to reset the context if the content size is allowed to shrink. If the content size is only allowed to grow (this is usually an option for views rendering large data stores as a measure of optimization), then only the row that changed or was inserted needs to be (re)requested with gtk_cell_area_get_preferred_width(). When the new overall size of the context requires that the allocated size changes (or whenever this allocation changes at all), the variable row sizes need to be re-requested for every row. For instance, if the rows are displayed all with the same width from top to bottom then a change in the allocated width necessitates a recalculation of all the displayed row heights using gtk_cell_area_get_preferred_height_for_width(). Parameters context a GtkCellAreaContext gtk_cell_area_context_get_preferred_width () gtk_cell_area_context_get_preferred_width void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, int *minimum_width, int *natural_width); Gets the accumulative preferred width for all rows which have been requested with this context. After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are 0. Parameters context a GtkCellAreaContext minimum_width location to store the minimum width, or NULL. [out][allow-none] natural_width location to store the natural width, or NULL. [out][allow-none] gtk_cell_area_context_get_preferred_height () gtk_cell_area_context_get_preferred_height void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, int *minimum_height, int *natural_height); Gets the accumulative preferred height for all rows which have been requested with this context. After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are 0. Parameters context a GtkCellAreaContext minimum_height location to store the minimum height, or NULL. [out][allow-none] natural_height location to store the natural height, or NULL. [out][allow-none] gtk_cell_area_context_get_preferred_height_for_width () gtk_cell_area_context_get_preferred_height_for_width void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height); Gets the accumulative preferred height for width for all rows which have been requested for the same said width with this context. After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are -1. Parameters context a GtkCellAreaContext width a proposed width for allocation minimum_height location to store the minimum height, or NULL. [out][allow-none] natural_height location to store the natural height, or NULL. [out][allow-none] gtk_cell_area_context_get_preferred_width_for_height () gtk_cell_area_context_get_preferred_width_for_height void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width); Gets the accumulative preferred width for height for all rows which have been requested for the same said height with this context. After gtk_cell_area_context_reset() is called and/or before ever requesting the size of a GtkCellArea, the returned values are -1. Parameters context a GtkCellAreaContext height a proposed height for allocation minimum_width location to store the minimum width, or NULL. [out][allow-none] natural_width location to store the natural width, or NULL. [out][allow-none] gtk_cell_area_context_get_allocation () gtk_cell_area_context_get_allocation void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, int *width, int *height); Fetches the current allocation size for context . If the context was not allocated in width or height, or if the context was recently reset with gtk_cell_area_context_reset(), the returned value will be -1. Parameters context a GtkCellAreaContext width location to store the allocated width, or NULL. [out][allow-none] height location to store the allocated height, or NULL. [out][allow-none] gtk_cell_area_context_push_preferred_width () gtk_cell_area_context_push_preferred_width void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, int minimum_width, int natural_width); Causes the minimum and/or natural width to grow if the new proposed sizes exceed the current minimum and natural width. This is used by GtkCellAreaContext implementations during the request process over a series of GtkTreeModel rows to progressively push the requested width over a series of gtk_cell_area_get_preferred_width() requests. Parameters context a GtkCellAreaContext minimum_width the proposed new minimum width for context natural_width the proposed new natural width for context gtk_cell_area_context_push_preferred_height () gtk_cell_area_context_push_preferred_height void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, int minimum_height, int natural_height); Causes the minimum and/or natural height to grow if the new proposed sizes exceed the current minimum and natural height. This is used by GtkCellAreaContext implementations during the request process over a series of GtkTreeModel rows to progressively push the requested height over a series of gtk_cell_area_get_preferred_height() requests. Parameters context a GtkCellAreaContext minimum_height the proposed new minimum height for context natural_height the proposed new natural height for context Types and Values struct GtkCellAreaContextClass GtkCellAreaContextClass struct GtkCellAreaContextClass { void (* allocate) (GtkCellAreaContext *context, int width, int height); void (* reset) (GtkCellAreaContext *context); void (* get_preferred_height_for_width) (GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height); void (* get_preferred_width_for_height) (GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width); }; Members allocate () This tells the context that an allocation width or height (or both) have been decided for a group of rows. The context should store any allocations for internally aligned cells at this point so that they dont need to be recalculated at gtk_cell_area_render() time. reset () Clear any previously stored information about requested and allocated sizes for the context. get_preferred_height_for_width () Returns the aligned height for the given width that context must store while collecting sizes for it’s rows. get_preferred_width_for_height () Returns the aligned width for the given height that context must store while collecting sizes for it’s rows. GtkCellAreaContext GtkCellAreaContext typedef struct _GtkCellAreaContext GtkCellAreaContext; Property Details The <literal>“area”</literal> property GtkCellAreaContext:area “area” GtkCellArea * The GtkCellArea this context was created by Owner: GtkCellAreaContext Flags: Read / Write / Construct Only The <literal>“minimum-height”</literal> property GtkCellAreaContext:minimum-height “minimum-height” gint The minimum height for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_height(). Owner: GtkCellAreaContext Flags: Read Allowed values: >= -1 Default value: -1 The <literal>“minimum-width”</literal> property GtkCellAreaContext:minimum-width “minimum-width” gint The minimum width for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_width(). Owner: GtkCellAreaContext Flags: Read Allowed values: >= -1 Default value: -1 The <literal>“natural-height”</literal> property GtkCellAreaContext:natural-height “natural-height” gint The natural height for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_height(). Owner: GtkCellAreaContext Flags: Read Allowed values: >= -1 Default value: -1 The <literal>“natural-width”</literal> property GtkCellAreaContext:natural-width “natural-width” gint The natural width for the GtkCellArea in this context for all GtkTreeModel rows that this context was requested for using gtk_cell_area_get_preferred_width(). Owner: GtkCellAreaContext Flags: Read Allowed values: >= -1 Default value: -1 docs/reference/gtk/xml/gtkcellareabox.xml0000664000175000017500000005035713710700313020677 0ustar mclasenmclasen ]> GtkCellAreaBox 3 GTK4 Library GtkCellAreaBox A cell area that renders GtkCellRenderers into a row or a column Functions GtkCellArea * gtk_cell_area_box_new () void gtk_cell_area_box_pack_start () void gtk_cell_area_box_pack_end () int gtk_cell_area_box_get_spacing () void gtk_cell_area_box_set_spacing () Properties gintspacingRead / Write Child Properties gbooleanalignRead / Write gbooleanexpandRead / Write gbooleanfixed-sizeRead / Write GtkPackTypepack-typeRead / Write Types and Values GtkCellAreaBox Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellArea ╰── GtkCellAreaBox Implemented Interfaces GtkCellAreaBox implements GtkCellLayout, GtkBuildable and GtkOrientable. Includes#include <gtk/gtk.h> Description The GtkCellAreaBox renders cell renderers into a row or a column depending on its GtkOrientation. GtkCellAreaBox uses a notion of packing. Packing refers to adding cell renderers with reference to a particular position in a GtkCellAreaBox. There are two reference positions: the start and the end of the box. When the GtkCellAreaBox is oriented in the GTK_ORIENTATION_VERTICAL orientation, the start is defined as the top of the box and the end is defined as the bottom. In the GTK_ORIENTATION_HORIZONTAL orientation start is defined as the left side and the end is defined as the right side. Alignments of GtkCellRenderers rendered in adjacent rows can be configured by configuring the GtkCellAreaBox align child cell property with gtk_cell_area_cell_set_property() or by specifying the "align" argument to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end(). Functions gtk_cell_area_box_new () gtk_cell_area_box_new GtkCellArea * gtk_cell_area_box_new (void); Creates a new GtkCellAreaBox. Returns a newly created GtkCellAreaBox gtk_cell_area_box_pack_start () gtk_cell_area_box_pack_start void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed); Adds renderer to box , packed with reference to the start of box . The renderer is packed after any other GtkCellRenderer packed with reference to the start of box . Parameters box a GtkCellAreaBox renderer the GtkCellRenderer to add expand whether renderer should receive extra space when the area receives more than its natural size align whether renderer should be aligned in adjacent rows fixed whether renderer should have the same size in all rows gtk_cell_area_box_pack_end () gtk_cell_area_box_pack_end void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed); Adds renderer to box , packed with reference to the end of box . The renderer is packed after (away from end of) any other GtkCellRenderer packed with reference to the end of box . Parameters box a GtkCellAreaBox renderer the GtkCellRenderer to add expand whether renderer should receive extra space when the area receives more than its natural size align whether renderer should be aligned in adjacent rows fixed whether renderer should have the same size in all rows gtk_cell_area_box_get_spacing () gtk_cell_area_box_get_spacing int gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); Gets the spacing added between cell renderers. Parameters box a GtkCellAreaBox Returns the space added between cell renderers in box . gtk_cell_area_box_set_spacing () gtk_cell_area_box_set_spacing void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, int spacing); Sets the spacing to add between cell renderers in box . Parameters box a GtkCellAreaBox spacing the space to add between GtkCellRenderers Types and Values GtkCellAreaBox GtkCellAreaBox typedef struct _GtkCellAreaBox GtkCellAreaBox; Property Details The <literal>“spacing”</literal> property GtkCellAreaBox:spacing “spacing” gint The amount of space to reserve between cells. Owner: GtkCellAreaBox Flags: Read / Write Allowed values: >= 0 Default value: 0 Child Property Details The <literal>“align”</literal> child property GtkCellAreaBox:align “align” gboolean Whether the cell renderer should be aligned in adjacent rows. Owner: GtkCellAreaBox Flags: Read / Write Default value: FALSE The <literal>“expand”</literal> child property GtkCellAreaBox:expand “expand” gboolean Whether the cell renderer should receive extra space when the area receives more than its natural size. Owner: GtkCellAreaBox Flags: Read / Write Default value: FALSE The <literal>“fixed-size”</literal> child property GtkCellAreaBox:fixed-size “fixed-size” gboolean Whether the cell renderer should require the same size for all rows for which it was requested. Owner: GtkCellAreaBox Flags: Read / Write Default value: TRUE The <literal>“pack-type”</literal> child property GtkCellAreaBox:pack-type “pack-type” GtkPackType A GtkPackType indicating whether the cell renderer is packed with reference to the start or end of the area. Owner: GtkCellAreaBox Flags: Read / Write Default value: GTK_PACK_START docs/reference/gtk/xml/gtkcellrenderer.xml0000664000175000017500000030373213710700313021062 0ustar mclasenmclasen ]> GtkCellRenderer 3 GTK4 Library GtkCellRenderer An object for rendering a single cell Functions void gtk_cell_renderer_get_aligned_area () void gtk_cell_renderer_snapshot () gboolean gtk_cell_renderer_activate () GtkCellEditable * gtk_cell_renderer_start_editing () void gtk_cell_renderer_stop_editing () void gtk_cell_renderer_get_fixed_size () void gtk_cell_renderer_set_fixed_size () gboolean gtk_cell_renderer_get_visible () void gtk_cell_renderer_set_visible () gboolean gtk_cell_renderer_get_sensitive () void gtk_cell_renderer_set_sensitive () void gtk_cell_renderer_get_alignment () void gtk_cell_renderer_set_alignment () void gtk_cell_renderer_get_padding () void gtk_cell_renderer_set_padding () GtkStateFlags gtk_cell_renderer_get_state () gboolean gtk_cell_renderer_is_activatable () void gtk_cell_renderer_get_preferred_height () void gtk_cell_renderer_get_preferred_height_for_width () void gtk_cell_renderer_get_preferred_size () void gtk_cell_renderer_get_preferred_width () void gtk_cell_renderer_get_preferred_width_for_height () GtkSizeRequestMode gtk_cell_renderer_get_request_mode () Properties gchar *cell-backgroundWrite GdkRGBA *cell-background-rgbaRead / Write gbooleancell-background-setRead / Write gbooleaneditingRead gintheightRead / Write gbooleanis-expandedRead / Write gbooleanis-expanderRead / Write GtkCellRendererModemodeRead / Write gbooleansensitiveRead / Write gbooleanvisibleRead / Write gintwidthRead / Write gfloatxalignRead / Write guintxpadRead / Write gfloatyalignRead / Write guintypadRead / Write Signals voidediting-canceledRun First voidediting-startedRun First Types and Values enumGtkCellRendererState enumGtkCellRendererMode structGtkCellRenderer structGtkCellRendererClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ├── GtkCellRendererText ├── GtkCellRendererPixbuf ├── GtkCellRendererProgress ├── GtkCellRendererSpinner ╰── GtkCellRendererToggle Includes#include <gtk/gtk.h> Description The GtkCellRenderer is a base class of a set of objects used for rendering a cell to a cairo_t. These objects are used primarily by the GtkTreeView widget, though they aren’t tied to them in any specific way. It is worth noting that GtkCellRenderer is not a GtkWidget and cannot be treated as such. The primary use of a GtkCellRenderer is for drawing a certain graphical elements on a cairo_t. Typically, one cell renderer is used to draw many cells on the screen. To this extent, it isn’t expected that a CellRenderer keep any permanent state around. Instead, any state is set just prior to use using GObjects property system. Then, the cell is measured using gtk_cell_renderer_get_preferred_size(). Finally, the cell is rendered in the correct location using gtk_cell_renderer_snapshot(). There are a number of rules that must be followed when writing a new GtkCellRenderer. First and foremost, it’s important that a certain set of properties will always yield a cell renderer of the same size, barring a GtkStyle change. The GtkCellRenderer also has a number of generic properties that are expected to be honored by all children. Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be “activatable” like GtkCellRendererToggle, which toggles when it gets activated by a mouse click, or it can be “editable” like GtkCellRendererText, which allows the user to edit the text using a widget implementing the GtkCellEditable interface, e.g. GtkEntry. To make a cell renderer activatable or editable, you have to implement the GtkCellRendererClass.activate or GtkCellRendererClass.start_editing virtual functions, respectively. Many properties of GtkCellRenderer and its subclasses have a corresponding “set” property, e.g. “cell-background-set” corresponds to “cell-background”. These “set” properties reflect whether a property has been set or not. You should not set them independently. Functions gtk_cell_renderer_get_aligned_area () gtk_cell_renderer_get_aligned_area void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area); Gets the aligned area used by cell inside cell_area . Used for finding the appropriate edit and focus rectangle. Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to flags render flags cell_area cell area which would be passed to gtk_cell_renderer_render() aligned_area the return location for the space inside cell_area that would actually be used to render. [out] gtk_cell_renderer_snapshot () gtk_cell_renderer_snapshot void gtk_cell_renderer_snapshot (GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); Invokes the virtual render function of the GtkCellRenderer. The three passed-in rectangles are areas in cr . Most renderers will draw within cell_area ; the xalign, yalign, xpad, and ypad fields of the GtkCellRenderer should be honored with respect to cell_area . background_area includes the blank space around the cell, and also the area containing the tree expander; so the background_area rectangles for all cells tile to cover the entire window . Parameters cell a GtkCellRenderer snapshot a GtkSnapshot to draw to widget the widget owning window background_area entire cell area (including tree expanders and maybe padding on the sides) cell_area area normally rendered by a cell renderer flags flags that affect rendering gtk_cell_renderer_activate () gtk_cell_renderer_activate gboolean gtk_cell_renderer_activate (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, GtkCellRendererToggle toggles when it gets a mouse click. Parameters cell a GtkCellRenderer event a GdkEvent widget widget that received the event path widget-dependent string representation of the event location; e.g. for GtkTreeView, a string representation of GtkTreePath background_area background area as passed to gtk_cell_renderer_render() cell_area cell area as passed to gtk_cell_renderer_render() flags render flags Returns TRUE if the event was consumed/handled gtk_cell_renderer_start_editing () gtk_cell_renderer_start_editing GtkCellEditable * gtk_cell_renderer_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); Starts editing the contents of this cell , through a new GtkCellEditable widget created by the GtkCellRendererClass.start_editing virtual function. Parameters cell a GtkCellRenderer event a GdkEvent. [nullable] widget widget that received the event path widget-dependent string representation of the event location; e.g. for GtkTreeView, a string representation of GtkTreePath background_area background area as passed to gtk_cell_renderer_render() cell_area cell area as passed to gtk_cell_renderer_render() flags render flags Returns A new GtkCellEditable for editing this cell , or NULL if editing is not possible. [nullable][transfer none] gtk_cell_renderer_stop_editing () gtk_cell_renderer_stop_editing void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, gboolean canceled); Informs the cell renderer that the editing is stopped. If canceled is TRUE, the cell renderer will emit the “editing-canceled” signal. This function should be called by cell renderer implementations in response to the “editing-done” signal of GtkCellEditable. Parameters cell A GtkCellRenderer canceled TRUE if the editing has been canceled gtk_cell_renderer_get_fixed_size () gtk_cell_renderer_get_fixed_size void gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell, int *width, int *height); Fills in width and height with the appropriate size of cell . Parameters cell A GtkCellRenderer width location to fill in with the fixed width of the cell, or NULL. [out][allow-none] height location to fill in with the fixed height of the cell, or NULL. [out][allow-none] gtk_cell_renderer_set_fixed_size () gtk_cell_renderer_set_fixed_size void gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell, int width, int height); Sets the renderer size to be explicit, independent of the properties set. Parameters cell A GtkCellRenderer width the width of the cell renderer, or -1 height the height of the cell renderer, or -1 gtk_cell_renderer_get_visible () gtk_cell_renderer_get_visible gboolean gtk_cell_renderer_get_visible (GtkCellRenderer *cell); Returns the cell renderer’s visibility. Parameters cell A GtkCellRenderer Returns TRUE if the cell renderer is visible gtk_cell_renderer_set_visible () gtk_cell_renderer_set_visible void gtk_cell_renderer_set_visible (GtkCellRenderer *cell, gboolean visible); Sets the cell renderer’s visibility. Parameters cell A GtkCellRenderer visible the visibility of the cell gtk_cell_renderer_get_sensitive () gtk_cell_renderer_get_sensitive gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell); Returns the cell renderer’s sensitivity. Parameters cell A GtkCellRenderer Returns TRUE if the cell renderer is sensitive gtk_cell_renderer_set_sensitive () gtk_cell_renderer_set_sensitive void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive); Sets the cell renderer’s sensitivity. Parameters cell A GtkCellRenderer sensitive the sensitivity of the cell gtk_cell_renderer_get_alignment () gtk_cell_renderer_get_alignment void gtk_cell_renderer_get_alignment (GtkCellRenderer *cell, float *xalign, float *yalign); Fills in xalign and yalign with the appropriate values of cell . Parameters cell A GtkCellRenderer xalign location to fill in with the x alignment of the cell, or NULL. [out][allow-none] yalign location to fill in with the y alignment of the cell, or NULL. [out][allow-none] gtk_cell_renderer_set_alignment () gtk_cell_renderer_set_alignment void gtk_cell_renderer_set_alignment (GtkCellRenderer *cell, float xalign, float yalign); Sets the renderer’s alignment within its available space. Parameters cell A GtkCellRenderer xalign the x alignment of the cell renderer yalign the y alignment of the cell renderer gtk_cell_renderer_get_padding () gtk_cell_renderer_get_padding void gtk_cell_renderer_get_padding (GtkCellRenderer *cell, int *xpad, int *ypad); Fills in xpad and ypad with the appropriate values of cell . Parameters cell A GtkCellRenderer xpad location to fill in with the x padding of the cell, or NULL. [out][allow-none] ypad location to fill in with the y padding of the cell, or NULL. [out][allow-none] gtk_cell_renderer_set_padding () gtk_cell_renderer_set_padding void gtk_cell_renderer_set_padding (GtkCellRenderer *cell, int xpad, int ypad); Sets the renderer’s padding. Parameters cell A GtkCellRenderer xpad the x padding of the cell renderer ypad the y padding of the cell renderer gtk_cell_renderer_get_state () gtk_cell_renderer_get_state GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState cell_state); Translates the cell renderer state to GtkStateFlags, based on the cell renderer and widget sensitivity, and the given GtkCellRendererState. Parameters cell a GtkCellRenderer, or NULL. [nullable] widget a GtkWidget, or NULL. [nullable] cell_state cell renderer state Returns the widget state flags applying to cell gtk_cell_renderer_is_activatable () gtk_cell_renderer_is_activatable gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell); Checks whether the cell renderer can do something when activated. Parameters cell A GtkCellRenderer Returns TRUE if the cell renderer can do anything when activated gtk_cell_renderer_get_preferred_height () gtk_cell_renderer_get_preferred_height void gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); Retreives a renderer’s natural size when rendered to widget . Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to minimum_size location to store the minimum size, or NULL. [out][allow-none] natural_size location to store the natural size, or NULL. [out][allow-none] gtk_cell_renderer_get_preferred_height_for_width () gtk_cell_renderer_get_preferred_height_for_width void gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height); Retreives a cell renderers’s minimum and natural height if it were rendered to widget with the specified width . Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to width the size which is available for allocation minimum_height location for storing the minimum size, or NULL. [out][allow-none] natural_height location for storing the preferred size, or NULL. [out][allow-none] gtk_cell_renderer_get_preferred_size () gtk_cell_renderer_get_preferred_size void gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell, GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size); Retrieves the minimum and natural size of a cell taking into account the widget’s preference for height-for-width management. Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to minimum_size location for storing the minimum size, or NULL. [out][allow-none] natural_size location for storing the natural size, or NULL. [out][allow-none] gtk_cell_renderer_get_preferred_width () gtk_cell_renderer_get_preferred_width void gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); Retreives a renderer’s natural size when rendered to widget . Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to minimum_size location to store the minimum size, or NULL. [out][allow-none] natural_size location to store the natural size, or NULL. [out][allow-none] gtk_cell_renderer_get_preferred_width_for_height () gtk_cell_renderer_get_preferred_width_for_height void gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width); Retreives a cell renderers’s minimum and natural width if it were rendered to widget with the specified height . Parameters cell a GtkCellRenderer instance widget the GtkWidget this cell will be rendering to height the size which is available for allocation minimum_width location for storing the minimum size, or NULL. [out][allow-none] natural_width location for storing the preferred size, or NULL. [out][allow-none] gtk_cell_renderer_get_request_mode () gtk_cell_renderer_get_request_mode GtkSizeRequestMode gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell); Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout. Parameters cell a GtkCellRenderer instance Returns The GtkSizeRequestMode preferred by this renderer. Types and Values enum GtkCellRendererState GtkCellRendererState Tells how a cell is to be rendered. Members GTK_CELL_RENDERER_SELECTED The cell is currently selected, and probably has a selection colored background to render to. GTK_CELL_RENDERER_PRELIT The mouse is hovering over the cell. GTK_CELL_RENDERER_INSENSITIVE The cell is drawn in an insensitive manner GTK_CELL_RENDERER_SORTED The cell is in a sorted row GTK_CELL_RENDERER_FOCUSED The cell is in the focus row. GTK_CELL_RENDERER_EXPANDABLE The cell is in a row that can be expanded GTK_CELL_RENDERER_EXPANDED The cell is in a row that is expanded enum GtkCellRendererMode GtkCellRendererMode Identifies how the user can interact with a particular cell. Members GTK_CELL_RENDERER_MODE_INERT The cell is just for display and cannot be interacted with. Note that this doesn’t mean that eg. the row being drawn can’t be selected -- just that a particular element of it cannot be individually modified. GTK_CELL_RENDERER_MODE_ACTIVATABLE The cell can be clicked. GTK_CELL_RENDERER_MODE_EDITABLE The cell can be edited or otherwise modified. struct GtkCellRenderer GtkCellRenderer struct GtkCellRenderer; struct GtkCellRendererClass GtkCellRendererClass struct GtkCellRendererClass { /* vtable - not signals */ GtkSizeRequestMode (* get_request_mode) (GtkCellRenderer *cell); void (* get_preferred_width) (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); void (* get_preferred_height_for_width) (GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height); void (* get_preferred_height) (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size); void (* get_preferred_width_for_height) (GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width); void (* get_aligned_area) (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area); void (* get_size) (GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area, int *x_offset, int *y_offset, int *width, int *height); void (* snapshot) (GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); gboolean (* activate) (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); GtkCellEditable * (* start_editing) (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags); /* Signals */ void (* editing_canceled) (GtkCellRenderer *cell); void (* editing_started) (GtkCellRenderer *cell, GtkCellEditable *editable, const char *path); }; Members get_request_mode () Called to gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout. get_preferred_width () Called to get a renderer’s natural width. get_preferred_height_for_width () Called to get a renderer’s natural height for width. get_preferred_height () Called to get a renderer’s natural height. get_preferred_width_for_height () Called to get a renderer’s natural width for height. get_aligned_area () Called to get the aligned area used by cell inside cell_area . get_size () Called to get the width and height needed to render the cell. Deprecated: 3.0. snapshot () Called to snapshot the content of the GtkCellRenderer. activate () Called to activate the content of the GtkCellRenderer. start_editing () Called to initiate editing the content of the GtkCellRenderer. editing_canceled () Signal gets emitted when the user cancels the process of editing a cell. editing_started () Signal gets emitted when a cell starts to be edited. Property Details The <literal>“cell-background”</literal> property GtkCellRenderer:cell-background “cell-background” gchar * Cell background color as a string.Owner: GtkCellRenderer Flags: Write Default value: NULL The <literal>“cell-background-rgba”</literal> property GtkCellRenderer:cell-background-rgba “cell-background-rgba” GdkRGBA * Cell background as a GdkRGBA Owner: GtkCellRenderer Flags: Read / Write The <literal>“cell-background-set”</literal> property GtkCellRenderer:cell-background-set “cell-background-set” gboolean Whether the cell background color is set.Owner: GtkCellRenderer Flags: Read / Write Default value: FALSE The <literal>“editing”</literal> property GtkCellRenderer:editing “editing” gboolean Whether the cell renderer is currently in editing mode.Owner: GtkCellRenderer Flags: Read Default value: FALSE The <literal>“height”</literal> property GtkCellRenderer:height “height” gint The fixed height.Owner: GtkCellRenderer Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“is-expanded”</literal> property GtkCellRenderer:is-expanded “is-expanded” gboolean Row is an expander row, and is expanded.Owner: GtkCellRenderer Flags: Read / Write Default value: FALSE The <literal>“is-expander”</literal> property GtkCellRenderer:is-expander “is-expander” gboolean Row has children.Owner: GtkCellRenderer Flags: Read / Write Default value: FALSE The <literal>“mode”</literal> property GtkCellRenderer:mode “mode” GtkCellRendererMode Editable mode of the CellRenderer.Owner: GtkCellRenderer Flags: Read / Write Default value: GTK_CELL_RENDERER_MODE_INERT The <literal>“sensitive”</literal> property GtkCellRenderer:sensitive “sensitive” gboolean Display the cell sensitive.Owner: GtkCellRenderer Flags: Read / Write Default value: TRUE The <literal>“visible”</literal> property GtkCellRenderer:visible “visible” gboolean Display the cell.Owner: GtkCellRenderer Flags: Read / Write Default value: TRUE The <literal>“width”</literal> property GtkCellRenderer:width “width” gint The fixed width.Owner: GtkCellRenderer Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“xalign”</literal> property GtkCellRenderer:xalign “xalign” gfloat The x-align.Owner: GtkCellRenderer Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“xpad”</literal> property GtkCellRenderer:xpad “xpad” guint The xpad.Owner: GtkCellRenderer Flags: Read / Write Default value: 0 The <literal>“yalign”</literal> property GtkCellRenderer:yalign “yalign” gfloat The y-align.Owner: GtkCellRenderer Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“ypad”</literal> property GtkCellRenderer:ypad “ypad” guint The ypad.Owner: GtkCellRenderer Flags: Read / Write Default value: 0 Signal Details The <literal>“editing-canceled”</literal> signal GtkCellRenderer::editing-canceled void user_function (GtkCellRenderer *renderer, gpointer user_data) This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape. See also: gtk_cell_renderer_stop_editing(). Parameters renderer the object which received the signal user_data user data set when the signal handler was connected. Flags: Run First The <literal>“editing-started”</literal> signal GtkCellRenderer::editing-started void user_function (GtkCellRenderer *renderer, GtkCellEditable *editable, gchar *path, gpointer user_data) This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable , e.g. adding a GtkEntryCompletion or setting up additional columns in a GtkComboBox. See gtk_cell_editable_start_editing() for information on the lifecycle of the editable and a way to do setup that doesn’t depend on the renderer . Note that GTK+ doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of editable before doing any specific setup, as in the following example: Parameters renderer the object which received the signal editable the GtkCellEditable path the path identifying the edited cell user_data user data set when the signal handler was connected. Flags: Run First See Also GtkCellEditable docs/reference/gtk/xml/gtkcelleditable.xml0000664000175000017500000004432513710700313021025 0ustar mclasenmclasen ]> GtkCellEditable 3 GTK4 Library GtkCellEditable Interface for widgets that can be used for editing cells Functions void gtk_cell_editable_start_editing () void gtk_cell_editable_editing_done () void gtk_cell_editable_remove_widget () Properties gbooleanediting-canceledRead / Write Signals voidediting-doneRun Last voidremove-widgetRun Last Types and Values GtkCellEditable structGtkCellEditableIface Object Hierarchy GInterface ╰── GtkCellEditable Prerequisites GtkCellEditable requires GtkWidget. Known Implementations GtkCellEditable is implemented by GtkComboBox, GtkComboBoxText, GtkEntry and GtkSpinButton. Includes#include <gtk/gtk.h> Description The GtkCellEditable interface must be implemented for widgets to be usable to edit the contents of a GtkTreeView cell. It provides a way to specify how temporary widgets should be configured for editing, get the new value, etc. Functions gtk_cell_editable_start_editing () gtk_cell_editable_start_editing void gtk_cell_editable_start_editing (GtkCellEditable *cell_editable, GdkEvent *event); Begins editing on a cell_editable . The GtkCellRenderer for the cell creates and returns a GtkCellEditable from gtk_cell_renderer_start_editing(), configured for the GtkCellRenderer type. gtk_cell_editable_start_editing() can then set up cell_editable suitably for editing a cell, e.g. making the Esc key emit “editing-done”. Note that the cell_editable is created on-demand for the current edit; its lifetime is temporary and does not persist across other edits and/or cells. Parameters cell_editable A GtkCellEditable event The GdkEvent that began the editing process, or NULL if editing was initiated programmatically. [nullable] gtk_cell_editable_editing_done () gtk_cell_editable_editing_done void gtk_cell_editable_editing_done (GtkCellEditable *cell_editable); Emits the “editing-done” signal. Parameters cell_editable A GtkCellEditable gtk_cell_editable_remove_widget () gtk_cell_editable_remove_widget void gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable); Emits the “remove-widget” signal. Parameters cell_editable A GtkCellEditable Types and Values GtkCellEditable GtkCellEditable typedef struct _GtkCellEditable GtkCellEditable; struct GtkCellEditableIface GtkCellEditableIface struct GtkCellEditableIface { /* signals */ void (* editing_done) (GtkCellEditable *cell_editable); void (* remove_widget) (GtkCellEditable *cell_editable); /* virtual table */ void (* start_editing) (GtkCellEditable *cell_editable, GdkEvent *event); }; Members editing_done () Signal is a sign for the cell renderer to update its value from the cell_editable. remove_widget () Signal is meant to indicate that the cell is finished editing, and the widget may now be destroyed. start_editing () Begins editing on a cell_editable. Property Details The <literal>“editing-canceled”</literal> property GtkCellEditable:editing-canceled “editing-canceled” gboolean Indicates whether editing on the cell has been canceled. Owner: GtkCellEditable Flags: Read / Write Default value: FALSE Signal Details The <literal>“editing-done”</literal> signal GtkCellEditable::editing-done void user_function (GtkCellEditable *cell_editable, gpointer user_data) This signal is a sign for the cell renderer to update its value from the cell_editable . Implementations of GtkCellEditable are responsible for emitting this signal when they are done editing, e.g. GtkEntry emits this signal when the user presses Enter. Typical things to do in a handler for ::editing-done are to capture the edited value, disconnect the cell_editable from signals on the GtkCellRenderer, etc. gtk_cell_editable_editing_done() is a convenience method for emitting “editing-done”. Parameters cell_editable the object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“remove-widget”</literal> signal GtkCellEditable::remove-widget void user_function (GtkCellEditable *cell_editable, gpointer user_data) This signal is meant to indicate that the cell is finished editing, and the cell_editable widget is being removed and may subsequently be destroyed. Implementations of GtkCellEditable are responsible for emitting this signal when they are done editing. It must be emitted after the “editing-done” signal, to give the cell renderer a chance to update the cell's value before the widget is removed. gtk_cell_editable_remove_widget() is a convenience method for emitting “remove-widget”. Parameters cell_editable the object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkCellRenderer docs/reference/gtk/xml/gtkcellrenderercombo.xml0000664000175000017500000003126513710700313022101 0ustar mclasenmclasen ]> GtkCellRendererCombo 3 GTK4 Library GtkCellRendererCombo Renders a combobox in a cell Functions GtkCellRenderer * gtk_cell_renderer_combo_new () Properties gbooleanhas-entryRead / Write GtkTreeModel *modelRead / Write ginttext-columnRead / Write Signals voidchangedRun Last Types and Values GtkCellRendererCombo Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererText ╰── GtkCellRendererCombo Includes#include <gtk/gtk.h> Description GtkCellRendererCombo renders text in a cell like GtkCellRendererText from which it is derived. But while GtkCellRendererText offers a simple entry to edit the text, GtkCellRendererCombo offers a GtkComboBox widget to edit the text. The values to display in the combo box are taken from the tree model specified in the “model” property. The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to display the column specified by its “text-column” property. Further properties of the combo box can be set in a handler for the “editing-started” signal. The GtkCellRendererCombo cell renderer was added in GTK+ 2.6. Functions gtk_cell_renderer_combo_new () gtk_cell_renderer_combo_new GtkCellRenderer * gtk_cell_renderer_combo_new (void); Creates a new GtkCellRendererCombo. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “text” property on the cell renderer to a string value in the model, thus rendering a different string in each row of the GtkTreeView. Returns the new cell renderer Types and Values GtkCellRendererCombo GtkCellRendererCombo typedef struct _GtkCellRendererCombo GtkCellRendererCombo; Property Details The <literal>“has-entry”</literal> property GtkCellRendererCombo:has-entry “has-entry” gboolean If TRUE, the cell renderer will include an entry and allow to enter values other than the ones in the popup list. Owner: GtkCellRendererCombo Flags: Read / Write Default value: TRUE The <literal>“model”</literal> property GtkCellRendererCombo:model “model” GtkTreeModel * Holds a tree model containing the possible values for the combo box. Use the text_column property to specify the column holding the values. Owner: GtkCellRendererCombo Flags: Read / Write The <literal>“text-column”</literal> property GtkCellRendererCombo:text-column “text-column” gint Specifies the model column which holds the possible values for the combo box. Note that this refers to the model specified in the model property, not the model backing the tree view to which this cell renderer is attached. GtkCellRendererCombo automatically adds a text cell renderer for this column to its combo box. Owner: GtkCellRendererCombo Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“changed”</literal> signal GtkCellRendererCombo::changed void user_function (GtkCellRendererCombo *combo, gchar *path_string, GtkTreeIter *new_iter, gpointer user_data) This signal is emitted each time after the user selected an item in the combo box, either by using the mouse or the arrow keys. Contrary to GtkComboBox, GtkCellRendererCombo::changed is not emitted for changes made to a selected item in the entry. The argument new_iter corresponds to the newly selected item in the combo box and it is relative to the GtkTreeModel set via the model property on GtkCellRendererCombo. Note that as soon as you change the model displayed in the tree view, the tree view will immediately cease the editing operating. This means that you most probably want to refrain from changing the model until the combo cell renderer emits the edited or editing_canceled signal. Parameters combo the object on which the signal is emitted path_string a string of the path identifying the edited cell (relative to the tree view model) new_iter the new iter selected in the combo box (relative to the combo box model) user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkcellrendererspin.xml0000664000175000017500000002104613710700313021747 0ustar mclasenmclasen ]> GtkCellRendererSpin 3 GTK4 Library GtkCellRendererSpin Renders a spin button in a cell Functions GtkCellRenderer * gtk_cell_renderer_spin_new () Properties GtkAdjustment *adjustmentRead / Write gdoubleclimb-rateRead / Write guintdigitsRead / Write Types and Values GtkCellRendererSpin Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererText ╰── GtkCellRendererSpin Includes#include <gtk/gtk.h> Description GtkCellRendererSpin renders text in a cell like GtkCellRendererText from which it is derived. But while GtkCellRendererText offers a simple entry to edit the text, GtkCellRendererSpin offers a GtkSpinButton widget. Of course, that means that the text has to be parseable as a floating point number. The range of the spinbutton is taken from the adjustment property of the cell renderer, which can be set explicitly or mapped to a column in the tree model, like all properties of cell renders. GtkCellRendererSpin also has properties for the “climb-rate” and the number of “digits” to display. Other GtkSpinButton properties can be set in a handler for the “editing-started” signal. The GtkCellRendererSpin cell renderer was added in GTK 2.10. Functions gtk_cell_renderer_spin_new () gtk_cell_renderer_spin_new GtkCellRenderer * gtk_cell_renderer_spin_new (void); Creates a new GtkCellRendererSpin. Returns a new GtkCellRendererSpin Types and Values GtkCellRendererSpin GtkCellRendererSpin typedef struct _GtkCellRendererSpin GtkCellRendererSpin; Property Details The <literal>“adjustment”</literal> property GtkCellRendererSpin:adjustment “adjustment” GtkAdjustment * The adjustment that holds the value of the spinbutton. This must be non-NULL for the cell renderer to be editable. Owner: GtkCellRendererSpin Flags: Read / Write The <literal>“climb-rate”</literal> property GtkCellRendererSpin:climb-rate “climb-rate” gdouble The acceleration rate when you hold down a button. Owner: GtkCellRendererSpin Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“digits”</literal> property GtkCellRendererSpin:digits “digits” guint The number of decimal places to display. Owner: GtkCellRendererSpin Flags: Read / Write Allowed values: <= 20 Default value: 0 See Also GtkCellRendererText, GtkSpinButton docs/reference/gtk/xml/gtkcellrendererspinner.xml0000664000175000017500000002023113710700313022447 0ustar mclasenmclasen ]> GtkCellRendererSpinner 3 GTK4 Library GtkCellRendererSpinner Renders a spinning animation in a cell Functions GtkCellRenderer * gtk_cell_renderer_spinner_new () Properties gbooleanactiveRead / Write guintpulseRead / Write GtkIconSizesizeRead / Write Types and Values GtkCellRendererSpinner Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererSpinner Includes#include <gtk/gtk.h> Description GtkCellRendererSpinner renders a spinning animation in a cell, very similar to GtkSpinner. It can often be used as an alternative to a GtkCellRendererProgress for displaying indefinite activity, instead of actual progress. To start the animation in a cell, set the “active” property to TRUE and increment the “pulse” property at regular intervals. The usual way to set the cell renderer properties for each cell is to bind them to columns in your tree model using e.g. gtk_tree_view_column_add_attribute(). Functions gtk_cell_renderer_spinner_new () gtk_cell_renderer_spinner_new GtkCellRenderer * gtk_cell_renderer_spinner_new (void); Returns a new cell renderer which will show a spinner to indicate activity. Returns a new GtkCellRenderer Types and Values GtkCellRendererSpinner GtkCellRendererSpinner typedef struct _GtkCellRendererSpinner GtkCellRendererSpinner; Property Details The <literal>“active”</literal> property GtkCellRendererSpinner:active “active” gboolean Whether the spinner is active (ie. shown) in the cell.Owner: GtkCellRendererSpinner Flags: Read / Write Default value: FALSE The <literal>“pulse”</literal> property GtkCellRendererSpinner:pulse “pulse” guint Pulse of the spinner. Increment this value to draw the next frame of the spinner animation. Usually, you would update this value in a timeout. By default, the GtkSpinner widget draws one full cycle of the animation, consisting of 12 frames, in 750 milliseconds. Owner: GtkCellRendererSpinner Flags: Read / Write Default value: 0 The <literal>“size”</literal> property GtkCellRendererSpinner:size “size” GtkIconSize The GtkIconSize value that specifies the size of the rendered spinner. Owner: GtkCellRendererSpinner Flags: Read / Write Default value: GTK_ICON_SIZE_INHERIT See Also GtkSpinner, GtkCellRendererProgress docs/reference/gtk/xml/gtkcellrendererpixbuf.xml0000664000175000017500000002753513710700313022304 0ustar mclasenmclasen ]> GtkCellRendererPixbuf 3 GTK4 Library GtkCellRendererPixbuf Renders a pixbuf in a cell Functions GtkCellRenderer * gtk_cell_renderer_pixbuf_new () Properties GIcon *giconRead / Write gchar *icon-nameRead / Write GtkIconSizeicon-sizeRead / Write GdkPixbuf *pixbufWrite GdkPixbuf *pixbuf-expander-closedRead / Write GdkPixbuf *pixbuf-expander-openRead / Write GdkTexture *textureRead / Write Types and Values GtkCellRendererPixbuf Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererPixbuf Includes#include <gtk/gtk.h> Description A GtkCellRendererPixbuf can be used to render an image in a cell. It allows to render either a given GdkPixbuf (set via the “pixbuf” property) or a named icon (set via the “icon-name” property). To support the tree view, GtkCellRendererPixbuf also supports rendering two alternative pixbufs, when the “is-expander” property is TRUE. If the “is-expanded” property is TRUE and the “pixbuf-expander-open” property is set to a pixbuf, it renders that pixbuf, if the “is-expanded” property is FALSE and the “pixbuf-expander-closed” property is set to a pixbuf, it renders that one. Functions gtk_cell_renderer_pixbuf_new () gtk_cell_renderer_pixbuf_new GtkCellRenderer * gtk_cell_renderer_pixbuf_new (void); Creates a new GtkCellRendererPixbuf. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “pixbuf” property on the cell renderer to a pixbuf value in the model, thus rendering a different image in each row of the GtkTreeView. Returns the new cell renderer Types and Values GtkCellRendererPixbuf GtkCellRendererPixbuf typedef struct _GtkCellRendererPixbuf GtkCellRendererPixbuf; Property Details The <literal>“gicon”</literal> property GtkCellRendererPixbuf:gicon “gicon” GIcon * The GIcon representing the icon to display. If the icon theme is changed, the image will be updated automatically. Owner: GtkCellRendererPixbuf Flags: Read / Write The <literal>“icon-name”</literal> property GtkCellRendererPixbuf:icon-name “icon-name” gchar * The name of the themed icon to display. This property only has an effect if not overridden by the "pixbuf" property. Owner: GtkCellRendererPixbuf Flags: Read / Write Default value: NULL The <literal>“icon-size”</literal> property GtkCellRendererPixbuf:icon-size “icon-size” GtkIconSize The GtkIconSize value that specifies the size of the rendered icon. Owner: GtkCellRendererPixbuf Flags: Read / Write Default value: GTK_ICON_SIZE_INHERIT The <literal>“pixbuf”</literal> property GtkCellRendererPixbuf:pixbuf “pixbuf” GdkPixbuf * The pixbuf to render.Owner: GtkCellRendererPixbuf Flags: Write The <literal>“pixbuf-expander-closed”</literal> property GtkCellRendererPixbuf:pixbuf-expander-closed “pixbuf-expander-closed” GdkPixbuf * Pixbuf for closed expander.Owner: GtkCellRendererPixbuf Flags: Read / Write The <literal>“pixbuf-expander-open”</literal> property GtkCellRendererPixbuf:pixbuf-expander-open “pixbuf-expander-open” GdkPixbuf * Pixbuf for open expander.Owner: GtkCellRendererPixbuf Flags: Read / Write The <literal>“texture”</literal> property GtkCellRendererPixbuf:texture “texture” GdkTexture * The texture to render.Owner: GtkCellRendererPixbuf Flags: Read / Write docs/reference/gtk/xml/gtkcellrenderertext.xml0000664000175000017500000014115513710700313021766 0ustar mclasenmclasen ]> GtkCellRendererText 3 GTK4 Library GtkCellRendererText Renders text in a cell Functions GtkCellRenderer * gtk_cell_renderer_text_new () void gtk_cell_renderer_text_set_fixed_height_from_font () Properties gbooleanalign-setRead / Write PangoAlignmentalignmentRead / Write PangoAttrList *attributesRead / Write gchar *backgroundWrite GdkRGBA *background-rgbaRead / Write gbooleanbackground-setRead / Write gbooleaneditableRead / Write gbooleaneditable-setRead / Write PangoEllipsizeModeellipsizeRead / Write gbooleanellipsize-setRead / Write gchar *familyRead / Write gbooleanfamily-setRead / Write gchar *fontRead / Write PangoFontDescription *font-descRead / Write gchar *foregroundWrite GdkRGBA *foreground-rgbaRead / Write gbooleanforeground-setRead / Write gchar *languageRead / Write gbooleanlanguage-setRead / Write gchar *markupWrite gintmax-width-charsRead / Write gchar *placeholder-textRead / Write gintriseRead / Write gbooleanrise-setRead / Write gdoublescaleRead / Write gbooleanscale-setRead / Write gbooleansingle-paragraph-modeRead / Write gintsizeRead / Write gdoublesize-pointsRead / Write gbooleansize-setRead / Write PangoStretchstretchRead / Write gbooleanstretch-setRead / Write gbooleanstrikethroughRead / Write gbooleanstrikethrough-setRead / Write PangoStylestyleRead / Write gbooleanstyle-setRead / Write gchar *textRead / Write PangoUnderlineunderlineRead / Write gbooleanunderline-setRead / Write PangoVariantvariantRead / Write gbooleanvariant-setRead / Write gintweightRead / Write gbooleanweight-setRead / Write gintwidth-charsRead / Write PangoWrapModewrap-modeRead / Write gintwrap-widthRead / Write Signals voideditedRun Last Types and Values structGtkCellRendererText Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererText ├── GtkCellRendererAccel ├── GtkCellRendererCombo ╰── GtkCellRendererSpin Includes#include <gtk/gtk.h> Description A GtkCellRendererText renders a given text in its cell, using the font, color and style information provided by its properties. The text will be ellipsized if it is too long and the “ellipsize” property allows it. If the “mode” is GTK_CELL_RENDERER_MODE_EDITABLE, the GtkCellRendererText allows to edit its text using an entry. Functions gtk_cell_renderer_text_new () gtk_cell_renderer_text_new GtkCellRenderer * gtk_cell_renderer_text_new (void); Creates a new GtkCellRendererText. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “text” property on the cell renderer to a string value in the model, thus rendering a different string in each row of the GtkTreeView Returns the new cell renderer gtk_cell_renderer_text_set_fixed_height_from_font () gtk_cell_renderer_text_set_fixed_height_from_font void gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer, int number_of_rows); Sets the height of a renderer to explicitly be determined by the “font” and “y_pad” property set on it. Further changes in these properties do not affect the height, so they must be accompanied by a subsequent call to this function. Using this function is unflexible, and should really only be used if calculating the size of a cell is too slow (ie, a massive number of cells displayed). If number_of_rows is -1, then the fixed height is unset, and the height is determined by the properties again. Parameters renderer A GtkCellRendererText number_of_rows Number of rows of text each cell renderer is allocated, or -1 Types and Values struct GtkCellRendererText GtkCellRendererText struct GtkCellRendererText; Property Details The <literal>“align-set”</literal> property GtkCellRendererText:align-set “align-set” gboolean Whether this tag affects the alignment mode.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“alignment”</literal> property GtkCellRendererText:alignment “alignment” PangoAlignment Specifies how to align the lines of text with respect to each other. Note that this property describes how to align the lines of text in case there are several of them. The "xalign" property of GtkCellRenderer, on the other hand, sets the horizontal alignment of the whole text. Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_ALIGN_LEFT The <literal>“attributes”</literal> property GtkCellRendererText:attributes “attributes” PangoAttrList * A list of style attributes to apply to the text of the renderer.Owner: GtkCellRendererText Flags: Read / Write The <literal>“background”</literal> property GtkCellRendererText:background “background” gchar * Background color as a string.Owner: GtkCellRendererText Flags: Write Default value: NULL The <literal>“background-rgba”</literal> property GtkCellRendererText:background-rgba “background-rgba” GdkRGBA * Background color as a GdkRGBA Owner: GtkCellRendererText Flags: Read / Write The <literal>“background-set”</literal> property GtkCellRendererText:background-set “background-set” gboolean Whether this tag affects the background color.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“editable”</literal> property GtkCellRendererText:editable “editable” gboolean Whether the text can be modified by the user.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“editable-set”</literal> property GtkCellRendererText:editable-set “editable-set” gboolean Whether this tag affects text editability.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“ellipsize”</literal> property GtkCellRendererText:ellipsize “ellipsize” PangoEllipsizeMode Specifies the preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string. Setting it to PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property for another way of making the text fit into a given width. Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_ELLIPSIZE_NONE The <literal>“ellipsize-set”</literal> property GtkCellRendererText:ellipsize-set “ellipsize-set” gboolean Whether this tag affects the ellipsize mode.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“family”</literal> property GtkCellRendererText:family “family” gchar * Name of the font family, e.g. Sans, Helvetica, Times, Monospace.Owner: GtkCellRendererText Flags: Read / Write Default value: NULL The <literal>“family-set”</literal> property GtkCellRendererText:family-set “family-set” gboolean Whether this tag affects the font family.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“font”</literal> property GtkCellRendererText:font “font” gchar * Font description as a string, e.g. “Sans Italic 12”.Owner: GtkCellRendererText Flags: Read / Write Default value: NULL The <literal>“font-desc”</literal> property GtkCellRendererText:font-desc “font-desc” PangoFontDescription * Font description as a PangoFontDescription struct.Owner: GtkCellRendererText Flags: Read / Write The <literal>“foreground”</literal> property GtkCellRendererText:foreground “foreground” gchar * Foreground color as a string.Owner: GtkCellRendererText Flags: Write Default value: NULL The <literal>“foreground-rgba”</literal> property GtkCellRendererText:foreground-rgba “foreground-rgba” GdkRGBA * Foreground color as a GdkRGBA Owner: GtkCellRendererText Flags: Read / Write The <literal>“foreground-set”</literal> property GtkCellRendererText:foreground-set “foreground-set” gboolean Whether this tag affects the foreground color.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“language”</literal> property GtkCellRendererText:language “language” gchar * The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don’t understand this parameter, you probably don’t need it.Owner: GtkCellRendererText Flags: Read / Write Default value: NULL The <literal>“language-set”</literal> property GtkCellRendererText:language-set “language-set” gboolean Whether this tag affects the language the text is rendered as.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“markup”</literal> property GtkCellRendererText:markup “markup” gchar * Marked up text to render.Owner: GtkCellRendererText Flags: Write Default value: NULL The <literal>“max-width-chars”</literal> property GtkCellRendererText:max-width-chars “max-width-chars” gint The desired maximum width of the cell, in characters. If this property is set to -1, the width will be calculated automatically. For cell renderers that ellipsize or wrap text; this property controls the maximum reported width of the cell. The cell should not receive any greater allocation unless it is set to expand in its GtkCellLayout and all of the cell's siblings have received their natural width. Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“placeholder-text”</literal> property GtkCellRendererText:placeholder-text “placeholder-text” gchar * The text that will be displayed in the GtkCellRenderer if “editable” is TRUE and the cell is empty. Owner: GtkCellRendererText Flags: Read / Write Default value: NULL The <literal>“rise”</literal> property GtkCellRendererText:rise “rise” gint Offset of text above the baseline (below the baseline if rise is negative).Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= -2147483647 Default value: 0 The <literal>“rise-set”</literal> property GtkCellRendererText:rise-set “rise-set” gboolean Whether this tag affects the rise.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“scale”</literal> property GtkCellRendererText:scale “scale” gdouble Font scaling factor.Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= 0 Default value: 1 The <literal>“scale-set”</literal> property GtkCellRendererText:scale-set “scale-set” gboolean Whether this tag scales the font size by a factor.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“single-paragraph-mode”</literal> property GtkCellRendererText:single-paragraph-mode “single-paragraph-mode” gboolean Whether to keep all text in a single paragraph.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“size”</literal> property GtkCellRendererText:size “size” gint Font size.Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“size-points”</literal> property GtkCellRendererText:size-points “size-points” gdouble Font size in points.Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“size-set”</literal> property GtkCellRendererText:size-set “size-set” gboolean Whether this tag affects the font size.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“stretch”</literal> property GtkCellRendererText:stretch “stretch” PangoStretch Font stretch.Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_STRETCH_NORMAL The <literal>“stretch-set”</literal> property GtkCellRendererText:stretch-set “stretch-set” gboolean Whether this tag affects the font stretch.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“strikethrough”</literal> property GtkCellRendererText:strikethrough “strikethrough” gboolean Whether to strike through the text.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“strikethrough-set”</literal> property GtkCellRendererText:strikethrough-set “strikethrough-set” gboolean Whether this tag affects strikethrough.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“style”</literal> property GtkCellRendererText:style “style” PangoStyle Font style.Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_STYLE_NORMAL The <literal>“style-set”</literal> property GtkCellRendererText:style-set “style-set” gboolean Whether this tag affects the font style.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“text”</literal> property GtkCellRendererText:text “text” gchar * Text to render.Owner: GtkCellRendererText Flags: Read / Write Default value: NULL The <literal>“underline”</literal> property GtkCellRendererText:underline “underline” PangoUnderline Style of underline for this text.Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_UNDERLINE_NONE The <literal>“underline-set”</literal> property GtkCellRendererText:underline-set “underline-set” gboolean Whether this tag affects underlining.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“variant”</literal> property GtkCellRendererText:variant “variant” PangoVariant Font variant.Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_VARIANT_NORMAL The <literal>“variant-set”</literal> property GtkCellRendererText:variant-set “variant-set” gboolean Whether this tag affects the font variant.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“weight”</literal> property GtkCellRendererText:weight “weight” gint Font weight.Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= 0 Default value: 400 The <literal>“weight-set”</literal> property GtkCellRendererText:weight-set “weight-set” gboolean Whether this tag affects the font weight.Owner: GtkCellRendererText Flags: Read / Write Default value: FALSE The <literal>“width-chars”</literal> property GtkCellRendererText:width-chars “width-chars” gint The desired width of the cell, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the cell will request either 3 characters or the property value, whichever is greater. Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“wrap-mode”</literal> property GtkCellRendererText:wrap-mode “wrap-mode” PangoWrapMode Specifies how to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string. This property has no effect unless the wrap-width property is set. Owner: GtkCellRendererText Flags: Read / Write Default value: PANGO_WRAP_CHAR The <literal>“wrap-width”</literal> property GtkCellRendererText:wrap-width “wrap-width” gint Specifies the minimum width at which the text is wrapped. The wrap-mode property can be used to influence at what character positions the line breaks can be placed. Setting wrap-width to -1 turns wrapping off. Owner: GtkCellRendererText Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“edited”</literal> signal GtkCellRendererText::edited void user_function (GtkCellRendererText *renderer, gchar *path, gchar *new_text, gpointer user_data) This signal is emitted after renderer has been edited. It is the responsibility of the application to update the model and store new_text at the position indicated by path . Parameters renderer the object which received the signal path the path identifying the edited cell new_text the new text user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkcellrenderertoggle.xml0000664000175000017500000005531213710700313022262 0ustar mclasenmclasen ]> GtkCellRendererToggle 3 GTK4 Library GtkCellRendererToggle Renders a toggle button in a cell Functions GtkCellRenderer * gtk_cell_renderer_toggle_new () gboolean gtk_cell_renderer_toggle_get_radio () void gtk_cell_renderer_toggle_set_radio () gboolean gtk_cell_renderer_toggle_get_active () void gtk_cell_renderer_toggle_set_active () gboolean gtk_cell_renderer_toggle_get_activatable () void gtk_cell_renderer_toggle_set_activatable () Properties gbooleanactivatableRead / Write gbooleanactiveRead / Write gbooleaninconsistentRead / Write gbooleanradioRead / Write Signals voidtoggledRun Last Types and Values GtkCellRendererToggle Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererToggle Includes#include <gtk/gtk.h> Description GtkCellRendererToggle renders a toggle button in a cell. The button is drawn as a radio or a checkbutton, depending on the “radio” property. When activated, it emits the “toggled” signal. Functions gtk_cell_renderer_toggle_new () gtk_cell_renderer_toggle_new GtkCellRenderer * gtk_cell_renderer_toggle_new (void); Creates a new GtkCellRendererToggle. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with GtkTreeViewColumn, you can bind a property to a value in a GtkTreeModel. For example, you can bind the “active” property on the cell renderer to a boolean value in the model, thus causing the check button to reflect the state of the model. Returns the new cell renderer gtk_cell_renderer_toggle_get_radio () gtk_cell_renderer_toggle_get_radio gboolean gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle); Returns whether we’re rendering radio toggles rather than checkboxes. Parameters toggle a GtkCellRendererToggle Returns TRUE if we’re rendering radio toggles rather than checkboxes gtk_cell_renderer_toggle_set_radio () gtk_cell_renderer_toggle_set_radio void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle, gboolean radio); If radio is TRUE, the cell renderer renders a radio toggle (i.e. a toggle in a group of mutually-exclusive toggles). If FALSE, it renders a check toggle (a standalone boolean option). This can be set globally for the cell renderer, or changed just before rendering each cell in the model (for GtkTreeView, you set up a per-row setting using GtkTreeViewColumn to associate model columns with cell renderer properties). Parameters toggle a GtkCellRendererToggle radio TRUE to make the toggle look like a radio button gtk_cell_renderer_toggle_get_active () gtk_cell_renderer_toggle_get_active gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle); Returns whether the cell renderer is active. See gtk_cell_renderer_toggle_set_active(). Parameters toggle a GtkCellRendererToggle Returns TRUE if the cell renderer is active. gtk_cell_renderer_toggle_set_active () gtk_cell_renderer_toggle_set_active void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle, gboolean setting); Activates or deactivates a cell renderer. Parameters toggle a GtkCellRendererToggle. setting the value to set. gtk_cell_renderer_toggle_get_activatable () gtk_cell_renderer_toggle_get_activatable gboolean gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle); Returns whether the cell renderer is activatable. See gtk_cell_renderer_toggle_set_activatable(). Parameters toggle a GtkCellRendererToggle Returns TRUE if the cell renderer is activatable. gtk_cell_renderer_toggle_set_activatable () gtk_cell_renderer_toggle_set_activatable void gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle, gboolean setting); Makes the cell renderer activatable. Parameters toggle a GtkCellRendererToggle. setting the value to set. Types and Values GtkCellRendererToggle GtkCellRendererToggle typedef struct _GtkCellRendererToggle GtkCellRendererToggle; Property Details The <literal>“activatable”</literal> property GtkCellRendererToggle:activatable “activatable” gboolean The toggle button can be activated.Owner: GtkCellRendererToggle Flags: Read / Write Default value: TRUE The <literal>“active”</literal> property GtkCellRendererToggle:active “active” gboolean The toggle state of the button.Owner: GtkCellRendererToggle Flags: Read / Write Default value: FALSE The <literal>“inconsistent”</literal> property GtkCellRendererToggle:inconsistent “inconsistent” gboolean The inconsistent state of the button.Owner: GtkCellRendererToggle Flags: Read / Write Default value: FALSE The <literal>“radio”</literal> property GtkCellRendererToggle:radio “radio” gboolean Draw the toggle button as a radio button.Owner: GtkCellRendererToggle Flags: Read / Write Default value: FALSE Signal Details The <literal>“toggled”</literal> signal GtkCellRendererToggle::toggled void user_function (GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) The ::toggled signal is emitted when the cell is toggled. It is the responsibility of the application to update the model with the correct value to store at path . Often this is simply the opposite of the value currently stored at path . Parameters cell_renderer the object which received the signal path string representation of GtkTreePath describing the event location user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkcellrendererprogress.xml0000664000175000017500000002524013710700313022642 0ustar mclasenmclasen ]> GtkCellRendererProgress 3 GTK4 Library GtkCellRendererProgress Renders numbers as progress bars Functions GtkCellRenderer * gtk_cell_renderer_progress_new () Properties gbooleaninvertedRead / Write gintpulseRead / Write gchar *textRead / Write gfloattext-xalignRead / Write gfloattext-yalignRead / Write gintvalueRead / Write Types and Values GtkCellRendererProgress Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererProgress Implemented Interfaces GtkCellRendererProgress implements GtkOrientable. Includes#include <gtk/gtk.h> Description GtkCellRendererProgress renders a numeric value as a progress par in a cell. Additionally, it can display a text on top of the progress bar. The GtkCellRendererProgress cell renderer was added in GTK+ 2.6. Functions gtk_cell_renderer_progress_new () gtk_cell_renderer_progress_new GtkCellRenderer * gtk_cell_renderer_progress_new (void); Creates a new GtkCellRendererProgress. Returns the new cell renderer Types and Values GtkCellRendererProgress GtkCellRendererProgress typedef struct _GtkCellRendererProgress GtkCellRendererProgress; Property Details The <literal>“inverted”</literal> property GtkCellRendererProgress:inverted “inverted” gboolean Invert the direction in which the progress bar grows.Owner: GtkCellRendererProgress Flags: Read / Write Default value: FALSE The <literal>“pulse”</literal> property GtkCellRendererProgress:pulse “pulse” gint Setting this to a non-negative value causes the cell renderer to enter "activity mode", where a block bounces back and forth to indicate that some progress is made, without specifying exactly how much. Each increment of the property causes the block to move by a little bit. To indicate that the activity has not started yet, set the property to zero. To indicate completion, set the property to G_MAXINT. Owner: GtkCellRendererProgress Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“text”</literal> property GtkCellRendererProgress:text “text” gchar * The "text" property determines the label which will be drawn over the progress bar. Setting this property to NULL causes the default label to be displayed. Setting this property to an empty string causes no label to be displayed. Owner: GtkCellRendererProgress Flags: Read / Write Default value: NULL The <literal>“text-xalign”</literal> property GtkCellRendererProgress:text-xalign “text-xalign” gfloat The "text-xalign" property controls the horizontal alignment of the text in the progress bar. Valid values range from 0 (left) to 1 (right). Reserved for RTL layouts. Owner: GtkCellRendererProgress Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“text-yalign”</literal> property GtkCellRendererProgress:text-yalign “text-yalign” gfloat The "text-yalign" property controls the vertical alignment of the text in the progress bar. Valid values range from 0 (top) to 1 (bottom). Owner: GtkCellRendererProgress Flags: Read / Write Allowed values: [0,1] Default value: 0.5 The <literal>“value”</literal> property GtkCellRendererProgress:value “value” gint The "value" property determines the percentage to which the progress bar will be "filled in". Owner: GtkCellRendererProgress Flags: Read / Write Allowed values: [0,100] Default value: 0 docs/reference/gtk/xml/gtkcellrendereraccel.xml0000664000175000017500000003701613710700313022051 0ustar mclasenmclasen ]> GtkCellRendererAccel 3 GTK4 Library GtkCellRendererAccel Renders a keyboard accelerator in a cell Functions GtkCellRenderer * gtk_cell_renderer_accel_new () Properties guintaccel-keyRead / Write GtkCellRendererAccelModeaccel-modeRead / Write GdkModifierTypeaccel-modsRead / Write guintkeycodeRead / Write Signals voidaccel-clearedRun Last voidaccel-editedRun Last Types and Values GtkCellRendererAccel enumGtkCellRendererAccelMode Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererText ╰── GtkCellRendererAccel Includes#include <gtk/gtk.h> Description GtkCellRendererAccel displays a keyboard accelerator (i.e. a key combination like Control + a). If the cell renderer is editable, the accelerator can be changed by simply typing the new combination. The GtkCellRendererAccel cell renderer was added in GTK+ 2.10. Functions gtk_cell_renderer_accel_new () gtk_cell_renderer_accel_new GtkCellRenderer * gtk_cell_renderer_accel_new (void); Creates a new GtkCellRendererAccel. Returns the new cell renderer Types and Values GtkCellRendererAccel GtkCellRendererAccel typedef struct _GtkCellRendererAccel GtkCellRendererAccel; enum GtkCellRendererAccelMode GtkCellRendererAccelMode Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus. Members GTK_CELL_RENDERER_ACCEL_MODE_GTK GTK+ accelerators mode GTK_CELL_RENDERER_ACCEL_MODE_OTHER Other accelerator mode Property Details The <literal>“accel-key”</literal> property GtkCellRendererAccel:accel-key “accel-key” guint The keyval of the accelerator. Owner: GtkCellRendererAccel Flags: Read / Write Allowed values: <= G_MAXINT Default value: 0 The <literal>“accel-mode”</literal> property GtkCellRendererAccel:accel-mode “accel-mode” GtkCellRendererAccelMode Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus. Owner: GtkCellRendererAccel Flags: Read / Write Default value: GTK_CELL_RENDERER_ACCEL_MODE_GTK The <literal>“accel-mods”</literal> property GtkCellRendererAccel:accel-mods “accel-mods” GdkModifierType The modifier mask of the accelerator. Owner: GtkCellRendererAccel Flags: Read / Write The <literal>“keycode”</literal> property GtkCellRendererAccel:keycode “keycode” guint The hardware keycode of the accelerator. Note that the hardware keycode is only relevant if the key does not have a keyval. Normally, the keyboard configuration should assign keyvals to all keys. Owner: GtkCellRendererAccel Flags: Read / Write Allowed values: <= G_MAXINT Default value: 0 Signal Details The <literal>“accel-cleared”</literal> signal GtkCellRendererAccel::accel-cleared void user_function (GtkCellRendererAccel *accel, gchar *path_string, gpointer user_data) Gets emitted when the user has removed the accelerator. Parameters accel the object reveiving the signal path_string the path identifying the row of the edited cell user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“accel-edited”</literal> signal GtkCellRendererAccel::accel-edited void user_function (GtkCellRendererAccel *accel, gchar *path_string, guint accel_key, GdkModifierType accel_mods, guint hardware_keycode, gpointer user_data) Gets emitted when the user has selected a new accelerator. Parameters accel the object reveiving the signal path_string the path identifying the row of the edited cell accel_key the new accelerator keyval accel_mods the new acclerator modifier mask hardware_keycode the keycode of the new accelerator user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkliststore.xml0000664000175000017500000017357113710700313020452 0ustar mclasenmclasen ]> GtkListStore 3 GTK4 Library GtkListStore A list-like data structure that can be used with the GtkTreeView Functions GtkListStore * gtk_list_store_new () GtkListStore * gtk_list_store_newv () void gtk_list_store_set_column_types () void gtk_list_store_set () void gtk_list_store_set_valist () void gtk_list_store_set_value () void gtk_list_store_set_valuesv () gboolean gtk_list_store_remove () void gtk_list_store_insert () void gtk_list_store_insert_before () void gtk_list_store_insert_after () void gtk_list_store_insert_with_values () void gtk_list_store_insert_with_valuesv () void gtk_list_store_prepend () void gtk_list_store_append () void gtk_list_store_clear () gboolean gtk_list_store_iter_is_valid () void gtk_list_store_reorder () void gtk_list_store_swap () void gtk_list_store_move_before () void gtk_list_store_move_after () Types and Values structGtkListStore Object Hierarchy GObject ╰── GtkListStore Implemented Interfaces GtkListStore implements GtkTreeModel, GtkTreeDragSource, GtkTreeDragDest, GtkTreeSortable and GtkBuildable. Includes#include <gtk/gtk.h> Description The GtkListStore object is a list model for use with a GtkTreeView widget. It implements the GtkTreeModel interface, and consequentialy, can use all of the methods available there. It also implements the GtkTreeSortable interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces. The GtkListStore can accept most GObject types as a column type, though it can’t accept all custom types. Internally, it will keep a copy of data passed in (such as a string or a boxed pointer). Columns that accept GObjects are handled a little differently. The GtkListStore will keep a reference to the object instead of copying the value. As a result, if the object is modified, it is up to the application writer to call gtk_tree_model_row_changed() to emit the “row_changed” signal. This most commonly affects lists with GdkTextures stored. An example for creating a simple list store: Performance ConsiderationsInternally, the GtkListStore was implemented with a linked list with a tail pointer prior to GTK+ 2.6. As a result, it was fast at data insertion and deletion, and not fast at random data access. The GtkListStore sets the GTK_TREE_MODEL_ITERS_PERSIST flag, which means that GtkTreeIters can be cached while the row exists. Thus, if access to a particular row is needed often and your code is expected to run on older versions of GTK+, it is worth keeping the iter around. Atomic OperationsIt is important to note that only the methods gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv() are atomic, in the sense that the row is being appended to the store and the values filled in in a single operation with regard to GtkTreeModel signaling. In contrast, using e.g. gtk_list_store_append() and then gtk_list_store_set() will first create a row, which triggers the “row-inserted” signal on GtkListStore. The row, however, is still empty, and any signal handler connecting to “row-inserted” on this particular store should be prepared for the situation that the row might be empty. This is especially important if you are wrapping the GtkListStore inside a GtkTreeModelFilter and are using a GtkTreeModelFilterVisibleFunc. Using any of the non-atomic operations to append rows to the GtkListStore will cause the GtkTreeModelFilterVisibleFunc to be visited with an empty row first; the function must be prepared for that. GtkListStore as GtkBuildableThe GtkListStore implementation of the GtkBuildable interface allows to specify the model columns with a <columns> element that may contain multiple <column> elements, each specifying one model column. The “type” attribute specifies the data type for the column. Additionally, it is possible to specify content for the list store in the UI definition, with the <data> element. It can contain multiple <row> elements, each specifying to content for one row of the list model. Inside a <row>, the <col> elements specify the content for individual cells. Note that it is probably more common to define your models in the code, and one might consider it a layering violation to specify the content of a list store in a UI definition, data, not presentation, and common wisdom is to separate the two, as far as possible. An example of a UI Definition fragment for a list store: John Doe 25 Johan Dahlin 50 ]]> Functions gtk_list_store_new () gtk_list_store_new GtkListStore * gtk_list_store_new (int n_columns, ...); Creates a new list store as with n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported. As an example, gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE); will create a new GtkListStore with three columns, of type int, string and GdkTexture, respectively. Parameters n_columns number of columns in the list store ... all GType types for the columns, from first to last Returns a new GtkListStore gtk_list_store_newv () gtk_list_store_newv GtkListStore * gtk_list_store_newv (int n_columns, GType *types); Non-vararg creation function. Used primarily by language bindings. [rename-to gtk_list_store_new] Parameters n_columns number of columns in the list store types an array of GType types for the columns, from first to last. [array length=n_columns] Returns a new GtkListStore. [transfer full] gtk_list_store_set_column_types () gtk_list_store_set_column_types void gtk_list_store_set_column_types (GtkListStore *list_store, int n_columns, GType *types); This function is meant primarily for GObjects that inherit from GtkListStore, and should only be used when constructing a new GtkListStore. It will not function after a row has been added, or a method on the GtkTreeModel interface is called. Parameters list_store A GtkListStore n_columns Number of columns for the list store types An array length n of GTypes. [array length=n_columns] gtk_list_store_set () gtk_list_store_set void gtk_list_store_set (GtkListStore *list_store, GtkTreeIter *iter, ...); Sets the value of one or more cells in the row referenced by iter . The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type G_TYPE_STRING to “Foo”, you would write gtk_list_store_set (store, iter, 0, "Foo", -1). The value will be referenced by the store if it is a G_TYPE_OBJECT, and it will be copied if it is a G_TYPE_STRING or G_TYPE_BOXED. Parameters list_store a GtkListStore iter row iterator ... pairs of column number and value, terminated with -1 gtk_list_store_set_valist () gtk_list_store_set_valist void gtk_list_store_set_valist (GtkListStore *list_store, GtkTreeIter *iter, va_list var_args); See gtk_list_store_set(); this version takes a va_list for use by language bindings. Parameters list_store A GtkListStore iter A valid GtkTreeIter for the row being modified var_args va_list of column/value pairs gtk_list_store_set_value () gtk_list_store_set_value void gtk_list_store_set_value (GtkListStore *list_store, GtkTreeIter *iter, int column, GValue *value); Sets the data in the cell specified by iter and column . The type of value must be convertible to the type of the column. Parameters list_store A GtkListStore iter A valid GtkTreeIter for the row being modified column column number to modify value new value for the cell gtk_list_store_set_valuesv () gtk_list_store_set_valuesv void gtk_list_store_set_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values); A variant of gtk_list_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings and in case the number of columns to change is not known until run-time. [rename-to gtk_list_store_set] Parameters list_store A GtkListStore iter A valid GtkTreeIter for the row being modified columns an array of column numbers. [array length=n_values] values an array of GValues. [array length=n_values] n_values the length of the columns and values arrays gtk_list_store_remove () gtk_list_store_remove gboolean gtk_list_store_remove (GtkListStore *list_store, GtkTreeIter *iter); Removes the given row from the list store. After being removed, iter is set to be the next valid row, or invalidated if it pointed to the last row in list_store . Parameters list_store A GtkListStore iter A valid GtkTreeIter Returns TRUE if iter is valid, FALSE if not. gtk_list_store_insert () gtk_list_store_insert void gtk_list_store_insert (GtkListStore *list_store, GtkTreeIter *iter, int position); Creates a new row at position . iter will be changed to point to this new row. If position is -1 or is larger than the number of rows on the list, then the new row will be appended to the list. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the new row. [out] position position to insert the new row, or -1 for last gtk_list_store_insert_before () gtk_list_store_insert_before void gtk_list_store_insert_before (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling); Inserts a new row before sibling . If sibling is NULL, then the row will be appended to the end of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the new row. [out] sibling A valid GtkTreeIter, or NULL. [allow-none] gtk_list_store_insert_after () gtk_list_store_insert_after void gtk_list_store_insert_after (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling); Inserts a new row after sibling . If sibling is NULL, then the row will be prepended to the beginning of the list. iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the new row. [out] sibling A valid GtkTreeIter, or NULL. [allow-none] gtk_list_store_insert_with_values () gtk_list_store_insert_with_values void gtk_list_store_insert_with_values (GtkListStore *list_store, GtkTreeIter *iter, int position, ...); Creates a new row at position . iter will be changed to point to this new row. If position is -1, or larger than the number of rows in the list, then the new row will be appended to the list. The row will be filled with the values given to this function. Calling gtk_list_store_insert_with_values (list_store, iter, position...) has the same effect as calling with the difference that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and, if the list store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_list_store_insert_with_values() should generally be preferred when inserting rows in a sorted list store. Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the new row, or NULL. [out][allow-none] position position to insert the new row, or -1 to append after existing rows ... pairs of column number and value, terminated with -1 gtk_list_store_insert_with_valuesv () gtk_list_store_insert_with_valuesv void gtk_list_store_insert_with_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int position, int *columns, GValue *values, int n_values); A variant of gtk_list_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings. Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the new row, or NULL. [out][allow-none] position position to insert the new row, or -1 for last columns an array of column numbers. [array length=n_values] values an array of GValues. [array length=n_values] n_values the length of the columns and values arrays gtk_list_store_prepend () gtk_list_store_prepend void gtk_list_store_prepend (GtkListStore *list_store, GtkTreeIter *iter); Prepends a new row to list_store . iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the prepend row. [out] gtk_list_store_append () gtk_list_store_append void gtk_list_store_append (GtkListStore *list_store, GtkTreeIter *iter); Appends a new row to list_store . iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). Parameters list_store A GtkListStore iter An unset GtkTreeIter to set to the appended row. [out] gtk_list_store_clear () gtk_list_store_clear void gtk_list_store_clear (GtkListStore *list_store); Removes all rows from the list store. Parameters list_store a GtkListStore. gtk_list_store_iter_is_valid () gtk_list_store_iter_is_valid gboolean gtk_list_store_iter_is_valid (GtkListStore *list_store, GtkTreeIter *iter);
This function is slow. Only use it for debugging and/or testing purposes.
Checks if the given iter is a valid iter for this GtkListStore. Parameters list_store A GtkListStore. iter A GtkTreeIter. Returns TRUE if the iter is valid, FALSE if the iter is invalid.
gtk_list_store_reorder () gtk_list_store_reorder void gtk_list_store_reorder (GtkListStore *store, int *new_order); Reorders store to follow the order indicated by new_order . Note that this function only works with unsorted stores. Parameters store A GtkListStore. new_order an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. new_order [newpos] = oldpos. It must have exactly as many items as the list store’s length. [array zero-terminated=1] gtk_list_store_swap () gtk_list_store_swap void gtk_list_store_swap (GtkListStore *store, GtkTreeIter *a, GtkTreeIter *b); Swaps a and b in store . Note that this function only works with unsorted stores. Parameters store A GtkListStore. a A GtkTreeIter. b Another GtkTreeIter. gtk_list_store_move_before () gtk_list_store_move_before void gtk_list_store_move_before (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position); Moves iter in store to the position before position . Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the end of the list. Parameters store A GtkListStore. iter A GtkTreeIter. position A GtkTreeIter, or NULL. [allow-none] gtk_list_store_move_after () gtk_list_store_move_after void gtk_list_store_move_after (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position); Moves iter in store to the position after position . Note that this function only works with unsorted stores. If position is NULL, iter will be moved to the start of the list. Parameters store A GtkListStore. iter A GtkTreeIter. position A GtkTreeIter or NULL. [allow-none]
Types and Values struct GtkListStore GtkListStore struct GtkListStore; See Also GtkTreeModel, GtkTreeStore
docs/reference/gtk/xml/gtkviewport.xml0000664000175000017500000003731413710700313020273 0ustar mclasenmclasen ]> GtkViewport 3 GTK4 Library GtkViewport An adapter which makes widgets scrollable Functions GtkWidget * gtk_viewport_new () void gtk_viewport_set_scroll_to_focus () gboolean gtk_viewport_get_scroll_to_focus () void gtk_viewport_set_child () GtkWidget * gtk_viewport_get_child () Properties GtkWidget *childRead / Write gbooleanscroll-to-focusRead / Write Types and Values GtkViewport Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkViewport Implemented Interfaces GtkViewport implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkScrollable. Includes#include <gtk/gtk.h> Description The GtkViewport widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities. Use GtkViewport to scroll child widgets such as GtkGrid, GtkBox, and so on. If a widget has native scrolling abilities, such as GtkTextView, GtkTreeView or GtkIconView, it can be added to a GtkScrolledWindow with gtk_container_add(). If a widget does not, you must first add the widget to a GtkViewport, then add the viewport to the scrolled window. gtk_container_add() does this automatically if a child that does not implement GtkScrollable is added to a GtkScrolledWindow, so you can ignore the presence of the viewport. The GtkViewport will start scrolling content only if allocated less than the child widget’s minimum size in a given orientation. CSS nodesGtkViewport has a single CSS node with name viewport. Functions gtk_viewport_new () gtk_viewport_new GtkWidget * gtk_viewport_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); Creates a new GtkViewport with the given adjustments, or with default adjustments if none are given. Parameters hadjustment horizontal adjustment. [allow-none] vadjustment vertical adjustment. [allow-none] Returns a new GtkViewport gtk_viewport_set_scroll_to_focus () gtk_viewport_set_scroll_to_focus void gtk_viewport_set_scroll_to_focus (GtkViewport *viewport, gboolean scroll_to_focus); Sets whether the viewport should automatically scroll to keep the focused child in view. Parameters viewport a GtkViewport scroll_to_focus whether to keep the focus widget scrolled to view gtk_viewport_get_scroll_to_focus () gtk_viewport_get_scroll_to_focus gboolean gtk_viewport_get_scroll_to_focus (GtkViewport *viewport); Gets whether the viewport is scrolling to keep the focused child in view. See gtk_viewport_set_scroll_to_focus(). Parameters viewport a GtkViewport Returns TRUE if the viewport keeps the focus child scrolled to view gtk_viewport_set_child () gtk_viewport_set_child void gtk_viewport_set_child (GtkViewport *viewport, GtkWidget *child); Sets the child widget of viewport . Parameters viewport a GtkViewport child the child widget. [allow-none] gtk_viewport_get_child () gtk_viewport_get_child GtkWidget * gtk_viewport_get_child (GtkViewport *viewport); Gets the child widget of viewport . Parameters viewport a GtkViewport Returns the child widget of viewport . [nullable][transfer none] Types and Values GtkViewport GtkViewport typedef struct _GtkViewport GtkViewport; Property Details The <literal>“child”</literal> property GtkViewport:child “child” GtkWidget * The child widget.Owner: GtkViewport Flags: Read / Write The <literal>“scroll-to-focus”</literal> property GtkViewport:scroll-to-focus “scroll-to-focus” gboolean Whether to scroll when the focus changes.Owner: GtkViewport Flags: Read / Write Default value: FALSE See Also GtkScrolledWindow, GtkAdjustment docs/reference/gtk/xml/gtkvolumebutton.xml0000664000175000017500000001406113710700313021151 0ustar mclasenmclasen ]> GtkVolumeButton 3 GTK4 Library GtkVolumeButton A button which pops up a volume control Functions GtkWidget * gtk_volume_button_new () Properties gbooleanuse-symbolicRead / Write / Construct Types and Values structGtkVolumeButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkScaleButton ╰── GtkVolumeButton Implemented Interfaces GtkVolumeButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkVolumeButton is a subclass of GtkScaleButton that has been tailored for use as a volume control widget with suitable icons, tooltips and accessible labels. Functions gtk_volume_button_new () gtk_volume_button_new GtkWidget * gtk_volume_button_new (void); Creates a GtkVolumeButton, with a range between 0.0 and 1.0, with a stepping of 0.02. Volume values can be obtained and modified using the functions from GtkScaleButton. Returns a new GtkVolumeButton Types and Values struct GtkVolumeButton GtkVolumeButton struct GtkVolumeButton; Property Details The <literal>“use-symbolic”</literal> property GtkVolumeButton:use-symbolic “use-symbolic” gboolean Whether to use symbolic icons as the icons. Note that if the symbolic icons are not available in your installed theme, then the normal (potentially colorful) icons will be used. Owner: GtkVolumeButton Flags: Read / Write / Construct Default value: TRUE docs/reference/gtk/xml/gtksnapshot.xml0000664000175000017500000030354313710700313020253 0ustar mclasenmclasen ]> GtkSnapshot 3 GTK4 Library GtkSnapshot Auxiliary object for snapshots Functions GtkSnapshot * gtk_snapshot_new () GskRenderNode * gtk_snapshot_to_node () GdkPaintable * gtk_snapshot_to_paintable () GskRenderNode * gtk_snapshot_free_to_node () GdkPaintable * gtk_snapshot_free_to_paintable () void gtk_snapshot_push_opacity () void gtk_snapshot_push_color_matrix () void gtk_snapshot_push_repeat () void gtk_snapshot_push_clip () void gtk_snapshot_push_rounded_clip () void gtk_snapshot_push_cross_fade () void gtk_snapshot_push_blend () void gtk_snapshot_push_blur () void gtk_snapshot_push_shadow () void gtk_snapshot_push_debug () void gtk_snapshot_pop () void gtk_snapshot_save () void gtk_snapshot_restore () void gtk_snapshot_transform () void gtk_snapshot_transform_matrix () void gtk_snapshot_translate () void gtk_snapshot_translate_3d () void gtk_snapshot_rotate () void gtk_snapshot_rotate_3d () void gtk_snapshot_scale () void gtk_snapshot_scale_3d () void gtk_snapshot_perspective () void gtk_snapshot_append_node () cairo_t * gtk_snapshot_append_cairo () void gtk_snapshot_append_texture () void gtk_snapshot_append_color () void gtk_snapshot_append_layout () void gtk_snapshot_append_linear_gradient () void gtk_snapshot_append_repeating_linear_gradient () void gtk_snapshot_append_border () void gtk_snapshot_append_inset_shadow () void gtk_snapshot_append_outset_shadow () void gtk_snapshot_render_background () void gtk_snapshot_render_frame () void gtk_snapshot_render_focus () void gtk_snapshot_render_layout () void gtk_snapshot_render_insertion_cursor () Types and Values typedefGtkSnapshot Object Hierarchy GObject ╰── GdkSnapshot ╰── GtkSnapshot Includes#include <gtk/gtk.h> Description GtkSnapshot is an auxiliary object that assists in creating GskRenderNodes in the GdkPaintableInterface.snapshot() vfunc. It functions in a similar way to a cairo context, and maintains a stack of render nodes and their associated transformations. The node at the top of the stack is the the one that gtk_snapshot_append_… functions operate on. Use the gtk_snapshot_push_… functions and gtk_snapshot_pop() to change the current node. The typical way to obtain a GtkSnapshot object is as an argument to the GtkWidgetClass.snapshot() vfunc. If you need to create your own GtkSnapshot, use gtk_snapshot_new(). Functions gtk_snapshot_new () gtk_snapshot_new GtkSnapshot * gtk_snapshot_new (void); Creates a new GtkSnapshot. Returns a newly-allocated GtkSnapshot gtk_snapshot_to_node () gtk_snapshot_to_node GskRenderNode * gtk_snapshot_to_node (GtkSnapshot *snapshot); Returns the render node that was constructed by snapshot . After calling this function, it is no longer possible to add more nodes to snapshot . The only function that should be called after this is g_object_unref(). Parameters snapshot a GtkSnapshot Returns the constructed GskRenderNode. [transfer full] gtk_snapshot_to_paintable () gtk_snapshot_to_paintable GdkPaintable * gtk_snapshot_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size); Returns a paintable encapsulating the render node that was constructed by snapshot . After calling this function, it is no longer possible to add more nodes to snapshot . The only function that should be called after this is g_object_unref(). Parameters snapshot a GtkSnapshot size The size of the resulting paintable or NULL to use the bounds of the snapshot. [allow-none] Returns a new GdkPaintable. [transfer full] gtk_snapshot_free_to_node () gtk_snapshot_free_to_node GskRenderNode * gtk_snapshot_free_to_node (GtkSnapshot *snapshot); Returns the node that was constructed by snapshot and frees snapshot . [skip] Parameters snapshot a GtkSnapshot. [transfer full] Returns a newly-created GskRenderNode. [transfer full] gtk_snapshot_free_to_paintable () gtk_snapshot_free_to_paintable GdkPaintable * gtk_snapshot_free_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size); Returns a paintable for the node that was constructed by snapshot and frees snapshot . [skip] Parameters snapshot a GtkSnapshot. [transfer full] size The size of the resulting paintable or NULL to use the bounds of the snapshot. [allow-none] Returns a newly-created GdkPaintable. [transfer full] gtk_snapshot_push_opacity () gtk_snapshot_push_opacity void gtk_snapshot_push_opacity (GtkSnapshot *snapshot, double opacity); Modifies the opacity of an image. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot opacity the opacity to use gtk_snapshot_push_color_matrix () gtk_snapshot_push_color_matrix void gtk_snapshot_push_color_matrix (GtkSnapshot *snapshot, const graphene_matrix_t *color_matrix, const graphene_vec4_t *color_offset); Modifies the colors of an image by applying an affine transformation in RGB space. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot color_matrix the color matrix to use color_offset the color offset to use gtk_snapshot_push_repeat () gtk_snapshot_push_repeat void gtk_snapshot_push_repeat (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_rect_t *child_bounds); Creates a node that repeats the child node. The child is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot bounds the bounds within which to repeat child_bounds the bounds of the child or NULL to use the full size of the collected child node. [nullable] gtk_snapshot_push_clip () gtk_snapshot_push_clip void gtk_snapshot_push_clip (GtkSnapshot *snapshot, const graphene_rect_t *bounds); Clips an image to a rectangle. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot bounds the rectangle to clip to gtk_snapshot_push_rounded_clip () gtk_snapshot_push_rounded_clip void gtk_snapshot_push_rounded_clip (GtkSnapshot *snapshot, const GskRoundedRect *bounds); Clips an image to a rounded rectangle. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot bounds the rounded rectangle to clip to gtk_snapshot_push_cross_fade () gtk_snapshot_push_cross_fade void gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot, double progress); Snapshots a cross-fade operation between two images with the given progress . Until the first call to gtk_snapshot_pop(), the start image will be snapshot. After that call, the end image will be recorded until the second call to gtk_snapshot_pop(). Calling this function requires 2 calls to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot progress progress between 0.0 and 1.0 gtk_snapshot_push_blend () gtk_snapshot_push_blend void gtk_snapshot_push_blend (GtkSnapshot *snapshot, GskBlendMode blend_mode); Blends together 2 images with the given blend mode. Until the first call to gtk_snapshot_pop(), the bottom image for the blend operation will be recorded. After that call, the top image to be blended will be recorded until the second call to gtk_snapshot_pop(). Calling this function requires 2 subsequent calls to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot blend_mode blend mode to use gtk_snapshot_push_blur () gtk_snapshot_push_blur void gtk_snapshot_push_blur (GtkSnapshot *snapshot, double radius); Blurs an image. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot radius the blur radius to use gtk_snapshot_push_shadow () gtk_snapshot_push_shadow void gtk_snapshot_push_shadow (GtkSnapshot *snapshot, const GskShadow *shadow, gsize n_shadows); Applies a shadow to an image. The image is recorded until the next call to gtk_snapshot_pop(). Parameters snapshot a GtkSnapshot shadow the first shadow specification n_shadows number of shadow specifications gtk_snapshot_push_debug () gtk_snapshot_push_debug void gtk_snapshot_push_debug (GtkSnapshot *snapshot, const char *message, ...); Inserts a debug node with a message. Debug nodes don't affect the rendering at all, but can be helpful in identifying parts of a render node tree dump, for example in the GTK inspector. Parameters snapshot a GtkSnapshot message a printf-style format string ... arguments for message gtk_snapshot_pop () gtk_snapshot_pop void gtk_snapshot_pop (GtkSnapshot *snapshot); Removes the top element from the stack of render nodes, and appends it to the node underneath it. Parameters snapshot a GtkSnapshot gtk_snapshot_save () gtk_snapshot_save void gtk_snapshot_save (GtkSnapshot *snapshot); Makes a copy of the current state of snapshot and saves it on an internal stack of saved states for snapshot . When gtk_snapshot_restore() is called, snapshot will be restored to the saved state. Multiple calls to gtk_snapshot_save() and gtk_snapshot_restore() can be nested; each call to gtk_snapshot_restore() restores the state from the matching paired gtk_snapshot_save(). It is necessary to clear all saved states with corresponding calls to gtk_snapshot_restore(). Parameters snapshot a GtkSnapshot gtk_snapshot_restore () gtk_snapshot_restore void gtk_snapshot_restore (GtkSnapshot *snapshot); Restores snapshot to the state saved by a preceding call to gtk_snapshot_save() and removes that state from the stack of saved states. Parameters snapshot a GtkSnapshot gtk_snapshot_transform () gtk_snapshot_transform void gtk_snapshot_transform (GtkSnapshot *snapshot, GskTransform *transform); Transforms snapshot 's coordinate system with the given transform . Parameters snapshot a GtkSnapshot transform the transform to apply. [allow-none] gtk_snapshot_transform_matrix () gtk_snapshot_transform_matrix void gtk_snapshot_transform_matrix (GtkSnapshot *snapshot, const graphene_matrix_t *matrix); Transforms snapshot 's coordinate system with the given matrix . Parameters snapshot a GtkSnapshot matrix the matrix to multiply the transform with gtk_snapshot_translate () gtk_snapshot_translate void gtk_snapshot_translate (GtkSnapshot *snapshot, const graphene_point_t *point); Translates snapshot 's coordinate system by point in 2-dimensional space. Parameters snapshot a GtkSnapshot point the point to translate the snapshot by gtk_snapshot_translate_3d () gtk_snapshot_translate_3d void gtk_snapshot_translate_3d (GtkSnapshot *snapshot, const graphene_point3d_t *point); Translates snapshot 's coordinate system by point . Parameters snapshot a GtkSnapshot point the point to translate the snapshot by gtk_snapshot_rotate () gtk_snapshot_rotate void gtk_snapshot_rotate (GtkSnapshot *snapshot, float angle); Rotates @snapshot 's coordinate system by angle degrees in 2D space - or in 3D speak, rotates around the z axis. Parameters snapshot a GtkSnapshot angle the rotation angle, in degrees (clockwise) gtk_snapshot_rotate_3d () gtk_snapshot_rotate_3d void gtk_snapshot_rotate_3d (GtkSnapshot *snapshot, float angle, const graphene_vec3_t *axis); Rotates snapshot 's coordinate system by angle degrees around axis . For a rotation in 2D space, use gsk_transform_rotate(). Parameters snapshot a GtkSnapshot angle the rotation angle, in degrees (clockwise) axis The rotation axis gtk_snapshot_scale () gtk_snapshot_scale void gtk_snapshot_scale (GtkSnapshot *snapshot, float factor_x, float factor_y); Scales snapshot 's coordinate system in 2-dimensional space by the given factors. Use gtk_snapshot_scale_3d() to scale in all 3 dimensions. Parameters snapshot a GtkSnapshot factor_x scaling factor on the X axis factor_y scaling factor on the Y axis gtk_snapshot_scale_3d () gtk_snapshot_scale_3d void gtk_snapshot_scale_3d (GtkSnapshot *snapshot, float factor_x, float factor_y, float factor_z); Scales snapshot 's coordinate system by the given factors. Parameters snapshot a GtkSnapshot factor_x scaling factor on the X axis factor_y scaling factor on the Y axis factor_z scaling factor on the Z axis gtk_snapshot_perspective () gtk_snapshot_perspective void gtk_snapshot_perspective (GtkSnapshot *snapshot, float depth); Applies a perspective projection transform. See gsk_transform_perspective() for a discussion on the details. Parameters snapshot a GtkSnapshot depth distance of the z=0 plane gtk_snapshot_append_node () gtk_snapshot_append_node void gtk_snapshot_append_node (GtkSnapshot *snapshot, GskRenderNode *node); Appends node to the current render node of snapshot , without changing the current node. If snapshot does not have a current node yet, node will become the initial node. Parameters snapshot a GtkSnapshot node a GskRenderNode gtk_snapshot_append_cairo () gtk_snapshot_append_cairo cairo_t * gtk_snapshot_append_cairo (GtkSnapshot *snapshot, const graphene_rect_t *bounds); Creates a new render node and appends it to the current render node of snapshot , without changing the current node. Parameters snapshot a GtkSnapshot bounds the bounds for the new node Returns a cairo_t suitable for drawing the contents of the newly created render node gtk_snapshot_append_texture () gtk_snapshot_append_texture void gtk_snapshot_append_texture (GtkSnapshot *snapshot, GdkTexture *texture, const graphene_rect_t *bounds); Creates a new render node drawing the texture into the given bounds and appends it to the current render node of snapshot . Parameters snapshot a GtkSnapshot texture the GdkTexture to render bounds the bounds for the new node gtk_snapshot_append_color () gtk_snapshot_append_color void gtk_snapshot_append_color (GtkSnapshot *snapshot, const GdkRGBA *color, const graphene_rect_t *bounds); Creates a new render node drawing the color into the given bounds and appends it to the current render node of snapshot . You should try to avoid calling this function if color is transparent. Parameters snapshot a GtkSnapshot color the GdkRGBA to draw bounds the bounds for the new node gtk_snapshot_append_layout () gtk_snapshot_append_layout void gtk_snapshot_append_layout (GtkSnapshot *snapshot, PangoLayout *layout, const GdkRGBA *color); Creates render nodes for rendering layout in the given foregound color and appends them to the current node of snapshot without changing the current node. Parameters snapshot a GtkSnapshot layout the PangoLayout to render color the foreground color to render the layout in gtk_snapshot_append_linear_gradient () gtk_snapshot_append_linear_gradient void gtk_snapshot_append_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops); Appends a linear gradient node with the given stops to snapshot . Parameters snapshot a GtkSnapshot bounds the rectangle to render the linear gradient into start_point the point at which the linear gradient will begin end_point the point at which the linear gradient will finish stops a pointer to an array of GskColorStop defining the gradient. [array length=n_stops] n_stops the number of elements in stops gtk_snapshot_append_repeating_linear_gradient () gtk_snapshot_append_repeating_linear_gradient void gtk_snapshot_append_repeating_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops); Appends a repeating linear gradient node with the given stops to snapshot . Parameters snapshot a GtkSnapshot bounds the rectangle to render the linear gradient into start_point the point at which the linear gradient will begin end_point the point at which the linear gradient will finish stops a pointer to an array of GskColorStop defining the gradient. [array length=n_stops] n_stops the number of elements in stops gtk_snapshot_append_border () gtk_snapshot_append_border void gtk_snapshot_append_border (GtkSnapshot *snapshot, const GskRoundedRect *outline, const float border_width[4], const GdkRGBA border_color[4]); Appends a stroked border rectangle inside the given outline . The 4 sides of the border can have different widths and colors. Parameters snapshot a GtkSnapshot outline a GskRoundedRect describing the outline of the border border_width the stroke width of the border on the top, right, bottom and left side respectively. [array fixed-size=4] border_color the color used on the top, right, bottom and left side. [array fixed-size=4] gtk_snapshot_append_inset_shadow () gtk_snapshot_append_inset_shadow void gtk_snapshot_append_inset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius); Appends an inset shadow into the box given by outline . Parameters snapshot a GtkSnapshot outline outline of the region surrounded by shadow color color of the shadow dx horizontal offset of shadow dy vertical offset of shadow spread how far the shadow spreads towards the inside blur_radius how much blur to apply to the shadow gtk_snapshot_append_outset_shadow () gtk_snapshot_append_outset_shadow void gtk_snapshot_append_outset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius); Appends an outset shadow node around the box given by outline . Parameters snapshot a GtkSnapshot outline outline of the region surrounded by shadow color color of the shadow dx horizontal offset of shadow dy vertical offset of shadow spread how far the shadow spreads towards the outside blur_radius how much blur to apply to the shadow gtk_snapshot_render_background () gtk_snapshot_render_background void gtk_snapshot_render_background (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height); Creates a render node for the CSS background according to context , and appends it to the current node of snapshot , without changing the current node. Parameters snapshot a GtkSnapshot context the GtkStyleContext to use x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_snapshot_render_frame () gtk_snapshot_render_frame void gtk_snapshot_render_frame (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height); Creates a render node for the CSS border according to context , and appends it to the current node of snapshot , without changing the current node. Parameters snapshot a GtkSnapshot context the GtkStyleContext to use x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_snapshot_render_focus () gtk_snapshot_render_focus void gtk_snapshot_render_focus (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height); Creates a render node for the focus outline according to context , and appends it to the current node of snapshot , without changing the current node. Parameters snapshot a GtkSnapshot context the GtkStyleContext to use x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_snapshot_render_layout () gtk_snapshot_render_layout void gtk_snapshot_render_layout (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout); Creates a render node for rendering layout according to the style information in context , and appends it to the current node of snapshot , without changing the current node. Parameters snapshot a GtkSnapshot context the GtkStyleContext to use x X origin of the rectangle y Y origin of the rectangle layout the PangoLayout to render gtk_snapshot_render_insertion_cursor () gtk_snapshot_render_insertion_cursor void gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout, int index, PangoDirection direction); Draws a text caret using snapshot at the specified index of layout . Parameters snapshot snapshot to render to context a GtkStyleContext x X origin y Y origin layout the PangoLayout of the text index the index in the PangoLayout direction the PangoDirection of the text Types and Values GtkSnapshot GtkSnapshot typedef GdkSnapshot GtkSnapshot; docs/reference/gtk/xml/gtkwidgetpaintable.xml0000664000175000017500000002305513710700313021554 0ustar mclasenmclasen ]> GtkWidgetPaintable 3 GTK4 Library GtkWidgetPaintable Drawing a widget elsewhere Functions GdkPaintable * gtk_widget_paintable_new () GtkWidget * gtk_widget_paintable_get_widget () void gtk_widget_paintable_set_widget () Types and Values GtkWidgetPaintable Includes#include <gtk/gtk.h> Description GtkWidgetPaintable is an implementation of the GdkPaintable interface that allows displaying the contents of a GtkWidget. GtkWidgetPaintable will also take care of the widget not being in a state where it can be drawn (like when it isn't shown) and just draw nothing or where it does not have a size (like when it is hidden) and report no size in that case. Of course, GtkWidgetPaintable allows you to monitor widgets for size changes by emitting the “invalidate-size” signal whenever the size of the widget changes as well as for visual changes by emitting the “invalidate-contents” signal whenever the widget changes. You can of course use a GtkWidgetPaintable everywhere a GdkPaintable is allowed, including using it on a GtkPicture (or one of its parents) that it was set on itself via gtk_picture_set_paintable(). The paintable will take care of recursion when this happens. If you do this however, ensure the “can-shrink” property is set to TRUE or you might end up with an infinitely growing widget. Functions gtk_widget_paintable_new () gtk_widget_paintable_new GdkPaintable * gtk_widget_paintable_new (GtkWidget *widget); Creates a new widget paintable observing the given widget. Parameters widget a GtkWidget or NULL. [allow-none][transfer none] Returns a new GtkWidgetPaintable. [transfer full][type GtkWidgetPaintable] gtk_widget_paintable_get_widget () gtk_widget_paintable_get_widget GtkWidget * gtk_widget_paintable_get_widget (GtkWidgetPaintable *self); Returns the widget that is observed or NULL if none. Parameters self a GtkWidgetPaintable Returns the observed widget. [transfer none][nullable] gtk_widget_paintable_set_widget () gtk_widget_paintable_set_widget void gtk_widget_paintable_set_widget (GtkWidgetPaintable *self, GtkWidget *widget); Sets the widget that should be observed. Parameters self a GtkWidgetPaintable widget the widget to observe or NULL. [allow-none] Types and Values GtkWidgetPaintable GtkWidgetPaintable typedef struct _GtkWidgetPaintable GtkWidgetPaintable; See Also GtkWidget, GdkPaintable docs/reference/gtk/xml/gtkwidget.xml0000664000175000017500000203656113710700313017704 0ustar mclasenmclasen ]> GtkWidget 3 GTK4 Library GtkWidget Base class for all widgets Functions void (*GtkCallback) () GtkWidget * gtk_widget_new () gboolean gtk_widget_in_destruction () void gtk_widget_unparent () void gtk_widget_show () void gtk_widget_hide () void gtk_widget_map () void gtk_widget_unmap () void gtk_widget_realize () void gtk_widget_unrealize () void gtk_widget_queue_draw () void gtk_widget_queue_resize () void gtk_widget_queue_allocate () GdkFrameClock * gtk_widget_get_frame_clock () int gtk_widget_get_scale_factor () gboolean (*GtkTickCallback) () guint gtk_widget_add_tick_callback () void gtk_widget_remove_tick_callback () void gtk_widget_size_allocate () void gtk_widget_allocate () void gtk_widget_class_add_shortcut () void gtk_widget_class_add_binding () void gtk_widget_class_add_binding_signal () void gtk_widget_class_add_binding_action () void gtk_widget_class_set_layout_manager_type () GType gtk_widget_class_get_layout_manager_type () gboolean gtk_widget_activate () gboolean gtk_widget_is_focus () gboolean gtk_widget_grab_focus () void gtk_widget_set_name () const char * gtk_widget_get_name () void gtk_widget_set_sensitive () void gtk_widget_set_parent () GtkRoot * gtk_widget_get_root () GtkNative * gtk_widget_get_native () GtkWidget * gtk_widget_get_ancestor () gboolean gtk_widget_is_ancestor () gboolean gtk_widget_translate_coordinates () void gtk_widget_add_controller () void gtk_widget_remove_controller () void gtk_widget_set_direction () GtkTextDirection gtk_widget_get_direction () void gtk_widget_set_default_direction () GtkTextDirection gtk_widget_get_default_direction () PangoContext * gtk_widget_create_pango_context () PangoContext * gtk_widget_get_pango_context () void gtk_widget_set_font_options () const cairo_font_options_t * gtk_widget_get_font_options () void gtk_widget_set_font_map () PangoFontMap * gtk_widget_get_font_map () PangoLayout * gtk_widget_create_pango_layout () GdkCursor * gtk_widget_get_cursor () void gtk_widget_set_cursor () void gtk_widget_set_cursor_from_name () gboolean gtk_widget_mnemonic_activate () void gtk_widget_class_set_accessible_role () gboolean gtk_widget_child_focus () gboolean gtk_widget_get_child_visible () GtkWidget * gtk_widget_get_parent () GtkSettings * gtk_widget_get_settings () GdkClipboard * gtk_widget_get_clipboard () GdkClipboard * gtk_widget_get_primary_clipboard () GdkDisplay * gtk_widget_get_display () void gtk_widget_get_size_request () void gtk_widget_set_child_visible () void gtk_widget_set_size_request () GList * gtk_widget_list_mnemonic_labels () void gtk_widget_add_mnemonic_label () void gtk_widget_remove_mnemonic_label () void gtk_widget_error_bell () gboolean gtk_widget_keynav_failed () const char * gtk_widget_get_tooltip_markup () void gtk_widget_set_tooltip_markup () const char * gtk_widget_get_tooltip_text () void gtk_widget_set_tooltip_text () gboolean gtk_widget_get_has_tooltip () void gtk_widget_set_has_tooltip () void gtk_widget_trigger_tooltip_query () int gtk_widget_get_allocated_width () int gtk_widget_get_allocated_height () void gtk_widget_get_allocation () int gtk_widget_get_allocated_baseline () int gtk_widget_get_width () int gtk_widget_get_height () int gtk_widget_get_size () gboolean gtk_widget_compute_bounds () gboolean gtk_widget_compute_transform () gboolean gtk_widget_compute_point () gboolean gtk_widget_contains () GtkWidget * gtk_widget_pick () gboolean gtk_widget_get_can_focus () void gtk_widget_set_can_focus () gboolean gtk_widget_get_focusable () void gtk_widget_set_focusable () gboolean gtk_widget_get_focus_on_click () void gtk_widget_set_focus_on_click () void gtk_widget_set_focus_child () gboolean gtk_widget_get_can_target () void gtk_widget_set_can_target () gboolean gtk_widget_get_sensitive () gboolean gtk_widget_is_sensitive () gboolean gtk_widget_get_visible () gboolean gtk_widget_is_visible () void gtk_widget_set_visible () void gtk_widget_set_state_flags () void gtk_widget_unset_state_flags () GtkStateFlags gtk_widget_get_state_flags () gboolean gtk_widget_has_default () gboolean gtk_widget_has_focus () gboolean gtk_widget_has_visible_focus () gboolean gtk_widget_is_drawable () void gtk_widget_set_receives_default () gboolean gtk_widget_get_receives_default () gboolean gtk_widget_get_realized () gboolean gtk_widget_get_mapped () double gtk_widget_get_opacity () void gtk_widget_set_opacity () GtkOverflow gtk_widget_get_overflow () void gtk_widget_set_overflow () void gtk_widget_measure () void gtk_widget_snapshot_child () GtkWidget * gtk_widget_get_next_sibling () GtkWidget * gtk_widget_get_prev_sibling () GtkWidget * gtk_widget_get_first_child () GtkWidget * gtk_widget_get_last_child () void gtk_widget_insert_before () void gtk_widget_insert_after () void gtk_widget_set_layout_manager () GtkLayoutManager * gtk_widget_get_layout_manager () gboolean gtk_widget_should_layout () const char * gtk_widget_get_css_name () void gtk_widget_add_css_class () void gtk_widget_remove_css_class () gboolean gtk_widget_has_css_class () char ** gtk_widget_get_css_classes () void gtk_widget_set_css_classes () GtkStyleContext * gtk_widget_get_style_context () const char * gtk_widget_class_get_css_name () void gtk_widget_class_set_css_name () GtkRequisition * gtk_requisition_new () GtkRequisition * gtk_requisition_copy () void gtk_requisition_free () GtkSizeRequestMode gtk_widget_get_request_mode () void gtk_widget_get_preferred_size () int gtk_distribute_natural_allocation () GtkAlign gtk_widget_get_halign () void gtk_widget_set_halign () GtkAlign gtk_widget_get_valign () void gtk_widget_set_valign () int gtk_widget_get_margin_start () void gtk_widget_set_margin_start () int gtk_widget_get_margin_end () void gtk_widget_set_margin_end () int gtk_widget_get_margin_top () void gtk_widget_set_margin_top () int gtk_widget_get_margin_bottom () void gtk_widget_set_margin_bottom () gboolean gtk_widget_get_hexpand () void gtk_widget_set_hexpand () gboolean gtk_widget_get_hexpand_set () void gtk_widget_set_hexpand_set () gboolean gtk_widget_get_vexpand () void gtk_widget_set_vexpand () gboolean gtk_widget_get_vexpand_set () void gtk_widget_set_vexpand_set () gboolean gtk_widget_compute_expand () void gtk_widget_init_template () void gtk_widget_class_set_template () void gtk_widget_class_set_template_from_resource () GObject * gtk_widget_get_template_child () #definegtk_widget_class_bind_template_child() #definegtk_widget_class_bind_template_child_internal() #definegtk_widget_class_bind_template_child_private() #definegtk_widget_class_bind_template_child_internal_private() void gtk_widget_class_bind_template_child_full () #definegtk_widget_class_bind_template_callback() void gtk_widget_class_bind_template_callback_full () void gtk_widget_class_set_template_scope () GListModel * gtk_widget_observe_children () GListModel * gtk_widget_observe_controllers () void gtk_widget_insert_action_group () gboolean gtk_widget_activate_action () gboolean gtk_widget_activate_action_variant () void gtk_widget_activate_default () void (*GtkWidgetActionActivateFunc) () void gtk_widget_class_install_action () void gtk_widget_class_install_property_action () gboolean gtk_widget_class_query_action () void gtk_widget_action_set_enabled () Properties gbooleancan-focusRead / Write gbooleancan-targetRead / Write GStrvcss-classesRead / Write gchar *css-nameRead / Write / Construct Only GdkCursor *cursorRead / Write gbooleanfocus-on-clickRead / Write gbooleanfocusableRead / Write GtkAlignhalignRead / Write gbooleanhas-defaultRead gbooleanhas-focusRead gbooleanhas-tooltipRead / Write gintheight-requestRead / Write gbooleanhexpandRead / Write gbooleanhexpand-setRead / Write GtkLayoutManager *layout-managerRead / Write gintmargin-bottomRead / Write gintmargin-endRead / Write gintmargin-startRead / Write gintmargin-topRead / Write gchar *nameRead / Write gdoubleopacityRead / Write GtkOverflowoverflowRead / Write GtkWidget *parentRead gbooleanreceives-defaultRead / Write GtkRoot *rootRead gintscale-factorRead gbooleansensitiveRead / Write gchar *tooltip-markupRead / Write gchar *tooltip-textRead / Write GtkAlignvalignRead / Write gbooleanvexpandRead / Write gbooleanvexpand-setRead / Write gbooleanvisibleRead / Write gintwidth-requestRead / Write Signals voiddestroyNo Hooks voiddirection-changedRun First voidhideRun First gbooleankeynav-failedRun Last voidmapRun First gbooleanmnemonic-activateRun Last voidmove-focusAction gbooleanquery-tooltipRun Last voidrealizeRun First voidshowRun First voidstate-flags-changedRun First voidunmapRun First voidunrealizeRun Last Types and Values GtkWidget structGtkWidgetClass GtkRequisition typedefGtkAllocation enumGtkTextDirection enumGtkPickFlags enumGtkOverflow enumGtkSizeRequestMode structGtkRequestedSize enumGtkAlign Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ├── GtkWindow ├── GtkAccelLabel ├── GtkActionBar ├── GtkAppChooserButton ├── GtkAppChooserWidget ├── GtkAspectFrame ├── GtkBox ├── GtkButton ├── GtkCalendar ├── GtkCellView ├── GtkColorButton ├── GtkColorChooserWidget ├── GtkColumnView ├── GtkComboBox ├── GtkDragIcon ├── GtkDrawingArea ├── GtkDropDown ├── GtkEditableLabel ├── GtkPopover ├── GtkEntry ├── GtkExpander ├── GtkFileChooserButton ├── GtkFileChooserWidget ├── GtkFixed ├── GtkFlowBox ├── GtkFlowBoxChild ├── GtkFontButton ├── GtkFontChooserWidget ├── GtkFrame ├── GtkGLArea ├── GtkGrid ├── GtkListBase ├── GtkHeaderBar ├── GtkIconView ├── GtkImage ├── GtkInfoBar ├── GtkLabel ├── GtkListBox ├── GtkListBoxRow ├── GtkMediaControls ├── GtkMenuButton ├── GtkNotebook ├── GtkOverlay ├── GtkPaned ├── GtkPasswordEntry ├── GtkPicture ├── GtkPopoverMenuBar ├── GtkProgressBar ├── GtkRange ├── GtkRevealer ├── GtkScaleButton ├── GtkScrollbar ├── GtkScrolledWindow ├── GtkSearchBar ├── GtkSearchEntry ├── GtkSeparator ├── GtkShortcutLabel ├── GtkShortcutsShortcut ├── GtkSpinButton ├── GtkSpinner ├── GtkStack ├── GtkStackSidebar ├── GtkStackSwitcher ├── GtkStatusbar ├── GtkSwitch ├── GtkLevelBar ├── GtkText ├── GtkTextView ├── GtkTreeExpander ├── GtkTreeView ├── GtkVideo ├── GtkViewport ├── GtkWindowControls ╰── GtkWindowHandle Known Derived Interfaces GtkWidget is required by GtkActionable, GtkAppChooser, GtkCellEditable, GtkEditable, GtkNative and GtkRoot. Implemented Interfaces GtkWidget implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkWidget is the base class all widgets in GTK+ derive from. It manages the widget lifecycle, states and style. Height-for-width Geometry ManagementGTK+ uses a height-for-width (and width-for-height) geometry management system. Height-for-width means that a widget can change how much vertical space it needs, depending on the amount of horizontal space that it is given (and similar for width-for-height). The most common example is a label that reflows to fill up the available width, wraps to fewer lines, and therefore needs less height. Height-for-width geometry management is implemented in GTK+ by way of two virtual methods: GtkWidgetClass.get_request_mode() GtkWidgetClass.measure() There are some important things to keep in mind when implementing height-for-width and when using it in widget implementations. If you implement a direct GtkWidget subclass that supports height-for-width or width-for-height geometry management for itself or its child widgets, the GtkWidgetClass.get_request_mode() virtual function must be implemented as well and return the widget's preferred request mode. The default implementation of this virtual function returns GTK_SIZE_REQUEST_CONSTANT_SIZE, which means that the widget will only ever get -1 passed as the for_size value to its GtkWidgetClass.measure() implementation. The geometry management system will query a widget hierarchy in only one orientation at a time. When widgets are initially queried for their minimum sizes it is generally done in two initial passes in the GtkSizeRequestMode chosen by the toplevel. For example, when queried in the normal GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH mode: First, the default minimum and natural width for each widget in the interface will be computed using gtk_widget_measure() with an orientation of GTK_ORIENTATION_HORIZONTAL and a for_size of -1. Because the preferred widths for each widget depend on the preferred widths of their children, this information propagates up the hierarchy, and finally a minimum and natural width is determined for the entire toplevel. Next, the toplevel will use the minimum width to query for the minimum height contextual to that width using gtk_widget_measure() with an orientation of GTK_ORIENTATION_VERTICAL and a for_size of the just computed width. This will also be a highly recursive operation. The minimum height for the minimum width is normally used to set the minimum size constraint on the toplevel (unless gtk_window_set_geometry_hints() is explicitly used instead). After the toplevel window has initially requested its size in both dimensions it can go on to allocate itself a reasonable size (or a size previously specified with gtk_window_set_default_size()). During the recursive allocation process it’s important to note that request cycles will be recursively executed while widgets allocate their children. Each widget, once allocated a size, will go on to first share the space in one orientation among its children and then request each child's height for its target allocated width or its width for allocated height, depending. In this way a GtkWidget will typically be requested its size a number of times before actually being allocated a size. The size a widget is finally allocated can of course differ from the size it has requested. For this reason, GtkWidget caches a small number of results to avoid re-querying for the same sizes in one allocation cycle. If a widget does move content around to intelligently use up the allocated size then it must support the request in both GtkSizeRequestModes even if the widget in question only trades sizes in a single orientation. For instance, a GtkLabel that does height-for-width word wrapping will not expect to have GtkWidgetClass.measure() with an orientation of GTK_ORIENTATION_VERTICAL called because that call is specific to a width-for-height request. In this case the label must return the height required for its own minimum possible width. By following this rule any widget that handles height-for-width or width-for-height requests will always be allocated at least enough space to fit its own content. Here are some examples of how a GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH widget generally deals with width-for-height requests: measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, &min_width, &dummy, &dummy, &dummy); // Now use the minimum width to retrieve the minimum and natural height to display // that width. GTK_WIDGET_GET_CLASS (widget)->measure (widget, GTK_ORIENTATION_VERTICAL, min_width, minimum_size, natural_size, &dummy, &dummy); } else { // ... some widgets do both. } } } ]]> Often a widget needs to get its own request during size request or allocation. For example, when computing height it may need to also compute width. Or when deciding how to use an allocation, the widget may need to know its natural size. In these cases, the widget should be careful to call its virtual methods directly, like in the code example above. It will not work to use the wrapper function gtk_widget_measure() inside your own GtkWidgetClass.size-allocate() implementation. These return a request adjusted by GtkSizeGroup, the widget's align and expand flags as well as its CSS style. If a widget used the wrappers inside its virtual method implementations, then the adjustments (such as widget margins) would be applied twice. GTK+ therefore does not allow this and will warn if you try to do it. Of course if you are getting the size request for another widget, such as a child widget, you must use gtk_widget_measure(). Otherwise, you would not properly consider widget margins, GtkSizeGroup, and so forth. GTK+ also supports baseline vertical alignment of widgets. This means that widgets are positioned such that the typographical baseline of widgets in the same row are aligned. This happens if a widget supports baselines, has a vertical alignment of GTK_ALIGN_BASELINE, and is inside a widget that supports baselines and has a natural “row” that it aligns to the baseline, or a baseline assigned to it by the grandparent. Baseline alignment support for a widget is also done by the GtkWidgetClass.measure() virtual function. It allows you to report both a minimum and natural size. If a widget ends up baseline aligned it will be allocated all the space in the parent as if it was GTK_ALIGN_FILL, but the selected baseline can be found via gtk_widget_get_allocated_baseline(). If this has a value other than -1 you need to align the widget such that the baseline appears at the position. GtkWidget as GtkBuildableThe GtkWidget implementation of the GtkBuildable interface supports a custom <accelerator> element, which has attributes named ”key”, ”modifiers” and ”signal” and allows to specify accelerators. An example of a UI definition fragment specifying an accelerator: ]]> If the parent widget uses a GtkLayoutManager, GtkWidget supports a custom <layout> element, used to define layout properties: Description 0 0 1 1 1 0 1 1 ]]> Finally, GtkWidget allows style information such as style classes to be associated with widgets, using the custom <style> element: ]]> Building composite widgets from template XMLGtkWidget exposes some facilities to automate the procedure of creating composite widgets using GtkBuilder interface description language. To create composite widgets with GtkBuilder XML, one must associate the interface description with the widget class at class initialization time using gtk_widget_class_set_template(). The interface description semantics expected in composite template descriptions is slightly different from regular GtkBuilder XML. Unlike regular interface descriptions, gtk_widget_class_set_template() will expect a <template> tag as a direct child of the toplevel <interface> tag. The <template> tag must specify the “class” attribute which must be the type name of the widget. Optionally, the “parent” attribute may be specified to specify the direct parent type of the widget type, this is ignored by the GtkBuilder but required for Glade to introspect what kind of properties and internal children exist for a given type when the actual type does not exist. The XML which is contained inside the <template> tag behaves as if it were added to the <object> tag defining widget itself. You may set properties on widget by inserting <property> tags into the <template> tag, and also add <child> tags to add children and extend widget in the normal way you would with <object> tags. Additionally, <object> tags can also be added before and after the initial <template> tag in the normal way, allowing one to define auxiliary objects which might be referenced by other widgets declared as children of the <template> tag. An example of a GtkBuilder Template Definition: ]]> Typically, you'll place the template fragment into a file that is bundled with your project, using GResource. In order to load the template, you need to call gtk_widget_class_set_template_from_resource() from the class initialization of your GtkWidget type: You will also need to call gtk_widget_init_template() from the instance initialization function: You can access widgets defined in the template using the gtk_widget_get_template_child() function, but you will typically declare a pointer in the instance private data structure of your type using the same name as the widget in the template definition, and call gtk_widget_class_bind_template_child_private() with that name, e.g. You can also use gtk_widget_class_bind_template_callback() to connect a signal callback defined in the template with a function visible in the scope of the class, e.g. Functions GtkCallback () GtkCallback void (*GtkCallback) (GtkWidget *widget, gpointer data); The type of the callback functions used for e.g. iterating over the children of a container, see gtk_container_foreach(). Parameters widget the widget to operate on data user-supplied data. [closure] gtk_widget_new () gtk_widget_new GtkWidget * gtk_widget_new (GType type, const char *first_property_name, ...); This is a convenience function for creating a widget and setting its properties in one go. For example you might write: gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", 0.0, NULL) to create a left-aligned label. Equivalent to g_object_new(), but returns a widget so you don’t have to cast the object yourself. Parameters type type ID of the widget to create first_property_name name of first property to set ... value of first property, followed by more properties, NULL-terminated Returns a new GtkWidget of type widget_type gtk_widget_in_destruction () gtk_widget_in_destruction gboolean gtk_widget_in_destruction (GtkWidget *widget); Returns whether the widget is currently being destroyed. This information can sometimes be used to avoid doing unnecessary work. Parameters widget a GtkWidget Returns TRUE if widget is being destroyed gtk_widget_unparent () gtk_widget_unparent void gtk_widget_unparent (GtkWidget *widget); This function is only for use in widget implementations. Should be called by parent widgets to dissociate widget from the parent. Parameters widget a GtkWidget gtk_widget_show () gtk_widget_show void gtk_widget_show (GtkWidget *widget); Flags a widget to be displayed. Any widget that isn’t shown will not appear on the screen. Remember that you have to show the containers containing a widget, in addition to the widget itself, before it will appear onscreen. When a toplevel container is shown, it is immediately realized and mapped; other shown widgets are realized and mapped when their toplevel container is realized and mapped. Parameters widget a GtkWidget gtk_widget_hide () gtk_widget_hide void gtk_widget_hide (GtkWidget *widget); Reverses the effects of gtk_widget_show(), causing the widget to be hidden (invisible to the user). Parameters widget a GtkWidget gtk_widget_map () gtk_widget_map void gtk_widget_map (GtkWidget *widget); This function is only for use in widget implementations. Causes a widget to be mapped if it isn’t already. Parameters widget a GtkWidget gtk_widget_unmap () gtk_widget_unmap void gtk_widget_unmap (GtkWidget *widget); This function is only for use in widget implementations. Causes a widget to be unmapped if it’s currently mapped. Parameters widget a GtkWidget gtk_widget_realize () gtk_widget_realize void gtk_widget_realize (GtkWidget *widget); Creates the GDK (windowing system) resources associated with a widget. Normally realization happens implicitly; if you show a widget and all its parent containers, then the widget will be realized and mapped automatically. Realizing a widget requires all the widget’s parent widgets to be realized; calling gtk_widget_realize() realizes the widget’s parents in addition to widget itself. If a widget is not yet inside a toplevel window when you realize it, bad things will happen. This function is primarily used in widget implementations, and isn’t very useful otherwise. Many times when you think you might need it, a better approach is to connect to a signal that will be called after the widget is realized automatically, such as “realize”. Parameters widget a GtkWidget gtk_widget_unrealize () gtk_widget_unrealize void gtk_widget_unrealize (GtkWidget *widget); This function is only useful in widget implementations. Causes a widget to be unrealized (frees all GDK resources associated with the widget). Parameters widget a GtkWidget gtk_widget_queue_draw () gtk_widget_queue_draw void gtk_widget_queue_draw (GtkWidget *widget); Schedules this widget to be redrawn in paint phase of the current or the next frame. This means widget 's GtkWidgetClass.snapshot() implementation will be called. Parameters widget a GtkWidget gtk_widget_queue_resize () gtk_widget_queue_resize void gtk_widget_queue_resize (GtkWidget *widget); This function is only for use in widget implementations. Flags a widget to have its size renegotiated; should be called when a widget for some reason has a new size request. For example, when you change the text in a GtkLabel, GtkLabel queues a resize to ensure there’s enough space for the new text. Note that you cannot call gtk_widget_queue_resize() on a widget from inside its implementation of the GtkWidgetClass::size_allocate virtual method. Calls to gtk_widget_queue_resize() from inside GtkWidgetClass::size_allocate will be silently ignored. Parameters widget a GtkWidget gtk_widget_queue_allocate () gtk_widget_queue_allocate void gtk_widget_queue_allocate (GtkWidget *widget); This function is only for use in widget implementations. Flags the widget for a rerun of the GtkWidgetClass::size_allocate function. Use this function instead of gtk_widget_queue_resize() when the widget 's size request didn't change but it wants to reposition its contents. An example user of this function is gtk_widget_set_halign(). Parameters widget a GtkWidget gtk_widget_get_frame_clock () gtk_widget_get_frame_clock GdkFrameClock * gtk_widget_get_frame_clock (GtkWidget *widget); Obtains the frame clock for a widget. The frame clock is a global “ticker” that can be used to drive animations and repaints. The most common reason to get the frame clock is to call gdk_frame_clock_get_frame_time(), in order to get a time to use for animating. For example you might record the start of the animation with an initial value from gdk_frame_clock_get_frame_time(), and then update the animation by calling gdk_frame_clock_get_frame_time() again during each repaint. gdk_frame_clock_request_phase() will result in a new frame on the clock, but won’t necessarily repaint any widgets. To repaint a widget, you have to use gtk_widget_queue_draw() which invalidates the widget (thus scheduling it to receive a draw on the next frame). gtk_widget_queue_draw() will also end up requesting a frame on the appropriate frame clock. A widget’s frame clock will not change while the widget is mapped. Reparenting a widget (which implies a temporary unmap) can change the widget’s frame clock. Unrealized widgets do not have a frame clock. Parameters widget a GtkWidget Returns a GdkFrameClock, or NULL if widget is unrealized. [nullable][transfer none] gtk_widget_get_scale_factor () gtk_widget_get_scale_factor int gtk_widget_get_scale_factor (GtkWidget *widget); Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. On traditional systems this is 1, on high density outputs, it can be a higher value (typically 2). See gdk_surface_get_scale_factor(). Parameters widget a GtkWidget Returns the scale factor for widget GtkTickCallback () GtkTickCallback gboolean (*GtkTickCallback) (GtkWidget *widget, GdkFrameClock *frame_clock, gpointer user_data); Callback type for adding a function to update animations. See gtk_widget_add_tick_callback(). Parameters widget the widget frame_clock the frame clock for the widget (same as calling gtk_widget_get_frame_clock()) user_data user data passed to gtk_widget_add_tick_callback(). Returns G_SOURCE_CONTINUE if the tick callback should continue to be called, G_SOURCE_REMOVE if the tick callback should be removed. gtk_widget_add_tick_callback () gtk_widget_add_tick_callback guint gtk_widget_add_tick_callback (GtkWidget *widget, GtkTickCallback callback, gpointer user_data, GDestroyNotify notify); Queues an animation frame update and adds a callback to be called before each frame. Until the tick callback is removed, it will be called frequently (usually at the frame rate of the output device or as quickly as the application can be repainted, whichever is slower). For this reason, is most suitable for handling graphics that change every frame or every few frames. The tick callback does not automatically imply a relayout or repaint. If you want a repaint or relayout, and aren’t changing widget properties that would trigger that (for example, changing the text of a GtkLabel), then you will have to call gtk_widget_queue_resize() or gtk_widget_queue_draw() yourself. gdk_frame_clock_get_frame_time() should generally be used for timing continuous animations and gdk_frame_timings_get_predicted_presentation_time() if you are trying to display isolated frames at particular times. This is a more convenient alternative to connecting directly to the “update” signal of GdkFrameClock, since you don't have to worry about when a GdkFrameClock is assigned to a widget. Parameters widget a GtkWidget callback function to call for updating animations user_data data to pass to callback . [closure] notify function to call to free user_data when the callback is removed. Returns an id for the connection of this callback. Remove the callback by passing the id returned from this function to gtk_widget_remove_tick_callback() gtk_widget_remove_tick_callback () gtk_widget_remove_tick_callback void gtk_widget_remove_tick_callback (GtkWidget *widget, guint id); Removes a tick callback previously registered with gtk_widget_add_tick_callback(). Parameters widget a GtkWidget id an id returned by gtk_widget_add_tick_callback() gtk_widget_size_allocate () gtk_widget_size_allocate void gtk_widget_size_allocate (GtkWidget *widget, const GtkAllocation *allocation, int baseline); This is a simple form of gtk_widget_allocate() that takes the new position of widget as part of allocation . Parameters widget a GtkWidget allocation position and size to be allocated to widget baseline The baseline of the child, or -1 gtk_widget_allocate () gtk_widget_allocate void gtk_widget_allocate (GtkWidget *widget, int width, int height, int baseline, GskTransform *transform); This function is only used by GtkWidget subclasses, to assign a size, position and (optionally) baseline to their child widgets. In this function, the allocation and baseline may be adjusted. The given allocation will be forced to be bigger than the widget's minimum size, as well as at least 0×0 in size. For a version that does not take a transform, see gtk_widget_size_allocate() Parameters widget A GtkWidget width New width of widget height New height of widget baseline New baseline of widget , or -1 transform Transformation to be applied to widget . [transfer full][allow-none] gtk_widget_class_add_shortcut () gtk_widget_class_add_shortcut void gtk_widget_class_add_shortcut (GtkWidgetClass *widget_class, GtkShortcut *shortcut); Installs a shortcut in widget_class . Every instance created for widget_class or its subclasses will inherit this shortcut and trigger it. Shortcuts added this way will be triggered in the GTK_PHASE_BUBBLE phase, which means they may also trigger if child widgets have focus. This function must only be used in class initialization functions otherwise it is not guaranteed that the shortcut will be installed. Parameters widget_class the class to add the shortcut to shortcut the GtkShortcut to add. [transfer none] gtk_widget_class_add_binding () gtk_widget_class_add_binding void gtk_widget_class_add_binding (GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, GtkShortcutFunc callback, const char *format_string, ...); Creates a new shortcut for widget_class that calls the given callback with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new(). This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization. It does not provide for user_data, if you need that, you will have to use gtk_widget_class_add_shortcut() with a custom shortcut. [skip] Parameters widget_class the class to add the binding to keyval key value of binding to install mods key modifier of binding to install callback the callback to call upon activation format_string GVariant format string for arguments or NULL for no arguments ... arguments, as given by format string. gtk_widget_class_add_binding_signal () gtk_widget_class_add_binding_signal void gtk_widget_class_add_binding_signal (GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, const char *signal, const char *format_string, ...); Creates a new shortcut for widget_class that emits the given action signal with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new(). This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization. [skip] Parameters widget_class the class to add the binding to keyval key value of binding to install mods key modifier of binding to install signal the signal to execute format_string GVariant format string for arguments or NULL for no arguments ... arguments, as given by format string. gtk_widget_class_add_binding_action () gtk_widget_class_add_binding_action void gtk_widget_class_add_binding_action (GtkWidgetClass *widget_class, guint keyval, GdkModifierType mods, const char *action_name, const char *format_string, ...); Creates a new shortcut for widget_class that activates the given action_name with arguments read according to format_string . The arguments and format string must be provided in the same way as with g_variant_new(). This function is a convenience wrapper around gtk_widget_class_add_shortcut() and must be called during class initialization. [skip] Parameters widget_class the class to add the binding to keyval key value of binding to install mods key modifier of binding to install action_name the action to activate format_string GVariant format string for arguments or NULL for no arguments ... arguments, as given by format string. gtk_widget_class_set_layout_manager_type () gtk_widget_class_set_layout_manager_type void gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class, GType type); Sets the type to be used for creating layout managers for widgets of widget_class . The given type must be a subtype of GtkLayoutManager. This function should only be called from class init functions of widgets. Parameters widget_class class to set the layout manager type for type The object type that implements the GtkLayoutManager for widget_class gtk_widget_class_get_layout_manager_type () gtk_widget_class_get_layout_manager_type GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class); Retrieves the type of the GtkLayoutManager used by the GtkWidget class. See also: gtk_widget_class_set_layout_manager_type() Parameters widget_class a GtkWidgetClass Returns a GtkLayoutManager subclass, or G_TYPE_INVALID gtk_widget_activate () gtk_widget_activate gboolean gtk_widget_activate (GtkWidget *widget); For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. Activation is what happens when you press Enter on a widget during key navigation. If widget isn't activatable, the function returns FALSE. Parameters widget a GtkWidget that’s activatable Returns TRUE if the widget was activatable gtk_widget_is_focus () gtk_widget_is_focus gboolean gtk_widget_is_focus (GtkWidget *widget); Determines if the widget is the focus widget within its toplevel. (This does not mean that the “has-focus” property is necessarily set; “has-focus” will only be set if the toplevel widget additionally has the global input focus.) Parameters widget a GtkWidget Returns TRUE if the widget is the focus widget. gtk_widget_grab_focus () gtk_widget_grab_focus gboolean gtk_widget_grab_focus (GtkWidget *widget); Causes widget (or one of its descendents) to have the keyboard focus for the GtkWindow it's inside. If widget is not focusable, or its ::grab_focus implementation cannot transfer the focus to a descendant of widget that is focusable, it will not take focus and FALSE will be returned. Calling gtk_widget_grab_focus() on an already focused widget is allowed, should not have an effect, and return TRUE. Parameters widget a GtkWidget Returns TRUE if focus is now inside widget . gtk_widget_set_name () gtk_widget_set_name void gtk_widget_set_name (GtkWidget *widget, const char *name); Widgets can be named, which allows you to refer to them from a CSS file. You can apply a style to widgets with a particular name in the CSS file. See the documentation for the CSS syntax (on the same page as the docs for GtkStyleContext). Note that the CSS syntax has certain special characters to delimit and represent elements in a selector (period, #, >, *...), so using these will make your widget impossible to match by name. Any combination of alphanumeric symbols, dashes and underscores will suffice. Parameters widget a GtkWidget name name for the widget gtk_widget_get_name () gtk_widget_get_name const char * gtk_widget_get_name (GtkWidget *widget); Retrieves the name of a widget. See gtk_widget_set_name() for the significance of widget names. Parameters widget a GtkWidget Returns name of the widget. This string is owned by GTK+ and should not be modified or freed gtk_widget_set_sensitive () gtk_widget_set_sensitive void gtk_widget_set_sensitive (GtkWidget *widget, gboolean sensitive); Sets the sensitivity of a widget. A widget is sensitive if the user can interact with it. Insensitive widgets are “grayed out” and the user can’t interact with them. Insensitive widgets are known as “inactive”, “disabled”, or “ghosted” in some other toolkits. Parameters widget a GtkWidget sensitive TRUE to make the widget sensitive gtk_widget_set_parent () gtk_widget_set_parent void gtk_widget_set_parent (GtkWidget *widget, GtkWidget *parent); This function is useful only when implementing subclasses of GtkWidget. Sets parent as the parent widget of widget , and takes care of some details such as updating the state and style of the child to reflect its new location and resizing the parent. The opposite function is gtk_widget_unparent(). Parameters widget a GtkWidget parent parent widget gtk_widget_get_root () gtk_widget_get_root GtkRoot * gtk_widget_get_root (GtkWidget *widget); Returns the GtkRoot widget of widget or NULL if the widget is not contained inside a widget tree with a root widget. GtkRoot widgets will return themselves here. Parameters widget a GtkWidget Returns the root widget of widget , or NULL. [transfer none][nullable] gtk_widget_get_native () gtk_widget_get_native GtkNative * gtk_widget_get_native (GtkWidget *widget); Returns the GtkNative widget that contains widget , or NULL if the widget is not contained inside a widget tree with a native ancestor. GtkNative widgets will return themselves here. Parameters widget a GtkWidget Returns the GtkNative widget of widget , or NULL. [transfer none][nullable] gtk_widget_get_ancestor () gtk_widget_get_ancestor GtkWidget * gtk_widget_get_ancestor (GtkWidget *widget, GType widget_type); Gets the first ancestor of widget with type widget_type . For example, gtk_widget_get_ancestor (widget, GTK_TYPE_BOX) gets the first GtkBox that’s an ancestor of widget . No reference will be added to the returned widget; it should not be unreferenced. Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() considers widget to be an ancestor of itself. Parameters widget a GtkWidget widget_type ancestor type Returns the ancestor widget, or NULL if not found. [transfer none][nullable] gtk_widget_is_ancestor () gtk_widget_is_ancestor gboolean gtk_widget_is_ancestor (GtkWidget *widget, GtkWidget *ancestor); Determines whether widget is somewhere inside ancestor , possibly with intermediate containers. Parameters widget a GtkWidget ancestor another GtkWidget Returns TRUE if ancestor contains widget as a child, grandchild, great grandchild, etc. gtk_widget_translate_coordinates () gtk_widget_translate_coordinates gboolean gtk_widget_translate_coordinates (GtkWidget *src_widget, GtkWidget *dest_widget, double src_x, double src_y, double *dest_x, double *dest_y); Translate coordinates relative to src_widget ’s allocation to coordinates relative to dest_widget ’s allocations. In order to perform this operation, both widget must share a common toplevel. Parameters src_widget a GtkWidget dest_widget a GtkWidget src_x X position relative to src_widget src_y Y position relative to src_widget dest_x location to store X position relative to dest_widget . [out][optional] dest_y location to store Y position relative to dest_widget . [out][optional] Returns FALSE if src_widget and dest_widget have no common ancestor. In this case, 0 is stored in *dest_x and *dest_y . Otherwise TRUE. gtk_widget_add_controller () gtk_widget_add_controller void gtk_widget_add_controller (GtkWidget *widget, GtkEventController *controller); Adds controller to widget so that it will receive events. You will usually want to call this function right after creating any kind of GtkEventController. Parameters widget a GtkWidget controller a GtkEventController that hasn't been added to a widget yet. [transfer full] gtk_widget_remove_controller () gtk_widget_remove_controller void gtk_widget_remove_controller (GtkWidget *widget, GtkEventController *controller); Removes controller from widget , so that it doesn't process events anymore. It should not be used again. Widgets will remove all event controllers automatically when they are destroyed, there is normally no need to call this function. Parameters widget a GtkWidget controller a GtkEventController. [transfer none] gtk_widget_set_direction () gtk_widget_set_direction void gtk_widget_set_direction (GtkWidget *widget, GtkTextDirection dir); Sets the reading direction on a particular widget. This direction controls the primary direction for widgets containing text, and also the direction in which the children of a container are packed. The ability to set the direction is present in order so that correct localization into languages with right-to-left reading directions can be done. Generally, applications will let the default reading direction present, except for containers where the containers are arranged in an order that is explicitly visual rather than logical (such as buttons for text justification). If the direction is set to GTK_TEXT_DIR_NONE, then the value set by gtk_widget_set_default_direction() will be used. Parameters widget a GtkWidget dir the new direction gtk_widget_get_direction () gtk_widget_get_direction GtkTextDirection gtk_widget_get_direction (GtkWidget *widget); Gets the reading direction for a particular widget. See gtk_widget_set_direction(). Parameters widget a GtkWidget Returns the reading direction for the widget. gtk_widget_set_default_direction () gtk_widget_set_default_direction void gtk_widget_set_default_direction (GtkTextDirection dir); Sets the default reading direction for widgets where the direction has not been explicitly set by gtk_widget_set_direction(). Parameters dir the new default direction. This cannot be GTK_TEXT_DIR_NONE. gtk_widget_get_default_direction () gtk_widget_get_default_direction GtkTextDirection gtk_widget_get_default_direction (void); Obtains the current default reading direction. See gtk_widget_set_default_direction(). Returns the current default direction. gtk_widget_create_pango_context () gtk_widget_create_pango_context PangoContext * gtk_widget_create_pango_context (GtkWidget *widget); Creates a new PangoContext with the appropriate font map, font options, font description, and base direction for drawing text for this widget. See also gtk_widget_get_pango_context(). Parameters widget a GtkWidget Returns the new PangoContext. [transfer full] gtk_widget_get_pango_context () gtk_widget_get_pango_context PangoContext * gtk_widget_get_pango_context (GtkWidget *widget); Gets a PangoContext with the appropriate font map, font description, and base direction for this widget. Unlike the context returned by gtk_widget_create_pango_context(), this context is owned by the widget (it can be used until the screen for the widget changes or the widget is removed from its toplevel), and will be updated to match any changes to the widget’s attributes. This can be tracked by listening to changes of the “root” property on the widget. Parameters widget a GtkWidget Returns the PangoContext for the widget. [transfer none] gtk_widget_set_font_options () gtk_widget_set_font_options void gtk_widget_set_font_options (GtkWidget *widget, const cairo_font_options_t *options); Sets the cairo_font_options_t used for Pango rendering in this widget. When not set, the default font options for the GdkDisplay will be used. Parameters widget a GtkWidget options a cairo_font_options_t, or NULL to unset any previously set default font options. [allow-none] gtk_widget_get_font_options () gtk_widget_get_font_options const cairo_font_options_t * gtk_widget_get_font_options (GtkWidget *widget); Returns the cairo_font_options_t used for Pango rendering. When not set, the defaults font options for the GdkDisplay will be used. Parameters widget a GtkWidget Returns the cairo_font_options_t or NULL if not set. [transfer none][nullable] gtk_widget_set_font_map () gtk_widget_set_font_map void gtk_widget_set_font_map (GtkWidget *widget, PangoFontMap *font_map); Sets the font map to use for Pango rendering. When not set, the widget will inherit the font map from its parent. Parameters widget a GtkWidget font_map a PangoFontMap, or NULL to unset any previously set font map. [allow-none] gtk_widget_get_font_map () gtk_widget_get_font_map PangoFontMap * gtk_widget_get_font_map (GtkWidget *widget); Gets the font map that has been set with gtk_widget_set_font_map(). Parameters widget a GtkWidget Returns A PangoFontMap, or NULL. [transfer none][nullable] gtk_widget_create_pango_layout () gtk_widget_create_pango_layout PangoLayout * gtk_widget_create_pango_layout (GtkWidget *widget, const char *text); Creates a new PangoLayout with the appropriate font map, font description, and base direction for drawing text for this widget. If you keep a PangoLayout created in this way around, you need to re-create it when the widget PangoContext is replaced. This can be tracked by listening to changes of the “root” property on the widget. Parameters widget a GtkWidget text text to set on the layout (can be NULL). [nullable] Returns the new PangoLayout. [transfer full] gtk_widget_get_cursor () gtk_widget_get_cursor GdkCursor * gtk_widget_get_cursor (GtkWidget *widget); Queries the cursor set via gtk_widget_set_cursor(). See that function for details. Parameters widget a GtkWidget Returns the cursor currently in use or NULL to use the default. [nullable][transfer none] gtk_widget_set_cursor () gtk_widget_set_cursor void gtk_widget_set_cursor (GtkWidget *widget, GdkCursor *cursor); Sets the cursor to be shown when pointer devices point towards widget . If the cursor is NULL, widget will use the cursor inherited from the parent widget. Parameters widget a GtkWidget cursor the new cursor or NULL to use the default cursor. [allow-none] gtk_widget_set_cursor_from_name () gtk_widget_set_cursor_from_name void gtk_widget_set_cursor_from_name (GtkWidget *widget, const char *name); Sets a named cursor to be shown when pointer devices point towards widget . This is a utility function that creates a cursor via gdk_cursor_new_from_name() and then sets it on widget with gtk_widget_set_cursor(). See those 2 functions for details. On top of that, this function allows name to be NULL, which will do the same as calling gtk_widget_set_cursor() with a NULL cursor. Parameters widget a GtkWidget name The name of the cursor or NULL to use the default cursor. [nullable] gtk_widget_mnemonic_activate () gtk_widget_mnemonic_activate gboolean gtk_widget_mnemonic_activate (GtkWidget *widget, gboolean group_cycling); Emits the “mnemonic-activate” signal. Parameters widget a GtkWidget group_cycling TRUE if there are other widgets with the same mnemonic Returns TRUE if the signal has been handled gtk_widget_class_set_accessible_role () gtk_widget_class_set_accessible_role void gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class, GtkAccessibleRole accessible_role); Sets the accessible role used by the given GtkWidget class. Different accessible roles have different states, and are rendered differently by assistive technologies. Parameters widget_class a GtkWidgetClass accessible_role the GtkAccessibleRole used by the widget_class gtk_widget_child_focus () gtk_widget_child_focus gboolean gtk_widget_child_focus (GtkWidget *widget, GtkDirectionType direction); This function is used by custom widget implementations; if you're writing an app, you’d use gtk_widget_grab_focus() to move the focus to a particular widget. gtk_widget_child_focus() is called by widgets as the user moves around the window using keyboard shortcuts. direction indicates what kind of motion is taking place (up, down, left, right, tab forward, tab backward). gtk_widget_child_focus() emits the “focus” signal; widgets override the default handler for this signal in order to implement appropriate focus behavior. The default ::focus handler for a widget should return TRUE if moving in direction left the focus on a focusable location inside that widget, and FALSE if moving in direction moved the focus outside the widget. If returning TRUE, widgets normally call gtk_widget_grab_focus() to place the focus accordingly; if returning FALSE, they don’t modify the current focus location. Parameters widget a GtkWidget direction direction of focus movement Returns TRUE if focus ended up inside widget gtk_widget_get_child_visible () gtk_widget_get_child_visible gboolean gtk_widget_get_child_visible (GtkWidget *widget); Gets the value set with gtk_widget_set_child_visible(). If you feel a need to use this function, your code probably needs reorganization. This function is only useful for container implementations and never should be called by an application. Parameters widget a GtkWidget Returns TRUE if the widget is mapped with the parent. gtk_widget_get_parent () gtk_widget_get_parent GtkWidget * gtk_widget_get_parent (GtkWidget *widget); Returns the parent widget of widget . Parameters widget a GtkWidget Returns the parent widget of widget , or NULL. [transfer none][nullable] gtk_widget_get_settings () gtk_widget_get_settings GtkSettings * gtk_widget_get_settings (GtkWidget *widget); Gets the settings object holding the settings used for this widget. Note that this function can only be called when the GtkWidget is attached to a toplevel, since the settings object is specific to a particular GdkDisplay. If you want to monitor the widget for changes in its settings, connect to notify::display. Parameters widget a GtkWidget Returns the relevant GtkSettings object. [transfer none] gtk_widget_get_clipboard () gtk_widget_get_clipboard GdkClipboard * gtk_widget_get_clipboard (GtkWidget *widget); This is a utility function to get the clipboard object for the GdkDisplay that widget is using. Note that this function always works, even when widget is not realized yet. Parameters widget a GtkWidget Returns the appropriate clipboard object. [transfer none] gtk_widget_get_primary_clipboard () gtk_widget_get_primary_clipboard GdkClipboard * gtk_widget_get_primary_clipboard (GtkWidget *widget); This is a utility function to get the primary clipboard object for the GdkDisplay that widget is using. Note that this function always works, even when widget is not realized yet. Parameters widget a GtkWidget Returns the appropriate clipboard object. [transfer none] gtk_widget_get_display () gtk_widget_get_display GdkDisplay * gtk_widget_get_display (GtkWidget *widget); Get the GdkDisplay for the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a GtkWindow at the top. In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized. Parameters widget a GtkWidget Returns the GdkDisplay for the toplevel for this widget. [transfer none] gtk_widget_get_size_request () gtk_widget_get_size_request void gtk_widget_get_size_request (GtkWidget *widget, int *width, int *height); Gets the size request that was explicitly set for the widget using gtk_widget_set_size_request(). A value of -1 stored in width or height indicates that that dimension has not been set explicitly and the natural requisition of the widget will be used instead. See gtk_widget_set_size_request(). To get the size a widget will actually request, call gtk_widget_measure() instead of this function. Parameters widget a GtkWidget width return location for width, or NULL. [out][allow-none] height return location for height, or NULL. [out][allow-none] gtk_widget_set_child_visible () gtk_widget_set_child_visible void gtk_widget_set_child_visible (GtkWidget *widget, gboolean child_visible); Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with gtk_widget_show(). The child visibility can be set for widget before it is added to a container with gtk_widget_set_parent(), to avoid mapping children unnecessary before immediately unmapping them. However it will be reset to its default state of TRUE when the widget is removed from a container. Note that changing the child visibility of a widget does not queue a resize on the widget. Most of the time, the size of a widget is computed from all visible children, whether or not they are mapped. If this is not the case, the container can queue a resize itself. This function is only useful for container implementations and never should be called by an application. Parameters widget a GtkWidget child_visible if TRUE, widget should be mapped along with its parent. gtk_widget_set_size_request () gtk_widget_set_size_request void gtk_widget_set_size_request (GtkWidget *widget, int width, int height); Sets the minimum size of a widget; that is, the widget’s size request will be at least width by height . You can use this function to force a widget to be larger than it normally would be. In most cases, gtk_window_set_default_size() is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the size request will force them to leave the window at least as large as the size request. When dealing with window sizes, gtk_window_set_geometry_hints() can be a useful function as well. Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can all change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct. The size request of a widget is the smallest size a widget can accept while still functioning well and drawing itself correctly. However in some strange cases a widget may be allocated less than its requested size, and in many cases a widget may be allocated more space than it requested. If the size request in a given direction is -1 (unset), then the “natural” size request of the widget will be used instead. The size request set here does not include any margin from the GtkWidget properties margin-left, margin-right, margin-top, and margin-bottom, but it does include pretty much all other padding or border properties set by any subclass of GtkWidget. Parameters widget a GtkWidget width width widget should request, or -1 to unset height height widget should request, or -1 to unset gtk_widget_list_mnemonic_labels () gtk_widget_list_mnemonic_labels GList * gtk_widget_list_mnemonic_labels (GtkWidget *widget); Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, gtk_label_set_mnemonic_widget()). The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call g_list_foreach (result, (GFunc)g_object_ref, NULL) first, and then unref all the widgets afterwards. Parameters widget a GtkWidget Returns the list of mnemonic labels; free this list with g_list_free() when you are done with it. [element-type GtkWidget][transfer container] gtk_widget_add_mnemonic_label () gtk_widget_add_mnemonic_label void gtk_widget_add_mnemonic_label (GtkWidget *widget, GtkWidget *label); Adds a widget to the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). Note the list of mnemonic labels for the widget is cleared when the widget is destroyed, so the caller must make sure to update its internal state at this point as well, by using a connection to the “destroy” signal or a weak notifier. Parameters widget a GtkWidget label a GtkWidget that acts as a mnemonic label for widget gtk_widget_remove_mnemonic_label () gtk_widget_remove_mnemonic_label void gtk_widget_remove_mnemonic_label (GtkWidget *widget, GtkWidget *label); Removes a widget from the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). The widget must have previously been added to the list with gtk_widget_add_mnemonic_label(). Parameters widget a GtkWidget label a GtkWidget that was previously set as a mnemonic label for widget with gtk_widget_add_mnemonic_label(). gtk_widget_error_bell () gtk_widget_error_bell void gtk_widget_error_bell (GtkWidget *widget); Notifies the user about an input-related error on this widget. If the “gtk-error-bell” setting is TRUE, it calls gdk_surface_beep(), otherwise it does nothing. Note that the effect of gdk_surface_beep() can be configured in many ways, depending on the windowing backend and the desktop environment or window manager that is used. Parameters widget a GtkWidget gtk_widget_keynav_failed () gtk_widget_keynav_failed gboolean gtk_widget_keynav_failed (GtkWidget *widget, GtkDirectionType direction); This function should be called whenever keyboard navigation within a single widget hits a boundary. The function emits the “keynav-failed” signal on the widget and its return value should be interpreted in a way similar to the return value of gtk_widget_child_focus(): When TRUE is returned, stay in the widget, the failed keyboard navigation is OK and/or there is nowhere we can/should move the focus to. When FALSE is returned, the caller should continue with keyboard navigation outside the widget, e.g. by calling gtk_widget_child_focus() on the widget’s toplevel. The default ::keynav-failed handler returns FALSE for GTK_DIR_TAB_FORWARD and GTK_DIR_TAB_BACKWARD. For the other values of GtkDirectionType it returns TRUE. Whenever the default handler returns TRUE, it also calls gtk_widget_error_bell() to notify the user of the failed keyboard navigation. A use case for providing an own implementation of ::keynav-failed (either by connecting to it or by overriding it) would be a row of GtkEntry widgets where the user should be able to navigate the entire row with the cursor keys, as e.g. known from user interfaces that require entering license keys. Parameters widget a GtkWidget direction direction of focus movement Returns TRUE if stopping keyboard navigation is fine, FALSE if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s). gtk_widget_get_tooltip_markup () gtk_widget_get_tooltip_markup const char * gtk_widget_get_tooltip_markup (GtkWidget *widget); Gets the contents of the tooltip for widget set using gtk_widget_set_tooltip_markup(). Parameters widget a GtkWidget Returns the tooltip text. [nullable] gtk_widget_set_tooltip_markup () gtk_widget_set_tooltip_markup void gtk_widget_set_tooltip_markup (GtkWidget *widget, const char *markup); Sets markup as the contents of the tooltip, which is marked up with the Pango text markup language. This function will take care of setting the “has-tooltip” as a side effect, and of the default handler for the “query-tooltip” signal. See also the “tooltip-markup” property and gtk_tooltip_set_markup(). Parameters widget a GtkWidget markup the contents of the tooltip for widget . [nullable] gtk_widget_get_tooltip_text () gtk_widget_get_tooltip_text const char * gtk_widget_get_tooltip_text (GtkWidget *widget); Gets the contents of the tooltip for widget . If the widget 's tooltip was set using gtk_widget_set_tooltip_markup(), this function will return the escaped text. Parameters widget a GtkWidget Returns the tooltip text. [nullable] gtk_widget_set_tooltip_text () gtk_widget_set_tooltip_text void gtk_widget_set_tooltip_text (GtkWidget *widget, const char *text); Sets text as the contents of the tooltip. If text contains any markup, it will be escaped. This function will take care of setting “has-tooltip” as a side effect, and of the default handler for the “query-tooltip” signal. See also the “tooltip-text” property and gtk_tooltip_set_text(). Parameters widget a GtkWidget text the contents of the tooltip for widget . [nullable] gtk_widget_get_has_tooltip () gtk_widget_get_has_tooltip gboolean gtk_widget_get_has_tooltip (GtkWidget *widget); Returns the current value of the has-tooltip property. See “has-tooltip” for more information. Parameters widget a GtkWidget Returns current value of has-tooltip on widget . gtk_widget_set_has_tooltip () gtk_widget_set_has_tooltip void gtk_widget_set_has_tooltip (GtkWidget *widget, gboolean has_tooltip); Sets the has-tooltip property on widget to has_tooltip . See “has-tooltip” for more information. Parameters widget a GtkWidget has_tooltip whether or not widget has a tooltip. gtk_widget_trigger_tooltip_query () gtk_widget_trigger_tooltip_query void gtk_widget_trigger_tooltip_query (GtkWidget *widget); Triggers a tooltip query on the display where the toplevel of widget is located. See gtk_tooltip_trigger_tooltip_query() for more information. Parameters widget a GtkWidget gtk_widget_get_allocated_width () gtk_widget_get_allocated_width int gtk_widget_get_allocated_width (GtkWidget *widget); Returns the width that has currently been allocated to widget . Parameters widget the widget to query Returns the width of the widget gtk_widget_get_allocated_height () gtk_widget_get_allocated_height int gtk_widget_get_allocated_height (GtkWidget *widget); Returns the height that has currently been allocated to widget . Parameters widget the widget to query Returns the height of the widget gtk_widget_get_allocation () gtk_widget_get_allocation void gtk_widget_get_allocation (GtkWidget *widget, GtkAllocation *allocation); Retrieves the widget’s allocation. Note, when implementing a GtkContainer: a widget’s allocation will be its “adjusted” allocation, that is, the widget’s parent container typically calls gtk_widget_size_allocate() with an allocation, and that allocation is then adjusted (to handle margin and alignment for example) before assignment to the widget. gtk_widget_get_allocation() returns the adjusted allocation that was actually assigned to the widget. The adjusted allocation is guaranteed to be completely contained within the gtk_widget_size_allocate() allocation, however. So a GtkContainer is guaranteed that its children stay inside the assigned bounds, but not that they have exactly the bounds the container assigned. Parameters widget a GtkWidget allocation a pointer to a GtkAllocation to copy to. [out] gtk_widget_get_allocated_baseline () gtk_widget_get_allocated_baseline int gtk_widget_get_allocated_baseline (GtkWidget *widget); Returns the baseline that has currently been allocated to widget . This function is intended to be used when implementing handlers for the GtkWidgetClass.snapshot() function, and when allocating child widgets in “size_allocate”. Parameters widget the widget to query Returns the baseline of the widget , or -1 if none gtk_widget_get_width () gtk_widget_get_width int gtk_widget_get_width (GtkWidget *widget); Returns the content width of the widget, as passed to its size-allocate implementation. This is the size you should be using in GtkWidgetClass.snapshot(). For pointer events, see gtk_widget_contains(). Parameters widget a GtkWidget Returns The width of widget gtk_widget_get_height () gtk_widget_get_height int gtk_widget_get_height (GtkWidget *widget); Returns the content height of the widget, as passed to its size-allocate implementation. This is the size you should be using in GtkWidgetClass.snapshot(). For pointer events, see gtk_widget_contains(). Parameters widget a GtkWidget Returns The height of widget gtk_widget_get_size () gtk_widget_get_size int gtk_widget_get_size (GtkWidget *widget, GtkOrientation orientation); Returns the content width or height of the widget, depending on orientation . This is equivalent to calling gtk_widget_get_width() for GTK_ORIENTATION_HORIZONTAL or gtk_widget_get_height() for GTK_ORIENTATION_VERTICAL, but can be used when writing orientation-independent code, such as when implementing GtkOrientable widgets. Parameters widget a GtkWidget orientation the orientation to query Returns The size of widget in orientation . gtk_widget_compute_bounds () gtk_widget_compute_bounds gboolean gtk_widget_compute_bounds (GtkWidget *widget, GtkWidget *target, graphene_rect_t *out_bounds); Computes the bounds for widget in the coordinate space of target . FIXME: Explain what "bounds" are. If the operation is successful, TRUE is returned. If widget has no bounds or the bounds cannot be expressed in target 's coordinate space (for example if both widgets are in different windows), FALSE is returned and bounds is set to the zero rectangle. It is valid for widget and target to be the same widget. Parameters widget the GtkWidget to query target the GtkWidget out_bounds the rectangle taking the bounds. [out caller-allocates] Returns TRUE if the bounds could be computed gtk_widget_compute_transform () gtk_widget_compute_transform gboolean gtk_widget_compute_transform (GtkWidget *widget, GtkWidget *target, graphene_matrix_t *out_transform); Computes a matrix suitable to describe a transformation from widget 's coordinate system into target 's coordinate system. Parameters widget a GtkWidget target the target widget that the matrix will transform to out_transform location to store the final transformation. [out caller-allocates] Returns TRUE if the transform could be computed, FALSE otherwise. The transform can not be computed in certain cases, for example when widget and target do not share a common ancestor. In that case out_transform gets set to the identity matrix. gtk_widget_compute_point () gtk_widget_compute_point gboolean gtk_widget_compute_point (GtkWidget *widget, GtkWidget *target, const graphene_point_t *point, graphene_point_t *out_point); Translates the given point in widget 's coordinates to coordinates relative to target ’s coordinate system. In order to perform this operation, both widgets must share a common root. Parameters widget the GtkWidget to query target the GtkWidget to transform into point a point in widget 's coordinate system out_point Set to the corresponding coordinates in target 's coordinate system. [out caller-allocates] Returns TRUE if the point could be determined, FALSE on failure. In this case, 0 is stored in out_point . gtk_widget_contains () gtk_widget_contains gboolean gtk_widget_contains (GtkWidget *widget, double x, double y); Tests if the point at (x , y ) is contained in widget . The coordinates for (x , y ) must be in widget coordinates, so (0, 0) is assumed to be the top left of widget 's content area. Parameters widget the widget to query x X coordinate to test, relative to widget 's origin y Y coordinate to test, relative to widget 's origin Returns TRUE if widget contains (x , y ). gtk_widget_pick () gtk_widget_pick GtkWidget * gtk_widget_pick (GtkWidget *widget, double x, double y, GtkPickFlags flags); Finds the descendant of widget (including widget itself) closest to the screen at the point (x , y ). The point must be given in widget coordinates, so (0, 0) is assumed to be the top left of widget 's content area. Usually widgets will return NULL if the given coordinate is not contained in widget checked via gtk_widget_contains(). Otherwise they will recursively try to find a child that does not return NULL. Widgets are however free to customize their picking algorithm. This function is used on the toplevel to determine the widget below the mouse cursor for purposes of hover hilighting and delivering events. Parameters widget the widget to query x X coordinate to test, relative to widget 's origin y Y coordinate to test, relative to widget 's origin flags Flags to influence what is picked Returns The widget descendant at the given coordinate or NULL if none. [nullable][transfer none] gtk_widget_get_can_focus () gtk_widget_get_can_focus gboolean gtk_widget_get_can_focus (GtkWidget *widget); Determines whether the input focus can enter widget or any of its children. See gtk_widget_set_focusable(). Parameters widget a GtkWidget Returns TRUE if the input focus can enter widget , FALSE otherwise gtk_widget_set_can_focus () gtk_widget_set_can_focus void gtk_widget_set_can_focus (GtkWidget *widget, gboolean can_focus); Specifies whether the input focus can enter the widget or any of its children. Applications should set can_focus to FALSE to mark a widget as for pointer/touch use only. Note that having can_focus be TRUE is only one of the necessary conditions for being focusable. A widget must also be sensitive and focusable and not have an ancestor that is marked as not can-focus in order to receive input focus. See gtk_widget_grab_focus() for actually setting the input focus on a widget. Parameters widget a GtkWidget can_focus whether or not the input focus can enter the widget or any of its children gtk_widget_get_focusable () gtk_widget_get_focusable gboolean gtk_widget_get_focusable (GtkWidget *widget); Determines whether widget can own the input focus. See gtk_widget_set_focusable(). Parameters widget a GtkWidget Returns TRUE if widget can own the input focus, FALSE otherwise gtk_widget_set_focusable () gtk_widget_set_focusable void gtk_widget_set_focusable (GtkWidget *widget, gboolean focusable); Specifies whether widget can own the input focus. Widget implementations should set focusable to TRUE in their init() function if they want to receive keyboard input. Note that having focusable be TRUE is only one of the necessary conditions for being focusable. A widget must also be sensitive and can-focus and not have an ancestor that is marked as not can-focus in order to receive input focus. See gtk_widget_grab_focus() for actually setting the input focus on a widget. Parameters widget a GtkWidget focusable whether or not widget can own the input focus gtk_widget_get_focus_on_click () gtk_widget_get_focus_on_click gboolean gtk_widget_get_focus_on_click (GtkWidget *widget); Returns whether the widget should grab focus when it is clicked with the mouse. See gtk_widget_set_focus_on_click(). Parameters widget a GtkWidget Returns TRUE if the widget should grab focus when it is clicked with the mouse. gtk_widget_set_focus_on_click () gtk_widget_set_focus_on_click void gtk_widget_set_focus_on_click (GtkWidget *widget, gboolean focus_on_click); Sets whether the widget should grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application. Parameters widget a GtkWidget focus_on_click whether the widget should grab focus when clicked with the mouse gtk_widget_set_focus_child () gtk_widget_set_focus_child void gtk_widget_set_focus_child (GtkWidget *widget, GtkWidget *child); Set child as the current focus child of widget . The previous focus child will be unset. This function is only suitable for widget implementations. If you want a certain widget to get the input focus, call gtk_widget_grab_focus() on it. Parameters widget a GtkWidget child a direct child widget of widget or NULL to unset the focus child of widget . [nullable] gtk_widget_get_can_target () gtk_widget_get_can_target gboolean gtk_widget_get_can_target (GtkWidget *widget); Queries whether widget can be the target of pointer events. Parameters widget a GtkWidget Returns TRUE if widget can receive pointer events gtk_widget_set_can_target () gtk_widget_set_can_target void gtk_widget_set_can_target (GtkWidget *widget, gboolean can_target); Sets whether widget can be the target of pointer events. Parameters widget a GtkWidget can_target whether this widget should be able to receive pointer events gtk_widget_get_sensitive () gtk_widget_get_sensitive gboolean gtk_widget_get_sensitive (GtkWidget *widget); Returns the widget’s sensitivity (in the sense of returning the value that has been set using gtk_widget_set_sensitive()). The effective sensitivity of a widget is however determined by both its own and its parent widget’s sensitivity. See gtk_widget_is_sensitive(). Parameters widget a GtkWidget Returns TRUE if the widget is sensitive gtk_widget_is_sensitive () gtk_widget_is_sensitive gboolean gtk_widget_is_sensitive (GtkWidget *widget); Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive Parameters widget a GtkWidget Returns TRUE if the widget is effectively sensitive gtk_widget_get_visible () gtk_widget_get_visible gboolean gtk_widget_get_visible (GtkWidget *widget); Determines whether the widget is visible. If you want to take into account whether the widget’s parent is also marked as visible, use gtk_widget_is_visible() instead. This function does not check if the widget is obscured in any way. See gtk_widget_set_visible(). Parameters widget a GtkWidget Returns TRUE if the widget is visible gtk_widget_is_visible () gtk_widget_is_visible gboolean gtk_widget_is_visible (GtkWidget *widget); Determines whether the widget and all its parents are marked as visible. This function does not check if the widget is obscured in any way. See also gtk_widget_get_visible() and gtk_widget_set_visible() Parameters widget a GtkWidget Returns TRUE if the widget and all its parents are visible gtk_widget_set_visible () gtk_widget_set_visible void gtk_widget_set_visible (GtkWidget *widget, gboolean visible); Sets the visibility state of widget . Note that setting this to TRUE doesn’t mean the widget is actually viewable, see gtk_widget_get_visible(). This function simply calls gtk_widget_show() or gtk_widget_hide() but is nicer to use when the visibility of the widget depends on some condition. Parameters widget a GtkWidget visible whether the widget should be shown or not gtk_widget_set_state_flags () gtk_widget_set_state_flags void gtk_widget_set_state_flags (GtkWidget *widget, GtkStateFlags flags, gboolean clear); This function is for use in widget implementations. Turns on flag values in the current widget state (insensitive, prelighted, etc.). This function accepts the values GTK_STATE_FLAG_DIR_LTR and GTK_STATE_FLAG_DIR_RTL but ignores them. If you want to set the widget's direction, use gtk_widget_set_direction(). It is worth mentioning that any other state than GTK_STATE_FLAG_INSENSITIVE, will be propagated down to all non-internal children if widget is a GtkContainer, while GTK_STATE_FLAG_INSENSITIVE itself will be propagated down to all GtkContainer children by different means than turning on the state flag down the hierarchy, both gtk_widget_get_state_flags() and gtk_widget_is_sensitive() will make use of these. Parameters widget a GtkWidget flags State flags to turn on clear Whether to clear state before turning on flags gtk_widget_unset_state_flags () gtk_widget_unset_state_flags void gtk_widget_unset_state_flags (GtkWidget *widget, GtkStateFlags flags); This function is for use in widget implementations. Turns off flag values for the current widget state (insensitive, prelighted, etc.). See gtk_widget_set_state_flags(). Parameters widget a GtkWidget flags State flags to turn off gtk_widget_get_state_flags () gtk_widget_get_state_flags GtkStateFlags gtk_widget_get_state_flags (GtkWidget *widget); Returns the widget state as a flag set. It is worth mentioning that the effective GTK_STATE_FLAG_INSENSITIVE state will be returned, that is, also based on parent insensitivity, even if widget itself is sensitive. Also note that if you are looking for a way to obtain the GtkStateFlags to pass to a GtkStyleContext method, you should look at gtk_style_context_get_state(). Parameters widget a GtkWidget Returns The state flags for widget gtk_widget_has_default () gtk_widget_has_default gboolean gtk_widget_has_default (GtkWidget *widget); Determines whether widget is the current default widget within its toplevel. Parameters widget a GtkWidget Returns TRUE if widget is the current default widget within its toplevel, FALSE otherwise gtk_widget_has_focus () gtk_widget_has_focus gboolean gtk_widget_has_focus (GtkWidget *widget); Determines if the widget has the global input focus. See gtk_widget_is_focus() for the difference between having the global input focus, and only having the focus within a toplevel. Parameters widget a GtkWidget Returns TRUE if the widget has the global input focus. gtk_widget_has_visible_focus () gtk_widget_has_visible_focus gboolean gtk_widget_has_visible_focus (GtkWidget *widget); Determines if the widget should show a visible indication that it has the global input focus. This is a convenience function that takes into account whether focus indication should currently be shown in the toplevel window of widget . See gtk_window_get_focus_visible() for more information about focus indication. To find out if the widget has the global input focus, use gtk_widget_has_focus(). Parameters widget a GtkWidget Returns TRUE if the widget should display a “focus rectangle” gtk_widget_is_drawable () gtk_widget_is_drawable gboolean gtk_widget_is_drawable (GtkWidget *widget); Determines whether widget can be drawn to. A widget can be drawn if it is mapped and visible. Parameters widget a GtkWidget Returns TRUE if widget is drawable, FALSE otherwise gtk_widget_set_receives_default () gtk_widget_set_receives_default void gtk_widget_set_receives_default (GtkWidget *widget, gboolean receives_default); Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default. Parameters widget a GtkWidget receives_default whether or not widget can be a default widget. gtk_widget_get_receives_default () gtk_widget_get_receives_default gboolean gtk_widget_get_receives_default (GtkWidget *widget); Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default. See gtk_widget_set_receives_default(). Parameters widget a GtkWidget Returns TRUE if widget acts as the default widget when focused, FALSE otherwise gtk_widget_get_realized () gtk_widget_get_realized gboolean gtk_widget_get_realized (GtkWidget *widget); Determines whether widget is realized. Parameters widget a GtkWidget Returns TRUE if widget is realized, FALSE otherwise gtk_widget_get_mapped () gtk_widget_get_mapped gboolean gtk_widget_get_mapped (GtkWidget *widget); Whether the widget is mapped. Parameters widget a GtkWidget Returns TRUE if the widget is mapped, FALSE otherwise. gtk_widget_get_opacity () gtk_widget_get_opacity double gtk_widget_get_opacity (GtkWidget *widget); Fetches the requested opacity for this widget. See gtk_widget_set_opacity(). Parameters widget a GtkWidget Returns the requested opacity for this widget. gtk_widget_set_opacity () gtk_widget_set_opacity void gtk_widget_set_opacity (GtkWidget *widget, double opacity); Request the widget to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Opacity values are clamped to the [0,1] range.). This works on both toplevel widget, and child widgets, although there are some limitations: For toplevel widgets this depends on the capabilities of the windowing system. On X11 this has any effect only on X displays with a compositing manager running. See gdk_display_is_composited(). On Windows it should work always, although setting a window’s opacity after the window has been shown causes it to flicker once on Windows. For child widgets it doesn’t work if any affected widget has a native window. Parameters widget a GtkWidget opacity desired opacity, between 0 and 1 gtk_widget_get_overflow () gtk_widget_get_overflow GtkOverflow gtk_widget_get_overflow (GtkWidget *widget); Returns the value set via gtk_widget_set_overflow(). Parameters widget a GtkWidget Returns The widget's overflow. gtk_widget_set_overflow () gtk_widget_set_overflow void gtk_widget_set_overflow (GtkWidget *widget, GtkOverflow overflow); Sets how widget treats content that is drawn outside the widget's content area. See the definition of GtkOverflow for details. This setting is provided for widget implementations and should not be used by application code. The default value is GTK_OVERFLOW_VISIBLE. Parameters widget a GtkWidget overflow desired overflow gtk_widget_measure () gtk_widget_measure void gtk_widget_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); Measures widget in the orientation orientation and for the given for_size . As an example, if orientation is GTK_ORIENTATION_HORIZONTAL and for_size is 300, this functions will compute the minimum and natural width of widget if it is allocated at a height of 300 pixels. See GtkWidget’s geometry management section for a more details on implementing GtkWidgetClass.measure(). Parameters widget A GtkWidget instance orientation the orientation to measure for_size Size for the opposite of orientation , i.e. if orientation is GTK_ORIENTATION_HORIZONTAL, this is the height the widget should be measured with. The GTK_ORIENTATION_VERTICAL case is analogous. This way, both height-for-width and width-for-height requests can be implemented. If no size is known, -1 can be passed. minimum location to store the minimum size, or NULL. [out][optional] natural location to store the natural size, or NULL. [out][optional] minimum_baseline location to store the baseline position for the minimum size, or NULL. [out][optional] natural_baseline location to store the baseline position for the natural size, or NULL. [out][optional] gtk_widget_snapshot_child () gtk_widget_snapshot_child void gtk_widget_snapshot_child (GtkWidget *widget, GtkWidget *child, GtkSnapshot *snapshot); When a widget receives a call to the snapshot function, it must send synthetic GtkWidgetClass.snapshot() calls to all children. This function provides a convenient way of doing this. A widget, when it receives a call to its GtkWidgetClass.snapshot() function, calls gtk_widget_snapshot_child() once for each child, passing in the snapshot the widget received. gtk_widget_snapshot_child() takes care of translating the origin of snapshot , and deciding whether the child needs to be snapshot. This function does nothing for children that implement GtkNative. Parameters widget a GtkWidget child a child of widget snapshot GtkSnapshot as passed to the widget. In particular, no calls to gtk_snapshot_translate() or other transform calls should have been made. gtk_widget_get_next_sibling () gtk_widget_get_next_sibling GtkWidget * gtk_widget_get_next_sibling (GtkWidget *widget); Returns the widgets next sibling. Parameters widget a GtkWidget Returns The widget's next sibling. [transfer none][nullable] gtk_widget_get_prev_sibling () gtk_widget_get_prev_sibling GtkWidget * gtk_widget_get_prev_sibling (GtkWidget *widget); Returns the widgets previous sibling. Parameters widget a GtkWidget Returns The widget's previous sibling. [transfer none][nullable] gtk_widget_get_first_child () gtk_widget_get_first_child GtkWidget * gtk_widget_get_first_child (GtkWidget *widget); Returns the widgets first child. Parameters widget a GtkWidget Returns The widget's first child. [transfer none][nullable] gtk_widget_get_last_child () gtk_widget_get_last_child GtkWidget * gtk_widget_get_last_child (GtkWidget *widget); Returns the widgets last child. Parameters widget a GtkWidget Returns The widget's last child. [transfer none][nullable] gtk_widget_insert_before () gtk_widget_insert_before void gtk_widget_insert_before (GtkWidget *widget, GtkWidget *parent, GtkWidget *next_sibling); Inserts widget into the child widget list of parent . It will be placed before next_sibling , or at the end if next_sibling is NULL. After calling this function, gtk_widget_get_next_sibling(widget) will return next_sibling . If parent is already set as the parent widget of widget , this function can also be used to reorder widget in the child widget list of parent . Parameters widget a GtkWidget parent the parent GtkWidget to insert widget into next_sibling the new next sibling of widget or NULL. [nullable] gtk_widget_insert_after () gtk_widget_insert_after void gtk_widget_insert_after (GtkWidget *widget, GtkWidget *parent, GtkWidget *previous_sibling); Inserts widget into the child widget list of parent . It will be placed after previous_sibling , or at the beginning if previous_sibling is NULL. After calling this function, gtk_widget_get_prev_sibling(widget) will return previous_sibling . If parent is already set as the parent widget of widget , this function can also be used to reorder widget in the child widget list of parent . Parameters widget a GtkWidget parent the parent GtkWidget to insert widget into previous_sibling the new previous sibling of widget or NULL. [nullable] gtk_widget_set_layout_manager () gtk_widget_set_layout_manager void gtk_widget_set_layout_manager (GtkWidget *widget, GtkLayoutManager *layout_manager); Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of widget . Parameters widget a GtkWidget layout_manager a GtkLayoutManager. [nullable][transfer full] gtk_widget_get_layout_manager () gtk_widget_get_layout_manager GtkLayoutManager * gtk_widget_get_layout_manager (GtkWidget *widget); Retrieves the layout manager set using gtk_widget_set_layout_manager(). Parameters widget a GtkWidget Returns a GtkLayoutManager. [transfer none][nullable] gtk_widget_should_layout () gtk_widget_should_layout gboolean gtk_widget_should_layout (GtkWidget *widget); Returns whether widget should contribute to the measuring and allocation of its parent. This is FALSE for invisible children, but also for children that have their own surface. Parameters widget a widget Returns TRUE if child should be included in measuring and allocating gtk_widget_get_css_name () gtk_widget_get_css_name const char * gtk_widget_get_css_name (GtkWidget *self); Returns the CSS name that is used for self . Parameters self a GtkWidget Returns the CSS name. [transfer none] gtk_widget_add_css_class () gtk_widget_add_css_class void gtk_widget_add_css_class (GtkWidget *widget, const char *css_class); Adds css_class to widget . After calling this function, widget 's style will match for css_class , after the CSS matching rules. Parameters widget a GtkWidget css_class The style class to add to widget , without the leading '.' used for notation of style classes gtk_widget_remove_css_class () gtk_widget_remove_css_class void gtk_widget_remove_css_class (GtkWidget *widget, const char *css_class); Removes css_class from widget . After this, the style of widget will stop matching for css_class . Parameters widget a GtkWidget css_class The style class to remove from widget , without the leading '.' used for notation of style classes gtk_widget_has_css_class () gtk_widget_has_css_class gboolean gtk_widget_has_css_class (GtkWidget *widget, const char *css_class); Returns whether css_class is currently applied to widget . Parameters widget a GtkWidget css_class A CSS style class, without the leading '.' used for notation of style classes Returns TRUE if css_class is currently applied to widget , FALSE otherwise. gtk_widget_get_css_classes () gtk_widget_get_css_classes char ** gtk_widget_get_css_classes (GtkWidget *widget); Returns the list of css classes applied to widget . Parameters widget a GtkWidget Returns a NULL-terminated list of css classes currently applied to widget . The returned list can be freed using g_strfreev(). [transfer full] gtk_widget_set_css_classes () gtk_widget_set_css_classes void gtk_widget_set_css_classes (GtkWidget *widget, const char **classes); Will clear all css classes applied to widget and replace them with classes . Parameters widget a GtkWidget classes NULL-terminated list of css classes to apply to widget . [transfer none][array zero-terminated=1] gtk_widget_get_style_context () gtk_widget_get_style_context GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget); Returns the style context associated to widget . The returned object is guaranteed to be the same for the lifetime of widget . Parameters widget a GtkWidget Returns a GtkStyleContext. This memory is owned by widget and must not be freed. [transfer none] gtk_widget_class_get_css_name () gtk_widget_class_get_css_name const char * gtk_widget_class_get_css_name (GtkWidgetClass *widget_class); Gets the name used by this class for matching in CSS code. See gtk_widget_class_set_css_name() for details. Parameters widget_class class to set the name on Returns the CSS name of the given class gtk_widget_class_set_css_name () gtk_widget_class_set_css_name void gtk_widget_class_set_css_name (GtkWidgetClass *widget_class, const char *name); Sets the name to be used for CSS matching of widgets. If this function is not called for a given class, the name of the parent class is used. Parameters widget_class class to set the name on name name to use gtk_requisition_new () gtk_requisition_new GtkRequisition * gtk_requisition_new (void); Allocates a new GtkRequisition and initializes its elements to zero. Returns a new empty GtkRequisition. The newly allocated GtkRequisition should be freed with gtk_requisition_free(). gtk_requisition_copy () gtk_requisition_copy GtkRequisition * gtk_requisition_copy (const GtkRequisition *requisition); Copies a GtkRequisition. Parameters requisition a GtkRequisition Returns a copy of requisition gtk_requisition_free () gtk_requisition_free void gtk_requisition_free (GtkRequisition *requisition); Frees a GtkRequisition. Parameters requisition a GtkRequisition gtk_widget_get_request_mode () gtk_widget_get_request_mode GtkSizeRequestMode gtk_widget_get_request_mode (GtkWidget *widget); Gets whether the widget prefers a height-for-width layout or a width-for-height layout. GtkBin widgets generally propagate the preference of their child, container widgets need to request something either in context of their children or in context of their allocation capabilities. Parameters widget a GtkWidget instance Returns The GtkSizeRequestMode preferred by widget . gtk_widget_get_preferred_size () gtk_widget_get_preferred_size void gtk_widget_get_preferred_size (GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size); Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management. This is used to retrieve a suitable size by container widgets which do not impose any restrictions on the child placement. It can be used to deduce toplevel window and menu sizes as well as child widgets in free-form containers such as GtkLayout. Handle with care. Note that the natural height of a height-for-width widget will generally be a smaller size than the minimum height, since the required height for the natural width is generally smaller than the required height for the minimum width. Use gtk_widget_measure() if you want to support baseline alignment. Parameters widget a GtkWidget instance minimum_size location for storing the minimum size, or NULL. [out][allow-none] natural_size location for storing the natural size, or NULL. [out][allow-none] gtk_distribute_natural_allocation () gtk_distribute_natural_allocation int gtk_distribute_natural_allocation (int extra_space, guint n_requested_sizes, GtkRequestedSize *sizes); Distributes extra_space to child sizes by bringing smaller children up to natural size first. The remaining space will be added to the minimum_size member of the GtkRequestedSize struct. If all sizes reach their natural size then the remaining space is returned. Parameters extra_space Extra space to redistribute among children after subtracting minimum sizes and any child padding from the overall allocation n_requested_sizes Number of requests to fit into the allocation sizes An array of structs with a client pointer and a minimum/natural size in the orientation of the allocation. Returns The remainder of extra_space after redistributing space to sizes . gtk_widget_get_halign () gtk_widget_get_halign GtkAlign gtk_widget_get_halign (GtkWidget *widget); Gets the value of the “halign” property. For backwards compatibility reasons this method will never return GTK_ALIGN_BASELINE, but instead it will convert it to GTK_ALIGN_FILL. Baselines are not supported for horizontal alignment. Parameters widget a GtkWidget Returns the horizontal alignment of widget gtk_widget_set_halign () gtk_widget_set_halign void gtk_widget_set_halign (GtkWidget *widget, GtkAlign align); Sets the horizontal alignment of widget . See the “halign” property. Parameters widget a GtkWidget align the horizontal alignment gtk_widget_get_valign () gtk_widget_get_valign GtkAlign gtk_widget_get_valign (GtkWidget *widget); Gets the value of the “valign” property. Parameters widget a GtkWidget Returns the vertical alignment of widget gtk_widget_set_valign () gtk_widget_set_valign void gtk_widget_set_valign (GtkWidget *widget, GtkAlign align); Sets the vertical alignment of widget . See the “valign” property. Parameters widget a GtkWidget align the vertical alignment gtk_widget_get_margin_start () gtk_widget_get_margin_start int gtk_widget_get_margin_start (GtkWidget *widget); Gets the value of the “margin-start” property. Parameters widget a GtkWidget Returns The start margin of widget gtk_widget_set_margin_start () gtk_widget_set_margin_start void gtk_widget_set_margin_start (GtkWidget *widget, int margin); Sets the start margin of widget . See the “margin-start” property. Parameters widget a GtkWidget margin the start margin gtk_widget_get_margin_end () gtk_widget_get_margin_end int gtk_widget_get_margin_end (GtkWidget *widget); Gets the value of the “margin-end” property. Parameters widget a GtkWidget Returns The end margin of widget gtk_widget_set_margin_end () gtk_widget_set_margin_end void gtk_widget_set_margin_end (GtkWidget *widget, int margin); Sets the end margin of widget . See the “margin-end” property. Parameters widget a GtkWidget margin the end margin gtk_widget_get_margin_top () gtk_widget_get_margin_top int gtk_widget_get_margin_top (GtkWidget *widget); Gets the value of the “margin-top” property. Parameters widget a GtkWidget Returns The top margin of widget gtk_widget_set_margin_top () gtk_widget_set_margin_top void gtk_widget_set_margin_top (GtkWidget *widget, int margin); Sets the top margin of widget . See the “margin-top” property. Parameters widget a GtkWidget margin the top margin gtk_widget_get_margin_bottom () gtk_widget_get_margin_bottom int gtk_widget_get_margin_bottom (GtkWidget *widget); Gets the value of the “margin-bottom” property. Parameters widget a GtkWidget Returns The bottom margin of widget gtk_widget_set_margin_bottom () gtk_widget_set_margin_bottom void gtk_widget_set_margin_bottom (GtkWidget *widget, int margin); Sets the bottom margin of widget . See the “margin-bottom” property. Parameters widget a GtkWidget margin the bottom margin gtk_widget_get_hexpand () gtk_widget_get_hexpand gboolean gtk_widget_get_hexpand (GtkWidget *widget); Gets whether the widget would like any available extra horizontal space. When a user resizes a GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand. Containers should use gtk_widget_compute_expand() rather than this function, to see whether a widget, or any of its children, has the expand flag set. If any child of a widget wants to expand, the parent may ask to expand also. This function only looks at the widget’s own hexpand flag, rather than computing whether the entire widget tree rooted at this widget wants to expand. Parameters widget the widget Returns whether hexpand flag is set gtk_widget_set_hexpand () gtk_widget_set_hexpand void gtk_widget_set_hexpand (GtkWidget *widget, gboolean expand); Sets whether the widget would like any available extra horizontal space. When a user resizes a GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrollable area or document in your window would often be set to expand. Call this function to set the expand flag if you would like your widget to become larger horizontally when the window has extra room. By default, widgets automatically expand if any of their children want to expand. (To see if a widget will automatically expand given its current children and state, call gtk_widget_compute_expand(). A container can decide how the expandability of children affects the expansion of the container by overriding the compute_expand virtual method on GtkWidget.). Setting hexpand explicitly with this function will override the automatic expand behavior. This function forces the widget to expand or not to expand, regardless of children. The override occurs because gtk_widget_set_hexpand() sets the hexpand-set property (see gtk_widget_set_hexpand_set()) which causes the widget’s hexpand value to be used, rather than looking at children and widget state. Parameters widget the widget expand whether to expand gtk_widget_get_hexpand_set () gtk_widget_get_hexpand_set gboolean gtk_widget_get_hexpand_set (GtkWidget *widget); Gets whether gtk_widget_set_hexpand() has been used to explicitly set the expand flag on this widget. If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand. There are few reasons to use this function, but it’s here for completeness and consistency. Parameters widget the widget Returns whether hexpand has been explicitly set gtk_widget_set_hexpand_set () gtk_widget_set_hexpand_set void gtk_widget_set_hexpand_set (GtkWidget *widget, gboolean set); Sets whether the hexpand flag (see gtk_widget_get_hexpand()) will be used. The hexpand-set property will be set automatically when you call gtk_widget_set_hexpand() to set hexpand, so the most likely reason to use this function would be to unset an explicit expand flag. If hexpand is set, then it overrides any computed expand value based on child widgets. If hexpand is not set, then the expand value depends on whether any children of the widget would like to expand. There are few reasons to use this function, but it’s here for completeness and consistency. Parameters widget the widget set value for hexpand-set property gtk_widget_get_vexpand () gtk_widget_get_vexpand gboolean gtk_widget_get_vexpand (GtkWidget *widget); Gets whether the widget would like any available extra vertical space. See gtk_widget_get_hexpand() for more detail. Parameters widget the widget Returns whether vexpand flag is set gtk_widget_set_vexpand () gtk_widget_set_vexpand void gtk_widget_set_vexpand (GtkWidget *widget, gboolean expand); Sets whether the widget would like any available extra vertical space. See gtk_widget_set_hexpand() for more detail. Parameters widget the widget expand whether to expand gtk_widget_get_vexpand_set () gtk_widget_get_vexpand_set gboolean gtk_widget_get_vexpand_set (GtkWidget *widget); Gets whether gtk_widget_set_vexpand() has been used to explicitly set the expand flag on this widget. See gtk_widget_get_hexpand_set() for more detail. Parameters widget the widget Returns whether vexpand has been explicitly set gtk_widget_set_vexpand_set () gtk_widget_set_vexpand_set void gtk_widget_set_vexpand_set (GtkWidget *widget, gboolean set); Sets whether the vexpand flag (see gtk_widget_get_vexpand()) will be used. See gtk_widget_set_hexpand_set() for more detail. Parameters widget the widget set value for vexpand-set property gtk_widget_compute_expand () gtk_widget_compute_expand gboolean gtk_widget_compute_expand (GtkWidget *widget, GtkOrientation orientation); Computes whether a container should give this widget extra space when possible. Containers should check this, rather than looking at gtk_widget_get_hexpand() or gtk_widget_get_vexpand(). This function already checks whether the widget is visible, so visibility does not need to be checked separately. Non-visible widgets are not expanded. The computed expand value uses either the expand setting explicitly set on the widget itself, or, if none has been explicitly set, the widget may expand if some of its children do. Parameters widget the widget orientation expand direction Returns whether widget tree rooted here should be expanded gtk_widget_init_template () gtk_widget_init_template void gtk_widget_init_template (GtkWidget *widget); Creates and initializes child widgets defined in templates. This function must be called in the instance initializer for any class which assigned itself a template using gtk_widget_class_set_template() It is important to call this function in the instance initializer of a GtkWidget subclass and not in GObject.constructed() or GObject.constructor() for two reasons. One reason is that generally derived widgets will assume that parent class composite widgets have been created in their instance initializers. Another reason is that when calling g_object_new() on a widget with composite templates, it’s important to build the composite widgets before the construct properties are set. Properties passed to g_object_new() should take precedence over properties set in the private template XML. Parameters widget a GtkWidget gtk_widget_class_set_template () gtk_widget_class_set_template void gtk_widget_class_set_template (GtkWidgetClass *widget_class, GBytes *template_bytes); This should be called at class initialization time to specify the GtkBuilder XML to be used to extend a widget. For convenience, gtk_widget_class_set_template_from_resource() is also provided. Note that any class that installs templates must call gtk_widget_init_template() in the widget’s instance initializer. Parameters widget_class A GtkWidgetClass template_bytes A GBytes holding the GtkBuilder XML gtk_widget_class_set_template_from_resource () gtk_widget_class_set_template_from_resource void gtk_widget_class_set_template_from_resource (GtkWidgetClass *widget_class, const char *resource_name); A convenience function to call gtk_widget_class_set_template(). Note that any class that installs templates must call gtk_widget_init_template() in the widget’s instance initializer. Parameters widget_class A GtkWidgetClass resource_name The name of the resource to load the template from gtk_widget_get_template_child () gtk_widget_get_template_child GObject * gtk_widget_get_template_child (GtkWidget *widget, GType widget_type, const char *name); Fetch an object build from the template XML for widget_type in this widget instance. This will only report children which were previously declared with gtk_widget_class_bind_template_child_full() or one of its variants. This function is only meant to be called for code which is private to the widget_type which declared the child and is meant for language bindings which cannot easily make use of the GObject structure offsets. Parameters widget A GtkWidget widget_type The GType to get a template child for name The “id” of the child defined in the template XML Returns The object built in the template XML with the id name . [transfer none] gtk_widget_class_bind_template_child() gtk_widget_class_bind_template_child #define gtk_widget_class_bind_template_child(widget_class, TypeName, member_name) Binds a child widget defined in a template to the widget_class . This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function. This macro will use the offset of the member_name inside the TypeName instance structure. Parameters widget_class a GtkWidgetClass TypeName the type name of this widget member_name name of the instance member in the instance struct for data_type gtk_widget_class_bind_template_child_internal() gtk_widget_class_bind_template_child_internal #define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name) Binds a child widget defined in a template to the widget_class , and also makes it available as an internal child in GtkBuilder, under the name member_name . This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function. This macro will use the offset of the member_name inside the TypeName instance structure. Parameters widget_class a GtkWidgetClass TypeName the type name, in CamelCase member_name name of the instance member in the instance struct for data_type gtk_widget_class_bind_template_child_private() gtk_widget_class_bind_template_child_private #define gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name) Binds a child widget defined in a template to the widget_class . This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function. This macro will use the offset of the member_name inside the TypeName private data structure (it uses G_PRIVATE_OFFSET(), so the private struct must be added with G_ADD_PRIVATE()). Parameters widget_class a GtkWidgetClass TypeName the type name of this widget member_name name of the instance private member in the private struct for data_type gtk_widget_class_bind_template_child_internal_private() gtk_widget_class_bind_template_child_internal_private #define gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name) Binds a child widget defined in a template to the widget_class , and also makes it available as an internal child in GtkBuilder, under the name member_name . This macro is a convenience wrapper around the gtk_widget_class_bind_template_child_full() function. This macro will use the offset of the member_name inside the TypeName private data structure. Parameters widget_class a GtkWidgetClass TypeName the type name, in CamelCase member_name name of the instance private member on the private struct for data_type gtk_widget_class_bind_template_child_full () gtk_widget_class_bind_template_child_full void gtk_widget_class_bind_template_child_full (GtkWidgetClass *widget_class, const char *name, gboolean internal_child, gssize struct_offset); Automatically assign an object declared in the class template XML to be set to a location on a freshly built instance’s private data, or alternatively accessible via gtk_widget_get_template_child(). The struct can point either into the public instance, then you should use G_STRUCT_OFFSET(WidgetType, member) for struct_offset , or in the private struct, then you should use G_PRIVATE_OFFSET(WidgetType, member). An explicit strong reference will be held automatically for the duration of your instance’s life cycle, it will be released automatically when GObjectClass.dispose() runs on your instance and if a struct_offset that is != 0 is specified, then the automatic location in your instance public or private data will be set to NULL. You can however access an automated child pointer the first time your classes GObjectClass.dispose() runs, or alternatively in GtkWidgetClass.destroy(). If internal_child is specified, GtkBuildableIface.get_internal_child() will be automatically implemented by the GtkWidget class so there is no need to implement it manually. The wrapper macros gtk_widget_class_bind_template_child(), gtk_widget_class_bind_template_child_internal(), gtk_widget_class_bind_template_child_private() and gtk_widget_class_bind_template_child_internal_private() might be more convenient to use. Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template(). Parameters widget_class A GtkWidgetClass name The “id” of the child defined in the template XML internal_child Whether the child should be accessible as an “internal-child” when this class is used in GtkBuilder XML struct_offset The structure offset into the composite widget’s instance public or private structure where the automated child pointer should be set, or 0 to not assign the pointer. gtk_widget_class_bind_template_callback() gtk_widget_class_bind_template_callback #define gtk_widget_class_bind_template_callback(widget_class, callback) Binds a callback function defined in a template to the widget_class . This macro is a convenience wrapper around the gtk_widget_class_bind_template_callback_full() function. It is not supported after gtk_widget_class_set_template_scope() has been used on widget_class . Parameters widget_class a GtkWidgetClass callback the callback symbol gtk_widget_class_bind_template_callback_full () gtk_widget_class_bind_template_callback_full void gtk_widget_class_bind_template_callback_full (GtkWidgetClass *widget_class, const char *callback_name, GCallback callback_symbol); Declares a callback_symbol to handle callback_name from the template XML defined for widget_type . This function is not supported after gtk_widget_class_set_template_scope() has been used on widget_class . See gtk_builder_cscope_add_callback_symbol(). Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template(). Parameters widget_class A GtkWidgetClass callback_name The name of the callback as expected in the template XML callback_symbol The callback symbol. [scope async] gtk_widget_class_set_template_scope () gtk_widget_class_set_template_scope void gtk_widget_class_set_template_scope (GtkWidgetClass *widget_class, GtkBuilderScope *scope); For use in language bindings, this will override the default GtkBuilderScope to be used when parsing GtkBuilder XML from this class’s template data. Note that this must be called from a composite widget classes class initializer after calling gtk_widget_class_set_template(). Parameters widget_class A GtkWidgetClass scope The GtkBuilderScope to use when loading the class template. [transfer none] gtk_widget_observe_children () gtk_widget_observe_children GListModel * gtk_widget_observe_children (GtkWidget *widget); Returns a GListModel to track the children of widget . Calling this function will enable extra internal bookkeeping to track children and emit signals on the returned listmodel. It may slow down operations a lot. Applications should try hard to avoid calling this function because of the slowdowns. Parameters widget a GtkWidget Returns a GListModel tracking widget 's children. [transfer full][attributes element-type=GtkWidget] gtk_widget_observe_controllers () gtk_widget_observe_controllers GListModel * gtk_widget_observe_controllers (GtkWidget *widget); Returns a GListModel to track the GtkEventControllers of widget . Calling this function will enable extra internal bookkeeping to track controllers and emit signals on the returned listmodel. It may slow down operations a lot. Applications should try hard to avoid calling this function because of the slowdowns. Parameters widget a GtkWidget Returns a GListModel tracking widget 's controllers. [transfer full][attributes element-type=GtkEventController] gtk_widget_insert_action_group () gtk_widget_insert_action_group void gtk_widget_insert_action_group (GtkWidget *widget, const char *name, GActionGroup *group); Inserts group into widget . Children of widget that implement GtkActionable can then be associated with actions in group by setting their “action-name” to prefix .action-name. Note that inheritance is defined for individual actions. I.e. even if you insert a group with prefix prefix , actions with the same prefix will still be inherited from the parent, unless the group contains an action with the same name. If group is NULL, a previously inserted group for name is removed from widget . Parameters widget a GtkWidget name the prefix for actions in group group a GActionGroup, or NULL. [allow-none] gtk_widget_activate_action () gtk_widget_activate_action gboolean gtk_widget_activate_action (GtkWidget *widget, const char *name, const char *format_string, ...); Looks up the action in the action groups associated with widget and its ancestors, and activates it. This is a wrapper around gtk_widget_activate_action_variant() that constructs the args variant according to format_string . Parameters widget a GtkWidget name the name of the action to activate format_string GVariant format string for arguments or NULL for no arguments ... arguments, as given by format string Returns TRUE if the action was activated, FALSE if the action does not exist. gtk_widget_activate_action_variant () gtk_widget_activate_action_variant gboolean gtk_widget_activate_action_variant (GtkWidget *widget, const char *name, GVariant *args); Looks up the action in the action groups associated with widget and its ancestors, and activates it. If the action is in an action group added with gtk_widget_insert_action_group(), the name is expected to be prefixed with the prefix that was used when the group was inserted. The arguments must match the actions expected parameter type, as returned by g_action_get_parameter_type(). [rename-to gtk_widget_activate_action] Parameters widget a GtkWidget name the name of the action to activate args parameters to use, or NULL. [allow-none] Returns TRUE if the action was activated, FALSE if the action does not exist. gtk_widget_activate_default () gtk_widget_activate_default void gtk_widget_activate_default (GtkWidget *widget); Activate the default.activate action from widget . Parameters widget a GtkWidget GtkWidgetActionActivateFunc () GtkWidgetActionActivateFunc void (*GtkWidgetActionActivateFunc) (GtkWidget *widget, const char *action_name, GVariant *parameter); The type of the callback functions used for activating actions installed with gtk_widget_class_install_action(). The parameter must match the parameter_type of the action. Parameters widget the widget to which the action belongs action_name the action name parameter parameter for activation gtk_widget_class_install_action () gtk_widget_class_install_action void gtk_widget_class_install_action (GtkWidgetClass *widget_class, const char *action_name, const char *parameter_type, GtkWidgetActionActivateFunc activate); This should be called at class initialization time to specify actions to be added for all instances of this class. Actions installed by this function are stateless. The only state they have is whether they are enabled or not. Parameters widget_class a GtkWidgetClass action_name a prefixed action name, such as "clipboard.paste" parameter_type the parameter type, or NULL. [nullable] activate callback to use when the action is activated. [scope call] gtk_widget_class_install_property_action () gtk_widget_class_install_property_action void gtk_widget_class_install_property_action (GtkWidgetClass *widget_class, const char *action_name, const char *property_name); Installs an action called action_name on widget_class and binds its state to the value of the property_name property. This function will perform a few santity checks on the property selected via property_name . Namely, the property must exist, must be readable, writable and must not be construct-only. There are also restrictions on the type of the given property, it must be boolean, int, unsigned int, double or string. If any of these conditions are not met, a critical warning will be printed and no action will be added. The state type of the action matches the property type. If the property is boolean, the action will have no parameter and toggle the property value. Otherwise, the action will have a parameter of the same type as the property. Parameters widget_class a GtkWidgetClass action_name name of the action property_name name of the property in instances of widget_class or any parent class. gtk_widget_class_query_action () gtk_widget_class_query_action gboolean gtk_widget_class_query_action (GtkWidgetClass *widget_class, guint index_, GType *owner, const char **action_name, const GVariantType **parameter_type, const char **property_name); Queries the actions that have been installed for a widget class using gtk_widget_class_install_action() during class initialization. Note that this function will also return actions defined by parent classes. You can identify those by looking at owner . Parameters widget_class a GtkWidgetClass index_ position of the action to query owner return location for the type where the action was defined. [out] action_name return location for the action name. [out] parameter_type return location for the parameter type. [out] property_name return location for the property name. [out] Returns TRUE if the action was found, FALSE if index_ is out of range gtk_widget_action_set_enabled () gtk_widget_action_set_enabled void gtk_widget_action_set_enabled (GtkWidget *widget, const char *action_name, gboolean enabled); Enable or disable an action installed with gtk_widget_class_install_action(). Parameters widget a GtkWidget action_name action name, such as "clipboard.paste" enabled whether the action is now enabled Types and Values GtkWidget GtkWidget typedef struct _GtkWidget GtkWidget; struct GtkWidgetClass GtkWidgetClass struct GtkWidgetClass { GInitiallyUnownedClass parent_class; guint activate_signal; /* basics */ void (* show) (GtkWidget *widget); void (* hide) (GtkWidget *widget); void (* map) (GtkWidget *widget); void (* unmap) (GtkWidget *widget); void (* realize) (GtkWidget *widget); void (* unrealize) (GtkWidget *widget); void (* root) (GtkWidget *widget); void (* unroot) (GtkWidget *widget); void (* size_allocate) (GtkWidget *widget, int width, int height, int baseline); void (* state_flags_changed) (GtkWidget *widget, GtkStateFlags previous_state_flags); void (* direction_changed) (GtkWidget *widget, GtkTextDirection previous_direction); /* size requests */ GtkSizeRequestMode (* get_request_mode) (GtkWidget *widget); void (* measure) (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); /* Mnemonics */ gboolean (* mnemonic_activate) (GtkWidget *widget, gboolean group_cycling); /* explicit focus */ gboolean (* grab_focus) (GtkWidget *widget); gboolean (* focus) (GtkWidget *widget, GtkDirectionType direction); void (* set_focus_child) (GtkWidget *widget, GtkWidget *child); /* keyboard navigation */ void (* move_focus) (GtkWidget *widget, GtkDirectionType direction); gboolean (* keynav_failed) (GtkWidget *widget, GtkDirectionType direction); gboolean (* query_tooltip) (GtkWidget *widget, int x, int y, gboolean keyboard_tooltip, GtkTooltip *tooltip); void (* compute_expand) (GtkWidget *widget, gboolean *hexpand_p, gboolean *vexpand_p); void (* css_changed) (GtkWidget *widget, GtkCssStyleChange *change); void (* system_setting_changed) (GtkWidget *widget, GtkSystemSetting settings); void (* snapshot) (GtkWidget *widget, GtkSnapshot *snapshot); gboolean (* contains) (GtkWidget *widget, double x, double y); }; Members guint activate_signal; The signal to emit when a widget of this class is activated, gtk_widget_activate() handles the emission. Implementation of this signal is optional. show () Signal emitted when widget is shown hide () Signal emitted when widget is hidden. map () Signal emitted when widget is going to be mapped, that is when the widget is visible (which is controlled with gtk_widget_set_visible()) and all its parents up to the toplevel widget are also visible. unmap () Signal emitted when widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden. realize () Signal emitted when widget is associated with a GdkSurface, which means that gtk_widget_realize() has been called or the widget has been mapped (that is, it is going to be drawn). unrealize () Signal emitted when the GdkSurface associated with widget is destroyed, which means that gtk_widget_unrealize() has been called or the widget has been unmapped (that is, it is going to be hidden). root () Called when the widget gets added to a GtkRoot widget. Must chain up unroot () Called when the widget is about to be removed from its GtkRoot widget. Must chain up size_allocate () Signal emitted to get the widget allocation. state_flags_changed () Signal emitted when the widget state changes, see gtk_widget_get_state_flags(). direction_changed () Signal emitted when the text direction of a widget changes. get_request_mode () This allows a widget to tell its parent container whether it prefers to be allocated in GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to have GtkWidgetClass.measure() called first to get the default width (passing a for_size of -1), then again to get the height for said default width. GTK_SIZE_REQUEST_CONSTANT_SIZE disables any height-for-width or width-for-height geometry management for said widget and is the default return. It’s important to note that any widget which trades height-for-width or width-for-height must respond properly to a for_size value >= -1 passed to GtkWidgetClass.measure, for both possible orientations. measure () This is called by containers to obtain the minimum and natural size of the widget. Depending on the orientation parameter, the passed for_size can be interpreted as width or height. A widget will never be allocated less than its minimum size. mnemonic_activate () Activates the widget if group_cycling is FALSE, and just grabs the focus if group_cycling is TRUE. grab_focus () Causes widget to have the keyboard focus for the GtkWindow it’s inside. focus () Vfunc for gtk_widget_child_focus() set_focus_child () Sets the focused child of a widget. Must chain up move_focus () Signal emitted when a change of focus is requested keynav_failed () Signal emitted if keyboard navigation fails. query_tooltip () Signal emitted when “has-tooltip” is TRUE and the hover timeout has expired with the cursor hovering “above” widget; or emitted when widget got focus in keyboard mode. compute_expand () Computes whether a container should give this widget extra space when possible. css_changed () Vfunc called when the CSS used by widget was changed. Widgets should then discard their caches that depend on CSS and queue resizes or redraws accordingly. The default implementation will take care of this for all the default CSS properties, so implementations must chain up. system_setting_changed () Emitted when a system setting was changed. Must chain up. snapshot () Vfunc called when a new snapshot of the widget has to be taken. contains () Vfunc for gtk_widget_contains(). GtkRequisition GtkRequisition typedef struct { int width; int height; } GtkRequisition; A GtkRequisition represents the desired size of a widget. See GtkWidget’s geometry management section for more information. Members int width; the widget’s desired width int height; the widget’s desired height GtkAllocation GtkAllocation typedef GdkRectangle GtkAllocation; A GtkAllocation of a widget represents region which has been allocated to the widget by its parent. It is a subregion of its parents allocation. See GtkWidget’s geometry management section for more information. enum GtkTextDirection GtkTextDirection Reading directions for text. Members GTK_TEXT_DIR_NONE No direction. GTK_TEXT_DIR_LTR Left to right text direction. GTK_TEXT_DIR_RTL Right to left text direction. enum GtkPickFlags GtkPickFlags Flags that influence the behavior of gtk_widget_pick() Members GTK_PICK_DEFAULT The default behavior, include widgets that are receiving events GTK_PICK_INSENSITIVE Include widgets that are insensitive GTK_PICK_NON_TARGETABLE Include widgets that are marked as non-targetable. See “can-target” enum GtkOverflow GtkOverflow Defines how content overflowing a given area should be handled, such as with gtk_widget_set_overflow(). This property is modeled after the CSS overflow property, but implements it only partially. Members GTK_OVERFLOW_VISIBLE No change is applied. Content is drawn at the specified position. GTK_OVERFLOW_HIDDEN Content is clipped to the bounds of the area. Content outside the area is not drawn and cannot be interacted with. enum GtkSizeRequestMode GtkSizeRequestMode Specifies a preference for height-for-width or width-for-height geometry management. Members GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH Prefer height-for-width geometry management GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT Prefer width-for-height geometry management GTK_SIZE_REQUEST_CONSTANT_SIZE Don’t trade height-for-width or width-for-height struct GtkRequestedSize GtkRequestedSize struct GtkRequestedSize { gpointer data; int minimum_size; int natural_size; }; Represents a request of a screen object in a given orientation. These are primarily used in container implementations when allocating a natural size for children calling. See gtk_distribute_natural_allocation(). Members gpointer data; A client pointer int minimum_size; The minimum size needed for allocation in a given orientation int natural_size; The natural size for allocation in a given orientation enum GtkAlign GtkAlign Controls how a widget deals with extra space in a single (x or y) dimension. Alignment only matters if the widget receives a “too large” allocation, for example if you packed the widget with the “expand” flag inside a GtkBox, then the widget might get extra space. If you have for example a 16x16 icon inside a 32x32 space, the icon could be scaled and stretched, it could be centered, or it could be positioned to one side of the space. Note that in horizontal context GTK_ALIGN_START and GTK_ALIGN_END are interpreted relative to text direction. GTK_ALIGN_BASELINE support is optional for containers and widgets, and it is only supported for vertical alignment. When it's not supported by a child or a container it is treated as GTK_ALIGN_FILL . Members GTK_ALIGN_FILL stretch to fill all space if possible, center if no meaningful way to stretch GTK_ALIGN_START snap to left or top side, leaving space on right or bottom GTK_ALIGN_END snap to right or bottom side, leaving space on left or top GTK_ALIGN_CENTER center natural width of widget inside the allocation GTK_ALIGN_BASELINE align the widget according to the baseline. See GtkWidget Property Details The <literal>“can-focus”</literal> property GtkWidget:can-focus “can-focus” gboolean Whether the widget or any of its descendents can accept the input focus. Owner: GtkWidget Flags: Read / Write Default value: TRUE The <literal>“can-target”</literal> property GtkWidget:can-target “can-target” gboolean Whether the widget can receive pointer events.Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“css-classes”</literal> property GtkWidget:css-classes “css-classes” GStrv A list of css classes applied to this widget. Owner: GtkWidget Flags: Read / Write The <literal>“css-name”</literal> property GtkWidget:css-name “css-name” gchar * The name of this widget in the CSS tree. Owner: GtkWidget Flags: Read / Write / Construct Only Default value: NULL The <literal>“cursor”</literal> property GtkWidget:cursor “cursor” GdkCursor * The cursor used by widget . See gtk_widget_set_cursor() for details. Owner: GtkWidget Flags: Read / Write The <literal>“focus-on-click”</literal> property GtkWidget:focus-on-click “focus-on-click” gboolean Whether the widget should grab focus when it is clicked with the mouse. This property is only relevant for widgets that can take focus. Owner: GtkWidget Flags: Read / Write Default value: TRUE The <literal>“focusable”</literal> property GtkWidget:focusable “focusable” gboolean Whether this widget itself will accept the input focus. Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“halign”</literal> property GtkWidget:halign “halign” GtkAlign How to distribute horizontal space if widget gets extra space, see GtkAlign Owner: GtkWidget Flags: Read / Write Default value: GTK_ALIGN_FILL The <literal>“has-default”</literal> property GtkWidget:has-default “has-default” gboolean Whether the widget is the default widget.Owner: GtkWidget Flags: Read Default value: FALSE The <literal>“has-focus”</literal> property GtkWidget:has-focus “has-focus” gboolean Whether the widget has the input focus.Owner: GtkWidget Flags: Read Default value: FALSE The <literal>“has-tooltip”</literal> property GtkWidget:has-tooltip “has-tooltip” gboolean Enables or disables the emission of “query-tooltip” on widget . A value of TRUE indicates that widget can have a tooltip, in this case the widget will be queried using “query-tooltip” to determine whether it will provide a tooltip or not. Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“height-request”</literal> property GtkWidget:height-request “height-request” gint Override for height request of the widget, or -1 if natural request should be used.Owner: GtkWidget Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“hexpand”</literal> property GtkWidget:hexpand “hexpand” gboolean Whether to expand horizontally. See gtk_widget_set_hexpand(). Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“hexpand-set”</literal> property GtkWidget:hexpand-set “hexpand-set” gboolean Whether to use the “hexpand” property. See gtk_widget_get_hexpand_set(). Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“layout-manager”</literal> property GtkWidget:layout-manager “layout-manager” GtkLayoutManager * The GtkLayoutManager instance to use to compute the preferred size of the widget, and allocate its children. Owner: GtkWidget Flags: Read / Write The <literal>“margin-bottom”</literal> property GtkWidget:margin-bottom “margin-bottom” gint Margin on bottom side of widget. This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example. Owner: GtkWidget Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“margin-end”</literal> property GtkWidget:margin-end “margin-end” gint Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions. This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example. Owner: GtkWidget Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“margin-start”</literal> property GtkWidget:margin-start “margin-start” gint Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions. This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example. Owner: GtkWidget Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“margin-top”</literal> property GtkWidget:margin-top “margin-top” gint Margin on top side of widget. This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example. Owner: GtkWidget Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“name”</literal> property GtkWidget:name “name” gchar * The name of the widget.Owner: GtkWidget Flags: Read / Write Default value: NULL The <literal>“opacity”</literal> property GtkWidget:opacity “opacity” gdouble The requested opacity of the widget. See gtk_widget_set_opacity() for more details about window opacity. Before 3.8 this was only available in GtkWindow Owner: GtkWidget Flags: Read / Write Allowed values: [0,1] Default value: 1 The <literal>“overflow”</literal> property GtkWidget:overflow “overflow” GtkOverflow How content outside the widget's content area is treated. Owner: GtkWidget Flags: Read / Write Default value: GTK_OVERFLOW_VISIBLE The <literal>“parent”</literal> property GtkWidget:parent “parent” GtkWidget * The parent widget of this widget.Owner: GtkWidget Flags: Read The <literal>“receives-default”</literal> property GtkWidget:receives-default “receives-default” gboolean If TRUE, the widget will receive the default action when it is focused.Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“root”</literal> property GtkWidget:root “root” GtkRoot * The GtkRoot widget of the widget tree containing this widget or NULL if the widget is not contained in a root widget. Owner: GtkWidget Flags: Read The <literal>“scale-factor”</literal> property GtkWidget:scale-factor “scale-factor” gint The scale factor of the widget. See gtk_widget_get_scale_factor() for more details about widget scaling. Owner: GtkWidget Flags: Read Allowed values: >= 1 Default value: 1 The <literal>“sensitive”</literal> property GtkWidget:sensitive “sensitive” gboolean Whether the widget responds to input.Owner: GtkWidget Flags: Read / Write Default value: TRUE The <literal>“tooltip-markup”</literal> property GtkWidget:tooltip-markup “tooltip-markup” gchar * Sets the text of tooltip to be the given string, which is marked up with the Pango text markup language. Also see gtk_tooltip_set_markup(). This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: “has-tooltip” will automatically be set to TRUE and there will be taken care of “query-tooltip” in the default signal handler. Note that if both “tooltip-text” and “tooltip-markup” are set, the last one wins. Owner: GtkWidget Flags: Read / Write Default value: NULL The <literal>“tooltip-text”</literal> property GtkWidget:tooltip-text “tooltip-text” gchar * Sets the text of tooltip to be the given string. Also see gtk_tooltip_set_text(). This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: “has-tooltip” will automatically be set to TRUE and there will be taken care of “query-tooltip” in the default signal handler. Note that if both “tooltip-text” and “tooltip-markup” are set, the last one wins. Owner: GtkWidget Flags: Read / Write Default value: NULL The <literal>“valign”</literal> property GtkWidget:valign “valign” GtkAlign How to distribute vertical space if widget gets extra space, see GtkAlign Owner: GtkWidget Flags: Read / Write Default value: GTK_ALIGN_FILL The <literal>“vexpand”</literal> property GtkWidget:vexpand “vexpand” gboolean Whether to expand vertically. See gtk_widget_set_vexpand(). Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“vexpand-set”</literal> property GtkWidget:vexpand-set “vexpand-set” gboolean Whether to use the “vexpand” property. See gtk_widget_get_vexpand_set(). Owner: GtkWidget Flags: Read / Write Default value: FALSE The <literal>“visible”</literal> property GtkWidget:visible “visible” gboolean Whether the widget is visible.Owner: GtkWidget Flags: Read / Write Default value: TRUE The <literal>“width-request”</literal> property GtkWidget:width-request “width-request” gint Override for width request of the widget, or -1 if natural request should be used.Owner: GtkWidget Flags: Read / Write Allowed values: >= -1 Default value: -1 Signal Details The <literal>“destroy”</literal> signal GtkWidget::destroy void user_function (GtkWidget *object, gpointer user_data) Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released. This signal is not suitable for saving widget state. Parameters object the object which received the signal user_data user data set when the signal handler was connected. Flags: No Hooks The <literal>“direction-changed”</literal> signal GtkWidget::direction-changed void user_function (GtkWidget *widget, GtkTextDirection previous_direction, gpointer user_data) The ::direction-changed signal is emitted when the text direction of a widget changes. Parameters widget the object on which the signal is emitted previous_direction the previous text direction of widget user_data user data set when the signal handler was connected. Flags: Run First The <literal>“hide”</literal> signal GtkWidget::hide void user_function (GtkWidget *widget, gpointer user_data) The ::hide signal is emitted when widget is hidden, for example with gtk_widget_hide(). Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“keynav-failed”</literal> signal GtkWidget::keynav-failed gboolean user_function (GtkWidget *widget, GtkDirectionType direction, gpointer user_data) Gets emitted if keyboard navigation fails. See gtk_widget_keynav_failed() for details. Parameters widget the object which received the signal direction the direction of movement user_data user data set when the signal handler was connected. Returns TRUE if stopping keyboard navigation is fine, FALSE if the emitting widget should try to handle the keyboard navigation attempt in its parent widget(s). Flags: Run Last The <literal>“map”</literal> signal GtkWidget::map void user_function (GtkWidget *widget, gpointer user_data) The ::map signal is emitted when widget is going to be mapped, that is when the widget is visible (which is controlled with gtk_widget_set_visible()) and all its parents up to the toplevel widget are also visible. The ::map signal can be used to determine whether a widget will be drawn, for instance it can resume an animation that was stopped during the emission of “unmap”. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“mnemonic-activate”</literal> signal GtkWidget::mnemonic-activate gboolean user_function (GtkWidget *widget, gboolean group_cycling, gpointer user_data) The default handler for this signal activates widget if group_cycling is FALSE, or just makes widget grab focus if group_cycling is TRUE. Parameters widget the object which received the signal. group_cycling TRUE if there are other widgets with the same mnemonic user_data user data set when the signal handler was connected. Returns TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. Flags: Run Last The <literal>“move-focus”</literal> signal GtkWidget::move-focus void user_function (GtkWidget *widget, GtkDirectionType direction, gpointer user_data) Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Action The <literal>“query-tooltip”</literal> signal GtkWidget::query-tooltip gboolean user_function (GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) Emitted when “has-tooltip” is TRUE and the hover timeout has expired with the cursor hovering "above" widget ; or emitted when widget got focus in keyboard mode. Using the given coordinates, the signal handler should determine whether a tooltip should be shown for widget . If this is the case TRUE should be returned, FALSE otherwise. Note that if keyboard_mode is TRUE, the values of x and y are undefined and should not be used. The signal handler is free to manipulate tooltip with the therefore destined function calls. Parameters widget the object which received the signal x the x coordinate of the cursor position where the request has been emitted, relative to widget 's left side y the y coordinate of the cursor position where the request has been emitted, relative to widget 's top keyboard_mode TRUE if the tooltip was triggered using the keyboard tooltip a GtkTooltip user_data user data set when the signal handler was connected. Returns TRUE if tooltip should be shown right now, FALSE otherwise. Flags: Run Last The <literal>“realize”</literal> signal GtkWidget::realize void user_function (GtkWidget *widget, gpointer user_data) The ::realize signal is emitted when widget is associated with a GdkSurface, which means that gtk_widget_realize() has been called or the widget has been mapped (that is, it is going to be drawn). Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“show”</literal> signal GtkWidget::show void user_function (GtkWidget *widget, gpointer user_data) The ::show signal is emitted when widget is shown, for example with gtk_widget_show(). Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“state-flags-changed”</literal> signal GtkWidget::state-flags-changed void user_function (GtkWidget *widget, GtkStateFlags flags, gpointer user_data) The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags(). Parameters widget the object which received the signal. flags The previous state flags. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“unmap”</literal> signal GtkWidget::unmap void user_function (GtkWidget *widget, gpointer user_data) The ::unmap signal is emitted when widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden. As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run First The <literal>“unrealize”</literal> signal GtkWidget::unrealize void user_function (GtkWidget *widget, gpointer user_data) The ::unrealize signal is emitted when the GdkSurface associated with widget is destroyed, which means that gtk_widget_unrealize() has been called or the widget has been unmapped (that is, it is going to be hidden). Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkwindow.xml0000664000175000017500000047432513710700313017732 0ustar mclasenmclasen ]> GtkWindow 3 GTK4 Library GtkWindow Toplevel which can contain other widgets Functions GtkWidget * gtk_window_new () void gtk_window_destroy () GtkWidget * gtk_window_get_child () void gtk_window_set_child () void gtk_window_set_title () void gtk_window_set_resizable () gboolean gtk_window_get_resizable () void gtk_window_set_modal () void gtk_window_set_default_size () void gtk_window_set_hide_on_close () gboolean gtk_window_get_hide_on_close () void gtk_window_set_transient_for () void gtk_window_set_destroy_with_parent () void gtk_window_set_display () gboolean gtk_window_is_active () gboolean gtk_window_is_maximized () GListModel * gtk_window_get_toplevels () GList * gtk_window_list_toplevels () GtkWidget * gtk_window_get_focus () void gtk_window_set_focus () GtkWidget * gtk_window_get_default_widget () void gtk_window_set_default_widget () void gtk_window_present () void gtk_window_present_with_time () void gtk_window_close () void gtk_window_minimize () void gtk_window_unminimize () void gtk_window_maximize () void gtk_window_unmaximize () void gtk_window_fullscreen () void gtk_window_fullscreen_on_monitor () void gtk_window_unfullscreen () void gtk_window_set_decorated () void gtk_window_set_deletable () void gtk_window_set_startup_id () gboolean gtk_window_get_decorated () gboolean gtk_window_get_deletable () const char * gtk_window_get_default_icon_name () void gtk_window_get_default_size () gboolean gtk_window_get_destroy_with_parent () const char * gtk_window_get_icon_name () gboolean gtk_window_get_modal () void gtk_window_get_size () const char * gtk_window_get_title () GtkWindow * gtk_window_get_transient_for () GtkWindowGroup * gtk_window_get_group () gboolean gtk_window_has_group () void gtk_window_resize () void gtk_window_set_default_icon_name () void gtk_window_set_icon_name () void gtk_window_set_auto_startup_notification () gboolean gtk_window_get_mnemonics_visible () void gtk_window_set_mnemonics_visible () gboolean gtk_window_get_focus_visible () void gtk_window_set_focus_visible () GtkApplication * gtk_window_get_application () void gtk_window_set_application () void gtk_window_set_titlebar () GtkWidget * gtk_window_get_titlebar () void gtk_window_set_interactive_debugging () Properties GtkApplication *applicationRead / Write GtkWidget *childRead / Write gbooleandecoratedRead / Write gintdefault-heightRead / Write GtkWidget *default-widgetRead / Write gintdefault-widthRead / Write gbooleandeletableRead / Write gbooleandestroy-with-parentRead / Write GdkDisplay *displayRead / Write gbooleanfocus-visibleRead / Write GtkWidget *focus-widgetRead / Write gbooleanhide-on-closeRead / Write gchar *icon-nameRead / Write gbooleanis-activeRead gbooleanis-maximizedRead gbooleanmnemonics-visibleRead / Write gbooleanmodalRead / Write gbooleanresizableRead / Write gchar *startup-idWrite gchar *titleRead / Write GtkWindow *transient-forRead / Write / Construct Signals voidactivate-defaultAction voidactivate-focusAction gbooleanclose-requestRun Last gbooleanenable-debuggingAction voidkeys-changedRun First Actions window.close window.toggle-maximized window.minimize default.activate Types and Values GtkWindow structGtkWindowClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ├── GtkDialog ├── GtkApplicationWindow ├── GtkAssistant ╰── GtkShortcutsWindow Implemented Interfaces GtkWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description A GtkWindow is a toplevel window which can contain other widgets. Windows normally have decorations that are under the control of the windowing system and allow the user to manipulate the window (resize it, move it, close it,...). GtkWindow as GtkBuildableThe GtkWindow implementation of the GtkBuildable interface supports a custom <accel-groups> element, which supports any number of <group> elements representing the GtkAccelGroup objects you want to add to your window (synonymous with gtk_window_add_accel_group(). An example of a UI definition fragment with accel groups: ... ]]> The GtkWindow implementation of the GtkBuildable interface supports setting a child as the titlebar by specifying “titlebar” as the “type” attribute of a <child> element. CSS nodes.titlebar [.default-decoration] ╰── ]]> GtkWindow has a main CSS node with name window and style class .background. Style classes that are typically used with the main CSS node are .csd (when client-side decorations are in use), .solid-csd (for client-side decorations without invisible borders), .ssd (used by mutter when rendering server-side decorations). GtkWindow also represents window states with the following style classes on the main node: .tiled, .maximized, .fullscreen. Specialized types of window often add their own discriminating style classes, such as .popup or .tooltip. Generally, some CSS properties don't make sense on the toplevel window node, such as margins or padding. When client-side decorations without invisible borders are in use (i.e. the .solid-csd style class is added to the main window node), the CSS border of the toplevel window is used for resize drags. In the .csd case, the shadow area outside of the window can be used to resize it. GtkWindow adds the .titlebar and .default-decoration style classes to the widget that is added as a titlebar child. AccessibilityGtkWindow uses the GTK_ACCESSIBLE_ROLE_WINDOW role. Functions gtk_window_new () gtk_window_new GtkWidget * gtk_window_new (void); Creates a new GtkWindow, which is a toplevel window that can contain other widgets. To get an undecorated window (no window borders), use gtk_window_set_decorated(). All top-level windows created by gtk_window_new() are stored in an internal top-level window list. This list can be obtained from gtk_window_list_toplevels(). Due to Gtk+ keeping a reference to the window internally, gtk_window_new() does not return a reference to the caller. To delete a GtkWindow, call gtk_window_destroy(). Returns a new GtkWindow. gtk_window_destroy () gtk_window_destroy void gtk_window_destroy (GtkWindow *window); Drop the internal reference GTK holds on toplevel windows. Parameters window The window to destroy gtk_window_get_child () gtk_window_get_child GtkWidget * gtk_window_get_child (GtkWindow *window); Gets the child widget of window . Parameters window a GtkWindow Returns the child widget of window . [nullable][transfer none] gtk_window_set_child () gtk_window_set_child void gtk_window_set_child (GtkWindow *window, GtkWidget *child); Sets the child widget of window . Parameters window a GtkWindow child the child widget. [allow-none] gtk_window_set_title () gtk_window_set_title void gtk_window_set_title (GtkWindow *window, const char *title); Sets the title of the GtkWindow. The title of a window will be displayed in its title bar; on the X Window System, the title bar is rendered by the window manager, so exactly how the title appears to users may vary according to a user’s exact configuration. The title should help a user distinguish this window from other windows they may have open. A good title might include the application name and current document filename, for example. Parameters window a GtkWindow title title of the window gtk_window_set_resizable () gtk_window_set_resizable void gtk_window_set_resizable (GtkWindow *window, gboolean resizable); Sets whether the user can resize a window. Windows are user resizable by default. Parameters window a GtkWindow resizable TRUE if the user can resize this window gtk_window_get_resizable () gtk_window_get_resizable gboolean gtk_window_get_resizable (GtkWindow *window); Gets the value set by gtk_window_set_resizable(). Parameters window a GtkWindow Returns TRUE if the user can resize the window gtk_window_set_modal () gtk_window_set_modal void gtk_window_set_modal (GtkWindow *window, gboolean modal); Sets a window modal or non-modal. Modal windows prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use gtk_window_set_transient_for() to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent. Parameters window a GtkWindow modal whether the window is modal gtk_window_set_default_size () gtk_window_set_default_size void gtk_window_set_default_size (GtkWindow *window, int width, int height); Sets the default size of a window. If the window’s “natural” size (its size request) is larger than the default, the default will be ignored. Unlike gtk_widget_set_size_request(), which sets 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). For some uses, gtk_window_resize() is a more appropriate function. gtk_window_resize() changes the current size of the window, rather than the size to be used on initial display. gtk_window_resize() always affects the window itself, not the geometry widget. 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. 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. If you use this function to reestablish a previously saved window size, note that the appropriate size to save is the one returned by gtk_window_get_size(). Using the window allocation directly will not work in all circumstances and can lead to growing or shrinking windows. Parameters window a GtkWindow width width in pixels, or -1 to unset the default width height height in pixels, or -1 to unset the default height gtk_window_set_hide_on_close () gtk_window_set_hide_on_close void gtk_window_set_hide_on_close (GtkWindow *window, gboolean setting); If setting is TRUE, then clicking the close button on the window will not destroy it, but only hide it. Parameters window a GtkWindow setting whether to hide the window when it is closed gtk_window_get_hide_on_close () gtk_window_get_hide_on_close gboolean gtk_window_get_hide_on_close (GtkWindow *window); Returns whether the window will be hidden when the close button is clicked. Parameters window a GtkWindow Returns TRUE if the window will be hidden gtk_window_set_transient_for () gtk_window_set_transient_for void gtk_window_set_transient_for (GtkWindow *window, GtkWindow *parent); 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. gtk_dialog_new_with_buttons() and other convenience functions in GTK+ will sometimes call gtk_window_set_transient_for() on your behalf. Passing NULL for parent unsets the current transient window. On Windows, this function puts the child window on top of the parent, much as the window manager would have done on X. Parameters window a GtkWindow parent parent window, or NULL. [allow-none] gtk_window_set_destroy_with_parent () gtk_window_set_destroy_with_parent void gtk_window_set_destroy_with_parent (GtkWindow *window, gboolean setting); If setting is TRUE, then destroying the transient parent of window will also destroy window itself. This is useful for dialogs that shouldn’t persist beyond the lifetime of the main window they're associated with, for example. Parameters window a GtkWindow setting whether to destroy window with its transient parent gtk_window_set_display () gtk_window_set_display void gtk_window_set_display (GtkWindow *window, GdkDisplay *display); Sets the GdkDisplay where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new display. Parameters window a GtkWindow. display a GdkDisplay. gtk_window_is_active () gtk_window_is_active gboolean gtk_window_is_active (GtkWindow *window); Returns whether the window is part of the current active toplevel. (That is, the toplevel window receiving keystrokes.) The return value is TRUE if the window is active toplevel itself. You might use this function if you wanted to draw a widget differently in an active window from a widget in an inactive window. Parameters window a GtkWindow Returns TRUE if the window part of the current active window. gtk_window_is_maximized () gtk_window_is_maximized gboolean gtk_window_is_maximized (GtkWindow *window); Retrieves the current maximized state of window . Note that since maximization is ultimately handled by the window manager and happens asynchronously to an application request, you shouldn’t assume the return value of this function changing immediately (or at all), as an effect of calling gtk_window_maximize() or gtk_window_unmaximize(). Parameters window a GtkWindow Returns whether the window has a maximized state. gtk_window_get_toplevels () gtk_window_get_toplevels GListModel * gtk_window_get_toplevels (void); Returns a list of all existing toplevel windows. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets or add new ones, be aware that the list of toplevels will change and emit the "items-changed" signal. Returns the list of toplevel widgets. [transfer none][attributes element-type=GtkWindow] gtk_window_list_toplevels () gtk_window_list_toplevels GList * gtk_window_list_toplevels (void); Returns a list of all existing toplevel windows. The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call g_list_foreach (result, (GFunc)g_object_ref, NULL) first, and then unref all the widgets afterwards. Returns list of toplevel widgets. [element-type GtkWidget][transfer container] gtk_window_get_focus () gtk_window_get_focus GtkWidget * gtk_window_get_focus (GtkWindow *window); Retrieves 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 gtk_widget_has_focus (widget) will not be TRUE for the widget. Parameters window a GtkWindow Returns the currently focused widget, or NULL if there is none. [nullable][transfer none] gtk_window_set_focus () gtk_window_set_focus void gtk_window_set_focus (GtkWindow *window, GtkWidget *focus); If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window. If focus is NULL, 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 gtk_widget_grab_focus() instead of this function. Parameters window a GtkWindow focus widget to be the new focus widget, or NULL to unset any focus widget for the toplevel window. [allow-none] gtk_window_get_default_widget () gtk_window_get_default_widget GtkWidget * gtk_window_get_default_widget (GtkWindow *window); Returns the default widget for window . See gtk_window_set_default() for more details. Parameters window a GtkWindow Returns the default widget, or NULL if there is none. [nullable][transfer none] gtk_window_set_default_widget () gtk_window_set_default_widget void gtk_window_set_default_widget (GtkWindow *window, GtkWidget *default_widget); The default widget is the widget that’s activated when the user presses Enter in a dialog (for example). This function sets or unsets the default widget for a GtkWindow. Parameters window a GtkWindow default_widget widget to be the default, or NULL to unset the default widget for the toplevel. [allow-none] gtk_window_present () gtk_window_present void gtk_window_present (GtkWindow *window); Presents a window to the user. This function should not be used as when it is called, it is too late to gather a valid timestamp to allow focus stealing prevention to work correctly. Parameters window a GtkWindow gtk_window_present_with_time () gtk_window_present_with_time void gtk_window_present_with_time (GtkWindow *window, guint32 timestamp); Presents a window to the user. This may mean raising the window in the stacking order, unminimizing 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. If window is hidden, this function calls gtk_widget_show() as well. 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 gtk_window_present() to move the already-open dialog where the user can see it. Presents a window to the user in response to a user interaction. The timestamp should be gathered when the window was requested to be shown (when clicking a link for example), rather than once the window is ready to be shown. Parameters window a GtkWindow timestamp the timestamp of the user interaction (typically a button or key press event) which triggered this call gtk_window_close () gtk_window_close void gtk_window_close (GtkWindow *window); Requests that the window is closed, similar to what happens when a window manager close button is clicked. This function can be used with close buttons in custom titlebars. Parameters window a GtkWindow gtk_window_minimize () gtk_window_minimize void gtk_window_minimize (GtkWindow *window); Asks to minimize the specified window . Note that you shouldn’t assume the window is definitely minimized afterward, because the windowing system might not support this functionality; other entities (e.g. the user or the window manager) could unminimize it again, or there may not be a window manager in which case minimization isn’t possible, etc. It’s permitted to call this function before showing a window, in which case the window will be minimized before it ever appears onscreen. You can track result of this operation via the “state” property. Parameters window a GtkWindow gtk_window_unminimize () gtk_window_unminimize void gtk_window_unminimize (GtkWindow *window); Asks to unminimize the specified window . Note that you shouldn’t assume the window is definitely unminimized afterward, because the windowing system might not support this functionality; other entities (e.g. the user or the window manager) could minimize it again, or there may not be a window manager in which case minimization isn’t possible, etc. You can track result of this operation via the “state” property. Parameters window a GtkWindow gtk_window_maximize () gtk_window_maximize void gtk_window_maximize (GtkWindow *window); Asks to maximize 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. It’s permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially. You can track the result of this operation via the “state” property, or by listening to notifications on the “is-maximized” property. Parameters window a GtkWindow gtk_window_unmaximize () gtk_window_unmaximize void gtk_window_unmaximize (GtkWindow *window); Asks to unmaximize 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. You can track the result of this operation via the “state” property, or by listening to notifications on the “is-maximized” property. Parameters window a GtkWindow gtk_window_fullscreen () gtk_window_fullscreen void gtk_window_fullscreen (GtkWindow *window); Asks to place 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. You can track iconification via the “state” property Parameters window a GtkWindow gtk_window_fullscreen_on_monitor () gtk_window_fullscreen_on_monitor void gtk_window_fullscreen_on_monitor (GtkWindow *window, GdkMonitor *monitor); Asks to place window in the fullscreen state. Note that you shouldn't assume the window is definitely full screen afterward. You can track iconification via the “state” property Parameters window a GtkWindow monitor which monitor to go fullscreen on gtk_window_unfullscreen () gtk_window_unfullscreen void gtk_window_unfullscreen (GtkWindow *window); Asks to toggle off the fullscreen state for 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. You can track iconification via the “state” property Parameters window a GtkWindow gtk_window_set_decorated () gtk_window_set_decorated void gtk_window_set_decorated (GtkWindow *window, gboolean setting); 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 gtk_widget_show(). On Windows, this function always works, since there’s no window manager policy involved. Parameters window a GtkWindow setting TRUE to decorate the window gtk_window_set_deletable () gtk_window_set_deletable void gtk_window_set_deletable (GtkWindow *window, gboolean setting); 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 gtk_widget_show(). On Windows, this function always works, since there’s no window manager policy involved. Parameters window a GtkWindow setting TRUE to decorate the window as deletable gtk_window_set_startup_id () gtk_window_set_startup_id void gtk_window_set_startup_id (GtkWindow *window, const char *startup_id); 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 GdkSurface. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should use this function before calling gtk_window_present() or any equivalent function generating a window map event. This function is only useful on X11, not with other GTK+ targets. Parameters window a GtkWindow startup_id a string with startup-notification identifier gtk_window_get_decorated () gtk_window_get_decorated gboolean gtk_window_get_decorated (GtkWindow *window); Returns whether the window has been set to have decorations such as a title bar via gtk_window_set_decorated(). Parameters window a GtkWindow Returns TRUE if the window has been set to have decorations gtk_window_get_deletable () gtk_window_get_deletable gboolean gtk_window_get_deletable (GtkWindow *window); Returns whether the window has been set to have a close button via gtk_window_set_deletable(). Parameters window a GtkWindow Returns TRUE if the window has been set to have a close button gtk_window_get_default_icon_name () gtk_window_get_default_icon_name const char * gtk_window_get_default_icon_name (void); Returns the fallback icon name for windows that has been set with gtk_window_set_default_icon_name(). The returned string is owned by GTK+ and should not be modified. It is only valid until the next call to gtk_window_set_default_icon_name(). Returns the fallback icon name for windows gtk_window_get_default_size () gtk_window_get_default_size void gtk_window_get_default_size (GtkWindow *window, int *width, int *height); Gets the default size of the window. A value of -1 for the width or height indicates that a default size has not been explicitly set for that dimension, so the “natural” size of the window will be used. Parameters window a GtkWindow width location to store the default width, or NULL. [out][allow-none] height location to store the default height, or NULL. [out][allow-none] gtk_window_get_destroy_with_parent () gtk_window_get_destroy_with_parent gboolean gtk_window_get_destroy_with_parent (GtkWindow *window); Returns whether the window will be destroyed with its transient parent. See gtk_window_set_destroy_with_parent(). Parameters window a GtkWindow Returns TRUE if the window will be destroyed with its transient parent. gtk_window_get_icon_name () gtk_window_get_icon_name const char * gtk_window_get_icon_name (GtkWindow *window); Returns the name of the themed icon for the window, see gtk_window_set_icon_name(). Parameters window a GtkWindow Returns the icon name or NULL if the window has no themed icon. [nullable] gtk_window_get_modal () gtk_window_get_modal gboolean gtk_window_get_modal (GtkWindow *window); Returns whether the window is modal. See gtk_window_set_modal(). Parameters window a GtkWindow Returns TRUE if the window is set to be modal and establishes a grab when shown gtk_window_get_size () gtk_window_get_size void gtk_window_get_size (GtkWindow *window, int *width, int *height); Obtains the current size of window . If window is not visible on screen, this function return the size GTK+ will suggest to the window manager for the initial window size (but this is not reliably the same as the size the window manager will actually select). See: gtk_window_set_default_size(). Depending on the windowing system and the window manager constraints, the size returned by this function may not match the size set using gtk_window_resize(); additionally, since gtk_window_resize() may be implemented as an asynchronous operation, GTK+ cannot guarantee in any way that this code: will result in new_width and new_height matching width and height, respectively. This function will return the logical size of the GtkWindow, excluding the widgets used in client side decorations; there is, however, no guarantee that the result will be completely accurate because client side decoration may include widgets that depend on the user preferences and that may not be visibile at the time you call this function. The dimensions returned by this function are suitable for being stored across sessions; use gtk_window_set_default_size() to restore them when before showing the window. If you are getting a window size in order to position the window on the screen, don't. You should, instead, simply let the window manager place windows. Also, if you set the transient parent of dialogs with gtk_window_set_transient_for() window managers will often center the dialog over its parent window. It's much preferred to let the window manager handle these cases rather than doing it yourself, because all apps will behave consistently and according to user or system preferences, if the window manager handles it. Also, the window manager can take into account the size of the window decorations and border that it may add, and of which GTK+ has no knowledge. Additionally, positioning windows in global screen coordinates may not be allowed by the windowing system. For more information, see: gtk_window_set_position(). Parameters window a GtkWindow width return location for width, or NULL. [out][optional] height return location for height, or NULL. [out][optional] gtk_window_get_title () gtk_window_get_title const char * gtk_window_get_title (GtkWindow *window); Retrieves the title of the window. See gtk_window_set_title(). Parameters window a GtkWindow Returns the title of the window, or NULL if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed. [nullable] gtk_window_get_transient_for () gtk_window_get_transient_for GtkWindow * gtk_window_get_transient_for (GtkWindow *window); Fetches the transient parent for this window. See gtk_window_set_transient_for(). Parameters window a GtkWindow Returns the transient parent for this window, or NULL if no transient parent has been set. [nullable][transfer none] gtk_window_get_group () gtk_window_get_group GtkWindowGroup * gtk_window_get_group (GtkWindow *window); Returns the group for window or the default group, if window is NULL or if window does not have an explicit window group. Parameters window a GtkWindow, or NULL. [allow-none] Returns the GtkWindowGroup for a window or the default group. [transfer none] gtk_window_has_group () gtk_window_has_group gboolean gtk_window_has_group (GtkWindow *window); Returns whether window has an explicit window group. Parameters window a GtkWindow Returns TRUE if window has an explicit window group. gtk_window_resize () gtk_window_resize void gtk_window_resize (GtkWindow *window, int width, int height); Resizes the window 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; to override this constraint, call gtk_widget_set_size_request() to set the window's request to a smaller value. If gtk_window_resize() is called before showing a window for the first time, it overrides any default size set with gtk_window_set_default_size(). Windows may not be resized smaller than 1 by 1 pixels. When using client side decorations, GTK+ will do its best to adjust the given size so that the resulting window size matches the requested size without the title bar, borders and shadows added for the client side decorations, but there is no guarantee that the result will be totally accurate because these widgets added for client side decorations depend on the theme and may not be realized or visible at the time gtk_window_resize() is issued. If the GtkWindow has a titlebar widget (see gtk_window_set_titlebar()), then typically, gtk_window_resize() will compensate for the height of the titlebar widget only if the height is known when the resulting GtkWindow configuration is issued. For example, if new widgets are added after the GtkWindow configuration and cause the titlebar widget to grow in height, this will result in a window content smaller that specified by gtk_window_resize() and not a larger window. Parameters window a GtkWindow width width in pixels to resize the window to height height in pixels to resize the window to gtk_window_set_default_icon_name () gtk_window_set_default_icon_name void gtk_window_set_default_icon_name (const char *name); Sets an icon to be used as fallback for windows that haven't had gtk_window_set_icon_list() called on them from a named themed icon, see gtk_window_set_icon_name(). Parameters name the name of the themed icon gtk_window_set_icon_name () gtk_window_set_icon_name void gtk_window_set_icon_name (GtkWindow *window, const char *name); Sets the icon for the window from a named themed icon. See the docs for GtkIconTheme for more details. On some platforms, the window icon is not used at all. Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM. Parameters window a GtkWindow name the name of the themed icon. [allow-none] gtk_window_set_auto_startup_notification () gtk_window_set_auto_startup_notification void gtk_window_set_auto_startup_notification (gboolean setting); By default, after showing the first GtkWindow, GTK+ calls gdk_notify_startup_complete(). Call this function to disable the automatic startup notification. You might do this if your first window is a splash screen, and you want to delay notification until after your real main window has been shown, for example. In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main window would automatically result in notification. Parameters setting TRUE to automatically do startup notification gtk_window_get_mnemonics_visible () gtk_window_get_mnemonics_visible gboolean gtk_window_get_mnemonics_visible (GtkWindow *window); Gets the value of the “mnemonics-visible” property. Parameters window a GtkWindow Returns TRUE if mnemonics are supposed to be visible in this window. gtk_window_set_mnemonics_visible () gtk_window_set_mnemonics_visible void gtk_window_set_mnemonics_visible (GtkWindow *window, gboolean setting); Sets the “mnemonics-visible” property. Parameters window a GtkWindow setting the new value gtk_window_get_focus_visible () gtk_window_get_focus_visible gboolean gtk_window_get_focus_visible (GtkWindow *window); Gets the value of the “focus-visible” property. Parameters window a GtkWindow Returns TRUE if “focus rectangles” are supposed to be visible in this window. gtk_window_set_focus_visible () gtk_window_set_focus_visible void gtk_window_set_focus_visible (GtkWindow *window, gboolean setting); Sets the “focus-visible” property. Parameters window a GtkWindow setting the new value gtk_window_get_application () gtk_window_get_application GtkApplication * gtk_window_get_application (GtkWindow *window); Gets the GtkApplication associated with the window (if any). Parameters window a GtkWindow Returns a GtkApplication, or NULL. [nullable][transfer none] gtk_window_set_application () gtk_window_set_application void gtk_window_set_application (GtkWindow *window, GtkApplication *application); Sets or unsets the GtkApplication associated with the window. The application will be kept alive for at least as long as it has any windows associated with it (see g_application_hold() for a way to keep it alive without windows). Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the application to NULL. This is equivalent to calling gtk_application_remove_window() and/or gtk_application_add_window() on the old/new applications as relevant. Parameters window a GtkWindow application a GtkApplication, or NULL to unset. [allow-none] gtk_window_set_titlebar () gtk_window_set_titlebar void gtk_window_set_titlebar (GtkWindow *window, GtkWidget *titlebar); Sets a custom titlebar for window . A typical widget used here is GtkHeaderBar, as it provides various features expected of a titlebar while allowing the addition of child widgets to it. If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window. Depending on the system, this function may not work for a window that is already visible, so you set the titlebar before calling gtk_widget_show(). Parameters window a GtkWindow titlebar the widget to use as titlebar. [allow-none] gtk_window_get_titlebar () gtk_window_get_titlebar GtkWidget * gtk_window_get_titlebar (GtkWindow *window); Returns the custom titlebar that has been set with gtk_window_set_titlebar(). Parameters window a GtkWindow Returns the custom titlebar, or NULL. [nullable][transfer none] gtk_window_set_interactive_debugging () gtk_window_set_interactive_debugging void gtk_window_set_interactive_debugging (gboolean enable); Opens or closes the interactive debugger, which offers access to the widget hierarchy of the application and to useful debugging tools. Parameters enable TRUE to enable interactive debugging Types and Values GtkWindow GtkWindow typedef struct _GtkWindow GtkWindow; struct GtkWindowClass GtkWindowClass struct GtkWindowClass { GtkWidgetClass parent_class; /* G_SIGNAL_ACTION signals for keybindings */ void (* activate_focus) (GtkWindow *window); void (* activate_default) (GtkWindow *window); void (* keys_changed) (GtkWindow *window); gboolean (* enable_debugging) (GtkWindow *window, gboolean toggle); gboolean (* close_request) (GtkWindow *window); }; Members activate_focus () Activates the current focused widget within the window. activate_default () Activates the default widget for the window. keys_changed () Signal gets emitted when the set of accelerators or mnemonics that are associated with window changes. enable_debugging () Class handler for the “enable-debugging” keybinding signal. close_request () Class handler for the “close-request” signal. Property Details The <literal>“application”</literal> property GtkWindow:application “application” GtkApplication * The GtkApplication associated with the window. The application will be kept alive for at least as long as it has any windows associated with it (see g_application_hold() for a way to keep it alive without windows). Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the :application property to NULL. Owner: GtkWindow Flags: Read / Write The <literal>“child”</literal> property GtkWindow:child “child” GtkWidget * The child widget.Owner: GtkWindow Flags: Read / Write The <literal>“decorated”</literal> property GtkWindow:decorated “decorated” gboolean Whether the window should be decorated by the window manager. Owner: GtkWindow Flags: Read / Write Default value: TRUE The <literal>“default-height”</literal> property GtkWindow:default-height “default-height” gint The default height of the window, used when initially showing the window.Owner: GtkWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“default-widget”</literal> property GtkWindow:default-widget “default-widget” GtkWidget * The default widget.Owner: GtkWindow Flags: Read / Write The <literal>“default-width”</literal> property GtkWindow:default-width “default-width” gint The default width of the window, used when initially showing the window.Owner: GtkWindow Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“deletable”</literal> property GtkWindow:deletable “deletable” gboolean Whether the window frame should have a close button. Owner: GtkWindow Flags: Read / Write Default value: TRUE The <literal>“destroy-with-parent”</literal> property GtkWindow:destroy-with-parent “destroy-with-parent” gboolean If this window should be destroyed when the parent is destroyed.Owner: GtkWindow Flags: Read / Write Default value: FALSE The <literal>“display”</literal> property GtkWindow:display “display” GdkDisplay * The display that will display this window.Owner: GtkWindow Flags: Read / Write The <literal>“focus-visible”</literal> property GtkWindow:focus-visible “focus-visible” gboolean Whether 'focus rectangles' are currently visible in this window. This property is maintained by GTK+ based on user input and should not be set by applications. Owner: GtkWindow Flags: Read / Write Default value: TRUE The <literal>“focus-widget”</literal> property GtkWindow:focus-widget “focus-widget” GtkWidget * The focus widget.Owner: GtkWindow Flags: Read / Write The <literal>“hide-on-close”</literal> property GtkWindow:hide-on-close “hide-on-close” gboolean If this window should be hidden when the user clicks the close button.Owner: GtkWindow Flags: Read / Write Default value: FALSE The <literal>“icon-name”</literal> property GtkWindow:icon-name “icon-name” gchar * The :icon-name property specifies the name of the themed icon to use as the window icon. See GtkIconTheme for more details. Owner: GtkWindow Flags: Read / Write Default value: NULL The <literal>“is-active”</literal> property GtkWindow:is-active “is-active” gboolean Whether the toplevel is the current active window.Owner: GtkWindow Flags: Read Default value: FALSE The <literal>“is-maximized”</literal> property GtkWindow:is-maximized “is-maximized” gboolean Whether the window is maximized.Owner: GtkWindow Flags: Read Default value: FALSE The <literal>“mnemonics-visible”</literal> property GtkWindow:mnemonics-visible “mnemonics-visible” gboolean Whether mnemonics are currently visible in this window. This property is maintained by GTK+ based on user input, and should not be set by applications. Owner: GtkWindow Flags: Read / Write Default value: FALSE The <literal>“modal”</literal> property GtkWindow:modal “modal” gboolean If TRUE, the window is modal (other windows are not usable while this one is up).Owner: GtkWindow Flags: Read / Write Default value: FALSE The <literal>“resizable”</literal> property GtkWindow:resizable “resizable” gboolean If TRUE, users can resize the window.Owner: GtkWindow Flags: Read / Write Default value: TRUE The <literal>“startup-id”</literal> property GtkWindow:startup-id “startup-id” gchar * The :startup-id is a write-only property for setting window's startup notification identifier. See gtk_window_set_startup_id() for more details. Owner: GtkWindow Flags: Write Default value: NULL The <literal>“title”</literal> property GtkWindow:title “title” gchar * The title of the window.Owner: GtkWindow Flags: Read / Write Default value: NULL The <literal>“transient-for”</literal> property GtkWindow:transient-for “transient-for” GtkWindow * The transient parent of the window. See gtk_window_set_transient_for() for more details about transient windows. Owner: GtkWindow Flags: Read / Write / Construct Signal Details The <literal>“activate-default”</literal> signal GtkWindow::activate-default void user_function (GtkWindow *window, gpointer user_data) The ::activate-default signal is a keybinding signal which gets emitted when the user activates the default widget of window . Parameters window the window which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“activate-focus”</literal> signal GtkWindow::activate-focus void user_function (GtkWindow *window, gpointer user_data) The ::activate-focus signal is a keybinding signal which gets emitted when the user activates the currently focused widget of window . Parameters window the window which received the signal user_data user data set when the signal handler was connected. Flags: Action The <literal>“close-request”</literal> signal GtkWindow::close-request gboolean user_function (GtkWindow *window, gpointer user_data) The ::close-request signal is emitted when the user clicks on the close button of the window. Return: TRUE to stop other handlers from being invoked for the signal Parameters window the window on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“enable-debugging”</literal> signal GtkWindow::enable-debugging gboolean user_function (GtkWindow *window, gboolean toggle, gpointer user_data) The ::enable-debugging signal is a keybinding signal which gets emitted when the user enables or disables interactive debugging. When toggle is TRUE, interactive debugging is toggled on or off, when it is FALSE, the debugger will be pointed at the widget under the pointer. The default bindings for this signal are Ctrl-Shift-I and Ctrl-Shift-D. Return: TRUE if the key binding was handled Parameters window the window on which the signal is emitted toggle toggle the debugger user_data user data set when the signal handler was connected. Flags: Action The <literal>“keys-changed”</literal> signal GtkWindow::keys-changed void user_function (GtkWindow *window, gpointer user_data) The ::keys-changed signal gets emitted when the set of accelerators or mnemonics that are associated with window changes. Parameters window the window which received the signal user_data user data set when the signal handler was connected. Flags: Run First Action Details The <literal>“window.close”</literal> action GtkWindow|window.close Close the window. The <literal>“window.toggle-maximized”</literal> action GtkWindow|window.toggle-maximized Maximize or restore the window. The <literal>“window.minimize”</literal> action GtkWindow|window.minimize Close the window. The <literal>“default.activate”</literal> action GtkWindow|default.activate Activate the default widget. docs/reference/gtk/xml/gtkwindowgroup.xml0000664000175000017500000002353513710700313021000 0ustar mclasenmclasen ]> GtkWindowGroup 3 GTK4 Library GtkWindowGroup Limit the effect of grabs Functions GtkWindowGroup * gtk_window_group_new () void gtk_window_group_add_window () void gtk_window_group_remove_window () GList * gtk_window_group_list_windows () Types and Values GtkWindowGroup Object Hierarchy GObject ╰── GtkWindowGroup Includes#include <gtk/gtk.h> Description A GtkWindowGroup restricts the effect of grabs to windows in the same group, thereby making window groups almost behave like separate applications. A window can be a member in at most one window group at a time. Windows that have not been explicitly assigned to a group are implicitly treated like windows of the default window group. GtkWindowGroup objects are referenced by each window in the group, so once you have added all windows to a GtkWindowGroup, you can drop the initial reference to the window group with g_object_unref(). If the windows in the window group are subsequently destroyed, then they will be removed from the window group and drop their references on the window group; when all window have been removed, the window group will be freed. Functions gtk_window_group_new () gtk_window_group_new GtkWindowGroup * gtk_window_group_new (void); Creates a new GtkWindowGroup object. Modality of windows only affects windows within the same GtkWindowGroup. Returns a new GtkWindowGroup. gtk_window_group_add_window () gtk_window_group_add_window void gtk_window_group_add_window (GtkWindowGroup *window_group, GtkWindow *window); Adds a window to a GtkWindowGroup. Parameters window_group a GtkWindowGroup window the GtkWindow to add gtk_window_group_remove_window () gtk_window_group_remove_window void gtk_window_group_remove_window (GtkWindowGroup *window_group, GtkWindow *window); Removes a window from a GtkWindowGroup. Parameters window_group a GtkWindowGroup window the GtkWindow to remove gtk_window_group_list_windows () gtk_window_group_list_windows GList * gtk_window_group_list_windows (GtkWindowGroup *window_group); Returns a list of the GtkWindows that belong to window_group . Parameters window_group a GtkWindowGroup Returns A newly-allocated list of windows inside the group. [element-type GtkWindow][transfer container] Types and Values GtkWindowGroup GtkWindowGroup typedef struct _GtkWindowGroup GtkWindowGroup; docs/reference/gtk/xml/gtkwindowcontrols.xml0000664000175000017500000004706113710700313021507 0ustar mclasenmclasen ]> GtkWindowControls 3 GTK4 Library GtkWindowControls A widget displaying window buttons Functions GtkWidget * gtk_window_controls_new () GtkPackType gtk_window_controls_get_side () void gtk_window_controls_set_side () const char * gtk_window_controls_get_decoration_layout () void gtk_window_controls_set_decoration_layout () gboolean gtk_window_controls_get_empty () Properties gchar *decoration-layoutRead / Write gbooleanemptyRead GtkPackTypesideRead / Write Types and Values GtkWindowControls Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindowControls Implemented Interfaces GtkWindowControls implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkWindowControls shows window frame controls, such as minimize, maximize and close buttons, and the window icon. GtkWindowControls only displays start or end side of the controls (see “side”), so it's intended to be always used in pair with another GtkWindowControls using the opposite side, for example: start ... end ]]> CSS nodes A GtkWindowControls' CSS node is called windowcontrols. It contains subnodes corresponding to each title button. Which of the title buttons exist and where they are placed exactly depends on the desktop environment and “decoration-layout” value. When “empty” is TRUE, it gets the .empty style class. Functions gtk_window_controls_new () gtk_window_controls_new GtkWidget * gtk_window_controls_new (GtkPackType side); Creates a new GtkWindowControls. Parameters side the side Returns a new GtkWindowControls. gtk_window_controls_get_side () gtk_window_controls_get_side GtkPackType gtk_window_controls_get_side (GtkWindowControls *self); Gets the side set with gtk_window_controls_set_side(). Parameters self a GtkWindowControls Returns the side gtk_window_controls_set_side () gtk_window_controls_set_side void gtk_window_controls_set_side (GtkWindowControls *self, GtkPackType side); Sets the side for self , determining which part of decoration layout it uses. See gtk_window_controls_set_decoration_layout() Parameters self a GtkWindowControls side a side gtk_window_controls_get_decoration_layout () gtk_window_controls_get_decoration_layout const char * gtk_window_controls_get_decoration_layout (GtkWindowControls *self); Gets the decoration layout set with gtk_window_controls_set_decoration_layout(). Parameters self a GtkWindowControls Returns the decoration layout gtk_window_controls_set_decoration_layout () gtk_window_controls_set_decoration_layout void gtk_window_controls_set_decoration_layout (GtkWindowControls *self, const char *layout); Sets the decoration layout for the title buttons, overriding the “gtk-decoration-layout” setting. The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close and icon (the window icon). For example, “icon:minimize,maximize,close” specifies a icon on the left, and minimize, maximize and close buttons on the right. If “side” value is GTK_PACK_START , self will display the part before the colon, otherwise after that. Parameters self a GtkWindowControls layout a decoration layout, or NULL to unset the layout. [allow-none] gtk_window_controls_get_empty () gtk_window_controls_get_empty gboolean gtk_window_controls_get_empty (GtkWindowControls *self); Gets whether the widget has any window buttons. Parameters self a GtkWindowControls Returns TRUE if the widget has window buttons, otherwise FALSE Types and Values GtkWindowControls GtkWindowControls typedef struct _GtkWindowControls GtkWindowControls; Property Details The <literal>“decoration-layout”</literal> property GtkWindowControls:decoration-layout “decoration-layout” gchar * The decoration layout for window buttons. If this property is not set, the “gtk-decoration-layout” setting is used. See gtk_window_controls_set_decoration_layout() for information about the format of this string. Owner: GtkWindowControls Flags: Read / Write Default value: NULL The <literal>“empty”</literal> property GtkWindowControls:empty “empty” gboolean Whether the widget has any window buttons. Owner: GtkWindowControls Flags: Read Default value: TRUE The <literal>“side”</literal> property GtkWindowControls:side “side” GtkPackType Whether the widget shows start or end side of the decoration layout. See gtk_window_controls_set_decoration_layout(). Owner: GtkWindowControls Flags: Read / Write Default value: GTK_PACK_START See Also GtkHeaderBar docs/reference/gtk/xml/gtkwindowhandle.xml0000664000175000017500000002234113710700313021071 0ustar mclasenmclasen ]> GtkWindowHandle 3 GTK4 Library GtkWindowHandle A titlebar area widget Functions GtkWidget * gtk_window_handle_new () GtkWidget * gtk_window_handle_get_child () void gtk_window_handle_set_child () Properties GtkWidget *childRead / Write Types and Values GtkWindowHandle Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindowHandle Implemented Interfaces GtkWindowHandle implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkWindowHandle is a titlebar area widget. When added into a window, it can be dragged to move the window, and handles right click double click and middle click as expected of a titlebar. CSS nodesGtkWindowHandle has a single CSS node with the name windowhandle. Functions gtk_window_handle_new () gtk_window_handle_new GtkWidget * gtk_window_handle_new (void); Creates a new GtkWindowHandle. Returns a new GtkWindowHandle. gtk_window_handle_get_child () gtk_window_handle_get_child GtkWidget * gtk_window_handle_get_child (GtkWindowHandle *self); Gets the child widget of self . Parameters self a GtkWindowHandle Returns the child widget of self . [nullable][transfer none] gtk_window_handle_set_child () gtk_window_handle_set_child void gtk_window_handle_set_child (GtkWindowHandle *self, GtkWidget *child); Sets the child widget of self . Parameters self a GtkWindowHandle child the child widget. [allow-none] Types and Values GtkWindowHandle GtkWindowHandle typedef struct _GtkWindowHandle GtkWindowHandle; Property Details The <literal>“child”</literal> property GtkWindowHandle:child “child” GtkWidget * The child widget.Owner: GtkWindowHandle Flags: Read / Write See Also GtkWindow, GtkHeaderBar docs/reference/gtk/xml/gtkfeatures.xml0000664000175000017500000004017313710700313020227 0ustar mclasenmclasen ]> Version Information 3 GTK4 Library Version Information Variables and functions to check the GTK version Functions guint gtk_get_major_version () guint gtk_get_minor_version () guint gtk_get_micro_version () guint gtk_get_binary_age () guint gtk_get_interface_age () const char * gtk_check_version () #defineGTK_CHECK_VERSION() Types and Values #defineGTK_MAJOR_VERSION #defineGTK_MINOR_VERSION #defineGTK_MICRO_VERSION #defineGTK_BINARY_AGE #defineGTK_INTERFACE_AGE Includes#include <gtk/gtk.h> Description GTK provides version information, primarily useful in configure checks for builds that have a configure script. Applications will not typically use the features described here. Functions gtk_get_major_version () gtk_get_major_version guint gtk_get_major_version (void); Returns the major version number of the GTK library. (e.g. in GTK version 3.1.5 this is 3.) This function is in the library, so it represents the GTK library your code is running against. Contrast with the GTK_MAJOR_VERSION macro, which represents the major version of the GTK headers you have included when compiling your code. Returns the major version number of the GTK library gtk_get_minor_version () gtk_get_minor_version guint gtk_get_minor_version (void); Returns the minor version number of the GTK library. (e.g. in GTK version 3.1.5 this is 1.) This function is in the library, so it represents the GTK library your code is are running against. Contrast with the GTK_MINOR_VERSION macro, which represents the minor version of the GTK headers you have included when compiling your code. Returns the minor version number of the GTK library gtk_get_micro_version () gtk_get_micro_version guint gtk_get_micro_version (void); Returns the micro version number of the GTK library. (e.g. in GTK version 3.1.5 this is 5.) This function is in the library, so it represents the GTK library your code is are running against. Contrast with the GTK_MICRO_VERSION macro, which represents the micro version of the GTK headers you have included when compiling your code. Returns the micro version number of the GTK library gtk_get_binary_age () gtk_get_binary_age guint gtk_get_binary_age (void); Returns the binary age as passed to libtool when building the GTK library the process is running against. If libtool means nothing to you, don't worry about it. Returns the binary age of the GTK library gtk_get_interface_age () gtk_get_interface_age guint gtk_get_interface_age (void); Returns the interface age as passed to libtool when building the GTK library the process is running against. If libtool means nothing to you, don't worry about it. Returns the interface age of the GTK library gtk_check_version () gtk_check_version const char * gtk_check_version (guint required_major, guint required_minor, guint required_micro); Checks that the GTK library in use is compatible with the given version. Generally you would pass in the constants GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION as the three arguments to this function; that produces a check that the library in use is compatible with the version of GTK the application or module was compiled against. Compatibility is defined by two things: first the version of the running library is newer than the version required_major.required_minor .required_micro . Second the running library must be binary compatible with the version required_major.required_minor .required_micro (same major version.) This function is primarily for GTK modules; the module can call this function to check that it wasn’t loaded into an incompatible version of GTK. However, such a check isn’t completely reliable, since the module may be linked against an old version of GTK and calling the old version of gtk_check_version(), but still get loaded into an application using a newer version of GTK. Parameters required_major the required major version required_minor the required minor version required_micro the required micro version Returns NULL if the GTK library is compatible with the given version, or a string describing the version mismatch. The returned string is owned by GTK and should not be modified or freed. [nullable] GTK_CHECK_VERSION() GTK_CHECK_VERSION #define GTK_CHECK_VERSION(major,minor,micro) Returns TRUE if the version of the GTK+ header files is the same as or newer than the passed-in version. Parameters major major version (e.g. 1 for version 1.2.5) minor minor version (e.g. 2 for version 1.2.5) micro micro version (e.g. 5 for version 1.2.5) Returns TRUE if GTK+ headers are new enough Types and Values GTK_MAJOR_VERSION GTK_MAJOR_VERSION #define GTK_MAJOR_VERSION (3) Like gtk_get_major_version(), but from the headers used at application compile time, rather than from the library linked against at application run time. GTK_MINOR_VERSION GTK_MINOR_VERSION #define GTK_MINOR_VERSION (99) Like gtk_get_minor_version(), but from the headers used at application compile time, rather than from the library linked against at application run time. GTK_MICRO_VERSION GTK_MICRO_VERSION #define GTK_MICRO_VERSION (0) Like gtk_get_micro_version(), but from the headers used at application compile time, rather than from the library linked against at application run time. GTK_BINARY_AGE GTK_BINARY_AGE #define GTK_BINARY_AGE (9900) Like gtk_get_binary_age(), but from the headers used at application compile time, rather than from the library linked against at application run time. GTK_INTERFACE_AGE GTK_INTERFACE_AGE #define GTK_INTERFACE_AGE (0) Like gtk_get_interface_age(), but from the headers used at application compile time, rather than from the library linked against at application run time. docs/reference/gtk/xml/gtkstyleprovider.xml0000664000175000017500000002101313710700313021314 0ustar mclasenmclasen ]> GtkStyleProvider 3 GTK4 Library GtkStyleProvider Interface to provide style information to GtkStyleContext Signals voidgtk-private-changedRun Last Types and Values GtkStyleProvider #defineGTK_STYLE_PROVIDER_PRIORITY_FALLBACK #defineGTK_STYLE_PROVIDER_PRIORITY_THEME #defineGTK_STYLE_PROVIDER_PRIORITY_SETTINGS #defineGTK_STYLE_PROVIDER_PRIORITY_APPLICATION #defineGTK_STYLE_PROVIDER_PRIORITY_USER Object Hierarchy GInterface ╰── GtkStyleProvider Prerequisites GtkStyleProvider requires GObject. Known Implementations GtkStyleProvider is implemented by GtkCssProvider and GtkSettings. Includes#include <gtk/gtk.h> Description GtkStyleProvider is an interface used to provide style information to a GtkStyleContext. See gtk_style_context_add_provider() and gtk_style_context_add_provider_for_display(). Functions Types and Values GtkStyleProvider GtkStyleProvider typedef struct _GtkStyleProvider GtkStyleProvider; GTK_STYLE_PROVIDER_PRIORITY_FALLBACK GTK_STYLE_PROVIDER_PRIORITY_FALLBACK #define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1 The priority used for default style information that is used in the absence of themes. Note that this is not very useful for providing default styling for custom style classes - themes are likely to override styling provided at this priority with catch-all * {...} rules. GTK_STYLE_PROVIDER_PRIORITY_THEME GTK_STYLE_PROVIDER_PRIORITY_THEME #define GTK_STYLE_PROVIDER_PRIORITY_THEME 200 The priority used for style information provided by themes. GTK_STYLE_PROVIDER_PRIORITY_SETTINGS GTK_STYLE_PROVIDER_PRIORITY_SETTINGS #define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400 The priority used for style information provided via GtkSettings. This priority is higher than GTK_STYLE_PROVIDER_PRIORITY_THEME to let settings override themes. GTK_STYLE_PROVIDER_PRIORITY_APPLICATION GTK_STYLE_PROVIDER_PRIORITY_APPLICATION #define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600 A priority that can be used when adding a GtkStyleProvider for application-specific style information. GTK_STYLE_PROVIDER_PRIORITY_USER GTK_STYLE_PROVIDER_PRIORITY_USER #define GTK_STYLE_PROVIDER_PRIORITY_USER 800 The priority used for the style information from $XDG_CONFIG_HOME/gtk-4.0/gtk.css. You should not use priorities higher than this, to give the user the last word. Signal Details The <literal>“gtk-private-changed”</literal> signal GtkStyleProvider::gtk-private-changed void user_function (GtkStyleProvider *styleprovider, gpointer user_data) Flags: Run Last See Also GtkStyleContext, GtkCssProvider docs/reference/gtk/xml/gtkstylecontext.xml0000664000175000017500000046130613710700313021163 0ustar mclasenmclasen ]> GtkStyleContext 3 GTK4 Library GtkStyleContext Rendering UI elements Functions void gtk_style_context_add_provider () void gtk_style_context_add_provider_for_display () GdkDisplay * gtk_style_context_get_display () GtkStateFlags gtk_style_context_get_state () void gtk_style_context_get_color () void gtk_style_context_get_border () void gtk_style_context_get_padding () void gtk_style_context_get_margin () gboolean gtk_style_context_lookup_color () void gtk_style_context_remove_provider () void gtk_style_context_remove_provider_for_display () void gtk_style_context_restore () void gtk_style_context_save () void gtk_style_context_add_class () void gtk_style_context_remove_class () gboolean gtk_style_context_has_class () void gtk_style_context_set_display () void gtk_style_context_set_state () void gtk_style_context_set_scale () int gtk_style_context_get_scale () char * gtk_style_context_to_string () GtkBorder * gtk_border_new () GtkBorder * gtk_border_copy () void gtk_border_free () void gtk_render_arrow () void gtk_render_background () void gtk_render_check () void gtk_render_expander () void gtk_render_focus () void gtk_render_frame () void gtk_render_handle () void gtk_render_layout () void gtk_render_line () void gtk_render_option () void gtk_render_activity () void gtk_render_icon () void gtk_render_insertion_cursor () Properties GdkDisplay *displayRead / Write Types and Values enumGtkBorderStyle #defineGTK_STYLE_CLASS_ACCELERATOR #defineGTK_STYLE_CLASS_ARROW #defineGTK_STYLE_CLASS_BACKGROUND #defineGTK_STYLE_CLASS_BOTTOM #defineGTK_STYLE_CLASS_BUTTON #defineGTK_STYLE_CLASS_CALENDAR #defineGTK_STYLE_CLASS_CELL #defineGTK_STYLE_CLASS_COMBOBOX_ENTRY #defineGTK_STYLE_CLASS_CONTEXT_MENU #defineGTK_STYLE_CLASS_CHECK #defineGTK_STYLE_CLASS_CSD #defineGTK_STYLE_CLASS_CURSOR_HANDLE #defineGTK_STYLE_CLASS_DEFAULT #defineGTK_STYLE_CLASS_DESTRUCTIVE_ACTION #defineGTK_STYLE_CLASS_DIM_LABEL #defineGTK_STYLE_CLASS_DND #defineGTK_STYLE_CLASS_DOCK #defineGTK_STYLE_CLASS_ENTRY #defineGTK_STYLE_CLASS_ERROR #defineGTK_STYLE_CLASS_EXPANDER #defineGTK_STYLE_CLASS_FRAME #defineGTK_STYLE_CLASS_FLAT #defineGTK_STYLE_CLASS_HEADER #defineGTK_STYLE_CLASS_HIGHLIGHT #defineGTK_STYLE_CLASS_HORIZONTAL #defineGTK_STYLE_CLASS_IMAGE #defineGTK_STYLE_CLASS_INFO #defineGTK_STYLE_CLASS_INSERTION_CURSOR #defineGTK_STYLE_CLASS_LABEL #defineGTK_STYLE_CLASS_LEFT #defineGTK_STYLE_CLASS_LEVEL_BAR #defineGTK_STYLE_CLASS_LINKED #defineGTK_STYLE_CLASS_LIST #defineGTK_STYLE_CLASS_LIST_ROW #defineGTK_STYLE_CLASS_MARK #defineGTK_STYLE_CLASS_MENU #defineGTK_STYLE_CLASS_MENUBAR #defineGTK_STYLE_CLASS_MENUITEM #defineGTK_STYLE_CLASS_MESSAGE_DIALOG #defineGTK_STYLE_CLASS_MONOSPACE #defineGTK_STYLE_CLASS_NEEDS_ATTENTION #defineGTK_STYLE_CLASS_NOTEBOOK #defineGTK_STYLE_CLASS_OSD #defineGTK_STYLE_CLASS_OVERSHOOT #defineGTK_STYLE_CLASS_PANE_SEPARATOR #defineGTK_STYLE_CLASS_PAPER #defineGTK_STYLE_CLASS_POPUP #defineGTK_STYLE_CLASS_POPOVER #defineGTK_STYLE_CLASS_PROGRESSBAR #defineGTK_STYLE_CLASS_PULSE #defineGTK_STYLE_CLASS_QUESTION #defineGTK_STYLE_CLASS_RADIO #defineGTK_STYLE_CLASS_RAISED #defineGTK_STYLE_CLASS_READ_ONLY #defineGTK_STYLE_CLASS_RIGHT #defineGTK_STYLE_CLASS_RUBBERBAND #defineGTK_STYLE_CLASS_SCALE #defineGTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE #defineGTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW #defineGTK_STYLE_CLASS_SCROLLBAR #defineGTK_STYLE_CLASS_SCROLLBARS_JUNCTION #defineGTK_STYLE_CLASS_SEPARATOR #defineGTK_STYLE_CLASS_SIDEBAR #defineGTK_STYLE_CLASS_SLIDER #defineGTK_STYLE_CLASS_SPINBUTTON #defineGTK_STYLE_CLASS_SPINNER #defineGTK_STYLE_CLASS_STATUSBAR #defineGTK_STYLE_CLASS_SUBTITLE #defineGTK_STYLE_CLASS_SUGGESTED_ACTION #defineGTK_STYLE_CLASS_TITLE #defineGTK_STYLE_CLASS_TITLEBAR #defineGTK_STYLE_CLASS_TOOLBAR #defineGTK_STYLE_CLASS_TOOLTIP #defineGTK_STYLE_CLASS_TOUCH_SELECTION #defineGTK_STYLE_CLASS_TOP #defineGTK_STYLE_CLASS_TROUGH #defineGTK_STYLE_CLASS_UNDERSHOOT #defineGTK_STYLE_CLASS_VERTICAL #defineGTK_STYLE_CLASS_VIEW #defineGTK_STYLE_CLASS_WARNING #defineGTK_STYLE_CLASS_WIDE GtkStyleContext enumGtkStyleContextPrintFlags structGtkBorder Object Hierarchy GObject ╰── GtkStyleContext Includes#include <gtk/gtk.h> Description GtkStyleContext is an object that stores styling information affecting a widget. In order to construct the final style information, GtkStyleContext queries information from all attached GtkStyleProviders. Style providers can be either attached explicitly to the context through gtk_style_context_add_provider(), or to the display through gtk_style_context_add_provider_for_display(). The resulting style is a combination of all providers’ information in priority order. For GTK+ widgets, any GtkStyleContext returned by gtk_widget_get_style_context() will already have a GdkDisplay and RTL/LTR information set. The style context will also be updated automatically if any of these settings change on the widget. Style ClassesWidgets can add style classes to their context, which can be used to associate different styles by class. The documentation for individual widgets lists which style classes it uses itself, and which style classes may be added by applications to affect their appearance. GTK+ defines macros for a number of style classes. Custom styling in UI libraries and applicationsIf you are developing a library with custom GtkWidgets that render differently than standard components, you may need to add a GtkStyleProvider yourself with the GTK_STYLE_PROVIDER_PRIORITY_FALLBACK priority, either a GtkCssProvider or a custom object implementing the GtkStyleProvider interface. This way themes may still attempt to style your UI elements in a different way if needed so. If you are using custom styling on an applications, you probably want then to make your style information prevail to the theme’s, so you must use a GtkStyleProvider with the GTK_STYLE_PROVIDER_PRIORITY_APPLICATION priority, keep in mind that the user settings in XDG_CONFIG_HOME/gtk-4.0/gtk.css will still take precedence over your changes, as it uses the GTK_STYLE_PROVIDER_PRIORITY_USER priority. Functions gtk_style_context_add_provider () gtk_style_context_add_provider void gtk_style_context_add_provider (GtkStyleContext *context, GtkStyleProvider *provider, guint priority); Adds a style provider to context , to be used in style construction. Note that a style provider added by this function only affects the style of the widget to which context belongs. If you want to affect the style of all widgets, use gtk_style_context_add_provider_for_display(). Note: If both priorities are the same, a GtkStyleProvider added through this function takes precedence over another added through gtk_style_context_add_provider_for_display(). Parameters context a GtkStyleContext provider a GtkStyleProvider priority the priority of the style provider. The lower it is, the earlier it will be used in the style construction. Typically this will be in the range between GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and GTK_STYLE_PROVIDER_PRIORITY_USER gtk_style_context_add_provider_for_display () gtk_style_context_add_provider_for_display void gtk_style_context_add_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider, guint priority); Adds a global style provider to display , which will be used in style construction for all GtkStyleContexts under display . GTK+ uses this to make styling information from GtkSettings available. Note: If both priorities are the same, A GtkStyleProvider added through gtk_style_context_add_provider() takes precedence over another added through this function. Parameters display a GdkDisplay provider a GtkStyleProvider priority the priority of the style provider. The lower it is, the earlier it will be used in the style construction. Typically this will be in the range between GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and GTK_STYLE_PROVIDER_PRIORITY_USER gtk_style_context_get_display () gtk_style_context_get_display GdkDisplay * gtk_style_context_get_display (GtkStyleContext *context); Returns the GdkDisplay to which context is attached. Parameters context a GtkStyleContext Returns a GdkDisplay. [transfer none] gtk_style_context_get_state () gtk_style_context_get_state GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context); Returns the state used for style matching. This method should only be used to retrieve the GtkStateFlags to pass to GtkStyleContext methods, like gtk_style_context_get_padding(). If you need to retrieve the current state of a GtkWidget, use gtk_widget_get_state_flags(). Parameters context a GtkStyleContext Returns the state flags gtk_style_context_get_color () gtk_style_context_get_color void gtk_style_context_get_color (GtkStyleContext *context, GdkRGBA *color); Gets the foreground color for a given state. See gtk_style_context_get_property() and GTK_STYLE_PROPERTY_COLOR for details. Parameters context a GtkStyleContext color return value for the foreground color. [out] gtk_style_context_get_border () gtk_style_context_get_border void gtk_style_context_get_border (GtkStyleContext *context, GtkBorder *border); Gets the border for a given state as a GtkBorder. See gtk_style_context_get_property() and GTK_STYLE_PROPERTY_BORDER_WIDTH for details. Parameters context a GtkStyleContext border return value for the border settings. [out] gtk_style_context_get_padding () gtk_style_context_get_padding void gtk_style_context_get_padding (GtkStyleContext *context, GtkBorder *padding); Gets the padding for a given state as a GtkBorder. See gtk_style_context_get() and GTK_STYLE_PROPERTY_PADDING for details. Parameters context a GtkStyleContext padding return value for the padding settings. [out] gtk_style_context_get_margin () gtk_style_context_get_margin void gtk_style_context_get_margin (GtkStyleContext *context, GtkBorder *margin); Gets the margin for a given state as a GtkBorder. See gtk_style_property_get() and GTK_STYLE_PROPERTY_MARGIN for details. Parameters context a GtkStyleContext margin return value for the margin settings. [out] gtk_style_context_lookup_color () gtk_style_context_lookup_color gboolean gtk_style_context_lookup_color (GtkStyleContext *context, const char *color_name, GdkRGBA *color); Looks up and resolves a color name in the context color map. Parameters context a GtkStyleContext color_name color name to lookup color Return location for the looked up color. [out] Returns TRUE if color_name was found and resolved, FALSE otherwise gtk_style_context_remove_provider () gtk_style_context_remove_provider void gtk_style_context_remove_provider (GtkStyleContext *context, GtkStyleProvider *provider); Removes provider from the style providers list in context . Parameters context a GtkStyleContext provider a GtkStyleProvider gtk_style_context_remove_provider_for_display () gtk_style_context_remove_provider_for_display void gtk_style_context_remove_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider); Removes provider from the global style providers list in display . Parameters display a GdkDisplay provider a GtkStyleProvider gtk_style_context_restore () gtk_style_context_restore void gtk_style_context_restore (GtkStyleContext *context); Restores context state to a previous stage. See gtk_style_context_save(). Parameters context a GtkStyleContext gtk_style_context_save () gtk_style_context_save void gtk_style_context_save (GtkStyleContext *context); Saves the context state, so temporary modifications done through gtk_style_context_add_class(), gtk_style_context_remove_class(), gtk_style_context_set_state(), etc. can quickly be reverted in one go through gtk_style_context_restore(). The matching call to gtk_style_context_restore() must be done before GTK returns to the main loop. Parameters context a GtkStyleContext gtk_style_context_add_class () gtk_style_context_add_class void gtk_style_context_add_class (GtkStyleContext *context, const char *class_name); Adds a style class to context , so posterior calls to gtk_style_context_get() or any of the gtk_render_*() functions will make use of this new class for styling. In the CSS file format, a GtkEntry defining a “search” class, would be matched by: While any widget defining a “search” class would be matched by: Parameters context a GtkStyleContext class_name class name to use in styling gtk_style_context_remove_class () gtk_style_context_remove_class void gtk_style_context_remove_class (GtkStyleContext *context, const char *class_name); Removes class_name from context . Parameters context a GtkStyleContext class_name class name to remove gtk_style_context_has_class () gtk_style_context_has_class gboolean gtk_style_context_has_class (GtkStyleContext *context, const char *class_name); Returns TRUE if context currently has defined the given class name. Parameters context a GtkStyleContext class_name a class name Returns TRUE if context has class_name defined gtk_style_context_set_display () gtk_style_context_set_display void gtk_style_context_set_display (GtkStyleContext *context, GdkDisplay *display); Attaches context to the given display. The display is used to add style information from “global” style providers, such as the display's GtkSettings instance. If you are using a GtkStyleContext returned from gtk_widget_get_style_context(), you do not need to call this yourself. Parameters context a GtkStyleContext display a GdkDisplay gtk_style_context_set_state () gtk_style_context_set_state void gtk_style_context_set_state (GtkStyleContext *context, GtkStateFlags flags); Sets the state to be used for style matching. Parameters context a GtkStyleContext flags state to represent gtk_style_context_set_scale () gtk_style_context_set_scale void gtk_style_context_set_scale (GtkStyleContext *context, int scale); Sets the scale to use when getting image assets for the style. Parameters context a GtkStyleContext scale scale gtk_style_context_get_scale () gtk_style_context_get_scale int gtk_style_context_get_scale (GtkStyleContext *context); Returns the scale used for assets. Parameters context a GtkStyleContext Returns the scale gtk_style_context_to_string () gtk_style_context_to_string char * gtk_style_context_to_string (GtkStyleContext *context, GtkStyleContextPrintFlags flags); Converts the style context into a string representation. The string representation always includes information about the name, state, id, visibility and style classes of the CSS node that is backing context . Depending on the flags, more information may be included. This function is intended for testing and debugging of the CSS implementation in GTK+. There are no guarantees about the format of the returned string, it may change. Parameters context a GtkStyleContext flags Flags that determine what to print Returns a newly allocated string representing context gtk_border_new () gtk_border_new GtkBorder * gtk_border_new (void); Allocates a new GtkBorder and initializes its elements to zero. Returns a newly allocated GtkBorder. Free with gtk_border_free(). [transfer full] gtk_border_copy () gtk_border_copy GtkBorder * gtk_border_copy (const GtkBorder *border_); Copies a GtkBorder. Parameters border_ a GtkBorder Returns a copy of border_ . [transfer full] gtk_border_free () gtk_border_free void gtk_border_free (GtkBorder *border_); Frees a GtkBorder. Parameters border_ a GtkBorder gtk_render_arrow () gtk_render_arrow void gtk_render_arrow (GtkStyleContext *context, cairo_t *cr, double angle, double x, double y, double size); Renders an arrow pointing to angle . Typical arrow rendering at 0, 1⁄2 π;, π; and 3⁄2 π: Parameters context a GtkStyleContext cr a cairo_t angle arrow angle from 0 to 2 * G_PI, being 0 the arrow pointing to the north x X origin of the render area y Y origin of the render area size square side for render area gtk_render_background () gtk_render_background void gtk_render_background (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders the background of an element. Typical background rendering, showing the effect of background-image, border-width and border-radius: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_check () gtk_render_check void gtk_render_check (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders a checkmark (as in a GtkCheckButton). The GTK_STATE_FLAG_CHECKED state determines whether the check is on or off, and GTK_STATE_FLAG_INCONSISTENT determines whether it should be marked as undefined. Typical checkmark rendering: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_expander () gtk_render_expander void gtk_render_expander (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders an expander (as used in GtkTreeView and GtkExpander) in the area defined by x , y , width , height . The state GTK_STATE_FLAG_CHECKED determines whether the expander is collapsed or expanded. Typical expander rendering: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_focus () gtk_render_focus void gtk_render_focus (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders a focus indicator on the rectangle determined by x , y , width , height . Typical focus rendering: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_frame () gtk_render_frame void gtk_render_frame (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders a frame around the rectangle defined by x , y , width , height . Examples of frame rendering, showing the effect of border-image, border-color, border-width, border-radius and junctions: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_handle () gtk_render_handle void gtk_render_handle (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders a handle (as in GtkPaned and GtkWindow’s resize grip), in the rectangle determined by x , y , width , height . Handles rendered for the paned and grip classes: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_layout () gtk_render_layout void gtk_render_layout (GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout); Renders layout on the coordinates x , y Parameters context a GtkStyleContext cr a cairo_t x X origin y Y origin layout the PangoLayout to render gtk_render_line () gtk_render_line void gtk_render_line (GtkStyleContext *context, cairo_t *cr, double x0, double y0, double x1, double y1); Renders a line from (x0, y0) to (x1, y1). Parameters context a GtkStyleContext cr a cairo_t x0 X coordinate for the origin of the line y0 Y coordinate for the origin of the line x1 X coordinate for the end of the line y1 Y coordinate for the end of the line gtk_render_option () gtk_render_option void gtk_render_option (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders an option mark (as in a GtkRadioButton), the GTK_STATE_FLAG_CHECKED state will determine whether the option is on or off, and GTK_STATE_FLAG_INCONSISTENT whether it should be marked as undefined. Typical option mark rendering: Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_activity () gtk_render_activity void gtk_render_activity (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height); Renders an activity indicator (such as in GtkSpinner). The state GTK_STATE_FLAG_CHECKED determines whether there is activity going on. Parameters context a GtkStyleContext cr a cairo_t x X origin of the rectangle y Y origin of the rectangle width rectangle width height rectangle height gtk_render_icon () gtk_render_icon void gtk_render_icon (GtkStyleContext *context, cairo_t *cr, GdkTexture *texture, double x, double y); Renders the icon in texture at the specified x and y coordinates. This function will render the icon in texture at exactly its size, regardless of scaling factors, which may not be appropriate when drawing on displays with high pixel densities. Parameters context a GtkStyleContext cr a cairo_t texture a GdkTexture containing the icon to draw x X position for the texture y Y position for the texture gtk_render_insertion_cursor () gtk_render_insertion_cursor void gtk_render_insertion_cursor (GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout, int index, PangoDirection direction); Draws a text caret on cr at the specified index of layout . Parameters context a GtkStyleContext cr a cairo_t x X origin y Y origin layout the PangoLayout of the text index the index in the PangoLayout direction the PangoDirection of the text Types and Values enum GtkBorderStyle GtkBorderStyle Describes how the border of a UI element should be rendered. Members GTK_BORDER_STYLE_NONE No visible border GTK_BORDER_STYLE_HIDDEN Same as GTK_BORDER_STYLE_NONE GTK_BORDER_STYLE_SOLID A single line segment GTK_BORDER_STYLE_INSET Looks as if the content is sunken into the canvas GTK_BORDER_STYLE_OUTSET Looks as if the content is coming out of the canvas GTK_BORDER_STYLE_DOTTED A series of round dots GTK_BORDER_STYLE_DASHED A series of square-ended dashes GTK_BORDER_STYLE_DOUBLE Two parallel lines with some space between them GTK_BORDER_STYLE_GROOVE Looks as if it were carved in the canvas GTK_BORDER_STYLE_RIDGE Looks as if it were coming out of the canvas GTK_STYLE_CLASS_ACCELERATOR GTK_STYLE_CLASS_ACCELERATOR #define GTK_STYLE_CLASS_ACCELERATOR "accelerator" A CSS class to match an accelerator. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_ARROW GTK_STYLE_CLASS_ARROW #define GTK_STYLE_CLASS_ARROW "arrow" A CSS class used when rendering an arrow element. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_BACKGROUND GTK_STYLE_CLASS_BACKGROUND #define GTK_STYLE_CLASS_BACKGROUND "background" A CSS class to match the window background. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_BOTTOM GTK_STYLE_CLASS_BOTTOM #define GTK_STYLE_CLASS_BOTTOM "bottom" A CSS class to indicate an area at the bottom of a widget. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_BUTTON GTK_STYLE_CLASS_BUTTON #define GTK_STYLE_CLASS_BUTTON "button" A CSS class to match buttons. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CALENDAR GTK_STYLE_CLASS_CALENDAR #define GTK_STYLE_CLASS_CALENDAR "calendar" A CSS class to match calendars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CELL GTK_STYLE_CLASS_CELL #define GTK_STYLE_CLASS_CELL "cell" A CSS class to match content rendered in cell views. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_COMBOBOX_ENTRY GTK_STYLE_CLASS_COMBOBOX_ENTRY #define GTK_STYLE_CLASS_COMBOBOX_ENTRY "combobox-entry" A CSS class to match combobox entries. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CONTEXT_MENU GTK_STYLE_CLASS_CONTEXT_MENU #define GTK_STYLE_CLASS_CONTEXT_MENU "context-menu" A CSS class to match context menus. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CHECK GTK_STYLE_CLASS_CHECK #define GTK_STYLE_CLASS_CHECK "check" A CSS class to match check boxes. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CSD GTK_STYLE_CLASS_CSD #define GTK_STYLE_CLASS_CSD "csd" A CSS class that gets added to windows which have client-side decorations. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_CURSOR_HANDLE GTK_STYLE_CLASS_CURSOR_HANDLE #define GTK_STYLE_CLASS_CURSOR_HANDLE "cursor-handle" A CSS class used when rendering a drag handle for text selection. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_DEFAULT GTK_STYLE_CLASS_DEFAULT #define GTK_STYLE_CLASS_DEFAULT "default" A CSS class to match the default widget. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_DESTRUCTIVE_ACTION GTK_STYLE_CLASS_DESTRUCTIVE_ACTION #define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action" A CSS class used when an action (usually a button) is one that is expected to remove or destroy something visible to the user. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_DIM_LABEL GTK_STYLE_CLASS_DIM_LABEL #define GTK_STYLE_CLASS_DIM_LABEL "dim-label" A CSS class to match dimmed labels. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_DND GTK_STYLE_CLASS_DND #define GTK_STYLE_CLASS_DND "dnd" A CSS class for a drag-and-drop indicator. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_DOCK GTK_STYLE_CLASS_DOCK #define GTK_STYLE_CLASS_DOCK "dock" A CSS class defining a dock area. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_ENTRY GTK_STYLE_CLASS_ENTRY #define GTK_STYLE_CLASS_ENTRY "entry" A CSS class to match text entries. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_ERROR GTK_STYLE_CLASS_ERROR #define GTK_STYLE_CLASS_ERROR "error" A CSS class for an area displaying an error message, such as those in infobars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_EXPANDER GTK_STYLE_CLASS_EXPANDER #define GTK_STYLE_CLASS_EXPANDER "expander" A CSS class defining an expander, such as those in treeviews. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_FRAME GTK_STYLE_CLASS_FRAME #define GTK_STYLE_CLASS_FRAME "frame" A CSS class defining a frame delimiting content, such as GtkFrame or the scrolled window frame around the scrollable area. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_FLAT GTK_STYLE_CLASS_FLAT #define GTK_STYLE_CLASS_FLAT "flat" A CSS class that is added when widgets that usually have a frame or border (like buttons or entries) should appear without it. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_HEADER GTK_STYLE_CLASS_HEADER #define GTK_STYLE_CLASS_HEADER "header" A CSS class to match a header element. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_HIGHLIGHT GTK_STYLE_CLASS_HIGHLIGHT #define GTK_STYLE_CLASS_HIGHLIGHT "highlight" A CSS class defining a highlighted area, such as headings in assistants and calendars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_HORIZONTAL GTK_STYLE_CLASS_HORIZONTAL #define GTK_STYLE_CLASS_HORIZONTAL "horizontal" A CSS class for horizontally layered widgets. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_IMAGE GTK_STYLE_CLASS_IMAGE #define GTK_STYLE_CLASS_IMAGE "image" A CSS class defining an image, such as the icon in an entry. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_INFO GTK_STYLE_CLASS_INFO #define GTK_STYLE_CLASS_INFO "info" A CSS class for an area displaying an informational message, such as those in infobars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_INSERTION_CURSOR GTK_STYLE_CLASS_INSERTION_CURSOR #define GTK_STYLE_CLASS_INSERTION_CURSOR "insertion-cursor" A CSS class used when rendering a drag handle for the insertion cursor position. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LABEL GTK_STYLE_CLASS_LABEL #define GTK_STYLE_CLASS_LABEL "label" A CSS class to match labels. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LEFT GTK_STYLE_CLASS_LEFT #define GTK_STYLE_CLASS_LEFT "left" A CSS class to indicate an area at the left of a widget. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LEVEL_BAR GTK_STYLE_CLASS_LEVEL_BAR #define GTK_STYLE_CLASS_LEVEL_BAR "level-bar" A CSS class used when rendering a level indicator, such as a battery charge level, or a password strength. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LINKED GTK_STYLE_CLASS_LINKED #define GTK_STYLE_CLASS_LINKED "linked" A CSS class to match a linked area, such as a box containing buttons belonging to the same control. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LIST GTK_STYLE_CLASS_LIST #define GTK_STYLE_CLASS_LIST "list" A CSS class to match lists. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_LIST_ROW GTK_STYLE_CLASS_LIST_ROW #define GTK_STYLE_CLASS_LIST_ROW "list-row" A CSS class to match list rows. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MARK GTK_STYLE_CLASS_MARK #define GTK_STYLE_CLASS_MARK "mark" A CSS class defining marks in a widget, such as in scales. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MENU GTK_STYLE_CLASS_MENU #define GTK_STYLE_CLASS_MENU "menu" A CSS class to match menus. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MENUBAR GTK_STYLE_CLASS_MENUBAR #define GTK_STYLE_CLASS_MENUBAR "menubar" A CSS class to menubars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_MENUITEM #define GTK_STYLE_CLASS_MENUITEM "menuitem" A CSS class to match menu items. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MESSAGE_DIALOG GTK_STYLE_CLASS_MESSAGE_DIALOG #define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog" A CSS class that is added to message dialogs. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_MONOSPACE GTK_STYLE_CLASS_MONOSPACE #define GTK_STYLE_CLASS_MONOSPACE "monospace" A CSS class that is added to text view that should use a monospace font. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_NEEDS_ATTENTION GTK_STYLE_CLASS_NEEDS_ATTENTION #define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention" A CSS class used when an element needs the user attention, for instance a button in a stack switcher corresponding to a hidden page that changed state. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_NOTEBOOK GTK_STYLE_CLASS_NOTEBOOK #define GTK_STYLE_CLASS_NOTEBOOK "notebook" A CSS class defining a notebook. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_OSD GTK_STYLE_CLASS_OSD #define GTK_STYLE_CLASS_OSD "osd" A CSS class used when rendering an OSD (On Screen Display) element, on top of another container. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_OVERSHOOT GTK_STYLE_CLASS_OVERSHOOT #define GTK_STYLE_CLASS_OVERSHOOT "overshoot" A CSS class that is added on the visual hints that happen when scrolling is attempted past the limits of a scrollable area. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_PANE_SEPARATOR GTK_STYLE_CLASS_PANE_SEPARATOR #define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator" A CSS class for a pane separator, such as those in GtkPaned. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_PAPER GTK_STYLE_CLASS_PAPER #define GTK_STYLE_CLASS_PAPER "paper" A CSS class that is added to areas that should look like paper. This is used in print previews and themes are encouraged to style it as black text on white background. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_POPUP GTK_STYLE_CLASS_POPUP #define GTK_STYLE_CLASS_POPUP "popup" A CSS class that is added to the toplevel windows used for menus. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_POPOVER GTK_STYLE_CLASS_POPOVER #define GTK_STYLE_CLASS_POPOVER "popover" A CSS class that matches popovers. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_PROGRESSBAR #define GTK_STYLE_CLASS_PROGRESSBAR "progressbar" A CSS class to use when rendering activity as a progressbar. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_PULSE GTK_STYLE_CLASS_PULSE #define GTK_STYLE_CLASS_PULSE "pulse" A CSS class to use when rendering a pulse in an indeterminate progress bar. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_QUESTION GTK_STYLE_CLASS_QUESTION #define GTK_STYLE_CLASS_QUESTION "question" A CSS class for an area displaying a question to the user, such as those in infobars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_RADIO GTK_STYLE_CLASS_RADIO #define GTK_STYLE_CLASS_RADIO "radio" A CSS class to match radio buttons. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_RAISED GTK_STYLE_CLASS_RAISED #define GTK_STYLE_CLASS_RAISED "raised" A CSS class to match a raised control, such as a raised button on a toolbar. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_READ_ONLY GTK_STYLE_CLASS_READ_ONLY #define GTK_STYLE_CLASS_READ_ONLY "read-only" A CSS class used to indicate a read-only state. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_RIGHT GTK_STYLE_CLASS_RIGHT #define GTK_STYLE_CLASS_RIGHT "right" A CSS class to indicate an area at the right of a widget. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_RUBBERBAND GTK_STYLE_CLASS_RUBBERBAND #define GTK_STYLE_CLASS_RUBBERBAND "rubberband" A CSS class to match the rubberband selection rectangle. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SCALE GTK_STYLE_CLASS_SCALE #define GTK_STYLE_CLASS_SCALE "scale" A CSS class to match scale widgets. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE #define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above" A CSS class to match scale widgets with marks attached, all the marks are above for horizontal GtkScale. left for vertical GtkScale. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW #define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below" A CSS class to match scale widgets with marks attached, all the marks are below for horizontal GtkScale, right for vertical GtkScale. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SCROLLBAR GTK_STYLE_CLASS_SCROLLBAR #define GTK_STYLE_CLASS_SCROLLBAR "scrollbar" A CSS class to match scrollbars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SCROLLBARS_JUNCTION GTK_STYLE_CLASS_SCROLLBARS_JUNCTION #define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION "scrollbars-junction" A CSS class to match the junction area between a horizontal and vertical scrollbar, when they’re both shown. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SEPARATOR GTK_STYLE_CLASS_SEPARATOR #define GTK_STYLE_CLASS_SEPARATOR "separator" A CSS class for a separator. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SIDEBAR GTK_STYLE_CLASS_SIDEBAR #define GTK_STYLE_CLASS_SIDEBAR "sidebar" A CSS class defining a sidebar, such as the left side in a file chooser. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SLIDER GTK_STYLE_CLASS_SLIDER #define GTK_STYLE_CLASS_SLIDER "slider" A CSS class to match sliders. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SPINBUTTON GTK_STYLE_CLASS_SPINBUTTON #define GTK_STYLE_CLASS_SPINBUTTON "spinbutton" A CSS class defining a spinbutton. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_SPINNER #define GTK_STYLE_CLASS_SPINNER "spinner" A CSS class to use when rendering activity as a “spinner”. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_STATUSBAR GTK_STYLE_CLASS_STATUSBAR #define GTK_STYLE_CLASS_STATUSBAR "statusbar" A CSS class to match statusbars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SUBTITLE GTK_STYLE_CLASS_SUBTITLE #define GTK_STYLE_CLASS_SUBTITLE "subtitle" A CSS class used for the subtitle label in a titlebar in a toplevel window. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_SUGGESTED_ACTION GTK_STYLE_CLASS_SUGGESTED_ACTION #define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action" A CSS class used when an action (usually a button) is the primary suggested action in a specific context. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TITLE GTK_STYLE_CLASS_TITLE #define GTK_STYLE_CLASS_TITLE "title" A CSS class used for the title label in a titlebar in a toplevel window. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TITLEBAR GTK_STYLE_CLASS_TITLEBAR #define GTK_STYLE_CLASS_TITLEBAR "titlebar" A CSS class used when rendering a titlebar in a toplevel window. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TOOLBAR GTK_STYLE_CLASS_TOOLBAR #define GTK_STYLE_CLASS_TOOLBAR "toolbar" A CSS class to match toolbars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TOOLTIP GTK_STYLE_CLASS_TOOLTIP #define GTK_STYLE_CLASS_TOOLTIP "tooltip" A CSS class to match tooltip windows. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TOUCH_SELECTION GTK_STYLE_CLASS_TOUCH_SELECTION #define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection" A CSS class for touch selection popups on entries and text views. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TOP GTK_STYLE_CLASS_TOP #define GTK_STYLE_CLASS_TOP "top" A CSS class to indicate an area at the top of a widget. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_TROUGH GTK_STYLE_CLASS_TROUGH #define GTK_STYLE_CLASS_TROUGH "trough" A CSS class to match troughs, as in scrollbars and progressbars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_UNDERSHOOT GTK_STYLE_CLASS_UNDERSHOOT #define GTK_STYLE_CLASS_UNDERSHOOT "undershoot" A CSS class that is added on the visual hints that happen where content is 'scrolled off' and can be made visible by scrolling. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_VERTICAL GTK_STYLE_CLASS_VERTICAL #define GTK_STYLE_CLASS_VERTICAL "vertical" A CSS class for vertically layered widgets. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_VIEW GTK_STYLE_CLASS_VIEW #define GTK_STYLE_CLASS_VIEW "view" A CSS class defining a view, such as iconviews or treeviews. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_WARNING GTK_STYLE_CLASS_WARNING #define GTK_STYLE_CLASS_WARNING "warning" A CSS class for an area displaying a warning message, such as those in infobars. Refer to individual widget documentation for used style classes. GTK_STYLE_CLASS_WIDE GTK_STYLE_CLASS_WIDE #define GTK_STYLE_CLASS_WIDE "wide" A CSS class to indicate that a UI element should be 'wide'. Used by GtkPaned. Refer to individual widget documentation for used style classes. GtkStyleContext GtkStyleContext typedef struct _GtkStyleContext GtkStyleContext; enum GtkStyleContextPrintFlags GtkStyleContextPrintFlags Flags that modify the behavior of gtk_style_context_to_string(). New values may be added to this enumeration. Members GTK_STYLE_CONTEXT_PRINT_NONE Default value. GTK_STYLE_CONTEXT_PRINT_RECURSE Print the entire tree of CSS nodes starting at the style context's node GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE Show the values of the CSS properties for each node GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE Show information about what changes affect the styles struct GtkBorder GtkBorder struct GtkBorder { gint16 left; gint16 right; gint16 top; gint16 bottom; }; A struct that specifies a border around a rectangular area that can be of different width on each side. Members gint16 left; The width of the left border gint16 right; The width of the right border gint16 top; The width of the top border gint16 bottom; The width of the bottom border Property Details The <literal>“display”</literal> property GtkStyleContext:display “display” GdkDisplay * The associated GdkDisplay.Owner: GtkStyleContext Flags: Read / Write docs/reference/gtk/xml/gtkcssprovider.xml0000664000175000017500000013666213710700313020765 0ustar mclasenmclasen ]> GtkCssProvider 3 GTK4 Library GtkCssProvider CSS-like styling for widgets Functions void gtk_css_provider_load_named () void gtk_css_provider_load_from_data () void gtk_css_provider_load_from_file () void gtk_css_provider_load_from_path () void gtk_css_provider_load_from_resource () GtkCssProvider * gtk_css_provider_new () char * gtk_css_provider_to_string () GtkCssSection * gtk_css_section_new () GtkCssSection * gtk_css_section_ref () void gtk_css_section_unref () void gtk_css_section_print () char * gtk_css_section_to_string () GFile * gtk_css_section_get_file () GtkCssSection * gtk_css_section_get_parent () const GtkCssLocation * gtk_css_section_get_start_location () const GtkCssLocation * gtk_css_section_get_end_location () Signals voidparsing-errorRun Last Types and Values structGtkCssProvider #defineGTK_CSS_PARSER_ERROR enumGtkCssParserError enumGtkCssParserWarning structGtkCssLocation GtkCssSection Object Hierarchy GBoxed ╰── GtkCssSection GObject ╰── GtkCssProvider Implemented Interfaces GtkCssProvider implements GtkStyleProvider. Includes#include <gtk/gtk.h> Description GtkCssProvider is an object implementing the GtkStyleProvider interface. It is able to parse CSS-like input in order to style widgets. An application can make GTK parse a specific CSS style sheet by calling gtk_css_provider_load_from_file() or gtk_css_provider_load_from_resource() and adding the provider with gtk_style_context_add_provider() or gtk_style_context_add_provider_for_display(). In addition, certain files will be read when GTK is initialized. First, the file $XDG_CONFIG_HOME/gtk-4.0/gtk.css is loaded if it exists. Then, GTK loads the first existing file among XDG_DATA_HOME/themes/THEME/gtk-VERSION/gtk-VARIANT.css, $HOME/.themes/THEME/gtk-VERSION/gtk-VARIANT.css, $XDG_DATA_DIRS/themes/THEME/gtk-VERSION/gtk-VARIANT.css and DATADIR/share/themes/THEME/gtk-VERSION/gtk-VARIANT.css, where THEME is the name of the current theme (see the “gtk-theme-name” setting), VARIANT is the variant to load (see the “gtk-application-prefer-dark-theme” setting), DATADIR is the prefix configured when GTK was compiled (unless overridden by the GTK_DATA_PREFIX environment variable), and VERSION is the GTK version number. If no file is found for the current version, GTK tries older versions all the way back to 4.0. Functions gtk_css_provider_load_named () gtk_css_provider_load_named void gtk_css_provider_load_named (GtkCssProvider *provider, const char *name, const char *variant); Loads a theme from the usual theme paths. The actual process of finding the theme might change between releases, but it is guaranteed that this function uses the same mechanism to load the theme that GTK uses for loading its own theme. Parameters provider a GtkCssProvider name A theme name variant variant to load, for example, "dark", or NULL for the default. [allow-none] gtk_css_provider_load_from_data () gtk_css_provider_load_from_data void gtk_css_provider_load_from_data (GtkCssProvider *css_provider, const char *data, gssize length); Loads data into css_provider , and by doing so clears any previously loaded information. Parameters css_provider a GtkCssProvider data CSS data loaded in memory. [array length=length][element-type guint8] length the length of data in bytes, or -1 for NUL terminated strings. If length is not -1, the code will assume it is not NUL terminated and will potentially do a copy. gtk_css_provider_load_from_file () gtk_css_provider_load_from_file void gtk_css_provider_load_from_file (GtkCssProvider *css_provider, GFile *file); Loads the data contained in file into css_provider , making it clear any previously loaded information. Parameters css_provider a GtkCssProvider file GFile pointing to a file to load gtk_css_provider_load_from_path () gtk_css_provider_load_from_path void gtk_css_provider_load_from_path (GtkCssProvider *css_provider, const char *path); Loads the data contained in path into css_provider , making it clear any previously loaded information. Parameters css_provider a GtkCssProvider path the path of a filename to load, in the GLib filename encoding gtk_css_provider_load_from_resource () gtk_css_provider_load_from_resource void gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, const char *resource_path); Loads the data contained in the resource at resource_path into the GtkCssProvider, clearing any previously loaded information. To track errors while loading CSS, connect to the “parsing-error” signal. Parameters css_provider a GtkCssProvider resource_path a GResource resource path gtk_css_provider_new () gtk_css_provider_new GtkCssProvider * gtk_css_provider_new (void); Returns a newly created GtkCssProvider. Returns A new GtkCssProvider gtk_css_provider_to_string () gtk_css_provider_to_string char * gtk_css_provider_to_string (GtkCssProvider *provider); Converts the provider into a string representation in CSS format. Using gtk_css_provider_load_from_data() with the return value from this function on a new provider created with gtk_css_provider_new() will basically create a duplicate of this provider . Parameters provider the provider to write to a string Returns a new string representing the provider . gtk_css_section_new () gtk_css_section_new GtkCssSection * gtk_css_section_new (GFile *file, const GtkCssLocation *start, const GtkCssLocation *end); Creates a new GtkCssSection referring to the section in the given file from the start location to the end location. [constructor] Parameters file The file this section refers to. [nullable][transfer none] start The start location end The end location Returns a new GtkCssSection gtk_css_section_ref () gtk_css_section_ref GtkCssSection * gtk_css_section_ref (GtkCssSection *section); Increments the reference count on section . Parameters section a GtkCssSection Returns section itself. gtk_css_section_unref () gtk_css_section_unref void gtk_css_section_unref (GtkCssSection *section); Decrements the reference count on section , freeing the structure if the reference count reaches 0. Parameters section a GtkCssSection gtk_css_section_print () gtk_css_section_print void gtk_css_section_print (const GtkCssSection *section, GString *string); Prints the section into string in a human-readable form. This is a form like gtk.css:32:1-23 to denote line 32, characters 1 to 23 in the file gtk.css. Parameters section a section string a GString to print to gtk_css_section_to_string () gtk_css_section_to_string char * gtk_css_section_to_string (const GtkCssSection *section); Prints the section into a human-readable text form using gtk_css_section_print(). Parameters section a GtkCssSection Returns A new string. [transfer full] gtk_css_section_get_file () gtk_css_section_get_file GFile * gtk_css_section_get_file (const GtkCssSection *section); Gets the file that section was parsed from. If no such file exists, for example because the CSS was loaded via gtk_css_provider_load_from_data() , then NULL is returned. Parameters section the section Returns the GFile that section was parsed from or NULL if section was parsed from other data. [transfer none] gtk_css_section_get_parent () gtk_css_section_get_parent GtkCssSection * gtk_css_section_get_parent (const GtkCssSection *section); Gets the parent section for the given section . The parent section is the section that contains this section . A special case are sections of type GTK_CSS_SECTION_DOCUMENT. Their parent will either be NULL if they are the original CSS document that was loaded by gtk_css_provider_load_from_file() or a section of type GTK_CSS_SECTION_IMPORT if it was loaded with an import rule from a different file. Parameters section the section Returns the parent section or NULL if none. [nullable][transfer none] gtk_css_section_get_start_location () gtk_css_section_get_start_location const GtkCssLocation * gtk_css_section_get_start_location (const GtkCssSection *section); Returns the location in the CSS document where this section starts. Parameters section the section Returns The start location of this section. [transfer none][not nullable] gtk_css_section_get_end_location () gtk_css_section_get_end_location const GtkCssLocation * gtk_css_section_get_end_location (const GtkCssSection *section); Returns the location in the CSS document where this section ends. Parameters section the section Returns The end location of this section. [transfer none][not nullable] Types and Values struct GtkCssProvider GtkCssProvider struct GtkCssProvider; GTK_CSS_PARSER_ERROR GTK_CSS_PARSER_ERROR #define GTK_CSS_PARSER_ERROR (gtk_css_parser_error_quark ()) Domain for GtkCssParser errors. enum GtkCssParserError GtkCssParserError Errors that can occur while parsing CSS. These errors are unexpected and will cause parts of the given CSS to be ignored. Members GTK_CSS_PARSER_ERROR_FAILED Unknown failure. GTK_CSS_PARSER_ERROR_SYNTAX The given text does not form valid syntax GTK_CSS_PARSER_ERROR_IMPORT Failed to import a resource GTK_CSS_PARSER_ERROR_NAME The given name has not been defined GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE The given value is not correct enum GtkCssParserWarning GtkCssParserWarning Warnings that can occur while parsing CSS. Unlike GtkCssParserErrors, warnings do not cause the parser to skip any input, but they indicate issues that should be fixed. Members GTK_CSS_PARSER_WARNING_DEPRECATED The given construct is deprecated and will be removed in a future version GTK_CSS_PARSER_WARNING_SYNTAX A syntax construct was used that should be avoided GTK_CSS_PARSER_WARNING_UNIMPLEMENTED A feature is not implemented struct GtkCssLocation GtkCssLocation struct GtkCssLocation { gsize bytes; gsize chars; gsize lines; gsize line_bytes; gsize line_chars; }; GtkCssLocation is used to present a location in a file - or other source of data parsed by the CSS engine. The bytes and line_bytes offsets are meant to be used to programmatically match data. The lines and line_chars offsets can be used for printing the location in a file. Note that the lines parameter starts from 0 and is increased whenever a CSS line break is encountered. (CSS defines the C character sequences "\r\n", "\r", "\n" and "\f" as newlines.) If your document uses different rules for line breaking, you might want run into problems here. Members gsize bytes; number of bytes parsed since the beginning gsize chars; number of characters parsed since the beginning gsize lines; number of full lines that have been parsed If you want to display this as a line number, you need to add 1 to this. gsize line_bytes; Number of bytes parsed since the last line break gsize line_chars; Number of characters parsed since the last line break GtkCssSection GtkCssSection typedef struct _GtkCssSection GtkCssSection; Defines a part of a CSS document. Because sections are nested into one another, you can use gtk_css_section_get_parent() to get the containing region. Signal Details The <literal>“parsing-error”</literal> signal GtkCssProvider::parsing-error void user_function (GtkCssProvider *provider, GtkCssSection *section, GError *error, gpointer user_data) Signals that a parsing error occurred. the path , line and position describe the actual location of the error as accurately as possible. Parsing errors are never fatal, so the parsing will resume after the error. Errors may however cause parts of the given data or even all of it to not be parsed at all. So it is a useful idea to check that the parsing succeeds by connecting to this signal. Note that this signal may be emitted at any time as the css provider may opt to defer parsing parts or all of the input to a later time than when a loading function was called. Parameters provider the provider that had a parsing error section section the error happened in error The parsing error user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkStyleContext, GtkStyleProvider docs/reference/gtk/xml/gtkenums.xml0000664000175000017500000012074213710700313017541 0ustar mclasenmclasen ]> Standard Enumerations 3 GTK4 Library Standard Enumerations Public enumerated types used throughout GTK+ Functions GtkOrdering gtk_ordering_from_cmpfunc () Types and Values enumGtkBaselinePosition enumGtkDeleteType enumGtkDirectionType enumGtkJustification enumGtkMovementStep enumGtkOrdering enumGtkOrientation enumGtkPackType enumGtkPositionType enumGtkScrollStep enumGtkScrollType enumGtkSelectionMode enumGtkStateFlags enumGtkSortType enumGtkIconSize Includes#include <gtk/gtk.h> Description Functions gtk_ordering_from_cmpfunc () gtk_ordering_from_cmpfunc GtkOrdering gtk_ordering_from_cmpfunc (int cmpfunc_result); Converts the result of a GCompareFunc like strcmp() to a GtkOrdering. Parameters cmpfunc_result Result of a comparison function Returns the corresponding GtkOrdering Types and Values enum GtkBaselinePosition GtkBaselinePosition Whenever a container has some form of natural row it may align children in that row along a common typographical baseline. If the amount of vertical space in the row is taller than the total requested height of the baseline-aligned children then it can use a GtkBaselinePosition to select where to put the baseline inside the extra available space. Members GTK_BASELINE_POSITION_TOP Align the baseline at the top GTK_BASELINE_POSITION_CENTER Center the baseline GTK_BASELINE_POSITION_BOTTOM Align the baseline at the bottom enum GtkDeleteType GtkDeleteType See also: “delete-from-cursor”. Members GTK_DELETE_CHARS Delete characters. GTK_DELETE_WORD_ENDS Delete only the portion of the word to the left/right of cursor if we’re in the middle of a word. GTK_DELETE_WORDS Delete words. GTK_DELETE_DISPLAY_LINES Delete display-lines. Display-lines refers to the visible lines, with respect to the current line breaks. As opposed to paragraphs, which are defined by line breaks in the input. GTK_DELETE_DISPLAY_LINE_ENDS Delete only the portion of the display-line to the left/right of cursor. GTK_DELETE_PARAGRAPH_ENDS Delete to the end of the paragraph. Like C-k in Emacs (or its reverse). GTK_DELETE_PARAGRAPHS Delete entire line. Like C-k in pico. GTK_DELETE_WHITESPACE Delete only whitespace. Like M-\ in Emacs. enum GtkDirectionType GtkDirectionType Focus movement types. Members GTK_DIR_TAB_FORWARD Move forward. GTK_DIR_TAB_BACKWARD Move backward. GTK_DIR_UP Move up. GTK_DIR_DOWN Move down. GTK_DIR_LEFT Move left. GTK_DIR_RIGHT Move right. enum GtkJustification GtkJustification Used for justifying the text inside a GtkLabel widget. (See also GtkAlignment). Members GTK_JUSTIFY_LEFT The text is placed at the left edge of the label. GTK_JUSTIFY_RIGHT The text is placed at the right edge of the label. GTK_JUSTIFY_CENTER The text is placed in the center of the label. GTK_JUSTIFY_FILL The text is placed is distributed across the label. enum GtkMovementStep GtkMovementStep Members GTK_MOVEMENT_LOGICAL_POSITIONS Move forward or back by graphemes GTK_MOVEMENT_VISUAL_POSITIONS Move left or right by graphemes GTK_MOVEMENT_WORDS Move forward or back by words GTK_MOVEMENT_DISPLAY_LINES Move up or down lines (wrapped lines) GTK_MOVEMENT_DISPLAY_LINE_ENDS Move to either end of a line GTK_MOVEMENT_PARAGRAPHS Move up or down paragraphs (newline-ended lines) GTK_MOVEMENT_PARAGRAPH_ENDS Move to either end of a paragraph GTK_MOVEMENT_PAGES Move by pages GTK_MOVEMENT_BUFFER_ENDS Move to ends of the buffer GTK_MOVEMENT_HORIZONTAL_PAGES Move horizontally by pages enum GtkOrdering GtkOrdering Describes the way two values can be compared. These values can be used with a GCompareFunc. However, a GCompareFunc is allowed to return any integer values. For converting such a value to a GtkOrdering, use gtk_ordering_from_cmpfunc(). Members GTK_ORDERING_SMALLER the first value is smaller than the second GTK_ORDERING_EQUAL the two values are equal GTK_ORDERING_LARGER the first value is larger than the second enum GtkOrientation GtkOrientation Represents the orientation of widgets and other objects which can be switched between horizontal and vertical orientation on the fly, like GtkBox or GtkGesturePan. Members GTK_ORIENTATION_HORIZONTAL The element is in horizontal orientation. GTK_ORIENTATION_VERTICAL The element is in vertical orientation. enum GtkPackType GtkPackType Represents the packing location GtkBox children Members GTK_PACK_START The child is packed into the start of the box GTK_PACK_END The child is packed into the end of the box enum GtkPositionType GtkPositionType Describes which edge of a widget a certain feature is positioned at, e.g. the tabs of a GtkNotebook, the handle of a GtkHandleBox or the label of a GtkScale. Members GTK_POS_LEFT The feature is at the left edge. GTK_POS_RIGHT The feature is at the right edge. GTK_POS_TOP The feature is at the top edge. GTK_POS_BOTTOM The feature is at the bottom edge. enum GtkScrollStep GtkScrollStep Members GTK_SCROLL_STEPS Scroll in steps. GTK_SCROLL_PAGES Scroll by pages. GTK_SCROLL_ENDS Scroll to ends. GTK_SCROLL_HORIZONTAL_STEPS Scroll in horizontal steps. GTK_SCROLL_HORIZONTAL_PAGES Scroll by horizontal pages. GTK_SCROLL_HORIZONTAL_ENDS Scroll to the horizontal ends. enum GtkScrollType GtkScrollType Scrolling types. Members GTK_SCROLL_NONE No scrolling. GTK_SCROLL_JUMP Jump to new location. GTK_SCROLL_STEP_BACKWARD Step backward. GTK_SCROLL_STEP_FORWARD Step forward. GTK_SCROLL_PAGE_BACKWARD Page backward. GTK_SCROLL_PAGE_FORWARD Page forward. GTK_SCROLL_STEP_UP Step up. GTK_SCROLL_STEP_DOWN Step down. GTK_SCROLL_PAGE_UP Page up. GTK_SCROLL_PAGE_DOWN Page down. GTK_SCROLL_STEP_LEFT Step to the left. GTK_SCROLL_STEP_RIGHT Step to the right. GTK_SCROLL_PAGE_LEFT Page to the left. GTK_SCROLL_PAGE_RIGHT Page to the right. GTK_SCROLL_START Scroll to start. GTK_SCROLL_END Scroll to end. enum GtkSelectionMode GtkSelectionMode Used to control what selections users are allowed to make. Members GTK_SELECTION_NONE No selection is possible. GTK_SELECTION_SINGLE Zero or one element may be selected. GTK_SELECTION_BROWSE Exactly one element is selected. In some circumstances, such as initially or during a search operation, it’s possible for no element to be selected with GTK_SELECTION_BROWSE. What is really enforced is that the user can’t deselect a currently selected element except by selecting another element. GTK_SELECTION_MULTIPLE Any number of elements may be selected. The Ctrl key may be used to enlarge the selection, and Shift key to select between the focus and the child pointed to. Some widgets may also allow Click-drag to select a range of elements. enum GtkStateFlags GtkStateFlags Describes a widget state. Widget states are used to match the widget against CSS pseudo-classes. Note that GTK extends the regular CSS classes and sometimes uses different names. Members GTK_STATE_FLAG_NORMAL State during normal operation GTK_STATE_FLAG_ACTIVE Widget is active GTK_STATE_FLAG_PRELIGHT Widget has a mouse pointer over it GTK_STATE_FLAG_SELECTED Widget is selected GTK_STATE_FLAG_INSENSITIVE Widget is insensitive GTK_STATE_FLAG_INCONSISTENT Widget is inconsistent GTK_STATE_FLAG_FOCUSED Widget has the keyboard focus GTK_STATE_FLAG_BACKDROP Widget is in a background toplevel window GTK_STATE_FLAG_DIR_LTR Widget is in left-to-right text direction GTK_STATE_FLAG_DIR_RTL Widget is in right-to-left text direction GTK_STATE_FLAG_LINK Widget is a link GTK_STATE_FLAG_VISITED The location the widget points to has already been visited GTK_STATE_FLAG_CHECKED Widget is checked GTK_STATE_FLAG_DROP_ACTIVE Widget is highlighted as a drop target for DND GTK_STATE_FLAG_FOCUS_VISIBLE Widget has the visible focus GTK_STATE_FLAG_FOCUS_WITHIN Widget contains the keyboard focus enum GtkSortType GtkSortType Determines the direction of a sort. Members GTK_SORT_ASCENDING Sorting is in ascending order. GTK_SORT_DESCENDING Sorting is in descending order. enum GtkIconSize GtkIconSize Built-in icon sizes. Icon sizes default to being inherited. Where they cannot be inherited, text size is the default. All widgets which use GtkIconSize set the normal-icons or large-icons style classes correspondingly, and let themes determine the actual size to be used with the -gtk-icon-size CSS property. Members GTK_ICON_SIZE_INHERIT Keep the size of the parent element GTK_ICON_SIZE_NORMAL Size similar to text size GTK_ICON_SIZE_LARGE Large size, for example in an icon view docs/reference/gtk/xml/gtkicontheme.xml0000664000175000017500000017052313710700313020367 0ustar mclasenmclasen ]> GtkIconTheme 3 GTK4 Library GtkIconTheme Looking up icons by name Functions GtkIconTheme * gtk_icon_theme_new () GtkIconTheme * gtk_icon_theme_get_for_display () void gtk_icon_theme_set_search_path () char ** gtk_icon_theme_get_search_path () void gtk_icon_theme_add_search_path () void gtk_icon_theme_set_resource_path () char ** gtk_icon_theme_get_resource_path () void gtk_icon_theme_add_resource_path () void gtk_icon_theme_set_theme_name () char * gtk_icon_theme_get_theme_name () gboolean gtk_icon_theme_has_icon () GtkIconPaintable * gtk_icon_theme_lookup_icon () GtkIconPaintable * gtk_icon_theme_lookup_by_gicon () char ** gtk_icon_theme_get_icon_names () int * gtk_icon_theme_get_icon_sizes () GtkIconPaintable * gtk_icon_paintable_new_for_file () GFile * gtk_icon_paintable_get_file () const char * gtk_icon_paintable_get_icon_name () gboolean gtk_icon_paintable_is_symbolic () Properties GdkDisplay *displayRead / Write GStrvicon-namesRead GStrvresource-pathRead / Write GStrvsearch-pathRead / Write gchar *theme-nameRead / Write Signals voidchangedRun Last Types and Values GtkIconPaintable GtkIconTheme enumGtkIconLookupFlags #defineGTK_ICON_THEME_ERROR #defineGTK_TYPE_ICON_THEME_ERROR #defineGTK_TYPE_ICON_LOOKUP_FLAGS enumGtkIconThemeError Object Hierarchy GObject ╰── GtkIconTheme Includes#include <gtk/gtk.h> Description GtkIconTheme provides a facility for looking up icons by name and size. The main reason for using a name rather than simply providing a filename is to allow different icons to be used depending on what “icon theme” is selected by the user. The operation of icon themes on Linux and Unix follows the Icon Theme Specification There is a fallback icon theme, named hicolor, where applications should install their icons, but additional icon themes can be installed as operating system vendors and users choose. In many cases, named themes are used indirectly, via GtkImage rather than directly, but looking up icons directly is also simple. The GtkIconTheme object acts as a database of all the icons in the current theme. You can create new GtkIconTheme objects, but it’s much more efficient to use the standard icon theme of the GtkWidget so that the icon information is shared with other people looking up icons. Functions gtk_icon_theme_new () gtk_icon_theme_new GtkIconTheme * gtk_icon_theme_new (void); Creates a new icon theme object. Icon theme objects are used to lookup up an icon by name in a particular icon theme. Usually, you’ll want to use gtk_icon_theme_get_for_display() rather than creating a new icon theme object for scratch. Returns the newly created GtkIconTheme object. gtk_icon_theme_get_for_display () gtk_icon_theme_get_for_display GtkIconTheme * gtk_icon_theme_get_for_display (GdkDisplay *display); Gets the icon theme object associated with display ; if this function has not previously been called for the given display, a new icon theme object will be created and associated with the display. Icon theme objects are fairly expensive to create, so using this function is usually a better choice than calling than gtk_icon_theme_new() and setting the display yourself; by using this function a single icon theme object will be shared between users. Parameters display a GdkDisplay Returns A unique GtkIconTheme associated with the given display. This icon theme is associated with the display and can be used as long as the display is open. Do not ref or unref it. [transfer none] gtk_icon_theme_set_search_path () gtk_icon_theme_set_search_path void gtk_icon_theme_set_search_path (GtkIconTheme *self, const char * const *path); Sets the search path for the icon theme object. When looking for an icon theme, GTK will search for a subdirectory of one or more of the directories in path with the same name as the icon theme containing an index.theme file. (Themes from multiple of the path elements are combined to allow themes to be extended by adding icons in the user’s home directory.) In addition if an icon found isn’t found either in the current icon theme or the default icon theme, and an image file with the right name is found directly in one of the elements of path , then that image will be used for the icon name. (This is legacy feature, and new icons should be put into the fallback icon theme, which is called hicolor, rather than directly on the icon path.) Parameters self a GtkIconTheme path NULL-terminated array of directories that are searched for icon themes. [array zero-terminated=1][element-type filename][nullable] gtk_icon_theme_get_search_path () gtk_icon_theme_get_search_path char ** gtk_icon_theme_get_search_path (GtkIconTheme *self); Gets the current search path. See gtk_icon_theme_set_search_path(). Parameters self a GtkIconTheme Returns a list of icon theme path directories or NULL. The returned value should be freed with g_strfreev(). [transfer full][array zero-terminated=1][element-type filename][nullable] gtk_icon_theme_add_search_path () gtk_icon_theme_add_search_path void gtk_icon_theme_add_search_path (GtkIconTheme *self, const char *path); Appends a directory to the search path. See gtk_icon_theme_set_search_path(). Parameters self a GtkIconTheme path directory name to append to the icon path. [type filename] gtk_icon_theme_set_resource_path () gtk_icon_theme_set_resource_path void gtk_icon_theme_set_resource_path (GtkIconTheme *self, const char * const *path); Sets the resource paths that will be looked at when looking for icons, similar to search paths. The resources are considered as part of the hicolor icon theme and must be located in subdirectories that are defined in the hicolor icon theme, such as @path/16x16/actions/run.png. Icons that are directly placed in the resource path instead of a subdirectory are also considered as ultimate fallback. Parameters self a GtkIconTheme path NULL-terminated array of resource paths that are searched for icons gtk_icon_theme_get_resource_path () gtk_icon_theme_get_resource_path char ** gtk_icon_theme_get_resource_path (GtkIconTheme *self); Gets the current resource path. See gtk_icon_theme_set_resource_path(). Parameters self a GtkIconTheme Returns A list of resource paths or NULL. The returned value should be freed with g_strfreev(). [transfer full][array zero-terminated=1][element-type utf8][nullable] gtk_icon_theme_add_resource_path () gtk_icon_theme_add_resource_path void gtk_icon_theme_add_resource_path (GtkIconTheme *self, const char *path); Adds a resource path that will be looked at when looking for icons, similar to search paths. See gtk_icon_theme_set_resource_path(). This function should be used to make application-specific icons available as part of the icon theme. Parameters self a GtkIconTheme path a resource path gtk_icon_theme_set_theme_name () gtk_icon_theme_set_theme_name void gtk_icon_theme_set_theme_name (GtkIconTheme *self, const char *theme_name); Sets the name of the icon theme that the GtkIconTheme object uses overriding system configuration. This function cannot be called on the icon theme objects returned from gtk_icon_theme_get_for_display(). Parameters self a GtkIconTheme theme_name name of icon theme to use instead of configured theme, or NULL to unset a previously set custom theme. [allow-none] gtk_icon_theme_get_theme_name () gtk_icon_theme_get_theme_name char * gtk_icon_theme_get_theme_name (GtkIconTheme *self); Gets the current icon theme name. Returns (transfer full): the current icon theme name, Parameters self a GtkIconTheme gtk_icon_theme_has_icon () gtk_icon_theme_has_icon gboolean gtk_icon_theme_has_icon (GtkIconTheme *self, const char *icon_name); Checks whether an icon theme includes an icon for a particular name. Parameters self a GtkIconTheme icon_name the name of an icon Returns TRUE if self includes an icon for icon_name . gtk_icon_theme_lookup_icon () gtk_icon_theme_lookup_icon GtkIconPaintable * gtk_icon_theme_lookup_icon (GtkIconTheme *self, const char *icon_name, const char *fallbacks[], int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags); Looks up a named icon for a desired size and window scale, returning a GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable, or you can get information such as the filename and size. If the available icon_name is not available and fallbacks are provided, they will be tried in order. If no matching icon is found, then a paintable that renders the "missing icon" icon is returned. If you need to do something else for missing icons you need to use gtk_icon_theme_has_icon(). Note that you probably want to listen for icon theme changes and update the icon. This is usually done by overriding the GtkWidgetClass.css-changed() function. Parameters self a GtkIconTheme icon_name the name of the icon to lookup fallbacks . [nullable][array zero-terminated=1] size desired icon size. scale the window scale this will be displayed on direction text direction the icon will be displayed in flags flags modifying the behavior of the icon lookup Returns a GtkIconPaintable object containing the icon. [transfer full] gtk_icon_theme_lookup_by_gicon () gtk_icon_theme_lookup_by_gicon GtkIconPaintable * gtk_icon_theme_lookup_by_gicon (GtkIconTheme *self, GIcon *icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags); Looks up a icon for a desired size and window scale, returning a GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable, or you can get information such as the filename and size. Parameters self a GtkIconTheme icon the GIcon to look up size desired icon size scale the desired scale direction text direction the icon will be displayed in flags flags modifying the behavior of the icon lookup Returns a GtkIconPaintable containing information about the icon. Unref with g_object_unref(). [transfer full] gtk_icon_theme_get_icon_names () gtk_icon_theme_get_icon_names char ** gtk_icon_theme_get_icon_names (GtkIconTheme *self); Lists the names of icons in the current icon theme. Parameters self a GtkIconTheme Returns a string array holding the names of all the icons in the theme. You must free the array using g_strfreev(). [element-type utf8][transfer full] gtk_icon_theme_get_icon_sizes () gtk_icon_theme_get_icon_sizes int * gtk_icon_theme_get_icon_sizes (GtkIconTheme *self, const char *icon_name); Returns an array of integers describing the sizes at which the icon is available without scaling. A size of -1 means that the icon is available in a scalable format. The array is zero-terminated. Parameters self a GtkIconTheme icon_name the name of an icon Returns A newly allocated array describing the sizes at which the icon is available. The array should be freed with g_free() when it is no longer needed. [array zero-terminated=1][transfer full] gtk_icon_paintable_new_for_file () gtk_icon_paintable_new_for_file GtkIconPaintable * gtk_icon_paintable_new_for_file (GFile *file, int size, int scale); Creates a GtkIconPaintable for a file with a given size and scale GtkIconPaintable. The icon can then be rendered by using it as a GdkPaintable. Parameters file a GFile size desired icon size scale the desired scale Returns a GtkIconPaintable containing for the icon. Unref with g_object_unref(). [transfer full] gtk_icon_paintable_get_file () gtk_icon_paintable_get_file GFile * gtk_icon_paintable_get_file (GtkIconPaintable *self); Gets the GFile that was used to load the icon, or NULL if the icon was not loaded from a file. Parameters self a GtkIconPaintable Returns the GFile for the icon, or NULL. Free with g_object_unref(). [nullable][transfer full] gtk_icon_paintable_get_icon_name () gtk_icon_paintable_get_icon_name const char * gtk_icon_paintable_get_icon_name (GtkIconPaintable *self); Get the icon name being used for this icon. When an icon looked up in the icon theme was not available, the icon theme may use fallback icons - either those specified to gtk_icon_theme_lookup_icon() or the always-available "image-missing". The icon chosen is returned by this function. If the icon was created without an icon theme, this function returns NULL. Parameters self a GtkIconPaintable Returns the themed icon-name for the icon, or NULL if its not a themed icon. [nullable][type filename] gtk_icon_paintable_is_symbolic () gtk_icon_paintable_is_symbolic gboolean gtk_icon_paintable_is_symbolic (GtkIconPaintable *self); Checks if the icon is symbolic or not. This currently uses only the file name and not the file contents for determining this. This behaviour may change in the future. Parameters self a GtkIconPaintable Returns TRUE if the icon is symbolic, FALSE otherwise Types and Values GtkIconPaintable GtkIconPaintable typedef struct _GtkIconPaintable GtkIconPaintable; Contains information found when looking up an icon in an icon theme and supports painting it as a GdkPaintable. GtkIconTheme GtkIconTheme typedef struct _GtkIconTheme GtkIconTheme; Acts as a database of information about an icon theme. Normally, you retrieve the icon theme for a particular display using gtk_icon_theme_get_for_display() and it will contain information about current icon theme for that display, but you can also create a new GtkIconTheme object and set the icon theme name explicitly using gtk_icon_theme_set_theme_name(). enum GtkIconLookupFlags GtkIconLookupFlags Used to specify options for gtk_icon_theme_lookup_icon() Members GTK_ICON_LOOKUP_FORCE_REGULAR Try to always load regular icons, even when symbolic icon names are given GTK_ICON_LOOKUP_FORCE_SYMBOLIC Try to always load symbolic icons, even when regular icon names are given GTK_ICON_LOOKUP_PRELOAD Starts loading the texture in the background so it is ready when later needed. GTK_ICON_THEME_ERROR GTK_ICON_THEME_ERROR #define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark () The GQuark used for GtkIconThemeError errors. GTK_TYPE_ICON_THEME_ERROR GTK_TYPE_ICON_THEME_ERROR #define GTK_TYPE_ICON_THEME_ERROR (gtk_icon_theme_error_get_type ()) GTK_TYPE_ICON_LOOKUP_FLAGS GTK_TYPE_ICON_LOOKUP_FLAGS #define GTK_TYPE_ICON_LOOKUP_FLAGS (gtk_icon_lookup_flags_get_type ()) enum GtkIconThemeError GtkIconThemeError Error codes for GtkIconTheme operations. Members GTK_ICON_THEME_NOT_FOUND The icon specified does not exist in the theme GTK_ICON_THEME_FAILED An unspecified error occurred. Property Details The <literal>“display”</literal> property GtkIconTheme:display “display” GdkDisplay * The display that this icon theme object is attached to. Owner: GtkIconTheme Flags: Read / Write The <literal>“icon-names”</literal> property GtkIconTheme:icon-names “icon-names” GStrv The icon names that are supported by the icon theme. Owner: GtkIconTheme Flags: Read The <literal>“resource-path”</literal> property GtkIconTheme:resource-path “resource-path” GStrv Resource paths that will be looked at when looking for icons, similar to search paths. The resources are considered as part of the hicolor icon theme and must be located in subdirectories that are defined in the hicolor icon theme, such as @path/16x16/actions/run.png. Icons that are directly placed in the resource path instead of a subdirectory are also considered as ultimate fallback. Owner: GtkIconTheme Flags: Read / Write The <literal>“search-path”</literal> property GtkIconTheme:search-path “search-path” GStrv The search path for this icon theme. When looking for icons, GTK will search for a subdirectory of one or more of the directories in the search path with the same name as the icon theme containing an index.theme file. (Themes from multiple of the path elements are combined to allow themes to be extended by adding icons in the user’s home directory.) Owner: GtkIconTheme Flags: Read / Write The <literal>“theme-name”</literal> property GtkIconTheme:theme-name “theme-name” gchar * The name of the icon theme that is being used. Unless set to a different value, this will be the value of the “gtk-icon-theme-name” property of the GtkSettings object associated to the display of the icontheme object. Owner: GtkIconTheme Flags: Read / Write Default value: NULL Signal Details The <literal>“changed”</literal> signal GtkIconTheme::changed void user_function (GtkIconTheme *self, gpointer user_data) Emitted when the current icon theme is switched or GTK+ detects that a change has occurred in the contents of the current icon theme. Parameters self the icon theme user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkprintoperation.xml0000664000175000017500000050236213710700313021471 0ustar mclasenmclasen ]> GtkPrintOperation 3 GTK4 Library GtkPrintOperation High-level Printing API Functions GtkPrintOperation * gtk_print_operation_new () void gtk_print_operation_set_allow_async () void gtk_print_operation_get_error () void gtk_print_operation_set_default_page_setup () GtkPageSetup * gtk_print_operation_get_default_page_setup () void gtk_print_operation_set_print_settings () GtkPrintSettings * gtk_print_operation_get_print_settings () void gtk_print_operation_set_job_name () void gtk_print_operation_set_n_pages () int gtk_print_operation_get_n_pages_to_print () void gtk_print_operation_set_current_page () void gtk_print_operation_set_use_full_page () void gtk_print_operation_set_unit () void gtk_print_operation_set_export_filename () void gtk_print_operation_set_show_progress () void gtk_print_operation_set_track_print_status () void gtk_print_operation_set_custom_tab_label () GtkPrintOperationResult gtk_print_operation_run () void gtk_print_operation_cancel () void gtk_print_operation_draw_page_finish () void gtk_print_operation_set_defer_drawing () GtkPrintStatus gtk_print_operation_get_status () const char * gtk_print_operation_get_status_string () gboolean gtk_print_operation_is_finished () void gtk_print_operation_set_support_selection () gboolean gtk_print_operation_get_support_selection () void gtk_print_operation_set_has_selection () gboolean gtk_print_operation_get_has_selection () void gtk_print_operation_set_embed_page_setup () gboolean gtk_print_operation_get_embed_page_setup () GtkPageSetup * gtk_print_run_page_setup_dialog () void (*GtkPageSetupDoneFunc) () void gtk_print_run_page_setup_dialog_async () void gtk_print_operation_preview_end_preview () gboolean gtk_print_operation_preview_is_selected () void gtk_print_operation_preview_render_page () Properties gbooleanallow-asyncRead / Write gintcurrent-pageRead / Write gchar *custom-tab-labelRead / Write GtkPageSetup *default-page-setupRead / Write gbooleanembed-page-setupRead / Write gchar *export-filenameRead / Write gbooleanhas-selectionRead / Write gchar *job-nameRead / Write gintn-pagesRead / Write gintn-pages-to-printRead GtkPrintSettings *print-settingsRead / Write gbooleanshow-progressRead / Write GtkPrintStatusstatusRead gchar *status-stringRead gbooleansupport-selectionRead / Write gbooleantrack-print-statusRead / Write GtkUnitunitRead / Write gbooleanuse-full-pageRead / Write Signals voidbegin-printRun Last GObject*create-custom-widgetRun Last voidcustom-widget-applyRun Last voiddoneRun Last voiddraw-pageRun Last voidend-printRun Last gbooleanpaginateRun Last gbooleanpreviewRun Last voidrequest-page-setupRun Last voidstatus-changedRun Last voidupdate-custom-widgetRun Last voidgot-page-sizeRun Last voidreadyRun Last Types and Values structGtkPrintOperation structGtkPrintOperationClass enumGtkPrintStatus enumGtkPrintOperationAction enumGtkPrintOperationResult enumGtkPrintError #defineGTK_PRINT_ERROR GtkPrintOperationPreview Object Hierarchy GInterface ╰── GtkPrintOperationPreview GObject ╰── GtkPrintOperation Prerequisites GtkPrintOperationPreview requires GObject. Implemented Interfaces GtkPrintOperation implements GtkPrintOperationPreview. Known Implementations GtkPrintOperationPreview is implemented by GtkPrintOperation. Includes#include <gtk/gtk.h> Description GtkPrintOperation is the high-level, portable printing API. It looks a bit different than other GTK+ dialogs such as the GtkFileChooser, since some platforms don’t expose enough infrastructure to implement a good print dialog. On such platforms, GtkPrintOperation uses the native print dialog. On platforms which do not provide a native print dialog, GTK+ uses its own, see GtkPrintUnixDialog. The typical way to use the high-level printing API is to create a GtkPrintOperation object with gtk_print_operation_new() when the user selects to print. Then you set some properties on it, e.g. the page size, any GtkPrintSettings from previous print operations, the number of pages, the current page, etc. Then you start the print operation by calling gtk_print_operation_run(). It will then show a dialog, let the user select a printer and options. When the user finished the dialog various signals will be emitted on the GtkPrintOperation, the main one being “draw-page”, which you are supposed to catch and render the page on the provided GtkPrintContext using Cairo. The high-level printing API By default GtkPrintOperation uses an external application to do print preview. To implement a custom print preview, an application must connect to the preview signal. The functions gtk_print_operation_preview_render_page(), gtk_print_operation_preview_end_preview() and gtk_print_operation_preview_is_selected() are useful when implementing a print preview. Functions gtk_print_operation_new () gtk_print_operation_new GtkPrintOperation * gtk_print_operation_new (void); Creates a new GtkPrintOperation. Returns a new GtkPrintOperation gtk_print_operation_set_allow_async () gtk_print_operation_set_allow_async void gtk_print_operation_set_allow_async (GtkPrintOperation *op, gboolean allow_async); Sets whether the gtk_print_operation_run() may return before the print operation is completed. Note that some platforms may not allow asynchronous operation. Parameters op a GtkPrintOperation allow_async TRUE to allow asynchronous operation gtk_print_operation_get_error () gtk_print_operation_get_error void gtk_print_operation_get_error (GtkPrintOperation *op, GError **error); Call this when the result of a print operation is GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by gtk_print_operation_run(), or in the “done” signal handler. The returned GError will contain more details on what went wrong. Parameters op a GtkPrintOperation error return location for the error gtk_print_operation_set_default_page_setup () gtk_print_operation_set_default_page_setup void gtk_print_operation_set_default_page_setup (GtkPrintOperation *op, GtkPageSetup *default_page_setup); Makes default_page_setup the default page setup for op . This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the “request-page-setup” signal. Parameters op a GtkPrintOperation default_page_setup a GtkPageSetup, or NULL. [allow-none] gtk_print_operation_get_default_page_setup () gtk_print_operation_get_default_page_setup GtkPageSetup * gtk_print_operation_get_default_page_setup (GtkPrintOperation *op); Returns the default page setup, see gtk_print_operation_set_default_page_setup(). Parameters op a GtkPrintOperation Returns the default page setup. [transfer none] gtk_print_operation_set_print_settings () gtk_print_operation_set_print_settings void gtk_print_operation_set_print_settings (GtkPrintOperation *op, GtkPrintSettings *print_settings); Sets the print settings for op . This is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run(). Parameters op a GtkPrintOperation print_settings GtkPrintSettings. [allow-none] gtk_print_operation_get_print_settings () gtk_print_operation_get_print_settings GtkPrintSettings * gtk_print_operation_get_print_settings (GtkPrintOperation *op); Returns the current print settings. Note that the return value is NULL until either gtk_print_operation_set_print_settings() or gtk_print_operation_run() have been called. Parameters op a GtkPrintOperation Returns the current print settings of op . [transfer none] gtk_print_operation_set_job_name () gtk_print_operation_set_job_name void gtk_print_operation_set_job_name (GtkPrintOperation *op, const char *job_name); Sets the name of the print job. The name is used to identify the job (e.g. in monitoring applications like eggcups). If you don’t set a job name, GTK+ picks a default one by numbering successive print jobs. Parameters op a GtkPrintOperation job_name a string that identifies the print job gtk_print_operation_set_n_pages () gtk_print_operation_set_n_pages void gtk_print_operation_set_n_pages (GtkPrintOperation *op, int n_pages); Sets the number of pages in the document. This must be set to a positive number before the rendering starts. It may be set in a “begin-print” signal hander. Note that the page numbers passed to the “request-page-setup” and “draw-page” signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page n_pages - 1. Parameters op a GtkPrintOperation n_pages the number of pages gtk_print_operation_get_n_pages_to_print () gtk_print_operation_get_n_pages_to_print int gtk_print_operation_get_n_pages_to_print (GtkPrintOperation *op); Returns the number of pages that will be printed. Note that this value is set during print preparation phase (GTK_PRINT_STATUS_PREPARING), so this function should never be called before the data generation phase (GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the “status-changed” signal and call gtk_print_operation_get_n_pages_to_print() when print status is GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation. Parameters op a GtkPrintOperation Returns the number of pages that will be printed gtk_print_operation_set_current_page () gtk_print_operation_set_current_page void gtk_print_operation_set_current_page (GtkPrintOperation *op, int current_page); Sets the current page. If this is called before gtk_print_operation_run(), the user will be able to select to print only the current page. Note that this only makes sense for pre-paginated documents. Parameters op a GtkPrintOperation current_page the current page, 0-based gtk_print_operation_set_use_full_page () gtk_print_operation_set_use_full_page void gtk_print_operation_set_use_full_page (GtkPrintOperation *op, gboolean full_page); If full_page is TRUE, the transformation for the cairo context obtained from GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins). Parameters op a GtkPrintOperation full_page TRUE to set up the GtkPrintContext for the full page gtk_print_operation_set_unit () gtk_print_operation_set_unit void gtk_print_operation_set_unit (GtkPrintOperation *op, GtkUnit unit); Sets up the transformation for the cairo context obtained from GtkPrintContext in such a way that distances are measured in units of unit . Parameters op a GtkPrintOperation unit the unit to use gtk_print_operation_set_export_filename () gtk_print_operation_set_export_filename void gtk_print_operation_set_export_filename (GtkPrintOperation *op, const char *filename); Sets up the GtkPrintOperation to generate a file instead of showing the print dialog. The indended use of this function is for implementing “Export to PDF” actions. Currently, PDF is the only supported format. “Print to PDF” support is independent of this and is done by letting the user pick the “Print to PDF” item from the list of printers in the print dialog. Parameters op a GtkPrintOperation filename the filename for the exported file. [type filename] gtk_print_operation_set_show_progress () gtk_print_operation_set_show_progress void gtk_print_operation_set_show_progress (GtkPrintOperation *op, gboolean show_progress); If show_progress is TRUE, the print operation will show a progress dialog during the print operation. Parameters op a GtkPrintOperation show_progress TRUE to show a progress dialog gtk_print_operation_set_track_print_status () gtk_print_operation_set_track_print_status void gtk_print_operation_set_track_print_status (GtkPrintOperation *op, gboolean track_status); If track_status is TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer. This function is often implemented using some form of polling, so it should not be enabled unless needed. Parameters op a GtkPrintOperation track_status TRUE to track status after printing gtk_print_operation_set_custom_tab_label () gtk_print_operation_set_custom_tab_label void gtk_print_operation_set_custom_tab_label (GtkPrintOperation *op, const char *label); Sets the label for the tab holding custom widgets. Parameters op a GtkPrintOperation label the label to use, or NULL to use the default label. [allow-none] gtk_print_operation_run () gtk_print_operation_run GtkPrintOperationResult gtk_print_operation_run (GtkPrintOperation *op, GtkPrintOperationAction action, GtkWindow *parent, GError **error); Runs the print operation, by first letting the user modify print settings in the print dialog, and then print the document. Normally that this function does not return until the rendering of all pages is complete. You can connect to the “status-changed” signal on op to obtain some information about the progress of the print operation. Furthermore, it may use a recursive mainloop to show the print dialog. If you call gtk_print_operation_set_allow_async() or set the “allow-async” property the operation will run asynchronously if this is supported on the platform. The “done” signal will be emitted with the result of the operation when the it is done (i.e. when the dialog is canceled, or when the print succeeds or fails). message); g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_window_destroy), NULL); gtk_widget_show (error_dialog); g_error_free (error); } else if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { if (settings != NULL) g_object_unref (settings); settings = g_object_ref (gtk_print_operation_get_print_settings (print)); } ]]> Note that gtk_print_operation_run() can only be called once on a given GtkPrintOperation. Parameters op a GtkPrintOperation action the action to start parent Transient parent of the dialog. [allow-none] error Return location for errors, or NULL. [allow-none] Returns the result of the print operation. A return value of GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was completed successfully. In this case, it is a good idea to obtain the used print settings with gtk_print_operation_get_print_settings() and store them for reuse with the next print operation. A value of GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running asynchronously, and will emit the “done” signal when done. gtk_print_operation_cancel () gtk_print_operation_cancel void gtk_print_operation_cancel (GtkPrintOperation *op); Cancels a running print operation. This function may be called from a “begin-print”, “paginate” or “draw-page” signal handler to stop the currently running print operation. Parameters op a GtkPrintOperation gtk_print_operation_draw_page_finish () gtk_print_operation_draw_page_finish void gtk_print_operation_draw_page_finish (GtkPrintOperation *op); Signalize that drawing of particular page is complete. It is called after completion of page drawing (e.g. drawing in another thread). If gtk_print_operation_set_defer_drawing() was called before, then this function has to be called by application. In another case it is called by the library itself. Parameters op a GtkPrintOperation gtk_print_operation_set_defer_drawing () gtk_print_operation_set_defer_drawing void gtk_print_operation_set_defer_drawing (GtkPrintOperation *op); Sets up the GtkPrintOperation to wait for calling of gtk_print_operation_draw_page_finish() from application. It can be used for drawing page in another thread. This function must be called in the callback of “draw-page” signal. Parameters op a GtkPrintOperation gtk_print_operation_get_status () gtk_print_operation_get_status GtkPrintStatus gtk_print_operation_get_status (GtkPrintOperation *op); Returns the status of the print operation. Also see gtk_print_operation_get_status_string(). Parameters op a GtkPrintOperation Returns the status of the print operation gtk_print_operation_get_status_string () gtk_print_operation_get_status_string const char * gtk_print_operation_get_status_string (GtkPrintOperation *op); Returns a string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a GtkStatusbar. Use gtk_print_operation_get_status() to obtain a status value that is suitable for programmatic use. Parameters op a GtkPrintOperation Returns a string representation of the status of the print operation gtk_print_operation_is_finished () gtk_print_operation_is_finished gboolean gtk_print_operation_is_finished (GtkPrintOperation *op); A convenience function to find out if the print operation is finished, either successfully (GTK_PRINT_STATUS_FINISHED) or unsuccessfully (GTK_PRINT_STATUS_FINISHED_ABORTED). Note: when you enable print status tracking the print operation can be in a non-finished state even after done has been called, as the operation status then tracks the print job status on the printer. Parameters op a GtkPrintOperation Returns TRUE, if the print operation is finished. gtk_print_operation_set_support_selection () gtk_print_operation_set_support_selection void gtk_print_operation_set_support_selection (GtkPrintOperation *op, gboolean support_selection); Sets whether selection is supported by GtkPrintOperation. Parameters op a GtkPrintOperation support_selection TRUE to support selection gtk_print_operation_get_support_selection () gtk_print_operation_get_support_selection gboolean gtk_print_operation_get_support_selection (GtkPrintOperation *op); Gets the value of “support-selection” property. Parameters op a GtkPrintOperation Returns whether the application supports print of selection gtk_print_operation_set_has_selection () gtk_print_operation_set_has_selection void gtk_print_operation_set_has_selection (GtkPrintOperation *op, gboolean has_selection); Sets whether there is a selection to print. Application has to set number of pages to which the selection will draw by gtk_print_operation_set_n_pages() in a callback of “begin-print”. Parameters op a GtkPrintOperation has_selection TRUE indicates that a selection exists gtk_print_operation_get_has_selection () gtk_print_operation_get_has_selection gboolean gtk_print_operation_get_has_selection (GtkPrintOperation *op); Gets the value of “has-selection” property. Parameters op a GtkPrintOperation Returns whether there is a selection gtk_print_operation_set_embed_page_setup () gtk_print_operation_set_embed_page_setup void gtk_print_operation_set_embed_page_setup (GtkPrintOperation *op, gboolean embed); Embed page size combo box and orientation combo box into page setup page. Selected page setup is stored as default page setup in GtkPrintOperation. Parameters op a GtkPrintOperation embed TRUE to embed page setup selection in the GtkPrintUnixDialog gtk_print_operation_get_embed_page_setup () gtk_print_operation_get_embed_page_setup gboolean gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op); Gets the value of “embed-page-setup” property. Parameters op a GtkPrintOperation Returns whether page setup selection combos are embedded gtk_print_run_page_setup_dialog () gtk_print_run_page_setup_dialog GtkPageSetup * gtk_print_run_page_setup_dialog (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings); Runs a page setup dialog, letting the user modify the values from page_setup . If the user cancels the dialog, the returned GtkPageSetup is identical to the passed in page_setup , otherwise it contains the modifications done in the dialog. Note that this function may use a recursive mainloop to show the page setup dialog. See gtk_print_run_page_setup_dialog_async() if this is a problem. Parameters parent transient parent. [allow-none] page_setup an existing GtkPageSetup. [allow-none] settings a GtkPrintSettings Returns a new GtkPageSetup. [transfer full] GtkPageSetupDoneFunc () GtkPageSetupDoneFunc void (*GtkPageSetupDoneFunc) (GtkPageSetup *page_setup, gpointer data); The type of function that is passed to gtk_print_run_page_setup_dialog_async(). This function will be called when the page setup dialog is dismissed, and also serves as destroy notify for data . Parameters page_setup the GtkPageSetup that has been data user data that has been passed to gtk_print_run_page_setup_dialog_async(). [closure] gtk_print_run_page_setup_dialog_async () gtk_print_run_page_setup_dialog_async void gtk_print_run_page_setup_dialog_async (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings, GtkPageSetupDoneFunc done_cb, gpointer data); Runs a page setup dialog, letting the user modify the values from page_setup . In contrast to gtk_print_run_page_setup_dialog(), this function returns after showing the page setup dialog on platforms that support this, and calls done_cb from a signal handler for the ::response signal of the dialog. Parameters parent transient parent, or NULL. [allow-none] page_setup an existing GtkPageSetup, or NULL. [allow-none] settings a GtkPrintSettings done_cb a function to call when the user saves the modified page setup. [scope async] data user data to pass to done_cb gtk_print_operation_preview_end_preview () gtk_print_operation_preview_end_preview void gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview); Ends a preview. This function must be called to finish a custom print preview. Parameters preview a GtkPrintOperationPreview gtk_print_operation_preview_is_selected () gtk_print_operation_preview_is_selected gboolean gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview, int page_nr); Returns whether the given page is included in the set of pages that have been selected for printing. Parameters preview a GtkPrintOperationPreview page_nr a page number Returns TRUE if the page has been selected for printing gtk_print_operation_preview_render_page () gtk_print_operation_preview_render_page void gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview, int page_nr); Renders a page to the preview, using the print context that was passed to the “preview” handler together with preview . A custom iprint preview should use this function in its ::expose handler to render the currently selected page. Note that this function requires a suitable cairo context to be associated with the print context. Parameters preview a GtkPrintOperationPreview page_nr the page to render Types and Values struct GtkPrintOperation GtkPrintOperation struct GtkPrintOperation; struct GtkPrintOperationClass GtkPrintOperationClass struct GtkPrintOperationClass { GObjectClass parent_class; void (*done) (GtkPrintOperation *operation, GtkPrintOperationResult result); void (*begin_print) (GtkPrintOperation *operation, GtkPrintContext *context); gboolean (*paginate) (GtkPrintOperation *operation, GtkPrintContext *context); void (*request_page_setup) (GtkPrintOperation *operation, GtkPrintContext *context, int page_nr, GtkPageSetup *setup); void (*draw_page) (GtkPrintOperation *operation, GtkPrintContext *context, int page_nr); void (*end_print) (GtkPrintOperation *operation, GtkPrintContext *context); void (*status_changed) (GtkPrintOperation *operation); GtkWidget *(*create_custom_widget) (GtkPrintOperation *operation); void (*custom_widget_apply) (GtkPrintOperation *operation, GtkWidget *widget); gboolean (*preview) (GtkPrintOperation *operation, GtkPrintOperationPreview *preview, GtkPrintContext *context, GtkWindow *parent); void (*update_custom_widget) (GtkPrintOperation *operation, GtkWidget *widget, GtkPageSetup *setup, GtkPrintSettings *settings); }; Members done () Signal emitted when the print operation run has finished doing everything required for printing. begin_print () Signal emitted after the user has finished changing print settings in the dialog, before the actual rendering starts. paginate () Signal emitted after the “begin-print” signal, but before the actual rendering starts. request_page_setup () Emitted once for every page that is printed, to give the application a chance to modify the page setup. draw_page () Signal emitted for every page that is printed. end_print () Signal emitted after all pages have been rendered. status_changed () Emitted at between the various phases of the print operation. create_custom_widget () Signal emitted when displaying the print dialog. custom_widget_apply () Signal emitted right before “begin-print” if you added a custom widget in the “create-custom-widget” handler. preview () Signal emitted when a preview is requested from the native dialog. update_custom_widget () Emitted after change of selected printer. enum GtkPrintStatus GtkPrintStatus The status gives a rough indication of the completion of a running print operation. Members GTK_PRINT_STATUS_INITIAL The printing has not started yet; this status is set initially, and while the print dialog is shown. GTK_PRINT_STATUS_PREPARING This status is set while the begin-print signal is emitted and during pagination. GTK_PRINT_STATUS_GENERATING_DATA This status is set while the pages are being rendered. GTK_PRINT_STATUS_SENDING_DATA The print job is being sent off to the printer. GTK_PRINT_STATUS_PENDING The print job has been sent to the printer, but is not printed for some reason, e.g. the printer may be stopped. GTK_PRINT_STATUS_PENDING_ISSUE Some problem has occurred during printing, e.g. a paper jam. GTK_PRINT_STATUS_PRINTING The printer is processing the print job. GTK_PRINT_STATUS_FINISHED The printing has been completed successfully. GTK_PRINT_STATUS_FINISHED_ABORTED The printing has been aborted. enum GtkPrintOperationAction GtkPrintOperationAction The action parameter to gtk_print_operation_run() determines what action the print operation should perform. Members GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG Show the print dialog. GTK_PRINT_OPERATION_ACTION_PRINT Start to print without showing the print dialog, based on the current print settings. GTK_PRINT_OPERATION_ACTION_PREVIEW Show the print preview. GTK_PRINT_OPERATION_ACTION_EXPORT Export to a file. This requires the export-filename property to be set. enum GtkPrintOperationResult GtkPrintOperationResult A value of this type is returned by gtk_print_operation_run(). Members GTK_PRINT_OPERATION_RESULT_ERROR An error has occurred. GTK_PRINT_OPERATION_RESULT_APPLY The print settings should be stored. GTK_PRINT_OPERATION_RESULT_CANCEL The print operation has been canceled, the print settings should not be stored. GTK_PRINT_OPERATION_RESULT_IN_PROGRESS The print operation is not complete yet. This value will only be returned when running asynchronously. enum GtkPrintError GtkPrintError Error codes that identify various errors that can occur while using the GTK+ printing support. Members GTK_PRINT_ERROR_GENERAL An unspecified error occurred. GTK_PRINT_ERROR_INTERNAL_ERROR An internal error occurred. GTK_PRINT_ERROR_NOMEM A memory allocation failed. GTK_PRINT_ERROR_INVALID_FILE An error occurred while loading a page setup or paper size from a key file. GTK_PRINT_ERROR GTK_PRINT_ERROR #define GTK_PRINT_ERROR gtk_print_error_quark () The error domain for GtkPrintError errors. GtkPrintOperationPreview GtkPrintOperationPreview typedef struct _GtkPrintOperationPreview GtkPrintOperationPreview; Property Details The <literal>“allow-async”</literal> property GtkPrintOperation:allow-async “allow-async” gboolean Determines whether the print operation may run asynchronously or not. Some systems don't support asynchronous printing, but those that do will return GTK_PRINT_OPERATION_RESULT_IN_PROGRESS as the status, and emit the “done” signal when the operation is actually done. The Windows port does not support asynchronous operation at all (this is unlikely to change). On other platforms, all actions except for GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“current-page”</literal> property GtkPrintOperation:current-page “current-page” gint The current page in the document. If this is set before gtk_print_operation_run(), the user will be able to select to print only the current page. Note that this only makes sense for pre-paginated documents. Owner: GtkPrintOperation Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“custom-tab-label”</literal> property GtkPrintOperation:custom-tab-label “custom-tab-label” gchar * Used as the label of the tab containing custom widgets. Note that this property may be ignored on some platforms. If this is NULL, GTK+ uses a default label. Owner: GtkPrintOperation Flags: Read / Write Default value: NULL The <literal>“default-page-setup”</literal> property GtkPrintOperation:default-page-setup “default-page-setup” GtkPageSetup * The GtkPageSetup used by default. This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the “request-page-setup” signal. Owner: GtkPrintOperation Flags: Read / Write The <literal>“embed-page-setup”</literal> property GtkPrintOperation:embed-page-setup “embed-page-setup” gboolean If TRUE, page size combo box and orientation combo box are embedded into page setup page. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“export-filename”</literal> property GtkPrintOperation:export-filename “export-filename” gchar * The name of a file to generate instead of showing the print dialog. Currently, PDF is the only supported format. The intended use of this property is for implementing “Export to PDF” actions. “Print to PDF” support is independent of this and is done by letting the user pick the “Print to PDF” item from the list of printers in the print dialog. Owner: GtkPrintOperation Flags: Read / Write Default value: NULL The <literal>“has-selection”</literal> property GtkPrintOperation:has-selection “has-selection” gboolean Determines whether there is a selection in your application. This can allow your application to print the selection. This is typically used to make a "Selection" button sensitive. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“job-name”</literal> property GtkPrintOperation:job-name “job-name” gchar * A string used to identify the job (e.g. in monitoring applications like eggcups). If you don't set a job name, GTK+ picks a default one by numbering successive print jobs. Owner: GtkPrintOperation Flags: Read / Write Default value: "" The <literal>“n-pages”</literal> property GtkPrintOperation:n-pages “n-pages” gint The number of pages in the document. This must be set to a positive number before the rendering starts. It may be set in a “begin-print” signal hander. Note that the page numbers passed to the “request-page-setup” and “draw-page” signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page n_pages - 1. Owner: GtkPrintOperation Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“n-pages-to-print”</literal> property GtkPrintOperation:n-pages-to-print “n-pages-to-print” gint The number of pages that will be printed. Note that this value is set during print preparation phase (GTK_PRINT_STATUS_PREPARING), so this value should never be get before the data generation phase (GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the “status-changed” signal and call gtk_print_operation_get_n_pages_to_print() when print status is GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation. Owner: GtkPrintOperation Flags: Read Allowed values: >= -1 Default value: -1 The <literal>“print-settings”</literal> property GtkPrintOperation:print-settings “print-settings” GtkPrintSettings * The GtkPrintSettings used for initializing the dialog. Setting this property is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run(). Owner: GtkPrintOperation Flags: Read / Write The <literal>“show-progress”</literal> property GtkPrintOperation:show-progress “show-progress” gboolean Determines whether to show a progress dialog during the print operation. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“status”</literal> property GtkPrintOperation:status “status” GtkPrintStatus The status of the print operation. Owner: GtkPrintOperation Flags: Read Default value: GTK_PRINT_STATUS_INITIAL The <literal>“status-string”</literal> property GtkPrintOperation:status-string “status-string” gchar * A string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a GtkStatusbar. See the “status” property for a status value that is suitable for programmatic use. Owner: GtkPrintOperation Flags: Read Default value: "" The <literal>“support-selection”</literal> property GtkPrintOperation:support-selection “support-selection” gboolean If TRUE, the print operation will support print of selection. This allows the print dialog to show a "Selection" button. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“track-print-status”</literal> property GtkPrintOperation:track-print-status “track-print-status” gboolean If TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer. However, this is often implemented using polling, and should not be enabled unless needed. Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE The <literal>“unit”</literal> property GtkPrintOperation:unit “unit” GtkUnit The transformation for the cairo context obtained from GtkPrintContext is set up in such a way that distances are measured in units of unit . Owner: GtkPrintOperation Flags: Read / Write Default value: GTK_UNIT_NONE The <literal>“use-full-page”</literal> property GtkPrintOperation:use-full-page “use-full-page” gboolean If TRUE, the transformation for the cairo context obtained from GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins). Owner: GtkPrintOperation Flags: Read / Write Default value: FALSE Signal Details The <literal>“begin-print”</literal> signal GtkPrintOperation::begin-print void user_function (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) Emitted after the user has finished changing print settings in the dialog, before the actual rendering starts. A typical use for ::begin-print is to use the parameters from the GtkPrintContext and paginate the document accordingly, and then set the number of pages with gtk_print_operation_set_n_pages(). Parameters operation the GtkPrintOperation on which the signal was emitted context the GtkPrintContext for the current operation user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“create-custom-widget”</literal> signal GtkPrintOperation::create-custom-widget GObject* user_function (GtkPrintOperation *operation, gpointer user_data) Emitted when displaying the print dialog. If you return a widget in a handler for this signal it will be added to a custom tab in the print dialog. You typically return a container widget with multiple widgets in it. The print dialog owns the returned widget, and its lifetime is not controlled by the application. However, the widget is guaranteed to stay around until the “custom-widget-apply” signal is emitted on the operation. Then you can read out any information you need from the widgets. Parameters operation the GtkPrintOperation on which the signal was emitted user_data user data set when the signal handler was connected. Returns A custom widget that gets embedded in the print dialog, or NULL. [transfer none] Flags: Run Last The <literal>“custom-widget-apply”</literal> signal GtkPrintOperation::custom-widget-apply void user_function (GtkPrintOperation *operation, GtkWidget *widget, gpointer user_data) Emitted right before “begin-print” if you added a custom widget in the “create-custom-widget” handler. When you get this signal you should read the information from the custom widgets, as the widgets are not guaraneed to be around at a later time. Parameters operation the GtkPrintOperation on which the signal was emitted widget the custom widget added in create-custom-widget user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“done”</literal> signal GtkPrintOperation::done void user_function (GtkPrintOperation *operation, GtkPrintOperationResult result, gpointer user_data) Emitted when the print operation run has finished doing everything required for printing. result gives you information about what happened during the run. If result is GTK_PRINT_OPERATION_RESULT_ERROR then you can call gtk_print_operation_get_error() for more information. If you enabled print status tracking then gtk_print_operation_is_finished() may still return FALSE after “done” was emitted. Parameters operation the GtkPrintOperation on which the signal was emitted result the result of the print operation user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“draw-page”</literal> signal GtkPrintOperation::draw-page void user_function (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer user_data) Emitted for every page that is printed. The signal handler must render the page_nr 's page onto the cairo context obtained from context using gtk_print_context_get_cairo_context(). Use gtk_print_operation_set_use_full_page() and gtk_print_operation_set_unit() before starting the print operation to set up the transformation of the cairo context according to your needs. Parameters operation the GtkPrintOperation on which the signal was emitted context the GtkPrintContext for the current operation page_nr the number of the currently printed page (0-based) user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“end-print”</literal> signal GtkPrintOperation::end-print void user_function (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) Emitted after all pages have been rendered. A handler for this signal can clean up any resources that have been allocated in the “begin-print” handler. Parameters operation the GtkPrintOperation on which the signal was emitted context the GtkPrintContext for the current operation user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“paginate”</literal> signal GtkPrintOperation::paginate gboolean user_function (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) Emitted after the “begin-print” signal, but before the actual rendering starts. It keeps getting emitted until a connected signal handler returns TRUE. The ::paginate signal is intended to be used for paginating a document in small chunks, to avoid blocking the user interface for a long time. The signal handler should update the number of pages using gtk_print_operation_set_n_pages(), and return TRUE if the document has been completely paginated. If you don't need to do pagination in chunks, you can simply do it all in the ::begin-print handler, and set the number of pages from there. Parameters operation the GtkPrintOperation on which the signal was emitted context the GtkPrintContext for the current operation user_data user data set when the signal handler was connected. Returns TRUE if pagination is complete Flags: Run Last The <literal>“preview”</literal> signal GtkPrintOperation::preview gboolean user_function (GtkPrintOperation *operation, GtkPrintOperationPreview *preview, GtkPrintContext *context, GtkWindow *parent, gpointer user_data) Gets emitted when a preview is requested from the native dialog. The default handler for this signal uses an external viewer application to preview. To implement a custom print preview, an application must return TRUE from its handler for this signal. In order to use the provided context for the preview implementation, it must be given a suitable cairo context with gtk_print_context_set_cairo_context(). The custom preview implementation can use gtk_print_operation_preview_is_selected() and gtk_print_operation_preview_render_page() to find pages which are selected for print and render them. The preview must be finished by calling gtk_print_operation_preview_end_preview() (typically in response to the user clicking a close button). Parameters operation the GtkPrintOperation on which the signal was emitted preview the GtkPrintOperationPreview for the current operation context the GtkPrintContext that will be used parent the GtkWindow to use as window parent, or NULL. [allow-none] user_data user data set when the signal handler was connected. Returns TRUE if the listener wants to take over control of the preview Flags: Run Last The <literal>“request-page-setup”</literal> signal GtkPrintOperation::request-page-setup void user_function (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, GtkPageSetup *setup, gpointer user_data) Emitted once for every page that is printed, to give the application a chance to modify the page setup. Any changes done to setup will be in force only for printing this page. Parameters operation the GtkPrintOperation on which the signal was emitted context the GtkPrintContext for the current operation page_nr the number of the currently printed page (0-based) setup the GtkPageSetup user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“status-changed”</literal> signal GtkPrintOperation::status-changed void user_function (GtkPrintOperation *operation, gpointer user_data) Emitted at between the various phases of the print operation. See GtkPrintStatus for the phases that are being discriminated. Use gtk_print_operation_get_status() to find out the current status. Parameters operation the GtkPrintOperation on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“update-custom-widget”</literal> signal GtkPrintOperation::update-custom-widget void user_function (GtkPrintOperation *operation, GtkWidget *widget, GtkPageSetup *setup, GtkPrintSettings *settings, gpointer user_data) Emitted after change of selected printer. The actual page setup and print settings are passed to the custom widget, which can actualize itself according to this change. Parameters operation the GtkPrintOperation on which the signal was emitted widget the custom widget added in create-custom-widget setup actual page setup settings actual print settings user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“got-page-size”</literal> signal GtkPrintOperationPreview::got-page-size void user_function (GtkPrintOperationPreview *preview, GtkPrintContext *context, GtkPageSetup *page_setup, gpointer user_data) The ::got-page-size signal is emitted once for each page that gets rendered to the preview. A handler for this signal should update the context according to page_setup and set up a suitable cairo context, using gtk_print_context_set_cairo_context(). Parameters preview the object on which the signal is emitted context the current GtkPrintContext page_setup the GtkPageSetup for the current page user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“ready”</literal> signal GtkPrintOperationPreview::ready void user_function (GtkPrintOperationPreview *preview, GtkPrintContext *context, gpointer user_data) The ::ready signal gets emitted once per preview operation, before the first page is rendered. A handler for this signal can be used for setup tasks. Parameters preview the object on which the signal is emitted context the current GtkPrintContext user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkPrintContext, GtkPrintUnixDialog docs/reference/gtk/xml/gtkprintunixdialog.xml0000664000175000017500000015030113710700313021624 0ustar mclasenmclasen ]> GtkPrintUnixDialog 3 GTK4 Library GtkPrintUnixDialog A print dialog Functions GtkWidget * gtk_print_unix_dialog_new () void gtk_print_unix_dialog_set_page_setup () GtkPageSetup * gtk_print_unix_dialog_get_page_setup () void gtk_print_unix_dialog_set_current_page () int gtk_print_unix_dialog_get_current_page () void gtk_print_unix_dialog_set_settings () GtkPrintSettings * gtk_print_unix_dialog_get_settings () GtkPrinter * gtk_print_unix_dialog_get_selected_printer () void gtk_print_unix_dialog_add_custom_tab () void gtk_print_unix_dialog_set_support_selection () gboolean gtk_print_unix_dialog_get_support_selection () void gtk_print_unix_dialog_set_has_selection () gboolean gtk_print_unix_dialog_get_has_selection () void gtk_print_unix_dialog_set_embed_page_setup () gboolean gtk_print_unix_dialog_get_embed_page_setup () gboolean gtk_print_unix_dialog_get_page_setup_set () void gtk_print_unix_dialog_set_manual_capabilities () GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities () Properties gintcurrent-pageRead / Write gbooleanembed-page-setupRead / Write gbooleanhas-selectionRead / Write GtkPrintCapabilitiesmanual-capabilitiesRead / Write GtkPageSetup *page-setupRead / Write GtkPrintSettings *print-settingsRead / Write GtkPrinter *selected-printerRead gbooleansupport-selectionRead / Write Types and Values GtkPrintUnixDialog enumGtkPrintCapabilities Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkPrintUnixDialog Implemented Interfaces GtkPrintUnixDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtkunixprint.h> Description GtkPrintUnixDialog implements a print dialog for platforms which don’t provide a native print dialog, like Unix. It can be used very much like any other GTK dialog, at the cost of the portability offered by the high-level printing API In order to print something with GtkPrintUnixDialog, you need to use gtk_print_unix_dialog_get_selected_printer() to obtain a GtkPrinter object and use it to construct a GtkPrintJob using gtk_print_job_new(). GtkPrintUnixDialog uses the following response values: GTK_RESPONSE_OK: for the “Print” button GTK_RESPONSE_APPLY: for the “Preview” button GTK_RESPONSE_CANCEL: for the “Cancel” button GtkPrintUnixDialog as GtkBuildableThe GtkPrintUnixDialog implementation of the GtkBuildable interface exposes its notebook internal children with the name “notebook”. An example of a GtkPrintUnixDialog UI definition fragment: False False Tab label Content on notebook tab ]]> CSS nodesGtkPrintUnixDialog has a single CSS node with name window. The style classes dialog and print are added. Functions gtk_print_unix_dialog_new () gtk_print_unix_dialog_new GtkWidget * gtk_print_unix_dialog_new (const char *title, GtkWindow *parent); Creates a new GtkPrintUnixDialog. Parameters title Title of the dialog, or NULL. [allow-none] parent Transient parent of the dialog, or NULL. [allow-none] Returns a new GtkPrintUnixDialog gtk_print_unix_dialog_set_page_setup () gtk_print_unix_dialog_set_page_setup void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog, GtkPageSetup *page_setup); Sets the page setup of the GtkPrintUnixDialog. Parameters dialog a GtkPrintUnixDialog page_setup a GtkPageSetup gtk_print_unix_dialog_get_page_setup () gtk_print_unix_dialog_get_page_setup GtkPageSetup * gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog); Gets the page setup that is used by the GtkPrintUnixDialog. Parameters dialog a GtkPrintUnixDialog Returns the page setup of dialog . [transfer none] gtk_print_unix_dialog_set_current_page () gtk_print_unix_dialog_set_current_page void gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog, int current_page); Sets the current page number. If current_page is not -1, this enables the current page choice for the range of pages to print. Parameters dialog a GtkPrintUnixDialog current_page the current page number. gtk_print_unix_dialog_get_current_page () gtk_print_unix_dialog_get_current_page int gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog); Gets the current page of the GtkPrintUnixDialog. Parameters dialog a GtkPrintUnixDialog Returns the current page of dialog gtk_print_unix_dialog_set_settings () gtk_print_unix_dialog_set_settings void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog, GtkPrintSettings *settings); Sets the GtkPrintSettings for the GtkPrintUnixDialog. Typically, this is used to restore saved print settings from a previous print operation before the print dialog is shown. Parameters dialog a GtkPrintUnixDialog settings a GtkPrintSettings, or NULL. [allow-none] gtk_print_unix_dialog_get_settings () gtk_print_unix_dialog_get_settings GtkPrintSettings * gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog); Gets a new GtkPrintSettings object that represents the current values in the print dialog. Note that this creates a new object, and you need to unref it if don’t want to keep it. Parameters dialog a GtkPrintUnixDialog Returns a new GtkPrintSettings object with the values from dialog gtk_print_unix_dialog_get_selected_printer () gtk_print_unix_dialog_get_selected_printer GtkPrinter * gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog); Gets the currently selected printer. Parameters dialog a GtkPrintUnixDialog Returns the currently selected printer. [transfer none] gtk_print_unix_dialog_add_custom_tab () gtk_print_unix_dialog_add_custom_tab void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog, GtkWidget *child, GtkWidget *tab_label); Adds a custom tab to the print dialog. Parameters dialog a GtkPrintUnixDialog child the widget to put in the custom tab tab_label the widget to use as tab label gtk_print_unix_dialog_set_support_selection () gtk_print_unix_dialog_set_support_selection void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog, gboolean support_selection); Sets whether the print dialog allows user to print a selection. Parameters dialog a GtkPrintUnixDialog support_selection TRUE to allow print selection gtk_print_unix_dialog_get_support_selection () gtk_print_unix_dialog_get_support_selection gboolean gtk_print_unix_dialog_get_support_selection (GtkPrintUnixDialog *dialog); Gets the value of “support-selection” property. Parameters dialog a GtkPrintUnixDialog Returns whether the application supports print of selection gtk_print_unix_dialog_set_has_selection () gtk_print_unix_dialog_set_has_selection void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog, gboolean has_selection); Sets whether a selection exists. Parameters dialog a GtkPrintUnixDialog has_selection TRUE indicates that a selection exists gtk_print_unix_dialog_get_has_selection () gtk_print_unix_dialog_get_has_selection gboolean gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog); Gets the value of “has-selection” property. Parameters dialog a GtkPrintUnixDialog Returns whether there is a selection gtk_print_unix_dialog_set_embed_page_setup () gtk_print_unix_dialog_set_embed_page_setup void gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog, gboolean embed); Embed page size combo box and orientation combo box into page setup page. Parameters dialog a GtkPrintUnixDialog embed embed page setup selection gtk_print_unix_dialog_get_embed_page_setup () gtk_print_unix_dialog_get_embed_page_setup gboolean gtk_print_unix_dialog_get_embed_page_setup (GtkPrintUnixDialog *dialog); Gets the value of “embed-page-setup” property. Parameters dialog a GtkPrintUnixDialog Returns whether there is a selection gtk_print_unix_dialog_get_page_setup_set () gtk_print_unix_dialog_get_page_setup_set gboolean gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog); Gets the page setup that is used by the GtkPrintUnixDialog. Parameters dialog a GtkPrintUnixDialog Returns whether a page setup was set by user. gtk_print_unix_dialog_set_manual_capabilities () gtk_print_unix_dialog_set_manual_capabilities void gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog *dialog, GtkPrintCapabilities capabilities); This lets you specify the printing capabilities your application supports. For instance, if you can handle scaling the output then you pass GTK_PRINT_CAPABILITY_SCALE. If you don’t pass that, then the dialog will only let you select the scale if the printing system automatically handles scaling. Parameters dialog a GtkPrintUnixDialog capabilities the printing capabilities of your application gtk_print_unix_dialog_get_manual_capabilities () gtk_print_unix_dialog_get_manual_capabilities GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog); Gets the value of “manual-capabilities” property. Parameters dialog a GtkPrintUnixDialog Returns the printing capabilities Types and Values GtkPrintUnixDialog GtkPrintUnixDialog typedef struct _GtkPrintUnixDialog GtkPrintUnixDialog; enum GtkPrintCapabilities GtkPrintCapabilities An enum for specifying which features the print dialog should offer. If neither GTK_PRINT_CAPABILITY_GENERATE_PDF nor GTK_PRINT_CAPABILITY_GENERATE_PS is specified, GTK+ assumes that all formats are supported. Members GTK_PRINT_CAPABILITY_PAGE_SET Print dialog will offer printing even/odd pages. GTK_PRINT_CAPABILITY_COPIES Print dialog will allow to print multiple copies. GTK_PRINT_CAPABILITY_COLLATE Print dialog will allow to collate multiple copies. GTK_PRINT_CAPABILITY_REVERSE Print dialog will allow to print pages in reverse order. GTK_PRINT_CAPABILITY_SCALE Print dialog will allow to scale the output. GTK_PRINT_CAPABILITY_GENERATE_PDF The program will send the document to the printer in PDF format GTK_PRINT_CAPABILITY_GENERATE_PS The program will send the document to the printer in Postscript format GTK_PRINT_CAPABILITY_PREVIEW Print dialog will offer a preview GTK_PRINT_CAPABILITY_NUMBER_UP Print dialog will offer printing multiple pages per sheet GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT Print dialog will allow to rearrange pages when printing multiple pages per sheet Property Details The <literal>“current-page”</literal> property GtkPrintUnixDialog:current-page “current-page” gint The current page in the document.Owner: GtkPrintUnixDialog Flags: Read / Write Allowed values: >= -1 Default value: -1 The <literal>“embed-page-setup”</literal> property GtkPrintUnixDialog:embed-page-setup “embed-page-setup” gboolean TRUE if page setup combos are embedded in GtkPrintUnixDialog.Owner: GtkPrintUnixDialog Flags: Read / Write Default value: FALSE The <literal>“has-selection”</literal> property GtkPrintUnixDialog:has-selection “has-selection” gboolean Whether the application has a selection.Owner: GtkPrintUnixDialog Flags: Read / Write Default value: FALSE The <literal>“manual-capabilities”</literal> property GtkPrintUnixDialog:manual-capabilities “manual-capabilities” GtkPrintCapabilities Capabilities the application can handle.Owner: GtkPrintUnixDialog Flags: Read / Write The <literal>“page-setup”</literal> property GtkPrintUnixDialog:page-setup “page-setup” GtkPageSetup * The GtkPageSetup to use.Owner: GtkPrintUnixDialog Flags: Read / Write The <literal>“print-settings”</literal> property GtkPrintUnixDialog:print-settings “print-settings” GtkPrintSettings * The GtkPrintSettings used for initializing the dialog.Owner: GtkPrintUnixDialog Flags: Read / Write The <literal>“selected-printer”</literal> property GtkPrintUnixDialog:selected-printer “selected-printer” GtkPrinter * The GtkPrinter which is selected.Owner: GtkPrintUnixDialog Flags: Read The <literal>“support-selection”</literal> property GtkPrintUnixDialog:support-selection “support-selection” gboolean Whether the dialog supports selection.Owner: GtkPrintUnixDialog Flags: Read / Write Default value: FALSE See Also GtkPageSetupUnixDialog, GtkPrinter, GtkPrintJob docs/reference/gtk/xml/gtkprinter.xml0000664000175000017500000017473113710700313020104 0ustar mclasenmclasen ]> GtkPrinter 3 GTK4 Library GtkPrinter Represents a printer Functions GtkPrinter * gtk_printer_new () GtkPrintBackend * gtk_printer_get_backend () const char * gtk_printer_get_name () const char * gtk_printer_get_state_message () const char * gtk_printer_get_description () const char * gtk_printer_get_location () const char * gtk_printer_get_icon_name () int gtk_printer_get_job_count () gboolean gtk_printer_is_active () gboolean gtk_printer_is_paused () gboolean gtk_printer_is_accepting_jobs () gboolean gtk_printer_is_virtual () gboolean gtk_printer_is_default () gboolean gtk_printer_accepts_ps () gboolean gtk_printer_accepts_pdf () GList * gtk_printer_list_papers () int gtk_printer_compare () gboolean gtk_printer_has_details () void gtk_printer_request_details () GtkPrintCapabilities gtk_printer_get_capabilities () GtkPageSetup * gtk_printer_get_default_page_size () gboolean gtk_printer_get_hard_margins () gboolean gtk_printer_get_hard_margins_for_paper_size () gboolean (*GtkPrinterFunc) () void gtk_enumerate_printers () Properties gbooleanaccepting-jobsRead gbooleanaccepts-pdfRead / Write / Construct Only gbooleanaccepts-psRead / Write / Construct Only GtkPrintBackend *backendRead / Write / Construct Only gchar *icon-nameRead gbooleanis-virtualRead / Write / Construct Only gintjob-countRead gchar *locationRead gchar *nameRead / Write / Construct Only gbooleanpausedRead gchar *state-messageRead Signals voiddetails-acquiredRun Last Types and Values GtkPrinter GtkPrintBackend Object Hierarchy GObject ├── GtkPrintBackend ╰── GtkPrinter Includes#include <gtk/gtk.h> Description A GtkPrinter object represents a printer. You only need to deal directly with printers if you use the non-portable GtkPrintUnixDialog API. A GtkPrinter allows to get status information about the printer, such as its description, its location, the number of queued jobs, etc. Most importantly, a GtkPrinter object can be used to create a GtkPrintJob object, which lets you print to the printer. Printing support was added in GTK+ 2.10. Functions gtk_printer_new () gtk_printer_new GtkPrinter * gtk_printer_new (const char *name, GtkPrintBackend *backend, gboolean virtual_); Creates a new GtkPrinter. Parameters name the name of the printer backend a GtkPrintBackend virtual_ whether the printer is virtual Returns a new GtkPrinter gtk_printer_get_backend () gtk_printer_get_backend GtkPrintBackend * gtk_printer_get_backend (GtkPrinter *printer); Returns the backend of the printer. Parameters printer a GtkPrinter Returns the backend of printer . [transfer none] gtk_printer_get_name () gtk_printer_get_name const char * gtk_printer_get_name (GtkPrinter *printer); Returns the name of the printer. Parameters printer a GtkPrinter Returns the name of printer gtk_printer_get_state_message () gtk_printer_get_state_message const char * gtk_printer_get_state_message (GtkPrinter *printer); Returns the state message describing the current state of the printer. Parameters printer a GtkPrinter Returns the state message of printer gtk_printer_get_description () gtk_printer_get_description const char * gtk_printer_get_description (GtkPrinter *printer); Gets the description of the printer. Parameters printer a GtkPrinter Returns the description of printer gtk_printer_get_location () gtk_printer_get_location const char * gtk_printer_get_location (GtkPrinter *printer); Returns a description of the location of the printer. Parameters printer a GtkPrinter Returns the location of printer gtk_printer_get_icon_name () gtk_printer_get_icon_name const char * gtk_printer_get_icon_name (GtkPrinter *printer); Gets the name of the icon to use for the printer. Parameters printer a GtkPrinter Returns the icon name for printer gtk_printer_get_job_count () gtk_printer_get_job_count int gtk_printer_get_job_count (GtkPrinter *printer); Gets the number of jobs currently queued on the printer. Parameters printer a GtkPrinter Returns the number of jobs on printer gtk_printer_is_active () gtk_printer_is_active gboolean gtk_printer_is_active (GtkPrinter *printer); Returns whether the printer is currently active (i.e. accepts new jobs). Parameters printer a GtkPrinter Returns TRUE if printer is active gtk_printer_is_paused () gtk_printer_is_paused gboolean gtk_printer_is_paused (GtkPrinter *printer); Returns whether the printer is currently paused. A paused printer still accepts jobs, but it is not printing them. Parameters printer a GtkPrinter Returns TRUE if printer is paused gtk_printer_is_accepting_jobs () gtk_printer_is_accepting_jobs gboolean gtk_printer_is_accepting_jobs (GtkPrinter *printer); Returns whether the printer is accepting jobs Parameters printer a GtkPrinter Returns TRUE if printer is accepting jobs gtk_printer_is_virtual () gtk_printer_is_virtual gboolean gtk_printer_is_virtual (GtkPrinter *printer); Returns whether the printer is virtual (i.e. does not represent actual printer hardware, but something like a CUPS class). Parameters printer a GtkPrinter Returns TRUE if printer is virtual gtk_printer_is_default () gtk_printer_is_default gboolean gtk_printer_is_default (GtkPrinter *printer); Returns whether the printer is the default printer. Parameters printer a GtkPrinter Returns TRUE if printer is the default gtk_printer_accepts_ps () gtk_printer_accepts_ps gboolean gtk_printer_accepts_ps (GtkPrinter *printer); Returns whether the printer accepts input in PostScript format. Parameters printer a GtkPrinter Returns TRUE if printer accepts PostScript gtk_printer_accepts_pdf () gtk_printer_accepts_pdf gboolean gtk_printer_accepts_pdf (GtkPrinter *printer); Returns whether the printer accepts input in PDF format. Parameters printer a GtkPrinter Returns TRUE if printer accepts PDF gtk_printer_list_papers () gtk_printer_list_papers GList * gtk_printer_list_papers (GtkPrinter *printer); Lists all the paper sizes printer supports. This will return and empty list unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details(). Parameters printer a GtkPrinter Returns a newly allocated list of newly allocated GtkPageSetup s. [element-type GtkPageSetup][transfer full] gtk_printer_compare () gtk_printer_compare int gtk_printer_compare (GtkPrinter *a, GtkPrinter *b); Compares two printers. Parameters a a GtkPrinter b another GtkPrinter Returns 0 if the printer match, a negative value if a < b , or a positive value if a > b gtk_printer_has_details () gtk_printer_has_details gboolean gtk_printer_has_details (GtkPrinter *printer); Returns whether the printer details are available. Parameters printer a GtkPrinter Returns TRUE if printer details are available gtk_printer_request_details () gtk_printer_request_details void gtk_printer_request_details (GtkPrinter *printer); Requests the printer details. When the details are available, the “details-acquired” signal will be emitted on printer . Parameters printer a GtkPrinter gtk_printer_get_capabilities () gtk_printer_get_capabilities GtkPrintCapabilities gtk_printer_get_capabilities (GtkPrinter *printer); Returns the printer’s capabilities. This is useful when you’re using GtkPrintUnixDialog’s manual-capabilities setting and need to know which settings the printer can handle and which you must handle yourself. This will return 0 unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details(). Parameters printer a GtkPrinter Returns the printer’s capabilities gtk_printer_get_default_page_size () gtk_printer_get_default_page_size GtkPageSetup * gtk_printer_get_default_page_size (GtkPrinter *printer); Returns default page size of printer . Parameters printer a GtkPrinter Returns a newly allocated GtkPageSetup with default page size of the printer. gtk_printer_get_hard_margins () gtk_printer_get_hard_margins gboolean gtk_printer_get_hard_margins (GtkPrinter *printer, double *top, double *bottom, double *left, double *right); Retrieve the hard margins of printer , i.e. the margins that define the area at the borders of the paper that the printer cannot print to. Note: This will not succeed unless the printer’s details are available, see gtk_printer_has_details() and gtk_printer_request_details(). Parameters printer a GtkPrinter top a location to store the top margin in. [out] bottom a location to store the bottom margin in. [out] left a location to store the left margin in. [out] right a location to store the right margin in. [out] Returns TRUE iff the hard margins were retrieved gtk_printer_get_hard_margins_for_paper_size () gtk_printer_get_hard_margins_for_paper_size gboolean gtk_printer_get_hard_margins_for_paper_size (GtkPrinter *printer, GtkPaperSize *paper_size, double *top, double *bottom, double *left, double *right); Retrieve the hard margins of printer for paper_size , i.e. the margins that define the area at the borders of the paper that the printer cannot print to. Note: This will not succeed unless the printer's details are available, see gtk_printer_has_details() and gtk_printer_request_details(). Parameters printer a GtkPrinter paper_size a GtkPaperSize top a location to store the top margin in. [out] bottom a location to store the bottom margin in. [out] left a location to store the left margin in. [out] right a location to store the right margin in. [out] Returns TRUE iff the hard margins were retrieved GtkPrinterFunc () GtkPrinterFunc gboolean (*GtkPrinterFunc) (GtkPrinter *printer, gpointer data); The type of function passed to gtk_enumerate_printers(). Note that you need to ref printer , if you want to keep a reference to it after the function has returned. Parameters printer a GtkPrinter data user data passed to gtk_enumerate_printers(). [closure] Returns TRUE to stop the enumeration, FALSE to continue gtk_enumerate_printers () gtk_enumerate_printers void gtk_enumerate_printers (GtkPrinterFunc func, gpointer data, GDestroyNotify destroy, gboolean wait); Calls a function for all GtkPrinters. If func returns TRUE, the enumeration is stopped. Parameters func a function to call for each printer data user data to pass to func destroy function to call if data is no longer needed wait if TRUE, wait in a recursive mainloop until all printers are enumerated; otherwise return early Types and Values GtkPrinter GtkPrinter typedef struct _GtkPrinter GtkPrinter; GtkPrintBackend GtkPrintBackend typedef struct _GtkPrintBackend GtkPrintBackend; Property Details The <literal>“accepting-jobs”</literal> property GtkPrinter:accepting-jobs “accepting-jobs” gboolean This property is TRUE if the printer is accepting jobs. Owner: GtkPrinter Flags: Read Default value: TRUE The <literal>“accepts-pdf”</literal> property GtkPrinter:accepts-pdf “accepts-pdf” gboolean TRUE if this printer can accept PDF.Owner: GtkPrinter Flags: Read / Write / Construct Only Default value: FALSE The <literal>“accepts-ps”</literal> property GtkPrinter:accepts-ps “accepts-ps” gboolean TRUE if this printer can accept PostScript.Owner: GtkPrinter Flags: Read / Write / Construct Only Default value: TRUE The <literal>“backend”</literal> property GtkPrinter:backend “backend” GtkPrintBackend * Backend for the printer.Owner: GtkPrinter Flags: Read / Write / Construct Only The <literal>“icon-name”</literal> property GtkPrinter:icon-name “icon-name” gchar * The icon name to use for the printer.Owner: GtkPrinter Flags: Read Default value: "printer" The <literal>“is-virtual”</literal> property GtkPrinter:is-virtual “is-virtual” gboolean FALSE if this represents a real hardware printer.Owner: GtkPrinter Flags: Read / Write / Construct Only Default value: FALSE The <literal>“job-count”</literal> property GtkPrinter:job-count “job-count” gint Number of jobs queued in the printer.Owner: GtkPrinter Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“location”</literal> property GtkPrinter:location “location” gchar * The location of the printer.Owner: GtkPrinter Flags: Read Default value: "" The <literal>“name”</literal> property GtkPrinter:name “name” gchar * Name of the printer.Owner: GtkPrinter Flags: Read / Write / Construct Only Default value: "" The <literal>“paused”</literal> property GtkPrinter:paused “paused” gboolean This property is TRUE if this printer is paused. A paused printer still accepts jobs, but it does not print them. Owner: GtkPrinter Flags: Read Default value: FALSE The <literal>“state-message”</literal> property GtkPrinter:state-message “state-message” gchar * String giving the current state of the printer.Owner: GtkPrinter Flags: Read Default value: "" Signal Details The <literal>“details-acquired”</literal> signal GtkPrinter::details-acquired void user_function (GtkPrinter *printer, gboolean success, gpointer user_data) Gets emitted in response to a request for detailed information about a printer from the print backend. The success parameter indicates if the information was actually obtained. Parameters printer the GtkPrinter on which the signal is emitted success TRUE if the details were successfully acquired user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkprintsettings.xml0000664000175000017500000055715613710700313021344 0ustar mclasenmclasen ]> GtkPrintSettings 3 GTK4 Library GtkPrintSettings Stores print settings Functions void (*GtkPrintSettingsFunc) () GtkPrintSettings * gtk_print_settings_new () GtkPrintSettings * gtk_print_settings_copy () gboolean gtk_print_settings_has_key () const char * gtk_print_settings_get () void gtk_print_settings_set () void gtk_print_settings_unset () void gtk_print_settings_foreach () gboolean gtk_print_settings_get_bool () void gtk_print_settings_set_bool () double gtk_print_settings_get_double () double gtk_print_settings_get_double_with_default () void gtk_print_settings_set_double () double gtk_print_settings_get_length () void gtk_print_settings_set_length () int gtk_print_settings_get_int () int gtk_print_settings_get_int_with_default () void gtk_print_settings_set_int () const char * gtk_print_settings_get_printer () void gtk_print_settings_set_printer () GtkPageOrientation gtk_print_settings_get_orientation () void gtk_print_settings_set_orientation () GtkPaperSize * gtk_print_settings_get_paper_size () void gtk_print_settings_set_paper_size () double gtk_print_settings_get_paper_width () void gtk_print_settings_set_paper_width () double gtk_print_settings_get_paper_height () void gtk_print_settings_set_paper_height () gboolean gtk_print_settings_get_use_color () void gtk_print_settings_set_use_color () gboolean gtk_print_settings_get_collate () void gtk_print_settings_set_collate () gboolean gtk_print_settings_get_reverse () void gtk_print_settings_set_reverse () GtkPrintDuplex gtk_print_settings_get_duplex () void gtk_print_settings_set_duplex () GtkPrintQuality gtk_print_settings_get_quality () void gtk_print_settings_set_quality () int gtk_print_settings_get_n_copies () void gtk_print_settings_set_n_copies () int gtk_print_settings_get_number_up () void gtk_print_settings_set_number_up () GtkNumberUpLayout gtk_print_settings_get_number_up_layout () void gtk_print_settings_set_number_up_layout () int gtk_print_settings_get_resolution () void gtk_print_settings_set_resolution () void gtk_print_settings_set_resolution_xy () int gtk_print_settings_get_resolution_x () int gtk_print_settings_get_resolution_y () double gtk_print_settings_get_printer_lpi () void gtk_print_settings_set_printer_lpi () double gtk_print_settings_get_scale () void gtk_print_settings_set_scale () GtkPrintPages gtk_print_settings_get_print_pages () void gtk_print_settings_set_print_pages () GtkPageRange * gtk_print_settings_get_page_ranges () void gtk_print_settings_set_page_ranges () GtkPageSet gtk_print_settings_get_page_set () void gtk_print_settings_set_page_set () const char * gtk_print_settings_get_default_source () void gtk_print_settings_set_default_source () const char * gtk_print_settings_get_media_type () void gtk_print_settings_set_media_type () const char * gtk_print_settings_get_dither () void gtk_print_settings_set_dither () const char * gtk_print_settings_get_finishings () void gtk_print_settings_set_finishings () const char * gtk_print_settings_get_output_bin () void gtk_print_settings_set_output_bin () GtkPrintSettings * gtk_print_settings_new_from_file () GtkPrintSettings * gtk_print_settings_new_from_key_file () GtkPrintSettings * gtk_print_settings_new_from_gvariant () gboolean gtk_print_settings_load_file () gboolean gtk_print_settings_load_key_file () gboolean gtk_print_settings_to_file () void gtk_print_settings_to_key_file () GVariant * gtk_print_settings_to_gvariant () Types and Values GtkPrintSettings #defineGTK_PRINT_SETTINGS_PRINTER enumGtkPageOrientation #defineGTK_PRINT_SETTINGS_ORIENTATION #defineGTK_PRINT_SETTINGS_PAPER_FORMAT #defineGTK_PRINT_SETTINGS_PAPER_WIDTH #defineGTK_PRINT_SETTINGS_PAPER_HEIGHT #defineGTK_PRINT_SETTINGS_USE_COLOR #defineGTK_PRINT_SETTINGS_COLLATE #defineGTK_PRINT_SETTINGS_REVERSE enumGtkPrintDuplex #defineGTK_PRINT_SETTINGS_DUPLEX enumGtkPrintQuality #defineGTK_PRINT_SETTINGS_QUALITY #defineGTK_PRINT_SETTINGS_N_COPIES #defineGTK_PRINT_SETTINGS_NUMBER_UP enumGtkNumberUpLayout #defineGTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT #defineGTK_PRINT_SETTINGS_RESOLUTION #defineGTK_PRINT_SETTINGS_RESOLUTION_X #defineGTK_PRINT_SETTINGS_RESOLUTION_Y #defineGTK_PRINT_SETTINGS_PRINTER_LPI #defineGTK_PRINT_SETTINGS_SCALE enumGtkPrintPages #defineGTK_PRINT_SETTINGS_PRINT_PAGES structGtkPageRange #defineGTK_PRINT_SETTINGS_PAGE_RANGES enumGtkPageSet #defineGTK_PRINT_SETTINGS_PAGE_SET #defineGTK_PRINT_SETTINGS_DEFAULT_SOURCE #defineGTK_PRINT_SETTINGS_MEDIA_TYPE #defineGTK_PRINT_SETTINGS_DITHER #defineGTK_PRINT_SETTINGS_FINISHINGS #defineGTK_PRINT_SETTINGS_OUTPUT_BIN #defineGTK_PRINT_SETTINGS_OUTPUT_DIR #defineGTK_PRINT_SETTINGS_OUTPUT_BASENAME #defineGTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT #defineGTK_PRINT_SETTINGS_OUTPUT_URI #defineGTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA #defineGTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION Object Hierarchy GObject ╰── GtkPrintSettings Includes#include <gtk/gtk.h> Description A GtkPrintSettings object represents the settings of a print dialog in a system-independent way. The main use for this object is that once you’ve printed you can get a settings object that represents the settings the user chose, and the next time you print you can pass that object in so that the user doesn’t have to re-set all his settings. Its also possible to enumerate the settings so that you can easily save the settings for the next time your app runs, or even store them in a document. The predefined keys try to use shared values as much as possible so that moving such a document between systems still works. Printing support was added in GTK+ 2.10. Functions GtkPrintSettingsFunc () GtkPrintSettingsFunc void (*GtkPrintSettingsFunc) (const char *key, const char *value, gpointer user_data); gtk_print_settings_new () gtk_print_settings_new GtkPrintSettings * gtk_print_settings_new (void); Creates a new GtkPrintSettings object. Returns a new GtkPrintSettings object gtk_print_settings_copy () gtk_print_settings_copy GtkPrintSettings * gtk_print_settings_copy (GtkPrintSettings *other); Copies a GtkPrintSettings object. Parameters other a GtkPrintSettings Returns a newly allocated copy of other . [transfer full] gtk_print_settings_has_key () gtk_print_settings_has_key gboolean gtk_print_settings_has_key (GtkPrintSettings *settings, const char *key); Returns TRUE, if a value is associated with key . Parameters settings a GtkPrintSettings key a key Returns TRUE, if key has a value gtk_print_settings_get () gtk_print_settings_get const char * gtk_print_settings_get (GtkPrintSettings *settings, const char *key); Looks up the string value associated with key . Parameters settings a GtkPrintSettings key a key Returns the string value for key gtk_print_settings_set () gtk_print_settings_set void gtk_print_settings_set (GtkPrintSettings *settings, const char *key, const char *value); Associates value with key . Parameters settings a GtkPrintSettings key a key value a string value, or NULL. [allow-none] gtk_print_settings_unset () gtk_print_settings_unset void gtk_print_settings_unset (GtkPrintSettings *settings, const char *key); Removes any value associated with key . This has the same effect as setting the value to NULL. Parameters settings a GtkPrintSettings key a key gtk_print_settings_foreach () gtk_print_settings_foreach void gtk_print_settings_foreach (GtkPrintSettings *settings, GtkPrintSettingsFunc func, gpointer user_data); Calls func for each key-value pair of settings . Parameters settings a GtkPrintSettings func the function to call. [scope call] user_data user data for func . [closure] gtk_print_settings_get_bool () gtk_print_settings_get_bool gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings, const char *key); Returns the boolean represented by the value that is associated with key . The string “true” represents TRUE, any other string FALSE. Parameters settings a GtkPrintSettings key a key Returns TRUE, if key maps to a true value. gtk_print_settings_set_bool () gtk_print_settings_set_bool void gtk_print_settings_set_bool (GtkPrintSettings *settings, const char *key, gboolean value); Sets key to a boolean value. Parameters settings a GtkPrintSettings key a key value a boolean gtk_print_settings_get_double () gtk_print_settings_get_double double gtk_print_settings_get_double (GtkPrintSettings *settings, const char *key); Returns the double value associated with key , or 0. Parameters settings a GtkPrintSettings key a key Returns the double value of key gtk_print_settings_get_double_with_default () gtk_print_settings_get_double_with_default double gtk_print_settings_get_double_with_default (GtkPrintSettings *settings, const char *key, double def); Returns the floating point number represented by the value that is associated with key , or default_val if the value does not represent a floating point number. Floating point numbers are parsed with g_ascii_strtod(). Parameters settings a GtkPrintSettings key a key def the default value Returns the floating point number associated with key gtk_print_settings_set_double () gtk_print_settings_set_double void gtk_print_settings_set_double (GtkPrintSettings *settings, const char *key, double value); Sets key to a double value. Parameters settings a GtkPrintSettings key a key value a double value gtk_print_settings_get_length () gtk_print_settings_get_length double gtk_print_settings_get_length (GtkPrintSettings *settings, const char *key, GtkUnit unit); Returns the value associated with key , interpreted as a length. The returned value is converted to units . Parameters settings a GtkPrintSettings key a key unit the unit of the return value Returns the length value of key , converted to unit gtk_print_settings_set_length () gtk_print_settings_set_length void gtk_print_settings_set_length (GtkPrintSettings *settings, const char *key, double value, GtkUnit unit); Associates a length in units of unit with key . Parameters settings a GtkPrintSettings key a key value a length unit the unit of length gtk_print_settings_get_int () gtk_print_settings_get_int int gtk_print_settings_get_int (GtkPrintSettings *settings, const char *key); Returns the integer value of key , or 0. Parameters settings a GtkPrintSettings key a key Returns the integer value of key gtk_print_settings_get_int_with_default () gtk_print_settings_get_int_with_default int gtk_print_settings_get_int_with_default (GtkPrintSettings *settings, const char *key, int def); Returns the value of key , interpreted as an integer, or the default value. Parameters settings a GtkPrintSettings key a key def the default value Returns the integer value of key gtk_print_settings_set_int () gtk_print_settings_set_int void gtk_print_settings_set_int (GtkPrintSettings *settings, const char *key, int value); Sets key to an integer value. Parameters settings a GtkPrintSettings key a key value an integer gtk_print_settings_get_printer () gtk_print_settings_get_printer const char * gtk_print_settings_get_printer (GtkPrintSettings *settings); Convenience function to obtain the value of GTK_PRINT_SETTINGS_PRINTER. Parameters settings a GtkPrintSettings Returns the printer name gtk_print_settings_set_printer () gtk_print_settings_set_printer void gtk_print_settings_set_printer (GtkPrintSettings *settings, const char *printer); Convenience function to set GTK_PRINT_SETTINGS_PRINTER to printer . Parameters settings a GtkPrintSettings printer the printer name gtk_print_settings_get_orientation () gtk_print_settings_get_orientation GtkPageOrientation gtk_print_settings_get_orientation (GtkPrintSettings *settings); Get the value of GTK_PRINT_SETTINGS_ORIENTATION, converted to a GtkPageOrientation. Parameters settings a GtkPrintSettings Returns the orientation gtk_print_settings_set_orientation () gtk_print_settings_set_orientation void gtk_print_settings_set_orientation (GtkPrintSettings *settings, GtkPageOrientation orientation); Sets the value of GTK_PRINT_SETTINGS_ORIENTATION. Parameters settings a GtkPrintSettings orientation a page orientation gtk_print_settings_get_paper_size () gtk_print_settings_get_paper_size GtkPaperSize * gtk_print_settings_get_paper_size (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT, converted to a GtkPaperSize. Parameters settings a GtkPrintSettings Returns the paper size gtk_print_settings_set_paper_size () gtk_print_settings_set_paper_size void gtk_print_settings_set_paper_size (GtkPrintSettings *settings, GtkPaperSize *paper_size); Sets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT, GTK_PRINT_SETTINGS_PAPER_WIDTH and GTK_PRINT_SETTINGS_PAPER_HEIGHT. Parameters settings a GtkPrintSettings paper_size a paper size gtk_print_settings_get_paper_width () gtk_print_settings_get_paper_width double gtk_print_settings_get_paper_width (GtkPrintSettings *settings, GtkUnit unit); Gets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH, converted to unit . Parameters settings a GtkPrintSettings unit the unit for the return value Returns the paper width, in units of unit gtk_print_settings_set_paper_width () gtk_print_settings_set_paper_width void gtk_print_settings_set_paper_width (GtkPrintSettings *settings, double width, GtkUnit unit); Sets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH. Parameters settings a GtkPrintSettings width the paper width unit the units of width gtk_print_settings_get_paper_height () gtk_print_settings_get_paper_height double gtk_print_settings_get_paper_height (GtkPrintSettings *settings, GtkUnit unit); Gets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT, converted to unit . Parameters settings a GtkPrintSettings unit the unit for the return value Returns the paper height, in units of unit gtk_print_settings_set_paper_height () gtk_print_settings_set_paper_height void gtk_print_settings_set_paper_height (GtkPrintSettings *settings, double height, GtkUnit unit); Sets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT. Parameters settings a GtkPrintSettings height the paper height unit the units of height gtk_print_settings_get_use_color () gtk_print_settings_get_use_color gboolean gtk_print_settings_get_use_color (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_USE_COLOR. Parameters settings a GtkPrintSettings Returns whether to use color gtk_print_settings_set_use_color () gtk_print_settings_set_use_color void gtk_print_settings_set_use_color (GtkPrintSettings *settings, gboolean use_color); Sets the value of GTK_PRINT_SETTINGS_USE_COLOR. Parameters settings a GtkPrintSettings use_color whether to use color gtk_print_settings_get_collate () gtk_print_settings_get_collate gboolean gtk_print_settings_get_collate (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_COLLATE. Parameters settings a GtkPrintSettings Returns whether to collate the printed pages gtk_print_settings_set_collate () gtk_print_settings_set_collate void gtk_print_settings_set_collate (GtkPrintSettings *settings, gboolean collate); Sets the value of GTK_PRINT_SETTINGS_COLLATE. Parameters settings a GtkPrintSettings collate whether to collate the output gtk_print_settings_get_reverse () gtk_print_settings_get_reverse gboolean gtk_print_settings_get_reverse (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_REVERSE. Parameters settings a GtkPrintSettings Returns whether to reverse the order of the printed pages gtk_print_settings_set_reverse () gtk_print_settings_set_reverse void gtk_print_settings_set_reverse (GtkPrintSettings *settings, gboolean reverse); Sets the value of GTK_PRINT_SETTINGS_REVERSE. Parameters settings a GtkPrintSettings reverse whether to reverse the output gtk_print_settings_get_duplex () gtk_print_settings_get_duplex GtkPrintDuplex gtk_print_settings_get_duplex (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_DUPLEX. Parameters settings a GtkPrintSettings Returns whether to print the output in duplex. gtk_print_settings_set_duplex () gtk_print_settings_set_duplex void gtk_print_settings_set_duplex (GtkPrintSettings *settings, GtkPrintDuplex duplex); Sets the value of GTK_PRINT_SETTINGS_DUPLEX. Parameters settings a GtkPrintSettings duplex a GtkPrintDuplex value gtk_print_settings_get_quality () gtk_print_settings_get_quality GtkPrintQuality gtk_print_settings_get_quality (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_QUALITY. Parameters settings a GtkPrintSettings Returns the print quality gtk_print_settings_set_quality () gtk_print_settings_set_quality void gtk_print_settings_set_quality (GtkPrintSettings *settings, GtkPrintQuality quality); Sets the value of GTK_PRINT_SETTINGS_QUALITY. Parameters settings a GtkPrintSettings quality a GtkPrintQuality value gtk_print_settings_get_n_copies () gtk_print_settings_get_n_copies int gtk_print_settings_get_n_copies (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_N_COPIES. Parameters settings a GtkPrintSettings Returns the number of copies to print gtk_print_settings_set_n_copies () gtk_print_settings_set_n_copies void gtk_print_settings_set_n_copies (GtkPrintSettings *settings, int num_copies); Sets the value of GTK_PRINT_SETTINGS_N_COPIES. Parameters settings a GtkPrintSettings num_copies the number of copies gtk_print_settings_get_number_up () gtk_print_settings_get_number_up int gtk_print_settings_get_number_up (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP. Parameters settings a GtkPrintSettings Returns the number of pages per sheet gtk_print_settings_set_number_up () gtk_print_settings_set_number_up void gtk_print_settings_set_number_up (GtkPrintSettings *settings, int number_up); Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP. Parameters settings a GtkPrintSettings number_up the number of pages per sheet gtk_print_settings_get_number_up_layout () gtk_print_settings_get_number_up_layout GtkNumberUpLayout gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. Parameters settings a GtkPrintSettings Returns layout of page in number-up mode gtk_print_settings_set_number_up_layout () gtk_print_settings_set_number_up_layout void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings, GtkNumberUpLayout number_up_layout); Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. Parameters settings a GtkPrintSettings number_up_layout a GtkNumberUpLayout value gtk_print_settings_get_resolution () gtk_print_settings_get_resolution int gtk_print_settings_get_resolution (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_RESOLUTION. Parameters settings a GtkPrintSettings Returns the resolution in dpi gtk_print_settings_set_resolution () gtk_print_settings_set_resolution void gtk_print_settings_set_resolution (GtkPrintSettings *settings, int resolution); Sets the values of GTK_PRINT_SETTINGS_RESOLUTION, GTK_PRINT_SETTINGS_RESOLUTION_X and GTK_PRINT_SETTINGS_RESOLUTION_Y. Parameters settings a GtkPrintSettings resolution the resolution in dpi gtk_print_settings_set_resolution_xy () gtk_print_settings_set_resolution_xy void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings, int resolution_x, int resolution_y); Sets the values of GTK_PRINT_SETTINGS_RESOLUTION, GTK_PRINT_SETTINGS_RESOLUTION_X and GTK_PRINT_SETTINGS_RESOLUTION_Y. Parameters settings a GtkPrintSettings resolution_x the horizontal resolution in dpi resolution_y the vertical resolution in dpi gtk_print_settings_get_resolution_x () gtk_print_settings_get_resolution_x int gtk_print_settings_get_resolution_x (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_X. Parameters settings a GtkPrintSettings Returns the horizontal resolution in dpi gtk_print_settings_get_resolution_y () gtk_print_settings_get_resolution_y int gtk_print_settings_get_resolution_y (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_Y. Parameters settings a GtkPrintSettings Returns the vertical resolution in dpi gtk_print_settings_get_printer_lpi () gtk_print_settings_get_printer_lpi double gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_PRINTER_LPI. Parameters settings a GtkPrintSettings Returns the resolution in lpi (lines per inch) gtk_print_settings_set_printer_lpi () gtk_print_settings_set_printer_lpi void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings, double lpi); Sets the value of GTK_PRINT_SETTINGS_PRINTER_LPI. Parameters settings a GtkPrintSettings lpi the resolution in lpi (lines per inch) gtk_print_settings_get_scale () gtk_print_settings_get_scale double gtk_print_settings_get_scale (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_SCALE. Parameters settings a GtkPrintSettings Returns the scale in percent gtk_print_settings_set_scale () gtk_print_settings_set_scale void gtk_print_settings_set_scale (GtkPrintSettings *settings, double scale); Sets the value of GTK_PRINT_SETTINGS_SCALE. Parameters settings a GtkPrintSettings scale the scale in percent gtk_print_settings_get_print_pages () gtk_print_settings_get_print_pages GtkPrintPages gtk_print_settings_get_print_pages (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_PRINT_PAGES. Parameters settings a GtkPrintSettings Returns which pages to print gtk_print_settings_set_print_pages () gtk_print_settings_set_print_pages void gtk_print_settings_set_print_pages (GtkPrintSettings *settings, GtkPrintPages pages); Sets the value of GTK_PRINT_SETTINGS_PRINT_PAGES. Parameters settings a GtkPrintSettings pages a GtkPrintPages value gtk_print_settings_get_page_ranges () gtk_print_settings_get_page_ranges GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings, int *num_ranges); Gets the value of GTK_PRINT_SETTINGS_PAGE_RANGES. Parameters settings a GtkPrintSettings num_ranges return location for the length of the returned array. [out] Returns an array of GtkPageRanges. Use g_free() to free the array when it is no longer needed. [array length=num_ranges][transfer full] gtk_print_settings_set_page_ranges () gtk_print_settings_set_page_ranges void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings, GtkPageRange *page_ranges, int num_ranges); Sets the value of GTK_PRINT_SETTINGS_PAGE_RANGES. Parameters settings a GtkPrintSettings page_ranges an array of GtkPageRanges. [array length=num_ranges] num_ranges the length of page_ranges gtk_print_settings_get_page_set () gtk_print_settings_get_page_set GtkPageSet gtk_print_settings_get_page_set (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_PAGE_SET. Parameters settings a GtkPrintSettings Returns the set of pages to print gtk_print_settings_set_page_set () gtk_print_settings_set_page_set void gtk_print_settings_set_page_set (GtkPrintSettings *settings, GtkPageSet page_set); Sets the value of GTK_PRINT_SETTINGS_PAGE_SET. Parameters settings a GtkPrintSettings page_set a GtkPageSet value gtk_print_settings_get_default_source () gtk_print_settings_get_default_source const char * gtk_print_settings_get_default_source (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE. Parameters settings a GtkPrintSettings Returns the default source gtk_print_settings_set_default_source () gtk_print_settings_set_default_source void gtk_print_settings_set_default_source (GtkPrintSettings *settings, const char *default_source); Sets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE. Parameters settings a GtkPrintSettings default_source the default source gtk_print_settings_get_media_type () gtk_print_settings_get_media_type const char * gtk_print_settings_get_media_type (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE. The set of media types is defined in PWG 5101.1-2002 PWG. Parameters settings a GtkPrintSettings Returns the media type gtk_print_settings_set_media_type () gtk_print_settings_set_media_type void gtk_print_settings_set_media_type (GtkPrintSettings *settings, const char *media_type); Sets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE. The set of media types is defined in PWG 5101.1-2002 PWG. Parameters settings a GtkPrintSettings media_type the media type gtk_print_settings_get_dither () gtk_print_settings_get_dither const char * gtk_print_settings_get_dither (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_DITHER. Parameters settings a GtkPrintSettings Returns the dithering that is used gtk_print_settings_set_dither () gtk_print_settings_set_dither void gtk_print_settings_set_dither (GtkPrintSettings *settings, const char *dither); Sets the value of GTK_PRINT_SETTINGS_DITHER. Parameters settings a GtkPrintSettings dither the dithering that is used gtk_print_settings_get_finishings () gtk_print_settings_get_finishings const char * gtk_print_settings_get_finishings (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_FINISHINGS. Parameters settings a GtkPrintSettings Returns the finishings gtk_print_settings_set_finishings () gtk_print_settings_set_finishings void gtk_print_settings_set_finishings (GtkPrintSettings *settings, const char *finishings); Sets the value of GTK_PRINT_SETTINGS_FINISHINGS. Parameters settings a GtkPrintSettings finishings the finishings gtk_print_settings_get_output_bin () gtk_print_settings_get_output_bin const char * gtk_print_settings_get_output_bin (GtkPrintSettings *settings); Gets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN. Parameters settings a GtkPrintSettings Returns the output bin gtk_print_settings_set_output_bin () gtk_print_settings_set_output_bin void gtk_print_settings_set_output_bin (GtkPrintSettings *settings, const char *output_bin); Sets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN. Parameters settings a GtkPrintSettings output_bin the output bin gtk_print_settings_new_from_file () gtk_print_settings_new_from_file GtkPrintSettings * gtk_print_settings_new_from_file (const char *file_name, GError **error); Reads the print settings from file_name . Returns a new GtkPrintSettings object with the restored settings, or NULL if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file(). Parameters file_name the filename to read the settings from. [type filename] error return location for errors, or NULL. [allow-none] Returns the restored GtkPrintSettings gtk_print_settings_new_from_key_file () gtk_print_settings_new_from_key_file GtkPrintSettings * gtk_print_settings_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error); Reads the print settings from the group group_name in key_file . Returns a new GtkPrintSettings object with the restored settings, or NULL if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError. Parameters key_file the GKeyFile to retrieve the settings from group_name the name of the group to use, or NULL to use the default “Print Settings”. [allow-none] error return location for errors, or NULL. [allow-none] Returns the restored GtkPrintSettings gtk_print_settings_new_from_gvariant () gtk_print_settings_new_from_gvariant GtkPrintSettings * gtk_print_settings_new_from_gvariant (GVariant *variant); Deserialize print settings from an a{sv} variant in the format produced by gtk_print_settings_to_gvariant(). Parameters variant an a{sv} GVariant Returns a new GtkPrintSettings object. [transfer full] gtk_print_settings_load_file () gtk_print_settings_load_file gboolean gtk_print_settings_load_file (GtkPrintSettings *settings, const char *file_name, GError **error); Reads the print settings from file_name . If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file(). Parameters settings a GtkPrintSettings file_name the filename to read the settings from. [type filename] error return location for errors, or NULL. [allow-none] Returns TRUE on success gtk_print_settings_load_key_file () gtk_print_settings_load_key_file gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name, GError **error); Reads the print settings from the group group_name in key_file . If the file could not be loaded then error is set to either a GFileError or GKeyFileError. Parameters settings a GtkPrintSettings key_file the GKeyFile to retrieve the settings from group_name the name of the group to use, or NULL to use the default “Print Settings”. [allow-none] error return location for errors, or NULL. [allow-none] Returns TRUE on success gtk_print_settings_to_file () gtk_print_settings_to_file gboolean gtk_print_settings_to_file (GtkPrintSettings *settings, const char *file_name, GError **error); This function saves the print settings from settings to file_name . If the file could not be loaded then error is set to either a GFileError or GKeyFileError. Parameters settings a GtkPrintSettings file_name the file to save to. [type filename] error return location for errors, or NULL. [allow-none] Returns TRUE on success gtk_print_settings_to_key_file () gtk_print_settings_to_key_file void gtk_print_settings_to_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name); This function adds the print settings from settings to key_file . Parameters settings a GtkPrintSettings key_file the GKeyFile to save the print settings to group_name the group to add the settings to in key_file , or NULL to use the default “Print Settings”. [nullable] gtk_print_settings_to_gvariant () gtk_print_settings_to_gvariant GVariant * gtk_print_settings_to_gvariant (GtkPrintSettings *settings); Serialize print settings to an a{sv} variant. Parameters settings a GtkPrintSettings Returns a new, floating, GVariant. [transfer none] Types and Values GtkPrintSettings GtkPrintSettings typedef struct _GtkPrintSettings GtkPrintSettings; GTK_PRINT_SETTINGS_PRINTER GTK_PRINT_SETTINGS_PRINTER #define GTK_PRINT_SETTINGS_PRINTER "printer" enum GtkPageOrientation GtkPageOrientation See also gtk_print_settings_set_orientation(). Members GTK_PAGE_ORIENTATION_PORTRAIT Portrait mode. GTK_PAGE_ORIENTATION_LANDSCAPE Landscape mode. GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT Reverse portrait mode. GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE Reverse landscape mode. GTK_PRINT_SETTINGS_ORIENTATION GTK_PRINT_SETTINGS_ORIENTATION #define GTK_PRINT_SETTINGS_ORIENTATION "orientation" GTK_PRINT_SETTINGS_PAPER_FORMAT GTK_PRINT_SETTINGS_PAPER_FORMAT #define GTK_PRINT_SETTINGS_PAPER_FORMAT "paper-format" GTK_PRINT_SETTINGS_PAPER_WIDTH GTK_PRINT_SETTINGS_PAPER_WIDTH #define GTK_PRINT_SETTINGS_PAPER_WIDTH "paper-width" GTK_PRINT_SETTINGS_PAPER_HEIGHT GTK_PRINT_SETTINGS_PAPER_HEIGHT #define GTK_PRINT_SETTINGS_PAPER_HEIGHT "paper-height" GTK_PRINT_SETTINGS_USE_COLOR GTK_PRINT_SETTINGS_USE_COLOR #define GTK_PRINT_SETTINGS_USE_COLOR "use-color" GTK_PRINT_SETTINGS_COLLATE GTK_PRINT_SETTINGS_COLLATE #define GTK_PRINT_SETTINGS_COLLATE "collate" GTK_PRINT_SETTINGS_REVERSE GTK_PRINT_SETTINGS_REVERSE #define GTK_PRINT_SETTINGS_REVERSE "reverse" enum GtkPrintDuplex GtkPrintDuplex See also gtk_print_settings_set_duplex(). Members GTK_PRINT_DUPLEX_SIMPLEX No duplex. GTK_PRINT_DUPLEX_HORIZONTAL Horizontal duplex. GTK_PRINT_DUPLEX_VERTICAL Vertical duplex. GTK_PRINT_SETTINGS_DUPLEX GTK_PRINT_SETTINGS_DUPLEX #define GTK_PRINT_SETTINGS_DUPLEX "duplex" enum GtkPrintQuality GtkPrintQuality See also gtk_print_settings_set_quality(). Members GTK_PRINT_QUALITY_LOW Low quality. GTK_PRINT_QUALITY_NORMAL Normal quality. GTK_PRINT_QUALITY_HIGH High quality. GTK_PRINT_QUALITY_DRAFT Draft quality. GTK_PRINT_SETTINGS_QUALITY GTK_PRINT_SETTINGS_QUALITY #define GTK_PRINT_SETTINGS_QUALITY "quality" GTK_PRINT_SETTINGS_N_COPIES GTK_PRINT_SETTINGS_N_COPIES #define GTK_PRINT_SETTINGS_N_COPIES "n-copies" GTK_PRINT_SETTINGS_NUMBER_UP GTK_PRINT_SETTINGS_NUMBER_UP #define GTK_PRINT_SETTINGS_NUMBER_UP "number-up" enum GtkNumberUpLayout GtkNumberUpLayout Used to determine the layout of pages on a sheet when printing multiple pages per sheet. Members GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT #define GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT "number-up-layout" GTK_PRINT_SETTINGS_RESOLUTION GTK_PRINT_SETTINGS_RESOLUTION #define GTK_PRINT_SETTINGS_RESOLUTION "resolution" GTK_PRINT_SETTINGS_RESOLUTION_X GTK_PRINT_SETTINGS_RESOLUTION_X #define GTK_PRINT_SETTINGS_RESOLUTION_X "resolution-x" GTK_PRINT_SETTINGS_RESOLUTION_Y GTK_PRINT_SETTINGS_RESOLUTION_Y #define GTK_PRINT_SETTINGS_RESOLUTION_Y "resolution-y" GTK_PRINT_SETTINGS_PRINTER_LPI GTK_PRINT_SETTINGS_PRINTER_LPI #define GTK_PRINT_SETTINGS_PRINTER_LPI "printer-lpi" GTK_PRINT_SETTINGS_SCALE GTK_PRINT_SETTINGS_SCALE #define GTK_PRINT_SETTINGS_SCALE "scale" enum GtkPrintPages GtkPrintPages See also gtk_print_job_set_pages() Members GTK_PRINT_PAGES_ALL All pages. GTK_PRINT_PAGES_CURRENT Current page. GTK_PRINT_PAGES_RANGES Range of pages. GTK_PRINT_PAGES_SELECTION Selected pages. GTK_PRINT_SETTINGS_PRINT_PAGES GTK_PRINT_SETTINGS_PRINT_PAGES #define GTK_PRINT_SETTINGS_PRINT_PAGES "print-pages" struct GtkPageRange GtkPageRange struct GtkPageRange { int start; int end; }; See also gtk_print_settings_set_page_ranges(). Members int start; start of page range. int end; end of page range. GTK_PRINT_SETTINGS_PAGE_RANGES GTK_PRINT_SETTINGS_PAGE_RANGES #define GTK_PRINT_SETTINGS_PAGE_RANGES "page-ranges" enum GtkPageSet GtkPageSet See also gtk_print_job_set_page_set(). Members GTK_PAGE_SET_ALL All pages. GTK_PAGE_SET_EVEN Even pages. GTK_PAGE_SET_ODD Odd pages. GTK_PRINT_SETTINGS_PAGE_SET GTK_PRINT_SETTINGS_PAGE_SET #define GTK_PRINT_SETTINGS_PAGE_SET "page-set" GTK_PRINT_SETTINGS_DEFAULT_SOURCE GTK_PRINT_SETTINGS_DEFAULT_SOURCE #define GTK_PRINT_SETTINGS_DEFAULT_SOURCE "default-source" GTK_PRINT_SETTINGS_MEDIA_TYPE GTK_PRINT_SETTINGS_MEDIA_TYPE #define GTK_PRINT_SETTINGS_MEDIA_TYPE "media-type" GTK_PRINT_SETTINGS_DITHER GTK_PRINT_SETTINGS_DITHER #define GTK_PRINT_SETTINGS_DITHER "dither" GTK_PRINT_SETTINGS_FINISHINGS GTK_PRINT_SETTINGS_FINISHINGS #define GTK_PRINT_SETTINGS_FINISHINGS "finishings" GTK_PRINT_SETTINGS_OUTPUT_BIN GTK_PRINT_SETTINGS_OUTPUT_BIN #define GTK_PRINT_SETTINGS_OUTPUT_BIN "output-bin" GTK_PRINT_SETTINGS_OUTPUT_DIR GTK_PRINT_SETTINGS_OUTPUT_DIR #define GTK_PRINT_SETTINGS_OUTPUT_DIR "output-dir" The key used by the “Print to file” printer to store the directory to which the output should be written. GTK_PRINT_SETTINGS_OUTPUT_BASENAME GTK_PRINT_SETTINGS_OUTPUT_BASENAME #define GTK_PRINT_SETTINGS_OUTPUT_BASENAME "output-basename" The key used by the “Print to file” printer to store the file name of the output without the path to the directory and the file extension. GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT #define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT "output-file-format" The key used by the “Print to file” printer to store the format of the output. The supported values are “PS” and “PDF”. GTK_PRINT_SETTINGS_OUTPUT_URI GTK_PRINT_SETTINGS_OUTPUT_URI #define GTK_PRINT_SETTINGS_OUTPUT_URI "output-uri" The key used by the “Print to file” printer to store the URI to which the output should be written. GTK+ itself supports only “file://” URIs. GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA #define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA "win32-driver-extra" GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION #define GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION "win32-driver-version" docs/reference/gtk/xml/gtkpapersize.xml0000664000175000017500000016434413710700313020422 0ustar mclasenmclasen ]> GtkPaperSize 3 GTK4 Library GtkPaperSize Support for named paper sizes Functions GtkPaperSize * gtk_paper_size_new () GtkPaperSize * gtk_paper_size_new_from_ppd () GtkPaperSize * gtk_paper_size_new_from_ipp () GtkPaperSize * gtk_paper_size_new_custom () GtkPaperSize * gtk_paper_size_copy () void gtk_paper_size_free () gboolean gtk_paper_size_is_equal () GList * gtk_paper_size_get_paper_sizes () const char * gtk_paper_size_get_name () const char * gtk_paper_size_get_display_name () const char * gtk_paper_size_get_ppd_name () double gtk_paper_size_get_width () double gtk_paper_size_get_height () gboolean gtk_paper_size_is_ipp () gboolean gtk_paper_size_is_custom () void gtk_paper_size_set_size () double gtk_paper_size_get_default_top_margin () double gtk_paper_size_get_default_bottom_margin () double gtk_paper_size_get_default_left_margin () double gtk_paper_size_get_default_right_margin () const char * gtk_paper_size_get_default () GtkPaperSize * gtk_paper_size_new_from_key_file () GtkPaperSize * gtk_paper_size_new_from_gvariant () void gtk_paper_size_to_key_file () GVariant * gtk_paper_size_to_gvariant () Types and Values GtkPaperSize enumGtkUnit #defineGTK_UNIT_PIXEL #defineGTK_PAPER_NAME_A3 #defineGTK_PAPER_NAME_A4 #defineGTK_PAPER_NAME_A5 #defineGTK_PAPER_NAME_B5 #defineGTK_PAPER_NAME_LETTER #defineGTK_PAPER_NAME_EXECUTIVE #defineGTK_PAPER_NAME_LEGAL Object Hierarchy GBoxed ╰── GtkPaperSize Includes#include <gtk/gtk.h> Description GtkPaperSize handles paper sizes. It uses the standard called PWG 5101.1-2002 PWG: Standard for Media Standardized Names to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, GtkPaperSize allows to construct custom paper sizes with arbitrary dimensions. The GtkPaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides default print margins. Printing support has been added in GTK 2.10. Functions gtk_paper_size_new () gtk_paper_size_new GtkPaperSize * gtk_paper_size_new (const char *name); Creates a new GtkPaperSize object by parsing a PWG 5101.1-2002 paper name. If name is NULL, the default paper size is returned, see gtk_paper_size_get_default(). Parameters name a paper size name, or NULL. [allow-none] Returns a new GtkPaperSize, use gtk_paper_size_free() to free it gtk_paper_size_new_from_ppd () gtk_paper_size_new_from_ppd GtkPaperSize * gtk_paper_size_new_from_ppd (const char *ppd_name, const char *ppd_display_name, double width, double height); Creates a new GtkPaperSize object by using PPD information. If ppd_name is not a recognized PPD paper name, ppd_display_name , width and height are used to construct a custom GtkPaperSize object. Parameters ppd_name a PPD paper name ppd_display_name the corresponding human-readable name width the paper width, in points height the paper height in points Returns a new GtkPaperSize, use gtk_paper_size_free() to free it gtk_paper_size_new_from_ipp () gtk_paper_size_new_from_ipp GtkPaperSize * gtk_paper_size_new_from_ipp (const char *ipp_name, double width, double height); Creates a new GtkPaperSize object by using IPP information. If ipp_name is not a recognized paper name, width and height are used to construct a custom GtkPaperSize object. Parameters ipp_name an IPP paper name width the paper width, in points height the paper height in points Returns a new GtkPaperSize, use gtk_paper_size_free() to free it gtk_paper_size_new_custom () gtk_paper_size_new_custom GtkPaperSize * gtk_paper_size_new_custom (const char *name, const char *display_name, double width, double height, GtkUnit unit); Creates a new GtkPaperSize object with the given parameters. Parameters name the paper name display_name the human-readable name width the paper width, in units of unit height the paper height, in units of unit unit the unit for width and height . not GTK_UNIT_NONE. Returns a new GtkPaperSize object, use gtk_paper_size_free() to free it gtk_paper_size_copy () gtk_paper_size_copy GtkPaperSize * gtk_paper_size_copy (GtkPaperSize *other); Copies an existing GtkPaperSize. Parameters other a GtkPaperSize Returns a copy of other gtk_paper_size_free () gtk_paper_size_free void gtk_paper_size_free (GtkPaperSize *size); Free the given GtkPaperSize object. Parameters size a GtkPaperSize gtk_paper_size_is_equal () gtk_paper_size_is_equal gboolean gtk_paper_size_is_equal (GtkPaperSize *size1, GtkPaperSize *size2); Compares two GtkPaperSize objects. Parameters size1 a GtkPaperSize object size2 another GtkPaperSize object Returns TRUE, if size1 and size2 represent the same paper size gtk_paper_size_get_paper_sizes () gtk_paper_size_get_paper_sizes GList * gtk_paper_size_get_paper_sizes (gboolean include_custom); Creates a list of known paper sizes. Parameters include_custom whether to include custom paper sizes as defined in the page setup dialog Returns a newly allocated list of newly allocated GtkPaperSize objects. [element-type GtkPaperSize][transfer full] gtk_paper_size_get_name () gtk_paper_size_get_name const char * gtk_paper_size_get_name (GtkPaperSize *size); Gets the name of the GtkPaperSize. Parameters size a GtkPaperSize object Returns the name of size gtk_paper_size_get_display_name () gtk_paper_size_get_display_name const char * gtk_paper_size_get_display_name (GtkPaperSize *size); Gets the human-readable name of the GtkPaperSize. Parameters size a GtkPaperSize object Returns the human-readable name of size gtk_paper_size_get_ppd_name () gtk_paper_size_get_ppd_name const char * gtk_paper_size_get_ppd_name (GtkPaperSize *size); Gets the PPD name of the GtkPaperSize, which may be NULL. Parameters size a GtkPaperSize object Returns the PPD name of size gtk_paper_size_get_width () gtk_paper_size_get_width double gtk_paper_size_get_width (GtkPaperSize *size, GtkUnit unit); Gets the paper width of the GtkPaperSize, in units of unit . Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the paper width gtk_paper_size_get_height () gtk_paper_size_get_height double gtk_paper_size_get_height (GtkPaperSize *size, GtkUnit unit); Gets the paper height of the GtkPaperSize, in units of unit . Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the paper height gtk_paper_size_is_ipp () gtk_paper_size_is_ipp gboolean gtk_paper_size_is_ipp (GtkPaperSize *size); Returns TRUE if size is an IPP standard paper size. Parameters size a GtkPaperSize object Returns whether size is not an IPP custom paper size. gtk_paper_size_is_custom () gtk_paper_size_is_custom gboolean gtk_paper_size_is_custom (GtkPaperSize *size); Returns TRUE if size is not a standard paper size. Parameters size a GtkPaperSize object Returns whether size is a custom paper size. gtk_paper_size_set_size () gtk_paper_size_set_size void gtk_paper_size_set_size (GtkPaperSize *size, double width, double height, GtkUnit unit); Changes the dimensions of a size to width x height . Parameters size a custom GtkPaperSize object width the new width in units of unit height the new height in units of unit unit the unit for width and height gtk_paper_size_get_default_top_margin () gtk_paper_size_get_default_top_margin double gtk_paper_size_get_default_top_margin (GtkPaperSize *size, GtkUnit unit); Gets the default top margin for the GtkPaperSize. Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the default top margin gtk_paper_size_get_default_bottom_margin () gtk_paper_size_get_default_bottom_margin double gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, GtkUnit unit); Gets the default bottom margin for the GtkPaperSize. Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the default bottom margin gtk_paper_size_get_default_left_margin () gtk_paper_size_get_default_left_margin double gtk_paper_size_get_default_left_margin (GtkPaperSize *size, GtkUnit unit); Gets the default left margin for the GtkPaperSize. Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the default left margin gtk_paper_size_get_default_right_margin () gtk_paper_size_get_default_right_margin double gtk_paper_size_get_default_right_margin (GtkPaperSize *size, GtkUnit unit); Gets the default right margin for the GtkPaperSize. Parameters size a GtkPaperSize object unit the unit for the return value, not GTK_UNIT_NONE Returns the default right margin gtk_paper_size_get_default () gtk_paper_size_get_default const char * gtk_paper_size_get_default (void); Returns the name of the default paper size, which depends on the current locale. Returns the name of the default paper size. The string is owned by GTK and should not be modified. gtk_paper_size_new_from_key_file () gtk_paper_size_new_from_key_file GtkPaperSize * gtk_paper_size_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error); Reads a paper size from the group group_name in the key file key_file . Parameters key_file the GKeyFile to retrieve the papersize from group_name the name of the group in the key file to read, or NULL to read the first group. [nullable] error return location for an error, or NULL. [allow-none] Returns a new GtkPaperSize object with the restored paper size, or NULL if an error occurred gtk_paper_size_new_from_gvariant () gtk_paper_size_new_from_gvariant GtkPaperSize * gtk_paper_size_new_from_gvariant (GVariant *variant); Deserialize a paper size from an a{sv} variant in the format produced by gtk_paper_size_to_gvariant(). Parameters variant an a{sv} GVariant Returns a new GtkPaperSize object. [transfer full] gtk_paper_size_to_key_file () gtk_paper_size_to_key_file void gtk_paper_size_to_key_file (GtkPaperSize *size, GKeyFile *key_file, const char *group_name); This function adds the paper size from size to key_file . Parameters size a GtkPaperSize key_file the GKeyFile to save the paper size to group_name the group to add the settings to in key_file gtk_paper_size_to_gvariant () gtk_paper_size_to_gvariant GVariant * gtk_paper_size_to_gvariant (GtkPaperSize *paper_size); Serialize a paper size to an a{sv} variant. Parameters paper_size a GtkPaperSize Returns a new, floating, GVariant. [transfer none] Types and Values GtkPaperSize GtkPaperSize typedef struct _GtkPaperSize GtkPaperSize; enum GtkUnit GtkUnit See also gtk_print_settings_set_paper_width(). Members GTK_UNIT_NONE No units. GTK_UNIT_POINTS Dimensions in points. GTK_UNIT_INCH Dimensions in inches. GTK_UNIT_MM Dimensions in millimeters GTK_UNIT_PIXEL GTK_UNIT_PIXEL #define GTK_UNIT_PIXEL GTK_UNIT_NONE GTK_PAPER_NAME_A3 GTK_PAPER_NAME_A3 #define GTK_PAPER_NAME_A3 "iso_a3" Name for the A3 paper size. GTK_PAPER_NAME_A4 GTK_PAPER_NAME_A4 #define GTK_PAPER_NAME_A4 "iso_a4" Name for the A4 paper size. GTK_PAPER_NAME_A5 GTK_PAPER_NAME_A5 #define GTK_PAPER_NAME_A5 "iso_a5" Name for the A5 paper size. GTK_PAPER_NAME_B5 GTK_PAPER_NAME_B5 #define GTK_PAPER_NAME_B5 "iso_b5" Name for the B5 paper size. GTK_PAPER_NAME_LETTER GTK_PAPER_NAME_LETTER #define GTK_PAPER_NAME_LETTER "na_letter" Name for the Letter paper size. GTK_PAPER_NAME_EXECUTIVE GTK_PAPER_NAME_EXECUTIVE #define GTK_PAPER_NAME_EXECUTIVE "na_executive" Name for the Executive paper size. GTK_PAPER_NAME_LEGAL GTK_PAPER_NAME_LEGAL #define GTK_PAPER_NAME_LEGAL "na_legal" Name for the Legal paper size. See Also GtkPageSetup docs/reference/gtk/xml/gtkpagesetup.xml0000664000175000017500000016556413710700313020422 0ustar mclasenmclasen ]> GtkPageSetup 3 GTK4 Library GtkPageSetup Stores page setup information Functions GtkPageSetup * gtk_page_setup_new () GtkPageSetup * gtk_page_setup_copy () GtkPageOrientation gtk_page_setup_get_orientation () void gtk_page_setup_set_orientation () GtkPaperSize * gtk_page_setup_get_paper_size () void gtk_page_setup_set_paper_size () double gtk_page_setup_get_top_margin () void gtk_page_setup_set_top_margin () double gtk_page_setup_get_bottom_margin () void gtk_page_setup_set_bottom_margin () double gtk_page_setup_get_left_margin () void gtk_page_setup_set_left_margin () double gtk_page_setup_get_right_margin () void gtk_page_setup_set_right_margin () void gtk_page_setup_set_paper_size_and_default_margins () double gtk_page_setup_get_paper_width () double gtk_page_setup_get_paper_height () double gtk_page_setup_get_page_width () double gtk_page_setup_get_page_height () GtkPageSetup * gtk_page_setup_new_from_file () GtkPageSetup * gtk_page_setup_new_from_key_file () GtkPageSetup * gtk_page_setup_new_from_gvariant () gboolean gtk_page_setup_load_file () gboolean gtk_page_setup_load_key_file () gboolean gtk_page_setup_to_file () void gtk_page_setup_to_key_file () GVariant * gtk_page_setup_to_gvariant () Types and Values GtkPageSetup Object Hierarchy GObject ╰── GtkPageSetup Includes#include <gtk/gtk.h> Description A GtkPageSetup object stores the page size, orientation and margins. The idea is that you can get one of these from the page setup dialog and then pass it to the GtkPrintOperation when printing. The benefit of splitting this out of the GtkPrintSettings is that these affect the actual layout of the page, and thus need to be set long before user prints. MarginsThe margins specified in this object are the “print margins”, i.e. the parts of the page that the printer cannot print on. These are different from the layout margins that a word processor uses; they are typically used to determine the minimal size for the layout margins. To obtain a GtkPageSetup use gtk_page_setup_new() to get the defaults, or use gtk_print_run_page_setup_dialog() to show the page setup dialog and receive the resulting page setup. A page setup dialog Printing support was added in GTK+ 2.10. Functions gtk_page_setup_new () gtk_page_setup_new GtkPageSetup * gtk_page_setup_new (void); Creates a new GtkPageSetup. Returns a new GtkPageSetup. gtk_page_setup_copy () gtk_page_setup_copy GtkPageSetup * gtk_page_setup_copy (GtkPageSetup *other); Copies a GtkPageSetup. Parameters other the GtkPageSetup to copy Returns a copy of other . [transfer full] gtk_page_setup_get_orientation () gtk_page_setup_get_orientation GtkPageOrientation gtk_page_setup_get_orientation (GtkPageSetup *setup); Gets the page orientation of the GtkPageSetup. Parameters setup a GtkPageSetup Returns the page orientation gtk_page_setup_set_orientation () gtk_page_setup_set_orientation void gtk_page_setup_set_orientation (GtkPageSetup *setup, GtkPageOrientation orientation); Sets the page orientation of the GtkPageSetup. Parameters setup a GtkPageSetup orientation a GtkPageOrientation value gtk_page_setup_get_paper_size () gtk_page_setup_get_paper_size GtkPaperSize * gtk_page_setup_get_paper_size (GtkPageSetup *setup); Gets the paper size of the GtkPageSetup. Parameters setup a GtkPageSetup Returns the paper size. [transfer none] gtk_page_setup_set_paper_size () gtk_page_setup_set_paper_size void gtk_page_setup_set_paper_size (GtkPageSetup *setup, GtkPaperSize *size); Sets the paper size of the GtkPageSetup without changing the margins. See gtk_page_setup_set_paper_size_and_default_margins(). Parameters setup a GtkPageSetup size a GtkPaperSize gtk_page_setup_get_top_margin () gtk_page_setup_get_top_margin double gtk_page_setup_get_top_margin (GtkPageSetup *setup, GtkUnit unit); Gets the top margin in units of unit . Parameters setup a GtkPageSetup unit the unit for the return value Returns the top margin gtk_page_setup_set_top_margin () gtk_page_setup_set_top_margin void gtk_page_setup_set_top_margin (GtkPageSetup *setup, double margin, GtkUnit unit); Sets the top margin of the GtkPageSetup. Parameters setup a GtkPageSetup margin the new top margin in units of unit unit the units for margin gtk_page_setup_get_bottom_margin () gtk_page_setup_get_bottom_margin double gtk_page_setup_get_bottom_margin (GtkPageSetup *setup, GtkUnit unit); Gets the bottom margin in units of unit . Parameters setup a GtkPageSetup unit the unit for the return value Returns the bottom margin gtk_page_setup_set_bottom_margin () gtk_page_setup_set_bottom_margin void gtk_page_setup_set_bottom_margin (GtkPageSetup *setup, double margin, GtkUnit unit); Sets the bottom margin of the GtkPageSetup. Parameters setup a GtkPageSetup margin the new bottom margin in units of unit unit the units for margin gtk_page_setup_get_left_margin () gtk_page_setup_get_left_margin double gtk_page_setup_get_left_margin (GtkPageSetup *setup, GtkUnit unit); Gets the left margin in units of unit . Parameters setup a GtkPageSetup unit the unit for the return value Returns the left margin gtk_page_setup_set_left_margin () gtk_page_setup_set_left_margin void gtk_page_setup_set_left_margin (GtkPageSetup *setup, double margin, GtkUnit unit); Sets the left margin of the GtkPageSetup. Parameters setup a GtkPageSetup margin the new left margin in units of unit unit the units for margin gtk_page_setup_get_right_margin () gtk_page_setup_get_right_margin double gtk_page_setup_get_right_margin (GtkPageSetup *setup, GtkUnit unit); Gets the right margin in units of unit . Parameters setup a GtkPageSetup unit the unit for the return value Returns the right margin gtk_page_setup_set_right_margin () gtk_page_setup_set_right_margin void gtk_page_setup_set_right_margin (GtkPageSetup *setup, double margin, GtkUnit unit); Sets the right margin of the GtkPageSetup. Parameters setup a GtkPageSetup margin the new right margin in units of unit unit the units for margin gtk_page_setup_set_paper_size_and_default_margins () gtk_page_setup_set_paper_size_and_default_margins void gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup, GtkPaperSize *size); Sets the paper size of the GtkPageSetup and modifies the margins according to the new paper size. Parameters setup a GtkPageSetup size a GtkPaperSize gtk_page_setup_get_paper_width () gtk_page_setup_get_paper_width double gtk_page_setup_get_paper_width (GtkPageSetup *setup, GtkUnit unit); Returns the paper width in units of unit . Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_width(). Parameters setup a GtkPageSetup unit the unit for the return value Returns the paper width. gtk_page_setup_get_paper_height () gtk_page_setup_get_paper_height double gtk_page_setup_get_paper_height (GtkPageSetup *setup, GtkUnit unit); Returns the paper height in units of unit . Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_height(). Parameters setup a GtkPageSetup unit the unit for the return value Returns the paper height. gtk_page_setup_get_page_width () gtk_page_setup_get_page_width double gtk_page_setup_get_page_width (GtkPageSetup *setup, GtkUnit unit); Returns the page width in units of unit . Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_width(). Parameters setup a GtkPageSetup unit the unit for the return value Returns the page width. gtk_page_setup_get_page_height () gtk_page_setup_get_page_height double gtk_page_setup_get_page_height (GtkPageSetup *setup, GtkUnit unit); Returns the page height in units of unit . Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_height(). Parameters setup a GtkPageSetup unit the unit for the return value Returns the page height. gtk_page_setup_new_from_file () gtk_page_setup_new_from_file GtkPageSetup * gtk_page_setup_new_from_file (const char *file_name, GError **error); Reads the page setup from the file file_name . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred. See gtk_page_setup_to_file(). Parameters file_name the filename to read the page setup from. [type filename] error return location for an error, or NULL. [allow-none] Returns the restored GtkPageSetup gtk_page_setup_new_from_key_file () gtk_page_setup_new_from_key_file GtkPageSetup * gtk_page_setup_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error); Reads the page setup from the group group_name in the key file key_file . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred. Parameters key_file the GKeyFile to retrieve the page_setup from group_name the name of the group in the key_file to read, or NULL to use the default name “Page Setup”. [allow-none] error return location for an error, or NULL. [allow-none] Returns the restored GtkPageSetup gtk_page_setup_new_from_gvariant () gtk_page_setup_new_from_gvariant GtkPageSetup * gtk_page_setup_new_from_gvariant (GVariant *variant); Desrialize a page setup from an a{sv} variant in the format produced by gtk_page_setup_to_gvariant(). Parameters variant an a{sv} GVariant Returns a new GtkPageSetup object. [transfer full] gtk_page_setup_load_file () gtk_page_setup_load_file gboolean gtk_page_setup_load_file (GtkPageSetup *setup, const char *file_name, GError **error); Reads the page setup from the file file_name . See gtk_page_setup_to_file(). Parameters setup a GtkPageSetup file_name the filename to read the page setup from. [type filename] error return location for an error, or NULL. [allow-none] Returns TRUE on success gtk_page_setup_load_key_file () gtk_page_setup_load_key_file gboolean gtk_page_setup_load_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name, GError **error); Reads the page setup from the group group_name in the key file key_file . Parameters setup a GtkPageSetup key_file the GKeyFile to retrieve the page_setup from group_name the name of the group in the key_file to read, or NULL to use the default name “Page Setup”. [allow-none] error return location for an error, or NULL. [allow-none] Returns TRUE on success gtk_page_setup_to_file () gtk_page_setup_to_file gboolean gtk_page_setup_to_file (GtkPageSetup *setup, const char *file_name, GError **error); This function saves the information from setup to file_name . Parameters setup a GtkPageSetup file_name the file to save to. [type filename] error return location for errors, or NULL. [allow-none] Returns TRUE on success gtk_page_setup_to_key_file () gtk_page_setup_to_key_file void gtk_page_setup_to_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name); This function adds the page setup from setup to key_file . Parameters setup a GtkPageSetup key_file the GKeyFile to save the page setup to group_name the group to add the settings to in key_file , or NULL to use the default name “Page Setup”. [nullable] gtk_page_setup_to_gvariant () gtk_page_setup_to_gvariant GVariant * gtk_page_setup_to_gvariant (GtkPageSetup *setup); Serialize page setup to an a{sv} variant. Return: (transfer none): a new, floating, GVariant Parameters setup a GtkPageSetup Types and Values GtkPageSetup GtkPageSetup typedef struct _GtkPageSetup GtkPageSetup; docs/reference/gtk/xml/gtkprintcontext.xml0000664000175000017500000006553113710700314021160 0ustar mclasenmclasen ]> GtkPrintContext 3 GTK4 Library GtkPrintContext Encapsulates context for drawing pages Functions cairo_t * gtk_print_context_get_cairo_context () void gtk_print_context_set_cairo_context () GtkPageSetup * gtk_print_context_get_page_setup () double gtk_print_context_get_width () double gtk_print_context_get_height () double gtk_print_context_get_dpi_x () double gtk_print_context_get_dpi_y () PangoFontMap * gtk_print_context_get_pango_fontmap () PangoContext * gtk_print_context_create_pango_context () PangoLayout * gtk_print_context_create_pango_layout () gboolean gtk_print_context_get_hard_margins () Types and Values GtkPrintContext Object Hierarchy GObject ╰── GtkPrintContext Includes#include <gtk/gtk.h> Description A GtkPrintContext encapsulates context information that is required when drawing pages for printing, such as the cairo context and important parameters like page size and resolution. It also lets you easily create PangoLayout and PangoContext objects that match the font metrics of the cairo surface. GtkPrintContext objects gets passed to the “begin-print”, “end-print”, “request-page-setup” and “draw-page” signals on the GtkPrintOperation. Using GtkPrintContext in a <link linkend="GtkPrintOperation-draw-page"><type>“draw-page”</type></link> callback Printing support was added in GTK+ 2.10. Functions gtk_print_context_get_cairo_context () gtk_print_context_get_cairo_context cairo_t * gtk_print_context_get_cairo_context (GtkPrintContext *context); Obtains the cairo context that is associated with the GtkPrintContext. Parameters context a GtkPrintContext Returns the cairo context of context . [transfer none] gtk_print_context_set_cairo_context () gtk_print_context_set_cairo_context void gtk_print_context_set_cairo_context (GtkPrintContext *context, cairo_t *cr, double dpi_x, double dpi_y); Sets a new cairo context on a print context. This function is intended to be used when implementing an internal print preview, it is not needed for printing, since GTK+ itself creates a suitable cairo context in that case. Parameters context a GtkPrintContext cr the cairo context dpi_x the horizontal resolution to use with cr dpi_y the vertical resolution to use with cr gtk_print_context_get_page_setup () gtk_print_context_get_page_setup GtkPageSetup * gtk_print_context_get_page_setup (GtkPrintContext *context); Obtains the GtkPageSetup that determines the page dimensions of the GtkPrintContext. Parameters context a GtkPrintContext Returns the page setup of context . [transfer none] gtk_print_context_get_width () gtk_print_context_get_width double gtk_print_context_get_width (GtkPrintContext *context); Obtains the width of the GtkPrintContext, in pixels. Parameters context a GtkPrintContext Returns the width of context gtk_print_context_get_height () gtk_print_context_get_height double gtk_print_context_get_height (GtkPrintContext *context); Obtains the height of the GtkPrintContext, in pixels. Parameters context a GtkPrintContext Returns the height of context gtk_print_context_get_dpi_x () gtk_print_context_get_dpi_x double gtk_print_context_get_dpi_x (GtkPrintContext *context); Obtains the horizontal resolution of the GtkPrintContext, in dots per inch. Parameters context a GtkPrintContext Returns the horizontal resolution of context gtk_print_context_get_dpi_y () gtk_print_context_get_dpi_y double gtk_print_context_get_dpi_y (GtkPrintContext *context); Obtains the vertical resolution of the GtkPrintContext, in dots per inch. Parameters context a GtkPrintContext Returns the vertical resolution of context gtk_print_context_get_pango_fontmap () gtk_print_context_get_pango_fontmap PangoFontMap * gtk_print_context_get_pango_fontmap (GtkPrintContext *context); Returns a PangoFontMap that is suitable for use with the GtkPrintContext. Parameters context a GtkPrintContext Returns the font map of context . [transfer none] gtk_print_context_create_pango_context () gtk_print_context_create_pango_context PangoContext * gtk_print_context_create_pango_context (GtkPrintContext *context); Creates a new PangoContext that can be used with the GtkPrintContext. Parameters context a GtkPrintContext Returns a new Pango context for context . [transfer full] gtk_print_context_create_pango_layout () gtk_print_context_create_pango_layout PangoLayout * gtk_print_context_create_pango_layout (GtkPrintContext *context); Creates a new PangoLayout that is suitable for use with the GtkPrintContext. Parameters context a GtkPrintContext Returns a new Pango layout for context . [transfer full] gtk_print_context_get_hard_margins () gtk_print_context_get_hard_margins gboolean gtk_print_context_get_hard_margins (GtkPrintContext *context, double *top, double *bottom, double *left, double *right); Obtains the hardware printer margins of the GtkPrintContext, in units. Parameters context a GtkPrintContext top top hardware printer margin. [out] bottom bottom hardware printer margin. [out] left left hardware printer margin. [out] right right hardware printer margin. [out] Returns TRUE if the hard margins were retrieved Types and Values GtkPrintContext GtkPrintContext typedef struct _GtkPrintContext GtkPrintContext; docs/reference/gtk/xml/gtkprintjob.xml0000664000175000017500000021057713710700314020250 0ustar mclasenmclasen ]> GtkPrintJob 3 GTK4 Library GtkPrintJob Represents a print job Functions void (*GtkPrintJobCompleteFunc) () GtkPrintJob * gtk_print_job_new () GtkPrintSettings * gtk_print_job_get_settings () GtkPrinter * gtk_print_job_get_printer () const char * gtk_print_job_get_title () GtkPrintStatus gtk_print_job_get_status () gboolean gtk_print_job_set_source_file () gboolean gtk_print_job_set_source_fd () cairo_surface_t * gtk_print_job_get_surface () void gtk_print_job_send () void gtk_print_job_set_track_print_status () gboolean gtk_print_job_get_track_print_status () GtkPrintPages gtk_print_job_get_pages () void gtk_print_job_set_pages () GtkPageRange * gtk_print_job_get_page_ranges () void gtk_print_job_set_page_ranges () GtkPageSet gtk_print_job_get_page_set () void gtk_print_job_set_page_set () int gtk_print_job_get_num_copies () void gtk_print_job_set_num_copies () double gtk_print_job_get_scale () void gtk_print_job_set_scale () guint gtk_print_job_get_n_up () void gtk_print_job_set_n_up () GtkNumberUpLayout gtk_print_job_get_n_up_layout () void gtk_print_job_set_n_up_layout () gboolean gtk_print_job_get_rotate () void gtk_print_job_set_rotate () gboolean gtk_print_job_get_collate () void gtk_print_job_set_collate () gboolean gtk_print_job_get_reverse () void gtk_print_job_set_reverse () Properties GtkPageSetup *page-setupRead / Write / Construct Only GtkPrinter *printerRead / Write / Construct Only GtkPrintSettings *settingsRead / Write / Construct Only gchar *titleRead / Write / Construct Only gbooleantrack-print-statusRead / Write Signals voidstatus-changedRun Last Types and Values GtkPrintJob Object Hierarchy GObject ╰── GtkPrintJob Includes#include <gtk/gtkunixprint.h> Description A GtkPrintJob object represents a job that is sent to a printer. You only need to deal directly with print jobs if you use the non-portable GtkPrintUnixDialog API. Use gtk_print_job_get_surface() to obtain the cairo surface onto which the pages must be drawn. Use gtk_print_job_send() to send the finished job to the printer. If you don’t use cairo GtkPrintJob also supports printing of manually generated postscript, via gtk_print_job_set_source_file(). Functions GtkPrintJobCompleteFunc () GtkPrintJobCompleteFunc void (*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job, gpointer user_data, const GError *error); The type of callback that is passed to gtk_print_job_send(). It is called when the print job has been completely sent. Parameters print_job the GtkPrintJob user_data user data that has been passed to gtk_print_job_send() error a GError that contains error information if the sending of the print job failed, otherwise NULL gtk_print_job_new () gtk_print_job_new GtkPrintJob * gtk_print_job_new (const char *title, GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup); Creates a new GtkPrintJob. Parameters title the job title printer a GtkPrinter settings a GtkPrintSettings page_setup a GtkPageSetup Returns a new GtkPrintJob gtk_print_job_get_settings () gtk_print_job_get_settings GtkPrintSettings * gtk_print_job_get_settings (GtkPrintJob *job); Gets the GtkPrintSettings of the print job. Parameters job a GtkPrintJob Returns the settings of job . [transfer none] gtk_print_job_get_printer () gtk_print_job_get_printer GtkPrinter * gtk_print_job_get_printer (GtkPrintJob *job); Gets the GtkPrinter of the print job. Parameters job a GtkPrintJob Returns the printer of job . [transfer none] gtk_print_job_get_title () gtk_print_job_get_title const char * gtk_print_job_get_title (GtkPrintJob *job); Gets the job title. Parameters job a GtkPrintJob Returns the title of job gtk_print_job_get_status () gtk_print_job_get_status GtkPrintStatus gtk_print_job_get_status (GtkPrintJob *job); Gets the status of the print job. Parameters job a GtkPrintJob Returns the status of job gtk_print_job_set_source_file () gtk_print_job_set_source_file gboolean gtk_print_job_set_source_file (GtkPrintJob *job, const char *filename, GError **error); Make the GtkPrintJob send an existing document to the printing system. The file can be in any format understood by the platforms printing system (typically PostScript, but on many platforms PDF may work too). See gtk_printer_accepts_pdf() and gtk_printer_accepts_ps(). Parameters job a GtkPrintJob filename the file to be printed. [type filename] error return location for errors Returns FALSE if an error occurred gtk_print_job_set_source_fd () gtk_print_job_set_source_fd gboolean gtk_print_job_set_source_fd (GtkPrintJob *job, int fd, GError **error); Make the GtkPrintJob send an existing document to the printing system. The file can be in any format understood by the platforms printing system (typically PostScript, but on many platforms PDF may work too). See gtk_printer_accepts_pdf() and gtk_printer_accepts_ps(). This is similar to gtk_print_job_set_source_file(), but takes expects an open file descriptor for the file, instead of a filename. Parameters job a GtkPrintJob fd a file descriptor error return location for errors Returns FALSE if an error occurred gtk_print_job_get_surface () gtk_print_job_get_surface cairo_surface_t * gtk_print_job_get_surface (GtkPrintJob *job, GError **error); Gets a cairo surface onto which the pages of the print job should be rendered. Parameters job a GtkPrintJob error return location for errors, or NULL. [allow-none] Returns the cairo surface of job . [transfer none] gtk_print_job_send () gtk_print_job_send void gtk_print_job_send (GtkPrintJob *job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify); Sends the print job off to the printer. Parameters job a GtkPrintJob callback function to call when the job completes or an error occurs user_data user data that gets passed to callback . [closure] dnotify destroy notify for user_data gtk_print_job_set_track_print_status () gtk_print_job_set_track_print_status void gtk_print_job_set_track_print_status (GtkPrintJob *job, gboolean track_status); If track_status is TRUE, the print job will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like “out of paper” issues, and when the print job actually reaches the printer. This function is often implemented using some form of polling, so it should not be enabled unless needed. Parameters job a GtkPrintJob track_status TRUE to track status after printing gtk_print_job_get_track_print_status () gtk_print_job_get_track_print_status gboolean gtk_print_job_get_track_print_status (GtkPrintJob *job); Returns wheter jobs will be tracked after printing. For details, see gtk_print_job_set_track_print_status(). Parameters job a GtkPrintJob Returns TRUE if print job status will be reported after printing gtk_print_job_get_pages () gtk_print_job_get_pages GtkPrintPages gtk_print_job_get_pages (GtkPrintJob *job); Gets the GtkPrintPages setting for this job. Parameters job a GtkPrintJob Returns the GtkPrintPages setting gtk_print_job_set_pages () gtk_print_job_set_pages void gtk_print_job_set_pages (GtkPrintJob *job, GtkPrintPages pages); Sets the GtkPrintPages setting for this job. Parameters job a GtkPrintJob pages the GtkPrintPages setting gtk_print_job_get_page_ranges () gtk_print_job_get_page_ranges GtkPageRange * gtk_print_job_get_page_ranges (GtkPrintJob *job, int *n_ranges); Gets the page ranges for this job. Parameters job a GtkPrintJob n_ranges return location for the number of ranges. [out] Returns a pointer to an array of GtkPageRange structs. [array length=n_ranges][transfer none] gtk_print_job_set_page_ranges () gtk_print_job_set_page_ranges void gtk_print_job_set_page_ranges (GtkPrintJob *job, GtkPageRange *ranges, int n_ranges); Sets the page ranges for this job. Parameters job a GtkPrintJob ranges pointer to an array of GtkPageRange structs. [array length=n_ranges][transfer full] n_ranges the length of the ranges array gtk_print_job_get_page_set () gtk_print_job_get_page_set GtkPageSet gtk_print_job_get_page_set (GtkPrintJob *job); Gets the GtkPageSet setting for this job. Parameters job a GtkPrintJob Returns the GtkPageSet setting gtk_print_job_set_page_set () gtk_print_job_set_page_set void gtk_print_job_set_page_set (GtkPrintJob *job, GtkPageSet page_set); Sets the GtkPageSet setting for this job. Parameters job a GtkPrintJob page_set a GtkPageSet setting gtk_print_job_get_num_copies () gtk_print_job_get_num_copies int gtk_print_job_get_num_copies (GtkPrintJob *job); Gets the number of copies of this job. Parameters job a GtkPrintJob Returns the number of copies gtk_print_job_set_num_copies () gtk_print_job_set_num_copies void gtk_print_job_set_num_copies (GtkPrintJob *job, int num_copies); Sets the number of copies for this job. Parameters job a GtkPrintJob num_copies the number of copies gtk_print_job_get_scale () gtk_print_job_get_scale double gtk_print_job_get_scale (GtkPrintJob *job); Gets the scale for this job (where 1.0 means unscaled). Parameters job a GtkPrintJob Returns the scale gtk_print_job_set_scale () gtk_print_job_set_scale void gtk_print_job_set_scale (GtkPrintJob *job, double scale); Sets the scale for this job (where 1.0 means unscaled). Parameters job a GtkPrintJob scale the scale gtk_print_job_get_n_up () gtk_print_job_get_n_up guint gtk_print_job_get_n_up (GtkPrintJob *job); Gets the n-up setting for this job. Parameters job a GtkPrintJob Returns the n-up setting gtk_print_job_set_n_up () gtk_print_job_set_n_up void gtk_print_job_set_n_up (GtkPrintJob *job, guint n_up); Sets the n-up setting for this job. Parameters job a GtkPrintJob n_up the n-up value gtk_print_job_get_n_up_layout () gtk_print_job_get_n_up_layout GtkNumberUpLayout gtk_print_job_get_n_up_layout (GtkPrintJob *job); Gets the n-up layout setting for this job. Parameters job a GtkPrintJob Returns the n-up layout gtk_print_job_set_n_up_layout () gtk_print_job_set_n_up_layout void gtk_print_job_set_n_up_layout (GtkPrintJob *job, GtkNumberUpLayout layout); Sets the n-up layout setting for this job. Parameters job a GtkPrintJob layout the n-up layout setting gtk_print_job_get_rotate () gtk_print_job_get_rotate gboolean gtk_print_job_get_rotate (GtkPrintJob *job); Gets whether the job is printed rotated. Parameters job a GtkPrintJob Returns whether the job is printed rotated gtk_print_job_set_rotate () gtk_print_job_set_rotate void gtk_print_job_set_rotate (GtkPrintJob *job, gboolean rotate); Sets whether this job is printed rotated. Parameters job a GtkPrintJob rotate whether to print rotated gtk_print_job_get_collate () gtk_print_job_get_collate gboolean gtk_print_job_get_collate (GtkPrintJob *job); Gets whether this job is printed collated. Parameters job a GtkPrintJob Returns whether the job is printed collated gtk_print_job_set_collate () gtk_print_job_set_collate void gtk_print_job_set_collate (GtkPrintJob *job, gboolean collate); Sets whether this job is printed collated. Parameters job a GtkPrintJob collate whether the job is printed collated gtk_print_job_get_reverse () gtk_print_job_get_reverse gboolean gtk_print_job_get_reverse (GtkPrintJob *job); Gets whether this job is printed reversed. Parameters job a GtkPrintJob Returns whether the job is printed reversed. gtk_print_job_set_reverse () gtk_print_job_set_reverse void gtk_print_job_set_reverse (GtkPrintJob *job, gboolean reverse); Sets whether this job is printed reversed. Parameters job a GtkPrintJob reverse whether the job is printed reversed Types and Values GtkPrintJob GtkPrintJob typedef struct _GtkPrintJob GtkPrintJob; Property Details The <literal>“page-setup”</literal> property GtkPrintJob:page-setup “page-setup” GtkPageSetup * Page Setup.Owner: GtkPrintJob Flags: Read / Write / Construct Only The <literal>“printer”</literal> property GtkPrintJob:printer “printer” GtkPrinter * Printer to print the job to.Owner: GtkPrintJob Flags: Read / Write / Construct Only The <literal>“settings”</literal> property GtkPrintJob:settings “settings” GtkPrintSettings * Printer settings.Owner: GtkPrintJob Flags: Read / Write / Construct Only The <literal>“title”</literal> property GtkPrintJob:title “title” gchar * Title of the print job.Owner: GtkPrintJob Flags: Read / Write / Construct Only Default value: NULL The <literal>“track-print-status”</literal> property GtkPrintJob:track-print-status “track-print-status” gboolean TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server.Owner: GtkPrintJob Flags: Read / Write Default value: FALSE Signal Details The <literal>“status-changed”</literal> signal GtkPrintJob::status-changed void user_function (GtkPrintJob *job, gpointer user_data) Gets emitted when the status of a job changes. The signal handler can use gtk_print_job_get_status() to obtain the new status. Parameters job the GtkPrintJob object on which the signal was emitted user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkpagesetupunixdialog.xml0000664000175000017500000003362413710700314022476 0ustar mclasenmclasen ]> GtkPageSetupUnixDialog 3 GTK4 Library GtkPageSetupUnixDialog A page setup dialog Functions GtkWidget * gtk_page_setup_unix_dialog_new () void gtk_page_setup_unix_dialog_set_page_setup () GtkPageSetup * gtk_page_setup_unix_dialog_get_page_setup () void gtk_page_setup_unix_dialog_set_print_settings () GtkPrintSettings * gtk_page_setup_unix_dialog_get_print_settings () Types and Values GtkPageSetupUnixDialog Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkPageSetupUnixDialog Implemented Interfaces GtkPageSetupUnixDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtkunixprint.h> Description GtkPageSetupUnixDialog implements a page setup dialog for platforms which don’t provide a native page setup dialog, like Unix. It can be used very much like any other GTK dialog, at the cost of the portability offered by the high-level printing API Functions gtk_page_setup_unix_dialog_new () gtk_page_setup_unix_dialog_new GtkWidget * gtk_page_setup_unix_dialog_new (const char *title, GtkWindow *parent); Creates a new page setup dialog. Parameters title the title of the dialog, or NULL. [allow-none] parent transient parent of the dialog, or NULL. [allow-none] Returns the new GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_set_page_setup () gtk_page_setup_unix_dialog_set_page_setup void gtk_page_setup_unix_dialog_set_page_setup (GtkPageSetupUnixDialog *dialog, GtkPageSetup *page_setup); Sets the GtkPageSetup from which the page setup dialog takes its values. Parameters dialog a GtkPageSetupUnixDialog page_setup a GtkPageSetup gtk_page_setup_unix_dialog_get_page_setup () gtk_page_setup_unix_dialog_get_page_setup GtkPageSetup * gtk_page_setup_unix_dialog_get_page_setup (GtkPageSetupUnixDialog *dialog); Gets the currently selected page setup from the dialog. Parameters dialog a GtkPageSetupUnixDialog Returns the current page setup. [transfer none] gtk_page_setup_unix_dialog_set_print_settings () gtk_page_setup_unix_dialog_set_print_settings void gtk_page_setup_unix_dialog_set_print_settings (GtkPageSetupUnixDialog *dialog, GtkPrintSettings *print_settings); Sets the GtkPrintSettings from which the page setup dialog takes its values. Parameters dialog a GtkPageSetupUnixDialog print_settings a GtkPrintSettings gtk_page_setup_unix_dialog_get_print_settings () gtk_page_setup_unix_dialog_get_print_settings GtkPrintSettings * gtk_page_setup_unix_dialog_get_print_settings (GtkPageSetupUnixDialog *dialog); Gets the current print settings from the dialog. Parameters dialog a GtkPageSetupUnixDialog Returns the current print settings. [transfer none] Types and Values GtkPageSetupUnixDialog GtkPageSetupUnixDialog typedef struct _GtkPageSetupUnixDialog GtkPageSetupUnixDialog; docs/reference/gtk/xml/gtktesting.xml0000664000175000017500000002102013710700314020055 0ustar mclasenmclasen ]> Testing 3 GTK4 Library Testing Utilities for testing GTK+ applications Functions void gtk_test_init () const GType * gtk_test_list_all_types () void gtk_test_register_all_types () void gtk_test_widget_wait_for_draw () Includes#include <gtk/gtk.h> Description Functions gtk_test_init () gtk_test_init void gtk_test_init (int *argcp, char ***argvp, ...); This function is used to initialize a GTK+ test program. It will in turn call g_test_init() and gtk_init() to properly initialize the testing framework and graphical toolkit. It’ll also set the program’s locale to “C”. This is done to make test program environments as deterministic as possible. Like gtk_init() and g_test_init(), any known arguments will be processed and stripped from argc and argv . Parameters argcp Address of the argc parameter of the main() function. Changed if any arguments were handled. argvp Address of the argv parameter of main(). Any parameters understood by g_test_init() or gtk_init() are stripped before return. [inout][array length=argcp] ... currently unused gtk_test_list_all_types () gtk_test_list_all_types const GType * gtk_test_list_all_types (guint *n_types); Return the type ids that have been registered after calling gtk_test_register_all_types(). Parameters n_types location to store number of types Returns 0-terminated array of type ids. [array length=n_types zero-terminated=1][transfer none] gtk_test_register_all_types () gtk_test_register_all_types void gtk_test_register_all_types (void); Force registration of all core Gtk+ and Gdk object types. This allowes to refer to any of those object types via g_type_from_name() after calling this function. gtk_test_widget_wait_for_draw () gtk_test_widget_wait_for_draw void gtk_test_widget_wait_for_draw (GtkWidget *widget); Enters the main loop and waits for widget to be “drawn”. In this context that means it waits for the frame clock of widget to have run a full styling, layout and drawing cycle. This function is intended to be used for syncing with actions that depend on widget relayouting or on interaction with the display server. Parameters widget the widget to wait for docs/reference/gtk/xml/filesystem.xml0000664000175000017500000006701613710700314020075 0ustar mclasenmclasen ]> Filesystem utilities 3 GTK4 Library Filesystem utilities Functions for working with GIO Functions GMountOperation * gtk_mount_operation_new () gboolean gtk_mount_operation_is_showing () void gtk_mount_operation_set_parent () GtkWindow * gtk_mount_operation_get_parent () void gtk_mount_operation_set_display () GdkDisplay * gtk_mount_operation_get_display () void gtk_show_uri_full () gboolean gtk_show_uri_full_finish () void gtk_show_uri () Properties GdkDisplay *displayRead / Write gbooleanis-showingRead GtkWindow *parentRead / Write Types and Values structGtkMountOperation structGtkMountOperationClass Object Hierarchy GObject ╰── GMountOperation ╰── GtkMountOperation Includes#include <gtk/gtk.h> Description The functions and objects described here make working with GTK+ and GIO more convenient. GtkMountOperation is needed when mounting volumes: It is an implementation of GMountOperation that can be used with GIO functions for mounting volumes such as g_file_mount_enclosing_volume(), g_file_mount_mountable(), g_volume_mount(), g_mount_unmount_with_operation() and others. When necessary, GtkMountOperation shows dialogs to ask for passwords, questions or show processes blocking unmount. gtk_show_uri_on_window() is a convenient way to launch applications for URIs. Another object that is worth mentioning in this context is GdkAppLaunchContext, which provides visual feedback when lauching applications. Functions gtk_mount_operation_new () gtk_mount_operation_new GMountOperation * gtk_mount_operation_new (GtkWindow *parent); Creates a new GtkMountOperation Parameters parent transient parent of the window, or NULL. [allow-none] Returns a new GtkMountOperation gtk_mount_operation_is_showing () gtk_mount_operation_is_showing gboolean gtk_mount_operation_is_showing (GtkMountOperation *op); Returns whether the GtkMountOperation is currently displaying a window. Parameters op a GtkMountOperation Returns TRUE if op is currently displaying a window gtk_mount_operation_set_parent () gtk_mount_operation_set_parent void gtk_mount_operation_set_parent (GtkMountOperation *op, GtkWindow *parent); Sets the transient parent for windows shown by the GtkMountOperation. Parameters op a GtkMountOperation parent transient parent of the window, or NULL. [allow-none] gtk_mount_operation_get_parent () gtk_mount_operation_get_parent GtkWindow * gtk_mount_operation_get_parent (GtkMountOperation *op); Gets the transient parent used by the GtkMountOperation Parameters op a GtkMountOperation Returns the transient parent for windows shown by op . [transfer none] gtk_mount_operation_set_display () gtk_mount_operation_set_display void gtk_mount_operation_set_display (GtkMountOperation *op, GdkDisplay *display); Sets the display to show windows of the GtkMountOperation on. Parameters op a GtkMountOperation display a GdkDisplay gtk_mount_operation_get_display () gtk_mount_operation_get_display GdkDisplay * gtk_mount_operation_get_display (GtkMountOperation *op); Gets the display on which windows of the GtkMountOperation will be shown. Parameters op a GtkMountOperation Returns the display on which windows of op are shown. [transfer none] gtk_show_uri_full () gtk_show_uri_full void gtk_show_uri_full (GtkWindow *parent, const char *uri, guint32 timestamp, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); This function launches the default application for showing a given uri. The uri must be of a form understood by GIO (i.e. you need to install gvfs to get support for uri schemes such as http:// or ftp://, as only local files are handled by GIO itself). Typical examples are file:///home/gnome/pict.jpg http://www.gnome.org mailto:me@gnome.org The callback will be called when the launch is completed. It should call gtk_show_uri_full_finish() to obtain the result. This is the recommended call to be used as it passes information necessary for sandbox helpers to parent their dialogs properly. Parameters parent parent window. [nullable] uri the uri to show timestamp timestamp from the event that triggered this call, or GDK_CURRENT_TIME cancellable a GCancellable to cancel the launch. [nullable] callback a callback to call when the action is complete. [scope async] user_data data to pass to callback . [closure callback] gtk_show_uri_full_finish () gtk_show_uri_full_finish gboolean gtk_show_uri_full_finish (GtkWindow *parent, GAsyncResult *result, GError **error); Finished the gtk_show_uri() call and returns the result of the operation. Parameters parent the GtkWindow passed to gtk_show_uri() result GAsyncResult that was passed to callback error return location for an error Returns TRUE if the URI was shown successfully. Otherwise, FALSE is returned and error is set gtk_show_uri () gtk_show_uri void gtk_show_uri (GtkWindow *parent, const char *uri, guint32 timestamp); This function launches the default application for showing a given uri, or shows an error dialog if that fails. The uri must be of a form understood by GIO (i.e. you need to install gvfs to get support for uri schemes such as http:// or ftp://, as only local files are handled by GIO itself). Typical examples are file:///home/gnome/pict.jpg http://www.gnome.org mailto:me@gnome.org Parameters parent parent window. [allow-none] uri the uri to show timestamp timestamp from the event that triggered this call, or GDK_CURRENT_TIME Types and Values struct GtkMountOperation GtkMountOperation struct GtkMountOperation; This should not be accessed directly. Use the accessor functions below. struct GtkMountOperationClass GtkMountOperationClass struct GtkMountOperationClass { GMountOperationClass parent_class; }; Members Property Details The <literal>“display”</literal> property GtkMountOperation:display “display” GdkDisplay * The display where this window will be displayed.Owner: GtkMountOperation Flags: Read / Write The <literal>“is-showing”</literal> property GtkMountOperation:is-showing “is-showing” gboolean Are we showing a dialog.Owner: GtkMountOperation Flags: Read Default value: FALSE The <literal>“parent”</literal> property GtkMountOperation:parent “parent” GtkWindow * The parent window.Owner: GtkMountOperation Flags: Read / Write docs/reference/gtk/xml/gtkorientable.xml0000664000175000017500000002216413710700314020536 0ustar mclasenmclasen ]> GtkOrientable 3 GTK4 Library GtkOrientable An interface for flippable widgets Functions GtkOrientation gtk_orientable_get_orientation () void gtk_orientable_set_orientation () Properties GtkOrientationorientationRead / Write Types and Values GtkOrientable Object Hierarchy GInterface ╰── GtkOrientable Prerequisites GtkOrientable requires GObject. Known Implementations GtkOrientable is implemented by GtkBox, GtkBoxLayout, GtkCellAreaBox, GtkCellRendererProgress, GtkCellView, GtkFlowBox, GtkGrid, GtkGridView, GtkLevelBar, GtkListView, GtkPaned, GtkProgressBar, GtkRange, GtkScale, GtkScaleButton, GtkScrollbar, GtkSeparator, GtkShortcutsGroup, GtkShortcutsSection, GtkSpinButton and GtkVolumeButton. Includes#include <gtk/gtk.h> Description The GtkOrientable interface is implemented by all widgets that can be oriented horizontally or vertically. GtkOrientable is more flexible in that it allows the orientation to be changed at runtime, allowing the widgets to “flip”. GtkOrientable was introduced in GTK+ 2.16. Functions gtk_orientable_get_orientation () gtk_orientable_get_orientation GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable); Retrieves the orientation of the orientable . Parameters orientable a GtkOrientable Returns the orientation of the orientable . gtk_orientable_set_orientation () gtk_orientable_set_orientation void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation); Sets the orientation of the orientable . Parameters orientable a GtkOrientable orientation the orientable’s new orientation. Types and Values GtkOrientable GtkOrientable typedef struct _GtkOrientable GtkOrientable; Property Details The <literal>“orientation”</literal> property GtkOrientable:orientation “orientation” GtkOrientation The orientation of the orientable. Owner: GtkOrientable Flags: Read / Write Default value: GTK_ORIENTATION_HORIZONTAL docs/reference/gtk/xml/gtkapplication.xml0000664000175000017500000017212213710700314020715 0ustar mclasenmclasen ]> GtkApplication 3 GTK4 Library GtkApplication Application class Functions GtkApplication * gtk_application_new () void gtk_application_add_window () void gtk_application_remove_window () GList * gtk_application_get_windows () GtkWindow * gtk_application_get_window_by_id () GtkWindow * gtk_application_get_active_window () guint gtk_application_inhibit () void gtk_application_uninhibit () GMenuModel * gtk_application_get_menubar () void gtk_application_set_menubar () GMenu * gtk_application_get_menu_by_id () char ** gtk_application_list_action_descriptions () char ** gtk_application_get_accels_for_action () void gtk_application_set_accels_for_action () char ** gtk_application_get_actions_for_accel () Properties GtkWindow *active-windowRead GMenuModel *menubarRead / Write gbooleanregister-sessionRead / Write gbooleanscreensaver-activeRead Signals voidquery-endRun First voidwindow-addedRun First voidwindow-removedRun First Types and Values structGtkApplication structGtkApplicationClass enumGtkApplicationInhibitFlags Object Hierarchy GObject ╰── GApplication ╰── GtkApplication Implemented Interfaces GtkApplication implements GActionGroup and GActionMap. Includes#include <gtk/gtk.h> Description GtkApplication is a class that handles many important aspects of a GTK+ application in a convenient fashion, without enforcing a one-size-fits-all application model. Currently, GtkApplication handles GTK initialization, application uniqueness, session management, provides some basic scriptability and desktop shell integration by exporting actions and menus and manages a list of toplevel windows whose life-cycle is automatically tied to the life-cycle of your application. While GtkApplication works fine with plain GtkWindows, it is recommended to use it together with GtkApplicationWindow. When GDK threads are enabled, GtkApplication will acquire the GDK lock when invoking actions that arrive from other processes. The GDK lock is not touched for local action invocations. In order to have actions invoked in a predictable context it is therefore recommended that the GDK lock be held while invoking actions locally with g_action_group_activate_action(). The same applies to actions associated with GtkApplicationWindow and to the “activate” and “open” GApplication methods. Automatic resourcesGtkApplication will automatically load menus from the GtkBuilder resource located at "gtk/menus.ui", relative to the application's resource base path (see g_application_set_resource_base_path()). The menu with the ID "menubar" is taken as the application's menubar. Additional menus (most interesting submenus) can be named and accessed via gtk_application_get_menu_by_id() which allows for dynamic population of a part of the menu structure. It is also possible to provide the menubar manually using gtk_application_set_menubar(). GtkApplication will also automatically setup an icon search path for the default icon theme by appending "icons" to the resource base path. This allows your application to easily store its icons as resources. See gtk_icon_theme_add_resource_path() for more information. If there is a resource located at "gtk/help-overlay.ui" which defines a GtkShortcutsWindow with ID "help_overlay" then GtkApplication associates an instance of this shortcuts window with each GtkApplicationWindow and sets up the keyboard accelerator Control-? to open it. To create a menu item that displays the shortcuts window, associate the item with the action win.show-help-overlay. A simple applicationA simple example GtkApplication optionally registers with a session manager of the users session (if you set the “register-session” property) and offers various functionality related to the session life-cycle. An application can block various ways to end the session with the gtk_application_inhibit() function. Typical use cases for this kind of inhibiting are long-running, uninterruptible operations, such as burning a CD or performing a disk backup. The session manager may not honor the inhibitor, but it can be expected to inform the user about the negative consequences of ending the session while inhibitors are present. See AlsoHowDoI: Using GtkApplication, Getting Started with GTK: Basics Functions gtk_application_new () gtk_application_new GtkApplication * gtk_application_new (const char *application_id, GApplicationFlags flags); Creates a new GtkApplication instance. When using GtkApplication, it is not necessary to call gtk_init() manually. It is called as soon as the application gets registered as the primary instance. Concretely, gtk_init() is called in the default handler for the “startup” signal. Therefore, GtkApplication subclasses should chain up in their “startup” handler before using any GTK+ API. Note that commandline arguments are not passed to gtk_init(). All GTK+ functionality that is available via commandline arguments can also be achieved by setting suitable environment variables such as G_DEBUG, so this should not be a big problem. If you absolutely must support GTK+ commandline arguments, you can explicitly call gtk_init() before creating the application instance. If non-NULL, the application ID must be valid. See g_application_id_is_valid(). If no application ID is given then some features (most notably application uniqueness) will be disabled. Parameters application_id The application ID. [allow-none] flags the application flags Returns a new GtkApplication instance gtk_application_add_window () gtk_application_add_window void gtk_application_add_window (GtkApplication *application, GtkWindow *window); Adds a window to application . This call can only happen after the application has started; typically, you should add new application windows in response to the emission of the “activate” signal. This call is equivalent to setting the “application” property of window to application . Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it with gtk_application_remove_window(). GTK+ will keep the application running as long as it has any windows. Parameters application a GtkApplication window a GtkWindow gtk_application_remove_window () gtk_application_remove_window void gtk_application_remove_window (GtkApplication *application, GtkWindow *window); Remove a window from application . If window belongs to application then this call is equivalent to setting the “application” property of window to NULL. The application may stop running as a result of a call to this function. Parameters application a GtkApplication window a GtkWindow gtk_application_get_windows () gtk_application_get_windows GList * gtk_application_get_windows (GtkApplication *application); Gets a list of the GtkWindows associated with application . The list is sorted by most recently focused window, such that the first element is the currently focused window. (Useful for choosing a parent for a transient window.) The list that is returned should not be modified in any way. It will only remain valid until the next focus change or window creation or deletion. Parameters application a GtkApplication Returns a GList of GtkWindow. [element-type GtkWindow][transfer none] gtk_application_get_window_by_id () gtk_application_get_window_by_id GtkWindow * gtk_application_get_window_by_id (GtkApplication *application, guint id); Returns the GtkApplicationWindow with the given ID. The ID of a GtkApplicationWindow can be retrieved with gtk_application_window_get_id(). Parameters application a GtkApplication id an identifier number Returns the window with ID id , or NULL if there is no window with this ID. [nullable][transfer none] gtk_application_get_active_window () gtk_application_get_active_window GtkWindow * gtk_application_get_active_window (GtkApplication *application); Gets the “active” window for the application. The active window is the one that was most recently focused (within the application). This window may not have the focus at the moment if another application has it — this is just the most recently-focused window within this application. Parameters application a GtkApplication Returns the active window, or NULL if there isn't one. [transfer none][nullable] gtk_application_inhibit () gtk_application_inhibit guint gtk_application_inhibit (GtkApplication *application, GtkWindow *window, GtkApplicationInhibitFlags flags, const char *reason); Inform the session manager that certain types of actions should be inhibited. This is not guaranteed to work on all platforms and for all types of actions. Applications should invoke this method when they begin an operation that should not be interrupted, such as creating a CD or DVD. The types of actions that may be blocked are specified by the flags parameter. When the application completes the operation it should call gtk_application_uninhibit() to remove the inhibitor. Note that an application can have multiple inhibitors, and all of them must be individually removed. Inhibitors are also cleared when the application exits. Applications should not expect that they will always be able to block the action. In most cases, users will be given the option to force the action to take place. Reasons should be short and to the point. If window is given, the session manager may point the user to this window to find out more about why the action is inhibited. Parameters application the GtkApplication window a GtkWindow, or NULL. [allow-none] flags what types of actions should be inhibited reason a short, human-readable string that explains why these operations are inhibited. [allow-none] Returns A non-zero cookie that is used to uniquely identify this request. It should be used as an argument to gtk_application_uninhibit() in order to remove the request. If the platform does not support inhibiting or the request failed for some reason, 0 is returned. gtk_application_uninhibit () gtk_application_uninhibit void gtk_application_uninhibit (GtkApplication *application, guint cookie); Removes an inhibitor that has been established with gtk_application_inhibit(). Inhibitors are also cleared when the application exits. Parameters application the GtkApplication cookie a cookie that was returned by gtk_application_inhibit() gtk_application_get_menubar () gtk_application_get_menubar GMenuModel * gtk_application_get_menubar (GtkApplication *application); Returns the menu model that has been set with gtk_application_set_menubar(). Parameters application a GtkApplication Returns the menubar for windows of application . [transfer none] gtk_application_set_menubar () gtk_application_set_menubar void gtk_application_set_menubar (GtkApplication *application, GMenuModel *menubar); Sets or unsets the menubar for windows of application . This is a menubar in the traditional sense. This can only be done in the primary instance of the application, after it has been registered. “startup” is a good place to call this. Depending on the desktop environment, this may appear at the top of each window, or at the top of the screen. In some environments, if both the application menu and the menubar are set, the application menu will be presented as if it were the first item of the menubar. Other environments treat the two as completely separate — for example, the application menu may be rendered by the desktop shell while the menubar (if set) remains in each individual window. Use the base GActionMap interface to add actions, to respond to the user selecting these menu items. Parameters application a GtkApplication menubar a GMenuModel, or NULL. [allow-none] gtk_application_get_menu_by_id () gtk_application_get_menu_by_id GMenu * gtk_application_get_menu_by_id (GtkApplication *application, const char *id); Gets a menu from automatically loaded resources. See Automatic resources for more information. Parameters application a GtkApplication id the id of the menu to look up Returns Gets the menu with the given id from the automatically loaded resources. [transfer none] gtk_application_list_action_descriptions () gtk_application_list_action_descriptions char ** gtk_application_list_action_descriptions (GtkApplication *application); Lists the detailed action names which have associated accelerators. See gtk_application_set_accels_for_action(). Parameters application a GtkApplication Returns a NULL-terminated array of strings, free with g_strfreev() when done. [transfer full] gtk_application_get_accels_for_action () gtk_application_get_accels_for_action char ** gtk_application_get_accels_for_action (GtkApplication *application, const char *detailed_action_name); Gets the accelerators that are currently associated with the given action. Parameters application a GtkApplication detailed_action_name a detailed action name, specifying an action and target to obtain accelerators for Returns accelerators for detailed_action_name , as a NULL-terminated array. Free with g_strfreev() when no longer needed. [transfer full] gtk_application_set_accels_for_action () gtk_application_set_accels_for_action void gtk_application_set_accels_for_action (GtkApplication *application, const char *detailed_action_name, const char * const *accels); Sets zero or more keyboard accelerators that will trigger the given action. The first item in accels will be the primary accelerator, which may be displayed in the UI. To remove all accelerators for an action, use an empty, zero-terminated array for accels . For the detailed_action_name , see g_action_parse_detailed_name() and g_action_print_detailed_name(). Parameters application a GtkApplication detailed_action_name a detailed action name, specifying an action and target to associate accelerators with accels a list of accelerators in the format understood by gtk_accelerator_parse(). [array zero-terminated=1] gtk_application_get_actions_for_accel () gtk_application_get_actions_for_accel char ** gtk_application_get_actions_for_accel (GtkApplication *application, const char *accel); Returns the list of actions (possibly empty) that accel maps to. Each item in the list is a detailed action name in the usual form. This might be useful to discover if an accel already exists in order to prevent installation of a conflicting accelerator (from an accelerator editor or a plugin system, for example). Note that having more than one action per accelerator may not be a bad thing and might make sense in cases where the actions never appear in the same context. In case there are no actions for a given accelerator, an empty array is returned. NULL is never returned. It is a programmer error to pass an invalid accelerator string. If you are unsure, check it with gtk_accelerator_parse() first. Parameters application a GtkApplication accel an accelerator that can be parsed by gtk_accelerator_parse() Returns a NULL-terminated array of actions for accel . [transfer full] Types and Values struct GtkApplication GtkApplication struct GtkApplication; struct GtkApplicationClass GtkApplicationClass struct GtkApplicationClass { GApplicationClass parent_class; void (*window_added) (GtkApplication *application, GtkWindow *window); void (*window_removed) (GtkApplication *application, GtkWindow *window); }; Members window_added () Signal emitted when a GtkWindow is added to application through gtk_application_add_window(). window_removed () Signal emitted when a GtkWindow is removed from application, either as a side-effect of being destroyed or explicitly through gtk_application_remove_window(). enum GtkApplicationInhibitFlags GtkApplicationInhibitFlags Types of user actions that may be blocked by gtk_application_inhibit(). Members GTK_APPLICATION_INHIBIT_LOGOUT Inhibit ending the user session by logging out or by shutting down the computer GTK_APPLICATION_INHIBIT_SWITCH Inhibit user switching GTK_APPLICATION_INHIBIT_SUSPEND Inhibit suspending the session or computer GTK_APPLICATION_INHIBIT_IDLE Inhibit the session being marked as idle (and possibly locked) Property Details The <literal>“active-window”</literal> property GtkApplication:active-window “active-window” GtkWindow * The window which most recently had focus.Owner: GtkApplication Flags: Read The <literal>“menubar”</literal> property GtkApplication:menubar “menubar” GMenuModel * The GMenuModel for the menubar.Owner: GtkApplication Flags: Read / Write The <literal>“register-session”</literal> property GtkApplication:register-session “register-session” gboolean Set this property to TRUE to register with the session manager. This will make GTK+ track the session state (such as the “screensaver-active” property). Owner: GtkApplication Flags: Read / Write Default value: FALSE The <literal>“screensaver-active”</literal> property GtkApplication:screensaver-active “screensaver-active” gboolean This property is TRUE if GTK+ believes that the screensaver is currently active. GTK+ only tracks session state (including this) when “register-session” is set to TRUE. Tracking the screensaver state is supported on Linux. Owner: GtkApplication Flags: Read Default value: FALSE Signal Details The <literal>“query-end”</literal> signal GtkApplication::query-end void user_function (GtkApplication *application, gpointer user_data) Emitted when the session manager is about to end the session, only if “register-session” is TRUE. Applications can connect to this signal and call gtk_application_inhibit() with GTK_APPLICATION_INHIBIT_LOGOUT to delay the end of the session until state has been saved. Parameters application the GtkApplication which emitted the signal user_data user data set when the signal handler was connected. Flags: Run First The <literal>“window-added”</literal> signal GtkApplication::window-added void user_function (GtkApplication *application, GtkWindow *window, gpointer user_data) Emitted when a GtkWindow is added to application through gtk_application_add_window(). Parameters application the GtkApplication which emitted the signal window the newly-added GtkWindow user_data user data set when the signal handler was connected. Flags: Run First The <literal>“window-removed”</literal> signal GtkApplication::window-removed void user_function (GtkApplication *application, GtkWindow *window, gpointer user_data) Emitted when a GtkWindow is removed from application , either as a side-effect of being destroyed or explicitly through gtk_application_remove_window(). Parameters application the GtkApplication which emitted the signal window the GtkWindow that is being removed user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtkapplicationwindow.xml0000664000175000017500000005263513710700314022153 0ustar mclasenmclasen ]> GtkApplicationWindow 3 GTK4 Library GtkApplicationWindow GtkWindow subclass with GtkApplication support Functions GtkWidget * gtk_application_window_new () void gtk_application_window_set_show_menubar () gboolean gtk_application_window_get_show_menubar () guint gtk_application_window_get_id () void gtk_application_window_set_help_overlay () GtkShortcutsWindow * gtk_application_window_get_help_overlay () Properties gbooleanshow-menubarRead / Write / Construct Types and Values structGtkApplicationWindow structGtkApplicationWindowClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkApplicationWindow Implemented Interfaces GtkApplicationWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot, GActionGroup and GActionMap. Includes#include <gtk/gtk.h> Description GtkApplicationWindow is a GtkWindow subclass that offers some extra functionality for better integration with GtkApplication features. Notably, it can handle an application menubar. See gtk_application_set_menubar(). This class implements the GActionGroup and GActionMap interfaces, to let you add window-specific actions that will be exported by the associated GtkApplication, together with its application-wide actions. Window-specific actions are prefixed with the “win.” prefix and application-wide actions are prefixed with the “app.” prefix. Actions must be addressed with the prefixed name when referring to them from a GMenuModel. Note that widgets that are placed inside a GtkApplicationWindow can also activate these actions, if they implement the GtkActionable interface. As with GtkApplication, the GDK lock will be acquired when processing actions arriving from other processes and should therefore be held when activating actions locally (if GDK threads are enabled). The settings “gtk-shell-shows-app-menu” and “gtk-shell-shows-menubar” tell GTK+ whether the desktop environment is showing the application menu and menubar models outside the application as part of the desktop shell. For instance, on OS X, both menus will be displayed remotely; on Windows neither will be. gnome-shell (starting with version 3.4) will display the application menu, but not the menubar. If the desktop environment does not display the menubar, then GtkApplicationWindow will automatically show a menubar for it. This behaviour can be overridden with the “show-menubar” property. If the desktop environment does not display the application menu, then it will automatically be included in the menubar or in the windows client-side decorations. See GtkPopoverMenu for information about the XML language used by GtkBuilder for menu models. A GtkApplicationWindow with a menubar" " " " " " " " " " " " " "", -1); GMenuModel *menubar = G_MENU_MODEL (gtk_builder_get_object (builder, "menubar")); gtk_application_set_menubar (GTK_APPLICATION (app), menubar); g_object_unref (builder); // ... GtkWidget *window = gtk_application_window_new (app); ]]> Functions gtk_application_window_new () gtk_application_window_new GtkWidget * gtk_application_window_new (GtkApplication *application); Creates a new GtkApplicationWindow. Parameters application a GtkApplication Returns a newly created GtkApplicationWindow gtk_application_window_set_show_menubar () gtk_application_window_set_show_menubar void gtk_application_window_set_show_menubar (GtkApplicationWindow *window, gboolean show_menubar); Sets whether the window will display a menubar for the app menu and menubar as needed. Parameters window a GtkApplicationWindow show_menubar whether to show a menubar when needed gtk_application_window_get_show_menubar () gtk_application_window_get_show_menubar gboolean gtk_application_window_get_show_menubar (GtkApplicationWindow *window); Returns whether the window will display a menubar for the app menu and menubar as needed. Parameters window a GtkApplicationWindow Returns TRUE if window will display a menubar when needed gtk_application_window_get_id () gtk_application_window_get_id guint gtk_application_window_get_id (GtkApplicationWindow *window); Returns the unique ID of the window. If the window has not yet been added to a GtkApplication, returns 0. Parameters window a GtkApplicationWindow Returns the unique ID for window , or 0 if the window has not yet been added to a GtkApplication gtk_application_window_set_help_overlay () gtk_application_window_set_help_overlay void gtk_application_window_set_help_overlay (GtkApplicationWindow *window, GtkShortcutsWindow *help_overlay); Associates a shortcuts window with the application window, and sets up an action with the name win.show-help-overlay to present it. window takes resposibility for destroying help_overlay . Parameters window a GtkApplicationWindow help_overlay a GtkShortcutsWindow. [nullable] gtk_application_window_get_help_overlay () gtk_application_window_get_help_overlay GtkShortcutsWindow * gtk_application_window_get_help_overlay (GtkApplicationWindow *window); Gets the GtkShortcutsWindow that has been set up with a prior call to gtk_application_window_set_help_overlay(). Parameters window a GtkApplicationWindow Returns the help overlay associated with window , or NULL. [transfer none][nullable] Types and Values struct GtkApplicationWindow GtkApplicationWindow struct GtkApplicationWindow; struct GtkApplicationWindowClass GtkApplicationWindowClass struct GtkApplicationWindowClass { GtkWindowClass parent_class; }; Members Property Details The <literal>“show-menubar”</literal> property GtkApplicationWindow:show-menubar “show-menubar” gboolean If this property is TRUE, the window will display a menubar unless it is shown by the desktop shell. See gtk_application_set_menubar(). If FALSE, the window will not display a menubar, regardless of whether the desktop shell is showing it or not. Owner: GtkApplicationWindow Flags: Read / Write / Construct Default value: FALSE docs/reference/gtk/xml/gtkactionable.xml0000664000175000017500000006017713710700314020521 0ustar mclasenmclasen ]> GtkActionable 3 GTK4 Library GtkActionable An interface for widgets that can be associated with actions Functions const char * gtk_actionable_get_action_name () void gtk_actionable_set_action_name () GVariant * gtk_actionable_get_action_target_value () void gtk_actionable_set_action_target_value () void gtk_actionable_set_action_target () void gtk_actionable_set_detailed_action_name () Properties gchar *action-nameRead / Write GVariant *action-targetRead / Write Types and Values GtkActionable structGtkActionableInterface Object Hierarchy GInterface ╰── GtkActionable Prerequisites GtkActionable requires GtkWidget. Known Implementations GtkActionable is implemented by GtkButton, GtkCheckButton, GtkLinkButton, GtkListBoxRow, GtkLockButton, GtkRadioButton, GtkSwitch and GtkToggleButton. Includes#include <gtk/gtk.h> Description This interface provides a convenient way of associating widgets with actions on a GtkApplicationWindow or GtkApplication. It primarily consists of two properties: “action-name” and “action-target”. There are also some convenience APIs for setting these properties. The action will be looked up in action groups that are found among the widgets ancestors. Most commonly, these will be the actions with the “win.” or “app.” prefix that are associated with the GtkApplicationWindow or GtkApplication, but other action groups that are added with gtk_widget_insert_action_group() will be consulted as well. Functions gtk_actionable_get_action_name () gtk_actionable_get_action_name const char * gtk_actionable_get_action_name (GtkActionable *actionable); Gets the action name for actionable . See gtk_actionable_set_action_name() for more information. Parameters actionable a GtkActionable widget Returns the action name, or NULL if none is set. [nullable] gtk_actionable_set_action_name () gtk_actionable_set_action_name void gtk_actionable_set_action_name (GtkActionable *actionable, const char *action_name); Specifies the name of the action with which this widget should be associated. If action_name is NULL then the widget will be unassociated from any previous action. Usually this function is used when the widget is located (or will be located) within the hierarchy of a GtkApplicationWindow. Names are of the form “win.save” or “app.quit” for actions on the containing GtkApplicationWindow or its associated GtkApplication, respectively. This is the same form used for actions in the GMenu associated with the window. Parameters actionable a GtkActionable widget action_name an action name, or NULL. [nullable] gtk_actionable_get_action_target_value () gtk_actionable_get_action_target_value GVariant * gtk_actionable_get_action_target_value (GtkActionable *actionable); Gets the current target value of actionable . See gtk_actionable_set_action_target_value() for more information. Parameters actionable a GtkActionable widget Returns the current target value. [transfer none] gtk_actionable_set_action_target_value () gtk_actionable_set_action_target_value void gtk_actionable_set_action_target_value (GtkActionable *actionable, GVariant *target_value); Sets the target value of an actionable widget. If target_value is NULL then the target value is unset. The target value has two purposes. First, it is used as the parameter to activation of the action associated with the GtkActionable widget. Second, it is used to determine if the widget should be rendered as “active” — the widget is active if the state is equal to the given target. Consider the example of associating a set of buttons with a GAction with string state in a typical “radio button” situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate the action with the target of that button, which will typically cause the action’s state to change to that value. Since the action’s state is now equal to the target value of the button, the button will now be rendered as active (and the other buttons, with different targets, rendered inactive). Parameters actionable a GtkActionable widget target_value a GVariant to set as the target value, or NULL. [nullable] gtk_actionable_set_action_target () gtk_actionable_set_action_target void gtk_actionable_set_action_target (GtkActionable *actionable, const char *format_string, ...); Sets the target of an actionable widget. This is a convenience function that calls g_variant_new() for format_string and uses the result to call gtk_actionable_set_action_target_value(). If you are setting a string-valued target and want to set the action name at the same time, you can use gtk_actionable_set_detailed_action_name(). Parameters actionable a GtkActionable widget format_string a GVariant format string ... arguments appropriate for format_string gtk_actionable_set_detailed_action_name () gtk_actionable_set_detailed_action_name void gtk_actionable_set_detailed_action_name (GtkActionable *actionable, const char *detailed_action_name); Sets the action-name and associated string target value of an actionable widget. detailed_action_name is a string in the format accepted by g_action_parse_detailed_name(). (Note that prior to version 3.22.25, this function is only usable for actions with a simple "s" target, and detailed_action_name must be of the form "action::target" where action is the action name and target is the string to use as the target.) Parameters actionable a GtkActionable widget detailed_action_name the detailed action name Types and Values GtkActionable GtkActionable typedef struct _GtkActionable GtkActionable; An opaque pointer type. struct GtkActionableInterface GtkActionableInterface struct GtkActionableInterface { const char * (* get_action_name) (GtkActionable *actionable); void (* set_action_name) (GtkActionable *actionable, const char *action_name); GVariant * (* get_action_target_value) (GtkActionable *actionable); void (* set_action_target_value) (GtkActionable *actionable, GVariant *target_value); }; The interface vtable for GtkActionable. Members get_action_name () virtual function for gtk_actionable_get_action_name() set_action_name () virtual function for gtk_actionable_set_action_name() get_action_target_value () virtual function for gtk_actionable_get_action_target_value() set_action_target_value () virtual function for gtk_actionable_set_action_target_value() Property Details The <literal>“action-name”</literal> property GtkActionable:action-name “action-name” gchar * The name of the associated action, like “app.quit”.Owner: GtkActionable Flags: Read / Write Default value: NULL The <literal>“action-target”</literal> property GtkActionable:action-target “action-target” GVariant * The parameter for action invocations.Owner: GtkActionable Flags: Read / Write Allowed values: GVariant<*> Default value: NULL docs/reference/gtk/xml/gtkgrid.xml0000664000175000017500000014651013710700314017341 0ustar mclasenmclasen ]> GtkGrid 3 GTK4 Library GtkGrid Pack widgets in rows and columns Functions GtkWidget * gtk_grid_new () void gtk_grid_attach () void gtk_grid_attach_next_to () void gtk_grid_remove () GtkWidget * gtk_grid_get_child_at () void gtk_grid_insert_row () void gtk_grid_insert_column () void gtk_grid_remove_row () void gtk_grid_remove_column () void gtk_grid_insert_next_to () void gtk_grid_set_row_homogeneous () gboolean gtk_grid_get_row_homogeneous () void gtk_grid_set_row_spacing () guint gtk_grid_get_row_spacing () void gtk_grid_set_column_homogeneous () gboolean gtk_grid_get_column_homogeneous () void gtk_grid_set_column_spacing () guint gtk_grid_get_column_spacing () int gtk_grid_get_baseline_row () void gtk_grid_set_baseline_row () GtkBaselinePosition gtk_grid_get_row_baseline_position () void gtk_grid_set_row_baseline_position () Properties gintbaseline-rowRead / Write gbooleancolumn-homogeneousRead / Write gintcolumn-spacingRead / Write gbooleanrow-homogeneousRead / Write gintrow-spacingRead / Write Types and Values structGtkGrid structGtkGridClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkGrid Implemented Interfaces GtkGrid implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description GtkGrid is a container which arranges its child widgets in rows and columns, with arbitrary positions and horizontal/vertical spans. Children are added using gtk_grid_attach(). They can span multiple rows or columns. It is also possible to add a child next to an existing child, using gtk_grid_attach_next_to(). To remove a child from the grid, use gtk_grid_remove(). The behaviour of GtkGrid when several children occupy the same grid cell is undefined. CSS nodesGtkGrid uses a single CSS node with name grid. Functions gtk_grid_new () gtk_grid_new GtkWidget * gtk_grid_new (void); Creates a new grid widget. Returns the new GtkGrid gtk_grid_attach () gtk_grid_attach void gtk_grid_attach (GtkGrid *grid, GtkWidget *child, int left, int top, int width, int height); Adds a widget to the grid. The position of child is determined by left and top . The number of “cells” that child will occupy is determined by width and height . Parameters grid a GtkGrid child the widget to add left the column number to attach the left side of child to top the row number to attach the top side of child to width the number of columns that child will span height the number of rows that child will span gtk_grid_attach_next_to () gtk_grid_attach_next_to void gtk_grid_attach_next_to (GtkGrid *grid, GtkWidget *child, GtkWidget *sibling, GtkPositionType side, int width, int height); Adds a widget to the grid. The widget is placed next to sibling , on the side determined by side . When sibling is NULL, the widget is placed in row (for left or right placement) or column 0 (for top or bottom placement), at the end indicated by side . Attaching widgets labeled [1], [2], [3] with sibling == NULL and side == GTK_POS_LEFT yields a layout of 3[1]. Parameters grid a GtkGrid child the widget to add sibling the child of grid that child will be placed next to, or NULL to place child at the beginning or end. [allow-none] side the side of sibling that child is positioned next to width the number of columns that child will span height the number of rows that child will span gtk_grid_remove () gtk_grid_remove void gtk_grid_remove (GtkGrid *grid, GtkWidget *child); Removes a child from grid , after it has been added with gtk_grid_attach() or gtk_grid_attach_next_to(). Parameters grid a GtkGrid child the child widget to remove gtk_grid_get_child_at () gtk_grid_get_child_at GtkWidget * gtk_grid_get_child_at (GtkGrid *grid, int left, int top); Gets the child of grid whose area covers the grid cell whose upper left corner is at left , top . Parameters grid a GtkGrid left the left edge of the cell top the top edge of the cell Returns the child at the given position, or NULL. [transfer none][nullable] gtk_grid_insert_row () gtk_grid_insert_row void gtk_grid_insert_row (GtkGrid *grid, int position); Inserts a row at the specified position. Children which are attached at or below this position are moved one row down. Children which span across this position are grown to span the new row. Parameters grid a GtkGrid position the position to insert the row at gtk_grid_insert_column () gtk_grid_insert_column void gtk_grid_insert_column (GtkGrid *grid, int position); Inserts a column at the specified position. Children which are attached at or to the right of this position are moved one column to the right. Children which span across this position are grown to span the new column. Parameters grid a GtkGrid position the position to insert the column at gtk_grid_remove_row () gtk_grid_remove_row void gtk_grid_remove_row (GtkGrid *grid, int position); Removes a row from the grid. Children that are placed in this row are removed, spanning children that overlap this row have their height reduced by one, and children below the row are moved up. Parameters grid a GtkGrid position the position of the row to remove gtk_grid_remove_column () gtk_grid_remove_column void gtk_grid_remove_column (GtkGrid *grid, int position); Removes a column from the grid. Children that are placed in this column are removed, spanning children that overlap this column have their width reduced by one, and children after the column are moved to the left. Parameters grid a GtkGrid position the position of the column to remove gtk_grid_insert_next_to () gtk_grid_insert_next_to void gtk_grid_insert_next_to (GtkGrid *grid, GtkWidget *sibling, GtkPositionType side); Inserts a row or column at the specified position. The new row or column is placed next to sibling , on the side determined by side . If side is GTK_POS_TOP or GTK_POS_BOTTOM, a row is inserted. If side is GTK_POS_LEFT of GTK_POS_RIGHT, a column is inserted. Parameters grid a GtkGrid sibling the child of grid that the new row or column will be placed next to side the side of sibling that child is positioned next to gtk_grid_set_row_homogeneous () gtk_grid_set_row_homogeneous void gtk_grid_set_row_homogeneous (GtkGrid *grid, gboolean homogeneous); Sets whether all rows of grid will have the same height. Parameters grid a GtkGrid homogeneous TRUE to make rows homogeneous gtk_grid_get_row_homogeneous () gtk_grid_get_row_homogeneous gboolean gtk_grid_get_row_homogeneous (GtkGrid *grid); Returns whether all rows of grid have the same height. Parameters grid a GtkGrid Returns whether all rows of grid have the same height. gtk_grid_set_row_spacing () gtk_grid_set_row_spacing void gtk_grid_set_row_spacing (GtkGrid *grid, guint spacing); Sets the amount of space between rows of grid . Parameters grid a GtkGrid spacing the amount of space to insert between rows gtk_grid_get_row_spacing () gtk_grid_get_row_spacing guint gtk_grid_get_row_spacing (GtkGrid *grid); Returns the amount of space between the rows of grid . Parameters grid a GtkGrid Returns the row spacing of grid gtk_grid_set_column_homogeneous () gtk_grid_set_column_homogeneous void gtk_grid_set_column_homogeneous (GtkGrid *grid, gboolean homogeneous); Sets whether all columns of grid will have the same width. Parameters grid a GtkGrid homogeneous TRUE to make columns homogeneous gtk_grid_get_column_homogeneous () gtk_grid_get_column_homogeneous gboolean gtk_grid_get_column_homogeneous (GtkGrid *grid); Returns whether all columns of grid have the same width. Parameters grid a GtkGrid Returns whether all columns of grid have the same width. gtk_grid_set_column_spacing () gtk_grid_set_column_spacing void gtk_grid_set_column_spacing (GtkGrid *grid, guint spacing); Sets the amount of space between columns of grid . Parameters grid a GtkGrid spacing the amount of space to insert between columns gtk_grid_get_column_spacing () gtk_grid_get_column_spacing guint gtk_grid_get_column_spacing (GtkGrid *grid); Returns the amount of space between the columns of grid . Parameters grid a GtkGrid Returns the column spacing of grid gtk_grid_get_baseline_row () gtk_grid_get_baseline_row int gtk_grid_get_baseline_row (GtkGrid *grid); Returns which row defines the global baseline of grid . Parameters grid a GtkGrid Returns the row index defining the global baseline gtk_grid_set_baseline_row () gtk_grid_set_baseline_row void gtk_grid_set_baseline_row (GtkGrid *grid, int row); Sets which row defines the global baseline for the entire grid. Each row in the grid can have its own local baseline, but only one of those is global, meaning it will be the baseline in the parent of the grid . Parameters grid a GtkGrid row the row index gtk_grid_get_row_baseline_position () gtk_grid_get_row_baseline_position GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid, int row); Returns the baseline position of row as set by gtk_grid_set_row_baseline_position() or the default value GTK_BASELINE_POSITION_CENTER. Parameters grid a GtkGrid row a row index Returns the baseline position of row gtk_grid_set_row_baseline_position () gtk_grid_set_row_baseline_position void gtk_grid_set_row_baseline_position (GtkGrid *grid, int row, GtkBaselinePosition pos); Sets how the baseline should be positioned on row of the grid, in case that row is assigned more space than is requested. Parameters grid a GtkGrid row a row index pos a GtkBaselinePosition Types and Values struct GtkGrid GtkGrid struct GtkGrid; struct GtkGridClass GtkGridClass struct GtkGridClass { GtkWidgetClass parent_class; }; Members Property Details The <literal>“baseline-row”</literal> property GtkGrid:baseline-row “baseline-row” gint The row to align the to the baseline when valign is GTK_ALIGN_BASELINE.Owner: GtkGrid Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“column-homogeneous”</literal> property GtkGrid:column-homogeneous “column-homogeneous” gboolean If TRUE, the columns are all the same width.Owner: GtkGrid Flags: Read / Write Default value: FALSE The <literal>“column-spacing”</literal> property GtkGrid:column-spacing “column-spacing” gint The amount of space between two consecutive columns.Owner: GtkGrid Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“row-homogeneous”</literal> property GtkGrid:row-homogeneous “row-homogeneous” gboolean If TRUE, the rows are all the same height.Owner: GtkGrid Flags: Read / Write Default value: FALSE The <literal>“row-spacing”</literal> property GtkGrid:row-spacing “row-spacing” gint The amount of space between two consecutive rows.Owner: GtkGrid Flags: Read / Write Allowed values: [0,32767] Default value: 0 See Also GtkBox docs/reference/gtk/xml/gtkswitch.xml0000664000175000017500000004673713710700314017727 0ustar mclasenmclasen ]> GtkSwitch 3 GTK4 Library GtkSwitch A “light switch” style toggle Functions GtkWidget * gtk_switch_new () void gtk_switch_set_active () gboolean gtk_switch_get_active () void gtk_switch_set_state () gboolean gtk_switch_get_state () Properties gbooleanactiveRead / Write gbooleanstateRead / Write Signals voidactivateAction gbooleanstate-setRun Last Types and Values GtkSwitch Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkSwitch Implemented Interfaces GtkSwitch implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description GtkSwitch is a widget that has two states: on or off. The user can control which state should be active by clicking the empty area, or by dragging the handle. GtkSwitch can also handle situations where the underlying state changes with a delay. See “state-set” for details. CSS nodes GtkSwitch has four css nodes, the main node with the name switch and subnodes for the slider and the on and off labels. Neither of them is using any style classes. AccessibilityGtkSwitch uses the GTK_ACCESSIBLE_ROLE_SWITCH role. Functions gtk_switch_new () gtk_switch_new GtkWidget * gtk_switch_new (void); Creates a new GtkSwitch widget. Returns the newly created GtkSwitch instance gtk_switch_set_active () gtk_switch_set_active void gtk_switch_set_active (GtkSwitch *self, gboolean is_active); Changes the state of self to the desired one. Parameters self a GtkSwitch is_active TRUE if self should be active, and FALSE otherwise gtk_switch_get_active () gtk_switch_get_active gboolean gtk_switch_get_active (GtkSwitch *self); Gets whether the GtkSwitch is in its “on” or “off” state. Parameters self a GtkSwitch Returns TRUE if the GtkSwitch is active, and FALSE otherwise gtk_switch_set_state () gtk_switch_set_state void gtk_switch_set_state (GtkSwitch *self, gboolean state); Sets the underlying state of the GtkSwitch. Normally, this is the same as “active”, unless the switch is set up for delayed state changes. This function is typically called from a “state-set” signal handler. See “state-set” for details. Parameters self a GtkSwitch state the new state gtk_switch_get_state () gtk_switch_get_state gboolean gtk_switch_get_state (GtkSwitch *self); Gets the underlying state of the GtkSwitch. Parameters self a GtkSwitch Returns the underlying state Types and Values GtkSwitch GtkSwitch typedef struct _GtkSwitch GtkSwitch; The GtkSwitch contains private data and it should only be accessed using the provided API. Property Details The <literal>“active”</literal> property GtkSwitch:active “active” gboolean Whether the GtkSwitch widget is in its on or off state. Owner: GtkSwitch Flags: Read / Write Default value: FALSE The <literal>“state”</literal> property GtkSwitch:state “state” gboolean The backend state that is controlled by the switch. See “state-set” for details. Owner: GtkSwitch Flags: Read / Write Default value: FALSE Signal Details The <literal>“activate”</literal> signal GtkSwitch::activate void user_function (GtkSwitch *widget, gpointer user_data) The ::activate signal on GtkSwitch is an action signal and emitting it causes the switch to animate. Applications should never connect to this signal, but use the notify::active signal. Parameters widget the object which received the signal. user_data user data set when the signal handler was connected. Flags: Action The <literal>“state-set”</literal> signal GtkSwitch::state-set gboolean user_function (GtkSwitch *widget, gboolean state, gpointer user_data) The ::state-set signal on GtkSwitch is emitted to change the underlying state. It is emitted when the user changes the switch position. The default handler keeps the state in sync with the “active” property. To implement delayed state change, applications can connect to this signal, initiate the change of the underlying state, and call gtk_switch_set_state() when the underlying state change is complete. The signal handler should return TRUE to prevent the default handler from running. Visually, the underlying state is represented by the trough color of the switch, while the “active” property is represented by the position of the switch. Parameters widget the object on which the signal was emitted state the new state of the switch user_data user data set when the signal handler was connected. Returns TRUE to stop the signal emission Flags: Run Last See Also GtkToggleButton docs/reference/gtk/xml/gtkappchooser.xml0000664000175000017500000002604013710700314020552 0ustar mclasenmclasen ]> GtkAppChooser 3 GTK4 Library GtkAppChooser Interface implemented by widgets for choosing an application Functions GAppInfo * gtk_app_chooser_get_app_info () char * gtk_app_chooser_get_content_type () void gtk_app_chooser_refresh () Properties gchar *content-typeRead / Write / Construct Only Types and Values GtkAppChooser Object Hierarchy GInterface ╰── GtkAppChooser Prerequisites GtkAppChooser requires GtkWidget. Known Implementations GtkAppChooser is implemented by GtkAppChooserButton, GtkAppChooserDialog and GtkAppChooserWidget. Includes#include <gtk/gtk.h> Description GtkAppChooser is an interface that can be implemented by widgets which allow the user to choose an application (typically for the purpose of opening a file). The main objects that implement this interface are GtkAppChooserWidget, GtkAppChooserDialog and GtkAppChooserButton. Applications are represented by GIO GAppInfo objects here. GIO has a concept of recommended and fallback applications for a given content type. Recommended applications are those that claim to handle the content type itself, while fallback also includes applications that handle a more generic content type. GIO also knows the default and last-used application for a given content type. The GtkAppChooserWidget provides detailed control over whether the shown list of applications should include default, recommended or fallback applications. To obtain the application that has been selected in a GtkAppChooser, use gtk_app_chooser_get_app_info(). Functions gtk_app_chooser_get_app_info () gtk_app_chooser_get_app_info GAppInfo * gtk_app_chooser_get_app_info (GtkAppChooser *self); Returns the currently selected application. Parameters self a GtkAppChooser Returns a GAppInfo for the currently selected application, or NULL if none is selected. Free with g_object_unref(). [nullable][transfer full] gtk_app_chooser_get_content_type () gtk_app_chooser_get_content_type char * gtk_app_chooser_get_content_type (GtkAppChooser *self); Returns the current value of the “content-type” property. Parameters self a GtkAppChooser Returns the content type of self . Free with g_free() gtk_app_chooser_refresh () gtk_app_chooser_refresh void gtk_app_chooser_refresh (GtkAppChooser *self); Reloads the list of applications. Parameters self a GtkAppChooser Types and Values GtkAppChooser GtkAppChooser typedef struct _GtkAppChooser GtkAppChooser; Property Details The <literal>“content-type”</literal> property GtkAppChooser:content-type “content-type” gchar * The content type of the GtkAppChooser object. See GContentType for more information about content types. Owner: GtkAppChooser Flags: Read / Write / Construct Only Default value: NULL See Also GAppInfo docs/reference/gtk/xml/gtkappchooserbutton.xml0000664000175000017500000011016013710700314022003 0ustar mclasenmclasen ]> GtkAppChooserButton 3 GTK4 Library GtkAppChooserButton A button to launch an application chooser dialog Functions GtkWidget * gtk_app_chooser_button_new () void gtk_app_chooser_button_append_custom_item () void gtk_app_chooser_button_append_separator () void gtk_app_chooser_button_set_active_custom_item () gboolean gtk_app_chooser_button_get_show_default_item () void gtk_app_chooser_button_set_show_default_item () gboolean gtk_app_chooser_button_get_show_dialog_item () void gtk_app_chooser_button_set_show_dialog_item () const char * gtk_app_chooser_button_get_heading () void gtk_app_chooser_button_set_heading () gboolean gtk_app_chooser_button_get_modal () void gtk_app_chooser_button_set_modal () Properties gchar *headingRead / Write gbooleanmodalRead / Write / Construct gbooleanshow-default-itemRead / Write / Construct gbooleanshow-dialog-itemRead / Write / Construct Signals voidchangedRun Last voidcustom-item-activatedHas Details Types and Values GtkAppChooserButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkAppChooserButton Implemented Interfaces GtkAppChooserButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkAppChooser. Includes#include <gtk/gtk.h> Description The GtkAppChooserButton is a widget that lets the user select an application. It implements the GtkAppChooser interface. Initially, a GtkAppChooserButton selects the first application in its list, which will either be the most-recently used application or, if “show-default-item” is TRUE, the default application. The list of applications shown in a GtkAppChooserButton includes the recommended applications for the given content type. When “show-default-item” is set, the default application is also included. To let the user chooser other applications, you can set the “show-dialog-item” property, which allows to open a full GtkAppChooserDialog. It is possible to add custom items to the list, using gtk_app_chooser_button_append_custom_item(). These items cause the “custom-item-activated” signal to be emitted when they are selected. To track changes in the selected application, use the “changed” signal. Functions gtk_app_chooser_button_new () gtk_app_chooser_button_new GtkWidget * gtk_app_chooser_button_new (const char *content_type); Creates a new GtkAppChooserButton for applications that can handle content of the given type. Parameters content_type the content type to show applications for Returns a newly created GtkAppChooserButton gtk_app_chooser_button_append_custom_item () gtk_app_chooser_button_append_custom_item void gtk_app_chooser_button_append_custom_item (GtkAppChooserButton *self, const char *name, const char *label, GIcon *icon); Appends a custom item to the list of applications that is shown in the popup; the item name must be unique per-widget. Clients can use the provided name as a detail for the “custom-item-activated” signal, to add a callback for the activation of a particular custom item in the list. See also gtk_app_chooser_button_append_separator(). Parameters self a GtkAppChooserButton name the name of the custom item label the label for the custom item icon the icon for the custom item gtk_app_chooser_button_append_separator () gtk_app_chooser_button_append_separator void gtk_app_chooser_button_append_separator (GtkAppChooserButton *self); Appends a separator to the list of applications that is shown in the popup. Parameters self a GtkAppChooserButton gtk_app_chooser_button_set_active_custom_item () gtk_app_chooser_button_set_active_custom_item void gtk_app_chooser_button_set_active_custom_item (GtkAppChooserButton *self, const char *name); Selects a custom item previously added with gtk_app_chooser_button_append_custom_item(). Use gtk_app_chooser_refresh() to bring the selection to its initial state. Parameters self a GtkAppChooserButton name the name of the custom item gtk_app_chooser_button_get_show_default_item () gtk_app_chooser_button_get_show_default_item gboolean gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self); Returns the current value of the “show-default-item” property. Parameters self a GtkAppChooserButton Returns the value of “show-default-item” gtk_app_chooser_button_set_show_default_item () gtk_app_chooser_button_set_show_default_item void gtk_app_chooser_button_set_show_default_item (GtkAppChooserButton *self, gboolean setting); Sets whether the dropdown menu of this button should show the default application for the given content type at top. Parameters self a GtkAppChooserButton setting the new value for “show-default-item” gtk_app_chooser_button_get_show_dialog_item () gtk_app_chooser_button_get_show_dialog_item gboolean gtk_app_chooser_button_get_show_dialog_item (GtkAppChooserButton *self); Returns the current value of the “show-dialog-item” property. Parameters self a GtkAppChooserButton Returns the value of “show-dialog-item” gtk_app_chooser_button_set_show_dialog_item () gtk_app_chooser_button_set_show_dialog_item void gtk_app_chooser_button_set_show_dialog_item (GtkAppChooserButton *self, gboolean setting); Sets whether the dropdown menu of this button should show an entry to trigger a GtkAppChooserDialog. Parameters self a GtkAppChooserButton setting the new value for “show-dialog-item” gtk_app_chooser_button_get_heading () gtk_app_chooser_button_get_heading const char * gtk_app_chooser_button_get_heading (GtkAppChooserButton *self); Returns the text to display at the top of the dialog. Parameters self a GtkAppChooserButton Returns the text to display at the top of the dialog, or NULL, in which case a default text is displayed. [nullable] gtk_app_chooser_button_set_heading () gtk_app_chooser_button_set_heading void gtk_app_chooser_button_set_heading (GtkAppChooserButton *self, const char *heading); Sets the text to display at the top of the dialog. If the heading is not set, the dialog displays a default text. Parameters self a GtkAppChooserButton heading a string containing Pango markup gtk_app_chooser_button_get_modal () gtk_app_chooser_button_get_modal gboolean gtk_app_chooser_button_get_modal (GtkAppChooserButton *self); Gets whether the dialog is modal. Parameters self a GtkAppChooserButton Returns TRUE if the dialog is modal gtk_app_chooser_button_set_modal () gtk_app_chooser_button_set_modal void gtk_app_chooser_button_set_modal (GtkAppChooserButton *self, gboolean modal); Sets whether the dialog should be modal. Parameters self a GtkAppChooserButton modal TRUE to make the dialog modal Types and Values GtkAppChooserButton GtkAppChooserButton typedef struct _GtkAppChooserButton GtkAppChooserButton; Property Details The <literal>“heading”</literal> property GtkAppChooserButton:heading “heading” gchar * The text to show at the top of the dialog that can be opened from the button. The string may contain Pango markup. Owner: GtkAppChooserButton Flags: Read / Write Default value: NULL The <literal>“modal”</literal> property GtkAppChooserButton:modal “modal” gboolean Whether the dialog should be modal.Owner: GtkAppChooserButton Flags: Read / Write / Construct Default value: TRUE The <literal>“show-default-item”</literal> property GtkAppChooserButton:show-default-item “show-default-item” gboolean The “show-default-item” property determines whether the dropdown menu should show the default application on top for the provided content type. Owner: GtkAppChooserButton Flags: Read / Write / Construct Default value: FALSE The <literal>“show-dialog-item”</literal> property GtkAppChooserButton:show-dialog-item “show-dialog-item” gboolean The “show-dialog-item” property determines whether the dropdown menu should show an item that triggers a GtkAppChooserDialog when clicked. Owner: GtkAppChooserButton Flags: Read / Write / Construct Default value: FALSE Signal Details The <literal>“changed”</literal> signal GtkAppChooserButton::changed void user_function (GtkAppChooserButton *appchooserbutton, gpointer user_data) Flags: Run Last The <literal>“custom-item-activated”</literal> signal GtkAppChooserButton::custom-item-activated void user_function (GtkAppChooserButton *self, gchar *item_name, gpointer user_data) Emitted when a custom item, previously added with gtk_app_chooser_button_append_custom_item(), is activated from the dropdown menu. Parameters self the object which received the signal item_name the name of the activated item user_data user data set when the signal handler was connected. Flags: Has Details docs/reference/gtk/xml/gtkappchooserdialog.xml0000664000175000017500000004301713710700314021735 0ustar mclasenmclasen ]> GtkAppChooserDialog 3 GTK4 Library GtkAppChooserDialog An application chooser dialog Functions GtkWidget * gtk_app_chooser_dialog_new () GtkWidget * gtk_app_chooser_dialog_new_for_content_type () GtkWidget * gtk_app_chooser_dialog_get_widget () void gtk_app_chooser_dialog_set_heading () const char * gtk_app_chooser_dialog_get_heading () Properties GFile *gfileRead / Write / Construct Only gchar *headingRead / Write Types and Values GtkAppChooserDialog Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkAppChooserDialog Implemented Interfaces GtkAppChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkAppChooser. Includes#include <gtk/gtk.h> Description GtkAppChooserDialog shows a GtkAppChooserWidget inside a GtkDialog. Note that GtkAppChooserDialog does not have any interesting methods of its own. Instead, you should get the embedded GtkAppChooserWidget using gtk_app_chooser_dialog_get_widget() and call its methods if the generic GtkAppChooser interface is not sufficient for your needs. To set the heading that is shown above the GtkAppChooserWidget, use gtk_app_chooser_dialog_set_heading(). Functions gtk_app_chooser_dialog_new () gtk_app_chooser_dialog_new GtkWidget * gtk_app_chooser_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GFile *file); Creates a new GtkAppChooserDialog for the provided GFile, to allow the user to select an application for it. Parameters parent a GtkWindow, or NULL. [allow-none] flags flags for this dialog file a GFile Returns a newly created GtkAppChooserDialog gtk_app_chooser_dialog_new_for_content_type () gtk_app_chooser_dialog_new_for_content_type GtkWidget * gtk_app_chooser_dialog_new_for_content_type (GtkWindow *parent, GtkDialogFlags flags, const char *content_type); Creates a new GtkAppChooserDialog for the provided content type, to allow the user to select an application for it. Parameters parent a GtkWindow, or NULL. [allow-none] flags flags for this dialog content_type a content type string Returns a newly created GtkAppChooserDialog gtk_app_chooser_dialog_get_widget () gtk_app_chooser_dialog_get_widget GtkWidget * gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self); Returns the GtkAppChooserWidget of this dialog. Parameters self a GtkAppChooserDialog Returns the GtkAppChooserWidget of self . [transfer none] gtk_app_chooser_dialog_set_heading () gtk_app_chooser_dialog_set_heading void gtk_app_chooser_dialog_set_heading (GtkAppChooserDialog *self, const char *heading); Sets the text to display at the top of the dialog. If the heading is not set, the dialog displays a default text. Parameters self a GtkAppChooserDialog heading a string containing Pango markup gtk_app_chooser_dialog_get_heading () gtk_app_chooser_dialog_get_heading const char * gtk_app_chooser_dialog_get_heading (GtkAppChooserDialog *self); Returns the text to display at the top of the dialog. Parameters self a GtkAppChooserDialog Returns the text to display at the top of the dialog, or NULL, in which case a default text is displayed. [nullable] Types and Values GtkAppChooserDialog GtkAppChooserDialog typedef struct _GtkAppChooserDialog GtkAppChooserDialog; Property Details The <literal>“gfile”</literal> property GtkAppChooserDialog:gfile “gfile” GFile * The GFile used by the GtkAppChooserDialog. The dialog's GtkAppChooserWidget content type will be guessed from the file, if present. Owner: GtkAppChooserDialog Flags: Read / Write / Construct Only The <literal>“heading”</literal> property GtkAppChooserDialog:heading “heading” gchar * The text to show at the top of the dialog. The string may contain Pango markup. Owner: GtkAppChooserDialog Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtkappchooserwidget.xml0000664000175000017500000012167613710700314021771 0ustar mclasenmclasen ]> GtkAppChooserWidget 3 GTK4 Library GtkAppChooserWidget Application chooser widget that can be embedded in other widgets Functions GtkWidget * gtk_app_chooser_widget_new () void gtk_app_chooser_widget_set_show_default () gboolean gtk_app_chooser_widget_get_show_default () void gtk_app_chooser_widget_set_show_recommended () gboolean gtk_app_chooser_widget_get_show_recommended () void gtk_app_chooser_widget_set_show_fallback () gboolean gtk_app_chooser_widget_get_show_fallback () void gtk_app_chooser_widget_set_show_other () gboolean gtk_app_chooser_widget_get_show_other () void gtk_app_chooser_widget_set_show_all () gboolean gtk_app_chooser_widget_get_show_all () void gtk_app_chooser_widget_set_default_text () const char * gtk_app_chooser_widget_get_default_text () Properties gchar *default-textRead / Write gbooleanshow-allRead / Write / Construct gbooleanshow-defaultRead / Write / Construct gbooleanshow-fallbackRead / Write / Construct gbooleanshow-otherRead / Write / Construct gbooleanshow-recommendedRead / Write / Construct Signals voidapplication-activatedRun First voidapplication-selectedRun First Types and Values GtkAppChooserWidget Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkAppChooserWidget Implemented Interfaces GtkAppChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkAppChooser. Includes#include <gtk/gtk.h> Description GtkAppChooserWidget is a widget for selecting applications. It is the main building block for GtkAppChooserDialog. Most applications only need to use the latter; but you can use this widget as part of a larger widget if you have special needs. GtkAppChooserWidget offers detailed control over what applications are shown, using the “show-default”, “show-recommended”, “show-fallback”, “show-other” and “show-all” properties. See the GtkAppChooser documentation for more information about these groups of applications. To keep track of the selected application, use the “application-selected” and “application-activated” signals. CSS nodesGtkAppChooserWidget has a single CSS node with name appchooser. Functions gtk_app_chooser_widget_new () gtk_app_chooser_widget_new GtkWidget * gtk_app_chooser_widget_new (const char *content_type); Creates a new GtkAppChooserWidget for applications that can handle content of the given type. Parameters content_type the content type to show applications for Returns a newly created GtkAppChooserWidget gtk_app_chooser_widget_set_show_default () gtk_app_chooser_widget_set_show_default void gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self, gboolean setting); Sets whether the app chooser should show the default handler for the content type in a separate section. Parameters self a GtkAppChooserWidget setting the new value for “show-default” gtk_app_chooser_widget_get_show_default () gtk_app_chooser_widget_get_show_default gboolean gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self); Returns the current value of the “show-default” property. Parameters self a GtkAppChooserWidget Returns the value of “show-default” gtk_app_chooser_widget_set_show_recommended () gtk_app_chooser_widget_set_show_recommended void gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self, gboolean setting); Sets whether the app chooser should show recommended applications for the content type in a separate section. Parameters self a GtkAppChooserWidget setting the new value for “show-recommended” gtk_app_chooser_widget_get_show_recommended () gtk_app_chooser_widget_get_show_recommended gboolean gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self); Returns the current value of the “show-recommended” property. Parameters self a GtkAppChooserWidget Returns the value of “show-recommended” gtk_app_chooser_widget_set_show_fallback () gtk_app_chooser_widget_set_show_fallback void gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self, gboolean setting); Sets whether the app chooser should show related applications for the content type in a separate section. Parameters self a GtkAppChooserWidget setting the new value for “show-fallback” gtk_app_chooser_widget_get_show_fallback () gtk_app_chooser_widget_get_show_fallback gboolean gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self); Returns the current value of the “show-fallback” property. Parameters self a GtkAppChooserWidget Returns the value of “show-fallback” gtk_app_chooser_widget_set_show_other () gtk_app_chooser_widget_set_show_other void gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self, gboolean setting); Sets whether the app chooser should show applications which are unrelated to the content type. Parameters self a GtkAppChooserWidget setting the new value for “show-other” gtk_app_chooser_widget_get_show_other () gtk_app_chooser_widget_get_show_other gboolean gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self); Returns the current value of the “show-other” property. Parameters self a GtkAppChooserWidget Returns the value of “show-other” gtk_app_chooser_widget_set_show_all () gtk_app_chooser_widget_set_show_all void gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self, gboolean setting); Sets whether the app chooser should show all applications in a flat list. Parameters self a GtkAppChooserWidget setting the new value for “show-all” gtk_app_chooser_widget_get_show_all () gtk_app_chooser_widget_get_show_all gboolean gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self); Returns the current value of the “show-all” property. Parameters self a GtkAppChooserWidget Returns the value of “show-all” gtk_app_chooser_widget_set_default_text () gtk_app_chooser_widget_set_default_text void gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self, const char *text); Sets the text that is shown if there are not applications that can handle the content type. Parameters self a GtkAppChooserWidget text the new value for “default-text” gtk_app_chooser_widget_get_default_text () gtk_app_chooser_widget_get_default_text const char * gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self); Returns the text that is shown if there are not applications that can handle the content type. Parameters self a GtkAppChooserWidget Returns the value of “default-text” Types and Values GtkAppChooserWidget GtkAppChooserWidget typedef struct _GtkAppChooserWidget GtkAppChooserWidget; Property Details The <literal>“default-text”</literal> property GtkAppChooserWidget:default-text “default-text” gchar * The “default-text” property determines the text that appears in the widget when there are no applications for the given content type. See also gtk_app_chooser_widget_set_default_text(). Owner: GtkAppChooserWidget Flags: Read / Write Default value: NULL The <literal>“show-all”</literal> property GtkAppChooserWidget:show-all “show-all” gboolean If the “show-all” property is TRUE, the app chooser presents all applications in a single list, without subsections for default, recommended or related applications. Owner: GtkAppChooserWidget Flags: Read / Write / Construct Default value: FALSE The <literal>“show-default”</literal> property GtkAppChooserWidget:show-default “show-default” gboolean The ::show-default property determines whether the app chooser should show the default handler for the content type in a separate section. If FALSE, the default handler is listed among the recommended applications. Owner: GtkAppChooserWidget Flags: Read / Write / Construct Default value: FALSE The <literal>“show-fallback”</literal> property GtkAppChooserWidget:show-fallback “show-fallback” gboolean The “show-fallback” property determines whether the app chooser should show a section for fallback applications. If FALSE, the fallback applications are listed among the other applications. Owner: GtkAppChooserWidget Flags: Read / Write / Construct Default value: FALSE The <literal>“show-other”</literal> property GtkAppChooserWidget:show-other “show-other” gboolean The “show-other” property determines whether the app chooser should show a section for other applications. Owner: GtkAppChooserWidget Flags: Read / Write / Construct Default value: FALSE The <literal>“show-recommended”</literal> property GtkAppChooserWidget:show-recommended “show-recommended” gboolean The “show-recommended” property determines whether the app chooser should show a section for recommended applications. If FALSE, the recommended applications are listed among the other applications. Owner: GtkAppChooserWidget Flags: Read / Write / Construct Default value: TRUE Signal Details The <literal>“application-activated”</literal> signal GtkAppChooserWidget::application-activated void user_function (GtkAppChooserWidget *self, GAppInfo *application, gpointer user_data) Emitted when an application item is activated from the widget's list. This usually happens when the user double clicks an item, or an item is selected and the user presses one of the keys Space, Shift+Space, Return or Enter. Parameters self the object which received the signal application the activated GAppInfo user_data user data set when the signal handler was connected. Flags: Run First The <literal>“application-selected”</literal> signal GtkAppChooserWidget::application-selected void user_function (GtkAppChooserWidget *self, GAppInfo *application, gpointer user_data) Emitted when an application item is selected from the widget's list. Parameters self the object which received the signal application the selected GAppInfo user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtklockbutton.xml0000664000175000017500000004050513710700314020575 0ustar mclasenmclasen ]> GtkLockButton 3 GTK4 Library GtkLockButton A widget to unlock or lock privileged operations Functions GtkWidget * gtk_lock_button_new () GPermission * gtk_lock_button_get_permission () void gtk_lock_button_set_permission () Properties GPermission *permissionRead / Write gchar *text-lockRead / Write / Construct gchar *text-unlockRead / Write / Construct gchar *tooltip-lockRead / Write / Construct gchar *tooltip-not-authorizedRead / Write / Construct gchar *tooltip-unlockRead / Write / Construct Types and Values GtkLockButton Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkButton ╰── GtkLockButton Implemented Interfaces GtkLockButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkActionable. Includes#include <gtk/gtk.h> Description GtkLockButton is a widget that can be used in control panels or preference dialogs to allow users to obtain and revoke authorizations needed to operate the controls. The required authorization is represented by a GPermission object. Concrete implementations of GPermission may use PolicyKit or some other authorization framework. To obtain a PolicyKit-based GPermission, use polkit_permission_new(). If the user is not currently allowed to perform the action, but can obtain the permission, the widget looks like this: and the user can click the button to request the permission. Depending on the platform, this may pop up an authentication dialog or ask the user to authenticate in some other way. Once the user has obtained the permission, the widget changes to this: and the permission can be dropped again by clicking the button. If the user is not able to obtain the permission at all, the widget looks like this: If the user has the permission and cannot drop it, the button is hidden. The text (and tooltips) that are shown in the various cases can be adjusted with the “text-lock”, “text-unlock”, “tooltip-lock”, “tooltip-unlock” and “tooltip-not-authorized” properties. Functions gtk_lock_button_new () gtk_lock_button_new GtkWidget * gtk_lock_button_new (GPermission *permission); Creates a new lock button which reflects the permission . Parameters permission a GPermission. [allow-none] Returns a new GtkLockButton gtk_lock_button_get_permission () gtk_lock_button_get_permission GPermission * gtk_lock_button_get_permission (GtkLockButton *button); Obtains the GPermission object that controls button . Parameters button a GtkLockButton Returns the GPermission of button . [transfer none] gtk_lock_button_set_permission () gtk_lock_button_set_permission void gtk_lock_button_set_permission (GtkLockButton *button, GPermission *permission); Sets the GPermission object that controls button . Parameters button a GtkLockButton permission a GPermission object, or NULL. [allow-none] Types and Values GtkLockButton GtkLockButton typedef struct _GtkLockButton GtkLockButton; Property Details The <literal>“permission”</literal> property GtkLockButton:permission “permission” GPermission * The GPermission object controlling this button.Owner: GtkLockButton Flags: Read / Write The <literal>“text-lock”</literal> property GtkLockButton:text-lock “text-lock” gchar * The text to display when prompting the user to lock.Owner: GtkLockButton Flags: Read / Write / Construct Default value: "Lock" The <literal>“text-unlock”</literal> property GtkLockButton:text-unlock “text-unlock” gchar * The text to display when prompting the user to unlock.Owner: GtkLockButton Flags: Read / Write / Construct Default value: "Unlock" The <literal>“tooltip-lock”</literal> property GtkLockButton:tooltip-lock “tooltip-lock” gchar * The tooltip to display when prompting the user to lock.Owner: GtkLockButton Flags: Read / Write / Construct Default value: "Dialog is unlocked.\nClick to prevent further changes" The <literal>“tooltip-not-authorized”</literal> property GtkLockButton:tooltip-not-authorized “tooltip-not-authorized” gchar * The tooltip to display when prompting the user cannot obtain authorization.Owner: GtkLockButton Flags: Read / Write / Construct Default value: "System policy prevents changes.\nContact your system administrator" The <literal>“tooltip-unlock”</literal> property GtkLockButton:tooltip-unlock “tooltip-unlock” gchar * The tooltip to display when prompting the user to unlock.Owner: GtkLockButton Flags: Read / Write / Construct Default value: "Dialog is locked.\nClick to make changes" docs/reference/gtk/xml/gtkoverlay.xml0000664000175000017500000006475113710700314020103 0ustar mclasenmclasen ]> GtkOverlay 3 GTK4 Library GtkOverlay A container which overlays widgets on top of each other Functions GtkWidget * gtk_overlay_new () void gtk_overlay_set_child () GtkWidget * gtk_overlay_get_child () void gtk_overlay_add_overlay () void gtk_overlay_remove_overlay () gboolean gtk_overlay_get_measure_overlay () void gtk_overlay_set_measure_overlay () gboolean gtk_overlay_get_clip_overlay () void gtk_overlay_set_clip_overlay () Properties GtkWidget *childRead / Write Signals gbooleanget-child-positionRun Last Types and Values GtkOverlay Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkOverlay Implemented Interfaces GtkOverlay implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkOverlay is a container which contains a single main child, on top of which it can place “overlay” widgets. The position of each overlay widget is determined by its “halign” and “valign” properties. E.g. a widget with both alignments set to GTK_ALIGN_START will be placed at the top left corner of the GtkOverlay container, whereas an overlay with halign set to GTK_ALIGN_CENTER and valign set to GTK_ALIGN_END will be placed a the bottom edge of the GtkOverlay, horizontally centered. The position can be adjusted by setting the margin properties of the child to non-zero values. More complicated placement of overlays is possible by connecting to the “get-child-position” signal. An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes. GtkOverlay as GtkBuildableThe GtkOverlay implementation of the GtkBuildable interface supports placing a child as an overlay by specifying “overlay” as the “type” attribute of a <child> element. CSS nodesGtkOverlay has a single CSS node with the name “overlay”. Overlay children whose alignments cause them to be positioned at an edge get the style classes “.left”, “.right”, “.top”, and/or “.bottom” according to their position. Functions gtk_overlay_new () gtk_overlay_new GtkWidget * gtk_overlay_new (void); Creates a new GtkOverlay. Returns a new GtkOverlay object. gtk_overlay_set_child () gtk_overlay_set_child void gtk_overlay_set_child (GtkOverlay *overlay, GtkWidget *child); Sets the child widget of overlay . Parameters overlay a GtkOverlay child the child widget. [allow-none] gtk_overlay_get_child () gtk_overlay_get_child GtkWidget * gtk_overlay_get_child (GtkOverlay *overlay); Gets the child widget of overlay . Parameters overlay a GtkOverlay Returns the child widget of overlay . [nullable][transfer none] gtk_overlay_add_overlay () gtk_overlay_add_overlay void gtk_overlay_add_overlay (GtkOverlay *overlay, GtkWidget *widget); Adds widget to overlay . The widget will be stacked on top of the main widget added with gtk_container_add(). The position at which widget is placed is determined from its “halign” and “valign” properties. Parameters overlay a GtkOverlay widget a GtkWidget to be added to the container gtk_overlay_remove_overlay () gtk_overlay_remove_overlay void gtk_overlay_remove_overlay (GtkOverlay *overlay, GtkWidget *widget); Removes an overlay that was added with gtk_overlay_add_overlay(). Parameters overlay a GtkOverlay widget a GtkWidget to be removed gtk_overlay_get_measure_overlay () gtk_overlay_get_measure_overlay gboolean gtk_overlay_get_measure_overlay (GtkOverlay *overlay, GtkWidget *widget); Gets whether widget 's size is included in the measurement of overlay . Parameters overlay a GtkOverlay widget an overlay child of GtkOverlay Returns whether the widget is measured gtk_overlay_set_measure_overlay () gtk_overlay_set_measure_overlay void gtk_overlay_set_measure_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean measure); Sets whether widget is included in the measured size of overlay . The overlay will request the size of the largest child that has this property set to TRUE. Children who are not included may be drawn outside of overlay 's allocation if they are too large. Parameters overlay a GtkOverlay widget an overlay child of GtkOverlay measure whether the child should be measured gtk_overlay_get_clip_overlay () gtk_overlay_get_clip_overlay gboolean gtk_overlay_get_clip_overlay (GtkOverlay *overlay, GtkWidget *widget); Gets whether widget should be clipped within the parent. Parameters overlay a GtkOverlay widget an overlay child of GtkOverlay Returns whether the widget is clipped within the parent. gtk_overlay_set_clip_overlay () gtk_overlay_set_clip_overlay void gtk_overlay_set_clip_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean clip_overlay); Sets whether widget should be clipped within the parent. Parameters overlay a GtkOverlay widget an overlay child of GtkOverlay clip_overlay whether the child should be clipped Types and Values GtkOverlay GtkOverlay typedef struct _GtkOverlay GtkOverlay; Property Details The <literal>“child”</literal> property GtkOverlay:child “child” GtkWidget * The child widget.Owner: GtkOverlay Flags: Read / Write Signal Details The <literal>“get-child-position”</literal> signal GtkOverlay::get-child-position gboolean user_function (GtkOverlay *overlay, GtkWidget *widget, GdkRectangle *allocation, gpointer user_data) The ::get-child-position signal is emitted to determine the position and size of any overlay child widgets. A handler for this signal should fill allocation with the desired position and size for widget , relative to the 'main' child of overlay . The default handler for this signal uses the widget 's halign and valign properties to determine the position and gives the widget its natural size (except that an alignment of GTK_ALIGN_FILL will cause the overlay to be full-width/height). If the main child is a GtkScrolledWindow, the overlays are placed relative to its contents. Parameters overlay the GtkOverlay widget the child widget to position allocation return location for the allocation. [type Gdk.Rectangle][out caller-allocates] user_data user data set when the signal handler was connected. Returns TRUE if the allocation has been filled Flags: Run Last docs/reference/gtk/xml/gtkcolorchooser.xml0000664000175000017500000006372413710700314021122 0ustar mclasenmclasen ]> GtkColorChooser 3 GTK4 Library GtkColorChooser Interface implemented by widgets for choosing colors Functions void gtk_color_chooser_get_rgba () void gtk_color_chooser_set_rgba () gboolean gtk_color_chooser_get_use_alpha () void gtk_color_chooser_set_use_alpha () void gtk_color_chooser_add_palette () void gtk_hsv_to_rgb () void gtk_rgb_to_hsv () Properties GdkRGBA *rgbaRead / Write gbooleanuse-alphaRead / Write Signals voidcolor-activatedRun First Types and Values GtkColorChooser Object Hierarchy GInterface ╰── GtkColorChooser Prerequisites GtkColorChooser requires GObject. Known Implementations GtkColorChooser is implemented by GtkColorButton, GtkColorChooserDialog and GtkColorChooserWidget. Includes#include <gtk/gtk.h> Description GtkColorChooser is an interface that is implemented by widgets for choosing colors. Depending on the situation, colors may be allowed to have alpha (translucency). In GTK+, the main widgets that implement this interface are GtkColorChooserWidget, GtkColorChooserDialog and GtkColorButton. Functions gtk_color_chooser_get_rgba () gtk_color_chooser_get_rgba void gtk_color_chooser_get_rgba (GtkColorChooser *chooser, GdkRGBA *color); Gets the currently-selected color. Parameters chooser a GtkColorChooser color a GdkRGBA to fill in with the current color. [out] gtk_color_chooser_set_rgba () gtk_color_chooser_set_rgba void gtk_color_chooser_set_rgba (GtkColorChooser *chooser, const GdkRGBA *color); Sets the color. Parameters chooser a GtkColorChooser color the new color gtk_color_chooser_get_use_alpha () gtk_color_chooser_get_use_alpha gboolean gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser); Returns whether the color chooser shows the alpha channel. Parameters chooser a GtkColorChooser Returns TRUE if the color chooser uses the alpha channel, FALSE if not gtk_color_chooser_set_use_alpha () gtk_color_chooser_set_use_alpha void gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser, gboolean use_alpha); Sets whether or not the color chooser should use the alpha channel. Parameters chooser a GtkColorChooser use_alpha TRUE if color chooser should use alpha channel, FALSE if not gtk_color_chooser_add_palette () gtk_color_chooser_add_palette void gtk_color_chooser_add_palette (GtkColorChooser *chooser, GtkOrientation orientation, int colors_per_line, int n_colors, GdkRGBA *colors); Adds a palette to the color chooser. If orientation is horizontal, the colors are grouped in rows, with colors_per_line colors in each row. If horizontal is FALSE, the colors are grouped in columns instead. The default color palette of GtkColorChooserWidget has 27 colors, organized in columns of 3 colors. The default gray palette has 9 grays in a single row. The layout of the color chooser widget works best when the palettes have 9-10 columns. Calling this function for the first time has the side effect of removing the default color and gray palettes from the color chooser. If colors is NULL, removes all previously added palettes. Parameters chooser a GtkColorChooser orientation GTK_ORIENTATION_HORIZONTAL if the palette should be displayed in rows, GTK_ORIENTATION_VERTICAL for columns colors_per_line the number of colors to show in each row/column n_colors the total number of elements in colors colors the colors of the palette, or NULL. [allow-none][array length=n_colors] gtk_hsv_to_rgb () gtk_hsv_to_rgb void gtk_hsv_to_rgb (float h, float s, float v, float *r, float *g, float *b); Converts a color from HSV space to RGB. Input values must be in the [0.0, 1.0] range; output values will be in the same range. Parameters h Hue s Saturation v Value r Return value for the red component. [out] g Return value for the green component. [out] b Return value for the blue component. [out] gtk_rgb_to_hsv () gtk_rgb_to_hsv void gtk_rgb_to_hsv (float r, float g, float b, float *h, float *s, float *v); Converts a color from RGB space to HSV. Input values must be in the [0.0, 1.0] range; output values will be in the same range. Parameters r Red g Green b Blue h Return value for the hue component. [out] s Return value for the saturation component. [out] v Return value for the value component. [out] Types and Values GtkColorChooser GtkColorChooser typedef struct _GtkColorChooser GtkColorChooser; Property Details The <literal>“rgba”</literal> property GtkColorChooser:rgba “rgba” GdkRGBA * The ::rgba property contains the currently selected color, as a GdkRGBA struct. The property can be set to change the current selection programmatically. Owner: GtkColorChooser Flags: Read / Write The <literal>“use-alpha”</literal> property GtkColorChooser:use-alpha “use-alpha” gboolean When ::use-alpha is TRUE, colors may have alpha (translucency) information. When it is FALSE, the GdkRGBA struct obtained via the “rgba” property will be forced to have alpha == 1. Implementations are expected to show alpha by rendering the color over a non-uniform background (like a checkerboard pattern). Owner: GtkColorChooser Flags: Read / Write Default value: TRUE Signal Details The <literal>“color-activated”</literal> signal GtkColorChooser::color-activated void user_function (GtkColorChooser *chooser, GdkRGBA *color, gpointer user_data) Emitted when a color is activated from the color chooser. This usually happens when the user clicks a color swatch, or a color is selected and the user presses one of the keys Space, Shift+Space, Return or Enter. Parameters chooser the object which received the signal color the color user_data user data set when the signal handler was connected. Flags: Run First See Also GtkColorChooserDialog, GtkColorChooserWidget, GtkColorButton docs/reference/gtk/xml/gtkcolorchooserwidget.xml0000664000175000017500000002611013710700314022312 0ustar mclasenmclasen ]> GtkColorChooserWidget 3 GTK4 Library GtkColorChooserWidget A widget for choosing colors Functions GtkWidget * gtk_color_chooser_widget_new () Properties gbooleanshow-editorRead / Write Actions color.customize(dddd) color.select(dddd) Types and Values GtkColorChooserWidget Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkColorChooserWidget Implemented Interfaces GtkColorChooserWidget implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkColorChooser. Includes#include <gtk/gtk.h> Description The GtkColorChooserWidget widget lets the user select a color. By default, the chooser presents a predefined palette of colors, plus a small number of settable custom colors. It is also possible to select a different color with the single-color editor. To enter the single-color editing mode, use the context menu of any color of the palette, or use the '+' button to add a new custom color. The chooser automatically remembers the last selection, as well as custom colors. To change the initially selected color, use gtk_color_chooser_set_rgba(). To get the selected color use gtk_color_chooser_get_rgba(). The GtkColorChooserWidget is used in the GtkColorChooserDialog to provide a dialog for selecting colors. CSS namesGtkColorChooserWidget has a single CSS node with name colorchooser. Functions gtk_color_chooser_widget_new () gtk_color_chooser_widget_new GtkWidget * gtk_color_chooser_widget_new (void); Creates a new GtkColorChooserWidget. Returns a new GtkColorChooserWidget Types and Values GtkColorChooserWidget GtkColorChooserWidget typedef struct _GtkColorChooserWidget GtkColorChooserWidget; Property Details The <literal>“show-editor”</literal> property GtkColorChooserWidget:show-editor “show-editor” gboolean The ::show-editor property is TRUE when the color chooser is showing the single-color editor. It can be set to switch the color chooser into single-color editing mode. Owner: GtkColorChooserWidget Flags: Read / Write Default value: FALSE Action Details The <literal>“color.customize”</literal> action GtkColorChooserWidget|color.customize Activates the color editor for the given color. Parameter type: (dddd) Parameters red the red value, between 0 and 1 green the green value, between 0 and 1 blue the blue value, between 0 and 1 alpha the alpha value, between 0 and 1 The <literal>“color.select”</literal> action GtkColorChooserWidget|color.select Emits the “color-activated” signal for the given color. Parameter type: (dddd) Parameters red the red value, between 0 and 1 green the green value, between 0 and 1 blue the blue value, between 0 and 1 alpha the alpha value, between 0 and 1 See Also GtkColorChooserDialog docs/reference/gtk/xml/gtkcolorchooserdialog.xml0000664000175000017500000001704213710700314022272 0ustar mclasenmclasen ]> GtkColorChooserDialog 3 GTK4 Library GtkColorChooserDialog A dialog for choosing colors Functions GtkWidget * gtk_color_chooser_dialog_new () Properties gbooleanshow-editorRead / Write Types and Values GtkColorChooserDialog Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkDialog ╰── GtkColorChooserDialog Implemented Interfaces GtkColorChooserDialog implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager, GtkRoot and GtkColorChooser. Includes#include <gtk/gtk.h> Description The GtkColorChooserDialog widget is a dialog for choosing a color. It implements the GtkColorChooser interface. Functions gtk_color_chooser_dialog_new () gtk_color_chooser_dialog_new GtkWidget * gtk_color_chooser_dialog_new (const char *title, GtkWindow *parent); Creates a new GtkColorChooserDialog. Parameters title Title of the dialog, or NULL. [allow-none] parent Transient parent of the dialog, or NULL. [allow-none] Returns a new GtkColorChooserDialog Types and Values GtkColorChooserDialog GtkColorChooserDialog typedef struct _GtkColorChooserDialog GtkColorChooserDialog; Property Details The <literal>“show-editor”</literal> property GtkColorChooserDialog:show-editor “show-editor” gboolean Show editor.Owner: GtkColorChooserDialog Flags: Read / Write Default value: FALSE See Also GtkColorChooser, GtkDialog docs/reference/gtk/xml/gtkactionbar.xml0000664000175000017500000004562013710700314020356 0ustar mclasenmclasen ]> GtkActionBar 3 GTK4 Library GtkActionBar A full width bar for presenting contextual actions Functions GtkWidget * gtk_action_bar_new () void gtk_action_bar_pack_start () void gtk_action_bar_pack_end () void gtk_action_bar_remove () GtkWidget * gtk_action_bar_get_center_widget () void gtk_action_bar_set_center_widget () gboolean gtk_action_bar_get_revealed () void gtk_action_bar_set_revealed () Properties gbooleanrevealedRead / Write Types and Values GtkActionBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkActionBar Implemented Interfaces GtkActionBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkActionBar is designed to present contextual actions. It is expected to be displayed below the content and expand horizontally to fill the area. It allows placing children at the start or the end. In addition, it contains an internal centered box which is centered with respect to the full width of the box, even if the children at either side take up different amounts of space. CSS nodesGtkActionBar has a single CSS node with name actionbar. Functions gtk_action_bar_new () gtk_action_bar_new GtkWidget * gtk_action_bar_new (void); Creates a new GtkActionBar widget. Returns a new GtkActionBar gtk_action_bar_pack_start () gtk_action_bar_pack_start void gtk_action_bar_pack_start (GtkActionBar *action_bar, GtkWidget *child); Adds child to action_bar , packed with reference to the start of the action_bar . Parameters action_bar A GtkActionBar child the GtkWidget to be added to action_bar gtk_action_bar_pack_end () gtk_action_bar_pack_end void gtk_action_bar_pack_end (GtkActionBar *action_bar, GtkWidget *child); Adds child to action_bar , packed with reference to the end of the action_bar . Parameters action_bar A GtkActionBar child the GtkWidget to be added to action_bar gtk_action_bar_remove () gtk_action_bar_remove void gtk_action_bar_remove (GtkActionBar *action_bar, GtkWidget *child); Removes a child from action_bar . Parameters action_bar a GtkActionBar child the GtkWidget to be removed gtk_action_bar_get_center_widget () gtk_action_bar_get_center_widget GtkWidget * gtk_action_bar_get_center_widget (GtkActionBar *action_bar); Retrieves the center bar widget of the bar. Parameters action_bar a GtkActionBar Returns the center GtkWidget or NULL. [transfer none][nullable] gtk_action_bar_set_center_widget () gtk_action_bar_set_center_widget void gtk_action_bar_set_center_widget (GtkActionBar *action_bar, GtkWidget *center_widget); Sets the center widget for the GtkActionBar. Parameters action_bar a GtkActionBar center_widget a widget to use for the center. [allow-none] gtk_action_bar_get_revealed () gtk_action_bar_get_revealed gboolean gtk_action_bar_get_revealed (GtkActionBar *action_bar); Gets the value of the “revealed” property. Parameters action_bar a GtkActionBar Returns the current value of the “revealed” property. gtk_action_bar_set_revealed () gtk_action_bar_set_revealed void gtk_action_bar_set_revealed (GtkActionBar *action_bar, gboolean revealed); Sets the “revealed” property to revealed . Changing this will make action_bar reveal (TRUE) or conceal (FALSE) itself via a sliding transition. Note: this does not show or hide action_bar in the “visible” sense, so revealing has no effect if “visible” is FALSE. Parameters action_bar a GtkActionBar revealed The new value of the property Types and Values GtkActionBar GtkActionBar typedef struct _GtkActionBar GtkActionBar; Property Details The <literal>“revealed”</literal> property GtkActionBar:revealed “revealed” gboolean Controls whether the action bar shows its contents or not.Owner: GtkActionBar Flags: Read / Write Default value: TRUE See Also GtkBox docs/reference/gtk/xml/gtkheaderbar.xml0000664000175000017500000006777113710700314020344 0ustar mclasenmclasen ]> GtkHeaderBar 3 GTK4 Library GtkHeaderBar A box with a centered child Functions GtkWidget * gtk_header_bar_new () void gtk_header_bar_set_title_widget () GtkWidget * gtk_header_bar_get_title_widget () void gtk_header_bar_pack_start () void gtk_header_bar_pack_end () void gtk_header_bar_remove () void gtk_header_bar_set_show_title_buttons () gboolean gtk_header_bar_get_show_title_buttons () void gtk_header_bar_set_decoration_layout () const char * gtk_header_bar_get_decoration_layout () Properties gchar *decoration-layoutRead / Write gbooleanshow-title-buttonsRead / Write GtkWidget *title-widgetRead / Write Types and Values GtkHeaderBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkHeaderBar Implemented Interfaces GtkHeaderBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkHeaderBar is similar to a horizontal GtkBox. It allows children to be placed at the start or the end. In addition, it allows the window title to be displayed. The title will be centered with respect to the width of the box, even if the children at either side take up different amounts of space. GtkHeaderBar can add typical window frame controls, such as minimize, maximize and close buttons, or the window icon. For these reasons, GtkHeaderBar is the natural choice for use as the custom titlebar widget of a GtkWindow (see gtk_window_set_titlebar()), as it gives features typical of titlebars while allowing the addition of child widgets. The GtkHeaderBar implementation of the GtkBuildable interface supports adding children at the start or end sides by specifying “start” or “end” as the “type” attribute of a <child> element, or setting the title widget by specifying “title” value. By default the GtkHeaderBar uses a GtkLabel displaying the title of the window it is contained in as the title widget, equivalent to the following UI definition: Label True end 5 ]]> CSS nodes A GtkHeaderBar's CSS node is called headerbar. It contains a windowhandle subnode, which contains a box subnode, which contains two box subnodes at the start and end of the headerbar, as well as a center node that represents the title. Each of the boxes contains a windowcontrols subnode, see GtkWindowControls for details, as well as other children. Functions gtk_header_bar_new () gtk_header_bar_new GtkWidget * gtk_header_bar_new (void); Creates a new GtkHeaderBar widget. Returns a new GtkHeaderBar gtk_header_bar_set_title_widget () gtk_header_bar_set_title_widget void gtk_header_bar_set_title_widget (GtkHeaderBar *bar, GtkWidget *title_widget); Sets the title for the GtkHeaderBar. When set to NULL, the headerbar will display the title of the window it is contained in. The title should help a user identify the current view. To achieve the same style as the builtin title, use the “title” style class. You should set the title widget to NULL, for the window title label to be visible again. Parameters bar a GtkHeaderBar title_widget a widget to use for a title. [allow-none] gtk_header_bar_get_title_widget () gtk_header_bar_get_title_widget GtkWidget * gtk_header_bar_get_title_widget (GtkHeaderBar *bar); Retrieves the title widget of the header. See gtk_header_bar_set_title_widget(). Parameters bar a GtkHeaderBar Returns the title widget of the header, or NULL if none has been set explicitly. [nullable][transfer none] gtk_header_bar_pack_start () gtk_header_bar_pack_start void gtk_header_bar_pack_start (GtkHeaderBar *bar, GtkWidget *child); Adds child to bar , packed with reference to the start of the bar . Parameters bar A GtkHeaderBar child the GtkWidget to be added to bar gtk_header_bar_pack_end () gtk_header_bar_pack_end void gtk_header_bar_pack_end (GtkHeaderBar *bar, GtkWidget *child); Adds child to bar , packed with reference to the end of the bar . Parameters bar A GtkHeaderBar child the GtkWidget to be added to bar gtk_header_bar_remove () gtk_header_bar_remove void gtk_header_bar_remove (GtkHeaderBar *bar, GtkWidget *child); Removes a child from bar , after it has been added with gtk_header_bar_pack_start(), gtk_header_bar_pack_end() or gtk_header_bar_set_title_widget(). Parameters bar a GtkHeaderBar child the child to remove gtk_header_bar_set_show_title_buttons () gtk_header_bar_set_show_title_buttons void gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar, gboolean setting); Sets whether this header bar shows the standard window title buttons including close, maximize, and minimize. Parameters bar a GtkHeaderBar setting TRUE to show standard title buttons gtk_header_bar_get_show_title_buttons () gtk_header_bar_get_show_title_buttons gboolean gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar); Returns whether this header bar shows the standard window title buttons. Parameters bar a GtkHeaderBar Returns TRUE if title buttons are shown gtk_header_bar_set_decoration_layout () gtk_header_bar_set_decoration_layout void gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar, const char *layout); Sets the decoration layout for this header bar, overriding the “gtk-decoration-layout” setting. There can be valid reasons for overriding the setting, such as a header bar design that does not allow for buttons to take room on the right, or only offers room for a single close button. Split header bars are another example for overriding the setting. The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close and icon (the window icon). For example, “icon:minimize,maximize,close” specifies a icon on the left, and minimize, maximize and close buttons on the right. Parameters bar a GtkHeaderBar layout a decoration layout, or NULL to unset the layout. [allow-none] gtk_header_bar_get_decoration_layout () gtk_header_bar_get_decoration_layout const char * gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar); Gets the decoration layout set with gtk_header_bar_set_decoration_layout(). Parameters bar a GtkHeaderBar Returns the decoration layout Types and Values GtkHeaderBar GtkHeaderBar typedef struct _GtkHeaderBar GtkHeaderBar; Property Details The <literal>“decoration-layout”</literal> property GtkHeaderBar:decoration-layout “decoration-layout” gchar * The decoration layout for buttons. If this property is not set, the “gtk-decoration-layout” setting is used. See gtk_header_bar_set_decoration_layout() for information about the format of this string. Owner: GtkHeaderBar Flags: Read / Write Default value: NULL The <literal>“show-title-buttons”</literal> property GtkHeaderBar:show-title-buttons “show-title-buttons” gboolean Whether to show title buttons like close, minimize, maximize. Which buttons are actually shown and where is determined by the “decoration-layout” property, and by the state of the window (e.g. a close button will not be shown if the window can't be closed). Owner: GtkHeaderBar Flags: Read / Write Default value: TRUE The <literal>“title-widget”</literal> property GtkHeaderBar:title-widget “title-widget” GtkWidget * Title widget to display.Owner: GtkHeaderBar Flags: Read / Write See Also GtkBox, GtkActionBar docs/reference/gtk/xml/gtkstack.xml0000664000175000017500000027470513710700314017531 0ustar mclasenmclasen ]> GtkStack 3 GTK4 Library GtkStack A stacking container Functions gboolean gtk_stack_page_get_visible () void gtk_stack_page_set_visible () const char * gtk_stack_page_get_title () void gtk_stack_page_set_title () const char * gtk_stack_page_get_name () void gtk_stack_page_set_name () gboolean gtk_stack_page_get_needs_attention () void gtk_stack_page_set_needs_attention () gboolean gtk_stack_page_get_use_underline () void gtk_stack_page_set_use_underline () const char * gtk_stack_page_get_icon_name () void gtk_stack_page_set_icon_name () GtkWidget * gtk_stack_page_get_child () GtkWidget * gtk_stack_new () GtkStackPage * gtk_stack_add_named () GtkStackPage * gtk_stack_add_titled () void gtk_stack_remove () GtkWidget * gtk_stack_get_child_by_name () GtkStackPage * gtk_stack_get_page () GtkSelectionModel * gtk_stack_get_pages () void gtk_stack_set_visible_child () GtkWidget * gtk_stack_get_visible_child () void gtk_stack_set_visible_child_name () const char * gtk_stack_get_visible_child_name () void gtk_stack_set_visible_child_full () void gtk_stack_set_hhomogeneous () gboolean gtk_stack_get_hhomogeneous () void gtk_stack_set_vhomogeneous () gboolean gtk_stack_get_vhomogeneous () void gtk_stack_set_transition_duration () guint gtk_stack_get_transition_duration () void gtk_stack_set_transition_type () GtkStackTransitionType gtk_stack_get_transition_type () gboolean gtk_stack_get_transition_running () gboolean gtk_stack_get_interpolate_size () void gtk_stack_set_interpolate_size () Properties GtkWidget *childRead / Write / Construct Only gchar *icon-nameRead / Write gchar *nameRead / Write / Construct Only gbooleanneeds-attentionRead / Write gchar *titleRead / Write gbooleanuse-underlineRead / Write gbooleanvisibleRead / Write gbooleanhhomogeneousRead / Write gbooleaninterpolate-sizeRead / Write GtkSelectionModel *pagesRead guinttransition-durationRead / Write gbooleantransition-runningRead GtkStackTransitionTypetransition-typeRead / Write gbooleanvhomogeneousRead / Write GtkWidget *visible-childRead / Write gchar *visible-child-nameRead / Write Types and Values GtkStackPage GtkStack enumGtkStackTransitionType Object Hierarchy GObject ├── GInitiallyUnowned ╰── GtkWidget ╰── GtkStack ╰── GtkStackPage Implemented Interfaces GtkStack implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkStack widget is a container which only shows one of its children at a time. In contrast to GtkNotebook, GtkStack does not provide a means for users to change the visible child. Instead, the GtkStackSwitcher widget can be used with GtkStack to provide this functionality. Transitions between pages can be animated as slides or fades. This can be controlled with gtk_stack_set_transition_type(). These animations respect the “gtk-enable-animations” setting. GtkStack maintains a GtkStackPage object for each added child, which holds additional per-child properties. You obtain the GtkStackPage for a child with gtk_stack_get_page(). GtkStack as GtkBuildableTo set child-specific properties in a .ui file, create GtkStackPage objects explicitly, and set the child widget as a property on it: page1 In the beginning… It was dark ]]> CSS nodesGtkStack has a single CSS node named stack. Functions gtk_stack_page_get_visible () gtk_stack_page_get_visible gboolean gtk_stack_page_get_visible (GtkStackPage *self); Returns whether page is visible in its GtkStack. This is independent from the “visible” value of its GtkWidget. Parameters self a GtkStackPage Returns TRUE if page is visible gtk_stack_page_set_visible () gtk_stack_page_set_visible void gtk_stack_page_set_visible (GtkStackPage *self, gboolean visible); Sets the new value of the “visible” property to visible . Parameters self a GtkStackPage visible The new property value gtk_stack_page_get_title () gtk_stack_page_get_title const char * gtk_stack_page_get_title (GtkStackPage *self); Returns the current value of the “title” property. Parameters self a GtkStackPage Returns The value of the “title” property. See gtk_stack_page_set_title() for details on how to set a new value. [nullable] gtk_stack_page_set_title () gtk_stack_page_set_title void gtk_stack_page_set_title (GtkStackPage *self, const char *setting); Sets the new value of the “title” property. See also gtk_stack_page_get_title() Parameters self a GtkStackPage setting the new value to set. [transfer none] gtk_stack_page_get_name () gtk_stack_page_get_name const char * gtk_stack_page_get_name (GtkStackPage *self); Returns the current value of the “name” property. Parameters self a GtkStackPage Returns The value of the “name” property. See gtk_stack_page_set_name() for details on how to set a new value. [nullable] gtk_stack_page_set_name () gtk_stack_page_set_name void gtk_stack_page_set_name (GtkStackPage *self, const char *setting); Sets the new value of the “name” property. See also gtk_stack_page_get_name() Parameters self a GtkStackPage setting the new value to set. [transfer none] gtk_stack_page_get_needs_attention () gtk_stack_page_get_needs_attention gboolean gtk_stack_page_get_needs_attention (GtkStackPage *self); Returns the current value of the “needs-attention” property. Parameters self a GtkStackPage Returns The value of the “needs-attention” property. See gtk_stack_page_set_needs_attention() for details on how to set a new value. gtk_stack_page_set_needs_attention () gtk_stack_page_set_needs_attention void gtk_stack_page_set_needs_attention (GtkStackPage *self, gboolean setting); Sets the new value of the “needs-attention” property. See also gtk_stack_page_get_needs_attention() Parameters self a GtkStackPage setting the new value to set gtk_stack_page_get_use_underline () gtk_stack_page_get_use_underline gboolean gtk_stack_page_get_use_underline (GtkStackPage *self); Returns the current value of the “use-underline” property. Parameters self a GtkStackPage Returns The value of the “use-underline” property. See gtk_stack_page_set_use_underline() for details on how to set a new value. gtk_stack_page_set_use_underline () gtk_stack_page_set_use_underline void gtk_stack_page_set_use_underline (GtkStackPage *self, gboolean setting); Sets the new value of the “use-underline” property. See also gtk_stack_page_get_use_underline() Parameters self a GtkStackPage setting the new value to set gtk_stack_page_get_icon_name () gtk_stack_page_get_icon_name const char * gtk_stack_page_get_icon_name (GtkStackPage *self); Returns the current value of the “icon-name” property. Parameters self a GtkStackPage Returns The value of the “icon-name” property. See gtk_stack_page_set_icon_name() for details on how to set a new value. [nullable] gtk_stack_page_set_icon_name () gtk_stack_page_set_icon_name void gtk_stack_page_set_icon_name (GtkStackPage *self, const char *setting); Sets the new value of the “icon-name” property. See also gtk_stack_page_get_icon_name() Parameters self a GtkStackPage setting the new value to set. [transfer none] gtk_stack_page_get_child () gtk_stack_page_get_child GtkWidget * gtk_stack_page_get_child (GtkStackPage *self); Returns the stack child to which self belongs. Parameters self a GtkStackPage Returns the child to which self belongs. [transfer none] gtk_stack_new () gtk_stack_new GtkWidget * gtk_stack_new (void); Creates a new GtkStack container. Returns a new GtkStack gtk_stack_add_named () gtk_stack_add_named GtkStackPage * gtk_stack_add_named (GtkStack *stack, GtkWidget *child, const char *name); Adds a child to stack . The child is identified by the name . Parameters stack a GtkStack child the widget to add name the name for child Returns the GtkStackPage for child . [transfer none] gtk_stack_add_titled () gtk_stack_add_titled GtkStackPage * gtk_stack_add_titled (GtkStack *stack, GtkWidget *child, const char *name, const char *title); Adds a child to stack . The child is identified by the name . The title will be used by GtkStackSwitcher to represent child in a tab bar, so it should be short. Parameters stack a GtkStack child the widget to add name the name for child title a human-readable title for child Returns the GtkStackPage for child . [transfer none] gtk_stack_remove () gtk_stack_remove void gtk_stack_remove (GtkStack *stack, GtkWidget *child); Removes a child widget from stack . Parameters stack a GtkStack child the child to remove gtk_stack_get_child_by_name () gtk_stack_get_child_by_name GtkWidget * gtk_stack_get_child_by_name (GtkStack *stack, const char *name); Finds the child of the GtkStack with the name given as the argument. Returns NULL if there is no child with this name. Parameters stack a GtkStack name the name of the child to find Returns the requested child of the GtkStack. [transfer none][nullable] gtk_stack_get_page () gtk_stack_get_page GtkStackPage * gtk_stack_get_page (GtkStack *stack, GtkWidget *child); Returns the GtkStackPage object for child . Parameters stack a GtkStack child a child of stack Returns the GtkStackPage for child . [transfer none] gtk_stack_get_pages () gtk_stack_get_pages GtkSelectionModel * gtk_stack_get_pages (GtkStack *stack); Returns a GListModel that contains the pages of the stack, and can be used to keep an up-to-date view. The model also implements GtkSelectionModel and can be used to track and modify the visible page. Parameters stack a GtkStack Returns a GtkSelectionModel for the stack's children. [transfer full] gtk_stack_set_visible_child () gtk_stack_set_visible_child void gtk_stack_set_visible_child (GtkStack *stack, GtkWidget *child); Makes child the visible child of stack . If child is different from the currently visible child, the transition between the two will be animated with the current transition type of stack . Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack . Parameters stack a GtkStack child a child of stack gtk_stack_get_visible_child () gtk_stack_get_visible_child GtkWidget * gtk_stack_get_visible_child (GtkStack *stack); Gets the currently visible child of stack , or NULL if there are no visible children. Parameters stack a GtkStack Returns the visible child of the GtkStack. [transfer none][nullable] gtk_stack_set_visible_child_name () gtk_stack_set_visible_child_name void gtk_stack_set_visible_child_name (GtkStack *stack, const char *name); Makes the child with the given name visible. If child is different from the currently visible child, the transition between the two will be animated with the current transition type of stack . Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack . Parameters stack a GtkStack name the name of the child to make visible gtk_stack_get_visible_child_name () gtk_stack_get_visible_child_name const char * gtk_stack_get_visible_child_name (GtkStack *stack); Returns the name of the currently visible child of stack , or NULL if there is no visible child. Parameters stack a GtkStack Returns the name of the visible child of the GtkStack. [transfer none][nullable] gtk_stack_set_visible_child_full () gtk_stack_set_visible_child_full void gtk_stack_set_visible_child_full (GtkStack *stack, const char *name, GtkStackTransitionType transition); Makes the child with the given name visible. Note that the child widget has to be visible itself (see gtk_widget_show()) in order to become the visible child of stack . Parameters stack a GtkStack name the name of the child to make visible transition the transition type to use gtk_stack_set_hhomogeneous () gtk_stack_set_hhomogeneous void gtk_stack_set_hhomogeneous (GtkStack *stack, gboolean hhomogeneous); Sets the GtkStack to be horizontally homogeneous or not. If it is homogeneous, the GtkStack will request the same width for all its children. If it isn't, the stack may change width when a different child becomes visible. Parameters stack a GtkStack hhomogeneous TRUE to make stack horizontally homogeneous gtk_stack_get_hhomogeneous () gtk_stack_get_hhomogeneous gboolean gtk_stack_get_hhomogeneous (GtkStack *stack); Gets whether stack is horizontally homogeneous. See gtk_stack_set_hhomogeneous(). Parameters stack a GtkStack Returns whether stack is horizontally homogeneous. gtk_stack_set_vhomogeneous () gtk_stack_set_vhomogeneous void gtk_stack_set_vhomogeneous (GtkStack *stack, gboolean vhomogeneous); Sets the GtkStack to be vertically homogeneous or not. If it is homogeneous, the GtkStack will request the same height for all its children. If it isn't, the stack may change height when a different child becomes visible. Parameters stack a GtkStack vhomogeneous TRUE to make stack vertically homogeneous gtk_stack_get_vhomogeneous () gtk_stack_get_vhomogeneous gboolean gtk_stack_get_vhomogeneous (GtkStack *stack); Gets whether stack is vertically homogeneous. See gtk_stack_set_vhomogeneous(). Parameters stack a GtkStack Returns whether stack is vertically homogeneous. gtk_stack_set_transition_duration () gtk_stack_set_transition_duration void gtk_stack_set_transition_duration (GtkStack *stack, guint duration); Sets the duration that transitions between pages in stack will take. Parameters stack a GtkStack duration the new duration, in milliseconds gtk_stack_get_transition_duration () gtk_stack_get_transition_duration guint gtk_stack_get_transition_duration (GtkStack *stack); Returns the amount of time (in milliseconds) that transitions between pages in stack will take. Parameters stack a GtkStack Returns the transition duration gtk_stack_set_transition_type () gtk_stack_set_transition_type void gtk_stack_set_transition_type (GtkStack *stack, GtkStackTransitionType transition); Sets the type of animation that will be used for transitions between pages in stack . Available types include various kinds of fades and slides. The transition type can be changed without problems at runtime, so it is possible to change the animation based on the page that is about to become current. Parameters stack a GtkStack transition the new transition type gtk_stack_get_transition_type () gtk_stack_get_transition_type GtkStackTransitionType gtk_stack_get_transition_type (GtkStack *stack); Gets the type of animation that will be used for transitions between pages in stack . Parameters stack a GtkStack Returns the current transition type of stack gtk_stack_get_transition_running () gtk_stack_get_transition_running gboolean gtk_stack_get_transition_running (GtkStack *stack); Returns whether the stack is currently in a transition from one page to another. Parameters stack a GtkStack Returns TRUE if the transition is currently running, FALSE otherwise. gtk_stack_get_interpolate_size () gtk_stack_get_interpolate_size gboolean gtk_stack_get_interpolate_size (GtkStack *stack); Returns wether the GtkStack is set up to interpolate between the sizes of children on page switch. Parameters stack A GtkStack Returns TRUE if child sizes are interpolated gtk_stack_set_interpolate_size () gtk_stack_set_interpolate_size void gtk_stack_set_interpolate_size (GtkStack *stack, gboolean interpolate_size); Sets whether or not stack will interpolate its size when changing the visible child. If the “interpolate-size” property is set to TRUE, stack will interpolate its size between the current one and the one it'll take after changing the visible child, according to the set transition duration. Parameters stack A GtkStack interpolate_size the new value Types and Values GtkStackPage GtkStackPage typedef struct _GtkStackPage GtkStackPage; GtkStack GtkStack typedef struct _GtkStack GtkStack; enum GtkStackTransitionType GtkStackTransitionType These enumeration values describe the possible transitions between pages in a GtkStack widget. New values may be added to this enumeration over time. Members GTK_STACK_TRANSITION_TYPE_NONE No transition GTK_STACK_TRANSITION_TYPE_CROSSFADE A cross-fade GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT Slide from left to right GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT Slide from right to left GTK_STACK_TRANSITION_TYPE_SLIDE_UP Slide from bottom up GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN Slide from top down GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT Slide from left or right according to the children order GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN Slide from top down or bottom up according to the order GTK_STACK_TRANSITION_TYPE_OVER_UP Cover the old page by sliding up GTK_STACK_TRANSITION_TYPE_OVER_DOWN Cover the old page by sliding down GTK_STACK_TRANSITION_TYPE_OVER_LEFT Cover the old page by sliding to the left GTK_STACK_TRANSITION_TYPE_OVER_RIGHT Cover the old page by sliding to the right GTK_STACK_TRANSITION_TYPE_UNDER_UP Uncover the new page by sliding up GTK_STACK_TRANSITION_TYPE_UNDER_DOWN Uncover the new page by sliding down GTK_STACK_TRANSITION_TYPE_UNDER_LEFT Uncover the new page by sliding to the left GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT Uncover the new page by sliding to the right GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN Cover the old page sliding up or uncover the new page sliding down, according to order GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP Cover the old page sliding down or uncover the new page sliding up, according to order GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT Cover the old page sliding left or uncover the new page sliding right, according to order GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT Cover the old page sliding right or uncover the new page sliding left, according to order GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT Pretend the pages are sides of a cube and rotate that cube to the left GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT Pretend the pages are sides of a cube and rotate that cube to the right GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT Pretend the pages are sides of a cube and rotate that cube to the left or right according to the children order Property Details The <literal>“child”</literal> property GtkStackPage:child “child” GtkWidget * The child of the page.Owner: GtkStackPage Flags: Read / Write / Construct Only The <literal>“icon-name”</literal> property GtkStackPage:icon-name “icon-name” gchar * The icon name of the child page.Owner: GtkStackPage Flags: Read / Write Default value: NULL The <literal>“name”</literal> property GtkStackPage:name “name” gchar * The name of the child page.Owner: GtkStackPage Flags: Read / Write / Construct Only Default value: NULL The <literal>“needs-attention”</literal> property GtkStackPage:needs-attention “needs-attention” gboolean Sets a flag specifying whether the page requires the user attention. This is used by the GtkStackSwitcher to change the appearance of the corresponding button when a page needs attention and it is not the current one. Owner: GtkStackPage Flags: Read / Write Default value: FALSE The <literal>“title”</literal> property GtkStackPage:title “title” gchar * The title of the child page.Owner: GtkStackPage Flags: Read / Write Default value: NULL The <literal>“use-underline”</literal> property GtkStackPage:use-underline “use-underline” gboolean If set, an underline in the title indicates the next character should be used for the mnemonic accelerator key.Owner: GtkStackPage Flags: Read / Write Default value: FALSE The <literal>“visible”</literal> property GtkStackPage:visible “visible” gboolean Whether this page is visible.Owner: GtkStackPage Flags: Read / Write Default value: TRUE The <literal>“hhomogeneous”</literal> property GtkStack:hhomogeneous “hhomogeneous” gboolean TRUE if the stack allocates the same width for all children. Owner: GtkStack Flags: Read / Write Default value: TRUE The <literal>“interpolate-size”</literal> property GtkStack:interpolate-size “interpolate-size” gboolean Whether or not the size should smoothly change when changing between differently sized children.Owner: GtkStack Flags: Read / Write Default value: FALSE The <literal>“pages”</literal> property GtkStack:pages “pages” GtkSelectionModel * A selection model with the stacks pages.Owner: GtkStack Flags: Read The <literal>“transition-duration”</literal> property GtkStack:transition-duration “transition-duration” guint The animation duration, in milliseconds.Owner: GtkStack Flags: Read / Write Default value: 200 The <literal>“transition-running”</literal> property GtkStack:transition-running “transition-running” gboolean Whether or not the transition is currently running.Owner: GtkStack Flags: Read Default value: FALSE The <literal>“transition-type”</literal> property GtkStack:transition-type “transition-type” GtkStackTransitionType The type of animation used to transition.Owner: GtkStack Flags: Read / Write Default value: GTK_STACK_TRANSITION_TYPE_NONE The <literal>“vhomogeneous”</literal> property GtkStack:vhomogeneous “vhomogeneous” gboolean TRUE if the stack allocates the same height for all children. Owner: GtkStack Flags: Read / Write Default value: TRUE The <literal>“visible-child”</literal> property GtkStack:visible-child “visible-child” GtkWidget * The widget currently visible in the stack.Owner: GtkStack Flags: Read / Write The <literal>“visible-child-name”</literal> property GtkStack:visible-child-name “visible-child-name” gchar * The name of the widget currently visible in the stack.Owner: GtkStack Flags: Read / Write Default value: NULL See Also GtkNotebook, GtkStackSwitcher docs/reference/gtk/xml/gtkstackswitcher.xml0000664000175000017500000002416113710700314021267 0ustar mclasenmclasen ]> GtkStackSwitcher 3 GTK4 Library GtkStackSwitcher A controller for GtkStack Functions GtkWidget * gtk_stack_switcher_new () void gtk_stack_switcher_set_stack () GtkStack * gtk_stack_switcher_get_stack () Properties GtkStack *stackRead / Write / Construct Types and Values GtkStackSwitcher Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkStackSwitcher Implemented Interfaces GtkStackSwitcher implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkStackSwitcher widget acts as a controller for a GtkStack; it shows a row of buttons to switch between the various pages of the associated stack widget. All the content for the buttons comes from the child properties of the GtkStack; the button visibility in a GtkStackSwitcher widget is controlled by the visibility of the child in the GtkStack. It is possible to associate multiple GtkStackSwitcher widgets with the same GtkStack widget. The GtkStackSwitcher widget was added in 3.10. CSS nodesGtkStackSwitcher has a single CSS node named stackswitcher and style class .stack-switcher. When circumstances require it, GtkStackSwitcher adds the .needs-attention style class to the widgets representing the stack pages. Functions gtk_stack_switcher_new () gtk_stack_switcher_new GtkWidget * gtk_stack_switcher_new (void); Create a new GtkStackSwitcher. Returns a new GtkStackSwitcher. gtk_stack_switcher_set_stack () gtk_stack_switcher_set_stack void gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher, GtkStack *stack); Sets the stack to control. Parameters switcher a GtkStackSwitcher stack a GtkStack. [allow-none] gtk_stack_switcher_get_stack () gtk_stack_switcher_get_stack GtkStack * gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher); Retrieves the stack. See gtk_stack_switcher_set_stack(). Parameters switcher a GtkStackSwitcher Returns the stack, or NULL if none has been set explicitly. [nullable][transfer none] Types and Values GtkStackSwitcher GtkStackSwitcher typedef struct _GtkStackSwitcher GtkStackSwitcher; Property Details The <literal>“stack”</literal> property GtkStackSwitcher:stack “stack” GtkStack * Stack.Owner: GtkStackSwitcher Flags: Read / Write / Construct See Also GtkStack docs/reference/gtk/xml/gtkrevealer.xml0000664000175000017500000007231413710700314020221 0ustar mclasenmclasen ]> GtkRevealer 3 GTK4 Library GtkRevealer Hide and show with animation Functions GtkWidget * gtk_revealer_new () GtkWidget * gtk_revealer_get_child () void gtk_revealer_set_child () gboolean gtk_revealer_get_reveal_child () void gtk_revealer_set_reveal_child () gboolean gtk_revealer_get_child_revealed () guint gtk_revealer_get_transition_duration () void gtk_revealer_set_transition_duration () GtkRevealerTransitionType gtk_revealer_get_transition_type () void gtk_revealer_set_transition_type () Properties GtkWidget *childRead / Write gbooleanchild-revealedRead gbooleanreveal-childRead / Write / Construct guinttransition-durationRead / Write / Construct GtkRevealerTransitionTypetransition-typeRead / Write / Construct Types and Values GtkRevealer enumGtkRevealerTransitionType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkRevealer Implemented Interfaces GtkRevealer implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description The GtkRevealer widget is a container which animates the transition of its child from invisible to visible. The style of transition can be controlled with gtk_revealer_set_transition_type(). These animations respect the “gtk-enable-animations” setting. CSS nodesGtkRevealer has a single CSS node with name revealer. When styling GtkRevealer using CSS, remember that it only hides its contents, not itself. That means applied margin, padding and borders will be visible even when the “reveal-child” property is set to FALSE. The GtkRevealer widget was added in GTK+ 3.10. Functions gtk_revealer_new () gtk_revealer_new GtkWidget * gtk_revealer_new (void); Creates a new GtkRevealer. Returns a newly created GtkRevealer gtk_revealer_get_child () gtk_revealer_get_child GtkWidget * gtk_revealer_get_child (GtkRevealer *revealer); Gets the child widget of revealer . Parameters revealer a GtkRevealer Returns the child widget of revealer . [nullable][transfer none] gtk_revealer_set_child () gtk_revealer_set_child void gtk_revealer_set_child (GtkRevealer *revealer, GtkWidget *child); Sets the child widget of revealer . Parameters revealer a GtkRevealer child the child widget. [allow-none] gtk_revealer_get_reveal_child () gtk_revealer_get_reveal_child gboolean gtk_revealer_get_reveal_child (GtkRevealer *revealer); Returns whether the child is currently revealed. See gtk_revealer_set_reveal_child(). This function returns TRUE as soon as the transition is to the revealed state is started. To learn whether the child is fully revealed (ie the transition is completed), use gtk_revealer_get_child_revealed(). Parameters revealer a GtkRevealer Returns TRUE if the child is revealed. gtk_revealer_set_reveal_child () gtk_revealer_set_reveal_child void gtk_revealer_set_reveal_child (GtkRevealer *revealer, gboolean reveal_child); Tells the GtkRevealer to reveal or conceal its child. The transition will be animated with the current transition type of revealer . Parameters revealer a GtkRevealer reveal_child TRUE to reveal the child gtk_revealer_get_child_revealed () gtk_revealer_get_child_revealed gboolean gtk_revealer_get_child_revealed (GtkRevealer *revealer); Returns whether the child is fully revealed, in other words whether the transition to the revealed state is completed. Parameters revealer a GtkRevealer Returns TRUE if the child is fully revealed gtk_revealer_get_transition_duration () gtk_revealer_get_transition_duration guint gtk_revealer_get_transition_duration (GtkRevealer *revealer); Returns the amount of time (in milliseconds) that transitions will take. Parameters revealer a GtkRevealer Returns the transition duration gtk_revealer_set_transition_duration () gtk_revealer_set_transition_duration void gtk_revealer_set_transition_duration (GtkRevealer *revealer, guint duration); Sets the duration that transitions will take. Parameters revealer a GtkRevealer duration the new duration, in milliseconds gtk_revealer_get_transition_type () gtk_revealer_get_transition_type GtkRevealerTransitionType gtk_revealer_get_transition_type (GtkRevealer *revealer); Gets the type of animation that will be used for transitions in revealer . Parameters revealer a GtkRevealer Returns the current transition type of revealer gtk_revealer_set_transition_type () gtk_revealer_set_transition_type void gtk_revealer_set_transition_type (GtkRevealer *revealer, GtkRevealerTransitionType transition); Sets the type of animation that will be used for transitions in revealer . Available types include various kinds of fades and slides. Parameters revealer a GtkRevealer transition the new transition type Types and Values GtkRevealer GtkRevealer typedef struct _GtkRevealer GtkRevealer; enum GtkRevealerTransitionType GtkRevealerTransitionType These enumeration values describe the possible transitions when the child of a GtkRevealer widget is shown or hidden. Members GTK_REVEALER_TRANSITION_TYPE_NONE No transition GTK_REVEALER_TRANSITION_TYPE_CROSSFADE Fade in GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT Slide in from the left GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT Slide in from the right GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP Slide in from the bottom GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN Slide in from the top GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT Floop in from the left GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT Floop in from the right GTK_REVEALER_TRANSITION_TYPE_SWING_UP Floop in from the bottom GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN Floop in from the top Property Details The <literal>“child”</literal> property GtkRevealer:child “child” GtkWidget * The child widget.Owner: GtkRevealer Flags: Read / Write The <literal>“child-revealed”</literal> property GtkRevealer:child-revealed “child-revealed” gboolean Whether the child is revealed and the animation target reached.Owner: GtkRevealer Flags: Read Default value: FALSE The <literal>“reveal-child”</literal> property GtkRevealer:reveal-child “reveal-child” gboolean Whether the container should reveal the child.Owner: GtkRevealer Flags: Read / Write / Construct Default value: FALSE The <literal>“transition-duration”</literal> property GtkRevealer:transition-duration “transition-duration” guint The animation duration, in milliseconds.Owner: GtkRevealer Flags: Read / Write / Construct Default value: 250 The <literal>“transition-type”</literal> property GtkRevealer:transition-type “transition-type” GtkRevealerTransitionType The type of animation used to transition.Owner: GtkRevealer Flags: Read / Write / Construct Default value: GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN See Also GtkExpander docs/reference/gtk/xml/gtkflowbox.xml0000664000175000017500000034524713710700314020104 0ustar mclasenmclasen ]> GtkFlowBox 3 GTK4 Library GtkFlowBox A container that allows reflowing its children Functions GtkWidget * gtk_flow_box_new () void gtk_flow_box_insert () void gtk_flow_box_remove () GtkFlowBoxChild * gtk_flow_box_get_child_at_index () GtkFlowBoxChild * gtk_flow_box_get_child_at_pos () void gtk_flow_box_set_hadjustment () void gtk_flow_box_set_vadjustment () void gtk_flow_box_set_homogeneous () gboolean gtk_flow_box_get_homogeneous () void gtk_flow_box_set_row_spacing () guint gtk_flow_box_get_row_spacing () void gtk_flow_box_set_column_spacing () guint gtk_flow_box_get_column_spacing () void gtk_flow_box_set_min_children_per_line () guint gtk_flow_box_get_min_children_per_line () void gtk_flow_box_set_max_children_per_line () guint gtk_flow_box_get_max_children_per_line () void gtk_flow_box_set_activate_on_single_click () gboolean gtk_flow_box_get_activate_on_single_click () void (*GtkFlowBoxForeachFunc) () void gtk_flow_box_selected_foreach () GList * gtk_flow_box_get_selected_children () void gtk_flow_box_select_child () void gtk_flow_box_unselect_child () void gtk_flow_box_select_all () void gtk_flow_box_unselect_all () void gtk_flow_box_set_selection_mode () GtkSelectionMode gtk_flow_box_get_selection_mode () gboolean (*GtkFlowBoxFilterFunc) () void gtk_flow_box_set_filter_func () void gtk_flow_box_invalidate_filter () int (*GtkFlowBoxSortFunc) () void gtk_flow_box_set_sort_func () void gtk_flow_box_invalidate_sort () GtkWidget * (*GtkFlowBoxCreateWidgetFunc) () void gtk_flow_box_bind_model () GtkWidget * gtk_flow_box_child_new () void gtk_flow_box_child_set_child () GtkWidget * gtk_flow_box_child_get_child () int gtk_flow_box_child_get_index () gboolean gtk_flow_box_child_is_selected () void gtk_flow_box_child_changed () Properties gbooleanaccept-unpaired-releaseRead / Write gbooleanactivate-on-single-clickRead / Write guintcolumn-spacingRead / Write gbooleanhomogeneousRead / Write guintmax-children-per-lineRead / Write guintmin-children-per-lineRead / Write guintrow-spacingRead / Write GtkSelectionModeselection-modeRead / Write GtkWidget *childRead / Write Signals voidactivate-cursor-childAction voidchild-activatedRun Last gbooleanmove-cursorAction voidselect-allAction voidselected-children-changedRun First voidtoggle-cursor-childAction voidunselect-allAction voidactivateAction Types and Values GtkFlowBox structGtkFlowBoxChild Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ├── GtkFlowBox ╰── GtkFlowBoxChild Implemented Interfaces GtkFlowBox implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. GtkFlowBoxChild implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkFlowBox positions child widgets in sequence according to its orientation. For instance, with the horizontal orientation, the widgets will be arranged from left to right, starting a new row under the previous row when necessary. Reducing the width in this case will require more rows, so a larger height will be requested. Likewise, with the vertical orientation, the widgets will be arranged from top to bottom, starting a new column to the right when necessary. Reducing the height will require more columns, so a larger width will be requested. The size request of a GtkFlowBox alone may not be what you expect; if you need to be able to shrink it along both axes and dynamically reflow its children, you may have to wrap it in a GtkScrolledWindow to enable that. The children of a GtkFlowBox can be dynamically sorted and filtered. Although a GtkFlowBox must have only GtkFlowBoxChild children, you can add any kind of widget to it via gtk_container_add(), and a GtkFlowBoxChild widget will automatically be inserted between the box and the widget. Also see GtkListBox. GtkFlowBox was added in GTK+ 3.12. CSS nodes ├── flowboxchild │ ╰── ┊ ╰── [rubberband] ]]> GtkFlowBox uses a single CSS node with name flowbox. GtkFlowBoxChild uses a single CSS node with name flowboxchild. For rubberband selection, a subnode with name rubberband is used. Functions gtk_flow_box_new () gtk_flow_box_new GtkWidget * gtk_flow_box_new (void); Creates a GtkFlowBox. Returns a new GtkFlowBox container gtk_flow_box_insert () gtk_flow_box_insert void gtk_flow_box_insert (GtkFlowBox *box, GtkWidget *widget, int position); Inserts the widget into box at position . If a sort function is set, the widget will actually be inserted at the calculated position and this function has the same effect as gtk_container_add(). If position is -1, or larger than the total number of children in the box , then the widget will be appended to the end. Parameters box a GtkFlowBox widget the GtkWidget to add position the position to insert child in gtk_flow_box_remove () gtk_flow_box_remove void gtk_flow_box_remove (GtkFlowBox *box, GtkWidget *widget); Removes a child from box . Parameters box a GtkFlowBox widget the child widget to remove gtk_flow_box_get_child_at_index () gtk_flow_box_get_child_at_index GtkFlowBoxChild * gtk_flow_box_get_child_at_index (GtkFlowBox *box, int idx); Gets the nth child in the box . Parameters box a GtkFlowBox idx the position of the child Returns the child widget, which will always be a GtkFlowBoxChild or NULL in case no child widget with the given index exists. [transfer none][nullable] gtk_flow_box_get_child_at_pos () gtk_flow_box_get_child_at_pos GtkFlowBoxChild * gtk_flow_box_get_child_at_pos (GtkFlowBox *box, int x, int y); Gets the child in the (x , y ) position. Both x and y are assumed to be relative to the origin of box . Parameters box a GtkFlowBox x the x coordinate of the child y the y coordinate of the child Returns the child widget, which will always be a GtkFlowBoxChild or NULL in case no child widget exists for the given x and y coordinates. [transfer none][nullable] gtk_flow_box_set_hadjustment () gtk_flow_box_set_hadjustment void gtk_flow_box_set_hadjustment (GtkFlowBox *box, GtkAdjustment *adjustment); Hooks up an adjustment to focus handling in box . The adjustment is also used for autoscrolling during rubberband selection. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment, and gtk_flow_box_set_vadjustment()for setting the vertical adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box. Parameters box a GtkFlowBox adjustment an adjustment which should be adjusted when the focus is moved among the descendents of container gtk_flow_box_set_vadjustment () gtk_flow_box_set_vadjustment void gtk_flow_box_set_vadjustment (GtkFlowBox *box, GtkAdjustment *adjustment); Hooks up an adjustment to focus handling in box . The adjustment is also used for autoscrolling during rubberband selection. See gtk_scrolled_window_get_vadjustment() for a typical way of obtaining the adjustment, and gtk_flow_box_set_hadjustment()for setting the horizontal adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box. Parameters box a GtkFlowBox adjustment an adjustment which should be adjusted when the focus is moved among the descendents of container gtk_flow_box_set_homogeneous () gtk_flow_box_set_homogeneous void gtk_flow_box_set_homogeneous (GtkFlowBox *box, gboolean homogeneous); Sets the “homogeneous” property of box , controlling whether or not all children of box are given equal space in the box. Parameters box a GtkFlowBox homogeneous TRUE to create equal allotments, FALSE for variable allotments gtk_flow_box_get_homogeneous () gtk_flow_box_get_homogeneous gboolean gtk_flow_box_get_homogeneous (GtkFlowBox *box); Returns whether the box is homogeneous (all children are the same size). See gtk_box_set_homogeneous(). Parameters box a GtkFlowBox Returns TRUE if the box is homogeneous. gtk_flow_box_set_row_spacing () gtk_flow_box_set_row_spacing void gtk_flow_box_set_row_spacing (GtkFlowBox *box, guint spacing); Sets the vertical space to add between children. See the “row-spacing” property. Parameters box a GtkFlowBox spacing the spacing to use gtk_flow_box_get_row_spacing () gtk_flow_box_get_row_spacing guint gtk_flow_box_get_row_spacing (GtkFlowBox *box); Gets the vertical spacing. Parameters box a GtkFlowBox Returns the vertical spacing gtk_flow_box_set_column_spacing () gtk_flow_box_set_column_spacing void gtk_flow_box_set_column_spacing (GtkFlowBox *box, guint spacing); Sets the horizontal space to add between children. See the “column-spacing” property. Parameters box a GtkFlowBox spacing the spacing to use gtk_flow_box_get_column_spacing () gtk_flow_box_get_column_spacing guint gtk_flow_box_get_column_spacing (GtkFlowBox *box); Gets the horizontal spacing. Parameters box a GtkFlowBox Returns the horizontal spacing gtk_flow_box_set_min_children_per_line () gtk_flow_box_set_min_children_per_line void gtk_flow_box_set_min_children_per_line (GtkFlowBox *box, guint n_children); Sets the minimum number of children to line up in box ’s orientation before flowing. Parameters box a GtkFlowBox n_children the minimum number of children per line gtk_flow_box_get_min_children_per_line () gtk_flow_box_get_min_children_per_line guint gtk_flow_box_get_min_children_per_line (GtkFlowBox *box); Gets the minimum number of children per line. Parameters box a GtkFlowBox Returns the minimum number of children per line gtk_flow_box_set_max_children_per_line () gtk_flow_box_set_max_children_per_line void gtk_flow_box_set_max_children_per_line (GtkFlowBox *box, guint n_children); Sets the maximum number of children to request and allocate space for in box ’s orientation. Setting the maximum number of children per line limits the overall natural size request to be no more than n_children children long in the given orientation. Parameters box a GtkFlowBox n_children the maximum number of children per line gtk_flow_box_get_max_children_per_line () gtk_flow_box_get_max_children_per_line guint gtk_flow_box_get_max_children_per_line (GtkFlowBox *box); Gets the maximum number of children per line. Parameters box a GtkFlowBox Returns the maximum number of children per line gtk_flow_box_set_activate_on_single_click () gtk_flow_box_set_activate_on_single_click void gtk_flow_box_set_activate_on_single_click (GtkFlowBox *box, gboolean single); If single is TRUE, children will be activated when you click on them, otherwise you need to double-click. Parameters box a GtkFlowBox single TRUE to emit child-activated on a single click gtk_flow_box_get_activate_on_single_click () gtk_flow_box_get_activate_on_single_click gboolean gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box); Returns whether children activate on single clicks. Parameters box a GtkFlowBox Returns TRUE if children are activated on single click, FALSE otherwise GtkFlowBoxForeachFunc () GtkFlowBoxForeachFunc void (*GtkFlowBoxForeachFunc) (GtkFlowBox *box, GtkFlowBoxChild *child, gpointer user_data); A function used by gtk_flow_box_selected_foreach(). It will be called on every selected child of the box . Parameters box a GtkFlowBox child a GtkFlowBoxChild user_data user data. [closure] gtk_flow_box_selected_foreach () gtk_flow_box_selected_foreach void gtk_flow_box_selected_foreach (GtkFlowBox *box, GtkFlowBoxForeachFunc func, gpointer data); Calls a function for each selected child. Note that the selection cannot be modified from within this function. Parameters box a GtkFlowBox func the function to call for each selected child. [scope call] data user data to pass to the function gtk_flow_box_get_selected_children () gtk_flow_box_get_selected_children GList * gtk_flow_box_get_selected_children (GtkFlowBox *box); Creates a list of all selected children. Parameters box a GtkFlowBox Returns A GList containing the GtkWidget for each selected child. Free with g_list_free() when done. [element-type GtkFlowBoxChild][transfer container] gtk_flow_box_select_child () gtk_flow_box_select_child void gtk_flow_box_select_child (GtkFlowBox *box, GtkFlowBoxChild *child); Selects a single child of box , if the selection mode allows it. Parameters box a GtkFlowBox child a child of box gtk_flow_box_unselect_child () gtk_flow_box_unselect_child void gtk_flow_box_unselect_child (GtkFlowBox *box, GtkFlowBoxChild *child); Unselects a single child of box , if the selection mode allows it. Parameters box a GtkFlowBox child a child of box gtk_flow_box_select_all () gtk_flow_box_select_all void gtk_flow_box_select_all (GtkFlowBox *box); Select all children of box , if the selection mode allows it. Parameters box a GtkFlowBox gtk_flow_box_unselect_all () gtk_flow_box_unselect_all void gtk_flow_box_unselect_all (GtkFlowBox *box); Unselect all children of box , if the selection mode allows it. Parameters box a GtkFlowBox gtk_flow_box_set_selection_mode () gtk_flow_box_set_selection_mode void gtk_flow_box_set_selection_mode (GtkFlowBox *box, GtkSelectionMode mode); Sets how selection works in box . See GtkSelectionMode for details. Parameters box a GtkFlowBox mode the new selection mode gtk_flow_box_get_selection_mode () gtk_flow_box_get_selection_mode GtkSelectionMode gtk_flow_box_get_selection_mode (GtkFlowBox *box); Gets the selection mode of box . Parameters box a GtkFlowBox Returns the GtkSelectionMode GtkFlowBoxFilterFunc () GtkFlowBoxFilterFunc gboolean (*GtkFlowBoxFilterFunc) (GtkFlowBoxChild *child, gpointer user_data); A function that will be called whenever a child changes or is added. It lets you control if the child should be visible or not. Parameters child a GtkFlowBoxChild that may be filtered user_data user data. [closure] Returns TRUE if the row should be visible, FALSE otherwise gtk_flow_box_set_filter_func () gtk_flow_box_set_filter_func void gtk_flow_box_set_filter_func (GtkFlowBox *box, GtkFlowBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy); By setting a filter function on the box one can decide dynamically which of the children to show. For instance, to implement a search function that only shows the children matching the search terms. The filter_func will be called for each child after the call, and it will continue to be called each time a child changes (via gtk_flow_box_child_changed()) or when gtk_flow_box_invalidate_filter() is called. Note that using a filter function is incompatible with using a model (see gtk_flow_box_bind_model()). Parameters box a GtkFlowBox filter_func callback that lets you filter which children to show. [allow-none] user_data user data passed to filter_func . [closure] destroy destroy notifier for user_data gtk_flow_box_invalidate_filter () gtk_flow_box_invalidate_filter void gtk_flow_box_invalidate_filter (GtkFlowBox *box); Updates the filtering for all children. Call this function when the result of the filter function on the box is changed due ot an external factor. For instance, this would be used if the filter function just looked for a specific search term, and the entry with the string has changed. Parameters box a GtkFlowBox GtkFlowBoxSortFunc () GtkFlowBoxSortFunc int (*GtkFlowBoxSortFunc) (GtkFlowBoxChild *child1, GtkFlowBoxChild *child2, gpointer user_data); A function to compare two children to determine which should come first. Parameters child1 the first child child2 the second child user_data user data. [closure] Returns < 0 if child1 should be before child2 , 0 if the are equal, and > 0 otherwise gtk_flow_box_set_sort_func () gtk_flow_box_set_sort_func void gtk_flow_box_set_sort_func (GtkFlowBox *box, GtkFlowBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy); By setting a sort function on the box , one can dynamically reorder the children of the box, based on the contents of the children. The sort_func will be called for each child after the call, and will continue to be called each time a child changes (via gtk_flow_box_child_changed()) and when gtk_flow_box_invalidate_sort() is called. Note that using a sort function is incompatible with using a model (see gtk_flow_box_bind_model()). Parameters box a GtkFlowBox sort_func the sort function. [allow-none] user_data user data passed to sort_func . [closure] destroy destroy notifier for user_data gtk_flow_box_invalidate_sort () gtk_flow_box_invalidate_sort void gtk_flow_box_invalidate_sort (GtkFlowBox *box); Updates the sorting for all children. Call this when the result of the sort function on box is changed due to an external factor. Parameters box a GtkFlowBox GtkFlowBoxCreateWidgetFunc () GtkFlowBoxCreateWidgetFunc GtkWidget * (*GtkFlowBoxCreateWidgetFunc) (gpointer item, gpointer user_data); Called for flow boxes that are bound to a GListModel with gtk_flow_box_bind_model() for each item that gets added to the model. Parameters item the item from the model for which to create a widget for. [type GObject] user_data user data from gtk_flow_box_bind_model(). [closure] Returns a GtkWidget that represents item . [transfer full] gtk_flow_box_bind_model () gtk_flow_box_bind_model void gtk_flow_box_bind_model (GtkFlowBox *box, GListModel *model, GtkFlowBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func); Binds model to box . If box was already bound to a model, that previous binding is destroyed. The contents of box are cleared and then filled with widgets that represent items from model . box is updated whenever model changes. If model is NULL, box is left empty. It is undefined to add or remove widgets directly (for example, with gtk_flow_box_insert() or gtk_container_add()) while box is bound to a model. Note that using a model is incompatible with the filtering and sorting functionality in GtkFlowBox. When using a model, filtering and sorting should be implemented by the model. Parameters box a GtkFlowBox model the GListModel to be bound to box . [allow-none] create_widget_func a function that creates widgets for items user_data user data passed to create_widget_func . [closure] user_data_free_func function for freeing user_data gtk_flow_box_child_new () gtk_flow_box_child_new GtkWidget * gtk_flow_box_child_new (void); Creates a new GtkFlowBoxChild, to be used as a child of a GtkFlowBox. Returns a new GtkFlowBoxChild gtk_flow_box_child_set_child () gtk_flow_box_child_set_child void gtk_flow_box_child_set_child (GtkFlowBoxChild *self, GtkWidget *child); Sets the child widget of self . Parameters self a GtkFlowBoxChild child the child widget. [allow-none] gtk_flow_box_child_get_child () gtk_flow_box_child_get_child GtkWidget * gtk_flow_box_child_get_child (GtkFlowBoxChild *self); Gets the child widget of self . Parameters self a GtkFlowBoxChild Returns the child widget of self . [nullable][transfer none] gtk_flow_box_child_get_index () gtk_flow_box_child_get_index int gtk_flow_box_child_get_index (GtkFlowBoxChild *child); Gets the current index of the child in its GtkFlowBox container. Parameters child a GtkFlowBoxChild Returns the index of the child , or -1 if the child is not in a flow box. gtk_flow_box_child_is_selected () gtk_flow_box_child_is_selected gboolean gtk_flow_box_child_is_selected (GtkFlowBoxChild *child); Returns whether the child is currently selected in its GtkFlowBox container. Parameters child a GtkFlowBoxChild Returns TRUE if child is selected gtk_flow_box_child_changed () gtk_flow_box_child_changed void gtk_flow_box_child_changed (GtkFlowBoxChild *child); Marks child as changed, causing any state that depends on this to be updated. This affects sorting and filtering. Note that calls to this method must be in sync with the data used for the sorting and filtering functions. For instance, if the list is mirroring some external data set, and *two* children changed in the external data set when you call gtk_flow_box_child_changed() on the first child, the sort function must only read the new data for the first of the two changed children, otherwise the resorting of the children will be wrong. This generally means that if you don’t fully control the data model, you have to duplicate the data that affects the sorting and filtering functions into the widgets themselves. Another alternative is to call gtk_flow_box_invalidate_sort() on any model change, but that is more expensive. Parameters child a GtkFlowBoxChild Types and Values GtkFlowBox GtkFlowBox typedef struct _GtkFlowBox GtkFlowBox; struct GtkFlowBoxChild GtkFlowBoxChild struct GtkFlowBoxChild; Property Details The <literal>“accept-unpaired-release”</literal> property GtkFlowBox:accept-unpaired-release “accept-unpaired-release” gboolean Accept an unpaired release event.Owner: GtkFlowBox Flags: Read / Write Default value: FALSE The <literal>“activate-on-single-click”</literal> property GtkFlowBox:activate-on-single-click “activate-on-single-click” gboolean Determines whether children can be activated with a single click, or require a double-click. Owner: GtkFlowBox Flags: Read / Write Default value: TRUE The <literal>“column-spacing”</literal> property GtkFlowBox:column-spacing “column-spacing” guint The amount of horizontal space between two children. Owner: GtkFlowBox Flags: Read / Write Default value: 0 The <literal>“homogeneous”</literal> property GtkFlowBox:homogeneous “homogeneous” gboolean Determines whether all children should be allocated the same size. Owner: GtkFlowBox Flags: Read / Write Default value: FALSE The <literal>“max-children-per-line”</literal> property GtkFlowBox:max-children-per-line “max-children-per-line” guint The maximum amount of children to request space for consecutively in the given orientation. Owner: GtkFlowBox Flags: Read / Write Allowed values: >= 1 Default value: 7 The <literal>“min-children-per-line”</literal> property GtkFlowBox:min-children-per-line “min-children-per-line” guint The minimum number of children to allocate consecutively in the given orientation. Setting the minimum children per line ensures that a reasonably small height will be requested for the overall minimum width of the box. Owner: GtkFlowBox Flags: Read / Write Default value: 0 The <literal>“row-spacing”</literal> property GtkFlowBox:row-spacing “row-spacing” guint The amount of vertical space between two children. Owner: GtkFlowBox Flags: Read / Write Default value: 0 The <literal>“selection-mode”</literal> property GtkFlowBox:selection-mode “selection-mode” GtkSelectionMode The selection mode used by the flow box. Owner: GtkFlowBox Flags: Read / Write Default value: GTK_SELECTION_SINGLE The <literal>“child”</literal> property GtkFlowBoxChild:child “child” GtkWidget * The child widget.Owner: GtkFlowBoxChild Flags: Read / Write Signal Details The <literal>“activate-cursor-child”</literal> signal GtkFlowBox::activate-cursor-child void user_function (GtkFlowBox *box, gpointer user_data) The ::activate-cursor-child signal is a keybinding signal which gets emitted when the user activates the box . Parameters box the GtkFlowBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“child-activated”</literal> signal GtkFlowBox::child-activated void user_function (GtkFlowBox *box, GtkFlowBoxChild *child, gpointer user_data) The ::child-activated signal is emitted when a child has been activated by the user. Parameters box the GtkFlowBox on which the signal is emitted child the child that is activated user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“move-cursor”</literal> signal GtkFlowBox::move-cursor gboolean user_function (GtkFlowBox *box, GtkMovementStep step, gint count, gboolean extend, gboolean modify, gpointer user_data) The ::move-cursor signal is a keybinding signal which gets emitted when the user initiates a cursor movement. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here. Arrow keys move by individual children Home/End keys move to the ends of the box PageUp/PageDown keys move vertically by pages Parameters box the GtkFlowBox on which the signal is emitted step the granularity fo the move, as a GtkMovementStep count the number of step units to move extend whether to extend the selection modify whether to modify the selection user_data user data set when the signal handler was connected. Returns TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. Flags: Action The <literal>“select-all”</literal> signal GtkFlowBox::select-all void user_function (GtkFlowBox *box, gpointer user_data) The ::select-all signal is a keybinding signal which gets emitted to select all children of the box, if the selection mode permits it. The default bindings for this signal is Ctrl-a. Parameters box the GtkFlowBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“selected-children-changed”</literal> signal GtkFlowBox::selected-children-changed void user_function (GtkFlowBox *box, gpointer user_data) The ::selected-children-changed signal is emitted when the set of selected children changes. Use gtk_flow_box_selected_foreach() or gtk_flow_box_get_selected_children() to obtain the selected children. Parameters box the GtkFlowBox on wich the signal is emitted user_data user data set when the signal handler was connected. Flags: Run First The <literal>“toggle-cursor-child”</literal> signal GtkFlowBox::toggle-cursor-child void user_function (GtkFlowBox *box, gpointer user_data) The ::toggle-cursor-child signal is a keybinding signal which toggles the selection of the child that has the focus. The default binding for this signal is Ctrl-Space. Parameters box the GtkFlowBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“unselect-all”</literal> signal GtkFlowBox::unselect-all void user_function (GtkFlowBox *box, gpointer user_data) The ::unselect-all signal is a keybinding signal which gets emitted to unselect all children of the box, if the selection mode permits it. The default bindings for this signal is Ctrl-Shift-a. Parameters box the GtkFlowBox on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action The <literal>“activate”</literal> signal GtkFlowBoxChild::activate void user_function (GtkFlowBoxChild *child, gpointer user_data) The ::activate signal is emitted when the user activates a child widget in a GtkFlowBox, either by clicking or double-clicking, or by using the Space or Enter key. While this signal is used as a keybinding signal, it can be used by applications for their own purposes. Parameters child The child on which the signal is emitted user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtkpopover.xml0000664000175000017500000011536113710700314020106 0ustar mclasenmclasen ]> GtkPopover 3 GTK4 Library GtkPopover Context dependent bubbles Functions GtkWidget * gtk_popover_new () void gtk_popover_popup () void gtk_popover_popdown () void gtk_popover_set_child () GtkWidget * gtk_popover_get_child () void gtk_popover_set_pointing_to () gboolean gtk_popover_get_pointing_to () void gtk_popover_set_position () GtkPositionType gtk_popover_get_position () void gtk_popover_set_autohide () gboolean gtk_popover_get_autohide () void gtk_popover_set_has_arrow () gboolean gtk_popover_get_has_arrow () void gtk_popover_set_default_widget () Properties gbooleanautohideRead / Write GtkWidget *childRead / Write GtkWidget *default-widgetRead / Write gbooleanhas-arrowRead / Write gbooleanmnemonics-visibleRead / Write GdkRectangle *pointing-toRead / Write GtkPositionTypepositionRead / Write Signals voidactivate-defaultAction voidclosedRun Last Types and Values structGtkPopover Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPopover ├── GtkEmojiChooser ╰── GtkPopoverMenu Implemented Interfaces GtkPopover implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative. Includes#include <gtk/gtk.h> Description GtkPopover is a bubble-like context window, primarily meant to provide context-dependent information or options. Popovers are attached to a widget, set with gtk_widget_set_parent(). By default they will point to the whole widget area, although this behavior can be changed through gtk_popover_set_pointing_to(). The position of a popover relative to the widget it is attached to can also be changed through gtk_popover_set_position(). By default, GtkPopover performs a grab, in order to ensure input events get redirected to it while it is shown, and also so the popover is dismissed in the expected situations (clicks outside the popover, or the Escape key being pressed). If no such modal behavior is desired on a popover, gtk_popover_set_autohide() may be called on it to tweak its behavior. GtkPopover as menu replacementGtkPopover is often used to replace menus. The best was to do this is to use the GtkPopoverMenu subclass which supports being populated from a GMenuModel with gtk_popover_menu_new_from_model(). horizontal-buttons Cut app.cut edit-cut-symbolic Copy app.copy edit-copy-symbolic Paste app.paste edit-paste-symbolic ]]> CSS nodes ]]> The contents child node always gets the .background style class and the popover itself gets the .menu style class if the popover is menu-like (i.e. GtkPopoverMenu). Particular uses of GtkPopover, such as touch selection popups or magnifiers in GtkEntry or GtkTextView get style classes like .touch-selection or .magnifier to differentiate from plain popovers. When styling a popover directly, the popover node should usually not have any background. Note that, in order to accomplish appropriate arrow visuals, GtkPopover uses custom drawing for the arrow node. This makes it possible for the arrow to change its shape dynamically, but it also limits the possibilities of styling it using CSS. In particular, the arrow gets drawn over the content node's border so they look like one shape, which means that the border-width of the content node and the arrow node should be the same. The arrow also does not support any border shape other than solid, no border-radius, only one border width (border-bottom-width is used) and no box-shadow. Functions gtk_popover_new () gtk_popover_new GtkWidget * gtk_popover_new (void); Creates a new popover. Returns the new popover gtk_popover_popup () gtk_popover_popup void gtk_popover_popup (GtkPopover *popover); Pops popover up. This is different than a gtk_widget_show() call in that it shows the popover with a transition. If you want to show the popover without a transition, use gtk_widget_show(). Parameters popover a GtkPopover gtk_popover_popdown () gtk_popover_popdown void gtk_popover_popdown (GtkPopover *popover); Pops popover down.This is different than a gtk_widget_hide() call in that it shows the popover with a transition. If you want to hide the popover without a transition, use gtk_widget_hide(). Parameters popover a GtkPopover gtk_popover_set_child () gtk_popover_set_child void gtk_popover_set_child (GtkPopover *popover, GtkWidget *child); Sets the child widget of popover . Parameters popover a GtkPopover child the child widget. [allow-none] gtk_popover_get_child () gtk_popover_get_child GtkWidget * gtk_popover_get_child (GtkPopover *popover); Gets the child widget of popover . Parameters popover a GtkPopover Returns the child widget of popover . [nullable][transfer none] gtk_popover_set_pointing_to () gtk_popover_set_pointing_to void gtk_popover_set_pointing_to (GtkPopover *popover, const GdkRectangle *rect); Sets the rectangle that popover will point to, in the coordinate space of the popover parent. Parameters popover a GtkPopover rect rectangle to point to gtk_popover_get_pointing_to () gtk_popover_get_pointing_to gboolean gtk_popover_get_pointing_to (GtkPopover *popover, GdkRectangle *rect); If a rectangle to point to has been set, this function will return TRUE and fill in rect with such rectangle, otherwise it will return FALSE and fill in rect with the attached widget coordinates. Parameters popover a GtkPopover rect location to store the rectangle. [out] Returns TRUE if a rectangle to point to was set. gtk_popover_set_position () gtk_popover_set_position void gtk_popover_set_position (GtkPopover *popover, GtkPositionType position); Sets the preferred position for popover to appear. If the popover is currently visible, it will be immediately updated. This preference will be respected where possible, although on lack of space (eg. if close to the window edges), the GtkPopover may choose to appear on the opposite side Parameters popover a GtkPopover position preferred popover position gtk_popover_get_position () gtk_popover_get_position GtkPositionType gtk_popover_get_position (GtkPopover *popover); Returns the preferred position of popover . Parameters popover a GtkPopover Returns The preferred position. gtk_popover_set_autohide () gtk_popover_set_autohide void gtk_popover_set_autohide (GtkPopover *popover, gboolean autohide); Sets whether popover is modal. A modal popover will grab the keyboard focus on it when being displayed. Clicking outside the popover area or pressing Esc will dismiss the popover. Called this function on an already showing popup with a new autohide value different from the current one, will cause the popup to be hidden. Parameters popover a GtkPopover autohide TRUE to dismiss the popover on outside clicks gtk_popover_get_autohide () gtk_popover_get_autohide gboolean gtk_popover_get_autohide (GtkPopover *popover); Returns whether the popover is modal. See gtk_popover_set_autohide() for the implications of this. Parameters popover a GtkPopover Returns TRUE if popover is modal gtk_popover_set_has_arrow () gtk_popover_set_has_arrow void gtk_popover_set_has_arrow (GtkPopover *popover, gboolean has_arrow); Sets whether this popover should draw an arrow pointing at the widget it is relative to. Parameters popover a GtkPopover has_arrow TRUE to draw an arrow gtk_popover_get_has_arrow () gtk_popover_get_has_arrow gboolean gtk_popover_get_has_arrow (GtkPopover *popover); Gets whether this popover is showing an arrow pointing at the widget that it is relative to. Parameters popover a GtkPopover Returns whether the popover has an arrow gtk_popover_set_default_widget () gtk_popover_set_default_widget void gtk_popover_set_default_widget (GtkPopover *popover, GtkWidget *widget); The default widget is the widget that’s activated when the user presses Enter in a dialog (for example). This function sets or unsets the default widget for a GtkPopover. Parameters popover a GtkPopover widget a child widget of popover to set as the default, or NULL to unset the default widget for the popover. [allow-none] Types and Values struct GtkPopover GtkPopover struct GtkPopover; Property Details The <literal>“autohide”</literal> property GtkPopover:autohide “autohide” gboolean Whether to dismiss the popover on outside clicks.Owner: GtkPopover Flags: Read / Write Default value: TRUE The <literal>“child”</literal> property GtkPopover:child “child” GtkWidget * The child widget.Owner: GtkPopover Flags: Read / Write The <literal>“default-widget”</literal> property GtkPopover:default-widget “default-widget” GtkWidget * The default widget.Owner: GtkPopover Flags: Read / Write The <literal>“has-arrow”</literal> property GtkPopover:has-arrow “has-arrow” gboolean Whether to draw an arrow.Owner: GtkPopover Flags: Read / Write Default value: TRUE The <literal>“mnemonics-visible”</literal> property GtkPopover:mnemonics-visible “mnemonics-visible” gboolean Whether mnemonics are currently visible in this popover.Owner: GtkPopover Flags: Read / Write Default value: FALSE The <literal>“pointing-to”</literal> property GtkPopover:pointing-to “pointing-to” GdkRectangle * Rectangle the bubble window points to.Owner: GtkPopover Flags: Read / Write The <literal>“position”</literal> property GtkPopover:position “position” GtkPositionType Position to place the bubble window.Owner: GtkPopover Flags: Read / Write Default value: GTK_POS_BOTTOM Signal Details The <literal>“activate-default”</literal> signal GtkPopover::activate-default void user_function (GtkPopover *popover, gpointer user_data) Flags: Action The <literal>“closed”</literal> signal GtkPopover::closed void user_function (GtkPopover *popover, gpointer user_data) Flags: Run Last docs/reference/gtk/xml/gtkpopovermenu.xml0000664000175000017500000005172513710700314020776 0ustar mclasenmclasen ]> GtkPopoverMenu 3 GTK4 Library GtkPopoverMenu Popovers to use as menus Functions GtkWidget * gtk_popover_menu_new_from_model () GtkWidget * gtk_popover_menu_new_from_model_full () void gtk_popover_menu_set_menu_model () GMenuModel * gtk_popover_menu_get_menu_model () Properties GMenuModel *menu-modelRead / Write gchar *visible-submenuRead / Write Types and Values GtkPopoverMenu enumGtkPopoverMenuFlags Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPopover ╰── GtkPopoverMenu Implemented Interfaces GtkPopoverMenu implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative. Includes#include <gtk/gtk.h> Description GtkPopoverMenu is a subclass of GtkPopover that treats its children like menus and allows switching between them. It can open submenus as traditional, nested submenus, or in a more touch-friendly sliding fashion. GtkPopoverMenu is meant to be used primarily with menu models, using gtk_popover_menu_new_from_model(). If you need to put other widgets such as GtkSpinButton or GtkSwitch into a popover, use a plain GtkPopover. Menu modelsThe XML format understood by GtkBuilder for GMenuModel consists of a toplevel <menu> element, which contains one or more <item> elements. Each <item> element contains <attribute> and <link> elements with a mandatory name attribute. <link> elements have the same content model as <menu>. Instead of <link name="submenu> or <link name="section">, you can use <submenu> or <section> elements.
_New Window app.new _About Sunny app.about _Quit app.quit
]]>
Attribute values can be translated using gettext, like other GtkBuilder content. <attribute> elements can be marked for translation with a translatable="yes" attribute. It is also possible to specify message context and translator comments, using the context and comments attributes. To make use of this, the GtkBuilder must have been given the gettext domain to use. The following attributes are used when constructing menu items: "label": a user-visible string to display "action": the prefixed name of the action to trigger "target": the parameter to use when activating the action "icon" and "verb-icon": names of icons that may be displayed "submenu-action": name of an action that may be used to determine if a submenu can be opened "hidden-when": a string used to determine when the item will be hidden. Possible values include "action-disabled", "action-missing", "macos-menubar". This is mainly useful for exported menus, see gtk_application_set_menubar(). The following attributes are used when constructing sections: "label": a user-visible string to use as section heading "display-hint": a string used to determine special formatting for the section. Possible values include "horizontal-buttons", "circular-buttons" and "inline-buttons". They all indicate that section should be displayed as a horizontal row of buttons. "text-direction": a string used to determine the GtkTextDirection to use when "display-hint" is set to "horizontal-buttons". Possible values include "rtl", "ltr", and "none". The following attributes are used when constructing submenus: "label": a user-visible string to display "icon": icon name to display Menu items will also show accelerators, which are usually associated with actions via gtk_application_set_accels_for_action(), gtk_widget_class_add_binding_action() or gtk_shortcut_controller_add_shortcut().
CSS NodesGtkPopoverMenu is just a subclass of GtkPopover that adds custom content to it, therefore it has the same CSS nodes. It is one of the cases that add a .menu style class to the popover's main node.
Functions gtk_popover_menu_new_from_model () gtk_popover_menu_new_from_model GtkWidget * gtk_popover_menu_new_from_model (GMenuModel *model); Creates a GtkPopoverMenu and populates it according to model . The created buttons are connected to actions found in the GtkApplicationWindow to which the popover belongs - typically by means of being attached to a widget that is contained within the GtkApplicationWindows widget hierarchy. Actions can also be added using gtk_widget_insert_action_group() on the menus attach widget or on any of its parent widgets. This function creates menus with sliding submenus. See gtk_popover_menu_new_from_model_full() for a way to control this. Parameters model a GMenuModel, or NULL. [allow-none] Returns the new GtkPopoverMenu gtk_popover_menu_new_from_model_full () gtk_popover_menu_new_from_model_full GtkWidget * gtk_popover_menu_new_from_model_full (GMenuModel *model, GtkPopoverMenuFlags flags); Creates a GtkPopoverMenu and populates it according to model . The created buttons are connected to actions found in the action groups that are accessible from the parent widget. This includes the GtkApplicationWindow to which the popover belongs. Actions can also be added using gtk_widget_insert_action_group() on the parent widget or on any of its parent widgets. The only flag that is supported currently is GTK_POPOVER_MENU_NESTED, which makes GTK create traditional, nested submenus instead of the default sliding submenus. Parameters model a GMenuModel flags flags that affect how the menu is created Returns the new GtkPopoverMenu. [transfer full] gtk_popover_menu_set_menu_model () gtk_popover_menu_set_menu_model void gtk_popover_menu_set_menu_model (GtkPopoverMenu *popover, GMenuModel *model); Sets a new menu model on popover . The existing contents of popover are removed, and the popover is populated with new contents according to model . Parameters popover a GtkPopoverMenu model a GMenuModel, or NULL. [nullable] gtk_popover_menu_get_menu_model () gtk_popover_menu_get_menu_model GMenuModel * gtk_popover_menu_get_menu_model (GtkPopoverMenu *popover); Returns the menu model used to populate the popover. Parameters popover a GtkPopoverMenu Returns the menu model of popover . [transfer none] Types and Values GtkPopoverMenu GtkPopoverMenu typedef struct _GtkPopoverMenu GtkPopoverMenu; enum GtkPopoverMenuFlags GtkPopoverMenuFlags Flags that affect how popover menus are created from a menu model. Members GTK_POPOVER_MENU_NESTED Create submenus as nested popovers. Without this flag, submenus are created as sliding pages that replace the main menu. Property Details The <literal>“menu-model”</literal> property GtkPopoverMenu:menu-model “menu-model” GMenuModel * The model from which the menu is made.Owner: GtkPopoverMenu Flags: Read / Write The <literal>“visible-submenu”</literal> property GtkPopoverMenu:visible-submenu “visible-submenu” gchar * The name of the visible submenu.Owner: GtkPopoverMenu Flags: Read / Write Default value: NULL
docs/reference/gtk/xml/gtkpopovermenubar.xml0000664000175000017500000002621413710700314021456 0ustar mclasenmclasen ]> GtkPopoverMenuBar 3 GTK4 Library GtkPopoverMenuBar A menu bar with popovers Functions GtkWidget * gtk_popover_menu_bar_new_from_model () void gtk_popover_menu_bar_set_menu_model () GMenuModel * gtk_popover_menu_bar_get_menu_model () Properties GMenuModel *menu-modelRead / Write Types and Values GtkPopoverMenuBar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPopoverMenuBar Implemented Interfaces GtkPopoverMenuBar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkPopoverMenuBar presents a horizontal bar of items that pop up popover menus when clicked. The only way to create instances of GtkPopoverMenuBar is from a GMenuModel. CSS nodes GtkPopoverMenuBar has a single CSS node with name menubar, below which each item has its CSS node, and below that the corresponding popover. The item whose popover is currently open gets the .active style class. Functions gtk_popover_menu_bar_new_from_model () gtk_popover_menu_bar_new_from_model GtkWidget * gtk_popover_menu_bar_new_from_model (GMenuModel *model); Creates a GtkPopoverMenuBar from a GMenuModel. Parameters model a GMenuModel, or NULL. [allow-none] Returns a new GtkPopoverMenuBar gtk_popover_menu_bar_set_menu_model () gtk_popover_menu_bar_set_menu_model void gtk_popover_menu_bar_set_menu_model (GtkPopoverMenuBar *bar, GMenuModel *model); Sets a menu model from which bar should take its contents. Parameters bar a GtkPopoverMenuBar model a GMenuModel, or NULL. [allow-none] gtk_popover_menu_bar_get_menu_model () gtk_popover_menu_bar_get_menu_model GMenuModel * gtk_popover_menu_bar_get_menu_model (GtkPopoverMenuBar *bar); Returns the model from which the contents of bar are taken. Parameters bar a GtkPopoverMenuBar Returns a GMenuModel. [transfer none] Types and Values GtkPopoverMenuBar GtkPopoverMenuBar typedef struct _GtkPopoverMenuBar GtkPopoverMenuBar; Property Details The <literal>“menu-model”</literal> property GtkPopoverMenuBar:menu-model “menu-model” GMenuModel * The GMenuModel from which the menu bar is created. The model should only contain submenus as toplevel elements. Owner: GtkPopoverMenuBar Flags: Read / Write See Also GtkPopover, GtkPopoverMenu, GMenuModel docs/reference/gtk/xml/gtkeventcontroller.xml0000664000175000017500000010475413710700314021645 0ustar mclasenmclasen ]> GtkEventController 3 GTK4 Library GtkEventController Self-contained handler of series of events Functions GtkPropagationPhase gtk_event_controller_get_propagation_phase () void gtk_event_controller_set_propagation_phase () GtkPropagationLimit gtk_event_controller_get_propagation_limit () void gtk_event_controller_set_propagation_limit () GtkWidget * gtk_event_controller_get_widget () void gtk_event_controller_reset () const char * gtk_event_controller_get_name () void gtk_event_controller_set_name () GdkEvent * gtk_event_controller_get_current_event () GdkDevice * gtk_event_controller_get_current_event_device () GdkModifierType gtk_event_controller_get_current_event_state () guint32 gtk_event_controller_get_current_event_time () Properties gchar *nameRead / Write GtkPropagationLimitpropagation-limitRead / Write GtkPropagationPhasepropagation-phaseRead / Write GtkWidget *widgetRead Types and Values GtkEventController enumGtkPropagationPhase enumGtkPropagationLimit Object Hierarchy GObject ╰── GtkEventController ├── GtkGesture ├── GtkDropTarget ├── GtkDropTargetAsync ├── GtkEventControllerKey ├── GtkEventControllerFocus ├── GtkEventControllerLegacy ├── GtkEventControllerMotion ├── GtkEventControllerScroll ├── GtkPadController ╰── GtkShortcutController Includes#include <gtk/gtk.h> Description GtkEventController is a base, low-level implementation for event controllers. Those react to a series of GdkEvents, and possibly trigger actions as a consequence of those. Functions gtk_event_controller_get_propagation_phase () gtk_event_controller_get_propagation_phase GtkPropagationPhase gtk_event_controller_get_propagation_phase (GtkEventController *controller); Gets the propagation phase at which controller handles events. Parameters controller a GtkEventController Returns the propagation phase gtk_event_controller_set_propagation_phase () gtk_event_controller_set_propagation_phase void gtk_event_controller_set_propagation_phase (GtkEventController *controller, GtkPropagationPhase phase); Sets the propagation phase at which a controller handles events. If phase is GTK_PHASE_NONE, no automatic event handling will be performed, but other additional gesture maintenance will. In that phase, the events can be managed by calling gtk_event_controller_handle_event(). Parameters controller a GtkEventController phase a propagation phase gtk_event_controller_get_propagation_limit () gtk_event_controller_get_propagation_limit GtkPropagationLimit gtk_event_controller_get_propagation_limit (GtkEventController *controller); Gets the propagation limit of the event controller. Parameters controller a GtkEventController Returns the propagation limit gtk_event_controller_set_propagation_limit () gtk_event_controller_set_propagation_limit void gtk_event_controller_set_propagation_limit (GtkEventController *controller, GtkPropagationLimit limit); Sets the event propagation limit on the event controller. If the limit is set to %GTK_LIMIT_SAME_NATIVE , the controller won't handle events that are targeted at widgets on a different surface, such as popovers. Parameters controller a GtkEventController limit the propagation limit gtk_event_controller_get_widget () gtk_event_controller_get_widget GtkWidget * gtk_event_controller_get_widget (GtkEventController *controller); Returns the GtkWidget this controller relates to. Parameters controller a GtkEventController Returns a GtkWidget. [transfer none] gtk_event_controller_reset () gtk_event_controller_reset void gtk_event_controller_reset (GtkEventController *controller); Resets the controller to a clean state. Every interaction the controller did through gtk_event_controller_handle_event() will be dropped at this point. Parameters controller a GtkEventController gtk_event_controller_get_name () gtk_event_controller_get_name const char * gtk_event_controller_get_name (GtkEventController *controller); Gets the name of controller . Parameters controller a GtkEventController gtk_event_controller_set_name () gtk_event_controller_set_name void gtk_event_controller_set_name (GtkEventController *controller, const char *name); Sets a name on the controller that can be used for debugging. Parameters controller a GtkEventController name a name for controller gtk_event_controller_get_current_event () gtk_event_controller_get_current_event GdkEvent * gtk_event_controller_get_current_event (GtkEventController *controller); Returns the event that is currently being handled by the controller, and NULL at other times. Parameters controller a GtkEventController Returns the event is current handled by controller . [nullable][transfer none] gtk_event_controller_get_current_event_device () gtk_event_controller_get_current_event_device GdkDevice * gtk_event_controller_get_current_event_device (GtkEventController *controller); Returns the device of the event that is currently being handled by the controller, and NULL otherwise. Parameters controller a GtkEventController Returns device of the event is current handled by controller . [nullable][transfer none] gtk_event_controller_get_current_event_state () gtk_event_controller_get_current_event_state GdkModifierType gtk_event_controller_get_current_event_state (GtkEventController *controller); Returns the modifier state of the event that is currently being handled by the controller, and 0 otherwise. Parameters controller a GtkEventController Returns modifier state of the event is current handled by controller gtk_event_controller_get_current_event_time () gtk_event_controller_get_current_event_time guint32 gtk_event_controller_get_current_event_time (GtkEventController *controller); Returns the timestamp of the event that is currently being handled by the controller, and 0 otherwise. Parameters controller a GtkEventController Returns timestamp of the event is current handled by controller Types and Values GtkEventController GtkEventController typedef struct _GtkEventController GtkEventController; enum GtkPropagationPhase GtkPropagationPhase Describes the stage at which events are fed into a GtkEventController. Members GTK_PHASE_NONE Events are not delivered automatically. Those can be manually fed through gtk_event_controller_handle_event(). This should only be used when full control about when, or whether the controller handles the event is needed. GTK_PHASE_CAPTURE Events are delivered in the capture phase. The capture phase happens before the bubble phase, runs from the toplevel down to the event widget. This option should only be used on containers that might possibly handle events before their children do. GTK_PHASE_BUBBLE Events are delivered in the bubble phase. The bubble phase happens after the capture phase, and before the default handlers are run. This phase runs from the event widget, up to the toplevel. GTK_PHASE_TARGET Events are delivered in the default widget event handlers, note that widget implementations must chain up on button, motion, touch and grab broken handlers for controllers in this phase to be run. enum GtkPropagationLimit GtkPropagationLimit Describes limits of a GtkEventController for handling events targeting other widgets. Members GTK_LIMIT_NONE Events are handled regardless of what their target is. GTK_LIMIT_SAME_NATIVE Events are only handled if their target is in the same GtkNative as the event controllers widget. Note that some event types have two targets (origin and destination). Property Details The <literal>“name”</literal> property GtkEventController:name “name” gchar * Name for this controller.Owner: GtkEventController Flags: Read / Write Default value: NULL The <literal>“propagation-limit”</literal> property GtkEventController:propagation-limit “propagation-limit” GtkPropagationLimit The limit for which events this controller will handle. Owner: GtkEventController Flags: Read / Write Default value: GTK_LIMIT_SAME_NATIVE The <literal>“propagation-phase”</literal> property GtkEventController:propagation-phase “propagation-phase” GtkPropagationPhase The propagation phase at which this controller will handle events. Owner: GtkEventController Flags: Read / Write Default value: GTK_PHASE_BUBBLE The <literal>“widget”</literal> property GtkEventController:widget “widget” GtkWidget * The widget receiving the GdkEvents that the controller will handle. Owner: GtkEventController Flags: Read See Also GtkGesture docs/reference/gtk/xml/gtkgesture.xml0000664000175000017500000020262613710700314020073 0ustar mclasenmclasen ]> GtkGesture 3 GTK4 Library GtkGesture Base class for gestures Functions GdkDevice * gtk_gesture_get_device () gboolean gtk_gesture_is_active () gboolean gtk_gesture_is_recognized () GtkEventSequenceState gtk_gesture_get_sequence_state () gboolean gtk_gesture_set_sequence_state () gboolean gtk_gesture_set_state () GList * gtk_gesture_get_sequences () gboolean gtk_gesture_handles_sequence () GdkEventSequence * gtk_gesture_get_last_updated_sequence () GdkEvent * gtk_gesture_get_last_event () gboolean gtk_gesture_get_point () gboolean gtk_gesture_get_bounding_box () gboolean gtk_gesture_get_bounding_box_center () void gtk_gesture_group () void gtk_gesture_ungroup () GList * gtk_gesture_get_group () gboolean gtk_gesture_is_grouped_with () Properties guintn-pointsRead / Write / Construct Only Signals voidbeginRun Last voidcancelRun Last voidendRun Last voidsequence-state-changedRun Last voidupdateRun Last Types and Values GtkGesture enumGtkEventSequenceState Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ├── GtkGestureSingle ├── GtkGestureRotate ╰── GtkGestureZoom Includes#include <gtk/gtk.h> Description GtkGesture is the base object for gesture recognition, although this object is quite generalized to serve as a base for multi-touch gestures, it is suitable to implement single-touch and pointer-based gestures (using the special NULL GdkEventSequence value for these). The number of touches that a GtkGesture need to be recognized is controlled by the “n-points” property, if a gesture is keeping track of less or more than that number of sequences, it won't check wether the gesture is recognized. As soon as the gesture has the expected number of touches, the gesture will run the “check” signal regularly on input events until the gesture is recognized, the criteria to consider a gesture as "recognized" is left to GtkGesture subclasses. A recognized gesture will then emit the following signals: “begin” when the gesture is recognized. A number of “update”, whenever an input event is processed. “end” when the gesture is no longer recognized. Event propagationIn order to receive events, a gesture needs to either set a propagation phase through gtk_event_controller_set_propagation_phase(), or feed those manually through gtk_event_controller_handle_event(). In the capture phase, events are propagated from the toplevel down to the target widget, and gestures that are attached to containers above the widget get a chance to interact with the event before it reaches the target. After the capture phase, GTK+ emits the traditional “event” signal. Gestures with the GTK_PHASE_TARGET phase are fed events from the default “event” handlers. In the bubble phase, events are propagated up from the target widget to the toplevel, and gestures that are attached to containers above the widget get a chance to interact with events that have not been handled yet. States of a sequenceWhenever input interaction happens, a single event may trigger a cascade of GtkGestures, both across the parents of the widget receiving the event and in parallel within an individual widget. It is a responsibility of the widgets using those gestures to set the state of touch sequences accordingly in order to enable cooperation of gestures around the GdkEventSequences triggering those. Within a widget, gestures can be grouped through gtk_gesture_group(), grouped gestures synchronize the state of sequences, so calling gtk_gesture_set_sequence_state() on one will effectively propagate the state throughout the group. By default, all sequences start out in the GTK_EVENT_SEQUENCE_NONE state, sequences in this state trigger the gesture event handler, but event propagation will continue unstopped by gestures. If a sequence enters into the GTK_EVENT_SEQUENCE_DENIED state, the gesture group will effectively ignore the sequence, letting events go unstopped through the gesture, but the "slot" will still remain occupied while the touch is active. If a sequence enters in the GTK_EVENT_SEQUENCE_CLAIMED state, the gesture group will grab all interaction on the sequence, by: Setting the same sequence to GTK_EVENT_SEQUENCE_DENIED on every other gesture group within the widget, and every gesture on parent widgets in the propagation chain. calling “cancel” on every gesture in widgets underneath in the propagation chain. Stopping event propagation after the gesture group handles the event. Note: if a sequence is set early to GTK_EVENT_SEQUENCE_CLAIMED on GDK_TOUCH_BEGIN/GDK_BUTTON_PRESS (so those events are captured before reaching the event widget, this implies GTK_PHASE_CAPTURE), one similar event will emulated if the sequence changes to GTK_EVENT_SEQUENCE_DENIED. This way event coherence is preserved before event propagation is unstopped again. Sequence states can't be changed freely, see gtk_gesture_set_sequence_state() to know about the possible lifetimes of a GdkEventSequence. Touchpad gesturesOn the platforms that support it, GtkGesture will handle transparently touchpad gesture events. The only precautions users of GtkGesture should do to enable this support are: Enabling GDK_TOUCHPAD_GESTURE_MASK on their GdkSurfaces If the gesture has GTK_PHASE_NONE, ensuring events of type GDK_TOUCHPAD_SWIPE and GDK_TOUCHPAD_PINCH are handled by the GtkGesture Functions gtk_gesture_get_device () gtk_gesture_get_device GdkDevice * gtk_gesture_get_device (GtkGesture *gesture); Returns the logical GdkDevice that is currently operating on gesture , or NULL if the gesture is not being interacted. Parameters gesture a GtkGesture Returns a GdkDevice, or NULL. [nullable][transfer none] gtk_gesture_is_active () gtk_gesture_is_active gboolean gtk_gesture_is_active (GtkGesture *gesture); Returns TRUE if the gesture is currently active. A gesture is active meanwhile there are touch sequences interacting with it. Parameters gesture a GtkGesture Returns TRUE if gesture is active gtk_gesture_is_recognized () gtk_gesture_is_recognized gboolean gtk_gesture_is_recognized (GtkGesture *gesture); Returns TRUE if the gesture is currently recognized. A gesture is recognized if there are as many interacting touch sequences as required by gesture , and “check” returned TRUE for the sequences being currently interpreted. Parameters gesture a GtkGesture Returns TRUE if gesture is recognized gtk_gesture_get_sequence_state () gtk_gesture_get_sequence_state GtkEventSequenceState gtk_gesture_get_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence); Returns the sequence state, as seen by gesture . Parameters gesture a GtkGesture sequence a GdkEventSequence Returns The sequence state in gesture gtk_gesture_set_sequence_state () gtk_gesture_set_sequence_state gboolean gtk_gesture_set_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence, GtkEventSequenceState state); Sets the state of sequence in gesture . Sequences start in state GTK_EVENT_SEQUENCE_NONE, and whenever they change state, they can never go back to that state. Likewise, sequences in state GTK_EVENT_SEQUENCE_DENIED cannot turn back to a not denied state. With these rules, the lifetime of an event sequence is constrained to the next four: None None → Denied None → Claimed None → Claimed → Denied Note: Due to event handling ordering, it may be unsafe to set the state on another gesture within a “begin” signal handler, as the callback might be executed before the other gesture knows about the sequence. A safe way to perform this could be: If both gestures are in the same group, just set the state on the gesture emitting the event, the sequence will be already be initialized to the group's global state when the second gesture processes the event. Parameters gesture a GtkGesture sequence a GdkEventSequence state the sequence state Returns TRUE if sequence is handled by gesture , and the state is changed successfully gtk_gesture_set_state () gtk_gesture_set_state gboolean gtk_gesture_set_state (GtkGesture *gesture, GtkEventSequenceState state); Sets the state of all sequences that gesture is currently interacting with. See gtk_gesture_set_sequence_state() for more details on sequence states. Parameters gesture a GtkGesture state the sequence state Returns TRUE if the state of at least one sequence was changed successfully gtk_gesture_get_sequences () gtk_gesture_get_sequences GList * gtk_gesture_get_sequences (GtkGesture *gesture); Returns the list of GdkEventSequences currently being interpreted by gesture . Parameters gesture a GtkGesture Returns A list of GdkEventSequences, the list elements are owned by GTK+ and must not be freed or modified, the list itself must be deleted through g_list_free(). [transfer container][element-type GdkEventSequence] gtk_gesture_handles_sequence () gtk_gesture_handles_sequence gboolean gtk_gesture_handles_sequence (GtkGesture *gesture, GdkEventSequence *sequence); Returns TRUE if gesture is currently handling events corresponding to sequence . Parameters gesture a GtkGesture sequence a GdkEventSequence or NULL. [nullable] Returns TRUE if gesture is handling sequence , FALSE otherwise gtk_gesture_get_last_updated_sequence () gtk_gesture_get_last_updated_sequence GdkEventSequence * gtk_gesture_get_last_updated_sequence (GtkGesture *gesture); Returns the GdkEventSequence that was last updated on gesture . Parameters gesture a GtkGesture Returns The last updated sequence. [transfer none][nullable] gtk_gesture_get_last_event () gtk_gesture_get_last_event GdkEvent * gtk_gesture_get_last_event (GtkGesture *gesture, GdkEventSequence *sequence); Returns the last event that was processed for sequence . Note that the returned pointer is only valid as long as the sequence is still interpreted by the gesture . If in doubt, you should make a copy of the event. Parameters gesture a GtkGesture sequence a GdkEventSequence. [nullable] Returns The last event from sequence . [transfer none][nullable] gtk_gesture_get_point () gtk_gesture_get_point gboolean gtk_gesture_get_point (GtkGesture *gesture, GdkEventSequence *sequence, double *x, double *y); If sequence is currently being interpreted by gesture , this function returns TRUE and fills in x and y with the last coordinates stored for that event sequence. The coordinates are always relative to the widget allocation. Parameters gesture a GtkGesture sequence a GdkEventSequence, or NULL for pointer events. [allow-none] x return location for X axis of the sequence coordinates. [out][allow-none] y return location for Y axis of the sequence coordinates. [out][allow-none] Returns TRUE if sequence is currently interpreted gtk_gesture_get_bounding_box () gtk_gesture_get_bounding_box gboolean gtk_gesture_get_bounding_box (GtkGesture *gesture, GdkRectangle *rect); If there are touch sequences being currently handled by gesture , this function returns TRUE and fills in rect with the bounding box containing all active touches. Otherwise, FALSE will be returned. Note: This function will yield unexpected results on touchpad gestures. Since there is no correlation between physical and pixel distances, these will look as if constrained in an infinitely small area, rect width and height will thus be 0 regardless of the number of touchpoints. Parameters gesture a GtkGesture rect bounding box containing all active touches. [out] Returns TRUE if there are active touches, FALSE otherwise gtk_gesture_get_bounding_box_center () gtk_gesture_get_bounding_box_center gboolean gtk_gesture_get_bounding_box_center (GtkGesture *gesture, double *x, double *y); If there are touch sequences being currently handled by gesture , this function returns TRUE and fills in x and y with the center of the bounding box containing all active touches. Otherwise, FALSE will be returned. Parameters gesture a GtkGesture x X coordinate for the bounding box center. [out] y Y coordinate for the bounding box center. [out] Returns FALSE if no active touches are present, TRUE otherwise gtk_gesture_group () gtk_gesture_group void gtk_gesture_group (GtkGesture *group_gesture, GtkGesture *gesture); Adds gesture to the same group than group_gesture . Gestures are by default isolated in their own groups. Both gestures must have been added to the same widget before they can be grouped. When gestures are grouped, the state of GdkEventSequences is kept in sync for all of those, so calling gtk_gesture_set_sequence_state(), on one will transfer the same value to the others. Groups also perform an "implicit grabbing" of sequences, if a GdkEventSequence state is set to GTK_EVENT_SEQUENCE_CLAIMED on one group, every other gesture group attached to the same GtkWidget will switch the state for that sequence to GTK_EVENT_SEQUENCE_DENIED. Parameters gesture a GtkGesture group_gesture GtkGesture to group gesture with gtk_gesture_ungroup () gtk_gesture_ungroup void gtk_gesture_ungroup (GtkGesture *gesture); Separates gesture into an isolated group. Parameters gesture a GtkGesture gtk_gesture_get_group () gtk_gesture_get_group GList * gtk_gesture_get_group (GtkGesture *gesture); Returns all gestures in the group of gesture Parameters gesture a GtkGesture Returns The list of GtkGestures, free with g_list_free(). [element-type GtkGesture][transfer container] gtk_gesture_is_grouped_with () gtk_gesture_is_grouped_with gboolean gtk_gesture_is_grouped_with (GtkGesture *gesture, GtkGesture *other); Returns TRUE if both gestures pertain to the same group. Parameters gesture a GtkGesture other another GtkGesture Returns whether the gestures are grouped Types and Values GtkGesture GtkGesture typedef struct _GtkGesture GtkGesture; enum GtkEventSequenceState GtkEventSequenceState Describes the state of a GdkEventSequence in a GtkGesture. Members GTK_EVENT_SEQUENCE_NONE The sequence is handled, but not grabbed. GTK_EVENT_SEQUENCE_CLAIMED The sequence is handled and grabbed. GTK_EVENT_SEQUENCE_DENIED The sequence is denied. Property Details The <literal>“n-points”</literal> property GtkGesture:n-points “n-points” guint The number of touch points that trigger recognition on this gesture, Owner: GtkGesture Flags: Read / Write / Construct Only Allowed values: >= 1 Default value: 1 Signal Details The <literal>“begin”</literal> signal GtkGesture::begin void user_function (GtkGesture *gesture, GdkEventSequence *sequence, gpointer user_data) This signal is emitted when the gesture is recognized. This means the number of touch sequences matches “n-points”, and the “check” handler(s) returned TRUE. Note: These conditions may also happen when an extra touch (eg. a third touch on a 2-touches gesture) is lifted, in that situation sequence won't pertain to the current set of active touches, so don't rely on this being true. Parameters gesture the object which received the signal sequence the GdkEventSequence that made the gesture to be recognized user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“cancel”</literal> signal GtkGesture::cancel void user_function (GtkGesture *gesture, GdkEventSequence *sequence, gpointer user_data) This signal is emitted whenever a sequence is cancelled. This usually happens on active touches when gtk_event_controller_reset() is called on gesture (manually, due to grabs...), or the individual sequence was claimed by parent widgets' controllers (see gtk_gesture_set_sequence_state()). gesture must forget everything about sequence as a reaction to this signal. Parameters gesture the object which received the signal sequence the GdkEventSequence that was cancelled user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“end”</literal> signal GtkGesture::end void user_function (GtkGesture *gesture, GdkEventSequence *sequence, gpointer user_data) This signal is emitted when gesture either stopped recognizing the event sequences as something to be handled (the “check” handler returned FALSE), or the number of touch sequences became higher or lower than “n-points”. Note: sequence might not pertain to the group of sequences that were previously triggering recognition on gesture (ie. a just pressed touch sequence that exceeds “n-points”). This situation may be detected by checking through gtk_gesture_handles_sequence(). Parameters gesture the object which received the signal sequence the GdkEventSequence that made gesture recognition to finish user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“sequence-state-changed”</literal> signal GtkGesture::sequence-state-changed void user_function (GtkGesture *gesture, GdkEventSequence *sequence, GtkEventSequenceState state, gpointer user_data) This signal is emitted whenever a sequence state changes. See gtk_gesture_set_sequence_state() to know more about the expectable sequence lifetimes. Parameters gesture the object which received the signal sequence the GdkEventSequence that was cancelled state the new sequence state user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“update”</literal> signal GtkGesture::update void user_function (GtkGesture *gesture, GdkEventSequence *sequence, gpointer user_data) This signal is emitted whenever an event is handled while the gesture is recognized. sequence is guaranteed to pertain to the set of active touches. Parameters gesture the object which received the signal sequence the GdkEventSequence that was updated user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkEventController, GtkGestureSingle docs/reference/gtk/xml/gtkgesturesingle.xml0000664000175000017500000005473313710700314021301 0ustar mclasenmclasen ]> GtkGestureSingle 3 GTK4 Library GtkGestureSingle Base class for mouse/single-touch gestures Functions gboolean gtk_gesture_single_get_exclusive () void gtk_gesture_single_set_exclusive () gboolean gtk_gesture_single_get_touch_only () void gtk_gesture_single_set_touch_only () guint gtk_gesture_single_get_button () void gtk_gesture_single_set_button () guint gtk_gesture_single_get_current_button () GdkEventSequence * gtk_gesture_single_get_current_sequence () Properties guintbuttonRead / Write gbooleanexclusiveRead / Write gbooleantouch-onlyRead / Write Types and Values GtkGestureSingle Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ├── GtkDragSource ├── GtkGestureClick ├── GtkGestureDrag ├── GtkGestureLongPress ├── GtkGestureStylus ╰── GtkGestureSwipe Includes#include <gtk/gtk.h> Description GtkGestureSingle is a subclass of GtkGesture, optimized (although not restricted) for dealing with mouse and single-touch gestures. Under interaction, these gestures stick to the first interacting sequence, which is accessible through gtk_gesture_single_get_current_sequence() while the gesture is being interacted with. By default gestures react to both GDK_BUTTON_PRIMARY and touch events, gtk_gesture_single_set_touch_only() can be used to change the touch behavior. Callers may also specify a different mouse button number to interact with through gtk_gesture_single_set_button(), or react to any mouse button by setting 0. While the gesture is active, the button being currently pressed can be known through gtk_gesture_single_get_current_button(). Functions gtk_gesture_single_get_exclusive () gtk_gesture_single_get_exclusive gboolean gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture); Gets whether a gesture is exclusive. For more information, see gtk_gesture_single_set_exclusive(). Parameters gesture a GtkGestureSingle Returns Whether the gesture is exclusive gtk_gesture_single_set_exclusive () gtk_gesture_single_set_exclusive void gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture, gboolean exclusive); Sets whether gesture is exclusive. An exclusive gesture will only handle pointer and "pointer emulated" touch events, so at any given time, there is only one sequence able to interact with those. Parameters gesture a GtkGestureSingle exclusive TRUE to make gesture exclusive gtk_gesture_single_get_touch_only () gtk_gesture_single_get_touch_only gboolean gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture); Returns TRUE if the gesture is only triggered by touch events. Parameters gesture a GtkGestureSingle Returns TRUE if the gesture only handles touch events gtk_gesture_single_set_touch_only () gtk_gesture_single_set_touch_only void gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture, gboolean touch_only); If touch_only is TRUE, gesture will only handle events of type GDK_TOUCH_BEGIN, GDK_TOUCH_UPDATE or GDK_TOUCH_END. If FALSE, mouse events will be handled too. Parameters gesture a GtkGestureSingle touch_only whether gesture handles only touch events gtk_gesture_single_get_button () gtk_gesture_single_get_button guint gtk_gesture_single_get_button (GtkGestureSingle *gesture); Returns the button number gesture listens for, or 0 if gesture reacts to any button press. Parameters gesture a GtkGestureSingle Returns The button number, or 0 for any button gtk_gesture_single_set_button () gtk_gesture_single_set_button void gtk_gesture_single_set_button (GtkGestureSingle *gesture, guint button); Sets the button number gesture listens to. If non-0, every button press from a different button number will be ignored. Touch events implicitly match with button 1. Parameters gesture a GtkGestureSingle button button number to listen to, or 0 for any button gtk_gesture_single_get_current_button () gtk_gesture_single_get_current_button guint gtk_gesture_single_get_current_button (GtkGestureSingle *gesture); Returns the button number currently interacting with gesture , or 0 if there is none. Parameters gesture a GtkGestureSingle Returns The current button number gtk_gesture_single_get_current_sequence () gtk_gesture_single_get_current_sequence GdkEventSequence * gtk_gesture_single_get_current_sequence (GtkGestureSingle *gesture); Returns the event sequence currently interacting with gesture . This is only meaningful if gtk_gesture_is_active() returns TRUE. Parameters gesture a GtkGestureSingle Returns the current sequence. [nullable] Types and Values GtkGestureSingle GtkGestureSingle typedef struct _GtkGestureSingle GtkGestureSingle; Property Details The <literal>“button”</literal> property GtkGestureSingle:button “button” guint Mouse button number to listen to, or 0 to listen for any button. Owner: GtkGestureSingle Flags: Read / Write Default value: 1 The <literal>“exclusive”</literal> property GtkGestureSingle:exclusive “exclusive” gboolean Whether the gesture is exclusive. Exclusive gestures only listen to pointer and pointer emulated events. Owner: GtkGestureSingle Flags: Read / Write Default value: FALSE The <literal>“touch-only”</literal> property GtkGestureSingle:touch-only “touch-only” gboolean Whether the gesture handles only touch events. Owner: GtkGestureSingle Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkeventcontrollerlegacy.xml0000664000175000017500000001633513710700314023027 0ustar mclasenmclasen ]> GtkEventControllerLegacy 3 GTK4 Library GtkEventControllerLegacy Event controller for miscellaneous events Functions GtkEventController * gtk_event_controller_legacy_new () Signals gbooleaneventRun Last Types and Values GtkEventControllerLegacy Object Hierarchy GObject ╰── GtkEventController ╰── GtkEventControllerLegacy Includes#include <gtk/gtk.h> Description GtkEventControllerLegacy is an event controller that gives you direct access to the event stream. It should only be used as a last resort if none of the other event controllers or gestures do the job. Functions gtk_event_controller_legacy_new () gtk_event_controller_legacy_new GtkEventController * gtk_event_controller_legacy_new (void); Creates a new legacy event controller. Returns the newly created event controller. Types and Values GtkEventControllerLegacy GtkEventControllerLegacy typedef struct _GtkEventControllerLegacy GtkEventControllerLegacy; Signal Details The <literal>“event”</literal> signal GtkEventControllerLegacy::event gboolean user_function (GtkEventControllerLegacy *controller, GdkEvent *event, gpointer user_data) Emitted for each GDK event delivered to controller . Parameters controller the object which received the signal. event the GdkEvent which triggered this signal user_data user data set when the signal handler was connected. Returns TRUE to stop other handlers from being invoked for the event and the emission of this signal. FALSE to propagate the event further. Flags: Run Last See Also GtkEventController docs/reference/gtk/xml/gtkeventcontrollerscroll.xml0000664000175000017500000006107513710700314023062 0ustar mclasenmclasen ]> GtkEventControllerScroll 3 GTK4 Library GtkEventControllerScroll Event controller for scroll events Functions GtkEventController * gtk_event_controller_scroll_new () void gtk_event_controller_scroll_set_flags () GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags () Properties GtkEventControllerScrollFlagsflagsRead / Write Signals voiddecelerateRun First gbooleanscrollRun Last voidscroll-beginRun First voidscroll-endRun First Types and Values GtkEventControllerScroll enumGtkEventControllerScrollFlags Object Hierarchy GObject ╰── GtkEventController ╰── GtkEventControllerScroll Includes#include <gtk/gtk.h> Description GtkEventControllerScroll is an event controller meant to handle scroll events from mice and touchpads. It is capable of handling both discrete and continuous scroll events, abstracting them both on the “scroll” signal (deltas in the discrete case are multiples of 1). In the case of continuous scroll events, GtkEventControllerScroll encloses all “scroll” events between two “scroll-begin” and “scroll-end” signals. The behavior of the event controller can be modified by the flags given at creation time, or modified at a later point through gtk_event_controller_scroll_set_flags() (e.g. because the scrolling conditions of the widget changed). The controller can be set up to emit motion for either/both vertical and horizontal scroll events through GTK_EVENT_CONTROLLER_SCROLL_VERTICAL, GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL and GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES. If any axis is disabled, the respective “scroll” delta will be 0. Vertical scroll events will be translated to horizontal motion for the devices incapable of horizontal scrolling. The event controller can also be forced to emit discrete events on all devices through GTK_EVENT_CONTROLLER_SCROLL_DISCRETE. This can be used to implement discrete actions triggered through scroll events (e.g. switching across combobox options). The GTK_EVENT_CONTROLLER_SCROLL_KINETIC flag toggles the emission of the “decelerate” signal, emitted at the end of scrolling with two X/Y velocity arguments that are consistent with the motion that was received. Functions gtk_event_controller_scroll_new () gtk_event_controller_scroll_new GtkEventController * gtk_event_controller_scroll_new (GtkEventControllerScrollFlags flags); Creates a new event controller that will handle scroll events. Parameters flags behavior flags Returns a new GtkEventControllerScroll gtk_event_controller_scroll_set_flags () gtk_event_controller_scroll_set_flags void gtk_event_controller_scroll_set_flags (GtkEventControllerScroll *scroll, GtkEventControllerScrollFlags flags); Sets the flags conditioning scroll controller behavior. Parameters scroll a GtkEventControllerScroll flags behavior flags gtk_event_controller_scroll_get_flags () gtk_event_controller_scroll_get_flags GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *scroll); Gets the flags conditioning the scroll controller behavior. Parameters scroll a GtkEventControllerScroll Returns the controller flags. Types and Values GtkEventControllerScroll GtkEventControllerScroll typedef struct _GtkEventControllerScroll GtkEventControllerScroll; enum GtkEventControllerScrollFlags GtkEventControllerScrollFlags Describes the behavior of a GtkEventControllerScroll. Members GTK_EVENT_CONTROLLER_SCROLL_NONE Don't emit scroll. GTK_EVENT_CONTROLLER_SCROLL_VERTICAL Emit scroll with vertical deltas. GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL Emit scroll with horizontal deltas. GTK_EVENT_CONTROLLER_SCROLL_DISCRETE Only emit deltas that are multiples of 1. GTK_EVENT_CONTROLLER_SCROLL_KINETIC Emit “decelerate” after continuous scroll finishes. GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES Emit scroll on both axes. Property Details The <literal>“flags”</literal> property GtkEventControllerScroll:flags “flags” GtkEventControllerScrollFlags The flags affecting event controller behavior Owner: GtkEventControllerScroll Flags: Read / Write Signal Details The <literal>“decelerate”</literal> signal GtkEventControllerScroll::decelerate void user_function (GtkEventControllerScroll *controller, gdouble vel_x, gdouble vel_y, gpointer user_data) Emitted after scroll is finished if the GTK_EVENT_CONTROLLER_SCROLL_KINETIC flag is set. vel_x and vel_y express the initial velocity that was imprinted by the scroll events. vel_x and vel_y are expressed in pixels/ms. Parameters controller The object that received the signal vel_x X velocity vel_y Y velocity user_data user data set when the signal handler was connected. Flags: Run First The <literal>“scroll”</literal> signal GtkEventControllerScroll::scroll gboolean user_function (GtkEventControllerScroll *controller, gdouble dx, gdouble dy, gpointer user_data) Signals that the widget should scroll by the amount specified by dx and dy . Parameters controller The object that received the signal dx X delta dy Y delta user_data user data set when the signal handler was connected. Returns TRUE if the scroll event was handled, FALSE otherwise. Flags: Run Last The <literal>“scroll-begin”</literal> signal GtkEventControllerScroll::scroll-begin void user_function (GtkEventControllerScroll *controller, gpointer user_data) Signals that a new scrolling operation has begun. It will only be emitted on devices capable of it. Parameters controller The object that received the signal user_data user data set when the signal handler was connected. Flags: Run First The <literal>“scroll-end”</literal> signal GtkEventControllerScroll::scroll-end void user_function (GtkEventControllerScroll *controller, gpointer user_data) Signals that a new scrolling operation has finished. It will only be emitted on devices capable of it. Parameters controller The object that received the signal user_data user data set when the signal handler was connected. Flags: Run First See Also GtkEventController docs/reference/gtk/xml/gtkeventcontrollermotion.xml0000664000175000017500000004341013710700314023062 0ustar mclasenmclasen ]> GtkEventControllerMotion 3 GTK4 Library GtkEventControllerMotion Event controller for motion events Functions GtkEventController * gtk_event_controller_motion_new () gboolean gtk_event_controller_motion_contains_pointer () gboolean gtk_event_controller_motion_is_pointer () Properties gbooleancontains-pointerRead gbooleanis-pointerRead Signals voidenterRun Last voidleaveRun Last voidmotionRun First Types and Values GtkEventControllerMotion Object Hierarchy GObject ╰── GtkEventController ╰── GtkEventControllerMotion Includes#include <gtk/gtk.h> Description GtkEventControllerMotion is an event controller meant for situations where you need to track the position of the pointer. Functions gtk_event_controller_motion_new () gtk_event_controller_motion_new GtkEventController * gtk_event_controller_motion_new (void); Creates a new event controller that will handle motion events. Returns a new GtkEventControllerMotion gtk_event_controller_motion_contains_pointer () gtk_event_controller_motion_contains_pointer gboolean gtk_event_controller_motion_contains_pointer (GtkEventControllerMotion *self); Returns the value of the GtkEventControllerMotion:contains-pointer property. Parameters self a GtkEventControllerMotion Returns TRUE if a pointer is within self or one of its children gtk_event_controller_motion_is_pointer () gtk_event_controller_motion_is_pointer gboolean gtk_event_controller_motion_is_pointer (GtkEventControllerMotion *self); Returns the value of the GtkEventControllerMotion:is-pointer property. Parameters self a GtkEventControllerMotion Returns TRUE if a pointer is within self but not one of its children Types and Values GtkEventControllerMotion GtkEventControllerMotion typedef struct _GtkEventControllerMotion GtkEventControllerMotion; Property Details The <literal>“contains-pointer”</literal> property GtkEventControllerMotion:contains-pointer “contains-pointer” gboolean Whether the pointer is in the controllers widget or a descendant. See also “is-pointer”. When handling crossing events, this property is updated before “enter” but after “leave” is emitted. Owner: GtkEventControllerMotion Flags: Read Default value: FALSE The <literal>“is-pointer”</literal> property GtkEventControllerMotion:is-pointer “is-pointer” gboolean Whether the pointer is in the controllers widget itself, as opposed to in a descendent widget. See also “contains-pointer”. When handling crossing events, this property is updated before “enter” but after “leave” is emitted. Owner: GtkEventControllerMotion Flags: Read Default value: FALSE Signal Details The <literal>“enter”</literal> signal GtkEventControllerMotion::enter void user_function (GtkEventControllerMotion *controller, gdouble x, gdouble y, gpointer user_data) Signals that the pointer has entered the widget. Parameters controller the object which received the signal x coordinates of pointer location y coordinates of pointer location user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“leave”</literal> signal GtkEventControllerMotion::leave void user_function (GtkEventControllerMotion *controller, gpointer user_data) Signals that the pointer has left the widget. Parameters controller the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“motion”</literal> signal GtkEventControllerMotion::motion void user_function (GtkEventControllerMotion *controller, gdouble x, gdouble y, gpointer user_data) Emitted when the pointer moves inside the widget. Parameters controller The object that received the signal x the x coordinate y the y coordinate user_data user data set when the signal handler was connected. Flags: Run First See Also GtkEventController docs/reference/gtk/xml/gtkshortcuttrigger.xml0000664000175000017500000013103413710700314021646 0ustar mclasenmclasen ]> GtkShortcutTrigger 3 GTK4 Library GtkShortcutTrigger Triggers to track if shortcuts should be activated Functions GdkKeyMatch gtk_shortcut_trigger_trigger () guint gtk_shortcut_trigger_hash () gboolean gtk_shortcut_trigger_equal () int gtk_shortcut_trigger_compare () char * gtk_shortcut_trigger_to_string () void gtk_shortcut_trigger_print () char * gtk_shortcut_trigger_to_label () gboolean gtk_shortcut_trigger_print_label () GtkShortcutTrigger * gtk_shortcut_trigger_parse_string () GtkShortcutTrigger * gtk_keyval_trigger_new () GdkModifierType gtk_keyval_trigger_get_modifiers () guint gtk_keyval_trigger_get_keyval () GtkShortcutTrigger * gtk_mnemonic_trigger_new () guint gtk_mnemonic_trigger_get_keyval () GtkShortcutTrigger * gtk_alternative_trigger_new () GtkShortcutTrigger * gtk_alternative_trigger_get_first () GtkShortcutTrigger * gtk_alternative_trigger_get_second () GtkShortcutTrigger * gtk_never_trigger_get () Types and Values GtkShortcutTrigger GtkKeyvalTrigger GtkMnemonicTrigger GtkAlternativeTrigger GtkNeverTrigger Object Hierarchy GObject ╰── GtkShortcutTrigger ├── GtkKeyvalTrigger ├── GtkNeverTrigger ╰── GtkAlternativeTrigger Includes#include <gtk/gtk.h> Description GtkShortcutTrigger is the object used to track if a GtkShortcut should be activated. For this purpose, gtk_shortcut_trigger_trigger() can be called on a GdkEvent. GtkShortcutTriggers contain functions that allow easy presentation to end users as well as being printed for debugging. All GtkShortcutTriggers are immutable, you can only specify their properties during construction. If you want to change a trigger, you have to replace it with a new one. Functions gtk_shortcut_trigger_trigger () gtk_shortcut_trigger_trigger GdkKeyMatch gtk_shortcut_trigger_trigger (GtkShortcutTrigger *self, GdkEvent *event, gboolean enable_mnemonics); Checks if the given event triggers self . Parameters self a GtkShortcutTrigger event the event to check enable_mnemonics TRUE if mnemonics should trigger. Usually the value of this property is determined by checking that the passed in event is a Key event and has the right modifiers set. Returns Whether the event triggered the shortcut gtk_shortcut_trigger_hash () gtk_shortcut_trigger_hash guint gtk_shortcut_trigger_hash (gconstpointer trigger); Generates a hash value for a GtkShortcutTrigger. The output of this function is guaranteed to be the same for a given value only per-process. It may change between different processor architectures or even different versions of GTK. Do not use this function as a basis for building protocols or file formats. The types of trigger is gconstpointer only to allow use of this function with GHashTable. They must each be a GtkShortcutTrigger. Parameters trigger a GtkShortcutTrigger. [type GtkShortcutTrigger] Returns a hash value corresponding to trigger gtk_shortcut_trigger_equal () gtk_shortcut_trigger_equal gboolean gtk_shortcut_trigger_equal (gconstpointer trigger1, gconstpointer trigger2); Checks if trigger1 and trigger2 trigger under the same conditions. The types of one and two are gconstpointer only to allow use of this function with GHashTable. They must each be a GtkShortcutTrigger. Parameters trigger1 a GtkShortcutTrigger. [type GtkShortcutTrigger] trigger2 a GtkShortcutTrigger. [type GtkShortcutTrigger] Returns TRUE if trigger1 and trigger2 are equal gtk_shortcut_trigger_compare () gtk_shortcut_trigger_compare int gtk_shortcut_trigger_compare (gconstpointer trigger1, gconstpointer trigger2); The types of trigger1 and trigger2 are gconstpointer only to allow use of this function as a GCompareFunc. They must each be a GtkShortcutTrigger. Parameters trigger1 a GtkShortcutTrigger. [type GtkShortcutTrigger] trigger2 a GtkShortcutTrigger. [type GtkShortcutTrigger] Returns An integer less than, equal to, or greater than zero if trigger1 is found, respectively, to be less than, to match, or be greater than trigger2 . gtk_shortcut_trigger_to_string () gtk_shortcut_trigger_to_string char * gtk_shortcut_trigger_to_string (GtkShortcutTrigger *self); Prints the given trigger into a human-readable string. This is a small wrapper around gtk_shortcut_trigger_print() to help when debugging. Parameters self a GtkShortcutTrigger Returns a new string. [transfer full] gtk_shortcut_trigger_print () gtk_shortcut_trigger_print void gtk_shortcut_trigger_print (GtkShortcutTrigger *self, GString *string); Prints the given trigger into a string for the developer. This is meant for debugging and logging. The form of the representation may change at any time and is not guaranteed to stay identical. Parameters self a GtkShortcutTrigger string a GString to print into gtk_shortcut_trigger_to_label () gtk_shortcut_trigger_to_label char * gtk_shortcut_trigger_to_label (GtkShortcutTrigger *self, GdkDisplay *display); Gets textual representation for the given trigger. This function is returning a translated string for presentation to end users for example in menu items or in help texts. The display in use may influence the resulting string in various forms, such as resolving hardware keycodes or by causing display-specific modifier names. The form of the representation may change at any time and is not guaranteed to stay identical. Parameters self a GtkShortcutTrigger display GdkDisplay to print for Returns a new string. [transfer full] gtk_shortcut_trigger_print_label () gtk_shortcut_trigger_print_label gboolean gtk_shortcut_trigger_print_label (GtkShortcutTrigger *self, GdkDisplay *display, GString *string); Prints the given trigger into a string. This function is returning a translated string for presentation to end users for example in menu items or in help texts. The display in use may influence the resulting string in various forms, such as resolving hardware keycodes or by causing display-specific modifier names. The form of the representation may change at any time and is not guaranteed to stay identical. Parameters self a GtkShortcutTrigger display GdkDisplay to print for string a GString to print into Returns TRUE if something was printed or FALSE if the trigger did not have a textual representation suitable for end users. gtk_shortcut_trigger_parse_string () gtk_shortcut_trigger_parse_string GtkShortcutTrigger * gtk_shortcut_trigger_parse_string (const char *string); Tries to parse the given string into a trigger. On success, the parsed trigger is returned. When parsing failed, NULL is returned. The accepted strings are: never, for GtkNeverTrigger a string parsed by gtk_accelerator_parse(), for a GtkKeyvalTrigger, e.g. <Control>C underscore, followed by a single character, for MnemonicTrigger, e.g. _l two valid trigger strings, separated by a | character, for a GtkAlternativeTrigger: <Control>q|&lt;Control>w Note that you will have to escape the < and &gt; characters when specifying triggers in XML files, such as GtkBuilder ui files. Use &lt; instead of < and &gt; instead of &gt;. [constructor] Parameters string the string to parse Returns a new GtkShortcutTrigger or NULL on error. [nullable][transfer full] gtk_keyval_trigger_new () gtk_keyval_trigger_new GtkShortcutTrigger * gtk_keyval_trigger_new (guint keyval, GdkModifierType modifiers); Creates a GtkShortcutTrigger that will trigger whenever the key with the given keyval and modifiers is pressed. Parameters keyval The keyval to trigger for modifiers the modifiers that need to be present Returns A new GtkShortcutTrigger gtk_keyval_trigger_get_modifiers () gtk_keyval_trigger_get_modifiers GdkModifierType gtk_keyval_trigger_get_modifiers (GtkKeyvalTrigger *self); Gets the modifiers that must be present to succeed triggering self . Parameters self a keyval GtkShortcutTrigger Returns the modifiers gtk_keyval_trigger_get_keyval () gtk_keyval_trigger_get_keyval guint gtk_keyval_trigger_get_keyval (GtkKeyvalTrigger *self); Gets the keyval that must be pressed to succeed triggering self . Parameters self a keyval GtkShortcutTrigger Returns the keyval gtk_mnemonic_trigger_new () gtk_mnemonic_trigger_new GtkShortcutTrigger * gtk_mnemonic_trigger_new (guint keyval); Creates a GtkShortcutTrigger that will trigger whenever the key with the given keyval is pressed and mnemonics have been activated. Mnemonics are activated by calling code when a key event with the right modifiers is detected. Parameters keyval The keyval to trigger for Returns A new GtkShortcutTrigger. [transfer full][type GtkMnemonicTrigger] gtk_mnemonic_trigger_get_keyval () gtk_mnemonic_trigger_get_keyval guint gtk_mnemonic_trigger_get_keyval (GtkMnemonicTrigger *self); Gets the keyval that must be pressed to succeed triggering self . Parameters self a mnemonic GtkShortcutTrigger Returns the keyval gtk_alternative_trigger_new () gtk_alternative_trigger_new GtkShortcutTrigger * gtk_alternative_trigger_new (GtkShortcutTrigger *first, GtkShortcutTrigger *second); Creates a GtkShortcutTrigger that will trigger whenever either of the two given triggers gets triggered. Note that nesting is allowed, so if you want more than two alternative, create a new alternative trigger for each option. Parameters first The first trigger that may trigger. [transfer full] second The second trigger that may trigger. [transfer full] Returns a new GtkShortcutTrigger gtk_alternative_trigger_get_first () gtk_alternative_trigger_get_first GtkShortcutTrigger * gtk_alternative_trigger_get_first (GtkAlternativeTrigger *self); Gets the first of the two alternative triggers that may trigger self . gtk_alternative_trigger_get_second() will return the other one. Parameters self an alternative GtkShortcutTrigger Returns the first alternative trigger. [transfer none] gtk_alternative_trigger_get_second () gtk_alternative_trigger_get_second GtkShortcutTrigger * gtk_alternative_trigger_get_second (GtkAlternativeTrigger *self); Gets the second of the two alternative triggers that may trigger self . gtk_alternative_trigger_get_first() will return the other one. Parameters self an alternative GtkShortcutTrigger Returns the second alternative trigger. [transfer none] gtk_never_trigger_get () gtk_never_trigger_get GtkShortcutTrigger * gtk_never_trigger_get (void); Gets the never trigger. This is a singleton for a trigger that never triggers. Use this trigger instead of NULL because it implements all virtual functions. Returns The never trigger. [type GtkNeverTrigger][transfer none] Types and Values GtkShortcutTrigger GtkShortcutTrigger typedef struct _GtkShortcutTrigger GtkShortcutTrigger; A trigger for a key shortcut. GtkKeyvalTrigger GtkKeyvalTrigger typedef struct _GtkKeyvalTrigger GtkKeyvalTrigger; A GtkShortcutTrigger that triggers when a specific keyval and (optionally) modifiers are pressed. GtkMnemonicTrigger GtkMnemonicTrigger typedef struct _GtkMnemonicTrigger GtkMnemonicTrigger; A GtkShortcutTrigger that triggers when a specific mnemonic is pressed. GtkAlternativeTrigger GtkAlternativeTrigger typedef struct _GtkAlternativeTrigger GtkAlternativeTrigger; A GtkShortcutTrigger that triggers when either of two GtkShortcutTriggers trigger. GtkNeverTrigger GtkNeverTrigger typedef struct _GtkNeverTrigger GtkNeverTrigger; A GtkShortcutTrigger that never triggers. See Also GtkShortcut docs/reference/gtk/xml/gtkshortcutaction.xml0000664000175000017500000010444713710700314021470 0ustar mclasenmclasen ]> GtkShortcutAction 3 GTK4 Library GtkShortcutAction Tracking if shortcuts should be activated Functions gboolean (*GtkShortcutFunc) () char * gtk_shortcut_action_to_string () void gtk_shortcut_action_print () GtkShortcutAction * gtk_shortcut_action_parse_string () gboolean gtk_shortcut_action_activate () GtkShortcutAction * gtk_nothing_action_get () GtkShortcutAction * gtk_callback_action_new () GtkShortcutAction * gtk_mnemonic_action_get () GtkShortcutAction * gtk_activate_action_get () GtkShortcutAction * gtk_signal_action_new () const char * gtk_signal_action_get_signal_name () GtkShortcutAction * gtk_named_action_new () const char * gtk_named_action_get_action_name () Types and Values GtkShortcutAction enumGtkShortcutActionFlags GtkNothingAction GtkCallbackAction GtkMnemonicAction GtkActivateAction GtkSignalAction GtkNamedAction Object Hierarchy GObject ╰── GtkShortcutAction ├── GtkSignalAction ├── GtkNothingAction ├── GtkNamedAction ╰── GtkCallbackAction Includes#include <gtk/gtk.h> Description GtkShortcutAction is the object used to describe what a GtkShortcut should do when triggered. To activate a GtkShortcutAction manually, gtk_shortcut_action_activate() can be called. GtkShortcutActions contain functions that allow easy presentation to end users as well as being printed for debugging. All GtkShortcutActions are immutable, you can only specify their properties during construction. If you want to change a action, you have to replace it with a new one. If you need to pass arguments to an action, these are specified by the higher-level GtkShortcut object. GTK provides various actions: GtkMnemonicAction: a shortcut action that calls gtk_widget_mnemonic_activate() GtkCallbackAction: a shortcut action that invokes a given callback GtkSignalAction: a shortcut action that emits a given signal GtkActivateAction: a shortcut action that calls gtk_widget_activate() GtkNamedAction: a shortcut action that calls gtk_widget_activate_action() GtkNothingAction: a shortcut action that does nothing GtkShortcutAction as GtkBuildableGtkShortcut Functions GtkShortcutFunc () GtkShortcutFunc gboolean (*GtkShortcutFunc) (GtkWidget *widget, GVariant *args, gpointer user_data); Prototype for shortcuts based on user callbacks. Parameters widget The widget passed to the activation args The arguments passed to the activation user_data The user data provided when activating the action gtk_shortcut_action_to_string () gtk_shortcut_action_to_string char * gtk_shortcut_action_to_string (GtkShortcutAction *self); Prints the given action into a human-readable string. This is a small wrapper around gtk_shortcut_action_print() to help when debugging. Parameters self a GtkShortcutAction Returns a new string. [transfer full] gtk_shortcut_action_print () gtk_shortcut_action_print void gtk_shortcut_action_print (GtkShortcutAction *self, GString *string); Prints the given action into a string for the developer. This is meant for debugging and logging. The form of the representation may change at any time and is not guaranteed to stay identical. Parameters self a GtkShortcutAction string a GString to print into gtk_shortcut_action_parse_string () gtk_shortcut_action_parse_string GtkShortcutAction * gtk_shortcut_action_parse_string (const char *string); Tries to parse the given string into an action. On success, the parsed action is returned. When parsing failed, NULL is returned. The accepted strings are: nothing, for GtkNothingAction activate, for GtkActivateAction mnemonic-activate, for GtkMnemonicAction action(NAME), for a GtkNamedAction for the action named NAME signal(NAME), for a GtkSignalAction for the signal NAME [constructor] Parameters string the string to parse Returns a new GtkShortcutAction or NULL on error. [nullable][transfer full] gtk_shortcut_action_activate () gtk_shortcut_action_activate gboolean gtk_shortcut_action_activate (GtkShortcutAction *self, GtkShortcutActionFlags flags, GtkWidget *widget, GVariant *args); Activates the action on the widget with the given args . Note that some actions ignore the passed in flags , widget or args . Activation of an action can fail for various reasons. If the action is not supported by the widget , if the args don't match the action or if the activation otherwise had no effect, FALSE will be returned. Parameters self a GtkShortcutAction flags flags to activate with widget Target of the activation args arguments to pass. [allow-none] Returns TRUE if this action was activated successfully gtk_nothing_action_get () gtk_nothing_action_get GtkShortcutAction * gtk_nothing_action_get (void); Gets the nothing action. This is an action that does nothing and where activating it always fails. Returns The nothing action. [transfer none] gtk_callback_action_new () gtk_callback_action_new GtkShortcutAction * gtk_callback_action_new (GtkShortcutFunc callback, gpointer data, GDestroyNotify destroy); Create a custom action that calls the given callback when activated. Parameters callback the callback to call. [scope notified] data the data to be passed to callback . [closure callback] destroy the function to be called when the callback action is finalized. [destroy data] Returns A new shortcut action. [transfer full] gtk_mnemonic_action_get () gtk_mnemonic_action_get GtkShortcutAction * gtk_mnemonic_action_get (void); Gets the mnemonic action. This is an action that calls gtk_widget_mnemonic_activate() on the given widget upon activation. Returns The mnemonic action. [transfer none] gtk_activate_action_get () gtk_activate_action_get GtkShortcutAction * gtk_activate_action_get (void); Gets the activate action. This is an action that calls gtk_widget_activate() on the given widget upon activation. Returns The activate action. [transfer none] gtk_signal_action_new () gtk_signal_action_new GtkShortcutAction * gtk_signal_action_new (const char *signal_name); Creates an action that when activated, emits the given action signal on the provided widget unpacking the given args into arguments passed to the signal. Parameters signal_name name of the signal to emit Returns a new GtkShortcutAction. [transfer full][type GtkSignalAction] gtk_signal_action_get_signal_name () gtk_signal_action_get_signal_name const char * gtk_signal_action_get_signal_name (GtkSignalAction *self); Returns the name of the signal that will be emitted. Parameters self a signal action Returns the name of the signal to emit. [transfer none] gtk_named_action_new () gtk_named_action_new GtkShortcutAction * gtk_named_action_new (const char *name); Creates an action that when activated, activates the action given by the detailed name on the widget passing the given arguments to it. See gtk_widget_insert_action_group() for how to add actions to widgets. Parameters name the detailed name of the action Returns a new GtkShortcutAction. [transfer full][type GtkNamedAction] gtk_named_action_get_action_name () gtk_named_action_get_action_name const char * gtk_named_action_get_action_name (GtkNamedAction *self); Returns the name of the action that will be activated. Parameters self a named action Returns the name of the action to activate Types and Values GtkShortcutAction GtkShortcutAction typedef struct _GtkShortcutAction GtkShortcutAction; enum GtkShortcutActionFlags GtkShortcutActionFlags List of flags that can be passed to action activation. More flags may be added in the future. Members GTK_SHORTCUT_ACTION_EXCLUSIVE The action is the only action that can be activated. If this flag is not set, a future activation may select a different action. GtkNothingAction GtkNothingAction typedef struct _GtkNothingAction GtkNothingAction; A GtkShortcutAction that does nothing. GtkCallbackAction GtkCallbackAction typedef struct _GtkCallbackAction GtkCallbackAction; A GtkShortcutAction that invokes a callback. GtkMnemonicAction GtkMnemonicAction typedef struct _GtkMnemonicAction GtkMnemonicAction; A GtkShortcutAction that calls gtk_widget_mnemonic_activate(). GtkActivateAction GtkActivateAction typedef struct _GtkActivateAction GtkActivateAction; A GtkShortcutAction that calls gtk_widget_activate(). GtkSignalAction GtkSignalAction typedef struct _GtkSignalAction GtkSignalAction; A GtkShortcutAction that emits a signal. GtkNamedAction GtkNamedAction typedef struct _GtkNamedAction GtkNamedAction; A GtkShortcutAction that activates an action by name. See Also GtkShortcut docs/reference/gtk/xml/gtkshortcut.xml0000664000175000017500000005451113710700314020266 0ustar mclasenmclasen ]> GtkShortcut 3 GTK4 Library GtkShortcut An object describing a keyboard shortcut Functions GtkShortcut * gtk_shortcut_new () GtkShortcut * gtk_shortcut_new_with_arguments () GtkShortcutTrigger * gtk_shortcut_get_trigger () void gtk_shortcut_set_trigger () GtkShortcutAction * gtk_shortcut_get_action () void gtk_shortcut_set_action () GVariant * gtk_shortcut_get_arguments () void gtk_shortcut_set_arguments () Properties GtkShortcutAction *actionRead / Write GVariant *argumentsRead / Write GtkShortcutTrigger *triggerRead / Write Types and Values GtkShortcut Object Hierarchy GObject ╰── GtkShortcut Includes#include <gtk/gtk.h> Description GtkShortcut is the low level object used for managing keyboard shortcuts. It contains a description of how to trigger the shortcut via a GtkShortcutTrigger and a way to activate the shortcut on a widget via GtkShortcutAction. The actual work is usually done via GtkShortcutController, which decides if and when to activate a shortcut. Using that controller directly however is rarely necessary as various higher level convenience APIs exist on GtkWidgets that make it easier to use shortcuts in GTK. GtkShortcut does provide functionality to make it easy for users to work with shortcuts, either by providing informational strings for display purposes or by allowing shortcuts to be configured. Functions gtk_shortcut_new () gtk_shortcut_new GtkShortcut * gtk_shortcut_new (GtkShortcutTrigger *trigger, GtkShortcutAction *action); Creates a new GtkShortcut that is triggered by trigger and then activates action . Parameters trigger The trigger that will trigger the shortcut. [transfer full][nullable] action The action that will be activated upon triggering. [transfer full][nullable] Returns a new GtkShortcut gtk_shortcut_new_with_arguments () gtk_shortcut_new_with_arguments GtkShortcut * gtk_shortcut_new_with_arguments (GtkShortcutTrigger *trigger, GtkShortcutAction *action, const char *format_string, ...); Creates a new GtkShortcut that is triggered by trigger and then activates action with arguments given by format_string . [skip] Parameters trigger The trigger that will trigger the shortcut. [transfer full][nullable] action The action that will be activated upon triggering. [transfer full][nullable] format_string GVariant format string for arguments or NULL for no arguments. [allow-none] ... arguments, as given by format string. Returns a new GtkShortcut gtk_shortcut_get_trigger () gtk_shortcut_get_trigger GtkShortcutTrigger * gtk_shortcut_get_trigger (GtkShortcut *self); Gets the trigger used to trigger self . Parameters self a GtkShortcut Returns the trigger used. [transfer none] gtk_shortcut_set_trigger () gtk_shortcut_set_trigger void gtk_shortcut_set_trigger (GtkShortcut *self, GtkShortcutTrigger *trigger); Sets the new trigger for self to be trigger . Parameters self a GtkShortcut trigger The new trigger. If the trigger is NULL, the never trigger will be used. [transfer full][nullable] gtk_shortcut_get_action () gtk_shortcut_get_action GtkShortcutAction * gtk_shortcut_get_action (GtkShortcut *self); Gets the action that is activated by this shortcut. Parameters self a GtkShortcut Returns the action. [transfer none] gtk_shortcut_set_action () gtk_shortcut_set_action void gtk_shortcut_set_action (GtkShortcut *self, GtkShortcutAction *action); Sets the new action for self to be action . Parameters self a GtkShortcut action The new action. If the action is NULL, the nothing action will be used. [transfer full][nullable] gtk_shortcut_get_arguments () gtk_shortcut_get_arguments GVariant * gtk_shortcut_get_arguments (GtkShortcut *self); Gets the arguments that are passed when activating the shortcut. Parameters self a GtkShortcut Returns the arguments. [transfer none][nullable] gtk_shortcut_set_arguments () gtk_shortcut_set_arguments void gtk_shortcut_set_arguments (GtkShortcut *self, GVariant *args); Sets the arguments to pass when activating the shortcut. Parameters self a GtkShortcut args arguments to pass when activating self . [nullable] Types and Values GtkShortcut GtkShortcut typedef struct _GtkShortcut GtkShortcut; Property Details The <literal>“action”</literal> property GtkShortcut:action “action” GtkShortcutAction * The action that gets activated by this shortcut. Owner: GtkShortcut Flags: Read / Write The <literal>“arguments”</literal> property GtkShortcut:arguments “arguments” GVariant * Arguments passed to activation. Owner: GtkShortcut Flags: Read / Write Allowed values: GVariant<*> Default value: NULL The <literal>“trigger”</literal> property GtkShortcut:trigger “trigger” GtkShortcutTrigger * The trigger that triggers this shortcut. Owner: GtkShortcut Flags: Read / Write See Also GtkShortcutController, GtkShortcutAction, GtkShortcutTrigger docs/reference/gtk/xml/gtkshortcutmanager.xml0000664000175000017500000001541213710700314021616 0ustar mclasenmclasen ]> GtkShortcutManager 3 GTK4 Library GtkShortcutManager Interface for managing shortcuts Types and Values GtkShortcutManager structGtkShortcutManagerInterface Object Hierarchy GInterface ╰── GtkShortcutManager Prerequisites GtkShortcutManager requires GObject. Known Implementations GtkShortcutManager is implemented by GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkEmojiChooser, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkShortcutsWindow and GtkWindow. Includes#include <gtk/gtk.h> Description The GtkShortcutManager interface is used to implement shortcut scopes. This is important for GtkNative widgets that have their own surface, since the event controllers that are used to implement managed and global scopes are limited to the same native. Examples for widgets implementing GtkShortcutManager are GtkWindow and GtkPopover. Functions Types and Values GtkShortcutManager GtkShortcutManager typedef struct _GtkShortcutManager GtkShortcutManager; This object is used to implement support for GtkShortcutScopes. Every widget that implements GtkShortcutManager will be used as a GTK_SHORTCUT_SCOPE_MANAGED. struct GtkShortcutManagerInterface GtkShortcutManagerInterface struct GtkShortcutManagerInterface { void (* add_controller) (GtkShortcutManager *self, GtkShortcutController *controller); void (* remove_controller) (GtkShortcutManager *self, GtkShortcutController *controller); }; The list of functions that can be implemented for the GtkShortcutManager interface. Note that no function is mandatory to implement, the default implementation will work fine. Members add_controller () Add a GtkShortcutController to be managed. remove_controller () Remove a GtkShortcutController that had previously been added. docs/reference/gtk/xml/gtkshortcutcontroller.xml0000664000175000017500000007224613710700314022377 0ustar mclasenmclasen ]> GtkShortcutController 3 GTK4 Library GtkShortcutController Event controller for shortcuts Functions GtkEventController * gtk_shortcut_controller_new () GtkEventController * gtk_shortcut_controller_new_for_model () void gtk_shortcut_controller_set_mnemonics_modifiers () GdkModifierType gtk_shortcut_controller_get_mnemonics_modifiers () void gtk_shortcut_controller_set_scope () GtkShortcutScope gtk_shortcut_controller_get_scope () void gtk_shortcut_controller_add_shortcut () void gtk_shortcut_controller_remove_shortcut () Properties GdkModifierTypemnemonic-modifiersRead / Write GListModel *modelWrite / Construct Only GtkShortcutScopescopeRead / Write Types and Values GtkShortcutController enumGtkShortcutScope GtkShortcutManager structGtkShortcutManagerInterface Object Hierarchy GInterface ╰── GtkShortcutManager GObject ╰── GtkEventController ╰── GtkShortcutController Prerequisites GtkShortcutManager requires GObject. Implemented Interfaces GtkShortcutController implements GListModel and GtkBuildable. Known Implementations GtkShortcutManager is implemented by GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkEmojiChooser, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkShortcutsWindow and GtkWindow. Includes#include <gtk/gtk.h> Description GtkShortcutController is an event controller that manages shortcuts. Most common shortcuts are using this controller implicitly, e.g. by adding a mnemonic underline to a GtkLabel, or by installing a key binding using gtk_widget_class_add_binding(), or by adding accelerators to global actions using gtk_application_set_accels_for_action(). But it is possible to create your own shortcut controller, and add shortcuts to it. GtkShortcutController implements GListModel for querying the shortcuts that have been added to it. GtkShortcutController as a GtkBuildableGtkShortcutControllers can be creates in ui files to set up shortcuts in the same place as the widgets. An example of a UI definition fragment with GtkShortcutController: managed <Control>k activate ]]> This example creates a GtkActivateAction for triggering the activate signal of the GtkButton. See gtk_shortcut_action_parse_string() for the syntax for other kinds of GtkShortcutAction. See gtk_shortcut_trigger_parse_string() to learn more about the syntax for triggers. Functions gtk_shortcut_controller_new () gtk_shortcut_controller_new GtkEventController * gtk_shortcut_controller_new (void); Creates a new shortcut controller. Returns a newly created shortcut controller gtk_shortcut_controller_new_for_model () gtk_shortcut_controller_new_for_model GtkEventController * gtk_shortcut_controller_new_for_model (GListModel *model); Creates a new shortcut controller that takes its shortcuts from the given list model. A controller created by this function does not let you add or remove individual shortcuts using the shortcut controller api, but you can change the contents of the model. Parameters model a GListModel containing shortcuts Returns a newly created shortcut controller gtk_shortcut_controller_set_mnemonics_modifiers () gtk_shortcut_controller_set_mnemonics_modifiers void gtk_shortcut_controller_set_mnemonics_modifiers (GtkShortcutController *self, GdkModifierType modifiers); Sets the controller to have the given mnemonics_modifiers . The mnemonics modifiers determines which modifiers need to be pressed to allow activation of shortcuts with mnemonics triggers. GTK normally uses the Alt modifier for mnemonics, except in GtkPopoverMenus, where mnemonics can be triggered without any modifiers. It should be very rarely necessary to change this, and doing so is likely to interfere with other shortcuts. This value is only relevant for local shortcut controllers. Global and managed shortcut controllers will have their shortcuts activated from other places which have their own modifiers for activating mnemonics. Parameters self a GtkShortcutController modifiers the new mnemonics_modifiers to use gtk_shortcut_controller_get_mnemonics_modifiers () gtk_shortcut_controller_get_mnemonics_modifiers GdkModifierType gtk_shortcut_controller_get_mnemonics_modifiers (GtkShortcutController *self); Gets the mnemonics modifiers for when this controller activates its shortcuts. See gtk_shortcut_controller_set_mnemonics_modifiers() for details. Parameters self a GtkShortcutController Returns the controller's mnemonics modifiers gtk_shortcut_controller_set_scope () gtk_shortcut_controller_set_scope void gtk_shortcut_controller_set_scope (GtkShortcutController *self, GtkShortcutScope scope); Sets the controller to have the given scope . The scope allows shortcuts to be activated outside of the normal event propagation. In particular, it allows installing global keyboard shortcuts that can be activated even when a widget does not have focus. With GTK_SHORTCUT_SCOPE_LOCAL, shortcuts will only be activated when the widget has focus. Parameters self a GtkShortcutController scope the new scope to use gtk_shortcut_controller_get_scope () gtk_shortcut_controller_get_scope GtkShortcutScope gtk_shortcut_controller_get_scope (GtkShortcutController *self); Gets the scope for when this controller activates its shortcuts. See gtk_shortcut_controller_set_scope() for details. Parameters self a GtkShortcutController Returns the controller's scope gtk_shortcut_controller_add_shortcut () gtk_shortcut_controller_add_shortcut void gtk_shortcut_controller_add_shortcut (GtkShortcutController *self, GtkShortcut *shortcut); Adds shortcut to the list of shortcuts handled by self . If this controller uses an external shortcut list, this function does nothing. Parameters self the controller shortcut a GtkShortcut. [transfer full] gtk_shortcut_controller_remove_shortcut () gtk_shortcut_controller_remove_shortcut void gtk_shortcut_controller_remove_shortcut (GtkShortcutController *self, GtkShortcut *shortcut); Removes shortcut from the list of shortcuts handled by self . If shortcut had not been added to controller or this controller uses an external shortcut list, this function does nothing. Parameters self the controller shortcut a GtkShortcut Types and Values GtkShortcutController GtkShortcutController typedef struct _GtkShortcutController GtkShortcutController; enum GtkShortcutScope GtkShortcutScope Describes where GtkShortcuts added to a GtkShortcutController get handled. Members GTK_SHORTCUT_SCOPE_LOCAL Shortcuts are handled inside the widget the controller belongs to. GTK_SHORTCUT_SCOPE_MANAGED Shortcuts are handled by the first ancestor that is a GtkShortcutManager GTK_SHORTCUT_SCOPE_GLOBAL Shortcuts are handled by the root widget. GtkShortcutManager GtkShortcutManager typedef struct _GtkShortcutManager GtkShortcutManager; This object is used to implement support for GtkShortcutScopes. Every widget that implements GtkShortcutManager will be used as a GTK_SHORTCUT_SCOPE_MANAGED. struct GtkShortcutManagerInterface GtkShortcutManagerInterface struct GtkShortcutManagerInterface { void (* add_controller) (GtkShortcutManager *self, GtkShortcutController *controller); void (* remove_controller) (GtkShortcutManager *self, GtkShortcutController *controller); }; The list of functions that can be implemented for the GtkShortcutManager interface. Note that no function is mandatory to implement, the default implementation will work fine. Property Details The <literal>“mnemonic-modifiers”</literal> property GtkShortcutController:mnemonic-modifiers “mnemonic-modifiers” GdkModifierType The modifiers that need to be pressed to allow mnemonics activation. Owner: GtkShortcutController Flags: Read / Write Default value: GDK_ALT_MASK The <literal>“model”</literal> property GtkShortcutController:model “model” GListModel * A list model to take shortcuts from Owner: GtkShortcutController Flags: Write / Construct Only The <literal>“scope”</literal> property GtkShortcutController:scope “scope” GtkShortcutScope What scope the shortcuts will be handled in. Owner: GtkShortcutController Flags: Read / Write Default value: GTK_SHORTCUT_SCOPE_LOCAL See Also GtkEventController, GtkShortcut docs/reference/gtk/xml/gtkeventcontrollerkey.xml0000664000175000017500000005564113710700314022356 0ustar mclasenmclasen ]> GtkEventControllerKey 3 GTK4 Library GtkEventControllerKey Event controller for key events Functions GtkEventController * gtk_event_controller_key_new () void gtk_event_controller_key_set_im_context () GtkIMContext * gtk_event_controller_key_get_im_context () gboolean gtk_event_controller_key_forward () guint gtk_event_controller_key_get_group () Signals voidim-updateRun Last gbooleankey-pressedRun Last voidkey-releasedRun Last gbooleanmodifiersRun Last Types and Values GtkEventControllerKey Object Hierarchy GObject ╰── GtkEventController ╰── GtkEventControllerKey Includes#include <gtk/gtk.h> Description GtkEventControllerKey is an event controller meant for situations where you need access to key events. Functions gtk_event_controller_key_new () gtk_event_controller_key_new GtkEventController * gtk_event_controller_key_new (void); Creates a new event controller that will handle key events. Returns a new GtkEventControllerKey gtk_event_controller_key_set_im_context () gtk_event_controller_key_set_im_context void gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller, GtkIMContext *im_context); Sets the input method context of the key controller . Parameters controller a GtkEventControllerKey im_context a GtkIMContext gtk_event_controller_key_get_im_context () gtk_event_controller_key_get_im_context GtkIMContext * gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller); Gets the input method context of the key controller . Parameters controller a GtkEventControllerKey Returns the GtkIMContext. [transfer none] gtk_event_controller_key_forward () gtk_event_controller_key_forward gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller, GtkWidget *widget); Forwards the current event of this controller to a widget . This function can only be used in handlers for the “key-pressed”, “key-released” or “modifiers” signals. Parameters controller a GtkEventControllerKey widget a GtkWidget Returns whether the widget handled the event gtk_event_controller_key_get_group () gtk_event_controller_key_get_group guint gtk_event_controller_key_get_group (GtkEventControllerKey *controller); Gets the key group of the current event of this controller . See gdk_key_event_get_group(). Parameters controller a GtkEventControllerKey Returns the key group Types and Values GtkEventControllerKey GtkEventControllerKey typedef struct _GtkEventControllerKey GtkEventControllerKey; Signal Details The <literal>“im-update”</literal> signal GtkEventControllerKey::im-update void user_function (GtkEventControllerKey *controller, gpointer user_data) This signal is emitted whenever the input method context filters away a keypress and prevents the controller receiving it. See gtk_event_controller_key_set_im_context() and gtk_im_context_filter_keypress(). Parameters controller the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“key-pressed”</literal> signal GtkEventControllerKey::key-pressed gboolean user_function (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer user_data) This signal is emitted whenever a key is pressed. Parameters controller the object which received the signal. keyval the pressed key. keycode the raw code of the pressed key. state the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType. user_data user data set when the signal handler was connected. Returns TRUE if the key press was handled, FALSE otherwise. Flags: Run Last The <literal>“key-released”</literal> signal GtkEventControllerKey::key-released void user_function (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer user_data) This signal is emitted whenever a key is released. Parameters controller the object which received the signal. keyval the released key. keycode the raw code of the released key. state the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType. user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“modifiers”</literal> signal GtkEventControllerKey::modifiers gboolean user_function (GtkEventControllerKey *controller, GdkModifierType keyval, gpointer user_data) This signal is emitted whenever the state of modifier keys and pointer buttons change. Parameters controller the object which received the signal. keyval the released key. state the bitmask, representing the new state of modifier keys and pointer buttons. See GdkModifierType. user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkEventController docs/reference/gtk/xml/gtkeventcontrollerfocus.xml0000664000175000017500000003707013710700314022701 0ustar mclasenmclasen ]> GtkEventControllerFocus 3 GTK4 Library GtkEventControllerFocus Event controller for focus Functions GtkEventController * gtk_event_controller_focus_new () gboolean gtk_event_controller_focus_contains_focus () gboolean gtk_event_controller_focus_is_focus () Properties gbooleancontains-focusRead gbooleanis-focusRead Signals voidenterRun Last voidleaveRun Last Types and Values GtkEventControllerFocus Object Hierarchy GObject ╰── GtkEventController ╰── GtkEventControllerFocus Includes#include <gtk/gtk.h> Description GtkEventControllerFocus is an event controller meant for situations where you need to know where the focus is. Functions gtk_event_controller_focus_new () gtk_event_controller_focus_new GtkEventController * gtk_event_controller_focus_new (void); Creates a new event controller that will handle focus events. Returns a new GtkEventControllerFocus gtk_event_controller_focus_contains_focus () gtk_event_controller_focus_contains_focus gboolean gtk_event_controller_focus_contains_focus (GtkEventControllerFocus *self); Returns the value of the GtkEventControllerFocus:contains-focus property. Parameters self a GtkEventControllerFocus Returns TRUE if focus is within self or one of its children gtk_event_controller_focus_is_focus () gtk_event_controller_focus_is_focus gboolean gtk_event_controller_focus_is_focus (GtkEventControllerFocus *self); Returns the value of the GtkEventControllerFocus:is-focus property. Parameters self a GtkEventControllerFocus Returns TRUE if focus is within self but not one of its children Types and Values GtkEventControllerFocus GtkEventControllerFocus typedef struct _GtkEventControllerFocus GtkEventControllerFocus; Property Details The <literal>“contains-focus”</literal> property GtkEventControllerFocus:contains-focus “contains-focus” gboolean Whether focus is contain in the controllers widget. See See “is-focus” for whether the focus is in the widget itself or inside a descendent. When handling focus events, this property is updated before “enter” or “leave” are emitted. Owner: GtkEventControllerFocus Flags: Read Default value: FALSE The <literal>“is-focus”</literal> property GtkEventControllerFocus:is-focus “is-focus” gboolean Whether focus is in the controllers widget itself, opposed to in a descendent widget. See also “contains-focus”. When handling focus events, this property is updated before “focus-in” or “focus-out” are emitted. Owner: GtkEventControllerFocus Flags: Read Default value: FALSE Signal Details The <literal>“enter”</literal> signal GtkEventControllerFocus::enter void user_function (GtkEventControllerFocus *controller, gpointer user_data) This signal is emitted whenever the focus enters into the widget or one of its descendents. Note that this means you may not get an ::enter signal even though the widget becomes the focus location, in certain cases (such as when the focus moves from a descendent of the widget to the widget itself). If you are interested in these cases, you can monitor the “is-focus” property for changes. Parameters controller the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“leave”</literal> signal GtkEventControllerFocus::leave void user_function (GtkEventControllerFocus *controller, gpointer user_data) This signal is emitted whenever the focus leaves the widget hierarchy that is rooted at the widget that the controller is attached to. Note that this means you may not get a ::leave signal even though the focus moves away from the widget, in certain cases (such as when the focus moves from the widget to a descendent). If you are interested in these cases, you can monitor the “is-focus” property for changes. Parameters controller the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkEventController docs/reference/gtk/xml/gtkgesturedrag.xml0000664000175000017500000004272213710700314020730 0ustar mclasenmclasen ]> GtkGestureDrag 3 GTK4 Library GtkGestureDrag Drag gesture Functions GtkGesture * gtk_gesture_drag_new () gboolean gtk_gesture_drag_get_start_point () gboolean gtk_gesture_drag_get_offset () Signals voiddrag-beginRun Last voiddrag-endRun Last voiddrag-updateRun Last Types and Values GtkGestureDrag Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureDrag ╰── GtkGesturePan Includes#include <gtk/gtk.h> Description GtkGestureDrag is a GtkGesture implementation that recognizes drag operations. The drag operation itself can be tracked throught the “drag-begin”, “drag-update” and “drag-end” signals, or the relevant coordinates be extracted through gtk_gesture_drag_get_offset() and gtk_gesture_drag_get_start_point(). Functions gtk_gesture_drag_new () gtk_gesture_drag_new GtkGesture * gtk_gesture_drag_new (void); Returns a newly created GtkGesture that recognizes drags. Returns a newly created GtkGestureDrag gtk_gesture_drag_get_start_point () gtk_gesture_drag_get_start_point gboolean gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture, double *x, double *y); If the gesture is active, this function returns TRUE and fills in x and y with the drag start coordinates, in window-relative coordinates. Parameters gesture a GtkGesture x X coordinate for the drag start point. [out][nullable] y Y coordinate for the drag start point. [out][nullable] Returns TRUE if the gesture is active gtk_gesture_drag_get_offset () gtk_gesture_drag_get_offset gboolean gtk_gesture_drag_get_offset (GtkGestureDrag *gesture, double *x, double *y); If the gesture is active, this function returns TRUE and fills in x and y with the coordinates of the current point, as an offset to the starting drag point. Parameters gesture a GtkGesture x X offset for the current point. [out][nullable] y Y offset for the current point. [out][nullable] Returns TRUE if the gesture is active Types and Values GtkGestureDrag GtkGestureDrag typedef struct _GtkGestureDrag GtkGestureDrag; Signal Details The <literal>“drag-begin”</literal> signal GtkGestureDrag::drag-begin void user_function (GtkGestureDrag *gesture, gdouble start_x, gdouble start_y, gpointer user_data) This signal is emitted whenever dragging starts. Parameters gesture the object which received the signal start_x X coordinate, relative to the widget allocation start_y Y coordinate, relative to the widget allocation user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“drag-end”</literal> signal GtkGestureDrag::drag-end void user_function (GtkGestureDrag *gesture, gdouble offset_x, gdouble offset_y, gpointer user_data) This signal is emitted whenever the dragging is finished. Parameters gesture the object which received the signal offset_x X offset, relative to the start point offset_y Y offset, relative to the start point user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“drag-update”</literal> signal GtkGestureDrag::drag-update void user_function (GtkGestureDrag *gesture, gdouble offset_x, gdouble offset_y, gpointer user_data) This signal is emitted whenever the dragging point moves. Parameters gesture the object which received the signal offset_x X offset, relative to the start point offset_y Y offset, relative to the start point user_data user data set when the signal handler was connected. Flags: Run Last See Also GtkGestureSwipe docs/reference/gtk/xml/gtkgesturelongpress.xml0000664000175000017500000003454513710700314022033 0ustar mclasenmclasen ]> GtkGestureLongPress 3 GTK4 Library GtkGestureLongPress "Press and Hold" gesture Functions GtkGesture * gtk_gesture_long_press_new () void gtk_gesture_long_press_set_delay_factor () double gtk_gesture_long_press_get_delay_factor () Properties gdoubledelay-factorRead / Write Signals voidcancelledRun Last voidpressedRun Last Types and Values GtkGestureLongPress Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureLongPress Includes#include <gtk/gtk.h> Description GtkGestureLongPress is a GtkGesture implementation able to recognize long presses, triggering the “pressed” after the timeout is exceeded. If the touchpoint is lifted before the timeout passes, or if it drifts too far of the initial press point, the “cancelled” signal will be emitted. Functions gtk_gesture_long_press_new () gtk_gesture_long_press_new GtkGesture * gtk_gesture_long_press_new (void); Returns a newly created GtkGesture that recognizes long presses. Returns a newly created GtkGestureLongPress gtk_gesture_long_press_set_delay_factor () gtk_gesture_long_press_set_delay_factor void gtk_gesture_long_press_set_delay_factor (GtkGestureLongPress *gesture, double delay_factor); Applies the given delay factor. The default long press time will be multiplied by this value. Valid values are in the range [0.5..2.0]. Parameters gesture A GtkGestureLongPress delay_factor The delay factor to apply gtk_gesture_long_press_get_delay_factor () gtk_gesture_long_press_get_delay_factor double gtk_gesture_long_press_get_delay_factor (GtkGestureLongPress *gesture); Returns the delay factor as set by gtk_gesture_long_press_set_delay_factor(). Parameters gesture A GtkGestureLongPress Returns the delay factor Types and Values GtkGestureLongPress GtkGestureLongPress typedef struct _GtkGestureLongPress GtkGestureLongPress; Property Details The <literal>“delay-factor”</literal> property GtkGestureLongPress:delay-factor “delay-factor” gdouble Factor by which to modify the default timeout.Owner: GtkGestureLongPress Flags: Read / Write Allowed values: [0.5,2] Default value: 1 Signal Details The <literal>“cancelled”</literal> signal GtkGestureLongPress::cancelled void user_function (GtkGestureLongPress *gesture, gpointer user_data) This signal is emitted whenever a press moved too far, or was released before “pressed” happened. Parameters gesture the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“pressed”</literal> signal GtkGestureLongPress::pressed void user_function (GtkGestureLongPress *gesture, gdouble x, gdouble y, gpointer user_data) This signal is emitted whenever a press goes unmoved/unreleased longer than what the GTK+ defaults tell. Parameters gesture the object which received the signal x the X coordinate where the press happened, relative to the widget allocation y the Y coordinate where the press happened, relative to the widget allocation user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkgestureclick.xml0000664000175000017500000003673113710700314021103 0ustar mclasenmclasen ]> GtkGestureClick 3 GTK4 Library GtkGestureClick Multipress gesture Functions GtkGesture * gtk_gesture_click_new () Signals voidpressedRun Last voidreleasedRun Last voidstoppedRun Last voidunpaired-releaseRun Last Types and Values GtkGestureClick Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureClick Includes#include <gtk/gtk.h> Description GtkGestureClick is a GtkGesture implementation able to recognize multiple clicks on a nearby zone, which can be listened for through the “pressed” signal. Whenever time or distance between clicks exceed the GTK+ defaults, “stopped” is emitted, and the click counter is reset. Callers may also restrict the area that is considered valid for a >1 touch/button press through gtk_gesture_click_set_area(), so any click happening outside that area is considered to be a first click of its own. Functions gtk_gesture_click_new () gtk_gesture_click_new GtkGesture * gtk_gesture_click_new (void); Returns a newly created GtkGesture that recognizes single and multiple presses. Returns a newly created GtkGestureClick Types and Values GtkGestureClick GtkGestureClick typedef struct _GtkGestureClick GtkGestureClick; Signal Details The <literal>“pressed”</literal> signal GtkGestureClick::pressed void user_function (GtkGestureClick *gesture, gint n_press, gdouble x, gdouble y, gpointer user_data) This signal is emitted whenever a button or touch press happens. Parameters gesture the object which received the signal n_press how many touch/button presses happened with this one x The X coordinate, in widget allocation coordinates y The Y coordinate, in widget allocation coordinates user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“released”</literal> signal GtkGestureClick::released void user_function (GtkGestureClick *gesture, gint n_press, gdouble x, gdouble y, gpointer user_data) This signal is emitted when a button or touch is released. n_press will report the number of press that is paired to this event, note that “stopped” may have been emitted between the press and its release, n_press will only start over at the next press. Parameters gesture the object which received the signal n_press number of press that is paired with this release x The X coordinate, in widget allocation coordinates y The Y coordinate, in widget allocation coordinates user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“stopped”</literal> signal GtkGestureClick::stopped void user_function (GtkGestureClick *gesture, gpointer user_data) This signal is emitted whenever any time/distance threshold has been exceeded. Parameters gesture the object which received the signal user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“unpaired-release”</literal> signal GtkGestureClick::unpaired-release void user_function (GtkGestureClick *gesture, gdouble x, gdouble y, guint button, GdkEventSequence *sequence, gpointer user_data) This signal is emitted whenever the gesture receives a release event that had no previous corresponding press. Due to implicit grabs, this can only happen on situations where input is grabbed elsewhere mid-press or the pressed widget voluntarily relinquishes its implicit grab. Parameters gesture the object which received the signal x X coordinate of the event y Y coordinate of the event button Button being released sequence Sequence being released user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkgesturepan.xml0000664000175000017500000003543513710700314020574 0ustar mclasenmclasen ]> GtkGesturePan 3 GTK4 Library GtkGesturePan Pan gesture Functions GtkGesture * gtk_gesture_pan_new () GtkOrientation gtk_gesture_pan_get_orientation () void gtk_gesture_pan_set_orientation () Properties GtkOrientationorientationRead / Write Signals voidpanRun Last Types and Values GtkGesturePan enumGtkPanDirection Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureDrag ╰── GtkGesturePan Includes#include <gtk/gtk.h> Description GtkGesturePan is a GtkGesture implementation able to recognize pan gestures, those are drags that are locked to happen along one axis. The axis that a GtkGesturePan handles is defined at construct time, and can be changed through gtk_gesture_pan_set_orientation(). When the gesture starts to be recognized, GtkGesturePan will attempt to determine as early as possible whether the sequence is moving in the expected direction, and denying the sequence if this does not happen. Once a panning gesture along the expected axis is recognized, the “pan” signal will be emitted as input events are received, containing the offset in the given axis. Functions gtk_gesture_pan_new () gtk_gesture_pan_new GtkGesture * gtk_gesture_pan_new (GtkOrientation orientation); Returns a newly created GtkGesture that recognizes pan gestures. Parameters orientation expected orientation Returns a newly created GtkGesturePan gtk_gesture_pan_get_orientation () gtk_gesture_pan_get_orientation GtkOrientation gtk_gesture_pan_get_orientation (GtkGesturePan *gesture); Returns the orientation of the pan gestures that this gesture expects. Parameters gesture A GtkGesturePan Returns the expected orientation for pan gestures gtk_gesture_pan_set_orientation () gtk_gesture_pan_set_orientation void gtk_gesture_pan_set_orientation (GtkGesturePan *gesture, GtkOrientation orientation); Sets the orientation to be expected on pan gestures. Parameters gesture A GtkGesturePan orientation expected orientation Types and Values GtkGesturePan GtkGesturePan typedef struct _GtkGesturePan GtkGesturePan; enum GtkPanDirection GtkPanDirection Describes the panning direction of a GtkGesturePan Members GTK_PAN_DIRECTION_LEFT panned towards the left GTK_PAN_DIRECTION_RIGHT panned towards the right GTK_PAN_DIRECTION_UP panned upwards GTK_PAN_DIRECTION_DOWN panned downwards Property Details The <literal>“orientation”</literal> property GtkGesturePan:orientation “orientation” GtkOrientation The expected orientation of pan gestures. Owner: GtkGesturePan Flags: Read / Write Default value: GTK_ORIENTATION_HORIZONTAL Signal Details The <literal>“pan”</literal> signal GtkGesturePan::pan void user_function (GtkGesturePan *gesture, GtkPanDirection direction, gdouble offset, gpointer user_data) This signal is emitted once a panning gesture along the expected axis is detected. Parameters gesture The object which received the signal direction current direction of the pan gesture offset Offset along the gesture orientation user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkgestureswipe.xml0000664000175000017500000002376613710700314021151 0ustar mclasenmclasen ]> GtkGestureSwipe 3 GTK4 Library GtkGestureSwipe Swipe gesture Functions GtkGesture * gtk_gesture_swipe_new () gboolean gtk_gesture_swipe_get_velocity () Signals voidswipeRun Last Types and Values GtkGestureSwipe Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureSwipe Includes#include <gtk/gtk.h> Description GtkGestureSwipe is a GtkGesture implementation able to recognize swipes, after a press/move/.../move/release sequence happens, the “swipe” signal will be emitted, providing the velocity and directionality of the sequence at the time it was lifted. If the velocity is desired in intermediate points, gtk_gesture_swipe_get_velocity() can be called on eg. a “update” handler. All velocities are reported in pixels/sec units. Functions gtk_gesture_swipe_new () gtk_gesture_swipe_new GtkGesture * gtk_gesture_swipe_new (void); Returns a newly created GtkGesture that recognizes swipes. Returns a newly created GtkGestureSwipe gtk_gesture_swipe_get_velocity () gtk_gesture_swipe_get_velocity gboolean gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture, double *velocity_x, double *velocity_y); If the gesture is recognized, this function returns TRUE and fill in velocity_x and velocity_y with the recorded velocity, as per the last event(s) processed. Parameters gesture a GtkGestureSwipe velocity_x return value for the velocity in the X axis, in pixels/sec. [out] velocity_y return value for the velocity in the Y axis, in pixels/sec. [out] Returns whether velocity could be calculated Types and Values GtkGestureSwipe GtkGestureSwipe typedef struct _GtkGestureSwipe GtkGestureSwipe; Signal Details The <literal>“swipe”</literal> signal GtkGestureSwipe::swipe void user_function (GtkGestureSwipe *gesture, gdouble velocity_x, gdouble velocity_y, gpointer user_data) This signal is emitted when the recognized gesture is finished, velocity and direction are a product of previously recorded events. Parameters gesture object which received the signal velocity_x velocity in the X axis, in pixels/sec velocity_y velocity in the Y axis, in pixels/sec user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkgesturerotate.xml0000664000175000017500000002156013710700314021306 0ustar mclasenmclasen ]> GtkGestureRotate 3 GTK4 Library GtkGestureRotate Rotate gesture Functions GtkGesture * gtk_gesture_rotate_new () double gtk_gesture_rotate_get_angle_delta () Signals voidangle-changedRun First Types and Values GtkGestureRotate Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureRotate Includes#include <gtk/gtk.h> Description GtkGestureRotate is a GtkGesture implementation able to recognize 2-finger rotations, whenever the angle between both handled sequences changes, the “angle-changed” signal is emitted. Functions gtk_gesture_rotate_new () gtk_gesture_rotate_new GtkGesture * gtk_gesture_rotate_new (void); Returns a newly created GtkGesture that recognizes 2-touch rotation gestures. Returns a newly created GtkGestureRotate gtk_gesture_rotate_get_angle_delta () gtk_gesture_rotate_get_angle_delta double gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture); If gesture is active, this function returns the angle difference in radians since the gesture was first recognized. If gesture is not active, 0 is returned. Parameters gesture a GtkGestureRotate Returns the angle delta in radians Types and Values GtkGestureRotate GtkGestureRotate typedef struct _GtkGestureRotate GtkGestureRotate; Signal Details The <literal>“angle-changed”</literal> signal GtkGestureRotate::angle-changed void user_function (GtkGestureRotate *gesture, gdouble angle, gdouble angle_delta, gpointer user_data) This signal is emitted when the angle between both tracked points changes. Parameters gesture the object on which the signal is emitted angle Current angle in radians angle_delta Difference with the starting angle, in radians user_data user data set when the signal handler was connected. Flags: Run First See Also GtkGestureZoom docs/reference/gtk/xml/gtkgesturezoom.xml0000664000175000017500000002106513710700314020774 0ustar mclasenmclasen ]> GtkGestureZoom 3 GTK4 Library GtkGestureZoom Zoom gesture Functions GtkGesture * gtk_gesture_zoom_new () double gtk_gesture_zoom_get_scale_delta () Signals voidscale-changedRun First Types and Values GtkGestureZoom Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureZoom Includes#include <gtk/gtk.h> Description GtkGestureZoom is a GtkGesture implementation able to recognize pinch/zoom gestures, whenever the distance between both tracked sequences changes, the “scale-changed” signal is emitted to report the scale factor. Functions gtk_gesture_zoom_new () gtk_gesture_zoom_new GtkGesture * gtk_gesture_zoom_new (void); Returns a newly created GtkGesture that recognizes zoom in/out gestures (usually known as pinch/zoom). Returns a newly created GtkGestureZoom gtk_gesture_zoom_get_scale_delta () gtk_gesture_zoom_get_scale_delta double gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture); If gesture is active, this function returns the zooming difference since the gesture was recognized (hence the starting point is considered 1:1). If gesture is not active, 1 is returned. Parameters gesture a GtkGestureZoom Returns the scale delta Types and Values GtkGestureZoom GtkGestureZoom typedef struct _GtkGestureZoom GtkGestureZoom; Signal Details The <literal>“scale-changed”</literal> signal GtkGestureZoom::scale-changed void user_function (GtkGestureZoom *controller, gdouble scale, gpointer user_data) This signal is emitted whenever the distance between both tracked sequences changes. Parameters controller the object on which the signal is emitted scale Scale delta, taking the initial state as 1:1 user_data user data set when the signal handler was connected. Flags: Run First See Also GtkGestureRotate docs/reference/gtk/xml/gtkpadcontroller.xml0000664000175000017500000005255213710700314021266 0ustar mclasenmclasen ]> GtkPadController 3 GTK4 Library GtkPadController Controller for drawing tablet pads Functions GtkPadController * gtk_pad_controller_new () void gtk_pad_controller_set_action_entries () void gtk_pad_controller_set_action () Properties GActionGroup *action-groupRead / Write / Construct Only GdkDevice *padRead / Write / Construct Only Types and Values GtkPadController enumGtkPadActionType structGtkPadActionEntry Object Hierarchy GObject ╰── GtkEventController ╰── GtkPadController Includes#include <gtk/gtk.h> Description GtkPadController is an event controller for the pads found in drawing tablets (The collection of buttons and tactile sensors often found around the stylus-sensitive area). These buttons and sensors have no implicit meaning, and by default they perform no action, this event controller is provided to map those to GAction objects, thus letting the application give those a more semantic meaning. Buttons and sensors are not constrained to triggering a single action, some GDK_SOURCE_TABLET_PAD devices feature multiple "modes", all these input elements have one current mode, which may determine the final action being triggered. Pad devices often divide buttons and sensors into groups, all elements in a group share the same current mode, but different groups may have different modes. See gdk_device_pad_get_n_groups() and gdk_device_pad_get_group_n_modes(). Each of the actions that a given button/strip/ring performs for a given mode is defined by GtkPadActionEntry, it contains an action name that will be looked up in the given GActionGroup and activated whenever the specified input element and mode are triggered. A simple example of GtkPadController usage, assigning button 1 in all modes and pad devices to an "invert-selection" action: The actions belonging to rings/strips will be activated with a parameter of type G_VARIANT_TYPE_DOUBLE bearing the value of the given axis, it is required that those are made stateful and accepting this GVariantType. Functions gtk_pad_controller_new () gtk_pad_controller_new GtkPadController * gtk_pad_controller_new (GActionGroup *group, GdkDevice *pad); Creates a new GtkPadController that will associate events from pad to actions. A NULL pad may be provided so the controller manages all pad devices generically, it is discouraged to mix GtkPadController objects with NULL and non-NULL pad argument on the same toplevel window, as execution order is not guaranteed. The GtkPadController is created with no mapped actions. In order to map pad events to actions, use gtk_pad_controller_set_action_entries() or gtk_pad_controller_set_action(). Be aware that pad events will only be delivered to GtkWindows, so adding a pad controller to any other type of widget will not have an effect. Parameters group GActionGroup to trigger actions from pad A GDK_SOURCE_TABLET_PAD device, or NULL to handle all pads. [nullable] Returns A newly created GtkPadController gtk_pad_controller_set_action_entries () gtk_pad_controller_set_action_entries void gtk_pad_controller_set_action_entries (GtkPadController *controller, const GtkPadActionEntry *entries, int n_entries); This is a convenience function to add a group of action entries on controller . See GtkPadActionEntry and gtk_pad_controller_set_action(). Parameters controller a GtkPadController entries the action entries to set on controller . [array length=n_entries] n_entries the number of elements in entries gtk_pad_controller_set_action () gtk_pad_controller_set_action void gtk_pad_controller_set_action (GtkPadController *controller, GtkPadActionType type, int index, int mode, const char *label, const char *action_name); Adds an individual action to controller . This action will only be activated if the given button/ring/strip number in index is interacted while the current mode is mode . -1 may be used for simple cases, so the action is triggered on all modes. The given label should be considered user-visible, so internationalization rules apply. Some windowing systems may be able to use those for user feedback. Parameters controller a GtkPadController type the type of pad feature that will trigger this action index the 0-indexed button/ring/strip number that will trigger this action mode the mode that will trigger this action, or -1 for all modes. label Human readable description of this action, this string should be deemed user-visible. action_name action name that will be activated in the GActionGroup Types and Values GtkPadController GtkPadController typedef struct _GtkPadController GtkPadController; enum GtkPadActionType GtkPadActionType The type of a pad action. Members GTK_PAD_ACTION_BUTTON Action is triggered by a pad button GTK_PAD_ACTION_RING Action is triggered by a pad ring GTK_PAD_ACTION_STRIP Action is triggered by a pad strip struct GtkPadActionEntry GtkPadActionEntry struct GtkPadActionEntry { GtkPadActionType type; int index; int mode; const char *label; const char *action_name; }; Struct defining a pad action entry. Members GtkPadActionType type; the type of pad feature that will trigger this action entry. int index; the 0-indexed button/ring/strip number that will trigger this action entry. int mode; the mode that will trigger this action entry, or -1 for all modes. const char *label; Human readable description of this action entry, this string should be deemed user-visible. const char *action_name; action name that will be activated in the GActionGroup. Property Details The <literal>“action-group”</literal> property GtkPadController:action-group “action-group” GActionGroup * Action group to launch actions from.Owner: GtkPadController Flags: Read / Write / Construct Only The <literal>“pad”</literal> property GtkPadController:pad “pad” GdkDevice * Pad device to control.Owner: GtkPadController Flags: Read / Write / Construct Only See Also GtkEventController, GdkDevicePad docs/reference/gtk/xml/gtkgesturestylus.xml0000664000175000017500000004676513710700314021371 0ustar mclasenmclasen ]> GtkGestureStylus 3 GTK4 Library GtkGestureStylus Gesture for stylus input Functions GtkGesture * gtk_gesture_stylus_new () gboolean gtk_gesture_stylus_get_axis () gboolean gtk_gesture_stylus_get_axes () gboolean gtk_gesture_stylus_get_backlog () GdkDeviceTool * gtk_gesture_stylus_get_device_tool () Signals voiddownRun Last voidmotionRun Last voidproximityRun Last voidupRun Last Types and Values GtkGestureStylus Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkGestureStylus Includes#include <gtk/gtk.h> Description GtkGestureStylus is a GtkGesture implementation specific to stylus input. The provided signals just provide the basic information Functions gtk_gesture_stylus_new () gtk_gesture_stylus_new GtkGesture * gtk_gesture_stylus_new (void); Creates a new GtkGestureStylus. Returns a newly created stylus gesture gtk_gesture_stylus_get_axis () gtk_gesture_stylus_get_axis gboolean gtk_gesture_stylus_get_axis (GtkGestureStylus *gesture, GdkAxisUse axis, double *value); Returns the current value for the requested axis . This function must be called from either the “down”, “motion”, “up” or “proximity” signals. Parameters gesture a GtkGestureStylus axis requested device axis value return location for the axis value. [out] Returns TRUE if there is a current value for the axis gtk_gesture_stylus_get_axes () gtk_gesture_stylus_get_axes gboolean gtk_gesture_stylus_get_axes (GtkGestureStylus *gesture, GdkAxisUse axes[], double **values); Returns the current values for the requested axes . This function must be called from either the “down”, “motion”, “up” or “proximity” signals. Parameters gesture a GtkGestureStylus axes array of requested axes, terminated with GDK_AXIS_IGNORE. [array] values return location for the axis values. [out][array] Returns TRUE if there is a current value for the axes gtk_gesture_stylus_get_backlog () gtk_gesture_stylus_get_backlog gboolean gtk_gesture_stylus_get_backlog (GtkGestureStylus *gesture, GdkTimeCoord **backlog, guint *n_elems); By default, GTK+ will limit rate of input events. On stylus input where accuracy of strokes is paramount, this function returns the accumulated coordinate/timing state before the emission of the current “motion” signal. This function may only be called within a “motion” signal handler, the state given in this signal and obtainable through gtk_gesture_stylus_get_axis() call express the latest (most up-to-date) state in motion history. backlog is provided in chronological order. Parameters gesture a GtkGestureStylus backlog coordinates and times for the backlog events. [out][array length=n_elems] n_elems return location for the number of elements. [out] Returns TRUE if there is a backlog to unfold in the current state. gtk_gesture_stylus_get_device_tool () gtk_gesture_stylus_get_device_tool GdkDeviceTool * gtk_gesture_stylus_get_device_tool (GtkGestureStylus *gesture); Returns the GdkDeviceTool currently driving input through this gesture. This function must be called from either the “down”, “motion”, “up” or “proximity” signal handlers. Parameters gesture a GtkGestureStylus Returns The current stylus tool. [nullable][transfer none] Types and Values GtkGestureStylus GtkGestureStylus typedef struct _GtkGestureStylus GtkGestureStylus; Signal Details The <literal>“down”</literal> signal GtkGestureStylus::down void user_function (GtkGestureStylus *gesturestylus, gdouble arg1, gdouble arg2, gpointer user_data) Flags: Run Last The <literal>“motion”</literal> signal GtkGestureStylus::motion void user_function (GtkGestureStylus *gesturestylus, gdouble arg1, gdouble arg2, gpointer user_data) Flags: Run Last The <literal>“proximity”</literal> signal GtkGestureStylus::proximity void user_function (GtkGestureStylus *gesturestylus, gdouble arg1, gdouble arg2, gpointer user_data) Flags: Run Last The <literal>“up”</literal> signal GtkGestureStylus::up void user_function (GtkGestureStylus *gesturestylus, gdouble arg1, gdouble arg2, gpointer user_data) Flags: Run Last See Also GtkGesture, GtkGestureSingle docs/reference/gtk/xml/gtkstacksidebar.xml0000664000175000017500000002350613710700314021052 0ustar mclasenmclasen ]> GtkStackSidebar 3 GTK4 Library GtkStackSidebar An automatic sidebar widget Functions GtkWidget * gtk_stack_sidebar_new () void gtk_stack_sidebar_set_stack () GtkStack * gtk_stack_sidebar_get_stack () Properties GtkStack *stackRead / Write Types and Values GtkStackSidebar Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkStackSidebar Implemented Interfaces GtkStackSidebar implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkStackSidebar enables you to quickly and easily provide a consistent "sidebar" object for your user interface. In order to use a GtkStackSidebar, you simply use a GtkStack to organize your UI flow, and add the sidebar to your sidebar area. You can use gtk_stack_sidebar_set_stack() to connect the GtkStackSidebar to the GtkStack. CSS nodesGtkStackSidebar has a single CSS node with name stacksidebar and style class .sidebar. When circumstances require it, GtkStackSidebar adds the .needs-attention style class to the widgets representing the stack pages. Functions gtk_stack_sidebar_new () gtk_stack_sidebar_new GtkWidget * gtk_stack_sidebar_new (void); Creates a new sidebar. Returns the new GtkStackSidebar gtk_stack_sidebar_set_stack () gtk_stack_sidebar_set_stack void gtk_stack_sidebar_set_stack (GtkStackSidebar *self, GtkStack *stack); Set the GtkStack associated with this GtkStackSidebar. The sidebar widget will automatically update according to the order (packing) and items within the given GtkStack. Parameters self a GtkStackSidebar stack a GtkStack gtk_stack_sidebar_get_stack () gtk_stack_sidebar_get_stack GtkStack * gtk_stack_sidebar_get_stack (GtkStackSidebar *self); Retrieves the stack. See gtk_stack_sidebar_set_stack(). Parameters self a GtkStackSidebar Returns the associated GtkStack or NULL if none has been set explicitly. [nullable][transfer none] Types and Values GtkStackSidebar GtkStackSidebar typedef struct _GtkStackSidebar GtkStackSidebar; Property Details The <literal>“stack”</literal> property GtkStackSidebar:stack “stack” GtkStack * Associated stack for this GtkStackSidebar.Owner: GtkStackSidebar Flags: Read / Write docs/reference/gtk/xml/gtkglarea.xml0000664000175000017500000015535713710700314017660 0ustar mclasenmclasen ]> GtkGLArea 3 GTK4 Library GtkGLArea A widget for custom drawing with OpenGL Functions GtkWidget * gtk_gl_area_new () GdkGLContext * gtk_gl_area_get_context () void gtk_gl_area_make_current () void gtk_gl_area_queue_render () void gtk_gl_area_attach_buffers () void gtk_gl_area_set_error () GError * gtk_gl_area_get_error () void gtk_gl_area_set_has_depth_buffer () gboolean gtk_gl_area_get_has_depth_buffer () void gtk_gl_area_set_has_stencil_buffer () gboolean gtk_gl_area_get_has_stencil_buffer () void gtk_gl_area_set_auto_render () gboolean gtk_gl_area_get_auto_render () void gtk_gl_area_get_required_version () void gtk_gl_area_set_required_version () void gtk_gl_area_set_use_es () gboolean gtk_gl_area_get_use_es () Properties gbooleanauto-renderRead / Write GdkGLContext *contextRead gbooleanhas-depth-bufferRead / Write gbooleanhas-stencil-bufferRead / Write gbooleanuse-esRead / Write Signals GdkGLContext*create-contextRun Last gbooleanrenderRun Last voidresizeRun Last Types and Values structGtkGLArea structGtkGLAreaClass Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkGLArea Implemented Interfaces GtkGLArea implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkGLArea is a widget that allows drawing with OpenGL. GtkGLArea sets up its own GdkGLContext for the window it creates, and creates a custom GL framebuffer that the widget will do GL rendering onto. It also ensures that this framebuffer is the default GL rendering target when rendering. In order to draw, you have to connect to the “render” signal, or subclass GtkGLArea and override the GtkGLAreaClass.render() virtual function. The GtkGLArea widget ensures that the GdkGLContext is associated with the widget's drawing area, and it is kept updated when the size and position of the drawing area changes. Drawing with GtkGLAreaThe simplest way to draw using OpenGL commands in a GtkGLArea is to create a widget instance and connect to the “render” signal: The render() function will be called when the GtkGLArea is ready for you to draw its content: If you need to initialize OpenGL state, e.g. buffer objects or shaders, you should use the “realize” signal; you can use the “unrealize” signal to clean up. Since the GdkGLContext creation and initialization may fail, you will need to check for errors, using gtk_gl_area_get_error(). An example of how to safely initialize the GL state is: If you need to change the options for creating the GdkGLContext you should use the “create-context” signal. Functions gtk_gl_area_new () gtk_gl_area_new GtkWidget * gtk_gl_area_new (void); Creates a new GtkGLArea widget. Returns a new GtkGLArea gtk_gl_area_get_context () gtk_gl_area_get_context GdkGLContext * gtk_gl_area_get_context (GtkGLArea *area); Retrieves the GdkGLContext used by area . Parameters area a GtkGLArea Returns the GdkGLContext. [transfer none] gtk_gl_area_make_current () gtk_gl_area_make_current void gtk_gl_area_make_current (GtkGLArea *area); Ensures that the GdkGLContext used by area is associated with the GtkGLArea. This function is automatically called before emitting the “render” signal, and doesn't normally need to be called by application code. Parameters area a GtkGLArea gtk_gl_area_queue_render () gtk_gl_area_queue_render void gtk_gl_area_queue_render (GtkGLArea *area); Marks the currently rendered data (if any) as invalid, and queues a redraw of the widget, ensuring that the “render” signal is emitted during the draw. This is only needed when the gtk_gl_area_set_auto_render() has been called with a FALSE value. The default behaviour is to emit “render” on each draw. Parameters area a GtkGLArea gtk_gl_area_attach_buffers () gtk_gl_area_attach_buffers void gtk_gl_area_attach_buffers (GtkGLArea *area); Ensures that the area framebuffer object is made the current draw and read target, and that all the required buffers for the area are created and bound to the frambuffer. This function is automatically called before emitting the “render” signal, and doesn't normally need to be called by application code. Parameters area a GtkGLArea gtk_gl_area_set_error () gtk_gl_area_set_error void gtk_gl_area_set_error (GtkGLArea *area, const GError *error); Sets an error on the area which will be shown instead of the GL rendering. This is useful in the “create-context” signal if GL context creation fails. Parameters area a GtkGLArea error a new GError, or NULL to unset the error. [allow-none] gtk_gl_area_get_error () gtk_gl_area_get_error GError * gtk_gl_area_get_error (GtkGLArea *area); Gets the current error set on the area . Parameters area a GtkGLArea Returns the GError or NULL. [nullable][transfer none] gtk_gl_area_set_has_depth_buffer () gtk_gl_area_set_has_depth_buffer void gtk_gl_area_set_has_depth_buffer (GtkGLArea *area, gboolean has_depth_buffer); If has_depth_buffer is TRUE the widget will allocate and enable a depth buffer for the target framebuffer. Otherwise there will be none. Parameters area a GtkGLArea has_depth_buffer TRUE to add a depth buffer gtk_gl_area_get_has_depth_buffer () gtk_gl_area_get_has_depth_buffer gboolean gtk_gl_area_get_has_depth_buffer (GtkGLArea *area); Returns whether the area has a depth buffer. Parameters area a GtkGLArea Returns TRUE if the area has a depth buffer, FALSE otherwise gtk_gl_area_set_has_stencil_buffer () gtk_gl_area_set_has_stencil_buffer void gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area, gboolean has_stencil_buffer); If has_stencil_buffer is TRUE the widget will allocate and enable a stencil buffer for the target framebuffer. Otherwise there will be none. Parameters area a GtkGLArea has_stencil_buffer TRUE to add a stencil buffer gtk_gl_area_get_has_stencil_buffer () gtk_gl_area_get_has_stencil_buffer gboolean gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area); Returns whether the area has a stencil buffer. Parameters area a GtkGLArea Returns TRUE if the area has a stencil buffer, FALSE otherwise gtk_gl_area_set_auto_render () gtk_gl_area_set_auto_render void gtk_gl_area_set_auto_render (GtkGLArea *area, gboolean auto_render); If auto_render is TRUE the “render” signal will be emitted every time the widget draws. This is the default and is useful if drawing the widget is faster. If auto_render is FALSE the data from previous rendering is kept around and will be used for drawing the widget the next time, unless the window is resized. In order to force a rendering gtk_gl_area_queue_render() must be called. This mode is useful when the scene changes seldomly, but takes a long time to redraw. Parameters area a GtkGLArea auto_render a boolean gtk_gl_area_get_auto_render () gtk_gl_area_get_auto_render gboolean gtk_gl_area_get_auto_render (GtkGLArea *area); Returns whether the area is in auto render mode or not. Parameters area a GtkGLArea Returns TRUE if the area is auto rendering, FALSE otherwise gtk_gl_area_get_required_version () gtk_gl_area_get_required_version void gtk_gl_area_get_required_version (GtkGLArea *area, int *major, int *minor); Retrieves the required version of OpenGL set using gtk_gl_area_set_required_version(). Parameters area a GtkGLArea major return location for the required major version. [out] minor return location for the required minor version. [out] gtk_gl_area_set_required_version () gtk_gl_area_set_required_version void gtk_gl_area_set_required_version (GtkGLArea *area, int major, int minor); Sets the required version of OpenGL to be used when creating the context for the widget. This function must be called before the area has been realized. Parameters area a GtkGLArea major the major version minor the minor version gtk_gl_area_set_use_es () gtk_gl_area_set_use_es void gtk_gl_area_set_use_es (GtkGLArea *area, gboolean use_es); Sets whether the area should create an OpenGL or an OpenGL ES context. You should check the capabilities of the GdkGLContext before drawing with either API. Parameters area a GtkGLArea use_es whether to use OpenGL or OpenGL ES gtk_gl_area_get_use_es () gtk_gl_area_get_use_es gboolean gtk_gl_area_get_use_es (GtkGLArea *area); Retrieves the value set by gtk_gl_area_set_use_es(). Parameters area a GtkGLArea Returns TRUE if the GtkGLArea should create an OpenGL ES context and FALSE otherwise Types and Values struct GtkGLArea GtkGLArea struct GtkGLArea; A GtkWidget used for drawing with OpenGL. struct GtkGLAreaClass GtkGLAreaClass struct GtkGLAreaClass { gboolean (* render) (GtkGLArea *area, GdkGLContext *context); void (* resize) (GtkGLArea *area, int width, int height); GdkGLContext * (* create_context) (GtkGLArea *area); }; The GtkGLAreaClass structure contains only private data. Members render () class closure for the “render” signal resize () class closeure for the “resize” signal create_context () class closure for the “create-context” signal Property Details The <literal>“auto-render”</literal> property GtkGLArea:auto-render “auto-render” gboolean If set to TRUE the “render” signal will be emitted every time the widget draws. This is the default and is useful if drawing the widget is faster. If set to FALSE the data from previous rendering is kept around and will be used for drawing the widget the next time, unless the window is resized. In order to force a rendering gtk_gl_area_queue_render() must be called. This mode is useful when the scene changes seldomly, but takes a long time to redraw. Owner: GtkGLArea Flags: Read / Write Default value: TRUE The <literal>“context”</literal> property GtkGLArea:context “context” GdkGLContext * The GdkGLContext used by the GtkGLArea widget. The GtkGLArea widget is responsible for creating the GdkGLContext instance. If you need to render with other kinds of buffers (stencil, depth, etc), use render buffers. Owner: GtkGLArea Flags: Read The <literal>“has-depth-buffer”</literal> property GtkGLArea:has-depth-buffer “has-depth-buffer” gboolean If set to TRUE the widget will allocate and enable a depth buffer for the target framebuffer. Owner: GtkGLArea Flags: Read / Write Default value: FALSE The <literal>“has-stencil-buffer”</literal> property GtkGLArea:has-stencil-buffer “has-stencil-buffer” gboolean If set to TRUE the widget will allocate and enable a stencil buffer for the target framebuffer. Owner: GtkGLArea Flags: Read / Write Default value: FALSE The <literal>“use-es”</literal> property GtkGLArea:use-es “use-es” gboolean If set to TRUE the widget will try to create a GdkGLContext using OpenGL ES instead of OpenGL. See also: gdk_gl_context_set_use_es() Owner: GtkGLArea Flags: Read / Write Default value: FALSE Signal Details The <literal>“create-context”</literal> signal GtkGLArea::create-context GdkGLContext* user_function (GtkGLArea *area, gpointer user_data) The ::create-context signal is emitted when the widget is being realized, and allows you to override how the GL context is created. This is useful when you want to reuse an existing GL context, or if you want to try creating different kinds of GL options. If context creation fails then the signal handler can use gtk_gl_area_set_error() to register a more detailed error of how the construction failed. Parameters area the GtkGLArea that emitted the signal error location to store error information on failure. [allow-none] user_data user data set when the signal handler was connected. Returns a newly created GdkGLContext; the GtkGLArea widget will take ownership of the returned value. [transfer full] Flags: Run Last The <literal>“render”</literal> signal GtkGLArea::render gboolean user_function (GtkGLArea *area, GdkGLContext *context, gpointer user_data) The ::render signal is emitted every time the contents of the GtkGLArea should be redrawn. The context is bound to the area prior to emitting this function, and the buffers are painted to the window once the emission terminates. Parameters area the GtkGLArea that emitted the signal context the GdkGLContext used by area user_data user data set when the signal handler was connected. Returns TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. Flags: Run Last The <literal>“resize”</literal> signal GtkGLArea::resize void user_function (GtkGLArea *area, gint width, gint height, gpointer user_data) The ::resize signal is emitted once when the widget is realized, and then each time the widget is changed while realized. This is useful in order to keep GL state up to date with the widget size, like for instance camera properties which may depend on the width/height ratio. The GL context for the area is guaranteed to be current when this signal is emitted. The default handler sets up the GL viewport. Parameters area the GtkGLArea that emitted the signal width the width of the viewport height the height of the viewport user_data user data set when the signal handler was connected. Flags: Run Last docs/reference/gtk/xml/gtkshortcutswindow.xml0000664000175000017500000003024013710700314021672 0ustar mclasenmclasen ]> GtkShortcutsWindow 3 GTK4 Library GtkShortcutsWindow Toplevel which shows help for shortcuts Properties gchar *section-nameRead / Write gchar *view-nameRead / Write Signals voidcloseAction voidsearchAction Types and Values structGtkShortcutsWindow Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkWindow ╰── GtkShortcutsWindow Implemented Interfaces GtkShortcutsWindow implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager and GtkRoot. Includes#include <gtk/gtk.h> Description A GtkShortcutsWindow shows brief information about the keyboard shortcuts and gestures of an application. The shortcuts can be grouped, and you can have multiple sections in this window, corresponding to the major modes of your application. Additionally, the shortcuts can be filtered by the current view, to avoid showing information that is not relevant in the current application context. The recommended way to construct a GtkShortcutsWindow is with GtkBuilder, by populating a GtkShortcutsWindow with one or more GtkShortcutsSection objects, which contain GtkShortcutsGroups that in turn contain objects of class GtkShortcutsShortcut. A simple example: This example has as single section. As you can see, the shortcut groups are arranged in columns, and spread across several pages if there are too many to find on a single page. The .ui file for this example can be found here. An example with multiple views: This example shows a GtkShortcutsWindow that has been configured to show only the shortcuts relevant to the "stopwatch" view. The .ui file for this example can be found here. An example with multiple sections: This example shows a GtkShortcutsWindow with two sections, "Editor Shortcuts" and "Terminal Shortcuts". The .ui file for this example can be found here. Functions Types and Values struct GtkShortcutsWindow GtkShortcutsWindow struct GtkShortcutsWindow; Property Details The <literal>“section-name”</literal> property GtkShortcutsWindow:section-name “section-name” gchar * The name of the section to show. This should be the section-name of one of the GtkShortcutsSection objects that are in this shortcuts window. Owner: GtkShortcutsWindow Flags: Read / Write Default value: "internal-search" The <literal>“view-name”</literal> property GtkShortcutsWindow:view-name “view-name” gchar * The view name by which to filter the contents. This should correspond to the “view” property of some of the GtkShortcutsGroup objects that are inside this shortcuts window. Set this to NULL to show all groups. Owner: GtkShortcutsWindow Flags: Read / Write Default value: NULL Signal Details The <literal>“close”</literal> signal GtkShortcutsWindow::close void user_function (GtkShortcutsWindow *shortcutswindow, gpointer user_data) The ::close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the window. The default binding for this signal is the Escape key. Parameters user_data user data set when the signal handler was connected. Flags: Action The <literal>“search”</literal> signal GtkShortcutsWindow::search void user_function (GtkShortcutsWindow *shortcutswindow, gpointer user_data) The ::search signal is a keybinding signal which gets emitted when the user uses a keybinding to start a search. The default binding for this signal is Control-F. Parameters user_data user data set when the signal handler was connected. Flags: Action docs/reference/gtk/xml/gtkshortcutssection.xml0000664000175000017500000002323713710700314022037 0ustar mclasenmclasen ]> GtkShortcutsSection 3 GTK4 Library GtkShortcutsSection Represents an application mode in a GtkShortcutsWindow Properties guintmax-heightRead / Write gchar *section-nameRead / Write gchar *titleRead / Write gchar *view-nameRead / Write Signals gbooleanchange-current-pageAction Types and Values GtkShortcutsSection Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkBox ╰── GtkShortcutsSection Implemented Interfaces GtkShortcutsSection implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description A GtkShortcutsSection collects all the keyboard shortcuts and gestures for a major application mode. If your application needs multiple sections, you should give each section a unique “section-name” and a “title” that can be shown in the section selector of the GtkShortcutsWindow. The “max-height” property can be used to influence how the groups in the section are distributed over pages and columns. This widget is only meant to be used with GtkShortcutsWindow. Functions Types and Values GtkShortcutsSection GtkShortcutsSection typedef struct _GtkShortcutsSection GtkShortcutsSection; Property Details The <literal>“max-height”</literal> property GtkShortcutsSection:max-height “max-height” guint The maximum number of lines to allow per column. This property can be used to influence how the groups in this section are distributed across pages and columns. The default value of 15 should work in most cases. Owner: GtkShortcutsSection Flags: Read / Write Default value: 15 The <literal>“section-name”</literal> property GtkShortcutsSection:section-name “section-name” gchar * A unique name to identify this section among the sections added to the GtkShortcutsWindow. Setting the “section-name” property to this string will make this section shown in the GtkShortcutsWindow. Owner: GtkShortcutsSection Flags: Read / Write Default value: NULL The <literal>“title”</literal> property GtkShortcutsSection:title “title” gchar * The string to show in the section selector of the GtkShortcutsWindow for this section. If there is only one section, you don't need to set a title, since the section selector will not be shown in this case. Owner: GtkShortcutsSection Flags: Read / Write Default value: NULL The <literal>“view-name”</literal> property GtkShortcutsSection:view-name “view-name” gchar * A view name to filter the groups in this section by. See “view”. Applications are expected to use the “view-name” property for this purpose. Owner: GtkShortcutsSection Flags: Read / Write Default value: NULL Signal Details The <literal>“change-current-page”</literal> signal GtkShortcutsSection::change-current-page gboolean user_function (GtkShortcutsSection *shortcutssection, gint arg1, gpointer user_data) Flags: Action docs/reference/gtk/xml/gtkshortcutsgroup.xml0000664000175000017500000002030513710700314021520 0ustar mclasenmclasen ]> GtkShortcutsGroup 3 GTK4 Library GtkShortcutsGroup Represents a group of shortcuts in a GtkShortcutsWindow Properties GtkSizeGroup *accel-size-groupWrite guintheightRead gchar *titleRead / Write GtkSizeGroup *title-size-groupWrite gchar *viewRead / Write Types and Values GtkShortcutsGroup Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkBox ╰── GtkShortcutsGroup Implemented Interfaces GtkShortcutsGroup implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable. Includes#include <gtk/gtk.h> Description A GtkShortcutsGroup represents a group of related keyboard shortcuts or gestures. The group has a title. It may optionally be associated with a view of the application, which can be used to show only relevant shortcuts depending on the application context. This widget is only meant to be used with GtkShortcutsWindow. Functions Types and Values GtkShortcutsGroup GtkShortcutsGroup typedef struct _GtkShortcutsGroup GtkShortcutsGroup; Property Details The <literal>“accel-size-group”</literal> property GtkShortcutsGroup:accel-size-group “accel-size-group” GtkSizeGroup * The size group for the accelerator portion of shortcuts in this group. This is used internally by GTK+, and must not be modified by applications. Owner: GtkShortcutsGroup Flags: Write The <literal>“height”</literal> property GtkShortcutsGroup:height “height” guint A rough measure for the number of lines in this group. This is used internally by GTK+, and is not useful for applications. Owner: GtkShortcutsGroup Flags: Read Default value: 1 The <literal>“title”</literal> property GtkShortcutsGroup:title “title” gchar * The title for this group of shortcuts. Owner: GtkShortcutsGroup Flags: Read / Write Default value: "" The <literal>“title-size-group”</literal> property GtkShortcutsGroup:title-size-group “title-size-group” GtkSizeGroup * The size group for the textual portion of shortcuts in this group. This is used internally by GTK+, and must not be modified by applications. Owner: GtkShortcutsGroup Flags: Write The <literal>“view”</literal> property GtkShortcutsGroup:view “view” gchar * An optional view that the shortcuts in this group are relevant for. The group will be hidden if the “view-name” property does not match the view of this group. Set this to NULL to make the group always visible. Owner: GtkShortcutsGroup Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtkshortcutsshortcut.xml0000664000175000017500000004633213710700314022247 0ustar mclasenmclasen ]> GtkShortcutsShortcut 3 GTK4 Library GtkShortcutsShortcut Represents a keyboard shortcut in a GtkShortcutsWindow Properties GtkSizeGroup *accel-size-groupWrite gchar *acceleratorRead / Write gchar *action-nameRead / Write GtkTextDirectiondirectionRead / Write GIcon *iconRead / Write gbooleanicon-setRead / Write GtkShortcutTypeshortcut-typeRead / Write gchar *subtitleRead / Write gbooleansubtitle-setRead / Write gchar *titleRead / Write GtkSizeGroup *title-size-groupWrite Types and Values GtkShortcutsShortcut enumGtkShortcutType Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkShortcutsShortcut Implemented Interfaces GtkShortcutsShortcut implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkShortcutsShortcut represents a single keyboard shortcut or gesture with a short text. This widget is only meant to be used with GtkShortcutsWindow. Functions Types and Values GtkShortcutsShortcut GtkShortcutsShortcut typedef struct _GtkShortcutsShortcut GtkShortcutsShortcut; enum GtkShortcutType GtkShortcutType GtkShortcutType specifies the kind of shortcut that is being described. More values may be added to this enumeration over time. Members GTK_SHORTCUT_ACCELERATOR The shortcut is a keyboard accelerator. The “accelerator” property will be used. GTK_SHORTCUT_GESTURE_PINCH The shortcut is a pinch gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_STRETCH The shortcut is a stretch gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE The shortcut is a gesture. The “icon” property will be used. GTK_SHORTCUT_GESTURE_SWIPE_LEFT The shortcut is a swipe gesture. GTK+ provides an icon and subtitle. GTK_SHORTCUT_GESTURE_SWIPE_RIGHT The shortcut is a swipe gesture. GTK+ provides an icon and subtitle. Property Details The <literal>“accel-size-group”</literal> property GtkShortcutsShortcut:accel-size-group “accel-size-group” GtkSizeGroup * The size group for the accelerator portion of this shortcut. This is used internally by GTK+, and must not be modified by applications. Owner: GtkShortcutsShortcut Flags: Write The <literal>“accelerator”</literal> property GtkShortcutsShortcut:accelerator “accelerator” gchar * The accelerator(s) represented by this object. This property is used if “shortcut-type” is set to GTK_SHORTCUT_ACCELERATOR. The syntax of this property is (an extension of) the syntax understood by gtk_accelerator_parse(). Multiple accelerators can be specified by separating them with a space, but keep in mind that the available width is limited. It is also possible to specify ranges of shortcuts, using ... between the keys. Sequences of keys can be specified using a + or & between the keys. Examples: A single shortcut: <ctl><alt>delete Two alternative shortcuts: <shift>a Home A range of shortcuts: <alt>1...<alt>9 Several keys pressed together: Control_L&Control_R A sequence of shortcuts or keys: <ctl>c+<ctl>x Use + instead of & when the keys may (or have to be) pressed sequentially (e.g use t+t for 'press the t key twice'). Note that <, > and & need to be escaped as <, > and & when used in .ui files. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: NULL The <literal>“action-name”</literal> property GtkShortcutsShortcut:action-name “action-name” gchar * A detailed action name. If this is set for a shortcut of type GTK_SHORTCUT_ACCELERATOR, then GTK+ will use the accelerators that are associated with the action via gtk_application_set_accels_for_action(), and setting “accelerator” is not necessary. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: NULL The <literal>“direction”</literal> property GtkShortcutsShortcut:direction “direction” GtkTextDirection The text direction for which this shortcut is active. If the shortcut is used regardless of the text direction, set this property to GTK_TEXT_DIR_NONE. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: GTK_TEXT_DIR_NONE The <literal>“icon”</literal> property GtkShortcutsShortcut:icon “icon” GIcon * An icon to represent the shortcut or gesture. This property is used if “shortcut-type” is set to GTK_SHORTCUT_GESTURE. For the other predefined gesture types, GTK+ provides an icon on its own. Owner: GtkShortcutsShortcut Flags: Read / Write The <literal>“icon-set”</literal> property GtkShortcutsShortcut:icon-set “icon-set” gboolean TRUE if an icon has been set. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: FALSE The <literal>“shortcut-type”</literal> property GtkShortcutsShortcut:shortcut-type “shortcut-type” GtkShortcutType The type of shortcut that is represented. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: GTK_SHORTCUT_ACCELERATOR The <literal>“subtitle”</literal> property GtkShortcutsShortcut:subtitle “subtitle” gchar * The subtitle for the shortcut or gesture. This is typically used for gestures and should be a short, one-line text that describes the gesture itself. For the predefined gesture types, GTK+ provides a subtitle on its own. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: "" The <literal>“subtitle-set”</literal> property GtkShortcutsShortcut:subtitle-set “subtitle-set” gboolean TRUE if a subtitle has been set. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: FALSE The <literal>“title”</literal> property GtkShortcutsShortcut:title “title” gchar * The textual description for the shortcut or gesture represented by this object. This should be a short string that can fit in a single line. Owner: GtkShortcutsShortcut Flags: Read / Write Default value: "" The <literal>“title-size-group”</literal> property GtkShortcutsShortcut:title-size-group “title-size-group” GtkSizeGroup * The size group for the textual portion of this shortcut. This is used internally by GTK+, and must not be modified by applications. Owner: GtkShortcutsShortcut Flags: Write docs/reference/gtk/xml/gtkshortcutlabel.xml0000664000175000017500000003476313710700314021275 0ustar mclasenmclasen ]> GtkShortcutLabel 3 GTK4 Library GtkShortcutLabel Displays a keyboard shortcut Functions GtkWidget * gtk_shortcut_label_new () const char * gtk_shortcut_label_get_accelerator () void gtk_shortcut_label_set_accelerator () const char * gtk_shortcut_label_get_disabled_text () void gtk_shortcut_label_set_disabled_text () Properties gchar *acceleratorRead / Write gchar *disabled-textRead / Write Types and Values GtkShortcutLabel Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkShortcutLabel Implemented Interfaces GtkShortcutLabel implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkShortcutLabel is a widget that represents a single keyboard shortcut or gesture in the user interface. Functions gtk_shortcut_label_new () gtk_shortcut_label_new GtkWidget * gtk_shortcut_label_new (const char *accelerator); Creates a new GtkShortcutLabel with accelerator set. Parameters accelerator the initial accelerator Returns a newly-allocated GtkShortcutLabel. [transfer full] gtk_shortcut_label_get_accelerator () gtk_shortcut_label_get_accelerator const char * gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self); Retrieves the current accelerator of self . Parameters self a GtkShortcutLabel Returns the current accelerator. [transfer none][nullable] gtk_shortcut_label_set_accelerator () gtk_shortcut_label_set_accelerator void gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self, const char *accelerator); Sets the accelerator to be displayed by self . Parameters self a GtkShortcutLabel accelerator the new accelerator gtk_shortcut_label_get_disabled_text () gtk_shortcut_label_get_disabled_text const char * gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self); Retrieves the text that is displayed when no accelerator is set. Parameters self a GtkShortcutLabel Returns the current text displayed when no accelerator is set. [transfer none][nullable] gtk_shortcut_label_set_disabled_text () gtk_shortcut_label_set_disabled_text void gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self, const char *disabled_text); Sets the text to be displayed by self when no accelerator is set. Parameters self a GtkShortcutLabel disabled_text the text to be displayed when no accelerator is set Types and Values GtkShortcutLabel GtkShortcutLabel typedef struct _GtkShortcutLabel GtkShortcutLabel; Property Details The <literal>“accelerator”</literal> property GtkShortcutLabel:accelerator “accelerator” gchar * The accelerator that self displays. See “accelerator” for the accepted syntax. Owner: GtkShortcutLabel Flags: Read / Write Default value: NULL The <literal>“disabled-text”</literal> property GtkShortcutLabel:disabled-text “disabled-text” gchar * The text that is displayed when no accelerator is set. Owner: GtkShortcutLabel Flags: Read / Write Default value: NULL See Also GtkCellRendererAccel docs/reference/gtk/xml/gtkvideo.xml0000664000175000017500000010027713710700314017522 0ustar mclasenmclasen ]> GtkVideo 3 GTK4 Library GtkVideo A widget for displaying video Functions GtkWidget * gtk_video_new () GtkWidget * gtk_video_new_for_media_stream () GtkWidget * gtk_video_new_for_file () GtkWidget * gtk_video_new_for_filename () GtkWidget * gtk_video_new_for_resource () GtkMediaStream * gtk_video_get_media_stream () void gtk_video_set_media_stream () GFile * gtk_video_get_file () void gtk_video_set_file () void gtk_video_set_filename () void gtk_video_set_resource () gboolean gtk_video_get_autoplay () void gtk_video_set_autoplay () gboolean gtk_video_get_loop () void gtk_video_set_loop () Properties gbooleanautoplayRead / Write GFile *fileRead / Write gbooleanloopRead / Write GtkMediaStream *media-streamRead / Write Types and Values GtkVideo Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkVideo Implemented Interfaces GtkVideo implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkVideo is a widget to show a GtkMediaStream. It is commonly combined with GtkMediaControls to give the user a way to control the playback. Functions gtk_video_new () gtk_video_new GtkWidget * gtk_video_new (void); Creates a new empty GtkVideo. Returns a new GtkVideo gtk_video_new_for_media_stream () gtk_video_new_for_media_stream GtkWidget * gtk_video_new_for_media_stream (GtkMediaStream *stream); Creates a GtkVideo to play back the given stream . Parameters stream a GtkMediaStream. [allow-none] Returns a new GtkVideo gtk_video_new_for_file () gtk_video_new_for_file GtkWidget * gtk_video_new_for_file (GFile *file); Creates a GtkVideo to play back the given file . Parameters file a GFile. [allow-none] Returns a new GtkVideo gtk_video_new_for_filename () gtk_video_new_for_filename GtkWidget * gtk_video_new_for_filename (const char *filename); Creates a GtkVideo to play back the given filename . This is a utility function that calls gtk_video_new_for_file(), See that function for details. Parameters filename filename to play back. [allow-none][type filename] Returns a new GtkVideo gtk_video_new_for_resource () gtk_video_new_for_resource GtkWidget * gtk_video_new_for_resource (const char *resource_path); Creates a GtkVideo to play back the resource at the given resource_path . This is a utility function that calls gtk_video_new_for_file(), Parameters resource_path resource path to play back. [allow-none] Returns a new GtkVideo gtk_video_get_media_stream () gtk_video_get_media_stream GtkMediaStream * gtk_video_get_media_stream (GtkVideo *self); Gets the media stream managed by self or NULL if none. Parameters self a GtkVideo Returns The media stream managed by self . [nullable][transfer none] gtk_video_set_media_stream () gtk_video_set_media_stream void gtk_video_set_media_stream (GtkVideo *self, GtkMediaStream *stream); Sets the media stream to be played back. self will take full control of managing the media stream. If you want to manage a media stream yourself, consider using a GtkImage for display. If you want to display a file, consider using gtk_video_set_file() instead. Parameters self a GtkVideo stream The media stream to play or NULL to unset. [allow-none] gtk_video_get_file () gtk_video_get_file GFile * gtk_video_get_file (GtkVideo *self); Gets the file played by self or NULL if not playing back a file. Parameters self a GtkVideo Returns The file played by self . [nullable][transfer none] gtk_video_set_file () gtk_video_set_file void gtk_video_set_file (GtkVideo *self, GFile *file); Makes self play the given file . Parameters self a GtkVideo file the file to play. [allow-none] gtk_video_set_filename () gtk_video_set_filename void gtk_video_set_filename (GtkVideo *self, const char *filename); Makes self play the given filename . This is a utility function that calls gtk_video_set_file(), Parameters self a GtkVideo filename the filename to play. [allow-none] gtk_video_set_resource () gtk_video_set_resource void gtk_video_set_resource (GtkVideo *self, const char *resource_path); Makes self play the resource at the given resource_path . This is a utility function that calls gtk_video_set_file(), Parameters self a GtkVideo resource_path the resource to set. [allow-none] gtk_video_get_autoplay () gtk_video_get_autoplay gboolean gtk_video_get_autoplay (GtkVideo *self); Returns TRUE if videos have been set to loop via gtk_video_set_loop(). Parameters self a GtkVideo Returns TRUE if streams should autoplay gtk_video_set_autoplay () gtk_video_set_autoplay void gtk_video_set_autoplay (GtkVideo *self, gboolean autoplay); Sets whether self automatically starts playback when it becomes visible or when a new file gets loaded. Parameters self a GtkVideo autoplay whether media streams should autoplay gtk_video_get_loop () gtk_video_get_loop gboolean gtk_video_get_loop (GtkVideo *self); Returns TRUE if videos have been set to loop via gtk_video_set_loop(). Parameters self a GtkVideo Returns TRUE if streams should loop gtk_video_set_loop () gtk_video_set_loop void gtk_video_set_loop (GtkVideo *self, gboolean loop); Sets whether new files loaded by self should be set to loop. Parameters self a GtkVideo loop whether media streams should loop Types and Values GtkVideo GtkVideo typedef struct _GtkVideo GtkVideo; Property Details The <literal>“autoplay”</literal> property GtkVideo:autoplay “autoplay” gboolean If the video should automatically begin playing. Owner: GtkVideo Flags: Read / Write Default value: FALSE The <literal>“file”</literal> property GtkVideo:file “file” GFile * The file played by this video if the video is playing a file. Owner: GtkVideo Flags: Read / Write The <literal>“loop”</literal> property GtkVideo:loop “loop” gboolean If new media files should be set to loop. Owner: GtkVideo Flags: Read / Write Default value: FALSE The <literal>“media-stream”</literal> property GtkVideo:media-stream “media-stream” GtkMediaStream * The media-stream played Owner: GtkVideo Flags: Read / Write See Also GtkMediaControls docs/reference/gtk/xml/gtkmediacontrols.xml0000664000175000017500000002475213710700314021262 0ustar mclasenmclasen ]> GtkMediaControls 3 GTK4 Library GtkMediaControls A widget showing controls for a media stream Functions GtkWidget * gtk_media_controls_new () GtkMediaStream * gtk_media_controls_get_media_stream () void gtk_media_controls_set_media_stream () Properties GtkMediaStream *media-streamRead / Write Types and Values GtkMediaControls Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkMediaControls Implemented Interfaces GtkMediaControls implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkMediaControls is a widget to show controls for a GtkMediaStream and giving users a way to use it. Functions gtk_media_controls_new () gtk_media_controls_new GtkWidget * gtk_media_controls_new (GtkMediaStream *stream); Creates a new GtkMediaControls managing the stream passed to it. Parameters stream a GtkMediaStream to manage or NULL for none. [allow-none][transfer none] Returns a new GtkMediaControls gtk_media_controls_get_media_stream () gtk_media_controls_get_media_stream GtkMediaStream * gtk_media_controls_get_media_stream (GtkMediaControls *controls); Gets the media stream managed by controls or NULL if none. Parameters controls a GtkMediaControls Returns The media stream managed by controls . [nullable][transfer none] gtk_media_controls_set_media_stream () gtk_media_controls_set_media_stream void gtk_media_controls_set_media_stream (GtkMediaControls *controls, GtkMediaStream *stream); Sets the stream that is controlled by controls . Parameters controls a GtkMediaControls widget stream a GtkMediaStream, or NULL. [nullable] Types and Values GtkMediaControls GtkMediaControls typedef struct _GtkMediaControls GtkMediaControls; Property Details The <literal>“media-stream”</literal> property GtkMediaControls:media-stream “media-stream” GtkMediaStream * The media-stream managed by this object or NULL if none. Owner: GtkMediaControls Flags: Read / Write See Also GtkVideo docs/reference/gtk/xml/gtkmediafile.xml0000664000175000017500000006547513710700314020345 0ustar mclasenmclasen ]> GtkMediaFile 3 GTK4 Library GtkMediaFile Open media files for use in GTK Functions GtkMediaStream * gtk_media_file_new () GtkMediaStream * gtk_media_file_new_for_filename () GtkMediaStream * gtk_media_file_new_for_resource () GtkMediaStream * gtk_media_file_new_for_file () GtkMediaStream * gtk_media_file_new_for_input_stream () void gtk_media_file_clear () void gtk_media_file_set_filename () void gtk_media_file_set_resource () void gtk_media_file_set_file () GFile * gtk_media_file_get_file () void gtk_media_file_set_input_stream () GInputStream * gtk_media_file_get_input_stream () Properties GFile *fileRead / Write GInputStream *input-streamRead / Write Types and Values GtkMediaFile Object Hierarchy GObject ╰── GtkMediaStream ╰── GtkMediaFile Implemented Interfaces GtkMediaFile implements GdkPaintable. Includes#include <gtk/gtk.h> Description GtkMediaFile is the implementation for media file usage with GtkMediaStream. This provides a simple way to play back video files with GTK. GTK+ provides a GIO extension point for GtkMediaFile implementations to allow for external implementations using various media frameworks. GTK+ itself includes implementations using GStreamer and ffmpeg. Functions gtk_media_file_new () gtk_media_file_new GtkMediaStream * gtk_media_file_new (void); Creates a new empty media file. Returns a new GtkMediaFile. [type Gtk.MediaFile] gtk_media_file_new_for_filename () gtk_media_file_new_for_filename GtkMediaStream * gtk_media_file_new_for_filename (const char *filename); This is a utility function that converts the given filename to a GFile and calls gtk_media_file_new_for_file(). Parameters filename filename to open Returns a new GtkMediaFile playing filename . [type Gtk.MediaFile] gtk_media_file_new_for_resource () gtk_media_file_new_for_resource GtkMediaStream * gtk_media_file_new_for_resource (const char *resource_path); This is a utility function that converts the given resource to a GFile and calls gtk_media_file_new_for_file(). Parameters resource_path resource path to open Returns a new GtkMediaFile playing resource_path . [type Gtk.MediaFile] gtk_media_file_new_for_file () gtk_media_file_new_for_file GtkMediaStream * gtk_media_file_new_for_file (GFile *file); Creates a new media file to play file . Parameters file The file to play Returns a new GtkMediaFile playing file . [type Gtk.MediaFile] gtk_media_file_new_for_input_stream () gtk_media_file_new_for_input_stream GtkMediaStream * gtk_media_file_new_for_input_stream (GInputStream *stream); Creates a new media file to play stream . If you want the resulting media to be seekable, the stream should implement the GSeekable interface. Parameters stream The stream to play Returns a new GtkMediaFile. [type Gtk.MediaFile] gtk_media_file_clear () gtk_media_file_clear void gtk_media_file_clear (GtkMediaFile *self); Resets the media file to be empty. Parameters self a GtkMediaFile gtk_media_file_set_filename () gtk_media_file_set_filename void gtk_media_file_set_filename (GtkMediaFile *self, const char *filename); This is a utility function that converts the given filename to a GFile and calls gtk_media_file_set_file(). Parameters self a GtkMediaFile filename name of file to play. [allow-none] gtk_media_file_set_resource () gtk_media_file_set_resource void gtk_media_file_set_resource (GtkMediaFile *self, const char *resource_path); This is a utility function that converts the given resource_path to a GFile and calls gtk_media_file_set_file(). Parameters self a GtkMediaFile resource_path path to resource to play. [allow-none] gtk_media_file_set_file () gtk_media_file_set_file void gtk_media_file_set_file (GtkMediaFile *self, GFile *file); If any file is still playing, stop playing it. Then start playing the given file . Parameters self a GtkMediaFile file the file to play. [allow-none] gtk_media_file_get_file () gtk_media_file_get_file GFile * gtk_media_file_get_file (GtkMediaFile *self); Returns the file that self is currently playing from. When self is not playing or not playing from a file, NULL is returned. Parameters self a GtkMediaFile Returns The currently playing file or NULL if not playing from a file. [nullable][transfer none] gtk_media_file_set_input_stream () gtk_media_file_set_input_stream void gtk_media_file_set_input_stream (GtkMediaFile *self, GInputStream *stream); If anything is still playing, stop playing it. Then start playing the given stream . Full control about the stream is assumed for the duration of playback. The stream will not bt be closed. Parameters self a GtkMediaFile stream the stream to play from. [allow-none] gtk_media_file_get_input_stream () gtk_media_file_get_input_stream GInputStream * gtk_media_file_get_input_stream (GtkMediaFile *self); Returns the stream that self is currently playing from. When self is not playing or not playing from a stream, NULL is returned. Parameters self a GtkMediaFile Returns The currently playing stream or NULL if not playing from a stream. [nullable][transfer none] Types and Values GtkMediaFile GtkMediaFile typedef struct _GtkMediaFile GtkMediaFile; Property Details The <literal>“file”</literal> property GtkMediaFile:file “file” GFile * The file being played back or NULL if not playing a file. Owner: GtkMediaFile Flags: Read / Write The <literal>“input-stream”</literal> property GtkMediaFile:input-stream “input-stream” GInputStream * The stream being played back or NULL if not playing a stream, like when playing a file. Owner: GtkMediaFile Flags: Read / Write See Also GtkMediaStream, GtkVideo docs/reference/gtk/xml/gtkmediastream.xml0000664000175000017500000022622113710700314020705 0ustar mclasenmclasen ]> GtkMediaStream 3 GTK4 Library GtkMediaStream Display media in GTK Functions gboolean gtk_media_stream_is_prepared () const GError * gtk_media_stream_get_error () gboolean gtk_media_stream_has_audio () gboolean gtk_media_stream_has_video () void gtk_media_stream_play () void gtk_media_stream_pause () gboolean gtk_media_stream_get_playing () void gtk_media_stream_set_playing () gboolean gtk_media_stream_get_ended () gint64 gtk_media_stream_get_timestamp () gint64 gtk_media_stream_get_duration () gboolean gtk_media_stream_is_seekable () gboolean gtk_media_stream_is_seeking () void gtk_media_stream_seek () gboolean gtk_media_stream_get_loop () void gtk_media_stream_set_loop () gboolean gtk_media_stream_get_muted () void gtk_media_stream_set_muted () double gtk_media_stream_get_volume () void gtk_media_stream_set_volume () void gtk_media_stream_realize () void gtk_media_stream_unrealize () void gtk_media_stream_prepared () void gtk_media_stream_unprepared () void gtk_media_stream_update () void gtk_media_stream_ended () void gtk_media_stream_seek_success () void gtk_media_stream_seek_failed () void gtk_media_stream_gerror () void gtk_media_stream_error () void gtk_media_stream_error_valist () Properties gint64durationRead gbooleanendedRead GError *errorRead gbooleanhas-audioRead gbooleanhas-videoRead gbooleanloopRead / Write gbooleanmutedRead / Write gbooleanplayingRead / Write gbooleanpreparedRead / Write gbooleanseekableRead gbooleanseekingRead gint64timestampRead gdoublevolumeRead / Write Types and Values GtkMediaStream structGtkMediaStreamClass Object Hierarchy GObject ╰── GtkMediaStream ╰── GtkMediaFile Implemented Interfaces GtkMediaStream implements GdkPaintable. Includes#include <gtk/gtk.h> Description GtkMediaStream is the integration point for media playback inside GTK. Apart from application-facing API for stream playback, GtkMediaStream has a number of APIs that are only useful for implementations and should not be used in applications: gtk_media_stream_prepared(), gtk_media_stream_unprepared(), gtk_media_stream_update(), gtk_media_stream_ended(), gtk_media_stream_seek_success(), gtk_media_stream_seek_failed(), gtk_media_stream_gerror(), gtk_media_stream_error(), gtk_media_stream_error_valist(). Functions gtk_media_stream_is_prepared () gtk_media_stream_is_prepared gboolean gtk_media_stream_is_prepared (GtkMediaStream *self); Returns whether the stream has finished initializing and existence of audio and video is known. Parameters self a GtkMediaStream Returns TRUE if the stream is prepared gtk_media_stream_get_error () gtk_media_stream_get_error const GError * gtk_media_stream_get_error (GtkMediaStream *self); If the stream is in an error state, returns the GError explaining that state. Any type of error can be reported here depending on the implementation of the media stream. A media stream in an error cannot be operated on, calls like gtk_media_stream_play() or gtk_media_stream_seek() will not have any effect. GtkMediaStream itself does not provide a way to unset an error, but implementations may provide options. For example, a GtkMediaFile will unset errors when a new source is set with ie gtk_media_file_set_file(). Parameters self a GtkMediaStream Returns NULL if not in an error state or the GError of the stream. [nullable][transfer none] gtk_media_stream_has_audio () gtk_media_stream_has_audio gboolean gtk_media_stream_has_audio (GtkMediaStream *self); Returns whether the stream has audio. Parameters self a GtkMediaStream Returns TRUE if the stream has audio gtk_media_stream_has_video () gtk_media_stream_has_video gboolean gtk_media_stream_has_video (GtkMediaStream *self); Returns whether the stream has video. Parameters self a GtkMediaStream Returns TRUE if the stream has video gtk_media_stream_play () gtk_media_stream_play void gtk_media_stream_play (GtkMediaStream *self); Starts playing the stream. If the stream is in error or already playing, do nothing. Parameters self a GtkMediaStream gtk_media_stream_pause () gtk_media_stream_pause void gtk_media_stream_pause (GtkMediaStream *self); Pauses playback of the stream. If the stream is not playing, do nothing. Parameters self a GtkMediaStream gtk_media_stream_get_playing () gtk_media_stream_get_playing gboolean gtk_media_stream_get_playing (GtkMediaStream *self); Return whether the stream is currently playing. Parameters self a GtkMediaStream Returns TRUE if the stream is playing gtk_media_stream_set_playing () gtk_media_stream_set_playing void gtk_media_stream_set_playing (GtkMediaStream *self, gboolean playing); Starts or pauses playback of the stream. Parameters self a GtkMediaStream playing whether to start or pause playback gtk_media_stream_get_ended () gtk_media_stream_get_ended gboolean gtk_media_stream_get_ended (GtkMediaStream *self); Returns whether the streams playback is finished. Parameters self a GtkMediaStream Returns TRUE if playback is finished gtk_media_stream_get_timestamp () gtk_media_stream_get_timestamp gint64 gtk_media_stream_get_timestamp (GtkMediaStream *self); Returns the current presentation timestamp in microseconds. Parameters self a GtkMediaStream Returns the timestamp in microseconds gtk_media_stream_get_duration () gtk_media_stream_get_duration gint64 gtk_media_stream_get_duration (GtkMediaStream *self); Gets the duration of the stream. If the duration is not known, 0 will be returned. Parameters self a GtkMediaStream Returns the duration of the stream or 0 if not known. gtk_media_stream_is_seekable () gtk_media_stream_is_seekable gboolean gtk_media_stream_is_seekable (GtkMediaStream *self); Checks if a stream may be seekable. This is meant to be a hint. Streams may not allow seeking even if this function returns TRUE. However, if this function returns FALSE, streams are guaranteed to not be seekable and user interfaces may hide controls that allow seeking. It is allowed to call gtk_media_stream_seek() on a non-seekable stream, though it will not do anything. Parameters self a GtkMediaStream Returns TRUE if the stream may support seeking gtk_media_stream_is_seeking () gtk_media_stream_is_seeking gboolean gtk_media_stream_is_seeking (GtkMediaStream *self); Checks if there is currently a seek operation going on. Parameters self a GtkMediaStream Returns TRUE if a seek operation is ongoing. gtk_media_stream_seek () gtk_media_stream_seek void gtk_media_stream_seek (GtkMediaStream *self, gint64 timestamp); Start a seek operation on self to timestamp . If timestamp is out of range, it will be clamped. Seek operations may not finish instantly. While a seek operation is in process, the GtkMediaStream:seeking property will be set. When calling gtk_media_stream_seek() during an ongoing seek operation, the new seek wil override any pending seek. Parameters self a GtkMediaStream timestamp timestamp to seek to. gtk_media_stream_get_loop () gtk_media_stream_get_loop gboolean gtk_media_stream_get_loop (GtkMediaStream *self); Returns whether the stream is set to loop. See gtk_media_stream_set_loop() for details. Parameters self a GtkMediaStream Returns TRUE if the stream should loop gtk_media_stream_set_loop () gtk_media_stream_set_loop void gtk_media_stream_set_loop (GtkMediaStream *self, gboolean loop); Sets whether the stream should loop, ie restart playback from the beginning instead of stopping at the end. Not all streams may support looping, in particular non-seekable streams. Those streams will ignore the loop setting and just end. Parameters self a GtkMediaStream loop TRUE if the stream should loop gtk_media_stream_get_muted () gtk_media_stream_get_muted gboolean gtk_media_stream_get_muted (GtkMediaStream *self); Returns whether the audio for the stream is muted. See gtk_media_stream_set_muted() for details. Parameters self a GtkMediaStream Returns TRUE if the stream is muted gtk_media_stream_set_muted () gtk_media_stream_set_muted void gtk_media_stream_set_muted (GtkMediaStream *self, gboolean muted); Sets whether the audio stream should be muted. Muting a stream will cause no audio to be played, but it does not modify the volume. This means that muting and then unmuting the stream will restore the volume settings. If the stream has no audio, calling this function will still work but it will not have an audible effect. Parameters self a GtkMediaStream muted TRUE if the stream should be muted gtk_media_stream_get_volume () gtk_media_stream_get_volume double gtk_media_stream_get_volume (GtkMediaStream *self); Returns the volume of the audio for the stream. See gtk_media_stream_set_volume() for details. Parameters self a GtkMediaStream Returns volume of the stream from 0.0 to 1.0 gtk_media_stream_set_volume () gtk_media_stream_set_volume void gtk_media_stream_set_volume (GtkMediaStream *self, double volume); Sets the volume of the audio stream. This function call will work even if the stream is muted. The given volume should range from 0.0 for silence to 1.0 for as loud as possible. Values outside of this range will be clamped to the nearest value. If the stream has no audio or is muted, calling this function will still work but it will not have an immediate audible effect. When the stream is unmuted, the new volume setting will take effect. Parameters self a GtkMediaStream volume New volume of the stream from 0.0 to 1.0 gtk_media_stream_realize () gtk_media_stream_realize void gtk_media_stream_realize (GtkMediaStream *self, GdkSurface *surface); Called by users to attach the media stream to a GdkSurface they manage. The stream can then access the resources of surface for its rendering purposes. In particular, media streams might want to create GdkGLContexts or sync to the GdkFrameClock. Whoever calls this function is responsible for calling gtk_media_stream_unrealize() before either the stream or surface get destroyed. Multiple calls to this function may happen from different users of the video, even with the same surface . Each of these calls must be followed by its own call to gtk_media_stream_unrealize(). It is not required to call this function to make a media stream work. Parameters self a GtkMediaStream surface a GdkSurface gtk_media_stream_unrealize () gtk_media_stream_unrealize void gtk_media_stream_unrealize (GtkMediaStream *self, GdkSurface *surface); Undoes a previous call to gtk_media_stream_realize() and causes the stream to release all resources it had allocated from surface . Parameters self a GtkMediaStream previously realized surface the GdkSurface the stream was realized with gtk_media_stream_prepared () gtk_media_stream_prepared void gtk_media_stream_prepared (GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration); Called by GtkMediaStream implementations to advertise the stream being ready to play and providing details about the stream. Note that the arguments are hints. If the stream implementation cannot determine the correct values, it is better to err on the side of caution and return TRUE. User interfaces will use those values to determine what controls to show. This function may not be called again until the stream has been reset via gtk_media_stream_unprepared(). Parameters self a GtkMediaStream has_audio TRUE if the stream should advertise audio support has_video TRUE if the stream should advertise video support seekable TRUE if the stream should advertise seekability duration The duration of the stream or 0 if unknown gtk_media_stream_unprepared () gtk_media_stream_unprepared void gtk_media_stream_unprepared (GtkMediaStream *self); Resets a given media stream implementation. gtk_media_stream_prepared() can now be called again. This function will also reset any error state the stream was in. Parameters self a GtkMediaStream gtk_media_stream_update () gtk_media_stream_update void gtk_media_stream_update (GtkMediaStream *self, gint64 timestamp); Media stream implementations should regularly call this function to update the timestamp reported by the stream. It is up to implementations to call this at the frequency they deem appropriate. Parameters self a GtkMediaStream timestamp the new timestamp gtk_media_stream_ended () gtk_media_stream_ended void gtk_media_stream_ended (GtkMediaStream *self); Pauses the media stream and marks it as ended. This is a hint only, calls to GtkMediaStream.play() may still happen. Parameters self a GtkMediaStream gtk_media_stream_seek_success () gtk_media_stream_seek_success void gtk_media_stream_seek_success (GtkMediaStream *self); Ends a seek operation started via GtkMediaStream.seek() successfully. This function will unset the GtkMediaStream:ended property if it was set. See gtk_media_stream_seek_failed() for the other way of ending a seek. Parameters self a GtkMediaStream gtk_media_stream_seek_failed () gtk_media_stream_seek_failed void gtk_media_stream_seek_failed (GtkMediaStream *self); Ends a seek operation started via GtkMediaStream.seek() as a failure. This will not cause an error on the stream and will assume that playback continues as if no seek had happened. See gtk_media_stream_seek_success() for the other way of ending a seek. Parameters self a GtkMediaStream gtk_media_stream_gerror () gtk_media_stream_gerror void gtk_media_stream_gerror (GtkMediaStream *self, GError *error); Sets self into an error state. This will pause the stream (you can check for an error via gtk_media_stream_get_error() in your GtkMediaStream.pause() implementation), abort pending seeks and mark the stream as prepared. if the stream is already in an error state, this call will be ignored and the existing error will be retained. FIXME: Or do we want to set the new error? To unset an error, the stream must be reset via a call to gtk_media_stream_unprepared(). Parameters self a GtkMediaStream error the GError to set. [transfer full] gtk_media_stream_error () gtk_media_stream_error void gtk_media_stream_error (GtkMediaStream *self, GQuark domain, int code, const char *format, ...); Sets self into an error state using a printf()-style format string. This is a utility function that calls gtk_media_stream_gerror(). See that function for details. Parameters self a GtkMediaStream domain error domain code error code format printf()-style format for error message ... parameters for message format gtk_media_stream_error_valist () gtk_media_stream_error_valist void gtk_media_stream_error_valist (GtkMediaStream *self, GQuark domain, int code, const char *format, va_list args); Sets self into an error state using a printf()-style format string. This is a utility function that calls gtk_media_stream_gerror(). See that function for details. Parameters self a GtkMediaStream domain error domain code error code format printf()-style format for error message args va_list of parameters for the message format Types and Values GtkMediaStream GtkMediaStream typedef struct _GtkMediaStream GtkMediaStream; struct GtkMediaStreamClass GtkMediaStreamClass struct GtkMediaStreamClass { GObjectClass parent_class; gboolean (* play) (GtkMediaStream *self); void (* pause) (GtkMediaStream *self); void (* seek) (GtkMediaStream *self, gint64 timestamp); void (* update_audio) (GtkMediaStream *self, gboolean muted, double volume); void (* realize) (GtkMediaStream *self, GdkSurface *surface); void (* unrealize) (GtkMediaStream *self, GdkSurface *surface); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); void (*_gtk_reserved7) (void); void (*_gtk_reserved8) (void); }; Property Details The <literal>“duration”</literal> property GtkMediaStream:duration “duration” gint64 The stream's duration in microseconds or 0 if unknown. Owner: GtkMediaStream Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“ended”</literal> property GtkMediaStream:ended “ended” gboolean Set when playback has finished. Owner: GtkMediaStream Flags: Read Default value: FALSE The <literal>“error”</literal> property GtkMediaStream:error “error” GError * NULL for a properly working stream or the GError that the stream is in. Owner: GtkMediaStream Flags: Read The <literal>“has-audio”</literal> property GtkMediaStream:has-audio “has-audio” gboolean Whether the stream contains audio Owner: GtkMediaStream Flags: Read Default value: FALSE The <literal>“has-video”</literal> property GtkMediaStream:has-video “has-video” gboolean Whether the stream contains video Owner: GtkMediaStream Flags: Read Default value: FALSE The <literal>“loop”</literal> property GtkMediaStream:loop “loop” gboolean Try to restart the media from the beginning once it ended. Owner: GtkMediaStream Flags: Read / Write Default value: FALSE The <literal>“muted”</literal> property GtkMediaStream:muted “muted” gboolean Whether the audio stream should be muted. Owner: GtkMediaStream Flags: Read / Write Default value: FALSE The <literal>“playing”</literal> property GtkMediaStream:playing “playing” gboolean Whether the stream is currently playing. Owner: GtkMediaStream Flags: Read / Write Default value: FALSE The <literal>“prepared”</literal> property GtkMediaStream:prepared “prepared” gboolean Whether the stream has finished initializing and existence of audio and video is known. Owner: GtkMediaStream Flags: Read / Write Default value: FALSE The <literal>“seekable”</literal> property GtkMediaStream:seekable “seekable” gboolean Set unless the stream is known to not support seeking. Owner: GtkMediaStream Flags: Read Default value: TRUE The <literal>“seeking”</literal> property GtkMediaStream:seeking “seeking” gboolean Set while a seek is in progress. Owner: GtkMediaStream Flags: Read Default value: FALSE The <literal>“timestamp”</literal> property GtkMediaStream:timestamp “timestamp” gint64 The current presentation timestamp in microseconds. Owner: GtkMediaStream Flags: Read Allowed values: >= 0 Default value: 0 The <literal>“volume”</literal> property GtkMediaStream:volume “volume” gdouble Volume of the audio stream. Owner: GtkMediaStream Flags: Read / Write Allowed values: [0,1] Default value: 1 See Also GdkPaintable docs/reference/gtk/xml/gtkroot.xml0000664000175000017500000002347213710700314017400 0ustar mclasenmclasen ]> GtkRoot 3 GTK4 Library GtkRoot Interface for root widgets Functions GdkDisplay * gtk_root_get_display () GtkWidget * gtk_root_get_focus () void gtk_root_set_focus () Types and Values GtkRoot Object Hierarchy GInterface ╰── GtkRoot Prerequisites GtkRoot requires GtkNative and GtkWidget. Known Implementations GtkRoot is implemented by GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkDragIcon, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPrintUnixDialog, GtkShortcutsWindow and GtkWindow. Includes#include <gtk/gtk.h> Description GtkRoot is the interface implemented by all widgets that can act as a toplevel widget to a hierarchy of widgets. The root widget takes care of providing the connection to the windowing system and manages layout, drawing and event delivery for its widget hierarchy. The obvious example of a GtkRoot is GtkWindow. Functions gtk_root_get_display () gtk_root_get_display GdkDisplay * gtk_root_get_display (GtkRoot *self); Returns the display that this GtkRoot is on. Parameters self a GtkRoot Returns the display of root . [transfer none] gtk_root_get_focus () gtk_root_get_focus GtkWidget * gtk_root_get_focus (GtkRoot *self); Retrieves the current focused widget within the root. Note that this is the widget that would have the focus if the root is active; if the root is not focused then gtk_widget_has_focus (widget) will be FALSE for the widget. Parameters self a GtkRoot Returns the currently focused widget, or NULL if there is none. [nullable][transfer none] gtk_root_set_focus () gtk_root_set_focus void gtk_root_set_focus (GtkRoot *self, GtkWidget *focus); If focus is not the current focus widget, and is focusable, sets it as the focus widget for the root. If focus is NULL, unsets the focus widget for the root. To set the focus to a particular widget in the root, it is usually more convenient to use gtk_widget_grab_focus() instead of this function. Parameters self a GtkRoot focus widget to be the new focus widget, or NULL to unset the focus widget. [allow-none] Types and Values GtkRoot GtkRoot typedef struct _GtkRoot GtkRoot; See Also GtkWindow docs/reference/gtk/xml/gtknative.xml0000664000175000017500000003374213710700314017704 0ustar mclasenmclasen ]> GtkNative 3 GTK4 Library GtkNative Interface for widgets having surfaces Functions GtkWidget * gtk_native_get_for_surface () GdkSurface * gtk_native_get_surface () GskRenderer * gtk_native_get_renderer () void gtk_native_check_resize () void gtk_native_get_surface_transform () Types and Values GtkNative structGtkNativeInterface Object Hierarchy GInterface ╰── GtkNative Prerequisites GtkNative requires GtkWidget. Known Derived Interfaces GtkNative is required by GtkRoot. Known Implementations GtkNative is implemented by GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkDragIcon, GtkEmojiChooser, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkShortcutsWindow and GtkWindow. Includes#include <gtk/gtk.h> Description GtkNative is the interface implemented by all widgets that can provide a GdkSurface for widgets to render on. The obvious example of a GtkNative is GtkWindow. Functions gtk_native_get_for_surface () gtk_native_get_for_surface GtkWidget * gtk_native_get_for_surface (GdkSurface *surface); Finds the GtkNative associated with the surface. Parameters surface a GdkSurface Returns the GtkNative that is associated with surface . [transfer none] gtk_native_get_surface () gtk_native_get_surface GdkSurface * gtk_native_get_surface (GtkNative *self); Returns the surface of this GtkNative. Parameters self a GtkNative Returns the surface of self . [transfer none] gtk_native_get_renderer () gtk_native_get_renderer GskRenderer * gtk_native_get_renderer (GtkNative *self); Returns the renderer that is used for this GtkNative. Parameters self a GtkNative Returns the renderer for self . [transfer none] gtk_native_check_resize () gtk_native_check_resize void gtk_native_check_resize (GtkNative *self); Reposition and resize a GtkNative. Widgets need to call this function on their attached native widgets when they receive a new size allocation. Parameters self a GtkNative gtk_native_get_surface_transform () gtk_native_get_surface_transform void gtk_native_get_surface_transform (GtkNative *self, double *x, double *y); Retrieves the surface transform of self . This is the translation from self 's surface coordinates into self 's widget coordinates. Parameters self a GtkNative x return location for the x coordinate. [out] y return location for the y coordinate. [out] Types and Values GtkNative GtkNative typedef struct _GtkNative GtkNative; struct GtkNativeInterface GtkNativeInterface struct GtkNativeInterface { GdkSurface * (* get_surface) (GtkNative *self); GskRenderer * (* get_renderer) (GtkNative *self); void (* get_surface_transform) (GtkNative *self, double *x, double *y); void (* check_resize) (GtkNative *self); }; See Also GtkRoot docs/reference/gtk/xml/gtklayoutmanager.xml0000664000175000017500000006762113710700314021271 0ustar mclasenmclasen ]> GtkLayoutManager 3 GTK4 Library GtkLayoutManager Base class for layout manager Functions void gtk_layout_manager_measure () void gtk_layout_manager_allocate () GtkSizeRequestMode gtk_layout_manager_get_request_mode () GtkWidget * gtk_layout_manager_get_widget () GtkLayoutChild * gtk_layout_manager_get_layout_child () void gtk_layout_manager_layout_changed () Types and Values GtkLayoutManager structGtkLayoutManagerClass Object Hierarchy GObject ╰── GtkLayoutManager ├── GtkBinLayout ├── GtkBoxLayout ├── GtkCenterLayout ├── GtkConstraintLayout ├── GtkFixedLayout ├── GtkGridLayout ╰── GtkOverlayLayout Includes#include <gtk/gtk.h> Description Layout managers are delegate classes that handle the preferred size and the allocation of a container widget. You typically subclass GtkLayoutManager if you want to implement a layout policy for the children of a widget, or if you want to determine the size of a widget depending on its contents. Each GtkWidget can only have a GtkLayoutManager instance associated to it at any given time; it is possible, though, to replace the layout manager instance using gtk_widget_set_layout_manager(). Layout propertiesA layout manager can expose properties for controlling the layout of each child, by creating an object type derived from GtkLayoutChild and installing the properties on it as normal GObject properties. Each GtkLayoutChild instance storing the layout properties for a specific child is created through the gtk_layout_manager_get_layout_child() method; a GtkLayoutManager controls the creation of its GtkLayoutChild instances by overriding the GtkLayoutManagerClass.create_layout_child() virtual function. The typical implementation should look like: The “layout-manager” and “child-widget” properties on the newly created GtkLayoutChild instance are mandatory. The GtkLayoutManager will cache the newly created GtkLayoutChild instance until the widget is removed from its parent, or the parent removes the layout manager. Each GtkLayoutManager instance creating a GtkLayoutChild should use gtk_layout_manager_get_layout_child() every time it needs to query the layout properties; each GtkLayoutChild instance should call gtk_layout_manager_layout_changed() every time a property is updated, in order to queue a new size measuring and allocation. Functions gtk_layout_manager_measure () gtk_layout_manager_measure void gtk_layout_manager_measure (GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); Measures the size of the widget using manager , for the given orientation and size. See GtkWidget's geometry management section for more details. Parameters manager a GtkLayoutManager widget the GtkWidget using manager orientation the orientation to measure for_size Size for the opposite of orientation ; for instance, if the orientation is GTK_ORIENTATION_HORIZONTAL, this is the height of the widget; if the orientation is GTK_ORIENTATION_VERTICAL, this is the width of the widget. This allows to measure the height for the given width, and the width for the given height. Use -1 if the size is not known minimum the minimum size for the given size and orientation. [out][optional] natural the natural, or preferred size for the given size and orientation. [out][optional] minimum_baseline the baseline position for the minimum size. [out][optional] natural_baseline the baseline position for the natural size. [out][optional] gtk_layout_manager_allocate () gtk_layout_manager_allocate void gtk_layout_manager_allocate (GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline); This function assigns the given width , height , and baseline to a widget , and computes the position and sizes of the children of the widget using the layout management policy of manager . Parameters manager a GtkLayoutManager widget the GtkWidget using manager width the new width of the widget height the new height of the widget baseline the baseline position of the widget , or -1 gtk_layout_manager_get_request_mode () gtk_layout_manager_get_request_mode GtkSizeRequestMode gtk_layout_manager_get_request_mode (GtkLayoutManager *manager); Retrieves the request mode of manager . Parameters manager a GtkLayoutManager Returns a GtkSizeRequestMode gtk_layout_manager_get_widget () gtk_layout_manager_get_widget GtkWidget * gtk_layout_manager_get_widget (GtkLayoutManager *manager); Retrieves the GtkWidget using the given GtkLayoutManager. Parameters manager a GtkLayoutManager Returns a GtkWidget. [transfer none][nullable] gtk_layout_manager_get_layout_child () gtk_layout_manager_get_layout_child GtkLayoutChild * gtk_layout_manager_get_layout_child (GtkLayoutManager *manager, GtkWidget *child); Retrieves a GtkLayoutChild instance for the GtkLayoutManager, creating one if necessary. The child widget must be a child of the widget using manager . The GtkLayoutChild instance is owned by the GtkLayoutManager, and is guaranteed to exist as long as child is a child of the GtkWidget using the given GtkLayoutManager. Parameters manager a GtkLayoutManager child a GtkWidget Returns a GtkLayoutChild. [transfer none] gtk_layout_manager_layout_changed () gtk_layout_manager_layout_changed void gtk_layout_manager_layout_changed (GtkLayoutManager *manager); Queues a resize on the GtkWidget using manager , if any. This function should be called by subclasses of GtkLayoutManager in response to changes to their layout management policies. Parameters manager a GtkLayoutManager Types and Values GtkLayoutManager GtkLayoutManager typedef struct _GtkLayoutManager GtkLayoutManager; struct GtkLayoutManagerClass GtkLayoutManagerClass struct GtkLayoutManagerClass { GtkSizeRequestMode (* get_request_mode) (GtkLayoutManager *manager, GtkWidget *widget); void (* measure) (GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); void (* allocate) (GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline); GType layout_child_type; GtkLayoutChild * (* create_layout_child) (GtkLayoutManager *manager, GtkWidget *widget, GtkWidget *for_child); void (* root) (GtkLayoutManager *manager); void (* unroot) (GtkLayoutManager *manager); }; The GtkLayoutManagerClass structure contains only private data, and should only be accessed through the provided API, or when subclassing GtkLayoutManager. Members get_request_mode () a virtual function, used to return the preferred request mode for the layout manager; for instance, "width for height" or "height for width"; see GtkSizeRequestMode measure () a virtual function, used to measure the minimum and preferred sizes of the widget using the layout manager for a given orientation allocate () a virtual function, used to allocate the size of the widget using the layout manager GType layout_child_type; the type of GtkLayoutChild used by this layout manager create_layout_child () a virtual function, used to create a GtkLayoutChild meta object for the layout properties root () a virtual function, called when the widget using the layout manager is attached to a GtkRoot unroot () a virtual function, called when the widget using the layout manager is detached from a GtkRoot docs/reference/gtk/xml/gtklayoutchild.xml0000664000175000017500000002375013710700314020735 0ustar mclasenmclasen ]> GtkLayoutChild 3 GTK4 Library GtkLayoutChild An object containing layout properties Functions GtkLayoutManager * gtk_layout_child_get_layout_manager () GtkWidget * gtk_layout_child_get_child_widget () Properties GtkWidget *child-widgetRead / Write / Construct Only GtkLayoutManager *layout-managerRead / Write / Construct Only Types and Values GtkLayoutChild structGtkLayoutChildClass Object Hierarchy GObject ╰── GtkLayoutChild ├── GtkGridLayoutChild ├── GtkOverlayLayoutChild ├── GtkConstraintLayoutChild ╰── GtkFixedLayoutChild Includes#include <gtk/gtk.h> Description GtkLayoutChild is the base class for objects that are meant to hold layout properties. If a GtkLayoutManager has per-child properties, like their packing type, or the horizontal and vertical span, or the icon name, then the layout manager should use a GtkLayoutChild implementation to store those properties. A GtkLayoutChild instance is only ever valid while a widget is part of a layout. Functions gtk_layout_child_get_layout_manager () gtk_layout_child_get_layout_manager GtkLayoutManager * gtk_layout_child_get_layout_manager (GtkLayoutChild *layout_child); Retrieves the GtkLayoutManager instance that created the given layout_child . Parameters layout_child a GtkLayoutChild Returns a GtkLayoutManager. [transfer none] gtk_layout_child_get_child_widget () gtk_layout_child_get_child_widget GtkWidget * gtk_layout_child_get_child_widget (GtkLayoutChild *layout_child); Retrieves the GtkWidget associated to the given layout_child . Parameters layout_child a GtkLayoutChild Returns a GtkWidget. [transfer none] Types and Values GtkLayoutChild GtkLayoutChild typedef struct _GtkLayoutChild GtkLayoutChild; struct GtkLayoutChildClass GtkLayoutChildClass struct GtkLayoutChildClass { }; Property Details The <literal>“child-widget”</literal> property GtkLayoutChild:child-widget “child-widget” GtkWidget * The widget that is associated to the GtkLayoutChild instance. Owner: GtkLayoutChild Flags: Read / Write / Construct Only The <literal>“layout-manager”</literal> property GtkLayoutChild:layout-manager “layout-manager” GtkLayoutManager * The layout manager that created the GtkLayoutChild instance. Owner: GtkLayoutChild Flags: Read / Write / Construct Only docs/reference/gtk/xml/gtkboxlayout.xml0000664000175000017500000004546513710700314020451 0ustar mclasenmclasen ]> GtkBoxLayout 3 GTK4 Library GtkBoxLayout Layout manager for placing all children in a single row or column Functions GtkLayoutManager * gtk_box_layout_new () void gtk_box_layout_set_homogeneous () gboolean gtk_box_layout_get_homogeneous () void gtk_box_layout_set_spacing () guint gtk_box_layout_get_spacing () void gtk_box_layout_set_baseline_position () GtkBaselinePosition gtk_box_layout_get_baseline_position () Properties GtkBaselinePositionbaseline-positionRead / Write gbooleanhomogeneousRead / Write gintspacingRead / Write Types and Values GtkBoxLayout Object Hierarchy GObject ╰── GtkLayoutManager ╰── GtkBoxLayout Implemented Interfaces GtkBoxLayout implements GtkOrientable. Includes#include <gtk/gtk.h> Description A GtkBoxLayout is a layout manager that arranges the children of any widget using it into a single row or column, depending on the value of its “orientation” property. Within the other dimension all children all allocated the same size. The GtkBoxLayout will respect the “halign” and “valign” properties of each child widget. If you want all children to be assigned the same size, you can use the “homogeneous” property. If you want to specify the amount of space placed between each child, you can use the “spacing” property. Functions gtk_box_layout_new () gtk_box_layout_new GtkLayoutManager * gtk_box_layout_new (GtkOrientation orientation); Creates a new box layout. Parameters orientation the orientation for the new layout Returns a new box layout gtk_box_layout_set_homogeneous () gtk_box_layout_set_homogeneous void gtk_box_layout_set_homogeneous (GtkBoxLayout *box_layout, gboolean homogeneous); Sets whether the box layout will allocate the same size to all children. Parameters box_layout a GtkBoxLayout homogeneous TRUE to set the box layout as homogeneous gtk_box_layout_get_homogeneous () gtk_box_layout_get_homogeneous gboolean gtk_box_layout_get_homogeneous (GtkBoxLayout *box_layout); Returns whether the layout is set to be homogeneous. Return: TRUE if the layout is homogeneous Parameters box_layout a GtkBoxLayout gtk_box_layout_set_spacing () gtk_box_layout_set_spacing void gtk_box_layout_set_spacing (GtkBoxLayout *box_layout, guint spacing); Sets how much spacing to put between children. Parameters box_layout a GtkBoxLayout spacing the spacing to apply between children gtk_box_layout_get_spacing () gtk_box_layout_get_spacing guint gtk_box_layout_get_spacing (GtkBoxLayout *box_layout); Returns the space that box_layout puts between children. Parameters box_layout a GtkBoxLayout Returns the spacing of the layout gtk_box_layout_set_baseline_position () gtk_box_layout_set_baseline_position void gtk_box_layout_set_baseline_position (GtkBoxLayout *box_layout, GtkBaselinePosition position); Sets the baseline position of a box layout. The baseline position affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then the given position is used to allocate the baseline within the extra space available. Parameters box_layout a GtkBoxLayout position a GtkBaselinePosition gtk_box_layout_get_baseline_position () gtk_box_layout_get_baseline_position GtkBaselinePosition gtk_box_layout_get_baseline_position (GtkBoxLayout *box_layout); Gets the value set by gtk_box_layout_set_baseline_position(). Parameters box_layout a GtkBoxLayout Returns the baseline position Types and Values GtkBoxLayout GtkBoxLayout typedef struct _GtkBoxLayout GtkBoxLayout; Property Details The <literal>“baseline-position”</literal> property GtkBoxLayout:baseline-position “baseline-position” GtkBaselinePosition The position of the allocated baseline within the extra space allocated to each child of the widget using a box layout manager. This property is only relevant for horizontal layouts containing at least one child with a baseline alignment. Owner: GtkBoxLayout Flags: Read / Write Default value: GTK_BASELINE_POSITION_CENTER The <literal>“homogeneous”</literal> property GtkBoxLayout:homogeneous “homogeneous” gboolean Whether the box layout should distribute the available space homogeneously among the children of the widget using it as a layout manager. Owner: GtkBoxLayout Flags: Read / Write Default value: FALSE The <literal>“spacing”</literal> property GtkBoxLayout:spacing “spacing” gint The space between each child of the widget using the box layout as its layout manager. Owner: GtkBoxLayout Flags: Read / Write Allowed values: >= 0 Default value: 0 docs/reference/gtk/xml/gtkcenterlayout.xml0000664000175000017500000005274413710700314021137 0ustar mclasenmclasen ]> GtkCenterLayout 3 GTK4 Library GtkCenterLayout A centering layout Functions GtkLayoutManager * gtk_center_layout_new () void gtk_center_layout_set_orientation () GtkOrientation gtk_center_layout_get_orientation () void gtk_center_layout_set_baseline_position () GtkBaselinePosition gtk_center_layout_get_baseline_position () void gtk_center_layout_set_start_widget () GtkWidget * gtk_center_layout_get_start_widget () void gtk_center_layout_set_center_widget () GtkWidget * gtk_center_layout_get_center_widget () void gtk_center_layout_set_end_widget () GtkWidget * gtk_center_layout_get_end_widget () Types and Values GtkCenterLayout Object Hierarchy GObject ╰── GtkLayoutManager ╰── GtkCenterLayout Includes#include <gtk/gtk.h> Description A GtkCenterLayout is a layout manager that manages up to three children. The start widget is allocated at the start of the layout (left in LRT layouts and right in RTL ones), and the end widget at the end. The center widget is centered regarding the full width of the layout's. Functions gtk_center_layout_new () gtk_center_layout_new GtkLayoutManager * gtk_center_layout_new (void); Creates a new GtkCenterLayout. Returns the newly created GtkCenterLayout gtk_center_layout_set_orientation () gtk_center_layout_set_orientation void gtk_center_layout_set_orientation (GtkCenterLayout *self, GtkOrientation orientation); Sets the orientation of self . Parameters self a GtkCenterLayout orientation the new orientation gtk_center_layout_get_orientation () gtk_center_layout_get_orientation GtkOrientation gtk_center_layout_get_orientation (GtkCenterLayout *self); Gets the current orienration of the layout manager. Parameters self a GtkCenterLayout Returns The current orientation of self gtk_center_layout_set_baseline_position () gtk_center_layout_set_baseline_position void gtk_center_layout_set_baseline_position (GtkCenterLayout *self, GtkBaselinePosition baseline_position); Sets the new baseline position of self Parameters self a GtkCenterLayout baseline_position the new baseline position gtk_center_layout_get_baseline_position () gtk_center_layout_get_baseline_position GtkBaselinePosition gtk_center_layout_get_baseline_position (GtkCenterLayout *self); Returns the baseline position of the layout. Parameters self a GtkCenterLayout Returns The current baseline position of self . gtk_center_layout_set_start_widget () gtk_center_layout_set_start_widget void gtk_center_layout_set_start_widget (GtkCenterLayout *self, GtkWidget *widget); Sets the new start widget of self . Parameters self a GtkCenterLayout widget the new start widget gtk_center_layout_get_start_widget () gtk_center_layout_get_start_widget GtkWidget * gtk_center_layout_get_start_widget (GtkCenterLayout *self); Returns the start widget fo the layout. Parameters self a GtkCenterLayout Returns The current start widget of self . [transfer none] gtk_center_layout_set_center_widget () gtk_center_layout_set_center_widget void gtk_center_layout_set_center_widget (GtkCenterLayout *self, GtkWidget *widget); Sets the new center widget of self Parameters self a GtkCenterLayout widget the new center widget gtk_center_layout_get_center_widget () gtk_center_layout_get_center_widget GtkWidget * gtk_center_layout_get_center_widget (GtkCenterLayout *self); Returns the center widget of the layout. Parameters self a GtkCenterLayout Returns the current center widget of self . [transfer none] gtk_center_layout_set_end_widget () gtk_center_layout_set_end_widget void gtk_center_layout_set_end_widget (GtkCenterLayout *self, GtkWidget *widget); Sets the new end widget of self Parameters self a GtkCenterLayout widget the new end widget. [transfer none] gtk_center_layout_get_end_widget () gtk_center_layout_get_end_widget GtkWidget * gtk_center_layout_get_end_widget (GtkCenterLayout *self); Returns the end widget of the layout. Parameters self a GtkCenterLayout Returns the current end widget of self . [transfer none] Types and Values GtkCenterLayout GtkCenterLayout typedef struct _GtkCenterLayout GtkCenterLayout; docs/reference/gtk/xml/gtkcustomlayout.xml0000664000175000017500000003342013710700314021157 0ustar mclasenmclasen ]> GtkCustomLayout 3 GTK4 Library GtkCustomLayout A convenience layout manager Functions GtkSizeRequestMode (*GtkCustomRequestModeFunc) () void (*GtkCustomMeasureFunc) () void (*GtkCustomAllocateFunc) () GtkLayoutManager * gtk_custom_layout_new () Types and Values GtkCustomLayout Includes#include <gtk/gtk.h> Description GtkCustomLayout is a convenience type meant to be used as a transition mechanism between GtkWidgets implementing a layout policy, and GtkLayoutManager classes. A GtkCustomLayout uses closures matching to the old GtkWidget virtual functions for size negotiation, as a convenience API to ease the porting towards the corresponding GtkLayoutManager virtual functions. Functions GtkCustomRequestModeFunc () GtkCustomRequestModeFunc GtkSizeRequestMode (*GtkCustomRequestModeFunc) (GtkWidget *widget); Queries a widget for its preferred size request mode. Parameters widget the widget to be queried Returns the size request mode GtkCustomMeasureFunc () GtkCustomMeasureFunc void (*GtkCustomMeasureFunc) (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline); A function to be used by GtkCustomLayout to measure a widget. Parameters widget the widget to be measured orientation the direction to be measured for_size the size to be measured for minimum the measured minimum size of the widget. [out] natural the measured natural size of the widget. [out] minimum_baseline the measured minimum baseline of the widget. [out] natural_baseline the measured natural baseline of the widget. [out] GtkCustomAllocateFunc () GtkCustomAllocateFunc void (*GtkCustomAllocateFunc) (GtkWidget *widget, int width, int height, int baseline); A function to be used by GtkCustomLayout to allocate a widget. Parameters widget the widget to allocate width the new width of the widget height the new height of the widget baseline the new baseline of the widget, or -1 gtk_custom_layout_new () gtk_custom_layout_new GtkLayoutManager * gtk_custom_layout_new (GtkCustomRequestModeFunc request_mode, GtkCustomMeasureFunc measure, GtkCustomAllocateFunc allocate); Creates a new legacy layout manager. Legacy layout managers map to the old GtkWidget size negotiation virtual functions, and are meant to be used during the transition from layout containers to layout manager delegates. Parameters request_mode a function to retrieve the GtkSizeRequestMode of the widget using the layout; the default request mode is GTK_SIZE_REQUEST_CONSTANT_SIZE. [nullable][scope call] measure a function to measure the widget using the layout manager. [not nullable][scope call] allocate a function to allocate the children of the widget using the layout manager. [not nullable][scope call] Returns the newly created GtkCustomLayout. [transfer full] Types and Values GtkCustomLayout GtkCustomLayout typedef struct _GtkCustomLayout GtkCustomLayout; docs/reference/gtk/xml/gtkbinlayout.xml0000664000175000017500000001006413710700314020414 0ustar mclasenmclasen ]> GtkBinLayout 3 GTK4 Library GtkBinLayout A layout manager for bin-like widgets Functions GtkLayoutManager * gtk_bin_layout_new () Types and Values GtkBinLayout Object Hierarchy GObject ╰── GtkLayoutManager ╰── GtkBinLayout Includes#include <gtk/gtk.h> Description GtkBinLayout is a GtkLayoutManager subclass useful for create "bins" of widgets. GtkBinLayout will stack each child of a widget on top of each other, using the “hexpand”, “vexpand”, “halign”, and “valign” properties of each child to determine where they should be positioned. Functions gtk_bin_layout_new () gtk_bin_layout_new GtkLayoutManager * gtk_bin_layout_new (void); Creates a new GtkBinLayout instance. Returns the newly created GtkBinLayout Types and Values GtkBinLayout GtkBinLayout typedef struct _GtkBinLayout GtkBinLayout; docs/reference/gtk/xml/gtkfixedlayout.xml0000664000175000017500000002360313710700314020746 0ustar mclasenmclasen ]> GtkFixedLayout 3 GTK4 Library GtkFixedLayout A layout manager that allows positioning at fixed coordinates Functions GtkLayoutManager * gtk_fixed_layout_new () void gtk_fixed_layout_child_set_transform () GskTransform * gtk_fixed_layout_child_get_transform () Types and Values GtkFixedLayout GtkFixedLayoutChild Object Hierarchy GObject ├── GtkLayoutChild ╰── GtkFixedLayoutChild ╰── GtkLayoutManager ╰── GtkFixedLayout Includes#include <gtk/gtk.h> Description GtkFixedLayout is a layout manager which can place child widgets at fixed positions, and with fixed sizes. Most applications should never use this layout manager; fixed positioning and sizing requires constant recalculations on where children need to be positioned and sized. Other layout managers perform this kind of work internally so that application developers don't need to do it. Specifically, widgets positioned in a fixed layout manager will need to take into account: Themes, which may change widget sizes. Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using a different OS that provides different fonts. Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases. In addition, GtkFixedLayout does not pay attention to text direction and thus may produce unwanted results if your app is run under right-to-left languages such as Hebrew or Arabic. That is: normally GTK will order containers appropriately depending on the text direction, e.g. to put labels to the right of the thing they label when using an RTL language; GtkFixedLayout won't be able to do that for you. Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application. Functions gtk_fixed_layout_new () gtk_fixed_layout_new GtkLayoutManager * gtk_fixed_layout_new (void); Creates a new GtkFixedLayout. Returns the newly created GtkFixedLayout gtk_fixed_layout_child_set_transform () gtk_fixed_layout_child_set_transform void gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child, GskTransform *transform); Sets the transformation of the child of a GtkFixedLayout. Parameters child a GtkFixedLayoutChild transform a GskTransform gtk_fixed_layout_child_get_transform () gtk_fixed_layout_child_get_transform GskTransform * gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child); Retrieves the transformation of the child of a GtkFixedLayout. Parameters child a GtkFixedLayoutChild Returns a GskTransform. [transfer none][nullable] Types and Values GtkFixedLayout GtkFixedLayout typedef struct _GtkFixedLayout GtkFixedLayout; GtkFixedLayoutChild GtkFixedLayoutChild typedef struct _GtkFixedLayoutChild GtkFixedLayoutChild; docs/reference/gtk/xml/gtkgridlayout.xml0000664000175000017500000014233113710700314020574 0ustar mclasenmclasen ]> GtkGridLayout 3 GTK4 Library GtkGridLayout Layout manager for grid-like widgets Functions GtkLayoutManager * gtk_grid_layout_new () void gtk_grid_layout_set_row_homogeneous () gboolean gtk_grid_layout_get_row_homogeneous () void gtk_grid_layout_set_row_spacing () guint gtk_grid_layout_get_row_spacing () void gtk_grid_layout_set_column_homogeneous () gboolean gtk_grid_layout_get_column_homogeneous () void gtk_grid_layout_set_column_spacing () guint gtk_grid_layout_get_column_spacing () void gtk_grid_layout_set_row_baseline_position () GtkBaselinePosition gtk_grid_layout_get_row_baseline_position () void gtk_grid_layout_set_baseline_row () int gtk_grid_layout_get_baseline_row () void gtk_grid_layout_child_set_top_attach () int gtk_grid_layout_child_get_top_attach () void gtk_grid_layout_child_set_left_attach () int gtk_grid_layout_child_get_left_attach () void gtk_grid_layout_child_set_column_span () int gtk_grid_layout_child_get_column_span () void gtk_grid_layout_child_set_row_span () int gtk_grid_layout_child_get_row_span () Properties gintbaseline-rowRead / Write gbooleancolumn-homogeneousRead / Write gintcolumn-spacingRead / Write gbooleanrow-homogeneousRead / Write gintrow-spacingRead / Write gintcolumn-spanRead / Write gintleft-attachRead / Write gintrow-spanRead / Write ginttop-attachRead / Write Types and Values GtkGridLayout GtkGridLayoutChild Object Hierarchy GObject ├── GtkLayoutChild ╰── GtkGridLayoutChild ╰── GtkLayoutManager ╰── GtkGridLayout Includes#include <gtk/gtk.h> Description GtkGridLayout is a layout manager which arranges child widgets in rows and columns, with arbitrary positions and horizontal/vertical spans. Children have an "attach point" defined by the horizontal and vertical index of the cell they occupy; children can span multiple rows or columns. The layout properties for setting the attach points and spans are set using the GtkGridLayoutChild associated to each child widget. The behaviour of GtkGrid when several children occupy the same grid cell is undefined. GtkGridLayout can be used like a GtkBoxLayout if all children are attached to the same row or column; however, if you only ever need a single row or column, you should consider using GtkBoxLayout. Functions gtk_grid_layout_new () gtk_grid_layout_new GtkLayoutManager * gtk_grid_layout_new (void); Creates a new GtkGridLayout. Returns the newly created GtkGridLayout gtk_grid_layout_set_row_homogeneous () gtk_grid_layout_set_row_homogeneous void gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid, gboolean homogeneous); Sets whether all rows of grid should have the same height. Parameters grid a GtkGridLayout homogeneous TRUE to make rows homogeneous gtk_grid_layout_get_row_homogeneous () gtk_grid_layout_get_row_homogeneous gboolean gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid); Checks whether all rows of grid should have the same height. Parameters grid a GtkGridLayout Returns TRUE if the rows are homogeneous, and FALSE otherwise gtk_grid_layout_set_row_spacing () gtk_grid_layout_set_row_spacing void gtk_grid_layout_set_row_spacing (GtkGridLayout *grid, guint spacing); Sets the amount of space to insert between consecutive rows. Parameters grid a GtkGridLayout spacing the amount of space between rows, in pixels gtk_grid_layout_get_row_spacing () gtk_grid_layout_get_row_spacing guint gtk_grid_layout_get_row_spacing (GtkGridLayout *grid); Retrieves the spacing set with gtk_grid_layout_set_row_spacing(). Parameters grid a GtkGridLayout Returns the spacing between consecutive rows gtk_grid_layout_set_column_homogeneous () gtk_grid_layout_set_column_homogeneous void gtk_grid_layout_set_column_homogeneous (GtkGridLayout *grid, gboolean homogeneous); Sets whether all columns of grid should have the same width. Parameters grid a GtkGridLayout homogeneous TRUE to make columns homogeneous gtk_grid_layout_get_column_homogeneous () gtk_grid_layout_get_column_homogeneous gboolean gtk_grid_layout_get_column_homogeneous (GtkGridLayout *grid); Checks whether all columns of grid should have the same width. Parameters grid a GtkGridLayout Returns TRUE if the columns are homogeneous, and FALSE otherwise gtk_grid_layout_set_column_spacing () gtk_grid_layout_set_column_spacing void gtk_grid_layout_set_column_spacing (GtkGridLayout *grid, guint spacing); Sets the amount of space to insert between consecutive columns. Parameters grid a GtkGridLayout spacing the amount of space between columns, in pixels gtk_grid_layout_get_column_spacing () gtk_grid_layout_get_column_spacing guint gtk_grid_layout_get_column_spacing (GtkGridLayout *grid); Retrieves the spacing set with gtk_grid_layout_set_column_spacing(). Parameters grid a GtkGridLayout Returns the spacing between consecutive columns gtk_grid_layout_set_row_baseline_position () gtk_grid_layout_set_row_baseline_position void gtk_grid_layout_set_row_baseline_position (GtkGridLayout *grid, int row, GtkBaselinePosition pos); Sets how the baseline should be positioned on row of the grid, in case that row is assigned more space than is requested. Parameters grid a GtkGridLayout row a row index pos a GtkBaselinePosition gtk_grid_layout_get_row_baseline_position () gtk_grid_layout_get_row_baseline_position GtkBaselinePosition gtk_grid_layout_get_row_baseline_position (GtkGridLayout *grid, int row); Returns the baseline position of row as set by gtk_grid_layout_set_row_baseline_position(), or the default value of GTK_BASELINE_POSITION_CENTER. Parameters grid a GtkGridLayout row a row index Returns the baseline position of row gtk_grid_layout_set_baseline_row () gtk_grid_layout_set_baseline_row void gtk_grid_layout_set_baseline_row (GtkGridLayout *grid, int row); Sets which row defines the global baseline for the entire grid. Each row in the grid can have its own local baseline, but only one of those is global, meaning it will be the baseline in the parent of the grid . Parameters grid a GtkGridLayout row the row index gtk_grid_layout_get_baseline_row () gtk_grid_layout_get_baseline_row int gtk_grid_layout_get_baseline_row (GtkGridLayout *grid); Retrieves the row set with gtk_grid_layout_set_baseline_row(). Parameters grid a GtkGridLayout Returns the global baseline row gtk_grid_layout_child_set_top_attach () gtk_grid_layout_child_set_top_attach void gtk_grid_layout_child_set_top_attach (GtkGridLayoutChild *child, int attach); Sets the row number to attach the top side of child . Parameters child a GtkGridLayoutChild attach the attach point for child gtk_grid_layout_child_get_top_attach () gtk_grid_layout_child_get_top_attach int gtk_grid_layout_child_get_top_attach (GtkGridLayoutChild *child); Retrieves the row number to which child attaches its top side. Parameters child a GtkGridLayoutChild Returns the row number gtk_grid_layout_child_set_left_attach () gtk_grid_layout_child_set_left_attach void gtk_grid_layout_child_set_left_attach (GtkGridLayoutChild *child, int attach); Sets the column number to attach the left side of child . Parameters child a GtkGridLayoutChild attach the attach point for child gtk_grid_layout_child_get_left_attach () gtk_grid_layout_child_get_left_attach int gtk_grid_layout_child_get_left_attach (GtkGridLayoutChild *child); Retrieves the column number to which child attaches its left side. Parameters child a GtkGridLayoutChild Returns the column number gtk_grid_layout_child_set_column_span () gtk_grid_layout_child_set_column_span void gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child, int span); Sets the number of columns child spans to. Parameters child a GtkGridLayoutChild span the span of child gtk_grid_layout_child_get_column_span () gtk_grid_layout_child_get_column_span int gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child); Retrieves the number of columns that child spans to. Parameters child a GtkGridLayoutChild Returns the number of columns gtk_grid_layout_child_set_row_span () gtk_grid_layout_child_set_row_span void gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child, int span); Sets the number of rows child spans to. Parameters child a GtkGridLayoutChild span the span of child gtk_grid_layout_child_get_row_span () gtk_grid_layout_child_get_row_span int gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child); Retrieves the number of rows that child spans to. Parameters child a GtkGridLayoutChild Returns the number of row Types and Values GtkGridLayout GtkGridLayout typedef struct _GtkGridLayout GtkGridLayout; Layout manager for grid-like widgets. GtkGridLayoutChild GtkGridLayoutChild typedef struct _GtkGridLayoutChild GtkGridLayoutChild; Layout properties for children of GtkGridLayout. Property Details The <literal>“baseline-row”</literal> property GtkGridLayout:baseline-row “baseline-row” gint The row to align to the baseline, when “valign” is set to GTK_ALIGN_BASELINE. Owner: GtkGridLayout Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“column-homogeneous”</literal> property GtkGridLayout:column-homogeneous “column-homogeneous” gboolean Whether all the columns in the grid have the same width. Owner: GtkGridLayout Flags: Read / Write Default value: FALSE The <literal>“column-spacing”</literal> property GtkGridLayout:column-spacing “column-spacing” gint The amount of space between to consecutive columns. Owner: GtkGridLayout Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“row-homogeneous”</literal> property GtkGridLayout:row-homogeneous “row-homogeneous” gboolean Whether all the rows in the grid have the same height. Owner: GtkGridLayout Flags: Read / Write Default value: FALSE The <literal>“row-spacing”</literal> property GtkGridLayout:row-spacing “row-spacing” gint The amount of space between to consecutive rows. Owner: GtkGridLayout Flags: Read / Write Allowed values: [0,32767] Default value: 0 The <literal>“column-span”</literal> property GtkGridLayoutChild:column-span “column-span” gint The number of columns the child spans to. Owner: GtkGridLayoutChild Flags: Read / Write Allowed values: >= 1 Default value: 1 The <literal>“left-attach”</literal> property GtkGridLayoutChild:left-attach “left-attach” gint The column number to attach the left side of the child to. Owner: GtkGridLayoutChild Flags: Read / Write Default value: 0 The <literal>“row-span”</literal> property GtkGridLayoutChild:row-span “row-span” gint The number of rows the child spans to. Owner: GtkGridLayoutChild Flags: Read / Write Allowed values: >= 1 Default value: 1 The <literal>“top-attach”</literal> property GtkGridLayoutChild:top-attach “top-attach” gint The row number to attach the top side of the child to. Owner: GtkGridLayoutChild Flags: Read / Write Default value: 0 See Also GtkBoxLayout docs/reference/gtk/xml/gtkconstraint.xml0000664000175000017500000015346713710700314020611 0ustar mclasenmclasen ]> GtkConstraint 3 GTK4 Library GtkConstraint The description of a constraint Functions GtkConstraint * gtk_constraint_new () GtkConstraint * gtk_constraint_new_constant () GtkConstraintTarget * gtk_constraint_get_target () GtkConstraintAttribute gtk_constraint_get_target_attribute () GtkConstraintRelation gtk_constraint_get_relation () GtkConstraintTarget * gtk_constraint_get_source () GtkConstraintAttribute gtk_constraint_get_source_attribute () double gtk_constraint_get_multiplier () double gtk_constraint_get_constant () int gtk_constraint_get_strength () gboolean gtk_constraint_is_required () gboolean gtk_constraint_is_attached () gboolean gtk_constraint_is_constant () Properties gdoubleconstantRead / Write / Construct Only gdoublemultiplierRead / Write / Construct Only GtkConstraintRelationrelationRead / Write / Construct Only GtkConstraintTarget *sourceRead / Write / Construct Only GtkConstraintAttributesource-attributeRead / Write / Construct Only gintstrengthRead / Write / Construct Only GtkConstraintTarget *targetRead / Write / Construct Only GtkConstraintAttributetarget-attributeRead / Write / Construct Only Types and Values GtkConstraint GtkConstraintTarget enumGtkConstraintAttribute enumGtkConstraintRelation enumGtkConstraintStrength Object Hierarchy GInterface ╰── GtkConstraintTarget GObject ╰── GtkConstraint Prerequisites GtkConstraintTarget requires GObject. Known Implementations GtkConstraintTarget is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkConstraintGuide, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkText, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeView, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle. Includes#include <gtk/gtk.h> Description GtkConstraint describes a constraint between an attribute on a widget and another attribute on another widget, expressed as a linear equation like: Each GtkConstraint is part of a system that will be solved by a GtkConstraintLayout in order to allocate and position each child widget. The source and target widgets, as well as their attributes, of a GtkConstraint instance are immutable after creation. Functions gtk_constraint_new () gtk_constraint_new GtkConstraint * gtk_constraint_new (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, gpointer source, GtkConstraintAttribute source_attribute, double multiplier, double constant, int strength); Creates a new GtkConstraint representing a relation between a layout attribute on a source and a layout attribute on a target. Parameters target a GtkConstraintTarget. [nullable][type GtkConstraintTarget] target_attribute the attribute of target to be set relation the relation equivalence between target_attribute and source_attribute source a GtkConstraintTarget. [nullable][type GtkConstraintTarget] source_attribute the attribute of source to be read multiplier a multiplication factor to be applied to source_attribute constant a constant factor to be added to source_attribute strength the strength of the constraint Returns the newly created GtkConstraint gtk_constraint_new_constant () gtk_constraint_new_constant GtkConstraint * gtk_constraint_new_constant (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, double constant, int strength); Creates a new GtkConstraint representing a relation between a layout attribute on a target and a constant value. Parameters target a GtkConstraintTarget. [nullable][type GtkConstraintTarget] target_attribute the attribute of target to be set relation the relation equivalence between target_attribute and constant constant a constant factor to be set on target_attribute strength the strength of the constraint Returns the newly created GtkConstraint gtk_constraint_get_target () gtk_constraint_get_target GtkConstraintTarget * gtk_constraint_get_target (GtkConstraint *constraint); Retrieves the GtkConstraintTarget used as the target for constraint . If the “target” property is set to NULL, the constraint will use the GtkConstraintLayout's widget. Parameters constraint a GtkConstraint Returns a GtkConstraintTarget. [transfer none][nullable] gtk_constraint_get_target_attribute () gtk_constraint_get_target_attribute GtkConstraintAttribute gtk_constraint_get_target_attribute (GtkConstraint *constraint); Retrieves the attribute of the target to be set by the constraint . Parameters constraint a GtkConstraint Returns the target's attribute gtk_constraint_get_relation () gtk_constraint_get_relation GtkConstraintRelation gtk_constraint_get_relation (GtkConstraint *constraint); The order relation between the terms of the constraint . Parameters constraint a GtkConstraint Returns a GtkConstraintRelation value gtk_constraint_get_source () gtk_constraint_get_source GtkConstraintTarget * gtk_constraint_get_source (GtkConstraint *constraint); Retrieves the GtkConstraintTarget used as the source for constraint . If the “source” property is set to NULL, the constraint will use the GtkConstraintLayout's widget. Parameters constraint a GtkConstraint Returns a GtkConstraintTarget. [transfer none][nullable] gtk_constraint_get_source_attribute () gtk_constraint_get_source_attribute GtkConstraintAttribute gtk_constraint_get_source_attribute (GtkConstraint *constraint); Retrieves the attribute of the source to be read by the constraint . Parameters constraint a GtkConstraint Returns the target's attribute gtk_constraint_get_multiplier () gtk_constraint_get_multiplier double gtk_constraint_get_multiplier (GtkConstraint *constraint); Retrieves the multiplication factor applied to the source attribute's value. Parameters constraint a GtkConstraint Returns a multiplication factor gtk_constraint_get_constant () gtk_constraint_get_constant double gtk_constraint_get_constant (GtkConstraint *constraint); Retrieves the constant factor added to the source attributes' value. Parameters constraint a GtkConstraint Returns a constant factor gtk_constraint_get_strength () gtk_constraint_get_strength int gtk_constraint_get_strength (GtkConstraint *constraint); Retrieves the strength of the constraint. Parameters constraint a GtkConstraint Returns the strength of the constraint gtk_constraint_is_required () gtk_constraint_is_required gboolean gtk_constraint_is_required (GtkConstraint *constraint); Checks whether the constraint is a required relation for solving the constraint layout. Parameters constraint a GtkConstraint Returns TRUE if the constraint is required gtk_constraint_is_attached () gtk_constraint_is_attached gboolean gtk_constraint_is_attached (GtkConstraint *constraint); Checks whether the constraint is attached to a GtkConstraintLayout, and it is contributing to the layout. Parameters constraint a GtkConstraint Returns TRUE if the constraint is attached gtk_constraint_is_constant () gtk_constraint_is_constant gboolean gtk_constraint_is_constant (GtkConstraint *constraint); Checks whether the constraint describes a relation between an attribute on the “target” and a constant value. Parameters constraint a GtkConstraint Returns TRUE if the constraint is a constant relation Types and Values GtkConstraint GtkConstraint typedef struct _GtkConstraint GtkConstraint; An object describing the relation between two widget attributes. All relations are in the form: A GtkConstraint is immutable once it's created. GtkConstraintTarget GtkConstraintTarget typedef struct _GtkConstraintTarget GtkConstraintTarget; The GtkConstraintTarget interface is implemented by objects that can be used as source or target in GtkConstraints. Besides GtkWidget, it is also implemented by GtkConstraintGuide. enum GtkConstraintAttribute GtkConstraintAttribute The widget attributes that can be used when creating a GtkConstraint. Members GTK_CONSTRAINT_ATTRIBUTE_NONE No attribute, used for constant relations GTK_CONSTRAINT_ATTRIBUTE_LEFT The left edge of a widget, regardless of text direction GTK_CONSTRAINT_ATTRIBUTE_RIGHT The right edge of a widget, regardless of text direction GTK_CONSTRAINT_ATTRIBUTE_TOP The top edge of a widget GTK_CONSTRAINT_ATTRIBUTE_BOTTOM The bottom edge of a widget GTK_CONSTRAINT_ATTRIBUTE_START The leading edge of a widget, depending on text direction; equivalent to GTK_CONSTRAINT_ATTRIBUTE_LEFT for LTR languages, and GTK_CONSTRAINT_ATTRIBUTE_RIGHT for RTL ones GTK_CONSTRAINT_ATTRIBUTE_END The trailing edge of a widget, depending on text direction; equivalent to GTK_CONSTRAINT_ATTRIBUTE_RIGHT for LTR languages, and GTK_CONSTRAINT_ATTRIBUTE_LEFT for RTL ones GTK_CONSTRAINT_ATTRIBUTE_WIDTH The width of a widget GTK_CONSTRAINT_ATTRIBUTE_HEIGHT The height of a widget GTK_CONSTRAINT_ATTRIBUTE_CENTER_X The center of a widget, on the horizontal axis GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y The center of a widget, on the vertical axis GTK_CONSTRAINT_ATTRIBUTE_BASELINE The baseline of a widget enum GtkConstraintRelation GtkConstraintRelation The relation between two terms of a constraint. Members GTK_CONSTRAINT_RELATION_LE Less than, or equal GTK_CONSTRAINT_RELATION_EQ Equal GTK_CONSTRAINT_RELATION_GE Greater than, or equal enum GtkConstraintStrength GtkConstraintStrength The strength of a constraint, expressed as a symbolic constant. The strength of a GtkConstraint can be expressed with any positive integer; the values of this enumeration can be used for readability. Members GTK_CONSTRAINT_STRENGTH_REQUIRED The constraint is required towards solving the layout GTK_CONSTRAINT_STRENGTH_STRONG A strong constraint GTK_CONSTRAINT_STRENGTH_MEDIUM A medium constraint GTK_CONSTRAINT_STRENGTH_WEAK A weak constraint Property Details The <literal>“constant”</literal> property GtkConstraint:constant “constant” gdouble The constant value to be added to the “source-attribute”. Owner: GtkConstraint Flags: Read / Write / Construct Only Default value: 0 The <literal>“multiplier”</literal> property GtkConstraint:multiplier “multiplier” gdouble The multiplication factor to be applied to the “source-attribute”. Owner: GtkConstraint Flags: Read / Write / Construct Only Default value: 1 The <literal>“relation”</literal> property GtkConstraint:relation “relation” GtkConstraintRelation The order relation between the terms of the constraint. Owner: GtkConstraint Flags: Read / Write / Construct Only Default value: GTK_CONSTRAINT_RELATION_EQ The <literal>“source”</literal> property GtkConstraint:source “source” GtkConstraintTarget * The source of the constraint. The constraint will set the “target-attribute” of the target using the “source-attribute” of the source. Owner: GtkConstraint Flags: Read / Write / Construct Only The <literal>“source-attribute”</literal> property GtkConstraint:source-attribute “source-attribute” GtkConstraintAttribute The attribute of the “source” read by the constraint. Owner: GtkConstraint Flags: Read / Write / Construct Only Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE The <literal>“strength”</literal> property GtkConstraint:strength “strength” gint The strength of the constraint. The strength can be expressed either using one of the symbolic values of the GtkConstraintStrength enumeration, or any positive integer value. Owner: GtkConstraint Flags: Read / Write / Construct Only Allowed values: [0,1001001000] Default value: 1001001000 The <literal>“target”</literal> property GtkConstraint:target “target” GtkConstraintTarget * The target of the constraint. The constraint will set the “target-attribute” of the target using the “source-attribute” of the source widget. Owner: GtkConstraint Flags: Read / Write / Construct Only The <literal>“target-attribute”</literal> property GtkConstraint:target-attribute “target-attribute” GtkConstraintAttribute The attribute of the “target” set by the constraint. Owner: GtkConstraint Flags: Read / Write / Construct Only Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE docs/reference/gtk/xml/gtkconstraintlayout.xml0000664000175000017500000012502413710700314022033 0ustar mclasenmclasen ]> GtkConstraintLayout 3 GTK4 Library GtkConstraintLayout A layout manager using constraints Functions GtkLayoutManager * gtk_constraint_layout_new () void gtk_constraint_layout_add_constraint () void gtk_constraint_layout_remove_constraint () void gtk_constraint_layout_remove_all_constraints () void gtk_constraint_layout_add_guide () void gtk_constraint_layout_remove_guide () GList * gtk_constraint_layout_add_constraints_from_description () GList * gtk_constraint_layout_add_constraints_from_descriptionv () GListModel * gtk_constraint_layout_observe_constraints () GListModel * gtk_constraint_layout_observe_guides () Types and Values GtkConstraintLayout GtkConstraintLayoutChild enumGtkConstraintVflParserError Object Hierarchy GObject ├── GtkLayoutChild ╰── GtkConstraintLayoutChild ╰── GtkLayoutManager ╰── GtkConstraintLayout Implemented Interfaces GtkConstraintLayout implements GtkBuildable. Includes#include <gtk/gtk.h> Description GtkConstraintLayout is a layout manager that uses relations between widget attributes, expressed via GtkConstraint instances, to measure and allocate widgets. How do constraints workConstraints are objects defining the relationship between attributes of a widget; you can read the description of the GtkConstraint class to have a more in depth definition. By taking multiple constraints and applying them to the children of a widget using GtkConstraintLayout, it's possible to describe complex layout policies; each constraint applied to a child or to the parent widgets contributes to the full description of the layout, in terms of parameters for resolving the value of each attribute. It is important to note that a layout is defined by the totality of constraints; removing a child, or a constraint, from an existing layout without changing the remaining constraints may result in an unstable or unsolvable layout. Constraints have an implicit "reading order"; you should start describing each edge of each child, as well as their relationship with the parent container, from the top left (or top right, in RTL languages), horizontally first, and then vertically. A constraint-based layout with too few constraints can become "unstable", that is: have more than one solution. The behavior of an unstable layout is undefined. A constraint-based layout with conflicting constraints may be unsolvable, and lead to an unstable layout. You can use the “strength” property of GtkConstraint to "nudge" the layout towards a solution. GtkConstraintLayout as GtkBuildableGtkConstraintLayout implements the GtkBuildable interface and has a custom "constraints" element which allows describing constraints in a GtkBuilder UI file. An example of a UI definition fragment specifying a constraint: ]]> The definition above will add two constraints to the GtkConstraintLayout: a required constraint between the leading edge of "button" and the leading edge of the widget using the constraint layout, plus 12 pixels a strong, constant constraint making the width of "button" greater than, or equal to 250 pixels The "target" and "target-attribute" attributes are required. The "source" and "source-attribute" attributes of the "constraint" element are optional; if they are not specified, the constraint is assumed to be a constant. The "relation" attribute is optional; if not specified, the constraint is assumed to be an equality. The "strength" attribute is optional; if not specified, the constraint is assumed to be required. The "source" and "target" attributes can be set to "super" to indicate that the constraint target is the widget using the GtkConstraintLayout. Additionally, the "constraints" element can also contain a description of the GtkConstraintGuides used by the layout: ]]> The "guide" element has the following optional attributes: "min-width", "nat-width", and "max-width", describe the minimum, natural, and maximum width of the guide, respectively "min-height", "nat-height", and "max-height", describe the minimum, natural, and maximum height of the guide, respectively "strength" describes the strength of the constraint on the natural size of the guide; if not specified, the constraint is assumed to have a medium strength "name" describes a name for the guide, useful when debugging Using the Visual Format LanguageComplex constraints can be described using a compact syntax called VFL, or *Visual Format Language*. The Visual Format Language describes all the constraints on a row or column, typically starting from the leading edge towards the trailing one. Each element of the layout is composed by "views", which identify a GtkConstraintTarget. For instance: Describes a constraint that binds the trailing edge of "button" to the leading edge of "textField", leaving a default space between the two. Using VFL is also possible to specify predicates that describe constraints on attributes like width and height: =50)] // Width of button1 must be equal to width of button2 [button1(==button2)] ]]> The default orientation for a VFL description is horizontal, unless otherwise specified: =150)] // vertical orientation, default attribute: height V:[button1(==button2)] ]]> It's also possible to specify multiple predicates, as well as their strength: =150@required, ==250@medium)] ]]> Finally, it's also possible to use simple arithmetic operators: Functions gtk_constraint_layout_new () gtk_constraint_layout_new GtkLayoutManager * gtk_constraint_layout_new (void); Creates a new GtkConstraintLayout layout manager. Returns the newly created GtkConstraintLayout gtk_constraint_layout_add_constraint () gtk_constraint_layout_add_constraint void gtk_constraint_layout_add_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint); Adds a GtkConstraint to the layout manager. The “source” and “target” properties of constraint can be: set to NULL to indicate that the constraint refers to the widget using layout set to the GtkWidget using layout set to a child of the GtkWidget using layout set to a guide that is part of layout The layout acquires the ownership of constraint after calling this function. Parameters layout a GtkConstraintLayout constraint a GtkConstraint. [transfer full] gtk_constraint_layout_remove_constraint () gtk_constraint_layout_remove_constraint void gtk_constraint_layout_remove_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint); Removes constraint from the layout manager, so that it no longer influences the layout. Parameters layout a GtkConstraintLayout constraint a GtkConstraint gtk_constraint_layout_remove_all_constraints () gtk_constraint_layout_remove_all_constraints void gtk_constraint_layout_remove_all_constraints (GtkConstraintLayout *layout); Removes all constraints from the layout manager. Parameters layout a GtkConstraintLayout gtk_constraint_layout_add_guide () gtk_constraint_layout_add_guide void gtk_constraint_layout_add_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide); Adds a guide to layout . A guide can be used as the source or target of constraints, like a widget, but it is not visible. The layout acquires the ownership of guide after calling this function. Parameters layout a GtkConstraintLayout guide a GtkConstraintGuide object. [transfer full] gtk_constraint_layout_remove_guide () gtk_constraint_layout_remove_guide void gtk_constraint_layout_remove_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide); Removes guide from the layout manager, so that it no longer influences the layout. Parameters layout a GtkConstraintLayout guide a GtkConstraintGuide object gtk_constraint_layout_add_constraints_from_description () gtk_constraint_layout_add_constraints_from_description GList * gtk_constraint_layout_add_constraints_from_description (GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GError **error, const char *first_view, ...); Creates a list of constraints they formal description using a compact description syntax called VFL, or "Visual Format Language". This function is a convenience wrapper around gtk_constraint_layout_add_constraints_from_descriptionv(), using variadic arguments to populate the view/target map. Parameters layout a GtkConstraintLayout lines an array of Visual Format Language lines defining a set of constraints. [array length=n_lines] n_lines the number of lines hspacing default horizontal spacing value, or -1 for the fallback value vspacing default vertical spacing value, or -1 for the fallback value error return location for a GError first_view the name of a view in the VFL description, followed by the GtkConstraintTarget to which it maps ... a NULL-terminated list of view names and GtkConstraintTargets Returns the list of GtkConstraints that were added to the layout. [transfer container][element-type GtkConstraint] gtk_constraint_layout_add_constraints_from_descriptionv () gtk_constraint_layout_add_constraints_from_descriptionv GList * gtk_constraint_layout_add_constraints_from_descriptionv (GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GHashTable *views, GError **error); Creates a list of constraints from a formal description using a compact description syntax called VFL, or "Visual Format Language". The Visual Format Language is based on Apple's AutoLayout VFL. The views dictionary is used to match GtkConstraintTargets to the symbolic view name inside the VFL. The VFL grammar is: = ()? ()? ()* ()? = 'H' | 'V' = '|' = '' | '-' '-' | '-' = | = | = '(' (',' )* ')' = ()? ()? ('@' )? = '==' | '<=' | '>=' = | | ('.' )? = | 'required' | 'strong' | 'medium' | 'weak' = = ()? ()? = [ '*' | '/' ] = [ '+' | '-' ] = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier = [A-Za-z_]([A-Za-z0-9_]*) // A C identifier = 'top' | 'bottom' | 'left' | 'right' | 'width' | 'height' | 'start' | 'end' | 'centerX' | 'centerY' | 'baseline' // A positive real number parseable by g_ascii_strtod() // A real number parseable by g_ascii_strtod() ]]> **Note**: The VFL grammar used by GTK is slightly different than the one defined by Apple, as it can use symbolic values for the constraint's strength instead of numeric values; additionally, GTK allows adding simple arithmetic operations inside predicates. Examples of VFL descriptions are: =50)] // Connection to super view |-50-[purpleBox]-50-| // Vertical layout V:[topField]-10-[bottomField] // Flush views [maroonView][blueView] // Priority [button(100@strong)] // Equal widths [button1(==button2)] // Multiple predicates [flexibleButton(>=70,<=100)] // A complete line of layout |-[find]-[findNext]-[findField(>=20)]-| // Operators [button1(button2 / 3 + 50)] // Named attributes [button1(==button2.height)] ]]> [rename-to gtk_constraint_layout_add_constraints_from_description] Parameters layout a GtkConstraintLayout lines an array of Visual Format Language lines defining a set of constraints. [array length=n_lines] n_lines the number of lines hspacing default horizontal spacing value, or -1 for the fallback value vspacing default vertical spacing value, or -1 for the fallback value views a dictionary of [ name, target ] pairs; the name keys map to the view names in the VFL lines, while the target values map to children of the widget using a GtkConstraintLayout, or guides. [element-type utf8 Gtk.ConstraintTarget] error return location for a GError Returns the list of GtkConstraints that were added to the layout. [transfer container][element-type GtkConstraint] gtk_constraint_layout_observe_constraints () gtk_constraint_layout_observe_constraints GListModel * gtk_constraint_layout_observe_constraints (GtkConstraintLayout *layout); Returns a GListModel to track the constraints that are part of layout . Calling this function will enable extra internal bookkeeping to track constraints and emit signals on the returned listmodel. It may slow down operations a lot. Applications should try hard to avoid calling this function because of the slowdowns. Parameters layout a GtkConstraintLayout Returns a GListModel tracking layout 's constraints. [transfer full][attributes element-type=GtkConstraint] gtk_constraint_layout_observe_guides () gtk_constraint_layout_observe_guides GListModel * gtk_constraint_layout_observe_guides (GtkConstraintLayout *layout); Returns a GListModel to track the guides that are part of layout . Calling this function will enable extra internal bookkeeping to track guides and emit signals on the returned listmodel. It may slow down operations a lot. Applications should try hard to avoid calling this function because of the slowdowns. Parameters layout a GtkConstraintLayout Returns a GListModel tracking layout 's guides. [transfer full][attributes element-type=GtkConstraintGuide] Types and Values GtkConstraintLayout GtkConstraintLayout typedef struct _GtkConstraintLayout GtkConstraintLayout; A layout manager using GtkConstraint to describe relations between widgets. GtkConstraintLayoutChild GtkConstraintLayoutChild typedef struct _GtkConstraintLayoutChild GtkConstraintLayoutChild; A GtkLayoutChild in a GtkConstraintLayout. enum GtkConstraintVflParserError GtkConstraintVflParserError Domain for VFL parsing errors. Members GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL Invalid or unknown symbol GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE Invalid or unknown attribute GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW Invalid or unknown view GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC Invalid or unknown metric GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY Invalid or unknown priority GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION Invalid or unknown relation docs/reference/gtk/xml/gtkconstraintguide.xml0000664000175000017500000010146613710700314021617 0ustar mclasenmclasen ]> GtkConstraintGuide 3 GTK4 Library GtkConstraintGuide An invisible constraint target Functions GtkConstraintGuide * gtk_constraint_guide_new () void gtk_constraint_guide_set_name () const char * gtk_constraint_guide_get_name () void gtk_constraint_guide_set_strength () GtkConstraintStrength gtk_constraint_guide_get_strength () void gtk_constraint_guide_set_min_size () void gtk_constraint_guide_get_min_size () void gtk_constraint_guide_set_nat_size () void gtk_constraint_guide_get_nat_size () void gtk_constraint_guide_set_max_size () void gtk_constraint_guide_get_max_size () Properties gintmax-heightRead / Write gintmax-widthRead / Write gintmin-heightRead / Write gintmin-widthRead / Write gchar *nameRead / Write gintnat-heightRead / Write gintnat-widthRead / Write GtkConstraintStrengthstrengthRead / Write Types and Values GtkConstraintGuide Object Hierarchy GObject ╰── GtkConstraintGuide Implemented Interfaces GtkConstraintGuide implements GtkConstraintTarget. Includes#include <gtk/gtk.h> Description A GtkConstraintGuide is an invisible layout element that can be used by widgets inside a GtkConstraintLayout as a source or a target of a GtkConstraint. Guides can be used like guidelines or as flexible space. Unlike a GtkWidget, a GtkConstraintGuide will not be drawn. Functions gtk_constraint_guide_new () gtk_constraint_guide_new GtkConstraintGuide * gtk_constraint_guide_new (void); Creates a new GtkConstraintGuide object. Return: a new GtkConstraintGuide object. gtk_constraint_guide_set_name () gtk_constraint_guide_set_name void gtk_constraint_guide_set_name (GtkConstraintGuide *guide, const char *name); Sets a name for the given GtkConstraintGuide. The name is useful for debugging purposes. Parameters guide a GtkConstraintGuide name a name for the guide . [nullable] gtk_constraint_guide_get_name () gtk_constraint_guide_get_name const char * gtk_constraint_guide_get_name (GtkConstraintGuide *guide); Retrieves the name set using gtk_constraint_guide_set_name(). Parameters guide a GtkConstraintGuide Returns the name of the guide. [transfer none][nullable] gtk_constraint_guide_set_strength () gtk_constraint_guide_set_strength void gtk_constraint_guide_set_strength (GtkConstraintGuide *guide, GtkConstraintStrength strength); Sets the strength of the constraint on the natural size of the given GtkConstraintGuide. Parameters guide a GtkConstraintGuide strength the strength of the constraint gtk_constraint_guide_get_strength () gtk_constraint_guide_get_strength GtkConstraintStrength gtk_constraint_guide_get_strength (GtkConstraintGuide *guide); Retrieves the strength set using gtk_constraint_guide_set_strength(). Parameters guide a GtkConstraintGuide Returns the strength of the constraint on the natural size gtk_constraint_guide_set_min_size () gtk_constraint_guide_set_min_size void gtk_constraint_guide_set_min_size (GtkConstraintGuide *guide, int width, int height); Sets the minimum size of guide . If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size. Parameters guide a GtkConstraintGuide object width the new minimum width, or -1 to not change it height the new minimum height, or -1 to not change it gtk_constraint_guide_get_min_size () gtk_constraint_guide_get_min_size void gtk_constraint_guide_get_min_size (GtkConstraintGuide *guide, int *width, int *height); Gets the minimum size of guide . Parameters guide a GtkConstraintGuide object width return location for the minimum width, or NULL. [allow-none] height return location for the minimum height, or NULL. [allow-none] gtk_constraint_guide_set_nat_size () gtk_constraint_guide_set_nat_size void gtk_constraint_guide_set_nat_size (GtkConstraintGuide *guide, int width, int height); Sets the natural size of guide . If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size. Parameters guide a GtkConstraintGuide object width the new natural width, or -1 to not change it height the new natural height, or -1 to not change it gtk_constraint_guide_get_nat_size () gtk_constraint_guide_get_nat_size void gtk_constraint_guide_get_nat_size (GtkConstraintGuide *guide, int *width, int *height); Gets the natural size of guide . Parameters guide a GtkConstraintGuide object width return location for the natural width, or NULL. [allow-none] height return location for the natural height, or NULL. [allow-none] gtk_constraint_guide_set_max_size () gtk_constraint_guide_set_max_size void gtk_constraint_guide_set_max_size (GtkConstraintGuide *guide, int width, int height); Sets the maximum size of guide . If guide is attached to a GtkConstraintLayout, the constraints will be updated to reflect the new size. Parameters guide a GtkConstraintGuide object width the new maximum width, or -1 to not change it height the new maximum height, or -1 to not change it gtk_constraint_guide_get_max_size () gtk_constraint_guide_get_max_size void gtk_constraint_guide_get_max_size (GtkConstraintGuide *guide, int *width, int *height); Gets the maximum size of guide . Parameters guide a GtkConstraintGuide object width return location for the maximum width, or NULL. [allow-none] height return location for the maximum height, or NULL. [allow-none] Types and Values GtkConstraintGuide GtkConstraintGuide typedef struct _GtkConstraintGuide GtkConstraintGuide; An object that can be added to a GtkConstraintLayout and be used in constraints like a widget, without being drawn. Guides have a minimum, maximum and natural size. Depending on the constraints that are applied, they can act like a guideline that widgets can be aligned to, or like 'flexible space'. Property Details The <literal>“max-height”</literal> property GtkConstraintGuide:max-height “max-height” gint The maximum height of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 2147483647 The <literal>“max-width”</literal> property GtkConstraintGuide:max-width “max-width” gint The maximum width of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 2147483647 The <literal>“min-height”</literal> property GtkConstraintGuide:min-height “min-height” gint The minimum height of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“min-width”</literal> property GtkConstraintGuide:min-width “min-width” gint The minimum width of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“name”</literal> property GtkConstraintGuide:name “name” gchar * A name that identifies the GtkConstraintGuide, for debugging. Owner: GtkConstraintGuide Flags: Read / Write Default value: NULL The <literal>“nat-height”</literal> property GtkConstraintGuide:nat-height “nat-height” gint The preferred, or natural, height of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“nat-width”</literal> property GtkConstraintGuide:nat-width “nat-width” gint The preferred, or natural, width of the guide. Owner: GtkConstraintGuide Flags: Read / Write Allowed values: >= 0 Default value: 0 The <literal>“strength”</literal> property GtkConstraintGuide:strength “strength” GtkConstraintStrength The GtkConstraintStrength to be used for the constraint on the natural size of the guide. Owner: GtkConstraintGuide Flags: Read / Write Default value: GTK_CONSTRAINT_STRENGTH_MEDIUM docs/reference/gtk/xml/gtkdragsource.xml0000664000175000017500000011132513710700314020546 0ustar mclasenmclasen ]> GtkDragSource 3 GTK4 Library GtkDragSource Event controller to initiate DND operations Functions GtkDragSource * gtk_drag_source_new () void gtk_drag_source_set_content () GdkContentProvider * gtk_drag_source_get_content () void gtk_drag_source_set_actions () GdkDragAction gtk_drag_source_get_actions () void gtk_drag_source_set_icon () void gtk_drag_source_drag_cancel () GdkDrag * gtk_drag_source_get_drag () gboolean gtk_drag_check_threshold () Properties GdkDragActionactionsRead / Write GdkContentProvider *contentRead / Write Signals voiddrag-beginRun Last gbooleandrag-cancelRun Last voiddrag-endRun Last GdkContentProvider*prepareRun Last Types and Values GtkDragSource Object Hierarchy GObject ╰── GtkEventController ╰── GtkGesture ╰── GtkGestureSingle ╰── GtkDragSource Includes#include <gtk/gtk.h> Description GtkDragSource is an auxiliary object that is used to initiate Drag-And-Drop operations. It can be set up with the necessary ingredients for a DND operation ahead of time. This includes the source for the data that is being transferred, in the form of a GdkContentProvider, the desired action, and the icon to use during the drag operation. After setting it up, the drag source must be added to a widget as an event controller, using gtk_widget_add_controller(). Setting up the content provider and icon ahead of time only makes sense when the data does not change. More commonly, you will want to set them up just in time. To do so, GtkDragSource has “prepare” and “drag-begin” signals. The ::prepare signal is emitted before a drag is started, and can be used to set the content provider and actions that the drag should be started with. The ::drag-begin signal is emitted after the GdkDrag object has been created, and can be used to set up the drag icon. During the DND operation, GtkDragSource emits signals that can be used to obtain updates about the status of the operation, but it is not normally necessary to connect to any signals, except for one case: when the supported actions include GDK_ACTION_MOVE, you need to listen for the “drag-end” signal and delete the data after it has been transferred. Functions gtk_drag_source_new () gtk_drag_source_new GtkDragSource * gtk_drag_source_new (void); Creates a new GtkDragSource object. Returns the new GtkDragSource gtk_drag_source_set_content () gtk_drag_source_set_content void gtk_drag_source_set_content (GtkDragSource *source, GdkContentProvider *content); Sets a content provider on a GtkDragSource. When the data is requested in the cause of a DND operation, it will be obtained from the content provider. This function can be called before a drag is started, or in a handler for the “prepare” signal. You may consider setting the content provider back to NULL in a “drag-end” signal handler. Parameters source a GtkDragSource content a GdkContentProvider, or NULL. [nullable] gtk_drag_source_get_content () gtk_drag_source_get_content GdkContentProvider * gtk_drag_source_get_content (GtkDragSource *source); Gets the current content provider of a GtkDragSource. Parameters source a GtkDragSource Returns the GdkContentProvider of source . [transfer none] gtk_drag_source_set_actions () gtk_drag_source_set_actions void gtk_drag_source_set_actions (GtkDragSource *source, GdkDragAction actions); Sets the actions on the GtkDragSource. During a DND operation, the actions are offered to potential drop targets. If actions include GDK_ACTION_MOVE, you need to listen to the “drag-end” signal and handle delete_data being TRUE. This function can be called before a drag is started, or in a handler for the “prepare” signal. Parameters source a GtkDragSource actions the actions to offer gtk_drag_source_get_actions () gtk_drag_source_get_actions GdkDragAction gtk_drag_source_get_actions (GtkDragSource *source); Gets the actions that are currently set on the GtkDragSource. Parameters source a GtkDragSource Returns the actions set on source gtk_drag_source_set_icon () gtk_drag_source_set_icon void gtk_drag_source_set_icon (GtkDragSource *source, GdkPaintable *paintable, int hot_x, int hot_y); Sets a paintable to use as icon during DND operations. The hotspot coordinates determine the point on the icon that gets aligned with the hotspot of the cursor. If paintable is NULL, a default icon is used. This function can be called before a drag is started, or in a “prepare” or “drag-begin” signal handler. Parameters source a GtkDragSource paintable the GdkPaintable to use as icon, or NULL. [nullable] hot_x the hotspot X coordinate on the icon hot_y the hotspot Y coordinate on the icon gtk_drag_source_drag_cancel () gtk_drag_source_drag_cancel void gtk_drag_source_drag_cancel (GtkDragSource *source); Cancels a currently ongoing drag operation. Parameters source a GtkDragSource gtk_drag_source_get_drag () gtk_drag_source_get_drag GdkDrag * gtk_drag_source_get_drag (GtkDragSource *source); Returns the underlying GdkDrag object for an ongoing drag. Parameters source a GtkDragSource Returns the GdkDrag of the current drag operation, or NULL. [nullable][transfer none] gtk_drag_check_threshold () gtk_drag_check_threshold gboolean gtk_drag_check_threshold (GtkWidget *widget, int start_x, int start_y, int current_x, int current_y); Checks to see if a mouse drag starting at (start_x , start_y ) and ending at (current_x , current_y ) has passed the GTK drag threshold, and thus should trigger the beginning of a drag-and-drop operation. [method] Parameters widget a GtkWidget start_x X coordinate of start of drag start_y Y coordinate of start of drag current_x current X coordinate current_y current Y coordinate Returns TRUE if the drag threshold has been passed. Types and Values GtkDragSource GtkDragSource typedef struct _GtkDragSource GtkDragSource; Property Details The <literal>“actions”</literal> property GtkDragSource:actions “actions” GdkDragAction The actions that are supported by drag operations from the source. Note that you must handle the “drag-end” signal if the actions include GDK_ACTION_MOVE. Owner: GtkDragSource Flags: Read / Write Default value: GDK_ACTION_COPY The <literal>“content”</literal> property GtkDragSource:content “content” GdkContentProvider * The data that is offered by drag operations from this source, in the form of a GdkContentProvider. Owner: GtkDragSource Flags: Read / Write Signal Details The <literal>“drag-begin”</literal> signal GtkDragSource::drag-begin void user_function (GtkDragSource *source, GdkDrag *drag, gpointer user_data) The ::drag-begin signal is emitted on the drag source when a drag is started. It can be used to e.g. set a custom drag icon with gtk_drag_source_set_icon(). Parameters source the GtkDragSource drag the GdkDrag object user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“drag-cancel”</literal> signal GtkDragSource::drag-cancel gboolean user_function (GtkDragSource *source, GdkDrag *drag, GdkDragCancelReason reason, gpointer user_data) The ::drag-cancel signal is emitted on the drag source when a drag has failed. The signal handler may handle a failed drag operation based on the type of error. It should return TRUE if the failure has been handled and the default "drag operation failed" animation should not be shown. Parameters source the GtkDragSource drag the GdkDrag object reason information on why the drag failed user_data user data set when the signal handler was connected. Returns TRUE if the failed drag operation has been already handled Flags: Run Last The <literal>“drag-end”</literal> signal GtkDragSource::drag-end void user_function (GtkDragSource *source, GdkDrag *drag, gboolean delete_data, gpointer user_data) The ::drag-end signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in “prepare” or “drag-begin”. Parameters source the GtkDragSource drag the GdkDrag object delete_data TRUE if the drag was performing GDK_ACTION_MOVE, and the data should be deleted user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“prepare”</literal> signal GtkDragSource::prepare GdkContentProvider* user_function (GtkDragSource *source, gdouble x, gdouble y, gpointer user_data) The ::prepare signal is emitted when a drag is about to be initiated. It returns the * GdkContentProvider to use for the drag that is about to start. The default handler for this signal returns the value of the “content” property, so if you set up that property ahead of time, you don't need to connect to this signal. Parameters source the GtkDragSource x the X coordinate of the drag starting point y the Y coordinate fo the drag starting point user_data user data set when the signal handler was connected. Returns a GdkContentProvider, or NULL. [transfer full][nullable] Flags: Run Last docs/reference/gtk/xml/gtkdroptarget.xml0000664000175000017500000013157413710700314020573 0ustar mclasenmclasen ]> GtkDropTarget 3 GTK4 Library GtkDropTarget Event controller to receive DND drops Functions GtkDropTarget * gtk_drop_target_new () void gtk_drop_target_set_gtypes () const GType * gtk_drop_target_get_gtypes () GdkContentFormats * gtk_drop_target_get_formats () void gtk_drop_target_set_actions () GdkDragAction gtk_drop_target_get_actions () void gtk_drop_target_set_preload () gboolean gtk_drop_target_get_preload () GdkDrop * gtk_drop_target_get_drop () const GValue * gtk_drop_target_get_value () void gtk_drop_target_reject () Properties GdkDragActionactionsRead / Write GdkDrop *dropRead GdkContentFormats *formatsRead gbooleanpreloadRead / Write GValue *valueRead Signals gbooleanacceptRun Last gbooleandropRun Last GdkDragActionenterRun Last voidleaveRun Last GdkDragActionmotionRun Last Types and Values GtkDropTarget Object Hierarchy GObject ╰── GtkEventController ╰── GtkDropTarget Includes#include <gtk/gtk.h> Description GtkDropTarget is an event controller implementing a simple way to receive Drag-and-Drop operations. The most basic way to use a GtkDropTarget to receive drops on a widget is to create it via gtk_drop_target_new() passing in the GType of the data you want to receive and connect to the GtkDropTarget::drop signal to receive the data. GtkDropTarget supports more options, such as: rejecting potential drops via the “accept” signal and the gtk_drop_target_reject() function to let other drop targets handle the drop tracking an ongoing drag operation before the drop via the “enter”, “motion” and “leave” signals configuring how to receive data by setting the “preload” property and listening for its availability via the “value” property However, GtkDropTarget is ultimately modeled in a synchronous way and only supports data transferred via GType. If you want full control over an ongoing drop, the GtkDropTargetAsync object gives you this ability. While a pointer is dragged over the drop target's widget and the drop has not been rejected, that widget will receive the GTK_STATE_FLAG_DROP_ACTIVE state, which can be used to style the widget. Functions gtk_drop_target_new () gtk_drop_target_new GtkDropTarget * gtk_drop_target_new (GType type, GdkDragAction actions); Creates a new GtkDropTarget object. If the drop target should support more than 1 type, pass G_TYPE_INVALID for type and then call gtk_drop_target_set_gtypes(). Parameters type The supported type or G_TYPE_INVALID actions the supported actions Returns the new GtkDropTarget gtk_drop_target_set_gtypes () gtk_drop_target_set_gtypes void gtk_drop_target_set_gtypes (GtkDropTarget *self, GType *types, gsize n_types); Sets the supported GTypes for this drop target. The GtkDropTarget::drop signal will Parameters self a GtkDropTarget types all supported GTypes that can be dropped. [nullable][transfer none][array length=n_types] n_types number of types gtk_drop_target_get_gtypes () gtk_drop_target_get_gtypes const GType * gtk_drop_target_get_gtypes (GtkDropTarget *self, gsize *n_types); Gets the list of supported GTypes for self . If no type have been set, NULL will be returned. Parameters self a GtkDropTarget n_types optional pointer to take the number of GTypes contained in the return value. [out][optional] Returns G_TYPE_INVALID-terminated array of types included in formats or NULL if none. [transfer none][nullable][array length=n_types] gtk_drop_target_get_formats () gtk_drop_target_get_formats GdkContentFormats * gtk_drop_target_get_formats (GtkDropTarget *self); Gets the data formats that this drop target accepts. If the result is NULL, all formats are expected to be supported. Parameters self a GtkDropTarget Returns the supported data formats. [nullable] gtk_drop_target_set_actions () gtk_drop_target_set_actions void gtk_drop_target_set_actions (GtkDropTarget *self, GdkDragAction actions); Sets the actions that this drop target supports. Parameters self a GtkDropTarget actions the supported actions gtk_drop_target_get_actions () gtk_drop_target_get_actions GdkDragAction gtk_drop_target_get_actions (GtkDropTarget *self); Gets the actions that this drop target supports. Parameters self a GtkDropTarget Returns the actions that this drop target supports gtk_drop_target_set_preload () gtk_drop_target_set_preload void gtk_drop_target_set_preload (GtkDropTarget *self, gboolean preload); Sets the GtkDropTarget:preload property. Parameters self a GtkDropTarget preload TRUE to preload drop data gtk_drop_target_get_preload () gtk_drop_target_get_preload gboolean gtk_drop_target_get_preload (GtkDropTarget *self); Gets the value of the GtkDropTarget:preload property. Parameters self a GtkDropTarget Returns TRUE if drop data should be preloaded gtk_drop_target_get_drop () gtk_drop_target_get_drop GdkDrop * gtk_drop_target_get_drop (GtkDropTarget *self); Gets the currently handled drop operation. If no drop operation is going on, NULL is returned. Parameters self a GtkDropTarget Returns The current drop. [nullable][transfer none] gtk_drop_target_get_value () gtk_drop_target_get_value const GValue * gtk_drop_target_get_value (GtkDropTarget *self); Gets the value of the GtkDropTarget:value property. Parameters self a GtkDropTarget Returns The current drop data. [nullable][transfer none] gtk_drop_target_reject () gtk_drop_target_reject void gtk_drop_target_reject (GtkDropTarget *self); Rejects the ongoing drop operation. If no drop operation is ongoing - when GdkDropTarget:drop returns NULL - this function does nothing. This function should be used when delaying the decision on whether to accept a drag or not until after reading the data. Parameters self a GtkDropTarget Types and Values GtkDropTarget GtkDropTarget typedef struct _GtkDropTarget GtkDropTarget; Property Details The <literal>“actions”</literal> property GtkDropTarget:actions “actions” GdkDragAction The GdkDragActions that this drop target supports Owner: GtkDropTarget Flags: Read / Write The <literal>“drop”</literal> property GtkDropTarget:drop “drop” GdkDrop * The GdkDrop that is currently being performed Owner: GtkDropTarget Flags: Read The <literal>“formats”</literal> property GtkDropTarget:formats “formats” GdkContentFormats * The GdkContentFormats that determine the supported data formats Owner: GtkDropTarget Flags: Read The <literal>“preload”</literal> property GtkDropTarget:preload “preload” gboolean Whether the drop data should be preloaded when the pointer is only hovering over the widget but has not been released. Setting this property allows finer grained reaction to an ongoing drop at the cost of loading more data. The default value for this property is FALSE to avoid downloading huge amounts of data by accident. For example, if somebody drags a full document of gigabytes of text from a text editor across a widget with a preloading drop target, this data will be downloaded, even if the data is ultimately dropped elsewhere. For a lot of data formats, the amount of data is very small (like GDK_TYPE_RGBA), so enabling this property does not hurt at all. And for local-only drag'n'drop operations, no data transfer is done, so enabling it there is free. Owner: GtkDropTarget Flags: Read / Write Default value: FALSE The <literal>“value”</literal> property GtkDropTarget:value “value” GValue * The value for this drop operation or NULL if the data has not been loaded yet or no drop operation is going on. Data may be available before the GtkDropTarget::drop signal gets emitted - for example when the GtkDropTarget:preload property is set. You can use the GObject::notify signal to be notified of available data. Owner: GtkDropTarget Flags: Read Signal Details The <literal>“accept”</literal> signal GtkDropTarget::accept gboolean user_function (GtkDropTarget *self, GdkDrop *drop, gpointer user_data) The ::accept signal is emitted on the drop site when a drop operation is about to begin. If the drop is not accepted, FALSE will be returned and the drop target will ignore the drop. If TRUE is returned, the drop is accepted for now but may be rejected later via a call to gtk_drop_target_reject() or ultimately by returning FALSE from GtkDropTarget::drop The default handler for this signal decides whether to accept the drop based on the formats provided by the drop . If the decision whether the drop will be accepted or rejected needs inspecting the data, this function should return TRUE, the GtkDropTarget:preload property should be set and the value should be inspected via the GObject::notify:value signal and then call gtk_drop_target_reject(). Parameters self the GtkDropTarget drop the GdkDrop user_data user data set when the signal handler was connected. Returns TRUE if drop is accepted Flags: Run Last The <literal>“drop”</literal> signal GtkDropTarget::drop gboolean user_function (GtkDropTarget *self, GValue *value, gdouble x, gdouble y, gpointer user_data) The ::drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns FALSE and no further processing is necessary. Otherwise, the handler returns TRUE. In this case, this handler will accept the drop. The handler is responsible for rading the given value and performing the drop operation. Parameters self the GtkDropTarget value the GValue being dropped x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns whether the drop was accepted at the given pointer position Flags: Run Last The <literal>“enter”</literal> signal GtkDropTarget::enter GdkDragAction user_function (GtkDropTarget *self, gdouble x, gdouble y, gpointer user_data) The ::enter signal is emitted on the drop site when the pointer enters the widget. It can be used to set up custom highlighting. Parameters self the GtkDropTarget x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns Preferred action for this drag operation or 0 if dropping is not supported at the current x ,y location. Flags: Run Last The <literal>“leave”</literal> signal GtkDropTarget::leave void user_function (GtkDropTarget *self, gpointer user_data) The ::leave signal is emitted on the drop site when the pointer leaves the widget. Its main purpose it to undo things done in “enter”. Parameters self the GtkDropTarget user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“motion”</literal> signal GtkDropTarget::motion GdkDragAction user_function (GtkDropTarget *self, gdouble x, gdouble y, gpointer user_data) The ::motion signal is emitted while the pointer is moving over the drop target. Parameters self the GtkDropTarget x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns Preferred action for this drag operation or 0 if dropping is not supported at the current x ,y location. Flags: Run Last See Also GdkDrop, GtkDropTargetAsync docs/reference/gtk/xml/gtkdroptargetasync.xml0000664000175000017500000010500313710700314021615 0ustar mclasenmclasen ]> GtkDropTargetAsync 3 GTK4 Library GtkDropTargetAsync Event controller to receive DND drops Functions GtkDropTargetAsync * gtk_drop_target_async_new () void gtk_drop_target_async_set_formats () GdkContentFormats * gtk_drop_target_async_get_formats () void gtk_drop_target_async_set_actions () GdkDragAction gtk_drop_target_async_get_actions () void gtk_drop_target_async_reject_drop () Properties GdkDragActionactionsRead / Write GdkContentFormats *formatsRead / Write Signals gbooleanacceptRun Last GdkDragActiondrag-enterRun Last voiddrag-leaveRun Last GdkDragActiondrag-motionRun Last gbooleandropRun Last Types and Values GtkDropTargetAsync Object Hierarchy GObject ╰── GtkEventController ╰── GtkDropTargetAsync Includes#include <gtk/gtk.h> Description GtkDropTargetAsync is an auxiliary object that can be used to receive Drag-and-Drop operations. It is the more complete but also more complex method of handling drop operations compared to GtkDropTarget and you should only use it if GtkDropTarget doesn't provide all the features you need. To use a GtkDropTargetAsync to receive drops on a widget, you create a GtkDropTargetAsync object, configure which data formats and actions you support, connect to its signals, and then attach it to the widget with gtk_widget_add_controller(). During a drag operation, the first signal that a GtkDropTargetAsync emits is “accept”, which is meant to determine whether the target is a possible drop site for the ongoing drop. The default handler for the ::accept signal accepts the drop if it finds a compatible data format and an action that is supported on both sides. If it is, and the widget becomes a target, you will receive a “drag-enter” signal, followed by “drag-motion” signals as the pointer moves, optionally a “drop” signal when a drop happens, and finally a “drag-leave” signal when the pointer moves off the widget. The ::drag-enter and ::drag-motion handler return a GdkDragAction to update the status of the ongoing operation. The ::drop handler should decide if it ultimately accepts the drop and if it does, it should initiate the data transfer and finish the operation by calling gdk_drop_finish(). Between the ::drag-enter and ::drag-leave signals the widget is a current drop target, and will receive the GTK_STATE_FLAG_DROP_ACTIVE state, which can be used by themes to style the widget as a drop target. Functions gtk_drop_target_async_new () gtk_drop_target_async_new GtkDropTargetAsync * gtk_drop_target_async_new (GdkContentFormats *formats, GdkDragAction actions); Creates a new GtkDropTargetAsync object. Parameters formats the supported data formats. [nullable][transfer full] actions the supported actions Returns the new GtkDropTargetAsync gtk_drop_target_async_set_formats () gtk_drop_target_async_set_formats void gtk_drop_target_async_set_formats (GtkDropTargetAsync *self, GdkContentFormats *formats); Sets the data formats that this drop target will accept. Parameters self a GtkDropTargetAsync formats the supported data formats or NULL for any format. [nullable] gtk_drop_target_async_get_formats () gtk_drop_target_async_get_formats GdkContentFormats * gtk_drop_target_async_get_formats (GtkDropTargetAsync *self); Gets the data formats that this drop target accepts. If the result is NULL, all formats are expected to be supported. Parameters self a GtkDropTargetAsync Returns the supported data formats. [nullable] gtk_drop_target_async_set_actions () gtk_drop_target_async_set_actions void gtk_drop_target_async_set_actions (GtkDropTargetAsync *self, GdkDragAction actions); Sets the actions that this drop target supports. Parameters self a GtkDropTargetAsync actions the supported actions gtk_drop_target_async_get_actions () gtk_drop_target_async_get_actions GdkDragAction gtk_drop_target_async_get_actions (GtkDropTargetAsync *self); Gets the actions that this drop target supports. Parameters self a GtkDropTargetAsync Returns the actions that this drop target supports gtk_drop_target_async_reject_drop () gtk_drop_target_async_reject_drop void gtk_drop_target_async_reject_drop (GtkDropTargetAsync *self, GdkDrop *drop); Sets the drop as not accepted on this drag site. This function should be used when delaying the decision on whether to accept a drag or not until after reading the data. Parameters self a GtkDropTargetAsync drop the GdkDrop of an ongoing drag operation Types and Values GtkDropTargetAsync GtkDropTargetAsync typedef struct _GtkDropTargetAsync GtkDropTargetAsync; Property Details The <literal>“actions”</literal> property GtkDropTargetAsync:actions “actions” GdkDragAction The GdkDragActions that this drop target supports Owner: GtkDropTargetAsync Flags: Read / Write The <literal>“formats”</literal> property GtkDropTargetAsync:formats “formats” GdkContentFormats * The GdkContentFormats that determines the supported data formats Owner: GtkDropTargetAsync Flags: Read / Write Signal Details The <literal>“accept”</literal> signal GtkDropTargetAsync::accept gboolean user_function (GtkDropTargetAsync *self, GdkDrop *drop, gpointer user_data) The ::accept signal is emitted on the drop site when a drop operation is about to begin. If the drop is not accepted, FALSE will be returned and the drop target will ignore the drop. If TRUE is returned, the drop is accepted for now but may be rejected later via a call to gtk_drop_target_reject() or ultimately by returning FALSE from GtkDropTarget::drop The default handler for this signal decides whether to accept the drop based on the formats provided by the drop . If the decision whether the drop will be accepted or rejected needs further processing, such as inspecting the data, this function should return TRUE and proceed as is drop was accepted and if it decides to reject the drop later, it should call gtk_drop_target_reject_drop(). Parameters self the GtkDropTargetAsync drop the GdkDrop user_data user data set when the signal handler was connected. Returns TRUE if drop is accepted Flags: Run Last The <literal>“drag-enter”</literal> signal GtkDropTargetAsync::drag-enter GdkDragAction user_function (GtkDropTargetAsync *self, GdkDrop *drop, gdouble x, gdouble y, gpointer user_data) The ::drag-enter signal is emitted on the drop site when the pointer enters the widget. It can be used to set up custom highlighting. Parameters self the GtkDropTargetAsync drop the GdkDrop x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns Preferred action for this drag operation. Flags: Run Last The <literal>“drag-leave”</literal> signal GtkDropTargetAsync::drag-leave void user_function (GtkDropTargetAsync *self, GdkDrop *drop, gpointer user_data) The ::drag-leave signal is emitted on the drop site when the pointer leaves the widget. Its main purpose it to undo things done in “drag-enter”. Parameters self the GtkDropTargetAsync drop the GdkDrop user_data user data set when the signal handler was connected. Flags: Run Last The <literal>“drag-motion”</literal> signal GtkDropTargetAsync::drag-motion GdkDragAction user_function (GtkDropTargetAsync *self, GdkDrop *drop, gdouble x, gdouble y, gpointer user_data) The ::drag-motion signal is emitted while the pointer is moving over the drop target. Parameters self the GtkDropTargetAsync drop the GdkDrop x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns Preferred action for this drag operation. Flags: Run Last The <literal>“drop”</literal> signal GtkDropTargetAsync::drop gboolean user_function (GtkDropTargetAsync *self, GdkDrop *drop, gdouble x, gdouble y, gpointer user_data) The ::drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns FALSE and no further processing is necessary. Otherwise, the handler returns TRUE. In this case, this handler will accept the drop. The handler must ensure that gdk_drop_finish() is called to let the source know that the drop is done. The call to gtk_drag_finish() must only be done when all data has been received. To receive the data, use one of the read functions provides by GdkDrop such as gdk_drop_read_async() or gdk_drop_read_value_async(). Parameters self the GtkDropTargetAsync drop the GdkDrop x the x coordinate of the current pointer position y the y coordinate of the current pointer position user_data user data set when the signal handler was connected. Returns whether the drop is accepted at the given pointer position Flags: Run Last See Also GtkDropTarget docs/reference/gtk/xml/gtkdropcontrollermotion.xml0000664000175000017500000002360013710700314022704 0ustar mclasenmclasen ]> GtkDropControllerMotion 3 GTK4 Library GtkDropControllerMotion Event controller for motion events during a drop Functions GtkEventController * gtk_drop_controller_motion_new () gboolean gtk_drop_controller_motion_contains_pointer () gboolean gtk_drop_controller_motion_is_pointer () GdkDrop * gtk_drop_controller_motion_get_drop () Types and Values GtkDropControllerMotion Includes#include <gtk/gtk.h> Description GtkDropControllerMotion is an event controller meant for tracking the pointer hovering over a widget during a drag and drop operation. It is modeled after GtkEventControllerMotion so if you have used that, this should feel really familiar. The drop controller is not able to accept drops, use GtkDropTarget for that purpose. Functions gtk_drop_controller_motion_new () gtk_drop_controller_motion_new GtkEventController * gtk_drop_controller_motion_new (void); Creates a new event controller that will handle pointer motion events during drag and drop. Returns a new GtkDropControllerMotion gtk_drop_controller_motion_contains_pointer () gtk_drop_controller_motion_contains_pointer gboolean gtk_drop_controller_motion_contains_pointer (GtkDropControllerMotion *self); Returns the value of the GtkDropControllerMotion:contains-pointer property. Parameters self a GtkDropControllerMotion Returns TRUE if a dragging pointer is within self or one of its children. gtk_drop_controller_motion_is_pointer () gtk_drop_controller_motion_is_pointer gboolean gtk_drop_controller_motion_is_pointer (GtkDropControllerMotion *self); Returns the value of the GtkDropControllerMotion:is-pointer property. Parameters self a GtkEventControllerKey Returns TRUE if a dragging pointer is within self but not one of its children gtk_drop_controller_motion_get_drop () gtk_drop_controller_motion_get_drop GdkDrop * gtk_drop_controller_motion_get_drop (GtkDropControllerMotion *self); Returns the value of the GtkDropControllerMotion:drop property. Parameters self a GtkDropControllerMotion Returns The GdkDrop currently happening within self or NULL if none. [transfer none][nullable] Types and Values GtkDropControllerMotion GtkDropControllerMotion typedef struct _GtkDropControllerMotion GtkDropControllerMotion; See Also GtkDropControllerMotion, GdkDrop, GtkDropTarget docs/reference/gtk/xml/gtkdragicon.xml0000664000175000017500000003603313710700314020200 0ustar mclasenmclasen ]> GtkDragIcon 3 GTK4 Library GtkDragIcon A toplevel to use as drag icon Functions GtkWidget * gtk_drag_icon_get_for_drag () void gtk_drag_icon_set_child () GtkWidget * gtk_drag_icon_get_child () void gtk_drag_icon_set_from_paintable () GtkWidget * gtk_drag_icon_create_widget_for_value () Properties GtkWidget *childRead / Write Types and Values GtkDragIcon Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkDragIcon Implemented Interfaces GtkDragIcon implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative and GtkRoot. Includes#include <gtk/gtk.h> Description GtkDragIcon is a GtkRoot implementation with the sole purpose to serve as a drag icon during DND operations. A drag icon moves with the pointer during a drag operation and is destroyed when the drag ends. To set up a drag icon and associate it with an ongoing drag operation, use gtk_drag_icon_get_for_drag() to get the icon for a drag. You can then use it like any other widget and use gtk_drag_icon_set_child() to set whatever widget should be used for the drag icon. Keep in mind that drag icons do not allow user input. Functions gtk_drag_icon_get_for_drag () gtk_drag_icon_get_for_drag GtkWidget * gtk_drag_icon_get_for_drag (GdkDrag *drag); Gets the GtkDragIcon in use with drag . If no drag icon exists yet, a new one will be created and shown. Parameters drag a GdkDrag Returns the GtkDragIcon. [transfer none] gtk_drag_icon_set_child () gtk_drag_icon_set_child void gtk_drag_icon_set_child (GtkDragIcon *self, GtkWidget *child); Sets the widget to display as the drag icon. Parameters self a GtkDragIcon child a GtkWidget or NULL. [nullable] gtk_drag_icon_get_child () gtk_drag_icon_get_child GtkWidget * gtk_drag_icon_get_child (GtkDragIcon *self); Gets the widget currently used as drag icon. Parameters self a GtkDragIcon Returns The drag icon or NULL if none. [nullable][transfer none] gtk_drag_icon_set_from_paintable () gtk_drag_icon_set_from_paintable void gtk_drag_icon_set_from_paintable (GdkDrag *drag, GdkPaintable *paintable, int hot_x, int hot_y); Creates a GtkDragIcon that shows paintable , and associates it with the drag operation. The hotspot position on the paintable is aligned with the hotspot of the cursor. Parameters drag a GdkDrag paintable a GdkPaintable to display hot_x X coordinate of the hotspot hot_y Y coordinate of the hotspot gtk_drag_icon_create_widget_for_value () gtk_drag_icon_create_widget_for_value GtkWidget * gtk_drag_icon_create_widget_for_value (const GValue *value); Creates a widget that can be used as a drag icon for the given value . If GTK does not know how to create a widget for a given value, it will return NULL. This method is used to set the default drag icon on drag'n'drop operations started by GtkDragSource, so you don't need to set a drag icon using this function there. Parameters value a GValue Returns A new GtkWidget for displaying value as a drag icon. [nullable][transfer full] Types and Values GtkDragIcon GtkDragIcon typedef struct _GtkDragIcon GtkDragIcon; Property Details The <literal>“child”</literal> property GtkDragIcon:child “child” GtkWidget * The widget to display as drag icon. Owner: GtkDragIcon Flags: Read / Write docs/reference/gtk/xml/gtkemojichooser.xml0000664000175000017500000002304013710700314021072 0ustar mclasenmclasen ]> GtkEmojiChooser 3 GTK4 Library GtkEmojiChooser A popover to choose an Emoji character Functions GtkWidget * gtk_emoji_chooser_new () Signals voidemoji-pickedRun Last Actions scroll.sectioni Types and Values GtkEmojiChooser Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkPopover ╰── GtkEmojiChooser Implemented Interfaces GtkEmojiChooser implements GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkShortcutManager and GtkNative. Includes#include <gtk/gtk.h> Description The GtkEmojiChooser popover is used by text widgets such as GtkEntry or GtkTextView to offer users a convenient way to insert Emoji characters. GtkEmojiChooser emits the “emoji-picked” signal when an Emoji is selected. CSS nodes Every GtkEmojiChooser consists of a main node called popover. The contents of the popover are largely implementation defined and supposed to inherit general styles. The bottom toolbar used to switch between different emoji categories consists of buttons with the .emoji-section style class and gets the .emoji-toolbar style class itself. Functions gtk_emoji_chooser_new () gtk_emoji_chooser_new GtkWidget * gtk_emoji_chooser_new (void); Creates a new GtkEmojiChooser. Returns a new GtkEmojiChooser Types and Values GtkEmojiChooser GtkEmojiChooser typedef struct _GtkEmojiChooser GtkEmojiChooser; Signal Details The <literal>“emoji-picked”</literal> signal GtkEmojiChooser::emoji-picked void user_function (GtkEmojiChooser *chooser, gchar *text, gpointer user_data) The ::emoji-picked signal is emitted when the user selects an Emoji. Parameters chooser the GtkEmojiChooser text the Unicode sequence for the picked Emoji, in UTF-8 user_data user data set when the signal handler was connected. Flags: Run Last Action Details The <literal>“scroll.section”</literal> action GtkEmojiChooser|scroll.section Scrolls to the next or previous section. Parameter type: i Parameters direction 1 to scroll forward, -1 to scroll back docs/reference/gtk/xml/gtkoverlaylayout.xml0000664000175000017500000003354213710700314021333 0ustar mclasenmclasen ]> GtkOverlayLayout 3 GTK4 Library GtkOverlayLayout Layout manager that places widgets as overlays Functions GtkLayoutManager * gtk_overlay_layout_new () void gtk_overlay_layout_child_set_measure () gboolean gtk_overlay_layout_child_get_measure () void gtk_overlay_layout_child_set_clip_overlay () gboolean gtk_overlay_layout_child_get_clip_overlay () Properties gbooleanclip-overlayRead / Write gbooleanmeasureRead / Write Types and Values GtkOverlayLayout GtkOverlayLayoutChild Object Hierarchy GObject ├── GtkLayoutChild ╰── GtkOverlayLayoutChild ╰── GtkLayoutManager ╰── GtkOverlayLayout Includes#include <gtk/gtk.h> Description GtkOverlayLayout is the layout manager used by GtkOverlay. It places widgets as overlays on top of the main child. This is not a reusable layout manager, since it expects its widget to be a GtkOverlay. It only listed here so that its layout properties get documented. Functions gtk_overlay_layout_new () gtk_overlay_layout_new GtkLayoutManager * gtk_overlay_layout_new (void); Creates a new GtkOverlayLayout instance. Returns the newly created instance gtk_overlay_layout_child_set_measure () gtk_overlay_layout_child_set_measure void gtk_overlay_layout_child_set_measure (GtkOverlayLayoutChild *child, gboolean measure); Sets whether to measure this child. Parameters child a GtkOverlayLayoutChild measure whether to measure this child gtk_overlay_layout_child_get_measure () gtk_overlay_layout_child_get_measure gboolean gtk_overlay_layout_child_get_measure (GtkOverlayLayoutChild *child); Retrieves whether the child is measured. Parameters child a GtkOverlayLayoutChild Returns whether the child is measured gtk_overlay_layout_child_set_clip_overlay () gtk_overlay_layout_child_set_clip_overlay void gtk_overlay_layout_child_set_clip_overlay (GtkOverlayLayoutChild *child, gboolean clip_overlay); Sets whether to clip this child. Parameters child a GtkOverlayLayoutChild clip_overlay whether to clip this child gtk_overlay_layout_child_get_clip_overlay () gtk_overlay_layout_child_get_clip_overlay gboolean gtk_overlay_layout_child_get_clip_overlay (GtkOverlayLayoutChild *child); Retrieves whether the child is clipped. Parameters child a GtkOverlayLayoutChild Returns whether the child is clipped Types and Values GtkOverlayLayout GtkOverlayLayout typedef struct _GtkOverlayLayout GtkOverlayLayout; GtkOverlayLayoutChild GtkOverlayLayoutChild typedef struct _GtkOverlayLayoutChild GtkOverlayLayoutChild; Property Details The <literal>“clip-overlay”</literal> property GtkOverlayLayoutChild:clip-overlay “clip-overlay” gboolean Whether the child should be clipped to fit the parent's size. Owner: GtkOverlayLayoutChild Flags: Read / Write Default value: FALSE The <literal>“measure”</literal> property GtkOverlayLayoutChild:measure “measure” gboolean Whether the child size should contribute to the GtkOverlayLayout's measurement. Owner: GtkOverlayLayoutChild Flags: Read / Write Default value: FALSE docs/reference/gtk/xml/gtkexpression.xml0000664000175000017500000022542713710700314020620 0ustar mclasenmclasen ]> GtkExpression 3 GTK4 Library GtkExpression Expressions to values Functions void (*GtkExpressionNotify) () GtkExpression * gtk_expression_ref () void gtk_expression_unref () GType gtk_expression_get_value_type () gboolean gtk_expression_is_static () gboolean gtk_expression_evaluate () GtkExpressionWatch * gtk_expression_watch () GtkExpressionWatch * gtk_expression_bind () GtkExpressionWatch * gtk_expression_watch_ref () void gtk_expression_watch_unref () gboolean gtk_expression_watch_evaluate () void gtk_expression_watch_unwatch () GtkExpression * gtk_property_expression_new () GtkExpression * gtk_property_expression_new_for_pspec () GtkExpression * gtk_property_expression_get_expression () GParamSpec * gtk_property_expression_get_pspec () GtkExpression * gtk_constant_expression_new () GtkExpression * gtk_constant_expression_new_for_value () const GValue * gtk_constant_expression_get_value () GtkExpression * gtk_object_expression_new () GObject * gtk_object_expression_get_object () GtkExpression * gtk_closure_expression_new () GtkExpression * gtk_cclosure_expression_new () #defineGTK_VALUE_HOLDS_EXPRESSION() void gtk_value_set_expression () void gtk_value_take_expression () GtkExpression * gtk_value_get_expression () GtkExpression * gtk_value_dup_expression () GParamSpec * gtk_param_spec_expression () Types and Values GtkExpression GtkExpressionWatch GtkParamSpecExpression Object Hierarchy GtkExpression Includes#include <gtk/gtk.h> Description GtkExpression provides a way to describe references to values. An important aspect of expressions is that the value can be obtained from a source that is several steps away. For example, an expression may describe ‘the value of property A of object1 , which is itself the value of a property of object2 ’. And object1 may not even exist yet at the time that the expression is created. This is contrast to GObject property bindings, which can only create direct connections between the properties of two objects that must both exist for the duration of the binding. An expression needs to be "evaluated" to obtain the value that it currently refers to. An evaluation always happens in the context of a current object called this (it mirrors the behavior of object-oriented languages), which may or may not influence the result of the evaluation. Use gtk_expression_evaluate() for evaluating an expression. Various methods for defining expressions exist, from simple constants via gtk_constant_expression_new() to looking up properties in a GObject (even recursively) via gtk_property_expression_new() or providing custom functions to transform and combine expressions via gtk_closure_expression_new(). Here is an example of a complex expression: when evaluated with this being a GtkListItem, it will obtain the "item" property from the GtkListItem, and then obtain the "name" property from the resulting object (which is assumed to be of type GTK_TYPE_COLOR). A more concise way to describe this would be item->name ]]> The most likely place where you will encounter expressions is in the context of list models and list widgets using them. For example, GtkDropDown is evaluating a GtkExpression to obtain strings from the items in its model that it can then use to match against the contents of its search entry. GtkStringFilter is using a GtkExpression for similar reasons. By default, expressions are not paying attention to changes and evaluation is just a snapshot of the current state at a given time. To get informed about changes, an expression needs to be "watched" via a GtkExpressionWatch, which will cause a callback to be called whenever the value of the expression may have changed. gtk_expression_watch() starts watching an expression, and gtk_expression_watch_unwatch() stops. Watches can be created for automatically updating the propery of an object, similar to GObject's GBinding mechanism, by using gtk_expression_bind(). GtkExpression in GObject propertiesIn order to use a GtkExpression as a GObject property, you must use the gtk_param_spec_expression() when creating a GParamSpec to install in the GObject class being defined; for instance: When implementing the GObjectClass.set_property() and GObjectClass.get_property() virtual functions, you must use gtk_value_get_expression(), to retrieve the stored GtkExpression from the GValue container, and gtk_value_set_expression(), to store the GtkExpression into the GValue; for instance: expression); break; ]]> GtkExpression in .ui filesGtkBuilder has support for creating expressions. The syntax here can be used where a GtkExpression object is needed like in a <property> tag for an expression property, or in a <binding> tag to bind a property to an expression. To create an property expression, use the <lookup> element. It can have a type attribute to specify the object type, and a name attribute to specify the property to look up. The content of <lookup> can either be an element specfiying the expression to use the object, or a string that specifies the name of the object to use. Example: string_filter ]]> To create a constant expression, use the <constant> element. If the type attribute is specified, the element content is interpreted as a value of that type. Otherwise, it is assumed to be an object. Example: string_filter Hello, world ]]> To create a closure expression, use the <closure> element. The type and function attributes specify what function to use for the closure, the content of the element contains the expressions for the parameters. Example: File size: myfile ]]> Functions GtkExpressionNotify () GtkExpressionNotify void (*GtkExpressionNotify) (gpointer user_data); Callback called by gtk_expression_watch() when the expression value changes. Parameters user_data data passed to gtk_expression_watch() gtk_expression_ref () gtk_expression_ref GtkExpression * gtk_expression_ref (GtkExpression *self); Acquires a reference on the given GtkExpression. Parameters self a GtkExpression. [allow-none] Returns the GtkExpression with an additional reference. [transfer none] gtk_expression_unref () gtk_expression_unref void gtk_expression_unref (GtkExpression *self); Releases a reference on the given GtkExpression. If the reference was the last, the resources associated to the self are freed. Parameters self a GtkExpression. [allow-none] gtk_expression_get_value_type () gtk_expression_get_value_type GType gtk_expression_get_value_type (GtkExpression *self); Gets the GType that this expression evaluates to. This type is constant and will not change over the lifetime of this expression. Parameters self a GtkExpression Returns The type returned from gtk_expression_evaluate() gtk_expression_is_static () gtk_expression_is_static gboolean gtk_expression_is_static (GtkExpression *self); Checks if the expression is static. A static expression will never change its result when gtk_expression_evaluate() is called on it with the same arguments. That means a call to gtk_expression_watch() is not necessary because it will never trigger a notify. Parameters self a GtkExpression Returns TRUE if the expression is static gtk_expression_evaluate () gtk_expression_evaluate gboolean gtk_expression_evaluate (GtkExpression *self, gpointer this_, GValue *value); Evaluates the given expression and on success stores the result in value . The GType of value will be the type given by gtk_expression_get_value_type(). It is possible that expressions cannot be evaluated - for example when the expression references objects that have been destroyed or set to NULL. In that case value will remain empty and FALSE will be returned. Parameters self a GtkExpression this_ the this argument for the evaluation. [transfer none][type GObject][nullable] value an empty GValue Returns TRUE if the expression could be evaluated gtk_expression_watch () gtk_expression_watch GtkExpressionWatch * gtk_expression_watch (GtkExpression *self, gpointer this_, GtkExpressionNotify notify, gpointer user_data, GDestroyNotify user_destroy); Installs a watch for the given expression that calls the notify function whenever the evaluation of self may have changed. GTK cannot guarantee that the evaluation did indeed change when the notify gets invoked, but it guarantees the opposite: When it did in fact change, the notify will be invoked. Parameters self a GtkExpression this_ the this argument to watch. [transfer none][type GObject][nullable] notify callback to invoke when the expression changes. [closure user_data] user_data user data to pass to notify callback user_destroy destroy notify for user_data Returns The newly installed watch. Note that the only reference held to the watch will be released when the watch is unwatched which can happen automatically, and not just via gtk_expression_watch_unwatch(). You should call gtk_expression_watch_ref() if you want to keep the watch around. [transfer none] gtk_expression_bind () gtk_expression_bind GtkExpressionWatch * gtk_expression_bind (GtkExpression *self, gpointer target, const char *property, gpointer this_); Bind target 's property named property to self . The value that self evaluates to is set via g_object_set() on target . This is repeated whenever self changes to ensure that the object's property stays synchronized with self . If self 's evaluation fails, target 's property is not updated. You can ensure that this doesn't happen by using a fallback expression. Note that this function takes ownership of self . If you want to keep it around, you should gtk_expression_ref() it beforehand. Parameters self a GtkExpression. [transfer full] target the target object to bind to. [transfer none][type GObject] property name of the property on target to bind to this_ the this argument for the evaluation of self . [transfer none][type GObject][nullable] Returns a GtkExpressionWatch. [transfer none] gtk_expression_watch_ref () gtk_expression_watch_ref GtkExpressionWatch * gtk_expression_watch_ref (GtkExpressionWatch *watch); Acquires a reference on the given GtkExpressionWatch. Parameters watch a GtkExpressionWatch. [allow-none] Returns the GtkExpression with an additional reference. [transfer none] gtk_expression_watch_unref () gtk_expression_watch_unref void gtk_expression_watch_unref (GtkExpressionWatch *watch); Releases a reference on the given GtkExpressionWatch. If the reference was the last, the resources associated to self are freed. Parameters watch a GtkExpressionWatch. [allow-none] gtk_expression_watch_evaluate () gtk_expression_watch_evaluate gboolean gtk_expression_watch_evaluate (GtkExpressionWatch *watch, GValue *value); Evaluates the watched expression and on success stores the result in value . This is equivalent to calling gtk_expression_evaluate() with the expression and this pointer originally used to create watch . Parameters watch a GtkExpressionWatch value an empty GValue to be set Returns TRUE if the expression could be evaluated and value was set gtk_expression_watch_unwatch () gtk_expression_watch_unwatch void gtk_expression_watch_unwatch (GtkExpressionWatch *watch); Stops watching an expression that was established via gtk_expression_watch(). Parameters watch watch to release. [transfer none] gtk_property_expression_new () gtk_property_expression_new GtkExpression * gtk_property_expression_new (GType this_type, GtkExpression *expression, const char *property_name); Creates an expression that looks up a property via the given expression or the this argument when expression is NULL. If the resulting object conforms to this_type , its property named property_name will be queried. Otherwise, this expression's evaluation will fail. The given this_type must have a property with property_name . Parameters this_type The type to expect for the this type expression Expression to evaluate to get the object to query or NULL to query the this object. [nullable][transfer full] property_name name of the property Returns a new GtkExpression gtk_property_expression_new_for_pspec () gtk_property_expression_new_for_pspec GtkExpression * gtk_property_expression_new_for_pspec (GtkExpression *expression, GParamSpec *pspec); Creates an expression that looks up a property via the given expression or the this argument when expression is NULL. If the resulting object conforms to this_type , its property specified by pspec will be queried. Otherwise, this expression's evaluation will fail. Parameters expression Expression to evaluate to get the object to query or NULL to query the this object. [nullable][transfer full] pspec the GParamSpec for the property to query Returns a new GtkExpression gtk_property_expression_get_expression () gtk_property_expression_get_expression GtkExpression * gtk_property_expression_get_expression (GtkExpression *expression); Gets the expression specifying the object of a property expression. Parameters expression a property GtkExpression. [type GtkPropertyExpression] Returns the object expression. [transfer none] gtk_property_expression_get_pspec () gtk_property_expression_get_pspec GParamSpec * gtk_property_expression_get_pspec (GtkExpression *expression); Gets the GParamSpec specifying the property of a property expression. Parameters expression a property GtkExpression. [type GtkPropertyExpression] Returns the GParamSpec. [transfer none] gtk_constant_expression_new () gtk_constant_expression_new GtkExpression * gtk_constant_expression_new (GType value_type, ...); Creates a GtkExpression that evaluates to the object given by the arguments. Parameters value_type The type of the object ... arguments to create the object from Returns a new GtkExpression gtk_constant_expression_new_for_value () gtk_constant_expression_new_for_value GtkExpression * gtk_constant_expression_new_for_value (const GValue *value); Creates an expression that always evaluates to the given value . Parameters value a GValue Returns a new GtkExpression gtk_constant_expression_get_value () gtk_constant_expression_get_value const GValue * gtk_constant_expression_get_value (GtkExpression *expression); Gets the value that a constant expression evaluates to. Parameters expression a constant GtkExpression. [type GtkConstantExpression] Returns the value. [transfer none] gtk_object_expression_new () gtk_object_expression_new GtkExpression * gtk_object_expression_new (GObject *object); Creates an expression evaluating to the given object with a weak reference. Once the object is disposed, it will fail to evaluate. This expression is meant to break reference cycles. If you want to keep a reference to object , use gtk_constant_expression_new(). Parameters object object to watch. [transfer none] Returns a new GtkExpression gtk_object_expression_get_object () gtk_object_expression_get_object GObject * gtk_object_expression_get_object (GtkExpression *expression); Gets the object that the expression evaluates to. Parameters expression an object GtkExpression. [type GtkObjectExpression] Returns the object, or NULL. [transfer none] gtk_closure_expression_new () gtk_closure_expression_new GtkExpression * gtk_closure_expression_new (GType value_type, GClosure *closure, guint n_params, GtkExpression **params); Creates a GtkExpression that calls closure when it is evaluated. closure is called with the this object and the results of evaluating the params expressions. Parameters value_type the type of the value that this expression evaluates to closure closure to call when evaluating this expression. If closure is floating, it is adopted n_params the number of params needed for evaluating closure params expressions for each parameter. [array length=n_params][transfer full] Returns a new GtkExpression gtk_cclosure_expression_new () gtk_cclosure_expression_new GtkExpression * gtk_cclosure_expression_new (GType value_type, GClosureMarshal marshal, guint n_params, GtkExpression **params, GCallback callback_func, gpointer user_data, GClosureNotify user_destroy); This function is a variant of gtk_closure_expression_new() that creates a GClosure by calling gtk_cclosure_new() with the given callback_func , user_data and user_destroy . Parameters value_type the type of the value that this expression evaluates to marshal marshaller used for creating a closure. [scope call][nullable] n_params the number of params needed for evaluating closure params expressions for each parameter. [array length=n_params][transfer full] callback_func callback used for creating a closure. [scope notified][closure user_data][destroy user_destroy] user_data user data used for creating a closure. [nullable] user_destroy destroy notify for user_data . [nullable] Returns a new GtkExpression GTK_VALUE_HOLDS_EXPRESSION() GTK_VALUE_HOLDS_EXPRESSION #define GTK_VALUE_HOLDS_EXPRESSION(value) (G_VALUE_HOLDS ((value), GTK_TYPE_EXPRESSION)) gtk_value_set_expression () gtk_value_set_expression void gtk_value_set_expression (GValue *value, GtkExpression *expression); Stores the given GtkExpression inside value . The GValue will acquire a reference to the expression . Parameters value a GValue initialized with type GTK_TYPE_EXPRESSION expression a GtkExpression gtk_value_take_expression () gtk_value_take_expression void gtk_value_take_expression (GValue *value, GtkExpression *expression); Stores the given GtkExpression inside value . This function transfers the ownership of the expression to the GValue. Parameters value a GValue initialized with type GTK_TYPE_EXPRESSION expression a GtkExpression. [transfer full][nullable] gtk_value_get_expression () gtk_value_get_expression GtkExpression * gtk_value_get_expression (const GValue *value); Retrieves the GtkExpression stored inside the given value . Parameters value a GValue initialized with type GTK_TYPE_EXPRESSION Returns a GtkExpression. [transfer none][nullable] gtk_value_dup_expression () gtk_value_dup_expression GtkExpression * gtk_value_dup_expression (const GValue *value); Retrieves the GtkExpression stored inside the given value , and acquires a reference to it. Parameters value a GValue initialized with type GTK_TYPE_EXPRESSION Returns a GtkExpression. [transfer full][nullable] gtk_param_spec_expression () gtk_param_spec_expression GParamSpec * gtk_param_spec_expression (const char *name, const char *nick, const char *blurb, GParamFlags flags); Creates a new GParamSpec instance for a property holding a GtkExpression. See g_param_spec_internal() for details on the property strings. Parameters name canonical name of the property nick a user-readable name for the property blurb a user-readable description of the property flags flags for the property Returns a newly created property specification. [transfer full] Types and Values GtkExpression GtkExpression typedef struct _GtkExpression GtkExpression; The GtkExpression structure contains only private data. GtkExpressionWatch GtkExpressionWatch typedef struct _GtkExpressionWatch GtkExpressionWatch; GtkParamSpecExpression GtkParamSpecExpression typedef struct { } GtkParamSpecExpression; docs/reference/gtk/xml/gtkboolfilter.xml0000664000175000017500000002574513710700314020563 0ustar mclasenmclasen ]> GtkBoolFilter 3 GTK4 Library GtkBoolFilter Filtering by boolean expressions Functions GtkFilter * gtk_bool_filter_new () GtkExpression * gtk_bool_filter_get_expression () void gtk_bool_filter_set_expression () gboolean gtk_bool_filter_get_invert () void gtk_bool_filter_set_invert () Types and Values GtkBoolFilter Includes#include <gtk/gtk.h> Description GtkBoolFilter is a simple filter that takes a boolean GtkExpression to determine whether to include items. Functions gtk_bool_filter_new () gtk_bool_filter_new GtkFilter * gtk_bool_filter_new (GtkExpression *expression); Creates a new bool filter. Parameters expression The expression to evaluate or NULL for none. [transfer full][nullable] Returns a new GtkBoolFilter gtk_bool_filter_get_expression () gtk_bool_filter_get_expression GtkExpression * gtk_bool_filter_get_expression (GtkBoolFilter *self); Gets the expression that the filter uses to evaluate if an item should be filtered. Parameters self a GtkBoolFilter Returns a GtkExpression. [transfer none] gtk_bool_filter_set_expression () gtk_bool_filter_set_expression void gtk_bool_filter_set_expression (GtkBoolFilter *self, GtkExpression *expression); Sets the expression that the filter uses to check if items should be filtered. The expression must have a value type of G_TYPE_BOOLEAN. Parameters self a GtkBoolFilter expression a GtkExpression gtk_bool_filter_get_invert () gtk_bool_filter_get_invert gboolean gtk_bool_filter_get_invert (GtkBoolFilter *self); Returns whether the filter inverts the expression. Parameters self a GtkBoolFilter Returns TRUE if the filter inverts gtk_bool_filter_set_invert () gtk_bool_filter_set_invert void gtk_bool_filter_set_invert (GtkBoolFilter *self, gboolean invert); Sets whether the filter should invert the expression. Parameters self a GtkBoolFilter invert TRUE to invert Types and Values GtkBoolFilter GtkBoolFilter typedef struct _GtkBoolFilter GtkBoolFilter; docs/reference/gtk/xml/gtkstringfilter.xml0000664000175000017500000006056713710700314021137 0ustar mclasenmclasen ]> GtkStringFilter 3 GTK4 Library GtkStringFilter Filtering by strings Functions GtkFilter * gtk_string_filter_new () const char * gtk_string_filter_get_search () void gtk_string_filter_set_search () GtkExpression * gtk_string_filter_get_expression () void gtk_string_filter_set_expression () gboolean gtk_string_filter_get_ignore_case () void gtk_string_filter_set_ignore_case () GtkStringFilterMatchMode gtk_string_filter_get_match_mode () void gtk_string_filter_set_match_mode () Properties GtkExpression *expressionRead / Write gbooleanignore-caseRead / Write GtkStringFilterMatchModematch-modeRead / Write gchar *searchRead / Write Types and Values GtkStringFilter enumGtkStringFilterMatchMode Object Hierarchy GObject ╰── GtkFilter ╰── GtkStringFilter Includes#include <gtk/gtk.h> Description GtkStringFilter determines whether to include items by looking at strings and comparing them to a fixed search term. The strings are obtained from the items by evaluating a GtkExpression. GtkStringFilter has several different modes of comparison - it can match the whole string, just a prefix, or any substring. Functions gtk_string_filter_new () gtk_string_filter_new GtkFilter * gtk_string_filter_new (GtkExpression *expression); Creates a new string filter. You will want to set up the filter by providing a string to search for and by providing a property to look up on the item. Parameters expression The expression to evaluate or NULL for none. [transfer full][nullable] Returns a new GtkStringFilter gtk_string_filter_get_search () gtk_string_filter_get_search const char * gtk_string_filter_get_search (GtkStringFilter *self); Gets the search string set via gtk_string_filter_set_search(). Parameters self a GtkStringFilter Returns The search string. [allow-none][transfer none] gtk_string_filter_set_search () gtk_string_filter_set_search void gtk_string_filter_set_search (GtkStringFilter *self, const char *search); Sets the string to search for. Parameters self a GtkStringFilter search The string to search for or NULL to clear the search. [transfer none][nullable] gtk_string_filter_get_expression () gtk_string_filter_get_expression GtkExpression * gtk_string_filter_get_expression (GtkStringFilter *self); Gets the expression that the string filter uses to obtain strings from items. Parameters self a GtkStringFilter Returns a GtkExpression. [transfer none] gtk_string_filter_set_expression () gtk_string_filter_set_expression void gtk_string_filter_set_expression (GtkStringFilter *self, GtkExpression *expression); Sets the expression that the string filter uses to obtain strings from items. The expression must have a value type of G_TYPE_STRING. Parameters self a GtkStringFilter expression a GtkExpression gtk_string_filter_get_ignore_case () gtk_string_filter_get_ignore_case gboolean gtk_string_filter_get_ignore_case (GtkStringFilter *self); Returns whether the filter ignores case differences. Parameters self a GtkStringFilter Returns TRUE if the filter ignores case gtk_string_filter_set_ignore_case () gtk_string_filter_set_ignore_case void gtk_string_filter_set_ignore_case (GtkStringFilter *self, gboolean ignore_case); Sets whether the filter ignores case differences. Parameters self a GtkStringFilter ignore_case TRUE to ignore case gtk_string_filter_get_match_mode () gtk_string_filter_get_match_mode GtkStringFilterMatchMode gtk_string_filter_get_match_mode (GtkStringFilter *self); Returns the match mode that the filter is using. Parameters self a GtkStringFilter Returns the match mode of the filter gtk_string_filter_set_match_mode () gtk_string_filter_set_match_mode void gtk_string_filter_set_match_mode (GtkStringFilter *self, GtkStringFilterMatchMode mode); Sets the match mode for the filter. Parameters self a GtkStringFilter mode the new match mode Types and Values GtkStringFilter GtkStringFilter typedef struct _GtkStringFilter GtkStringFilter; enum GtkStringFilterMatchMode GtkStringFilterMatchMode Specifies how search strings are matched inside text. Members GTK_STRING_FILTER_MATCH_MODE_EXACT The search string and text must match exactly. GTK_STRING_FILTER_MATCH_MODE_SUBSTRING The search string must be contained as a substring inside the text. GTK_STRING_FILTER_MATCH_MODE_PREFIX The text must begin with the search string. Property Details The <literal>“expression”</literal> property GtkStringFilter:expression “expression” GtkExpression * The expression to evalute on item to get a string to compare with [type GtkExpression]Owner: GtkStringFilter Flags: Read / Write The <literal>“ignore-case”</literal> property GtkStringFilter:ignore-case “ignore-case” gboolean If matching is case sensitive Owner: GtkStringFilter Flags: Read / Write Default value: TRUE The <literal>“match-mode”</literal> property GtkStringFilter:match-mode “match-mode” GtkStringFilterMatchMode If exact matches are necessary or if substrings are allowed Owner: GtkStringFilter Flags: Read / Write Default value: GTK_STRING_FILTER_MATCH_MODE_SUBSTRING The <literal>“search”</literal> property GtkStringFilter:search “search” gchar * The search term Owner: GtkStringFilter Flags: Read / Write Default value: NULL docs/reference/gtk/xml/gtkdropdown.xml0000664000175000017500000011452013710700314020244 0ustar mclasenmclasen ]> GtkDropDown 3 GTK4 Library GtkDropDown Choose an item from a list Functions GtkWidget * gtk_drop_down_new () GtkWidget * gtk_drop_down_new_from_strings () void gtk_drop_down_set_model () GListModel * gtk_drop_down_get_model () void gtk_drop_down_set_selected () guint gtk_drop_down_get_selected () gpointer gtk_drop_down_get_selected_item () void gtk_drop_down_set_factory () GtkListItemFactory * gtk_drop_down_get_factory () void gtk_drop_down_set_list_factory () GtkListItemFactory * gtk_drop_down_get_list_factory () void gtk_drop_down_set_expression () GtkExpression * gtk_drop_down_get_expression () void gtk_drop_down_set_enable_search () gboolean gtk_drop_down_get_enable_search () Properties gbooleanenable-searchRead / Write GtkExpression *expressionRead / Write GtkListItemFactory *factoryRead / Write GtkListItemFactory *list-factoryRead / Write GListModel *modelRead / Write guintselectedRead / Write GObject *selected-itemRead Types and Values GtkDropDown Object Hierarchy GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkDropDown Implemented Interfaces GtkDropDown implements GtkAccessible, GtkBuildable and GtkConstraintTarget. Includes#include <gtk/gtk.h> Description GtkDropDown is a widget that allows the user to choose an item from a list of options. The GtkDropDown displays the selected choice. The options are given to GtkDropDown in the form of GListModel, and how the individual options are represented is determined by a GtkListItemFactory. The default factory displays simple strings, and expects to obtain these from the model by evaluating an expression that has to be provided via gtk_drop_down_set_expression(). GtkDropDown knows how to obtain strings from the items in a GtkStringList; for other models, you have to provide an expression to find the strings. GtkDropDown can optionally allow search in the popup, which is useful if the list of options is long. To enable the search entry, use gtk_drop_down_set_enable_search(). CSS nodesGtkDropDown has a single CSS node with name dropdown, with the button and popover nodes as children. Functions gtk_drop_down_new () gtk_drop_down_new GtkWidget * gtk_drop_down_new (GListModel *model, GtkExpression *expression); Creates a new GtkDropDown. You may want to call gtk_drop_down_set_factory() to set up a way to map its items to widgets. Parameters model the model to use or NULL for none. [transfer full][allow-none] expression the expression to use or NULL for none. [transfer full][allow-none] Returns a new GtkDropDown gtk_drop_down_new_from_strings () gtk_drop_down_new_from_strings GtkWidget * gtk_drop_down_new_from_strings (const char * const *strings); Creates a new GtkDropDown that is populated with the strings in strings . Parameters strings The strings to put in the dropdown. [array zero-terminated=1] Returns a new GtkDropDown gtk_drop_down_set_model () gtk_drop_down_set_model void gtk_drop_down_set_model (GtkDropDown *self, GListModel *model); Sets the GListModel to use. Parameters self a GtkDropDown model the model to use or NULL for none. [allow-none][transfer none] gtk_drop_down_get_model () gtk_drop_down_get_model GListModel * gtk_drop_down_get_model (GtkDropDown *self); Gets the model that provides the displayed items. Parameters self a GtkDropDown Returns The model in use. [nullable][transfer none] gtk_drop_down_set_selected () gtk_drop_down_set_selected void gtk_drop_down_set_selected (GtkDropDown *self, guint position); Selects the item at the given position. Parameters self a GtkDropDown position the position of the item to select, or GTK_INVALID_LIST_POSITION gtk_drop_down_get_selected () gtk_drop_down_get_selected guint gtk_drop_down_get_selected (GtkDropDown *self); Gets the position of the selected item. Parameters self a GtkDropDown Returns the position of the selected item, or GTK_INVALID_LIST_POSITION if not item is selected gtk_drop_down_get_selected_item () gtk_drop_down_get_selected_item gpointer gtk_drop_down_get_selected_item (GtkDropDown *self); Gets the selected item. If no item is selected, NULL is returned. Parameters self a GtkDropDown Returns The selected item. [transfer none][type GObject][nullable] gtk_drop_down_set_factory () gtk_drop_down_set_factory void gtk_drop_down_set_factory (GtkDropDown *self, GtkListItemFactory *factory); Sets the GtkListItemFactory to use for populating list items. Parameters self a GtkDropDown factory the factory to use or NULL for none. [allow-none][transfer none] gtk_drop_down_get_factory () gtk_drop_down_get_factory GtkListItemFactory * gtk_drop_down_get_factory (GtkDropDown *self); Gets the factory that's currently used to populate list items. The factory returned by this function is always used for the item in the button. It is also used for items in the popup if “list-factory” is not set. Parameters self a GtkDropDown Returns The factory in use. [nullable][transfer none] gtk_drop_down_set_list_factory () gtk_drop_down_set_list_factory void gtk_drop_down_set_list_factory (GtkDropDown *self, GtkListItemFactory *factory); Sets the GtkListItemFactory to use for populating list items in the popup. Parameters self a GtkDropDown factory the factory to use or NULL for none. [allow-none][transfer none] gtk_drop_down_get_list_factory () gtk_drop_down_get_list_factory GtkListItemFactory * gtk_drop_down_get_list_factory (GtkDropDown *self); Gets the factory that's currently used to populate list items in the popup. Parameters self a GtkDropDown Returns The factory in use. [nullable][transfer none] gtk_drop_down_set_expression () gtk_drop_down_set_expression void gtk_drop_down_set_expression (GtkDropDown *self, GtkExpression *expression); Sets the expression that gets evaluated to obtain strings from items when searching in the popup. The expression must have a value type of GTK_TYPE_STRING. Parameters self a GtkDropDown expression a GtkExpression, or NULL. [nullable] gtk_drop_down_get_expression () gtk_drop_down_get_expression GtkExpression * gtk_drop_down_get_expression (GtkDropDown *self); Gets the expression set with gtk_drop_down_set_expression(). Parameters self a GtkDropDown Returns a GtkExpression or NULL. [nullable][transfer none] gtk_drop_down_set_enable_search () gtk_drop_down_set_enable_search void gtk_drop_down_set_enable_search (GtkDropDown *self, gboolean enable_search); Sets whether a search entry will be shown in the popup that allows to search for items in the list. Note that “expression” must be set for search to work. Parameters self a GtkDropDown enable_search whether to enable search gtk_drop_down_get_enable_search () gtk_drop_down_get_enable_search gboolean gtk_drop_down_get_enable_search (GtkDropDown *self); Returns whether search is enabled. Parameters self a GtkDropDown Returns TRUE if the popup includes a search entry Types and Values GtkDropDown GtkDropDown typedef struct _GtkDropDown GtkDropDown; Property Details The <literal>“enable-search”</literal> property GtkDropDown:enable-search “enable-search” gboolean Whether to show a search entry in the popup. Note that search requires “expression” to be set. Owner: GtkDropDown Flags: Read / Write Default value: FALSE The <literal>“expression”</literal> property GtkDropDown:expression “expression” GtkExpression * An expression to evaluate to obtain strings to match against the search term (see “enable-search”). If “factory” is not set, the expression is also used to bind strings to labels produced by a default factory. [type GtkExpression]Owner: GtkDropDown Flags: Read / Write The <literal>“factory”</literal> property GtkDropDown:factory “factory” GtkListItemFactory * Factory for populating list items. Owner: GtkDropDown Flags: Read / Write The <literal>“list-factory”</literal> property GtkDropDown:list-factory “list-factory” GtkListItemFactory * The factory for populating list items in the popup. If this is not set, “factory” is used. Owner: GtkDropDown Flags: Read / Write The <literal>“model”</literal> property GtkDropDown:model “model” GListModel * Model for the displayed items. Owner: GtkDropDown Flags: Read / Write The <literal>“selected”</literal> property GtkDropDown:selected “selected” guint The position of the selected item in “model”, or GTK_INVALID_LIST_POSITION if no item is selected. Owner: GtkDropDown Flags: Read / Write Default value: 4294967295 The <literal>“selected-item”</literal> property GtkDropDown:selected-item “selected-item” GObject * The selected item. Owner: GtkDropDown Flags: Read See Also GtkComboBox docs/reference/gtk/xml/gtkstringlist.xml0000664000175000017500000005325413710700314020620 0ustar mclasenmclasen ]> GtkStringList 3 GTK4 Library GtkStringList A list model for strings Functions GtkStringList * gtk_string_list_new () void gtk_string_list_append () void gtk_string_list_take () void gtk_string_list_remove () void gtk_string_list_splice () const char * gtk_string_list_get_string () GtkStringObject * gtk_string_object_new () const char * gtk_string_object_get_string () Properties gchar *stringRead Types and Values GtkStringList GtkStringObject Object Hierarchy GObject ├── GtkStringList ╰── GtkStringObject Implemented Interfaces GtkStringList implements GtkBuildable and GListModel. Includes#include <gtk/gtk.h> Description GtkStringList is a list model that wraps an array of strings. The objects in the model have a "string" property. GtkStringList is well-suited for any place where you would typically use a char*[], but need a list model. GtkStringList as GtkBuildableThe GtkStringList implementation of the GtkBuildable interface supports adding items directly using the <items> element and specifying <item> elements for each item. Each <item> element supports the regular translation attributes “translatable”, “context” and “comments”. Here is a UI definition fragment specifying a GtkStringList Factory Home Subway ]]> Functions gtk_string_list_new () gtk_string_list_new GtkStringList * gtk_string_list_new (const char * const *strings); Creates a new GtkStringList with the given strings . Parameters strings The strings to put in the model. [array zero-terminated=1][nullable] Returns a new GtkStringList gtk_string_list_append () gtk_string_list_append void gtk_string_list_append (GtkStringList *self, const char *string); Appends string to self . The string will be copied. See gtk_string_list_take() for a way to avoid that. Parameters self a GtkStringList string the string to insert gtk_string_list_take () gtk_string_list_take void gtk_string_list_take (GtkStringList *self, char *string); Adds string to self at the end, and takes ownership of it. This variant of gtk_string_list_append() is convenient for formatting strings: Parameters self a GtkStringList string the string to insert. [transfer full] gtk_string_list_remove () gtk_string_list_remove void gtk_string_list_remove (GtkStringList *self, guint position); Removes the string at position from self . position must be smaller than the current length of the list. Parameters self a GtkStringList position the position of the string that is to be removed gtk_string_list_splice () gtk_string_list_splice void gtk_string_list_splice (GtkStringList *self, guint position, guint n_removals, const char * const *additions); Changes self by removing n_removals strings and adding additions to it. This function is more efficient than gtk_string_list_insert() and gtk_string_list_remove(), because it only emits “items-changed” once for the change. This function takes a ref on each item in additions . The parameters position and n_removals must be correct (ie: position + n_removals must be less than or equal to the length of the list at the time this function is called). Parameters self a GtkStringList position the position at which to make the change n_removals the number of strings to remove additions The strings to add. [array zero-terminated=1][nullable] gtk_string_list_get_string () gtk_string_list_get_string const char * gtk_string_list_get_string (GtkStringList *self, guint position); Gets the string that is at position in self . If self does not contain position items, NULL is returned. This function returns the const char *. To get the object wrapping it, use g_list_model_get_item(). Parameters self a GtkStringList position the position to get the string for Returns the string at the given position gtk_string_object_new () gtk_string_object_new GtkStringObject * gtk_string_object_new (const char *string); Wraps a string in an object for use with GListModel Parameters string The string to wrap. [not nullable] Returns a new GtkStringObject gtk_string_object_get_string () gtk_string_object_get_string const char * gtk_string_object_get_string (GtkStringObject *self); Returns the string contained in a GtkStringObject. Parameters self a GtkStringObject Returns the string of self Types and Values GtkStringList GtkStringList typedef struct _GtkStringList GtkStringList; GtkStringObject GtkStringObject typedef struct _GtkStringObject GtkStringObject; Property Details The <literal>“string”</literal> property GtkStringObject:string “string” gchar * String.Owner: GtkStringObject Flags: Read Default value: NULL See Also GListModel docs/reference/gtk/xml/gtkselectionfiltermodel.xml0000664000175000017500000002673613710700314022637 0ustar mclasenmclasen ]> GtkSelectionFilterModel 3 GTK4 Library GtkSelectionFilterModel A list model that turns a selection in a model Functions GtkSelectionFilterModel * gtk_selection_filter_model_new () GtkSelectionFilterModel * gtk_selection_filter_model_new_for_type () void gtk_selection_filter_model_set_model () GtkSelectionModel * gtk_selection_filter_model_get_model () Properties GtkSelectionModel *modelRead / Write Types and Values GtkSelectionFilterModel Object Hierarchy GObject ╰── GtkSelectionFilterModel Implemented Interfaces GtkSelectionFilterModel implements GListModel. Includes#include <gtk/gtk.h> Description GtkSelectionFilterModel is a list model that presents the selected items in a GtkSelectionModel as its own list model. Functions gtk_selection_filter_model_new () gtk_selection_filter_model_new GtkSelectionFilterModel * gtk_selection_filter_model_new (GtkSelectionModel *model); Creates a new GtkSelectionFilterModel that will include the selected items from the underlying selection model. Parameters model the selection model to filter, or NULL. [allow-none][transfer none] Returns a new GtkSelectionFilterModel gtk_selection_filter_model_new_for_type () gtk_selection_filter_model_new_for_type GtkSelectionFilterModel * gtk_selection_filter_model_new_for_type (GType item_type); gtk_selection_filter_model_set_model () gtk_selection_filter_model_set_model void gtk_selection_filter_model_set_model (GtkSelectionFilterModel *self, GtkSelectionModel *model); Sets the model to be filtered. Note that GTK makes no effort to ensure that model conforms to the item type of self . It assumes that the caller knows what they are doing and have set up an appropriate filter to ensure that item types match. Parameters self a GtkSelectionFilterModel model The model to be filtered. [allow-none] gtk_selection_filter_model_get_model () gtk_selection_filter_model_get_model GtkSelectionModel * gtk_selection_filter_model_get_model (GtkSelectionFilterModel *self); Gets the model currently filtered or NULL if none. Parameters self a GtkSelectionFilterModel Returns The model that gets filtered. [nullable][transfer none] Types and Values GtkSelectionFilterModel GtkSelectionFilterModel typedef struct _GtkSelectionFilterModel GtkSelectionFilterModel; Property Details The <literal>“model”</literal> property GtkSelectionFilterModel:model “model” GtkSelectionModel * The model being filtered Owner: GtkSelectionFilterModel Flags: Read / Write See Also GtkSelectionModel docs/reference/gtk/xml/gtkaccessible.xml0000664000175000017500000025152513710700314020514 0ustar mclasenmclasen ]> GtkAccessible 3 GTK4 Library GtkAccessible Accessible interface Functions GtkAccessibleRole gtk_accessible_get_accessible_role () void gtk_accessible_update_state () void gtk_accessible_update_state_value () void gtk_accessible_reset_state () void gtk_accessible_update_property () void gtk_accessible_update_property_value () void gtk_accessible_reset_property () void gtk_accessible_update_relation () void gtk_accessible_update_relation_value () void gtk_accessible_reset_relation () Properties GtkAccessibleRoleaccessible-roleRead / Write Types and Values GtkAccessible enumGtkAccessibleRole enumGtkAccessibleState enumGtkAccessibleProperty enumGtkAccessibleRelation enumGtkAccessibleTristate enumGtkAccessibleInvalidState enumGtkAccessibleAutocomplete enumGtkAccessibleSort Object Hierarchy GInterface ╰── GtkAccessible Prerequisites GtkAccessible requires GObject. Known Implementations GtkAccessible is implemented by GtkAboutDialog, GtkAccelLabel, GtkActionBar, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkAspectFrame, GtkAssistant, GtkBox, GtkButton, GtkCalendar, GtkCellView, GtkCheckButton, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColumnView, GtkComboBox, GtkComboBoxText, GtkDialog, GtkDragIcon, GtkDrawingArea, GtkDropDown, GtkEditableLabel, GtkEmojiChooser, GtkEntry, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFrame, GtkGLArea, GtkGrid, GtkGridView, GtkHeaderBar, GtkIconView, GtkImage, GtkInfoBar, GtkLabel, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListView, GtkLockButton, GtkMediaControls, GtkMenuButton, GtkMessageDialog, GtkNotebook, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPasswordEntry, GtkPicture, GtkPopover, GtkPopoverMenu, GtkPopoverMenuBar, GtkPrintUnixDialog, GtkProgressBar, GtkRadioButton, GtkRange, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkShortcutLabel, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkText, GtkTextView, GtkToggleButton, GtkTreeExpander, GtkTreeView, GtkVideo, GtkViewport, GtkVolumeButton, GtkWidget, GtkWindow, GtkWindowControls and GtkWindowHandle. Includes#include <gtk/gtk.h> Description GtkAccessible provides an interface for describing a UI element, like a GtkWidget, in a way that can be consumed by Assistive Technologies, or “AT”. Every accessible implementation has: a “role”, represented by a value of the GtkAccessibleRole enumeration an “attribute”, represented by a set of GtkAccessibleState, GtkAccessibleProperty and GtkAccessibleRelation values The role cannot be changed after instantiating a GtkAccessible implementation. The attributes are updated every time a UI element's state changes in a way that should be reflected by assistive technologies. For instance, if a GtkWidget visibility changes, the GTK_ACCESSIBLE_STATE_HIDDEN state will also change to reflect the “visible” property. Functions gtk_accessible_get_accessible_role () gtk_accessible_get_accessible_role GtkAccessibleRole gtk_accessible_get_accessible_role (GtkAccessible *self); Retrieves the GtkAccessibleRole for the given GtkAccessible. Parameters self a GtkAccessible Returns a GtkAccessibleRole gtk_accessible_update_state () gtk_accessible_update_state void gtk_accessible_update_state (GtkAccessible *self, GtkAccessibleState first_state, ...); Updates a list of accessible states. See the GtkAccessibleState documentation for the value types of accessible states. This function should be called by GtkWidget types whenever an accessible state change must be communicated to assistive technologies. Example: Parameters self a GtkAccessible first_state the first GtkAccessibleState ... a list of state and value pairs, terminated by -1 gtk_accessible_update_state_value () gtk_accessible_update_state_value void gtk_accessible_update_state_value (GtkAccessible *self, GtkAccessibleState state, const GValue *value); Updates an accessible state. This function should be called by GtkWidget types whenever an accessible state change must be communicated to assistive technologies. This function is meant to be used by language bindings. Parameters self a GtkAccessible state a GtkAccessibleState value a GValue with the value for state gtk_accessible_reset_state () gtk_accessible_reset_state void gtk_accessible_reset_state (GtkAccessible *self, GtkAccessibleState state); Resets the accessible state to its default value. Parameters self a GtkAccessible state a GtkAccessibleState gtk_accessible_update_property () gtk_accessible_update_property void gtk_accessible_update_property (GtkAccessible *self, GtkAccessibleProperty first_property, ...); Updates a list of accessible properties. See the GtkAccessibleProperty documentation for the value types of accessible properties. This function should be called by GtkWidget types whenever an accessible property change must be communicated to assistive technologies. Example: Parameters self a GtkAccessible first_property the first GtkAccessibleProperty ... a list of property and value pairs, terminated by -1 gtk_accessible_update_property_value () gtk_accessible_update_property_value void gtk_accessible_update_property_value (GtkAccessible *self, GtkAccessibleProperty property, const GValue *value); Updates an accessible property. This function should be called by GtkWidget types whenever an accessible property change must be communicated to assistive technologies. This function is meant to be used by language bindings. Parameters self a GtkAccessible property a GtkAccessibleProperty value a GValue with the value for property gtk_accessible_reset_property () gtk_accessible_reset_property void gtk_accessible_reset_property (GtkAccessible *self, GtkAccessibleProperty property); Resets the accessible property to its default value. Parameters self a GtkAccessible property a GtkAccessibleProperty gtk_accessible_update_relation () gtk_accessible_update_relation void gtk_accessible_update_relation (GtkAccessible *self, GtkAccessibleRelation first_relation, ...); Updates a list of accessible relations. This function should be called by GtkWidget types whenever an accessible relation change must be communicated to assistive technologies. Parameters self a GtkAccessible first_relation the first GtkAccessibleRelation ... a list of relation and value pairs, terminated by -1 gtk_accessible_update_relation_value () gtk_accessible_update_relation_value void gtk_accessible_update_relation_value (GtkAccessible *self, GtkAccessibleRelation relation, const GValue *value); Updates an accessible relation. This function should be called by GtkWidget types whenever an accessible relation change must be communicated to assistive technologies. This function is meant to be used by language bindings. Parameters self a GtkAccessible relation a GtkAccessibleRelation value a GValue with the value for relation gtk_accessible_reset_relation () gtk_accessible_reset_relation void gtk_accessible_reset_relation (GtkAccessible *self, GtkAccessibleRelation relation); Resets the accessible relation to its default value. Parameters self a GtkAccessible relation a GtkAccessibleRelation Types and Values GtkAccessible GtkAccessible typedef struct _GtkAccessible GtkAccessible; enum GtkAccessibleRole GtkAccessibleRole The accessible role for a GtkAccessible implementation. Abstract roles are only used as part of the ontology; application developers must not use abstract roles in their code. Members GTK_ACCESSIBLE_ROLE_ALERT An element with important, and usually time-sensitive, information GTK_ACCESSIBLE_ROLE_ALERT_DIALOG A type of dialog that contains an alert message GTK_ACCESSIBLE_ROLE_BANNER Unused GTK_ACCESSIBLE_ROLE_BUTTON An input element that allows for user-triggered actions when clicked or pressed GTK_ACCESSIBLE_ROLE_CAPTION Unused GTK_ACCESSIBLE_ROLE_CELL Unused GTK_ACCESSIBLE_ROLE_CHECKBOX A checkable input element that has three possible values: true, false, or mixed GTK_ACCESSIBLE_ROLE_COLUMN_HEADER Unused GTK_ACCESSIBLE_ROLE_COMBO_BOX An input that controls another element, such as a list or a grid, that can dynamically pop up to help the user set the value of the input GTK_ACCESSIBLE_ROLE_COMMAND An abstract widget that performs an action, but does not receive input GTK_ACCESSIBLE_ROLE_COMPOSITE Unused GTK_ACCESSIBLE_ROLE_DIALOG A dialog is a window that is designed to interrupt the current processing of an application in order to prompt the user to enter information or require a response. GTK_ACCESSIBLE_ROLE_DOCUMENT Unused GTK_ACCESSIBLE_ROLE_FEED Unused GTK_ACCESSIBLE_ROLE_FORM Unused GTK_ACCESSIBLE_ROLE_GENERIC Unused GTK_ACCESSIBLE_ROLE_GRID Unused GTK_ACCESSIBLE_ROLE_GRID_CELL Unused GTK_ACCESSIBLE_ROLE_GROUP Unused GTK_ACCESSIBLE_ROLE_HEADING Unused GTK_ACCESSIBLE_ROLE_IMG An image. GTK_ACCESSIBLE_ROLE_INPUT Unused GTK_ACCESSIBLE_ROLE_LABEL A visible name or caption for a user interface component. GTK_ACCESSIBLE_ROLE_LANDMARK Unused GTK_ACCESSIBLE_ROLE_LEGEND Unused GTK_ACCESSIBLE_ROLE_LINK Unused GTK_ACCESSIBLE_ROLE_LIST Unused GTK_ACCESSIBLE_ROLE_LIST_BOX Unused GTK_ACCESSIBLE_ROLE_LIST_ITEM Unused GTK_ACCESSIBLE_ROLE_LOG Unused GTK_ACCESSIBLE_ROLE_MAIN Unused GTK_ACCESSIBLE_ROLE_MARQUEE Unused GTK_ACCESSIBLE_ROLE_MATH Unused GTK_ACCESSIBLE_ROLE_METER An element that represents a value within a known range. GTK_ACCESSIBLE_ROLE_MENU Unused GTK_ACCESSIBLE_ROLE_MENU_BAR Unused GTK_ACCESSIBLE_ROLE_MENU_ITEM Unused GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX Unused GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO Unused GTK_ACCESSIBLE_ROLE_NAVIGATION Unused GTK_ACCESSIBLE_ROLE_NONE Unused GTK_ACCESSIBLE_ROLE_NOTE Unused GTK_ACCESSIBLE_ROLE_OPTION Unused GTK_ACCESSIBLE_ROLE_PRESENTATION Unused GTK_ACCESSIBLE_ROLE_PROGRESS_BAR An element that displays the progress status for tasks that take a long time. GTK_ACCESSIBLE_ROLE_RADIO A checkable input in a group of radio roles, only one of which can be checked at a time. GTK_ACCESSIBLE_ROLE_RADIO_GROUP Unused GTK_ACCESSIBLE_ROLE_RANGE Unused GTK_ACCESSIBLE_ROLE_REGION Unused GTK_ACCESSIBLE_ROLE_ROW Unused GTK_ACCESSIBLE_ROLE_ROW_GROUP Unused GTK_ACCESSIBLE_ROLE_ROW_HEADER Unused GTK_ACCESSIBLE_ROLE_SCROLLBAR A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area. GTK_ACCESSIBLE_ROLE_SEARCH Unused GTK_ACCESSIBLE_ROLE_SEARCH_BOX A type of textbox intended for specifying search criteria. GTK_ACCESSIBLE_ROLE_SECTION Unused GTK_ACCESSIBLE_ROLE_SECTION_HEAD Unused GTK_ACCESSIBLE_ROLE_SELECT Unused GTK_ACCESSIBLE_ROLE_SEPARATOR A divider that separates and distinguishes sections of content or groups of menuitems. GTK_ACCESSIBLE_ROLE_SLIDER A user input where the user selects a value from within a given range. GTK_ACCESSIBLE_ROLE_SPIN_BUTTON A form of range that expects the user to select from among discrete choices. GTK_ACCESSIBLE_ROLE_STATUS Unused GTK_ACCESSIBLE_ROLE_STRUCTURE Unused GTK_ACCESSIBLE_ROLE_SWITCH A type of checkbox that represents on/off values, as opposed to checked/unchecked values. GTK_ACCESSIBLE_ROLE_TAB Unused GTK_ACCESSIBLE_ROLE_TABLE Unused GTK_ACCESSIBLE_ROLE_TAB_LIST Unused GTK_ACCESSIBLE_ROLE_TAB_PANEL Unused GTK_ACCESSIBLE_ROLE_TEXT_BOX A type of input that allows free-form text as its value. GTK_ACCESSIBLE_ROLE_TIME Unused GTK_ACCESSIBLE_ROLE_TIMER Unused GTK_ACCESSIBLE_ROLE_TOOLBAR Unused GTK_ACCESSIBLE_ROLE_TOOLTIP Unused GTK_ACCESSIBLE_ROLE_TREE Unused GTK_ACCESSIBLE_ROLE_TREE_GRID Unused GTK_ACCESSIBLE_ROLE_TREE_ITEM Unused GTK_ACCESSIBLE_ROLE_WIDGET An interactive component of a graphical user interface. This is the role that GTK uses by default for widgets. GTK_ACCESSIBLE_ROLE_WINDOW An application window. enum GtkAccessibleState GtkAccessibleState The possible accessible states of a GtkAccessible. Members GTK_ACCESSIBLE_STATE_BUSY A “busy” state. This state has boolean values GTK_ACCESSIBLE_STATE_CHECKED A “checked” state; indicates the current state of a GtkCheckButton. Value type: GtkAccessibleTristate GTK_ACCESSIBLE_STATE_DISABLED A “disabled” state; corresponds to the “sensitive” property on GtkWidget. It indicates a UI element that is perceivable, but not editable or operable. Value type: boolean GTK_ACCESSIBLE_STATE_EXPANDED An “expanded” state; corresponds to the “expanded” property on GtkExpander. Value type: boolean or undefined GTK_ACCESSIBLE_STATE_HIDDEN A “hidden” state; corresponds to the “visible” property on GtkWidget. You can use this state explicitly on UI elements that should not be exposed to an assistive technology. Value type: boolean See also: GTK_ACCESSIBLE_STATE_DISABLED GTK_ACCESSIBLE_STATE_INVALID An “invalid” state; set when a widget is showing an error. Value type: GtkAccessibleInvalidState GTK_ACCESSIBLE_STATE_PRESSED A “pressed” state; indicates the current state of a GtkToggleButton. Value type: GtkAccessibleTristate enumeration GTK_ACCESSIBLE_STATE_SELECTED A “selected” state; set when a widget is selected. Value type: boolean or undefined enum GtkAccessibleProperty GtkAccessibleProperty The possible accessible properties of a GtkAccessible. Members GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented if they were made. Value type: GtkAccessibleAutocomplete GTK_ACCESSIBLE_PROPERTY_DESCRIPTION Defines a string value that describes or annotates the current element. Value type: string GTK_ACCESSIBLE_PROPERTY_HAS_POPUP Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. Value type: string GTK_ACCESSIBLE_PROPERTY_LABEL Defines a string value that labels the current element. Value type: string GTK_ACCESSIBLE_PROPERTY_LEVEL Defines the hierarchical level of an element within a structure. Value type: integer GTK_ACCESSIBLE_PROPERTY_MODAL Indicates whether an element is modal when displayed. Value type: boolean GTK_ACCESSIBLE_PROPERTY_MULTI_LINE Indicates whether a text box accepts multiple lines of input or only a single line. Value type: boolean GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE Indicates that the user may select more than one item from the current selectable descendants. Value type: boolean GTK_ACCESSIBLE_PROPERTY_ORIENTATION Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. Value type: GtkOrientation GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format. Value type: string GTK_ACCESSIBLE_PROPERTY_READ_ONLY Indicates that the element is not editable, but is otherwise operable. Value type: boolean GTK_ACCESSIBLE_PROPERTY_REQUIRED Indicates that user input is required on the element before a form may be submitted. Value type: boolean GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION Defines a human-readable, author-localized description for the role of an element. Value type: string GTK_ACCESSIBLE_PROPERTY_SORT Indicates if items in a table or grid are sorted in ascending or descending order. Possible property values are in the GtkAccessibleSort enumeration. Value type: GtkAccessibleSort GTK_ACCESSIBLE_PROPERTY_VALUE_MAX Defines the maximum allowed value for a range widget. Value type: double GTK_ACCESSIBLE_PROPERTY_VALUE_MIN Defines the minimum allowed value for a range widget. Value type: double GTK_ACCESSIBLE_PROPERTY_VALUE_NOW Defines the current value for a range widget. Value type: double GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT Defines the human readable text alternative of aria-valuenow for a range widget. Value type: string enum GtkAccessibleRelation GtkAccessibleRelation The possible accessible relations of a GtkAccessible. Accessible relations can be references to other widgets, integers or strings. Members GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT Identifies the currently active element when focus is on a composite widget, combobox, textbox, group, or application. Value type: reference GTK_ACCESSIBLE_RELATION_COL_COUNT Defines the total number of columns in a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_COL_INDEX Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT Defines a human readable text alternative of GTK_ACCESSIBLE_RELATION_COL_INDEX . Value type: string GTK_ACCESSIBLE_RELATION_COL_SPAN Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_CONTROLS Identifies the element (or elements) whose contents or presence are controlled by the current element. Value type: reference GTK_ACCESSIBLE_RELATION_DESCRIBED_BY Identifies the element (or elements) that describes the object. Value type: reference GTK_ACCESSIBLE_RELATION_DETAILS Identifies the element (or elements) that provide additional information related to the object. Value type: reference GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE Identifies the element that provides an error message for an object. Value type: reference GTK_ACCESSIBLE_RELATION_FLOW_TO Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order. Value type: reference GTK_ACCESSIBLE_RELATION_LABELLED_BY Identifies the element (or elements) that labels the current element. Value type: reference GTK_ACCESSIBLE_RELATION_OWNS Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between elements where the widget hierarchy cannot be used to represent the relationship. Value type: reference GTK_ACCESSIBLE_RELATION_POS_IN_SET Defines an element's number or position in the current set of listitems or treeitems. Value type: integer GTK_ACCESSIBLE_RELATION_ROW_COUNT Defines the total number of rows in a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_ROW_INDEX Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT Defines a human readable text alternative of aria-rowindex. Value type: string GTK_ACCESSIBLE_RELATION_ROW_SPAN Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. Value type: integer GTK_ACCESSIBLE_RELATION_SET_SIZE Defines the number of items in the current set of listitems or treeitems. Value type: integer enum GtkAccessibleTristate GtkAccessibleTristate The possible values for the GTK_ACCESSIBLE_STATE_PRESSED accessible state. Note that the GTK_ACCESSIBLE_TRISTATE_FALSE and GTK_ACCESSIBLE_TRISTATE_TRUE have the same values as FALSE and TRUE. Members GTK_ACCESSIBLE_TRISTATE_FALSE The state is false GTK_ACCESSIBLE_TRISTATE_TRUE The state is true GTK_ACCESSIBLE_TRISTATE_MIXED The state is mixed enum GtkAccessibleInvalidState GtkAccessibleInvalidState The possible values for the GTK_ACCESSIBLE_STATE_INVALID accessible state. Note that the GTK_ACCESSIBLE_INVALID_FALSE and GTK_ACCESSIBLE_INVALID_TRUE have the same values as FALSE and TRUE. Members GTK_ACCESSIBLE_INVALID_FALSE There are no detected errors in the value GTK_ACCESSIBLE_INVALID_TRUE The value entered by the user has failed validation GTK_ACCESSIBLE_INVALID_GRAMMAR A grammatical error was detected GTK_ACCESSIBLE_INVALID_SPELLING A spelling error was detected enum GtkAccessibleAutocomplete GtkAccessibleAutocomplete The possible values for the GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE accessible property. Members GTK_ACCESSIBLE_AUTOCOMPLETE_NONE Automatic suggestions are not displayed. GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE When a user is providing input, text suggesting one way to complete the provided input may be dynamically inserted after the caret. GTK_ACCESSIBLE_AUTOCOMPLETE_LIST When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed. GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed. If displayed, one value in the collection is automatically selected, and the text needed to complete the automatically selected value appears after the caret in the input. enum GtkAccessibleSort GtkAccessibleSort The possible values for the GTK_ACCESSIBLE_PROPERTY_SORT accessible property. Members GTK_ACCESSIBLE_SORT_NONE There is no defined sort applied to the column. GTK_ACCESSIBLE_SORT_ASCENDING Items are sorted in ascending order by this column. GTK_ACCESSIBLE_SORT_DESCENDING Items are sorted in descending order by this column. GTK_ACCESSIBLE_SORT_OTHER A sort algorithm other than ascending or descending has been applied. Property Details The <literal>“accessible-role”</literal> property GtkAccessible:accessible-role “accessible-role” GtkAccessibleRole The role of the accessible object.Owner: GtkAccessible Flags: Read / Write Default value: GTK_ACCESSIBLE_ROLE_NONE docs/reference/gtk/xml/gtkatcontext.xml0000664000175000017500000003563513710700314020432 0ustar mclasenmclasen ]> GtkATContext 3 GTK4 Library GtkATContext An object communicating to Assistive Technologies Functions GtkAccessible * gtk_at_context_get_accessible () GtkAccessibleRole gtk_at_context_get_accessible_role () GtkATContext * gtk_at_context_create () Properties GtkAccessible *accessibleRead / Write / Construct Only GtkAccessibleRoleaccessible-roleRead / Write / Construct Only Signals voidstate-changeRun First Types and Values GtkATContext Object Hierarchy GObject ╰── GtkATContext Includes#include <gtk/gtk.h> Description GtkATContext is an abstract class provided by GTK to communicate to platform-specific assistive technologies API. Each platform supported by GTK implements a GtkATContext subclass, and is responsible for updating the accessible state in response to state changes in GtkAccessible. Functions gtk_at_context_get_accessible () gtk_at_context_get_accessible GtkAccessible * gtk_at_context_get_accessible (GtkATContext *self); Retrieves the GtkAccessible using this context. Parameters self a GtkATContext Returns a GtkAccessible. [transfer none] gtk_at_context_get_accessible_role () gtk_at_context_get_accessible_role GtkAccessibleRole gtk_at_context_get_accessible_role (GtkATContext *self); Retrieves the accessible role of this context. Parameters self a GtkATContext Returns a GtkAccessibleRole gtk_at_context_create () gtk_at_context_create GtkATContext * gtk_at_context_create (GtkAccessibleRole accessible_role, GtkAccessible *accessible); Creates a new GtkATContext instance for the given accessible role and accessible instance. The GtkATContext implementation being instantiated will depend on the platform. [constructor] Parameters accessible_role the accessible role used by the GtkATContext accessible the GtkAccessible implementation using the GtkATContext Returns the GtkATContext. [nullable][transfer full] Types and Values GtkATContext GtkATContext typedef struct _GtkATContext GtkATContext; Property Details The <literal>“accessible”</literal> property GtkATContext:accessible “accessible” GtkAccessible * The GtkAccessible that created the GtkATContext instance. Owner: GtkATContext Flags: Read / Write / Construct Only The <literal>“accessible-role”</literal> property GtkATContext:accessible-role “accessible-role” GtkAccessibleRole The accessible role used by the AT context. Depending on the given role, different states and properties can be set or retrieved. Owner: GtkATContext Flags: Read / Write / Construct Only Default value: GTK_ACCESSIBLE_ROLE_NONE Signal Details The <literal>“state-change”</literal> signal GtkATContext::state-change void user_function (GtkATContext *self, guint changed_states, guint changed_properties, guint changed_relations, gpointer states, gpointer properties, gpointer relations, gpointer user_data) Emitted when the attributes of the accessible for the GtkATContext instance change. Parameters self the GtkATContext changed_states flags for the changed states changed_properties flags for the changed properties states the new states properties the new properties relations the new relations user_data user data set when the signal handler was connected. Flags: Run First docs/reference/gtk/xml/gtk4-doc.top0000664000175000017500000000000013710700314017303 0ustar mclasenmclasendocs/reference/gtk/xml/gtk4-doc.bottom0000664000175000017500000002736413710700314020033 0ustar mclasenmclasen docs/reference/gtk/xml/tree_index.sgml0000664000175000017500000012741613710700314020202 0ustar mclasenmclasen ]> GObject ├── GInitiallyUnowned ├── GtkWidget ├── GtkWindow ├── GtkDialog ├── GtkAboutDialog ├── GtkAppChooserDialog ├── GtkColorChooserDialog ├── GtkFileChooserDialog ├── GtkFontChooserDialog ├── GtkMessageDialog ├── GtkPageSetupUnixDialog ╰── GtkPrintUnixDialog ├── GtkApplicationWindow ├── GtkAssistant ╰── GtkShortcutsWindow ├── GtkAccelLabel ├── GtkActionBar ├── GtkAppChooserButton ├── GtkAppChooserWidget ├── GtkAspectFrame ├── GtkBox ├── GtkShortcutsSection ╰── GtkShortcutsGroup ├── GtkButton ├── GtkToggleButton ╰── GtkCheckButton ╰── GtkRadioButton ├── GtkLinkButton ╰── GtkLockButton ├── GtkCalendar ├── GtkCellView ├── GtkColorButton ├── GtkColorChooserWidget ├── GtkColumnView ├── GtkComboBox ╰── GtkComboBoxText ├── GtkDragIcon ├── GtkDrawingArea ├── GtkDropDown ├── GtkEditableLabel ├── GtkPopover ├── GtkEmojiChooser ╰── GtkPopoverMenu ├── GtkEntry ├── GtkExpander ├── GtkFileChooserButton ├── GtkFileChooserWidget ├── GtkFixed ├── GtkFlowBox ├── GtkFlowBoxChild ├── GtkFontButton ├── GtkFontChooserWidget ├── GtkFrame ├── GtkGLArea ├── GtkGrid ├── GtkListBase ├── GtkGridView ╰── GtkListView ├── GtkHeaderBar ├── GtkIconView ├── GtkImage ├── GtkInfoBar ├── GtkLabel ├── GtkListBox ├── GtkListBoxRow ├── GtkMediaControls ├── GtkMenuButton ├── GtkNotebook ├── GtkOverlay ├── GtkPaned ├── GtkPasswordEntry ├── GtkPicture ├── GtkPopoverMenuBar ├── GtkProgressBar ├── GtkRange ╰── GtkScale ├── GtkRevealer ├── GtkScaleButton ╰── GtkVolumeButton ├── GtkScrollbar ├── GtkScrolledWindow ├── GtkSearchBar ├── GtkSearchEntry ├── GtkSeparator ├── GtkShortcutLabel ├── GtkShortcutsShortcut ├── GtkSpinButton ├── GtkSpinner ├── GtkStack ├── GtkStackSidebar ├── GtkStackSwitcher ├── GtkStatusbar ├── GtkSwitch ├── GtkLevelBar ├── GtkText ├── GtkTextView ├── GtkTreeExpander ├── GtkTreeView ├── GtkVideo ├── GtkViewport ├── GtkWindowControls ╰── GtkWindowHandle ├── GtkAdjustment ├── GtkCellArea ╰── GtkCellAreaBox ├── GtkCellRenderer ├── GtkCellRendererText ├── GtkCellRendererAccel ├── GtkCellRendererCombo ╰── GtkCellRendererSpin ├── GtkCellRendererPixbuf ├── GtkCellRendererProgress ├── GtkCellRendererSpinner ╰── GtkCellRendererToggle ╰── GtkTreeViewColumn ├── GtkFilter ├── GtkMultiFilter ├── GtkAnyFilter ╰── GtkEveryFilter ├── GtkCustomFilter ├── GtkFileFilter ╰── GtkStringFilter ├── GApplication ╰── GtkApplication ├── GtkAssistantPage ├── GtkATContext ├── GtkLayoutManager ├── GtkBinLayout ├── GtkBoxLayout ├── GtkCenterLayout ├── GtkConstraintLayout ├── GtkFixedLayout ├── GtkGridLayout ╰── GtkOverlayLayout ├── GtkBookmarkList ├── GtkBuilder ├── GtkListItemFactory ├── GtkBuilderListItemFactory ╰── GtkSignalListItemFactory ├── GtkCellAreaContext ├── GtkColumnViewColumn ├── GtkConstraint ├── GtkConstraintGuide ├── GtkCssProvider ├── GtkSorter ├── GtkCustomSorter ├── GtkMultiSorter ├── GtkNumericSorter ├── GtkStringSorter ╰── GtkTreeListRowSorter ├── GtkDirectoryList ├── GtkEventController ├── GtkGesture ├── GtkGestureSingle ├── GtkDragSource ├── GtkGestureClick ├── GtkGestureDrag ╰── GtkGesturePan ├── GtkGestureLongPress ├── GtkGestureStylus ╰── GtkGestureSwipe ├── GtkGestureRotate ╰── GtkGestureZoom ├── GtkDropTarget ├── GtkDropTargetAsync ├── GtkEventControllerKey ├── GtkEventControllerFocus ├── GtkEventControllerLegacy ├── GtkEventControllerMotion ├── GtkEventControllerScroll ├── GtkPadController ╰── GtkShortcutController ├── GtkEntryBuffer ├── GtkEntryCompletion ├── GtkFilterListModel ├── GtkFlattenListModel ├── GtkLayoutChild ├── GtkGridLayoutChild ├── GtkOverlayLayoutChild ├── GtkConstraintLayoutChild ╰── GtkFixedLayoutChild ├── GtkIconTheme ├── GtkIMContext ├── GtkIMContextSimple ╰── GtkIMMulticontext ├── GtkListItem ├── GtkListStore ├── GtkMapListModel ├── GtkMediaStream ╰── GtkMediaFile ├── GMountOperation ╰── GtkMountOperation ├── GtkMultiSelection ├── GtkNativeDialog ├── GtkNoSelection ├── GtkNotebookPage ├── GtkPageSetup ├── GtkPrinter ├── GtkPrintContext ├── GtkPrintJob ├── GtkPrintOperation ├── GtkPrintSettings ├── GtkRecentManager ├── GtkSelectionFilterModel ├── GtkSettings ├── GtkShortcut ├── GtkSingleSelection ├── GtkSizeGroup ├── GtkSliceListModel ├── GdkSnapshot ╰── GtkSnapshot ├── GtkSortListModel ├── GtkStackPage ├── GtkStringList ├── GtkStringObject ├── GtkStyleContext ├── GtkTextBuffer ├── GtkTextChildAnchor ├── GtkTextMark ├── GtkTextTag ├── GtkTextTagTable ├── GtkTreeListModel ├── GtkTreeListRow ├── GtkTreeModelFilter ├── GtkTreeModelSort ├── GtkTreeSelection ├── GtkTreeStore ├── GtkWindowGroup ├── GtkTooltip ├── GtkShortcutAction ├── GtkSignalAction ├── GtkNothingAction ├── GtkNamedAction ╰── GtkCallbackAction ├── GtkShortcutTrigger ├── GtkKeyvalTrigger ├── GtkNeverTrigger ╰── GtkAlternativeTrigger ╰── GtkPrintBackend GInterface ├── GtkAccessible ├── GtkBuildable ├── GtkConstraintTarget ├── GtkNative ├── GtkShortcutManager ├── GtkRoot ├── GtkActionable ├── GtkAppChooser ├── GtkOrientable ├── GtkCellLayout ├── GtkCellEditable ├── GtkColorChooser ├── GtkScrollable ├── GtkStyleProvider ├── GtkEditable ├── GtkFileChooser ├── GtkFontChooser ├── GtkTreeModel ├── GtkTreeDragSource ├── GtkTreeDragDest ├── GtkTreeSortable ├── GtkSelectionModel ╰── GtkPrintOperationPreview GBoxed ├── GtkBitset ├── GtkPaperSize ├── GtkTextIter ├── GtkTreeIter ├── GtkCssSection ╰── GtkTreePath GtkExpression docs/reference/gtk/xml/object_index.sgml0000664000175000017500000004772613710700314020516 0ustar mclasenmclasen ]> GApplication GBoxed GInitiallyUnowned GInterface GMountOperation GObject GdkSnapshot GtkATContext GtkAboutDialog GtkAccelLabel GtkAccessible GtkActionBar GtkActionable GtkAdjustment GtkAlternativeTrigger GtkAnyFilter GtkAppChooser GtkAppChooserButton GtkAppChooserDialog GtkAppChooserWidget GtkApplication GtkApplicationWindow GtkAspectFrame GtkAssistant GtkAssistantPage GtkBinLayout GtkBitset GtkBookmarkList GtkBox GtkBoxLayout GtkBuildable GtkBuilder GtkBuilderListItemFactory GtkButton GtkCalendar GtkCallbackAction GtkCellArea GtkCellAreaBox GtkCellAreaContext GtkCellEditable GtkCellLayout GtkCellRenderer GtkCellRendererAccel GtkCellRendererCombo GtkCellRendererPixbuf GtkCellRendererProgress GtkCellRendererSpin GtkCellRendererSpinner GtkCellRendererText GtkCellRendererToggle GtkCellView GtkCenterLayout GtkCheckButton GtkColorButton GtkColorChooser GtkColorChooserDialog GtkColorChooserWidget GtkColumnView GtkColumnViewColumn GtkComboBox GtkComboBoxText GtkConstraint GtkConstraintGuide GtkConstraintLayout GtkConstraintLayoutChild GtkConstraintTarget GtkCssProvider GtkCssSection GtkCustomFilter GtkCustomSorter GtkDialog GtkDirectoryList GtkDragIcon GtkDragSource GtkDrawingArea GtkDropDown GtkDropTarget GtkDropTargetAsync GtkEditable GtkEditableLabel GtkEmojiChooser GtkEntry GtkEntryBuffer GtkEntryCompletion GtkEventController GtkEventControllerFocus GtkEventControllerKey GtkEventControllerLegacy GtkEventControllerMotion GtkEventControllerScroll GtkEveryFilter GtkExpander GtkExpression GtkFileChooser GtkFileChooserButton GtkFileChooserDialog GtkFileChooserWidget GtkFileFilter GtkFilter GtkFilterListModel GtkFixed GtkFixedLayout GtkFixedLayoutChild GtkFlattenListModel GtkFlowBox GtkFlowBoxChild GtkFontButton GtkFontChooser GtkFontChooserDialog GtkFontChooserWidget GtkFrame GtkGLArea GtkGesture GtkGestureClick GtkGestureDrag GtkGestureLongPress GtkGesturePan GtkGestureRotate GtkGestureSingle GtkGestureStylus GtkGestureSwipe GtkGestureZoom GtkGrid GtkGridLayout GtkGridLayoutChild GtkGridView GtkHeaderBar GtkIMContext GtkIMContextSimple GtkIMMulticontext GtkIconTheme GtkIconView GtkImage GtkInfoBar GtkKeyvalTrigger GtkLabel GtkLayoutChild GtkLayoutManager GtkLevelBar GtkLinkButton GtkListBase GtkListBox GtkListBoxRow GtkListItem GtkListItemFactory GtkListStore GtkListView GtkLockButton GtkMapListModel GtkMediaControls GtkMediaFile GtkMediaStream GtkMenuButton GtkMessageDialog GtkMountOperation GtkMultiFilter GtkMultiSelection GtkMultiSorter GtkNamedAction GtkNative GtkNativeDialog GtkNeverTrigger GtkNoSelection GtkNotebook GtkNotebookPage GtkNothingAction GtkNumericSorter GtkOrientable GtkOverlay GtkOverlayLayout GtkOverlayLayoutChild GtkPadController GtkPageSetup GtkPageSetupUnixDialog GtkPaned GtkPaperSize GtkPasswordEntry GtkPicture GtkPopover GtkPopoverMenu GtkPopoverMenuBar GtkPrintBackend GtkPrintContext GtkPrintJob GtkPrintOperation GtkPrintOperationPreview GtkPrintSettings GtkPrintUnixDialog GtkPrinter GtkProgressBar GtkRadioButton GtkRange GtkRecentManager GtkRevealer GtkRoot GtkScale GtkScaleButton GtkScrollable GtkScrollbar GtkScrolledWindow GtkSearchBar GtkSearchEntry GtkSelectionFilterModel GtkSelectionModel GtkSeparator GtkSettings GtkShortcut GtkShortcutAction GtkShortcutController GtkShortcutLabel GtkShortcutManager GtkShortcutTrigger GtkShortcutsGroup GtkShortcutsSection GtkShortcutsShortcut GtkShortcutsWindow GtkSignalAction GtkSignalListItemFactory GtkSingleSelection GtkSizeGroup GtkSliceListModel GtkSnapshot GtkSortListModel GtkSorter GtkSpinButton GtkSpinner GtkStack GtkStackPage GtkStackSidebar GtkStackSwitcher GtkStatusbar GtkStringFilter GtkStringList GtkStringObject GtkStringSorter GtkStyleContext GtkStyleProvider GtkSwitch GtkText GtkTextBuffer GtkTextChildAnchor GtkTextIter GtkTextMark GtkTextTag GtkTextTagTable GtkTextView GtkToggleButton GtkTooltip GtkTreeDragDest GtkTreeDragSource GtkTreeExpander GtkTreeIter GtkTreeListModel GtkTreeListRow GtkTreeListRowSorter GtkTreeModel GtkTreeModelFilter GtkTreeModelSort GtkTreePath GtkTreeSelection GtkTreeSortable GtkTreeStore GtkTreeView GtkTreeViewColumn GtkVideo GtkViewport GtkVolumeButton GtkWidget GtkWindow GtkWindowControls GtkWindowGroup GtkWindowHandle docs/reference/gtk/xml/api-index-full.xml0000664000175000017500000463412313710700315020533 0ustar mclasenmclasen ]> A GtkAboutDialog, struct in GtkAboutDialog GtkAboutDialog::activate-link, object signal in GtkAboutDialog GtkAboutDialog:artists, object property in GtkAboutDialog GtkAboutDialog:authors, object property in GtkAboutDialog GtkAboutDialog:comments, object property in GtkAboutDialog GtkAboutDialog:copyright, object property in GtkAboutDialog GtkAboutDialog:documenters, object property in GtkAboutDialog GtkAboutDialog:license, object property in GtkAboutDialog GtkAboutDialog:license-type, object property in GtkAboutDialog GtkAboutDialog:logo, object property in GtkAboutDialog GtkAboutDialog:logo-icon-name, object property in GtkAboutDialog GtkAboutDialog:program-name, object property in GtkAboutDialog GtkAboutDialog:system-information, object property in GtkAboutDialog GtkAboutDialog:translator-credits, object property in GtkAboutDialog GtkAboutDialog:version, object property in GtkAboutDialog GtkAboutDialog:website, object property in GtkAboutDialog GtkAboutDialog:website-label, object property in GtkAboutDialog GtkAboutDialog:wrap-license, object property in GtkAboutDialog gtk_about_dialog_add_credit_section, function in GtkAboutDialog gtk_about_dialog_get_artists, function in GtkAboutDialog gtk_about_dialog_get_authors, function in GtkAboutDialog gtk_about_dialog_get_comments, function in GtkAboutDialog gtk_about_dialog_get_copyright, function in GtkAboutDialog gtk_about_dialog_get_documenters, function in GtkAboutDialog gtk_about_dialog_get_license, function in GtkAboutDialog gtk_about_dialog_get_license_type, function in GtkAboutDialog gtk_about_dialog_get_logo, function in GtkAboutDialog gtk_about_dialog_get_logo_icon_name, function in GtkAboutDialog gtk_about_dialog_get_program_name, function in GtkAboutDialog gtk_about_dialog_get_system_information, function in GtkAboutDialog gtk_about_dialog_get_translator_credits, function in GtkAboutDialog gtk_about_dialog_get_version, function in GtkAboutDialog gtk_about_dialog_get_website, function in GtkAboutDialog gtk_about_dialog_get_website_label, function in GtkAboutDialog gtk_about_dialog_get_wrap_license, function in GtkAboutDialog gtk_about_dialog_new, function in GtkAboutDialog gtk_about_dialog_set_artists, function in GtkAboutDialog gtk_about_dialog_set_authors, function in GtkAboutDialog gtk_about_dialog_set_comments, function in GtkAboutDialog gtk_about_dialog_set_copyright, function in GtkAboutDialog gtk_about_dialog_set_documenters, function in GtkAboutDialog gtk_about_dialog_set_license, function in GtkAboutDialog gtk_about_dialog_set_license_type, function in GtkAboutDialog gtk_about_dialog_set_logo, function in GtkAboutDialog gtk_about_dialog_set_logo_icon_name, function in GtkAboutDialog gtk_about_dialog_set_program_name, function in GtkAboutDialog gtk_about_dialog_set_system_information, function in GtkAboutDialog gtk_about_dialog_set_translator_credits, function in GtkAboutDialog gtk_about_dialog_set_version, function in GtkAboutDialog gtk_about_dialog_set_website, function in GtkAboutDialog gtk_about_dialog_set_website_label, function in GtkAboutDialog gtk_about_dialog_set_wrap_license, function in GtkAboutDialog gtk_accelerator_get_default_mod_mask, function in Keyboard Accelerators gtk_accelerator_get_label, function in Keyboard Accelerators gtk_accelerator_get_label_with_keycode, function in Keyboard Accelerators gtk_accelerator_name, function in Keyboard Accelerators gtk_accelerator_name_with_keycode, function in Keyboard Accelerators gtk_accelerator_parse, function in Keyboard Accelerators gtk_accelerator_parse_with_keycode, function in Keyboard Accelerators gtk_accelerator_valid, function in Keyboard Accelerators GtkAccelLabel, struct in GtkAccelLabel GtkAccelLabel:label, object property in GtkAccelLabel GtkAccelLabel:use-underline, object property in GtkAccelLabel gtk_accel_label_get_accel, function in GtkAccelLabel gtk_accel_label_get_accel_width, function in GtkAccelLabel gtk_accel_label_get_label, function in GtkAccelLabel gtk_accel_label_get_use_underline, function in GtkAccelLabel gtk_accel_label_new, function in GtkAccelLabel gtk_accel_label_refetch, function in GtkAccelLabel gtk_accel_label_set_accel, function in GtkAccelLabel gtk_accel_label_set_label, function in GtkAccelLabel gtk_accel_label_set_use_underline, function in GtkAccelLabel GtkAccessible, struct in GtkAccessible GtkAccessible:accessible-role, object property in GtkAccessible GtkAccessibleAutocomplete, enum in GtkAccessible GtkAccessibleInvalidState, enum in GtkAccessible GtkAccessibleProperty, enum in GtkAccessible GtkAccessibleRelation, enum in GtkAccessible GtkAccessibleRole, enum in GtkAccessible GtkAccessibleSort, enum in GtkAccessible GtkAccessibleState, enum in GtkAccessible GtkAccessibleTristate, enum in GtkAccessible gtk_accessible_get_accessible_role, function in GtkAccessible gtk_accessible_reset_property, function in GtkAccessible gtk_accessible_reset_relation, function in GtkAccessible gtk_accessible_reset_state, function in GtkAccessible gtk_accessible_update_property, function in GtkAccessible gtk_accessible_update_property_value, function in GtkAccessible gtk_accessible_update_relation, function in GtkAccessible gtk_accessible_update_relation_value, function in GtkAccessible gtk_accessible_update_state, function in GtkAccessible gtk_accessible_update_state_value, function in GtkAccessible GtkActionable, struct in GtkActionable GtkActionable:action-name, object property in GtkActionable GtkActionable:action-target, object property in GtkActionable GtkActionableInterface, struct in GtkActionable gtk_actionable_get_action_name, function in GtkActionable gtk_actionable_get_action_target_value, function in GtkActionable gtk_actionable_set_action_name, function in GtkActionable gtk_actionable_set_action_target, function in GtkActionable gtk_actionable_set_action_target_value, function in GtkActionable gtk_actionable_set_detailed_action_name, function in GtkActionable GtkActionBar, struct in GtkActionBar GtkActionBar:revealed, object property in GtkActionBar gtk_action_bar_get_center_widget, function in GtkActionBar gtk_action_bar_get_revealed, function in GtkActionBar gtk_action_bar_new, function in GtkActionBar gtk_action_bar_pack_end, function in GtkActionBar gtk_action_bar_pack_start, function in GtkActionBar gtk_action_bar_remove, function in GtkActionBar gtk_action_bar_set_center_widget, function in GtkActionBar gtk_action_bar_set_revealed, function in GtkActionBar GtkActivateAction, struct in GtkShortcutAction gtk_activate_action_get, function in GtkShortcutAction GtkAdjustment, struct in GtkAdjustment GtkAdjustment::changed, object signal in GtkAdjustment GtkAdjustment::value-changed, object signal in GtkAdjustment GtkAdjustment:lower, object property in GtkAdjustment GtkAdjustment:page-increment, object property in GtkAdjustment GtkAdjustment:page-size, object property in GtkAdjustment GtkAdjustment:step-increment, object property in GtkAdjustment GtkAdjustment:upper, object property in GtkAdjustment GtkAdjustment:value, object property in GtkAdjustment gtk_adjustment_clamp_page, function in GtkAdjustment gtk_adjustment_configure, function in GtkAdjustment gtk_adjustment_get_lower, function in GtkAdjustment gtk_adjustment_get_minimum_increment, function in GtkAdjustment gtk_adjustment_get_page_increment, function in GtkAdjustment gtk_adjustment_get_page_size, function in GtkAdjustment gtk_adjustment_get_step_increment, function in GtkAdjustment gtk_adjustment_get_upper, function in GtkAdjustment gtk_adjustment_get_value, function in GtkAdjustment gtk_adjustment_new, function in GtkAdjustment gtk_adjustment_set_lower, function in GtkAdjustment gtk_adjustment_set_page_increment, function in GtkAdjustment gtk_adjustment_set_page_size, function in GtkAdjustment gtk_adjustment_set_step_increment, function in GtkAdjustment gtk_adjustment_set_upper, function in GtkAdjustment gtk_adjustment_set_value, function in GtkAdjustment GtkAlign, enum in GtkWidget GtkAllocation, typedef in GtkWidget GtkAlternativeTrigger, struct in GtkShortcutTrigger gtk_alternative_trigger_get_first, function in GtkShortcutTrigger gtk_alternative_trigger_get_second, function in GtkShortcutTrigger gtk_alternative_trigger_new, function in GtkShortcutTrigger GtkAnyFilter, struct in GtkMultiFilter gtk_any_filter_new, function in GtkMultiFilter GtkAppChooser, struct in GtkAppChooser GtkAppChooser:content-type, object property in GtkAppChooser GtkAppChooserButton, struct in GtkAppChooserButton GtkAppChooserButton::changed, object signal in GtkAppChooserButton GtkAppChooserButton::custom-item-activated, object signal in GtkAppChooserButton GtkAppChooserButton:heading, object property in GtkAppChooserButton GtkAppChooserButton:modal, object property in GtkAppChooserButton GtkAppChooserButton:show-default-item, object property in GtkAppChooserButton GtkAppChooserButton:show-dialog-item, object property in GtkAppChooserButton GtkAppChooserDialog, struct in GtkAppChooserDialog GtkAppChooserDialog:gfile, object property in GtkAppChooserDialog GtkAppChooserDialog:heading, object property in GtkAppChooserDialog GtkAppChooserWidget, struct in GtkAppChooserWidget GtkAppChooserWidget::application-activated, object signal in GtkAppChooserWidget GtkAppChooserWidget::application-selected, object signal in GtkAppChooserWidget GtkAppChooserWidget:default-text, object property in GtkAppChooserWidget GtkAppChooserWidget:show-all, object property in GtkAppChooserWidget GtkAppChooserWidget:show-default, object property in GtkAppChooserWidget GtkAppChooserWidget:show-fallback, object property in GtkAppChooserWidget GtkAppChooserWidget:show-other, object property in GtkAppChooserWidget GtkAppChooserWidget:show-recommended, object property in GtkAppChooserWidget GtkApplication, struct in GtkApplication GtkApplication::query-end, object signal in GtkApplication GtkApplication::window-added, object signal in GtkApplication GtkApplication::window-removed, object signal in GtkApplication GtkApplication:active-window, object property in GtkApplication GtkApplication:menubar, object property in GtkApplication GtkApplication:register-session, object property in GtkApplication GtkApplication:screensaver-active, object property in GtkApplication GtkApplicationClass, struct in GtkApplication GtkApplicationInhibitFlags, enum in GtkApplication GtkApplicationWindow, struct in GtkApplicationWindow GtkApplicationWindow:show-menubar, object property in GtkApplicationWindow GtkApplicationWindowClass, struct in GtkApplicationWindow gtk_application_add_window, function in GtkApplication gtk_application_get_accels_for_action, function in GtkApplication gtk_application_get_actions_for_accel, function in GtkApplication gtk_application_get_active_window, function in GtkApplication gtk_application_get_menubar, function in GtkApplication gtk_application_get_menu_by_id, function in GtkApplication gtk_application_get_windows, function in GtkApplication gtk_application_get_window_by_id, function in GtkApplication gtk_application_inhibit, function in GtkApplication gtk_application_list_action_descriptions, function in GtkApplication gtk_application_new, function in GtkApplication gtk_application_remove_window, function in GtkApplication gtk_application_set_accels_for_action, function in GtkApplication gtk_application_set_menubar, function in GtkApplication gtk_application_uninhibit, function in GtkApplication gtk_application_window_get_help_overlay, function in GtkApplicationWindow gtk_application_window_get_id, function in GtkApplicationWindow gtk_application_window_get_show_menubar, function in GtkApplicationWindow gtk_application_window_new, function in GtkApplicationWindow gtk_application_window_set_help_overlay, function in GtkApplicationWindow gtk_application_window_set_show_menubar, function in GtkApplicationWindow gtk_app_chooser_button_append_custom_item, function in GtkAppChooserButton gtk_app_chooser_button_append_separator, function in GtkAppChooserButton gtk_app_chooser_button_get_heading, function in GtkAppChooserButton gtk_app_chooser_button_get_modal, function in GtkAppChooserButton gtk_app_chooser_button_get_show_default_item, function in GtkAppChooserButton gtk_app_chooser_button_get_show_dialog_item, function in GtkAppChooserButton gtk_app_chooser_button_new, function in GtkAppChooserButton gtk_app_chooser_button_set_active_custom_item, function in GtkAppChooserButton gtk_app_chooser_button_set_heading, function in GtkAppChooserButton gtk_app_chooser_button_set_modal, function in GtkAppChooserButton gtk_app_chooser_button_set_show_default_item, function in GtkAppChooserButton gtk_app_chooser_button_set_show_dialog_item, function in GtkAppChooserButton gtk_app_chooser_dialog_get_heading, function in GtkAppChooserDialog gtk_app_chooser_dialog_get_widget, function in GtkAppChooserDialog gtk_app_chooser_dialog_new, function in GtkAppChooserDialog gtk_app_chooser_dialog_new_for_content_type, function in GtkAppChooserDialog gtk_app_chooser_dialog_set_heading, function in GtkAppChooserDialog gtk_app_chooser_get_app_info, function in GtkAppChooser gtk_app_chooser_get_content_type, function in GtkAppChooser gtk_app_chooser_refresh, function in GtkAppChooser gtk_app_chooser_widget_get_default_text, function in GtkAppChooserWidget gtk_app_chooser_widget_get_show_all, function in GtkAppChooserWidget gtk_app_chooser_widget_get_show_default, function in GtkAppChooserWidget gtk_app_chooser_widget_get_show_fallback, function in GtkAppChooserWidget gtk_app_chooser_widget_get_show_other, function in GtkAppChooserWidget gtk_app_chooser_widget_get_show_recommended, function in GtkAppChooserWidget gtk_app_chooser_widget_new, function in GtkAppChooserWidget gtk_app_chooser_widget_set_default_text, function in GtkAppChooserWidget gtk_app_chooser_widget_set_show_all, function in GtkAppChooserWidget gtk_app_chooser_widget_set_show_default, function in GtkAppChooserWidget gtk_app_chooser_widget_set_show_fallback, function in GtkAppChooserWidget gtk_app_chooser_widget_set_show_other, function in GtkAppChooserWidget gtk_app_chooser_widget_set_show_recommended, function in GtkAppChooserWidget GtkArrowType, enum in GtkMenuButton GtkAspectFrame, struct in GtkAspectFrame GtkAspectFrame:child, object property in GtkAspectFrame GtkAspectFrame:obey-child, object property in GtkAspectFrame GtkAspectFrame:ratio, object property in GtkAspectFrame GtkAspectFrame:xalign, object property in GtkAspectFrame GtkAspectFrame:yalign, object property in GtkAspectFrame gtk_aspect_frame_get_child, function in GtkAspectFrame gtk_aspect_frame_get_obey_child, function in GtkAspectFrame gtk_aspect_frame_get_ratio, function in GtkAspectFrame gtk_aspect_frame_get_xalign, function in GtkAspectFrame gtk_aspect_frame_get_yalign, function in GtkAspectFrame gtk_aspect_frame_new, function in GtkAspectFrame gtk_aspect_frame_set_child, function in GtkAspectFrame gtk_aspect_frame_set_obey_child, function in GtkAspectFrame gtk_aspect_frame_set_ratio, function in GtkAspectFrame gtk_aspect_frame_set_xalign, function in GtkAspectFrame gtk_aspect_frame_set_yalign, function in GtkAspectFrame GtkAssistant, struct in GtkAssistant GtkAssistant::apply, object signal in GtkAssistant GtkAssistant::cancel, object signal in GtkAssistant GtkAssistant::close, object signal in GtkAssistant GtkAssistant::escape, object signal in GtkAssistant GtkAssistant::prepare, object signal in GtkAssistant GtkAssistant:pages, object property in GtkAssistant GtkAssistant:use-header-bar, object property in GtkAssistant GtkAssistantPage, struct in GtkAssistant GtkAssistantPage:child, object property in GtkAssistant GtkAssistantPage:complete, object property in GtkAssistant GtkAssistantPage:page-type, object property in GtkAssistant GtkAssistantPage:title, object property in GtkAssistant GtkAssistantPageFunc, user_function in GtkAssistant GtkAssistantPageType, enum in GtkAssistant gtk_assistant_add_action_widget, function in GtkAssistant gtk_assistant_append_page, function in GtkAssistant gtk_assistant_commit, function in GtkAssistant gtk_assistant_get_current_page, function in GtkAssistant gtk_assistant_get_nth_page, function in GtkAssistant gtk_assistant_get_n_pages, function in GtkAssistant gtk_assistant_get_page, function in GtkAssistant gtk_assistant_get_pages, function in GtkAssistant gtk_assistant_get_page_complete, function in GtkAssistant gtk_assistant_get_page_title, function in GtkAssistant gtk_assistant_get_page_type, function in GtkAssistant gtk_assistant_insert_page, function in GtkAssistant gtk_assistant_new, function in GtkAssistant gtk_assistant_next_page, function in GtkAssistant gtk_assistant_page_get_child, function in GtkAssistant gtk_assistant_prepend_page, function in GtkAssistant gtk_assistant_previous_page, function in GtkAssistant gtk_assistant_remove_action_widget, function in GtkAssistant gtk_assistant_remove_page, function in GtkAssistant gtk_assistant_set_current_page, function in GtkAssistant gtk_assistant_set_forward_page_func, function in GtkAssistant gtk_assistant_set_page_complete, function in GtkAssistant gtk_assistant_set_page_title, function in GtkAssistant gtk_assistant_set_page_type, function in GtkAssistant gtk_assistant_update_buttons_state, function in GtkAssistant GtkATContext, struct in GtkATContext GtkATContext::state-change, object signal in GtkATContext GtkATContext:accessible, object property in GtkATContext GtkATContext:accessible-role, object property in GtkATContext gtk_at_context_create, function in GtkATContext gtk_at_context_get_accessible, function in GtkATContext gtk_at_context_get_accessible_role, function in GtkATContext B GtkBaselinePosition, enum in Standard Enumerations GTK_BINARY_AGE, macro in Feature Test Macros GtkBinLayout, struct in GtkBinLayout gtk_bin_layout_new, function in GtkBinLayout GtkBitset, struct in GtkBitset GtkBitsetIter, struct in GtkBitset gtk_bitset_add, function in GtkBitset gtk_bitset_add_range, function in GtkBitset gtk_bitset_add_range_closed, function in GtkBitset gtk_bitset_add_rectangle, function in GtkBitset gtk_bitset_contains, function in GtkBitset gtk_bitset_copy, function in GtkBitset gtk_bitset_difference, function in GtkBitset gtk_bitset_equals, function in GtkBitset gtk_bitset_get_maximum, function in GtkBitset gtk_bitset_get_minimum, function in GtkBitset gtk_bitset_get_nth, function in GtkBitset gtk_bitset_get_size, function in GtkBitset gtk_bitset_get_size_in_range, function in GtkBitset gtk_bitset_intersect, function in GtkBitset gtk_bitset_is_empty, function in GtkBitset gtk_bitset_iter_get_value, function in GtkBitset gtk_bitset_iter_init_at, function in GtkBitset gtk_bitset_iter_init_first, function in GtkBitset gtk_bitset_iter_init_last, function in GtkBitset gtk_bitset_iter_is_valid, function in GtkBitset gtk_bitset_iter_next, function in GtkBitset gtk_bitset_iter_previous, function in GtkBitset gtk_bitset_new_empty, function in GtkBitset gtk_bitset_new_range, function in GtkBitset gtk_bitset_ref, function in GtkBitset gtk_bitset_remove, function in GtkBitset gtk_bitset_remove_all, function in GtkBitset gtk_bitset_remove_range, function in GtkBitset gtk_bitset_remove_range_closed, function in GtkBitset gtk_bitset_remove_rectangle, function in GtkBitset gtk_bitset_shift_left, function in GtkBitset gtk_bitset_shift_right, function in GtkBitset gtk_bitset_splice, function in GtkBitset gtk_bitset_subtract, function in GtkBitset gtk_bitset_union, function in GtkBitset gtk_bitset_unref, function in GtkBitset GtkBookmarkList, struct in GtkBookmarkList GtkBookmarkList:attributes, object property in GtkBookmarkList GtkBookmarkList:filename, object property in GtkBookmarkList GtkBookmarkList:io-priority, object property in GtkBookmarkList GtkBookmarkList:loading, object property in GtkBookmarkList gtk_bookmark_list_get_attributes, function in GtkBookmarkList gtk_bookmark_list_get_filename, function in GtkBookmarkList gtk_bookmark_list_get_io_priority, function in GtkBookmarkList gtk_bookmark_list_is_loading, function in GtkBookmarkList gtk_bookmark_list_new, function in GtkBookmarkList gtk_bookmark_list_set_attributes, function in GtkBookmarkList gtk_bookmark_list_set_io_priority, function in GtkBookmarkList GtkBoolFilter, struct in GtkBoolFilter gtk_bool_filter_get_expression, function in GtkBoolFilter gtk_bool_filter_get_invert, function in GtkBoolFilter gtk_bool_filter_new, function in GtkBoolFilter gtk_bool_filter_set_expression, function in GtkBoolFilter gtk_bool_filter_set_invert, function in GtkBoolFilter GtkBorder, struct in GtkStyleContext GtkBorderStyle, enum in GtkStyleContext gtk_border_copy, function in GtkStyleContext gtk_border_free, function in GtkStyleContext gtk_border_new, function in GtkStyleContext GtkBox, struct in GtkBox GtkBox:baseline-position, object property in GtkBox GtkBox:homogeneous, object property in GtkBox GtkBox:spacing, object property in GtkBox GtkBoxClass, struct in GtkBox GtkBoxLayout, struct in GtkBoxLayout GtkBoxLayout:baseline-position, object property in GtkBoxLayout GtkBoxLayout:homogeneous, object property in GtkBoxLayout GtkBoxLayout:spacing, object property in GtkBoxLayout gtk_box_append, function in GtkBox gtk_box_get_baseline_position, function in GtkBox gtk_box_get_homogeneous, function in GtkBox gtk_box_get_spacing, function in GtkBox gtk_box_insert_child_after, function in GtkBox gtk_box_layout_get_baseline_position, function in GtkBoxLayout gtk_box_layout_get_homogeneous, function in GtkBoxLayout gtk_box_layout_get_spacing, function in GtkBoxLayout gtk_box_layout_new, function in GtkBoxLayout gtk_box_layout_set_baseline_position, function in GtkBoxLayout gtk_box_layout_set_homogeneous, function in GtkBoxLayout gtk_box_layout_set_spacing, function in GtkBoxLayout gtk_box_new, function in GtkBox gtk_box_prepend, function in GtkBox gtk_box_remove, function in GtkBox gtk_box_reorder_child_after, function in GtkBox gtk_box_set_baseline_position, function in GtkBox gtk_box_set_homogeneous, function in GtkBox gtk_box_set_spacing, function in GtkBox GtkBuildable, struct in GtkBuildable GtkBuildableIface, struct in GtkBuildable gtk_buildable_add_child, function in GtkBuildable gtk_buildable_construct_child, function in GtkBuildable gtk_buildable_custom_finished, function in GtkBuildable gtk_buildable_custom_tag_end, function in GtkBuildable gtk_buildable_custom_tag_start, function in GtkBuildable gtk_buildable_get_internal_child, function in GtkBuildable gtk_buildable_get_name, function in GtkBuildable gtk_buildable_parser_finished, function in GtkBuildable gtk_buildable_set_buildable_property, function in GtkBuildable gtk_buildable_set_name, function in GtkBuildable GtkBuilder, struct in GtkBuilder GtkBuilder:current-object, object property in GtkBuilder GtkBuilder:scope, object property in GtkBuilder GtkBuilder:translation-domain, object property in GtkBuilder GtkBuilderClosureFlags, enum in GtkBuilder GtkBuilderError, enum in GtkBuilder GtkBuilderListItemFactory, struct in GtkBuilderListItemFactory GtkBuilderListItemFactory:bytes, object property in GtkBuilderListItemFactory GtkBuilderListItemFactory:resource, object property in GtkBuilderListItemFactory GtkBuilderListItemFactory:scope, object property in GtkBuilderListItemFactory gtk_builder_add_from_file, function in GtkBuilder gtk_builder_add_from_resource, function in GtkBuilder gtk_builder_add_from_string, function in GtkBuilder gtk_builder_add_objects_from_file, function in GtkBuilder gtk_builder_add_objects_from_resource, function in GtkBuilder gtk_builder_add_objects_from_string, function in GtkBuilder gtk_builder_create_closure, function in GtkBuilder gtk_builder_cscope_add_callback_symbol, function in GtkBuilderScope gtk_builder_cscope_add_callback_symbols, function in GtkBuilderScope gtk_builder_cscope_lookup_callback_symbol, function in GtkBuilderScope gtk_builder_cscope_new, function in GtkBuilderScope GTK_BUILDER_ERROR, macro in GtkBuilder gtk_builder_expose_object, function in GtkBuilder gtk_builder_extend_with_template, function in GtkBuilder gtk_builder_get_current_object, function in GtkBuilder gtk_builder_get_object, function in GtkBuilder gtk_builder_get_objects, function in GtkBuilder gtk_builder_get_scope, function in GtkBuilder gtk_builder_get_translation_domain, function in GtkBuilder gtk_builder_get_type_from_name, function in GtkBuilder gtk_builder_list_item_factory_get_bytes, function in GtkBuilderListItemFactory gtk_builder_list_item_factory_get_resource, function in GtkBuilderListItemFactory gtk_builder_list_item_factory_get_scope, function in GtkBuilderListItemFactory gtk_builder_list_item_factory_new_from_bytes, function in GtkBuilderListItemFactory gtk_builder_list_item_factory_new_from_resource, function in GtkBuilderListItemFactory gtk_builder_new, function in GtkBuilder gtk_builder_new_from_file, function in GtkBuilder gtk_builder_new_from_resource, function in GtkBuilder gtk_builder_new_from_string, function in GtkBuilder gtk_builder_set_current_object, function in GtkBuilder gtk_builder_set_scope, function in GtkBuilder gtk_builder_set_translation_domain, function in GtkBuilder gtk_builder_value_from_string, function in GtkBuilder gtk_builder_value_from_string_type, function in GtkBuilder GTK_BUILDER_WARN_INVALID_CHILD_TYPE, macro in GtkBuilder GtkButton, struct in GtkButton GtkButton::activate, object signal in GtkButton GtkButton::clicked, object signal in GtkButton GtkButton:child, object property in GtkButton GtkButton:has-frame, object property in GtkButton GtkButton:icon-name, object property in GtkButton GtkButton:label, object property in GtkButton GtkButton:use-underline, object property in GtkButton GtkButtonClass, struct in GtkButton GtkButtonsType, enum in GtkMessageDialog gtk_button_get_child, function in GtkButton gtk_button_get_has_frame, function in GtkButton gtk_button_get_icon_name, function in GtkButton gtk_button_get_label, function in GtkButton gtk_button_get_use_underline, function in GtkButton gtk_button_new, function in GtkButton gtk_button_new_from_icon_name, function in GtkButton gtk_button_new_with_label, function in GtkButton gtk_button_new_with_mnemonic, function in GtkButton gtk_button_set_child, function in GtkButton gtk_button_set_has_frame, function in GtkButton gtk_button_set_icon_name, function in GtkButton gtk_button_set_label, function in GtkButton gtk_button_set_use_underline, function in GtkButton C GtkCalendar, struct in GtkCalendar GtkCalendar::day-selected, object signal in GtkCalendar GtkCalendar::next-month, object signal in GtkCalendar GtkCalendar::next-year, object signal in GtkCalendar GtkCalendar::prev-month, object signal in GtkCalendar GtkCalendar::prev-year, object signal in GtkCalendar GtkCalendar:day, object property in GtkCalendar GtkCalendar:month, object property in GtkCalendar GtkCalendar:show-day-names, object property in GtkCalendar GtkCalendar:show-heading, object property in GtkCalendar GtkCalendar:show-week-numbers, object property in GtkCalendar GtkCalendar:year, object property in GtkCalendar gtk_calendar_clear_marks, function in GtkCalendar gtk_calendar_get_date, function in GtkCalendar gtk_calendar_get_day_is_marked, function in GtkCalendar gtk_calendar_get_show_day_names, function in GtkCalendar gtk_calendar_get_show_heading, function in GtkCalendar gtk_calendar_get_show_week_numbers, function in GtkCalendar gtk_calendar_mark_day, function in GtkCalendar gtk_calendar_new, function in GtkCalendar gtk_calendar_select_day, function in GtkCalendar gtk_calendar_set_show_day_names, function in GtkCalendar gtk_calendar_set_show_heading, function in GtkCalendar gtk_calendar_set_show_week_numbers, function in GtkCalendar gtk_calendar_unmark_day, function in GtkCalendar GtkCallback, user_function in GtkWidget GtkCallbackAction, struct in GtkShortcutAction gtk_callback_action_new, function in GtkShortcutAction gtk_cclosure_expression_new, function in GtkExpression GtkCellAllocCallback, user_function in GtkCellArea GtkCellArea, struct in GtkCellArea GtkCellArea::add-editable, object signal in GtkCellArea GtkCellArea::apply-attributes, object signal in GtkCellArea GtkCellArea::focus-changed, object signal in GtkCellArea GtkCellArea::remove-editable, object signal in GtkCellArea GtkCellArea:edit-widget, object property in GtkCellArea GtkCellArea:edited-cell, object property in GtkCellArea GtkCellArea:focus-cell, object property in GtkCellArea GtkCellAreaBox, struct in GtkCellAreaBox GtkCellAreaBox:align, object property in GtkCellAreaBox GtkCellAreaBox:expand, object property in GtkCellAreaBox GtkCellAreaBox:fixed-size, object property in GtkCellAreaBox GtkCellAreaBox:pack-type, object property in GtkCellAreaBox GtkCellAreaBox:spacing, object property in GtkCellAreaBox GtkCellAreaClass, struct in GtkCellArea GtkCellAreaContext, struct in GtkCellAreaContext GtkCellAreaContext:area, object property in GtkCellAreaContext GtkCellAreaContext:minimum-height, object property in GtkCellAreaContext GtkCellAreaContext:minimum-width, object property in GtkCellAreaContext GtkCellAreaContext:natural-height, object property in GtkCellAreaContext GtkCellAreaContext:natural-width, object property in GtkCellAreaContext GtkCellAreaContextClass, struct in GtkCellAreaContext GtkCellCallback, user_function in GtkCellArea GtkCellEditable, struct in GtkCellEditable GtkCellEditable::editing-done, object signal in GtkCellEditable GtkCellEditable::remove-widget, object signal in GtkCellEditable GtkCellEditable:editing-canceled, object property in GtkCellEditable GtkCellEditableIface, struct in GtkCellEditable GtkCellLayout, struct in GtkCellLayout GtkCellLayoutDataFunc, user_function in GtkCellLayout GtkCellLayoutIface, struct in GtkCellLayout GtkCellRenderer, struct in GtkCellRenderer GtkCellRenderer::editing-canceled, object signal in GtkCellRenderer GtkCellRenderer::editing-started, object signal in GtkCellRenderer GtkCellRenderer:cell-background, object property in GtkCellRenderer GtkCellRenderer:cell-background-rgba, object property in GtkCellRenderer GtkCellRenderer:cell-background-set, object property in GtkCellRenderer GtkCellRenderer:editing, object property in GtkCellRenderer GtkCellRenderer:height, object property in GtkCellRenderer GtkCellRenderer:is-expanded, object property in GtkCellRenderer GtkCellRenderer:is-expander, object property in GtkCellRenderer GtkCellRenderer:mode, object property in GtkCellRenderer GtkCellRenderer:sensitive, object property in GtkCellRenderer GtkCellRenderer:visible, object property in GtkCellRenderer GtkCellRenderer:width, object property in GtkCellRenderer GtkCellRenderer:xalign, object property in GtkCellRenderer GtkCellRenderer:xpad, object property in GtkCellRenderer GtkCellRenderer:yalign, object property in GtkCellRenderer GtkCellRenderer:ypad, object property in GtkCellRenderer GtkCellRendererAccel, struct in GtkCellRendererAccel GtkCellRendererAccel::accel-cleared, object signal in GtkCellRendererAccel GtkCellRendererAccel::accel-edited, object signal in GtkCellRendererAccel GtkCellRendererAccel:accel-key, object property in GtkCellRendererAccel GtkCellRendererAccel:accel-mode, object property in GtkCellRendererAccel GtkCellRendererAccel:accel-mods, object property in GtkCellRendererAccel GtkCellRendererAccel:keycode, object property in GtkCellRendererAccel GtkCellRendererAccelMode, enum in GtkCellRendererAccel GtkCellRendererClass, struct in GtkCellRenderer GtkCellRendererCombo, struct in GtkCellRendererCombo GtkCellRendererCombo::changed, object signal in GtkCellRendererCombo GtkCellRendererCombo:has-entry, object property in GtkCellRendererCombo GtkCellRendererCombo:model, object property in GtkCellRendererCombo GtkCellRendererCombo:text-column, object property in GtkCellRendererCombo GtkCellRendererMode, enum in GtkCellRenderer GtkCellRendererPixbuf, struct in GtkCellRendererPixbuf GtkCellRendererPixbuf:gicon, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:icon-name, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:icon-size, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:pixbuf, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:pixbuf-expander-closed, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:pixbuf-expander-open, object property in GtkCellRendererPixbuf GtkCellRendererPixbuf:texture, object property in GtkCellRendererPixbuf GtkCellRendererProgress, struct in GtkCellRendererProgress GtkCellRendererProgress:inverted, object property in GtkCellRendererProgress GtkCellRendererProgress:pulse, object property in GtkCellRendererProgress GtkCellRendererProgress:text, object property in GtkCellRendererProgress GtkCellRendererProgress:text-xalign, object property in GtkCellRendererProgress GtkCellRendererProgress:text-yalign, object property in GtkCellRendererProgress GtkCellRendererProgress:value, object property in GtkCellRendererProgress GtkCellRendererSpin, struct in GtkCellRendererSpin GtkCellRendererSpin:adjustment, object property in GtkCellRendererSpin GtkCellRendererSpin:climb-rate, object property in GtkCellRendererSpin GtkCellRendererSpin:digits, object property in GtkCellRendererSpin GtkCellRendererSpinner, struct in GtkCellRendererSpinner GtkCellRendererSpinner:active, object property in GtkCellRendererSpinner GtkCellRendererSpinner:pulse, object property in GtkCellRendererSpinner GtkCellRendererSpinner:size, object property in GtkCellRendererSpinner GtkCellRendererState, enum in GtkCellRenderer GtkCellRendererText, struct in GtkCellRendererText GtkCellRendererText::edited, object signal in GtkCellRendererText GtkCellRendererText:align-set, object property in GtkCellRendererText GtkCellRendererText:alignment, object property in GtkCellRendererText GtkCellRendererText:attributes, object property in GtkCellRendererText GtkCellRendererText:background, object property in GtkCellRendererText GtkCellRendererText:background-rgba, object property in GtkCellRendererText GtkCellRendererText:background-set, object property in GtkCellRendererText GtkCellRendererText:editable, object property in GtkCellRendererText GtkCellRendererText:editable-set, object property in GtkCellRendererText GtkCellRendererText:ellipsize, object property in GtkCellRendererText GtkCellRendererText:ellipsize-set, object property in GtkCellRendererText GtkCellRendererText:family, object property in GtkCellRendererText GtkCellRendererText:family-set, object property in GtkCellRendererText GtkCellRendererText:font, object property in GtkCellRendererText GtkCellRendererText:font-desc, object property in GtkCellRendererText GtkCellRendererText:foreground, object property in GtkCellRendererText GtkCellRendererText:foreground-rgba, object property in GtkCellRendererText GtkCellRendererText:foreground-set, object property in GtkCellRendererText GtkCellRendererText:language, object property in GtkCellRendererText GtkCellRendererText:language-set, object property in GtkCellRendererText GtkCellRendererText:markup, object property in GtkCellRendererText GtkCellRendererText:max-width-chars, object property in GtkCellRendererText GtkCellRendererText:placeholder-text, object property in GtkCellRendererText GtkCellRendererText:rise, object property in GtkCellRendererText GtkCellRendererText:rise-set, object property in GtkCellRendererText GtkCellRendererText:scale, object property in GtkCellRendererText GtkCellRendererText:scale-set, object property in GtkCellRendererText GtkCellRendererText:single-paragraph-mode, object property in GtkCellRendererText GtkCellRendererText:size, object property in GtkCellRendererText GtkCellRendererText:size-points, object property in GtkCellRendererText GtkCellRendererText:size-set, object property in GtkCellRendererText GtkCellRendererText:stretch, object property in GtkCellRendererText GtkCellRendererText:stretch-set, object property in GtkCellRendererText GtkCellRendererText:strikethrough, object property in GtkCellRendererText GtkCellRendererText:strikethrough-set, object property in GtkCellRendererText GtkCellRendererText:style, object property in GtkCellRendererText GtkCellRendererText:style-set, object property in GtkCellRendererText GtkCellRendererText:text, object property in GtkCellRendererText GtkCellRendererText:underline, object property in GtkCellRendererText GtkCellRendererText:underline-set, object property in GtkCellRendererText GtkCellRendererText:variant, object property in GtkCellRendererText GtkCellRendererText:variant-set, object property in GtkCellRendererText GtkCellRendererText:weight, object property in GtkCellRendererText GtkCellRendererText:weight-set, object property in GtkCellRendererText GtkCellRendererText:width-chars, object property in GtkCellRendererText GtkCellRendererText:wrap-mode, object property in GtkCellRendererText GtkCellRendererText:wrap-width, object property in GtkCellRendererText GtkCellRendererToggle, struct in GtkCellRendererToggle GtkCellRendererToggle::toggled, object signal in GtkCellRendererToggle GtkCellRendererToggle:activatable, object property in GtkCellRendererToggle GtkCellRendererToggle:active, object property in GtkCellRendererToggle GtkCellRendererToggle:inconsistent, object property in GtkCellRendererToggle GtkCellRendererToggle:radio, object property in GtkCellRendererToggle GtkCellView, struct in GtkCellView GtkCellView:cell-area, object property in GtkCellView GtkCellView:cell-area-context, object property in GtkCellView GtkCellView:draw-sensitive, object property in GtkCellView GtkCellView:fit-model, object property in GtkCellView GtkCellView:model, object property in GtkCellView gtk_cell_area_activate, function in GtkCellArea gtk_cell_area_activate_cell, function in GtkCellArea gtk_cell_area_add, function in GtkCellArea gtk_cell_area_add_focus_sibling, function in GtkCellArea gtk_cell_area_add_with_properties, function in GtkCellArea gtk_cell_area_apply_attributes, function in GtkCellArea gtk_cell_area_attribute_connect, function in GtkCellArea gtk_cell_area_attribute_disconnect, function in GtkCellArea gtk_cell_area_attribute_get_column, function in GtkCellArea gtk_cell_area_box_get_spacing, function in GtkCellAreaBox gtk_cell_area_box_new, function in GtkCellAreaBox gtk_cell_area_box_pack_end, function in GtkCellAreaBox gtk_cell_area_box_pack_start, function in GtkCellAreaBox gtk_cell_area_box_set_spacing, function in GtkCellAreaBox gtk_cell_area_cell_get, function in GtkCellArea gtk_cell_area_cell_get_property, function in GtkCellArea gtk_cell_area_cell_get_valist, function in GtkCellArea gtk_cell_area_cell_set, function in GtkCellArea gtk_cell_area_cell_set_property, function in GtkCellArea gtk_cell_area_cell_set_valist, function in GtkCellArea gtk_cell_area_class_find_cell_property, function in GtkCellArea gtk_cell_area_class_install_cell_property, function in GtkCellArea gtk_cell_area_class_list_cell_properties, function in GtkCellArea gtk_cell_area_context_allocate, function in GtkCellAreaContext gtk_cell_area_context_get_allocation, function in GtkCellAreaContext gtk_cell_area_context_get_area, function in GtkCellAreaContext gtk_cell_area_context_get_preferred_height, function in GtkCellAreaContext gtk_cell_area_context_get_preferred_height_for_width, function in GtkCellAreaContext gtk_cell_area_context_get_preferred_width, function in GtkCellAreaContext gtk_cell_area_context_get_preferred_width_for_height, function in GtkCellAreaContext gtk_cell_area_context_push_preferred_height, function in GtkCellAreaContext gtk_cell_area_context_push_preferred_width, function in GtkCellAreaContext gtk_cell_area_context_reset, function in GtkCellAreaContext gtk_cell_area_copy_context, function in GtkCellArea gtk_cell_area_create_context, function in GtkCellArea gtk_cell_area_event, function in GtkCellArea gtk_cell_area_focus, function in GtkCellArea gtk_cell_area_foreach, function in GtkCellArea gtk_cell_area_foreach_alloc, function in GtkCellArea gtk_cell_area_get_cell_allocation, function in GtkCellArea gtk_cell_area_get_cell_at_position, function in GtkCellArea gtk_cell_area_get_current_path_string, function in GtkCellArea gtk_cell_area_get_edited_cell, function in GtkCellArea gtk_cell_area_get_edit_widget, function in GtkCellArea gtk_cell_area_get_focus_cell, function in GtkCellArea gtk_cell_area_get_focus_from_sibling, function in GtkCellArea gtk_cell_area_get_focus_siblings, function in GtkCellArea gtk_cell_area_get_preferred_height, function in GtkCellArea gtk_cell_area_get_preferred_height_for_width, function in GtkCellArea gtk_cell_area_get_preferred_width, function in GtkCellArea gtk_cell_area_get_preferred_width_for_height, function in GtkCellArea gtk_cell_area_get_request_mode, function in GtkCellArea gtk_cell_area_has_renderer, function in GtkCellArea gtk_cell_area_inner_cell_area, function in GtkCellArea gtk_cell_area_is_activatable, function in GtkCellArea gtk_cell_area_is_focus_sibling, function in GtkCellArea gtk_cell_area_remove, function in GtkCellArea gtk_cell_area_remove_focus_sibling, function in GtkCellArea gtk_cell_area_request_renderer, function in GtkCellArea gtk_cell_area_set_focus_cell, function in GtkCellArea gtk_cell_area_snapshot, function in GtkCellArea gtk_cell_area_stop_editing, function in GtkCellArea GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID, macro in GtkCellArea gtk_cell_editable_editing_done, function in GtkCellEditable gtk_cell_editable_remove_widget, function in GtkCellEditable gtk_cell_editable_start_editing, function in GtkCellEditable gtk_cell_layout_add_attribute, function in GtkCellLayout gtk_cell_layout_clear, function in GtkCellLayout gtk_cell_layout_clear_attributes, function in GtkCellLayout gtk_cell_layout_get_area, function in GtkCellLayout gtk_cell_layout_get_cells, function in GtkCellLayout gtk_cell_layout_pack_end, function in GtkCellLayout gtk_cell_layout_pack_start, function in GtkCellLayout gtk_cell_layout_reorder, function in GtkCellLayout gtk_cell_layout_set_attributes, function in GtkCellLayout gtk_cell_layout_set_cell_data_func, function in GtkCellLayout gtk_cell_renderer_accel_new, function in GtkCellRendererAccel gtk_cell_renderer_activate, function in GtkCellRenderer gtk_cell_renderer_combo_new, function in GtkCellRendererCombo gtk_cell_renderer_get_aligned_area, function in GtkCellRenderer gtk_cell_renderer_get_alignment, function in GtkCellRenderer gtk_cell_renderer_get_fixed_size, function in GtkCellRenderer gtk_cell_renderer_get_padding, function in GtkCellRenderer gtk_cell_renderer_get_preferred_height, function in GtkCellRenderer gtk_cell_renderer_get_preferred_height_for_width, function in GtkCellRenderer gtk_cell_renderer_get_preferred_size, function in GtkCellRenderer gtk_cell_renderer_get_preferred_width, function in GtkCellRenderer gtk_cell_renderer_get_preferred_width_for_height, function in GtkCellRenderer gtk_cell_renderer_get_request_mode, function in GtkCellRenderer gtk_cell_renderer_get_sensitive, function in GtkCellRenderer gtk_cell_renderer_get_state, function in GtkCellRenderer gtk_cell_renderer_get_visible, function in GtkCellRenderer gtk_cell_renderer_is_activatable, function in GtkCellRenderer gtk_cell_renderer_pixbuf_new, function in GtkCellRendererPixbuf gtk_cell_renderer_progress_new, function in GtkCellRendererProgress gtk_cell_renderer_set_alignment, function in GtkCellRenderer gtk_cell_renderer_set_fixed_size, function in GtkCellRenderer gtk_cell_renderer_set_padding, function in GtkCellRenderer gtk_cell_renderer_set_sensitive, function in GtkCellRenderer gtk_cell_renderer_set_visible, function in GtkCellRenderer gtk_cell_renderer_snapshot, function in GtkCellRenderer gtk_cell_renderer_spinner_new, function in GtkCellRendererSpinner gtk_cell_renderer_spin_new, function in GtkCellRendererSpin gtk_cell_renderer_start_editing, function in GtkCellRenderer gtk_cell_renderer_stop_editing, function in GtkCellRenderer gtk_cell_renderer_text_new, function in GtkCellRendererText gtk_cell_renderer_text_set_fixed_height_from_font, function in GtkCellRendererText gtk_cell_renderer_toggle_get_activatable, function in GtkCellRendererToggle gtk_cell_renderer_toggle_get_active, function in GtkCellRendererToggle gtk_cell_renderer_toggle_get_radio, function in GtkCellRendererToggle gtk_cell_renderer_toggle_new, function in GtkCellRendererToggle gtk_cell_renderer_toggle_set_activatable, function in GtkCellRendererToggle gtk_cell_renderer_toggle_set_active, function in GtkCellRendererToggle gtk_cell_renderer_toggle_set_radio, function in GtkCellRendererToggle gtk_cell_view_get_displayed_row, function in GtkCellView gtk_cell_view_get_draw_sensitive, function in GtkCellView gtk_cell_view_get_fit_model, function in GtkCellView gtk_cell_view_get_model, function in GtkCellView gtk_cell_view_new, function in GtkCellView gtk_cell_view_new_with_context, function in GtkCellView gtk_cell_view_new_with_markup, function in GtkCellView gtk_cell_view_new_with_text, function in GtkCellView gtk_cell_view_new_with_texture, function in GtkCellView gtk_cell_view_set_displayed_row, function in GtkCellView gtk_cell_view_set_draw_sensitive, function in GtkCellView gtk_cell_view_set_fit_model, function in GtkCellView gtk_cell_view_set_model, function in GtkCellView GtkCenterBox, struct in GtkCenterBox GtkCenterLayout, struct in GtkCenterLayout gtk_center_box_get_baseline_position, function in GtkCenterBox gtk_center_box_get_center_widget, function in GtkCenterBox gtk_center_box_get_end_widget, function in GtkCenterBox gtk_center_box_get_start_widget, function in GtkCenterBox gtk_center_box_new, function in GtkCenterBox gtk_center_box_set_baseline_position, function in GtkCenterBox gtk_center_box_set_center_widget, function in GtkCenterBox gtk_center_box_set_end_widget, function in GtkCenterBox gtk_center_box_set_start_widget, function in GtkCenterBox gtk_center_layout_get_baseline_position, function in GtkCenterLayout gtk_center_layout_get_center_widget, function in GtkCenterLayout gtk_center_layout_get_end_widget, function in GtkCenterLayout gtk_center_layout_get_orientation, function in GtkCenterLayout gtk_center_layout_get_start_widget, function in GtkCenterLayout gtk_center_layout_new, function in GtkCenterLayout gtk_center_layout_set_baseline_position, function in GtkCenterLayout gtk_center_layout_set_center_widget, function in GtkCenterLayout gtk_center_layout_set_end_widget, function in GtkCenterLayout gtk_center_layout_set_orientation, function in GtkCenterLayout gtk_center_layout_set_start_widget, function in GtkCenterLayout GtkCheckButton, struct in GtkCheckButton GtkCheckButton:draw-indicator, object property in GtkCheckButton GtkCheckButton:inconsistent, object property in GtkCheckButton gtk_check_button_get_draw_indicator, function in GtkCheckButton gtk_check_button_get_inconsistent, function in GtkCheckButton gtk_check_button_new, function in GtkCheckButton gtk_check_button_new_with_label, function in GtkCheckButton gtk_check_button_new_with_mnemonic, function in GtkCheckButton gtk_check_button_set_draw_indicator, function in GtkCheckButton gtk_check_button_set_inconsistent, function in GtkCheckButton GTK_CHECK_VERSION, macro in Feature Test Macros gtk_check_version, function in Feature Test Macros gtk_closure_expression_new, function in GtkExpression GtkColorButton, struct in GtkColorButton GtkColorButton::color-set, object signal in GtkColorButton GtkColorButton:modal, object property in GtkColorButton GtkColorButton:rgba, object property in GtkColorButton GtkColorButton:show-editor, object property in GtkColorButton GtkColorButton:title, object property in GtkColorButton GtkColorButton:use-alpha, object property in GtkColorButton GtkColorChooser, struct in GtkColorChooser GtkColorChooser::color-activated, object signal in GtkColorChooser GtkColorChooser:rgba, object property in GtkColorChooser GtkColorChooser:use-alpha, object property in GtkColorChooser GtkColorChooserDialog, struct in GtkColorChooserDialog GtkColorChooserDialog:show-editor, object property in GtkColorChooserDialog GtkColorChooserWidget, struct in GtkColorChooserWidget GtkColorChooserWidget:show-editor, object property in GtkColorChooserWidget GtkColorChooserWidget|color.customize, action in GtkColorChooserWidget GtkColorChooserWidget|color.select, action in GtkColorChooserWidget gtk_color_button_get_modal, function in GtkColorButton gtk_color_button_get_title, function in GtkColorButton gtk_color_button_new, function in GtkColorButton gtk_color_button_new_with_rgba, function in GtkColorButton gtk_color_button_set_modal, function in GtkColorButton gtk_color_button_set_title, function in GtkColorButton gtk_color_chooser_add_palette, function in GtkColorChooser gtk_color_chooser_dialog_new, function in GtkColorChooserDialog gtk_color_chooser_get_rgba, function in GtkColorChooser gtk_color_chooser_get_use_alpha, function in GtkColorChooser gtk_color_chooser_set_rgba, function in GtkColorChooser gtk_color_chooser_set_use_alpha, function in GtkColorChooser gtk_color_chooser_widget_new, function in GtkColorChooserWidget GtkColumnView, struct in GtkColumnView GtkColumnView::activate, object signal in GtkColumnView GtkColumnView:columns, object property in GtkColumnView GtkColumnView:enable-rubberband, object property in GtkColumnView GtkColumnView:model, object property in GtkColumnView GtkColumnView:reorderable, object property in GtkColumnView GtkColumnView:show-column-separators, object property in GtkColumnView GtkColumnView:show-row-separators, object property in GtkColumnView GtkColumnView:single-click-activate, object property in GtkColumnView GtkColumnView:sorter, object property in GtkColumnView GtkColumnViewColumn, struct in GtkColumnViewColumn GtkColumnViewColumn:column-view, object property in GtkColumnViewColumn GtkColumnViewColumn:expand, object property in GtkColumnViewColumn GtkColumnViewColumn:factory, object property in GtkColumnViewColumn GtkColumnViewColumn:fixed-width, object property in GtkColumnViewColumn GtkColumnViewColumn:header-menu, object property in GtkColumnViewColumn GtkColumnViewColumn:resizable, object property in GtkColumnViewColumn GtkColumnViewColumn:sorter, object property in GtkColumnViewColumn GtkColumnViewColumn:title, object property in GtkColumnViewColumn GtkColumnViewColumn:visible, object property in GtkColumnViewColumn gtk_column_view_append_column, function in GtkColumnView gtk_column_view_column_get_column_view, function in GtkColumnViewColumn gtk_column_view_column_get_expand, function in GtkColumnViewColumn gtk_column_view_column_get_factory, function in GtkColumnViewColumn gtk_column_view_column_get_fixed_width, function in GtkColumnViewColumn gtk_column_view_column_get_header_menu, function in GtkColumnViewColumn gtk_column_view_column_get_resizable, function in GtkColumnViewColumn gtk_column_view_column_get_sorter, function in GtkColumnViewColumn gtk_column_view_column_get_title, function in GtkColumnViewColumn gtk_column_view_column_get_visible, function in GtkColumnViewColumn gtk_column_view_column_new, function in GtkColumnViewColumn gtk_column_view_column_new_with_factory, function in GtkColumnViewColumn gtk_column_view_column_set_expand, function in GtkColumnViewColumn gtk_column_view_column_set_factory, function in GtkColumnViewColumn gtk_column_view_column_set_fixed_width, function in GtkColumnViewColumn gtk_column_view_column_set_header_menu, function in GtkColumnViewColumn gtk_column_view_column_set_resizable, function in GtkColumnViewColumn gtk_column_view_column_set_sorter, function in GtkColumnViewColumn gtk_column_view_column_set_title, function in GtkColumnViewColumn gtk_column_view_column_set_visible, function in GtkColumnViewColumn gtk_column_view_get_columns, function in GtkColumnView gtk_column_view_get_enable_rubberband, function in GtkColumnView gtk_column_view_get_model, function in GtkColumnView gtk_column_view_get_reorderable, function in GtkColumnView gtk_column_view_get_show_column_separators, function in GtkColumnView gtk_column_view_get_show_row_separators, function in GtkColumnView gtk_column_view_get_single_click_activate, function in GtkColumnView gtk_column_view_get_sorter, function in GtkColumnView gtk_column_view_insert_column, function in GtkColumnView gtk_column_view_new, function in GtkColumnView gtk_column_view_remove_column, function in GtkColumnView gtk_column_view_set_enable_rubberband, function in GtkColumnView gtk_column_view_set_model, function in GtkColumnView gtk_column_view_set_reorderable, function in GtkColumnView gtk_column_view_set_show_column_separators, function in GtkColumnView gtk_column_view_set_show_row_separators, function in GtkColumnView gtk_column_view_set_single_click_activate, function in GtkColumnView gtk_column_view_sort_by_column, function in GtkColumnView GtkComboBox, struct in GtkComboBox GtkComboBox::changed, object signal in GtkComboBox GtkComboBox::format-entry-text, object signal in GtkComboBox GtkComboBox::move-active, object signal in GtkComboBox GtkComboBox::popdown, object signal in GtkComboBox GtkComboBox::popup, object signal in GtkComboBox GtkComboBox:active, object property in GtkComboBox GtkComboBox:active-id, object property in GtkComboBox GtkComboBox:button-sensitivity, object property in GtkComboBox GtkComboBox:child, object property in GtkComboBox GtkComboBox:entry-text-column, object property in GtkComboBox GtkComboBox:has-entry, object property in GtkComboBox GtkComboBox:has-frame, object property in GtkComboBox GtkComboBox:id-column, object property in GtkComboBox GtkComboBox:model, object property in GtkComboBox GtkComboBox:popup-fixed-width, object property in GtkComboBox GtkComboBox:popup-shown, object property in GtkComboBox GtkComboBoxClass, struct in GtkComboBox GtkComboBoxText, struct in GtkComboBoxText gtk_combo_box_get_active, function in GtkComboBox gtk_combo_box_get_active_id, function in GtkComboBox gtk_combo_box_get_active_iter, function in GtkComboBox gtk_combo_box_get_button_sensitivity, function in GtkComboBox gtk_combo_box_get_child, function in GtkComboBox gtk_combo_box_get_entry_text_column, function in GtkComboBox gtk_combo_box_get_has_entry, function in GtkComboBox gtk_combo_box_get_id_column, function in GtkComboBox gtk_combo_box_get_model, function in GtkComboBox gtk_combo_box_get_popup_fixed_width, function in GtkComboBox gtk_combo_box_get_row_separator_func, function in GtkComboBox gtk_combo_box_new, function in GtkComboBox gtk_combo_box_new_with_entry, function in GtkComboBox gtk_combo_box_new_with_model, function in GtkComboBox gtk_combo_box_new_with_model_and_entry, function in GtkComboBox gtk_combo_box_popdown, function in GtkComboBox gtk_combo_box_set_active, function in GtkComboBox gtk_combo_box_set_active_id, function in GtkComboBox gtk_combo_box_set_active_iter, function in GtkComboBox gtk_combo_box_set_button_sensitivity, function in GtkComboBox gtk_combo_box_set_child, function in GtkComboBox gtk_combo_box_set_entry_text_column, function in GtkComboBox gtk_combo_box_set_id_column, function in GtkComboBox gtk_combo_box_set_model, function in GtkComboBox gtk_combo_box_set_popup_fixed_width, function in GtkComboBox gtk_combo_box_set_row_separator_func, function in GtkComboBox gtk_combo_box_text_append, function in GtkComboBoxText gtk_combo_box_text_append_text, function in GtkComboBoxText gtk_combo_box_text_get_active_text, function in GtkComboBoxText gtk_combo_box_text_insert, function in GtkComboBoxText gtk_combo_box_text_insert_text, function in GtkComboBoxText gtk_combo_box_text_new, function in GtkComboBoxText gtk_combo_box_text_new_with_entry, function in GtkComboBoxText gtk_combo_box_text_prepend, function in GtkComboBoxText gtk_combo_box_text_prepend_text, function in GtkComboBoxText gtk_combo_box_text_remove, function in GtkComboBoxText gtk_combo_box_text_remove_all, function in GtkComboBoxText gtk_constant_expression_get_value, function in GtkExpression gtk_constant_expression_new, function in GtkExpression gtk_constant_expression_new_for_value, function in GtkExpression GtkConstraint, struct in GtkConstraint GtkConstraint:constant, object property in GtkConstraint GtkConstraint:multiplier, object property in GtkConstraint GtkConstraint:relation, object property in GtkConstraint GtkConstraint:source, object property in GtkConstraint GtkConstraint:source-attribute, object property in GtkConstraint GtkConstraint:strength, object property in GtkConstraint GtkConstraint:target, object property in GtkConstraint GtkConstraint:target-attribute, object property in GtkConstraint GtkConstraintAttribute, enum in GtkConstraint GtkConstraintGuide, struct in GtkConstraintGuide GtkConstraintGuide:max-height, object property in GtkConstraintGuide GtkConstraintGuide:max-width, object property in GtkConstraintGuide GtkConstraintGuide:min-height, object property in GtkConstraintGuide GtkConstraintGuide:min-width, object property in GtkConstraintGuide GtkConstraintGuide:name, object property in GtkConstraintGuide GtkConstraintGuide:nat-height, object property in GtkConstraintGuide GtkConstraintGuide:nat-width, object property in GtkConstraintGuide GtkConstraintGuide:strength, object property in GtkConstraintGuide GtkConstraintLayout, struct in GtkConstraintLayout GtkConstraintLayoutChild, struct in GtkConstraintLayout GtkConstraintRelation, enum in GtkConstraint GtkConstraintStrength, enum in GtkConstraint GtkConstraintTarget, struct in GtkConstraint GtkConstraintVflParserError, enum in GtkConstraintLayout gtk_constraint_get_constant, function in GtkConstraint gtk_constraint_get_multiplier, function in GtkConstraint gtk_constraint_get_relation, function in GtkConstraint gtk_constraint_get_source, function in GtkConstraint gtk_constraint_get_source_attribute, function in GtkConstraint gtk_constraint_get_strength, function in GtkConstraint gtk_constraint_get_target, function in GtkConstraint gtk_constraint_get_target_attribute, function in GtkConstraint gtk_constraint_guide_get_max_size, function in GtkConstraintGuide gtk_constraint_guide_get_min_size, function in GtkConstraintGuide gtk_constraint_guide_get_name, function in GtkConstraintGuide gtk_constraint_guide_get_nat_size, function in GtkConstraintGuide gtk_constraint_guide_get_strength, function in GtkConstraintGuide gtk_constraint_guide_new, function in GtkConstraintGuide gtk_constraint_guide_set_max_size, function in GtkConstraintGuide gtk_constraint_guide_set_min_size, function in GtkConstraintGuide gtk_constraint_guide_set_name, function in GtkConstraintGuide gtk_constraint_guide_set_nat_size, function in GtkConstraintGuide gtk_constraint_guide_set_strength, function in GtkConstraintGuide gtk_constraint_is_attached, function in GtkConstraint gtk_constraint_is_constant, function in GtkConstraint gtk_constraint_is_required, function in GtkConstraint gtk_constraint_layout_add_constraint, function in GtkConstraintLayout gtk_constraint_layout_add_constraints_from_description, function in GtkConstraintLayout gtk_constraint_layout_add_constraints_from_descriptionv, function in GtkConstraintLayout gtk_constraint_layout_add_guide, function in GtkConstraintLayout gtk_constraint_layout_new, function in GtkConstraintLayout gtk_constraint_layout_observe_constraints, function in GtkConstraintLayout gtk_constraint_layout_observe_guides, function in GtkConstraintLayout gtk_constraint_layout_remove_all_constraints, function in GtkConstraintLayout gtk_constraint_layout_remove_constraint, function in GtkConstraintLayout gtk_constraint_layout_remove_guide, function in GtkConstraintLayout gtk_constraint_new, function in GtkConstraint gtk_constraint_new_constant, function in GtkConstraint GtkCornerType, enum in GtkScrolledWindow GtkCssLocation, struct in GtkCssProvider GtkCssParserError, enum in GtkCssProvider GtkCssParserWarning, enum in GtkCssProvider GtkCssProvider, struct in GtkCssProvider GtkCssProvider::parsing-error, object signal in GtkCssProvider GtkCssSection, struct in GtkCssProvider GTK_CSS_PARSER_ERROR, macro in GtkCssProvider gtk_css_provider_load_from_data, function in GtkCssProvider gtk_css_provider_load_from_file, function in GtkCssProvider gtk_css_provider_load_from_path, function in GtkCssProvider gtk_css_provider_load_from_resource, function in GtkCssProvider gtk_css_provider_load_named, function in GtkCssProvider gtk_css_provider_new, function in GtkCssProvider gtk_css_provider_to_string, function in GtkCssProvider gtk_css_section_get_end_location, function in GtkCssProvider gtk_css_section_get_file, function in GtkCssProvider gtk_css_section_get_parent, function in GtkCssProvider gtk_css_section_get_start_location, function in GtkCssProvider gtk_css_section_new, function in GtkCssProvider gtk_css_section_print, function in GtkCssProvider gtk_css_section_ref, function in GtkCssProvider gtk_css_section_to_string, function in GtkCssProvider gtk_css_section_unref, function in GtkCssProvider GtkCustomAllocateFunc, user_function in GtkCustomLayout GtkCustomFilter, struct in GtkCustomFilter GtkCustomFilterFunc, user_function in GtkCustomFilter GtkCustomLayout, struct in GtkCustomLayout GtkCustomMeasureFunc, user_function in GtkCustomLayout GtkCustomRequestModeFunc, user_function in GtkCustomLayout GtkCustomSorter, struct in GtkCustomSorter gtk_custom_filter_new, function in GtkCustomFilter gtk_custom_filter_set_filter_func, function in GtkCustomFilter gtk_custom_layout_new, function in GtkCustomLayout gtk_custom_sorter_new, function in GtkCustomSorter gtk_custom_sorter_set_sort_func, function in GtkCustomSorter D GtkDeleteType, enum in Standard Enumerations GtkDialog, struct in GtkDialog GtkDialog::close, object signal in GtkDialog GtkDialog::response, object signal in GtkDialog GtkDialog:use-header-bar, object property in GtkDialog GtkDialogClass, struct in GtkDialog GtkDialogFlags, enum in GtkDialog gtk_dialog_add_action_widget, function in GtkDialog gtk_dialog_add_button, function in GtkDialog gtk_dialog_add_buttons, function in GtkDialog gtk_dialog_get_content_area, function in GtkDialog gtk_dialog_get_header_bar, function in GtkDialog gtk_dialog_get_response_for_widget, function in GtkDialog gtk_dialog_get_widget_for_response, function in GtkDialog gtk_dialog_new, function in GtkDialog gtk_dialog_new_with_buttons, function in GtkDialog gtk_dialog_response, function in GtkDialog gtk_dialog_set_default_response, function in GtkDialog gtk_dialog_set_response_sensitive, function in GtkDialog GtkDirectionType, enum in Standard Enumerations GtkDirectoryList, struct in GtkDirectoryList GtkDirectoryList:attributes, object property in GtkDirectoryList GtkDirectoryList:error, object property in GtkDirectoryList GtkDirectoryList:file, object property in GtkDirectoryList GtkDirectoryList:io-priority, object property in GtkDirectoryList GtkDirectoryList:item-type, object property in GtkDirectoryList GtkDirectoryList:loading, object property in GtkDirectoryList GtkDirectoryList:monitored, object property in GtkDirectoryList gtk_directory_list_get_attributes, function in GtkDirectoryList gtk_directory_list_get_error, function in GtkDirectoryList gtk_directory_list_get_file, function in GtkDirectoryList gtk_directory_list_get_io_priority, function in GtkDirectoryList gtk_directory_list_get_monitored, function in GtkDirectoryList gtk_directory_list_is_loading, function in GtkDirectoryList gtk_directory_list_new, function in GtkDirectoryList gtk_directory_list_set_attributes, function in GtkDirectoryList gtk_directory_list_set_file, function in GtkDirectoryList gtk_directory_list_set_io_priority, function in GtkDirectoryList gtk_directory_list_set_monitored, function in GtkDirectoryList gtk_disable_setlocale, function in General gtk_distribute_natural_allocation, function in GtkWidget GtkDragIcon, struct in GtkDragIcon GtkDragIcon:child, object property in GtkDragIcon GtkDragSource, struct in GtkDragSource GtkDragSource::drag-begin, object signal in GtkDragSource GtkDragSource::drag-cancel, object signal in GtkDragSource GtkDragSource::drag-end, object signal in GtkDragSource GtkDragSource::prepare, object signal in GtkDragSource GtkDragSource:actions, object property in GtkDragSource GtkDragSource:content, object property in GtkDragSource gtk_drag_check_threshold, function in GtkDragSource gtk_drag_icon_create_widget_for_value, function in GtkDragIcon gtk_drag_icon_get_child, function in GtkDragIcon gtk_drag_icon_get_for_drag, function in GtkDragIcon gtk_drag_icon_set_child, function in GtkDragIcon gtk_drag_icon_set_from_paintable, function in GtkDragIcon gtk_drag_source_drag_cancel, function in GtkDragSource gtk_drag_source_get_actions, function in GtkDragSource gtk_drag_source_get_content, function in GtkDragSource gtk_drag_source_get_drag, function in GtkDragSource gtk_drag_source_new, function in GtkDragSource gtk_drag_source_set_actions, function in GtkDragSource gtk_drag_source_set_content, function in GtkDragSource gtk_drag_source_set_icon, function in GtkDragSource GtkDrawingArea, struct in GtkDrawingArea GtkDrawingArea::resize, object signal in GtkDrawingArea GtkDrawingArea:content-height, object property in GtkDrawingArea GtkDrawingArea:content-width, object property in GtkDrawingArea GtkDrawingAreaDrawFunc, user_function in GtkDrawingArea gtk_drawing_area_get_content_height, function in GtkDrawingArea gtk_drawing_area_get_content_width, function in GtkDrawingArea gtk_drawing_area_new, function in GtkDrawingArea gtk_drawing_area_set_content_height, function in GtkDrawingArea gtk_drawing_area_set_content_width, function in GtkDrawingArea gtk_drawing_area_set_draw_func, function in GtkDrawingArea GtkDropControllerMotion, struct in GtkDropControllerMotion GtkDropDown, struct in GtkDropDown GtkDropDown:enable-search, object property in GtkDropDown GtkDropDown:expression, object property in GtkDropDown GtkDropDown:factory, object property in GtkDropDown GtkDropDown:list-factory, object property in GtkDropDown GtkDropDown:model, object property in GtkDropDown GtkDropDown:selected, object property in GtkDropDown GtkDropDown:selected-item, object property in GtkDropDown GtkDropTarget, struct in GtkDropTarget GtkDropTarget::accept, object signal in GtkDropTarget GtkDropTarget::drop, object signal in GtkDropTarget GtkDropTarget::enter, object signal in GtkDropTarget GtkDropTarget::leave, object signal in GtkDropTarget GtkDropTarget::motion, object signal in GtkDropTarget GtkDropTarget:actions, object property in GtkDropTarget GtkDropTarget:drop, object property in GtkDropTarget GtkDropTarget:formats, object property in GtkDropTarget GtkDropTarget:preload, object property in GtkDropTarget GtkDropTarget:value, object property in GtkDropTarget GtkDropTargetAsync, struct in GtkDropTargetAsync GtkDropTargetAsync::accept, object signal in GtkDropTargetAsync GtkDropTargetAsync::drag-enter, object signal in GtkDropTargetAsync GtkDropTargetAsync::drag-leave, object signal in GtkDropTargetAsync GtkDropTargetAsync::drag-motion, object signal in GtkDropTargetAsync GtkDropTargetAsync::drop, object signal in GtkDropTargetAsync GtkDropTargetAsync:actions, object property in GtkDropTargetAsync GtkDropTargetAsync:formats, object property in GtkDropTargetAsync gtk_drop_controller_motion_contains_pointer, function in GtkDropControllerMotion gtk_drop_controller_motion_get_drop, function in GtkDropControllerMotion gtk_drop_controller_motion_is_pointer, function in GtkDropControllerMotion gtk_drop_controller_motion_new, function in GtkDropControllerMotion gtk_drop_down_get_enable_search, function in GtkDropDown gtk_drop_down_get_expression, function in GtkDropDown gtk_drop_down_get_factory, function in GtkDropDown gtk_drop_down_get_list_factory, function in GtkDropDown gtk_drop_down_get_model, function in GtkDropDown gtk_drop_down_get_selected, function in GtkDropDown gtk_drop_down_get_selected_item, function in GtkDropDown gtk_drop_down_new, function in GtkDropDown gtk_drop_down_new_from_strings, function in GtkDropDown gtk_drop_down_set_enable_search, function in GtkDropDown gtk_drop_down_set_expression, function in GtkDropDown gtk_drop_down_set_factory, function in GtkDropDown gtk_drop_down_set_list_factory, function in GtkDropDown gtk_drop_down_set_model, function in GtkDropDown gtk_drop_down_set_selected, function in GtkDropDown gtk_drop_target_async_get_actions, function in GtkDropTargetAsync gtk_drop_target_async_get_formats, function in GtkDropTargetAsync gtk_drop_target_async_new, function in GtkDropTargetAsync gtk_drop_target_async_reject_drop, function in GtkDropTargetAsync gtk_drop_target_async_set_actions, function in GtkDropTargetAsync gtk_drop_target_async_set_formats, function in GtkDropTargetAsync gtk_drop_target_get_actions, function in GtkDropTarget gtk_drop_target_get_drop, function in GtkDropTarget gtk_drop_target_get_formats, function in GtkDropTarget gtk_drop_target_get_gtypes, function in GtkDropTarget gtk_drop_target_get_preload, function in GtkDropTarget gtk_drop_target_get_value, function in GtkDropTarget gtk_drop_target_new, function in GtkDropTarget gtk_drop_target_reject, function in GtkDropTarget gtk_drop_target_set_actions, function in GtkDropTarget gtk_drop_target_set_gtypes, function in GtkDropTarget gtk_drop_target_set_preload, function in GtkDropTarget E GtkEditable, struct in GtkEditable GtkEditable::changed, object signal in GtkEditable GtkEditable::delete-text, object signal in GtkEditable GtkEditable::insert-text, object signal in GtkEditable GtkEditable:cursor-position, object property in GtkEditable GtkEditable:editable, object property in GtkEditable GtkEditable:enable-undo, object property in GtkEditable GtkEditable:max-width-chars, object property in GtkEditable GtkEditable:selection-bound, object property in GtkEditable GtkEditable:text, object property in GtkEditable GtkEditable:width-chars, object property in GtkEditable GtkEditable:xalign, object property in GtkEditable GtkEditableInterface, struct in GtkEditable GtkEditableLabel, struct in GtkEditableLabel GtkEditableLabel:editing, object property in GtkEditableLabel GtkEditableLabel|editing.start, action in GtkEditableLabel GtkEditableLabel|editing.stop, action in GtkEditableLabel GtkEditableProperties, enum in GtkEditable gtk_editable_delegate_get_property, function in GtkEditable gtk_editable_delegate_set_property, function in GtkEditable gtk_editable_delete_selection, function in GtkEditable gtk_editable_delete_text, function in GtkEditable gtk_editable_finish_delegate, function in GtkEditable gtk_editable_get_alignment, function in GtkEditable gtk_editable_get_chars, function in GtkEditable gtk_editable_get_editable, function in GtkEditable gtk_editable_get_enable_undo, function in GtkEditable gtk_editable_get_max_width_chars, function in GtkEditable gtk_editable_get_position, function in GtkEditable gtk_editable_get_selection_bounds, function in GtkEditable gtk_editable_get_text, function in GtkEditable gtk_editable_get_width_chars, function in GtkEditable gtk_editable_init_delegate, function in GtkEditable gtk_editable_insert_text, function in GtkEditable gtk_editable_install_properties, function in GtkEditable gtk_editable_label_get_editing, function in GtkEditableLabel gtk_editable_label_new, function in GtkEditableLabel gtk_editable_label_start_editing, function in GtkEditableLabel gtk_editable_label_stop_editing, function in GtkEditableLabel gtk_editable_select_region, function in GtkEditable gtk_editable_set_alignment, function in GtkEditable gtk_editable_set_editable, function in GtkEditable gtk_editable_set_enable_undo, function in GtkEditable gtk_editable_set_max_width_chars, function in GtkEditable gtk_editable_set_position, function in GtkEditable gtk_editable_set_text, function in GtkEditable gtk_editable_set_width_chars, function in GtkEditable GtkEmojiChooser, struct in GtkEmojiChooser GtkEmojiChooser::emoji-picked, object signal in GtkEmojiChooser GtkEmojiChooser|scroll.section, action in GtkEmojiChooser gtk_emoji_chooser_new, function in GtkEmojiChooser GtkEntry, struct in GtkEntry GtkEntry::activate, object signal in GtkEntry GtkEntry::icon-press, object signal in GtkEntry GtkEntry::icon-release, object signal in GtkEntry GtkEntry:activates-default, object property in GtkEntry GtkEntry:attributes, object property in GtkEntry GtkEntry:buffer, object property in GtkEntry GtkEntry:completion, object property in GtkEntry GtkEntry:enable-emoji-completion, object property in GtkEntry GtkEntry:extra-menu, object property in GtkEntry GtkEntry:has-frame, object property in GtkEntry GtkEntry:im-module, object property in GtkEntry GtkEntry:input-hints, object property in GtkEntry GtkEntry:input-purpose, object property in GtkEntry GtkEntry:invisible-char, object property in GtkEntry GtkEntry:invisible-char-set, object property in GtkEntry GtkEntry:max-length, object property in GtkEntry GtkEntry:overwrite-mode, object property in GtkEntry GtkEntry:placeholder-text, object property in GtkEntry GtkEntry:primary-icon-activatable, object property in GtkEntry GtkEntry:primary-icon-gicon, object property in GtkEntry GtkEntry:primary-icon-name, object property in GtkEntry GtkEntry:primary-icon-paintable, object property in GtkEntry GtkEntry:primary-icon-sensitive, object property in GtkEntry GtkEntry:primary-icon-storage-type, object property in GtkEntry GtkEntry:primary-icon-tooltip-markup, object property in GtkEntry GtkEntry:primary-icon-tooltip-text, object property in GtkEntry GtkEntry:progress-fraction, object property in GtkEntry GtkEntry:progress-pulse-step, object property in GtkEntry GtkEntry:scroll-offset, object property in GtkEntry GtkEntry:secondary-icon-activatable, object property in GtkEntry GtkEntry:secondary-icon-gicon, object property in GtkEntry GtkEntry:secondary-icon-name, object property in GtkEntry GtkEntry:secondary-icon-paintable, object property in GtkEntry GtkEntry:secondary-icon-sensitive, object property in GtkEntry GtkEntry:secondary-icon-storage-type, object property in GtkEntry GtkEntry:secondary-icon-tooltip-markup, object property in GtkEntry GtkEntry:secondary-icon-tooltip-text, object property in GtkEntry GtkEntry:show-emoji-icon, object property in GtkEntry GtkEntry:tabs, object property in GtkEntry GtkEntry:text-length, object property in GtkEntry GtkEntry:truncate-multiline, object property in GtkEntry GtkEntry:visibility, object property in GtkEntry GtkEntryBuffer, struct in GtkEntryBuffer GtkEntryBuffer::deleted-text, object signal in GtkEntryBuffer GtkEntryBuffer::inserted-text, object signal in GtkEntryBuffer GtkEntryBuffer:length, object property in GtkEntryBuffer GtkEntryBuffer:max-length, object property in GtkEntryBuffer GtkEntryBuffer:text, object property in GtkEntryBuffer GtkEntryClass, struct in GtkEntry GtkEntryCompletion, struct in GtkEntryCompletion GtkEntryCompletion::cursor-on-match, object signal in GtkEntryCompletion GtkEntryCompletion::insert-prefix, object signal in GtkEntryCompletion GtkEntryCompletion::match-selected, object signal in GtkEntryCompletion GtkEntryCompletion::no-matches, object signal in GtkEntryCompletion GtkEntryCompletion:cell-area, object property in GtkEntryCompletion GtkEntryCompletion:inline-completion, object property in GtkEntryCompletion GtkEntryCompletion:inline-selection, object property in GtkEntryCompletion GtkEntryCompletion:minimum-key-length, object property in GtkEntryCompletion GtkEntryCompletion:model, object property in GtkEntryCompletion GtkEntryCompletion:popup-completion, object property in GtkEntryCompletion GtkEntryCompletion:popup-set-width, object property in GtkEntryCompletion GtkEntryCompletion:popup-single-match, object property in GtkEntryCompletion GtkEntryCompletion:text-column, object property in GtkEntryCompletion GtkEntryCompletionMatchFunc, user_function in GtkEntryCompletion GtkEntryIconPosition, enum in GtkEntry gtk_entry_buffer_delete_text, function in GtkEntryBuffer gtk_entry_buffer_emit_deleted_text, function in GtkEntryBuffer gtk_entry_buffer_emit_inserted_text, function in GtkEntryBuffer gtk_entry_buffer_get_bytes, function in GtkEntryBuffer gtk_entry_buffer_get_length, function in GtkEntryBuffer gtk_entry_buffer_get_max_length, function in GtkEntryBuffer gtk_entry_buffer_get_text, function in GtkEntryBuffer gtk_entry_buffer_insert_text, function in GtkEntryBuffer gtk_entry_buffer_new, function in GtkEntryBuffer gtk_entry_buffer_set_max_length, function in GtkEntryBuffer gtk_entry_buffer_set_text, function in GtkEntryBuffer gtk_entry_completion_complete, function in GtkEntryCompletion gtk_entry_completion_compute_prefix, function in GtkEntryCompletion gtk_entry_completion_get_completion_prefix, function in GtkEntryCompletion gtk_entry_completion_get_entry, function in GtkEntryCompletion gtk_entry_completion_get_inline_completion, function in GtkEntryCompletion gtk_entry_completion_get_inline_selection, function in GtkEntryCompletion gtk_entry_completion_get_minimum_key_length, function in GtkEntryCompletion gtk_entry_completion_get_model, function in GtkEntryCompletion gtk_entry_completion_get_popup_completion, function in GtkEntryCompletion gtk_entry_completion_get_popup_set_width, function in GtkEntryCompletion gtk_entry_completion_get_popup_single_match, function in GtkEntryCompletion gtk_entry_completion_get_text_column, function in GtkEntryCompletion gtk_entry_completion_insert_prefix, function in GtkEntryCompletion gtk_entry_completion_new, function in GtkEntryCompletion gtk_entry_completion_new_with_area, function in GtkEntryCompletion gtk_entry_completion_set_inline_completion, function in GtkEntryCompletion gtk_entry_completion_set_inline_selection, function in GtkEntryCompletion gtk_entry_completion_set_match_func, function in GtkEntryCompletion gtk_entry_completion_set_minimum_key_length, function in GtkEntryCompletion gtk_entry_completion_set_model, function in GtkEntryCompletion gtk_entry_completion_set_popup_completion, function in GtkEntryCompletion gtk_entry_completion_set_popup_set_width, function in GtkEntryCompletion gtk_entry_completion_set_popup_single_match, function in GtkEntryCompletion gtk_entry_completion_set_text_column, function in GtkEntryCompletion gtk_entry_get_activates_default, function in GtkEntry gtk_entry_get_alignment, function in GtkEntry gtk_entry_get_attributes, function in GtkEntry gtk_entry_get_buffer, function in GtkEntry gtk_entry_get_completion, function in GtkEntry gtk_entry_get_current_icon_drag_source, function in GtkEntry gtk_entry_get_extra_menu, function in GtkEntry gtk_entry_get_has_frame, function in GtkEntry gtk_entry_get_icon_activatable, function in GtkEntry gtk_entry_get_icon_area, function in GtkEntry gtk_entry_get_icon_at_pos, function in GtkEntry gtk_entry_get_icon_gicon, function in GtkEntry gtk_entry_get_icon_name, function in GtkEntry gtk_entry_get_icon_paintable, function in GtkEntry gtk_entry_get_icon_sensitive, function in GtkEntry gtk_entry_get_icon_storage_type, function in GtkEntry gtk_entry_get_icon_tooltip_markup, function in GtkEntry gtk_entry_get_icon_tooltip_text, function in GtkEntry gtk_entry_get_input_hints, function in GtkEntry gtk_entry_get_input_purpose, function in GtkEntry gtk_entry_get_invisible_char, function in GtkEntry gtk_entry_get_max_length, function in GtkEntry gtk_entry_get_overwrite_mode, function in GtkEntry gtk_entry_get_placeholder_text, function in GtkEntry gtk_entry_get_progress_fraction, function in GtkEntry gtk_entry_get_progress_pulse_step, function in GtkEntry gtk_entry_get_tabs, function in GtkEntry gtk_entry_get_text_length, function in GtkEntry gtk_entry_get_visibility, function in GtkEntry gtk_entry_grab_focus_without_selecting, function in GtkEntry gtk_entry_new, function in GtkEntry gtk_entry_new_with_buffer, function in GtkEntry gtk_entry_progress_pulse, function in GtkEntry gtk_entry_reset_im_context, function in GtkEntry gtk_entry_set_activates_default, function in GtkEntry gtk_entry_set_alignment, function in GtkEntry gtk_entry_set_attributes, function in GtkEntry gtk_entry_set_buffer, function in GtkEntry gtk_entry_set_completion, function in GtkEntry gtk_entry_set_extra_menu, function in GtkEntry gtk_entry_set_has_frame, function in GtkEntry gtk_entry_set_icon_activatable, function in GtkEntry gtk_entry_set_icon_drag_source, function in GtkEntry gtk_entry_set_icon_from_gicon, function in GtkEntry gtk_entry_set_icon_from_icon_name, function in GtkEntry gtk_entry_set_icon_from_paintable, function in GtkEntry gtk_entry_set_icon_sensitive, function in GtkEntry gtk_entry_set_icon_tooltip_markup, function in GtkEntry gtk_entry_set_icon_tooltip_text, function in GtkEntry gtk_entry_set_input_hints, function in GtkEntry gtk_entry_set_input_purpose, function in GtkEntry gtk_entry_set_invisible_char, function in GtkEntry gtk_entry_set_max_length, function in GtkEntry gtk_entry_set_overwrite_mode, function in GtkEntry gtk_entry_set_placeholder_text, function in GtkEntry gtk_entry_set_progress_fraction, function in GtkEntry gtk_entry_set_progress_pulse_step, function in GtkEntry gtk_entry_set_tabs, function in GtkEntry gtk_entry_set_visibility, function in GtkEntry gtk_entry_unset_invisible_char, function in GtkEntry gtk_enumerate_printers, function in GtkPrinter GtkEventController, struct in GtkEventController GtkEventController:name, object property in GtkEventController GtkEventController:propagation-limit, object property in GtkEventController GtkEventController:propagation-phase, object property in GtkEventController GtkEventController:widget, object property in GtkEventController GtkEventControllerFocus, struct in GtkEventControllerFocus GtkEventControllerFocus::enter, object signal in GtkEventControllerFocus GtkEventControllerFocus::leave, object signal in GtkEventControllerFocus GtkEventControllerFocus:contains-focus, object property in GtkEventControllerFocus GtkEventControllerFocus:is-focus, object property in GtkEventControllerFocus GtkEventControllerKey, struct in GtkEventControllerKey GtkEventControllerKey::im-update, object signal in GtkEventControllerKey GtkEventControllerKey::key-pressed, object signal in GtkEventControllerKey GtkEventControllerKey::key-released, object signal in GtkEventControllerKey GtkEventControllerKey::modifiers, object signal in GtkEventControllerKey GtkEventControllerLegacy, struct in GtkEventControllerLegacy GtkEventControllerLegacy::event, object signal in GtkEventControllerLegacy GtkEventControllerMotion, struct in GtkEventControllerMotion GtkEventControllerMotion::enter, object signal in GtkEventControllerMotion GtkEventControllerMotion::leave, object signal in GtkEventControllerMotion GtkEventControllerMotion::motion, object signal in GtkEventControllerMotion GtkEventControllerMotion:contains-pointer, object property in GtkEventControllerMotion GtkEventControllerMotion:is-pointer, object property in GtkEventControllerMotion GtkEventControllerScroll, struct in GtkEventControllerScroll GtkEventControllerScroll::decelerate, object signal in GtkEventControllerScroll GtkEventControllerScroll::scroll, object signal in GtkEventControllerScroll GtkEventControllerScroll::scroll-begin, object signal in GtkEventControllerScroll GtkEventControllerScroll::scroll-end, object signal in GtkEventControllerScroll GtkEventControllerScroll:flags, object property in GtkEventControllerScroll GtkEventControllerScrollFlags, enum in GtkEventControllerScroll GtkEventSequenceState, enum in GtkGesture gtk_event_controller_focus_contains_focus, function in GtkEventControllerFocus gtk_event_controller_focus_is_focus, function in GtkEventControllerFocus gtk_event_controller_focus_new, function in GtkEventControllerFocus gtk_event_controller_get_current_event, function in GtkEventController gtk_event_controller_get_current_event_device, function in GtkEventController gtk_event_controller_get_current_event_state, function in GtkEventController gtk_event_controller_get_current_event_time, function in GtkEventController gtk_event_controller_get_name, function in GtkEventController gtk_event_controller_get_propagation_limit, function in GtkEventController gtk_event_controller_get_propagation_phase, function in GtkEventController gtk_event_controller_get_widget, function in GtkEventController gtk_event_controller_key_forward, function in GtkEventControllerKey gtk_event_controller_key_get_group, function in GtkEventControllerKey gtk_event_controller_key_get_im_context, function in GtkEventControllerKey gtk_event_controller_key_new, function in GtkEventControllerKey gtk_event_controller_key_set_im_context, function in GtkEventControllerKey gtk_event_controller_legacy_new, function in GtkEventControllerLegacy gtk_event_controller_motion_contains_pointer, function in GtkEventControllerMotion gtk_event_controller_motion_is_pointer, function in GtkEventControllerMotion gtk_event_controller_motion_new, function in GtkEventControllerMotion gtk_event_controller_reset, function in GtkEventController gtk_event_controller_scroll_get_flags, function in GtkEventControllerScroll gtk_event_controller_scroll_new, function in GtkEventControllerScroll gtk_event_controller_scroll_set_flags, function in GtkEventControllerScroll gtk_event_controller_set_name, function in GtkEventController gtk_event_controller_set_propagation_limit, function in GtkEventController gtk_event_controller_set_propagation_phase, function in GtkEventController GtkEveryFilter, struct in GtkMultiFilter gtk_every_filter_new, function in GtkMultiFilter GtkExpander, struct in GtkExpander GtkExpander::activate, object signal in GtkExpander GtkExpander:child, object property in GtkExpander GtkExpander:expanded, object property in GtkExpander GtkExpander:label, object property in GtkExpander GtkExpander:label-widget, object property in GtkExpander GtkExpander:resize-toplevel, object property in GtkExpander GtkExpander:use-markup, object property in GtkExpander GtkExpander:use-underline, object property in GtkExpander gtk_expander_get_child, function in GtkExpander gtk_expander_get_expanded, function in GtkExpander gtk_expander_get_label, function in GtkExpander gtk_expander_get_label_widget, function in GtkExpander gtk_expander_get_resize_toplevel, function in GtkExpander gtk_expander_get_use_markup, function in GtkExpander gtk_expander_get_use_underline, function in GtkExpander gtk_expander_new, function in GtkExpander gtk_expander_new_with_mnemonic, function in GtkExpander gtk_expander_set_child, function in GtkExpander gtk_expander_set_expanded, function in GtkExpander gtk_expander_set_label, function in GtkExpander gtk_expander_set_label_widget, function in GtkExpander gtk_expander_set_resize_toplevel, function in GtkExpander gtk_expander_set_use_markup, function in GtkExpander gtk_expander_set_use_underline, function in GtkExpander GtkExpression, struct in GtkExpression GtkExpressionNotify, user_function in GtkExpression GtkExpressionWatch, struct in GtkExpression gtk_expression_bind, function in GtkExpression gtk_expression_evaluate, function in GtkExpression gtk_expression_get_value_type, function in GtkExpression gtk_expression_is_static, function in GtkExpression gtk_expression_ref, function in GtkExpression gtk_expression_unref, function in GtkExpression gtk_expression_watch, function in GtkExpression gtk_expression_watch_evaluate, function in GtkExpression gtk_expression_watch_ref, function in GtkExpression gtk_expression_watch_unref, function in GtkExpression gtk_expression_watch_unwatch, function in GtkExpression F GtkFileChooser, struct in GtkFileChooser GtkFileChooser:action, object property in GtkFileChooser GtkFileChooser:create-folders, object property in GtkFileChooser GtkFileChooser:filter, object property in GtkFileChooser GtkFileChooser:filters, object property in GtkFileChooser GtkFileChooser:select-multiple, object property in GtkFileChooser GtkFileChooser:shortcut-folders, object property in GtkFileChooser GtkFileChooserAction, enum in GtkFileChooser GtkFileChooserButton, struct in GtkFileChooserButton GtkFileChooserButton::file-set, object signal in GtkFileChooserButton GtkFileChooserButton:dialog, object property in GtkFileChooserButton GtkFileChooserButton:modal, object property in GtkFileChooserButton GtkFileChooserButton:title, object property in GtkFileChooserButton GtkFileChooserButton:width-chars, object property in GtkFileChooserButton GtkFileChooserDialog, struct in GtkFileChooserDialog GtkFileChooserDialog|response.activate, action in GtkFileChooserDialog GtkFileChooserError, enum in GtkFileChooser GtkFileChooserNative, struct in GtkFileChooserNative GtkFileChooserWidget, struct in GtkFileChooserWidget GtkFileChooserWidget::desktop-folder, object signal in GtkFileChooserWidget GtkFileChooserWidget::down-folder, object signal in GtkFileChooserWidget GtkFileChooserWidget::home-folder, object signal in GtkFileChooserWidget GtkFileChooserWidget::location-popup, object signal in GtkFileChooserWidget GtkFileChooserWidget::location-popup-on-paste, object signal in GtkFileChooserWidget GtkFileChooserWidget::location-toggle-popup, object signal in GtkFileChooserWidget GtkFileChooserWidget::places-shortcut, object signal in GtkFileChooserWidget GtkFileChooserWidget::quick-bookmark, object signal in GtkFileChooserWidget GtkFileChooserWidget::recent-shortcut, object signal in GtkFileChooserWidget GtkFileChooserWidget::search-shortcut, object signal in GtkFileChooserWidget GtkFileChooserWidget::show-hidden, object signal in GtkFileChooserWidget GtkFileChooserWidget::up-folder, object signal in GtkFileChooserWidget GtkFileChooserWidget:search-mode, object property in GtkFileChooserWidget GtkFileChooserWidget:subtitle, object property in GtkFileChooserWidget GtkFileFilter, struct in GtkFileFilter GtkFileFilter:name, object property in GtkFileFilter gtk_file_chooser_add_choice, function in GtkFileChooser gtk_file_chooser_add_filter, function in GtkFileChooser gtk_file_chooser_add_shortcut_folder, function in GtkFileChooser gtk_file_chooser_button_get_modal, function in GtkFileChooserButton gtk_file_chooser_button_get_title, function in GtkFileChooserButton gtk_file_chooser_button_get_width_chars, function in GtkFileChooserButton gtk_file_chooser_button_new, function in GtkFileChooserButton gtk_file_chooser_button_new_with_dialog, function in GtkFileChooserButton gtk_file_chooser_button_set_modal, function in GtkFileChooserButton gtk_file_chooser_button_set_title, function in GtkFileChooserButton gtk_file_chooser_button_set_width_chars, function in GtkFileChooserButton gtk_file_chooser_dialog_new, function in GtkFileChooserDialog GTK_FILE_CHOOSER_ERROR, macro in GtkFileChooser gtk_file_chooser_get_action, function in GtkFileChooser gtk_file_chooser_get_choice, function in GtkFileChooser gtk_file_chooser_get_create_folders, function in GtkFileChooser gtk_file_chooser_get_current_folder, function in GtkFileChooser gtk_file_chooser_get_current_name, function in GtkFileChooser gtk_file_chooser_get_file, function in GtkFileChooser gtk_file_chooser_get_files, function in GtkFileChooser gtk_file_chooser_get_filter, function in GtkFileChooser gtk_file_chooser_get_filters, function in GtkFileChooser gtk_file_chooser_get_select_multiple, function in GtkFileChooser gtk_file_chooser_get_shortcut_folders, function in GtkFileChooser gtk_file_chooser_native_get_accept_label, function in GtkFileChooserNative gtk_file_chooser_native_get_cancel_label, function in GtkFileChooserNative gtk_file_chooser_native_new, function in GtkFileChooserNative gtk_file_chooser_native_set_accept_label, function in GtkFileChooserNative gtk_file_chooser_native_set_cancel_label, function in GtkFileChooserNative gtk_file_chooser_remove_choice, function in GtkFileChooser gtk_file_chooser_remove_filter, function in GtkFileChooser gtk_file_chooser_remove_shortcut_folder, function in GtkFileChooser gtk_file_chooser_set_action, function in GtkFileChooser gtk_file_chooser_set_choice, function in GtkFileChooser gtk_file_chooser_set_create_folders, function in GtkFileChooser gtk_file_chooser_set_current_folder, function in GtkFileChooser gtk_file_chooser_set_current_name, function in GtkFileChooser gtk_file_chooser_set_file, function in GtkFileChooser gtk_file_chooser_set_filter, function in GtkFileChooser gtk_file_chooser_set_select_multiple, function in GtkFileChooser gtk_file_chooser_widget_new, function in GtkFileChooserWidget gtk_file_filter_add_mime_type, function in GtkFileFilter gtk_file_filter_add_pattern, function in GtkFileFilter gtk_file_filter_add_pixbuf_formats, function in GtkFileFilter gtk_file_filter_get_attributes, function in GtkFileFilter gtk_file_filter_get_name, function in GtkFileFilter gtk_file_filter_new, function in GtkFileFilter gtk_file_filter_new_from_gvariant, function in GtkFileFilter gtk_file_filter_set_name, function in GtkFileFilter gtk_file_filter_to_gvariant, function in GtkFileFilter GtkFilter, struct in GtkFilter GtkFilter::changed, object signal in GtkFilter GtkFilterChange, enum in GtkFilter GtkFilterListModel, struct in GtkFilterListModel GtkFilterListModel:filter, object property in GtkFilterListModel GtkFilterListModel:incremental, object property in GtkFilterListModel GtkFilterListModel:model, object property in GtkFilterListModel GtkFilterListModel:pending, object property in GtkFilterListModel gtk_filter_changed, function in GtkFilter gtk_filter_get_strictness, function in GtkFilter gtk_filter_list_model_get_filter, function in GtkFilterListModel gtk_filter_list_model_get_incremental, function in GtkFilterListModel gtk_filter_list_model_get_model, function in GtkFilterListModel gtk_filter_list_model_get_pending, function in GtkFilterListModel gtk_filter_list_model_new, function in GtkFilterListModel gtk_filter_list_model_set_filter, function in GtkFilterListModel gtk_filter_list_model_set_incremental, function in GtkFilterListModel gtk_filter_list_model_set_model, function in GtkFilterListModel gtk_filter_match, function in GtkFilter GtkFixed, struct in GtkFixed GtkFixedLayout, struct in GtkFixedLayout GtkFixedLayoutChild, struct in GtkFixedLayout gtk_fixed_get_child_position, function in GtkFixed gtk_fixed_get_child_transform, function in GtkFixed gtk_fixed_layout_child_get_transform, function in GtkFixedLayout gtk_fixed_layout_child_set_transform, function in GtkFixedLayout gtk_fixed_layout_new, function in GtkFixedLayout gtk_fixed_move, function in GtkFixed gtk_fixed_new, function in GtkFixed gtk_fixed_put, function in GtkFixed gtk_fixed_remove, function in GtkFixed gtk_fixed_set_child_transform, function in GtkFixed GtkFlattenListModel, struct in GtkFlattenListModel GtkFlattenListModel:model, object property in GtkFlattenListModel gtk_flatten_list_model_get_model, function in GtkFlattenListModel gtk_flatten_list_model_get_model_for_item, function in GtkFlattenListModel gtk_flatten_list_model_new, function in GtkFlattenListModel gtk_flatten_list_model_set_model, function in GtkFlattenListModel GtkFlowBox, struct in GtkFlowBox GtkFlowBox::activate-cursor-child, object signal in GtkFlowBox GtkFlowBox::child-activated, object signal in GtkFlowBox GtkFlowBox::move-cursor, object signal in GtkFlowBox GtkFlowBox::select-all, object signal in GtkFlowBox GtkFlowBox::selected-children-changed, object signal in GtkFlowBox GtkFlowBox::toggle-cursor-child, object signal in GtkFlowBox GtkFlowBox::unselect-all, object signal in GtkFlowBox GtkFlowBox:accept-unpaired-release, object property in GtkFlowBox GtkFlowBox:activate-on-single-click, object property in GtkFlowBox GtkFlowBox:column-spacing, object property in GtkFlowBox GtkFlowBox:homogeneous, object property in GtkFlowBox GtkFlowBox:max-children-per-line, object property in GtkFlowBox GtkFlowBox:min-children-per-line, object property in GtkFlowBox GtkFlowBox:row-spacing, object property in GtkFlowBox GtkFlowBox:selection-mode, object property in GtkFlowBox GtkFlowBoxChild, struct in GtkFlowBox GtkFlowBoxChild::activate, object signal in GtkFlowBox GtkFlowBoxChild:child, object property in GtkFlowBox GtkFlowBoxCreateWidgetFunc, user_function in GtkFlowBox GtkFlowBoxFilterFunc, user_function in GtkFlowBox GtkFlowBoxForeachFunc, user_function in GtkFlowBox GtkFlowBoxSortFunc, user_function in GtkFlowBox gtk_flow_box_bind_model, function in GtkFlowBox gtk_flow_box_child_changed, function in GtkFlowBox gtk_flow_box_child_get_child, function in GtkFlowBox gtk_flow_box_child_get_index, function in GtkFlowBox gtk_flow_box_child_is_selected, function in GtkFlowBox gtk_flow_box_child_new, function in GtkFlowBox gtk_flow_box_child_set_child, function in GtkFlowBox gtk_flow_box_get_activate_on_single_click, function in GtkFlowBox gtk_flow_box_get_child_at_index, function in GtkFlowBox gtk_flow_box_get_child_at_pos, function in GtkFlowBox gtk_flow_box_get_column_spacing, function in GtkFlowBox gtk_flow_box_get_homogeneous, function in GtkFlowBox gtk_flow_box_get_max_children_per_line, function in GtkFlowBox gtk_flow_box_get_min_children_per_line, function in GtkFlowBox gtk_flow_box_get_row_spacing, function in GtkFlowBox gtk_flow_box_get_selected_children, function in GtkFlowBox gtk_flow_box_get_selection_mode, function in GtkFlowBox gtk_flow_box_insert, function in GtkFlowBox gtk_flow_box_invalidate_filter, function in GtkFlowBox gtk_flow_box_invalidate_sort, function in GtkFlowBox gtk_flow_box_new, function in GtkFlowBox gtk_flow_box_remove, function in GtkFlowBox gtk_flow_box_selected_foreach, function in GtkFlowBox gtk_flow_box_select_all, function in GtkFlowBox gtk_flow_box_select_child, function in GtkFlowBox gtk_flow_box_set_activate_on_single_click, function in GtkFlowBox gtk_flow_box_set_column_spacing, function in GtkFlowBox gtk_flow_box_set_filter_func, function in GtkFlowBox gtk_flow_box_set_hadjustment, function in GtkFlowBox gtk_flow_box_set_homogeneous, function in GtkFlowBox gtk_flow_box_set_max_children_per_line, function in GtkFlowBox gtk_flow_box_set_min_children_per_line, function in GtkFlowBox gtk_flow_box_set_row_spacing, function in GtkFlowBox gtk_flow_box_set_selection_mode, function in GtkFlowBox gtk_flow_box_set_sort_func, function in GtkFlowBox gtk_flow_box_set_vadjustment, function in GtkFlowBox gtk_flow_box_unselect_all, function in GtkFlowBox gtk_flow_box_unselect_child, function in GtkFlowBox GtkFontButton, struct in GtkFontButton GtkFontButton::font-set, object signal in GtkFontButton GtkFontButton:modal, object property in GtkFontButton GtkFontButton:title, object property in GtkFontButton GtkFontButton:use-font, object property in GtkFontButton GtkFontButton:use-size, object property in GtkFontButton GtkFontChooser, struct in GtkFontChooser GtkFontChooser::font-activated, object signal in GtkFontChooser GtkFontChooser:font, object property in GtkFontChooser GtkFontChooser:font-desc, object property in GtkFontChooser GtkFontChooser:font-features, object property in GtkFontChooser GtkFontChooser:language, object property in GtkFontChooser GtkFontChooser:level, object property in GtkFontChooser GtkFontChooser:preview-text, object property in GtkFontChooser GtkFontChooser:show-preview-entry, object property in GtkFontChooser GtkFontChooserDialog, struct in GtkFontChooserDialog GtkFontChooserLevel, enum in GtkFontChooser GtkFontChooserWidget, struct in GtkFontChooserWidget GtkFontChooserWidget:tweak-action, object property in GtkFontChooserWidget GtkFontFilterFunc, user_function in GtkFontChooser gtk_font_button_get_modal, function in GtkFontButton gtk_font_button_get_title, function in GtkFontButton gtk_font_button_get_use_font, function in GtkFontButton gtk_font_button_get_use_size, function in GtkFontButton gtk_font_button_new, function in GtkFontButton gtk_font_button_new_with_font, function in GtkFontButton gtk_font_button_set_modal, function in GtkFontButton gtk_font_button_set_title, function in GtkFontButton gtk_font_button_set_use_font, function in GtkFontButton gtk_font_button_set_use_size, function in GtkFontButton gtk_font_chooser_dialog_new, function in GtkFontChooserDialog gtk_font_chooser_get_font, function in GtkFontChooser gtk_font_chooser_get_font_desc, function in GtkFontChooser gtk_font_chooser_get_font_face, function in GtkFontChooser gtk_font_chooser_get_font_family, function in GtkFontChooser gtk_font_chooser_get_font_features, function in GtkFontChooser gtk_font_chooser_get_font_map, function in GtkFontChooser gtk_font_chooser_get_font_size, function in GtkFontChooser gtk_font_chooser_get_language, function in GtkFontChooser gtk_font_chooser_get_level, function in GtkFontChooser gtk_font_chooser_get_preview_text, function in GtkFontChooser gtk_font_chooser_get_show_preview_entry, function in GtkFontChooser gtk_font_chooser_set_filter_func, function in GtkFontChooser gtk_font_chooser_set_font, function in GtkFontChooser gtk_font_chooser_set_font_desc, function in GtkFontChooser gtk_font_chooser_set_font_map, function in GtkFontChooser gtk_font_chooser_set_language, function in GtkFontChooser gtk_font_chooser_set_level, function in GtkFontChooser gtk_font_chooser_set_preview_text, function in GtkFontChooser gtk_font_chooser_set_show_preview_entry, function in GtkFontChooser gtk_font_chooser_widget_new, function in GtkFontChooserWidget GtkFrame, struct in GtkFrame GtkFrame:child, object property in GtkFrame GtkFrame:label, object property in GtkFrame GtkFrame:label-widget, object property in GtkFrame GtkFrame:label-xalign, object property in GtkFrame GtkFrameClass, struct in GtkFrame gtk_frame_get_child, function in GtkFrame gtk_frame_get_label, function in GtkFrame gtk_frame_get_label_align, function in GtkFrame gtk_frame_get_label_widget, function in GtkFrame gtk_frame_new, function in GtkFrame gtk_frame_set_child, function in GtkFrame gtk_frame_set_label, function in GtkFrame gtk_frame_set_label_align, function in GtkFrame gtk_frame_set_label_widget, function in GtkFrame G GtkGesture, struct in GtkGesture GtkGesture::begin, object signal in GtkGesture GtkGesture::cancel, object signal in GtkGesture GtkGesture::end, object signal in GtkGesture GtkGesture::sequence-state-changed, object signal in GtkGesture GtkGesture::update, object signal in GtkGesture GtkGesture:n-points, object property in GtkGesture GtkGestureClick, struct in GtkGestureClick GtkGestureClick::pressed, object signal in GtkGestureClick GtkGestureClick::released, object signal in GtkGestureClick GtkGestureClick::stopped, object signal in GtkGestureClick GtkGestureClick::unpaired-release, object signal in GtkGestureClick GtkGestureDrag, struct in GtkGestureDrag GtkGestureDrag::drag-begin, object signal in GtkGestureDrag GtkGestureDrag::drag-end, object signal in GtkGestureDrag GtkGestureDrag::drag-update, object signal in GtkGestureDrag GtkGestureLongPress, struct in GtkGestureLongPress GtkGestureLongPress::cancelled, object signal in GtkGestureLongPress GtkGestureLongPress::pressed, object signal in GtkGestureLongPress GtkGestureLongPress:delay-factor, object property in GtkGestureLongPress GtkGesturePan, struct in GtkGesturePan GtkGesturePan::pan, object signal in GtkGesturePan GtkGesturePan:orientation, object property in GtkGesturePan GtkGestureRotate, struct in GtkGestureRotate GtkGestureRotate::angle-changed, object signal in GtkGestureRotate GtkGestureSingle, struct in GtkGestureSingle GtkGestureSingle:button, object property in GtkGestureSingle GtkGestureSingle:exclusive, object property in GtkGestureSingle GtkGestureSingle:touch-only, object property in GtkGestureSingle GtkGestureStylus, struct in GtkGestureStylus GtkGestureStylus::down, object signal in GtkGestureStylus GtkGestureStylus::motion, object signal in GtkGestureStylus GtkGestureStylus::proximity, object signal in GtkGestureStylus GtkGestureStylus::up, object signal in GtkGestureStylus GtkGestureSwipe, struct in GtkGestureSwipe GtkGestureSwipe::swipe, object signal in GtkGestureSwipe GtkGestureZoom, struct in GtkGestureZoom GtkGestureZoom::scale-changed, object signal in GtkGestureZoom gtk_gesture_click_new, function in GtkGestureClick gtk_gesture_drag_get_offset, function in GtkGestureDrag gtk_gesture_drag_get_start_point, function in GtkGestureDrag gtk_gesture_drag_new, function in GtkGestureDrag gtk_gesture_get_bounding_box, function in GtkGesture gtk_gesture_get_bounding_box_center, function in GtkGesture gtk_gesture_get_device, function in GtkGesture gtk_gesture_get_group, function in GtkGesture gtk_gesture_get_last_event, function in GtkGesture gtk_gesture_get_last_updated_sequence, function in GtkGesture gtk_gesture_get_point, function in GtkGesture gtk_gesture_get_sequences, function in GtkGesture gtk_gesture_get_sequence_state, function in GtkGesture gtk_gesture_group, function in GtkGesture gtk_gesture_handles_sequence, function in GtkGesture gtk_gesture_is_active, function in GtkGesture gtk_gesture_is_grouped_with, function in GtkGesture gtk_gesture_is_recognized, function in GtkGesture gtk_gesture_long_press_get_delay_factor, function in GtkGestureLongPress gtk_gesture_long_press_new, function in GtkGestureLongPress gtk_gesture_long_press_set_delay_factor, function in GtkGestureLongPress gtk_gesture_pan_get_orientation, function in GtkGesturePan gtk_gesture_pan_new, function in GtkGesturePan gtk_gesture_pan_set_orientation, function in GtkGesturePan gtk_gesture_rotate_get_angle_delta, function in GtkGestureRotate gtk_gesture_rotate_new, function in GtkGestureRotate gtk_gesture_set_sequence_state, function in GtkGesture gtk_gesture_set_state, function in GtkGesture gtk_gesture_single_get_button, function in GtkGestureSingle gtk_gesture_single_get_current_button, function in GtkGestureSingle gtk_gesture_single_get_current_sequence, function in GtkGestureSingle gtk_gesture_single_get_exclusive, function in GtkGestureSingle gtk_gesture_single_get_touch_only, function in GtkGestureSingle gtk_gesture_single_set_button, function in GtkGestureSingle gtk_gesture_single_set_exclusive, function in GtkGestureSingle gtk_gesture_single_set_touch_only, function in GtkGestureSingle gtk_gesture_stylus_get_axes, function in GtkGestureStylus gtk_gesture_stylus_get_axis, function in GtkGestureStylus gtk_gesture_stylus_get_backlog, function in GtkGestureStylus gtk_gesture_stylus_get_device_tool, function in GtkGestureStylus gtk_gesture_stylus_new, function in GtkGestureStylus gtk_gesture_swipe_get_velocity, function in GtkGestureSwipe gtk_gesture_swipe_new, function in GtkGestureSwipe gtk_gesture_ungroup, function in GtkGesture gtk_gesture_zoom_get_scale_delta, function in GtkGestureZoom gtk_gesture_zoom_new, function in GtkGestureZoom gtk_get_binary_age, function in Feature Test Macros gtk_get_default_language, function in General gtk_get_interface_age, function in Feature Test Macros gtk_get_locale_direction, function in General gtk_get_major_version, function in Feature Test Macros gtk_get_micro_version, function in Feature Test Macros gtk_get_minor_version, function in Feature Test Macros GtkGLArea, struct in GtkGLArea GtkGLArea::create-context, object signal in GtkGLArea GtkGLArea::render, object signal in GtkGLArea GtkGLArea::resize, object signal in GtkGLArea GtkGLArea:auto-render, object property in GtkGLArea GtkGLArea:context, object property in GtkGLArea GtkGLArea:has-depth-buffer, object property in GtkGLArea GtkGLArea:has-stencil-buffer, object property in GtkGLArea GtkGLArea:use-es, object property in GtkGLArea GtkGLAreaClass, struct in GtkGLArea gtk_gl_area_attach_buffers, function in GtkGLArea gtk_gl_area_get_auto_render, function in GtkGLArea gtk_gl_area_get_context, function in GtkGLArea gtk_gl_area_get_error, function in GtkGLArea gtk_gl_area_get_has_depth_buffer, function in GtkGLArea gtk_gl_area_get_has_stencil_buffer, function in GtkGLArea gtk_gl_area_get_required_version, function in GtkGLArea gtk_gl_area_get_use_es, function in GtkGLArea gtk_gl_area_make_current, function in GtkGLArea gtk_gl_area_new, function in GtkGLArea gtk_gl_area_queue_render, function in GtkGLArea gtk_gl_area_set_auto_render, function in GtkGLArea gtk_gl_area_set_error, function in GtkGLArea gtk_gl_area_set_has_depth_buffer, function in GtkGLArea gtk_gl_area_set_has_stencil_buffer, function in GtkGLArea gtk_gl_area_set_required_version, function in GtkGLArea gtk_gl_area_set_use_es, function in GtkGLArea GtkGrid, struct in GtkGrid GtkGrid:baseline-row, object property in GtkGrid GtkGrid:column-homogeneous, object property in GtkGrid GtkGrid:column-spacing, object property in GtkGrid GtkGrid:row-homogeneous, object property in GtkGrid GtkGrid:row-spacing, object property in GtkGrid GtkGridClass, struct in GtkGrid GtkGridLayout, struct in GtkGridLayout GtkGridLayout:baseline-row, object property in GtkGridLayout GtkGridLayout:column-homogeneous, object property in GtkGridLayout GtkGridLayout:column-spacing, object property in GtkGridLayout GtkGridLayout:row-homogeneous, object property in GtkGridLayout GtkGridLayout:row-spacing, object property in GtkGridLayout GtkGridLayoutChild, struct in GtkGridLayout GtkGridLayoutChild:column-span, object property in GtkGridLayout GtkGridLayoutChild:left-attach, object property in GtkGridLayout GtkGridLayoutChild:row-span, object property in GtkGridLayout GtkGridLayoutChild:top-attach, object property in GtkGridLayout GtkGridView, struct in GtkGridView GtkGridView::activate, object signal in GtkGridView GtkGridView:enable-rubberband, object property in GtkGridView GtkGridView:factory, object property in GtkGridView GtkGridView:max-columns, object property in GtkGridView GtkGridView:min-columns, object property in GtkGridView GtkGridView:model, object property in GtkGridView GtkGridView:single-click-activate, object property in GtkGridView GtkGridView|list.activate-item, action in GtkGridView gtk_grid_attach, function in GtkGrid gtk_grid_attach_next_to, function in GtkGrid gtk_grid_get_baseline_row, function in GtkGrid gtk_grid_get_child_at, function in GtkGrid gtk_grid_get_column_homogeneous, function in GtkGrid gtk_grid_get_column_spacing, function in GtkGrid gtk_grid_get_row_baseline_position, function in GtkGrid gtk_grid_get_row_homogeneous, function in GtkGrid gtk_grid_get_row_spacing, function in GtkGrid gtk_grid_insert_column, function in GtkGrid gtk_grid_insert_next_to, function in GtkGrid gtk_grid_insert_row, function in GtkGrid gtk_grid_layout_child_get_column_span, function in GtkGridLayout gtk_grid_layout_child_get_left_attach, function in GtkGridLayout gtk_grid_layout_child_get_row_span, function in GtkGridLayout gtk_grid_layout_child_get_top_attach, function in GtkGridLayout gtk_grid_layout_child_set_column_span, function in GtkGridLayout gtk_grid_layout_child_set_left_attach, function in GtkGridLayout gtk_grid_layout_child_set_row_span, function in GtkGridLayout gtk_grid_layout_child_set_top_attach, function in GtkGridLayout gtk_grid_layout_get_baseline_row, function in GtkGridLayout gtk_grid_layout_get_column_homogeneous, function in GtkGridLayout gtk_grid_layout_get_column_spacing, function in GtkGridLayout gtk_grid_layout_get_row_baseline_position, function in GtkGridLayout gtk_grid_layout_get_row_homogeneous, function in GtkGridLayout gtk_grid_layout_get_row_spacing, function in GtkGridLayout gtk_grid_layout_new, function in GtkGridLayout gtk_grid_layout_set_baseline_row, function in GtkGridLayout gtk_grid_layout_set_column_homogeneous, function in GtkGridLayout gtk_grid_layout_set_column_spacing, function in GtkGridLayout gtk_grid_layout_set_row_baseline_position, function in GtkGridLayout gtk_grid_layout_set_row_homogeneous, function in GtkGridLayout gtk_grid_layout_set_row_spacing, function in GtkGridLayout gtk_grid_new, function in GtkGrid gtk_grid_remove, function in GtkGrid gtk_grid_remove_column, function in GtkGrid gtk_grid_remove_row, function in GtkGrid gtk_grid_set_baseline_row, function in GtkGrid gtk_grid_set_column_homogeneous, function in GtkGrid gtk_grid_set_column_spacing, function in GtkGrid gtk_grid_set_row_baseline_position, function in GtkGrid gtk_grid_set_row_homogeneous, function in GtkGrid gtk_grid_set_row_spacing, function in GtkGrid gtk_grid_view_get_enable_rubberband, function in GtkGridView gtk_grid_view_get_factory, function in GtkGridView gtk_grid_view_get_max_columns, function in GtkGridView gtk_grid_view_get_min_columns, function in GtkGridView gtk_grid_view_get_model, function in GtkGridView gtk_grid_view_get_single_click_activate, function in GtkGridView gtk_grid_view_new, function in GtkGridView gtk_grid_view_new_with_factory, function in GtkGridView gtk_grid_view_set_enable_rubberband, function in GtkGridView gtk_grid_view_set_factory, function in GtkGridView gtk_grid_view_set_max_columns, function in GtkGridView gtk_grid_view_set_min_columns, function in GtkGridView gtk_grid_view_set_model, function in GtkGridView gtk_grid_view_set_single_click_activate, function in GtkGridView H GtkHeaderBar, struct in GtkHeaderBar GtkHeaderBar:decoration-layout, object property in GtkHeaderBar GtkHeaderBar:show-title-buttons, object property in GtkHeaderBar GtkHeaderBar:title-widget, object property in GtkHeaderBar gtk_header_bar_get_decoration_layout, function in GtkHeaderBar gtk_header_bar_get_show_title_buttons, function in GtkHeaderBar gtk_header_bar_get_title_widget, function in GtkHeaderBar gtk_header_bar_new, function in GtkHeaderBar gtk_header_bar_pack_end, function in GtkHeaderBar gtk_header_bar_pack_start, function in GtkHeaderBar gtk_header_bar_remove, function in GtkHeaderBar gtk_header_bar_set_decoration_layout, function in GtkHeaderBar gtk_header_bar_set_show_title_buttons, function in GtkHeaderBar gtk_header_bar_set_title_widget, function in GtkHeaderBar gtk_hsv_to_rgb, function in GtkColorChooser I GtkIconLookupFlags, enum in GtkIconTheme GtkIconPaintable, struct in GtkIconTheme GtkIconSize, enum in Standard Enumerations GtkIconTheme, struct in GtkIconTheme GtkIconTheme::changed, object signal in GtkIconTheme GtkIconTheme:display, object property in GtkIconTheme GtkIconTheme:icon-names, object property in GtkIconTheme GtkIconTheme:resource-path, object property in GtkIconTheme GtkIconTheme:search-path, object property in GtkIconTheme GtkIconTheme:theme-name, object property in GtkIconTheme GtkIconThemeError, enum in GtkIconTheme GtkIconView, struct in GtkIconView GtkIconView::activate-cursor-item, object signal in GtkIconView GtkIconView::item-activated, object signal in GtkIconView GtkIconView::move-cursor, object signal in GtkIconView GtkIconView::select-all, object signal in GtkIconView GtkIconView::select-cursor-item, object signal in GtkIconView GtkIconView::selection-changed, object signal in GtkIconView GtkIconView::toggle-cursor-item, object signal in GtkIconView GtkIconView::unselect-all, object signal in GtkIconView GtkIconView:activate-on-single-click, object property in GtkIconView GtkIconView:cell-area, object property in GtkIconView GtkIconView:column-spacing, object property in GtkIconView GtkIconView:columns, object property in GtkIconView GtkIconView:item-orientation, object property in GtkIconView GtkIconView:item-padding, object property in GtkIconView GtkIconView:item-width, object property in GtkIconView GtkIconView:margin, object property in GtkIconView GtkIconView:markup-column, object property in GtkIconView GtkIconView:model, object property in GtkIconView GtkIconView:pixbuf-column, object property in GtkIconView GtkIconView:reorderable, object property in GtkIconView GtkIconView:row-spacing, object property in GtkIconView GtkIconView:selection-mode, object property in GtkIconView GtkIconView:spacing, object property in GtkIconView GtkIconView:text-column, object property in GtkIconView GtkIconView:tooltip-column, object property in GtkIconView GtkIconViewDropPosition, enum in GtkIconView GtkIconViewForeachFunc, user_function in GtkIconView gtk_icon_paintable_get_file, function in GtkIconTheme gtk_icon_paintable_get_icon_name, function in GtkIconTheme gtk_icon_paintable_is_symbolic, function in GtkIconTheme gtk_icon_paintable_new_for_file, function in GtkIconTheme gtk_icon_theme_add_resource_path, function in GtkIconTheme gtk_icon_theme_add_search_path, function in GtkIconTheme GTK_ICON_THEME_ERROR, macro in GtkIconTheme gtk_icon_theme_get_for_display, function in GtkIconTheme gtk_icon_theme_get_icon_names, function in GtkIconTheme gtk_icon_theme_get_icon_sizes, function in GtkIconTheme gtk_icon_theme_get_resource_path, function in GtkIconTheme gtk_icon_theme_get_search_path, function in GtkIconTheme gtk_icon_theme_get_theme_name, function in GtkIconTheme gtk_icon_theme_has_icon, function in GtkIconTheme gtk_icon_theme_lookup_by_gicon, function in GtkIconTheme gtk_icon_theme_lookup_icon, function in GtkIconTheme gtk_icon_theme_new, function in GtkIconTheme gtk_icon_theme_set_resource_path, function in GtkIconTheme gtk_icon_theme_set_search_path, function in GtkIconTheme gtk_icon_theme_set_theme_name, function in GtkIconTheme gtk_icon_view_create_drag_icon, function in GtkIconView gtk_icon_view_enable_model_drag_dest, function in GtkIconView gtk_icon_view_enable_model_drag_source, function in GtkIconView gtk_icon_view_get_activate_on_single_click, function in GtkIconView gtk_icon_view_get_cell_rect, function in GtkIconView gtk_icon_view_get_columns, function in GtkIconView gtk_icon_view_get_column_spacing, function in GtkIconView gtk_icon_view_get_cursor, function in GtkIconView gtk_icon_view_get_dest_item_at_pos, function in GtkIconView gtk_icon_view_get_drag_dest_item, function in GtkIconView gtk_icon_view_get_item_at_pos, function in GtkIconView gtk_icon_view_get_item_column, function in GtkIconView gtk_icon_view_get_item_orientation, function in GtkIconView gtk_icon_view_get_item_padding, function in GtkIconView gtk_icon_view_get_item_row, function in GtkIconView gtk_icon_view_get_item_width, function in GtkIconView gtk_icon_view_get_margin, function in GtkIconView gtk_icon_view_get_markup_column, function in GtkIconView gtk_icon_view_get_model, function in GtkIconView gtk_icon_view_get_path_at_pos, function in GtkIconView gtk_icon_view_get_pixbuf_column, function in GtkIconView gtk_icon_view_get_reorderable, function in GtkIconView gtk_icon_view_get_row_spacing, function in GtkIconView gtk_icon_view_get_selected_items, function in GtkIconView gtk_icon_view_get_selection_mode, function in GtkIconView gtk_icon_view_get_spacing, function in GtkIconView gtk_icon_view_get_text_column, function in GtkIconView gtk_icon_view_get_tooltip_column, function in GtkIconView gtk_icon_view_get_tooltip_context, function in GtkIconView gtk_icon_view_get_visible_range, function in GtkIconView gtk_icon_view_item_activated, function in GtkIconView gtk_icon_view_new, function in GtkIconView gtk_icon_view_new_with_area, function in GtkIconView gtk_icon_view_new_with_model, function in GtkIconView gtk_icon_view_path_is_selected, function in GtkIconView gtk_icon_view_scroll_to_path, function in GtkIconView gtk_icon_view_selected_foreach, function in GtkIconView gtk_icon_view_select_all, function in GtkIconView gtk_icon_view_select_path, function in GtkIconView gtk_icon_view_set_activate_on_single_click, function in GtkIconView gtk_icon_view_set_columns, function in GtkIconView gtk_icon_view_set_column_spacing, function in GtkIconView gtk_icon_view_set_cursor, function in GtkIconView gtk_icon_view_set_drag_dest_item, function in GtkIconView gtk_icon_view_set_item_orientation, function in GtkIconView gtk_icon_view_set_item_padding, function in GtkIconView gtk_icon_view_set_item_width, function in GtkIconView gtk_icon_view_set_margin, function in GtkIconView gtk_icon_view_set_markup_column, function in GtkIconView gtk_icon_view_set_model, function in GtkIconView gtk_icon_view_set_pixbuf_column, function in GtkIconView gtk_icon_view_set_reorderable, function in GtkIconView gtk_icon_view_set_row_spacing, function in GtkIconView gtk_icon_view_set_selection_mode, function in GtkIconView gtk_icon_view_set_spacing, function in GtkIconView gtk_icon_view_set_text_column, function in GtkIconView gtk_icon_view_set_tooltip_cell, function in GtkIconView gtk_icon_view_set_tooltip_column, function in GtkIconView gtk_icon_view_set_tooltip_item, function in GtkIconView gtk_icon_view_unselect_all, function in GtkIconView gtk_icon_view_unselect_path, function in GtkIconView gtk_icon_view_unset_model_drag_dest, function in GtkIconView gtk_icon_view_unset_model_drag_source, function in GtkIconView GtkImage, struct in GtkImage GtkImage:file, object property in GtkImage GtkImage:gicon, object property in GtkImage GtkImage:icon-name, object property in GtkImage GtkImage:icon-size, object property in GtkImage GtkImage:paintable, object property in GtkImage GtkImage:pixel-size, object property in GtkImage GtkImage:resource, object property in GtkImage GtkImage:storage-type, object property in GtkImage GtkImage:use-fallback, object property in GtkImage GtkImageType, enum in GtkImage gtk_image_clear, function in GtkImage gtk_image_get_gicon, function in GtkImage gtk_image_get_icon_name, function in GtkImage gtk_image_get_icon_size, function in GtkImage gtk_image_get_paintable, function in GtkImage gtk_image_get_pixel_size, function in GtkImage gtk_image_get_storage_type, function in GtkImage gtk_image_new, function in GtkImage gtk_image_new_from_file, function in GtkImage gtk_image_new_from_gicon, function in GtkImage gtk_image_new_from_icon_name, function in GtkImage gtk_image_new_from_paintable, function in GtkImage gtk_image_new_from_pixbuf, function in GtkImage gtk_image_new_from_resource, function in GtkImage gtk_image_set_from_file, function in GtkImage gtk_image_set_from_gicon, function in GtkImage gtk_image_set_from_icon_name, function in GtkImage gtk_image_set_from_paintable, function in GtkImage gtk_image_set_from_pixbuf, function in GtkImage gtk_image_set_from_resource, function in GtkImage gtk_image_set_icon_size, function in GtkImage gtk_image_set_pixel_size, function in GtkImage GtkIMContext, struct in GtkIMContext GtkIMContext::commit, object signal in GtkIMContext GtkIMContext::delete-surrounding, object signal in GtkIMContext GtkIMContext::preedit-changed, object signal in GtkIMContext GtkIMContext::preedit-end, object signal in GtkIMContext GtkIMContext::preedit-start, object signal in GtkIMContext GtkIMContext::retrieve-surrounding, object signal in GtkIMContext GtkIMContext:input-hints, object property in GtkIMContext GtkIMContext:input-purpose, object property in GtkIMContext GtkIMContextClass, struct in GtkIMContext GtkIMContextSimple, struct in GtkIMContextSimple GtkIMMulticontext, struct in GtkIMMulticontext gtk_im_context_delete_surrounding, function in GtkIMContext gtk_im_context_filter_key, function in GtkIMContext gtk_im_context_filter_keypress, function in GtkIMContext gtk_im_context_focus_in, function in GtkIMContext gtk_im_context_focus_out, function in GtkIMContext gtk_im_context_get_preedit_string, function in GtkIMContext gtk_im_context_get_surrounding, function in GtkIMContext gtk_im_context_reset, function in GtkIMContext gtk_im_context_set_client_widget, function in GtkIMContext gtk_im_context_set_cursor_location, function in GtkIMContext gtk_im_context_set_surrounding, function in GtkIMContext gtk_im_context_set_use_preedit, function in GtkIMContext gtk_im_context_simple_add_compose_file, function in GtkIMContextSimple gtk_im_context_simple_add_table, function in GtkIMContextSimple gtk_im_context_simple_new, function in GtkIMContextSimple gtk_im_multicontext_get_context_id, function in GtkIMMulticontext gtk_im_multicontext_new, function in GtkIMMulticontext gtk_im_multicontext_set_context_id, function in GtkIMMulticontext GtkInfoBar, struct in GtkInfoBar GtkInfoBar::close, object signal in GtkInfoBar GtkInfoBar::response, object signal in GtkInfoBar GtkInfoBar:message-type, object property in GtkInfoBar GtkInfoBar:revealed, object property in GtkInfoBar GtkInfoBar:show-close-button, object property in GtkInfoBar gtk_info_bar_add_action_widget, function in GtkInfoBar gtk_info_bar_add_button, function in GtkInfoBar gtk_info_bar_add_buttons, function in GtkInfoBar gtk_info_bar_add_child, function in GtkInfoBar gtk_info_bar_get_message_type, function in GtkInfoBar gtk_info_bar_get_revealed, function in GtkInfoBar gtk_info_bar_get_show_close_button, function in GtkInfoBar gtk_info_bar_new, function in GtkInfoBar gtk_info_bar_new_with_buttons, function in GtkInfoBar gtk_info_bar_remove_action_widget, function in GtkInfoBar gtk_info_bar_remove_child, function in GtkInfoBar gtk_info_bar_response, function in GtkInfoBar gtk_info_bar_set_default_response, function in GtkInfoBar gtk_info_bar_set_message_type, function in GtkInfoBar gtk_info_bar_set_response_sensitive, function in GtkInfoBar gtk_info_bar_set_revealed, function in GtkInfoBar gtk_info_bar_set_show_close_button, function in GtkInfoBar gtk_init, function in General gtk_init_check, function in General GtkInputHints, enum in GtkEntry GtkInputPurpose, enum in GtkEntry GTK_INPUT_ERROR, macro in GtkSpinButton GTK_INTERFACE_AGE, macro in Feature Test Macros GTK_INVALID_LIST_POSITION, macro in GtkSingleSelection J GtkJustification, enum in Standard Enumerations K GtkKeyvalTrigger, struct in GtkShortcutTrigger gtk_keyval_trigger_get_keyval, function in GtkShortcutTrigger gtk_keyval_trigger_get_modifiers, function in GtkShortcutTrigger gtk_keyval_trigger_new, function in GtkShortcutTrigger L GtkLabel, struct in GtkLabel GtkLabel::activate-current-link, object signal in GtkLabel GtkLabel::activate-link, object signal in GtkLabel GtkLabel::copy-clipboard, object signal in GtkLabel GtkLabel::move-cursor, object signal in GtkLabel GtkLabel:attributes, object property in GtkLabel GtkLabel:ellipsize, object property in GtkLabel GtkLabel:extra-menu, object property in GtkLabel GtkLabel:justify, object property in GtkLabel GtkLabel:label, object property in GtkLabel GtkLabel:lines, object property in GtkLabel GtkLabel:max-width-chars, object property in GtkLabel GtkLabel:mnemonic-keyval, object property in GtkLabel GtkLabel:mnemonic-widget, object property in GtkLabel GtkLabel:selectable, object property in GtkLabel GtkLabel:single-line-mode, object property in GtkLabel GtkLabel:use-markup, object property in GtkLabel GtkLabel:use-underline, object property in GtkLabel GtkLabel:width-chars, object property in GtkLabel GtkLabel:wrap, object property in GtkLabel GtkLabel:wrap-mode, object property in GtkLabel GtkLabel:xalign, object property in GtkLabel GtkLabel:yalign, object property in GtkLabel gtk_label_get_attributes, function in GtkLabel gtk_label_get_current_uri, function in GtkLabel gtk_label_get_ellipsize, function in GtkLabel gtk_label_get_extra_menu, function in GtkLabel gtk_label_get_justify, function in GtkLabel gtk_label_get_label, function in GtkLabel gtk_label_get_layout, function in GtkLabel gtk_label_get_layout_offsets, function in GtkLabel gtk_label_get_lines, function in GtkLabel gtk_label_get_max_width_chars, function in GtkLabel gtk_label_get_mnemonic_keyval, function in GtkLabel gtk_label_get_mnemonic_widget, function in GtkLabel gtk_label_get_selectable, function in GtkLabel gtk_label_get_selection_bounds, function in GtkLabel gtk_label_get_single_line_mode, function in GtkLabel gtk_label_get_text, function in GtkLabel gtk_label_get_use_markup, function in GtkLabel gtk_label_get_use_underline, function in GtkLabel gtk_label_get_width_chars, function in GtkLabel gtk_label_get_wrap, function in GtkLabel gtk_label_get_wrap_mode, function in GtkLabel gtk_label_get_xalign, function in GtkLabel gtk_label_get_yalign, function in GtkLabel gtk_label_new, function in GtkLabel gtk_label_new_with_mnemonic, function in GtkLabel gtk_label_select_region, function in GtkLabel gtk_label_set_attributes, function in GtkLabel gtk_label_set_ellipsize, function in GtkLabel gtk_label_set_extra_menu, function in GtkLabel gtk_label_set_justify, function in GtkLabel gtk_label_set_label, function in GtkLabel gtk_label_set_lines, function in GtkLabel gtk_label_set_markup, function in GtkLabel gtk_label_set_markup_with_mnemonic, function in GtkLabel gtk_label_set_max_width_chars, function in GtkLabel gtk_label_set_mnemonic_widget, function in GtkLabel gtk_label_set_selectable, function in GtkLabel gtk_label_set_single_line_mode, function in GtkLabel gtk_label_set_text, function in GtkLabel gtk_label_set_text_with_mnemonic, function in GtkLabel gtk_label_set_use_markup, function in GtkLabel gtk_label_set_use_underline, function in GtkLabel gtk_label_set_width_chars, function in GtkLabel gtk_label_set_wrap, function in GtkLabel gtk_label_set_wrap_mode, function in GtkLabel gtk_label_set_xalign, function in GtkLabel gtk_label_set_yalign, function in GtkLabel GtkLabel|clipboard.copy, action in GtkLabel GtkLabel|clipboard.cut, action in GtkLabel GtkLabel|clipboard.paste, action in GtkLabel GtkLabel|link.copy, action in GtkLabel GtkLabel|link.open, action in GtkLabel GtkLabel|menu.popup, action in GtkLabel GtkLabel|selection.delete, action in GtkLabel GtkLabel|selection.select-all, action in GtkLabel GtkLayoutChild, struct in GtkLayoutChild GtkLayoutChild:child-widget, object property in GtkLayoutChild GtkLayoutChild:layout-manager, object property in GtkLayoutChild GtkLayoutChildClass, struct in GtkLayoutChild GtkLayoutManager, struct in GtkLayoutManager GtkLayoutManagerClass, struct in GtkLayoutManager gtk_layout_child_get_child_widget, function in GtkLayoutChild gtk_layout_child_get_layout_manager, function in GtkLayoutChild gtk_layout_manager_allocate, function in GtkLayoutManager gtk_layout_manager_get_layout_child, function in GtkLayoutManager gtk_layout_manager_get_request_mode, function in GtkLayoutManager gtk_layout_manager_get_widget, function in GtkLayoutManager gtk_layout_manager_layout_changed, function in GtkLayoutManager gtk_layout_manager_measure, function in GtkLayoutManager GtkLevelBar, struct in GtkLevelBar GtkLevelBar::offset-changed, object signal in GtkLevelBar GtkLevelBar:inverted, object property in GtkLevelBar GtkLevelBar:max-value, object property in GtkLevelBar GtkLevelBar:min-value, object property in GtkLevelBar GtkLevelBar:mode, object property in GtkLevelBar GtkLevelBar:value, object property in GtkLevelBar GtkLevelBarMode, enum in GtkLevelBar gtk_level_bar_add_offset_value, function in GtkLevelBar gtk_level_bar_get_inverted, function in GtkLevelBar gtk_level_bar_get_max_value, function in GtkLevelBar gtk_level_bar_get_min_value, function in GtkLevelBar gtk_level_bar_get_mode, function in GtkLevelBar gtk_level_bar_get_offset_value, function in GtkLevelBar gtk_level_bar_get_value, function in GtkLevelBar gtk_level_bar_new, function in GtkLevelBar gtk_level_bar_new_for_interval, function in GtkLevelBar GTK_LEVEL_BAR_OFFSET_FULL, macro in GtkLevelBar GTK_LEVEL_BAR_OFFSET_HIGH, macro in GtkLevelBar GTK_LEVEL_BAR_OFFSET_LOW, macro in GtkLevelBar gtk_level_bar_remove_offset_value, function in GtkLevelBar gtk_level_bar_set_inverted, function in GtkLevelBar gtk_level_bar_set_max_value, function in GtkLevelBar gtk_level_bar_set_min_value, function in GtkLevelBar gtk_level_bar_set_mode, function in GtkLevelBar gtk_level_bar_set_value, function in GtkLevelBar GtkLicense, enum in GtkAboutDialog GtkLinkButton, struct in GtkLinkButton GtkLinkButton::activate-link, object signal in GtkLinkButton GtkLinkButton:uri, object property in GtkLinkButton GtkLinkButton:visited, object property in GtkLinkButton GtkLinkButton|clipboard.copy, action in GtkLinkButton GtkLinkButton|menu.popup, action in GtkLinkButton gtk_link_button_get_uri, function in GtkLinkButton gtk_link_button_get_visited, function in GtkLinkButton gtk_link_button_new, function in GtkLinkButton gtk_link_button_new_with_label, function in GtkLinkButton gtk_link_button_set_uri, function in GtkLinkButton gtk_link_button_set_visited, function in GtkLinkButton GtkListBox, struct in GtkListBox GtkListBox::activate-cursor-row, object signal in GtkListBox GtkListBox::move-cursor, object signal in GtkListBox GtkListBox::row-activated, object signal in GtkListBox GtkListBox::row-selected, object signal in GtkListBox GtkListBox::select-all, object signal in GtkListBox GtkListBox::selected-rows-changed, object signal in GtkListBox GtkListBox::toggle-cursor-row, object signal in GtkListBox GtkListBox::unselect-all, object signal in GtkListBox GtkListBox:accept-unpaired-release, object property in GtkListBox GtkListBox:activate-on-single-click, object property in GtkListBox GtkListBox:selection-mode, object property in GtkListBox GtkListBox:show-separators, object property in GtkListBox GtkListBoxCreateWidgetFunc, user_function in GtkListBox GtkListBoxFilterFunc, user_function in GtkListBox GtkListBoxForeachFunc, user_function in GtkListBox GtkListBoxRow, struct in GtkListBox GtkListBoxRow::activate, object signal in GtkListBox GtkListBoxRow:activatable, object property in GtkListBox GtkListBoxRow:child, object property in GtkListBox GtkListBoxRow:selectable, object property in GtkListBox GtkListBoxRowClass, struct in GtkListBox GtkListBoxSortFunc, user_function in GtkListBox GtkListBoxUpdateHeaderFunc, user_function in GtkListBox GtkListItem, struct in GtkListItem GtkListItem:activatable, object property in GtkListItem GtkListItem:child, object property in GtkListItem GtkListItem:item, object property in GtkListItem GtkListItem:position, object property in GtkListItem GtkListItem:selectable, object property in GtkListItem GtkListItem:selected, object property in GtkListItem GtkListItemFactory, struct in GtkListItemFactory GtkListStore, struct in GtkListStore GtkListView, struct in GtkListView GtkListView::activate, object signal in GtkListView GtkListView:enable-rubberband, object property in GtkListView GtkListView:factory, object property in GtkListView GtkListView:model, object property in GtkListView GtkListView:show-separators, object property in GtkListView GtkListView:single-click-activate, object property in GtkListView GtkListView|list.activate-item, action in GtkListView gtk_list_box_bind_model, function in GtkListBox gtk_list_box_drag_highlight_row, function in GtkListBox gtk_list_box_drag_unhighlight_row, function in GtkListBox gtk_list_box_get_activate_on_single_click, function in GtkListBox gtk_list_box_get_adjustment, function in GtkListBox gtk_list_box_get_row_at_index, function in GtkListBox gtk_list_box_get_row_at_y, function in GtkListBox gtk_list_box_get_selected_row, function in GtkListBox gtk_list_box_get_selected_rows, function in GtkListBox gtk_list_box_get_selection_mode, function in GtkListBox gtk_list_box_get_show_separators, function in GtkListBox gtk_list_box_insert, function in GtkListBox gtk_list_box_invalidate_filter, function in GtkListBox gtk_list_box_invalidate_headers, function in GtkListBox gtk_list_box_invalidate_sort, function in GtkListBox gtk_list_box_new, function in GtkListBox gtk_list_box_prepend, function in GtkListBox gtk_list_box_remove, function in GtkListBox gtk_list_box_row_changed, function in GtkListBox gtk_list_box_row_get_activatable, function in GtkListBox gtk_list_box_row_get_child, function in GtkListBox gtk_list_box_row_get_header, function in GtkListBox gtk_list_box_row_get_index, function in GtkListBox gtk_list_box_row_get_selectable, function in GtkListBox gtk_list_box_row_is_selected, function in GtkListBox gtk_list_box_row_new, function in GtkListBox gtk_list_box_row_set_activatable, function in GtkListBox gtk_list_box_row_set_child, function in GtkListBox gtk_list_box_row_set_header, function in GtkListBox gtk_list_box_row_set_selectable, function in GtkListBox gtk_list_box_selected_foreach, function in GtkListBox gtk_list_box_select_all, function in GtkListBox gtk_list_box_select_row, function in GtkListBox gtk_list_box_set_activate_on_single_click, function in GtkListBox gtk_list_box_set_adjustment, function in GtkListBox gtk_list_box_set_filter_func, function in GtkListBox gtk_list_box_set_header_func, function in GtkListBox gtk_list_box_set_placeholder, function in GtkListBox gtk_list_box_set_selection_mode, function in GtkListBox gtk_list_box_set_show_separators, function in GtkListBox gtk_list_box_set_sort_func, function in GtkListBox gtk_list_box_unselect_all, function in GtkListBox gtk_list_box_unselect_row, function in GtkListBox gtk_list_item_get_activatable, function in GtkListItem gtk_list_item_get_child, function in GtkListItem gtk_list_item_get_item, function in GtkListItem gtk_list_item_get_position, function in GtkListItem gtk_list_item_get_selectable, function in GtkListItem gtk_list_item_get_selected, function in GtkListItem gtk_list_item_set_activatable, function in GtkListItem gtk_list_item_set_child, function in GtkListItem gtk_list_item_set_selectable, function in GtkListItem gtk_list_store_append, function in GtkListStore gtk_list_store_clear, function in GtkListStore gtk_list_store_insert, function in GtkListStore gtk_list_store_insert_after, function in GtkListStore gtk_list_store_insert_before, function in GtkListStore gtk_list_store_insert_with_values, function in GtkListStore gtk_list_store_insert_with_valuesv, function in GtkListStore gtk_list_store_iter_is_valid, function in GtkListStore gtk_list_store_move_after, function in GtkListStore gtk_list_store_move_before, function in GtkListStore gtk_list_store_new, function in GtkListStore gtk_list_store_newv, function in GtkListStore gtk_list_store_prepend, function in GtkListStore gtk_list_store_remove, function in GtkListStore gtk_list_store_reorder, function in GtkListStore gtk_list_store_set, function in GtkListStore gtk_list_store_set_column_types, function in GtkListStore gtk_list_store_set_valist, function in GtkListStore gtk_list_store_set_value, function in GtkListStore gtk_list_store_set_valuesv, function in GtkListStore gtk_list_store_swap, function in GtkListStore gtk_list_view_get_enable_rubberband, function in GtkListView gtk_list_view_get_factory, function in GtkListView gtk_list_view_get_model, function in GtkListView gtk_list_view_get_show_separators, function in GtkListView gtk_list_view_get_single_click_activate, function in GtkListView gtk_list_view_new, function in GtkListView gtk_list_view_new_with_factory, function in GtkListView gtk_list_view_set_enable_rubberband, function in GtkListView gtk_list_view_set_factory, function in GtkListView gtk_list_view_set_model, function in GtkListView gtk_list_view_set_show_separators, function in GtkListView gtk_list_view_set_single_click_activate, function in GtkListView GtkLockButton, struct in GtkLockButton GtkLockButton:permission, object property in GtkLockButton GtkLockButton:text-lock, object property in GtkLockButton GtkLockButton:text-unlock, object property in GtkLockButton GtkLockButton:tooltip-lock, object property in GtkLockButton GtkLockButton:tooltip-not-authorized, object property in GtkLockButton GtkLockButton:tooltip-unlock, object property in GtkLockButton gtk_lock_button_get_permission, function in GtkLockButton gtk_lock_button_new, function in GtkLockButton gtk_lock_button_set_permission, function in GtkLockButton M GTK_MAJOR_VERSION, macro in Feature Test Macros GtkMapListModel, struct in GtkMapListModel GtkMapListModel:has-map, object property in GtkMapListModel GtkMapListModel:model, object property in GtkMapListModel GtkMapListModelMapFunc, user_function in GtkMapListModel gtk_map_list_model_get_model, function in GtkMapListModel gtk_map_list_model_has_map, function in GtkMapListModel gtk_map_list_model_new, function in GtkMapListModel gtk_map_list_model_set_map_func, function in GtkMapListModel gtk_map_list_model_set_model, function in GtkMapListModel GTK_MAX_COMPOSE_LEN, macro in GtkIMContextSimple GtkMediaControls, struct in GtkMediaControls GtkMediaControls:media-stream, object property in GtkMediaControls GtkMediaFile, struct in GtkMediaFile GtkMediaFile:file, object property in GtkMediaFile GtkMediaFile:input-stream, object property in GtkMediaFile GtkMediaStream, struct in GtkMediaStream GtkMediaStream:duration, object property in GtkMediaStream GtkMediaStream:ended, object property in GtkMediaStream GtkMediaStream:error, object property in GtkMediaStream GtkMediaStream:has-audio, object property in GtkMediaStream GtkMediaStream:has-video, object property in GtkMediaStream GtkMediaStream:loop, object property in GtkMediaStream GtkMediaStream:muted, object property in GtkMediaStream GtkMediaStream:playing, object property in GtkMediaStream GtkMediaStream:prepared, object property in GtkMediaStream GtkMediaStream:seekable, object property in GtkMediaStream GtkMediaStream:seeking, object property in GtkMediaStream GtkMediaStream:timestamp, object property in GtkMediaStream GtkMediaStream:volume, object property in GtkMediaStream GtkMediaStreamClass, struct in GtkMediaStream gtk_media_controls_get_media_stream, function in GtkMediaControls gtk_media_controls_new, function in GtkMediaControls gtk_media_controls_set_media_stream, function in GtkMediaControls gtk_media_file_clear, function in GtkMediaFile gtk_media_file_get_file, function in GtkMediaFile gtk_media_file_get_input_stream, function in GtkMediaFile gtk_media_file_new, function in GtkMediaFile gtk_media_file_new_for_file, function in GtkMediaFile gtk_media_file_new_for_filename, function in GtkMediaFile gtk_media_file_new_for_input_stream, function in GtkMediaFile gtk_media_file_new_for_resource, function in GtkMediaFile gtk_media_file_set_file, function in GtkMediaFile gtk_media_file_set_filename, function in GtkMediaFile gtk_media_file_set_input_stream, function in GtkMediaFile gtk_media_file_set_resource, function in GtkMediaFile gtk_media_stream_ended, function in GtkMediaStream gtk_media_stream_error, function in GtkMediaStream gtk_media_stream_error_valist, function in GtkMediaStream gtk_media_stream_gerror, function in GtkMediaStream gtk_media_stream_get_duration, function in GtkMediaStream gtk_media_stream_get_ended, function in GtkMediaStream gtk_media_stream_get_error, function in GtkMediaStream gtk_media_stream_get_loop, function in GtkMediaStream gtk_media_stream_get_muted, function in GtkMediaStream gtk_media_stream_get_playing, function in GtkMediaStream gtk_media_stream_get_timestamp, function in GtkMediaStream gtk_media_stream_get_volume, function in GtkMediaStream gtk_media_stream_has_audio, function in GtkMediaStream gtk_media_stream_has_video, function in GtkMediaStream gtk_media_stream_is_prepared, function in GtkMediaStream gtk_media_stream_is_seekable, function in GtkMediaStream gtk_media_stream_is_seeking, function in GtkMediaStream gtk_media_stream_pause, function in GtkMediaStream gtk_media_stream_play, function in GtkMediaStream gtk_media_stream_prepared, function in GtkMediaStream gtk_media_stream_realize, function in GtkMediaStream gtk_media_stream_seek, function in GtkMediaStream gtk_media_stream_seek_failed, function in GtkMediaStream gtk_media_stream_seek_success, function in GtkMediaStream gtk_media_stream_set_loop, function in GtkMediaStream gtk_media_stream_set_muted, function in GtkMediaStream gtk_media_stream_set_playing, function in GtkMediaStream gtk_media_stream_set_volume, function in GtkMediaStream gtk_media_stream_unprepared, function in GtkMediaStream gtk_media_stream_unrealize, function in GtkMediaStream gtk_media_stream_update, function in GtkMediaStream GtkMenuButton, struct in GtkMenuButton GtkMenuButton:direction, object property in GtkMenuButton GtkMenuButton:has-frame, object property in GtkMenuButton GtkMenuButton:icon-name, object property in GtkMenuButton GtkMenuButton:label, object property in GtkMenuButton GtkMenuButton:menu-model, object property in GtkMenuButton GtkMenuButton:popover, object property in GtkMenuButton GtkMenuButton:use-underline, object property in GtkMenuButton GtkMenuButtonCreatePopupFunc, user_function in GtkMenuButton gtk_menu_button_get_direction, function in GtkMenuButton gtk_menu_button_get_has_frame, function in GtkMenuButton gtk_menu_button_get_icon_name, function in GtkMenuButton gtk_menu_button_get_label, function in GtkMenuButton gtk_menu_button_get_menu_model, function in GtkMenuButton gtk_menu_button_get_popover, function in GtkMenuButton gtk_menu_button_get_use_underline, function in GtkMenuButton gtk_menu_button_new, function in GtkMenuButton gtk_menu_button_popdown, function in GtkMenuButton gtk_menu_button_popup, function in GtkMenuButton gtk_menu_button_set_create_popup_func, function in GtkMenuButton gtk_menu_button_set_direction, function in GtkMenuButton gtk_menu_button_set_has_frame, function in GtkMenuButton gtk_menu_button_set_icon_name, function in GtkMenuButton gtk_menu_button_set_label, function in GtkMenuButton gtk_menu_button_set_menu_model, function in GtkMenuButton gtk_menu_button_set_popover, function in GtkMenuButton gtk_menu_button_set_use_underline, function in GtkMenuButton GtkMessageDialog, struct in GtkMessageDialog GtkMessageDialog:buttons, object property in GtkMessageDialog GtkMessageDialog:message-area, object property in GtkMessageDialog GtkMessageDialog:message-type, object property in GtkMessageDialog GtkMessageDialog:secondary-text, object property in GtkMessageDialog GtkMessageDialog:secondary-use-markup, object property in GtkMessageDialog GtkMessageDialog:text, object property in GtkMessageDialog GtkMessageDialog:use-markup, object property in GtkMessageDialog GtkMessageType, enum in GtkMessageDialog gtk_message_dialog_format_secondary_markup, function in GtkMessageDialog gtk_message_dialog_format_secondary_text, function in GtkMessageDialog gtk_message_dialog_get_message_area, function in GtkMessageDialog gtk_message_dialog_new, function in GtkMessageDialog gtk_message_dialog_new_with_markup, function in GtkMessageDialog gtk_message_dialog_set_markup, function in GtkMessageDialog GTK_MICRO_VERSION, macro in Feature Test Macros GTK_MINOR_VERSION, macro in Feature Test Macros GtkMnemonicAction, struct in GtkShortcutAction GtkMnemonicTrigger, struct in GtkShortcutTrigger gtk_mnemonic_action_get, function in GtkShortcutAction gtk_mnemonic_trigger_get_keyval, function in GtkShortcutTrigger gtk_mnemonic_trigger_new, function in GtkShortcutTrigger GtkMountOperation, struct in Filesystem utilities GtkMountOperation:display, object property in Filesystem utilities GtkMountOperation:is-showing, object property in Filesystem utilities GtkMountOperation:parent, object property in Filesystem utilities GtkMountOperationClass, struct in Filesystem utilities gtk_mount_operation_get_display, function in Filesystem utilities gtk_mount_operation_get_parent, function in Filesystem utilities gtk_mount_operation_is_showing, function in Filesystem utilities gtk_mount_operation_new, function in Filesystem utilities gtk_mount_operation_set_display, function in Filesystem utilities gtk_mount_operation_set_parent, function in Filesystem utilities GtkMovementStep, enum in Standard Enumerations GtkMultiFilter, struct in GtkMultiFilter GtkMultiSelection, struct in GtkMultiSeledction GtkMultiSelection:model, object property in GtkMultiSeledction GtkMultiSorter, struct in GtkMultiSorter gtk_multi_filter_append, function in GtkMultiFilter gtk_multi_filter_remove, function in GtkMultiFilter gtk_multi_selection_get_model, function in GtkMultiSeledction gtk_multi_selection_new, function in GtkMultiSeledction gtk_multi_selection_set_model, function in GtkMultiSeledction gtk_multi_sorter_append, function in GtkMultiSorter gtk_multi_sorter_new, function in GtkMultiSorter gtk_multi_sorter_remove, function in GtkMultiSorter N GtkNamedAction, struct in GtkShortcutAction gtk_named_action_get_action_name, function in GtkShortcutAction gtk_named_action_new, function in GtkShortcutAction GtkNative, struct in GtkNative GtkNativeDialog, struct in GtkNativeDialog GtkNativeDialog::response, object signal in GtkNativeDialog GtkNativeDialog:modal, object property in GtkNativeDialog GtkNativeDialog:title, object property in GtkNativeDialog GtkNativeDialog:transient-for, object property in GtkNativeDialog GtkNativeDialog:visible, object property in GtkNativeDialog GtkNativeDialogClass, struct in GtkNativeDialog GtkNativeInterface, struct in GtkNative gtk_native_check_resize, function in GtkNative gtk_native_dialog_destroy, function in GtkNativeDialog gtk_native_dialog_get_modal, function in GtkNativeDialog gtk_native_dialog_get_title, function in GtkNativeDialog gtk_native_dialog_get_transient_for, function in GtkNativeDialog gtk_native_dialog_get_visible, function in GtkNativeDialog gtk_native_dialog_hide, function in GtkNativeDialog gtk_native_dialog_set_modal, function in GtkNativeDialog gtk_native_dialog_set_title, function in GtkNativeDialog gtk_native_dialog_set_transient_for, function in GtkNativeDialog gtk_native_dialog_show, function in GtkNativeDialog gtk_native_get_for_surface, function in GtkNative gtk_native_get_renderer, function in GtkNative gtk_native_get_surface, function in GtkNative gtk_native_get_surface_transform, function in GtkNative GtkNeverTrigger, struct in GtkShortcutTrigger gtk_never_trigger_get, function in GtkShortcutTrigger GtkNoSelection, struct in GtkNoSelection GtkNoSelection:model, object property in GtkNoSelection GtkNotebook, struct in GtkNotebook GtkNotebook::change-current-page, object signal in GtkNotebook GtkNotebook::create-window, object signal in GtkNotebook GtkNotebook::focus-tab, object signal in GtkNotebook GtkNotebook::move-focus-out, object signal in GtkNotebook GtkNotebook::page-added, object signal in GtkNotebook GtkNotebook::page-removed, object signal in GtkNotebook GtkNotebook::page-reordered, object signal in GtkNotebook GtkNotebook::reorder-tab, object signal in GtkNotebook GtkNotebook::select-page, object signal in GtkNotebook GtkNotebook::switch-page, object signal in GtkNotebook GtkNotebook:enable-popup, object property in GtkNotebook GtkNotebook:group-name, object property in GtkNotebook GtkNotebook:page, object property in GtkNotebook GtkNotebook:pages, object property in GtkNotebook GtkNotebook:scrollable, object property in GtkNotebook GtkNotebook:show-border, object property in GtkNotebook GtkNotebook:show-tabs, object property in GtkNotebook GtkNotebook:tab-pos, object property in GtkNotebook GtkNotebookPage, struct in GtkNotebook GtkNotebookPage:child, object property in GtkNotebook GtkNotebookPage:detachable, object property in GtkNotebook GtkNotebookPage:menu, object property in GtkNotebook GtkNotebookPage:menu-label, object property in GtkNotebook GtkNotebookPage:position, object property in GtkNotebook GtkNotebookPage:reorderable, object property in GtkNotebook GtkNotebookPage:tab, object property in GtkNotebook GtkNotebookPage:tab-expand, object property in GtkNotebook GtkNotebookPage:tab-fill, object property in GtkNotebook GtkNotebookPage:tab-label, object property in GtkNotebook gtk_notebook_append_page, function in GtkNotebook gtk_notebook_append_page_menu, function in GtkNotebook gtk_notebook_detach_tab, function in GtkNotebook gtk_notebook_get_action_widget, function in GtkNotebook gtk_notebook_get_current_page, function in GtkNotebook gtk_notebook_get_group_name, function in GtkNotebook gtk_notebook_get_menu_label, function in GtkNotebook gtk_notebook_get_menu_label_text, function in GtkNotebook gtk_notebook_get_nth_page, function in GtkNotebook gtk_notebook_get_n_pages, function in GtkNotebook gtk_notebook_get_page, function in GtkNotebook gtk_notebook_get_pages, function in GtkNotebook gtk_notebook_get_scrollable, function in GtkNotebook gtk_notebook_get_show_border, function in GtkNotebook gtk_notebook_get_show_tabs, function in GtkNotebook gtk_notebook_get_tab_detachable, function in GtkNotebook gtk_notebook_get_tab_label, function in GtkNotebook gtk_notebook_get_tab_label_text, function in GtkNotebook gtk_notebook_get_tab_pos, function in GtkNotebook gtk_notebook_get_tab_reorderable, function in GtkNotebook gtk_notebook_insert_page, function in GtkNotebook gtk_notebook_insert_page_menu, function in GtkNotebook gtk_notebook_new, function in GtkNotebook gtk_notebook_next_page, function in GtkNotebook gtk_notebook_page_get_child, function in GtkNotebook gtk_notebook_page_num, function in GtkNotebook gtk_notebook_popup_disable, function in GtkNotebook gtk_notebook_popup_enable, function in GtkNotebook gtk_notebook_prepend_page, function in GtkNotebook gtk_notebook_prepend_page_menu, function in GtkNotebook gtk_notebook_prev_page, function in GtkNotebook gtk_notebook_remove_page, function in GtkNotebook gtk_notebook_reorder_child, function in GtkNotebook gtk_notebook_set_action_widget, function in GtkNotebook gtk_notebook_set_current_page, function in GtkNotebook gtk_notebook_set_group_name, function in GtkNotebook gtk_notebook_set_menu_label, function in GtkNotebook gtk_notebook_set_menu_label_text, function in GtkNotebook gtk_notebook_set_scrollable, function in GtkNotebook gtk_notebook_set_show_border, function in GtkNotebook gtk_notebook_set_show_tabs, function in GtkNotebook gtk_notebook_set_tab_detachable, function in GtkNotebook gtk_notebook_set_tab_label, function in GtkNotebook gtk_notebook_set_tab_label_text, function in GtkNotebook gtk_notebook_set_tab_pos, function in GtkNotebook gtk_notebook_set_tab_reorderable, function in GtkNotebook GtkNotebook|menu.popup, action in GtkNotebook GtkNothingAction, struct in GtkShortcutAction gtk_nothing_action_get, function in GtkShortcutAction gtk_no_selection_get_model, function in GtkNoSelection gtk_no_selection_new, function in GtkNoSelection gtk_no_selection_set_model, function in GtkNoSelection GtkNumberUpLayout, enum in GtkPrintSettings GtkNumericSorter, struct in GtkNumericSorter GtkNumericSorter:expression, object property in GtkNumericSorter GtkNumericSorter:sort-order, object property in GtkNumericSorter gtk_numeric_sorter_get_expression, function in GtkNumericSorter gtk_numeric_sorter_get_sort_order, function in GtkNumericSorter gtk_numeric_sorter_new, function in GtkNumericSorter gtk_numeric_sorter_set_expression, function in GtkNumericSorter gtk_numeric_sorter_set_sort_order, function in GtkNumericSorter O gtk_object_expression_get_object, function in GtkExpression gtk_object_expression_new, function in GtkExpression GtkOrdering, enum in Standard Enumerations gtk_ordering_from_cmpfunc, function in Standard Enumerations GtkOrientable, struct in Orientable GtkOrientable:orientation, object property in Orientable gtk_orientable_get_orientation, function in Orientable gtk_orientable_set_orientation, function in Orientable GtkOrientation, enum in Standard Enumerations GtkOverflow, enum in GtkWidget GtkOverlay, struct in GtkOverlay GtkOverlay::get-child-position, object signal in GtkOverlay GtkOverlay:child, object property in GtkOverlay GtkOverlayLayout, struct in GtkOverlayLayout GtkOverlayLayoutChild, struct in GtkOverlayLayout GtkOverlayLayoutChild:clip-overlay, object property in GtkOverlayLayout GtkOverlayLayoutChild:measure, object property in GtkOverlayLayout gtk_overlay_add_overlay, function in GtkOverlay gtk_overlay_get_child, function in GtkOverlay gtk_overlay_get_clip_overlay, function in GtkOverlay gtk_overlay_get_measure_overlay, function in GtkOverlay gtk_overlay_layout_child_get_clip_overlay, function in GtkOverlayLayout gtk_overlay_layout_child_get_measure, function in GtkOverlayLayout gtk_overlay_layout_child_set_clip_overlay, function in GtkOverlayLayout gtk_overlay_layout_child_set_measure, function in GtkOverlayLayout gtk_overlay_layout_new, function in GtkOverlayLayout gtk_overlay_new, function in GtkOverlay gtk_overlay_remove_overlay, function in GtkOverlay gtk_overlay_set_child, function in GtkOverlay gtk_overlay_set_clip_overlay, function in GtkOverlay gtk_overlay_set_measure_overlay, function in GtkOverlay P GtkPackType, enum in Standard Enumerations GtkPadActionEntry, struct in GtkPadController GtkPadActionType, enum in GtkPadController GtkPadController, struct in GtkPadController GtkPadController:action-group, object property in GtkPadController GtkPadController:pad, object property in GtkPadController gtk_pad_controller_new, function in GtkPadController gtk_pad_controller_set_action, function in GtkPadController gtk_pad_controller_set_action_entries, function in GtkPadController GtkPageOrientation, enum in GtkPrintSettings GtkPageRange, struct in GtkPrintSettings GtkPageSet, enum in GtkPrintSettings GtkPageSetup, struct in GtkPageSetup GtkPageSetupDoneFunc, user_function in High-level Printing API GtkPageSetupUnixDialog, struct in GtkPageSetupUnixDialog gtk_page_setup_copy, function in GtkPageSetup gtk_page_setup_get_bottom_margin, function in GtkPageSetup gtk_page_setup_get_left_margin, function in GtkPageSetup gtk_page_setup_get_orientation, function in GtkPageSetup gtk_page_setup_get_page_height, function in GtkPageSetup gtk_page_setup_get_page_width, function in GtkPageSetup gtk_page_setup_get_paper_height, function in GtkPageSetup gtk_page_setup_get_paper_size, function in GtkPageSetup gtk_page_setup_get_paper_width, function in GtkPageSetup gtk_page_setup_get_right_margin, function in GtkPageSetup gtk_page_setup_get_top_margin, function in GtkPageSetup gtk_page_setup_load_file, function in GtkPageSetup gtk_page_setup_load_key_file, function in GtkPageSetup gtk_page_setup_new, function in GtkPageSetup gtk_page_setup_new_from_file, function in GtkPageSetup gtk_page_setup_new_from_gvariant, function in GtkPageSetup gtk_page_setup_new_from_key_file, function in GtkPageSetup gtk_page_setup_set_bottom_margin, function in GtkPageSetup gtk_page_setup_set_left_margin, function in GtkPageSetup gtk_page_setup_set_orientation, function in GtkPageSetup gtk_page_setup_set_paper_size, function in GtkPageSetup gtk_page_setup_set_paper_size_and_default_margins, function in GtkPageSetup gtk_page_setup_set_right_margin, function in GtkPageSetup gtk_page_setup_set_top_margin, function in GtkPageSetup gtk_page_setup_to_file, function in GtkPageSetup gtk_page_setup_to_gvariant, function in GtkPageSetup gtk_page_setup_to_key_file, function in GtkPageSetup gtk_page_setup_unix_dialog_get_page_setup, function in GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_get_print_settings, function in GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_new, function in GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_set_page_setup, function in GtkPageSetupUnixDialog gtk_page_setup_unix_dialog_set_print_settings, function in GtkPageSetupUnixDialog GtkPanDirection, enum in GtkGesturePan GtkPaned, struct in GtkPaned GtkPaned::accept-position, object signal in GtkPaned GtkPaned::cancel-position, object signal in GtkPaned GtkPaned::cycle-child-focus, object signal in GtkPaned GtkPaned::cycle-handle-focus, object signal in GtkPaned GtkPaned::move-handle, object signal in GtkPaned GtkPaned::toggle-handle-focus, object signal in GtkPaned GtkPaned:end-child, object property in GtkPaned GtkPaned:max-position, object property in GtkPaned GtkPaned:min-position, object property in GtkPaned GtkPaned:position, object property in GtkPaned GtkPaned:position-set, object property in GtkPaned GtkPaned:resize-end-child, object property in GtkPaned GtkPaned:resize-start-child, object property in GtkPaned GtkPaned:shrink-end-child, object property in GtkPaned GtkPaned:shrink-start-child, object property in GtkPaned GtkPaned:start-child, object property in GtkPaned GtkPaned:wide-handle, object property in GtkPaned gtk_paned_get_end_child, function in GtkPaned gtk_paned_get_position, function in GtkPaned gtk_paned_get_resize_end_child, function in GtkPaned gtk_paned_get_resize_start_child, function in GtkPaned gtk_paned_get_shrink_end_child, function in GtkPaned gtk_paned_get_shrink_start_child, function in GtkPaned gtk_paned_get_start_child, function in GtkPaned gtk_paned_get_wide_handle, function in GtkPaned gtk_paned_new, function in GtkPaned gtk_paned_set_end_child, function in GtkPaned gtk_paned_set_position, function in GtkPaned gtk_paned_set_resize_end_child, function in GtkPaned gtk_paned_set_resize_start_child, function in GtkPaned gtk_paned_set_shrink_end_child, function in GtkPaned gtk_paned_set_shrink_start_child, function in GtkPaned gtk_paned_set_start_child, function in GtkPaned gtk_paned_set_wide_handle, function in GtkPaned GtkPaperSize, struct in GtkPaperSize GTK_PAPER_NAME_A3, macro in GtkPaperSize GTK_PAPER_NAME_A4, macro in GtkPaperSize GTK_PAPER_NAME_A5, macro in GtkPaperSize GTK_PAPER_NAME_B5, macro in GtkPaperSize GTK_PAPER_NAME_EXECUTIVE, macro in GtkPaperSize GTK_PAPER_NAME_LEGAL, macro in GtkPaperSize GTK_PAPER_NAME_LETTER, macro in GtkPaperSize gtk_paper_size_copy, function in GtkPaperSize gtk_paper_size_free, function in GtkPaperSize gtk_paper_size_get_default, function in GtkPaperSize gtk_paper_size_get_default_bottom_margin, function in GtkPaperSize gtk_paper_size_get_default_left_margin, function in GtkPaperSize gtk_paper_size_get_default_right_margin, function in GtkPaperSize gtk_paper_size_get_default_top_margin, function in GtkPaperSize gtk_paper_size_get_display_name, function in GtkPaperSize gtk_paper_size_get_height, function in GtkPaperSize gtk_paper_size_get_name, function in GtkPaperSize gtk_paper_size_get_paper_sizes, function in GtkPaperSize gtk_paper_size_get_ppd_name, function in GtkPaperSize gtk_paper_size_get_width, function in GtkPaperSize gtk_paper_size_is_custom, function in GtkPaperSize gtk_paper_size_is_equal, function in GtkPaperSize gtk_paper_size_is_ipp, function in GtkPaperSize gtk_paper_size_new, function in GtkPaperSize gtk_paper_size_new_custom, function in GtkPaperSize gtk_paper_size_new_from_gvariant, function in GtkPaperSize gtk_paper_size_new_from_ipp, function in GtkPaperSize gtk_paper_size_new_from_key_file, function in GtkPaperSize gtk_paper_size_new_from_ppd, function in GtkPaperSize gtk_paper_size_set_size, function in GtkPaperSize gtk_paper_size_to_gvariant, function in GtkPaperSize gtk_paper_size_to_key_file, function in GtkPaperSize GtkParamSpecExpression, struct in GtkExpression gtk_param_spec_expression, function in GtkExpression GtkPasswordEntry, struct in GtkPasswordEntry GtkPasswordEntry:activates-default, object property in GtkPasswordEntry GtkPasswordEntry:extra-menu, object property in GtkPasswordEntry GtkPasswordEntry:placeholder-text, object property in GtkPasswordEntry GtkPasswordEntry:show-peek-icon, object property in GtkPasswordEntry gtk_password_entry_get_extra_menu, function in GtkPasswordEntry gtk_password_entry_get_show_peek_icon, function in GtkPasswordEntry gtk_password_entry_new, function in GtkPasswordEntry gtk_password_entry_set_extra_menu, function in GtkPasswordEntry gtk_password_entry_set_show_peek_icon, function in GtkPasswordEntry GtkPickFlags, enum in GtkWidget GtkPicture, struct in GtkPicture GtkPicture:alternative-text, object property in GtkPicture GtkPicture:can-shrink, object property in GtkPicture GtkPicture:file, object property in GtkPicture GtkPicture:keep-aspect-ratio, object property in GtkPicture GtkPicture:paintable, object property in GtkPicture gtk_picture_get_alternative_text, function in GtkPicture gtk_picture_get_can_shrink, function in GtkPicture gtk_picture_get_file, function in GtkPicture gtk_picture_get_keep_aspect_ratio, function in GtkPicture gtk_picture_get_paintable, function in GtkPicture gtk_picture_new, function in GtkPicture gtk_picture_new_for_file, function in GtkPicture gtk_picture_new_for_filename, function in GtkPicture gtk_picture_new_for_paintable, function in GtkPicture gtk_picture_new_for_pixbuf, function in GtkPicture gtk_picture_new_for_resource, function in GtkPicture gtk_picture_set_alternative_text, function in GtkPicture gtk_picture_set_can_shrink, function in GtkPicture gtk_picture_set_file, function in GtkPicture gtk_picture_set_filename, function in GtkPicture gtk_picture_set_keep_aspect_ratio, function in GtkPicture gtk_picture_set_paintable, function in GtkPicture gtk_picture_set_pixbuf, function in GtkPicture gtk_picture_set_resource, function in GtkPicture GtkPolicyType, enum in GtkScrolledWindow GtkPopover, struct in GtkPopover GtkPopover::activate-default, object signal in GtkPopover GtkPopover::closed, object signal in GtkPopover GtkPopover:autohide, object property in GtkPopover GtkPopover:child, object property in GtkPopover GtkPopover:default-widget, object property in GtkPopover GtkPopover:has-arrow, object property in GtkPopover GtkPopover:mnemonics-visible, object property in GtkPopover GtkPopover:pointing-to, object property in GtkPopover GtkPopover:position, object property in GtkPopover GtkPopoverMenu, struct in GtkPopoverMenu GtkPopoverMenu:menu-model, object property in GtkPopoverMenu GtkPopoverMenu:visible-submenu, object property in GtkPopoverMenu GtkPopoverMenuBar, struct in GtkPopoverMenuBar GtkPopoverMenuBar:menu-model, object property in GtkPopoverMenuBar GtkPopoverMenuFlags, enum in GtkPopoverMenu gtk_popover_get_autohide, function in GtkPopover gtk_popover_get_child, function in GtkPopover gtk_popover_get_has_arrow, function in GtkPopover gtk_popover_get_pointing_to, function in GtkPopover gtk_popover_get_position, function in GtkPopover gtk_popover_menu_bar_get_menu_model, function in GtkPopoverMenuBar gtk_popover_menu_bar_new_from_model, function in GtkPopoverMenuBar gtk_popover_menu_bar_set_menu_model, function in GtkPopoverMenuBar gtk_popover_menu_get_menu_model, function in GtkPopoverMenu gtk_popover_menu_new_from_model, function in GtkPopoverMenu gtk_popover_menu_new_from_model_full, function in GtkPopoverMenu gtk_popover_menu_set_menu_model, function in GtkPopoverMenu gtk_popover_new, function in GtkPopover gtk_popover_popdown, function in GtkPopover gtk_popover_popup, function in GtkPopover gtk_popover_set_autohide, function in GtkPopover gtk_popover_set_child, function in GtkPopover gtk_popover_set_default_widget, function in GtkPopover gtk_popover_set_has_arrow, function in GtkPopover gtk_popover_set_pointing_to, function in GtkPopover gtk_popover_set_position, function in GtkPopover GtkPositionType, enum in Standard Enumerations GtkPrintBackend, struct in GtkPrinter GtkPrintCapabilities, enum in GtkPrintUnixDialog GtkPrintContext, struct in GtkPrintContext GtkPrintDuplex, enum in GtkPrintSettings GtkPrinter, struct in GtkPrinter GtkPrinter::details-acquired, object signal in GtkPrinter GtkPrinter:accepting-jobs, object property in GtkPrinter GtkPrinter:accepts-pdf, object property in GtkPrinter GtkPrinter:accepts-ps, object property in GtkPrinter GtkPrinter:backend, object property in GtkPrinter GtkPrinter:icon-name, object property in GtkPrinter GtkPrinter:is-virtual, object property in GtkPrinter GtkPrinter:job-count, object property in GtkPrinter GtkPrinter:location, object property in GtkPrinter GtkPrinter:name, object property in GtkPrinter GtkPrinter:paused, object property in GtkPrinter GtkPrinter:state-message, object property in GtkPrinter GtkPrinterFunc, user_function in GtkPrinter GtkPrintError, enum in High-level Printing API gtk_printer_accepts_pdf, function in GtkPrinter gtk_printer_accepts_ps, function in GtkPrinter gtk_printer_compare, function in GtkPrinter gtk_printer_get_backend, function in GtkPrinter gtk_printer_get_capabilities, function in GtkPrinter gtk_printer_get_default_page_size, function in GtkPrinter gtk_printer_get_description, function in GtkPrinter gtk_printer_get_hard_margins, function in GtkPrinter gtk_printer_get_hard_margins_for_paper_size, function in GtkPrinter gtk_printer_get_icon_name, function in GtkPrinter gtk_printer_get_job_count, function in GtkPrinter gtk_printer_get_location, function in GtkPrinter gtk_printer_get_name, function in GtkPrinter gtk_printer_get_state_message, function in GtkPrinter gtk_printer_has_details, function in GtkPrinter gtk_printer_is_accepting_jobs, function in GtkPrinter gtk_printer_is_active, function in GtkPrinter gtk_printer_is_default, function in GtkPrinter gtk_printer_is_paused, function in GtkPrinter gtk_printer_is_virtual, function in GtkPrinter gtk_printer_list_papers, function in GtkPrinter gtk_printer_new, function in GtkPrinter gtk_printer_request_details, function in GtkPrinter GtkPrintJob, struct in GtkPrintJob GtkPrintJob::status-changed, object signal in GtkPrintJob GtkPrintJob:page-setup, object property in GtkPrintJob GtkPrintJob:printer, object property in GtkPrintJob GtkPrintJob:settings, object property in GtkPrintJob GtkPrintJob:title, object property in GtkPrintJob GtkPrintJob:track-print-status, object property in GtkPrintJob GtkPrintJobCompleteFunc, user_function in GtkPrintJob GtkPrintOperation, struct in High-level Printing API GtkPrintOperation::begin-print, object signal in High-level Printing API GtkPrintOperation::create-custom-widget, object signal in High-level Printing API GtkPrintOperation::custom-widget-apply, object signal in High-level Printing API GtkPrintOperation::done, object signal in High-level Printing API GtkPrintOperation::draw-page, object signal in High-level Printing API GtkPrintOperation::end-print, object signal in High-level Printing API GtkPrintOperation::paginate, object signal in High-level Printing API GtkPrintOperation::preview, object signal in High-level Printing API GtkPrintOperation::request-page-setup, object signal in High-level Printing API GtkPrintOperation::status-changed, object signal in High-level Printing API GtkPrintOperation::update-custom-widget, object signal in High-level Printing API GtkPrintOperation:allow-async, object property in High-level Printing API GtkPrintOperation:current-page, object property in High-level Printing API GtkPrintOperation:custom-tab-label, object property in High-level Printing API GtkPrintOperation:default-page-setup, object property in High-level Printing API GtkPrintOperation:embed-page-setup, object property in High-level Printing API GtkPrintOperation:export-filename, object property in High-level Printing API GtkPrintOperation:has-selection, object property in High-level Printing API GtkPrintOperation:job-name, object property in High-level Printing API GtkPrintOperation:n-pages, object property in High-level Printing API GtkPrintOperation:n-pages-to-print, object property in High-level Printing API GtkPrintOperation:print-settings, object property in High-level Printing API GtkPrintOperation:show-progress, object property in High-level Printing API GtkPrintOperation:status, object property in High-level Printing API GtkPrintOperation:status-string, object property in High-level Printing API GtkPrintOperation:support-selection, object property in High-level Printing API GtkPrintOperation:track-print-status, object property in High-level Printing API GtkPrintOperation:unit, object property in High-level Printing API GtkPrintOperation:use-full-page, object property in High-level Printing API GtkPrintOperationAction, enum in High-level Printing API GtkPrintOperationClass, struct in High-level Printing API GtkPrintOperationPreview, struct in High-level Printing API GtkPrintOperationPreview::got-page-size, object signal in High-level Printing API GtkPrintOperationPreview::ready, object signal in High-level Printing API GtkPrintOperationResult, enum in High-level Printing API GtkPrintPages, enum in GtkPrintSettings GtkPrintQuality, enum in GtkPrintSettings GtkPrintSettings, struct in GtkPrintSettings GtkPrintSettingsFunc, user_function in GtkPrintSettings GtkPrintStatus, enum in High-level Printing API GtkPrintUnixDialog, struct in GtkPrintUnixDialog GtkPrintUnixDialog:current-page, object property in GtkPrintUnixDialog GtkPrintUnixDialog:embed-page-setup, object property in GtkPrintUnixDialog GtkPrintUnixDialog:has-selection, object property in GtkPrintUnixDialog GtkPrintUnixDialog:manual-capabilities, object property in GtkPrintUnixDialog GtkPrintUnixDialog:page-setup, object property in GtkPrintUnixDialog GtkPrintUnixDialog:print-settings, object property in GtkPrintUnixDialog GtkPrintUnixDialog:selected-printer, object property in GtkPrintUnixDialog GtkPrintUnixDialog:support-selection, object property in GtkPrintUnixDialog gtk_print_context_create_pango_context, function in GtkPrintContext gtk_print_context_create_pango_layout, function in GtkPrintContext gtk_print_context_get_cairo_context, function in GtkPrintContext gtk_print_context_get_dpi_x, function in GtkPrintContext gtk_print_context_get_dpi_y, function in GtkPrintContext gtk_print_context_get_hard_margins, function in GtkPrintContext gtk_print_context_get_height, function in GtkPrintContext gtk_print_context_get_page_setup, function in GtkPrintContext gtk_print_context_get_pango_fontmap, function in GtkPrintContext gtk_print_context_get_width, function in GtkPrintContext gtk_print_context_set_cairo_context, function in GtkPrintContext GTK_PRINT_ERROR, macro in High-level Printing API gtk_print_job_get_collate, function in GtkPrintJob gtk_print_job_get_num_copies, function in GtkPrintJob gtk_print_job_get_n_up, function in GtkPrintJob gtk_print_job_get_n_up_layout, function in GtkPrintJob gtk_print_job_get_pages, function in GtkPrintJob gtk_print_job_get_page_ranges, function in GtkPrintJob gtk_print_job_get_page_set, function in GtkPrintJob gtk_print_job_get_printer, function in GtkPrintJob gtk_print_job_get_reverse, function in GtkPrintJob gtk_print_job_get_rotate, function in GtkPrintJob gtk_print_job_get_scale, function in GtkPrintJob gtk_print_job_get_settings, function in GtkPrintJob gtk_print_job_get_status, function in GtkPrintJob gtk_print_job_get_surface, function in GtkPrintJob gtk_print_job_get_title, function in GtkPrintJob gtk_print_job_get_track_print_status, function in GtkPrintJob gtk_print_job_new, function in GtkPrintJob gtk_print_job_send, function in GtkPrintJob gtk_print_job_set_collate, function in GtkPrintJob gtk_print_job_set_num_copies, function in GtkPrintJob gtk_print_job_set_n_up, function in GtkPrintJob gtk_print_job_set_n_up_layout, function in GtkPrintJob gtk_print_job_set_pages, function in GtkPrintJob gtk_print_job_set_page_ranges, function in GtkPrintJob gtk_print_job_set_page_set, function in GtkPrintJob gtk_print_job_set_reverse, function in GtkPrintJob gtk_print_job_set_rotate, function in GtkPrintJob gtk_print_job_set_scale, function in GtkPrintJob gtk_print_job_set_source_fd, function in GtkPrintJob gtk_print_job_set_source_file, function in GtkPrintJob gtk_print_job_set_track_print_status, function in GtkPrintJob gtk_print_operation_cancel, function in High-level Printing API gtk_print_operation_draw_page_finish, function in High-level Printing API gtk_print_operation_get_default_page_setup, function in High-level Printing API gtk_print_operation_get_embed_page_setup, function in High-level Printing API gtk_print_operation_get_error, function in High-level Printing API gtk_print_operation_get_has_selection, function in High-level Printing API gtk_print_operation_get_n_pages_to_print, function in High-level Printing API gtk_print_operation_get_print_settings, function in High-level Printing API gtk_print_operation_get_status, function in High-level Printing API gtk_print_operation_get_status_string, function in High-level Printing API gtk_print_operation_get_support_selection, function in High-level Printing API gtk_print_operation_is_finished, function in High-level Printing API gtk_print_operation_new, function in High-level Printing API gtk_print_operation_preview_end_preview, function in High-level Printing API gtk_print_operation_preview_is_selected, function in High-level Printing API gtk_print_operation_preview_render_page, function in High-level Printing API gtk_print_operation_run, function in High-level Printing API gtk_print_operation_set_allow_async, function in High-level Printing API gtk_print_operation_set_current_page, function in High-level Printing API gtk_print_operation_set_custom_tab_label, function in High-level Printing API gtk_print_operation_set_default_page_setup, function in High-level Printing API gtk_print_operation_set_defer_drawing, function in High-level Printing API gtk_print_operation_set_embed_page_setup, function in High-level Printing API gtk_print_operation_set_export_filename, function in High-level Printing API gtk_print_operation_set_has_selection, function in High-level Printing API gtk_print_operation_set_job_name, function in High-level Printing API gtk_print_operation_set_n_pages, function in High-level Printing API gtk_print_operation_set_print_settings, function in High-level Printing API gtk_print_operation_set_show_progress, function in High-level Printing API gtk_print_operation_set_support_selection, function in High-level Printing API gtk_print_operation_set_track_print_status, function in High-level Printing API gtk_print_operation_set_unit, function in High-level Printing API gtk_print_operation_set_use_full_page, function in High-level Printing API gtk_print_run_page_setup_dialog, function in High-level Printing API gtk_print_run_page_setup_dialog_async, function in High-level Printing API GTK_PRINT_SETTINGS_COLLATE, macro in GtkPrintSettings gtk_print_settings_copy, function in GtkPrintSettings GTK_PRINT_SETTINGS_DEFAULT_SOURCE, macro in GtkPrintSettings GTK_PRINT_SETTINGS_DITHER, macro in GtkPrintSettings GTK_PRINT_SETTINGS_DUPLEX, macro in GtkPrintSettings GTK_PRINT_SETTINGS_FINISHINGS, macro in GtkPrintSettings gtk_print_settings_foreach, function in GtkPrintSettings gtk_print_settings_get, function in GtkPrintSettings gtk_print_settings_get_bool, function in GtkPrintSettings gtk_print_settings_get_collate, function in GtkPrintSettings gtk_print_settings_get_default_source, function in GtkPrintSettings gtk_print_settings_get_dither, function in GtkPrintSettings gtk_print_settings_get_double, function in GtkPrintSettings gtk_print_settings_get_double_with_default, function in GtkPrintSettings gtk_print_settings_get_duplex, function in GtkPrintSettings gtk_print_settings_get_finishings, function in GtkPrintSettings gtk_print_settings_get_int, function in GtkPrintSettings gtk_print_settings_get_int_with_default, function in GtkPrintSettings gtk_print_settings_get_length, function in GtkPrintSettings gtk_print_settings_get_media_type, function in GtkPrintSettings gtk_print_settings_get_number_up, function in GtkPrintSettings gtk_print_settings_get_number_up_layout, function in GtkPrintSettings gtk_print_settings_get_n_copies, function in GtkPrintSettings gtk_print_settings_get_orientation, function in GtkPrintSettings gtk_print_settings_get_output_bin, function in GtkPrintSettings gtk_print_settings_get_page_ranges, function in GtkPrintSettings gtk_print_settings_get_page_set, function in GtkPrintSettings gtk_print_settings_get_paper_height, function in GtkPrintSettings gtk_print_settings_get_paper_size, function in GtkPrintSettings gtk_print_settings_get_paper_width, function in GtkPrintSettings gtk_print_settings_get_printer, function in GtkPrintSettings gtk_print_settings_get_printer_lpi, function in GtkPrintSettings gtk_print_settings_get_print_pages, function in GtkPrintSettings gtk_print_settings_get_quality, function in GtkPrintSettings gtk_print_settings_get_resolution, function in GtkPrintSettings gtk_print_settings_get_resolution_x, function in GtkPrintSettings gtk_print_settings_get_resolution_y, function in GtkPrintSettings gtk_print_settings_get_reverse, function in GtkPrintSettings gtk_print_settings_get_scale, function in GtkPrintSettings gtk_print_settings_get_use_color, function in GtkPrintSettings gtk_print_settings_has_key, function in GtkPrintSettings gtk_print_settings_load_file, function in GtkPrintSettings gtk_print_settings_load_key_file, function in GtkPrintSettings GTK_PRINT_SETTINGS_MEDIA_TYPE, macro in GtkPrintSettings gtk_print_settings_new, function in GtkPrintSettings gtk_print_settings_new_from_file, function in GtkPrintSettings gtk_print_settings_new_from_gvariant, function in GtkPrintSettings gtk_print_settings_new_from_key_file, function in GtkPrintSettings GTK_PRINT_SETTINGS_NUMBER_UP, macro in GtkPrintSettings GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT, macro in GtkPrintSettings GTK_PRINT_SETTINGS_N_COPIES, macro in GtkPrintSettings GTK_PRINT_SETTINGS_ORIENTATION, macro in GtkPrintSettings GTK_PRINT_SETTINGS_OUTPUT_BASENAME, macro in GtkPrintSettings GTK_PRINT_SETTINGS_OUTPUT_BIN, macro in GtkPrintSettings GTK_PRINT_SETTINGS_OUTPUT_DIR, macro in GtkPrintSettings GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT, macro in GtkPrintSettings GTK_PRINT_SETTINGS_OUTPUT_URI, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PAGE_RANGES, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PAGE_SET, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PAPER_FORMAT, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PAPER_HEIGHT, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PAPER_WIDTH, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PRINTER, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PRINTER_LPI, macro in GtkPrintSettings GTK_PRINT_SETTINGS_PRINT_PAGES, macro in GtkPrintSettings GTK_PRINT_SETTINGS_QUALITY, macro in GtkPrintSettings GTK_PRINT_SETTINGS_RESOLUTION, macro in GtkPrintSettings GTK_PRINT_SETTINGS_RESOLUTION_X, macro in GtkPrintSettings GTK_PRINT_SETTINGS_RESOLUTION_Y, macro in GtkPrintSettings GTK_PRINT_SETTINGS_REVERSE, macro in GtkPrintSettings GTK_PRINT_SETTINGS_SCALE, macro in GtkPrintSettings gtk_print_settings_set, function in GtkPrintSettings gtk_print_settings_set_bool, function in GtkPrintSettings gtk_print_settings_set_collate, function in GtkPrintSettings gtk_print_settings_set_default_source, function in GtkPrintSettings gtk_print_settings_set_dither, function in GtkPrintSettings gtk_print_settings_set_double, function in GtkPrintSettings gtk_print_settings_set_duplex, function in GtkPrintSettings gtk_print_settings_set_finishings, function in GtkPrintSettings gtk_print_settings_set_int, function in GtkPrintSettings gtk_print_settings_set_length, function in GtkPrintSettings gtk_print_settings_set_media_type, function in GtkPrintSettings gtk_print_settings_set_number_up, function in GtkPrintSettings gtk_print_settings_set_number_up_layout, function in GtkPrintSettings gtk_print_settings_set_n_copies, function in GtkPrintSettings gtk_print_settings_set_orientation, function in GtkPrintSettings gtk_print_settings_set_output_bin, function in GtkPrintSettings gtk_print_settings_set_page_ranges, function in GtkPrintSettings gtk_print_settings_set_page_set, function in GtkPrintSettings gtk_print_settings_set_paper_height, function in GtkPrintSettings gtk_print_settings_set_paper_size, function in GtkPrintSettings gtk_print_settings_set_paper_width, function in GtkPrintSettings gtk_print_settings_set_printer, function in GtkPrintSettings gtk_print_settings_set_printer_lpi, function in GtkPrintSettings gtk_print_settings_set_print_pages, function in GtkPrintSettings gtk_print_settings_set_quality, function in GtkPrintSettings gtk_print_settings_set_resolution, function in GtkPrintSettings gtk_print_settings_set_resolution_xy, function in GtkPrintSettings gtk_print_settings_set_reverse, function in GtkPrintSettings gtk_print_settings_set_scale, function in GtkPrintSettings gtk_print_settings_set_use_color, function in GtkPrintSettings gtk_print_settings_to_file, function in GtkPrintSettings gtk_print_settings_to_gvariant, function in GtkPrintSettings gtk_print_settings_to_key_file, function in GtkPrintSettings gtk_print_settings_unset, function in GtkPrintSettings GTK_PRINT_SETTINGS_USE_COLOR, macro in GtkPrintSettings GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA, macro in GtkPrintSettings GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION, macro in GtkPrintSettings gtk_print_unix_dialog_add_custom_tab, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_current_page, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_embed_page_setup, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_has_selection, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_manual_capabilities, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_page_setup, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_page_setup_set, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_selected_printer, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_settings, function in GtkPrintUnixDialog gtk_print_unix_dialog_get_support_selection, function in GtkPrintUnixDialog gtk_print_unix_dialog_new, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_current_page, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_embed_page_setup, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_has_selection, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_manual_capabilities, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_page_setup, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_settings, function in GtkPrintUnixDialog gtk_print_unix_dialog_set_support_selection, function in GtkPrintUnixDialog GTK_PRIORITY_RESIZE, macro in General GtkProgressBar, struct in GtkProgressBar GtkProgressBar:ellipsize, object property in GtkProgressBar GtkProgressBar:fraction, object property in GtkProgressBar GtkProgressBar:inverted, object property in GtkProgressBar GtkProgressBar:pulse-step, object property in GtkProgressBar GtkProgressBar:show-text, object property in GtkProgressBar GtkProgressBar:text, object property in GtkProgressBar gtk_progress_bar_get_ellipsize, function in GtkProgressBar gtk_progress_bar_get_fraction, function in GtkProgressBar gtk_progress_bar_get_inverted, function in GtkProgressBar gtk_progress_bar_get_pulse_step, function in GtkProgressBar gtk_progress_bar_get_show_text, function in GtkProgressBar gtk_progress_bar_get_text, function in GtkProgressBar gtk_progress_bar_new, function in GtkProgressBar gtk_progress_bar_pulse, function in GtkProgressBar gtk_progress_bar_set_ellipsize, function in GtkProgressBar gtk_progress_bar_set_fraction, function in GtkProgressBar gtk_progress_bar_set_inverted, function in GtkProgressBar gtk_progress_bar_set_pulse_step, function in GtkProgressBar gtk_progress_bar_set_show_text, function in GtkProgressBar gtk_progress_bar_set_text, function in GtkProgressBar GtkPropagationLimit, enum in GtkEventController GtkPropagationPhase, enum in GtkEventController gtk_property_expression_get_expression, function in GtkExpression gtk_property_expression_get_pspec, function in GtkExpression gtk_property_expression_new, function in GtkExpression gtk_property_expression_new_for_pspec, function in GtkExpression R GtkRadioButton, struct in GtkRadioButton GtkRadioButton::group-changed, object signal in GtkRadioButton GtkRadioButton:group, object property in GtkRadioButton gtk_radio_button_get_group, function in GtkRadioButton gtk_radio_button_join_group, function in GtkRadioButton gtk_radio_button_new, function in GtkRadioButton gtk_radio_button_new_from_widget, function in GtkRadioButton gtk_radio_button_new_with_label, function in GtkRadioButton gtk_radio_button_new_with_label_from_widget, function in GtkRadioButton gtk_radio_button_new_with_mnemonic, function in GtkRadioButton gtk_radio_button_new_with_mnemonic_from_widget, function in GtkRadioButton gtk_radio_button_set_group, function in GtkRadioButton GtkRange, struct in GtkRange GtkRange::adjust-bounds, object signal in GtkRange GtkRange::change-value, object signal in GtkRange GtkRange::move-slider, object signal in GtkRange GtkRange::value-changed, object signal in GtkRange GtkRange:adjustment, object property in GtkRange GtkRange:fill-level, object property in GtkRange GtkRange:inverted, object property in GtkRange GtkRange:restrict-to-fill-level, object property in GtkRange GtkRange:round-digits, object property in GtkRange GtkRange:show-fill-level, object property in GtkRange gtk_range_get_adjustment, function in GtkRange gtk_range_get_fill_level, function in GtkRange gtk_range_get_flippable, function in GtkRange gtk_range_get_inverted, function in GtkRange gtk_range_get_range_rect, function in GtkRange gtk_range_get_restrict_to_fill_level, function in GtkRange gtk_range_get_round_digits, function in GtkRange gtk_range_get_show_fill_level, function in GtkRange gtk_range_get_slider_range, function in GtkRange gtk_range_get_slider_size_fixed, function in GtkRange gtk_range_get_value, function in GtkRange gtk_range_set_adjustment, function in GtkRange gtk_range_set_fill_level, function in GtkRange gtk_range_set_flippable, function in GtkRange gtk_range_set_increments, function in GtkRange gtk_range_set_inverted, function in GtkRange gtk_range_set_range, function in GtkRange gtk_range_set_restrict_to_fill_level, function in GtkRange gtk_range_set_round_digits, function in GtkRange gtk_range_set_show_fill_level, function in GtkRange gtk_range_set_slider_size_fixed, function in GtkRange gtk_range_set_value, function in GtkRange GtkRecentData, struct in GtkRecentManager GtkRecentInfo, struct in GtkRecentManager GtkRecentManager, struct in GtkRecentManager GtkRecentManager::changed, object signal in GtkRecentManager GtkRecentManager:filename, object property in GtkRecentManager GtkRecentManager:size, object property in GtkRecentManager GtkRecentManagerError, enum in GtkRecentManager gtk_recent_info_create_app_info, function in GtkRecentManager gtk_recent_info_exists, function in GtkRecentManager gtk_recent_info_get_added, function in GtkRecentManager gtk_recent_info_get_age, function in GtkRecentManager gtk_recent_info_get_applications, function in GtkRecentManager gtk_recent_info_get_application_info, function in GtkRecentManager gtk_recent_info_get_description, function in GtkRecentManager gtk_recent_info_get_display_name, function in GtkRecentManager gtk_recent_info_get_gicon, function in GtkRecentManager gtk_recent_info_get_groups, function in GtkRecentManager gtk_recent_info_get_mime_type, function in GtkRecentManager gtk_recent_info_get_modified, function in GtkRecentManager gtk_recent_info_get_private_hint, function in GtkRecentManager gtk_recent_info_get_short_name, function in GtkRecentManager gtk_recent_info_get_uri, function in GtkRecentManager gtk_recent_info_get_uri_display, function in GtkRecentManager gtk_recent_info_get_visited, function in GtkRecentManager gtk_recent_info_has_application, function in GtkRecentManager gtk_recent_info_has_group, function in GtkRecentManager gtk_recent_info_is_local, function in GtkRecentManager gtk_recent_info_last_application, function in GtkRecentManager gtk_recent_info_match, function in GtkRecentManager gtk_recent_info_ref, function in GtkRecentManager gtk_recent_info_unref, function in GtkRecentManager gtk_recent_manager_add_full, function in GtkRecentManager gtk_recent_manager_add_item, function in GtkRecentManager GTK_RECENT_MANAGER_ERROR, macro in GtkRecentManager gtk_recent_manager_get_default, function in GtkRecentManager gtk_recent_manager_get_items, function in GtkRecentManager gtk_recent_manager_has_item, function in GtkRecentManager gtk_recent_manager_lookup_item, function in GtkRecentManager gtk_recent_manager_move_item, function in GtkRecentManager gtk_recent_manager_new, function in GtkRecentManager gtk_recent_manager_purge_items, function in GtkRecentManager gtk_recent_manager_remove_item, function in GtkRecentManager gtk_render_activity, function in GtkStyleContext gtk_render_arrow, function in GtkStyleContext gtk_render_background, function in GtkStyleContext gtk_render_check, function in GtkStyleContext gtk_render_expander, function in GtkStyleContext gtk_render_focus, function in GtkStyleContext gtk_render_frame, function in GtkStyleContext gtk_render_handle, function in GtkStyleContext gtk_render_icon, function in GtkStyleContext gtk_render_insertion_cursor, function in GtkStyleContext gtk_render_layout, function in GtkStyleContext gtk_render_line, function in GtkStyleContext gtk_render_option, function in GtkStyleContext GtkRequestedSize, struct in GtkWidget GtkRequisition, struct in GtkWidget gtk_requisition_copy, function in GtkWidget gtk_requisition_free, function in GtkWidget gtk_requisition_new, function in GtkWidget GtkResponseType, enum in GtkDialog GtkRevealer, struct in GtkRevealer GtkRevealer:child, object property in GtkRevealer GtkRevealer:child-revealed, object property in GtkRevealer GtkRevealer:reveal-child, object property in GtkRevealer GtkRevealer:transition-duration, object property in GtkRevealer GtkRevealer:transition-type, object property in GtkRevealer GtkRevealerTransitionType, enum in GtkRevealer gtk_revealer_get_child, function in GtkRevealer gtk_revealer_get_child_revealed, function in GtkRevealer gtk_revealer_get_reveal_child, function in GtkRevealer gtk_revealer_get_transition_duration, function in GtkRevealer gtk_revealer_get_transition_type, function in GtkRevealer gtk_revealer_new, function in GtkRevealer gtk_revealer_set_child, function in GtkRevealer gtk_revealer_set_reveal_child, function in GtkRevealer gtk_revealer_set_transition_duration, function in GtkRevealer gtk_revealer_set_transition_type, function in GtkRevealer gtk_rgb_to_hsv, function in GtkColorChooser GtkRoot, struct in GtkRoot gtk_root_get_display, function in GtkRoot gtk_root_get_focus, function in GtkRoot gtk_root_set_focus, function in GtkRoot S GtkScale, struct in GtkScale GtkScale:digits, object property in GtkScale GtkScale:draw-value, object property in GtkScale GtkScale:has-origin, object property in GtkScale GtkScale:value-pos, object property in GtkScale GtkScaleButton, struct in GtkScaleButton GtkScaleButton::popdown, object signal in GtkScaleButton GtkScaleButton::popup, object signal in GtkScaleButton GtkScaleButton::value-changed, object signal in GtkScaleButton GtkScaleButton:adjustment, object property in GtkScaleButton GtkScaleButton:icons, object property in GtkScaleButton GtkScaleButton:value, object property in GtkScaleButton GtkScaleFormatValueFunc, user_function in GtkScale gtk_scale_add_mark, function in GtkScale gtk_scale_button_get_adjustment, function in GtkScaleButton gtk_scale_button_get_minus_button, function in GtkScaleButton gtk_scale_button_get_plus_button, function in GtkScaleButton gtk_scale_button_get_popup, function in GtkScaleButton gtk_scale_button_get_value, function in GtkScaleButton gtk_scale_button_new, function in GtkScaleButton gtk_scale_button_set_adjustment, function in GtkScaleButton gtk_scale_button_set_icons, function in GtkScaleButton gtk_scale_button_set_value, function in GtkScaleButton gtk_scale_clear_marks, function in GtkScale gtk_scale_get_digits, function in GtkScale gtk_scale_get_draw_value, function in GtkScale gtk_scale_get_has_origin, function in GtkScale gtk_scale_get_layout, function in GtkScale gtk_scale_get_layout_offsets, function in GtkScale gtk_scale_get_value_pos, function in GtkScale gtk_scale_new, function in GtkScale gtk_scale_new_with_range, function in GtkScale gtk_scale_set_digits, function in GtkScale gtk_scale_set_draw_value, function in GtkScale gtk_scale_set_format_value_func, function in GtkScale gtk_scale_set_has_origin, function in GtkScale gtk_scale_set_value_pos, function in GtkScale GtkScrollable, struct in GtkScrollable GtkScrollable:hadjustment, object property in GtkScrollable GtkScrollable:hscroll-policy, object property in GtkScrollable GtkScrollable:vadjustment, object property in GtkScrollable GtkScrollable:vscroll-policy, object property in GtkScrollable GtkScrollablePolicy, enum in GtkScrollable gtk_scrollable_get_border, function in GtkScrollable gtk_scrollable_get_hadjustment, function in GtkScrollable gtk_scrollable_get_hscroll_policy, function in GtkScrollable gtk_scrollable_get_vadjustment, function in GtkScrollable gtk_scrollable_get_vscroll_policy, function in GtkScrollable gtk_scrollable_set_hadjustment, function in GtkScrollable gtk_scrollable_set_hscroll_policy, function in GtkScrollable gtk_scrollable_set_vadjustment, function in GtkScrollable gtk_scrollable_set_vscroll_policy, function in GtkScrollable GtkScrollbar, struct in GtkScrollbar GtkScrollbar:adjustment, object property in GtkScrollbar gtk_scrollbar_get_adjustment, function in GtkScrollbar gtk_scrollbar_new, function in GtkScrollbar gtk_scrollbar_set_adjustment, function in GtkScrollbar GtkScrolledWindow, struct in GtkScrolledWindow GtkScrolledWindow::edge-overshot, object signal in GtkScrolledWindow GtkScrolledWindow::edge-reached, object signal in GtkScrolledWindow GtkScrolledWindow::move-focus-out, object signal in GtkScrolledWindow GtkScrolledWindow::scroll-child, object signal in GtkScrolledWindow GtkScrolledWindow:child, object property in GtkScrolledWindow GtkScrolledWindow:hadjustment, object property in GtkScrolledWindow GtkScrolledWindow:has-frame, object property in GtkScrolledWindow GtkScrolledWindow:hscrollbar-policy, object property in GtkScrolledWindow GtkScrolledWindow:kinetic-scrolling, object property in GtkScrolledWindow GtkScrolledWindow:max-content-height, object property in GtkScrolledWindow GtkScrolledWindow:max-content-width, object property in GtkScrolledWindow GtkScrolledWindow:min-content-height, object property in GtkScrolledWindow GtkScrolledWindow:min-content-width, object property in GtkScrolledWindow GtkScrolledWindow:overlay-scrolling, object property in GtkScrolledWindow GtkScrolledWindow:propagate-natural-height, object property in GtkScrolledWindow GtkScrolledWindow:propagate-natural-width, object property in GtkScrolledWindow GtkScrolledWindow:vadjustment, object property in GtkScrolledWindow GtkScrolledWindow:vscrollbar-policy, object property in GtkScrolledWindow GtkScrolledWindow:window-placement, object property in GtkScrolledWindow gtk_scrolled_window_get_capture_button_press, function in GtkScrolledWindow gtk_scrolled_window_get_child, function in GtkScrolledWindow gtk_scrolled_window_get_hadjustment, function in GtkScrolledWindow gtk_scrolled_window_get_has_frame, function in GtkScrolledWindow gtk_scrolled_window_get_hscrollbar, function in GtkScrolledWindow gtk_scrolled_window_get_kinetic_scrolling, function in GtkScrolledWindow gtk_scrolled_window_get_max_content_height, function in GtkScrolledWindow gtk_scrolled_window_get_max_content_width, function in GtkScrolledWindow gtk_scrolled_window_get_min_content_height, function in GtkScrolledWindow gtk_scrolled_window_get_min_content_width, function in GtkScrolledWindow gtk_scrolled_window_get_overlay_scrolling, function in GtkScrolledWindow gtk_scrolled_window_get_placement, function in GtkScrolledWindow gtk_scrolled_window_get_policy, function in GtkScrolledWindow gtk_scrolled_window_get_propagate_natural_height, function in GtkScrolledWindow gtk_scrolled_window_get_propagate_natural_width, function in GtkScrolledWindow gtk_scrolled_window_get_vadjustment, function in GtkScrolledWindow gtk_scrolled_window_get_vscrollbar, function in GtkScrolledWindow gtk_scrolled_window_new, function in GtkScrolledWindow gtk_scrolled_window_set_capture_button_press, function in GtkScrolledWindow gtk_scrolled_window_set_child, function in GtkScrolledWindow gtk_scrolled_window_set_hadjustment, function in GtkScrolledWindow gtk_scrolled_window_set_has_frame, function in GtkScrolledWindow gtk_scrolled_window_set_kinetic_scrolling, function in GtkScrolledWindow gtk_scrolled_window_set_max_content_height, function in GtkScrolledWindow gtk_scrolled_window_set_max_content_width, function in GtkScrolledWindow gtk_scrolled_window_set_min_content_height, function in GtkScrolledWindow gtk_scrolled_window_set_min_content_width, function in GtkScrolledWindow gtk_scrolled_window_set_overlay_scrolling, function in GtkScrolledWindow gtk_scrolled_window_set_placement, function in GtkScrolledWindow gtk_scrolled_window_set_policy, function in GtkScrolledWindow gtk_scrolled_window_set_propagate_natural_height, function in GtkScrolledWindow gtk_scrolled_window_set_propagate_natural_width, function in GtkScrolledWindow gtk_scrolled_window_set_vadjustment, function in GtkScrolledWindow gtk_scrolled_window_unset_placement, function in GtkScrolledWindow GtkScrollStep, enum in Standard Enumerations GtkScrollType, enum in Standard Enumerations GtkSearchBar, struct in GtkSearchBar GtkSearchBar:child, object property in GtkSearchBar GtkSearchBar:key-capture-widget, object property in GtkSearchBar GtkSearchBar:search-mode-enabled, object property in GtkSearchBar GtkSearchBar:show-close-button, object property in GtkSearchBar GtkSearchEntry, struct in GtkSearchEntry GtkSearchEntry::activate, object signal in GtkSearchEntry GtkSearchEntry::next-match, object signal in GtkSearchEntry GtkSearchEntry::previous-match, object signal in GtkSearchEntry GtkSearchEntry::search-changed, object signal in GtkSearchEntry GtkSearchEntry::search-started, object signal in GtkSearchEntry GtkSearchEntry::stop-search, object signal in GtkSearchEntry GtkSearchEntry:activates-default, object property in GtkSearchEntry GtkSearchEntry:placeholder-text, object property in GtkSearchEntry gtk_search_bar_connect_entry, function in GtkSearchBar gtk_search_bar_get_child, function in GtkSearchBar gtk_search_bar_get_key_capture_widget, function in GtkSearchBar gtk_search_bar_get_search_mode, function in GtkSearchBar gtk_search_bar_get_show_close_button, function in GtkSearchBar gtk_search_bar_new, function in GtkSearchBar gtk_search_bar_set_child, function in GtkSearchBar gtk_search_bar_set_key_capture_widget, function in GtkSearchBar gtk_search_bar_set_search_mode, function in GtkSearchBar gtk_search_bar_set_show_close_button, function in GtkSearchBar gtk_search_entry_get_key_capture_widget, function in GtkSearchEntry gtk_search_entry_new, function in GtkSearchEntry gtk_search_entry_set_key_capture_widget, function in GtkSearchEntry GtkSelectionFilterModel, struct in GtkSelectionFilterModel GtkSelectionFilterModel:model, object property in GtkSelectionFilterModel GtkSelectionMode, enum in Standard Enumerations GtkSelectionModel, struct in GtkSelectionModel GtkSelectionModel::selection-changed, object signal in GtkSelectionModel gtk_selection_filter_model_get_model, function in GtkSelectionFilterModel gtk_selection_filter_model_new, function in GtkSelectionFilterModel gtk_selection_filter_model_new_for_type, function in GtkSelectionFilterModel gtk_selection_filter_model_set_model, function in GtkSelectionFilterModel gtk_selection_model_get_selection, function in GtkSelectionModel gtk_selection_model_get_selection_in_range, function in GtkSelectionModel gtk_selection_model_is_selected, function in GtkSelectionModel gtk_selection_model_selection_changed, function in GtkSelectionModel gtk_selection_model_select_all, function in GtkSelectionModel gtk_selection_model_select_item, function in GtkSelectionModel gtk_selection_model_select_range, function in GtkSelectionModel gtk_selection_model_set_selection, function in GtkSelectionModel gtk_selection_model_unselect_all, function in GtkSelectionModel gtk_selection_model_unselect_item, function in GtkSelectionModel gtk_selection_model_unselect_range, function in GtkSelectionModel GtkSensitivityType, enum in GtkComboBox GtkSeparator, struct in GtkSeparator gtk_separator_new, function in GtkSeparator GtkSettings, struct in GtkSettings GtkSettings:gtk-alternative-button-order, object property in GtkSettings GtkSettings:gtk-alternative-sort-arrows, object property in GtkSettings GtkSettings:gtk-application-prefer-dark-theme, object property in GtkSettings GtkSettings:gtk-cursor-aspect-ratio, object property in GtkSettings GtkSettings:gtk-cursor-blink, object property in GtkSettings GtkSettings:gtk-cursor-blink-time, object property in GtkSettings GtkSettings:gtk-cursor-blink-timeout, object property in GtkSettings GtkSettings:gtk-cursor-theme-name, object property in GtkSettings GtkSettings:gtk-cursor-theme-size, object property in GtkSettings GtkSettings:gtk-decoration-layout, object property in GtkSettings GtkSettings:gtk-dialogs-use-header, object property in GtkSettings GtkSettings:gtk-dnd-drag-threshold, object property in GtkSettings GtkSettings:gtk-double-click-distance, object property in GtkSettings GtkSettings:gtk-double-click-time, object property in GtkSettings GtkSettings:gtk-enable-accels, object property in GtkSettings GtkSettings:gtk-enable-animations, object property in GtkSettings GtkSettings:gtk-enable-event-sounds, object property in GtkSettings GtkSettings:gtk-enable-input-feedback-sounds, object property in GtkSettings GtkSettings:gtk-enable-primary-paste, object property in GtkSettings GtkSettings:gtk-entry-password-hint-timeout, object property in GtkSettings GtkSettings:gtk-entry-select-on-focus, object property in GtkSettings GtkSettings:gtk-error-bell, object property in GtkSettings GtkSettings:gtk-font-name, object property in GtkSettings GtkSettings:gtk-fontconfig-timestamp, object property in GtkSettings GtkSettings:gtk-icon-theme-name, object property in GtkSettings GtkSettings:gtk-im-module, object property in GtkSettings GtkSettings:gtk-keynav-use-caret, object property in GtkSettings GtkSettings:gtk-label-select-on-focus, object property in GtkSettings GtkSettings:gtk-long-press-time, object property in GtkSettings GtkSettings:gtk-overlay-scrolling, object property in GtkSettings GtkSettings:gtk-primary-button-warps-slider, object property in GtkSettings GtkSettings:gtk-print-backends, object property in GtkSettings GtkSettings:gtk-print-preview-command, object property in GtkSettings GtkSettings:gtk-recent-files-enabled, object property in GtkSettings GtkSettings:gtk-recent-files-max-age, object property in GtkSettings GtkSettings:gtk-shell-shows-app-menu, object property in GtkSettings GtkSettings:gtk-shell-shows-desktop, object property in GtkSettings GtkSettings:gtk-shell-shows-menubar, object property in GtkSettings GtkSettings:gtk-sound-theme-name, object property in GtkSettings GtkSettings:gtk-split-cursor, object property in GtkSettings GtkSettings:gtk-theme-name, object property in GtkSettings GtkSettings:gtk-titlebar-double-click, object property in GtkSettings GtkSettings:gtk-titlebar-middle-click, object property in GtkSettings GtkSettings:gtk-titlebar-right-click, object property in GtkSettings GtkSettings:gtk-xft-antialias, object property in GtkSettings GtkSettings:gtk-xft-dpi, object property in GtkSettings GtkSettings:gtk-xft-hinting, object property in GtkSettings GtkSettings:gtk-xft-hintstyle, object property in GtkSettings GtkSettings:gtk-xft-rgba, object property in GtkSettings GtkSettingsValue, struct in GtkSettings gtk_settings_get_default, function in GtkSettings gtk_settings_get_for_display, function in GtkSettings gtk_settings_reset_property, function in GtkSettings GtkShortcut, struct in GtkShortcut GtkShortcut:action, object property in GtkShortcut GtkShortcut:arguments, object property in GtkShortcut GtkShortcut:trigger, object property in GtkShortcut GtkShortcutAction, struct in GtkShortcutAction GtkShortcutActionFlags, enum in GtkShortcutAction GtkShortcutController, struct in GtkShortcutController GtkShortcutController:mnemonic-modifiers, object property in GtkShortcutController GtkShortcutController:model, object property in GtkShortcutController GtkShortcutController:scope, object property in GtkShortcutController GtkShortcutFunc, user_function in GtkShortcutAction GtkShortcutLabel, struct in GtkShortcutLabel GtkShortcutLabel:accelerator, object property in GtkShortcutLabel GtkShortcutLabel:disabled-text, object property in GtkShortcutLabel GtkShortcutManager, struct in GtkShortcutController GtkShortcutManagerInterface, struct in GtkShortcutController GtkShortcutScope, enum in GtkShortcutController GtkShortcutsGroup, struct in GtkShortcutsGroup GtkShortcutsGroup:accel-size-group, object property in GtkShortcutsGroup GtkShortcutsGroup:height, object property in GtkShortcutsGroup GtkShortcutsGroup:title, object property in GtkShortcutsGroup GtkShortcutsGroup:title-size-group, object property in GtkShortcutsGroup GtkShortcutsGroup:view, object property in GtkShortcutsGroup GtkShortcutsSection, struct in GtkShortcutsSection GtkShortcutsSection::change-current-page, object signal in GtkShortcutsSection GtkShortcutsSection:max-height, object property in GtkShortcutsSection GtkShortcutsSection:section-name, object property in GtkShortcutsSection GtkShortcutsSection:title, object property in GtkShortcutsSection GtkShortcutsSection:view-name, object property in GtkShortcutsSection GtkShortcutsShortcut, struct in GtkShortcutsShortcut GtkShortcutsShortcut:accel-size-group, object property in GtkShortcutsShortcut GtkShortcutsShortcut:accelerator, object property in GtkShortcutsShortcut GtkShortcutsShortcut:action-name, object property in GtkShortcutsShortcut GtkShortcutsShortcut:direction, object property in GtkShortcutsShortcut GtkShortcutsShortcut:icon, object property in GtkShortcutsShortcut GtkShortcutsShortcut:icon-set, object property in GtkShortcutsShortcut GtkShortcutsShortcut:shortcut-type, object property in GtkShortcutsShortcut GtkShortcutsShortcut:subtitle, object property in GtkShortcutsShortcut GtkShortcutsShortcut:subtitle-set, object property in GtkShortcutsShortcut GtkShortcutsShortcut:title, object property in GtkShortcutsShortcut GtkShortcutsShortcut:title-size-group, object property in GtkShortcutsShortcut GtkShortcutsWindow, struct in GtkShortcutsWindow GtkShortcutsWindow::close, object signal in GtkShortcutsWindow GtkShortcutsWindow::search, object signal in GtkShortcutsWindow GtkShortcutsWindow:section-name, object property in GtkShortcutsWindow GtkShortcutsWindow:view-name, object property in GtkShortcutsWindow GtkShortcutTrigger, struct in GtkShortcutTrigger GtkShortcutType, enum in GtkShortcutsShortcut gtk_shortcut_action_activate, function in GtkShortcutAction gtk_shortcut_action_parse_string, function in GtkShortcutAction gtk_shortcut_action_print, function in GtkShortcutAction gtk_shortcut_action_to_string, function in GtkShortcutAction gtk_shortcut_controller_add_shortcut, function in GtkShortcutController gtk_shortcut_controller_get_mnemonics_modifiers, function in GtkShortcutController gtk_shortcut_controller_get_scope, function in GtkShortcutController gtk_shortcut_controller_new, function in GtkShortcutController gtk_shortcut_controller_new_for_model, function in GtkShortcutController gtk_shortcut_controller_remove_shortcut, function in GtkShortcutController gtk_shortcut_controller_set_mnemonics_modifiers, function in GtkShortcutController gtk_shortcut_controller_set_scope, function in GtkShortcutController gtk_shortcut_get_action, function in GtkShortcut gtk_shortcut_get_arguments, function in GtkShortcut gtk_shortcut_get_trigger, function in GtkShortcut gtk_shortcut_label_get_accelerator, function in GtkShortcutLabel gtk_shortcut_label_get_disabled_text, function in GtkShortcutLabel gtk_shortcut_label_new, function in GtkShortcutLabel gtk_shortcut_label_set_accelerator, function in GtkShortcutLabel gtk_shortcut_label_set_disabled_text, function in GtkShortcutLabel gtk_shortcut_new, function in GtkShortcut gtk_shortcut_new_with_arguments, function in GtkShortcut gtk_shortcut_set_action, function in GtkShortcut gtk_shortcut_set_arguments, function in GtkShortcut gtk_shortcut_set_trigger, function in GtkShortcut gtk_shortcut_trigger_compare, function in GtkShortcutTrigger gtk_shortcut_trigger_equal, function in GtkShortcutTrigger gtk_shortcut_trigger_hash, function in GtkShortcutTrigger gtk_shortcut_trigger_parse_string, function in GtkShortcutTrigger gtk_shortcut_trigger_print, function in GtkShortcutTrigger gtk_shortcut_trigger_print_label, function in GtkShortcutTrigger gtk_shortcut_trigger_to_label, function in GtkShortcutTrigger gtk_shortcut_trigger_to_string, function in GtkShortcutTrigger gtk_shortcut_trigger_trigger, function in GtkShortcutTrigger gtk_show_about_dialog, function in GtkAboutDialog gtk_show_uri, function in Filesystem utilities gtk_show_uri_full, function in Filesystem utilities gtk_show_uri_full_finish, function in Filesystem utilities GtkSignalAction, struct in GtkShortcutAction GtkSignalListItemFactory, struct in GtkSignalListItemFactory GtkSignalListItemFactory::bind, object signal in GtkSignalListItemFactory GtkSignalListItemFactory::setup, object signal in GtkSignalListItemFactory GtkSignalListItemFactory::teardown, object signal in GtkSignalListItemFactory GtkSignalListItemFactory::unbind, object signal in GtkSignalListItemFactory gtk_signal_action_get_signal_name, function in GtkShortcutAction gtk_signal_action_new, function in GtkShortcutAction gtk_signal_list_item_factory_new, function in GtkSignalListItemFactory GtkSingleSelection, struct in GtkSingleSelection GtkSingleSelection:autoselect, object property in GtkSingleSelection GtkSingleSelection:can-unselect, object property in GtkSingleSelection GtkSingleSelection:model, object property in GtkSingleSelection GtkSingleSelection:selected, object property in GtkSingleSelection GtkSingleSelection:selected-item, object property in GtkSingleSelection gtk_single_selection_get_autoselect, function in GtkSingleSelection gtk_single_selection_get_can_unselect, function in GtkSingleSelection gtk_single_selection_get_model, function in GtkSingleSelection gtk_single_selection_get_selected, function in GtkSingleSelection gtk_single_selection_get_selected_item, function in GtkSingleSelection gtk_single_selection_new, function in GtkSingleSelection gtk_single_selection_set_autoselect, function in GtkSingleSelection gtk_single_selection_set_can_unselect, function in GtkSingleSelection gtk_single_selection_set_model, function in GtkSingleSelection gtk_single_selection_set_selected, function in GtkSingleSelection GtkSizeGroup, struct in GtkSizeGroup GtkSizeGroup:mode, object property in GtkSizeGroup GtkSizeGroupMode, enum in GtkSizeGroup GtkSizeRequestMode, enum in GtkWidget gtk_size_group_add_widget, function in GtkSizeGroup gtk_size_group_get_mode, function in GtkSizeGroup gtk_size_group_get_widgets, function in GtkSizeGroup gtk_size_group_new, function in GtkSizeGroup gtk_size_group_remove_widget, function in GtkSizeGroup gtk_size_group_set_mode, function in GtkSizeGroup GtkSliceListModel, struct in GtkSliceListModel GtkSliceListModel:model, object property in GtkSliceListModel GtkSliceListModel:offset, object property in GtkSliceListModel GtkSliceListModel:size, object property in GtkSliceListModel gtk_slice_list_model_get_model, function in GtkSliceListModel gtk_slice_list_model_get_offset, function in GtkSliceListModel gtk_slice_list_model_get_size, function in GtkSliceListModel gtk_slice_list_model_new, function in GtkSliceListModel gtk_slice_list_model_set_model, function in GtkSliceListModel gtk_slice_list_model_set_offset, function in GtkSliceListModel gtk_slice_list_model_set_size, function in GtkSliceListModel GtkSnapshot, typedef in GtkSnapshot gtk_snapshot_append_border, function in GtkSnapshot gtk_snapshot_append_cairo, function in GtkSnapshot gtk_snapshot_append_color, function in GtkSnapshot gtk_snapshot_append_inset_shadow, function in GtkSnapshot gtk_snapshot_append_layout, function in GtkSnapshot gtk_snapshot_append_linear_gradient, function in GtkSnapshot gtk_snapshot_append_node, function in GtkSnapshot gtk_snapshot_append_outset_shadow, function in GtkSnapshot gtk_snapshot_append_repeating_linear_gradient, function in GtkSnapshot gtk_snapshot_append_texture, function in GtkSnapshot gtk_snapshot_free_to_node, function in GtkSnapshot gtk_snapshot_free_to_paintable, function in GtkSnapshot gtk_snapshot_new, function in GtkSnapshot gtk_snapshot_perspective, function in GtkSnapshot gtk_snapshot_pop, function in GtkSnapshot gtk_snapshot_push_blend, function in GtkSnapshot gtk_snapshot_push_blur, function in GtkSnapshot gtk_snapshot_push_clip, function in GtkSnapshot gtk_snapshot_push_color_matrix, function in GtkSnapshot gtk_snapshot_push_cross_fade, function in GtkSnapshot gtk_snapshot_push_debug, function in GtkSnapshot gtk_snapshot_push_opacity, function in GtkSnapshot gtk_snapshot_push_repeat, function in GtkSnapshot gtk_snapshot_push_rounded_clip, function in GtkSnapshot gtk_snapshot_push_shadow, function in GtkSnapshot gtk_snapshot_render_background, function in GtkSnapshot gtk_snapshot_render_focus, function in GtkSnapshot gtk_snapshot_render_frame, function in GtkSnapshot gtk_snapshot_render_insertion_cursor, function in GtkSnapshot gtk_snapshot_render_layout, function in GtkSnapshot gtk_snapshot_restore, function in GtkSnapshot gtk_snapshot_rotate, function in GtkSnapshot gtk_snapshot_rotate_3d, function in GtkSnapshot gtk_snapshot_save, function in GtkSnapshot gtk_snapshot_scale, function in GtkSnapshot gtk_snapshot_scale_3d, function in GtkSnapshot gtk_snapshot_to_node, function in GtkSnapshot gtk_snapshot_to_paintable, function in GtkSnapshot gtk_snapshot_transform, function in GtkSnapshot gtk_snapshot_transform_matrix, function in GtkSnapshot gtk_snapshot_translate, function in GtkSnapshot gtk_snapshot_translate_3d, function in GtkSnapshot GtkSorter, struct in GtkSorter GtkSorter::changed, object signal in GtkSorter GtkSorterChange, enum in GtkSorter GtkSorterOrder, enum in GtkSorter gtk_sorter_changed, function in GtkSorter gtk_sorter_compare, function in GtkSorter gtk_sorter_get_order, function in GtkSorter GtkSortListModel, struct in GtkSortListModel GtkSortListModel:incremental, object property in GtkSortListModel GtkSortListModel:model, object property in GtkSortListModel GtkSortListModel:pending, object property in GtkSortListModel GtkSortListModel:sorter, object property in GtkSortListModel GtkSortType, enum in Standard Enumerations gtk_sort_list_model_get_incremental, function in GtkSortListModel gtk_sort_list_model_get_model, function in GtkSortListModel gtk_sort_list_model_get_pending, function in GtkSortListModel gtk_sort_list_model_get_sorter, function in GtkSortListModel gtk_sort_list_model_new, function in GtkSortListModel gtk_sort_list_model_set_incremental, function in GtkSortListModel gtk_sort_list_model_set_model, function in GtkSortListModel gtk_sort_list_model_set_sorter, function in GtkSortListModel GtkSpinButton, struct in GtkSpinButton GtkSpinButton::change-value, object signal in GtkSpinButton GtkSpinButton::input, object signal in GtkSpinButton GtkSpinButton::output, object signal in GtkSpinButton GtkSpinButton::value-changed, object signal in GtkSpinButton GtkSpinButton::wrapped, object signal in GtkSpinButton GtkSpinButton:adjustment, object property in GtkSpinButton GtkSpinButton:climb-rate, object property in GtkSpinButton GtkSpinButton:digits, object property in GtkSpinButton GtkSpinButton:numeric, object property in GtkSpinButton GtkSpinButton:snap-to-ticks, object property in GtkSpinButton GtkSpinButton:update-policy, object property in GtkSpinButton GtkSpinButton:value, object property in GtkSpinButton GtkSpinButton:wrap, object property in GtkSpinButton GtkSpinButtonUpdatePolicy, enum in GtkSpinButton GtkSpinner, struct in GtkSpinner GtkSpinner:spinning, object property in GtkSpinner gtk_spinner_get_spinning, function in GtkSpinner gtk_spinner_new, function in GtkSpinner gtk_spinner_set_spinning, function in GtkSpinner gtk_spinner_start, function in GtkSpinner gtk_spinner_stop, function in GtkSpinner GtkSpinType, enum in GtkSpinButton gtk_spin_button_configure, function in GtkSpinButton gtk_spin_button_get_adjustment, function in GtkSpinButton gtk_spin_button_get_digits, function in GtkSpinButton gtk_spin_button_get_increments, function in GtkSpinButton gtk_spin_button_get_numeric, function in GtkSpinButton gtk_spin_button_get_range, function in GtkSpinButton gtk_spin_button_get_snap_to_ticks, function in GtkSpinButton gtk_spin_button_get_update_policy, function in GtkSpinButton gtk_spin_button_get_value, function in GtkSpinButton gtk_spin_button_get_value_as_int, function in GtkSpinButton gtk_spin_button_get_wrap, function in GtkSpinButton gtk_spin_button_new, function in GtkSpinButton gtk_spin_button_new_with_range, function in GtkSpinButton gtk_spin_button_set_adjustment, function in GtkSpinButton gtk_spin_button_set_digits, function in GtkSpinButton gtk_spin_button_set_increments, function in GtkSpinButton gtk_spin_button_set_numeric, function in GtkSpinButton gtk_spin_button_set_range, function in GtkSpinButton gtk_spin_button_set_snap_to_ticks, function in GtkSpinButton gtk_spin_button_set_update_policy, function in GtkSpinButton gtk_spin_button_set_value, function in GtkSpinButton gtk_spin_button_set_wrap, function in GtkSpinButton gtk_spin_button_spin, function in GtkSpinButton gtk_spin_button_update, function in GtkSpinButton GtkStack, struct in GtkStack GtkStack:hhomogeneous, object property in GtkStack GtkStack:interpolate-size, object property in GtkStack GtkStack:pages, object property in GtkStack GtkStack:transition-duration, object property in GtkStack GtkStack:transition-running, object property in GtkStack GtkStack:transition-type, object property in GtkStack GtkStack:vhomogeneous, object property in GtkStack GtkStack:visible-child, object property in GtkStack GtkStack:visible-child-name, object property in GtkStack GtkStackPage, struct in GtkStack GtkStackPage:child, object property in GtkStack GtkStackPage:icon-name, object property in GtkStack GtkStackPage:name, object property in GtkStack GtkStackPage:needs-attention, object property in GtkStack GtkStackPage:title, object property in GtkStack GtkStackPage:use-underline, object property in GtkStack GtkStackPage:visible, object property in GtkStack GtkStackSidebar, struct in GtkStackSidebar GtkStackSidebar:stack, object property in GtkStackSidebar GtkStackSwitcher, struct in GtkStackSwitcher GtkStackSwitcher:stack, object property in GtkStackSwitcher GtkStackTransitionType, enum in GtkStack gtk_stack_add_named, function in GtkStack gtk_stack_add_titled, function in GtkStack gtk_stack_get_child_by_name, function in GtkStack gtk_stack_get_hhomogeneous, function in GtkStack gtk_stack_get_interpolate_size, function in GtkStack gtk_stack_get_page, function in GtkStack gtk_stack_get_pages, function in GtkStack gtk_stack_get_transition_duration, function in GtkStack gtk_stack_get_transition_running, function in GtkStack gtk_stack_get_transition_type, function in GtkStack gtk_stack_get_vhomogeneous, function in GtkStack gtk_stack_get_visible_child, function in GtkStack gtk_stack_get_visible_child_name, function in GtkStack gtk_stack_new, function in GtkStack gtk_stack_page_get_child, function in GtkStack gtk_stack_page_get_icon_name, function in GtkStack gtk_stack_page_get_name, function in GtkStack gtk_stack_page_get_needs_attention, function in GtkStack gtk_stack_page_get_title, function in GtkStack gtk_stack_page_get_use_underline, function in GtkStack gtk_stack_page_get_visible, function in GtkStack gtk_stack_page_set_icon_name, function in GtkStack gtk_stack_page_set_name, function in GtkStack gtk_stack_page_set_needs_attention, function in GtkStack gtk_stack_page_set_title, function in GtkStack gtk_stack_page_set_use_underline, function in GtkStack gtk_stack_page_set_visible, function in GtkStack gtk_stack_remove, function in GtkStack gtk_stack_set_hhomogeneous, function in GtkStack gtk_stack_set_interpolate_size, function in GtkStack gtk_stack_set_transition_duration, function in GtkStack gtk_stack_set_transition_type, function in GtkStack gtk_stack_set_vhomogeneous, function in GtkStack gtk_stack_set_visible_child, function in GtkStack gtk_stack_set_visible_child_full, function in GtkStack gtk_stack_set_visible_child_name, function in GtkStack gtk_stack_sidebar_get_stack, function in GtkStackSidebar gtk_stack_sidebar_new, function in GtkStackSidebar gtk_stack_sidebar_set_stack, function in GtkStackSidebar gtk_stack_switcher_get_stack, function in GtkStackSwitcher gtk_stack_switcher_new, function in GtkStackSwitcher gtk_stack_switcher_set_stack, function in GtkStackSwitcher GtkStateFlags, enum in Standard Enumerations GtkStatusbar, struct in GtkStatusbar GtkStatusbar::text-popped, object signal in GtkStatusbar GtkStatusbar::text-pushed, object signal in GtkStatusbar gtk_statusbar_get_context_id, function in GtkStatusbar gtk_statusbar_new, function in GtkStatusbar gtk_statusbar_pop, function in GtkStatusbar gtk_statusbar_push, function in GtkStatusbar gtk_statusbar_remove, function in GtkStatusbar gtk_statusbar_remove_all, function in GtkStatusbar GtkStringFilter, struct in GtkStringFilter GtkStringFilter:expression, object property in GtkStringFilter GtkStringFilter:ignore-case, object property in GtkStringFilter GtkStringFilter:match-mode, object property in GtkStringFilter GtkStringFilter:search, object property in GtkStringFilter GtkStringFilterMatchMode, enum in GtkStringFilter GtkStringList, struct in GtkStringList GtkStringObject, struct in GtkStringList GtkStringObject:string, object property in GtkStringList GtkStringSorter, struct in GtkStringSorter GtkStringSorter:expression, object property in GtkStringSorter GtkStringSorter:ignore-case, object property in GtkStringSorter gtk_string_filter_get_expression, function in GtkStringFilter gtk_string_filter_get_ignore_case, function in GtkStringFilter gtk_string_filter_get_match_mode, function in GtkStringFilter gtk_string_filter_get_search, function in GtkStringFilter gtk_string_filter_new, function in GtkStringFilter gtk_string_filter_set_expression, function in GtkStringFilter gtk_string_filter_set_ignore_case, function in GtkStringFilter gtk_string_filter_set_match_mode, function in GtkStringFilter gtk_string_filter_set_search, function in GtkStringFilter gtk_string_list_append, function in GtkStringList gtk_string_list_get_string, function in GtkStringList gtk_string_list_new, function in GtkStringList gtk_string_list_remove, function in GtkStringList gtk_string_list_splice, function in GtkStringList gtk_string_list_take, function in GtkStringList gtk_string_object_get_string, function in GtkStringList gtk_string_object_new, function in GtkStringList gtk_string_sorter_get_expression, function in GtkStringSorter gtk_string_sorter_get_ignore_case, function in GtkStringSorter gtk_string_sorter_new, function in GtkStringSorter gtk_string_sorter_set_expression, function in GtkStringSorter gtk_string_sorter_set_ignore_case, function in GtkStringSorter GtkStyleContext, struct in GtkStyleContext GtkStyleContext:display, object property in GtkStyleContext GtkStyleContextPrintFlags, enum in GtkStyleContext GtkStyleProvider, struct in GtkStyleProvider GtkStyleProvider::gtk-private-changed, object signal in GtkStyleProvider GTK_STYLE_CLASS_ACCELERATOR, macro in GtkStyleContext GTK_STYLE_CLASS_ARROW, macro in GtkStyleContext GTK_STYLE_CLASS_BACKGROUND, macro in GtkStyleContext GTK_STYLE_CLASS_BOTTOM, macro in GtkStyleContext GTK_STYLE_CLASS_BUTTON, macro in GtkStyleContext GTK_STYLE_CLASS_CALENDAR, macro in GtkStyleContext GTK_STYLE_CLASS_CELL, macro in GtkStyleContext GTK_STYLE_CLASS_CHECK, macro in GtkStyleContext GTK_STYLE_CLASS_COMBOBOX_ENTRY, macro in GtkStyleContext GTK_STYLE_CLASS_CONTEXT_MENU, macro in GtkStyleContext GTK_STYLE_CLASS_CSD, macro in GtkStyleContext GTK_STYLE_CLASS_CURSOR_HANDLE, macro in GtkStyleContext GTK_STYLE_CLASS_DEFAULT, macro in GtkStyleContext GTK_STYLE_CLASS_DESTRUCTIVE_ACTION, macro in GtkStyleContext GTK_STYLE_CLASS_DIM_LABEL, macro in GtkStyleContext GTK_STYLE_CLASS_DND, macro in GtkStyleContext GTK_STYLE_CLASS_DOCK, macro in GtkStyleContext GTK_STYLE_CLASS_ENTRY, macro in GtkStyleContext GTK_STYLE_CLASS_ERROR, macro in GtkStyleContext GTK_STYLE_CLASS_EXPANDER, macro in GtkStyleContext GTK_STYLE_CLASS_FLAT, macro in GtkStyleContext GTK_STYLE_CLASS_FRAME, macro in GtkStyleContext GTK_STYLE_CLASS_HEADER, macro in GtkStyleContext GTK_STYLE_CLASS_HIGHLIGHT, macro in GtkStyleContext GTK_STYLE_CLASS_HORIZONTAL, macro in GtkStyleContext GTK_STYLE_CLASS_IMAGE, macro in GtkStyleContext GTK_STYLE_CLASS_INFO, macro in GtkStyleContext GTK_STYLE_CLASS_INSERTION_CURSOR, macro in GtkStyleContext GTK_STYLE_CLASS_LABEL, macro in GtkStyleContext GTK_STYLE_CLASS_LEFT, macro in GtkStyleContext GTK_STYLE_CLASS_LEVEL_BAR, macro in GtkStyleContext GTK_STYLE_CLASS_LINKED, macro in GtkStyleContext GTK_STYLE_CLASS_LIST, macro in GtkStyleContext GTK_STYLE_CLASS_LIST_ROW, macro in GtkStyleContext GTK_STYLE_CLASS_MARK, macro in GtkStyleContext GTK_STYLE_CLASS_MENU, macro in GtkStyleContext GTK_STYLE_CLASS_MENUBAR, macro in GtkStyleContext GTK_STYLE_CLASS_MENUITEM, macro in GtkStyleContext GTK_STYLE_CLASS_MESSAGE_DIALOG, macro in GtkStyleContext GTK_STYLE_CLASS_MONOSPACE, macro in GtkStyleContext GTK_STYLE_CLASS_NEEDS_ATTENTION, macro in GtkStyleContext GTK_STYLE_CLASS_NOTEBOOK, macro in GtkStyleContext GTK_STYLE_CLASS_OSD, macro in GtkStyleContext GTK_STYLE_CLASS_OVERSHOOT, macro in GtkStyleContext GTK_STYLE_CLASS_PANE_SEPARATOR, macro in GtkStyleContext GTK_STYLE_CLASS_PAPER, macro in GtkStyleContext GTK_STYLE_CLASS_POPOVER, macro in GtkStyleContext GTK_STYLE_CLASS_POPUP, macro in GtkStyleContext GTK_STYLE_CLASS_PROGRESSBAR, macro in GtkStyleContext GTK_STYLE_CLASS_PULSE, macro in GtkStyleContext GTK_STYLE_CLASS_QUESTION, macro in GtkStyleContext GTK_STYLE_CLASS_RADIO, macro in GtkStyleContext GTK_STYLE_CLASS_RAISED, macro in GtkStyleContext GTK_STYLE_CLASS_READ_ONLY, macro in GtkStyleContext GTK_STYLE_CLASS_RIGHT, macro in GtkStyleContext GTK_STYLE_CLASS_RUBBERBAND, macro in GtkStyleContext GTK_STYLE_CLASS_SCALE, macro in GtkStyleContext GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE, macro in GtkStyleContext GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW, macro in GtkStyleContext GTK_STYLE_CLASS_SCROLLBAR, macro in GtkStyleContext GTK_STYLE_CLASS_SCROLLBARS_JUNCTION, macro in GtkStyleContext GTK_STYLE_CLASS_SEPARATOR, macro in GtkStyleContext GTK_STYLE_CLASS_SIDEBAR, macro in GtkStyleContext GTK_STYLE_CLASS_SLIDER, macro in GtkStyleContext GTK_STYLE_CLASS_SPINBUTTON, macro in GtkStyleContext GTK_STYLE_CLASS_SPINNER, macro in GtkStyleContext GTK_STYLE_CLASS_STATUSBAR, macro in GtkStyleContext GTK_STYLE_CLASS_SUBTITLE, macro in GtkStyleContext GTK_STYLE_CLASS_SUGGESTED_ACTION, macro in GtkStyleContext GTK_STYLE_CLASS_TITLE, macro in GtkStyleContext GTK_STYLE_CLASS_TITLEBAR, macro in GtkStyleContext GTK_STYLE_CLASS_TOOLBAR, macro in GtkStyleContext GTK_STYLE_CLASS_TOOLTIP, macro in GtkStyleContext GTK_STYLE_CLASS_TOP, macro in GtkStyleContext GTK_STYLE_CLASS_TOUCH_SELECTION, macro in GtkStyleContext GTK_STYLE_CLASS_TROUGH, macro in GtkStyleContext GTK_STYLE_CLASS_UNDERSHOOT, macro in GtkStyleContext GTK_STYLE_CLASS_VERTICAL, macro in GtkStyleContext GTK_STYLE_CLASS_VIEW, macro in GtkStyleContext GTK_STYLE_CLASS_WARNING, macro in GtkStyleContext GTK_STYLE_CLASS_WIDE, macro in GtkStyleContext gtk_style_context_add_class, function in GtkStyleContext gtk_style_context_add_provider, function in GtkStyleContext gtk_style_context_add_provider_for_display, function in GtkStyleContext gtk_style_context_get_border, function in GtkStyleContext gtk_style_context_get_color, function in GtkStyleContext gtk_style_context_get_display, function in GtkStyleContext gtk_style_context_get_margin, function in GtkStyleContext gtk_style_context_get_padding, function in GtkStyleContext gtk_style_context_get_scale, function in GtkStyleContext gtk_style_context_get_state, function in GtkStyleContext gtk_style_context_has_class, function in GtkStyleContext gtk_style_context_lookup_color, function in GtkStyleContext gtk_style_context_remove_class, function in GtkStyleContext gtk_style_context_remove_provider, function in GtkStyleContext gtk_style_context_remove_provider_for_display, function in GtkStyleContext gtk_style_context_restore, function in GtkStyleContext gtk_style_context_save, function in GtkStyleContext gtk_style_context_set_display, function in GtkStyleContext gtk_style_context_set_scale, function in GtkStyleContext gtk_style_context_set_state, function in GtkStyleContext gtk_style_context_to_string, function in GtkStyleContext GTK_STYLE_PROVIDER_PRIORITY_APPLICATION, macro in GtkStyleProvider GTK_STYLE_PROVIDER_PRIORITY_FALLBACK, macro in GtkStyleProvider GTK_STYLE_PROVIDER_PRIORITY_SETTINGS, macro in GtkStyleProvider GTK_STYLE_PROVIDER_PRIORITY_THEME, macro in GtkStyleProvider GTK_STYLE_PROVIDER_PRIORITY_USER, macro in GtkStyleProvider GtkSwitch, struct in GtkSwitch GtkSwitch::activate, object signal in GtkSwitch GtkSwitch::state-set, object signal in GtkSwitch GtkSwitch:active, object property in GtkSwitch GtkSwitch:state, object property in GtkSwitch gtk_switch_get_active, function in GtkSwitch gtk_switch_get_state, function in GtkSwitch gtk_switch_new, function in GtkSwitch gtk_switch_set_active, function in GtkSwitch gtk_switch_set_state, function in GtkSwitch GtkSystemSetting, enum in GtkSettings T gtk_test_init, function in Testing gtk_test_list_all_types, function in Testing gtk_test_register_all_types, function in Testing gtk_test_widget_wait_for_draw, function in Testing GtkText, struct in GtkText GtkText::activate, object signal in GtkText GtkText::backspace, object signal in GtkText GtkText::copy-clipboard, object signal in GtkText GtkText::cut-clipboard, object signal in GtkText GtkText::delete-from-cursor, object signal in GtkText GtkText::insert-at-cursor, object signal in GtkText GtkText::insert-emoji, object signal in GtkText GtkText::move-cursor, object signal in GtkText GtkText::paste-clipboard, object signal in GtkText GtkText::preedit-changed, object signal in GtkText GtkText::toggle-overwrite, object signal in GtkText GtkText:activates-default, object property in GtkText GtkText:attributes, object property in GtkText GtkText:buffer, object property in GtkText GtkText:enable-emoji-completion, object property in GtkText GtkText:extra-menu, object property in GtkText GtkText:im-module, object property in GtkText GtkText:input-hints, object property in GtkText GtkText:input-purpose, object property in GtkText GtkText:invisible-char, object property in GtkText GtkText:invisible-char-set, object property in GtkText GtkText:max-length, object property in GtkText GtkText:overwrite-mode, object property in GtkText GtkText:placeholder-text, object property in GtkText GtkText:propagate-text-width, object property in GtkText GtkText:scroll-offset, object property in GtkText GtkText:tabs, object property in GtkText GtkText:truncate-multiline, object property in GtkText GtkText:visibility, object property in GtkText GtkTextBuffer, struct in GtkTextBuffer GtkTextBuffer::apply-tag, object signal in GtkTextBuffer GtkTextBuffer::begin-user-action, object signal in GtkTextBuffer GtkTextBuffer::changed, object signal in GtkTextBuffer GtkTextBuffer::delete-range, object signal in GtkTextBuffer GtkTextBuffer::end-user-action, object signal in GtkTextBuffer GtkTextBuffer::insert-child-anchor, object signal in GtkTextBuffer GtkTextBuffer::insert-paintable, object signal in GtkTextBuffer GtkTextBuffer::insert-text, object signal in GtkTextBuffer GtkTextBuffer::mark-deleted, object signal in GtkTextBuffer GtkTextBuffer::mark-set, object signal in GtkTextBuffer GtkTextBuffer::modified-changed, object signal in GtkTextBuffer GtkTextBuffer::paste-done, object signal in GtkTextBuffer GtkTextBuffer::redo, object signal in GtkTextBuffer GtkTextBuffer::remove-tag, object signal in GtkTextBuffer GtkTextBuffer::undo, object signal in GtkTextBuffer GtkTextBuffer:can-redo, object property in GtkTextBuffer GtkTextBuffer:can-undo, object property in GtkTextBuffer GtkTextBuffer:copy-target-list, object property in GtkTextBuffer GtkTextBuffer:cursor-position, object property in GtkTextBuffer GtkTextBuffer:enable-undo, object property in GtkTextBuffer GtkTextBuffer:has-selection, object property in GtkTextBuffer GtkTextBuffer:paste-target-list, object property in GtkTextBuffer GtkTextBuffer:tag-table, object property in GtkTextBuffer GtkTextBuffer:text, object property in GtkTextBuffer GtkTextBufferClass, struct in GtkTextBuffer GtkTextCharPredicate, user_function in GtkTextIter GtkTextChildAnchor, struct in GtkTextView GtkTextClass, struct in GtkText GtkTextDirection, enum in GtkWidget GtkTextExtendSelection, enum in GtkTextView GtkTextIter, struct in GtkTextIter GtkTextMark, struct in GtkTextMark GtkTextMark:left-gravity, object property in GtkTextMark GtkTextMark:name, object property in GtkTextMark GtkTextSearchFlags, enum in GtkTextIter GtkTextTag, struct in GtkTextTag GtkTextTag:accumulative-margin, object property in GtkTextTag GtkTextTag:allow-breaks, object property in GtkTextTag GtkTextTag:allow-breaks-set, object property in GtkTextTag GtkTextTag:background, object property in GtkTextTag GtkTextTag:background-full-height, object property in GtkTextTag GtkTextTag:background-full-height-set, object property in GtkTextTag GtkTextTag:background-rgba, object property in GtkTextTag GtkTextTag:background-set, object property in GtkTextTag GtkTextTag:direction, object property in GtkTextTag GtkTextTag:editable, object property in GtkTextTag GtkTextTag:editable-set, object property in GtkTextTag GtkTextTag:fallback, object property in GtkTextTag GtkTextTag:fallback-set, object property in GtkTextTag GtkTextTag:family, object property in GtkTextTag GtkTextTag:family-set, object property in GtkTextTag GtkTextTag:font, object property in GtkTextTag GtkTextTag:font-desc, object property in GtkTextTag GtkTextTag:font-features, object property in GtkTextTag GtkTextTag:font-features-set, object property in GtkTextTag GtkTextTag:foreground, object property in GtkTextTag GtkTextTag:foreground-rgba, object property in GtkTextTag GtkTextTag:foreground-set, object property in GtkTextTag GtkTextTag:indent, object property in GtkTextTag GtkTextTag:indent-set, object property in GtkTextTag GtkTextTag:insert-hyphens, object property in GtkTextTag GtkTextTag:insert-hyphens-set, object property in GtkTextTag GtkTextTag:invisible, object property in GtkTextTag GtkTextTag:invisible-set, object property in GtkTextTag GtkTextTag:justification, object property in GtkTextTag GtkTextTag:justification-set, object property in GtkTextTag GtkTextTag:language, object property in GtkTextTag GtkTextTag:language-set, object property in GtkTextTag GtkTextTag:left-margin, object property in GtkTextTag GtkTextTag:left-margin-set, object property in GtkTextTag GtkTextTag:letter-spacing, object property in GtkTextTag GtkTextTag:letter-spacing-set, object property in GtkTextTag GtkTextTag:name, object property in GtkTextTag GtkTextTag:overline, object property in GtkTextTag GtkTextTag:overline-rgba, object property in GtkTextTag GtkTextTag:overline-rgba-set, object property in GtkTextTag GtkTextTag:overline-set, object property in GtkTextTag GtkTextTag:paragraph-background, object property in GtkTextTag GtkTextTag:paragraph-background-rgba, object property in GtkTextTag GtkTextTag:paragraph-background-set, object property in GtkTextTag GtkTextTag:pixels-above-lines, object property in GtkTextTag GtkTextTag:pixels-above-lines-set, object property in GtkTextTag GtkTextTag:pixels-below-lines, object property in GtkTextTag GtkTextTag:pixels-below-lines-set, object property in GtkTextTag GtkTextTag:pixels-inside-wrap, object property in GtkTextTag GtkTextTag:pixels-inside-wrap-set, object property in GtkTextTag GtkTextTag:right-margin, object property in GtkTextTag GtkTextTag:right-margin-set, object property in GtkTextTag GtkTextTag:rise, object property in GtkTextTag GtkTextTag:rise-set, object property in GtkTextTag GtkTextTag:scale, object property in GtkTextTag GtkTextTag:scale-set, object property in GtkTextTag GtkTextTag:show-spaces, object property in GtkTextTag GtkTextTag:show-spaces-set, object property in GtkTextTag GtkTextTag:size, object property in GtkTextTag GtkTextTag:size-points, object property in GtkTextTag GtkTextTag:size-set, object property in GtkTextTag GtkTextTag:stretch, object property in GtkTextTag GtkTextTag:stretch-set, object property in GtkTextTag GtkTextTag:strikethrough, object property in GtkTextTag GtkTextTag:strikethrough-rgba, object property in GtkTextTag GtkTextTag:strikethrough-rgba-set, object property in GtkTextTag GtkTextTag:strikethrough-set, object property in GtkTextTag GtkTextTag:style, object property in GtkTextTag GtkTextTag:style-set, object property in GtkTextTag GtkTextTag:tabs, object property in GtkTextTag GtkTextTag:tabs-set, object property in GtkTextTag GtkTextTag:underline, object property in GtkTextTag GtkTextTag:underline-rgba, object property in GtkTextTag GtkTextTag:underline-rgba-set, object property in GtkTextTag GtkTextTag:underline-set, object property in GtkTextTag GtkTextTag:variant, object property in GtkTextTag GtkTextTag:variant-set, object property in GtkTextTag GtkTextTag:weight, object property in GtkTextTag GtkTextTag:weight-set, object property in GtkTextTag GtkTextTag:wrap-mode, object property in GtkTextTag GtkTextTag:wrap-mode-set, object property in GtkTextTag GtkTextTagTable, struct in GtkTextTagTable GtkTextTagTable::tag-added, object signal in GtkTextTagTable GtkTextTagTable::tag-changed, object signal in GtkTextTagTable GtkTextTagTable::tag-removed, object signal in GtkTextTagTable GtkTextTagTableForeach, user_function in GtkTextTagTable GtkTextView, struct in GtkTextView GtkTextView::backspace, object signal in GtkTextView GtkTextView::copy-clipboard, object signal in GtkTextView GtkTextView::cut-clipboard, object signal in GtkTextView GtkTextView::delete-from-cursor, object signal in GtkTextView GtkTextView::extend-selection, object signal in GtkTextView GtkTextView::insert-at-cursor, object signal in GtkTextView GtkTextView::insert-emoji, object signal in GtkTextView GtkTextView::move-cursor, object signal in GtkTextView GtkTextView::move-viewport, object signal in GtkTextView GtkTextView::paste-clipboard, object signal in GtkTextView GtkTextView::preedit-changed, object signal in GtkTextView GtkTextView::select-all, object signal in GtkTextView GtkTextView::set-anchor, object signal in GtkTextView GtkTextView::toggle-cursor-visible, object signal in GtkTextView GtkTextView::toggle-overwrite, object signal in GtkTextView GtkTextView:accepts-tab, object property in GtkTextView GtkTextView:bottom-margin, object property in GtkTextView GtkTextView:buffer, object property in GtkTextView GtkTextView:cursor-visible, object property in GtkTextView GtkTextView:editable, object property in GtkTextView GtkTextView:extra-menu, object property in GtkTextView GtkTextView:im-module, object property in GtkTextView GtkTextView:indent, object property in GtkTextView GtkTextView:input-hints, object property in GtkTextView GtkTextView:input-purpose, object property in GtkTextView GtkTextView:justification, object property in GtkTextView GtkTextView:left-margin, object property in GtkTextView GtkTextView:monospace, object property in GtkTextView GtkTextView:overwrite, object property in GtkTextView GtkTextView:pixels-above-lines, object property in GtkTextView GtkTextView:pixels-below-lines, object property in GtkTextView GtkTextView:pixels-inside-wrap, object property in GtkTextView GtkTextView:right-margin, object property in GtkTextView GtkTextView:tabs, object property in GtkTextView GtkTextView:top-margin, object property in GtkTextView GtkTextView:wrap-mode, object property in GtkTextView GtkTextViewClass, struct in GtkTextView GtkTextViewLayer, enum in GtkTextView GtkTextView|clipboard.copy, action in GtkTextView GtkTextView|clipboard.cut, action in GtkTextView GtkTextView|clipboard.paste, action in GtkTextView GtkTextView|menu.popup, action in GtkTextView GtkTextView|misc.insert-emoji, action in GtkTextView GtkTextView|selection.delete, action in GtkTextView GtkTextView|selection.select-all, action in GtkTextView GtkTextView|text.redo, action in GtkTextView GtkTextView|text.undo, action in GtkTextView GtkTextWindowType, enum in GtkTextView gtk_text_buffer_add_mark, function in GtkTextBuffer gtk_text_buffer_add_selection_clipboard, function in GtkTextBuffer gtk_text_buffer_apply_tag, function in GtkTextBuffer gtk_text_buffer_apply_tag_by_name, function in GtkTextBuffer gtk_text_buffer_backspace, function in GtkTextBuffer gtk_text_buffer_begin_irreversible_action, function in GtkTextBuffer gtk_text_buffer_begin_user_action, function in GtkTextBuffer gtk_text_buffer_copy_clipboard, function in GtkTextBuffer gtk_text_buffer_create_child_anchor, function in GtkTextBuffer gtk_text_buffer_create_mark, function in GtkTextBuffer gtk_text_buffer_create_tag, function in GtkTextBuffer gtk_text_buffer_cut_clipboard, function in GtkTextBuffer gtk_text_buffer_delete, function in GtkTextBuffer gtk_text_buffer_delete_interactive, function in GtkTextBuffer gtk_text_buffer_delete_mark, function in GtkTextBuffer gtk_text_buffer_delete_mark_by_name, function in GtkTextBuffer gtk_text_buffer_delete_selection, function in GtkTextBuffer gtk_text_buffer_end_irreversible_action, function in GtkTextBuffer gtk_text_buffer_end_user_action, function in GtkTextBuffer gtk_text_buffer_get_bounds, function in GtkTextBuffer gtk_text_buffer_get_can_redo, function in GtkTextBuffer gtk_text_buffer_get_can_undo, function in GtkTextBuffer gtk_text_buffer_get_char_count, function in GtkTextBuffer gtk_text_buffer_get_enable_undo, function in GtkTextBuffer gtk_text_buffer_get_end_iter, function in GtkTextBuffer gtk_text_buffer_get_has_selection, function in GtkTextBuffer gtk_text_buffer_get_insert, function in GtkTextBuffer gtk_text_buffer_get_iter_at_child_anchor, function in GtkTextBuffer gtk_text_buffer_get_iter_at_line, function in GtkTextBuffer gtk_text_buffer_get_iter_at_line_index, function in GtkTextBuffer gtk_text_buffer_get_iter_at_line_offset, function in GtkTextBuffer gtk_text_buffer_get_iter_at_mark, function in GtkTextBuffer gtk_text_buffer_get_iter_at_offset, function in GtkTextBuffer gtk_text_buffer_get_line_count, function in GtkTextBuffer gtk_text_buffer_get_mark, function in GtkTextBuffer gtk_text_buffer_get_max_undo_levels, function in GtkTextBuffer gtk_text_buffer_get_modified, function in GtkTextBuffer gtk_text_buffer_get_selection_bound, function in GtkTextBuffer gtk_text_buffer_get_selection_bounds, function in GtkTextBuffer gtk_text_buffer_get_selection_content, function in GtkTextBuffer gtk_text_buffer_get_slice, function in GtkTextBuffer gtk_text_buffer_get_start_iter, function in GtkTextBuffer gtk_text_buffer_get_tag_table, function in GtkTextBuffer gtk_text_buffer_get_text, function in GtkTextBuffer gtk_text_buffer_insert, function in GtkTextBuffer gtk_text_buffer_insert_at_cursor, function in GtkTextBuffer gtk_text_buffer_insert_child_anchor, function in GtkTextBuffer gtk_text_buffer_insert_interactive, function in GtkTextBuffer gtk_text_buffer_insert_interactive_at_cursor, function in GtkTextBuffer gtk_text_buffer_insert_markup, function in GtkTextBuffer gtk_text_buffer_insert_paintable, function in GtkTextBuffer gtk_text_buffer_insert_range, function in GtkTextBuffer gtk_text_buffer_insert_range_interactive, function in GtkTextBuffer gtk_text_buffer_insert_with_tags, function in GtkTextBuffer gtk_text_buffer_insert_with_tags_by_name, function in GtkTextBuffer gtk_text_buffer_move_mark, function in GtkTextBuffer gtk_text_buffer_move_mark_by_name, function in GtkTextBuffer gtk_text_buffer_new, function in GtkTextBuffer gtk_text_buffer_paste_clipboard, function in GtkTextBuffer gtk_text_buffer_place_cursor, function in GtkTextBuffer gtk_text_buffer_redo, function in GtkTextBuffer gtk_text_buffer_remove_all_tags, function in GtkTextBuffer gtk_text_buffer_remove_selection_clipboard, function in GtkTextBuffer gtk_text_buffer_remove_tag, function in GtkTextBuffer gtk_text_buffer_remove_tag_by_name, function in GtkTextBuffer gtk_text_buffer_select_range, function in GtkTextBuffer gtk_text_buffer_set_enable_undo, function in GtkTextBuffer gtk_text_buffer_set_max_undo_levels, function in GtkTextBuffer gtk_text_buffer_set_modified, function in GtkTextBuffer gtk_text_buffer_set_text, function in GtkTextBuffer gtk_text_buffer_undo, function in GtkTextBuffer gtk_text_child_anchor_get_deleted, function in GtkTextView gtk_text_child_anchor_get_widgets, function in GtkTextView gtk_text_child_anchor_new, function in GtkTextView gtk_text_get_activates_default, function in GtkText gtk_text_get_attributes, function in GtkText gtk_text_get_buffer, function in GtkText gtk_text_get_extra_menu, function in GtkText gtk_text_get_input_hints, function in GtkText gtk_text_get_input_purpose, function in GtkText gtk_text_get_invisible_char, function in GtkText gtk_text_get_max_length, function in GtkText gtk_text_get_overwrite_mode, function in GtkText gtk_text_get_placeholder_text, function in GtkText gtk_text_get_tabs, function in GtkText gtk_text_get_text_length, function in GtkText gtk_text_get_visibility, function in GtkText gtk_text_grab_focus_without_selecting, function in GtkText gtk_text_iter_assign, function in GtkTextIter gtk_text_iter_backward_char, function in GtkTextIter gtk_text_iter_backward_chars, function in GtkTextIter gtk_text_iter_backward_cursor_position, function in GtkTextIter gtk_text_iter_backward_cursor_positions, function in GtkTextIter gtk_text_iter_backward_find_char, function in GtkTextIter gtk_text_iter_backward_line, function in GtkTextIter gtk_text_iter_backward_lines, function in GtkTextIter gtk_text_iter_backward_search, function in GtkTextIter gtk_text_iter_backward_sentence_start, function in GtkTextIter gtk_text_iter_backward_sentence_starts, function in GtkTextIter gtk_text_iter_backward_to_tag_toggle, function in GtkTextIter gtk_text_iter_backward_visible_cursor_position, function in GtkTextIter gtk_text_iter_backward_visible_cursor_positions, function in GtkTextIter gtk_text_iter_backward_visible_line, function in GtkTextIter gtk_text_iter_backward_visible_lines, function in GtkTextIter gtk_text_iter_backward_visible_word_start, function in GtkTextIter gtk_text_iter_backward_visible_word_starts, function in GtkTextIter gtk_text_iter_backward_word_start, function in GtkTextIter gtk_text_iter_backward_word_starts, function in GtkTextIter gtk_text_iter_can_insert, function in GtkTextIter gtk_text_iter_compare, function in GtkTextIter gtk_text_iter_copy, function in GtkTextIter gtk_text_iter_editable, function in GtkTextIter gtk_text_iter_ends_line, function in GtkTextIter gtk_text_iter_ends_sentence, function in GtkTextIter gtk_text_iter_ends_tag, function in GtkTextIter gtk_text_iter_ends_word, function in GtkTextIter gtk_text_iter_equal, function in GtkTextIter gtk_text_iter_forward_char, function in GtkTextIter gtk_text_iter_forward_chars, function in GtkTextIter gtk_text_iter_forward_cursor_position, function in GtkTextIter gtk_text_iter_forward_cursor_positions, function in GtkTextIter gtk_text_iter_forward_find_char, function in GtkTextIter gtk_text_iter_forward_line, function in GtkTextIter gtk_text_iter_forward_lines, function in GtkTextIter gtk_text_iter_forward_search, function in GtkTextIter gtk_text_iter_forward_sentence_end, function in GtkTextIter gtk_text_iter_forward_sentence_ends, function in GtkTextIter gtk_text_iter_forward_to_end, function in GtkTextIter gtk_text_iter_forward_to_line_end, function in GtkTextIter gtk_text_iter_forward_to_tag_toggle, function in GtkTextIter gtk_text_iter_forward_visible_cursor_position, function in GtkTextIter gtk_text_iter_forward_visible_cursor_positions, function in GtkTextIter gtk_text_iter_forward_visible_line, function in GtkTextIter gtk_text_iter_forward_visible_lines, function in GtkTextIter gtk_text_iter_forward_visible_word_end, function in GtkTextIter gtk_text_iter_forward_visible_word_ends, function in GtkTextIter gtk_text_iter_forward_word_end, function in GtkTextIter gtk_text_iter_forward_word_ends, function in GtkTextIter gtk_text_iter_free, function in GtkTextIter gtk_text_iter_get_buffer, function in GtkTextIter gtk_text_iter_get_bytes_in_line, function in GtkTextIter gtk_text_iter_get_char, function in GtkTextIter gtk_text_iter_get_chars_in_line, function in GtkTextIter gtk_text_iter_get_child_anchor, function in GtkTextIter gtk_text_iter_get_language, function in GtkTextIter gtk_text_iter_get_line, function in GtkTextIter gtk_text_iter_get_line_index, function in GtkTextIter gtk_text_iter_get_line_offset, function in GtkTextIter gtk_text_iter_get_marks, function in GtkTextIter gtk_text_iter_get_offset, function in GtkTextIter gtk_text_iter_get_slice, function in GtkTextIter gtk_text_iter_get_tags, function in GtkTextIter gtk_text_iter_get_text, function in GtkTextIter gtk_text_iter_get_toggled_tags, function in GtkTextIter gtk_text_iter_get_visible_line_index, function in GtkTextIter gtk_text_iter_get_visible_line_offset, function in GtkTextIter gtk_text_iter_get_visible_slice, function in GtkTextIter gtk_text_iter_get_visible_text, function in GtkTextIter gtk_text_iter_has_tag, function in GtkTextIter gtk_text_iter_inside_sentence, function in GtkTextIter gtk_text_iter_inside_word, function in GtkTextIter gtk_text_iter_in_range, function in GtkTextIter gtk_text_iter_is_cursor_position, function in GtkTextIter gtk_text_iter_is_end, function in GtkTextIter gtk_text_iter_is_start, function in GtkTextIter gtk_text_iter_order, function in GtkTextIter gtk_text_iter_set_line, function in GtkTextIter gtk_text_iter_set_line_index, function in GtkTextIter gtk_text_iter_set_line_offset, function in GtkTextIter gtk_text_iter_set_offset, function in GtkTextIter gtk_text_iter_set_visible_line_index, function in GtkTextIter gtk_text_iter_set_visible_line_offset, function in GtkTextIter gtk_text_iter_starts_line, function in GtkTextIter gtk_text_iter_starts_sentence, function in GtkTextIter gtk_text_iter_starts_tag, function in GtkTextIter gtk_text_iter_starts_word, function in GtkTextIter gtk_text_iter_toggles_tag, function in GtkTextIter gtk_text_mark_get_buffer, function in GtkTextMark gtk_text_mark_get_deleted, function in GtkTextMark gtk_text_mark_get_left_gravity, function in GtkTextMark gtk_text_mark_get_name, function in GtkTextMark gtk_text_mark_get_visible, function in GtkTextMark gtk_text_mark_new, function in GtkTextMark gtk_text_mark_set_visible, function in GtkTextMark gtk_text_new, function in GtkText gtk_text_new_with_buffer, function in GtkText gtk_text_set_activates_default, function in GtkText gtk_text_set_attributes, function in GtkText gtk_text_set_buffer, function in GtkText gtk_text_set_extra_menu, function in GtkText gtk_text_set_input_hints, function in GtkText gtk_text_set_input_purpose, function in GtkText gtk_text_set_invisible_char, function in GtkText gtk_text_set_max_length, function in GtkText gtk_text_set_overwrite_mode, function in GtkText gtk_text_set_placeholder_text, function in GtkText gtk_text_set_tabs, function in GtkText gtk_text_set_visibility, function in GtkText gtk_text_tag_changed, function in GtkTextTag gtk_text_tag_get_priority, function in GtkTextTag gtk_text_tag_new, function in GtkTextTag gtk_text_tag_set_priority, function in GtkTextTag gtk_text_tag_table_add, function in GtkTextTagTable gtk_text_tag_table_foreach, function in GtkTextTagTable gtk_text_tag_table_get_size, function in GtkTextTagTable gtk_text_tag_table_lookup, function in GtkTextTagTable gtk_text_tag_table_new, function in GtkTextTagTable gtk_text_tag_table_remove, function in GtkTextTagTable gtk_text_unset_invisible_char, function in GtkText gtk_text_view_add_child_at_anchor, function in GtkTextView gtk_text_view_add_overlay, function in GtkTextView gtk_text_view_backward_display_line, function in GtkTextView gtk_text_view_backward_display_line_start, function in GtkTextView gtk_text_view_buffer_to_window_coords, function in GtkTextView gtk_text_view_forward_display_line, function in GtkTextView gtk_text_view_forward_display_line_end, function in GtkTextView gtk_text_view_get_accepts_tab, function in GtkTextView gtk_text_view_get_bottom_margin, function in GtkTextView gtk_text_view_get_buffer, function in GtkTextView gtk_text_view_get_cursor_locations, function in GtkTextView gtk_text_view_get_cursor_visible, function in GtkTextView gtk_text_view_get_editable, function in GtkTextView gtk_text_view_get_extra_menu, function in GtkTextView gtk_text_view_get_gutter, function in GtkTextView gtk_text_view_get_indent, function in GtkTextView gtk_text_view_get_input_hints, function in GtkTextView gtk_text_view_get_input_purpose, function in GtkTextView gtk_text_view_get_iter_at_location, function in GtkTextView gtk_text_view_get_iter_at_position, function in GtkTextView gtk_text_view_get_iter_location, function in GtkTextView gtk_text_view_get_justification, function in GtkTextView gtk_text_view_get_left_margin, function in GtkTextView gtk_text_view_get_line_at_y, function in GtkTextView gtk_text_view_get_line_yrange, function in GtkTextView gtk_text_view_get_monospace, function in GtkTextView gtk_text_view_get_overwrite, function in GtkTextView gtk_text_view_get_pixels_above_lines, function in GtkTextView gtk_text_view_get_pixels_below_lines, function in GtkTextView gtk_text_view_get_pixels_inside_wrap, function in GtkTextView gtk_text_view_get_right_margin, function in GtkTextView gtk_text_view_get_tabs, function in GtkTextView gtk_text_view_get_top_margin, function in GtkTextView gtk_text_view_get_visible_rect, function in GtkTextView gtk_text_view_get_wrap_mode, function in GtkTextView gtk_text_view_im_context_filter_keypress, function in GtkTextView gtk_text_view_move_mark_onscreen, function in GtkTextView gtk_text_view_move_overlay, function in GtkTextView gtk_text_view_move_visually, function in GtkTextView gtk_text_view_new, function in GtkTextView gtk_text_view_new_with_buffer, function in GtkTextView gtk_text_view_place_cursor_onscreen, function in GtkTextView GTK_TEXT_VIEW_PRIORITY_VALIDATE, macro in GtkTextView gtk_text_view_remove, function in GtkTextView gtk_text_view_reset_cursor_blink, function in GtkTextView gtk_text_view_reset_im_context, function in GtkTextView gtk_text_view_scroll_mark_onscreen, function in GtkTextView gtk_text_view_scroll_to_iter, function in GtkTextView gtk_text_view_scroll_to_mark, function in GtkTextView gtk_text_view_set_accepts_tab, function in GtkTextView gtk_text_view_set_bottom_margin, function in GtkTextView gtk_text_view_set_buffer, function in GtkTextView gtk_text_view_set_cursor_visible, function in GtkTextView gtk_text_view_set_editable, function in GtkTextView gtk_text_view_set_extra_menu, function in GtkTextView gtk_text_view_set_gutter, function in GtkTextView gtk_text_view_set_indent, function in GtkTextView gtk_text_view_set_input_hints, function in GtkTextView gtk_text_view_set_input_purpose, function in GtkTextView gtk_text_view_set_justification, function in GtkTextView gtk_text_view_set_left_margin, function in GtkTextView gtk_text_view_set_monospace, function in GtkTextView gtk_text_view_set_overwrite, function in GtkTextView gtk_text_view_set_pixels_above_lines, function in GtkTextView gtk_text_view_set_pixels_below_lines, function in GtkTextView gtk_text_view_set_pixels_inside_wrap, function in GtkTextView gtk_text_view_set_right_margin, function in GtkTextView gtk_text_view_set_tabs, function in GtkTextView gtk_text_view_set_top_margin, function in GtkTextView gtk_text_view_set_wrap_mode, function in GtkTextView gtk_text_view_starts_display_line, function in GtkTextView gtk_text_view_window_to_buffer_coords, function in GtkTextView GtkText|clipboard.copy, action in GtkText GtkText|clipboard.cut, action in GtkText GtkText|clipboard.paste, action in GtkText GtkText|menu.popup, action in GtkText GtkText|misc.insert-emoji, action in GtkText GtkText|misc.toggle-visibility, action in GtkText GtkText|selection.delete, action in GtkText GtkText|selection.select-all, action in GtkText GtkText|text.redo, action in GtkText GtkText|text.undo, action in GtkText GtkTickCallback, user_function in GtkWidget GtkToggleButton, struct in GtkToggleButton GtkToggleButton::toggled, object signal in GtkToggleButton GtkToggleButton:active, object property in GtkToggleButton gtk_toggle_button_get_active, function in GtkToggleButton gtk_toggle_button_new, function in GtkToggleButton gtk_toggle_button_new_with_label, function in GtkToggleButton gtk_toggle_button_new_with_mnemonic, function in GtkToggleButton gtk_toggle_button_set_active, function in GtkToggleButton gtk_toggle_button_toggled, function in GtkToggleButton GtkTooltip, struct in GtkTooltip gtk_tooltip_set_custom, function in GtkTooltip gtk_tooltip_set_icon, function in GtkTooltip gtk_tooltip_set_icon_from_gicon, function in GtkTooltip gtk_tooltip_set_icon_from_icon_name, function in GtkTooltip gtk_tooltip_set_markup, function in GtkTooltip gtk_tooltip_set_text, function in GtkTooltip gtk_tooltip_set_tip_area, function in GtkTooltip GtkTreeCellDataFunc, user_function in GtkTreeViewColumn GtkTreeDragDest, struct in GtkTreeView drag-and-drop GtkTreeDragDestIface, struct in GtkTreeView drag-and-drop GtkTreeDragSource, struct in GtkTreeView drag-and-drop GtkTreeDragSourceIface, struct in GtkTreeView drag-and-drop GtkTreeExpander, struct in GtkTreeExpander GtkTreeExpander:child, object property in GtkTreeExpander GtkTreeExpander:item, object property in GtkTreeExpander GtkTreeExpander:list-row, object property in GtkTreeExpander GtkTreeExpander|listitem.collapse, action in GtkTreeExpander GtkTreeExpander|listitem.expand, action in GtkTreeExpander GtkTreeExpander|listitem.toggle-expand, action in GtkTreeExpander GtkTreeIter, struct in GtkTreeModel GtkTreeIterCompareFunc, user_function in GtkTreeSortable GtkTreeListModel, struct in GtkTreeListModel GtkTreeListModel:autoexpand, object property in GtkTreeListModel GtkTreeListModel:model, object property in GtkTreeListModel GtkTreeListModel:passthrough, object property in GtkTreeListModel GtkTreeListModelCreateModelFunc, user_function in GtkTreeListModel GtkTreeListRow, struct in GtkTreeListModel GtkTreeListRow:children, object property in GtkTreeListModel GtkTreeListRow:depth, object property in GtkTreeListModel GtkTreeListRow:expandable, object property in GtkTreeListModel GtkTreeListRow:expanded, object property in GtkTreeListModel GtkTreeListRow:item, object property in GtkTreeListModel GtkTreeListRowSorter, struct in GtkTreeListRowSorter GtkTreeListRowSorter:sorter, object property in GtkTreeListRowSorter GtkTreeModel, struct in GtkTreeModel GtkTreeModel::row-changed, object signal in GtkTreeModel GtkTreeModel::row-deleted, object signal in GtkTreeModel GtkTreeModel::row-has-child-toggled, object signal in GtkTreeModel GtkTreeModel::row-inserted, object signal in GtkTreeModel GtkTreeModel::rows-reordered, object signal in GtkTreeModel GtkTreeModelFilter, struct in GtkTreeModelFilter GtkTreeModelFilter:child-model, object property in GtkTreeModelFilter GtkTreeModelFilter:virtual-root, object property in GtkTreeModelFilter GtkTreeModelFilterModifyFunc, user_function in GtkTreeModelFilter GtkTreeModelFilterVisibleFunc, user_function in GtkTreeModelFilter GtkTreeModelFlags, enum in GtkTreeModel GtkTreeModelForeachFunc, user_function in GtkTreeModel GtkTreeModelIface, struct in GtkTreeModel GtkTreeModelSort, struct in GtkTreeModelSort GtkTreeModelSort:model, object property in GtkTreeModelSort GtkTreePath, struct in GtkTreeModel GtkTreeRowReference, struct in GtkTreeModel GtkTreeSelection, struct in GtkTreeSelection GtkTreeSelection::changed, object signal in GtkTreeSelection GtkTreeSelection:mode, object property in GtkTreeSelection GtkTreeSelectionForeachFunc, user_function in GtkTreeSelection GtkTreeSelectionFunc, user_function in GtkTreeSelection GtkTreeSortable, struct in GtkTreeSortable GtkTreeSortable::sort-column-changed, object signal in GtkTreeSortable GtkTreeSortableIface, struct in GtkTreeSortable GtkTreeStore, struct in GtkTreeStore GtkTreeView, struct in GtkTreeView GtkTreeView::columns-changed, object signal in GtkTreeView GtkTreeView::cursor-changed, object signal in GtkTreeView GtkTreeView::expand-collapse-cursor-row, object signal in GtkTreeView GtkTreeView::move-cursor, object signal in GtkTreeView GtkTreeView::row-activated, object signal in GtkTreeView GtkTreeView::row-collapsed, object signal in GtkTreeView GtkTreeView::row-expanded, object signal in GtkTreeView GtkTreeView::select-all, object signal in GtkTreeView GtkTreeView::select-cursor-parent, object signal in GtkTreeView GtkTreeView::select-cursor-row, object signal in GtkTreeView GtkTreeView::start-interactive-search, object signal in GtkTreeView GtkTreeView::test-collapse-row, object signal in GtkTreeView GtkTreeView::test-expand-row, object signal in GtkTreeView GtkTreeView::toggle-cursor-row, object signal in GtkTreeView GtkTreeView::unselect-all, object signal in GtkTreeView GtkTreeView:activate-on-single-click, object property in GtkTreeView GtkTreeView:enable-grid-lines, object property in GtkTreeView GtkTreeView:enable-search, object property in GtkTreeView GtkTreeView:enable-tree-lines, object property in GtkTreeView GtkTreeView:expander-column, object property in GtkTreeView GtkTreeView:fixed-height-mode, object property in GtkTreeView GtkTreeView:headers-clickable, object property in GtkTreeView GtkTreeView:headers-visible, object property in GtkTreeView GtkTreeView:hover-expand, object property in GtkTreeView GtkTreeView:hover-selection, object property in GtkTreeView GtkTreeView:level-indentation, object property in GtkTreeView GtkTreeView:model, object property in GtkTreeView GtkTreeView:reorderable, object property in GtkTreeView GtkTreeView:rubber-banding, object property in GtkTreeView GtkTreeView:search-column, object property in GtkTreeView GtkTreeView:show-expanders, object property in GtkTreeView GtkTreeView:tooltip-column, object property in GtkTreeView GtkTreeViewColumn, struct in GtkTreeViewColumn GtkTreeViewColumn::clicked, object signal in GtkTreeViewColumn GtkTreeViewColumn:alignment, object property in GtkTreeViewColumn GtkTreeViewColumn:cell-area, object property in GtkTreeViewColumn GtkTreeViewColumn:clickable, object property in GtkTreeViewColumn GtkTreeViewColumn:expand, object property in GtkTreeViewColumn GtkTreeViewColumn:fixed-width, object property in GtkTreeViewColumn GtkTreeViewColumn:max-width, object property in GtkTreeViewColumn GtkTreeViewColumn:min-width, object property in GtkTreeViewColumn GtkTreeViewColumn:reorderable, object property in GtkTreeViewColumn GtkTreeViewColumn:resizable, object property in GtkTreeViewColumn GtkTreeViewColumn:sizing, object property in GtkTreeViewColumn GtkTreeViewColumn:sort-column-id, object property in GtkTreeViewColumn GtkTreeViewColumn:sort-indicator, object property in GtkTreeViewColumn GtkTreeViewColumn:sort-order, object property in GtkTreeViewColumn GtkTreeViewColumn:spacing, object property in GtkTreeViewColumn GtkTreeViewColumn:title, object property in GtkTreeViewColumn GtkTreeViewColumn:visible, object property in GtkTreeViewColumn GtkTreeViewColumn:widget, object property in GtkTreeViewColumn GtkTreeViewColumn:width, object property in GtkTreeViewColumn GtkTreeViewColumn:x-offset, object property in GtkTreeViewColumn GtkTreeViewColumnDropFunc, user_function in GtkTreeView GtkTreeViewColumnSizing, enum in GtkTreeViewColumn GtkTreeViewDropPosition, enum in GtkTreeView GtkTreeViewGridLines, enum in GtkTreeView GtkTreeViewMappingFunc, user_function in GtkTreeView GtkTreeViewRowSeparatorFunc, user_function in GtkTreeView GtkTreeViewSearchEqualFunc, user_function in GtkTreeView gtk_tree_create_row_drag_content, function in GtkTreeView drag-and-drop gtk_tree_drag_dest_drag_data_received, function in GtkTreeView drag-and-drop gtk_tree_drag_dest_row_drop_possible, function in GtkTreeView drag-and-drop gtk_tree_drag_source_drag_data_delete, function in GtkTreeView drag-and-drop gtk_tree_drag_source_drag_data_get, function in GtkTreeView drag-and-drop gtk_tree_drag_source_row_draggable, function in GtkTreeView drag-and-drop gtk_tree_expander_get_child, function in GtkTreeExpander gtk_tree_expander_get_item, function in GtkTreeExpander gtk_tree_expander_get_list_row, function in GtkTreeExpander gtk_tree_expander_new, function in GtkTreeExpander gtk_tree_expander_set_child, function in GtkTreeExpander gtk_tree_expander_set_list_row, function in GtkTreeExpander gtk_tree_get_row_drag_data, function in GtkTreeView drag-and-drop gtk_tree_iter_copy, function in GtkTreeModel gtk_tree_iter_free, function in GtkTreeModel gtk_tree_list_model_get_autoexpand, function in GtkTreeListModel gtk_tree_list_model_get_child_row, function in GtkTreeListModel gtk_tree_list_model_get_model, function in GtkTreeListModel gtk_tree_list_model_get_passthrough, function in GtkTreeListModel gtk_tree_list_model_get_row, function in GtkTreeListModel gtk_tree_list_model_new, function in GtkTreeListModel gtk_tree_list_model_set_autoexpand, function in GtkTreeListModel gtk_tree_list_row_get_children, function in GtkTreeListRow gtk_tree_list_row_get_child_row, function in GtkTreeListRow gtk_tree_list_row_get_depth, function in GtkTreeListRow gtk_tree_list_row_get_expanded, function in GtkTreeListRow gtk_tree_list_row_get_item, function in GtkTreeListRow gtk_tree_list_row_get_parent, function in GtkTreeListRow gtk_tree_list_row_get_position, function in GtkTreeListRow gtk_tree_list_row_is_expandable, function in GtkTreeListRow gtk_tree_list_row_set_expanded, function in GtkTreeListRow gtk_tree_list_row_sorter_get_sorter, function in GtkTreeListRowSorter gtk_tree_list_row_sorter_new, function in GtkTreeListRowSorter gtk_tree_list_row_sorter_set_sorter, function in GtkTreeListRowSorter gtk_tree_model_filter_clear_cache, function in GtkTreeModelFilter gtk_tree_model_filter_convert_child_iter_to_iter, function in GtkTreeModelFilter gtk_tree_model_filter_convert_child_path_to_path, function in GtkTreeModelFilter gtk_tree_model_filter_convert_iter_to_child_iter, function in GtkTreeModelFilter gtk_tree_model_filter_convert_path_to_child_path, function in GtkTreeModelFilter gtk_tree_model_filter_get_model, function in GtkTreeModelFilter gtk_tree_model_filter_new, function in GtkTreeModelFilter gtk_tree_model_filter_refilter, function in GtkTreeModelFilter gtk_tree_model_filter_set_modify_func, function in GtkTreeModelFilter gtk_tree_model_filter_set_visible_column, function in GtkTreeModelFilter gtk_tree_model_filter_set_visible_func, function in GtkTreeModelFilter gtk_tree_model_foreach, function in GtkTreeModel gtk_tree_model_get, function in GtkTreeModel gtk_tree_model_get_column_type, function in GtkTreeModel gtk_tree_model_get_flags, function in GtkTreeModel gtk_tree_model_get_iter, function in GtkTreeModel gtk_tree_model_get_iter_first, function in GtkTreeModel gtk_tree_model_get_iter_from_string, function in GtkTreeModel gtk_tree_model_get_n_columns, function in GtkTreeModel gtk_tree_model_get_path, function in GtkTreeModel gtk_tree_model_get_string_from_iter, function in GtkTreeModel gtk_tree_model_get_valist, function in GtkTreeModel gtk_tree_model_get_value, function in GtkTreeModel gtk_tree_model_iter_children, function in GtkTreeModel gtk_tree_model_iter_has_child, function in GtkTreeModel gtk_tree_model_iter_next, function in GtkTreeModel gtk_tree_model_iter_nth_child, function in GtkTreeModel gtk_tree_model_iter_n_children, function in GtkTreeModel gtk_tree_model_iter_parent, function in GtkTreeModel gtk_tree_model_iter_previous, function in GtkTreeModel gtk_tree_model_ref_node, function in GtkTreeModel gtk_tree_model_rows_reordered, function in GtkTreeModel gtk_tree_model_rows_reordered_with_length, function in GtkTreeModel gtk_tree_model_row_changed, function in GtkTreeModel gtk_tree_model_row_deleted, function in GtkTreeModel gtk_tree_model_row_has_child_toggled, function in GtkTreeModel gtk_tree_model_row_inserted, function in GtkTreeModel gtk_tree_model_sort_clear_cache, function in GtkTreeModelSort gtk_tree_model_sort_convert_child_iter_to_iter, function in GtkTreeModelSort gtk_tree_model_sort_convert_child_path_to_path, function in GtkTreeModelSort gtk_tree_model_sort_convert_iter_to_child_iter, function in GtkTreeModelSort gtk_tree_model_sort_convert_path_to_child_path, function in GtkTreeModelSort gtk_tree_model_sort_get_model, function in GtkTreeModelSort gtk_tree_model_sort_iter_is_valid, function in GtkTreeModelSort gtk_tree_model_sort_new_with_model, function in GtkTreeModelSort gtk_tree_model_sort_reset_default_sort_func, function in GtkTreeModelSort gtk_tree_model_unref_node, function in GtkTreeModel gtk_tree_path_append_index, function in GtkTreeModel gtk_tree_path_compare, function in GtkTreeModel gtk_tree_path_copy, function in GtkTreeModel gtk_tree_path_down, function in GtkTreeModel gtk_tree_path_free, function in GtkTreeModel gtk_tree_path_get_depth, function in GtkTreeModel gtk_tree_path_get_indices, function in GtkTreeModel gtk_tree_path_get_indices_with_depth, function in GtkTreeModel gtk_tree_path_is_ancestor, function in GtkTreeModel gtk_tree_path_is_descendant, function in GtkTreeModel gtk_tree_path_new, function in GtkTreeModel gtk_tree_path_new_first, function in GtkTreeModel gtk_tree_path_new_from_indices, function in GtkTreeModel gtk_tree_path_new_from_indicesv, function in GtkTreeModel gtk_tree_path_new_from_string, function in GtkTreeModel gtk_tree_path_next, function in GtkTreeModel gtk_tree_path_prepend_index, function in GtkTreeModel gtk_tree_path_prev, function in GtkTreeModel gtk_tree_path_to_string, function in GtkTreeModel gtk_tree_path_up, function in GtkTreeModel gtk_tree_row_reference_copy, function in GtkTreeModel gtk_tree_row_reference_deleted, function in GtkTreeModel gtk_tree_row_reference_free, function in GtkTreeModel gtk_tree_row_reference_get_model, function in GtkTreeModel gtk_tree_row_reference_get_path, function in GtkTreeModel gtk_tree_row_reference_inserted, function in GtkTreeModel gtk_tree_row_reference_new, function in GtkTreeModel gtk_tree_row_reference_new_proxy, function in GtkTreeModel gtk_tree_row_reference_reordered, function in GtkTreeModel gtk_tree_row_reference_valid, function in GtkTreeModel gtk_tree_selection_count_selected_rows, function in GtkTreeSelection gtk_tree_selection_get_mode, function in GtkTreeSelection gtk_tree_selection_get_selected, function in GtkTreeSelection gtk_tree_selection_get_selected_rows, function in GtkTreeSelection gtk_tree_selection_get_select_function, function in GtkTreeSelection gtk_tree_selection_get_tree_view, function in GtkTreeSelection gtk_tree_selection_get_user_data, function in GtkTreeSelection gtk_tree_selection_iter_is_selected, function in GtkTreeSelection gtk_tree_selection_path_is_selected, function in GtkTreeSelection gtk_tree_selection_selected_foreach, function in GtkTreeSelection gtk_tree_selection_select_all, function in GtkTreeSelection gtk_tree_selection_select_iter, function in GtkTreeSelection gtk_tree_selection_select_path, function in GtkTreeSelection gtk_tree_selection_select_range, function in GtkTreeSelection gtk_tree_selection_set_mode, function in GtkTreeSelection gtk_tree_selection_set_select_function, function in GtkTreeSelection gtk_tree_selection_unselect_all, function in GtkTreeSelection gtk_tree_selection_unselect_iter, function in GtkTreeSelection gtk_tree_selection_unselect_path, function in GtkTreeSelection gtk_tree_selection_unselect_range, function in GtkTreeSelection GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, macro in GtkTreeSortable gtk_tree_sortable_get_sort_column_id, function in GtkTreeSortable gtk_tree_sortable_has_default_sort_func, function in GtkTreeSortable gtk_tree_sortable_set_default_sort_func, function in GtkTreeSortable gtk_tree_sortable_set_sort_column_id, function in GtkTreeSortable gtk_tree_sortable_set_sort_func, function in GtkTreeSortable gtk_tree_sortable_sort_column_changed, function in GtkTreeSortable GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, macro in GtkTreeSortable gtk_tree_store_append, function in GtkTreeStore gtk_tree_store_clear, function in GtkTreeStore gtk_tree_store_insert, function in GtkTreeStore gtk_tree_store_insert_after, function in GtkTreeStore gtk_tree_store_insert_before, function in GtkTreeStore gtk_tree_store_insert_with_values, function in GtkTreeStore gtk_tree_store_insert_with_valuesv, function in GtkTreeStore gtk_tree_store_is_ancestor, function in GtkTreeStore gtk_tree_store_iter_depth, function in GtkTreeStore gtk_tree_store_iter_is_valid, function in GtkTreeStore gtk_tree_store_move_after, function in GtkTreeStore gtk_tree_store_move_before, function in GtkTreeStore gtk_tree_store_new, function in GtkTreeStore gtk_tree_store_newv, function in GtkTreeStore gtk_tree_store_prepend, function in GtkTreeStore gtk_tree_store_remove, function in GtkTreeStore gtk_tree_store_reorder, function in GtkTreeStore gtk_tree_store_set, function in GtkTreeStore gtk_tree_store_set_column_types, function in GtkTreeStore gtk_tree_store_set_valist, function in GtkTreeStore gtk_tree_store_set_value, function in GtkTreeStore gtk_tree_store_set_valuesv, function in GtkTreeStore gtk_tree_store_swap, function in GtkTreeStore gtk_tree_view_append_column, function in GtkTreeView gtk_tree_view_collapse_all, function in GtkTreeView gtk_tree_view_collapse_row, function in GtkTreeView gtk_tree_view_columns_autosize, function in GtkTreeView gtk_tree_view_column_add_attribute, function in GtkTreeViewColumn gtk_tree_view_column_cell_get_position, function in GtkTreeViewColumn gtk_tree_view_column_cell_get_size, function in GtkTreeViewColumn gtk_tree_view_column_cell_is_visible, function in GtkTreeViewColumn gtk_tree_view_column_cell_set_cell_data, function in GtkTreeViewColumn gtk_tree_view_column_clear, function in GtkTreeViewColumn gtk_tree_view_column_clear_attributes, function in GtkTreeViewColumn gtk_tree_view_column_clicked, function in GtkTreeViewColumn gtk_tree_view_column_focus_cell, function in GtkTreeViewColumn gtk_tree_view_column_get_alignment, function in GtkTreeViewColumn gtk_tree_view_column_get_button, function in GtkTreeViewColumn gtk_tree_view_column_get_clickable, function in GtkTreeViewColumn gtk_tree_view_column_get_expand, function in GtkTreeViewColumn gtk_tree_view_column_get_fixed_width, function in GtkTreeViewColumn gtk_tree_view_column_get_max_width, function in GtkTreeViewColumn gtk_tree_view_column_get_min_width, function in GtkTreeViewColumn gtk_tree_view_column_get_reorderable, function in GtkTreeViewColumn gtk_tree_view_column_get_resizable, function in GtkTreeViewColumn gtk_tree_view_column_get_sizing, function in GtkTreeViewColumn gtk_tree_view_column_get_sort_column_id, function in GtkTreeViewColumn gtk_tree_view_column_get_sort_indicator, function in GtkTreeViewColumn gtk_tree_view_column_get_sort_order, function in GtkTreeViewColumn gtk_tree_view_column_get_spacing, function in GtkTreeViewColumn gtk_tree_view_column_get_title, function in GtkTreeViewColumn gtk_tree_view_column_get_tree_view, function in GtkTreeViewColumn gtk_tree_view_column_get_visible, function in GtkTreeViewColumn gtk_tree_view_column_get_widget, function in GtkTreeViewColumn gtk_tree_view_column_get_width, function in GtkTreeViewColumn gtk_tree_view_column_get_x_offset, function in GtkTreeViewColumn gtk_tree_view_column_new, function in GtkTreeViewColumn gtk_tree_view_column_new_with_area, function in GtkTreeViewColumn gtk_tree_view_column_new_with_attributes, function in GtkTreeViewColumn gtk_tree_view_column_pack_end, function in GtkTreeViewColumn gtk_tree_view_column_pack_start, function in GtkTreeViewColumn gtk_tree_view_column_queue_resize, function in GtkTreeViewColumn gtk_tree_view_column_set_alignment, function in GtkTreeViewColumn gtk_tree_view_column_set_attributes, function in GtkTreeViewColumn gtk_tree_view_column_set_cell_data_func, function in GtkTreeViewColumn gtk_tree_view_column_set_clickable, function in GtkTreeViewColumn gtk_tree_view_column_set_expand, function in GtkTreeViewColumn gtk_tree_view_column_set_fixed_width, function in GtkTreeViewColumn gtk_tree_view_column_set_max_width, function in GtkTreeViewColumn gtk_tree_view_column_set_min_width, function in GtkTreeViewColumn gtk_tree_view_column_set_reorderable, function in GtkTreeViewColumn gtk_tree_view_column_set_resizable, function in GtkTreeViewColumn gtk_tree_view_column_set_sizing, function in GtkTreeViewColumn gtk_tree_view_column_set_sort_column_id, function in GtkTreeViewColumn gtk_tree_view_column_set_sort_indicator, function in GtkTreeViewColumn gtk_tree_view_column_set_sort_order, function in GtkTreeViewColumn gtk_tree_view_column_set_spacing, function in GtkTreeViewColumn gtk_tree_view_column_set_title, function in GtkTreeViewColumn gtk_tree_view_column_set_visible, function in GtkTreeViewColumn gtk_tree_view_column_set_widget, function in GtkTreeViewColumn gtk_tree_view_convert_bin_window_to_tree_coords, function in GtkTreeView gtk_tree_view_convert_bin_window_to_widget_coords, function in GtkTreeView gtk_tree_view_convert_tree_to_bin_window_coords, function in GtkTreeView gtk_tree_view_convert_tree_to_widget_coords, function in GtkTreeView gtk_tree_view_convert_widget_to_bin_window_coords, function in GtkTreeView gtk_tree_view_convert_widget_to_tree_coords, function in GtkTreeView gtk_tree_view_create_row_drag_icon, function in GtkTreeView gtk_tree_view_enable_model_drag_dest, function in GtkTreeView gtk_tree_view_enable_model_drag_source, function in GtkTreeView gtk_tree_view_expand_all, function in GtkTreeView gtk_tree_view_expand_row, function in GtkTreeView gtk_tree_view_expand_to_path, function in GtkTreeView gtk_tree_view_get_activate_on_single_click, function in GtkTreeView gtk_tree_view_get_background_area, function in GtkTreeView gtk_tree_view_get_cell_area, function in GtkTreeView gtk_tree_view_get_column, function in GtkTreeView gtk_tree_view_get_columns, function in GtkTreeView gtk_tree_view_get_cursor, function in GtkTreeView gtk_tree_view_get_dest_row_at_pos, function in GtkTreeView gtk_tree_view_get_drag_dest_row, function in GtkTreeView gtk_tree_view_get_enable_search, function in GtkTreeView gtk_tree_view_get_enable_tree_lines, function in GtkTreeView gtk_tree_view_get_expander_column, function in GtkTreeView gtk_tree_view_get_fixed_height_mode, function in GtkTreeView gtk_tree_view_get_grid_lines, function in GtkTreeView gtk_tree_view_get_headers_clickable, function in GtkTreeView gtk_tree_view_get_headers_visible, function in GtkTreeView gtk_tree_view_get_hover_expand, function in GtkTreeView gtk_tree_view_get_hover_selection, function in GtkTreeView gtk_tree_view_get_level_indentation, function in GtkTreeView gtk_tree_view_get_model, function in GtkTreeView gtk_tree_view_get_n_columns, function in GtkTreeView gtk_tree_view_get_path_at_pos, function in GtkTreeView gtk_tree_view_get_reorderable, function in GtkTreeView gtk_tree_view_get_row_separator_func, function in GtkTreeView gtk_tree_view_get_rubber_banding, function in GtkTreeView gtk_tree_view_get_search_column, function in GtkTreeView gtk_tree_view_get_search_entry, function in GtkTreeView gtk_tree_view_get_search_equal_func, function in GtkTreeView gtk_tree_view_get_selection, function in GtkTreeView gtk_tree_view_get_show_expanders, function in GtkTreeView gtk_tree_view_get_tooltip_column, function in GtkTreeView gtk_tree_view_get_tooltip_context, function in GtkTreeView gtk_tree_view_get_visible_range, function in GtkTreeView gtk_tree_view_get_visible_rect, function in GtkTreeView gtk_tree_view_insert_column, function in GtkTreeView gtk_tree_view_insert_column_with_attributes, function in GtkTreeView gtk_tree_view_insert_column_with_data_func, function in GtkTreeView gtk_tree_view_is_blank_at_pos, function in GtkTreeView gtk_tree_view_is_rubber_banding_active, function in GtkTreeView gtk_tree_view_map_expanded_rows, function in GtkTreeView gtk_tree_view_move_column_after, function in GtkTreeView gtk_tree_view_new, function in GtkTreeView gtk_tree_view_new_with_model, function in GtkTreeView gtk_tree_view_remove_column, function in GtkTreeView gtk_tree_view_row_activated, function in GtkTreeView gtk_tree_view_row_expanded, function in GtkTreeView gtk_tree_view_scroll_to_cell, function in GtkTreeView gtk_tree_view_scroll_to_point, function in GtkTreeView gtk_tree_view_set_activate_on_single_click, function in GtkTreeView gtk_tree_view_set_column_drag_function, function in GtkTreeView gtk_tree_view_set_cursor, function in GtkTreeView gtk_tree_view_set_cursor_on_cell, function in GtkTreeView gtk_tree_view_set_drag_dest_row, function in GtkTreeView gtk_tree_view_set_enable_search, function in GtkTreeView gtk_tree_view_set_enable_tree_lines, function in GtkTreeView gtk_tree_view_set_expander_column, function in GtkTreeView gtk_tree_view_set_fixed_height_mode, function in GtkTreeView gtk_tree_view_set_grid_lines, function in GtkTreeView gtk_tree_view_set_headers_clickable, function in GtkTreeView gtk_tree_view_set_headers_visible, function in GtkTreeView gtk_tree_view_set_hover_expand, function in GtkTreeView gtk_tree_view_set_hover_selection, function in GtkTreeView gtk_tree_view_set_level_indentation, function in GtkTreeView gtk_tree_view_set_model, function in GtkTreeView gtk_tree_view_set_reorderable, function in GtkTreeView gtk_tree_view_set_row_separator_func, function in GtkTreeView gtk_tree_view_set_rubber_banding, function in GtkTreeView gtk_tree_view_set_search_column, function in GtkTreeView gtk_tree_view_set_search_entry, function in GtkTreeView gtk_tree_view_set_search_equal_func, function in GtkTreeView gtk_tree_view_set_show_expanders, function in GtkTreeView gtk_tree_view_set_tooltip_cell, function in GtkTreeView gtk_tree_view_set_tooltip_column, function in GtkTreeView gtk_tree_view_set_tooltip_row, function in GtkTreeView gtk_tree_view_unset_rows_drag_dest, function in GtkTreeView gtk_tree_view_unset_rows_drag_source, function in GtkTreeView GTK_TYPE_ICON_LOOKUP_FLAGS, macro in GtkIconTheme GTK_TYPE_ICON_THEME_ERROR, macro in GtkIconTheme GTK_TYPE_TREE_ROW_DATA, macro in GtkTreeView drag-and-drop U GtkUnit, enum in GtkPaperSize GTK_UNIT_PIXEL, macro in GtkPaperSize V gtk_value_dup_expression, function in GtkExpression gtk_value_get_expression, function in GtkExpression GTK_VALUE_HOLDS_EXPRESSION, macro in GtkExpression gtk_value_set_expression, function in GtkExpression gtk_value_take_expression, function in GtkExpression GtkVideo, struct in GtkVideo GtkVideo:autoplay, object property in GtkVideo GtkVideo:file, object property in GtkVideo GtkVideo:loop, object property in GtkVideo GtkVideo:media-stream, object property in GtkVideo gtk_video_get_autoplay, function in GtkVideo gtk_video_get_file, function in GtkVideo gtk_video_get_loop, function in GtkVideo gtk_video_get_media_stream, function in GtkVideo gtk_video_new, function in GtkVideo gtk_video_new_for_file, function in GtkVideo gtk_video_new_for_filename, function in GtkVideo gtk_video_new_for_media_stream, function in GtkVideo gtk_video_new_for_resource, function in GtkVideo gtk_video_set_autoplay, function in GtkVideo gtk_video_set_file, function in GtkVideo gtk_video_set_filename, function in GtkVideo gtk_video_set_loop, function in GtkVideo gtk_video_set_media_stream, function in GtkVideo gtk_video_set_resource, function in GtkVideo GtkViewport, struct in GtkViewport GtkViewport:child, object property in GtkViewport GtkViewport:scroll-to-focus, object property in GtkViewport gtk_viewport_get_child, function in GtkViewport gtk_viewport_get_scroll_to_focus, function in GtkViewport gtk_viewport_new, function in GtkViewport gtk_viewport_set_child, function in GtkViewport gtk_viewport_set_scroll_to_focus, function in GtkViewport GtkVolumeButton, struct in GtkVolumeButton GtkVolumeButton:use-symbolic, object property in GtkVolumeButton gtk_volume_button_new, function in GtkVolumeButton W GtkWidget, struct in GtkWidget GtkWidget::destroy, object signal in GtkWidget GtkWidget::direction-changed, object signal in GtkWidget GtkWidget::hide, object signal in GtkWidget GtkWidget::keynav-failed, object signal in GtkWidget GtkWidget::map, object signal in GtkWidget GtkWidget::mnemonic-activate, object signal in GtkWidget GtkWidget::move-focus, object signal in GtkWidget GtkWidget::query-tooltip, object signal in GtkWidget GtkWidget::realize, object signal in GtkWidget GtkWidget::show, object signal in GtkWidget GtkWidget::state-flags-changed, object signal in GtkWidget GtkWidget::unmap, object signal in GtkWidget GtkWidget::unrealize, object signal in GtkWidget GtkWidget:can-focus, object property in GtkWidget GtkWidget:can-target, object property in GtkWidget GtkWidget:css-classes, object property in GtkWidget GtkWidget:css-name, object property in GtkWidget GtkWidget:cursor, object property in GtkWidget GtkWidget:focus-on-click, object property in GtkWidget GtkWidget:focusable, object property in GtkWidget GtkWidget:halign, object property in GtkWidget GtkWidget:has-default, object property in GtkWidget GtkWidget:has-focus, object property in GtkWidget GtkWidget:has-tooltip, object property in GtkWidget GtkWidget:height-request, object property in GtkWidget GtkWidget:hexpand, object property in GtkWidget GtkWidget:hexpand-set, object property in GtkWidget GtkWidget:layout-manager, object property in GtkWidget GtkWidget:margin-bottom, object property in GtkWidget GtkWidget:margin-end, object property in GtkWidget GtkWidget:margin-start, object property in GtkWidget GtkWidget:margin-top, object property in GtkWidget GtkWidget:name, object property in GtkWidget GtkWidget:opacity, object property in GtkWidget GtkWidget:overflow, object property in GtkWidget GtkWidget:parent, object property in GtkWidget GtkWidget:receives-default, object property in GtkWidget GtkWidget:root, object property in GtkWidget GtkWidget:scale-factor, object property in GtkWidget GtkWidget:sensitive, object property in GtkWidget GtkWidget:tooltip-markup, object property in GtkWidget GtkWidget:tooltip-text, object property in GtkWidget GtkWidget:valign, object property in GtkWidget GtkWidget:vexpand, object property in GtkWidget GtkWidget:vexpand-set, object property in GtkWidget GtkWidget:visible, object property in GtkWidget GtkWidget:width-request, object property in GtkWidget GtkWidgetActionActivateFunc, user_function in GtkWidget GtkWidgetClass, struct in GtkWidget GtkWidgetPaintable, struct in GtkWidgetPaintable gtk_widget_action_set_enabled, function in GtkWidget gtk_widget_activate, function in GtkWidget gtk_widget_activate_action, function in GtkWidget gtk_widget_activate_action_variant, function in GtkWidget gtk_widget_activate_default, function in GtkWidget gtk_widget_add_controller, function in GtkWidget gtk_widget_add_css_class, function in GtkWidget gtk_widget_add_mnemonic_label, function in GtkWidget gtk_widget_add_tick_callback, function in GtkWidget gtk_widget_allocate, function in GtkWidget gtk_widget_child_focus, function in GtkWidget gtk_widget_class_add_binding, function in GtkWidget gtk_widget_class_add_binding_action, function in GtkWidget gtk_widget_class_add_binding_signal, function in GtkWidget gtk_widget_class_add_shortcut, function in GtkWidget gtk_widget_class_bind_template_callback, macro in GtkWidget gtk_widget_class_bind_template_callback_full, function in GtkWidget gtk_widget_class_bind_template_child, macro in GtkWidget gtk_widget_class_bind_template_child_full, function in GtkWidget gtk_widget_class_bind_template_child_internal, macro in GtkWidget gtk_widget_class_bind_template_child_internal_private, macro in GtkWidget gtk_widget_class_bind_template_child_private, macro in GtkWidget gtk_widget_class_get_css_name, function in GtkWidget gtk_widget_class_get_layout_manager_type, function in GtkWidget gtk_widget_class_install_action, function in GtkWidget gtk_widget_class_install_property_action, function in GtkWidget gtk_widget_class_query_action, function in GtkWidget gtk_widget_class_set_accessible_role, function in GtkWidget gtk_widget_class_set_css_name, function in GtkWidget gtk_widget_class_set_layout_manager_type, function in GtkWidget gtk_widget_class_set_template, function in GtkWidget gtk_widget_class_set_template_from_resource, function in GtkWidget gtk_widget_class_set_template_scope, function in GtkWidget gtk_widget_compute_bounds, function in GtkWidget gtk_widget_compute_expand, function in GtkWidget gtk_widget_compute_point, function in GtkWidget gtk_widget_compute_transform, function in GtkWidget gtk_widget_contains, function in GtkWidget gtk_widget_create_pango_context, function in GtkWidget gtk_widget_create_pango_layout, function in GtkWidget gtk_widget_error_bell, function in GtkWidget gtk_widget_get_allocated_baseline, function in GtkWidget gtk_widget_get_allocated_height, function in GtkWidget gtk_widget_get_allocated_width, function in GtkWidget gtk_widget_get_allocation, function in GtkWidget gtk_widget_get_ancestor, function in GtkWidget gtk_widget_get_can_focus, function in GtkWidget gtk_widget_get_can_target, function in GtkWidget gtk_widget_get_child_visible, function in GtkWidget gtk_widget_get_clipboard, function in GtkWidget gtk_widget_get_css_classes, function in GtkWidget gtk_widget_get_css_name, function in GtkWidget gtk_widget_get_cursor, function in GtkWidget gtk_widget_get_default_direction, function in GtkWidget gtk_widget_get_direction, function in GtkWidget gtk_widget_get_display, function in GtkWidget gtk_widget_get_first_child, function in GtkWidget gtk_widget_get_focusable, function in GtkWidget gtk_widget_get_focus_on_click, function in GtkWidget gtk_widget_get_font_map, function in GtkWidget gtk_widget_get_font_options, function in GtkWidget gtk_widget_get_frame_clock, function in GtkWidget gtk_widget_get_halign, function in GtkWidget gtk_widget_get_has_tooltip, function in GtkWidget gtk_widget_get_height, function in GtkWidget gtk_widget_get_hexpand, function in GtkWidget gtk_widget_get_hexpand_set, function in GtkWidget gtk_widget_get_last_child, function in GtkWidget gtk_widget_get_layout_manager, function in GtkWidget gtk_widget_get_mapped, function in GtkWidget gtk_widget_get_margin_bottom, function in GtkWidget gtk_widget_get_margin_end, function in GtkWidget gtk_widget_get_margin_start, function in GtkWidget gtk_widget_get_margin_top, function in GtkWidget gtk_widget_get_name, function in GtkWidget gtk_widget_get_native, function in GtkWidget gtk_widget_get_next_sibling, function in GtkWidget gtk_widget_get_opacity, function in GtkWidget gtk_widget_get_overflow, function in GtkWidget gtk_widget_get_pango_context, function in GtkWidget gtk_widget_get_parent, function in GtkWidget gtk_widget_get_preferred_size, function in GtkWidget gtk_widget_get_prev_sibling, function in GtkWidget gtk_widget_get_primary_clipboard, function in GtkWidget gtk_widget_get_realized, function in GtkWidget gtk_widget_get_receives_default, function in GtkWidget gtk_widget_get_request_mode, function in GtkWidget gtk_widget_get_root, function in GtkWidget gtk_widget_get_scale_factor, function in GtkWidget gtk_widget_get_sensitive, function in GtkWidget gtk_widget_get_settings, function in GtkWidget gtk_widget_get_size, function in GtkWidget gtk_widget_get_size_request, function in GtkWidget gtk_widget_get_state_flags, function in GtkWidget gtk_widget_get_style_context, function in GtkWidget gtk_widget_get_template_child, function in GtkWidget gtk_widget_get_tooltip_markup, function in GtkWidget gtk_widget_get_tooltip_text, function in GtkWidget gtk_widget_get_valign, function in GtkWidget gtk_widget_get_vexpand, function in GtkWidget gtk_widget_get_vexpand_set, function in GtkWidget gtk_widget_get_visible, function in GtkWidget gtk_widget_get_width, function in GtkWidget gtk_widget_grab_focus, function in GtkWidget gtk_widget_has_css_class, function in GtkWidget gtk_widget_has_default, function in GtkWidget gtk_widget_has_focus, function in GtkWidget gtk_widget_has_visible_focus, function in GtkWidget gtk_widget_hide, function in GtkWidget gtk_widget_init_template, function in GtkWidget gtk_widget_insert_action_group, function in GtkWidget gtk_widget_insert_after, function in GtkWidget gtk_widget_insert_before, function in GtkWidget gtk_widget_in_destruction, function in GtkWidget gtk_widget_is_ancestor, function in GtkWidget gtk_widget_is_drawable, function in GtkWidget gtk_widget_is_focus, function in GtkWidget gtk_widget_is_sensitive, function in GtkWidget gtk_widget_is_visible, function in GtkWidget gtk_widget_keynav_failed, function in GtkWidget gtk_widget_list_mnemonic_labels, function in GtkWidget gtk_widget_map, function in GtkWidget gtk_widget_measure, function in GtkWidget gtk_widget_mnemonic_activate, function in GtkWidget gtk_widget_new, function in GtkWidget gtk_widget_observe_children, function in GtkWidget gtk_widget_observe_controllers, function in GtkWidget gtk_widget_paintable_get_widget, function in GtkWidgetPaintable gtk_widget_paintable_new, function in GtkWidgetPaintable gtk_widget_paintable_set_widget, function in GtkWidgetPaintable gtk_widget_pick, function in GtkWidget gtk_widget_queue_allocate, function in GtkWidget gtk_widget_queue_draw, function in GtkWidget gtk_widget_queue_resize, function in GtkWidget gtk_widget_realize, function in GtkWidget gtk_widget_remove_controller, function in GtkWidget gtk_widget_remove_css_class, function in GtkWidget gtk_widget_remove_mnemonic_label, function in GtkWidget gtk_widget_remove_tick_callback, function in GtkWidget gtk_widget_set_can_focus, function in GtkWidget gtk_widget_set_can_target, function in GtkWidget gtk_widget_set_child_visible, function in GtkWidget gtk_widget_set_css_classes, function in GtkWidget gtk_widget_set_cursor, function in GtkWidget gtk_widget_set_cursor_from_name, function in GtkWidget gtk_widget_set_default_direction, function in GtkWidget gtk_widget_set_direction, function in GtkWidget gtk_widget_set_focusable, function in GtkWidget gtk_widget_set_focus_child, function in GtkWidget gtk_widget_set_focus_on_click, function in GtkWidget gtk_widget_set_font_map, function in GtkWidget gtk_widget_set_font_options, function in GtkWidget gtk_widget_set_halign, function in GtkWidget gtk_widget_set_has_tooltip, function in GtkWidget gtk_widget_set_hexpand, function in GtkWidget gtk_widget_set_hexpand_set, function in GtkWidget gtk_widget_set_layout_manager, function in GtkWidget gtk_widget_set_margin_bottom, function in GtkWidget gtk_widget_set_margin_end, function in GtkWidget gtk_widget_set_margin_start, function in GtkWidget gtk_widget_set_margin_top, function in GtkWidget gtk_widget_set_name, function in GtkWidget gtk_widget_set_opacity, function in GtkWidget gtk_widget_set_overflow, function in GtkWidget gtk_widget_set_parent, function in GtkWidget gtk_widget_set_receives_default, function in GtkWidget gtk_widget_set_sensitive, function in GtkWidget gtk_widget_set_size_request, function in GtkWidget gtk_widget_set_state_flags, function in GtkWidget gtk_widget_set_tooltip_markup, function in GtkWidget gtk_widget_set_tooltip_text, function in GtkWidget gtk_widget_set_valign, function in GtkWidget gtk_widget_set_vexpand, function in GtkWidget gtk_widget_set_vexpand_set, function in GtkWidget gtk_widget_set_visible, function in GtkWidget gtk_widget_should_layout, function in GtkWidget gtk_widget_show, function in GtkWidget gtk_widget_size_allocate, function in GtkWidget gtk_widget_snapshot_child, function in GtkWidget gtk_widget_translate_coordinates, function in GtkWidget gtk_widget_trigger_tooltip_query, function in GtkWidget gtk_widget_unmap, function in GtkWidget gtk_widget_unparent, function in GtkWidget gtk_widget_unrealize, function in GtkWidget gtk_widget_unset_state_flags, function in GtkWidget GtkWindow, struct in GtkWindow GtkWindow::activate-default, object signal in GtkWindow GtkWindow::activate-focus, object signal in GtkWindow GtkWindow::close-request, object signal in GtkWindow GtkWindow::enable-debugging, object signal in GtkWindow GtkWindow::keys-changed, object signal in GtkWindow GtkWindow:application, object property in GtkWindow GtkWindow:child, object property in GtkWindow GtkWindow:decorated, object property in GtkWindow GtkWindow:default-height, object property in GtkWindow GtkWindow:default-widget, object property in GtkWindow GtkWindow:default-width, object property in GtkWindow GtkWindow:deletable, object property in GtkWindow GtkWindow:destroy-with-parent, object property in GtkWindow GtkWindow:display, object property in GtkWindow GtkWindow:focus-visible, object property in GtkWindow GtkWindow:focus-widget, object property in GtkWindow GtkWindow:hide-on-close, object property in GtkWindow GtkWindow:icon-name, object property in GtkWindow GtkWindow:is-active, object property in GtkWindow GtkWindow:is-maximized, object property in GtkWindow GtkWindow:mnemonics-visible, object property in GtkWindow GtkWindow:modal, object property in GtkWindow GtkWindow:resizable, object property in GtkWindow GtkWindow:startup-id, object property in GtkWindow GtkWindow:title, object property in GtkWindow GtkWindow:transient-for, object property in GtkWindow GtkWindowClass, struct in GtkWindow GtkWindowControls, struct in GtkWindowControls GtkWindowControls:decoration-layout, object property in GtkWindowControls GtkWindowControls:empty, object property in GtkWindowControls GtkWindowControls:side, object property in GtkWindowControls GtkWindowGroup, struct in GtkWindowGroup GtkWindowHandle, struct in GtkWindowHandle GtkWindowHandle:child, object property in GtkWindowHandle gtk_window_close, function in GtkWindow gtk_window_controls_get_decoration_layout, function in GtkWindowControls gtk_window_controls_get_empty, function in GtkWindowControls gtk_window_controls_get_side, function in GtkWindowControls gtk_window_controls_new, function in GtkWindowControls gtk_window_controls_set_decoration_layout, function in GtkWindowControls gtk_window_controls_set_side, function in GtkWindowControls gtk_window_destroy, function in GtkWindow gtk_window_fullscreen, function in GtkWindow gtk_window_fullscreen_on_monitor, function in GtkWindow gtk_window_get_application, function in GtkWindow gtk_window_get_child, function in GtkWindow gtk_window_get_decorated, function in GtkWindow gtk_window_get_default_icon_name, function in GtkWindow gtk_window_get_default_size, function in GtkWindow gtk_window_get_default_widget, function in GtkWindow gtk_window_get_deletable, function in GtkWindow gtk_window_get_destroy_with_parent, function in GtkWindow gtk_window_get_focus, function in GtkWindow gtk_window_get_focus_visible, function in GtkWindow gtk_window_get_group, function in GtkWindow gtk_window_get_hide_on_close, function in GtkWindow gtk_window_get_icon_name, function in GtkWindow gtk_window_get_mnemonics_visible, function in GtkWindow gtk_window_get_modal, function in GtkWindow gtk_window_get_resizable, function in GtkWindow gtk_window_get_size, function in GtkWindow gtk_window_get_title, function in GtkWindow gtk_window_get_titlebar, function in GtkWindow gtk_window_get_toplevels, function in GtkWindow gtk_window_get_transient_for, function in GtkWindow gtk_window_group_add_window, function in GtkWindowGroup gtk_window_group_list_windows, function in GtkWindowGroup gtk_window_group_new, function in GtkWindowGroup gtk_window_group_remove_window, function in GtkWindowGroup gtk_window_handle_get_child, function in GtkWindowHandle gtk_window_handle_new, function in GtkWindowHandle gtk_window_handle_set_child, function in GtkWindowHandle gtk_window_has_group, function in GtkWindow gtk_window_is_active, function in GtkWindow gtk_window_is_maximized, function in GtkWindow gtk_window_list_toplevels, function in GtkWindow gtk_window_maximize, function in GtkWindow gtk_window_minimize, function in GtkWindow gtk_window_new, function in GtkWindow gtk_window_present, function in GtkWindow gtk_window_present_with_time, function in GtkWindow gtk_window_resize, function in GtkWindow gtk_window_set_application, function in GtkWindow gtk_window_set_auto_startup_notification, function in GtkWindow gtk_window_set_child, function in GtkWindow gtk_window_set_decorated, function in GtkWindow gtk_window_set_default_icon_name, function in GtkWindow gtk_window_set_default_size, function in GtkWindow gtk_window_set_default_widget, function in GtkWindow gtk_window_set_deletable, function in GtkWindow gtk_window_set_destroy_with_parent, function in GtkWindow gtk_window_set_display, function in GtkWindow gtk_window_set_focus, function in GtkWindow gtk_window_set_focus_visible, function in GtkWindow gtk_window_set_hide_on_close, function in GtkWindow gtk_window_set_icon_name, function in GtkWindow gtk_window_set_interactive_debugging, function in GtkWindow gtk_window_set_mnemonics_visible, function in GtkWindow gtk_window_set_modal, function in GtkWindow gtk_window_set_resizable, function in GtkWindow gtk_window_set_startup_id, function in GtkWindow gtk_window_set_title, function in GtkWindow gtk_window_set_titlebar, function in GtkWindow gtk_window_set_transient_for, function in GtkWindow gtk_window_unfullscreen, function in GtkWindow gtk_window_unmaximize, function in GtkWindow gtk_window_unminimize, function in GtkWindow GtkWindow|default.activate, action in GtkWindow GtkWindow|window.close, action in GtkWindow GtkWindow|window.minimize, action in GtkWindow GtkWindow|window.toggle-maximized, action in GtkWindow GtkWrapMode, enum in GtkTextView docs/reference/gtk/xml/api-index-deprecated.xml0000664000175000017500000000061013710700315021651 0ustar mclasenmclasen ]> docs/reference/gtk/xml/annotation-glossary.xml0000664000175000017500000001473513710700315021725 0ustar mclasenmclasen ]> Annotation Glossary A allow-none NULL is OK, both for passing and for returning. array Parameter points to an array of items. attributes Free-form key-value pairs. C closure This parameter is a 'user_data', for callbacks; many bindings can pass NULL here. constructor This symbol is a constructor, not a static method. D destroy This parameter is a 'destroy_data', for callbacks. E element-type Generics and defining elements of containers and arrays. I in Parameter for input. Default is transfer none. inout Parameter for input and for returning results. Default is transfer full. M method This is a method N not nullable NULL must not be passed as the value in, out, in-out; or as a return value. nullable NULL may be passed as the value in, out, in-out; or as a return value. O optional NULL may be passed instead of a pointer to a location. out Parameter for returning results. Default is transfer full. out caller-allocates Out parameter, where caller must allocate storage. R rename-to Rename the original symbol's name to SYMBOL. S scope async The callback is valid until first called. scope call The callback is valid only during the call to the method. scope notified The callback is valid until the GDestroyNotify argument is called. skip Exposed in C code, not necessarily available in other languages. T transfer container Free data container after the code is done. transfer full Free data after the code is done. transfer none Don't free data after the code is done. type Override the parsed C type with given type. V virtual This is the invoker for a virtual method. docs/reference/gtk/gtk4-undocumented.txt0000664000175000017500000001562113710700314020464 0ustar mclasenmclasen94% symbol docs coverage. 5865 symbols documented. 15 symbols incomplete. 362 not documented. GTK_BUILDER_ERROR GTK_PRINT_SETTINGS_COLLATE GTK_PRINT_SETTINGS_DEFAULT_SOURCE GTK_PRINT_SETTINGS_DITHER GTK_PRINT_SETTINGS_DUPLEX GTK_PRINT_SETTINGS_FINISHINGS GTK_PRINT_SETTINGS_MEDIA_TYPE GTK_PRINT_SETTINGS_NUMBER_UP GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT GTK_PRINT_SETTINGS_N_COPIES GTK_PRINT_SETTINGS_ORIENTATION GTK_PRINT_SETTINGS_OUTPUT_BIN GTK_PRINT_SETTINGS_PAGE_RANGES GTK_PRINT_SETTINGS_PAGE_SET GTK_PRINT_SETTINGS_PAPER_FORMAT GTK_PRINT_SETTINGS_PAPER_HEIGHT GTK_PRINT_SETTINGS_PAPER_WIDTH GTK_PRINT_SETTINGS_PRINTER GTK_PRINT_SETTINGS_PRINTER_LPI GTK_PRINT_SETTINGS_PRINT_PAGES GTK_PRINT_SETTINGS_QUALITY GTK_PRINT_SETTINGS_RESOLUTION GTK_PRINT_SETTINGS_RESOLUTION_X GTK_PRINT_SETTINGS_RESOLUTION_Y GTK_PRINT_SETTINGS_REVERSE GTK_PRINT_SETTINGS_SCALE GTK_PRINT_SETTINGS_USE_COLOR GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION GTK_TYPE_ICON_LOOKUP_FLAGS GTK_TYPE_ICON_THEME_ERROR GTK_UNIT_PIXEL GTK_VALUE_HOLDS_EXPRESSION () GtkATContext GtkATContext::state-change (changed_relations) GtkAboutDialog GtkAccelLabel GtkAccessible GtkActionBar GtkAnyFilter GtkAppChooser GtkAppChooserButton GtkAppChooserButton::changed GtkAppChooserDialog GtkAppChooserWidget GtkApplication GtkApplicationClass GtkApplicationWindow GtkApplicationWindowClass GtkAspectFrame GtkAssistant GtkAssistant::escape GtkAssistantPage GtkBinLayout GtkBitsetIter () GtkBookmarkList GtkBoolFilter GtkBox GtkBoxClass GtkBoxLayout GtkBuildable GtkBuilder GtkBuilderListItemFactory GtkButton GtkButtonClass GtkCalendar GtkCellArea GtkCellAreaBox GtkCellAreaClass GtkCellAreaContext GtkCellAreaContextClass GtkCellEditable GtkCellEditableIface GtkCellLayout GtkCellLayoutIface GtkCellRenderer GtkCellRendererAccel GtkCellRendererClass GtkCellRendererCombo GtkCellRendererPixbuf GtkCellRendererProgress GtkCellRendererSpin GtkCellRendererSpinner GtkCellRendererText GtkCellRendererToggle GtkCellView GtkCenterBox GtkCenterLayout GtkCheckButton GtkColorButton GtkColorChooser GtkColorChooserDialog GtkColorChooserWidget GtkComboBox GtkComboBoxClass GtkComboBoxText GtkCssProvider GtkCustomFilter GtkCustomLayout GtkCustomSorter GtkDialogClass GtkDirectoryList GtkDragIcon GtkDragSource GtkDrawingArea GtkDropControllerMotion GtkDropDown GtkDropTarget GtkDropTargetAsync GtkEditable GtkEditableInterface () GtkEditableLabel GtkEditableProperties () GtkEmojiChooser GtkEntry GtkEntry::activate GtkEntryBuffer GtkEntryCompletion GtkEventController GtkEventControllerFocus GtkEventControllerKey GtkEventControllerLegacy GtkEventControllerMotion GtkEventControllerScroll GtkEveryFilter GtkExpander GtkExpander::activate GtkExpressionWatch GtkFileChooser GtkFileChooserButton GtkFileChooserDialog GtkFileChooserNative GtkFileChooserWidget GtkFileFilter GtkFilterListModel GtkFixed GtkFixedLayout GtkFixedLayoutChild GtkFlattenListModel GtkFlowBox GtkFlowBoxChild GtkFontButton GtkFontChooser GtkFontChooserDialog GtkFontChooserWidget GtkFrame GtkFrameClass GtkGesture GtkGestureClick GtkGestureDrag GtkGestureLongPress GtkGesturePan GtkGestureRotate GtkGestureSingle GtkGestureStylus GtkGestureStylus::down GtkGestureStylus::motion GtkGestureStylus::proximity GtkGestureStylus::up GtkGestureSwipe GtkGestureZoom GtkGrid GtkGridClass GtkHeaderBar GtkIMContext GtkIMContextClass GtkIMContextSimple GtkIMMulticontext GtkIconView GtkImage GtkInfoBar GtkLabel GtkLayoutChild GtkLayoutChildClass GtkLayoutManager GtkLevelBar GtkLinkButton GtkListBox GtkListBox::activate-cursor-row GtkListBox::move-cursor GtkListBox::toggle-cursor-row GtkListBoxRow GtkListBoxRowClass GtkListItem GtkListItemFactory GtkListStore GtkLockButton GtkMapListModel GtkMediaControls GtkMediaFile GtkMediaStream GtkMediaStreamClass () GtkMenuButton GtkMenuButtonCreatePopupFunc (user_data) GtkMessageDialog GtkMountOperationClass GtkMovementStep GtkMultiFilter GtkMultiSelection GtkMultiSorter GtkNative GtkNativeDialog GtkNativeDialogClass () GtkNativeInterface () GtkNoSelection GtkNotebook GtkNotebook::change-current-page GtkNotebook::focus-tab GtkNotebook::move-focus-out GtkNotebook::reorder-tab GtkNotebook::select-page GtkNotebookPage GtkNumericSorter GtkOrientable GtkOverlay GtkOverlayLayout GtkOverlayLayoutChild GtkPadController GtkPageSetup GtkPageSetupUnixDialog GtkPaned GtkPaperSize GtkParamSpecExpression GtkPasswordEntry GtkPicture GtkPopover GtkPopover::activate-default GtkPopover::closed GtkPopoverMenu GtkPopoverMenuBar GtkPrintBackend GtkPrintContext GtkPrintJob GtkPrintOperation GtkPrintOperationClass GtkPrintOperationPreview GtkPrintSettings GtkPrintSettingsFunc () GtkPrintUnixDialog GtkPrinter GtkProgressBar GtkRadioButton GtkRange GtkRevealer GtkRoot GtkScale GtkScaleButton GtkScaleFormatValueFunc GtkScrollStep GtkScrollable GtkScrollbar GtkScrolledWindow GtkSearchBar GtkSearchEntry GtkSearchEntry::activate GtkSelectionFilterModel GtkSelectionModel GtkSeparator GtkSettings GtkSettingsValue GtkShortcut GtkShortcutAction GtkShortcutController GtkShortcutLabel GtkShortcutManagerInterface () GtkShortcutsGroup GtkShortcutsSection GtkShortcutsSection::change-current-page GtkShortcutsShortcut GtkShortcutsWindow GtkSingleSelection GtkSizeGroup GtkSliceListModel GtkSnapshot GtkSortListModel GtkSorter GtkSpinButton GtkSpinner GtkStack GtkStackPage GtkStackSidebar GtkStackSwitcher GtkStatusbar GtkStringFilter GtkStringList GtkStringObject GtkStringSorter GtkStyleContext GtkStyleProvider GtkStyleProvider::gtk-private-changed GtkText GtkTextAppearance GtkTextBuffer GtkTextBufferClass (undo, redo) GtkTextCharPredicate () GtkTextClass () GtkTextIter GtkTextMark GtkTextTag GtkTextTagTable GtkTextTagTable::tag-added GtkTextTagTable::tag-changed GtkTextTagTable::tag-removed GtkTextTagTableForeach GtkTextView GtkTextViewClass GtkToggleButton GtkTooltip GtkTreeDragDest GtkTreeDragDestIface GtkTreeDragSource GtkTreeDragSourceIface GtkTreeExpander GtkTreeListModel GtkTreeListRow GtkTreeListRowSorter GtkTreeModel GtkTreeModelFilter GtkTreeModelIface GtkTreeModelSort GtkTreePath GtkTreeSelection GtkTreeSortable GtkTreeSortableIface GtkTreeStore GtkTreeView GtkTreeView::expand-collapse-cursor-row GtkTreeView::select-all GtkTreeView::select-cursor-parent GtkTreeView::select-cursor-row GtkTreeView::start-interactive-search GtkTreeView::toggle-cursor-row GtkTreeView::unselect-all GtkTreeViewColumn GtkTreeViewColumn::clicked GtkVideo GtkViewport GtkVolumeButton GtkWidget GtkWidget::move-focus GtkWidgetClass GtkWidgetPaintable GtkWindow GtkWindowClass GtkWindowControls GtkWindowGroup GtkWindowHandle RUN_CONTAINER_TYPE_CODE See allocated and assumes but compatible greater gtk_icon_view_get_item_at_pos gtk_icon_view_get_path_at_pos gtk_print_backend_load_modules gtk_selection_filter_model_new_for_type () roaring_bitmap_add roaring_bitmap_lazy_or the typecode gtkenums:long_description gtkimmulticontext:long_description gtktesting:long_description docs/reference/gtk/gtk4-undeclared.txt0000664000175000017500000000000013710700314020061 0ustar mclasenmclasendocs/reference/gtk/gtk4-unused.txt0000664000175000017500000007256713710700314017311 0ustar mclasenmclasenACTION_TYPE_HOLDER ActionHolder ChildKind DEBUG_VALIDATION_AND_SCROLLING DV GSK_IS_PANGO_RENDERER GSK_IS_PANGO_RENDERER_CLASS GSK_PANGO_RENDERER GSK_PANGO_RENDERER_CLASS GSK_PANGO_RENDERER_GET_CLASS GSK_TYPE_PANGO_RENDERER GTK_ACCESSIBLE_VALUE_UNDEFINED GTK_ASSISTANT_PAGE GTK_CELL_RENDERER_GRAPH GTK_CELL_RENDERER_GRAPH_CLASS GTK_CELL_RENDERER_GRAPH_GET_CLASS GTK_COLOR_PICKER GTK_COLOR_PICKER_GET_INTERFACE GTK_COUNTING_BLOOM_FILTER_BITS GTK_COUNTING_BLOOM_FILTER_SIZE GTK_CSS_PARSER_WARNING GTK_DEBUG_CHECK GTK_EMOJI_COMPLETION GTK_EMOJI_COMPLETION_CLASS GTK_EMOJI_COMPLETION_GET_CLASS GTK_EXPRESSION GTK_FILE_CHOOSER_DELEGATE_QUARK GTK_FILE_CHOOSER_ENTRY GTK_FILE_SYSTEM_MODEL GTK_GRAPH_DATA GTK_GRAPH_DATA_CLASS GTK_GRAPH_DATA_GET_CLASS GTK_IM_CONTEXT_IME GTK_IM_CONTEXT_IME_CLASS GTK_IM_CONTEXT_IME_GET_CLASS GTK_IM_MODULE_EXTENSION_POINT_NAME GTK_INSPECTOR_A11Y GTK_INSPECTOR_ACTIONS GTK_INSPECTOR_ACTION_EDITOR GTK_INSPECTOR_CSS_EDITOR GTK_INSPECTOR_CSS_EDITOR_CLASS GTK_INSPECTOR_CSS_EDITOR_GET_CLASS GTK_INSPECTOR_CSS_NODE_TREE GTK_INSPECTOR_CSS_NODE_TREE_CLASS GTK_INSPECTOR_CSS_NODE_TREE_GET_CLASS GTK_INSPECTOR_GENERAL GTK_INSPECTOR_IS_A11Y GTK_INSPECTOR_IS_ACTIONS GTK_INSPECTOR_IS_ACTION_EDITOR GTK_INSPECTOR_IS_CSS_EDITOR GTK_INSPECTOR_IS_CSS_EDITOR_CLASS GTK_INSPECTOR_IS_CSS_NODE_TREE GTK_INSPECTOR_IS_CSS_NODE_TREE_CLASS GTK_INSPECTOR_IS_GENERAL GTK_INSPECTOR_IS_LOGS GTK_INSPECTOR_IS_MAGNIFIER GTK_INSPECTOR_IS_MAGNIFIER_CLASS GTK_INSPECTOR_IS_MENU GTK_INSPECTOR_IS_MENU_CLASS GTK_INSPECTOR_IS_MISC_INFO GTK_INSPECTOR_IS_OBJECT_TREE GTK_INSPECTOR_IS_OBJECT_TREE_CLASS GTK_INSPECTOR_IS_PROP_LIST GTK_INSPECTOR_IS_PROP_LIST_CLASS GTK_INSPECTOR_IS_RECORDER GTK_INSPECTOR_IS_RECORDING GTK_INSPECTOR_IS_RECORDING_CLASS GTK_INSPECTOR_IS_RENDER_RECORDING GTK_INSPECTOR_IS_RENDER_RECORDING_CLASS GTK_INSPECTOR_IS_RESOURCE_LIST GTK_INSPECTOR_IS_SIZE_GROUPS GTK_INSPECTOR_IS_SIZE_GROUPS_CLASS GTK_INSPECTOR_IS_START_RECORDING GTK_INSPECTOR_IS_START_RECORDING_CLASS GTK_INSPECTOR_IS_STATISTICS GTK_INSPECTOR_IS_STATISTICS_CLASS GTK_INSPECTOR_IS_STRV_EDITOR GTK_INSPECTOR_IS_STRV_EDITOR_CLASS GTK_INSPECTOR_IS_TREE_DATA GTK_INSPECTOR_IS_VISUAL GTK_INSPECTOR_IS_WINDOW GTK_INSPECTOR_IS_WINDOW_CLASS GTK_INSPECTOR_LOGS GTK_INSPECTOR_MAGNIFIER GTK_INSPECTOR_MAGNIFIER_CLASS GTK_INSPECTOR_MAGNIFIER_GET_CLASS GTK_INSPECTOR_MENU GTK_INSPECTOR_MENU_CLASS GTK_INSPECTOR_MENU_GET_CLASS GTK_INSPECTOR_MISC_INFO GTK_INSPECTOR_OBJECT_TREE GTK_INSPECTOR_OBJECT_TREE_CLASS GTK_INSPECTOR_OBJECT_TREE_GET_CLASS GTK_INSPECTOR_PROP_LIST GTK_INSPECTOR_PROP_LIST_CLASS GTK_INSPECTOR_PROP_LIST_GET_CLASS GTK_INSPECTOR_RECORDER GTK_INSPECTOR_RECORDING GTK_INSPECTOR_RECORDING_CLASS GTK_INSPECTOR_RECORDING_GET_CLASS GTK_INSPECTOR_RENDER_RECORDING GTK_INSPECTOR_RENDER_RECORDING_CLASS GTK_INSPECTOR_RENDER_RECORDING_GET_CLASS GTK_INSPECTOR_RESOURCE_LIST GTK_INSPECTOR_SIZE_GROUPS GTK_INSPECTOR_SIZE_GROUPS_CLASS GTK_INSPECTOR_SIZE_GROUPS_GET_CLASS GTK_INSPECTOR_START_RECORDING GTK_INSPECTOR_START_RECORDING_CLASS GTK_INSPECTOR_START_RECORDING_GET_CLASS GTK_INSPECTOR_STATISTICS GTK_INSPECTOR_STATISTICS_CLASS GTK_INSPECTOR_STATISTICS_GET_CLASS GTK_INSPECTOR_STRV_EDITOR GTK_INSPECTOR_STRV_EDITOR_CLASS GTK_INSPECTOR_STRV_EDITOR_GET_CLASS GTK_INSPECTOR_TREE_DATA GTK_INSPECTOR_VISUAL GTK_INSPECTOR_WINDOW GTK_INSPECTOR_WINDOW_CLASS GTK_INSPECTOR_WINDOW_GET_CLASS GTK_IS_ASSISTANT_PAGE GTK_IS_CELL_RENDERER_GRAPH GTK_IS_CELL_RENDERER_GRAPH_CLASS GTK_IS_COLOR_PICKER GTK_IS_EMOJI_COMPLETION GTK_IS_EMOJI_COMPLETION_CLASS GTK_IS_EVENT_CONTROLLER_FOCUS GTK_IS_FILE_CHOOSER_ENTRY GTK_IS_FILE_SYSTEM_MODEL GTK_IS_GRAPH_DATA GTK_IS_GRAPH_DATA_CLASS GTK_IS_ICON_PAINTABLE GTK_IS_IM_CONTEXT_IME GTK_IS_IM_CONTEXT_IME_CLASS GTK_IS_LIST_BASE GTK_IS_LIST_BASE_CLASS GTK_IS_LIST_LIST_MODEL GTK_IS_LIST_LIST_MODEL_CLASS GTK_IS_MODEL_BUTTON GTK_IS_NOTEBOOK_PAGE GTK_IS_PARAM_SPEC_EXPRESSION GTK_IS_PASSWORD_ENTRY GTK_IS_PATH_BAR GTK_IS_PRINTER_OPTION GTK_IS_PRINTER_OPTION_SET GTK_IS_PRINTER_OPTION_WIDGET GTK_IS_PRINTER_OPTION_WIDGET_CLASS GTK_IS_PRINT_BACKEND GTK_IS_PRINT_BACKEND_CLASS GTK_IS_PROPERTY_LOOKUP_LIST_MODEL GTK_IS_PROPERTY_LOOKUP_LIST_MODEL_CLASS GTK_IS_SEARCH_ENGINE GTK_IS_SEARCH_ENGINE_CLASS GTK_IS_SEARCH_ENGINE_MODEL GTK_IS_SEARCH_ENGINE_MODEL_CLASS GTK_IS_SEARCH_ENGINE_QUARTZ GTK_IS_SEARCH_ENGINE_QUARTZ_CLASS GTK_IS_SNAPSHOT GTK_IS_STACK_PAGE GTK_IS_TEXT GTK_IS_TEXT_CLASS GTK_IS_TRASH_MONITOR GTK_IS_TRASH_MONITOR_CLASS GTK_IS_TREE_MODEL_CSS_NODE GTK_IS_TREE_MODEL_CSS_NODE_CLASS GTK_LIST_BASE GTK_LIST_BASE_CLASS GTK_LIST_BASE_GET_CLASS GTK_LIST_LIST_MODEL GTK_LIST_LIST_MODEL_CLASS GTK_LIST_LIST_MODEL_GET_CLASS GTK_MEDIA_FILE_EXTENSION_POINT_NAME GTK_MODEL_BUTTON GTK_NOTE GTK_NOTEBOOK_PAGE GTK_PARAM_SPEC_EXPRESSION GTK_PASSWORD_ENTRY GTK_PATH_BAR GTK_PRINTER_OPTION GTK_PRINTER_OPTION_GROUP_FINISHING GTK_PRINTER_OPTION_GROUP_IMAGE_QUALITY GTK_PRINTER_OPTION_SET GTK_PRINTER_OPTION_WIDGET GTK_PRINTER_OPTION_WIDGET_CLASS GTK_PRINTER_OPTION_WIDGET_GET_CLASS GTK_PRINT_BACKEND GTK_PRINT_BACKEND_CLASS GTK_PRINT_BACKEND_ERROR GTK_PRINT_BACKEND_EXTENSION_POINT_NAME GTK_PRINT_BACKEND_GET_CLASS GTK_PROPERTY_LOOKUP_LIST_MODEL GTK_PROPERTY_LOOKUP_LIST_MODEL_CLASS GTK_PROPERTY_LOOKUP_LIST_MODEL_GET_CLASS GTK_SEARCH_ENGINE GTK_SEARCH_ENGINE_CLASS GTK_SEARCH_ENGINE_GET_CLASS GTK_SEARCH_ENGINE_MODEL GTK_SEARCH_ENGINE_MODEL_CLASS GTK_SEARCH_ENGINE_MODEL_GET_CLASS GTK_SEARCH_ENGINE_QUARTZ GTK_SEARCH_ENGINE_QUARTZ_CLASS GTK_SEARCH_ENGINE_QUARTZ_GET_CLASS GTK_SNAPSHOT GTK_SORT_KEYS_ALIGN GTK_STACK_PAGE GTK_TEXT GTK_TEXT_CLASS GTK_TEXT_GET_CLASS GTK_TEXT_UNKNOWN_CHAR GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN GTK_TIM_SORT_MAX_PENDING GTK_TRASH_MONITOR GTK_TRASH_MONITOR_CLASS GTK_TRASH_MONITOR_GET_CLASS GTK_TREE_MODEL_CSS_NODE GTK_TREE_MODEL_CSS_NODE_CLASS GTK_TREE_MODEL_CSS_NODE_GET_CLASS GTK_TYPE_ACCESSIBLE_AUTOCOMPLETE GTK_TYPE_ACCESSIBLE_INVALID_STATE GTK_TYPE_ACCESSIBLE_RELATION GTK_TYPE_ACCESSIBLE_SORT GTK_TYPE_ACCESSIBLE_TRISTATE GTK_TYPE_ACTIVATE_ACTION GTK_TYPE_ALIGN GTK_TYPE_ALTERNATIVE_TRIGGER GTK_TYPE_ANY_FILTER GTK_TYPE_APPLICATION_INHIBIT_FLAGS GTK_TYPE_ARROW_TYPE GTK_TYPE_ASSISTANT_PAGE GTK_TYPE_ASSISTANT_PAGE_TYPE GTK_TYPE_BASELINE_OVERLAY GTK_TYPE_BASELINE_POSITION GTK_TYPE_BOOL_FILTER GTK_TYPE_BORDER_STYLE GTK_TYPE_BUILDER_CLOSURE_FLAGS GTK_TYPE_BUILDER_ERROR GTK_TYPE_BUILTIN_ICON GTK_TYPE_BUTTONS_TYPE GTK_TYPE_BUTTON_ROLE GTK_TYPE_CALLBACK_ACTION GTK_TYPE_CCLOSURE_EXPRESSION GTK_TYPE_CELL_RENDERER_ACCEL_MODE GTK_TYPE_CELL_RENDERER_GRAPH GTK_TYPE_CELL_RENDERER_MODE GTK_TYPE_CELL_RENDERER_STATE GTK_TYPE_CLOSURE_EXPRESSION GTK_TYPE_COLOR_PICKER GTK_TYPE_COLOR_PICKER_KWIN GTK_TYPE_COLOR_PICKER_PORTAL GTK_TYPE_COLOR_PICKER_SHELL GTK_TYPE_CONSTANT_EXPRESSION GTK_TYPE_CONSTRAINT_ATTRIBUTE GTK_TYPE_CONSTRAINT_RELATION GTK_TYPE_CONSTRAINT_STRENGTH GTK_TYPE_CONSTRAINT_VFL_PARSER_ERROR GTK_TYPE_CORNER_TYPE GTK_TYPE_CSS_AFFECTS GTK_TYPE_CSS_PARSER_ERROR GTK_TYPE_CSS_PARSER_WARNING GTK_TYPE_DEBUG_FLAG GTK_TYPE_DELETE_TYPE GTK_TYPE_DIALOG_FLAGS GTK_TYPE_DIRECTION_TYPE GTK_TYPE_EDITABLE_LABEL GTK_TYPE_EDITABLE_PROPERTIES GTK_TYPE_EMOJI_COMPLETION GTK_TYPE_ENTRY_ICON_POSITION GTK_TYPE_EVENT_CONTROLLER_SCROLL_FLAGS GTK_TYPE_EVENT_SEQUENCE_STATE GTK_TYPE_EVERY_FILTER GTK_TYPE_FILE_CHOOSER_ACTION GTK_TYPE_FILE_CHOOSER_ENTRY GTK_TYPE_FILE_CHOOSER_ERROR GTK_TYPE_FILE_SYSTEM_MODEL GTK_TYPE_FILTER_CHANGE GTK_TYPE_FILTER_MATCH GTK_TYPE_FOCUS_OVERLAY GTK_TYPE_FONT_CHOOSER_LEVEL GTK_TYPE_FPS_OVERLAY GTK_TYPE_GRAPH_DATA GTK_TYPE_HIGHLIGHT_OVERLAY GTK_TYPE_ICON_PAINTABLE GTK_TYPE_ICON_SIZE GTK_TYPE_ICON_VIEW_DROP_POSITION GTK_TYPE_IMAGE_TYPE GTK_TYPE_IM_CONTEXT_IME GTK_TYPE_INPUT_HINTS GTK_TYPE_INPUT_PURPOSE GTK_TYPE_INSPECTOR_A11Y GTK_TYPE_INSPECTOR_ACTIONS GTK_TYPE_INSPECTOR_ACTION_EDITOR GTK_TYPE_INSPECTOR_CONTROLLERS GTK_TYPE_INSPECTOR_CSS_EDITOR GTK_TYPE_INSPECTOR_CSS_NODE_TREE GTK_TYPE_INSPECTOR_GENERAL GTK_TYPE_INSPECTOR_LIST_DATA GTK_TYPE_INSPECTOR_LOGS GTK_TYPE_INSPECTOR_MAGNIFIER GTK_TYPE_INSPECTOR_MENU GTK_TYPE_INSPECTOR_MISC_INFO GTK_TYPE_INSPECTOR_OBJECT_TREE GTK_TYPE_INSPECTOR_OVERLAY GTK_TYPE_INSPECTOR_PROP_EDITOR GTK_TYPE_INSPECTOR_PROP_LIST GTK_TYPE_INSPECTOR_RECORDER GTK_TYPE_INSPECTOR_RECORDING GTK_TYPE_INSPECTOR_RENDER_RECORDING GTK_TYPE_INSPECTOR_RESOURCE_LIST GTK_TYPE_INSPECTOR_SHORTCUTS GTK_TYPE_INSPECTOR_SIZE_GROUPS GTK_TYPE_INSPECTOR_START_RECORDING GTK_TYPE_INSPECTOR_STATISTICS GTK_TYPE_INSPECTOR_STRV_EDITOR GTK_TYPE_INSPECTOR_TREE_DATA GTK_TYPE_INSPECTOR_TYPE_POPOVER GTK_TYPE_INSPECTOR_VISUAL GTK_TYPE_INSPECTOR_WINDOW GTK_TYPE_JUSTIFICATION GTK_TYPE_KEYVAL_TRIGGER GTK_TYPE_LAYOUT_OVERLAY GTK_TYPE_LEVEL_BAR_MODE GTK_TYPE_LICENSE GTK_TYPE_LIST_BASE GTK_TYPE_LIST_LIST_MODEL GTK_TYPE_MEDIA_CONTROLS GTK_TYPE_MENU_DIRECTION_TYPE GTK_TYPE_MESSAGE_TYPE GTK_TYPE_MNEMONIC_ACTION GTK_TYPE_MNEMONIC_TRIGGER GTK_TYPE_MODEL_BUTTON GTK_TYPE_MOVEMENT_STEP GTK_TYPE_MULTI_FILTER GTK_TYPE_MULTI_SELECTION GTK_TYPE_NAMED_ACTION GTK_TYPE_NATIVE GTK_TYPE_NEVER_TRIGGER GTK_TYPE_NOTEBOOK_PAGE GTK_TYPE_NOTEBOOK_TAB GTK_TYPE_NOTHING_ACTION GTK_TYPE_NO_SELECTION GTK_TYPE_NUMBER_UP_LAYOUT GTK_TYPE_OBJECT_EXPRESSION GTK_TYPE_ORDERING GTK_TYPE_ORIENTATION GTK_TYPE_OVERFLOW GTK_TYPE_OVERLAY_LAYOUT_CHILD GTK_TYPE_PACK_TYPE GTK_TYPE_PAD_ACTION_TYPE GTK_TYPE_PAGE_ORIENTATION GTK_TYPE_PAGE_SET GTK_TYPE_PAN_DIRECTION GTK_TYPE_PARAM_SPEC_EXPRESSION GTK_TYPE_PASSWORD_ENTRY GTK_TYPE_PATH_BAR GTK_TYPE_PICK_FLAGS GTK_TYPE_PLACES_OPEN_FLAGS GTK_TYPE_POLICY_TYPE GTK_TYPE_POPOVER_CONSTRAINT GTK_TYPE_POSITION_TYPE GTK_TYPE_PRINTER_OPTION GTK_TYPE_PRINTER_OPTION_SET GTK_TYPE_PRINTER_OPTION_WIDGET GTK_TYPE_PRINT_BACKEND GTK_TYPE_PRINT_DUPLEX GTK_TYPE_PRINT_ERROR GTK_TYPE_PRINT_OPERATION_ACTION GTK_TYPE_PRINT_OPERATION_RESULT GTK_TYPE_PRINT_PAGES GTK_TYPE_PRINT_QUALITY GTK_TYPE_PRINT_STATUS GTK_TYPE_PROPAGATION_LIMIT GTK_TYPE_PROPAGATION_PHASE GTK_TYPE_PROPERTY_EXPRESSION GTK_TYPE_PROPERTY_LOOKUP_LIST_MODEL GTK_TYPE_RECENT_MANAGER_ERROR GTK_TYPE_RESPONSE_TYPE GTK_TYPE_REVEALER_TRANSITION_TYPE GTK_TYPE_ROOT GTK_TYPE_SCROLLABLE_POLICY GTK_TYPE_SCROLL_STEP GTK_TYPE_SCROLL_TYPE GTK_TYPE_SEARCH_ENGINE GTK_TYPE_SEARCH_ENGINE_MODEL GTK_TYPE_SEARCH_ENGINE_QUARTZ GTK_TYPE_SEARCH_ENGINE_TRACKER3 GTK_TYPE_SELECTION_FILTER_MODEL GTK_TYPE_SELECTION_MODE GTK_TYPE_SENSITIVITY_TYPE GTK_TYPE_SHORTCUT_ACTION GTK_TYPE_SHORTCUT_ACTION_FLAGS GTK_TYPE_SHORTCUT_SCOPE GTK_TYPE_SHORTCUT_TRIGGER GTK_TYPE_SHORTCUT_TYPE GTK_TYPE_SIGNAL_ACTION GTK_TYPE_SINGLE_SELECTION GTK_TYPE_SIZE_GROUP_MODE GTK_TYPE_SIZE_REQUEST_MODE GTK_TYPE_SNAPSHOT GTK_TYPE_SORTER_CHANGE GTK_TYPE_SORTER_ORDER GTK_TYPE_SORT_TYPE GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY GTK_TYPE_SPIN_TYPE GTK_TYPE_STACK_PAGE GTK_TYPE_STACK_TRANSITION_TYPE GTK_TYPE_STATE_FLAGS GTK_TYPE_STRING_FILTER GTK_TYPE_STRING_FILTER_MATCH_MODE GTK_TYPE_STRING_LIST GTK_TYPE_STRING_OBJECT GTK_TYPE_STYLE_CONTEXT_PRINT_FLAGS GTK_TYPE_SYSTEM_SETTING GTK_TYPE_TEST_AT_CONTEXT GTK_TYPE_TEXT GTK_TYPE_TEXT_ATTRIBUTES GTK_TYPE_TEXT_BUFFER_TARGET_INFO GTK_TYPE_TEXT_DIRECTION GTK_TYPE_TEXT_EXTEND_SELECTION GTK_TYPE_TEXT_HANDLE_ROLE GTK_TYPE_TEXT_SEARCH_FLAGS GTK_TYPE_TEXT_VIEW_CHILD GTK_TYPE_TEXT_VIEW_LAYER GTK_TYPE_TEXT_WINDOW_TYPE GTK_TYPE_TRASH_MONITOR GTK_TYPE_TREE_MODEL_CSS_NODE GTK_TYPE_TREE_MODEL_FLAGS GTK_TYPE_TREE_VIEW_COLUMN_SIZING GTK_TYPE_TREE_VIEW_DROP_POSITION GTK_TYPE_TREE_VIEW_GRID_LINES GTK_TYPE_UNIT GTK_TYPE_UPDATES_OVERLAY GTK_TYPE_VIDEO GTK_TYPE_WRAP_MODE GskPangoRenderer GskPangoRendererClass GskPangoRendererState GskPangoShapeHandler GtkAccessibleInterface GtkBaselineOverlay GtkBookmarksChangedFunc GtkBuildableParseContext GtkBuildableParser GtkBuilderCScope GtkBuilderCScopeClass GtkBuiltinIcon GtkButtonRole GtkCClosureExpression GtkCellRendererGraph GtkCellRendererGraphClass GtkCellRendererGraphPrivate GtkClipboard GtkClosureExpression GtkColorPicker GtkColorPickerInterface GtkColorPickerKwin GtkColorPickerPortal GtkColorPickerShell GtkComposeTable GtkComposeTableCompact GtkConstantExpression GtkConstraintTargetInterface GtkCountingBloomFilter GtkCssDelimToken GtkCssDimensionToken GtkCssNumberToken GtkCssParseOption GtkCssParser GtkCssParserErrorFunc GtkCssStringToken GtkCssStyleChange GtkCssToken GtkCssTokenType GtkCssTokenizer GtkDebugFlag GtkDragSourceClass GtkDropTargetAsyncClass GtkDropTargetClass GtkEmojiChooserClass GtkEmojiCompletion GtkEmojiCompletionClass GtkFileChooserEntry GtkFileChooserProp GtkFileSystemModel GtkFileSystemModelGetValue GtkFilterMatch GtkFocusOverlay GtkFontChooserProp GtkFpsOverlay GtkGraphData GtkGraphDataClass GtkGraphDataPrivate GtkHighlightOverlay GtkIMContextIME GtkIMContextIMEClass GtkIMContextIMEPrivate GtkInspectorA11y GtkInspectorActionEditor GtkInspectorActions GtkInspectorControllers GtkInspectorCssEditorPrivate GtkInspectorCssNodeTreePrivate GtkInspectorGeneral GtkInspectorListData GtkInspectorLogs GtkInspectorMagnifierPrivate GtkInspectorMenuPrivate GtkInspectorMiscInfo GtkInspectorObjectTreePrivate GtkInspectorOverlay GtkInspectorOverlayClass GtkInspectorPropEditor GtkInspectorPropListPrivate GtkInspectorRecorder GtkInspectorRecordingPrivate GtkInspectorRenderRecordingPrivate GtkInspectorResourceList GtkInspectorShortcuts GtkInspectorStartRecordingPrivate GtkInspectorStatisticsPrivate GtkInspectorTreeData GtkInspectorTypePopover GtkInspectorVisual GtkLayoutOverlay GtkListBase GtkListBaseClass GtkListListModel GtkListListModelClass GtkMediaFileClass GtkMenuDirectionType GtkModelButton GtkObjectExpression GtkPathBar GtkPlacesOpenFlags GtkPopoverConstraint GtkPrintBackendClass GtkPrintBackendError GtkPrintBackendPrivate GtkPrintBackendStatus GtkPrintWin32Devnames GtkPrinterOption GtkPrinterOptionClass GtkPrinterOptionSet GtkPrinterOptionSetClass GtkPrinterOptionSetFunc GtkPrinterOptionType GtkPrinterOptionWidget GtkPrinterOptionWidgetClass GtkPrinterOptionWidgetPrivate GtkPropertyExpression GtkPropertyLookupListModel GtkPropertyLookupListModelClass GtkSearchEngine GtkSearchEngineClass GtkSearchEngineModel GtkSearchEngineModelClass GtkSearchEnginePrivate GtkSearchEngineQuartz GtkSearchEngineQuartzClass GtkSearchEngineQuartzPrivate GtkSearchEngineTracker3 GtkSearchHit GtkSortKeys GtkSortKeysClass GtkTestATContext GtkTextAppearance GtkTextAttributes GtkTextBufferTargetInfo GtkTextCounter GtkTextLine GtkTextLineData GtkTextLineSegment GtkTextLineSegmentClass GtkTextMarkBody GtkTextSegCheckFunc GtkTextSegCleanupFunc GtkTextSegDeleteFunc GtkTextSegLineChangeFunc GtkTextSegSplitFunc GtkTextTagInfo GtkTextToggleBody GtkTextViewChild GtkTimSort GtkTimSortRun GtkTrashMonitor GtkTrashMonitorClass GtkTreeDataList GtkTreeModelCssNode GtkTreeModelCssNodeClass GtkTreeModelCssNodeGetFunc GtkTreeModelCssNodePrivate GtkTreeWalk GtkUpdatesOverlay I_ MAKE_TAG MM_PER_INCH NamedTag PD_CURRENTPAGE PD_NOCURRENTPAGE PD_RESULT_APPLY PD_RESULT_CANCEL PD_RESULT_PRINT POINTS_PER_INCH PROP_TYPE_HOLDER P_ PropHolder RESOURCE_TYPE_HOLDER ResourceHolder RowPredicate START_PAGE_GENERAL TREE_CHECKBOX_SIZE TREE_TEXT_SCALE ZWP_TEXT_INPUT_MANAGER_V3_DESTROY ZWP_TEXT_INPUT_MANAGER_V3_DESTROY_SINCE_VERSION ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT_SINCE_VERSION ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM ZWP_TEXT_INPUT_V3_COMMIT ZWP_TEXT_INPUT_V3_COMMIT_SINCE_VERSION ZWP_TEXT_INPUT_V3_COMMIT_STRING_SINCE_VERSION ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM ZWP_TEXT_INPUT_V3_DELETE_SURROUNDING_TEXT_SINCE_VERSION ZWP_TEXT_INPUT_V3_DESTROY ZWP_TEXT_INPUT_V3_DESTROY_SINCE_VERSION ZWP_TEXT_INPUT_V3_DISABLE ZWP_TEXT_INPUT_V3_DISABLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_DONE_SINCE_VERSION ZWP_TEXT_INPUT_V3_ENABLE ZWP_TEXT_INPUT_V3_ENABLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_ENTER_SINCE_VERSION ZWP_TEXT_INPUT_V3_LEAVE_SINCE_VERSION ZWP_TEXT_INPUT_V3_PREEDIT_STRING_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT_SINCE_VERSION ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE ZWP_TEXT_INPUT_V3_SET_TEXT_CHANGE_CAUSE_SINCE_VERSION _GtkMountOperationHandler _GtkMountOperationHandlerIface _GtkMountOperationHandlerProxy _GtkMountOperationHandlerProxyClass _GtkMountOperationHandlerProxyPrivate _GtkMountOperationHandlerSkeleton _GtkMountOperationHandlerSkeletonClass _GtkMountOperationHandlerSkeletonPrivate action_holder_get_name action_holder_get_owner action_holder_new changed do_enumerate do_preview do_simplify do_validate g_settings_get_mapping g_settings_mapping_is_compatible g_settings_set_mapping get_language_name get_language_name_for_tag get_script_name get_script_name_for_tag gsk_pango_renderer_acquire gsk_pango_renderer_get_type gsk_pango_renderer_release gsk_pango_renderer_set_shape_handler gsk_pango_renderer_set_state gtk_baseline_overlay_new gtk_buildable_parse_context_get_element gtk_buildable_parse_context_get_element_stack gtk_buildable_parse_context_get_position gtk_buildable_parse_context_pop gtk_buildable_parse_context_push gtk_builtin_icon_new gtk_builtin_icon_set_css_name gtk_button_role_get_type gtk_cclosure_expression_get_type gtk_cell_renderer_get_is_expanded gtk_cell_renderer_get_is_expander gtk_cell_renderer_graph_get_type gtk_cell_renderer_graph_new gtk_cell_renderer_set_is_expanded gtk_cell_renderer_set_is_expander gtk_closure_expression_get_type gtk_color_picker_get_type gtk_color_picker_kwin_new gtk_color_picker_new gtk_color_picker_pick gtk_color_picker_pick_finish gtk_color_picker_portal_new gtk_color_picker_shell_new gtk_combo_box_popup gtk_combo_box_popup_for_device gtk_compose_table_list_add_array gtk_compose_table_list_add_file gtk_compose_table_new_with_file gtk_constant_expression_get_type gtk_counting_bloom_filter_add gtk_counting_bloom_filter_may_contain gtk_counting_bloom_filter_remove gtk_crossing_data_get_type gtk_css_data_url_parse gtk_css_location_advance gtk_css_location_advance_newline gtk_css_location_init gtk_css_parser_consume_any gtk_css_parser_consume_function gtk_css_parser_consume_ident gtk_css_parser_consume_integer gtk_css_parser_consume_number gtk_css_parser_consume_percentage gtk_css_parser_consume_string gtk_css_parser_consume_token gtk_css_parser_consume_url gtk_css_parser_emit_error gtk_css_parser_end_block gtk_css_parser_end_block_prelude gtk_css_parser_error gtk_css_parser_error_import gtk_css_parser_error_quark gtk_css_parser_error_syntax gtk_css_parser_error_value gtk_css_parser_get_block_location gtk_css_parser_get_end_location gtk_css_parser_get_file gtk_css_parser_get_start_location gtk_css_parser_get_token gtk_css_parser_has_function gtk_css_parser_has_ident gtk_css_parser_has_integer gtk_css_parser_has_number gtk_css_parser_has_token gtk_css_parser_new_for_bytes gtk_css_parser_new_for_file gtk_css_parser_peek_token gtk_css_parser_ref gtk_css_parser_resolve_url gtk_css_parser_skip gtk_css_parser_skip_until gtk_css_parser_start_block gtk_css_parser_start_semicolon_block gtk_css_parser_try_at_keyword gtk_css_parser_try_delim gtk_css_parser_try_ident gtk_css_parser_try_token gtk_css_parser_unref gtk_css_parser_warn gtk_css_parser_warn_syntax gtk_css_parser_warning_quark gtk_css_token_clear gtk_css_token_is gtk_css_token_is_delim gtk_css_token_is_finite gtk_css_token_is_function gtk_css_token_is_ident gtk_css_token_is_preserved gtk_css_token_print gtk_css_token_to_string gtk_css_tokenizer_get_location gtk_css_tokenizer_new gtk_css_tokenizer_read_token gtk_css_tokenizer_ref gtk_css_tokenizer_unref gtk_drag_dest_handle_event gtk_drop_begin_event gtk_drop_end_event gtk_drop_status gtk_emoji_completion_get_type gtk_emoji_completion_new gtk_flow_box_disable_move_cursor gtk_focus_overlay_new gtk_focus_overlay_set_color gtk_fps_overlay_new gtk_get_debug_flags gtk_graph_data_get_maximum gtk_graph_data_get_minimum gtk_graph_data_get_n_values gtk_graph_data_get_type gtk_graph_data_get_value gtk_graph_data_new gtk_graph_data_prepend_value gtk_grid_query_child gtk_highlight_overlay_get_widget gtk_highlight_overlay_new gtk_highlight_overlay_set_color gtk_im_context_broadway_get_type gtk_im_context_ime_get_type gtk_im_context_ime_new gtk_im_context_ime_register_type gtk_im_context_quartz_get_type gtk_im_context_wayland_get_type gtk_im_modules_init gtk_inspector_a11y_get_type gtk_inspector_a11y_set_object gtk_inspector_action_editor_get_type gtk_inspector_action_editor_new gtk_inspector_action_editor_update gtk_inspector_actions_get_type gtk_inspector_actions_set_object gtk_inspector_controllers_set_object gtk_inspector_css_editor_get_type gtk_inspector_css_editor_set_display gtk_inspector_css_node_tree_get_node gtk_inspector_css_node_tree_get_type gtk_inspector_css_node_tree_set_display gtk_inspector_css_node_tree_set_object gtk_inspector_flash_widget gtk_inspector_general_get_type gtk_inspector_general_set_display gtk_inspector_get_object_title gtk_inspector_handle_event gtk_inspector_init gtk_inspector_is_recording gtk_inspector_list_data_set_object gtk_inspector_logs_get_type gtk_inspector_logs_set_display gtk_inspector_magnifier_get_type gtk_inspector_magnifier_set_object gtk_inspector_menu_get_type gtk_inspector_menu_set_object gtk_inspector_misc_info_get_type gtk_inspector_misc_info_set_object gtk_inspector_object_tree_activate_object gtk_inspector_object_tree_get_selected gtk_inspector_object_tree_get_type gtk_inspector_object_tree_select_object gtk_inspector_object_tree_set_display gtk_inspector_on_inspect gtk_inspector_overlay_queue_draw gtk_inspector_overlay_snapshot gtk_inspector_prepare_render gtk_inspector_prop_editor_new gtk_inspector_prop_editor_should_expand gtk_inspector_prop_list_get_type gtk_inspector_prop_list_set_layout_child gtk_inspector_prop_list_set_object gtk_inspector_recorder_get_type gtk_inspector_recorder_is_recording gtk_inspector_recorder_record_render gtk_inspector_recorder_set_debug_nodes gtk_inspector_recorder_set_recording gtk_inspector_recording_get_timestamp gtk_inspector_recording_get_type gtk_inspector_render_recording_get_area gtk_inspector_render_recording_get_clip_region gtk_inspector_render_recording_get_node gtk_inspector_render_recording_get_profiler_info gtk_inspector_render_recording_get_type gtk_inspector_render_recording_new gtk_inspector_resource_list_get_type gtk_inspector_shortcuts_set_object gtk_inspector_size_groups_get_type gtk_inspector_size_groups_set_object gtk_inspector_start_recording_get_type gtk_inspector_start_recording_new gtk_inspector_statistics_get_type gtk_inspector_strv_editor_get_strv gtk_inspector_strv_editor_get_type gtk_inspector_strv_editor_set_strv gtk_inspector_tree_data_get_type gtk_inspector_tree_data_set_object gtk_inspector_type_popover_set_gtype gtk_inspector_visual_get_type gtk_inspector_visual_set_display gtk_inspector_window_add_overlay gtk_inspector_window_get gtk_inspector_window_get_inspected_display gtk_inspector_window_get_type gtk_inspector_window_pop_object gtk_inspector_window_push_object gtk_inspector_window_remove_overlay gtk_inspector_window_replace_object gtk_inspector_window_select_widget_under_pointer gtk_inspector_window_set_object gtk_is_initialized gtk_layout_manager_remove_layout_child gtk_layout_manager_set_root gtk_layout_manager_set_widget gtk_layout_overlay_new gtk_list_base_get_type gtk_list_list_model_clear gtk_list_list_model_get_type gtk_list_list_model_item_added gtk_list_list_model_item_added_at gtk_list_list_model_item_moved gtk_list_list_model_item_removed gtk_list_list_model_item_removed_at gtk_list_list_model_new gtk_list_list_model_new_with_size gtk_model_button_get_type gtk_model_button_new gtk_object_expression_get_type gtk_param_expression_get_type gtk_password_entry_get_text_widget gtk_path_bar_get_type gtk_popover_get_mnemonics_visible gtk_popover_menu_add_submenu gtk_popover_menu_bar_get_viewable_menu_bars gtk_popover_menu_bar_select_first gtk_popover_menu_get_active_item gtk_popover_menu_get_open_submenu gtk_popover_menu_get_parent_menu gtk_popover_menu_new gtk_popover_menu_open_submenu gtk_popover_menu_set_active_item gtk_popover_menu_set_open_submenu gtk_popover_menu_set_parent_menu gtk_popover_set_mnemonics_visible gtk_print_backend_add_printer gtk_print_backend_destroy gtk_print_backend_error_quark gtk_print_backend_find_printer gtk_print_backend_get_printer_list gtk_print_backend_get_printers gtk_print_backend_get_type gtk_print_backend_load_modules gtk_print_backend_print_stream gtk_print_backend_printer_list_is_done gtk_print_backend_remove_printer gtk_print_backend_set_list_done gtk_print_backend_set_password gtk_print_backends_init gtk_print_load_custom_papers gtk_print_operation_portal_launch_preview gtk_print_operation_portal_run_dialog gtk_print_operation_portal_run_dialog_async gtk_print_win32_devnames_free gtk_print_win32_devnames_from_printer_name gtk_print_win32_devnames_from_win32 gtk_print_win32_devnames_to_win32 gtk_print_win32_devnames_to_win32_from_printer_name gtk_printer_is_new gtk_printer_option_allocate_choices gtk_printer_option_choices_from_array gtk_printer_option_clear_has_conflict gtk_printer_option_get_activates_default gtk_printer_option_get_type gtk_printer_option_has_choice gtk_printer_option_new gtk_printer_option_set gtk_printer_option_set_activates_default gtk_printer_option_set_add gtk_printer_option_set_boolean gtk_printer_option_set_clear_conflicts gtk_printer_option_set_foreach gtk_printer_option_set_foreach_in_group gtk_printer_option_set_get_groups gtk_printer_option_set_get_type gtk_printer_option_set_has_conflict gtk_printer_option_set_lookup gtk_printer_option_set_new gtk_printer_option_set_remove gtk_printer_option_widget_get_external_label gtk_printer_option_widget_get_type gtk_printer_option_widget_get_value gtk_printer_option_widget_has_external_label gtk_printer_option_widget_new gtk_printer_option_widget_set_source gtk_printer_set_accepts_pdf gtk_printer_set_accepts_ps gtk_printer_set_description gtk_printer_set_has_details gtk_printer_set_icon_name gtk_printer_set_is_accepting_jobs gtk_printer_set_is_active gtk_printer_set_is_default gtk_printer_set_is_new gtk_printer_set_is_paused gtk_printer_set_job_count gtk_printer_set_location gtk_printer_set_state_message gtk_property_expression_get_type gtk_property_lookup_list_model_get_object gtk_property_lookup_list_model_get_type gtk_property_lookup_list_model_new gtk_property_lookup_list_model_set_object gtk_render_slider gtk_root_get_constraint_solver gtk_root_queue_restyle gtk_root_start_layout gtk_root_stop_layout gtk_search_engine_tracker3_new gtk_set_debug_flags gtk_shortcut_action_parse_builder gtk_shortcut_manager_create_controllers gtk_sort_keys_alloc gtk_sort_keys_clear_key gtk_sort_keys_compare gtk_sort_keys_get_key_align gtk_sort_keys_get_key_compare_func gtk_sort_keys_get_key_size gtk_sort_keys_init_key gtk_sort_keys_is_compatible gtk_sort_keys_needs_clear_key gtk_sort_keys_new gtk_sort_keys_new_equal gtk_sort_keys_ref gtk_sort_keys_unref gtk_sorter_changed_with_keys gtk_sorter_get_keys gtk_statusbar_get_message gtk_test_accessible_assert_property gtk_test_accessible_assert_relation gtk_test_accessible_assert_role gtk_test_accessible_assert_state gtk_test_accessible_assertion_message_role gtk_test_accessible_check_property gtk_test_accessible_check_relation gtk_test_accessible_check_state gtk_test_accessible_has_property gtk_test_accessible_has_relation gtk_test_accessible_has_role gtk_test_accessible_has_state gtk_test_at_context_new gtk_text_attributes_copy gtk_text_attributes_copy_values gtk_text_attributes_get_type gtk_text_attributes_new gtk_text_attributes_ref gtk_text_attributes_unref gtk_text_byte_begins_utf8_char gtk_text_enter_text gtk_text_get_display_text gtk_text_get_key_controller gtk_text_get_layout gtk_text_get_layout_offsets gtk_text_iter_get_paintable gtk_text_line_segment_split gtk_text_reset_im_context gtk_text_set_positions gtk_text_unknown_char_utf8_gtk_tests_only gtk_text_util_create_drag_icon gtk_text_util_create_rich_drag_icon gtk_text_view_child_add gtk_text_view_child_add_overlay gtk_text_view_child_get_window_type gtk_text_view_child_move_overlay gtk_text_view_child_new gtk_text_view_child_remove gtk_text_view_child_set_offset gtk_tim_sort gtk_tim_sort_finish gtk_tim_sort_get_progress gtk_tim_sort_get_runs gtk_tim_sort_init gtk_tim_sort_set_max_merge_size gtk_tim_sort_set_runs gtk_tim_sort_step gtk_tree_model_css_node_get_iter_from_node gtk_tree_model_css_node_get_node_from_iter gtk_tree_model_css_node_get_root_node gtk_tree_model_css_node_get_type gtk_tree_model_css_node_new gtk_tree_model_css_node_newv gtk_tree_model_css_node_set_root_node gtk_tree_walk_free gtk_tree_walk_get_position gtk_tree_walk_new gtk_tree_walk_next_match gtk_tree_walk_reset gtk_updates_overlay_new gtk_widget_class_get_accessible_role gtk_widget_get_focus_child istring_append istring_clear istring_contains_space istring_contains_unichar istring_empty istring_ends_with_space istring_is_inline istring_only_contains_space istring_prepend istring_set istring_starts_with_space istring_str object_activated object_selected prop_holder_get_name prop_holder_get_object prop_holder_get_pspec prop_holder_new resource_holder_get_children resource_holder_get_count resource_holder_get_name resource_holder_get_parent resource_holder_get_path resource_holder_get_size resource_holder_new strdup_value_contents wl_seat wl_surface zwp_text_input_manager_v3 zwp_text_input_manager_v3_destroy zwp_text_input_manager_v3_get_text_input zwp_text_input_manager_v3_get_user_data zwp_text_input_manager_v3_get_version zwp_text_input_manager_v3_interface zwp_text_input_manager_v3_set_user_data zwp_text_input_v3 zwp_text_input_v3_add_listener zwp_text_input_v3_change_cause zwp_text_input_v3_commit zwp_text_input_v3_content_hint zwp_text_input_v3_content_purpose zwp_text_input_v3_destroy zwp_text_input_v3_disable zwp_text_input_v3_enable zwp_text_input_v3_get_user_data zwp_text_input_v3_get_version zwp_text_input_v3_interface zwp_text_input_v3_listener zwp_text_input_v3_set_content_type zwp_text_input_v3_set_cursor_rectangle zwp_text_input_v3_set_surrounding_text zwp_text_input_v3_set_text_change_cause zwp_text_input_v3_set_user_data docs/reference/gtk/sgml.stamp0000664000175000017500000000001113710700315016356 0ustar mclasenmclasentimestampdocs/reference/gtk/html.stamp0000664000175000017500000000001113710700533016362 0ustar mclasenmclasentimestamp